amazonka-finspace-data (empty) → 2.0
raw patch · 138 files changed
+15108/−0 lines, 138 filesdep +amazonka-coredep +amazonka-finspace-datadep +amazonka-test
Dependencies added: amazonka-core, amazonka-finspace-data, amazonka-test, base, bytestring, case-insensitive, tasty, tasty-hunit, text, time, unordered-containers
Files
- LICENSE +367/−0
- README.md +44/−0
- amazonka-finspace-data.cabal +147/−0
- fixture/AssociateUserToPermissionGroup.yaml +10/−0
- fixture/AssociateUserToPermissionGroupResponse.proto +0/−0
- fixture/CreateChangeset.yaml +10/−0
- fixture/CreateChangesetResponse.proto +0/−0
- fixture/CreateDataView.yaml +10/−0
- fixture/CreateDataViewResponse.proto +0/−0
- fixture/CreateDataset.yaml +10/−0
- fixture/CreateDatasetResponse.proto +0/−0
- fixture/CreatePermissionGroup.yaml +10/−0
- fixture/CreatePermissionGroupResponse.proto +0/−0
- fixture/CreateUser.yaml +10/−0
- fixture/CreateUserResponse.proto +0/−0
- fixture/DeleteDataset.yaml +10/−0
- fixture/DeleteDatasetResponse.proto +0/−0
- fixture/DeletePermissionGroup.yaml +10/−0
- fixture/DeletePermissionGroupResponse.proto +0/−0
- fixture/DisableUser.yaml +10/−0
- fixture/DisableUserResponse.proto +0/−0
- fixture/DisassociateUserFromPermissionGroup.yaml +10/−0
- fixture/DisassociateUserFromPermissionGroupResponse.proto +0/−0
- fixture/EnableUser.yaml +10/−0
- fixture/EnableUserResponse.proto +0/−0
- fixture/GetChangeset.yaml +10/−0
- fixture/GetChangesetResponse.proto +0/−0
- fixture/GetDataView.yaml +10/−0
- fixture/GetDataViewResponse.proto +0/−0
- fixture/GetDataset.yaml +10/−0
- fixture/GetDatasetResponse.proto +0/−0
- fixture/GetExternalDataViewAccessDetails.yaml +10/−0
- fixture/GetExternalDataViewAccessDetailsResponse.proto +0/−0
- fixture/GetPermissionGroup.yaml +10/−0
- fixture/GetPermissionGroupResponse.proto +0/−0
- fixture/GetProgrammaticAccessCredentials.yaml +10/−0
- fixture/GetProgrammaticAccessCredentialsResponse.proto +0/−0
- fixture/GetUser.yaml +10/−0
- fixture/GetUserResponse.proto +0/−0
- fixture/GetWorkingLocation.yaml +10/−0
- fixture/GetWorkingLocationResponse.proto +0/−0
- fixture/ListChangesets.yaml +10/−0
- fixture/ListChangesetsResponse.proto +0/−0
- fixture/ListDataViews.yaml +10/−0
- fixture/ListDataViewsResponse.proto +0/−0
- fixture/ListDatasets.yaml +10/−0
- fixture/ListDatasetsResponse.proto +0/−0
- fixture/ListPermissionGroups.yaml +10/−0
- fixture/ListPermissionGroupsByUser.yaml +10/−0
- fixture/ListPermissionGroupsByUserResponse.proto +0/−0
- fixture/ListPermissionGroupsResponse.proto +0/−0
- fixture/ListUsers.yaml +10/−0
- fixture/ListUsersByPermissionGroup.yaml +10/−0
- fixture/ListUsersByPermissionGroupResponse.proto +0/−0
- fixture/ListUsersResponse.proto +0/−0
- fixture/ResetUserPassword.yaml +10/−0
- fixture/ResetUserPasswordResponse.proto +0/−0
- fixture/UpdateChangeset.yaml +10/−0
- fixture/UpdateChangesetResponse.proto +0/−0
- fixture/UpdateDataset.yaml +10/−0
- fixture/UpdateDatasetResponse.proto +0/−0
- fixture/UpdatePermissionGroup.yaml +10/−0
- fixture/UpdatePermissionGroupResponse.proto +0/−0
- fixture/UpdateUser.yaml +10/−0
- fixture/UpdateUserResponse.proto +0/−0
- gen/Amazonka/FinSpaceData.hs +417/−0
- gen/Amazonka/FinSpaceData/AssociateUserToPermissionGroup.hs +210/−0
- gen/Amazonka/FinSpaceData/CreateChangeset.hs +387/−0
- gen/Amazonka/FinSpaceData/CreateDataView.hs +276/−0
- gen/Amazonka/FinSpaceData/CreateDataset.hs +287/−0
- gen/Amazonka/FinSpaceData/CreatePermissionGroup.hs +291/−0
- gen/Amazonka/FinSpaceData/CreateUser.hs +301/−0
- gen/Amazonka/FinSpaceData/DeleteDataset.hs +179/−0
- gen/Amazonka/FinSpaceData/DeletePermissionGroup.hs +177/−0
- gen/Amazonka/FinSpaceData/DisableUser.hs +180/−0
- gen/Amazonka/FinSpaceData/DisassociateUserFromPermissionGroup.hs +210/−0
- gen/Amazonka/FinSpaceData/EnableUser.hs +180/−0
- gen/Amazonka/FinSpaceData/GetChangeset.hs +378/−0
- gen/Amazonka/FinSpaceData/GetDataView.hs +389/−0
- gen/Amazonka/FinSpaceData/GetDataset.hs +316/−0
- gen/Amazonka/FinSpaceData/GetExternalDataViewAccessDetails.hs +230/−0
- gen/Amazonka/FinSpaceData/GetPermissionGroup.hs +162/−0
- gen/Amazonka/FinSpaceData/GetProgrammaticAccessCredentials.hs +216/−0
- gen/Amazonka/FinSpaceData/GetUser.hs +376/−0
- gen/Amazonka/FinSpaceData/GetWorkingLocation.hs +212/−0
- gen/Amazonka/FinSpaceData/Lens.hs +485/−0
- gen/Amazonka/FinSpaceData/ListChangesets.hs +235/−0
- gen/Amazonka/FinSpaceData/ListDataViews.hs +228/−0
- gen/Amazonka/FinSpaceData/ListDatasets.hs +212/−0
- gen/Amazonka/FinSpaceData/ListPermissionGroups.hs +216/−0
- gen/Amazonka/FinSpaceData/ListPermissionGroupsByUser.hs +213/−0
- gen/Amazonka/FinSpaceData/ListUsers.hs +210/−0
- gen/Amazonka/FinSpaceData/ListUsersByPermissionGroup.hs +214/−0
- gen/Amazonka/FinSpaceData/ResetUserPassword.hs +203/−0
- gen/Amazonka/FinSpaceData/Types.hs +407/−0
- gen/Amazonka/FinSpaceData/Types/ApiAccess.hs +71/−0
- gen/Amazonka/FinSpaceData/Types/ApplicationPermission.hs +96/−0
- gen/Amazonka/FinSpaceData/Types/AwsCredentials.hs +109/−0
- gen/Amazonka/FinSpaceData/Types/ChangeType.hs +77/−0
- gen/Amazonka/FinSpaceData/Types/ChangesetErrorInfo.hs +149/−0
- gen/Amazonka/FinSpaceData/Types/ChangesetSummary.hs +298/−0
- gen/Amazonka/FinSpaceData/Types/ColumnDataType.hs +122/−0
- gen/Amazonka/FinSpaceData/Types/ColumnDefinition.hs +181/−0
- gen/Amazonka/FinSpaceData/Types/Credentials.hs +96/−0
- gen/Amazonka/FinSpaceData/Types/DataViewDestinationTypeParams.hs +159/−0
- gen/Amazonka/FinSpaceData/Types/DataViewErrorInfo.hs +148/−0
- gen/Amazonka/FinSpaceData/Types/DataViewStatus.hs +102/−0
- gen/Amazonka/FinSpaceData/Types/DataViewSummary.hs +279/−0
- gen/Amazonka/FinSpaceData/Types/Dataset.hs +207/−0
- gen/Amazonka/FinSpaceData/Types/DatasetKind.hs +72/−0
- gen/Amazonka/FinSpaceData/Types/DatasetOwnerInfo.hs +106/−0
- gen/Amazonka/FinSpaceData/Types/DatasetStatus.hs +82/−0
- gen/Amazonka/FinSpaceData/Types/ErrorCategory.hs +102/−0
- gen/Amazonka/FinSpaceData/Types/ExportFileFormat.hs +72/−0
- gen/Amazonka/FinSpaceData/Types/IngestionStatus.hs +87/−0
- gen/Amazonka/FinSpaceData/Types/LocationType.hs +71/−0
- gen/Amazonka/FinSpaceData/Types/PermissionGroup.hs +261/−0
- gen/Amazonka/FinSpaceData/Types/PermissionGroupByUser.hs +125/−0
- gen/Amazonka/FinSpaceData/Types/PermissionGroupMembershipStatus.hs +76/−0
- gen/Amazonka/FinSpaceData/Types/PermissionGroupParams.hs +91/−0
- gen/Amazonka/FinSpaceData/Types/ResourcePermission.hs +87/−0
- gen/Amazonka/FinSpaceData/Types/S3Location.hs +84/−0
- gen/Amazonka/FinSpaceData/Types/SchemaDefinition.hs +98/−0
- gen/Amazonka/FinSpaceData/Types/SchemaUnion.hs +79/−0
- gen/Amazonka/FinSpaceData/Types/User.hs +300/−0
- gen/Amazonka/FinSpaceData/Types/UserByPermissionGroup.hs +253/−0
- gen/Amazonka/FinSpaceData/Types/UserStatus.hs +76/−0
- gen/Amazonka/FinSpaceData/Types/UserType.hs +71/−0
- gen/Amazonka/FinSpaceData/UpdateChangeset.hs +360/−0
- gen/Amazonka/FinSpaceData/UpdateDataset.hs +269/−0
- gen/Amazonka/FinSpaceData/UpdatePermissionGroup.hs +303/−0
- gen/Amazonka/FinSpaceData/UpdateUser.hs +291/−0
- gen/Amazonka/FinSpaceData/Waiters.hs +24/−0
- src/.gitkeep +0/−0
- test/Main.hs +23/−0
- test/Test/Amazonka/FinSpaceData.hs +20/−0
- test/Test/Amazonka/FinSpaceData/Internal.hs +8/−0
- test/Test/Amazonka/Gen/FinSpaceData.hs +658/−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 FinSpace Public API SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version+ +`2.0` - Derived from API version @2020-07-13@ of the AWS service descriptions, licensed under Apache 2.0.++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-finspace-data)+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.FinSpaceData](http://hackage.haskell.org/package/amazonka-finspace-data/docs/Amazonka-FinSpaceData.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-finspace-data` 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-finspace-data.cabal view
@@ -0,0 +1,147 @@+cabal-version: 2.2+name: amazonka-finspace-data+version: 2.0+synopsis: Amazon FinSpace Public API SDK.+homepage: https://github.com/brendanhay/amazonka+bug-reports: https://github.com/brendanhay/amazonka/issues+license: MPL-2.0+license-file: LICENSE+author: Brendan Hay+maintainer:+ Brendan Hay <brendan.g.hay+amazonka@gmail.com>, Jack Kelly <jack@jackkelly.name>++copyright: Copyright (c) 2013-2023 Brendan Hay+category: AWS+build-type: Simple+extra-source-files:+ fixture/*.proto+ fixture/*.yaml+ README.md+ src/.gitkeep++description:+ Derived from API version @2020-07-13@ 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.FinSpaceData.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.FinSpaceData" 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-finspace-data++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.FinSpaceData+ Amazonka.FinSpaceData.AssociateUserToPermissionGroup+ Amazonka.FinSpaceData.CreateChangeset+ Amazonka.FinSpaceData.CreateDataset+ Amazonka.FinSpaceData.CreateDataView+ Amazonka.FinSpaceData.CreatePermissionGroup+ Amazonka.FinSpaceData.CreateUser+ Amazonka.FinSpaceData.DeleteDataset+ Amazonka.FinSpaceData.DeletePermissionGroup+ Amazonka.FinSpaceData.DisableUser+ Amazonka.FinSpaceData.DisassociateUserFromPermissionGroup+ Amazonka.FinSpaceData.EnableUser+ Amazonka.FinSpaceData.GetChangeset+ Amazonka.FinSpaceData.GetDataset+ Amazonka.FinSpaceData.GetDataView+ Amazonka.FinSpaceData.GetExternalDataViewAccessDetails+ Amazonka.FinSpaceData.GetPermissionGroup+ Amazonka.FinSpaceData.GetProgrammaticAccessCredentials+ Amazonka.FinSpaceData.GetUser+ Amazonka.FinSpaceData.GetWorkingLocation+ Amazonka.FinSpaceData.Lens+ Amazonka.FinSpaceData.ListChangesets+ Amazonka.FinSpaceData.ListDatasets+ Amazonka.FinSpaceData.ListDataViews+ Amazonka.FinSpaceData.ListPermissionGroups+ Amazonka.FinSpaceData.ListPermissionGroupsByUser+ Amazonka.FinSpaceData.ListUsers+ Amazonka.FinSpaceData.ListUsersByPermissionGroup+ Amazonka.FinSpaceData.ResetUserPassword+ Amazonka.FinSpaceData.Types+ Amazonka.FinSpaceData.Types.ApiAccess+ Amazonka.FinSpaceData.Types.ApplicationPermission+ Amazonka.FinSpaceData.Types.AwsCredentials+ Amazonka.FinSpaceData.Types.ChangesetErrorInfo+ Amazonka.FinSpaceData.Types.ChangesetSummary+ Amazonka.FinSpaceData.Types.ChangeType+ Amazonka.FinSpaceData.Types.ColumnDataType+ Amazonka.FinSpaceData.Types.ColumnDefinition+ Amazonka.FinSpaceData.Types.Credentials+ Amazonka.FinSpaceData.Types.Dataset+ Amazonka.FinSpaceData.Types.DatasetKind+ Amazonka.FinSpaceData.Types.DatasetOwnerInfo+ Amazonka.FinSpaceData.Types.DatasetStatus+ Amazonka.FinSpaceData.Types.DataViewDestinationTypeParams+ Amazonka.FinSpaceData.Types.DataViewErrorInfo+ Amazonka.FinSpaceData.Types.DataViewStatus+ Amazonka.FinSpaceData.Types.DataViewSummary+ Amazonka.FinSpaceData.Types.ErrorCategory+ Amazonka.FinSpaceData.Types.ExportFileFormat+ Amazonka.FinSpaceData.Types.IngestionStatus+ Amazonka.FinSpaceData.Types.LocationType+ Amazonka.FinSpaceData.Types.PermissionGroup+ Amazonka.FinSpaceData.Types.PermissionGroupByUser+ Amazonka.FinSpaceData.Types.PermissionGroupMembershipStatus+ Amazonka.FinSpaceData.Types.PermissionGroupParams+ Amazonka.FinSpaceData.Types.ResourcePermission+ Amazonka.FinSpaceData.Types.S3Location+ Amazonka.FinSpaceData.Types.SchemaDefinition+ Amazonka.FinSpaceData.Types.SchemaUnion+ Amazonka.FinSpaceData.Types.User+ Amazonka.FinSpaceData.Types.UserByPermissionGroup+ Amazonka.FinSpaceData.Types.UserStatus+ Amazonka.FinSpaceData.Types.UserType+ Amazonka.FinSpaceData.UpdateChangeset+ Amazonka.FinSpaceData.UpdateDataset+ Amazonka.FinSpaceData.UpdatePermissionGroup+ Amazonka.FinSpaceData.UpdateUser+ Amazonka.FinSpaceData.Waiters++ build-depends:+ , amazonka-core >=2.0 && <2.1+ , base >=4.12 && <5++test-suite amazonka-finspace-data-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.FinSpaceData+ Test.Amazonka.FinSpaceData.Internal+ Test.Amazonka.Gen.FinSpaceData++ build-depends:+ , amazonka-core >=2.0 && <2.1+ , amazonka-finspace-data+ , amazonka-test >=2.0 && <2.1+ , base+ , bytestring+ , case-insensitive+ , tasty+ , tasty-hunit+ , text+ , time+ , unordered-containers
+ fixture/AssociateUserToPermissionGroup.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/finspace-api/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: finspace-api.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/AssociateUserToPermissionGroupResponse.proto view
+ fixture/CreateChangeset.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/finspace-api/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: finspace-api.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/CreateChangesetResponse.proto view
+ fixture/CreateDataView.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/finspace-api/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: finspace-api.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/CreateDataViewResponse.proto view
+ fixture/CreateDataset.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/finspace-api/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: finspace-api.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/CreateDatasetResponse.proto view
+ fixture/CreatePermissionGroup.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/finspace-api/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: finspace-api.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/CreatePermissionGroupResponse.proto view
+ fixture/CreateUser.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/finspace-api/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: finspace-api.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/CreateUserResponse.proto view
+ fixture/DeleteDataset.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/finspace-api/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: finspace-api.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/DeleteDatasetResponse.proto view
+ fixture/DeletePermissionGroup.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/finspace-api/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: finspace-api.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/DeletePermissionGroupResponse.proto view
+ fixture/DisableUser.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/finspace-api/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: finspace-api.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/DisableUserResponse.proto view
+ fixture/DisassociateUserFromPermissionGroup.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/finspace-api/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: finspace-api.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/DisassociateUserFromPermissionGroupResponse.proto view
+ fixture/EnableUser.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/finspace-api/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: finspace-api.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/EnableUserResponse.proto view
+ fixture/GetChangeset.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/finspace-api/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: finspace-api.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/GetChangesetResponse.proto view
+ fixture/GetDataView.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/finspace-api/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: finspace-api.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/GetDataViewResponse.proto view
+ fixture/GetDataset.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/finspace-api/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: finspace-api.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/GetDatasetResponse.proto view
+ fixture/GetExternalDataViewAccessDetails.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/finspace-api/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: finspace-api.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/GetExternalDataViewAccessDetailsResponse.proto view
+ fixture/GetPermissionGroup.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/finspace-api/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: finspace-api.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/GetPermissionGroupResponse.proto view
+ fixture/GetProgrammaticAccessCredentials.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/finspace-api/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: finspace-api.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/GetProgrammaticAccessCredentialsResponse.proto view
+ fixture/GetUser.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/finspace-api/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: finspace-api.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/GetUserResponse.proto view
+ fixture/GetWorkingLocation.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/finspace-api/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: finspace-api.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/GetWorkingLocationResponse.proto view
+ fixture/ListChangesets.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/finspace-api/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: finspace-api.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/ListChangesetsResponse.proto view
+ fixture/ListDataViews.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/finspace-api/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: finspace-api.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/ListDataViewsResponse.proto view
+ fixture/ListDatasets.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/finspace-api/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: finspace-api.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/ListDatasetsResponse.proto view
+ fixture/ListPermissionGroups.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/finspace-api/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: finspace-api.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/ListPermissionGroupsByUser.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/finspace-api/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: finspace-api.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/ListPermissionGroupsByUserResponse.proto view
+ fixture/ListPermissionGroupsResponse.proto view
+ fixture/ListUsers.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/finspace-api/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: finspace-api.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/ListUsersByPermissionGroup.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/finspace-api/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: finspace-api.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/ListUsersByPermissionGroupResponse.proto view
+ fixture/ListUsersResponse.proto view
+ fixture/ResetUserPassword.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/finspace-api/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: finspace-api.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/ResetUserPasswordResponse.proto view
+ fixture/UpdateChangeset.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/finspace-api/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: finspace-api.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/UpdateChangesetResponse.proto view
+ fixture/UpdateDataset.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/finspace-api/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: finspace-api.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/UpdateDatasetResponse.proto view
+ fixture/UpdatePermissionGroup.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/finspace-api/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: finspace-api.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/UpdatePermissionGroupResponse.proto view
+ fixture/UpdateUser.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/finspace-api/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: finspace-api.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UpdateUserResponse.proto view
+ gen/Amazonka/FinSpaceData.hs view
@@ -0,0 +1,417 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Amazonka.FinSpaceData+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Derived from API version @2020-07-13@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- The FinSpace APIs let you take actions inside the FinSpace.+module Amazonka.FinSpaceData+ ( -- * Service Configuration+ defaultService,++ -- * Errors+ -- $errors++ -- ** AccessDeniedException+ _AccessDeniedException,++ -- ** ConflictException+ _ConflictException,++ -- ** InternalServerException+ _InternalServerException,++ -- ** LimitExceededException+ _LimitExceededException,++ -- ** ResourceNotFoundException+ _ResourceNotFoundException,++ -- ** ThrottlingException+ _ThrottlingException,++ -- ** ValidationException+ _ValidationException,++ -- * Waiters+ -- $waiters++ -- * Operations+ -- $operations++ -- ** AssociateUserToPermissionGroup+ AssociateUserToPermissionGroup (AssociateUserToPermissionGroup'),+ newAssociateUserToPermissionGroup,+ AssociateUserToPermissionGroupResponse (AssociateUserToPermissionGroupResponse'),+ newAssociateUserToPermissionGroupResponse,++ -- ** CreateChangeset+ CreateChangeset (CreateChangeset'),+ newCreateChangeset,+ CreateChangesetResponse (CreateChangesetResponse'),+ newCreateChangesetResponse,++ -- ** CreateDataView+ CreateDataView (CreateDataView'),+ newCreateDataView,+ CreateDataViewResponse (CreateDataViewResponse'),+ newCreateDataViewResponse,++ -- ** CreateDataset+ CreateDataset (CreateDataset'),+ newCreateDataset,+ CreateDatasetResponse (CreateDatasetResponse'),+ newCreateDatasetResponse,++ -- ** CreatePermissionGroup+ CreatePermissionGroup (CreatePermissionGroup'),+ newCreatePermissionGroup,+ CreatePermissionGroupResponse (CreatePermissionGroupResponse'),+ newCreatePermissionGroupResponse,++ -- ** CreateUser+ CreateUser (CreateUser'),+ newCreateUser,+ CreateUserResponse (CreateUserResponse'),+ newCreateUserResponse,++ -- ** DeleteDataset+ DeleteDataset (DeleteDataset'),+ newDeleteDataset,+ DeleteDatasetResponse (DeleteDatasetResponse'),+ newDeleteDatasetResponse,++ -- ** DeletePermissionGroup+ DeletePermissionGroup (DeletePermissionGroup'),+ newDeletePermissionGroup,+ DeletePermissionGroupResponse (DeletePermissionGroupResponse'),+ newDeletePermissionGroupResponse,++ -- ** DisableUser+ DisableUser (DisableUser'),+ newDisableUser,+ DisableUserResponse (DisableUserResponse'),+ newDisableUserResponse,++ -- ** DisassociateUserFromPermissionGroup+ DisassociateUserFromPermissionGroup (DisassociateUserFromPermissionGroup'),+ newDisassociateUserFromPermissionGroup,+ DisassociateUserFromPermissionGroupResponse (DisassociateUserFromPermissionGroupResponse'),+ newDisassociateUserFromPermissionGroupResponse,++ -- ** EnableUser+ EnableUser (EnableUser'),+ newEnableUser,+ EnableUserResponse (EnableUserResponse'),+ newEnableUserResponse,++ -- ** GetChangeset+ GetChangeset (GetChangeset'),+ newGetChangeset,+ GetChangesetResponse (GetChangesetResponse'),+ newGetChangesetResponse,++ -- ** GetDataView+ GetDataView (GetDataView'),+ newGetDataView,+ GetDataViewResponse (GetDataViewResponse'),+ newGetDataViewResponse,++ -- ** GetDataset+ GetDataset (GetDataset'),+ newGetDataset,+ GetDatasetResponse (GetDatasetResponse'),+ newGetDatasetResponse,++ -- ** GetExternalDataViewAccessDetails+ GetExternalDataViewAccessDetails (GetExternalDataViewAccessDetails'),+ newGetExternalDataViewAccessDetails,+ GetExternalDataViewAccessDetailsResponse (GetExternalDataViewAccessDetailsResponse'),+ newGetExternalDataViewAccessDetailsResponse,++ -- ** GetPermissionGroup+ GetPermissionGroup (GetPermissionGroup'),+ newGetPermissionGroup,+ GetPermissionGroupResponse (GetPermissionGroupResponse'),+ newGetPermissionGroupResponse,++ -- ** GetProgrammaticAccessCredentials+ GetProgrammaticAccessCredentials (GetProgrammaticAccessCredentials'),+ newGetProgrammaticAccessCredentials,+ GetProgrammaticAccessCredentialsResponse (GetProgrammaticAccessCredentialsResponse'),+ newGetProgrammaticAccessCredentialsResponse,++ -- ** GetUser+ GetUser (GetUser'),+ newGetUser,+ GetUserResponse (GetUserResponse'),+ newGetUserResponse,++ -- ** GetWorkingLocation+ GetWorkingLocation (GetWorkingLocation'),+ newGetWorkingLocation,+ GetWorkingLocationResponse (GetWorkingLocationResponse'),+ newGetWorkingLocationResponse,++ -- ** ListChangesets (Paginated)+ ListChangesets (ListChangesets'),+ newListChangesets,+ ListChangesetsResponse (ListChangesetsResponse'),+ newListChangesetsResponse,++ -- ** ListDataViews (Paginated)+ ListDataViews (ListDataViews'),+ newListDataViews,+ ListDataViewsResponse (ListDataViewsResponse'),+ newListDataViewsResponse,++ -- ** ListDatasets (Paginated)+ ListDatasets (ListDatasets'),+ newListDatasets,+ ListDatasetsResponse (ListDatasetsResponse'),+ newListDatasetsResponse,++ -- ** ListPermissionGroups (Paginated)+ ListPermissionGroups (ListPermissionGroups'),+ newListPermissionGroups,+ ListPermissionGroupsResponse (ListPermissionGroupsResponse'),+ newListPermissionGroupsResponse,++ -- ** ListPermissionGroupsByUser+ ListPermissionGroupsByUser (ListPermissionGroupsByUser'),+ newListPermissionGroupsByUser,+ ListPermissionGroupsByUserResponse (ListPermissionGroupsByUserResponse'),+ newListPermissionGroupsByUserResponse,++ -- ** ListUsers (Paginated)+ ListUsers (ListUsers'),+ newListUsers,+ ListUsersResponse (ListUsersResponse'),+ newListUsersResponse,++ -- ** ListUsersByPermissionGroup+ ListUsersByPermissionGroup (ListUsersByPermissionGroup'),+ newListUsersByPermissionGroup,+ ListUsersByPermissionGroupResponse (ListUsersByPermissionGroupResponse'),+ newListUsersByPermissionGroupResponse,++ -- ** ResetUserPassword+ ResetUserPassword (ResetUserPassword'),+ newResetUserPassword,+ ResetUserPasswordResponse (ResetUserPasswordResponse'),+ newResetUserPasswordResponse,++ -- ** UpdateChangeset+ UpdateChangeset (UpdateChangeset'),+ newUpdateChangeset,+ UpdateChangesetResponse (UpdateChangesetResponse'),+ newUpdateChangesetResponse,++ -- ** UpdateDataset+ UpdateDataset (UpdateDataset'),+ newUpdateDataset,+ UpdateDatasetResponse (UpdateDatasetResponse'),+ newUpdateDatasetResponse,++ -- ** UpdatePermissionGroup+ UpdatePermissionGroup (UpdatePermissionGroup'),+ newUpdatePermissionGroup,+ UpdatePermissionGroupResponse (UpdatePermissionGroupResponse'),+ newUpdatePermissionGroupResponse,++ -- ** UpdateUser+ UpdateUser (UpdateUser'),+ newUpdateUser,+ UpdateUserResponse (UpdateUserResponse'),+ newUpdateUserResponse,++ -- * Types++ -- ** ApiAccess+ ApiAccess (..),++ -- ** ApplicationPermission+ ApplicationPermission (..),++ -- ** ChangeType+ ChangeType (..),++ -- ** ColumnDataType+ ColumnDataType (..),++ -- ** DataViewStatus+ DataViewStatus (..),++ -- ** DatasetKind+ DatasetKind (..),++ -- ** DatasetStatus+ DatasetStatus (..),++ -- ** ErrorCategory+ ErrorCategory (..),++ -- ** ExportFileFormat+ ExportFileFormat (..),++ -- ** IngestionStatus+ IngestionStatus (..),++ -- ** LocationType+ LocationType (..),++ -- ** PermissionGroupMembershipStatus+ PermissionGroupMembershipStatus (..),++ -- ** UserStatus+ UserStatus (..),++ -- ** UserType+ UserType (..),++ -- ** AwsCredentials+ AwsCredentials (AwsCredentials'),+ newAwsCredentials,++ -- ** ChangesetErrorInfo+ ChangesetErrorInfo (ChangesetErrorInfo'),+ newChangesetErrorInfo,++ -- ** ChangesetSummary+ ChangesetSummary (ChangesetSummary'),+ newChangesetSummary,++ -- ** ColumnDefinition+ ColumnDefinition (ColumnDefinition'),+ newColumnDefinition,++ -- ** Credentials+ Credentials (Credentials'),+ newCredentials,++ -- ** DataViewDestinationTypeParams+ DataViewDestinationTypeParams (DataViewDestinationTypeParams'),+ newDataViewDestinationTypeParams,++ -- ** DataViewErrorInfo+ DataViewErrorInfo (DataViewErrorInfo'),+ newDataViewErrorInfo,++ -- ** DataViewSummary+ DataViewSummary (DataViewSummary'),+ newDataViewSummary,++ -- ** Dataset+ Dataset (Dataset'),+ newDataset,++ -- ** DatasetOwnerInfo+ DatasetOwnerInfo (DatasetOwnerInfo'),+ newDatasetOwnerInfo,++ -- ** PermissionGroup+ PermissionGroup (PermissionGroup'),+ newPermissionGroup,++ -- ** PermissionGroupByUser+ PermissionGroupByUser (PermissionGroupByUser'),+ newPermissionGroupByUser,++ -- ** PermissionGroupParams+ PermissionGroupParams (PermissionGroupParams'),+ newPermissionGroupParams,++ -- ** ResourcePermission+ ResourcePermission (ResourcePermission'),+ newResourcePermission,++ -- ** S3Location+ S3Location (S3Location'),+ newS3Location,++ -- ** SchemaDefinition+ SchemaDefinition (SchemaDefinition'),+ newSchemaDefinition,++ -- ** SchemaUnion+ SchemaUnion (SchemaUnion'),+ newSchemaUnion,++ -- ** User+ User (User'),+ newUser,++ -- ** UserByPermissionGroup+ UserByPermissionGroup (UserByPermissionGroup'),+ newUserByPermissionGroup,+ )+where++import Amazonka.FinSpaceData.AssociateUserToPermissionGroup+import Amazonka.FinSpaceData.CreateChangeset+import Amazonka.FinSpaceData.CreateDataView+import Amazonka.FinSpaceData.CreateDataset+import Amazonka.FinSpaceData.CreatePermissionGroup+import Amazonka.FinSpaceData.CreateUser+import Amazonka.FinSpaceData.DeleteDataset+import Amazonka.FinSpaceData.DeletePermissionGroup+import Amazonka.FinSpaceData.DisableUser+import Amazonka.FinSpaceData.DisassociateUserFromPermissionGroup+import Amazonka.FinSpaceData.EnableUser+import Amazonka.FinSpaceData.GetChangeset+import Amazonka.FinSpaceData.GetDataView+import Amazonka.FinSpaceData.GetDataset+import Amazonka.FinSpaceData.GetExternalDataViewAccessDetails+import Amazonka.FinSpaceData.GetPermissionGroup+import Amazonka.FinSpaceData.GetProgrammaticAccessCredentials+import Amazonka.FinSpaceData.GetUser+import Amazonka.FinSpaceData.GetWorkingLocation+import Amazonka.FinSpaceData.Lens+import Amazonka.FinSpaceData.ListChangesets+import Amazonka.FinSpaceData.ListDataViews+import Amazonka.FinSpaceData.ListDatasets+import Amazonka.FinSpaceData.ListPermissionGroups+import Amazonka.FinSpaceData.ListPermissionGroupsByUser+import Amazonka.FinSpaceData.ListUsers+import Amazonka.FinSpaceData.ListUsersByPermissionGroup+import Amazonka.FinSpaceData.ResetUserPassword+import Amazonka.FinSpaceData.Types+import Amazonka.FinSpaceData.UpdateChangeset+import Amazonka.FinSpaceData.UpdateDataset+import Amazonka.FinSpaceData.UpdatePermissionGroup+import Amazonka.FinSpaceData.UpdateUser+import Amazonka.FinSpaceData.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 'FinSpaceData'.++-- $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/FinSpaceData/AssociateUserToPermissionGroup.hs view
@@ -0,0 +1,210 @@+{-# 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.FinSpaceData.AssociateUserToPermissionGroup+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Adds a user account to a permission group to grant permissions for+-- actions a user can perform in FinSpace.+module Amazonka.FinSpaceData.AssociateUserToPermissionGroup+ ( -- * Creating a Request+ AssociateUserToPermissionGroup (..),+ newAssociateUserToPermissionGroup,++ -- * Request Lenses+ associateUserToPermissionGroup_clientToken,+ associateUserToPermissionGroup_permissionGroupId,+ associateUserToPermissionGroup_userId,++ -- * Destructuring the Response+ AssociateUserToPermissionGroupResponse (..),+ newAssociateUserToPermissionGroupResponse,++ -- * Response Lenses+ associateUserToPermissionGroupResponse_statusCode,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FinSpaceData.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newAssociateUserToPermissionGroup' smart constructor.+data AssociateUserToPermissionGroup = AssociateUserToPermissionGroup'+ { -- | A token that ensures idempotency. This token expires in 10 minutes.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for the permission group.+ permissionGroupId :: Prelude.Text,+ -- | The unique identifier for the user.+ userId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociateUserToPermissionGroup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'associateUserToPermissionGroup_clientToken' - A token that ensures idempotency. This token expires in 10 minutes.+--+-- 'permissionGroupId', 'associateUserToPermissionGroup_permissionGroupId' - The unique identifier for the permission group.+--+-- 'userId', 'associateUserToPermissionGroup_userId' - The unique identifier for the user.+newAssociateUserToPermissionGroup ::+ -- | 'permissionGroupId'+ Prelude.Text ->+ -- | 'userId'+ Prelude.Text ->+ AssociateUserToPermissionGroup+newAssociateUserToPermissionGroup+ pPermissionGroupId_+ pUserId_ =+ AssociateUserToPermissionGroup'+ { clientToken =+ Prelude.Nothing,+ permissionGroupId = pPermissionGroupId_,+ userId = pUserId_+ }++-- | A token that ensures idempotency. This token expires in 10 minutes.+associateUserToPermissionGroup_clientToken :: Lens.Lens' AssociateUserToPermissionGroup (Prelude.Maybe Prelude.Text)+associateUserToPermissionGroup_clientToken = Lens.lens (\AssociateUserToPermissionGroup' {clientToken} -> clientToken) (\s@AssociateUserToPermissionGroup' {} a -> s {clientToken = a} :: AssociateUserToPermissionGroup)++-- | The unique identifier for the permission group.+associateUserToPermissionGroup_permissionGroupId :: Lens.Lens' AssociateUserToPermissionGroup Prelude.Text+associateUserToPermissionGroup_permissionGroupId = Lens.lens (\AssociateUserToPermissionGroup' {permissionGroupId} -> permissionGroupId) (\s@AssociateUserToPermissionGroup' {} a -> s {permissionGroupId = a} :: AssociateUserToPermissionGroup)++-- | The unique identifier for the user.+associateUserToPermissionGroup_userId :: Lens.Lens' AssociateUserToPermissionGroup Prelude.Text+associateUserToPermissionGroup_userId = Lens.lens (\AssociateUserToPermissionGroup' {userId} -> userId) (\s@AssociateUserToPermissionGroup' {} a -> s {userId = a} :: AssociateUserToPermissionGroup)++instance+ Core.AWSRequest+ AssociateUserToPermissionGroup+ where+ type+ AWSResponse AssociateUserToPermissionGroup =+ AssociateUserToPermissionGroupResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ AssociateUserToPermissionGroupResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ AssociateUserToPermissionGroup+ where+ hashWithSalt+ _salt+ AssociateUserToPermissionGroup' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` permissionGroupId+ `Prelude.hashWithSalt` userId++instance+ Prelude.NFData+ AssociateUserToPermissionGroup+ where+ rnf AssociateUserToPermissionGroup' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf permissionGroupId+ `Prelude.seq` Prelude.rnf userId++instance+ Data.ToHeaders+ AssociateUserToPermissionGroup+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON AssociateUserToPermissionGroup where+ toJSON AssociateUserToPermissionGroup' {..} =+ Data.object+ ( Prelude.catMaybes+ [("clientToken" Data..=) Prelude.<$> clientToken]+ )++instance Data.ToPath AssociateUserToPermissionGroup where+ toPath AssociateUserToPermissionGroup' {..} =+ Prelude.mconcat+ [ "/permission-group/",+ Data.toBS permissionGroupId,+ "/users/",+ Data.toBS userId+ ]++instance Data.ToQuery AssociateUserToPermissionGroup where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newAssociateUserToPermissionGroupResponse' smart constructor.+data AssociateUserToPermissionGroupResponse = AssociateUserToPermissionGroupResponse'+ { -- | The returned status code of the response.+ statusCode :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociateUserToPermissionGroupResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'statusCode', 'associateUserToPermissionGroupResponse_statusCode' - The returned status code of the response.+newAssociateUserToPermissionGroupResponse ::+ -- | 'statusCode'+ Prelude.Int ->+ AssociateUserToPermissionGroupResponse+newAssociateUserToPermissionGroupResponse+ pStatusCode_ =+ AssociateUserToPermissionGroupResponse'+ { statusCode =+ pStatusCode_+ }++-- | The returned status code of the response.+associateUserToPermissionGroupResponse_statusCode :: Lens.Lens' AssociateUserToPermissionGroupResponse Prelude.Int+associateUserToPermissionGroupResponse_statusCode = Lens.lens (\AssociateUserToPermissionGroupResponse' {statusCode} -> statusCode) (\s@AssociateUserToPermissionGroupResponse' {} a -> s {statusCode = a} :: AssociateUserToPermissionGroupResponse)++instance+ Prelude.NFData+ AssociateUserToPermissionGroupResponse+ where+ rnf AssociateUserToPermissionGroupResponse' {..} =+ Prelude.rnf statusCode
+ gen/Amazonka/FinSpaceData/CreateChangeset.hs view
@@ -0,0 +1,387 @@+{-# 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.FinSpaceData.CreateChangeset+-- 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 Changeset in a FinSpace Dataset.+module Amazonka.FinSpaceData.CreateChangeset+ ( -- * Creating a Request+ CreateChangeset (..),+ newCreateChangeset,++ -- * Request Lenses+ createChangeset_clientToken,+ createChangeset_datasetId,+ createChangeset_changeType,+ createChangeset_sourceParams,+ createChangeset_formatParams,++ -- * Destructuring the Response+ CreateChangesetResponse (..),+ newCreateChangesetResponse,++ -- * Response Lenses+ createChangesetResponse_changesetId,+ createChangesetResponse_datasetId,+ createChangesetResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FinSpaceData.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | The request for a CreateChangeset operation.+--+-- /See:/ 'newCreateChangeset' smart constructor.+data CreateChangeset = CreateChangeset'+ { -- | A token that ensures idempotency. This token expires in 10 minutes.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for the FinSpace Dataset where the Changeset will+ -- be created.+ datasetId :: Prelude.Text,+ -- | The option to indicate how a Changeset will be applied to a Dataset.+ --+ -- - @REPLACE@ – Changeset will be considered as a replacement to all+ -- prior loaded Changesets.+ --+ -- - @APPEND@ – Changeset will be considered as an addition to the end of+ -- all prior loaded Changesets.+ --+ -- - @MODIFY@ – Changeset is considered as a replacement to a specific+ -- prior ingested Changeset.+ changeType :: ChangeType,+ -- | Options that define the location of the data being ingested+ -- (@s3SourcePath@) and the source of the changeset (@sourceType@).+ --+ -- Both @s3SourcePath@ and @sourceType@ are required attributes.+ --+ -- Here is an example of how you could specify the @sourceParams@:+ --+ -- @ \"sourceParams\": { \"s3SourcePath\": \"s3:\/\/finspace-landing-us-east-2-bk7gcfvitndqa6ebnvys4d\/scratch\/wr5hh8pwkpqqkxa4sxrmcw\/ingestion\/equity.csv\", \"sourceType\": \"S3\" } @+ --+ -- The S3 path that you specify must allow the FinSpace role access. To do+ -- that, you first need to configure the IAM policy on S3 bucket. For more+ -- information, see+ -- <https://docs.aws.amazon.com/finspace/latest/data-api/fs-using-the-finspace-api.html#access-s3-buckets Loading data from an Amazon S3 Bucket using the FinSpace API>+ -- section.+ sourceParams :: Prelude.HashMap Prelude.Text Prelude.Text,+ -- | Options that define the structure of the source file(s) including the+ -- format type (@formatType@), header row (@withHeader@), data separation+ -- character (@separator@) and the type of compression (@compression@).+ --+ -- @formatType@ is a required attribute and can have the following values:+ --+ -- - @PARQUET@ – Parquet source file format.+ --+ -- - @CSV@ – CSV source file format.+ --+ -- - @JSON@ – JSON source file format.+ --+ -- - @XML@ – XML source file format.+ --+ -- Here is an example of how you could specify the @formatParams@:+ --+ -- @ \"formatParams\": { \"formatType\": \"CSV\", \"withHeader\": \"true\", \"separator\": \",\", \"compression\":\"None\" } @+ --+ -- Note that if you only provide @formatType@ as @CSV@, the rest of the+ -- attributes will automatically default to CSV values as following:+ --+ -- @ { \"withHeader\": \"true\", \"separator\": \",\" } @+ --+ -- For more information about supported file formats, see+ -- <https://docs.aws.amazon.com/finspace/latest/userguide/supported-data-types.html Supported Data Types and File Formats>+ -- in the FinSpace User Guide.+ formatParams :: Prelude.HashMap Prelude.Text Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateChangeset' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createChangeset_clientToken' - A token that ensures idempotency. This token expires in 10 minutes.+--+-- 'datasetId', 'createChangeset_datasetId' - The unique identifier for the FinSpace Dataset where the Changeset will+-- be created.+--+-- 'changeType', 'createChangeset_changeType' - The option to indicate how a Changeset will be applied to a Dataset.+--+-- - @REPLACE@ – Changeset will be considered as a replacement to all+-- prior loaded Changesets.+--+-- - @APPEND@ – Changeset will be considered as an addition to the end of+-- all prior loaded Changesets.+--+-- - @MODIFY@ – Changeset is considered as a replacement to a specific+-- prior ingested Changeset.+--+-- 'sourceParams', 'createChangeset_sourceParams' - Options that define the location of the data being ingested+-- (@s3SourcePath@) and the source of the changeset (@sourceType@).+--+-- Both @s3SourcePath@ and @sourceType@ are required attributes.+--+-- Here is an example of how you could specify the @sourceParams@:+--+-- @ \"sourceParams\": { \"s3SourcePath\": \"s3:\/\/finspace-landing-us-east-2-bk7gcfvitndqa6ebnvys4d\/scratch\/wr5hh8pwkpqqkxa4sxrmcw\/ingestion\/equity.csv\", \"sourceType\": \"S3\" } @+--+-- The S3 path that you specify must allow the FinSpace role access. To do+-- that, you first need to configure the IAM policy on S3 bucket. For more+-- information, see+-- <https://docs.aws.amazon.com/finspace/latest/data-api/fs-using-the-finspace-api.html#access-s3-buckets Loading data from an Amazon S3 Bucket using the FinSpace API>+-- section.+--+-- 'formatParams', 'createChangeset_formatParams' - Options that define the structure of the source file(s) including the+-- format type (@formatType@), header row (@withHeader@), data separation+-- character (@separator@) and the type of compression (@compression@).+--+-- @formatType@ is a required attribute and can have the following values:+--+-- - @PARQUET@ – Parquet source file format.+--+-- - @CSV@ – CSV source file format.+--+-- - @JSON@ – JSON source file format.+--+-- - @XML@ – XML source file format.+--+-- Here is an example of how you could specify the @formatParams@:+--+-- @ \"formatParams\": { \"formatType\": \"CSV\", \"withHeader\": \"true\", \"separator\": \",\", \"compression\":\"None\" } @+--+-- Note that if you only provide @formatType@ as @CSV@, the rest of the+-- attributes will automatically default to CSV values as following:+--+-- @ { \"withHeader\": \"true\", \"separator\": \",\" } @+--+-- For more information about supported file formats, see+-- <https://docs.aws.amazon.com/finspace/latest/userguide/supported-data-types.html Supported Data Types and File Formats>+-- in the FinSpace User Guide.+newCreateChangeset ::+ -- | 'datasetId'+ Prelude.Text ->+ -- | 'changeType'+ ChangeType ->+ CreateChangeset+newCreateChangeset pDatasetId_ pChangeType_ =+ CreateChangeset'+ { clientToken = Prelude.Nothing,+ datasetId = pDatasetId_,+ changeType = pChangeType_,+ sourceParams = Prelude.mempty,+ formatParams = Prelude.mempty+ }++-- | A token that ensures idempotency. This token expires in 10 minutes.+createChangeset_clientToken :: Lens.Lens' CreateChangeset (Prelude.Maybe Prelude.Text)+createChangeset_clientToken = Lens.lens (\CreateChangeset' {clientToken} -> clientToken) (\s@CreateChangeset' {} a -> s {clientToken = a} :: CreateChangeset)++-- | The unique identifier for the FinSpace Dataset where the Changeset will+-- be created.+createChangeset_datasetId :: Lens.Lens' CreateChangeset Prelude.Text+createChangeset_datasetId = Lens.lens (\CreateChangeset' {datasetId} -> datasetId) (\s@CreateChangeset' {} a -> s {datasetId = a} :: CreateChangeset)++-- | The option to indicate how a Changeset will be applied to a Dataset.+--+-- - @REPLACE@ – Changeset will be considered as a replacement to all+-- prior loaded Changesets.+--+-- - @APPEND@ – Changeset will be considered as an addition to the end of+-- all prior loaded Changesets.+--+-- - @MODIFY@ – Changeset is considered as a replacement to a specific+-- prior ingested Changeset.+createChangeset_changeType :: Lens.Lens' CreateChangeset ChangeType+createChangeset_changeType = Lens.lens (\CreateChangeset' {changeType} -> changeType) (\s@CreateChangeset' {} a -> s {changeType = a} :: CreateChangeset)++-- | Options that define the location of the data being ingested+-- (@s3SourcePath@) and the source of the changeset (@sourceType@).+--+-- Both @s3SourcePath@ and @sourceType@ are required attributes.+--+-- Here is an example of how you could specify the @sourceParams@:+--+-- @ \"sourceParams\": { \"s3SourcePath\": \"s3:\/\/finspace-landing-us-east-2-bk7gcfvitndqa6ebnvys4d\/scratch\/wr5hh8pwkpqqkxa4sxrmcw\/ingestion\/equity.csv\", \"sourceType\": \"S3\" } @+--+-- The S3 path that you specify must allow the FinSpace role access. To do+-- that, you first need to configure the IAM policy on S3 bucket. For more+-- information, see+-- <https://docs.aws.amazon.com/finspace/latest/data-api/fs-using-the-finspace-api.html#access-s3-buckets Loading data from an Amazon S3 Bucket using the FinSpace API>+-- section.+createChangeset_sourceParams :: Lens.Lens' CreateChangeset (Prelude.HashMap Prelude.Text Prelude.Text)+createChangeset_sourceParams = Lens.lens (\CreateChangeset' {sourceParams} -> sourceParams) (\s@CreateChangeset' {} a -> s {sourceParams = a} :: CreateChangeset) Prelude.. Lens.coerced++-- | Options that define the structure of the source file(s) including the+-- format type (@formatType@), header row (@withHeader@), data separation+-- character (@separator@) and the type of compression (@compression@).+--+-- @formatType@ is a required attribute and can have the following values:+--+-- - @PARQUET@ – Parquet source file format.+--+-- - @CSV@ – CSV source file format.+--+-- - @JSON@ – JSON source file format.+--+-- - @XML@ – XML source file format.+--+-- Here is an example of how you could specify the @formatParams@:+--+-- @ \"formatParams\": { \"formatType\": \"CSV\", \"withHeader\": \"true\", \"separator\": \",\", \"compression\":\"None\" } @+--+-- Note that if you only provide @formatType@ as @CSV@, the rest of the+-- attributes will automatically default to CSV values as following:+--+-- @ { \"withHeader\": \"true\", \"separator\": \",\" } @+--+-- For more information about supported file formats, see+-- <https://docs.aws.amazon.com/finspace/latest/userguide/supported-data-types.html Supported Data Types and File Formats>+-- in the FinSpace User Guide.+createChangeset_formatParams :: Lens.Lens' CreateChangeset (Prelude.HashMap Prelude.Text Prelude.Text)+createChangeset_formatParams = Lens.lens (\CreateChangeset' {formatParams} -> formatParams) (\s@CreateChangeset' {} a -> s {formatParams = a} :: CreateChangeset) Prelude.. Lens.coerced++instance Core.AWSRequest CreateChangeset where+ type+ AWSResponse CreateChangeset =+ CreateChangesetResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateChangesetResponse'+ Prelude.<$> (x Data..?> "changesetId")+ Prelude.<*> (x Data..?> "datasetId")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateChangeset where+ hashWithSalt _salt CreateChangeset' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` datasetId+ `Prelude.hashWithSalt` changeType+ `Prelude.hashWithSalt` sourceParams+ `Prelude.hashWithSalt` formatParams++instance Prelude.NFData CreateChangeset where+ rnf CreateChangeset' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf datasetId+ `Prelude.seq` Prelude.rnf changeType+ `Prelude.seq` Prelude.rnf sourceParams+ `Prelude.seq` Prelude.rnf formatParams++instance Data.ToHeaders CreateChangeset where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateChangeset where+ toJSON CreateChangeset' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("clientToken" Data..=) Prelude.<$> clientToken,+ Prelude.Just ("changeType" Data..= changeType),+ Prelude.Just ("sourceParams" Data..= sourceParams),+ Prelude.Just ("formatParams" Data..= formatParams)+ ]+ )++instance Data.ToPath CreateChangeset where+ toPath CreateChangeset' {..} =+ Prelude.mconcat+ ["/datasets/", Data.toBS datasetId, "/changesetsv2"]++instance Data.ToQuery CreateChangeset where+ toQuery = Prelude.const Prelude.mempty++-- | The response from a CreateChangeset operation.+--+-- /See:/ 'newCreateChangesetResponse' smart constructor.+data CreateChangesetResponse = CreateChangesetResponse'+ { -- | The unique identifier of the Changeset that is created.+ changesetId :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for the FinSpace Dataset where the Changeset is+ -- created.+ datasetId :: 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 'CreateChangesetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'changesetId', 'createChangesetResponse_changesetId' - The unique identifier of the Changeset that is created.+--+-- 'datasetId', 'createChangesetResponse_datasetId' - The unique identifier for the FinSpace Dataset where the Changeset is+-- created.+--+-- 'httpStatus', 'createChangesetResponse_httpStatus' - The response's http status code.+newCreateChangesetResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateChangesetResponse+newCreateChangesetResponse pHttpStatus_ =+ CreateChangesetResponse'+ { changesetId =+ Prelude.Nothing,+ datasetId = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The unique identifier of the Changeset that is created.+createChangesetResponse_changesetId :: Lens.Lens' CreateChangesetResponse (Prelude.Maybe Prelude.Text)+createChangesetResponse_changesetId = Lens.lens (\CreateChangesetResponse' {changesetId} -> changesetId) (\s@CreateChangesetResponse' {} a -> s {changesetId = a} :: CreateChangesetResponse)++-- | The unique identifier for the FinSpace Dataset where the Changeset is+-- created.+createChangesetResponse_datasetId :: Lens.Lens' CreateChangesetResponse (Prelude.Maybe Prelude.Text)+createChangesetResponse_datasetId = Lens.lens (\CreateChangesetResponse' {datasetId} -> datasetId) (\s@CreateChangesetResponse' {} a -> s {datasetId = a} :: CreateChangesetResponse)++-- | The response's http status code.+createChangesetResponse_httpStatus :: Lens.Lens' CreateChangesetResponse Prelude.Int+createChangesetResponse_httpStatus = Lens.lens (\CreateChangesetResponse' {httpStatus} -> httpStatus) (\s@CreateChangesetResponse' {} a -> s {httpStatus = a} :: CreateChangesetResponse)++instance Prelude.NFData CreateChangesetResponse where+ rnf CreateChangesetResponse' {..} =+ Prelude.rnf changesetId+ `Prelude.seq` Prelude.rnf datasetId+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FinSpaceData/CreateDataView.hs view
@@ -0,0 +1,276 @@+{-# 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.FinSpaceData.CreateDataView+-- 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 Dataview for a Dataset.+module Amazonka.FinSpaceData.CreateDataView+ ( -- * Creating a Request+ CreateDataView (..),+ newCreateDataView,++ -- * Request Lenses+ createDataView_asOfTimestamp,+ createDataView_autoUpdate,+ createDataView_clientToken,+ createDataView_partitionColumns,+ createDataView_sortColumns,+ createDataView_datasetId,+ createDataView_destinationTypeParams,++ -- * Destructuring the Response+ CreateDataViewResponse (..),+ newCreateDataViewResponse,++ -- * Response Lenses+ createDataViewResponse_dataViewId,+ createDataViewResponse_datasetId,+ createDataViewResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FinSpaceData.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | Request for creating a data view.+--+-- /See:/ 'newCreateDataView' smart constructor.+data CreateDataView = CreateDataView'+ { -- | Beginning time to use for the Dataview. The value is determined as epoch+ -- time in milliseconds. For example, the value for Monday, November 1,+ -- 2021 12:00:00 PM UTC is specified as 1635768000000.+ asOfTimestamp :: Prelude.Maybe Prelude.Integer,+ -- | Flag to indicate Dataview should be updated automatically.+ autoUpdate :: Prelude.Maybe Prelude.Bool,+ -- | A token that ensures idempotency. This token expires in 10 minutes.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | Ordered set of column names used to partition data.+ partitionColumns :: Prelude.Maybe [Prelude.Text],+ -- | Columns to be used for sorting the data.+ sortColumns :: Prelude.Maybe [Prelude.Text],+ -- | The unique Dataset identifier that is used to create a Dataview.+ datasetId :: Prelude.Text,+ -- | Options that define the destination type for the Dataview.+ destinationTypeParams :: DataViewDestinationTypeParams+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateDataView' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'asOfTimestamp', 'createDataView_asOfTimestamp' - Beginning time to use for the Dataview. The value is determined as epoch+-- time in milliseconds. For example, the value for Monday, November 1,+-- 2021 12:00:00 PM UTC is specified as 1635768000000.+--+-- 'autoUpdate', 'createDataView_autoUpdate' - Flag to indicate Dataview should be updated automatically.+--+-- 'clientToken', 'createDataView_clientToken' - A token that ensures idempotency. This token expires in 10 minutes.+--+-- 'partitionColumns', 'createDataView_partitionColumns' - Ordered set of column names used to partition data.+--+-- 'sortColumns', 'createDataView_sortColumns' - Columns to be used for sorting the data.+--+-- 'datasetId', 'createDataView_datasetId' - The unique Dataset identifier that is used to create a Dataview.+--+-- 'destinationTypeParams', 'createDataView_destinationTypeParams' - Options that define the destination type for the Dataview.+newCreateDataView ::+ -- | 'datasetId'+ Prelude.Text ->+ -- | 'destinationTypeParams'+ DataViewDestinationTypeParams ->+ CreateDataView+newCreateDataView pDatasetId_ pDestinationTypeParams_ =+ CreateDataView'+ { asOfTimestamp = Prelude.Nothing,+ autoUpdate = Prelude.Nothing,+ clientToken = Prelude.Nothing,+ partitionColumns = Prelude.Nothing,+ sortColumns = Prelude.Nothing,+ datasetId = pDatasetId_,+ destinationTypeParams = pDestinationTypeParams_+ }++-- | Beginning time to use for the Dataview. The value is determined as epoch+-- time in milliseconds. For example, the value for Monday, November 1,+-- 2021 12:00:00 PM UTC is specified as 1635768000000.+createDataView_asOfTimestamp :: Lens.Lens' CreateDataView (Prelude.Maybe Prelude.Integer)+createDataView_asOfTimestamp = Lens.lens (\CreateDataView' {asOfTimestamp} -> asOfTimestamp) (\s@CreateDataView' {} a -> s {asOfTimestamp = a} :: CreateDataView)++-- | Flag to indicate Dataview should be updated automatically.+createDataView_autoUpdate :: Lens.Lens' CreateDataView (Prelude.Maybe Prelude.Bool)+createDataView_autoUpdate = Lens.lens (\CreateDataView' {autoUpdate} -> autoUpdate) (\s@CreateDataView' {} a -> s {autoUpdate = a} :: CreateDataView)++-- | A token that ensures idempotency. This token expires in 10 minutes.+createDataView_clientToken :: Lens.Lens' CreateDataView (Prelude.Maybe Prelude.Text)+createDataView_clientToken = Lens.lens (\CreateDataView' {clientToken} -> clientToken) (\s@CreateDataView' {} a -> s {clientToken = a} :: CreateDataView)++-- | Ordered set of column names used to partition data.+createDataView_partitionColumns :: Lens.Lens' CreateDataView (Prelude.Maybe [Prelude.Text])+createDataView_partitionColumns = Lens.lens (\CreateDataView' {partitionColumns} -> partitionColumns) (\s@CreateDataView' {} a -> s {partitionColumns = a} :: CreateDataView) Prelude.. Lens.mapping Lens.coerced++-- | Columns to be used for sorting the data.+createDataView_sortColumns :: Lens.Lens' CreateDataView (Prelude.Maybe [Prelude.Text])+createDataView_sortColumns = Lens.lens (\CreateDataView' {sortColumns} -> sortColumns) (\s@CreateDataView' {} a -> s {sortColumns = a} :: CreateDataView) Prelude.. Lens.mapping Lens.coerced++-- | The unique Dataset identifier that is used to create a Dataview.+createDataView_datasetId :: Lens.Lens' CreateDataView Prelude.Text+createDataView_datasetId = Lens.lens (\CreateDataView' {datasetId} -> datasetId) (\s@CreateDataView' {} a -> s {datasetId = a} :: CreateDataView)++-- | Options that define the destination type for the Dataview.+createDataView_destinationTypeParams :: Lens.Lens' CreateDataView DataViewDestinationTypeParams+createDataView_destinationTypeParams = Lens.lens (\CreateDataView' {destinationTypeParams} -> destinationTypeParams) (\s@CreateDataView' {} a -> s {destinationTypeParams = a} :: CreateDataView)++instance Core.AWSRequest CreateDataView where+ type+ AWSResponse CreateDataView =+ CreateDataViewResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateDataViewResponse'+ Prelude.<$> (x Data..?> "dataViewId")+ Prelude.<*> (x Data..?> "datasetId")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateDataView where+ hashWithSalt _salt CreateDataView' {..} =+ _salt+ `Prelude.hashWithSalt` asOfTimestamp+ `Prelude.hashWithSalt` autoUpdate+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` partitionColumns+ `Prelude.hashWithSalt` sortColumns+ `Prelude.hashWithSalt` datasetId+ `Prelude.hashWithSalt` destinationTypeParams++instance Prelude.NFData CreateDataView where+ rnf CreateDataView' {..} =+ Prelude.rnf asOfTimestamp+ `Prelude.seq` Prelude.rnf autoUpdate+ `Prelude.seq` Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf partitionColumns+ `Prelude.seq` Prelude.rnf sortColumns+ `Prelude.seq` Prelude.rnf datasetId+ `Prelude.seq` Prelude.rnf destinationTypeParams++instance Data.ToHeaders CreateDataView where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateDataView where+ toJSON CreateDataView' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("asOfTimestamp" Data..=) Prelude.<$> asOfTimestamp,+ ("autoUpdate" Data..=) Prelude.<$> autoUpdate,+ ("clientToken" Data..=) Prelude.<$> clientToken,+ ("partitionColumns" Data..=)+ Prelude.<$> partitionColumns,+ ("sortColumns" Data..=) Prelude.<$> sortColumns,+ Prelude.Just+ ( "destinationTypeParams"+ Data..= destinationTypeParams+ )+ ]+ )++instance Data.ToPath CreateDataView where+ toPath CreateDataView' {..} =+ Prelude.mconcat+ ["/datasets/", Data.toBS datasetId, "/dataviewsv2"]++instance Data.ToQuery CreateDataView where+ toQuery = Prelude.const Prelude.mempty++-- | Response for creating a data view.+--+-- /See:/ 'newCreateDataViewResponse' smart constructor.+data CreateDataViewResponse = CreateDataViewResponse'+ { -- | The unique identifier for the created Dataview.+ dataViewId :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier of the Dataset used for the Dataview.+ datasetId :: 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 'CreateDataViewResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataViewId', 'createDataViewResponse_dataViewId' - The unique identifier for the created Dataview.+--+-- 'datasetId', 'createDataViewResponse_datasetId' - The unique identifier of the Dataset used for the Dataview.+--+-- 'httpStatus', 'createDataViewResponse_httpStatus' - The response's http status code.+newCreateDataViewResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateDataViewResponse+newCreateDataViewResponse pHttpStatus_ =+ CreateDataViewResponse'+ { dataViewId =+ Prelude.Nothing,+ datasetId = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The unique identifier for the created Dataview.+createDataViewResponse_dataViewId :: Lens.Lens' CreateDataViewResponse (Prelude.Maybe Prelude.Text)+createDataViewResponse_dataViewId = Lens.lens (\CreateDataViewResponse' {dataViewId} -> dataViewId) (\s@CreateDataViewResponse' {} a -> s {dataViewId = a} :: CreateDataViewResponse)++-- | The unique identifier of the Dataset used for the Dataview.+createDataViewResponse_datasetId :: Lens.Lens' CreateDataViewResponse (Prelude.Maybe Prelude.Text)+createDataViewResponse_datasetId = Lens.lens (\CreateDataViewResponse' {datasetId} -> datasetId) (\s@CreateDataViewResponse' {} a -> s {datasetId = a} :: CreateDataViewResponse)++-- | The response's http status code.+createDataViewResponse_httpStatus :: Lens.Lens' CreateDataViewResponse Prelude.Int+createDataViewResponse_httpStatus = Lens.lens (\CreateDataViewResponse' {httpStatus} -> httpStatus) (\s@CreateDataViewResponse' {} a -> s {httpStatus = a} :: CreateDataViewResponse)++instance Prelude.NFData CreateDataViewResponse where+ rnf CreateDataViewResponse' {..} =+ Prelude.rnf dataViewId+ `Prelude.seq` Prelude.rnf datasetId+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FinSpaceData/CreateDataset.hs view
@@ -0,0 +1,287 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FinSpaceData.CreateDataset+-- 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 FinSpace Dataset.+module Amazonka.FinSpaceData.CreateDataset+ ( -- * Creating a Request+ CreateDataset (..),+ newCreateDataset,++ -- * Request Lenses+ createDataset_alias,+ createDataset_clientToken,+ createDataset_datasetDescription,+ createDataset_ownerInfo,+ createDataset_schemaDefinition,+ createDataset_datasetTitle,+ createDataset_kind,+ createDataset_permissionGroupParams,++ -- * Destructuring the Response+ CreateDatasetResponse (..),+ newCreateDatasetResponse,++ -- * Response Lenses+ createDatasetResponse_datasetId,+ createDatasetResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FinSpaceData.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | The request for a CreateDataset operation+--+-- /See:/ 'newCreateDataset' smart constructor.+data CreateDataset = CreateDataset'+ { -- | The unique resource identifier for a Dataset.+ alias :: Prelude.Maybe Prelude.Text,+ -- | A token that ensures idempotency. This token expires in 10 minutes.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | Description of a Dataset.+ datasetDescription :: Prelude.Maybe Prelude.Text,+ -- | Contact information for a Dataset owner.+ ownerInfo :: Prelude.Maybe DatasetOwnerInfo,+ -- | Definition for a schema on a tabular Dataset.+ schemaDefinition :: Prelude.Maybe SchemaUnion,+ -- | Display title for a FinSpace Dataset.+ datasetTitle :: Prelude.Text,+ -- | The format in which Dataset data is structured.+ --+ -- - @TABULAR@ – Data is structured in a tabular format.+ --+ -- - @NON_TABULAR@ – Data is structured in a non-tabular format.+ kind :: DatasetKind,+ -- | Permission group parameters for Dataset permissions.+ permissionGroupParams :: PermissionGroupParams+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateDataset' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'alias', 'createDataset_alias' - The unique resource identifier for a Dataset.+--+-- 'clientToken', 'createDataset_clientToken' - A token that ensures idempotency. This token expires in 10 minutes.+--+-- 'datasetDescription', 'createDataset_datasetDescription' - Description of a Dataset.+--+-- 'ownerInfo', 'createDataset_ownerInfo' - Contact information for a Dataset owner.+--+-- 'schemaDefinition', 'createDataset_schemaDefinition' - Definition for a schema on a tabular Dataset.+--+-- 'datasetTitle', 'createDataset_datasetTitle' - Display title for a FinSpace Dataset.+--+-- 'kind', 'createDataset_kind' - The format in which Dataset data is structured.+--+-- - @TABULAR@ – Data is structured in a tabular format.+--+-- - @NON_TABULAR@ – Data is structured in a non-tabular format.+--+-- 'permissionGroupParams', 'createDataset_permissionGroupParams' - Permission group parameters for Dataset permissions.+newCreateDataset ::+ -- | 'datasetTitle'+ Prelude.Text ->+ -- | 'kind'+ DatasetKind ->+ -- | 'permissionGroupParams'+ PermissionGroupParams ->+ CreateDataset+newCreateDataset+ pDatasetTitle_+ pKind_+ pPermissionGroupParams_ =+ CreateDataset'+ { alias = Prelude.Nothing,+ clientToken = Prelude.Nothing,+ datasetDescription = Prelude.Nothing,+ ownerInfo = Prelude.Nothing,+ schemaDefinition = Prelude.Nothing,+ datasetTitle = pDatasetTitle_,+ kind = pKind_,+ permissionGroupParams = pPermissionGroupParams_+ }++-- | The unique resource identifier for a Dataset.+createDataset_alias :: Lens.Lens' CreateDataset (Prelude.Maybe Prelude.Text)+createDataset_alias = Lens.lens (\CreateDataset' {alias} -> alias) (\s@CreateDataset' {} a -> s {alias = a} :: CreateDataset)++-- | A token that ensures idempotency. This token expires in 10 minutes.+createDataset_clientToken :: Lens.Lens' CreateDataset (Prelude.Maybe Prelude.Text)+createDataset_clientToken = Lens.lens (\CreateDataset' {clientToken} -> clientToken) (\s@CreateDataset' {} a -> s {clientToken = a} :: CreateDataset)++-- | Description of a Dataset.+createDataset_datasetDescription :: Lens.Lens' CreateDataset (Prelude.Maybe Prelude.Text)+createDataset_datasetDescription = Lens.lens (\CreateDataset' {datasetDescription} -> datasetDescription) (\s@CreateDataset' {} a -> s {datasetDescription = a} :: CreateDataset)++-- | Contact information for a Dataset owner.+createDataset_ownerInfo :: Lens.Lens' CreateDataset (Prelude.Maybe DatasetOwnerInfo)+createDataset_ownerInfo = Lens.lens (\CreateDataset' {ownerInfo} -> ownerInfo) (\s@CreateDataset' {} a -> s {ownerInfo = a} :: CreateDataset)++-- | Definition for a schema on a tabular Dataset.+createDataset_schemaDefinition :: Lens.Lens' CreateDataset (Prelude.Maybe SchemaUnion)+createDataset_schemaDefinition = Lens.lens (\CreateDataset' {schemaDefinition} -> schemaDefinition) (\s@CreateDataset' {} a -> s {schemaDefinition = a} :: CreateDataset)++-- | Display title for a FinSpace Dataset.+createDataset_datasetTitle :: Lens.Lens' CreateDataset Prelude.Text+createDataset_datasetTitle = Lens.lens (\CreateDataset' {datasetTitle} -> datasetTitle) (\s@CreateDataset' {} a -> s {datasetTitle = a} :: CreateDataset)++-- | The format in which Dataset data is structured.+--+-- - @TABULAR@ – Data is structured in a tabular format.+--+-- - @NON_TABULAR@ – Data is structured in a non-tabular format.+createDataset_kind :: Lens.Lens' CreateDataset DatasetKind+createDataset_kind = Lens.lens (\CreateDataset' {kind} -> kind) (\s@CreateDataset' {} a -> s {kind = a} :: CreateDataset)++-- | Permission group parameters for Dataset permissions.+createDataset_permissionGroupParams :: Lens.Lens' CreateDataset PermissionGroupParams+createDataset_permissionGroupParams = Lens.lens (\CreateDataset' {permissionGroupParams} -> permissionGroupParams) (\s@CreateDataset' {} a -> s {permissionGroupParams = a} :: CreateDataset)++instance Core.AWSRequest CreateDataset where+ type+ AWSResponse CreateDataset =+ CreateDatasetResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateDatasetResponse'+ Prelude.<$> (x Data..?> "datasetId")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateDataset where+ hashWithSalt _salt CreateDataset' {..} =+ _salt+ `Prelude.hashWithSalt` alias+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` datasetDescription+ `Prelude.hashWithSalt` ownerInfo+ `Prelude.hashWithSalt` schemaDefinition+ `Prelude.hashWithSalt` datasetTitle+ `Prelude.hashWithSalt` kind+ `Prelude.hashWithSalt` permissionGroupParams++instance Prelude.NFData CreateDataset where+ rnf CreateDataset' {..} =+ Prelude.rnf alias+ `Prelude.seq` Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf datasetDescription+ `Prelude.seq` Prelude.rnf ownerInfo+ `Prelude.seq` Prelude.rnf schemaDefinition+ `Prelude.seq` Prelude.rnf datasetTitle+ `Prelude.seq` Prelude.rnf kind+ `Prelude.seq` Prelude.rnf permissionGroupParams++instance Data.ToHeaders CreateDataset where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateDataset where+ toJSON CreateDataset' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("alias" Data..=) Prelude.<$> alias,+ ("clientToken" Data..=) Prelude.<$> clientToken,+ ("datasetDescription" Data..=)+ Prelude.<$> datasetDescription,+ ("ownerInfo" Data..=) Prelude.<$> ownerInfo,+ ("schemaDefinition" Data..=)+ Prelude.<$> schemaDefinition,+ Prelude.Just ("datasetTitle" Data..= datasetTitle),+ Prelude.Just ("kind" Data..= kind),+ Prelude.Just+ ( "permissionGroupParams"+ Data..= permissionGroupParams+ )+ ]+ )++instance Data.ToPath CreateDataset where+ toPath = Prelude.const "/datasetsv2"++instance Data.ToQuery CreateDataset where+ toQuery = Prelude.const Prelude.mempty++-- | The response from a CreateDataset operation+--+-- /See:/ 'newCreateDatasetResponse' smart constructor.+data CreateDatasetResponse = CreateDatasetResponse'+ { -- | The unique identifier for the created Dataset.+ datasetId :: 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 'CreateDatasetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'datasetId', 'createDatasetResponse_datasetId' - The unique identifier for the created Dataset.+--+-- 'httpStatus', 'createDatasetResponse_httpStatus' - The response's http status code.+newCreateDatasetResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateDatasetResponse+newCreateDatasetResponse pHttpStatus_ =+ CreateDatasetResponse'+ { datasetId = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The unique identifier for the created Dataset.+createDatasetResponse_datasetId :: Lens.Lens' CreateDatasetResponse (Prelude.Maybe Prelude.Text)+createDatasetResponse_datasetId = Lens.lens (\CreateDatasetResponse' {datasetId} -> datasetId) (\s@CreateDatasetResponse' {} a -> s {datasetId = a} :: CreateDatasetResponse)++-- | The response's http status code.+createDatasetResponse_httpStatus :: Lens.Lens' CreateDatasetResponse Prelude.Int+createDatasetResponse_httpStatus = Lens.lens (\CreateDatasetResponse' {httpStatus} -> httpStatus) (\s@CreateDatasetResponse' {} a -> s {httpStatus = a} :: CreateDatasetResponse)++instance Prelude.NFData CreateDatasetResponse where+ rnf CreateDatasetResponse' {..} =+ Prelude.rnf datasetId+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FinSpaceData/CreatePermissionGroup.hs view
@@ -0,0 +1,291 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FinSpaceData.CreatePermissionGroup+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a group of permissions for various actions that a user can+-- perform in FinSpace.+module Amazonka.FinSpaceData.CreatePermissionGroup+ ( -- * Creating a Request+ CreatePermissionGroup (..),+ newCreatePermissionGroup,++ -- * Request Lenses+ createPermissionGroup_clientToken,+ createPermissionGroup_description,+ createPermissionGroup_name,+ createPermissionGroup_applicationPermissions,++ -- * Destructuring the Response+ CreatePermissionGroupResponse (..),+ newCreatePermissionGroupResponse,++ -- * Response Lenses+ createPermissionGroupResponse_permissionGroupId,+ createPermissionGroupResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FinSpaceData.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreatePermissionGroup' smart constructor.+data CreatePermissionGroup = CreatePermissionGroup'+ { -- | A token that ensures idempotency. This token expires in 10 minutes.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | A brief description for the permission group.+ description :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The name of the permission group.+ name :: Data.Sensitive Prelude.Text,+ -- | The option to indicate FinSpace application permissions that are granted+ -- to a specific group.+ --+ -- When assigning application permissions, be aware that the permission+ -- @ManageUsersAndGroups@ allows users to grant themselves or others access+ -- to any functionality in their FinSpace environment\'s application. It+ -- should only be granted to trusted users.+ --+ -- - @CreateDataset@ – Group members can create new datasets.+ --+ -- - @ManageClusters@ – Group members can manage Apache Spark clusters+ -- from FinSpace notebooks.+ --+ -- - @ManageUsersAndGroups@ – Group members can manage users and+ -- permission groups. This is a privileged permission that allows users+ -- to grant themselves or others access to any functionality in the+ -- application. It should only be granted to trusted users.+ --+ -- - @ManageAttributeSets@ – Group members can manage attribute sets.+ --+ -- - @ViewAuditData@ – Group members can view audit data.+ --+ -- - @AccessNotebooks@ – Group members will have access to FinSpace+ -- notebooks.+ --+ -- - @GetTemporaryCredentials@ – Group members can get temporary API+ -- credentials.+ applicationPermissions :: [ApplicationPermission]+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreatePermissionGroup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createPermissionGroup_clientToken' - A token that ensures idempotency. This token expires in 10 minutes.+--+-- 'description', 'createPermissionGroup_description' - A brief description for the permission group.+--+-- 'name', 'createPermissionGroup_name' - The name of the permission group.+--+-- 'applicationPermissions', 'createPermissionGroup_applicationPermissions' - The option to indicate FinSpace application permissions that are granted+-- to a specific group.+--+-- When assigning application permissions, be aware that the permission+-- @ManageUsersAndGroups@ allows users to grant themselves or others access+-- to any functionality in their FinSpace environment\'s application. It+-- should only be granted to trusted users.+--+-- - @CreateDataset@ – Group members can create new datasets.+--+-- - @ManageClusters@ – Group members can manage Apache Spark clusters+-- from FinSpace notebooks.+--+-- - @ManageUsersAndGroups@ – Group members can manage users and+-- permission groups. This is a privileged permission that allows users+-- to grant themselves or others access to any functionality in the+-- application. It should only be granted to trusted users.+--+-- - @ManageAttributeSets@ – Group members can manage attribute sets.+--+-- - @ViewAuditData@ – Group members can view audit data.+--+-- - @AccessNotebooks@ – Group members will have access to FinSpace+-- notebooks.+--+-- - @GetTemporaryCredentials@ – Group members can get temporary API+-- credentials.+newCreatePermissionGroup ::+ -- | 'name'+ Prelude.Text ->+ CreatePermissionGroup+newCreatePermissionGroup pName_ =+ CreatePermissionGroup'+ { clientToken =+ Prelude.Nothing,+ description = Prelude.Nothing,+ name = Data._Sensitive Lens.# pName_,+ applicationPermissions = Prelude.mempty+ }++-- | A token that ensures idempotency. This token expires in 10 minutes.+createPermissionGroup_clientToken :: Lens.Lens' CreatePermissionGroup (Prelude.Maybe Prelude.Text)+createPermissionGroup_clientToken = Lens.lens (\CreatePermissionGroup' {clientToken} -> clientToken) (\s@CreatePermissionGroup' {} a -> s {clientToken = a} :: CreatePermissionGroup)++-- | A brief description for the permission group.+createPermissionGroup_description :: Lens.Lens' CreatePermissionGroup (Prelude.Maybe Prelude.Text)+createPermissionGroup_description = Lens.lens (\CreatePermissionGroup' {description} -> description) (\s@CreatePermissionGroup' {} a -> s {description = a} :: CreatePermissionGroup) Prelude.. Lens.mapping Data._Sensitive++-- | The name of the permission group.+createPermissionGroup_name :: Lens.Lens' CreatePermissionGroup Prelude.Text+createPermissionGroup_name = Lens.lens (\CreatePermissionGroup' {name} -> name) (\s@CreatePermissionGroup' {} a -> s {name = a} :: CreatePermissionGroup) Prelude.. Data._Sensitive++-- | The option to indicate FinSpace application permissions that are granted+-- to a specific group.+--+-- When assigning application permissions, be aware that the permission+-- @ManageUsersAndGroups@ allows users to grant themselves or others access+-- to any functionality in their FinSpace environment\'s application. It+-- should only be granted to trusted users.+--+-- - @CreateDataset@ – Group members can create new datasets.+--+-- - @ManageClusters@ – Group members can manage Apache Spark clusters+-- from FinSpace notebooks.+--+-- - @ManageUsersAndGroups@ – Group members can manage users and+-- permission groups. This is a privileged permission that allows users+-- to grant themselves or others access to any functionality in the+-- application. It should only be granted to trusted users.+--+-- - @ManageAttributeSets@ – Group members can manage attribute sets.+--+-- - @ViewAuditData@ – Group members can view audit data.+--+-- - @AccessNotebooks@ – Group members will have access to FinSpace+-- notebooks.+--+-- - @GetTemporaryCredentials@ – Group members can get temporary API+-- credentials.+createPermissionGroup_applicationPermissions :: Lens.Lens' CreatePermissionGroup [ApplicationPermission]+createPermissionGroup_applicationPermissions = Lens.lens (\CreatePermissionGroup' {applicationPermissions} -> applicationPermissions) (\s@CreatePermissionGroup' {} a -> s {applicationPermissions = a} :: CreatePermissionGroup) Prelude.. Lens.coerced++instance Core.AWSRequest CreatePermissionGroup where+ type+ AWSResponse CreatePermissionGroup =+ CreatePermissionGroupResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreatePermissionGroupResponse'+ Prelude.<$> (x Data..?> "permissionGroupId")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreatePermissionGroup where+ hashWithSalt _salt CreatePermissionGroup' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` applicationPermissions++instance Prelude.NFData CreatePermissionGroup where+ rnf CreatePermissionGroup' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf applicationPermissions++instance Data.ToHeaders CreatePermissionGroup where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreatePermissionGroup where+ toJSON CreatePermissionGroup' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("clientToken" Data..=) Prelude.<$> clientToken,+ ("description" Data..=) Prelude.<$> description,+ Prelude.Just ("name" Data..= name),+ Prelude.Just+ ( "applicationPermissions"+ Data..= applicationPermissions+ )+ ]+ )++instance Data.ToPath CreatePermissionGroup where+ toPath = Prelude.const "/permission-group"++instance Data.ToQuery CreatePermissionGroup where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreatePermissionGroupResponse' smart constructor.+data CreatePermissionGroupResponse = CreatePermissionGroupResponse'+ { -- | The unique identifier for the permission group.+ permissionGroupId :: 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 'CreatePermissionGroupResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'permissionGroupId', 'createPermissionGroupResponse_permissionGroupId' - The unique identifier for the permission group.+--+-- 'httpStatus', 'createPermissionGroupResponse_httpStatus' - The response's http status code.+newCreatePermissionGroupResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreatePermissionGroupResponse+newCreatePermissionGroupResponse pHttpStatus_ =+ CreatePermissionGroupResponse'+ { permissionGroupId =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The unique identifier for the permission group.+createPermissionGroupResponse_permissionGroupId :: Lens.Lens' CreatePermissionGroupResponse (Prelude.Maybe Prelude.Text)+createPermissionGroupResponse_permissionGroupId = Lens.lens (\CreatePermissionGroupResponse' {permissionGroupId} -> permissionGroupId) (\s@CreatePermissionGroupResponse' {} a -> s {permissionGroupId = a} :: CreatePermissionGroupResponse)++-- | The response's http status code.+createPermissionGroupResponse_httpStatus :: Lens.Lens' CreatePermissionGroupResponse Prelude.Int+createPermissionGroupResponse_httpStatus = Lens.lens (\CreatePermissionGroupResponse' {httpStatus} -> httpStatus) (\s@CreatePermissionGroupResponse' {} a -> s {httpStatus = a} :: CreatePermissionGroupResponse)++instance Prelude.NFData CreatePermissionGroupResponse where+ rnf CreatePermissionGroupResponse' {..} =+ Prelude.rnf permissionGroupId+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FinSpaceData/CreateUser.hs view
@@ -0,0 +1,301 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FinSpaceData.CreateUser+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a new user in FinSpace.+module Amazonka.FinSpaceData.CreateUser+ ( -- * Creating a Request+ CreateUser (..),+ newCreateUser,++ -- * Request Lenses+ createUser_apiAccess,+ createUser_apiAccessPrincipalArn,+ createUser_clientToken,+ createUser_firstName,+ createUser_lastName,+ createUser_emailAddress,+ createUser_type,++ -- * Destructuring the Response+ CreateUserResponse (..),+ newCreateUserResponse,++ -- * Response Lenses+ createUserResponse_userId,+ createUserResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FinSpaceData.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateUser' smart constructor.+data CreateUser = CreateUser'+ { -- | The option to indicate whether the user can use the+ -- @GetProgrammaticAccessCredentials@ API to obtain credentials that can+ -- then be used to access other FinSpace Data API operations.+ --+ -- - @ENABLED@ – The user has permissions to use the APIs.+ --+ -- - @DISABLED@ – The user does not have permissions to use any APIs.+ apiAccess :: Prelude.Maybe ApiAccess,+ -- | The ARN identifier of an AWS user or role that is allowed to call the+ -- @GetProgrammaticAccessCredentials@ API to obtain a credentials token for+ -- a specific FinSpace user. This must be an IAM role within your FinSpace+ -- account.+ apiAccessPrincipalArn :: Prelude.Maybe Prelude.Text,+ -- | A token that ensures idempotency. This token expires in 10 minutes.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The first name of the user that you want to register.+ firstName :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The last name of the user that you want to register.+ lastName :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The email address of the user that you want to register. The email+ -- address serves as a uniquer identifier for each user and cannot be+ -- changed after it\'s created.+ emailAddress :: Data.Sensitive Prelude.Text,+ -- | The option to indicate the type of user. Use one of the following+ -- options to specify this parameter:+ --+ -- - @SUPER_USER@ – A user with permission to all the functionality and+ -- data in FinSpace.+ --+ -- - @APP_USER@ – A user with specific permissions in FinSpace. The users+ -- are assigned permissions by adding them to a permission group.+ type' :: UserType+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateUser' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'apiAccess', 'createUser_apiAccess' - The option to indicate whether the user can use the+-- @GetProgrammaticAccessCredentials@ API to obtain credentials that can+-- then be used to access other FinSpace Data API operations.+--+-- - @ENABLED@ – The user has permissions to use the APIs.+--+-- - @DISABLED@ – The user does not have permissions to use any APIs.+--+-- 'apiAccessPrincipalArn', 'createUser_apiAccessPrincipalArn' - The ARN identifier of an AWS user or role that is allowed to call the+-- @GetProgrammaticAccessCredentials@ API to obtain a credentials token for+-- a specific FinSpace user. This must be an IAM role within your FinSpace+-- account.+--+-- 'clientToken', 'createUser_clientToken' - A token that ensures idempotency. This token expires in 10 minutes.+--+-- 'firstName', 'createUser_firstName' - The first name of the user that you want to register.+--+-- 'lastName', 'createUser_lastName' - The last name of the user that you want to register.+--+-- 'emailAddress', 'createUser_emailAddress' - The email address of the user that you want to register. The email+-- address serves as a uniquer identifier for each user and cannot be+-- changed after it\'s created.+--+-- 'type'', 'createUser_type' - The option to indicate the type of user. Use one of the following+-- options to specify this parameter:+--+-- - @SUPER_USER@ – A user with permission to all the functionality and+-- data in FinSpace.+--+-- - @APP_USER@ – A user with specific permissions in FinSpace. The users+-- are assigned permissions by adding them to a permission group.+newCreateUser ::+ -- | 'emailAddress'+ Prelude.Text ->+ -- | 'type''+ UserType ->+ CreateUser+newCreateUser pEmailAddress_ pType_ =+ CreateUser'+ { apiAccess = Prelude.Nothing,+ apiAccessPrincipalArn = Prelude.Nothing,+ clientToken = Prelude.Nothing,+ firstName = Prelude.Nothing,+ lastName = Prelude.Nothing,+ emailAddress = Data._Sensitive Lens.# pEmailAddress_,+ type' = pType_+ }++-- | The option to indicate whether the user can use the+-- @GetProgrammaticAccessCredentials@ API to obtain credentials that can+-- then be used to access other FinSpace Data API operations.+--+-- - @ENABLED@ – The user has permissions to use the APIs.+--+-- - @DISABLED@ – The user does not have permissions to use any APIs.+createUser_apiAccess :: Lens.Lens' CreateUser (Prelude.Maybe ApiAccess)+createUser_apiAccess = Lens.lens (\CreateUser' {apiAccess} -> apiAccess) (\s@CreateUser' {} a -> s {apiAccess = a} :: CreateUser)++-- | The ARN identifier of an AWS user or role that is allowed to call the+-- @GetProgrammaticAccessCredentials@ API to obtain a credentials token for+-- a specific FinSpace user. This must be an IAM role within your FinSpace+-- account.+createUser_apiAccessPrincipalArn :: Lens.Lens' CreateUser (Prelude.Maybe Prelude.Text)+createUser_apiAccessPrincipalArn = Lens.lens (\CreateUser' {apiAccessPrincipalArn} -> apiAccessPrincipalArn) (\s@CreateUser' {} a -> s {apiAccessPrincipalArn = a} :: CreateUser)++-- | A token that ensures idempotency. This token expires in 10 minutes.+createUser_clientToken :: Lens.Lens' CreateUser (Prelude.Maybe Prelude.Text)+createUser_clientToken = Lens.lens (\CreateUser' {clientToken} -> clientToken) (\s@CreateUser' {} a -> s {clientToken = a} :: CreateUser)++-- | The first name of the user that you want to register.+createUser_firstName :: Lens.Lens' CreateUser (Prelude.Maybe Prelude.Text)+createUser_firstName = Lens.lens (\CreateUser' {firstName} -> firstName) (\s@CreateUser' {} a -> s {firstName = a} :: CreateUser) Prelude.. Lens.mapping Data._Sensitive++-- | The last name of the user that you want to register.+createUser_lastName :: Lens.Lens' CreateUser (Prelude.Maybe Prelude.Text)+createUser_lastName = Lens.lens (\CreateUser' {lastName} -> lastName) (\s@CreateUser' {} a -> s {lastName = a} :: CreateUser) Prelude.. Lens.mapping Data._Sensitive++-- | The email address of the user that you want to register. The email+-- address serves as a uniquer identifier for each user and cannot be+-- changed after it\'s created.+createUser_emailAddress :: Lens.Lens' CreateUser Prelude.Text+createUser_emailAddress = Lens.lens (\CreateUser' {emailAddress} -> emailAddress) (\s@CreateUser' {} a -> s {emailAddress = a} :: CreateUser) Prelude.. Data._Sensitive++-- | The option to indicate the type of user. Use one of the following+-- options to specify this parameter:+--+-- - @SUPER_USER@ – A user with permission to all the functionality and+-- data in FinSpace.+--+-- - @APP_USER@ – A user with specific permissions in FinSpace. The users+-- are assigned permissions by adding them to a permission group.+createUser_type :: Lens.Lens' CreateUser UserType+createUser_type = Lens.lens (\CreateUser' {type'} -> type') (\s@CreateUser' {} a -> s {type' = a} :: CreateUser)++instance Core.AWSRequest CreateUser where+ type AWSResponse CreateUser = CreateUserResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateUserResponse'+ Prelude.<$> (x Data..?> "userId")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateUser where+ hashWithSalt _salt CreateUser' {..} =+ _salt+ `Prelude.hashWithSalt` apiAccess+ `Prelude.hashWithSalt` apiAccessPrincipalArn+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` firstName+ `Prelude.hashWithSalt` lastName+ `Prelude.hashWithSalt` emailAddress+ `Prelude.hashWithSalt` type'++instance Prelude.NFData CreateUser where+ rnf CreateUser' {..} =+ Prelude.rnf apiAccess+ `Prelude.seq` Prelude.rnf apiAccessPrincipalArn+ `Prelude.seq` Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf firstName+ `Prelude.seq` Prelude.rnf lastName+ `Prelude.seq` Prelude.rnf emailAddress+ `Prelude.seq` Prelude.rnf type'++instance Data.ToHeaders CreateUser where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateUser where+ toJSON CreateUser' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("ApiAccess" Data..=) Prelude.<$> apiAccess,+ ("apiAccessPrincipalArn" Data..=)+ Prelude.<$> apiAccessPrincipalArn,+ ("clientToken" Data..=) Prelude.<$> clientToken,+ ("firstName" Data..=) Prelude.<$> firstName,+ ("lastName" Data..=) Prelude.<$> lastName,+ Prelude.Just ("emailAddress" Data..= emailAddress),+ Prelude.Just ("type" Data..= type')+ ]+ )++instance Data.ToPath CreateUser where+ toPath = Prelude.const "/user"++instance Data.ToQuery CreateUser where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateUserResponse' smart constructor.+data CreateUserResponse = CreateUserResponse'+ { -- | The unique identifier for the user.+ userId :: 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 'CreateUserResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'userId', 'createUserResponse_userId' - The unique identifier for the user.+--+-- 'httpStatus', 'createUserResponse_httpStatus' - The response's http status code.+newCreateUserResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateUserResponse+newCreateUserResponse pHttpStatus_ =+ CreateUserResponse'+ { userId = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The unique identifier for the user.+createUserResponse_userId :: Lens.Lens' CreateUserResponse (Prelude.Maybe Prelude.Text)+createUserResponse_userId = Lens.lens (\CreateUserResponse' {userId} -> userId) (\s@CreateUserResponse' {} a -> s {userId = a} :: CreateUserResponse)++-- | The response's http status code.+createUserResponse_httpStatus :: Lens.Lens' CreateUserResponse Prelude.Int+createUserResponse_httpStatus = Lens.lens (\CreateUserResponse' {httpStatus} -> httpStatus) (\s@CreateUserResponse' {} a -> s {httpStatus = a} :: CreateUserResponse)++instance Prelude.NFData CreateUserResponse where+ rnf CreateUserResponse' {..} =+ Prelude.rnf userId+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FinSpaceData/DeleteDataset.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.FinSpaceData.DeleteDataset+-- 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 FinSpace Dataset.+module Amazonka.FinSpaceData.DeleteDataset+ ( -- * Creating a Request+ DeleteDataset (..),+ newDeleteDataset,++ -- * Request Lenses+ deleteDataset_clientToken,+ deleteDataset_datasetId,++ -- * Destructuring the Response+ DeleteDatasetResponse (..),+ newDeleteDatasetResponse,++ -- * Response Lenses+ deleteDatasetResponse_datasetId,+ deleteDatasetResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FinSpaceData.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | The request for a DeleteDataset operation.+--+-- /See:/ 'newDeleteDataset' smart constructor.+data DeleteDataset = DeleteDataset'+ { -- | A token that ensures idempotency. This token expires in 10 minutes.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier of the Dataset to be deleted.+ datasetId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteDataset' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteDataset_clientToken' - A token that ensures idempotency. This token expires in 10 minutes.+--+-- 'datasetId', 'deleteDataset_datasetId' - The unique identifier of the Dataset to be deleted.+newDeleteDataset ::+ -- | 'datasetId'+ Prelude.Text ->+ DeleteDataset+newDeleteDataset pDatasetId_ =+ DeleteDataset'+ { clientToken = Prelude.Nothing,+ datasetId = pDatasetId_+ }++-- | A token that ensures idempotency. This token expires in 10 minutes.+deleteDataset_clientToken :: Lens.Lens' DeleteDataset (Prelude.Maybe Prelude.Text)+deleteDataset_clientToken = Lens.lens (\DeleteDataset' {clientToken} -> clientToken) (\s@DeleteDataset' {} a -> s {clientToken = a} :: DeleteDataset)++-- | The unique identifier of the Dataset to be deleted.+deleteDataset_datasetId :: Lens.Lens' DeleteDataset Prelude.Text+deleteDataset_datasetId = Lens.lens (\DeleteDataset' {datasetId} -> datasetId) (\s@DeleteDataset' {} a -> s {datasetId = a} :: DeleteDataset)++instance Core.AWSRequest DeleteDataset where+ type+ AWSResponse DeleteDataset =+ DeleteDatasetResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DeleteDatasetResponse'+ Prelude.<$> (x Data..?> "datasetId")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteDataset where+ hashWithSalt _salt DeleteDataset' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` datasetId++instance Prelude.NFData DeleteDataset where+ rnf DeleteDataset' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf datasetId++instance Data.ToHeaders DeleteDataset where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DeleteDataset where+ toPath DeleteDataset' {..} =+ Prelude.mconcat+ ["/datasetsv2/", Data.toBS datasetId]++instance Data.ToQuery DeleteDataset where+ toQuery DeleteDataset' {..} =+ Prelude.mconcat ["clientToken" Data.=: clientToken]++-- | The response from an DeleteDataset operation+--+-- /See:/ 'newDeleteDatasetResponse' smart constructor.+data DeleteDatasetResponse = DeleteDatasetResponse'+ { -- | The unique identifier for the deleted Dataset.+ datasetId :: 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 'DeleteDatasetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'datasetId', 'deleteDatasetResponse_datasetId' - The unique identifier for the deleted Dataset.+--+-- 'httpStatus', 'deleteDatasetResponse_httpStatus' - The response's http status code.+newDeleteDatasetResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteDatasetResponse+newDeleteDatasetResponse pHttpStatus_ =+ DeleteDatasetResponse'+ { datasetId = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The unique identifier for the deleted Dataset.+deleteDatasetResponse_datasetId :: Lens.Lens' DeleteDatasetResponse (Prelude.Maybe Prelude.Text)+deleteDatasetResponse_datasetId = Lens.lens (\DeleteDatasetResponse' {datasetId} -> datasetId) (\s@DeleteDatasetResponse' {} a -> s {datasetId = a} :: DeleteDatasetResponse)++-- | The response's http status code.+deleteDatasetResponse_httpStatus :: Lens.Lens' DeleteDatasetResponse Prelude.Int+deleteDatasetResponse_httpStatus = Lens.lens (\DeleteDatasetResponse' {httpStatus} -> httpStatus) (\s@DeleteDatasetResponse' {} a -> s {httpStatus = a} :: DeleteDatasetResponse)++instance Prelude.NFData DeleteDatasetResponse where+ rnf DeleteDatasetResponse' {..} =+ Prelude.rnf datasetId+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FinSpaceData/DeletePermissionGroup.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.FinSpaceData.DeletePermissionGroup+-- 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 permission group. This action is irreversible.+module Amazonka.FinSpaceData.DeletePermissionGroup+ ( -- * Creating a Request+ DeletePermissionGroup (..),+ newDeletePermissionGroup,++ -- * Request Lenses+ deletePermissionGroup_clientToken,+ deletePermissionGroup_permissionGroupId,++ -- * Destructuring the Response+ DeletePermissionGroupResponse (..),+ newDeletePermissionGroupResponse,++ -- * Response Lenses+ deletePermissionGroupResponse_permissionGroupId,+ deletePermissionGroupResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FinSpaceData.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeletePermissionGroup' smart constructor.+data DeletePermissionGroup = DeletePermissionGroup'+ { -- | A token that ensures idempotency. This token expires in 10 minutes.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for the permission group that you want to delete.+ permissionGroupId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeletePermissionGroup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deletePermissionGroup_clientToken' - A token that ensures idempotency. This token expires in 10 minutes.+--+-- 'permissionGroupId', 'deletePermissionGroup_permissionGroupId' - The unique identifier for the permission group that you want to delete.+newDeletePermissionGroup ::+ -- | 'permissionGroupId'+ Prelude.Text ->+ DeletePermissionGroup+newDeletePermissionGroup pPermissionGroupId_ =+ DeletePermissionGroup'+ { clientToken =+ Prelude.Nothing,+ permissionGroupId = pPermissionGroupId_+ }++-- | A token that ensures idempotency. This token expires in 10 minutes.+deletePermissionGroup_clientToken :: Lens.Lens' DeletePermissionGroup (Prelude.Maybe Prelude.Text)+deletePermissionGroup_clientToken = Lens.lens (\DeletePermissionGroup' {clientToken} -> clientToken) (\s@DeletePermissionGroup' {} a -> s {clientToken = a} :: DeletePermissionGroup)++-- | The unique identifier for the permission group that you want to delete.+deletePermissionGroup_permissionGroupId :: Lens.Lens' DeletePermissionGroup Prelude.Text+deletePermissionGroup_permissionGroupId = Lens.lens (\DeletePermissionGroup' {permissionGroupId} -> permissionGroupId) (\s@DeletePermissionGroup' {} a -> s {permissionGroupId = a} :: DeletePermissionGroup)++instance Core.AWSRequest DeletePermissionGroup where+ type+ AWSResponse DeletePermissionGroup =+ DeletePermissionGroupResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DeletePermissionGroupResponse'+ Prelude.<$> (x Data..?> "permissionGroupId")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeletePermissionGroup where+ hashWithSalt _salt DeletePermissionGroup' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` permissionGroupId++instance Prelude.NFData DeletePermissionGroup where+ rnf DeletePermissionGroup' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf permissionGroupId++instance Data.ToHeaders DeletePermissionGroup where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DeletePermissionGroup where+ toPath DeletePermissionGroup' {..} =+ Prelude.mconcat+ ["/permission-group/", Data.toBS permissionGroupId]++instance Data.ToQuery DeletePermissionGroup where+ toQuery DeletePermissionGroup' {..} =+ Prelude.mconcat ["clientToken" Data.=: clientToken]++-- | /See:/ 'newDeletePermissionGroupResponse' smart constructor.+data DeletePermissionGroupResponse = DeletePermissionGroupResponse'+ { -- | The unique identifier for the deleted permission group.+ permissionGroupId :: 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 'DeletePermissionGroupResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'permissionGroupId', 'deletePermissionGroupResponse_permissionGroupId' - The unique identifier for the deleted permission group.+--+-- 'httpStatus', 'deletePermissionGroupResponse_httpStatus' - The response's http status code.+newDeletePermissionGroupResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeletePermissionGroupResponse+newDeletePermissionGroupResponse pHttpStatus_ =+ DeletePermissionGroupResponse'+ { permissionGroupId =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The unique identifier for the deleted permission group.+deletePermissionGroupResponse_permissionGroupId :: Lens.Lens' DeletePermissionGroupResponse (Prelude.Maybe Prelude.Text)+deletePermissionGroupResponse_permissionGroupId = Lens.lens (\DeletePermissionGroupResponse' {permissionGroupId} -> permissionGroupId) (\s@DeletePermissionGroupResponse' {} a -> s {permissionGroupId = a} :: DeletePermissionGroupResponse)++-- | The response's http status code.+deletePermissionGroupResponse_httpStatus :: Lens.Lens' DeletePermissionGroupResponse Prelude.Int+deletePermissionGroupResponse_httpStatus = Lens.lens (\DeletePermissionGroupResponse' {httpStatus} -> httpStatus) (\s@DeletePermissionGroupResponse' {} a -> s {httpStatus = a} :: DeletePermissionGroupResponse)++instance Prelude.NFData DeletePermissionGroupResponse where+ rnf DeletePermissionGroupResponse' {..} =+ Prelude.rnf permissionGroupId+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FinSpaceData/DisableUser.hs view
@@ -0,0 +1,180 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FinSpaceData.DisableUser+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Denies access to the FinSpace web application and API for the specified+-- user.+module Amazonka.FinSpaceData.DisableUser+ ( -- * Creating a Request+ DisableUser (..),+ newDisableUser,++ -- * Request Lenses+ disableUser_clientToken,+ disableUser_userId,++ -- * Destructuring the Response+ DisableUserResponse (..),+ newDisableUserResponse,++ -- * Response Lenses+ disableUserResponse_userId,+ disableUserResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FinSpaceData.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDisableUser' smart constructor.+data DisableUser = DisableUser'+ { -- | A token that ensures idempotency. This token expires in 10 minutes.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for the user account that you want to disable.+ userId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisableUser' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'disableUser_clientToken' - A token that ensures idempotency. This token expires in 10 minutes.+--+-- 'userId', 'disableUser_userId' - The unique identifier for the user account that you want to disable.+newDisableUser ::+ -- | 'userId'+ Prelude.Text ->+ DisableUser+newDisableUser pUserId_ =+ DisableUser'+ { clientToken = Prelude.Nothing,+ userId = pUserId_+ }++-- | A token that ensures idempotency. This token expires in 10 minutes.+disableUser_clientToken :: Lens.Lens' DisableUser (Prelude.Maybe Prelude.Text)+disableUser_clientToken = Lens.lens (\DisableUser' {clientToken} -> clientToken) (\s@DisableUser' {} a -> s {clientToken = a} :: DisableUser)++-- | The unique identifier for the user account that you want to disable.+disableUser_userId :: Lens.Lens' DisableUser Prelude.Text+disableUser_userId = Lens.lens (\DisableUser' {userId} -> userId) (\s@DisableUser' {} a -> s {userId = a} :: DisableUser)++instance Core.AWSRequest DisableUser where+ type AWSResponse DisableUser = DisableUserResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DisableUserResponse'+ Prelude.<$> (x Data..?> "userId")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DisableUser where+ hashWithSalt _salt DisableUser' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` userId++instance Prelude.NFData DisableUser where+ rnf DisableUser' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf userId++instance Data.ToHeaders DisableUser where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DisableUser where+ toJSON DisableUser' {..} =+ Data.object+ ( Prelude.catMaybes+ [("clientToken" Data..=) Prelude.<$> clientToken]+ )++instance Data.ToPath DisableUser where+ toPath DisableUser' {..} =+ Prelude.mconcat+ ["/user/", Data.toBS userId, "/disable"]++instance Data.ToQuery DisableUser where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDisableUserResponse' smart constructor.+data DisableUserResponse = DisableUserResponse'+ { -- | The unique identifier for the disabled user account.+ userId :: 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 'DisableUserResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'userId', 'disableUserResponse_userId' - The unique identifier for the disabled user account.+--+-- 'httpStatus', 'disableUserResponse_httpStatus' - The response's http status code.+newDisableUserResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DisableUserResponse+newDisableUserResponse pHttpStatus_ =+ DisableUserResponse'+ { userId = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The unique identifier for the disabled user account.+disableUserResponse_userId :: Lens.Lens' DisableUserResponse (Prelude.Maybe Prelude.Text)+disableUserResponse_userId = Lens.lens (\DisableUserResponse' {userId} -> userId) (\s@DisableUserResponse' {} a -> s {userId = a} :: DisableUserResponse)++-- | The response's http status code.+disableUserResponse_httpStatus :: Lens.Lens' DisableUserResponse Prelude.Int+disableUserResponse_httpStatus = Lens.lens (\DisableUserResponse' {httpStatus} -> httpStatus) (\s@DisableUserResponse' {} a -> s {httpStatus = a} :: DisableUserResponse)++instance Prelude.NFData DisableUserResponse where+ rnf DisableUserResponse' {..} =+ Prelude.rnf userId+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FinSpaceData/DisassociateUserFromPermissionGroup.hs view
@@ -0,0 +1,210 @@+{-# 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.FinSpaceData.DisassociateUserFromPermissionGroup+-- 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 user account from a permission group.+module Amazonka.FinSpaceData.DisassociateUserFromPermissionGroup+ ( -- * Creating a Request+ DisassociateUserFromPermissionGroup (..),+ newDisassociateUserFromPermissionGroup,++ -- * Request Lenses+ disassociateUserFromPermissionGroup_clientToken,+ disassociateUserFromPermissionGroup_permissionGroupId,+ disassociateUserFromPermissionGroup_userId,++ -- * Destructuring the Response+ DisassociateUserFromPermissionGroupResponse (..),+ newDisassociateUserFromPermissionGroupResponse,++ -- * Response Lenses+ disassociateUserFromPermissionGroupResponse_statusCode,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FinSpaceData.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDisassociateUserFromPermissionGroup' smart constructor.+data DisassociateUserFromPermissionGroup = DisassociateUserFromPermissionGroup'+ { -- | A token that ensures idempotency. This token expires in 10 minutes.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for the permission group.+ permissionGroupId :: Prelude.Text,+ -- | The unique identifier for the user.+ userId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateUserFromPermissionGroup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'disassociateUserFromPermissionGroup_clientToken' - A token that ensures idempotency. This token expires in 10 minutes.+--+-- 'permissionGroupId', 'disassociateUserFromPermissionGroup_permissionGroupId' - The unique identifier for the permission group.+--+-- 'userId', 'disassociateUserFromPermissionGroup_userId' - The unique identifier for the user.+newDisassociateUserFromPermissionGroup ::+ -- | 'permissionGroupId'+ Prelude.Text ->+ -- | 'userId'+ Prelude.Text ->+ DisassociateUserFromPermissionGroup+newDisassociateUserFromPermissionGroup+ pPermissionGroupId_+ pUserId_ =+ DisassociateUserFromPermissionGroup'+ { clientToken =+ Prelude.Nothing,+ permissionGroupId =+ pPermissionGroupId_,+ userId = pUserId_+ }++-- | A token that ensures idempotency. This token expires in 10 minutes.+disassociateUserFromPermissionGroup_clientToken :: Lens.Lens' DisassociateUserFromPermissionGroup (Prelude.Maybe Prelude.Text)+disassociateUserFromPermissionGroup_clientToken = Lens.lens (\DisassociateUserFromPermissionGroup' {clientToken} -> clientToken) (\s@DisassociateUserFromPermissionGroup' {} a -> s {clientToken = a} :: DisassociateUserFromPermissionGroup)++-- | The unique identifier for the permission group.+disassociateUserFromPermissionGroup_permissionGroupId :: Lens.Lens' DisassociateUserFromPermissionGroup Prelude.Text+disassociateUserFromPermissionGroup_permissionGroupId = Lens.lens (\DisassociateUserFromPermissionGroup' {permissionGroupId} -> permissionGroupId) (\s@DisassociateUserFromPermissionGroup' {} a -> s {permissionGroupId = a} :: DisassociateUserFromPermissionGroup)++-- | The unique identifier for the user.+disassociateUserFromPermissionGroup_userId :: Lens.Lens' DisassociateUserFromPermissionGroup Prelude.Text+disassociateUserFromPermissionGroup_userId = Lens.lens (\DisassociateUserFromPermissionGroup' {userId} -> userId) (\s@DisassociateUserFromPermissionGroup' {} a -> s {userId = a} :: DisassociateUserFromPermissionGroup)++instance+ Core.AWSRequest+ DisassociateUserFromPermissionGroup+ where+ type+ AWSResponse DisassociateUserFromPermissionGroup =+ DisassociateUserFromPermissionGroupResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DisassociateUserFromPermissionGroupResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ DisassociateUserFromPermissionGroup+ where+ hashWithSalt+ _salt+ DisassociateUserFromPermissionGroup' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` permissionGroupId+ `Prelude.hashWithSalt` userId++instance+ Prelude.NFData+ DisassociateUserFromPermissionGroup+ where+ rnf DisassociateUserFromPermissionGroup' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf permissionGroupId+ `Prelude.seq` Prelude.rnf userId++instance+ Data.ToHeaders+ DisassociateUserFromPermissionGroup+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToPath+ DisassociateUserFromPermissionGroup+ where+ toPath DisassociateUserFromPermissionGroup' {..} =+ Prelude.mconcat+ [ "/permission-group/",+ Data.toBS permissionGroupId,+ "/users/",+ Data.toBS userId+ ]++instance+ Data.ToQuery+ DisassociateUserFromPermissionGroup+ where+ toQuery DisassociateUserFromPermissionGroup' {..} =+ Prelude.mconcat ["clientToken" Data.=: clientToken]++-- | /See:/ 'newDisassociateUserFromPermissionGroupResponse' smart constructor.+data DisassociateUserFromPermissionGroupResponse = DisassociateUserFromPermissionGroupResponse'+ { -- | The returned status code of the response.+ statusCode :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateUserFromPermissionGroupResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'statusCode', 'disassociateUserFromPermissionGroupResponse_statusCode' - The returned status code of the response.+newDisassociateUserFromPermissionGroupResponse ::+ -- | 'statusCode'+ Prelude.Int ->+ DisassociateUserFromPermissionGroupResponse+newDisassociateUserFromPermissionGroupResponse+ pStatusCode_ =+ DisassociateUserFromPermissionGroupResponse'+ { statusCode =+ pStatusCode_+ }++-- | The returned status code of the response.+disassociateUserFromPermissionGroupResponse_statusCode :: Lens.Lens' DisassociateUserFromPermissionGroupResponse Prelude.Int+disassociateUserFromPermissionGroupResponse_statusCode = Lens.lens (\DisassociateUserFromPermissionGroupResponse' {statusCode} -> statusCode) (\s@DisassociateUserFromPermissionGroupResponse' {} a -> s {statusCode = a} :: DisassociateUserFromPermissionGroupResponse)++instance+ Prelude.NFData+ DisassociateUserFromPermissionGroupResponse+ where+ rnf DisassociateUserFromPermissionGroupResponse' {..} =+ Prelude.rnf statusCode
+ gen/Amazonka/FinSpaceData/EnableUser.hs view
@@ -0,0 +1,180 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FinSpaceData.EnableUser+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Allows the specified user to access the FinSpace web application and+-- API.+module Amazonka.FinSpaceData.EnableUser+ ( -- * Creating a Request+ EnableUser (..),+ newEnableUser,++ -- * Request Lenses+ enableUser_clientToken,+ enableUser_userId,++ -- * Destructuring the Response+ EnableUserResponse (..),+ newEnableUserResponse,++ -- * Response Lenses+ enableUserResponse_userId,+ enableUserResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FinSpaceData.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newEnableUser' smart constructor.+data EnableUser = EnableUser'+ { -- | A token that ensures idempotency. This token expires in 10 minutes.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for the user account that you want to enable.+ userId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EnableUser' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'enableUser_clientToken' - A token that ensures idempotency. This token expires in 10 minutes.+--+-- 'userId', 'enableUser_userId' - The unique identifier for the user account that you want to enable.+newEnableUser ::+ -- | 'userId'+ Prelude.Text ->+ EnableUser+newEnableUser pUserId_ =+ EnableUser'+ { clientToken = Prelude.Nothing,+ userId = pUserId_+ }++-- | A token that ensures idempotency. This token expires in 10 minutes.+enableUser_clientToken :: Lens.Lens' EnableUser (Prelude.Maybe Prelude.Text)+enableUser_clientToken = Lens.lens (\EnableUser' {clientToken} -> clientToken) (\s@EnableUser' {} a -> s {clientToken = a} :: EnableUser)++-- | The unique identifier for the user account that you want to enable.+enableUser_userId :: Lens.Lens' EnableUser Prelude.Text+enableUser_userId = Lens.lens (\EnableUser' {userId} -> userId) (\s@EnableUser' {} a -> s {userId = a} :: EnableUser)++instance Core.AWSRequest EnableUser where+ type AWSResponse EnableUser = EnableUserResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ EnableUserResponse'+ Prelude.<$> (x Data..?> "userId")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable EnableUser where+ hashWithSalt _salt EnableUser' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` userId++instance Prelude.NFData EnableUser where+ rnf EnableUser' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf userId++instance Data.ToHeaders EnableUser where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON EnableUser where+ toJSON EnableUser' {..} =+ Data.object+ ( Prelude.catMaybes+ [("clientToken" Data..=) Prelude.<$> clientToken]+ )++instance Data.ToPath EnableUser where+ toPath EnableUser' {..} =+ Prelude.mconcat+ ["/user/", Data.toBS userId, "/enable"]++instance Data.ToQuery EnableUser where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newEnableUserResponse' smart constructor.+data EnableUserResponse = EnableUserResponse'+ { -- | The unique identifier for the enabled user account.+ userId :: 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 'EnableUserResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'userId', 'enableUserResponse_userId' - The unique identifier for the enabled user account.+--+-- 'httpStatus', 'enableUserResponse_httpStatus' - The response's http status code.+newEnableUserResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ EnableUserResponse+newEnableUserResponse pHttpStatus_ =+ EnableUserResponse'+ { userId = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The unique identifier for the enabled user account.+enableUserResponse_userId :: Lens.Lens' EnableUserResponse (Prelude.Maybe Prelude.Text)+enableUserResponse_userId = Lens.lens (\EnableUserResponse' {userId} -> userId) (\s@EnableUserResponse' {} a -> s {userId = a} :: EnableUserResponse)++-- | The response's http status code.+enableUserResponse_httpStatus :: Lens.Lens' EnableUserResponse Prelude.Int+enableUserResponse_httpStatus = Lens.lens (\EnableUserResponse' {httpStatus} -> httpStatus) (\s@EnableUserResponse' {} a -> s {httpStatus = a} :: EnableUserResponse)++instance Prelude.NFData EnableUserResponse where+ rnf EnableUserResponse' {..} =+ Prelude.rnf userId+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FinSpaceData/GetChangeset.hs view
@@ -0,0 +1,378 @@+{-# 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.FinSpaceData.GetChangeset+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Get information about a Changeset.+module Amazonka.FinSpaceData.GetChangeset+ ( -- * Creating a Request+ GetChangeset (..),+ newGetChangeset,++ -- * Request Lenses+ getChangeset_datasetId,+ getChangeset_changesetId,++ -- * Destructuring the Response+ GetChangesetResponse (..),+ newGetChangesetResponse,++ -- * Response Lenses+ getChangesetResponse_activeFromTimestamp,+ getChangesetResponse_activeUntilTimestamp,+ getChangesetResponse_changeType,+ getChangesetResponse_changesetArn,+ getChangesetResponse_changesetId,+ getChangesetResponse_createTime,+ getChangesetResponse_datasetId,+ getChangesetResponse_errorInfo,+ getChangesetResponse_formatParams,+ getChangesetResponse_sourceParams,+ getChangesetResponse_status,+ getChangesetResponse_updatedByChangesetId,+ getChangesetResponse_updatesChangesetId,+ getChangesetResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FinSpaceData.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | Request to describe a changeset.+--+-- /See:/ 'newGetChangeset' smart constructor.+data GetChangeset = GetChangeset'+ { -- | The unique identifier for the FinSpace Dataset where the Changeset is+ -- created.+ datasetId :: Prelude.Text,+ -- | The unique identifier of the Changeset for which to get data.+ changesetId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetChangeset' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'datasetId', 'getChangeset_datasetId' - The unique identifier for the FinSpace Dataset where the Changeset is+-- created.+--+-- 'changesetId', 'getChangeset_changesetId' - The unique identifier of the Changeset for which to get data.+newGetChangeset ::+ -- | 'datasetId'+ Prelude.Text ->+ -- | 'changesetId'+ Prelude.Text ->+ GetChangeset+newGetChangeset pDatasetId_ pChangesetId_ =+ GetChangeset'+ { datasetId = pDatasetId_,+ changesetId = pChangesetId_+ }++-- | The unique identifier for the FinSpace Dataset where the Changeset is+-- created.+getChangeset_datasetId :: Lens.Lens' GetChangeset Prelude.Text+getChangeset_datasetId = Lens.lens (\GetChangeset' {datasetId} -> datasetId) (\s@GetChangeset' {} a -> s {datasetId = a} :: GetChangeset)++-- | The unique identifier of the Changeset for which to get data.+getChangeset_changesetId :: Lens.Lens' GetChangeset Prelude.Text+getChangeset_changesetId = Lens.lens (\GetChangeset' {changesetId} -> changesetId) (\s@GetChangeset' {} a -> s {changesetId = a} :: GetChangeset)++instance Core.AWSRequest GetChangeset where+ type AWSResponse GetChangeset = GetChangesetResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetChangesetResponse'+ Prelude.<$> (x Data..?> "activeFromTimestamp")+ Prelude.<*> (x Data..?> "activeUntilTimestamp")+ Prelude.<*> (x Data..?> "changeType")+ Prelude.<*> (x Data..?> "changesetArn")+ Prelude.<*> (x Data..?> "changesetId")+ Prelude.<*> (x Data..?> "createTime")+ Prelude.<*> (x Data..?> "datasetId")+ Prelude.<*> (x Data..?> "errorInfo")+ Prelude.<*> (x Data..?> "formatParams" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "sourceParams" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "status")+ Prelude.<*> (x Data..?> "updatedByChangesetId")+ Prelude.<*> (x Data..?> "updatesChangesetId")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetChangeset where+ hashWithSalt _salt GetChangeset' {..} =+ _salt+ `Prelude.hashWithSalt` datasetId+ `Prelude.hashWithSalt` changesetId++instance Prelude.NFData GetChangeset where+ rnf GetChangeset' {..} =+ Prelude.rnf datasetId+ `Prelude.seq` Prelude.rnf changesetId++instance Data.ToHeaders GetChangeset where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetChangeset where+ toPath GetChangeset' {..} =+ Prelude.mconcat+ [ "/datasets/",+ Data.toBS datasetId,+ "/changesetsv2/",+ Data.toBS changesetId+ ]++instance Data.ToQuery GetChangeset where+ toQuery = Prelude.const Prelude.mempty++-- | The response from a describe changeset operation+--+-- /See:/ 'newGetChangesetResponse' smart constructor.+data GetChangesetResponse = GetChangesetResponse'+ { -- | Beginning time from which the Changeset is active. The value is+ -- determined as epoch time in milliseconds. For example, the value for+ -- Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.+ activeFromTimestamp :: Prelude.Maybe Prelude.Integer,+ -- | Time until which the Changeset is active. The value is determined as+ -- epoch time in milliseconds. For example, the value for Monday, November+ -- 1, 2021 12:00:00 PM UTC is specified as 1635768000000.+ activeUntilTimestamp :: Prelude.Maybe Prelude.Integer,+ -- | Type that indicates how a Changeset is applied to a Dataset.+ --+ -- - @REPLACE@ – Changeset is considered as a replacement to all prior+ -- loaded Changesets.+ --+ -- - @APPEND@ – Changeset is considered as an addition to the end of all+ -- prior loaded Changesets.+ --+ -- - @MODIFY@ – Changeset is considered as a replacement to a specific+ -- prior ingested Changeset.+ changeType :: Prelude.Maybe ChangeType,+ -- | The ARN identifier of the Changeset.+ changesetArn :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for a Changeset.+ changesetId :: Prelude.Maybe Prelude.Text,+ -- | The timestamp at which the Changeset was created in FinSpace. The value+ -- is determined as epoch time in milliseconds. For example, the value for+ -- Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.+ createTime :: Prelude.Maybe Prelude.Integer,+ -- | The unique identifier for the FinSpace Dataset where the Changeset is+ -- created.+ datasetId :: Prelude.Maybe Prelude.Text,+ -- | The structure with error messages.+ errorInfo :: Prelude.Maybe ChangesetErrorInfo,+ -- | Structure of the source file(s).+ formatParams :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | Options that define the location of the data being ingested.+ sourceParams :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The status of Changeset creation operation.+ status :: Prelude.Maybe IngestionStatus,+ -- | The unique identifier of the updated Changeset.+ updatedByChangesetId :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier of the Changeset that is being updated.+ updatesChangesetId :: 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 'GetChangesetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'activeFromTimestamp', 'getChangesetResponse_activeFromTimestamp' - Beginning time from which the Changeset is active. The value is+-- determined as epoch time in milliseconds. For example, the value for+-- Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.+--+-- 'activeUntilTimestamp', 'getChangesetResponse_activeUntilTimestamp' - Time until which the Changeset is active. The value is determined as+-- epoch time in milliseconds. For example, the value for Monday, November+-- 1, 2021 12:00:00 PM UTC is specified as 1635768000000.+--+-- 'changeType', 'getChangesetResponse_changeType' - Type that indicates how a Changeset is applied to a Dataset.+--+-- - @REPLACE@ – Changeset is considered as a replacement to all prior+-- loaded Changesets.+--+-- - @APPEND@ – Changeset is considered as an addition to the end of all+-- prior loaded Changesets.+--+-- - @MODIFY@ – Changeset is considered as a replacement to a specific+-- prior ingested Changeset.+--+-- 'changesetArn', 'getChangesetResponse_changesetArn' - The ARN identifier of the Changeset.+--+-- 'changesetId', 'getChangesetResponse_changesetId' - The unique identifier for a Changeset.+--+-- 'createTime', 'getChangesetResponse_createTime' - The timestamp at which the Changeset was created in FinSpace. The value+-- is determined as epoch time in milliseconds. For example, the value for+-- Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.+--+-- 'datasetId', 'getChangesetResponse_datasetId' - The unique identifier for the FinSpace Dataset where the Changeset is+-- created.+--+-- 'errorInfo', 'getChangesetResponse_errorInfo' - The structure with error messages.+--+-- 'formatParams', 'getChangesetResponse_formatParams' - Structure of the source file(s).+--+-- 'sourceParams', 'getChangesetResponse_sourceParams' - Options that define the location of the data being ingested.+--+-- 'status', 'getChangesetResponse_status' - The status of Changeset creation operation.+--+-- 'updatedByChangesetId', 'getChangesetResponse_updatedByChangesetId' - The unique identifier of the updated Changeset.+--+-- 'updatesChangesetId', 'getChangesetResponse_updatesChangesetId' - The unique identifier of the Changeset that is being updated.+--+-- 'httpStatus', 'getChangesetResponse_httpStatus' - The response's http status code.+newGetChangesetResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetChangesetResponse+newGetChangesetResponse pHttpStatus_ =+ GetChangesetResponse'+ { activeFromTimestamp =+ Prelude.Nothing,+ activeUntilTimestamp = Prelude.Nothing,+ changeType = Prelude.Nothing,+ changesetArn = Prelude.Nothing,+ changesetId = Prelude.Nothing,+ createTime = Prelude.Nothing,+ datasetId = Prelude.Nothing,+ errorInfo = Prelude.Nothing,+ formatParams = Prelude.Nothing,+ sourceParams = Prelude.Nothing,+ status = Prelude.Nothing,+ updatedByChangesetId = Prelude.Nothing,+ updatesChangesetId = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Beginning time from which the Changeset is active. The value is+-- determined as epoch time in milliseconds. For example, the value for+-- Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.+getChangesetResponse_activeFromTimestamp :: Lens.Lens' GetChangesetResponse (Prelude.Maybe Prelude.Integer)+getChangesetResponse_activeFromTimestamp = Lens.lens (\GetChangesetResponse' {activeFromTimestamp} -> activeFromTimestamp) (\s@GetChangesetResponse' {} a -> s {activeFromTimestamp = a} :: GetChangesetResponse)++-- | Time until which the Changeset is active. The value is determined as+-- epoch time in milliseconds. For example, the value for Monday, November+-- 1, 2021 12:00:00 PM UTC is specified as 1635768000000.+getChangesetResponse_activeUntilTimestamp :: Lens.Lens' GetChangesetResponse (Prelude.Maybe Prelude.Integer)+getChangesetResponse_activeUntilTimestamp = Lens.lens (\GetChangesetResponse' {activeUntilTimestamp} -> activeUntilTimestamp) (\s@GetChangesetResponse' {} a -> s {activeUntilTimestamp = a} :: GetChangesetResponse)++-- | Type that indicates how a Changeset is applied to a Dataset.+--+-- - @REPLACE@ – Changeset is considered as a replacement to all prior+-- loaded Changesets.+--+-- - @APPEND@ – Changeset is considered as an addition to the end of all+-- prior loaded Changesets.+--+-- - @MODIFY@ – Changeset is considered as a replacement to a specific+-- prior ingested Changeset.+getChangesetResponse_changeType :: Lens.Lens' GetChangesetResponse (Prelude.Maybe ChangeType)+getChangesetResponse_changeType = Lens.lens (\GetChangesetResponse' {changeType} -> changeType) (\s@GetChangesetResponse' {} a -> s {changeType = a} :: GetChangesetResponse)++-- | The ARN identifier of the Changeset.+getChangesetResponse_changesetArn :: Lens.Lens' GetChangesetResponse (Prelude.Maybe Prelude.Text)+getChangesetResponse_changesetArn = Lens.lens (\GetChangesetResponse' {changesetArn} -> changesetArn) (\s@GetChangesetResponse' {} a -> s {changesetArn = a} :: GetChangesetResponse)++-- | The unique identifier for a Changeset.+getChangesetResponse_changesetId :: Lens.Lens' GetChangesetResponse (Prelude.Maybe Prelude.Text)+getChangesetResponse_changesetId = Lens.lens (\GetChangesetResponse' {changesetId} -> changesetId) (\s@GetChangesetResponse' {} a -> s {changesetId = a} :: GetChangesetResponse)++-- | The timestamp at which the Changeset was created in FinSpace. The value+-- is determined as epoch time in milliseconds. For example, the value for+-- Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.+getChangesetResponse_createTime :: Lens.Lens' GetChangesetResponse (Prelude.Maybe Prelude.Integer)+getChangesetResponse_createTime = Lens.lens (\GetChangesetResponse' {createTime} -> createTime) (\s@GetChangesetResponse' {} a -> s {createTime = a} :: GetChangesetResponse)++-- | The unique identifier for the FinSpace Dataset where the Changeset is+-- created.+getChangesetResponse_datasetId :: Lens.Lens' GetChangesetResponse (Prelude.Maybe Prelude.Text)+getChangesetResponse_datasetId = Lens.lens (\GetChangesetResponse' {datasetId} -> datasetId) (\s@GetChangesetResponse' {} a -> s {datasetId = a} :: GetChangesetResponse)++-- | The structure with error messages.+getChangesetResponse_errorInfo :: Lens.Lens' GetChangesetResponse (Prelude.Maybe ChangesetErrorInfo)+getChangesetResponse_errorInfo = Lens.lens (\GetChangesetResponse' {errorInfo} -> errorInfo) (\s@GetChangesetResponse' {} a -> s {errorInfo = a} :: GetChangesetResponse)++-- | Structure of the source file(s).+getChangesetResponse_formatParams :: Lens.Lens' GetChangesetResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+getChangesetResponse_formatParams = Lens.lens (\GetChangesetResponse' {formatParams} -> formatParams) (\s@GetChangesetResponse' {} a -> s {formatParams = a} :: GetChangesetResponse) Prelude.. Lens.mapping Lens.coerced++-- | Options that define the location of the data being ingested.+getChangesetResponse_sourceParams :: Lens.Lens' GetChangesetResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+getChangesetResponse_sourceParams = Lens.lens (\GetChangesetResponse' {sourceParams} -> sourceParams) (\s@GetChangesetResponse' {} a -> s {sourceParams = a} :: GetChangesetResponse) Prelude.. Lens.mapping Lens.coerced++-- | The status of Changeset creation operation.+getChangesetResponse_status :: Lens.Lens' GetChangesetResponse (Prelude.Maybe IngestionStatus)+getChangesetResponse_status = Lens.lens (\GetChangesetResponse' {status} -> status) (\s@GetChangesetResponse' {} a -> s {status = a} :: GetChangesetResponse)++-- | The unique identifier of the updated Changeset.+getChangesetResponse_updatedByChangesetId :: Lens.Lens' GetChangesetResponse (Prelude.Maybe Prelude.Text)+getChangesetResponse_updatedByChangesetId = Lens.lens (\GetChangesetResponse' {updatedByChangesetId} -> updatedByChangesetId) (\s@GetChangesetResponse' {} a -> s {updatedByChangesetId = a} :: GetChangesetResponse)++-- | The unique identifier of the Changeset that is being updated.+getChangesetResponse_updatesChangesetId :: Lens.Lens' GetChangesetResponse (Prelude.Maybe Prelude.Text)+getChangesetResponse_updatesChangesetId = Lens.lens (\GetChangesetResponse' {updatesChangesetId} -> updatesChangesetId) (\s@GetChangesetResponse' {} a -> s {updatesChangesetId = a} :: GetChangesetResponse)++-- | The response's http status code.+getChangesetResponse_httpStatus :: Lens.Lens' GetChangesetResponse Prelude.Int+getChangesetResponse_httpStatus = Lens.lens (\GetChangesetResponse' {httpStatus} -> httpStatus) (\s@GetChangesetResponse' {} a -> s {httpStatus = a} :: GetChangesetResponse)++instance Prelude.NFData GetChangesetResponse where+ rnf GetChangesetResponse' {..} =+ Prelude.rnf activeFromTimestamp+ `Prelude.seq` Prelude.rnf activeUntilTimestamp+ `Prelude.seq` Prelude.rnf changeType+ `Prelude.seq` Prelude.rnf changesetArn+ `Prelude.seq` Prelude.rnf changesetId+ `Prelude.seq` Prelude.rnf createTime+ `Prelude.seq` Prelude.rnf datasetId+ `Prelude.seq` Prelude.rnf errorInfo+ `Prelude.seq` Prelude.rnf formatParams+ `Prelude.seq` Prelude.rnf sourceParams+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf updatedByChangesetId+ `Prelude.seq` Prelude.rnf updatesChangesetId+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FinSpaceData/GetDataView.hs view
@@ -0,0 +1,389 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FinSpaceData.GetDataView+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets information about a Dataview.+module Amazonka.FinSpaceData.GetDataView+ ( -- * Creating a Request+ GetDataView (..),+ newGetDataView,++ -- * Request Lenses+ getDataView_dataViewId,+ getDataView_datasetId,++ -- * Destructuring the Response+ GetDataViewResponse (..),+ newGetDataViewResponse,++ -- * Response Lenses+ getDataViewResponse_asOfTimestamp,+ getDataViewResponse_autoUpdate,+ getDataViewResponse_createTime,+ getDataViewResponse_dataViewArn,+ getDataViewResponse_dataViewId,+ getDataViewResponse_datasetId,+ getDataViewResponse_destinationTypeParams,+ getDataViewResponse_errorInfo,+ getDataViewResponse_lastModifiedTime,+ getDataViewResponse_partitionColumns,+ getDataViewResponse_sortColumns,+ getDataViewResponse_status,+ getDataViewResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FinSpaceData.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | Request for retrieving a data view detail. Grouped \/ accessible within+-- a dataset by its dataset id.+--+-- /See:/ 'newGetDataView' smart constructor.+data GetDataView = GetDataView'+ { -- | The unique identifier for the Dataview.+ dataViewId :: Prelude.Text,+ -- | The unique identifier for the Dataset used in the Dataview.+ datasetId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetDataView' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataViewId', 'getDataView_dataViewId' - The unique identifier for the Dataview.+--+-- 'datasetId', 'getDataView_datasetId' - The unique identifier for the Dataset used in the Dataview.+newGetDataView ::+ -- | 'dataViewId'+ Prelude.Text ->+ -- | 'datasetId'+ Prelude.Text ->+ GetDataView+newGetDataView pDataViewId_ pDatasetId_ =+ GetDataView'+ { dataViewId = pDataViewId_,+ datasetId = pDatasetId_+ }++-- | The unique identifier for the Dataview.+getDataView_dataViewId :: Lens.Lens' GetDataView Prelude.Text+getDataView_dataViewId = Lens.lens (\GetDataView' {dataViewId} -> dataViewId) (\s@GetDataView' {} a -> s {dataViewId = a} :: GetDataView)++-- | The unique identifier for the Dataset used in the Dataview.+getDataView_datasetId :: Lens.Lens' GetDataView Prelude.Text+getDataView_datasetId = Lens.lens (\GetDataView' {datasetId} -> datasetId) (\s@GetDataView' {} a -> s {datasetId = a} :: GetDataView)++instance Core.AWSRequest GetDataView where+ type AWSResponse GetDataView = GetDataViewResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetDataViewResponse'+ Prelude.<$> (x Data..?> "asOfTimestamp")+ Prelude.<*> (x Data..?> "autoUpdate")+ Prelude.<*> (x Data..?> "createTime")+ Prelude.<*> (x Data..?> "dataViewArn")+ Prelude.<*> (x Data..?> "dataViewId")+ Prelude.<*> (x Data..?> "datasetId")+ Prelude.<*> (x Data..?> "destinationTypeParams")+ Prelude.<*> (x Data..?> "errorInfo")+ Prelude.<*> (x Data..?> "lastModifiedTime")+ Prelude.<*> ( x+ Data..?> "partitionColumns"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "sortColumns" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "status")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetDataView where+ hashWithSalt _salt GetDataView' {..} =+ _salt+ `Prelude.hashWithSalt` dataViewId+ `Prelude.hashWithSalt` datasetId++instance Prelude.NFData GetDataView where+ rnf GetDataView' {..} =+ Prelude.rnf dataViewId+ `Prelude.seq` Prelude.rnf datasetId++instance Data.ToHeaders GetDataView where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetDataView where+ toPath GetDataView' {..} =+ Prelude.mconcat+ [ "/datasets/",+ Data.toBS datasetId,+ "/dataviewsv2/",+ Data.toBS dataViewId+ ]++instance Data.ToQuery GetDataView where+ toQuery = Prelude.const Prelude.mempty++-- | Response from retrieving a dataview, which includes details on the+-- target database and table name+--+-- /See:/ 'newGetDataViewResponse' smart constructor.+data GetDataViewResponse = GetDataViewResponse'+ { -- | Time range to use for the Dataview. The value is determined as epoch+ -- time in milliseconds. For example, the value for Monday, November 1,+ -- 2021 12:00:00 PM UTC is specified as 1635768000000.+ asOfTimestamp :: Prelude.Maybe Prelude.Integer,+ -- | Flag to indicate Dataview should be updated automatically.+ autoUpdate :: Prelude.Maybe Prelude.Bool,+ -- | The timestamp at which the Dataview was created in FinSpace. The value+ -- is determined as epoch time in milliseconds. For example, the value for+ -- Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.+ createTime :: Prelude.Maybe Prelude.Integer,+ -- | The ARN identifier of the Dataview.+ dataViewArn :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for the Dataview.+ dataViewId :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for the Dataset used in the Dataview.+ datasetId :: Prelude.Maybe Prelude.Text,+ -- | Options that define the destination type for the Dataview.+ destinationTypeParams :: Prelude.Maybe DataViewDestinationTypeParams,+ -- | Information about an error that occurred for the Dataview.+ errorInfo :: Prelude.Maybe DataViewErrorInfo,+ -- | The last time that a Dataview was modified. The value is determined as+ -- epoch time in milliseconds. For example, the value for Monday, November+ -- 1, 2021 12:00:00 PM UTC is specified as 1635768000000.+ lastModifiedTime :: Prelude.Maybe Prelude.Integer,+ -- | Ordered set of column names used to partition data.+ partitionColumns :: Prelude.Maybe [Prelude.Text],+ -- | Columns to be used for sorting the data.+ sortColumns :: Prelude.Maybe [Prelude.Text],+ -- | The status of a Dataview creation.+ --+ -- - @RUNNING@ – Dataview creation is running.+ --+ -- - @STARTING@ – Dataview creation is starting.+ --+ -- - @FAILED@ – Dataview creation has failed.+ --+ -- - @CANCELLED@ – Dataview creation has been cancelled.+ --+ -- - @TIMEOUT@ – Dataview creation has timed out.+ --+ -- - @SUCCESS@ – Dataview creation has succeeded.+ --+ -- - @PENDING@ – Dataview creation is pending.+ --+ -- - @FAILED_CLEANUP_FAILED@ – Dataview creation failed and resource+ -- cleanup failed.+ status :: Prelude.Maybe DataViewStatus,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetDataViewResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'asOfTimestamp', 'getDataViewResponse_asOfTimestamp' - Time range to use for the Dataview. The value is determined as epoch+-- time in milliseconds. For example, the value for Monday, November 1,+-- 2021 12:00:00 PM UTC is specified as 1635768000000.+--+-- 'autoUpdate', 'getDataViewResponse_autoUpdate' - Flag to indicate Dataview should be updated automatically.+--+-- 'createTime', 'getDataViewResponse_createTime' - The timestamp at which the Dataview was created in FinSpace. The value+-- is determined as epoch time in milliseconds. For example, the value for+-- Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.+--+-- 'dataViewArn', 'getDataViewResponse_dataViewArn' - The ARN identifier of the Dataview.+--+-- 'dataViewId', 'getDataViewResponse_dataViewId' - The unique identifier for the Dataview.+--+-- 'datasetId', 'getDataViewResponse_datasetId' - The unique identifier for the Dataset used in the Dataview.+--+-- 'destinationTypeParams', 'getDataViewResponse_destinationTypeParams' - Options that define the destination type for the Dataview.+--+-- 'errorInfo', 'getDataViewResponse_errorInfo' - Information about an error that occurred for the Dataview.+--+-- 'lastModifiedTime', 'getDataViewResponse_lastModifiedTime' - The last time that a Dataview was modified. The value is determined as+-- epoch time in milliseconds. For example, the value for Monday, November+-- 1, 2021 12:00:00 PM UTC is specified as 1635768000000.+--+-- 'partitionColumns', 'getDataViewResponse_partitionColumns' - Ordered set of column names used to partition data.+--+-- 'sortColumns', 'getDataViewResponse_sortColumns' - Columns to be used for sorting the data.+--+-- 'status', 'getDataViewResponse_status' - The status of a Dataview creation.+--+-- - @RUNNING@ – Dataview creation is running.+--+-- - @STARTING@ – Dataview creation is starting.+--+-- - @FAILED@ – Dataview creation has failed.+--+-- - @CANCELLED@ – Dataview creation has been cancelled.+--+-- - @TIMEOUT@ – Dataview creation has timed out.+--+-- - @SUCCESS@ – Dataview creation has succeeded.+--+-- - @PENDING@ – Dataview creation is pending.+--+-- - @FAILED_CLEANUP_FAILED@ – Dataview creation failed and resource+-- cleanup failed.+--+-- 'httpStatus', 'getDataViewResponse_httpStatus' - The response's http status code.+newGetDataViewResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetDataViewResponse+newGetDataViewResponse pHttpStatus_ =+ GetDataViewResponse'+ { asOfTimestamp =+ Prelude.Nothing,+ autoUpdate = Prelude.Nothing,+ createTime = Prelude.Nothing,+ dataViewArn = Prelude.Nothing,+ dataViewId = Prelude.Nothing,+ datasetId = Prelude.Nothing,+ destinationTypeParams = Prelude.Nothing,+ errorInfo = Prelude.Nothing,+ lastModifiedTime = Prelude.Nothing,+ partitionColumns = Prelude.Nothing,+ sortColumns = Prelude.Nothing,+ status = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Time range to use for the Dataview. The value is determined as epoch+-- time in milliseconds. For example, the value for Monday, November 1,+-- 2021 12:00:00 PM UTC is specified as 1635768000000.+getDataViewResponse_asOfTimestamp :: Lens.Lens' GetDataViewResponse (Prelude.Maybe Prelude.Integer)+getDataViewResponse_asOfTimestamp = Lens.lens (\GetDataViewResponse' {asOfTimestamp} -> asOfTimestamp) (\s@GetDataViewResponse' {} a -> s {asOfTimestamp = a} :: GetDataViewResponse)++-- | Flag to indicate Dataview should be updated automatically.+getDataViewResponse_autoUpdate :: Lens.Lens' GetDataViewResponse (Prelude.Maybe Prelude.Bool)+getDataViewResponse_autoUpdate = Lens.lens (\GetDataViewResponse' {autoUpdate} -> autoUpdate) (\s@GetDataViewResponse' {} a -> s {autoUpdate = a} :: GetDataViewResponse)++-- | The timestamp at which the Dataview was created in FinSpace. The value+-- is determined as epoch time in milliseconds. For example, the value for+-- Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.+getDataViewResponse_createTime :: Lens.Lens' GetDataViewResponse (Prelude.Maybe Prelude.Integer)+getDataViewResponse_createTime = Lens.lens (\GetDataViewResponse' {createTime} -> createTime) (\s@GetDataViewResponse' {} a -> s {createTime = a} :: GetDataViewResponse)++-- | The ARN identifier of the Dataview.+getDataViewResponse_dataViewArn :: Lens.Lens' GetDataViewResponse (Prelude.Maybe Prelude.Text)+getDataViewResponse_dataViewArn = Lens.lens (\GetDataViewResponse' {dataViewArn} -> dataViewArn) (\s@GetDataViewResponse' {} a -> s {dataViewArn = a} :: GetDataViewResponse)++-- | The unique identifier for the Dataview.+getDataViewResponse_dataViewId :: Lens.Lens' GetDataViewResponse (Prelude.Maybe Prelude.Text)+getDataViewResponse_dataViewId = Lens.lens (\GetDataViewResponse' {dataViewId} -> dataViewId) (\s@GetDataViewResponse' {} a -> s {dataViewId = a} :: GetDataViewResponse)++-- | The unique identifier for the Dataset used in the Dataview.+getDataViewResponse_datasetId :: Lens.Lens' GetDataViewResponse (Prelude.Maybe Prelude.Text)+getDataViewResponse_datasetId = Lens.lens (\GetDataViewResponse' {datasetId} -> datasetId) (\s@GetDataViewResponse' {} a -> s {datasetId = a} :: GetDataViewResponse)++-- | Options that define the destination type for the Dataview.+getDataViewResponse_destinationTypeParams :: Lens.Lens' GetDataViewResponse (Prelude.Maybe DataViewDestinationTypeParams)+getDataViewResponse_destinationTypeParams = Lens.lens (\GetDataViewResponse' {destinationTypeParams} -> destinationTypeParams) (\s@GetDataViewResponse' {} a -> s {destinationTypeParams = a} :: GetDataViewResponse)++-- | Information about an error that occurred for the Dataview.+getDataViewResponse_errorInfo :: Lens.Lens' GetDataViewResponse (Prelude.Maybe DataViewErrorInfo)+getDataViewResponse_errorInfo = Lens.lens (\GetDataViewResponse' {errorInfo} -> errorInfo) (\s@GetDataViewResponse' {} a -> s {errorInfo = a} :: GetDataViewResponse)++-- | The last time that a Dataview was modified. The value is determined as+-- epoch time in milliseconds. For example, the value for Monday, November+-- 1, 2021 12:00:00 PM UTC is specified as 1635768000000.+getDataViewResponse_lastModifiedTime :: Lens.Lens' GetDataViewResponse (Prelude.Maybe Prelude.Integer)+getDataViewResponse_lastModifiedTime = Lens.lens (\GetDataViewResponse' {lastModifiedTime} -> lastModifiedTime) (\s@GetDataViewResponse' {} a -> s {lastModifiedTime = a} :: GetDataViewResponse)++-- | Ordered set of column names used to partition data.+getDataViewResponse_partitionColumns :: Lens.Lens' GetDataViewResponse (Prelude.Maybe [Prelude.Text])+getDataViewResponse_partitionColumns = Lens.lens (\GetDataViewResponse' {partitionColumns} -> partitionColumns) (\s@GetDataViewResponse' {} a -> s {partitionColumns = a} :: GetDataViewResponse) Prelude.. Lens.mapping Lens.coerced++-- | Columns to be used for sorting the data.+getDataViewResponse_sortColumns :: Lens.Lens' GetDataViewResponse (Prelude.Maybe [Prelude.Text])+getDataViewResponse_sortColumns = Lens.lens (\GetDataViewResponse' {sortColumns} -> sortColumns) (\s@GetDataViewResponse' {} a -> s {sortColumns = a} :: GetDataViewResponse) Prelude.. Lens.mapping Lens.coerced++-- | The status of a Dataview creation.+--+-- - @RUNNING@ – Dataview creation is running.+--+-- - @STARTING@ – Dataview creation is starting.+--+-- - @FAILED@ – Dataview creation has failed.+--+-- - @CANCELLED@ – Dataview creation has been cancelled.+--+-- - @TIMEOUT@ – Dataview creation has timed out.+--+-- - @SUCCESS@ – Dataview creation has succeeded.+--+-- - @PENDING@ – Dataview creation is pending.+--+-- - @FAILED_CLEANUP_FAILED@ – Dataview creation failed and resource+-- cleanup failed.+getDataViewResponse_status :: Lens.Lens' GetDataViewResponse (Prelude.Maybe DataViewStatus)+getDataViewResponse_status = Lens.lens (\GetDataViewResponse' {status} -> status) (\s@GetDataViewResponse' {} a -> s {status = a} :: GetDataViewResponse)++-- | The response's http status code.+getDataViewResponse_httpStatus :: Lens.Lens' GetDataViewResponse Prelude.Int+getDataViewResponse_httpStatus = Lens.lens (\GetDataViewResponse' {httpStatus} -> httpStatus) (\s@GetDataViewResponse' {} a -> s {httpStatus = a} :: GetDataViewResponse)++instance Prelude.NFData GetDataViewResponse where+ rnf GetDataViewResponse' {..} =+ Prelude.rnf asOfTimestamp+ `Prelude.seq` Prelude.rnf autoUpdate+ `Prelude.seq` Prelude.rnf createTime+ `Prelude.seq` Prelude.rnf dataViewArn+ `Prelude.seq` Prelude.rnf dataViewId+ `Prelude.seq` Prelude.rnf datasetId+ `Prelude.seq` Prelude.rnf destinationTypeParams+ `Prelude.seq` Prelude.rnf errorInfo+ `Prelude.seq` Prelude.rnf lastModifiedTime+ `Prelude.seq` Prelude.rnf partitionColumns+ `Prelude.seq` Prelude.rnf sortColumns+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FinSpaceData/GetDataset.hs view
@@ -0,0 +1,316 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FinSpaceData.GetDataset+-- 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 Dataset.+module Amazonka.FinSpaceData.GetDataset+ ( -- * Creating a Request+ GetDataset (..),+ newGetDataset,++ -- * Request Lenses+ getDataset_datasetId,++ -- * Destructuring the Response+ GetDatasetResponse (..),+ newGetDatasetResponse,++ -- * Response Lenses+ getDatasetResponse_alias,+ getDatasetResponse_createTime,+ getDatasetResponse_datasetArn,+ getDatasetResponse_datasetDescription,+ getDatasetResponse_datasetId,+ getDatasetResponse_datasetTitle,+ getDatasetResponse_kind,+ getDatasetResponse_lastModifiedTime,+ getDatasetResponse_schemaDefinition,+ getDatasetResponse_status,+ getDatasetResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FinSpaceData.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | Request for the GetDataset operation.+--+-- /See:/ 'newGetDataset' smart constructor.+data GetDataset = GetDataset'+ { -- | The unique identifier for a Dataset.+ datasetId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetDataset' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'datasetId', 'getDataset_datasetId' - The unique identifier for a Dataset.+newGetDataset ::+ -- | 'datasetId'+ Prelude.Text ->+ GetDataset+newGetDataset pDatasetId_ =+ GetDataset' {datasetId = pDatasetId_}++-- | The unique identifier for a Dataset.+getDataset_datasetId :: Lens.Lens' GetDataset Prelude.Text+getDataset_datasetId = Lens.lens (\GetDataset' {datasetId} -> datasetId) (\s@GetDataset' {} a -> s {datasetId = a} :: GetDataset)++instance Core.AWSRequest GetDataset where+ type AWSResponse GetDataset = GetDatasetResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetDatasetResponse'+ Prelude.<$> (x Data..?> "alias")+ Prelude.<*> (x Data..?> "createTime")+ Prelude.<*> (x Data..?> "datasetArn")+ Prelude.<*> (x Data..?> "datasetDescription")+ Prelude.<*> (x Data..?> "datasetId")+ Prelude.<*> (x Data..?> "datasetTitle")+ Prelude.<*> (x Data..?> "kind")+ Prelude.<*> (x Data..?> "lastModifiedTime")+ Prelude.<*> (x Data..?> "schemaDefinition")+ Prelude.<*> (x Data..?> "status")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetDataset where+ hashWithSalt _salt GetDataset' {..} =+ _salt `Prelude.hashWithSalt` datasetId++instance Prelude.NFData GetDataset where+ rnf GetDataset' {..} = Prelude.rnf datasetId++instance Data.ToHeaders GetDataset where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetDataset where+ toPath GetDataset' {..} =+ Prelude.mconcat+ ["/datasetsv2/", Data.toBS datasetId]++instance Data.ToQuery GetDataset where+ toQuery = Prelude.const Prelude.mempty++-- | Response for the GetDataset operation+--+-- /See:/ 'newGetDatasetResponse' smart constructor.+data GetDatasetResponse = GetDatasetResponse'+ { -- | The unique resource identifier for a Dataset.+ alias :: Prelude.Maybe Prelude.Text,+ -- | The timestamp at which the Dataset was created in FinSpace. The value is+ -- determined as epoch time in milliseconds. For example, the value for+ -- Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.+ createTime :: Prelude.Maybe Prelude.Integer,+ -- | The ARN identifier of the Dataset.+ datasetArn :: Prelude.Maybe Prelude.Text,+ -- | A description of the Dataset.+ datasetDescription :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for a Dataset.+ datasetId :: Prelude.Maybe Prelude.Text,+ -- | Display title for a Dataset.+ datasetTitle :: Prelude.Maybe Prelude.Text,+ -- | The format in which Dataset data is structured.+ --+ -- - @TABULAR@ – Data is structured in a tabular format.+ --+ -- - @NON_TABULAR@ – Data is structured in a non-tabular format.+ kind :: Prelude.Maybe DatasetKind,+ -- | The last time that the Dataset was modified. The value is determined as+ -- epoch time in milliseconds. For example, the value for Monday, November+ -- 1, 2021 12:00:00 PM UTC is specified as 1635768000000.+ lastModifiedTime :: Prelude.Maybe Prelude.Integer,+ -- | Definition for a schema on a tabular Dataset.+ schemaDefinition :: Prelude.Maybe SchemaUnion,+ -- | Status of the Dataset creation.+ --+ -- - @PENDING@ – Dataset is pending creation.+ --+ -- - @FAILED@ – Dataset creation has failed.+ --+ -- - @SUCCESS@ – Dataset creation has succeeded.+ --+ -- - @RUNNING@ – Dataset creation is running.+ status :: Prelude.Maybe DatasetStatus,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetDatasetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'alias', 'getDatasetResponse_alias' - The unique resource identifier for a Dataset.+--+-- 'createTime', 'getDatasetResponse_createTime' - The timestamp at which the Dataset was created in FinSpace. The value is+-- determined as epoch time in milliseconds. For example, the value for+-- Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.+--+-- 'datasetArn', 'getDatasetResponse_datasetArn' - The ARN identifier of the Dataset.+--+-- 'datasetDescription', 'getDatasetResponse_datasetDescription' - A description of the Dataset.+--+-- 'datasetId', 'getDatasetResponse_datasetId' - The unique identifier for a Dataset.+--+-- 'datasetTitle', 'getDatasetResponse_datasetTitle' - Display title for a Dataset.+--+-- 'kind', 'getDatasetResponse_kind' - The format in which Dataset data is structured.+--+-- - @TABULAR@ – Data is structured in a tabular format.+--+-- - @NON_TABULAR@ – Data is structured in a non-tabular format.+--+-- 'lastModifiedTime', 'getDatasetResponse_lastModifiedTime' - The last time that the Dataset was modified. The value is determined as+-- epoch time in milliseconds. For example, the value for Monday, November+-- 1, 2021 12:00:00 PM UTC is specified as 1635768000000.+--+-- 'schemaDefinition', 'getDatasetResponse_schemaDefinition' - Definition for a schema on a tabular Dataset.+--+-- 'status', 'getDatasetResponse_status' - Status of the Dataset creation.+--+-- - @PENDING@ – Dataset is pending creation.+--+-- - @FAILED@ – Dataset creation has failed.+--+-- - @SUCCESS@ – Dataset creation has succeeded.+--+-- - @RUNNING@ – Dataset creation is running.+--+-- 'httpStatus', 'getDatasetResponse_httpStatus' - The response's http status code.+newGetDatasetResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetDatasetResponse+newGetDatasetResponse pHttpStatus_ =+ GetDatasetResponse'+ { alias = Prelude.Nothing,+ createTime = Prelude.Nothing,+ datasetArn = Prelude.Nothing,+ datasetDescription = Prelude.Nothing,+ datasetId = Prelude.Nothing,+ datasetTitle = Prelude.Nothing,+ kind = Prelude.Nothing,+ lastModifiedTime = Prelude.Nothing,+ schemaDefinition = Prelude.Nothing,+ status = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The unique resource identifier for a Dataset.+getDatasetResponse_alias :: Lens.Lens' GetDatasetResponse (Prelude.Maybe Prelude.Text)+getDatasetResponse_alias = Lens.lens (\GetDatasetResponse' {alias} -> alias) (\s@GetDatasetResponse' {} a -> s {alias = a} :: GetDatasetResponse)++-- | The timestamp at which the Dataset was created in FinSpace. The value is+-- determined as epoch time in milliseconds. For example, the value for+-- Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.+getDatasetResponse_createTime :: Lens.Lens' GetDatasetResponse (Prelude.Maybe Prelude.Integer)+getDatasetResponse_createTime = Lens.lens (\GetDatasetResponse' {createTime} -> createTime) (\s@GetDatasetResponse' {} a -> s {createTime = a} :: GetDatasetResponse)++-- | The ARN identifier of the Dataset.+getDatasetResponse_datasetArn :: Lens.Lens' GetDatasetResponse (Prelude.Maybe Prelude.Text)+getDatasetResponse_datasetArn = Lens.lens (\GetDatasetResponse' {datasetArn} -> datasetArn) (\s@GetDatasetResponse' {} a -> s {datasetArn = a} :: GetDatasetResponse)++-- | A description of the Dataset.+getDatasetResponse_datasetDescription :: Lens.Lens' GetDatasetResponse (Prelude.Maybe Prelude.Text)+getDatasetResponse_datasetDescription = Lens.lens (\GetDatasetResponse' {datasetDescription} -> datasetDescription) (\s@GetDatasetResponse' {} a -> s {datasetDescription = a} :: GetDatasetResponse)++-- | The unique identifier for a Dataset.+getDatasetResponse_datasetId :: Lens.Lens' GetDatasetResponse (Prelude.Maybe Prelude.Text)+getDatasetResponse_datasetId = Lens.lens (\GetDatasetResponse' {datasetId} -> datasetId) (\s@GetDatasetResponse' {} a -> s {datasetId = a} :: GetDatasetResponse)++-- | Display title for a Dataset.+getDatasetResponse_datasetTitle :: Lens.Lens' GetDatasetResponse (Prelude.Maybe Prelude.Text)+getDatasetResponse_datasetTitle = Lens.lens (\GetDatasetResponse' {datasetTitle} -> datasetTitle) (\s@GetDatasetResponse' {} a -> s {datasetTitle = a} :: GetDatasetResponse)++-- | The format in which Dataset data is structured.+--+-- - @TABULAR@ – Data is structured in a tabular format.+--+-- - @NON_TABULAR@ – Data is structured in a non-tabular format.+getDatasetResponse_kind :: Lens.Lens' GetDatasetResponse (Prelude.Maybe DatasetKind)+getDatasetResponse_kind = Lens.lens (\GetDatasetResponse' {kind} -> kind) (\s@GetDatasetResponse' {} a -> s {kind = a} :: GetDatasetResponse)++-- | The last time that the Dataset was modified. The value is determined as+-- epoch time in milliseconds. For example, the value for Monday, November+-- 1, 2021 12:00:00 PM UTC is specified as 1635768000000.+getDatasetResponse_lastModifiedTime :: Lens.Lens' GetDatasetResponse (Prelude.Maybe Prelude.Integer)+getDatasetResponse_lastModifiedTime = Lens.lens (\GetDatasetResponse' {lastModifiedTime} -> lastModifiedTime) (\s@GetDatasetResponse' {} a -> s {lastModifiedTime = a} :: GetDatasetResponse)++-- | Definition for a schema on a tabular Dataset.+getDatasetResponse_schemaDefinition :: Lens.Lens' GetDatasetResponse (Prelude.Maybe SchemaUnion)+getDatasetResponse_schemaDefinition = Lens.lens (\GetDatasetResponse' {schemaDefinition} -> schemaDefinition) (\s@GetDatasetResponse' {} a -> s {schemaDefinition = a} :: GetDatasetResponse)++-- | Status of the Dataset creation.+--+-- - @PENDING@ – Dataset is pending creation.+--+-- - @FAILED@ – Dataset creation has failed.+--+-- - @SUCCESS@ – Dataset creation has succeeded.+--+-- - @RUNNING@ – Dataset creation is running.+getDatasetResponse_status :: Lens.Lens' GetDatasetResponse (Prelude.Maybe DatasetStatus)+getDatasetResponse_status = Lens.lens (\GetDatasetResponse' {status} -> status) (\s@GetDatasetResponse' {} a -> s {status = a} :: GetDatasetResponse)++-- | The response's http status code.+getDatasetResponse_httpStatus :: Lens.Lens' GetDatasetResponse Prelude.Int+getDatasetResponse_httpStatus = Lens.lens (\GetDatasetResponse' {httpStatus} -> httpStatus) (\s@GetDatasetResponse' {} a -> s {httpStatus = a} :: GetDatasetResponse)++instance Prelude.NFData GetDatasetResponse where+ rnf GetDatasetResponse' {..} =+ Prelude.rnf alias+ `Prelude.seq` Prelude.rnf createTime+ `Prelude.seq` Prelude.rnf datasetArn+ `Prelude.seq` Prelude.rnf datasetDescription+ `Prelude.seq` Prelude.rnf datasetId+ `Prelude.seq` Prelude.rnf datasetTitle+ `Prelude.seq` Prelude.rnf kind+ `Prelude.seq` Prelude.rnf lastModifiedTime+ `Prelude.seq` Prelude.rnf schemaDefinition+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FinSpaceData/GetExternalDataViewAccessDetails.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.FinSpaceData.GetExternalDataViewAccessDetails+-- 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 credentials to access the external Dataview from an S3+-- location. To call this API:+--+-- - You must retrieve the programmatic credentials.+--+-- - You must be a member of a FinSpace user group, where the dataset+-- that you want to access has @Read Dataset Data@ permissions.+module Amazonka.FinSpaceData.GetExternalDataViewAccessDetails+ ( -- * Creating a Request+ GetExternalDataViewAccessDetails (..),+ newGetExternalDataViewAccessDetails,++ -- * Request Lenses+ getExternalDataViewAccessDetails_dataViewId,+ getExternalDataViewAccessDetails_datasetId,++ -- * Destructuring the Response+ GetExternalDataViewAccessDetailsResponse (..),+ newGetExternalDataViewAccessDetailsResponse,++ -- * Response Lenses+ getExternalDataViewAccessDetailsResponse_credentials,+ getExternalDataViewAccessDetailsResponse_s3Location,+ getExternalDataViewAccessDetailsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FinSpaceData.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetExternalDataViewAccessDetails' smart constructor.+data GetExternalDataViewAccessDetails = GetExternalDataViewAccessDetails'+ { -- | The unique identifier for the Dataview that you want to access.+ dataViewId :: Prelude.Text,+ -- | The unique identifier for the Dataset.+ datasetId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetExternalDataViewAccessDetails' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataViewId', 'getExternalDataViewAccessDetails_dataViewId' - The unique identifier for the Dataview that you want to access.+--+-- 'datasetId', 'getExternalDataViewAccessDetails_datasetId' - The unique identifier for the Dataset.+newGetExternalDataViewAccessDetails ::+ -- | 'dataViewId'+ Prelude.Text ->+ -- | 'datasetId'+ Prelude.Text ->+ GetExternalDataViewAccessDetails+newGetExternalDataViewAccessDetails+ pDataViewId_+ pDatasetId_ =+ GetExternalDataViewAccessDetails'+ { dataViewId =+ pDataViewId_,+ datasetId = pDatasetId_+ }++-- | The unique identifier for the Dataview that you want to access.+getExternalDataViewAccessDetails_dataViewId :: Lens.Lens' GetExternalDataViewAccessDetails Prelude.Text+getExternalDataViewAccessDetails_dataViewId = Lens.lens (\GetExternalDataViewAccessDetails' {dataViewId} -> dataViewId) (\s@GetExternalDataViewAccessDetails' {} a -> s {dataViewId = a} :: GetExternalDataViewAccessDetails)++-- | The unique identifier for the Dataset.+getExternalDataViewAccessDetails_datasetId :: Lens.Lens' GetExternalDataViewAccessDetails Prelude.Text+getExternalDataViewAccessDetails_datasetId = Lens.lens (\GetExternalDataViewAccessDetails' {datasetId} -> datasetId) (\s@GetExternalDataViewAccessDetails' {} a -> s {datasetId = a} :: GetExternalDataViewAccessDetails)++instance+ Core.AWSRequest+ GetExternalDataViewAccessDetails+ where+ type+ AWSResponse GetExternalDataViewAccessDetails =+ GetExternalDataViewAccessDetailsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetExternalDataViewAccessDetailsResponse'+ Prelude.<$> (x Data..?> "credentials")+ Prelude.<*> (x Data..?> "s3Location")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ GetExternalDataViewAccessDetails+ where+ hashWithSalt+ _salt+ GetExternalDataViewAccessDetails' {..} =+ _salt+ `Prelude.hashWithSalt` dataViewId+ `Prelude.hashWithSalt` datasetId++instance+ Prelude.NFData+ GetExternalDataViewAccessDetails+ where+ rnf GetExternalDataViewAccessDetails' {..} =+ Prelude.rnf dataViewId+ `Prelude.seq` Prelude.rnf datasetId++instance+ Data.ToHeaders+ GetExternalDataViewAccessDetails+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON GetExternalDataViewAccessDetails where+ toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath GetExternalDataViewAccessDetails where+ toPath GetExternalDataViewAccessDetails' {..} =+ Prelude.mconcat+ [ "/datasets/",+ Data.toBS datasetId,+ "/dataviewsv2/",+ Data.toBS dataViewId,+ "/external-access-details"+ ]++instance+ Data.ToQuery+ GetExternalDataViewAccessDetails+ where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetExternalDataViewAccessDetailsResponse' smart constructor.+data GetExternalDataViewAccessDetailsResponse = GetExternalDataViewAccessDetailsResponse'+ { -- | The credentials required to access the external Dataview from the S3+ -- location.+ credentials :: Prelude.Maybe AwsCredentials,+ -- | The location where the external Dataview is stored.+ s3Location :: Prelude.Maybe S3Location,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetExternalDataViewAccessDetailsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'credentials', 'getExternalDataViewAccessDetailsResponse_credentials' - The credentials required to access the external Dataview from the S3+-- location.+--+-- 's3Location', 'getExternalDataViewAccessDetailsResponse_s3Location' - The location where the external Dataview is stored.+--+-- 'httpStatus', 'getExternalDataViewAccessDetailsResponse_httpStatus' - The response's http status code.+newGetExternalDataViewAccessDetailsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetExternalDataViewAccessDetailsResponse+newGetExternalDataViewAccessDetailsResponse+ pHttpStatus_ =+ GetExternalDataViewAccessDetailsResponse'+ { credentials =+ Prelude.Nothing,+ s3Location = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The credentials required to access the external Dataview from the S3+-- location.+getExternalDataViewAccessDetailsResponse_credentials :: Lens.Lens' GetExternalDataViewAccessDetailsResponse (Prelude.Maybe AwsCredentials)+getExternalDataViewAccessDetailsResponse_credentials = Lens.lens (\GetExternalDataViewAccessDetailsResponse' {credentials} -> credentials) (\s@GetExternalDataViewAccessDetailsResponse' {} a -> s {credentials = a} :: GetExternalDataViewAccessDetailsResponse)++-- | The location where the external Dataview is stored.+getExternalDataViewAccessDetailsResponse_s3Location :: Lens.Lens' GetExternalDataViewAccessDetailsResponse (Prelude.Maybe S3Location)+getExternalDataViewAccessDetailsResponse_s3Location = Lens.lens (\GetExternalDataViewAccessDetailsResponse' {s3Location} -> s3Location) (\s@GetExternalDataViewAccessDetailsResponse' {} a -> s {s3Location = a} :: GetExternalDataViewAccessDetailsResponse)++-- | The response's http status code.+getExternalDataViewAccessDetailsResponse_httpStatus :: Lens.Lens' GetExternalDataViewAccessDetailsResponse Prelude.Int+getExternalDataViewAccessDetailsResponse_httpStatus = Lens.lens (\GetExternalDataViewAccessDetailsResponse' {httpStatus} -> httpStatus) (\s@GetExternalDataViewAccessDetailsResponse' {} a -> s {httpStatus = a} :: GetExternalDataViewAccessDetailsResponse)++instance+ Prelude.NFData+ GetExternalDataViewAccessDetailsResponse+ where+ rnf GetExternalDataViewAccessDetailsResponse' {..} =+ Prelude.rnf credentials+ `Prelude.seq` Prelude.rnf s3Location+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FinSpaceData/GetPermissionGroup.hs view
@@ -0,0 +1,162 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FinSpaceData.GetPermissionGroup+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the details of a specific permission group.+module Amazonka.FinSpaceData.GetPermissionGroup+ ( -- * Creating a Request+ GetPermissionGroup (..),+ newGetPermissionGroup,++ -- * Request Lenses+ getPermissionGroup_permissionGroupId,++ -- * Destructuring the Response+ GetPermissionGroupResponse (..),+ newGetPermissionGroupResponse,++ -- * Response Lenses+ getPermissionGroupResponse_permissionGroup,+ getPermissionGroupResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FinSpaceData.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetPermissionGroup' smart constructor.+data GetPermissionGroup = GetPermissionGroup'+ { -- | The unique identifier for the permission group.+ permissionGroupId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetPermissionGroup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'permissionGroupId', 'getPermissionGroup_permissionGroupId' - The unique identifier for the permission group.+newGetPermissionGroup ::+ -- | 'permissionGroupId'+ Prelude.Text ->+ GetPermissionGroup+newGetPermissionGroup pPermissionGroupId_ =+ GetPermissionGroup'+ { permissionGroupId =+ pPermissionGroupId_+ }++-- | The unique identifier for the permission group.+getPermissionGroup_permissionGroupId :: Lens.Lens' GetPermissionGroup Prelude.Text+getPermissionGroup_permissionGroupId = Lens.lens (\GetPermissionGroup' {permissionGroupId} -> permissionGroupId) (\s@GetPermissionGroup' {} a -> s {permissionGroupId = a} :: GetPermissionGroup)++instance Core.AWSRequest GetPermissionGroup where+ type+ AWSResponse GetPermissionGroup =+ GetPermissionGroupResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetPermissionGroupResponse'+ Prelude.<$> (x Data..?> "permissionGroup")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetPermissionGroup where+ hashWithSalt _salt GetPermissionGroup' {..} =+ _salt `Prelude.hashWithSalt` permissionGroupId++instance Prelude.NFData GetPermissionGroup where+ rnf GetPermissionGroup' {..} =+ Prelude.rnf permissionGroupId++instance Data.ToHeaders GetPermissionGroup where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetPermissionGroup where+ toPath GetPermissionGroup' {..} =+ Prelude.mconcat+ ["/permission-group/", Data.toBS permissionGroupId]++instance Data.ToQuery GetPermissionGroup where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetPermissionGroupResponse' smart constructor.+data GetPermissionGroupResponse = GetPermissionGroupResponse'+ { permissionGroup :: Prelude.Maybe PermissionGroup,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetPermissionGroupResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'permissionGroup', 'getPermissionGroupResponse_permissionGroup' - Undocumented member.+--+-- 'httpStatus', 'getPermissionGroupResponse_httpStatus' - The response's http status code.+newGetPermissionGroupResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetPermissionGroupResponse+newGetPermissionGroupResponse pHttpStatus_ =+ GetPermissionGroupResponse'+ { permissionGroup =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Undocumented member.+getPermissionGroupResponse_permissionGroup :: Lens.Lens' GetPermissionGroupResponse (Prelude.Maybe PermissionGroup)+getPermissionGroupResponse_permissionGroup = Lens.lens (\GetPermissionGroupResponse' {permissionGroup} -> permissionGroup) (\s@GetPermissionGroupResponse' {} a -> s {permissionGroup = a} :: GetPermissionGroupResponse)++-- | The response's http status code.+getPermissionGroupResponse_httpStatus :: Lens.Lens' GetPermissionGroupResponse Prelude.Int+getPermissionGroupResponse_httpStatus = Lens.lens (\GetPermissionGroupResponse' {httpStatus} -> httpStatus) (\s@GetPermissionGroupResponse' {} a -> s {httpStatus = a} :: GetPermissionGroupResponse)++instance Prelude.NFData GetPermissionGroupResponse where+ rnf GetPermissionGroupResponse' {..} =+ Prelude.rnf permissionGroup+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FinSpaceData/GetProgrammaticAccessCredentials.hs view
@@ -0,0 +1,216 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FinSpaceData.GetProgrammaticAccessCredentials+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Request programmatic credentials to use with FinSpace SDK.+module Amazonka.FinSpaceData.GetProgrammaticAccessCredentials+ ( -- * Creating a Request+ GetProgrammaticAccessCredentials (..),+ newGetProgrammaticAccessCredentials,++ -- * Request Lenses+ getProgrammaticAccessCredentials_durationInMinutes,+ getProgrammaticAccessCredentials_environmentId,++ -- * Destructuring the Response+ GetProgrammaticAccessCredentialsResponse (..),+ newGetProgrammaticAccessCredentialsResponse,++ -- * Response Lenses+ getProgrammaticAccessCredentialsResponse_credentials,+ getProgrammaticAccessCredentialsResponse_durationInMinutes,+ getProgrammaticAccessCredentialsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FinSpaceData.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | Request for GetProgrammaticAccessCredentials operation+--+-- /See:/ 'newGetProgrammaticAccessCredentials' smart constructor.+data GetProgrammaticAccessCredentials = GetProgrammaticAccessCredentials'+ { -- | The time duration in which the credentials remain valid.+ durationInMinutes :: Prelude.Maybe Prelude.Natural,+ -- | The FinSpace environment identifier.+ environmentId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetProgrammaticAccessCredentials' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'durationInMinutes', 'getProgrammaticAccessCredentials_durationInMinutes' - The time duration in which the credentials remain valid.+--+-- 'environmentId', 'getProgrammaticAccessCredentials_environmentId' - The FinSpace environment identifier.+newGetProgrammaticAccessCredentials ::+ -- | 'environmentId'+ Prelude.Text ->+ GetProgrammaticAccessCredentials+newGetProgrammaticAccessCredentials pEnvironmentId_ =+ GetProgrammaticAccessCredentials'+ { durationInMinutes =+ Prelude.Nothing,+ environmentId = pEnvironmentId_+ }++-- | The time duration in which the credentials remain valid.+getProgrammaticAccessCredentials_durationInMinutes :: Lens.Lens' GetProgrammaticAccessCredentials (Prelude.Maybe Prelude.Natural)+getProgrammaticAccessCredentials_durationInMinutes = Lens.lens (\GetProgrammaticAccessCredentials' {durationInMinutes} -> durationInMinutes) (\s@GetProgrammaticAccessCredentials' {} a -> s {durationInMinutes = a} :: GetProgrammaticAccessCredentials)++-- | The FinSpace environment identifier.+getProgrammaticAccessCredentials_environmentId :: Lens.Lens' GetProgrammaticAccessCredentials Prelude.Text+getProgrammaticAccessCredentials_environmentId = Lens.lens (\GetProgrammaticAccessCredentials' {environmentId} -> environmentId) (\s@GetProgrammaticAccessCredentials' {} a -> s {environmentId = a} :: GetProgrammaticAccessCredentials)++instance+ Core.AWSRequest+ GetProgrammaticAccessCredentials+ where+ type+ AWSResponse GetProgrammaticAccessCredentials =+ GetProgrammaticAccessCredentialsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetProgrammaticAccessCredentialsResponse'+ Prelude.<$> (x Data..?> "credentials")+ Prelude.<*> (x Data..?> "durationInMinutes")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ GetProgrammaticAccessCredentials+ where+ hashWithSalt+ _salt+ GetProgrammaticAccessCredentials' {..} =+ _salt+ `Prelude.hashWithSalt` durationInMinutes+ `Prelude.hashWithSalt` environmentId++instance+ Prelude.NFData+ GetProgrammaticAccessCredentials+ where+ rnf GetProgrammaticAccessCredentials' {..} =+ Prelude.rnf durationInMinutes+ `Prelude.seq` Prelude.rnf environmentId++instance+ Data.ToHeaders+ GetProgrammaticAccessCredentials+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetProgrammaticAccessCredentials where+ toPath = Prelude.const "/credentials/programmatic"++instance+ Data.ToQuery+ GetProgrammaticAccessCredentials+ where+ toQuery GetProgrammaticAccessCredentials' {..} =+ Prelude.mconcat+ [ "durationInMinutes" Data.=: durationInMinutes,+ "environmentId" Data.=: environmentId+ ]++-- | Response for GetProgrammaticAccessCredentials operation+--+-- /See:/ 'newGetProgrammaticAccessCredentialsResponse' smart constructor.+data GetProgrammaticAccessCredentialsResponse = GetProgrammaticAccessCredentialsResponse'+ { -- | Returns the programmatic credentials.+ credentials :: Prelude.Maybe Credentials,+ -- | Returns the duration in which the credentials will remain valid.+ durationInMinutes :: Prelude.Maybe Prelude.Natural,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetProgrammaticAccessCredentialsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'credentials', 'getProgrammaticAccessCredentialsResponse_credentials' - Returns the programmatic credentials.+--+-- 'durationInMinutes', 'getProgrammaticAccessCredentialsResponse_durationInMinutes' - Returns the duration in which the credentials will remain valid.+--+-- 'httpStatus', 'getProgrammaticAccessCredentialsResponse_httpStatus' - The response's http status code.+newGetProgrammaticAccessCredentialsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetProgrammaticAccessCredentialsResponse+newGetProgrammaticAccessCredentialsResponse+ pHttpStatus_ =+ GetProgrammaticAccessCredentialsResponse'+ { credentials =+ Prelude.Nothing,+ durationInMinutes =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Returns the programmatic credentials.+getProgrammaticAccessCredentialsResponse_credentials :: Lens.Lens' GetProgrammaticAccessCredentialsResponse (Prelude.Maybe Credentials)+getProgrammaticAccessCredentialsResponse_credentials = Lens.lens (\GetProgrammaticAccessCredentialsResponse' {credentials} -> credentials) (\s@GetProgrammaticAccessCredentialsResponse' {} a -> s {credentials = a} :: GetProgrammaticAccessCredentialsResponse)++-- | Returns the duration in which the credentials will remain valid.+getProgrammaticAccessCredentialsResponse_durationInMinutes :: Lens.Lens' GetProgrammaticAccessCredentialsResponse (Prelude.Maybe Prelude.Natural)+getProgrammaticAccessCredentialsResponse_durationInMinutes = Lens.lens (\GetProgrammaticAccessCredentialsResponse' {durationInMinutes} -> durationInMinutes) (\s@GetProgrammaticAccessCredentialsResponse' {} a -> s {durationInMinutes = a} :: GetProgrammaticAccessCredentialsResponse)++-- | The response's http status code.+getProgrammaticAccessCredentialsResponse_httpStatus :: Lens.Lens' GetProgrammaticAccessCredentialsResponse Prelude.Int+getProgrammaticAccessCredentialsResponse_httpStatus = Lens.lens (\GetProgrammaticAccessCredentialsResponse' {httpStatus} -> httpStatus) (\s@GetProgrammaticAccessCredentialsResponse' {} a -> s {httpStatus = a} :: GetProgrammaticAccessCredentialsResponse)++instance+ Prelude.NFData+ GetProgrammaticAccessCredentialsResponse+ where+ rnf GetProgrammaticAccessCredentialsResponse' {..} =+ Prelude.rnf credentials+ `Prelude.seq` Prelude.rnf durationInMinutes+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FinSpaceData/GetUser.hs view
@@ -0,0 +1,376 @@+{-# 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.FinSpaceData.GetUser+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves details for a specific user.+module Amazonka.FinSpaceData.GetUser+ ( -- * Creating a Request+ GetUser (..),+ newGetUser,++ -- * Request Lenses+ getUser_userId,++ -- * Destructuring the Response+ GetUserResponse (..),+ newGetUserResponse,++ -- * Response Lenses+ getUserResponse_apiAccess,+ getUserResponse_apiAccessPrincipalArn,+ getUserResponse_createTime,+ getUserResponse_emailAddress,+ getUserResponse_firstName,+ getUserResponse_lastDisabledTime,+ getUserResponse_lastEnabledTime,+ getUserResponse_lastLoginTime,+ getUserResponse_lastModifiedTime,+ getUserResponse_lastName,+ getUserResponse_status,+ getUserResponse_type,+ getUserResponse_userId,+ getUserResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FinSpaceData.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetUser' smart constructor.+data GetUser = GetUser'+ { -- | The unique identifier of the user to get data for.+ userId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetUser' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'userId', 'getUser_userId' - The unique identifier of the user to get data for.+newGetUser ::+ -- | 'userId'+ Prelude.Text ->+ GetUser+newGetUser pUserId_ = GetUser' {userId = pUserId_}++-- | The unique identifier of the user to get data for.+getUser_userId :: Lens.Lens' GetUser Prelude.Text+getUser_userId = Lens.lens (\GetUser' {userId} -> userId) (\s@GetUser' {} a -> s {userId = a} :: GetUser)++instance Core.AWSRequest GetUser where+ type AWSResponse GetUser = GetUserResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetUserResponse'+ Prelude.<$> (x Data..?> "apiAccess")+ Prelude.<*> (x Data..?> "apiAccessPrincipalArn")+ Prelude.<*> (x Data..?> "createTime")+ Prelude.<*> (x Data..?> "emailAddress")+ Prelude.<*> (x Data..?> "firstName")+ Prelude.<*> (x Data..?> "lastDisabledTime")+ Prelude.<*> (x Data..?> "lastEnabledTime")+ Prelude.<*> (x Data..?> "lastLoginTime")+ Prelude.<*> (x Data..?> "lastModifiedTime")+ Prelude.<*> (x Data..?> "lastName")+ Prelude.<*> (x Data..?> "status")+ Prelude.<*> (x Data..?> "type")+ Prelude.<*> (x Data..?> "userId")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetUser where+ hashWithSalt _salt GetUser' {..} =+ _salt `Prelude.hashWithSalt` userId++instance Prelude.NFData GetUser where+ rnf GetUser' {..} = Prelude.rnf userId++instance Data.ToHeaders GetUser where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetUser where+ toPath GetUser' {..} =+ Prelude.mconcat ["/user/", Data.toBS userId]++instance Data.ToQuery GetUser where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetUserResponse' smart constructor.+data GetUserResponse = GetUserResponse'+ { -- | Indicates whether the user can use the+ -- @GetProgrammaticAccessCredentials@ API to obtain credentials that can+ -- then be used to access other FinSpace Data API operations.+ --+ -- - @ENABLED@ – The user has permissions to use the APIs.+ --+ -- - @DISABLED@ – The user does not have permissions to use any APIs.+ apiAccess :: Prelude.Maybe ApiAccess,+ -- | The ARN identifier of an AWS user or role that is allowed to call the+ -- @GetProgrammaticAccessCredentials@ API to obtain a credentials token for+ -- a specific FinSpace user. This must be an IAM role within your FinSpace+ -- account.+ apiAccessPrincipalArn :: Prelude.Maybe Prelude.Text,+ -- | The timestamp at which the user account was created in FinSpace. The+ -- value is determined as epoch time in milliseconds.+ createTime :: Prelude.Maybe Prelude.Integer,+ -- | The email address that is associated with the user.+ emailAddress :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The first name of the user.+ firstName :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | Describes the last time the user account was disabled. The value is+ -- determined as epoch time in milliseconds.+ lastDisabledTime :: Prelude.Maybe Prelude.Integer,+ -- | Describes the last time the user account was enabled. The value is+ -- determined as epoch time in milliseconds.+ lastEnabledTime :: Prelude.Maybe Prelude.Integer,+ -- | Describes the last time that the user logged into their account. The+ -- value is determined as epoch time in milliseconds.+ lastLoginTime :: Prelude.Maybe Prelude.Integer,+ -- | Describes the last time the user account was updated. The value is+ -- determined as epoch time in milliseconds.+ lastModifiedTime :: Prelude.Maybe Prelude.Integer,+ -- | The last name of the user.+ lastName :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The current status of the user account.+ --+ -- - @CREATING@ – The user account creation is in progress.+ --+ -- - @ENABLED@ – The user account is created and is currently active.+ --+ -- - @DISABLED@ – The user account is currently inactive.+ status :: Prelude.Maybe UserStatus,+ -- | Indicates the type of user.+ --+ -- - @SUPER_USER@ – A user with permission to all the functionality and+ -- data in FinSpace.+ --+ -- - @APP_USER@ – A user with specific permissions in FinSpace. The users+ -- are assigned permissions by adding them to a permission group.+ type' :: Prelude.Maybe UserType,+ -- | The unique identifier for the user account that is retrieved.+ userId :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetUserResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'apiAccess', 'getUserResponse_apiAccess' - Indicates whether the user can use the+-- @GetProgrammaticAccessCredentials@ API to obtain credentials that can+-- then be used to access other FinSpace Data API operations.+--+-- - @ENABLED@ – The user has permissions to use the APIs.+--+-- - @DISABLED@ – The user does not have permissions to use any APIs.+--+-- 'apiAccessPrincipalArn', 'getUserResponse_apiAccessPrincipalArn' - The ARN identifier of an AWS user or role that is allowed to call the+-- @GetProgrammaticAccessCredentials@ API to obtain a credentials token for+-- a specific FinSpace user. This must be an IAM role within your FinSpace+-- account.+--+-- 'createTime', 'getUserResponse_createTime' - The timestamp at which the user account was created in FinSpace. The+-- value is determined as epoch time in milliseconds.+--+-- 'emailAddress', 'getUserResponse_emailAddress' - The email address that is associated with the user.+--+-- 'firstName', 'getUserResponse_firstName' - The first name of the user.+--+-- 'lastDisabledTime', 'getUserResponse_lastDisabledTime' - Describes the last time the user account was disabled. The value is+-- determined as epoch time in milliseconds.+--+-- 'lastEnabledTime', 'getUserResponse_lastEnabledTime' - Describes the last time the user account was enabled. The value is+-- determined as epoch time in milliseconds.+--+-- 'lastLoginTime', 'getUserResponse_lastLoginTime' - Describes the last time that the user logged into their account. The+-- value is determined as epoch time in milliseconds.+--+-- 'lastModifiedTime', 'getUserResponse_lastModifiedTime' - Describes the last time the user account was updated. The value is+-- determined as epoch time in milliseconds.+--+-- 'lastName', 'getUserResponse_lastName' - The last name of the user.+--+-- 'status', 'getUserResponse_status' - The current status of the user account.+--+-- - @CREATING@ – The user account creation is in progress.+--+-- - @ENABLED@ – The user account is created and is currently active.+--+-- - @DISABLED@ – The user account is currently inactive.+--+-- 'type'', 'getUserResponse_type' - Indicates the type of user.+--+-- - @SUPER_USER@ – A user with permission to all the functionality and+-- data in FinSpace.+--+-- - @APP_USER@ – A user with specific permissions in FinSpace. The users+-- are assigned permissions by adding them to a permission group.+--+-- 'userId', 'getUserResponse_userId' - The unique identifier for the user account that is retrieved.+--+-- 'httpStatus', 'getUserResponse_httpStatus' - The response's http status code.+newGetUserResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetUserResponse+newGetUserResponse pHttpStatus_ =+ GetUserResponse'+ { apiAccess = Prelude.Nothing,+ apiAccessPrincipalArn = Prelude.Nothing,+ createTime = Prelude.Nothing,+ emailAddress = Prelude.Nothing,+ firstName = Prelude.Nothing,+ lastDisabledTime = Prelude.Nothing,+ lastEnabledTime = Prelude.Nothing,+ lastLoginTime = Prelude.Nothing,+ lastModifiedTime = Prelude.Nothing,+ lastName = Prelude.Nothing,+ status = Prelude.Nothing,+ type' = Prelude.Nothing,+ userId = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Indicates whether the user can use the+-- @GetProgrammaticAccessCredentials@ API to obtain credentials that can+-- then be used to access other FinSpace Data API operations.+--+-- - @ENABLED@ – The user has permissions to use the APIs.+--+-- - @DISABLED@ – The user does not have permissions to use any APIs.+getUserResponse_apiAccess :: Lens.Lens' GetUserResponse (Prelude.Maybe ApiAccess)+getUserResponse_apiAccess = Lens.lens (\GetUserResponse' {apiAccess} -> apiAccess) (\s@GetUserResponse' {} a -> s {apiAccess = a} :: GetUserResponse)++-- | The ARN identifier of an AWS user or role that is allowed to call the+-- @GetProgrammaticAccessCredentials@ API to obtain a credentials token for+-- a specific FinSpace user. This must be an IAM role within your FinSpace+-- account.+getUserResponse_apiAccessPrincipalArn :: Lens.Lens' GetUserResponse (Prelude.Maybe Prelude.Text)+getUserResponse_apiAccessPrincipalArn = Lens.lens (\GetUserResponse' {apiAccessPrincipalArn} -> apiAccessPrincipalArn) (\s@GetUserResponse' {} a -> s {apiAccessPrincipalArn = a} :: GetUserResponse)++-- | The timestamp at which the user account was created in FinSpace. The+-- value is determined as epoch time in milliseconds.+getUserResponse_createTime :: Lens.Lens' GetUserResponse (Prelude.Maybe Prelude.Integer)+getUserResponse_createTime = Lens.lens (\GetUserResponse' {createTime} -> createTime) (\s@GetUserResponse' {} a -> s {createTime = a} :: GetUserResponse)++-- | The email address that is associated with the user.+getUserResponse_emailAddress :: Lens.Lens' GetUserResponse (Prelude.Maybe Prelude.Text)+getUserResponse_emailAddress = Lens.lens (\GetUserResponse' {emailAddress} -> emailAddress) (\s@GetUserResponse' {} a -> s {emailAddress = a} :: GetUserResponse) Prelude.. Lens.mapping Data._Sensitive++-- | The first name of the user.+getUserResponse_firstName :: Lens.Lens' GetUserResponse (Prelude.Maybe Prelude.Text)+getUserResponse_firstName = Lens.lens (\GetUserResponse' {firstName} -> firstName) (\s@GetUserResponse' {} a -> s {firstName = a} :: GetUserResponse) Prelude.. Lens.mapping Data._Sensitive++-- | Describes the last time the user account was disabled. The value is+-- determined as epoch time in milliseconds.+getUserResponse_lastDisabledTime :: Lens.Lens' GetUserResponse (Prelude.Maybe Prelude.Integer)+getUserResponse_lastDisabledTime = Lens.lens (\GetUserResponse' {lastDisabledTime} -> lastDisabledTime) (\s@GetUserResponse' {} a -> s {lastDisabledTime = a} :: GetUserResponse)++-- | Describes the last time the user account was enabled. The value is+-- determined as epoch time in milliseconds.+getUserResponse_lastEnabledTime :: Lens.Lens' GetUserResponse (Prelude.Maybe Prelude.Integer)+getUserResponse_lastEnabledTime = Lens.lens (\GetUserResponse' {lastEnabledTime} -> lastEnabledTime) (\s@GetUserResponse' {} a -> s {lastEnabledTime = a} :: GetUserResponse)++-- | Describes the last time that the user logged into their account. The+-- value is determined as epoch time in milliseconds.+getUserResponse_lastLoginTime :: Lens.Lens' GetUserResponse (Prelude.Maybe Prelude.Integer)+getUserResponse_lastLoginTime = Lens.lens (\GetUserResponse' {lastLoginTime} -> lastLoginTime) (\s@GetUserResponse' {} a -> s {lastLoginTime = a} :: GetUserResponse)++-- | Describes the last time the user account was updated. The value is+-- determined as epoch time in milliseconds.+getUserResponse_lastModifiedTime :: Lens.Lens' GetUserResponse (Prelude.Maybe Prelude.Integer)+getUserResponse_lastModifiedTime = Lens.lens (\GetUserResponse' {lastModifiedTime} -> lastModifiedTime) (\s@GetUserResponse' {} a -> s {lastModifiedTime = a} :: GetUserResponse)++-- | The last name of the user.+getUserResponse_lastName :: Lens.Lens' GetUserResponse (Prelude.Maybe Prelude.Text)+getUserResponse_lastName = Lens.lens (\GetUserResponse' {lastName} -> lastName) (\s@GetUserResponse' {} a -> s {lastName = a} :: GetUserResponse) Prelude.. Lens.mapping Data._Sensitive++-- | The current status of the user account.+--+-- - @CREATING@ – The user account creation is in progress.+--+-- - @ENABLED@ – The user account is created and is currently active.+--+-- - @DISABLED@ – The user account is currently inactive.+getUserResponse_status :: Lens.Lens' GetUserResponse (Prelude.Maybe UserStatus)+getUserResponse_status = Lens.lens (\GetUserResponse' {status} -> status) (\s@GetUserResponse' {} a -> s {status = a} :: GetUserResponse)++-- | Indicates the type of user.+--+-- - @SUPER_USER@ – A user with permission to all the functionality and+-- data in FinSpace.+--+-- - @APP_USER@ – A user with specific permissions in FinSpace. The users+-- are assigned permissions by adding them to a permission group.+getUserResponse_type :: Lens.Lens' GetUserResponse (Prelude.Maybe UserType)+getUserResponse_type = Lens.lens (\GetUserResponse' {type'} -> type') (\s@GetUserResponse' {} a -> s {type' = a} :: GetUserResponse)++-- | The unique identifier for the user account that is retrieved.+getUserResponse_userId :: Lens.Lens' GetUserResponse (Prelude.Maybe Prelude.Text)+getUserResponse_userId = Lens.lens (\GetUserResponse' {userId} -> userId) (\s@GetUserResponse' {} a -> s {userId = a} :: GetUserResponse)++-- | The response's http status code.+getUserResponse_httpStatus :: Lens.Lens' GetUserResponse Prelude.Int+getUserResponse_httpStatus = Lens.lens (\GetUserResponse' {httpStatus} -> httpStatus) (\s@GetUserResponse' {} a -> s {httpStatus = a} :: GetUserResponse)++instance Prelude.NFData GetUserResponse where+ rnf GetUserResponse' {..} =+ Prelude.rnf apiAccess+ `Prelude.seq` Prelude.rnf apiAccessPrincipalArn+ `Prelude.seq` Prelude.rnf createTime+ `Prelude.seq` Prelude.rnf emailAddress+ `Prelude.seq` Prelude.rnf firstName+ `Prelude.seq` Prelude.rnf lastDisabledTime+ `Prelude.seq` Prelude.rnf lastEnabledTime+ `Prelude.seq` Prelude.rnf lastLoginTime+ `Prelude.seq` Prelude.rnf lastModifiedTime+ `Prelude.seq` Prelude.rnf lastName+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf type'+ `Prelude.seq` Prelude.rnf userId+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FinSpaceData/GetWorkingLocation.hs view
@@ -0,0 +1,212 @@+{-# 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.FinSpaceData.GetWorkingLocation+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- A temporary Amazon S3 location, where you can copy your files from a+-- source location to stage or use as a scratch space in FinSpace notebook.+module Amazonka.FinSpaceData.GetWorkingLocation+ ( -- * Creating a Request+ GetWorkingLocation (..),+ newGetWorkingLocation,++ -- * Request Lenses+ getWorkingLocation_locationType,++ -- * Destructuring the Response+ GetWorkingLocationResponse (..),+ newGetWorkingLocationResponse,++ -- * Response Lenses+ getWorkingLocationResponse_s3Bucket,+ getWorkingLocationResponse_s3Path,+ getWorkingLocationResponse_s3Uri,+ getWorkingLocationResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FinSpaceData.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetWorkingLocation' smart constructor.+data GetWorkingLocation = GetWorkingLocation'+ { -- | Specify the type of the working location.+ --+ -- - @SAGEMAKER@ – Use the Amazon S3 location as a temporary location to+ -- store data content when working with FinSpace Notebooks that run on+ -- SageMaker studio.+ --+ -- - @INGESTION@ – Use the Amazon S3 location as a staging location to+ -- copy your data content and then use the location with the Changeset+ -- creation operation.+ locationType :: Prelude.Maybe LocationType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetWorkingLocation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'locationType', 'getWorkingLocation_locationType' - Specify the type of the working location.+--+-- - @SAGEMAKER@ – Use the Amazon S3 location as a temporary location to+-- store data content when working with FinSpace Notebooks that run on+-- SageMaker studio.+--+-- - @INGESTION@ – Use the Amazon S3 location as a staging location to+-- copy your data content and then use the location with the Changeset+-- creation operation.+newGetWorkingLocation ::+ GetWorkingLocation+newGetWorkingLocation =+ GetWorkingLocation' {locationType = Prelude.Nothing}++-- | Specify the type of the working location.+--+-- - @SAGEMAKER@ – Use the Amazon S3 location as a temporary location to+-- store data content when working with FinSpace Notebooks that run on+-- SageMaker studio.+--+-- - @INGESTION@ – Use the Amazon S3 location as a staging location to+-- copy your data content and then use the location with the Changeset+-- creation operation.+getWorkingLocation_locationType :: Lens.Lens' GetWorkingLocation (Prelude.Maybe LocationType)+getWorkingLocation_locationType = Lens.lens (\GetWorkingLocation' {locationType} -> locationType) (\s@GetWorkingLocation' {} a -> s {locationType = a} :: GetWorkingLocation)++instance Core.AWSRequest GetWorkingLocation where+ type+ AWSResponse GetWorkingLocation =+ GetWorkingLocationResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetWorkingLocationResponse'+ Prelude.<$> (x Data..?> "s3Bucket")+ Prelude.<*> (x Data..?> "s3Path")+ Prelude.<*> (x Data..?> "s3Uri")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetWorkingLocation where+ hashWithSalt _salt GetWorkingLocation' {..} =+ _salt `Prelude.hashWithSalt` locationType++instance Prelude.NFData GetWorkingLocation where+ rnf GetWorkingLocation' {..} =+ Prelude.rnf locationType++instance Data.ToHeaders GetWorkingLocation where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON GetWorkingLocation where+ toJSON GetWorkingLocation' {..} =+ Data.object+ ( Prelude.catMaybes+ [("locationType" Data..=) Prelude.<$> locationType]+ )++instance Data.ToPath GetWorkingLocation where+ toPath = Prelude.const "/workingLocationV1"++instance Data.ToQuery GetWorkingLocation where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetWorkingLocationResponse' smart constructor.+data GetWorkingLocationResponse = GetWorkingLocationResponse'+ { -- | Returns the Amazon S3 bucket name for the working location.+ s3Bucket :: Prelude.Maybe Prelude.Text,+ -- | Returns the Amazon S3 Path for the working location.+ s3Path :: Prelude.Maybe Prelude.Text,+ -- | Returns the Amazon S3 URI for the working location.+ s3Uri :: 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 'GetWorkingLocationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 's3Bucket', 'getWorkingLocationResponse_s3Bucket' - Returns the Amazon S3 bucket name for the working location.+--+-- 's3Path', 'getWorkingLocationResponse_s3Path' - Returns the Amazon S3 Path for the working location.+--+-- 's3Uri', 'getWorkingLocationResponse_s3Uri' - Returns the Amazon S3 URI for the working location.+--+-- 'httpStatus', 'getWorkingLocationResponse_httpStatus' - The response's http status code.+newGetWorkingLocationResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetWorkingLocationResponse+newGetWorkingLocationResponse pHttpStatus_ =+ GetWorkingLocationResponse'+ { s3Bucket =+ Prelude.Nothing,+ s3Path = Prelude.Nothing,+ s3Uri = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Returns the Amazon S3 bucket name for the working location.+getWorkingLocationResponse_s3Bucket :: Lens.Lens' GetWorkingLocationResponse (Prelude.Maybe Prelude.Text)+getWorkingLocationResponse_s3Bucket = Lens.lens (\GetWorkingLocationResponse' {s3Bucket} -> s3Bucket) (\s@GetWorkingLocationResponse' {} a -> s {s3Bucket = a} :: GetWorkingLocationResponse)++-- | Returns the Amazon S3 Path for the working location.+getWorkingLocationResponse_s3Path :: Lens.Lens' GetWorkingLocationResponse (Prelude.Maybe Prelude.Text)+getWorkingLocationResponse_s3Path = Lens.lens (\GetWorkingLocationResponse' {s3Path} -> s3Path) (\s@GetWorkingLocationResponse' {} a -> s {s3Path = a} :: GetWorkingLocationResponse)++-- | Returns the Amazon S3 URI for the working location.+getWorkingLocationResponse_s3Uri :: Lens.Lens' GetWorkingLocationResponse (Prelude.Maybe Prelude.Text)+getWorkingLocationResponse_s3Uri = Lens.lens (\GetWorkingLocationResponse' {s3Uri} -> s3Uri) (\s@GetWorkingLocationResponse' {} a -> s {s3Uri = a} :: GetWorkingLocationResponse)++-- | The response's http status code.+getWorkingLocationResponse_httpStatus :: Lens.Lens' GetWorkingLocationResponse Prelude.Int+getWorkingLocationResponse_httpStatus = Lens.lens (\GetWorkingLocationResponse' {httpStatus} -> httpStatus) (\s@GetWorkingLocationResponse' {} a -> s {httpStatus = a} :: GetWorkingLocationResponse)++instance Prelude.NFData GetWorkingLocationResponse where+ rnf GetWorkingLocationResponse' {..} =+ Prelude.rnf s3Bucket+ `Prelude.seq` Prelude.rnf s3Path+ `Prelude.seq` Prelude.rnf s3Uri+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FinSpaceData/Lens.hs view
@@ -0,0 +1,485 @@+{-# 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.FinSpaceData.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.FinSpaceData.Lens+ ( -- * Operations++ -- ** AssociateUserToPermissionGroup+ associateUserToPermissionGroup_clientToken,+ associateUserToPermissionGroup_permissionGroupId,+ associateUserToPermissionGroup_userId,+ associateUserToPermissionGroupResponse_statusCode,++ -- ** CreateChangeset+ createChangeset_clientToken,+ createChangeset_datasetId,+ createChangeset_changeType,+ createChangeset_sourceParams,+ createChangeset_formatParams,+ createChangesetResponse_changesetId,+ createChangesetResponse_datasetId,+ createChangesetResponse_httpStatus,++ -- ** CreateDataView+ createDataView_asOfTimestamp,+ createDataView_autoUpdate,+ createDataView_clientToken,+ createDataView_partitionColumns,+ createDataView_sortColumns,+ createDataView_datasetId,+ createDataView_destinationTypeParams,+ createDataViewResponse_dataViewId,+ createDataViewResponse_datasetId,+ createDataViewResponse_httpStatus,++ -- ** CreateDataset+ createDataset_alias,+ createDataset_clientToken,+ createDataset_datasetDescription,+ createDataset_ownerInfo,+ createDataset_schemaDefinition,+ createDataset_datasetTitle,+ createDataset_kind,+ createDataset_permissionGroupParams,+ createDatasetResponse_datasetId,+ createDatasetResponse_httpStatus,++ -- ** CreatePermissionGroup+ createPermissionGroup_clientToken,+ createPermissionGroup_description,+ createPermissionGroup_name,+ createPermissionGroup_applicationPermissions,+ createPermissionGroupResponse_permissionGroupId,+ createPermissionGroupResponse_httpStatus,++ -- ** CreateUser+ createUser_apiAccess,+ createUser_apiAccessPrincipalArn,+ createUser_clientToken,+ createUser_firstName,+ createUser_lastName,+ createUser_emailAddress,+ createUser_type,+ createUserResponse_userId,+ createUserResponse_httpStatus,++ -- ** DeleteDataset+ deleteDataset_clientToken,+ deleteDataset_datasetId,+ deleteDatasetResponse_datasetId,+ deleteDatasetResponse_httpStatus,++ -- ** DeletePermissionGroup+ deletePermissionGroup_clientToken,+ deletePermissionGroup_permissionGroupId,+ deletePermissionGroupResponse_permissionGroupId,+ deletePermissionGroupResponse_httpStatus,++ -- ** DisableUser+ disableUser_clientToken,+ disableUser_userId,+ disableUserResponse_userId,+ disableUserResponse_httpStatus,++ -- ** DisassociateUserFromPermissionGroup+ disassociateUserFromPermissionGroup_clientToken,+ disassociateUserFromPermissionGroup_permissionGroupId,+ disassociateUserFromPermissionGroup_userId,+ disassociateUserFromPermissionGroupResponse_statusCode,++ -- ** EnableUser+ enableUser_clientToken,+ enableUser_userId,+ enableUserResponse_userId,+ enableUserResponse_httpStatus,++ -- ** GetChangeset+ getChangeset_datasetId,+ getChangeset_changesetId,+ getChangesetResponse_activeFromTimestamp,+ getChangesetResponse_activeUntilTimestamp,+ getChangesetResponse_changeType,+ getChangesetResponse_changesetArn,+ getChangesetResponse_changesetId,+ getChangesetResponse_createTime,+ getChangesetResponse_datasetId,+ getChangesetResponse_errorInfo,+ getChangesetResponse_formatParams,+ getChangesetResponse_sourceParams,+ getChangesetResponse_status,+ getChangesetResponse_updatedByChangesetId,+ getChangesetResponse_updatesChangesetId,+ getChangesetResponse_httpStatus,++ -- ** GetDataView+ getDataView_dataViewId,+ getDataView_datasetId,+ getDataViewResponse_asOfTimestamp,+ getDataViewResponse_autoUpdate,+ getDataViewResponse_createTime,+ getDataViewResponse_dataViewArn,+ getDataViewResponse_dataViewId,+ getDataViewResponse_datasetId,+ getDataViewResponse_destinationTypeParams,+ getDataViewResponse_errorInfo,+ getDataViewResponse_lastModifiedTime,+ getDataViewResponse_partitionColumns,+ getDataViewResponse_sortColumns,+ getDataViewResponse_status,+ getDataViewResponse_httpStatus,++ -- ** GetDataset+ getDataset_datasetId,+ getDatasetResponse_alias,+ getDatasetResponse_createTime,+ getDatasetResponse_datasetArn,+ getDatasetResponse_datasetDescription,+ getDatasetResponse_datasetId,+ getDatasetResponse_datasetTitle,+ getDatasetResponse_kind,+ getDatasetResponse_lastModifiedTime,+ getDatasetResponse_schemaDefinition,+ getDatasetResponse_status,+ getDatasetResponse_httpStatus,++ -- ** GetExternalDataViewAccessDetails+ getExternalDataViewAccessDetails_dataViewId,+ getExternalDataViewAccessDetails_datasetId,+ getExternalDataViewAccessDetailsResponse_credentials,+ getExternalDataViewAccessDetailsResponse_s3Location,+ getExternalDataViewAccessDetailsResponse_httpStatus,++ -- ** GetPermissionGroup+ getPermissionGroup_permissionGroupId,+ getPermissionGroupResponse_permissionGroup,+ getPermissionGroupResponse_httpStatus,++ -- ** GetProgrammaticAccessCredentials+ getProgrammaticAccessCredentials_durationInMinutes,+ getProgrammaticAccessCredentials_environmentId,+ getProgrammaticAccessCredentialsResponse_credentials,+ getProgrammaticAccessCredentialsResponse_durationInMinutes,+ getProgrammaticAccessCredentialsResponse_httpStatus,++ -- ** GetUser+ getUser_userId,+ getUserResponse_apiAccess,+ getUserResponse_apiAccessPrincipalArn,+ getUserResponse_createTime,+ getUserResponse_emailAddress,+ getUserResponse_firstName,+ getUserResponse_lastDisabledTime,+ getUserResponse_lastEnabledTime,+ getUserResponse_lastLoginTime,+ getUserResponse_lastModifiedTime,+ getUserResponse_lastName,+ getUserResponse_status,+ getUserResponse_type,+ getUserResponse_userId,+ getUserResponse_httpStatus,++ -- ** GetWorkingLocation+ getWorkingLocation_locationType,+ getWorkingLocationResponse_s3Bucket,+ getWorkingLocationResponse_s3Path,+ getWorkingLocationResponse_s3Uri,+ getWorkingLocationResponse_httpStatus,++ -- ** ListChangesets+ listChangesets_maxResults,+ listChangesets_nextToken,+ listChangesets_datasetId,+ listChangesetsResponse_changesets,+ listChangesetsResponse_nextToken,+ listChangesetsResponse_httpStatus,++ -- ** ListDataViews+ listDataViews_maxResults,+ listDataViews_nextToken,+ listDataViews_datasetId,+ listDataViewsResponse_dataViews,+ listDataViewsResponse_nextToken,+ listDataViewsResponse_httpStatus,++ -- ** ListDatasets+ listDatasets_maxResults,+ listDatasets_nextToken,+ listDatasetsResponse_datasets,+ listDatasetsResponse_nextToken,+ listDatasetsResponse_httpStatus,++ -- ** ListPermissionGroups+ listPermissionGroups_nextToken,+ listPermissionGroups_maxResults,+ listPermissionGroupsResponse_nextToken,+ listPermissionGroupsResponse_permissionGroups,+ listPermissionGroupsResponse_httpStatus,++ -- ** ListPermissionGroupsByUser+ listPermissionGroupsByUser_nextToken,+ listPermissionGroupsByUser_userId,+ listPermissionGroupsByUser_maxResults,+ listPermissionGroupsByUserResponse_nextToken,+ listPermissionGroupsByUserResponse_permissionGroups,+ listPermissionGroupsByUserResponse_httpStatus,++ -- ** ListUsers+ listUsers_nextToken,+ listUsers_maxResults,+ listUsersResponse_nextToken,+ listUsersResponse_users,+ listUsersResponse_httpStatus,++ -- ** ListUsersByPermissionGroup+ listUsersByPermissionGroup_nextToken,+ listUsersByPermissionGroup_permissionGroupId,+ listUsersByPermissionGroup_maxResults,+ listUsersByPermissionGroupResponse_nextToken,+ listUsersByPermissionGroupResponse_users,+ listUsersByPermissionGroupResponse_httpStatus,++ -- ** ResetUserPassword+ resetUserPassword_clientToken,+ resetUserPassword_userId,+ resetUserPasswordResponse_temporaryPassword,+ resetUserPasswordResponse_userId,+ resetUserPasswordResponse_httpStatus,++ -- ** UpdateChangeset+ updateChangeset_clientToken,+ updateChangeset_datasetId,+ updateChangeset_changesetId,+ updateChangeset_sourceParams,+ updateChangeset_formatParams,+ updateChangesetResponse_changesetId,+ updateChangesetResponse_datasetId,+ updateChangesetResponse_httpStatus,++ -- ** UpdateDataset+ updateDataset_alias,+ updateDataset_clientToken,+ updateDataset_datasetDescription,+ updateDataset_schemaDefinition,+ updateDataset_datasetId,+ updateDataset_datasetTitle,+ updateDataset_kind,+ updateDatasetResponse_datasetId,+ updateDatasetResponse_httpStatus,++ -- ** UpdatePermissionGroup+ updatePermissionGroup_applicationPermissions,+ updatePermissionGroup_clientToken,+ updatePermissionGroup_description,+ updatePermissionGroup_name,+ updatePermissionGroup_permissionGroupId,+ updatePermissionGroupResponse_permissionGroupId,+ updatePermissionGroupResponse_httpStatus,++ -- ** UpdateUser+ updateUser_apiAccess,+ updateUser_apiAccessPrincipalArn,+ updateUser_clientToken,+ updateUser_firstName,+ updateUser_lastName,+ updateUser_type,+ updateUser_userId,+ updateUserResponse_userId,+ updateUserResponse_httpStatus,++ -- * Types++ -- ** AwsCredentials+ awsCredentials_accessKeyId,+ awsCredentials_expiration,+ awsCredentials_secretAccessKey,+ awsCredentials_sessionToken,++ -- ** ChangesetErrorInfo+ changesetErrorInfo_errorCategory,+ changesetErrorInfo_errorMessage,++ -- ** ChangesetSummary+ changesetSummary_activeFromTimestamp,+ changesetSummary_activeUntilTimestamp,+ changesetSummary_changeType,+ changesetSummary_changesetArn,+ changesetSummary_changesetId,+ changesetSummary_createTime,+ changesetSummary_datasetId,+ changesetSummary_errorInfo,+ changesetSummary_formatParams,+ changesetSummary_sourceParams,+ changesetSummary_status,+ changesetSummary_updatedByChangesetId,+ changesetSummary_updatesChangesetId,++ -- ** ColumnDefinition+ columnDefinition_columnDescription,+ columnDefinition_columnName,+ columnDefinition_dataType,++ -- ** Credentials+ credentials_accessKeyId,+ credentials_secretAccessKey,+ credentials_sessionToken,++ -- ** DataViewDestinationTypeParams+ dataViewDestinationTypeParams_s3DestinationExportFileFormat,+ dataViewDestinationTypeParams_s3DestinationExportFileFormatOptions,+ dataViewDestinationTypeParams_destinationType,++ -- ** DataViewErrorInfo+ dataViewErrorInfo_errorCategory,+ dataViewErrorInfo_errorMessage,++ -- ** DataViewSummary+ dataViewSummary_asOfTimestamp,+ dataViewSummary_autoUpdate,+ dataViewSummary_createTime,+ dataViewSummary_dataViewArn,+ dataViewSummary_dataViewId,+ dataViewSummary_datasetId,+ dataViewSummary_destinationTypeProperties,+ dataViewSummary_errorInfo,+ dataViewSummary_lastModifiedTime,+ dataViewSummary_partitionColumns,+ dataViewSummary_sortColumns,+ dataViewSummary_status,++ -- ** Dataset+ dataset_alias,+ dataset_createTime,+ dataset_datasetArn,+ dataset_datasetDescription,+ dataset_datasetId,+ dataset_datasetTitle,+ dataset_kind,+ dataset_lastModifiedTime,+ dataset_ownerInfo,+ dataset_schemaDefinition,++ -- ** DatasetOwnerInfo+ datasetOwnerInfo_email,+ datasetOwnerInfo_name,+ datasetOwnerInfo_phoneNumber,++ -- ** PermissionGroup+ permissionGroup_applicationPermissions,+ permissionGroup_createTime,+ permissionGroup_description,+ permissionGroup_lastModifiedTime,+ permissionGroup_membershipStatus,+ permissionGroup_name,+ permissionGroup_permissionGroupId,++ -- ** PermissionGroupByUser+ permissionGroupByUser_membershipStatus,+ permissionGroupByUser_name,+ permissionGroupByUser_permissionGroupId,++ -- ** PermissionGroupParams+ permissionGroupParams_datasetPermissions,+ permissionGroupParams_permissionGroupId,++ -- ** ResourcePermission+ resourcePermission_permission,++ -- ** S3Location+ s3Location_bucket,+ s3Location_key,++ -- ** SchemaDefinition+ schemaDefinition_columns,+ schemaDefinition_primaryKeyColumns,++ -- ** SchemaUnion+ schemaUnion_tabularSchemaConfig,++ -- ** User+ user_apiAccess,+ user_apiAccessPrincipalArn,+ user_createTime,+ user_emailAddress,+ user_firstName,+ user_lastDisabledTime,+ user_lastEnabledTime,+ user_lastLoginTime,+ user_lastModifiedTime,+ user_lastName,+ user_status,+ user_type,+ user_userId,++ -- ** UserByPermissionGroup+ userByPermissionGroup_apiAccess,+ userByPermissionGroup_apiAccessPrincipalArn,+ userByPermissionGroup_emailAddress,+ userByPermissionGroup_firstName,+ userByPermissionGroup_lastName,+ userByPermissionGroup_membershipStatus,+ userByPermissionGroup_status,+ userByPermissionGroup_type,+ userByPermissionGroup_userId,+ )+where++import Amazonka.FinSpaceData.AssociateUserToPermissionGroup+import Amazonka.FinSpaceData.CreateChangeset+import Amazonka.FinSpaceData.CreateDataView+import Amazonka.FinSpaceData.CreateDataset+import Amazonka.FinSpaceData.CreatePermissionGroup+import Amazonka.FinSpaceData.CreateUser+import Amazonka.FinSpaceData.DeleteDataset+import Amazonka.FinSpaceData.DeletePermissionGroup+import Amazonka.FinSpaceData.DisableUser+import Amazonka.FinSpaceData.DisassociateUserFromPermissionGroup+import Amazonka.FinSpaceData.EnableUser+import Amazonka.FinSpaceData.GetChangeset+import Amazonka.FinSpaceData.GetDataView+import Amazonka.FinSpaceData.GetDataset+import Amazonka.FinSpaceData.GetExternalDataViewAccessDetails+import Amazonka.FinSpaceData.GetPermissionGroup+import Amazonka.FinSpaceData.GetProgrammaticAccessCredentials+import Amazonka.FinSpaceData.GetUser+import Amazonka.FinSpaceData.GetWorkingLocation+import Amazonka.FinSpaceData.ListChangesets+import Amazonka.FinSpaceData.ListDataViews+import Amazonka.FinSpaceData.ListDatasets+import Amazonka.FinSpaceData.ListPermissionGroups+import Amazonka.FinSpaceData.ListPermissionGroupsByUser+import Amazonka.FinSpaceData.ListUsers+import Amazonka.FinSpaceData.ListUsersByPermissionGroup+import Amazonka.FinSpaceData.ResetUserPassword+import Amazonka.FinSpaceData.Types.AwsCredentials+import Amazonka.FinSpaceData.Types.ChangesetErrorInfo+import Amazonka.FinSpaceData.Types.ChangesetSummary+import Amazonka.FinSpaceData.Types.ColumnDefinition+import Amazonka.FinSpaceData.Types.Credentials+import Amazonka.FinSpaceData.Types.DataViewDestinationTypeParams+import Amazonka.FinSpaceData.Types.DataViewErrorInfo+import Amazonka.FinSpaceData.Types.DataViewSummary+import Amazonka.FinSpaceData.Types.Dataset+import Amazonka.FinSpaceData.Types.DatasetOwnerInfo+import Amazonka.FinSpaceData.Types.PermissionGroup+import Amazonka.FinSpaceData.Types.PermissionGroupByUser+import Amazonka.FinSpaceData.Types.PermissionGroupParams+import Amazonka.FinSpaceData.Types.ResourcePermission+import Amazonka.FinSpaceData.Types.S3Location+import Amazonka.FinSpaceData.Types.SchemaDefinition+import Amazonka.FinSpaceData.Types.SchemaUnion+import Amazonka.FinSpaceData.Types.User+import Amazonka.FinSpaceData.Types.UserByPermissionGroup+import Amazonka.FinSpaceData.UpdateChangeset+import Amazonka.FinSpaceData.UpdateDataset+import Amazonka.FinSpaceData.UpdatePermissionGroup+import Amazonka.FinSpaceData.UpdateUser
+ gen/Amazonka/FinSpaceData/ListChangesets.hs view
@@ -0,0 +1,235 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FinSpaceData.ListChangesets+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the FinSpace Changesets for a Dataset.+--+-- This operation returns paginated results.+module Amazonka.FinSpaceData.ListChangesets+ ( -- * Creating a Request+ ListChangesets (..),+ newListChangesets,++ -- * Request Lenses+ listChangesets_maxResults,+ listChangesets_nextToken,+ listChangesets_datasetId,++ -- * Destructuring the Response+ ListChangesetsResponse (..),+ newListChangesetsResponse,++ -- * Response Lenses+ listChangesetsResponse_changesets,+ listChangesetsResponse_nextToken,+ listChangesetsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FinSpaceData.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | Request to ListChangesetsRequest. It exposes minimal query filters.+--+-- /See:/ 'newListChangesets' smart constructor.+data ListChangesets = ListChangesets'+ { -- | The maximum number of results per page.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | A token that indicates where a results page should begin.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for the FinSpace Dataset to which the Changeset+ -- belongs.+ datasetId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListChangesets' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listChangesets_maxResults' - The maximum number of results per page.+--+-- 'nextToken', 'listChangesets_nextToken' - A token that indicates where a results page should begin.+--+-- 'datasetId', 'listChangesets_datasetId' - The unique identifier for the FinSpace Dataset to which the Changeset+-- belongs.+newListChangesets ::+ -- | 'datasetId'+ Prelude.Text ->+ ListChangesets+newListChangesets pDatasetId_ =+ ListChangesets'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ datasetId = pDatasetId_+ }++-- | The maximum number of results per page.+listChangesets_maxResults :: Lens.Lens' ListChangesets (Prelude.Maybe Prelude.Natural)+listChangesets_maxResults = Lens.lens (\ListChangesets' {maxResults} -> maxResults) (\s@ListChangesets' {} a -> s {maxResults = a} :: ListChangesets)++-- | A token that indicates where a results page should begin.+listChangesets_nextToken :: Lens.Lens' ListChangesets (Prelude.Maybe Prelude.Text)+listChangesets_nextToken = Lens.lens (\ListChangesets' {nextToken} -> nextToken) (\s@ListChangesets' {} a -> s {nextToken = a} :: ListChangesets)++-- | The unique identifier for the FinSpace Dataset to which the Changeset+-- belongs.+listChangesets_datasetId :: Lens.Lens' ListChangesets Prelude.Text+listChangesets_datasetId = Lens.lens (\ListChangesets' {datasetId} -> datasetId) (\s@ListChangesets' {} a -> s {datasetId = a} :: ListChangesets)++instance Core.AWSPager ListChangesets where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listChangesetsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listChangesetsResponse_changesets+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listChangesets_nextToken+ Lens..~ rs+ Lens.^? listChangesetsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListChangesets where+ type+ AWSResponse ListChangesets =+ ListChangesetsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListChangesetsResponse'+ Prelude.<$> (x Data..?> "changesets" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListChangesets where+ hashWithSalt _salt ListChangesets' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` datasetId++instance Prelude.NFData ListChangesets where+ rnf ListChangesets' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf datasetId++instance Data.ToHeaders ListChangesets where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListChangesets where+ toPath ListChangesets' {..} =+ Prelude.mconcat+ ["/datasets/", Data.toBS datasetId, "/changesetsv2"]++instance Data.ToQuery ListChangesets where+ toQuery ListChangesets' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken+ ]++-- | Response to ListChangesetsResponse. This returns a list of dataset+-- changesets that match the query criteria.+--+-- /See:/ 'newListChangesetsResponse' smart constructor.+data ListChangesetsResponse = ListChangesetsResponse'+ { -- | List of Changesets found.+ changesets :: Prelude.Maybe [ChangesetSummary],+ -- | A token that indicates where a results page should begin.+ 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 'ListChangesetsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'changesets', 'listChangesetsResponse_changesets' - List of Changesets found.+--+-- 'nextToken', 'listChangesetsResponse_nextToken' - A token that indicates where a results page should begin.+--+-- 'httpStatus', 'listChangesetsResponse_httpStatus' - The response's http status code.+newListChangesetsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListChangesetsResponse+newListChangesetsResponse pHttpStatus_ =+ ListChangesetsResponse'+ { changesets =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | List of Changesets found.+listChangesetsResponse_changesets :: Lens.Lens' ListChangesetsResponse (Prelude.Maybe [ChangesetSummary])+listChangesetsResponse_changesets = Lens.lens (\ListChangesetsResponse' {changesets} -> changesets) (\s@ListChangesetsResponse' {} a -> s {changesets = a} :: ListChangesetsResponse) Prelude.. Lens.mapping Lens.coerced++-- | A token that indicates where a results page should begin.+listChangesetsResponse_nextToken :: Lens.Lens' ListChangesetsResponse (Prelude.Maybe Prelude.Text)+listChangesetsResponse_nextToken = Lens.lens (\ListChangesetsResponse' {nextToken} -> nextToken) (\s@ListChangesetsResponse' {} a -> s {nextToken = a} :: ListChangesetsResponse)++-- | The response's http status code.+listChangesetsResponse_httpStatus :: Lens.Lens' ListChangesetsResponse Prelude.Int+listChangesetsResponse_httpStatus = Lens.lens (\ListChangesetsResponse' {httpStatus} -> httpStatus) (\s@ListChangesetsResponse' {} a -> s {httpStatus = a} :: ListChangesetsResponse)++instance Prelude.NFData ListChangesetsResponse where+ rnf ListChangesetsResponse' {..} =+ Prelude.rnf changesets+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FinSpaceData/ListDataViews.hs view
@@ -0,0 +1,228 @@+{-# 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.FinSpaceData.ListDataViews+-- 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 available Dataviews for a Dataset.+--+-- This operation returns paginated results.+module Amazonka.FinSpaceData.ListDataViews+ ( -- * Creating a Request+ ListDataViews (..),+ newListDataViews,++ -- * Request Lenses+ listDataViews_maxResults,+ listDataViews_nextToken,+ listDataViews_datasetId,++ -- * Destructuring the Response+ ListDataViewsResponse (..),+ newListDataViewsResponse,++ -- * Response Lenses+ listDataViewsResponse_dataViews,+ listDataViewsResponse_nextToken,+ listDataViewsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FinSpaceData.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | Request for a list data views.+--+-- /See:/ 'newListDataViews' smart constructor.+data ListDataViews = ListDataViews'+ { -- | The maximum number of results per page.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | A token that indicates where a results page should begin.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier of the Dataset for which to retrieve Dataviews.+ datasetId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListDataViews' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listDataViews_maxResults' - The maximum number of results per page.+--+-- 'nextToken', 'listDataViews_nextToken' - A token that indicates where a results page should begin.+--+-- 'datasetId', 'listDataViews_datasetId' - The unique identifier of the Dataset for which to retrieve Dataviews.+newListDataViews ::+ -- | 'datasetId'+ Prelude.Text ->+ ListDataViews+newListDataViews pDatasetId_ =+ ListDataViews'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ datasetId = pDatasetId_+ }++-- | The maximum number of results per page.+listDataViews_maxResults :: Lens.Lens' ListDataViews (Prelude.Maybe Prelude.Natural)+listDataViews_maxResults = Lens.lens (\ListDataViews' {maxResults} -> maxResults) (\s@ListDataViews' {} a -> s {maxResults = a} :: ListDataViews)++-- | A token that indicates where a results page should begin.+listDataViews_nextToken :: Lens.Lens' ListDataViews (Prelude.Maybe Prelude.Text)+listDataViews_nextToken = Lens.lens (\ListDataViews' {nextToken} -> nextToken) (\s@ListDataViews' {} a -> s {nextToken = a} :: ListDataViews)++-- | The unique identifier of the Dataset for which to retrieve Dataviews.+listDataViews_datasetId :: Lens.Lens' ListDataViews Prelude.Text+listDataViews_datasetId = Lens.lens (\ListDataViews' {datasetId} -> datasetId) (\s@ListDataViews' {} a -> s {datasetId = a} :: ListDataViews)++instance Core.AWSPager ListDataViews where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listDataViewsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listDataViewsResponse_dataViews+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listDataViews_nextToken+ Lens..~ rs+ Lens.^? listDataViewsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListDataViews where+ type+ AWSResponse ListDataViews =+ ListDataViewsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListDataViewsResponse'+ Prelude.<$> (x Data..?> "dataViews" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListDataViews where+ hashWithSalt _salt ListDataViews' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` datasetId++instance Prelude.NFData ListDataViews where+ rnf ListDataViews' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf datasetId++instance Data.ToHeaders ListDataViews where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListDataViews where+ toPath ListDataViews' {..} =+ Prelude.mconcat+ ["/datasets/", Data.toBS datasetId, "/dataviewsv2"]++instance Data.ToQuery ListDataViews where+ toQuery ListDataViews' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken+ ]++-- | /See:/ 'newListDataViewsResponse' smart constructor.+data ListDataViewsResponse = ListDataViewsResponse'+ { -- | A list of Dataviews.+ dataViews :: Prelude.Maybe [DataViewSummary],+ -- | A token that indicates where a results page should begin.+ 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 'ListDataViewsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataViews', 'listDataViewsResponse_dataViews' - A list of Dataviews.+--+-- 'nextToken', 'listDataViewsResponse_nextToken' - A token that indicates where a results page should begin.+--+-- 'httpStatus', 'listDataViewsResponse_httpStatus' - The response's http status code.+newListDataViewsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListDataViewsResponse+newListDataViewsResponse pHttpStatus_ =+ ListDataViewsResponse'+ { dataViews = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A list of Dataviews.+listDataViewsResponse_dataViews :: Lens.Lens' ListDataViewsResponse (Prelude.Maybe [DataViewSummary])+listDataViewsResponse_dataViews = Lens.lens (\ListDataViewsResponse' {dataViews} -> dataViews) (\s@ListDataViewsResponse' {} a -> s {dataViews = a} :: ListDataViewsResponse) Prelude.. Lens.mapping Lens.coerced++-- | A token that indicates where a results page should begin.+listDataViewsResponse_nextToken :: Lens.Lens' ListDataViewsResponse (Prelude.Maybe Prelude.Text)+listDataViewsResponse_nextToken = Lens.lens (\ListDataViewsResponse' {nextToken} -> nextToken) (\s@ListDataViewsResponse' {} a -> s {nextToken = a} :: ListDataViewsResponse)++-- | The response's http status code.+listDataViewsResponse_httpStatus :: Lens.Lens' ListDataViewsResponse Prelude.Int+listDataViewsResponse_httpStatus = Lens.lens (\ListDataViewsResponse' {httpStatus} -> httpStatus) (\s@ListDataViewsResponse' {} a -> s {httpStatus = a} :: ListDataViewsResponse)++instance Prelude.NFData ListDataViewsResponse where+ rnf ListDataViewsResponse' {..} =+ Prelude.rnf dataViews+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FinSpaceData/ListDatasets.hs view
@@ -0,0 +1,212 @@+{-# 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.FinSpaceData.ListDatasets+-- 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 of the active Datasets that a user has access to.+--+-- This operation returns paginated results.+module Amazonka.FinSpaceData.ListDatasets+ ( -- * Creating a Request+ ListDatasets (..),+ newListDatasets,++ -- * Request Lenses+ listDatasets_maxResults,+ listDatasets_nextToken,++ -- * Destructuring the Response+ ListDatasetsResponse (..),+ newListDatasetsResponse,++ -- * Response Lenses+ listDatasetsResponse_datasets,+ listDatasetsResponse_nextToken,+ listDatasetsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FinSpaceData.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | Request for the ListDatasets operation.+--+-- /See:/ 'newListDatasets' smart constructor.+data ListDatasets = ListDatasets'+ { -- | The maximum number of results per page.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | A token that indicates where a results page should begin.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListDatasets' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listDatasets_maxResults' - The maximum number of results per page.+--+-- 'nextToken', 'listDatasets_nextToken' - A token that indicates where a results page should begin.+newListDatasets ::+ ListDatasets+newListDatasets =+ ListDatasets'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | The maximum number of results per page.+listDatasets_maxResults :: Lens.Lens' ListDatasets (Prelude.Maybe Prelude.Natural)+listDatasets_maxResults = Lens.lens (\ListDatasets' {maxResults} -> maxResults) (\s@ListDatasets' {} a -> s {maxResults = a} :: ListDatasets)++-- | A token that indicates where a results page should begin.+listDatasets_nextToken :: Lens.Lens' ListDatasets (Prelude.Maybe Prelude.Text)+listDatasets_nextToken = Lens.lens (\ListDatasets' {nextToken} -> nextToken) (\s@ListDatasets' {} a -> s {nextToken = a} :: ListDatasets)++instance Core.AWSPager ListDatasets where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listDatasetsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listDatasetsResponse_datasets+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listDatasets_nextToken+ Lens..~ rs+ Lens.^? listDatasetsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListDatasets where+ type AWSResponse ListDatasets = ListDatasetsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListDatasetsResponse'+ Prelude.<$> (x Data..?> "datasets" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListDatasets where+ hashWithSalt _salt ListDatasets' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListDatasets where+ rnf ListDatasets' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListDatasets where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListDatasets where+ toPath = Prelude.const "/datasetsv2"++instance Data.ToQuery ListDatasets where+ toQuery ListDatasets' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken+ ]++-- | Response for the ListDatasets operation+--+-- /See:/ 'newListDatasetsResponse' smart constructor.+data ListDatasetsResponse = ListDatasetsResponse'+ { -- | List of Datasets.+ datasets :: Prelude.Maybe [Dataset],+ -- | A token that indicates where a results page should begin.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListDatasetsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'datasets', 'listDatasetsResponse_datasets' - List of Datasets.+--+-- 'nextToken', 'listDatasetsResponse_nextToken' - A token that indicates where a results page should begin.+--+-- 'httpStatus', 'listDatasetsResponse_httpStatus' - The response's http status code.+newListDatasetsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListDatasetsResponse+newListDatasetsResponse pHttpStatus_ =+ ListDatasetsResponse'+ { datasets = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | List of Datasets.+listDatasetsResponse_datasets :: Lens.Lens' ListDatasetsResponse (Prelude.Maybe [Dataset])+listDatasetsResponse_datasets = Lens.lens (\ListDatasetsResponse' {datasets} -> datasets) (\s@ListDatasetsResponse' {} a -> s {datasets = a} :: ListDatasetsResponse) Prelude.. Lens.mapping Lens.coerced++-- | A token that indicates where a results page should begin.+listDatasetsResponse_nextToken :: Lens.Lens' ListDatasetsResponse (Prelude.Maybe Prelude.Text)+listDatasetsResponse_nextToken = Lens.lens (\ListDatasetsResponse' {nextToken} -> nextToken) (\s@ListDatasetsResponse' {} a -> s {nextToken = a} :: ListDatasetsResponse)++-- | The response's http status code.+listDatasetsResponse_httpStatus :: Lens.Lens' ListDatasetsResponse Prelude.Int+listDatasetsResponse_httpStatus = Lens.lens (\ListDatasetsResponse' {httpStatus} -> httpStatus) (\s@ListDatasetsResponse' {} a -> s {httpStatus = a} :: ListDatasetsResponse)++instance Prelude.NFData ListDatasetsResponse where+ rnf ListDatasetsResponse' {..} =+ Prelude.rnf datasets+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FinSpaceData/ListPermissionGroups.hs view
@@ -0,0 +1,216 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FinSpaceData.ListPermissionGroups+-- 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 available permission groups in FinSpace.+--+-- This operation returns paginated results.+module Amazonka.FinSpaceData.ListPermissionGroups+ ( -- * Creating a Request+ ListPermissionGroups (..),+ newListPermissionGroups,++ -- * Request Lenses+ listPermissionGroups_nextToken,+ listPermissionGroups_maxResults,++ -- * Destructuring the Response+ ListPermissionGroupsResponse (..),+ newListPermissionGroupsResponse,++ -- * Response Lenses+ listPermissionGroupsResponse_nextToken,+ listPermissionGroupsResponse_permissionGroups,+ listPermissionGroupsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FinSpaceData.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListPermissionGroups' smart constructor.+data ListPermissionGroups = ListPermissionGroups'+ { -- | A token that indicates where a results page should begin.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The maximum number of results per page.+ maxResults :: Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListPermissionGroups' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listPermissionGroups_nextToken' - A token that indicates where a results page should begin.+--+-- 'maxResults', 'listPermissionGroups_maxResults' - The maximum number of results per page.+newListPermissionGroups ::+ -- | 'maxResults'+ Prelude.Natural ->+ ListPermissionGroups+newListPermissionGroups pMaxResults_ =+ ListPermissionGroups'+ { nextToken = Prelude.Nothing,+ maxResults = pMaxResults_+ }++-- | A token that indicates where a results page should begin.+listPermissionGroups_nextToken :: Lens.Lens' ListPermissionGroups (Prelude.Maybe Prelude.Text)+listPermissionGroups_nextToken = Lens.lens (\ListPermissionGroups' {nextToken} -> nextToken) (\s@ListPermissionGroups' {} a -> s {nextToken = a} :: ListPermissionGroups)++-- | The maximum number of results per page.+listPermissionGroups_maxResults :: Lens.Lens' ListPermissionGroups Prelude.Natural+listPermissionGroups_maxResults = Lens.lens (\ListPermissionGroups' {maxResults} -> maxResults) (\s@ListPermissionGroups' {} a -> s {maxResults = a} :: ListPermissionGroups)++instance Core.AWSPager ListPermissionGroups where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listPermissionGroupsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listPermissionGroupsResponse_permissionGroups+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listPermissionGroups_nextToken+ Lens..~ rs+ Lens.^? listPermissionGroupsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListPermissionGroups where+ type+ AWSResponse ListPermissionGroups =+ ListPermissionGroupsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListPermissionGroupsResponse'+ Prelude.<$> (x Data..?> "nextToken")+ Prelude.<*> ( x+ Data..?> "permissionGroups"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListPermissionGroups where+ hashWithSalt _salt ListPermissionGroups' {..} =+ _salt+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` maxResults++instance Prelude.NFData ListPermissionGroups where+ rnf ListPermissionGroups' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf maxResults++instance Data.ToHeaders ListPermissionGroups where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListPermissionGroups where+ toPath = Prelude.const "/permission-group"++instance Data.ToQuery ListPermissionGroups where+ toQuery ListPermissionGroups' {..} =+ Prelude.mconcat+ [ "nextToken" Data.=: nextToken,+ "maxResults" Data.=: maxResults+ ]++-- | /See:/ 'newListPermissionGroupsResponse' smart constructor.+data ListPermissionGroupsResponse = ListPermissionGroupsResponse'+ { -- | A token that indicates where a results page should begin.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | A list of all the permission groups.+ permissionGroups :: Prelude.Maybe [PermissionGroup],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListPermissionGroupsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listPermissionGroupsResponse_nextToken' - A token that indicates where a results page should begin.+--+-- 'permissionGroups', 'listPermissionGroupsResponse_permissionGroups' - A list of all the permission groups.+--+-- 'httpStatus', 'listPermissionGroupsResponse_httpStatus' - The response's http status code.+newListPermissionGroupsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListPermissionGroupsResponse+newListPermissionGroupsResponse pHttpStatus_ =+ ListPermissionGroupsResponse'+ { nextToken =+ Prelude.Nothing,+ permissionGroups = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A token that indicates where a results page should begin.+listPermissionGroupsResponse_nextToken :: Lens.Lens' ListPermissionGroupsResponse (Prelude.Maybe Prelude.Text)+listPermissionGroupsResponse_nextToken = Lens.lens (\ListPermissionGroupsResponse' {nextToken} -> nextToken) (\s@ListPermissionGroupsResponse' {} a -> s {nextToken = a} :: ListPermissionGroupsResponse)++-- | A list of all the permission groups.+listPermissionGroupsResponse_permissionGroups :: Lens.Lens' ListPermissionGroupsResponse (Prelude.Maybe [PermissionGroup])+listPermissionGroupsResponse_permissionGroups = Lens.lens (\ListPermissionGroupsResponse' {permissionGroups} -> permissionGroups) (\s@ListPermissionGroupsResponse' {} a -> s {permissionGroups = a} :: ListPermissionGroupsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listPermissionGroupsResponse_httpStatus :: Lens.Lens' ListPermissionGroupsResponse Prelude.Int+listPermissionGroupsResponse_httpStatus = Lens.lens (\ListPermissionGroupsResponse' {httpStatus} -> httpStatus) (\s@ListPermissionGroupsResponse' {} a -> s {httpStatus = a} :: ListPermissionGroupsResponse)++instance Prelude.NFData ListPermissionGroupsResponse where+ rnf ListPermissionGroupsResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf permissionGroups+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FinSpaceData/ListPermissionGroupsByUser.hs view
@@ -0,0 +1,213 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FinSpaceData.ListPermissionGroupsByUser+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists all the permission groups that are associated with a specific user+-- account.+module Amazonka.FinSpaceData.ListPermissionGroupsByUser+ ( -- * Creating a Request+ ListPermissionGroupsByUser (..),+ newListPermissionGroupsByUser,++ -- * Request Lenses+ listPermissionGroupsByUser_nextToken,+ listPermissionGroupsByUser_userId,+ listPermissionGroupsByUser_maxResults,++ -- * Destructuring the Response+ ListPermissionGroupsByUserResponse (..),+ newListPermissionGroupsByUserResponse,++ -- * Response Lenses+ listPermissionGroupsByUserResponse_nextToken,+ listPermissionGroupsByUserResponse_permissionGroups,+ listPermissionGroupsByUserResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FinSpaceData.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListPermissionGroupsByUser' smart constructor.+data ListPermissionGroupsByUser = ListPermissionGroupsByUser'+ { -- | A token that indicates where a results page should begin.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for the user.+ userId :: Prelude.Text,+ -- | The maximum number of results per page.+ maxResults :: Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListPermissionGroupsByUser' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listPermissionGroupsByUser_nextToken' - A token that indicates where a results page should begin.+--+-- 'userId', 'listPermissionGroupsByUser_userId' - The unique identifier for the user.+--+-- 'maxResults', 'listPermissionGroupsByUser_maxResults' - The maximum number of results per page.+newListPermissionGroupsByUser ::+ -- | 'userId'+ Prelude.Text ->+ -- | 'maxResults'+ Prelude.Natural ->+ ListPermissionGroupsByUser+newListPermissionGroupsByUser pUserId_ pMaxResults_ =+ ListPermissionGroupsByUser'+ { nextToken =+ Prelude.Nothing,+ userId = pUserId_,+ maxResults = pMaxResults_+ }++-- | A token that indicates where a results page should begin.+listPermissionGroupsByUser_nextToken :: Lens.Lens' ListPermissionGroupsByUser (Prelude.Maybe Prelude.Text)+listPermissionGroupsByUser_nextToken = Lens.lens (\ListPermissionGroupsByUser' {nextToken} -> nextToken) (\s@ListPermissionGroupsByUser' {} a -> s {nextToken = a} :: ListPermissionGroupsByUser)++-- | The unique identifier for the user.+listPermissionGroupsByUser_userId :: Lens.Lens' ListPermissionGroupsByUser Prelude.Text+listPermissionGroupsByUser_userId = Lens.lens (\ListPermissionGroupsByUser' {userId} -> userId) (\s@ListPermissionGroupsByUser' {} a -> s {userId = a} :: ListPermissionGroupsByUser)++-- | The maximum number of results per page.+listPermissionGroupsByUser_maxResults :: Lens.Lens' ListPermissionGroupsByUser Prelude.Natural+listPermissionGroupsByUser_maxResults = Lens.lens (\ListPermissionGroupsByUser' {maxResults} -> maxResults) (\s@ListPermissionGroupsByUser' {} a -> s {maxResults = a} :: ListPermissionGroupsByUser)++instance Core.AWSRequest ListPermissionGroupsByUser where+ type+ AWSResponse ListPermissionGroupsByUser =+ ListPermissionGroupsByUserResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListPermissionGroupsByUserResponse'+ Prelude.<$> (x Data..?> "nextToken")+ Prelude.<*> ( x+ Data..?> "permissionGroups"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListPermissionGroupsByUser where+ hashWithSalt _salt ListPermissionGroupsByUser' {..} =+ _salt+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` userId+ `Prelude.hashWithSalt` maxResults++instance Prelude.NFData ListPermissionGroupsByUser where+ rnf ListPermissionGroupsByUser' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf userId+ `Prelude.seq` Prelude.rnf maxResults++instance Data.ToHeaders ListPermissionGroupsByUser where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListPermissionGroupsByUser where+ toPath ListPermissionGroupsByUser' {..} =+ Prelude.mconcat+ ["/user/", Data.toBS userId, "/permission-groups"]++instance Data.ToQuery ListPermissionGroupsByUser where+ toQuery ListPermissionGroupsByUser' {..} =+ Prelude.mconcat+ [ "nextToken" Data.=: nextToken,+ "maxResults" Data.=: maxResults+ ]++-- | /See:/ 'newListPermissionGroupsByUserResponse' smart constructor.+data ListPermissionGroupsByUserResponse = ListPermissionGroupsByUserResponse'+ { -- | A token that indicates where a results page should begin.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | A list of returned permission groups.+ permissionGroups :: Prelude.Maybe [PermissionGroupByUser],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListPermissionGroupsByUserResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listPermissionGroupsByUserResponse_nextToken' - A token that indicates where a results page should begin.+--+-- 'permissionGroups', 'listPermissionGroupsByUserResponse_permissionGroups' - A list of returned permission groups.+--+-- 'httpStatus', 'listPermissionGroupsByUserResponse_httpStatus' - The response's http status code.+newListPermissionGroupsByUserResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListPermissionGroupsByUserResponse+newListPermissionGroupsByUserResponse pHttpStatus_ =+ ListPermissionGroupsByUserResponse'+ { nextToken =+ Prelude.Nothing,+ permissionGroups = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A token that indicates where a results page should begin.+listPermissionGroupsByUserResponse_nextToken :: Lens.Lens' ListPermissionGroupsByUserResponse (Prelude.Maybe Prelude.Text)+listPermissionGroupsByUserResponse_nextToken = Lens.lens (\ListPermissionGroupsByUserResponse' {nextToken} -> nextToken) (\s@ListPermissionGroupsByUserResponse' {} a -> s {nextToken = a} :: ListPermissionGroupsByUserResponse)++-- | A list of returned permission groups.+listPermissionGroupsByUserResponse_permissionGroups :: Lens.Lens' ListPermissionGroupsByUserResponse (Prelude.Maybe [PermissionGroupByUser])+listPermissionGroupsByUserResponse_permissionGroups = Lens.lens (\ListPermissionGroupsByUserResponse' {permissionGroups} -> permissionGroups) (\s@ListPermissionGroupsByUserResponse' {} a -> s {permissionGroups = a} :: ListPermissionGroupsByUserResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listPermissionGroupsByUserResponse_httpStatus :: Lens.Lens' ListPermissionGroupsByUserResponse Prelude.Int+listPermissionGroupsByUserResponse_httpStatus = Lens.lens (\ListPermissionGroupsByUserResponse' {httpStatus} -> httpStatus) (\s@ListPermissionGroupsByUserResponse' {} a -> s {httpStatus = a} :: ListPermissionGroupsByUserResponse)++instance+ Prelude.NFData+ ListPermissionGroupsByUserResponse+ where+ rnf ListPermissionGroupsByUserResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf permissionGroups+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FinSpaceData/ListUsers.hs view
@@ -0,0 +1,210 @@+{-# 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.FinSpaceData.ListUsers+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists all available user accounts in FinSpace.+--+-- This operation returns paginated results.+module Amazonka.FinSpaceData.ListUsers+ ( -- * Creating a Request+ ListUsers (..),+ newListUsers,++ -- * Request Lenses+ listUsers_nextToken,+ listUsers_maxResults,++ -- * Destructuring the Response+ ListUsersResponse (..),+ newListUsersResponse,++ -- * Response Lenses+ listUsersResponse_nextToken,+ listUsersResponse_users,+ listUsersResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FinSpaceData.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListUsers' smart constructor.+data ListUsers = ListUsers'+ { -- | A token that indicates where a results page should begin.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The maximum number of results per page.+ maxResults :: Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListUsers' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listUsers_nextToken' - A token that indicates where a results page should begin.+--+-- 'maxResults', 'listUsers_maxResults' - The maximum number of results per page.+newListUsers ::+ -- | 'maxResults'+ Prelude.Natural ->+ ListUsers+newListUsers pMaxResults_ =+ ListUsers'+ { nextToken = Prelude.Nothing,+ maxResults = pMaxResults_+ }++-- | A token that indicates where a results page should begin.+listUsers_nextToken :: Lens.Lens' ListUsers (Prelude.Maybe Prelude.Text)+listUsers_nextToken = Lens.lens (\ListUsers' {nextToken} -> nextToken) (\s@ListUsers' {} a -> s {nextToken = a} :: ListUsers)++-- | The maximum number of results per page.+listUsers_maxResults :: Lens.Lens' ListUsers Prelude.Natural+listUsers_maxResults = Lens.lens (\ListUsers' {maxResults} -> maxResults) (\s@ListUsers' {} a -> s {maxResults = a} :: ListUsers)++instance Core.AWSPager ListUsers where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listUsersResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listUsersResponse_users+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listUsers_nextToken+ Lens..~ rs+ Lens.^? listUsersResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListUsers where+ type AWSResponse ListUsers = ListUsersResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListUsersResponse'+ Prelude.<$> (x Data..?> "nextToken")+ Prelude.<*> (x Data..?> "users" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListUsers where+ hashWithSalt _salt ListUsers' {..} =+ _salt+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` maxResults++instance Prelude.NFData ListUsers where+ rnf ListUsers' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf maxResults++instance Data.ToHeaders ListUsers where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListUsers where+ toPath = Prelude.const "/user"++instance Data.ToQuery ListUsers where+ toQuery ListUsers' {..} =+ Prelude.mconcat+ [ "nextToken" Data.=: nextToken,+ "maxResults" Data.=: maxResults+ ]++-- | /See:/ 'newListUsersResponse' smart constructor.+data ListUsersResponse = ListUsersResponse'+ { -- | A token that indicates where a results page should begin.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | A list of all the user accounts.+ users :: Prelude.Maybe [User],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListUsersResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listUsersResponse_nextToken' - A token that indicates where a results page should begin.+--+-- 'users', 'listUsersResponse_users' - A list of all the user accounts.+--+-- 'httpStatus', 'listUsersResponse_httpStatus' - The response's http status code.+newListUsersResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListUsersResponse+newListUsersResponse pHttpStatus_ =+ ListUsersResponse'+ { nextToken = Prelude.Nothing,+ users = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A token that indicates where a results page should begin.+listUsersResponse_nextToken :: Lens.Lens' ListUsersResponse (Prelude.Maybe Prelude.Text)+listUsersResponse_nextToken = Lens.lens (\ListUsersResponse' {nextToken} -> nextToken) (\s@ListUsersResponse' {} a -> s {nextToken = a} :: ListUsersResponse)++-- | A list of all the user accounts.+listUsersResponse_users :: Lens.Lens' ListUsersResponse (Prelude.Maybe [User])+listUsersResponse_users = Lens.lens (\ListUsersResponse' {users} -> users) (\s@ListUsersResponse' {} a -> s {users = a} :: ListUsersResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listUsersResponse_httpStatus :: Lens.Lens' ListUsersResponse Prelude.Int+listUsersResponse_httpStatus = Lens.lens (\ListUsersResponse' {httpStatus} -> httpStatus) (\s@ListUsersResponse' {} a -> s {httpStatus = a} :: ListUsersResponse)++instance Prelude.NFData ListUsersResponse where+ rnf ListUsersResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf users+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FinSpaceData/ListUsersByPermissionGroup.hs view
@@ -0,0 +1,214 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FinSpaceData.ListUsersByPermissionGroup+-- 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 details of all the users in a specific permission group.+module Amazonka.FinSpaceData.ListUsersByPermissionGroup+ ( -- * Creating a Request+ ListUsersByPermissionGroup (..),+ newListUsersByPermissionGroup,++ -- * Request Lenses+ listUsersByPermissionGroup_nextToken,+ listUsersByPermissionGroup_permissionGroupId,+ listUsersByPermissionGroup_maxResults,++ -- * Destructuring the Response+ ListUsersByPermissionGroupResponse (..),+ newListUsersByPermissionGroupResponse,++ -- * Response Lenses+ listUsersByPermissionGroupResponse_nextToken,+ listUsersByPermissionGroupResponse_users,+ listUsersByPermissionGroupResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FinSpaceData.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListUsersByPermissionGroup' smart constructor.+data ListUsersByPermissionGroup = ListUsersByPermissionGroup'+ { -- | A token that indicates where a results page should begin.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for the permission group.+ permissionGroupId :: Prelude.Text,+ -- | The maximum number of results per page.+ maxResults :: Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListUsersByPermissionGroup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listUsersByPermissionGroup_nextToken' - A token that indicates where a results page should begin.+--+-- 'permissionGroupId', 'listUsersByPermissionGroup_permissionGroupId' - The unique identifier for the permission group.+--+-- 'maxResults', 'listUsersByPermissionGroup_maxResults' - The maximum number of results per page.+newListUsersByPermissionGroup ::+ -- | 'permissionGroupId'+ Prelude.Text ->+ -- | 'maxResults'+ Prelude.Natural ->+ ListUsersByPermissionGroup+newListUsersByPermissionGroup+ pPermissionGroupId_+ pMaxResults_ =+ ListUsersByPermissionGroup'+ { nextToken =+ Prelude.Nothing,+ permissionGroupId = pPermissionGroupId_,+ maxResults = pMaxResults_+ }++-- | A token that indicates where a results page should begin.+listUsersByPermissionGroup_nextToken :: Lens.Lens' ListUsersByPermissionGroup (Prelude.Maybe Prelude.Text)+listUsersByPermissionGroup_nextToken = Lens.lens (\ListUsersByPermissionGroup' {nextToken} -> nextToken) (\s@ListUsersByPermissionGroup' {} a -> s {nextToken = a} :: ListUsersByPermissionGroup)++-- | The unique identifier for the permission group.+listUsersByPermissionGroup_permissionGroupId :: Lens.Lens' ListUsersByPermissionGroup Prelude.Text+listUsersByPermissionGroup_permissionGroupId = Lens.lens (\ListUsersByPermissionGroup' {permissionGroupId} -> permissionGroupId) (\s@ListUsersByPermissionGroup' {} a -> s {permissionGroupId = a} :: ListUsersByPermissionGroup)++-- | The maximum number of results per page.+listUsersByPermissionGroup_maxResults :: Lens.Lens' ListUsersByPermissionGroup Prelude.Natural+listUsersByPermissionGroup_maxResults = Lens.lens (\ListUsersByPermissionGroup' {maxResults} -> maxResults) (\s@ListUsersByPermissionGroup' {} a -> s {maxResults = a} :: ListUsersByPermissionGroup)++instance Core.AWSRequest ListUsersByPermissionGroup where+ type+ AWSResponse ListUsersByPermissionGroup =+ ListUsersByPermissionGroupResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListUsersByPermissionGroupResponse'+ Prelude.<$> (x Data..?> "nextToken")+ Prelude.<*> (x Data..?> "users" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListUsersByPermissionGroup where+ hashWithSalt _salt ListUsersByPermissionGroup' {..} =+ _salt+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` permissionGroupId+ `Prelude.hashWithSalt` maxResults++instance Prelude.NFData ListUsersByPermissionGroup where+ rnf ListUsersByPermissionGroup' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf permissionGroupId+ `Prelude.seq` Prelude.rnf maxResults++instance Data.ToHeaders ListUsersByPermissionGroup where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListUsersByPermissionGroup where+ toPath ListUsersByPermissionGroup' {..} =+ Prelude.mconcat+ [ "/permission-group/",+ Data.toBS permissionGroupId,+ "/users"+ ]++instance Data.ToQuery ListUsersByPermissionGroup where+ toQuery ListUsersByPermissionGroup' {..} =+ Prelude.mconcat+ [ "nextToken" Data.=: nextToken,+ "maxResults" Data.=: maxResults+ ]++-- | /See:/ 'newListUsersByPermissionGroupResponse' smart constructor.+data ListUsersByPermissionGroupResponse = ListUsersByPermissionGroupResponse'+ { -- | A token that indicates where a results page should begin.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | Lists details of all users in a specific permission group.+ users :: Prelude.Maybe [UserByPermissionGroup],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListUsersByPermissionGroupResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listUsersByPermissionGroupResponse_nextToken' - A token that indicates where a results page should begin.+--+-- 'users', 'listUsersByPermissionGroupResponse_users' - Lists details of all users in a specific permission group.+--+-- 'httpStatus', 'listUsersByPermissionGroupResponse_httpStatus' - The response's http status code.+newListUsersByPermissionGroupResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListUsersByPermissionGroupResponse+newListUsersByPermissionGroupResponse pHttpStatus_ =+ ListUsersByPermissionGroupResponse'+ { nextToken =+ Prelude.Nothing,+ users = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A token that indicates where a results page should begin.+listUsersByPermissionGroupResponse_nextToken :: Lens.Lens' ListUsersByPermissionGroupResponse (Prelude.Maybe Prelude.Text)+listUsersByPermissionGroupResponse_nextToken = Lens.lens (\ListUsersByPermissionGroupResponse' {nextToken} -> nextToken) (\s@ListUsersByPermissionGroupResponse' {} a -> s {nextToken = a} :: ListUsersByPermissionGroupResponse)++-- | Lists details of all users in a specific permission group.+listUsersByPermissionGroupResponse_users :: Lens.Lens' ListUsersByPermissionGroupResponse (Prelude.Maybe [UserByPermissionGroup])+listUsersByPermissionGroupResponse_users = Lens.lens (\ListUsersByPermissionGroupResponse' {users} -> users) (\s@ListUsersByPermissionGroupResponse' {} a -> s {users = a} :: ListUsersByPermissionGroupResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listUsersByPermissionGroupResponse_httpStatus :: Lens.Lens' ListUsersByPermissionGroupResponse Prelude.Int+listUsersByPermissionGroupResponse_httpStatus = Lens.lens (\ListUsersByPermissionGroupResponse' {httpStatus} -> httpStatus) (\s@ListUsersByPermissionGroupResponse' {} a -> s {httpStatus = a} :: ListUsersByPermissionGroupResponse)++instance+ Prelude.NFData+ ListUsersByPermissionGroupResponse+ where+ rnf ListUsersByPermissionGroupResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf users+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FinSpaceData/ResetUserPassword.hs view
@@ -0,0 +1,203 @@+{-# 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.FinSpaceData.ResetUserPassword+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Resets the password for a specified user ID and generates a temporary+-- one. Only a superuser can reset password for other users. Resetting the+-- password immediately invalidates the previous password associated with+-- the user.+module Amazonka.FinSpaceData.ResetUserPassword+ ( -- * Creating a Request+ ResetUserPassword (..),+ newResetUserPassword,++ -- * Request Lenses+ resetUserPassword_clientToken,+ resetUserPassword_userId,++ -- * Destructuring the Response+ ResetUserPasswordResponse (..),+ newResetUserPasswordResponse,++ -- * Response Lenses+ resetUserPasswordResponse_temporaryPassword,+ resetUserPasswordResponse_userId,+ resetUserPasswordResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FinSpaceData.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newResetUserPassword' smart constructor.+data ResetUserPassword = ResetUserPassword'+ { -- | A token that ensures idempotency. This token expires in 10 minutes.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier of the user that a temporary password is requested+ -- for.+ userId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ResetUserPassword' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'resetUserPassword_clientToken' - A token that ensures idempotency. This token expires in 10 minutes.+--+-- 'userId', 'resetUserPassword_userId' - The unique identifier of the user that a temporary password is requested+-- for.+newResetUserPassword ::+ -- | 'userId'+ Prelude.Text ->+ ResetUserPassword+newResetUserPassword pUserId_ =+ ResetUserPassword'+ { clientToken = Prelude.Nothing,+ userId = pUserId_+ }++-- | A token that ensures idempotency. This token expires in 10 minutes.+resetUserPassword_clientToken :: Lens.Lens' ResetUserPassword (Prelude.Maybe Prelude.Text)+resetUserPassword_clientToken = Lens.lens (\ResetUserPassword' {clientToken} -> clientToken) (\s@ResetUserPassword' {} a -> s {clientToken = a} :: ResetUserPassword)++-- | The unique identifier of the user that a temporary password is requested+-- for.+resetUserPassword_userId :: Lens.Lens' ResetUserPassword Prelude.Text+resetUserPassword_userId = Lens.lens (\ResetUserPassword' {userId} -> userId) (\s@ResetUserPassword' {} a -> s {userId = a} :: ResetUserPassword)++instance Core.AWSRequest ResetUserPassword where+ type+ AWSResponse ResetUserPassword =+ ResetUserPasswordResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ResetUserPasswordResponse'+ Prelude.<$> (x Data..?> "temporaryPassword")+ Prelude.<*> (x Data..?> "userId")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ResetUserPassword where+ hashWithSalt _salt ResetUserPassword' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` userId++instance Prelude.NFData ResetUserPassword where+ rnf ResetUserPassword' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf userId++instance Data.ToHeaders ResetUserPassword where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ResetUserPassword where+ toJSON ResetUserPassword' {..} =+ Data.object+ ( Prelude.catMaybes+ [("clientToken" Data..=) Prelude.<$> clientToken]+ )++instance Data.ToPath ResetUserPassword where+ toPath ResetUserPassword' {..} =+ Prelude.mconcat+ ["/user/", Data.toBS userId, "/password"]++instance Data.ToQuery ResetUserPassword where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newResetUserPasswordResponse' smart constructor.+data ResetUserPasswordResponse = ResetUserPasswordResponse'+ { -- | A randomly generated temporary password for the requested user account.+ -- This password expires in 7 days.+ temporaryPassword :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The unique identifier of the user that a new password is generated for.+ userId :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ResetUserPasswordResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'temporaryPassword', 'resetUserPasswordResponse_temporaryPassword' - A randomly generated temporary password for the requested user account.+-- This password expires in 7 days.+--+-- 'userId', 'resetUserPasswordResponse_userId' - The unique identifier of the user that a new password is generated for.+--+-- 'httpStatus', 'resetUserPasswordResponse_httpStatus' - The response's http status code.+newResetUserPasswordResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ResetUserPasswordResponse+newResetUserPasswordResponse pHttpStatus_ =+ ResetUserPasswordResponse'+ { temporaryPassword =+ Prelude.Nothing,+ userId = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A randomly generated temporary password for the requested user account.+-- This password expires in 7 days.+resetUserPasswordResponse_temporaryPassword :: Lens.Lens' ResetUserPasswordResponse (Prelude.Maybe Prelude.Text)+resetUserPasswordResponse_temporaryPassword = Lens.lens (\ResetUserPasswordResponse' {temporaryPassword} -> temporaryPassword) (\s@ResetUserPasswordResponse' {} a -> s {temporaryPassword = a} :: ResetUserPasswordResponse) Prelude.. Lens.mapping Data._Sensitive++-- | The unique identifier of the user that a new password is generated for.+resetUserPasswordResponse_userId :: Lens.Lens' ResetUserPasswordResponse (Prelude.Maybe Prelude.Text)+resetUserPasswordResponse_userId = Lens.lens (\ResetUserPasswordResponse' {userId} -> userId) (\s@ResetUserPasswordResponse' {} a -> s {userId = a} :: ResetUserPasswordResponse)++-- | The response's http status code.+resetUserPasswordResponse_httpStatus :: Lens.Lens' ResetUserPasswordResponse Prelude.Int+resetUserPasswordResponse_httpStatus = Lens.lens (\ResetUserPasswordResponse' {httpStatus} -> httpStatus) (\s@ResetUserPasswordResponse' {} a -> s {httpStatus = a} :: ResetUserPasswordResponse)++instance Prelude.NFData ResetUserPasswordResponse where+ rnf ResetUserPasswordResponse' {..} =+ Prelude.rnf temporaryPassword+ `Prelude.seq` Prelude.rnf userId+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FinSpaceData/Types.hs view
@@ -0,0 +1,407 @@+{-# 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.FinSpaceData.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.FinSpaceData.Types+ ( -- * Service Configuration+ defaultService,++ -- * Errors+ _AccessDeniedException,+ _ConflictException,+ _InternalServerException,+ _LimitExceededException,+ _ResourceNotFoundException,+ _ThrottlingException,+ _ValidationException,++ -- * ApiAccess+ ApiAccess (..),++ -- * ApplicationPermission+ ApplicationPermission (..),++ -- * ChangeType+ ChangeType (..),++ -- * ColumnDataType+ ColumnDataType (..),++ -- * DataViewStatus+ DataViewStatus (..),++ -- * DatasetKind+ DatasetKind (..),++ -- * DatasetStatus+ DatasetStatus (..),++ -- * ErrorCategory+ ErrorCategory (..),++ -- * ExportFileFormat+ ExportFileFormat (..),++ -- * IngestionStatus+ IngestionStatus (..),++ -- * LocationType+ LocationType (..),++ -- * PermissionGroupMembershipStatus+ PermissionGroupMembershipStatus (..),++ -- * UserStatus+ UserStatus (..),++ -- * UserType+ UserType (..),++ -- * AwsCredentials+ AwsCredentials (..),+ newAwsCredentials,+ awsCredentials_accessKeyId,+ awsCredentials_expiration,+ awsCredentials_secretAccessKey,+ awsCredentials_sessionToken,++ -- * ChangesetErrorInfo+ ChangesetErrorInfo (..),+ newChangesetErrorInfo,+ changesetErrorInfo_errorCategory,+ changesetErrorInfo_errorMessage,++ -- * ChangesetSummary+ ChangesetSummary (..),+ newChangesetSummary,+ changesetSummary_activeFromTimestamp,+ changesetSummary_activeUntilTimestamp,+ changesetSummary_changeType,+ changesetSummary_changesetArn,+ changesetSummary_changesetId,+ changesetSummary_createTime,+ changesetSummary_datasetId,+ changesetSummary_errorInfo,+ changesetSummary_formatParams,+ changesetSummary_sourceParams,+ changesetSummary_status,+ changesetSummary_updatedByChangesetId,+ changesetSummary_updatesChangesetId,++ -- * ColumnDefinition+ ColumnDefinition (..),+ newColumnDefinition,+ columnDefinition_columnDescription,+ columnDefinition_columnName,+ columnDefinition_dataType,++ -- * Credentials+ Credentials (..),+ newCredentials,+ credentials_accessKeyId,+ credentials_secretAccessKey,+ credentials_sessionToken,++ -- * DataViewDestinationTypeParams+ DataViewDestinationTypeParams (..),+ newDataViewDestinationTypeParams,+ dataViewDestinationTypeParams_s3DestinationExportFileFormat,+ dataViewDestinationTypeParams_s3DestinationExportFileFormatOptions,+ dataViewDestinationTypeParams_destinationType,++ -- * DataViewErrorInfo+ DataViewErrorInfo (..),+ newDataViewErrorInfo,+ dataViewErrorInfo_errorCategory,+ dataViewErrorInfo_errorMessage,++ -- * DataViewSummary+ DataViewSummary (..),+ newDataViewSummary,+ dataViewSummary_asOfTimestamp,+ dataViewSummary_autoUpdate,+ dataViewSummary_createTime,+ dataViewSummary_dataViewArn,+ dataViewSummary_dataViewId,+ dataViewSummary_datasetId,+ dataViewSummary_destinationTypeProperties,+ dataViewSummary_errorInfo,+ dataViewSummary_lastModifiedTime,+ dataViewSummary_partitionColumns,+ dataViewSummary_sortColumns,+ dataViewSummary_status,++ -- * Dataset+ Dataset (..),+ newDataset,+ dataset_alias,+ dataset_createTime,+ dataset_datasetArn,+ dataset_datasetDescription,+ dataset_datasetId,+ dataset_datasetTitle,+ dataset_kind,+ dataset_lastModifiedTime,+ dataset_ownerInfo,+ dataset_schemaDefinition,++ -- * DatasetOwnerInfo+ DatasetOwnerInfo (..),+ newDatasetOwnerInfo,+ datasetOwnerInfo_email,+ datasetOwnerInfo_name,+ datasetOwnerInfo_phoneNumber,++ -- * PermissionGroup+ PermissionGroup (..),+ newPermissionGroup,+ permissionGroup_applicationPermissions,+ permissionGroup_createTime,+ permissionGroup_description,+ permissionGroup_lastModifiedTime,+ permissionGroup_membershipStatus,+ permissionGroup_name,+ permissionGroup_permissionGroupId,++ -- * PermissionGroupByUser+ PermissionGroupByUser (..),+ newPermissionGroupByUser,+ permissionGroupByUser_membershipStatus,+ permissionGroupByUser_name,+ permissionGroupByUser_permissionGroupId,++ -- * PermissionGroupParams+ PermissionGroupParams (..),+ newPermissionGroupParams,+ permissionGroupParams_datasetPermissions,+ permissionGroupParams_permissionGroupId,++ -- * ResourcePermission+ ResourcePermission (..),+ newResourcePermission,+ resourcePermission_permission,++ -- * S3Location+ S3Location (..),+ newS3Location,+ s3Location_bucket,+ s3Location_key,++ -- * SchemaDefinition+ SchemaDefinition (..),+ newSchemaDefinition,+ schemaDefinition_columns,+ schemaDefinition_primaryKeyColumns,++ -- * SchemaUnion+ SchemaUnion (..),+ newSchemaUnion,+ schemaUnion_tabularSchemaConfig,++ -- * User+ User (..),+ newUser,+ user_apiAccess,+ user_apiAccessPrincipalArn,+ user_createTime,+ user_emailAddress,+ user_firstName,+ user_lastDisabledTime,+ user_lastEnabledTime,+ user_lastLoginTime,+ user_lastModifiedTime,+ user_lastName,+ user_status,+ user_type,+ user_userId,++ -- * UserByPermissionGroup+ UserByPermissionGroup (..),+ newUserByPermissionGroup,+ userByPermissionGroup_apiAccess,+ userByPermissionGroup_apiAccessPrincipalArn,+ userByPermissionGroup_emailAddress,+ userByPermissionGroup_firstName,+ userByPermissionGroup_lastName,+ userByPermissionGroup_membershipStatus,+ userByPermissionGroup_status,+ userByPermissionGroup_type,+ userByPermissionGroup_userId,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import Amazonka.FinSpaceData.Types.ApiAccess+import Amazonka.FinSpaceData.Types.ApplicationPermission+import Amazonka.FinSpaceData.Types.AwsCredentials+import Amazonka.FinSpaceData.Types.ChangeType+import Amazonka.FinSpaceData.Types.ChangesetErrorInfo+import Amazonka.FinSpaceData.Types.ChangesetSummary+import Amazonka.FinSpaceData.Types.ColumnDataType+import Amazonka.FinSpaceData.Types.ColumnDefinition+import Amazonka.FinSpaceData.Types.Credentials+import Amazonka.FinSpaceData.Types.DataViewDestinationTypeParams+import Amazonka.FinSpaceData.Types.DataViewErrorInfo+import Amazonka.FinSpaceData.Types.DataViewStatus+import Amazonka.FinSpaceData.Types.DataViewSummary+import Amazonka.FinSpaceData.Types.Dataset+import Amazonka.FinSpaceData.Types.DatasetKind+import Amazonka.FinSpaceData.Types.DatasetOwnerInfo+import Amazonka.FinSpaceData.Types.DatasetStatus+import Amazonka.FinSpaceData.Types.ErrorCategory+import Amazonka.FinSpaceData.Types.ExportFileFormat+import Amazonka.FinSpaceData.Types.IngestionStatus+import Amazonka.FinSpaceData.Types.LocationType+import Amazonka.FinSpaceData.Types.PermissionGroup+import Amazonka.FinSpaceData.Types.PermissionGroupByUser+import Amazonka.FinSpaceData.Types.PermissionGroupMembershipStatus+import Amazonka.FinSpaceData.Types.PermissionGroupParams+import Amazonka.FinSpaceData.Types.ResourcePermission+import Amazonka.FinSpaceData.Types.S3Location+import Amazonka.FinSpaceData.Types.SchemaDefinition+import Amazonka.FinSpaceData.Types.SchemaUnion+import Amazonka.FinSpaceData.Types.User+import Amazonka.FinSpaceData.Types.UserByPermissionGroup+import Amazonka.FinSpaceData.Types.UserStatus+import Amazonka.FinSpaceData.Types.UserType+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Sign.V4 as Sign++-- | API version @2020-07-13@ of the Amazon FinSpace Public API SDK configuration.+defaultService :: Core.Service+defaultService =+ Core.Service+ { Core.abbrev = "FinSpaceData",+ Core.signer = Sign.v4,+ Core.endpointPrefix = "finspace-api",+ Core.signingName = "finspace-api",+ Core.version = "2020-07-13",+ Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+ Core.endpoint = Core.defaultEndpoint defaultService,+ Core.timeout = Prelude.Just 70,+ Core.check = Core.statusSuccess,+ Core.error = Core.parseJSONError "FinSpaceData",+ Core.retry = retry+ }+ where+ retry =+ Core.Exponential+ { Core.base = 5.0e-2,+ Core.growth = 2,+ Core.attempts = 5,+ Core.check = check+ }+ check e+ | Lens.has (Core.hasStatus 502) e =+ Prelude.Just "bad_gateway"+ | Lens.has (Core.hasStatus 504) e =+ Prelude.Just "gateway_timeout"+ | Lens.has (Core.hasStatus 500) e =+ Prelude.Just "general_server_error"+ | Lens.has (Core.hasStatus 509) e =+ Prelude.Just "limit_exceeded"+ | Lens.has+ ( Core.hasCode "RequestThrottledException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "request_throttled_exception"+ | Lens.has (Core.hasStatus 503) e =+ Prelude.Just "service_unavailable"+ | Lens.has+ ( Core.hasCode "ThrottledException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throttled_exception"+ | Lens.has+ ( Core.hasCode "Throttling"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throttling"+ | Lens.has+ ( Core.hasCode "ThrottlingException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throttling_exception"+ | Lens.has+ ( Core.hasCode+ "ProvisionedThroughputExceededException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throughput_exceeded"+ | Lens.has (Core.hasStatus 429) e =+ Prelude.Just "too_many_requests"+ | Prelude.otherwise = Prelude.Nothing++-- | You do not have sufficient access to perform this action.+_AccessDeniedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_AccessDeniedException =+ Core._MatchServiceError+ defaultService+ "AccessDeniedException"+ Prelude.. Core.hasStatus 403++-- | The request conflicts with an existing resource.+_ConflictException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ConflictException =+ Core._MatchServiceError+ defaultService+ "ConflictException"+ Prelude.. Core.hasStatus 409++-- | The request processing has failed because of an unknown error, exception+-- or failure.+_InternalServerException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InternalServerException =+ Core._MatchServiceError+ defaultService+ "InternalServerException"+ Prelude.. Core.hasStatus 500++-- | A limit has exceeded.+_LimitExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_LimitExceededException =+ Core._MatchServiceError+ defaultService+ "LimitExceededException"+ Prelude.. Core.hasStatus 400++-- | One or more resources can\'t be found.+_ResourceNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceNotFoundException =+ Core._MatchServiceError+ defaultService+ "ResourceNotFoundException"+ Prelude.. Core.hasStatus 404++-- | The request was denied due to request throttling.+_ThrottlingException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ThrottlingException =+ Core._MatchServiceError+ defaultService+ "ThrottlingException"+ Prelude.. Core.hasStatus 429++-- | The input fails to satisfy the constraints specified by an AWS service.+_ValidationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ValidationException =+ Core._MatchServiceError+ defaultService+ "ValidationException"+ Prelude.. Core.hasStatus 400
+ gen/Amazonka/FinSpaceData/Types/ApiAccess.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.FinSpaceData.Types.ApiAccess+-- 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.FinSpaceData.Types.ApiAccess+ ( ApiAccess+ ( ..,+ ApiAccess_DISABLED,+ ApiAccess_ENABLED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ApiAccess = ApiAccess'+ { fromApiAccess ::+ 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 ApiAccess_DISABLED :: ApiAccess+pattern ApiAccess_DISABLED = ApiAccess' "DISABLED"++pattern ApiAccess_ENABLED :: ApiAccess+pattern ApiAccess_ENABLED = ApiAccess' "ENABLED"++{-# COMPLETE+ ApiAccess_DISABLED,+ ApiAccess_ENABLED,+ ApiAccess'+ #-}
+ gen/Amazonka/FinSpaceData/Types/ApplicationPermission.hs view
@@ -0,0 +1,96 @@+{-# 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.FinSpaceData.Types.ApplicationPermission+-- 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.FinSpaceData.Types.ApplicationPermission+ ( ApplicationPermission+ ( ..,+ ApplicationPermission_AccessNotebooks,+ ApplicationPermission_CreateDataset,+ ApplicationPermission_GetTemporaryCredentials,+ ApplicationPermission_ManageAttributeSets,+ ApplicationPermission_ManageClusters,+ ApplicationPermission_ManageUsersAndGroups,+ ApplicationPermission_ViewAuditData+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ApplicationPermission = ApplicationPermission'+ { fromApplicationPermission ::+ 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 ApplicationPermission_AccessNotebooks :: ApplicationPermission+pattern ApplicationPermission_AccessNotebooks = ApplicationPermission' "AccessNotebooks"++pattern ApplicationPermission_CreateDataset :: ApplicationPermission+pattern ApplicationPermission_CreateDataset = ApplicationPermission' "CreateDataset"++pattern ApplicationPermission_GetTemporaryCredentials :: ApplicationPermission+pattern ApplicationPermission_GetTemporaryCredentials = ApplicationPermission' "GetTemporaryCredentials"++pattern ApplicationPermission_ManageAttributeSets :: ApplicationPermission+pattern ApplicationPermission_ManageAttributeSets = ApplicationPermission' "ManageAttributeSets"++pattern ApplicationPermission_ManageClusters :: ApplicationPermission+pattern ApplicationPermission_ManageClusters = ApplicationPermission' "ManageClusters"++pattern ApplicationPermission_ManageUsersAndGroups :: ApplicationPermission+pattern ApplicationPermission_ManageUsersAndGroups = ApplicationPermission' "ManageUsersAndGroups"++pattern ApplicationPermission_ViewAuditData :: ApplicationPermission+pattern ApplicationPermission_ViewAuditData = ApplicationPermission' "ViewAuditData"++{-# COMPLETE+ ApplicationPermission_AccessNotebooks,+ ApplicationPermission_CreateDataset,+ ApplicationPermission_GetTemporaryCredentials,+ ApplicationPermission_ManageAttributeSets,+ ApplicationPermission_ManageClusters,+ ApplicationPermission_ManageUsersAndGroups,+ ApplicationPermission_ViewAuditData,+ ApplicationPermission'+ #-}
+ gen/Amazonka/FinSpaceData/Types/AwsCredentials.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.FinSpaceData.Types.AwsCredentials+-- 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.FinSpaceData.Types.AwsCredentials 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 credentials required to access the external Dataview from the S3+-- location.+--+-- /See:/ 'newAwsCredentials' smart constructor.+data AwsCredentials = AwsCredentials'+ { -- | The unique identifier for the security credentials.+ accessKeyId :: Prelude.Maybe Prelude.Text,+ -- | The Epoch time when the current credentials expire.+ expiration :: Prelude.Maybe Prelude.Integer,+ -- | The secret access key that can be used to sign requests.+ secretAccessKey :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The token that users must pass to use the credentials.+ sessionToken :: Prelude.Maybe (Data.Sensitive Prelude.Text)+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AwsCredentials' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accessKeyId', 'awsCredentials_accessKeyId' - The unique identifier for the security credentials.+--+-- 'expiration', 'awsCredentials_expiration' - The Epoch time when the current credentials expire.+--+-- 'secretAccessKey', 'awsCredentials_secretAccessKey' - The secret access key that can be used to sign requests.+--+-- 'sessionToken', 'awsCredentials_sessionToken' - The token that users must pass to use the credentials.+newAwsCredentials ::+ AwsCredentials+newAwsCredentials =+ AwsCredentials'+ { accessKeyId = Prelude.Nothing,+ expiration = Prelude.Nothing,+ secretAccessKey = Prelude.Nothing,+ sessionToken = Prelude.Nothing+ }++-- | The unique identifier for the security credentials.+awsCredentials_accessKeyId :: Lens.Lens' AwsCredentials (Prelude.Maybe Prelude.Text)+awsCredentials_accessKeyId = Lens.lens (\AwsCredentials' {accessKeyId} -> accessKeyId) (\s@AwsCredentials' {} a -> s {accessKeyId = a} :: AwsCredentials)++-- | The Epoch time when the current credentials expire.+awsCredentials_expiration :: Lens.Lens' AwsCredentials (Prelude.Maybe Prelude.Integer)+awsCredentials_expiration = Lens.lens (\AwsCredentials' {expiration} -> expiration) (\s@AwsCredentials' {} a -> s {expiration = a} :: AwsCredentials)++-- | The secret access key that can be used to sign requests.+awsCredentials_secretAccessKey :: Lens.Lens' AwsCredentials (Prelude.Maybe Prelude.Text)+awsCredentials_secretAccessKey = Lens.lens (\AwsCredentials' {secretAccessKey} -> secretAccessKey) (\s@AwsCredentials' {} a -> s {secretAccessKey = a} :: AwsCredentials) Prelude.. Lens.mapping Data._Sensitive++-- | The token that users must pass to use the credentials.+awsCredentials_sessionToken :: Lens.Lens' AwsCredentials (Prelude.Maybe Prelude.Text)+awsCredentials_sessionToken = Lens.lens (\AwsCredentials' {sessionToken} -> sessionToken) (\s@AwsCredentials' {} a -> s {sessionToken = a} :: AwsCredentials) Prelude.. Lens.mapping Data._Sensitive++instance Data.FromJSON AwsCredentials where+ parseJSON =+ Data.withObject+ "AwsCredentials"+ ( \x ->+ AwsCredentials'+ Prelude.<$> (x Data..:? "accessKeyId")+ Prelude.<*> (x Data..:? "expiration")+ Prelude.<*> (x Data..:? "secretAccessKey")+ Prelude.<*> (x Data..:? "sessionToken")+ )++instance Prelude.Hashable AwsCredentials where+ hashWithSalt _salt AwsCredentials' {..} =+ _salt+ `Prelude.hashWithSalt` accessKeyId+ `Prelude.hashWithSalt` expiration+ `Prelude.hashWithSalt` secretAccessKey+ `Prelude.hashWithSalt` sessionToken++instance Prelude.NFData AwsCredentials where+ rnf AwsCredentials' {..} =+ Prelude.rnf accessKeyId+ `Prelude.seq` Prelude.rnf expiration+ `Prelude.seq` Prelude.rnf secretAccessKey+ `Prelude.seq` Prelude.rnf sessionToken
+ gen/Amazonka/FinSpaceData/Types/ChangeType.hs view
@@ -0,0 +1,77 @@+{-# 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.FinSpaceData.Types.ChangeType+-- 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.FinSpaceData.Types.ChangeType+ ( ChangeType+ ( ..,+ ChangeType_APPEND,+ ChangeType_MODIFY,+ ChangeType_REPLACE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Indicates how the given change will be applied to the dataset.+newtype ChangeType = ChangeType'+ { fromChangeType ::+ 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 ChangeType_APPEND :: ChangeType+pattern ChangeType_APPEND = ChangeType' "APPEND"++pattern ChangeType_MODIFY :: ChangeType+pattern ChangeType_MODIFY = ChangeType' "MODIFY"++pattern ChangeType_REPLACE :: ChangeType+pattern ChangeType_REPLACE = ChangeType' "REPLACE"++{-# COMPLETE+ ChangeType_APPEND,+ ChangeType_MODIFY,+ ChangeType_REPLACE,+ ChangeType'+ #-}
+ gen/Amazonka/FinSpaceData/Types/ChangesetErrorInfo.hs view
@@ -0,0 +1,149 @@+{-# 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.FinSpaceData.Types.ChangesetErrorInfo+-- 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.FinSpaceData.Types.ChangesetErrorInfo where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FinSpaceData.Types.ErrorCategory+import qualified Amazonka.Prelude as Prelude++-- | The structure with error messages.+--+-- /See:/ 'newChangesetErrorInfo' smart constructor.+data ChangesetErrorInfo = ChangesetErrorInfo'+ { -- | The category of the error.+ --+ -- - @VALIDATION@ – The inputs to this request are invalid.+ --+ -- - @SERVICE_QUOTA_EXCEEDED@ – Service quotas have been exceeded. Please+ -- contact AWS support to increase quotas.+ --+ -- - @ACCESS_DENIED@ – Missing required permission to perform this+ -- request.+ --+ -- - @RESOURCE_NOT_FOUND@ – One or more inputs to this request were not+ -- found.+ --+ -- - @THROTTLING@ – The system temporarily lacks sufficient resources to+ -- process the request.+ --+ -- - @INTERNAL_SERVICE_EXCEPTION@ – An internal service error has+ -- occurred.+ --+ -- - @CANCELLED@ – Cancelled.+ --+ -- - @USER_RECOVERABLE@ – A user recoverable error has occurred.+ errorCategory :: Prelude.Maybe ErrorCategory,+ -- | The text of the error message.+ errorMessage :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ChangesetErrorInfo' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'errorCategory', 'changesetErrorInfo_errorCategory' - The category of the error.+--+-- - @VALIDATION@ – The inputs to this request are invalid.+--+-- - @SERVICE_QUOTA_EXCEEDED@ – Service quotas have been exceeded. Please+-- contact AWS support to increase quotas.+--+-- - @ACCESS_DENIED@ – Missing required permission to perform this+-- request.+--+-- - @RESOURCE_NOT_FOUND@ – One or more inputs to this request were not+-- found.+--+-- - @THROTTLING@ – The system temporarily lacks sufficient resources to+-- process the request.+--+-- - @INTERNAL_SERVICE_EXCEPTION@ – An internal service error has+-- occurred.+--+-- - @CANCELLED@ – Cancelled.+--+-- - @USER_RECOVERABLE@ – A user recoverable error has occurred.+--+-- 'errorMessage', 'changesetErrorInfo_errorMessage' - The text of the error message.+newChangesetErrorInfo ::+ ChangesetErrorInfo+newChangesetErrorInfo =+ ChangesetErrorInfo'+ { errorCategory =+ Prelude.Nothing,+ errorMessage = Prelude.Nothing+ }++-- | The category of the error.+--+-- - @VALIDATION@ – The inputs to this request are invalid.+--+-- - @SERVICE_QUOTA_EXCEEDED@ – Service quotas have been exceeded. Please+-- contact AWS support to increase quotas.+--+-- - @ACCESS_DENIED@ – Missing required permission to perform this+-- request.+--+-- - @RESOURCE_NOT_FOUND@ – One or more inputs to this request were not+-- found.+--+-- - @THROTTLING@ – The system temporarily lacks sufficient resources to+-- process the request.+--+-- - @INTERNAL_SERVICE_EXCEPTION@ – An internal service error has+-- occurred.+--+-- - @CANCELLED@ – Cancelled.+--+-- - @USER_RECOVERABLE@ – A user recoverable error has occurred.+changesetErrorInfo_errorCategory :: Lens.Lens' ChangesetErrorInfo (Prelude.Maybe ErrorCategory)+changesetErrorInfo_errorCategory = Lens.lens (\ChangesetErrorInfo' {errorCategory} -> errorCategory) (\s@ChangesetErrorInfo' {} a -> s {errorCategory = a} :: ChangesetErrorInfo)++-- | The text of the error message.+changesetErrorInfo_errorMessage :: Lens.Lens' ChangesetErrorInfo (Prelude.Maybe Prelude.Text)+changesetErrorInfo_errorMessage = Lens.lens (\ChangesetErrorInfo' {errorMessage} -> errorMessage) (\s@ChangesetErrorInfo' {} a -> s {errorMessage = a} :: ChangesetErrorInfo)++instance Data.FromJSON ChangesetErrorInfo where+ parseJSON =+ Data.withObject+ "ChangesetErrorInfo"+ ( \x ->+ ChangesetErrorInfo'+ Prelude.<$> (x Data..:? "errorCategory")+ Prelude.<*> (x Data..:? "errorMessage")+ )++instance Prelude.Hashable ChangesetErrorInfo where+ hashWithSalt _salt ChangesetErrorInfo' {..} =+ _salt+ `Prelude.hashWithSalt` errorCategory+ `Prelude.hashWithSalt` errorMessage++instance Prelude.NFData ChangesetErrorInfo where+ rnf ChangesetErrorInfo' {..} =+ Prelude.rnf errorCategory+ `Prelude.seq` Prelude.rnf errorMessage
+ gen/Amazonka/FinSpaceData/Types/ChangesetSummary.hs view
@@ -0,0 +1,298 @@+{-# 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.FinSpaceData.Types.ChangesetSummary+-- 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.FinSpaceData.Types.ChangesetSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FinSpaceData.Types.ChangeType+import Amazonka.FinSpaceData.Types.ChangesetErrorInfo+import Amazonka.FinSpaceData.Types.IngestionStatus+import qualified Amazonka.Prelude as Prelude++-- | A Changeset is unit of data in a Dataset.+--+-- /See:/ 'newChangesetSummary' smart constructor.+data ChangesetSummary = ChangesetSummary'+ { -- | Beginning time from which the Changeset is active. The value is+ -- determined as epoch time in milliseconds. For example, the value for+ -- Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.+ activeFromTimestamp :: Prelude.Maybe Prelude.Integer,+ -- | Time until which the Changeset is active. The value is determined as+ -- epoch time in milliseconds. For example, the value for Monday, November+ -- 1, 2021 12:00:00 PM UTC is specified as 1635768000000.+ activeUntilTimestamp :: Prelude.Maybe Prelude.Integer,+ -- | Type that indicates how a Changeset is applied to a Dataset.+ --+ -- - @REPLACE@ – Changeset is considered as a replacement to all prior+ -- loaded Changesets.+ --+ -- - @APPEND@ – Changeset is considered as an addition to the end of all+ -- prior loaded Changesets.+ --+ -- - @MODIFY@ – Changeset is considered as a replacement to a specific+ -- prior ingested Changeset.+ changeType :: Prelude.Maybe ChangeType,+ -- | The ARN identifier of the Changeset.+ changesetArn :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for a Changeset.+ changesetId :: Prelude.Maybe Prelude.Text,+ -- | The timestamp at which the Changeset was created in FinSpace. The value+ -- is determined as epoch time in milliseconds. For example, the value for+ -- Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.+ createTime :: Prelude.Maybe Prelude.Integer,+ -- | The unique identifier for the FinSpace Dataset in which the Changeset is+ -- created.+ datasetId :: Prelude.Maybe Prelude.Text,+ -- | The structure with error messages.+ errorInfo :: Prelude.Maybe ChangesetErrorInfo,+ -- | Options that define the structure of the source file(s).+ formatParams :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | Options that define the location of the data being ingested.+ sourceParams :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | Status of the Changeset ingestion.+ --+ -- - @PENDING@ – Changeset is pending creation.+ --+ -- - @FAILED@ – Changeset creation has failed.+ --+ -- - @SUCCESS@ – Changeset creation has succeeded.+ --+ -- - @RUNNING@ – Changeset creation is running.+ --+ -- - @STOP_REQUESTED@ – User requested Changeset creation to stop.+ status :: Prelude.Maybe IngestionStatus,+ -- | The unique identifier of the updated Changeset.+ updatedByChangesetId :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier of the Changeset that is updated.+ updatesChangesetId :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ChangesetSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'activeFromTimestamp', 'changesetSummary_activeFromTimestamp' - Beginning time from which the Changeset is active. The value is+-- determined as epoch time in milliseconds. For example, the value for+-- Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.+--+-- 'activeUntilTimestamp', 'changesetSummary_activeUntilTimestamp' - Time until which the Changeset is active. The value is determined as+-- epoch time in milliseconds. For example, the value for Monday, November+-- 1, 2021 12:00:00 PM UTC is specified as 1635768000000.+--+-- 'changeType', 'changesetSummary_changeType' - Type that indicates how a Changeset is applied to a Dataset.+--+-- - @REPLACE@ – Changeset is considered as a replacement to all prior+-- loaded Changesets.+--+-- - @APPEND@ – Changeset is considered as an addition to the end of all+-- prior loaded Changesets.+--+-- - @MODIFY@ – Changeset is considered as a replacement to a specific+-- prior ingested Changeset.+--+-- 'changesetArn', 'changesetSummary_changesetArn' - The ARN identifier of the Changeset.+--+-- 'changesetId', 'changesetSummary_changesetId' - The unique identifier for a Changeset.+--+-- 'createTime', 'changesetSummary_createTime' - The timestamp at which the Changeset was created in FinSpace. The value+-- is determined as epoch time in milliseconds. For example, the value for+-- Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.+--+-- 'datasetId', 'changesetSummary_datasetId' - The unique identifier for the FinSpace Dataset in which the Changeset is+-- created.+--+-- 'errorInfo', 'changesetSummary_errorInfo' - The structure with error messages.+--+-- 'formatParams', 'changesetSummary_formatParams' - Options that define the structure of the source file(s).+--+-- 'sourceParams', 'changesetSummary_sourceParams' - Options that define the location of the data being ingested.+--+-- 'status', 'changesetSummary_status' - Status of the Changeset ingestion.+--+-- - @PENDING@ – Changeset is pending creation.+--+-- - @FAILED@ – Changeset creation has failed.+--+-- - @SUCCESS@ – Changeset creation has succeeded.+--+-- - @RUNNING@ – Changeset creation is running.+--+-- - @STOP_REQUESTED@ – User requested Changeset creation to stop.+--+-- 'updatedByChangesetId', 'changesetSummary_updatedByChangesetId' - The unique identifier of the updated Changeset.+--+-- 'updatesChangesetId', 'changesetSummary_updatesChangesetId' - The unique identifier of the Changeset that is updated.+newChangesetSummary ::+ ChangesetSummary+newChangesetSummary =+ ChangesetSummary'+ { activeFromTimestamp =+ Prelude.Nothing,+ activeUntilTimestamp = Prelude.Nothing,+ changeType = Prelude.Nothing,+ changesetArn = Prelude.Nothing,+ changesetId = Prelude.Nothing,+ createTime = Prelude.Nothing,+ datasetId = Prelude.Nothing,+ errorInfo = Prelude.Nothing,+ formatParams = Prelude.Nothing,+ sourceParams = Prelude.Nothing,+ status = Prelude.Nothing,+ updatedByChangesetId = Prelude.Nothing,+ updatesChangesetId = Prelude.Nothing+ }++-- | Beginning time from which the Changeset is active. The value is+-- determined as epoch time in milliseconds. For example, the value for+-- Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.+changesetSummary_activeFromTimestamp :: Lens.Lens' ChangesetSummary (Prelude.Maybe Prelude.Integer)+changesetSummary_activeFromTimestamp = Lens.lens (\ChangesetSummary' {activeFromTimestamp} -> activeFromTimestamp) (\s@ChangesetSummary' {} a -> s {activeFromTimestamp = a} :: ChangesetSummary)++-- | Time until which the Changeset is active. The value is determined as+-- epoch time in milliseconds. For example, the value for Monday, November+-- 1, 2021 12:00:00 PM UTC is specified as 1635768000000.+changesetSummary_activeUntilTimestamp :: Lens.Lens' ChangesetSummary (Prelude.Maybe Prelude.Integer)+changesetSummary_activeUntilTimestamp = Lens.lens (\ChangesetSummary' {activeUntilTimestamp} -> activeUntilTimestamp) (\s@ChangesetSummary' {} a -> s {activeUntilTimestamp = a} :: ChangesetSummary)++-- | Type that indicates how a Changeset is applied to a Dataset.+--+-- - @REPLACE@ – Changeset is considered as a replacement to all prior+-- loaded Changesets.+--+-- - @APPEND@ – Changeset is considered as an addition to the end of all+-- prior loaded Changesets.+--+-- - @MODIFY@ – Changeset is considered as a replacement to a specific+-- prior ingested Changeset.+changesetSummary_changeType :: Lens.Lens' ChangesetSummary (Prelude.Maybe ChangeType)+changesetSummary_changeType = Lens.lens (\ChangesetSummary' {changeType} -> changeType) (\s@ChangesetSummary' {} a -> s {changeType = a} :: ChangesetSummary)++-- | The ARN identifier of the Changeset.+changesetSummary_changesetArn :: Lens.Lens' ChangesetSummary (Prelude.Maybe Prelude.Text)+changesetSummary_changesetArn = Lens.lens (\ChangesetSummary' {changesetArn} -> changesetArn) (\s@ChangesetSummary' {} a -> s {changesetArn = a} :: ChangesetSummary)++-- | The unique identifier for a Changeset.+changesetSummary_changesetId :: Lens.Lens' ChangesetSummary (Prelude.Maybe Prelude.Text)+changesetSummary_changesetId = Lens.lens (\ChangesetSummary' {changesetId} -> changesetId) (\s@ChangesetSummary' {} a -> s {changesetId = a} :: ChangesetSummary)++-- | The timestamp at which the Changeset was created in FinSpace. The value+-- is determined as epoch time in milliseconds. For example, the value for+-- Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.+changesetSummary_createTime :: Lens.Lens' ChangesetSummary (Prelude.Maybe Prelude.Integer)+changesetSummary_createTime = Lens.lens (\ChangesetSummary' {createTime} -> createTime) (\s@ChangesetSummary' {} a -> s {createTime = a} :: ChangesetSummary)++-- | The unique identifier for the FinSpace Dataset in which the Changeset is+-- created.+changesetSummary_datasetId :: Lens.Lens' ChangesetSummary (Prelude.Maybe Prelude.Text)+changesetSummary_datasetId = Lens.lens (\ChangesetSummary' {datasetId} -> datasetId) (\s@ChangesetSummary' {} a -> s {datasetId = a} :: ChangesetSummary)++-- | The structure with error messages.+changesetSummary_errorInfo :: Lens.Lens' ChangesetSummary (Prelude.Maybe ChangesetErrorInfo)+changesetSummary_errorInfo = Lens.lens (\ChangesetSummary' {errorInfo} -> errorInfo) (\s@ChangesetSummary' {} a -> s {errorInfo = a} :: ChangesetSummary)++-- | Options that define the structure of the source file(s).+changesetSummary_formatParams :: Lens.Lens' ChangesetSummary (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+changesetSummary_formatParams = Lens.lens (\ChangesetSummary' {formatParams} -> formatParams) (\s@ChangesetSummary' {} a -> s {formatParams = a} :: ChangesetSummary) Prelude.. Lens.mapping Lens.coerced++-- | Options that define the location of the data being ingested.+changesetSummary_sourceParams :: Lens.Lens' ChangesetSummary (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+changesetSummary_sourceParams = Lens.lens (\ChangesetSummary' {sourceParams} -> sourceParams) (\s@ChangesetSummary' {} a -> s {sourceParams = a} :: ChangesetSummary) Prelude.. Lens.mapping Lens.coerced++-- | Status of the Changeset ingestion.+--+-- - @PENDING@ – Changeset is pending creation.+--+-- - @FAILED@ – Changeset creation has failed.+--+-- - @SUCCESS@ – Changeset creation has succeeded.+--+-- - @RUNNING@ – Changeset creation is running.+--+-- - @STOP_REQUESTED@ – User requested Changeset creation to stop.+changesetSummary_status :: Lens.Lens' ChangesetSummary (Prelude.Maybe IngestionStatus)+changesetSummary_status = Lens.lens (\ChangesetSummary' {status} -> status) (\s@ChangesetSummary' {} a -> s {status = a} :: ChangesetSummary)++-- | The unique identifier of the updated Changeset.+changesetSummary_updatedByChangesetId :: Lens.Lens' ChangesetSummary (Prelude.Maybe Prelude.Text)+changesetSummary_updatedByChangesetId = Lens.lens (\ChangesetSummary' {updatedByChangesetId} -> updatedByChangesetId) (\s@ChangesetSummary' {} a -> s {updatedByChangesetId = a} :: ChangesetSummary)++-- | The unique identifier of the Changeset that is updated.+changesetSummary_updatesChangesetId :: Lens.Lens' ChangesetSummary (Prelude.Maybe Prelude.Text)+changesetSummary_updatesChangesetId = Lens.lens (\ChangesetSummary' {updatesChangesetId} -> updatesChangesetId) (\s@ChangesetSummary' {} a -> s {updatesChangesetId = a} :: ChangesetSummary)++instance Data.FromJSON ChangesetSummary where+ parseJSON =+ Data.withObject+ "ChangesetSummary"+ ( \x ->+ ChangesetSummary'+ Prelude.<$> (x Data..:? "activeFromTimestamp")+ Prelude.<*> (x Data..:? "activeUntilTimestamp")+ Prelude.<*> (x Data..:? "changeType")+ Prelude.<*> (x Data..:? "changesetArn")+ Prelude.<*> (x Data..:? "changesetId")+ Prelude.<*> (x Data..:? "createTime")+ Prelude.<*> (x Data..:? "datasetId")+ Prelude.<*> (x Data..:? "errorInfo")+ Prelude.<*> (x Data..:? "formatParams" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "sourceParams" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "status")+ Prelude.<*> (x Data..:? "updatedByChangesetId")+ Prelude.<*> (x Data..:? "updatesChangesetId")+ )++instance Prelude.Hashable ChangesetSummary where+ hashWithSalt _salt ChangesetSummary' {..} =+ _salt+ `Prelude.hashWithSalt` activeFromTimestamp+ `Prelude.hashWithSalt` activeUntilTimestamp+ `Prelude.hashWithSalt` changeType+ `Prelude.hashWithSalt` changesetArn+ `Prelude.hashWithSalt` changesetId+ `Prelude.hashWithSalt` createTime+ `Prelude.hashWithSalt` datasetId+ `Prelude.hashWithSalt` errorInfo+ `Prelude.hashWithSalt` formatParams+ `Prelude.hashWithSalt` sourceParams+ `Prelude.hashWithSalt` status+ `Prelude.hashWithSalt` updatedByChangesetId+ `Prelude.hashWithSalt` updatesChangesetId++instance Prelude.NFData ChangesetSummary where+ rnf ChangesetSummary' {..} =+ Prelude.rnf activeFromTimestamp+ `Prelude.seq` Prelude.rnf activeUntilTimestamp+ `Prelude.seq` Prelude.rnf changeType+ `Prelude.seq` Prelude.rnf changesetArn+ `Prelude.seq` Prelude.rnf changesetId+ `Prelude.seq` Prelude.rnf createTime+ `Prelude.seq` Prelude.rnf datasetId+ `Prelude.seq` Prelude.rnf errorInfo+ `Prelude.seq` Prelude.rnf formatParams+ `Prelude.seq` Prelude.rnf sourceParams+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf updatedByChangesetId+ `Prelude.seq` Prelude.rnf updatesChangesetId
+ gen/Amazonka/FinSpaceData/Types/ColumnDataType.hs view
@@ -0,0 +1,122 @@+{-# 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.FinSpaceData.Types.ColumnDataType+-- 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.FinSpaceData.Types.ColumnDataType+ ( ColumnDataType+ ( ..,+ ColumnDataType_BIGINT,+ ColumnDataType_BINARY,+ ColumnDataType_BOOLEAN,+ ColumnDataType_CHAR,+ ColumnDataType_DATE,+ ColumnDataType_DATETIME,+ ColumnDataType_DOUBLE,+ ColumnDataType_FLOAT,+ ColumnDataType_INTEGER,+ ColumnDataType_SMALLINT,+ ColumnDataType_STRING,+ ColumnDataType_TINYINT+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Data type of a column.+newtype ColumnDataType = ColumnDataType'+ { fromColumnDataType ::+ 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 ColumnDataType_BIGINT :: ColumnDataType+pattern ColumnDataType_BIGINT = ColumnDataType' "BIGINT"++pattern ColumnDataType_BINARY :: ColumnDataType+pattern ColumnDataType_BINARY = ColumnDataType' "BINARY"++pattern ColumnDataType_BOOLEAN :: ColumnDataType+pattern ColumnDataType_BOOLEAN = ColumnDataType' "BOOLEAN"++pattern ColumnDataType_CHAR :: ColumnDataType+pattern ColumnDataType_CHAR = ColumnDataType' "CHAR"++pattern ColumnDataType_DATE :: ColumnDataType+pattern ColumnDataType_DATE = ColumnDataType' "DATE"++pattern ColumnDataType_DATETIME :: ColumnDataType+pattern ColumnDataType_DATETIME = ColumnDataType' "DATETIME"++pattern ColumnDataType_DOUBLE :: ColumnDataType+pattern ColumnDataType_DOUBLE = ColumnDataType' "DOUBLE"++pattern ColumnDataType_FLOAT :: ColumnDataType+pattern ColumnDataType_FLOAT = ColumnDataType' "FLOAT"++pattern ColumnDataType_INTEGER :: ColumnDataType+pattern ColumnDataType_INTEGER = ColumnDataType' "INTEGER"++pattern ColumnDataType_SMALLINT :: ColumnDataType+pattern ColumnDataType_SMALLINT = ColumnDataType' "SMALLINT"++pattern ColumnDataType_STRING :: ColumnDataType+pattern ColumnDataType_STRING = ColumnDataType' "STRING"++pattern ColumnDataType_TINYINT :: ColumnDataType+pattern ColumnDataType_TINYINT = ColumnDataType' "TINYINT"++{-# COMPLETE+ ColumnDataType_BIGINT,+ ColumnDataType_BINARY,+ ColumnDataType_BOOLEAN,+ ColumnDataType_CHAR,+ ColumnDataType_DATE,+ ColumnDataType_DATETIME,+ ColumnDataType_DOUBLE,+ ColumnDataType_FLOAT,+ ColumnDataType_INTEGER,+ ColumnDataType_SMALLINT,+ ColumnDataType_STRING,+ ColumnDataType_TINYINT,+ ColumnDataType'+ #-}
+ gen/Amazonka/FinSpaceData/Types/ColumnDefinition.hs view
@@ -0,0 +1,181 @@+{-# 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.FinSpaceData.Types.ColumnDefinition+-- 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.FinSpaceData.Types.ColumnDefinition where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FinSpaceData.Types.ColumnDataType+import qualified Amazonka.Prelude as Prelude++-- | The definition of a column in a tabular Dataset.+--+-- /See:/ 'newColumnDefinition' smart constructor.+data ColumnDefinition = ColumnDefinition'+ { -- | Description for a column.+ columnDescription :: Prelude.Maybe Prelude.Text,+ -- | The name of a column.+ columnName :: Prelude.Maybe Prelude.Text,+ -- | Data type of a column.+ --+ -- - @STRING@ – A String data type.+ --+ -- @CHAR@ – A char data type.+ --+ -- @INTEGER@ – An integer data type.+ --+ -- @TINYINT@ – A tinyint data type.+ --+ -- @SMALLINT@ – A smallint data type.+ --+ -- @BIGINT@ – A bigint data type.+ --+ -- @FLOAT@ – A float data type.+ --+ -- @DOUBLE@ – A double data type.+ --+ -- @DATE@ – A date data type.+ --+ -- @DATETIME@ – A datetime data type.+ --+ -- @BOOLEAN@ – A boolean data type.+ --+ -- @BINARY@ – A binary data type.+ dataType :: Prelude.Maybe ColumnDataType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ColumnDefinition' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'columnDescription', 'columnDefinition_columnDescription' - Description for a column.+--+-- 'columnName', 'columnDefinition_columnName' - The name of a column.+--+-- 'dataType', 'columnDefinition_dataType' - Data type of a column.+--+-- - @STRING@ – A String data type.+--+-- @CHAR@ – A char data type.+--+-- @INTEGER@ – An integer data type.+--+-- @TINYINT@ – A tinyint data type.+--+-- @SMALLINT@ – A smallint data type.+--+-- @BIGINT@ – A bigint data type.+--+-- @FLOAT@ – A float data type.+--+-- @DOUBLE@ – A double data type.+--+-- @DATE@ – A date data type.+--+-- @DATETIME@ – A datetime data type.+--+-- @BOOLEAN@ – A boolean data type.+--+-- @BINARY@ – A binary data type.+newColumnDefinition ::+ ColumnDefinition+newColumnDefinition =+ ColumnDefinition'+ { columnDescription =+ Prelude.Nothing,+ columnName = Prelude.Nothing,+ dataType = Prelude.Nothing+ }++-- | Description for a column.+columnDefinition_columnDescription :: Lens.Lens' ColumnDefinition (Prelude.Maybe Prelude.Text)+columnDefinition_columnDescription = Lens.lens (\ColumnDefinition' {columnDescription} -> columnDescription) (\s@ColumnDefinition' {} a -> s {columnDescription = a} :: ColumnDefinition)++-- | The name of a column.+columnDefinition_columnName :: Lens.Lens' ColumnDefinition (Prelude.Maybe Prelude.Text)+columnDefinition_columnName = Lens.lens (\ColumnDefinition' {columnName} -> columnName) (\s@ColumnDefinition' {} a -> s {columnName = a} :: ColumnDefinition)++-- | Data type of a column.+--+-- - @STRING@ – A String data type.+--+-- @CHAR@ – A char data type.+--+-- @INTEGER@ – An integer data type.+--+-- @TINYINT@ – A tinyint data type.+--+-- @SMALLINT@ – A smallint data type.+--+-- @BIGINT@ – A bigint data type.+--+-- @FLOAT@ – A float data type.+--+-- @DOUBLE@ – A double data type.+--+-- @DATE@ – A date data type.+--+-- @DATETIME@ – A datetime data type.+--+-- @BOOLEAN@ – A boolean data type.+--+-- @BINARY@ – A binary data type.+columnDefinition_dataType :: Lens.Lens' ColumnDefinition (Prelude.Maybe ColumnDataType)+columnDefinition_dataType = Lens.lens (\ColumnDefinition' {dataType} -> dataType) (\s@ColumnDefinition' {} a -> s {dataType = a} :: ColumnDefinition)++instance Data.FromJSON ColumnDefinition where+ parseJSON =+ Data.withObject+ "ColumnDefinition"+ ( \x ->+ ColumnDefinition'+ Prelude.<$> (x Data..:? "columnDescription")+ Prelude.<*> (x Data..:? "columnName")+ Prelude.<*> (x Data..:? "dataType")+ )++instance Prelude.Hashable ColumnDefinition where+ hashWithSalt _salt ColumnDefinition' {..} =+ _salt+ `Prelude.hashWithSalt` columnDescription+ `Prelude.hashWithSalt` columnName+ `Prelude.hashWithSalt` dataType++instance Prelude.NFData ColumnDefinition where+ rnf ColumnDefinition' {..} =+ Prelude.rnf columnDescription+ `Prelude.seq` Prelude.rnf columnName+ `Prelude.seq` Prelude.rnf dataType++instance Data.ToJSON ColumnDefinition where+ toJSON ColumnDefinition' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("columnDescription" Data..=)+ Prelude.<$> columnDescription,+ ("columnName" Data..=) Prelude.<$> columnName,+ ("dataType" Data..=) Prelude.<$> dataType+ ]+ )
+ gen/Amazonka/FinSpaceData/Types/Credentials.hs view
@@ -0,0 +1,96 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FinSpaceData.Types.Credentials+-- 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.FinSpaceData.Types.Credentials 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++-- | Short term API credentials.+--+-- /See:/ 'newCredentials' smart constructor.+data Credentials = Credentials'+ { -- | The access key identifier.+ accessKeyId :: Prelude.Maybe Prelude.Text,+ -- | The access key.+ secretAccessKey :: Prelude.Maybe Prelude.Text,+ -- | The session token.+ sessionToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Credentials' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accessKeyId', 'credentials_accessKeyId' - The access key identifier.+--+-- 'secretAccessKey', 'credentials_secretAccessKey' - The access key.+--+-- 'sessionToken', 'credentials_sessionToken' - The session token.+newCredentials ::+ Credentials+newCredentials =+ Credentials'+ { accessKeyId = Prelude.Nothing,+ secretAccessKey = Prelude.Nothing,+ sessionToken = Prelude.Nothing+ }++-- | The access key identifier.+credentials_accessKeyId :: Lens.Lens' Credentials (Prelude.Maybe Prelude.Text)+credentials_accessKeyId = Lens.lens (\Credentials' {accessKeyId} -> accessKeyId) (\s@Credentials' {} a -> s {accessKeyId = a} :: Credentials)++-- | The access key.+credentials_secretAccessKey :: Lens.Lens' Credentials (Prelude.Maybe Prelude.Text)+credentials_secretAccessKey = Lens.lens (\Credentials' {secretAccessKey} -> secretAccessKey) (\s@Credentials' {} a -> s {secretAccessKey = a} :: Credentials)++-- | The session token.+credentials_sessionToken :: Lens.Lens' Credentials (Prelude.Maybe Prelude.Text)+credentials_sessionToken = Lens.lens (\Credentials' {sessionToken} -> sessionToken) (\s@Credentials' {} a -> s {sessionToken = a} :: Credentials)++instance Data.FromJSON Credentials where+ parseJSON =+ Data.withObject+ "Credentials"+ ( \x ->+ Credentials'+ Prelude.<$> (x Data..:? "accessKeyId")+ Prelude.<*> (x Data..:? "secretAccessKey")+ Prelude.<*> (x Data..:? "sessionToken")+ )++instance Prelude.Hashable Credentials where+ hashWithSalt _salt Credentials' {..} =+ _salt+ `Prelude.hashWithSalt` accessKeyId+ `Prelude.hashWithSalt` secretAccessKey+ `Prelude.hashWithSalt` sessionToken++instance Prelude.NFData Credentials where+ rnf Credentials' {..} =+ Prelude.rnf accessKeyId+ `Prelude.seq` Prelude.rnf secretAccessKey+ `Prelude.seq` Prelude.rnf sessionToken
+ gen/Amazonka/FinSpaceData/Types/DataViewDestinationTypeParams.hs view
@@ -0,0 +1,159 @@+{-# 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.FinSpaceData.Types.DataViewDestinationTypeParams+-- 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.FinSpaceData.Types.DataViewDestinationTypeParams where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FinSpaceData.Types.ExportFileFormat+import qualified Amazonka.Prelude as Prelude++-- | Structure for the Dataview destination type parameters.+--+-- /See:/ 'newDataViewDestinationTypeParams' smart constructor.+data DataViewDestinationTypeParams = DataViewDestinationTypeParams'+ { -- | Dataview export file format.+ --+ -- - @PARQUET@ – Parquet export file format.+ --+ -- - @DELIMITED_TEXT@ – Delimited text export file format.+ s3DestinationExportFileFormat :: Prelude.Maybe ExportFileFormat,+ -- | Format Options for S3 Destination type.+ --+ -- Here is an example of how you could specify the+ -- @s3DestinationExportFileFormatOptions@+ --+ -- @ { \"header\": \"true\", \"delimiter\": \",\", \"compression\": \"gzip\" }@+ s3DestinationExportFileFormatOptions :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | Destination type for a Dataview.+ --+ -- - @GLUE_TABLE@ – Glue table destination type.+ --+ -- - @S3@ – S3 destination type.+ destinationType :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DataViewDestinationTypeParams' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 's3DestinationExportFileFormat', 'dataViewDestinationTypeParams_s3DestinationExportFileFormat' - Dataview export file format.+--+-- - @PARQUET@ – Parquet export file format.+--+-- - @DELIMITED_TEXT@ – Delimited text export file format.+--+-- 's3DestinationExportFileFormatOptions', 'dataViewDestinationTypeParams_s3DestinationExportFileFormatOptions' - Format Options for S3 Destination type.+--+-- Here is an example of how you could specify the+-- @s3DestinationExportFileFormatOptions@+--+-- @ { \"header\": \"true\", \"delimiter\": \",\", \"compression\": \"gzip\" }@+--+-- 'destinationType', 'dataViewDestinationTypeParams_destinationType' - Destination type for a Dataview.+--+-- - @GLUE_TABLE@ – Glue table destination type.+--+-- - @S3@ – S3 destination type.+newDataViewDestinationTypeParams ::+ -- | 'destinationType'+ Prelude.Text ->+ DataViewDestinationTypeParams+newDataViewDestinationTypeParams pDestinationType_ =+ DataViewDestinationTypeParams'+ { s3DestinationExportFileFormat =+ Prelude.Nothing,+ s3DestinationExportFileFormatOptions =+ Prelude.Nothing,+ destinationType = pDestinationType_+ }++-- | Dataview export file format.+--+-- - @PARQUET@ – Parquet export file format.+--+-- - @DELIMITED_TEXT@ – Delimited text export file format.+dataViewDestinationTypeParams_s3DestinationExportFileFormat :: Lens.Lens' DataViewDestinationTypeParams (Prelude.Maybe ExportFileFormat)+dataViewDestinationTypeParams_s3DestinationExportFileFormat = Lens.lens (\DataViewDestinationTypeParams' {s3DestinationExportFileFormat} -> s3DestinationExportFileFormat) (\s@DataViewDestinationTypeParams' {} a -> s {s3DestinationExportFileFormat = a} :: DataViewDestinationTypeParams)++-- | Format Options for S3 Destination type.+--+-- Here is an example of how you could specify the+-- @s3DestinationExportFileFormatOptions@+--+-- @ { \"header\": \"true\", \"delimiter\": \",\", \"compression\": \"gzip\" }@+dataViewDestinationTypeParams_s3DestinationExportFileFormatOptions :: Lens.Lens' DataViewDestinationTypeParams (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+dataViewDestinationTypeParams_s3DestinationExportFileFormatOptions = Lens.lens (\DataViewDestinationTypeParams' {s3DestinationExportFileFormatOptions} -> s3DestinationExportFileFormatOptions) (\s@DataViewDestinationTypeParams' {} a -> s {s3DestinationExportFileFormatOptions = a} :: DataViewDestinationTypeParams) Prelude.. Lens.mapping Lens.coerced++-- | Destination type for a Dataview.+--+-- - @GLUE_TABLE@ – Glue table destination type.+--+-- - @S3@ – S3 destination type.+dataViewDestinationTypeParams_destinationType :: Lens.Lens' DataViewDestinationTypeParams Prelude.Text+dataViewDestinationTypeParams_destinationType = Lens.lens (\DataViewDestinationTypeParams' {destinationType} -> destinationType) (\s@DataViewDestinationTypeParams' {} a -> s {destinationType = a} :: DataViewDestinationTypeParams)++instance Data.FromJSON DataViewDestinationTypeParams where+ parseJSON =+ Data.withObject+ "DataViewDestinationTypeParams"+ ( \x ->+ DataViewDestinationTypeParams'+ Prelude.<$> (x Data..:? "s3DestinationExportFileFormat")+ Prelude.<*> ( x+ Data..:? "s3DestinationExportFileFormatOptions"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..: "destinationType")+ )++instance+ Prelude.Hashable+ DataViewDestinationTypeParams+ where+ hashWithSalt _salt DataViewDestinationTypeParams' {..} =+ _salt+ `Prelude.hashWithSalt` s3DestinationExportFileFormat+ `Prelude.hashWithSalt` s3DestinationExportFileFormatOptions+ `Prelude.hashWithSalt` destinationType++instance Prelude.NFData DataViewDestinationTypeParams where+ rnf DataViewDestinationTypeParams' {..} =+ Prelude.rnf s3DestinationExportFileFormat+ `Prelude.seq` Prelude.rnf s3DestinationExportFileFormatOptions+ `Prelude.seq` Prelude.rnf destinationType++instance Data.ToJSON DataViewDestinationTypeParams where+ toJSON DataViewDestinationTypeParams' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("s3DestinationExportFileFormat" Data..=)+ Prelude.<$> s3DestinationExportFileFormat,+ ("s3DestinationExportFileFormatOptions" Data..=)+ Prelude.<$> s3DestinationExportFileFormatOptions,+ Prelude.Just+ ("destinationType" Data..= destinationType)+ ]+ )
+ gen/Amazonka/FinSpaceData/Types/DataViewErrorInfo.hs view
@@ -0,0 +1,148 @@+{-# 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.FinSpaceData.Types.DataViewErrorInfo+-- 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.FinSpaceData.Types.DataViewErrorInfo where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FinSpaceData.Types.ErrorCategory+import qualified Amazonka.Prelude as Prelude++-- | The structure with error messages.+--+-- /See:/ 'newDataViewErrorInfo' smart constructor.+data DataViewErrorInfo = DataViewErrorInfo'+ { -- | The category of the error.+ --+ -- - @VALIDATION@ – The inputs to this request are invalid.+ --+ -- - @SERVICE_QUOTA_EXCEEDED@ – Service quotas have been exceeded. Please+ -- contact AWS support to increase quotas.+ --+ -- - @ACCESS_DENIED@ – Missing required permission to perform this+ -- request.+ --+ -- - @RESOURCE_NOT_FOUND@ – One or more inputs to this request were not+ -- found.+ --+ -- - @THROTTLING@ – The system temporarily lacks sufficient resources to+ -- process the request.+ --+ -- - @INTERNAL_SERVICE_EXCEPTION@ – An internal service error has+ -- occurred.+ --+ -- - @CANCELLED@ – Cancelled.+ --+ -- - @USER_RECOVERABLE@ – A user recoverable error has occurred.+ errorCategory :: Prelude.Maybe ErrorCategory,+ -- | The text of the error message.+ errorMessage :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DataViewErrorInfo' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'errorCategory', 'dataViewErrorInfo_errorCategory' - The category of the error.+--+-- - @VALIDATION@ – The inputs to this request are invalid.+--+-- - @SERVICE_QUOTA_EXCEEDED@ – Service quotas have been exceeded. Please+-- contact AWS support to increase quotas.+--+-- - @ACCESS_DENIED@ – Missing required permission to perform this+-- request.+--+-- - @RESOURCE_NOT_FOUND@ – One or more inputs to this request were not+-- found.+--+-- - @THROTTLING@ – The system temporarily lacks sufficient resources to+-- process the request.+--+-- - @INTERNAL_SERVICE_EXCEPTION@ – An internal service error has+-- occurred.+--+-- - @CANCELLED@ – Cancelled.+--+-- - @USER_RECOVERABLE@ – A user recoverable error has occurred.+--+-- 'errorMessage', 'dataViewErrorInfo_errorMessage' - The text of the error message.+newDataViewErrorInfo ::+ DataViewErrorInfo+newDataViewErrorInfo =+ DataViewErrorInfo'+ { errorCategory = Prelude.Nothing,+ errorMessage = Prelude.Nothing+ }++-- | The category of the error.+--+-- - @VALIDATION@ – The inputs to this request are invalid.+--+-- - @SERVICE_QUOTA_EXCEEDED@ – Service quotas have been exceeded. Please+-- contact AWS support to increase quotas.+--+-- - @ACCESS_DENIED@ – Missing required permission to perform this+-- request.+--+-- - @RESOURCE_NOT_FOUND@ – One or more inputs to this request were not+-- found.+--+-- - @THROTTLING@ – The system temporarily lacks sufficient resources to+-- process the request.+--+-- - @INTERNAL_SERVICE_EXCEPTION@ – An internal service error has+-- occurred.+--+-- - @CANCELLED@ – Cancelled.+--+-- - @USER_RECOVERABLE@ – A user recoverable error has occurred.+dataViewErrorInfo_errorCategory :: Lens.Lens' DataViewErrorInfo (Prelude.Maybe ErrorCategory)+dataViewErrorInfo_errorCategory = Lens.lens (\DataViewErrorInfo' {errorCategory} -> errorCategory) (\s@DataViewErrorInfo' {} a -> s {errorCategory = a} :: DataViewErrorInfo)++-- | The text of the error message.+dataViewErrorInfo_errorMessage :: Lens.Lens' DataViewErrorInfo (Prelude.Maybe Prelude.Text)+dataViewErrorInfo_errorMessage = Lens.lens (\DataViewErrorInfo' {errorMessage} -> errorMessage) (\s@DataViewErrorInfo' {} a -> s {errorMessage = a} :: DataViewErrorInfo)++instance Data.FromJSON DataViewErrorInfo where+ parseJSON =+ Data.withObject+ "DataViewErrorInfo"+ ( \x ->+ DataViewErrorInfo'+ Prelude.<$> (x Data..:? "errorCategory")+ Prelude.<*> (x Data..:? "errorMessage")+ )++instance Prelude.Hashable DataViewErrorInfo where+ hashWithSalt _salt DataViewErrorInfo' {..} =+ _salt+ `Prelude.hashWithSalt` errorCategory+ `Prelude.hashWithSalt` errorMessage++instance Prelude.NFData DataViewErrorInfo where+ rnf DataViewErrorInfo' {..} =+ Prelude.rnf errorCategory+ `Prelude.seq` Prelude.rnf errorMessage
+ gen/Amazonka/FinSpaceData/Types/DataViewStatus.hs view
@@ -0,0 +1,102 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FinSpaceData.Types.DataViewStatus+-- 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.FinSpaceData.Types.DataViewStatus+ ( DataViewStatus+ ( ..,+ DataViewStatus_CANCELLED,+ DataViewStatus_FAILED,+ DataViewStatus_FAILED_CLEANUP_FAILED,+ DataViewStatus_PENDING,+ DataViewStatus_RUNNING,+ DataViewStatus_STARTING,+ DataViewStatus_SUCCESS,+ DataViewStatus_TIMEOUT+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Status of a DataView+newtype DataViewStatus = DataViewStatus'+ { fromDataViewStatus ::+ 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 DataViewStatus_CANCELLED :: DataViewStatus+pattern DataViewStatus_CANCELLED = DataViewStatus' "CANCELLED"++pattern DataViewStatus_FAILED :: DataViewStatus+pattern DataViewStatus_FAILED = DataViewStatus' "FAILED"++pattern DataViewStatus_FAILED_CLEANUP_FAILED :: DataViewStatus+pattern DataViewStatus_FAILED_CLEANUP_FAILED = DataViewStatus' "FAILED_CLEANUP_FAILED"++pattern DataViewStatus_PENDING :: DataViewStatus+pattern DataViewStatus_PENDING = DataViewStatus' "PENDING"++pattern DataViewStatus_RUNNING :: DataViewStatus+pattern DataViewStatus_RUNNING = DataViewStatus' "RUNNING"++pattern DataViewStatus_STARTING :: DataViewStatus+pattern DataViewStatus_STARTING = DataViewStatus' "STARTING"++pattern DataViewStatus_SUCCESS :: DataViewStatus+pattern DataViewStatus_SUCCESS = DataViewStatus' "SUCCESS"++pattern DataViewStatus_TIMEOUT :: DataViewStatus+pattern DataViewStatus_TIMEOUT = DataViewStatus' "TIMEOUT"++{-# COMPLETE+ DataViewStatus_CANCELLED,+ DataViewStatus_FAILED,+ DataViewStatus_FAILED_CLEANUP_FAILED,+ DataViewStatus_PENDING,+ DataViewStatus_RUNNING,+ DataViewStatus_STARTING,+ DataViewStatus_SUCCESS,+ DataViewStatus_TIMEOUT,+ DataViewStatus'+ #-}
+ gen/Amazonka/FinSpaceData/Types/DataViewSummary.hs view
@@ -0,0 +1,279 @@+{-# 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.FinSpaceData.Types.DataViewSummary+-- 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.FinSpaceData.Types.DataViewSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FinSpaceData.Types.DataViewDestinationTypeParams+import Amazonka.FinSpaceData.Types.DataViewErrorInfo+import Amazonka.FinSpaceData.Types.DataViewStatus+import qualified Amazonka.Prelude as Prelude++-- | Structure for the summary of a Dataview.+--+-- /See:/ 'newDataViewSummary' smart constructor.+data DataViewSummary = DataViewSummary'+ { -- | Time range to use for the Dataview. The value is determined as epoch+ -- time in milliseconds. For example, the value for Monday, November 1,+ -- 2021 12:00:00 PM UTC is specified as 1635768000000.+ asOfTimestamp :: Prelude.Maybe Prelude.Integer,+ -- | The flag to indicate Dataview should be updated automatically.+ autoUpdate :: Prelude.Maybe Prelude.Bool,+ -- | The timestamp at which the Dataview was created in FinSpace. The value+ -- is determined as epoch time in milliseconds. For example, the value for+ -- Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.+ createTime :: Prelude.Maybe Prelude.Integer,+ -- | The ARN identifier of the Dataview.+ dataViewArn :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for the Dataview.+ dataViewId :: Prelude.Maybe Prelude.Text,+ -- | Th unique identifier for the Dataview Dataset.+ datasetId :: Prelude.Maybe Prelude.Text,+ -- | Information about the Dataview destination.+ destinationTypeProperties :: Prelude.Maybe DataViewDestinationTypeParams,+ -- | The structure with error messages.+ errorInfo :: Prelude.Maybe DataViewErrorInfo,+ -- | The last time that a Dataview was modified. The value is determined as+ -- epoch time in milliseconds. For example, the value for Monday, November+ -- 1, 2021 12:00:00 PM UTC is specified as 1635768000000.+ lastModifiedTime :: Prelude.Maybe Prelude.Integer,+ -- | Ordered set of column names used to partition data.+ partitionColumns :: Prelude.Maybe [Prelude.Text],+ -- | Columns to be used for sorting the data.+ sortColumns :: Prelude.Maybe [Prelude.Text],+ -- | The status of a Dataview creation.+ --+ -- - @RUNNING@ – Dataview creation is running.+ --+ -- - @STARTING@ – Dataview creation is starting.+ --+ -- - @FAILED@ – Dataview creation has failed.+ --+ -- - @CANCELLED@ – Dataview creation has been cancelled.+ --+ -- - @TIMEOUT@ – Dataview creation has timed out.+ --+ -- - @SUCCESS@ – Dataview creation has succeeded.+ --+ -- - @PENDING@ – Dataview creation is pending.+ --+ -- - @FAILED_CLEANUP_FAILED@ – Dataview creation failed and resource+ -- cleanup failed.+ status :: Prelude.Maybe DataViewStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DataViewSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'asOfTimestamp', 'dataViewSummary_asOfTimestamp' - Time range to use for the Dataview. The value is determined as epoch+-- time in milliseconds. For example, the value for Monday, November 1,+-- 2021 12:00:00 PM UTC is specified as 1635768000000.+--+-- 'autoUpdate', 'dataViewSummary_autoUpdate' - The flag to indicate Dataview should be updated automatically.+--+-- 'createTime', 'dataViewSummary_createTime' - The timestamp at which the Dataview was created in FinSpace. The value+-- is determined as epoch time in milliseconds. For example, the value for+-- Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.+--+-- 'dataViewArn', 'dataViewSummary_dataViewArn' - The ARN identifier of the Dataview.+--+-- 'dataViewId', 'dataViewSummary_dataViewId' - The unique identifier for the Dataview.+--+-- 'datasetId', 'dataViewSummary_datasetId' - Th unique identifier for the Dataview Dataset.+--+-- 'destinationTypeProperties', 'dataViewSummary_destinationTypeProperties' - Information about the Dataview destination.+--+-- 'errorInfo', 'dataViewSummary_errorInfo' - The structure with error messages.+--+-- 'lastModifiedTime', 'dataViewSummary_lastModifiedTime' - The last time that a Dataview was modified. The value is determined as+-- epoch time in milliseconds. For example, the value for Monday, November+-- 1, 2021 12:00:00 PM UTC is specified as 1635768000000.+--+-- 'partitionColumns', 'dataViewSummary_partitionColumns' - Ordered set of column names used to partition data.+--+-- 'sortColumns', 'dataViewSummary_sortColumns' - Columns to be used for sorting the data.+--+-- 'status', 'dataViewSummary_status' - The status of a Dataview creation.+--+-- - @RUNNING@ – Dataview creation is running.+--+-- - @STARTING@ – Dataview creation is starting.+--+-- - @FAILED@ – Dataview creation has failed.+--+-- - @CANCELLED@ – Dataview creation has been cancelled.+--+-- - @TIMEOUT@ – Dataview creation has timed out.+--+-- - @SUCCESS@ – Dataview creation has succeeded.+--+-- - @PENDING@ – Dataview creation is pending.+--+-- - @FAILED_CLEANUP_FAILED@ – Dataview creation failed and resource+-- cleanup failed.+newDataViewSummary ::+ DataViewSummary+newDataViewSummary =+ DataViewSummary'+ { asOfTimestamp = Prelude.Nothing,+ autoUpdate = Prelude.Nothing,+ createTime = Prelude.Nothing,+ dataViewArn = Prelude.Nothing,+ dataViewId = Prelude.Nothing,+ datasetId = Prelude.Nothing,+ destinationTypeProperties = Prelude.Nothing,+ errorInfo = Prelude.Nothing,+ lastModifiedTime = Prelude.Nothing,+ partitionColumns = Prelude.Nothing,+ sortColumns = Prelude.Nothing,+ status = Prelude.Nothing+ }++-- | Time range to use for the Dataview. The value is determined as epoch+-- time in milliseconds. For example, the value for Monday, November 1,+-- 2021 12:00:00 PM UTC is specified as 1635768000000.+dataViewSummary_asOfTimestamp :: Lens.Lens' DataViewSummary (Prelude.Maybe Prelude.Integer)+dataViewSummary_asOfTimestamp = Lens.lens (\DataViewSummary' {asOfTimestamp} -> asOfTimestamp) (\s@DataViewSummary' {} a -> s {asOfTimestamp = a} :: DataViewSummary)++-- | The flag to indicate Dataview should be updated automatically.+dataViewSummary_autoUpdate :: Lens.Lens' DataViewSummary (Prelude.Maybe Prelude.Bool)+dataViewSummary_autoUpdate = Lens.lens (\DataViewSummary' {autoUpdate} -> autoUpdate) (\s@DataViewSummary' {} a -> s {autoUpdate = a} :: DataViewSummary)++-- | The timestamp at which the Dataview was created in FinSpace. The value+-- is determined as epoch time in milliseconds. For example, the value for+-- Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.+dataViewSummary_createTime :: Lens.Lens' DataViewSummary (Prelude.Maybe Prelude.Integer)+dataViewSummary_createTime = Lens.lens (\DataViewSummary' {createTime} -> createTime) (\s@DataViewSummary' {} a -> s {createTime = a} :: DataViewSummary)++-- | The ARN identifier of the Dataview.+dataViewSummary_dataViewArn :: Lens.Lens' DataViewSummary (Prelude.Maybe Prelude.Text)+dataViewSummary_dataViewArn = Lens.lens (\DataViewSummary' {dataViewArn} -> dataViewArn) (\s@DataViewSummary' {} a -> s {dataViewArn = a} :: DataViewSummary)++-- | The unique identifier for the Dataview.+dataViewSummary_dataViewId :: Lens.Lens' DataViewSummary (Prelude.Maybe Prelude.Text)+dataViewSummary_dataViewId = Lens.lens (\DataViewSummary' {dataViewId} -> dataViewId) (\s@DataViewSummary' {} a -> s {dataViewId = a} :: DataViewSummary)++-- | Th unique identifier for the Dataview Dataset.+dataViewSummary_datasetId :: Lens.Lens' DataViewSummary (Prelude.Maybe Prelude.Text)+dataViewSummary_datasetId = Lens.lens (\DataViewSummary' {datasetId} -> datasetId) (\s@DataViewSummary' {} a -> s {datasetId = a} :: DataViewSummary)++-- | Information about the Dataview destination.+dataViewSummary_destinationTypeProperties :: Lens.Lens' DataViewSummary (Prelude.Maybe DataViewDestinationTypeParams)+dataViewSummary_destinationTypeProperties = Lens.lens (\DataViewSummary' {destinationTypeProperties} -> destinationTypeProperties) (\s@DataViewSummary' {} a -> s {destinationTypeProperties = a} :: DataViewSummary)++-- | The structure with error messages.+dataViewSummary_errorInfo :: Lens.Lens' DataViewSummary (Prelude.Maybe DataViewErrorInfo)+dataViewSummary_errorInfo = Lens.lens (\DataViewSummary' {errorInfo} -> errorInfo) (\s@DataViewSummary' {} a -> s {errorInfo = a} :: DataViewSummary)++-- | The last time that a Dataview was modified. The value is determined as+-- epoch time in milliseconds. For example, the value for Monday, November+-- 1, 2021 12:00:00 PM UTC is specified as 1635768000000.+dataViewSummary_lastModifiedTime :: Lens.Lens' DataViewSummary (Prelude.Maybe Prelude.Integer)+dataViewSummary_lastModifiedTime = Lens.lens (\DataViewSummary' {lastModifiedTime} -> lastModifiedTime) (\s@DataViewSummary' {} a -> s {lastModifiedTime = a} :: DataViewSummary)++-- | Ordered set of column names used to partition data.+dataViewSummary_partitionColumns :: Lens.Lens' DataViewSummary (Prelude.Maybe [Prelude.Text])+dataViewSummary_partitionColumns = Lens.lens (\DataViewSummary' {partitionColumns} -> partitionColumns) (\s@DataViewSummary' {} a -> s {partitionColumns = a} :: DataViewSummary) Prelude.. Lens.mapping Lens.coerced++-- | Columns to be used for sorting the data.+dataViewSummary_sortColumns :: Lens.Lens' DataViewSummary (Prelude.Maybe [Prelude.Text])+dataViewSummary_sortColumns = Lens.lens (\DataViewSummary' {sortColumns} -> sortColumns) (\s@DataViewSummary' {} a -> s {sortColumns = a} :: DataViewSummary) Prelude.. Lens.mapping Lens.coerced++-- | The status of a Dataview creation.+--+-- - @RUNNING@ – Dataview creation is running.+--+-- - @STARTING@ – Dataview creation is starting.+--+-- - @FAILED@ – Dataview creation has failed.+--+-- - @CANCELLED@ – Dataview creation has been cancelled.+--+-- - @TIMEOUT@ – Dataview creation has timed out.+--+-- - @SUCCESS@ – Dataview creation has succeeded.+--+-- - @PENDING@ – Dataview creation is pending.+--+-- - @FAILED_CLEANUP_FAILED@ – Dataview creation failed and resource+-- cleanup failed.+dataViewSummary_status :: Lens.Lens' DataViewSummary (Prelude.Maybe DataViewStatus)+dataViewSummary_status = Lens.lens (\DataViewSummary' {status} -> status) (\s@DataViewSummary' {} a -> s {status = a} :: DataViewSummary)++instance Data.FromJSON DataViewSummary where+ parseJSON =+ Data.withObject+ "DataViewSummary"+ ( \x ->+ DataViewSummary'+ Prelude.<$> (x Data..:? "asOfTimestamp")+ Prelude.<*> (x Data..:? "autoUpdate")+ Prelude.<*> (x Data..:? "createTime")+ Prelude.<*> (x Data..:? "dataViewArn")+ Prelude.<*> (x Data..:? "dataViewId")+ Prelude.<*> (x Data..:? "datasetId")+ Prelude.<*> (x Data..:? "destinationTypeProperties")+ Prelude.<*> (x Data..:? "errorInfo")+ Prelude.<*> (x Data..:? "lastModifiedTime")+ Prelude.<*> ( x+ Data..:? "partitionColumns"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "sortColumns" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "status")+ )++instance Prelude.Hashable DataViewSummary where+ hashWithSalt _salt DataViewSummary' {..} =+ _salt+ `Prelude.hashWithSalt` asOfTimestamp+ `Prelude.hashWithSalt` autoUpdate+ `Prelude.hashWithSalt` createTime+ `Prelude.hashWithSalt` dataViewArn+ `Prelude.hashWithSalt` dataViewId+ `Prelude.hashWithSalt` datasetId+ `Prelude.hashWithSalt` destinationTypeProperties+ `Prelude.hashWithSalt` errorInfo+ `Prelude.hashWithSalt` lastModifiedTime+ `Prelude.hashWithSalt` partitionColumns+ `Prelude.hashWithSalt` sortColumns+ `Prelude.hashWithSalt` status++instance Prelude.NFData DataViewSummary where+ rnf DataViewSummary' {..} =+ Prelude.rnf asOfTimestamp+ `Prelude.seq` Prelude.rnf autoUpdate+ `Prelude.seq` Prelude.rnf createTime+ `Prelude.seq` Prelude.rnf dataViewArn+ `Prelude.seq` Prelude.rnf dataViewId+ `Prelude.seq` Prelude.rnf datasetId+ `Prelude.seq` Prelude.rnf destinationTypeProperties+ `Prelude.seq` Prelude.rnf errorInfo+ `Prelude.seq` Prelude.rnf lastModifiedTime+ `Prelude.seq` Prelude.rnf partitionColumns+ `Prelude.seq` Prelude.rnf sortColumns+ `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/FinSpaceData/Types/Dataset.hs view
@@ -0,0 +1,207 @@+{-# 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.FinSpaceData.Types.Dataset+-- 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.FinSpaceData.Types.Dataset where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FinSpaceData.Types.DatasetKind+import Amazonka.FinSpaceData.Types.DatasetOwnerInfo+import Amazonka.FinSpaceData.Types.SchemaUnion+import qualified Amazonka.Prelude as Prelude++-- | The structure for a Dataset.+--+-- /See:/ 'newDataset' smart constructor.+data Dataset = Dataset'+ { -- | The unique resource identifier for a Dataset.+ alias :: Prelude.Maybe Prelude.Text,+ -- | The timestamp at which the Dataset was created in FinSpace. The value is+ -- determined as epoch time in milliseconds. For example, the value for+ -- Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.+ createTime :: Prelude.Maybe Prelude.Integer,+ -- | The ARN identifier of the Dataset.+ datasetArn :: Prelude.Maybe Prelude.Text,+ -- | Description for a Dataset.+ datasetDescription :: Prelude.Maybe Prelude.Text,+ -- | An identifier for a Dataset.+ datasetId :: Prelude.Maybe Prelude.Text,+ -- | Display title for a Dataset.+ datasetTitle :: Prelude.Maybe Prelude.Text,+ -- | The format in which Dataset data is structured.+ --+ -- - @TABULAR@ – Data is structured in a tabular format.+ --+ -- - @NON_TABULAR@ – Data is structured in a non-tabular format.+ kind :: Prelude.Maybe DatasetKind,+ -- | The last time that the Dataset was modified. The value is determined as+ -- epoch time in milliseconds. For example, the value for Monday, November+ -- 1, 2021 12:00:00 PM UTC is specified as 1635768000000.+ lastModifiedTime :: Prelude.Maybe Prelude.Integer,+ -- | Contact information for a Dataset owner.+ ownerInfo :: Prelude.Maybe DatasetOwnerInfo,+ -- | Definition for a schema on a tabular Dataset.+ schemaDefinition :: Prelude.Maybe SchemaUnion+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Dataset' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'alias', 'dataset_alias' - The unique resource identifier for a Dataset.+--+-- 'createTime', 'dataset_createTime' - The timestamp at which the Dataset was created in FinSpace. The value is+-- determined as epoch time in milliseconds. For example, the value for+-- Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.+--+-- 'datasetArn', 'dataset_datasetArn' - The ARN identifier of the Dataset.+--+-- 'datasetDescription', 'dataset_datasetDescription' - Description for a Dataset.+--+-- 'datasetId', 'dataset_datasetId' - An identifier for a Dataset.+--+-- 'datasetTitle', 'dataset_datasetTitle' - Display title for a Dataset.+--+-- 'kind', 'dataset_kind' - The format in which Dataset data is structured.+--+-- - @TABULAR@ – Data is structured in a tabular format.+--+-- - @NON_TABULAR@ – Data is structured in a non-tabular format.+--+-- 'lastModifiedTime', 'dataset_lastModifiedTime' - The last time that the Dataset was modified. The value is determined as+-- epoch time in milliseconds. For example, the value for Monday, November+-- 1, 2021 12:00:00 PM UTC is specified as 1635768000000.+--+-- 'ownerInfo', 'dataset_ownerInfo' - Contact information for a Dataset owner.+--+-- 'schemaDefinition', 'dataset_schemaDefinition' - Definition for a schema on a tabular Dataset.+newDataset ::+ Dataset+newDataset =+ Dataset'+ { alias = Prelude.Nothing,+ createTime = Prelude.Nothing,+ datasetArn = Prelude.Nothing,+ datasetDescription = Prelude.Nothing,+ datasetId = Prelude.Nothing,+ datasetTitle = Prelude.Nothing,+ kind = Prelude.Nothing,+ lastModifiedTime = Prelude.Nothing,+ ownerInfo = Prelude.Nothing,+ schemaDefinition = Prelude.Nothing+ }++-- | The unique resource identifier for a Dataset.+dataset_alias :: Lens.Lens' Dataset (Prelude.Maybe Prelude.Text)+dataset_alias = Lens.lens (\Dataset' {alias} -> alias) (\s@Dataset' {} a -> s {alias = a} :: Dataset)++-- | The timestamp at which the Dataset was created in FinSpace. The value is+-- determined as epoch time in milliseconds. For example, the value for+-- Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.+dataset_createTime :: Lens.Lens' Dataset (Prelude.Maybe Prelude.Integer)+dataset_createTime = Lens.lens (\Dataset' {createTime} -> createTime) (\s@Dataset' {} a -> s {createTime = a} :: Dataset)++-- | The ARN identifier of the Dataset.+dataset_datasetArn :: Lens.Lens' Dataset (Prelude.Maybe Prelude.Text)+dataset_datasetArn = Lens.lens (\Dataset' {datasetArn} -> datasetArn) (\s@Dataset' {} a -> s {datasetArn = a} :: Dataset)++-- | Description for a Dataset.+dataset_datasetDescription :: Lens.Lens' Dataset (Prelude.Maybe Prelude.Text)+dataset_datasetDescription = Lens.lens (\Dataset' {datasetDescription} -> datasetDescription) (\s@Dataset' {} a -> s {datasetDescription = a} :: Dataset)++-- | An identifier for a Dataset.+dataset_datasetId :: Lens.Lens' Dataset (Prelude.Maybe Prelude.Text)+dataset_datasetId = Lens.lens (\Dataset' {datasetId} -> datasetId) (\s@Dataset' {} a -> s {datasetId = a} :: Dataset)++-- | Display title for a Dataset.+dataset_datasetTitle :: Lens.Lens' Dataset (Prelude.Maybe Prelude.Text)+dataset_datasetTitle = Lens.lens (\Dataset' {datasetTitle} -> datasetTitle) (\s@Dataset' {} a -> s {datasetTitle = a} :: Dataset)++-- | The format in which Dataset data is structured.+--+-- - @TABULAR@ – Data is structured in a tabular format.+--+-- - @NON_TABULAR@ – Data is structured in a non-tabular format.+dataset_kind :: Lens.Lens' Dataset (Prelude.Maybe DatasetKind)+dataset_kind = Lens.lens (\Dataset' {kind} -> kind) (\s@Dataset' {} a -> s {kind = a} :: Dataset)++-- | The last time that the Dataset was modified. The value is determined as+-- epoch time in milliseconds. For example, the value for Monday, November+-- 1, 2021 12:00:00 PM UTC is specified as 1635768000000.+dataset_lastModifiedTime :: Lens.Lens' Dataset (Prelude.Maybe Prelude.Integer)+dataset_lastModifiedTime = Lens.lens (\Dataset' {lastModifiedTime} -> lastModifiedTime) (\s@Dataset' {} a -> s {lastModifiedTime = a} :: Dataset)++-- | Contact information for a Dataset owner.+dataset_ownerInfo :: Lens.Lens' Dataset (Prelude.Maybe DatasetOwnerInfo)+dataset_ownerInfo = Lens.lens (\Dataset' {ownerInfo} -> ownerInfo) (\s@Dataset' {} a -> s {ownerInfo = a} :: Dataset)++-- | Definition for a schema on a tabular Dataset.+dataset_schemaDefinition :: Lens.Lens' Dataset (Prelude.Maybe SchemaUnion)+dataset_schemaDefinition = Lens.lens (\Dataset' {schemaDefinition} -> schemaDefinition) (\s@Dataset' {} a -> s {schemaDefinition = a} :: Dataset)++instance Data.FromJSON Dataset where+ parseJSON =+ Data.withObject+ "Dataset"+ ( \x ->+ Dataset'+ Prelude.<$> (x Data..:? "alias")+ Prelude.<*> (x Data..:? "createTime")+ Prelude.<*> (x Data..:? "datasetArn")+ Prelude.<*> (x Data..:? "datasetDescription")+ Prelude.<*> (x Data..:? "datasetId")+ Prelude.<*> (x Data..:? "datasetTitle")+ Prelude.<*> (x Data..:? "kind")+ Prelude.<*> (x Data..:? "lastModifiedTime")+ Prelude.<*> (x Data..:? "ownerInfo")+ Prelude.<*> (x Data..:? "schemaDefinition")+ )++instance Prelude.Hashable Dataset where+ hashWithSalt _salt Dataset' {..} =+ _salt+ `Prelude.hashWithSalt` alias+ `Prelude.hashWithSalt` createTime+ `Prelude.hashWithSalt` datasetArn+ `Prelude.hashWithSalt` datasetDescription+ `Prelude.hashWithSalt` datasetId+ `Prelude.hashWithSalt` datasetTitle+ `Prelude.hashWithSalt` kind+ `Prelude.hashWithSalt` lastModifiedTime+ `Prelude.hashWithSalt` ownerInfo+ `Prelude.hashWithSalt` schemaDefinition++instance Prelude.NFData Dataset where+ rnf Dataset' {..} =+ Prelude.rnf alias+ `Prelude.seq` Prelude.rnf createTime+ `Prelude.seq` Prelude.rnf datasetArn+ `Prelude.seq` Prelude.rnf datasetDescription+ `Prelude.seq` Prelude.rnf datasetId+ `Prelude.seq` Prelude.rnf datasetTitle+ `Prelude.seq` Prelude.rnf kind+ `Prelude.seq` Prelude.rnf lastModifiedTime+ `Prelude.seq` Prelude.rnf ownerInfo+ `Prelude.seq` Prelude.rnf schemaDefinition
+ gen/Amazonka/FinSpaceData/Types/DatasetKind.hs view
@@ -0,0 +1,72 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FinSpaceData.Types.DatasetKind+-- 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.FinSpaceData.Types.DatasetKind+ ( DatasetKind+ ( ..,+ DatasetKind_NON_TABULAR,+ DatasetKind_TABULAR+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Dataset Kind+newtype DatasetKind = DatasetKind'+ { fromDatasetKind ::+ 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 DatasetKind_NON_TABULAR :: DatasetKind+pattern DatasetKind_NON_TABULAR = DatasetKind' "NON_TABULAR"++pattern DatasetKind_TABULAR :: DatasetKind+pattern DatasetKind_TABULAR = DatasetKind' "TABULAR"++{-# COMPLETE+ DatasetKind_NON_TABULAR,+ DatasetKind_TABULAR,+ DatasetKind'+ #-}
+ gen/Amazonka/FinSpaceData/Types/DatasetOwnerInfo.hs view
@@ -0,0 +1,106 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FinSpaceData.Types.DatasetOwnerInfo+-- 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.FinSpaceData.Types.DatasetOwnerInfo 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 structure for Dataset owner info.+--+-- /See:/ 'newDatasetOwnerInfo' smart constructor.+data DatasetOwnerInfo = DatasetOwnerInfo'+ { -- | Email address for the Dataset owner.+ email :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The name of the Dataset owner.+ name :: Prelude.Maybe Prelude.Text,+ -- | Phone number for the Dataset owner.+ phoneNumber :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DatasetOwnerInfo' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'email', 'datasetOwnerInfo_email' - Email address for the Dataset owner.+--+-- 'name', 'datasetOwnerInfo_name' - The name of the Dataset owner.+--+-- 'phoneNumber', 'datasetOwnerInfo_phoneNumber' - Phone number for the Dataset owner.+newDatasetOwnerInfo ::+ DatasetOwnerInfo+newDatasetOwnerInfo =+ DatasetOwnerInfo'+ { email = Prelude.Nothing,+ name = Prelude.Nothing,+ phoneNumber = Prelude.Nothing+ }++-- | Email address for the Dataset owner.+datasetOwnerInfo_email :: Lens.Lens' DatasetOwnerInfo (Prelude.Maybe Prelude.Text)+datasetOwnerInfo_email = Lens.lens (\DatasetOwnerInfo' {email} -> email) (\s@DatasetOwnerInfo' {} a -> s {email = a} :: DatasetOwnerInfo) Prelude.. Lens.mapping Data._Sensitive++-- | The name of the Dataset owner.+datasetOwnerInfo_name :: Lens.Lens' DatasetOwnerInfo (Prelude.Maybe Prelude.Text)+datasetOwnerInfo_name = Lens.lens (\DatasetOwnerInfo' {name} -> name) (\s@DatasetOwnerInfo' {} a -> s {name = a} :: DatasetOwnerInfo)++-- | Phone number for the Dataset owner.+datasetOwnerInfo_phoneNumber :: Lens.Lens' DatasetOwnerInfo (Prelude.Maybe Prelude.Text)+datasetOwnerInfo_phoneNumber = Lens.lens (\DatasetOwnerInfo' {phoneNumber} -> phoneNumber) (\s@DatasetOwnerInfo' {} a -> s {phoneNumber = a} :: DatasetOwnerInfo)++instance Data.FromJSON DatasetOwnerInfo where+ parseJSON =+ Data.withObject+ "DatasetOwnerInfo"+ ( \x ->+ DatasetOwnerInfo'+ Prelude.<$> (x Data..:? "email")+ Prelude.<*> (x Data..:? "name")+ Prelude.<*> (x Data..:? "phoneNumber")+ )++instance Prelude.Hashable DatasetOwnerInfo where+ hashWithSalt _salt DatasetOwnerInfo' {..} =+ _salt+ `Prelude.hashWithSalt` email+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` phoneNumber++instance Prelude.NFData DatasetOwnerInfo where+ rnf DatasetOwnerInfo' {..} =+ Prelude.rnf email+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf phoneNumber++instance Data.ToJSON DatasetOwnerInfo where+ toJSON DatasetOwnerInfo' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("email" Data..=) Prelude.<$> email,+ ("name" Data..=) Prelude.<$> name,+ ("phoneNumber" Data..=) Prelude.<$> phoneNumber+ ]+ )
+ gen/Amazonka/FinSpaceData/Types/DatasetStatus.hs view
@@ -0,0 +1,82 @@+{-# 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.FinSpaceData.Types.DatasetStatus+-- 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.FinSpaceData.Types.DatasetStatus+ ( DatasetStatus+ ( ..,+ DatasetStatus_FAILED,+ DatasetStatus_PENDING,+ DatasetStatus_RUNNING,+ DatasetStatus_SUCCESS+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Status of the dataset process returned from scheduler service.+newtype DatasetStatus = DatasetStatus'+ { fromDatasetStatus ::+ 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 DatasetStatus_FAILED :: DatasetStatus+pattern DatasetStatus_FAILED = DatasetStatus' "FAILED"++pattern DatasetStatus_PENDING :: DatasetStatus+pattern DatasetStatus_PENDING = DatasetStatus' "PENDING"++pattern DatasetStatus_RUNNING :: DatasetStatus+pattern DatasetStatus_RUNNING = DatasetStatus' "RUNNING"++pattern DatasetStatus_SUCCESS :: DatasetStatus+pattern DatasetStatus_SUCCESS = DatasetStatus' "SUCCESS"++{-# COMPLETE+ DatasetStatus_FAILED,+ DatasetStatus_PENDING,+ DatasetStatus_RUNNING,+ DatasetStatus_SUCCESS,+ DatasetStatus'+ #-}
+ gen/Amazonka/FinSpaceData/Types/ErrorCategory.hs view
@@ -0,0 +1,102 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FinSpaceData.Types.ErrorCategory+-- 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.FinSpaceData.Types.ErrorCategory+ ( ErrorCategory+ ( ..,+ ErrorCategory_ACCESS_DENIED,+ ErrorCategory_CANCELLED,+ ErrorCategory_INTERNAL_SERVICE_EXCEPTION,+ ErrorCategory_RESOURCE_NOT_FOUND,+ ErrorCategory_SERVICE_QUOTA_EXCEEDED,+ ErrorCategory_THROTTLING,+ ErrorCategory_USER_RECOVERABLE,+ ErrorCategory_VALIDATION+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Changeset Error Category+newtype ErrorCategory = ErrorCategory'+ { fromErrorCategory ::+ 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 ErrorCategory_ACCESS_DENIED :: ErrorCategory+pattern ErrorCategory_ACCESS_DENIED = ErrorCategory' "ACCESS_DENIED"++pattern ErrorCategory_CANCELLED :: ErrorCategory+pattern ErrorCategory_CANCELLED = ErrorCategory' "CANCELLED"++pattern ErrorCategory_INTERNAL_SERVICE_EXCEPTION :: ErrorCategory+pattern ErrorCategory_INTERNAL_SERVICE_EXCEPTION = ErrorCategory' "INTERNAL_SERVICE_EXCEPTION"++pattern ErrorCategory_RESOURCE_NOT_FOUND :: ErrorCategory+pattern ErrorCategory_RESOURCE_NOT_FOUND = ErrorCategory' "RESOURCE_NOT_FOUND"++pattern ErrorCategory_SERVICE_QUOTA_EXCEEDED :: ErrorCategory+pattern ErrorCategory_SERVICE_QUOTA_EXCEEDED = ErrorCategory' "SERVICE_QUOTA_EXCEEDED"++pattern ErrorCategory_THROTTLING :: ErrorCategory+pattern ErrorCategory_THROTTLING = ErrorCategory' "THROTTLING"++pattern ErrorCategory_USER_RECOVERABLE :: ErrorCategory+pattern ErrorCategory_USER_RECOVERABLE = ErrorCategory' "USER_RECOVERABLE"++pattern ErrorCategory_VALIDATION :: ErrorCategory+pattern ErrorCategory_VALIDATION = ErrorCategory' "VALIDATION"++{-# COMPLETE+ ErrorCategory_ACCESS_DENIED,+ ErrorCategory_CANCELLED,+ ErrorCategory_INTERNAL_SERVICE_EXCEPTION,+ ErrorCategory_RESOURCE_NOT_FOUND,+ ErrorCategory_SERVICE_QUOTA_EXCEEDED,+ ErrorCategory_THROTTLING,+ ErrorCategory_USER_RECOVERABLE,+ ErrorCategory_VALIDATION,+ ErrorCategory'+ #-}
+ gen/Amazonka/FinSpaceData/Types/ExportFileFormat.hs view
@@ -0,0 +1,72 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FinSpaceData.Types.ExportFileFormat+-- 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.FinSpaceData.Types.ExportFileFormat+ ( ExportFileFormat+ ( ..,+ ExportFileFormat_DELIMITED_TEXT,+ ExportFileFormat_PARQUET+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Data View Export File Format+newtype ExportFileFormat = ExportFileFormat'+ { fromExportFileFormat ::+ 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 ExportFileFormat_DELIMITED_TEXT :: ExportFileFormat+pattern ExportFileFormat_DELIMITED_TEXT = ExportFileFormat' "DELIMITED_TEXT"++pattern ExportFileFormat_PARQUET :: ExportFileFormat+pattern ExportFileFormat_PARQUET = ExportFileFormat' "PARQUET"++{-# COMPLETE+ ExportFileFormat_DELIMITED_TEXT,+ ExportFileFormat_PARQUET,+ ExportFileFormat'+ #-}
+ gen/Amazonka/FinSpaceData/Types/IngestionStatus.hs view
@@ -0,0 +1,87 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FinSpaceData.Types.IngestionStatus+-- 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.FinSpaceData.Types.IngestionStatus+ ( IngestionStatus+ ( ..,+ IngestionStatus_FAILED,+ IngestionStatus_PENDING,+ IngestionStatus_RUNNING,+ IngestionStatus_STOP_REQUESTED,+ IngestionStatus_SUCCESS+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Status of the ingestion process returned from scheduler service.+newtype IngestionStatus = IngestionStatus'+ { fromIngestionStatus ::+ 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 IngestionStatus_FAILED :: IngestionStatus+pattern IngestionStatus_FAILED = IngestionStatus' "FAILED"++pattern IngestionStatus_PENDING :: IngestionStatus+pattern IngestionStatus_PENDING = IngestionStatus' "PENDING"++pattern IngestionStatus_RUNNING :: IngestionStatus+pattern IngestionStatus_RUNNING = IngestionStatus' "RUNNING"++pattern IngestionStatus_STOP_REQUESTED :: IngestionStatus+pattern IngestionStatus_STOP_REQUESTED = IngestionStatus' "STOP_REQUESTED"++pattern IngestionStatus_SUCCESS :: IngestionStatus+pattern IngestionStatus_SUCCESS = IngestionStatus' "SUCCESS"++{-# COMPLETE+ IngestionStatus_FAILED,+ IngestionStatus_PENDING,+ IngestionStatus_RUNNING,+ IngestionStatus_STOP_REQUESTED,+ IngestionStatus_SUCCESS,+ IngestionStatus'+ #-}
+ gen/Amazonka/FinSpaceData/Types/LocationType.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.FinSpaceData.Types.LocationType+-- 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.FinSpaceData.Types.LocationType+ ( LocationType+ ( ..,+ LocationType_INGESTION,+ LocationType_SAGEMAKER+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype LocationType = LocationType'+ { fromLocationType ::+ 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 LocationType_INGESTION :: LocationType+pattern LocationType_INGESTION = LocationType' "INGESTION"++pattern LocationType_SAGEMAKER :: LocationType+pattern LocationType_SAGEMAKER = LocationType' "SAGEMAKER"++{-# COMPLETE+ LocationType_INGESTION,+ LocationType_SAGEMAKER,+ LocationType'+ #-}
+ gen/Amazonka/FinSpaceData/Types/PermissionGroup.hs view
@@ -0,0 +1,261 @@+{-# 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.FinSpaceData.Types.PermissionGroup+-- 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.FinSpaceData.Types.PermissionGroup where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FinSpaceData.Types.ApplicationPermission+import Amazonka.FinSpaceData.Types.PermissionGroupMembershipStatus+import qualified Amazonka.Prelude as Prelude++-- | The structure for a permission group.+--+-- /See:/ 'newPermissionGroup' smart constructor.+data PermissionGroup = PermissionGroup'+ { -- | Indicates the permissions that are granted to a specific group for+ -- accessing the FinSpace application.+ --+ -- When assigning application permissions, be aware that the permission+ -- @ManageUsersAndGroups@ allows users to grant themselves or others access+ -- to any functionality in their FinSpace environment\'s application. It+ -- should only be granted to trusted users.+ --+ -- - @CreateDataset@ – Group members can create new datasets.+ --+ -- - @ManageClusters@ – Group members can manage Apache Spark clusters+ -- from FinSpace notebooks.+ --+ -- - @ManageUsersAndGroups@ – Group members can manage users and+ -- permission groups. This is a privileged permission that allows users+ -- to grant themselves or others access to any functionality in the+ -- application. It should only be granted to trusted users.+ --+ -- - @ManageAttributeSets@ – Group members can manage attribute sets.+ --+ -- - @ViewAuditData@ – Group members can view audit data.+ --+ -- - @AccessNotebooks@ – Group members will have access to FinSpace+ -- notebooks.+ --+ -- - @GetTemporaryCredentials@ – Group members can get temporary API+ -- credentials.+ applicationPermissions :: Prelude.Maybe [ApplicationPermission],+ -- | The timestamp at which the group was created in FinSpace. The value is+ -- determined as epoch time in milliseconds.+ createTime :: Prelude.Maybe Prelude.Integer,+ -- | A brief description for the permission group.+ description :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | Describes the last time the permission group was updated. The value is+ -- determined as epoch time in milliseconds.+ lastModifiedTime :: Prelude.Maybe Prelude.Integer,+ -- | Indicates the status of the user account within a permission group.+ --+ -- - @ADDITION_IN_PROGRESS@ – The user account is currently being added+ -- to the permission group.+ --+ -- - @ADDITION_SUCCESS@ – The user account is successfully added to the+ -- permission group.+ --+ -- - @REMOVAL_IN_PROGRESS@ – The user is currently being removed from the+ -- permission group.+ membershipStatus :: Prelude.Maybe PermissionGroupMembershipStatus,+ -- | The name of the permission group.+ name :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The unique identifier for the permission group.+ permissionGroupId :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PermissionGroup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'applicationPermissions', 'permissionGroup_applicationPermissions' - Indicates the permissions that are granted to a specific group for+-- accessing the FinSpace application.+--+-- When assigning application permissions, be aware that the permission+-- @ManageUsersAndGroups@ allows users to grant themselves or others access+-- to any functionality in their FinSpace environment\'s application. It+-- should only be granted to trusted users.+--+-- - @CreateDataset@ – Group members can create new datasets.+--+-- - @ManageClusters@ – Group members can manage Apache Spark clusters+-- from FinSpace notebooks.+--+-- - @ManageUsersAndGroups@ – Group members can manage users and+-- permission groups. This is a privileged permission that allows users+-- to grant themselves or others access to any functionality in the+-- application. It should only be granted to trusted users.+--+-- - @ManageAttributeSets@ – Group members can manage attribute sets.+--+-- - @ViewAuditData@ – Group members can view audit data.+--+-- - @AccessNotebooks@ – Group members will have access to FinSpace+-- notebooks.+--+-- - @GetTemporaryCredentials@ – Group members can get temporary API+-- credentials.+--+-- 'createTime', 'permissionGroup_createTime' - The timestamp at which the group was created in FinSpace. The value is+-- determined as epoch time in milliseconds.+--+-- 'description', 'permissionGroup_description' - A brief description for the permission group.+--+-- 'lastModifiedTime', 'permissionGroup_lastModifiedTime' - Describes the last time the permission group was updated. The value is+-- determined as epoch time in milliseconds.+--+-- 'membershipStatus', 'permissionGroup_membershipStatus' - Indicates the status of the user account within a permission group.+--+-- - @ADDITION_IN_PROGRESS@ – The user account is currently being added+-- to the permission group.+--+-- - @ADDITION_SUCCESS@ – The user account is successfully added to the+-- permission group.+--+-- - @REMOVAL_IN_PROGRESS@ – The user is currently being removed from the+-- permission group.+--+-- 'name', 'permissionGroup_name' - The name of the permission group.+--+-- 'permissionGroupId', 'permissionGroup_permissionGroupId' - The unique identifier for the permission group.+newPermissionGroup ::+ PermissionGroup+newPermissionGroup =+ PermissionGroup'+ { applicationPermissions =+ Prelude.Nothing,+ createTime = Prelude.Nothing,+ description = Prelude.Nothing,+ lastModifiedTime = Prelude.Nothing,+ membershipStatus = Prelude.Nothing,+ name = Prelude.Nothing,+ permissionGroupId = Prelude.Nothing+ }++-- | Indicates the permissions that are granted to a specific group for+-- accessing the FinSpace application.+--+-- When assigning application permissions, be aware that the permission+-- @ManageUsersAndGroups@ allows users to grant themselves or others access+-- to any functionality in their FinSpace environment\'s application. It+-- should only be granted to trusted users.+--+-- - @CreateDataset@ – Group members can create new datasets.+--+-- - @ManageClusters@ – Group members can manage Apache Spark clusters+-- from FinSpace notebooks.+--+-- - @ManageUsersAndGroups@ – Group members can manage users and+-- permission groups. This is a privileged permission that allows users+-- to grant themselves or others access to any functionality in the+-- application. It should only be granted to trusted users.+--+-- - @ManageAttributeSets@ – Group members can manage attribute sets.+--+-- - @ViewAuditData@ – Group members can view audit data.+--+-- - @AccessNotebooks@ – Group members will have access to FinSpace+-- notebooks.+--+-- - @GetTemporaryCredentials@ – Group members can get temporary API+-- credentials.+permissionGroup_applicationPermissions :: Lens.Lens' PermissionGroup (Prelude.Maybe [ApplicationPermission])+permissionGroup_applicationPermissions = Lens.lens (\PermissionGroup' {applicationPermissions} -> applicationPermissions) (\s@PermissionGroup' {} a -> s {applicationPermissions = a} :: PermissionGroup) Prelude.. Lens.mapping Lens.coerced++-- | The timestamp at which the group was created in FinSpace. The value is+-- determined as epoch time in milliseconds.+permissionGroup_createTime :: Lens.Lens' PermissionGroup (Prelude.Maybe Prelude.Integer)+permissionGroup_createTime = Lens.lens (\PermissionGroup' {createTime} -> createTime) (\s@PermissionGroup' {} a -> s {createTime = a} :: PermissionGroup)++-- | A brief description for the permission group.+permissionGroup_description :: Lens.Lens' PermissionGroup (Prelude.Maybe Prelude.Text)+permissionGroup_description = Lens.lens (\PermissionGroup' {description} -> description) (\s@PermissionGroup' {} a -> s {description = a} :: PermissionGroup) Prelude.. Lens.mapping Data._Sensitive++-- | Describes the last time the permission group was updated. The value is+-- determined as epoch time in milliseconds.+permissionGroup_lastModifiedTime :: Lens.Lens' PermissionGroup (Prelude.Maybe Prelude.Integer)+permissionGroup_lastModifiedTime = Lens.lens (\PermissionGroup' {lastModifiedTime} -> lastModifiedTime) (\s@PermissionGroup' {} a -> s {lastModifiedTime = a} :: PermissionGroup)++-- | Indicates the status of the user account within a permission group.+--+-- - @ADDITION_IN_PROGRESS@ – The user account is currently being added+-- to the permission group.+--+-- - @ADDITION_SUCCESS@ – The user account is successfully added to the+-- permission group.+--+-- - @REMOVAL_IN_PROGRESS@ – The user is currently being removed from the+-- permission group.+permissionGroup_membershipStatus :: Lens.Lens' PermissionGroup (Prelude.Maybe PermissionGroupMembershipStatus)+permissionGroup_membershipStatus = Lens.lens (\PermissionGroup' {membershipStatus} -> membershipStatus) (\s@PermissionGroup' {} a -> s {membershipStatus = a} :: PermissionGroup)++-- | The name of the permission group.+permissionGroup_name :: Lens.Lens' PermissionGroup (Prelude.Maybe Prelude.Text)+permissionGroup_name = Lens.lens (\PermissionGroup' {name} -> name) (\s@PermissionGroup' {} a -> s {name = a} :: PermissionGroup) Prelude.. Lens.mapping Data._Sensitive++-- | The unique identifier for the permission group.+permissionGroup_permissionGroupId :: Lens.Lens' PermissionGroup (Prelude.Maybe Prelude.Text)+permissionGroup_permissionGroupId = Lens.lens (\PermissionGroup' {permissionGroupId} -> permissionGroupId) (\s@PermissionGroup' {} a -> s {permissionGroupId = a} :: PermissionGroup)++instance Data.FromJSON PermissionGroup where+ parseJSON =+ Data.withObject+ "PermissionGroup"+ ( \x ->+ PermissionGroup'+ Prelude.<$> ( x+ Data..:? "applicationPermissions"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "createTime")+ Prelude.<*> (x Data..:? "description")+ Prelude.<*> (x Data..:? "lastModifiedTime")+ Prelude.<*> (x Data..:? "membershipStatus")+ Prelude.<*> (x Data..:? "name")+ Prelude.<*> (x Data..:? "permissionGroupId")+ )++instance Prelude.Hashable PermissionGroup where+ hashWithSalt _salt PermissionGroup' {..} =+ _salt+ `Prelude.hashWithSalt` applicationPermissions+ `Prelude.hashWithSalt` createTime+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` lastModifiedTime+ `Prelude.hashWithSalt` membershipStatus+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` permissionGroupId++instance Prelude.NFData PermissionGroup where+ rnf PermissionGroup' {..} =+ Prelude.rnf applicationPermissions+ `Prelude.seq` Prelude.rnf createTime+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf lastModifiedTime+ `Prelude.seq` Prelude.rnf membershipStatus+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf permissionGroupId
+ gen/Amazonka/FinSpaceData/Types/PermissionGroupByUser.hs view
@@ -0,0 +1,125 @@+{-# 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.FinSpaceData.Types.PermissionGroupByUser+-- 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.FinSpaceData.Types.PermissionGroupByUser where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FinSpaceData.Types.PermissionGroupMembershipStatus+import qualified Amazonka.Prelude as Prelude++-- | The structure of a permission group associated with a user account.+--+-- /See:/ 'newPermissionGroupByUser' smart constructor.+data PermissionGroupByUser = PermissionGroupByUser'+ { -- | Indicates the status of the user account within a permission group.+ --+ -- - @ADDITION_IN_PROGRESS@ – The user account is currently being added+ -- to the permission group.+ --+ -- - @ADDITION_SUCCESS@ – The user account is successfully added to the+ -- permission group.+ --+ -- - @REMOVAL_IN_PROGRESS@ – The user is currently being removed from the+ -- permission group.+ membershipStatus :: Prelude.Maybe PermissionGroupMembershipStatus,+ -- | The name of the permission group.+ name :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The unique identifier for the permission group.+ permissionGroupId :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PermissionGroupByUser' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'membershipStatus', 'permissionGroupByUser_membershipStatus' - Indicates the status of the user account within a permission group.+--+-- - @ADDITION_IN_PROGRESS@ – The user account is currently being added+-- to the permission group.+--+-- - @ADDITION_SUCCESS@ – The user account is successfully added to the+-- permission group.+--+-- - @REMOVAL_IN_PROGRESS@ – The user is currently being removed from the+-- permission group.+--+-- 'name', 'permissionGroupByUser_name' - The name of the permission group.+--+-- 'permissionGroupId', 'permissionGroupByUser_permissionGroupId' - The unique identifier for the permission group.+newPermissionGroupByUser ::+ PermissionGroupByUser+newPermissionGroupByUser =+ PermissionGroupByUser'+ { membershipStatus =+ Prelude.Nothing,+ name = Prelude.Nothing,+ permissionGroupId = Prelude.Nothing+ }++-- | Indicates the status of the user account within a permission group.+--+-- - @ADDITION_IN_PROGRESS@ – The user account is currently being added+-- to the permission group.+--+-- - @ADDITION_SUCCESS@ – The user account is successfully added to the+-- permission group.+--+-- - @REMOVAL_IN_PROGRESS@ – The user is currently being removed from the+-- permission group.+permissionGroupByUser_membershipStatus :: Lens.Lens' PermissionGroupByUser (Prelude.Maybe PermissionGroupMembershipStatus)+permissionGroupByUser_membershipStatus = Lens.lens (\PermissionGroupByUser' {membershipStatus} -> membershipStatus) (\s@PermissionGroupByUser' {} a -> s {membershipStatus = a} :: PermissionGroupByUser)++-- | The name of the permission group.+permissionGroupByUser_name :: Lens.Lens' PermissionGroupByUser (Prelude.Maybe Prelude.Text)+permissionGroupByUser_name = Lens.lens (\PermissionGroupByUser' {name} -> name) (\s@PermissionGroupByUser' {} a -> s {name = a} :: PermissionGroupByUser) Prelude.. Lens.mapping Data._Sensitive++-- | The unique identifier for the permission group.+permissionGroupByUser_permissionGroupId :: Lens.Lens' PermissionGroupByUser (Prelude.Maybe Prelude.Text)+permissionGroupByUser_permissionGroupId = Lens.lens (\PermissionGroupByUser' {permissionGroupId} -> permissionGroupId) (\s@PermissionGroupByUser' {} a -> s {permissionGroupId = a} :: PermissionGroupByUser)++instance Data.FromJSON PermissionGroupByUser where+ parseJSON =+ Data.withObject+ "PermissionGroupByUser"+ ( \x ->+ PermissionGroupByUser'+ Prelude.<$> (x Data..:? "membershipStatus")+ Prelude.<*> (x Data..:? "name")+ Prelude.<*> (x Data..:? "permissionGroupId")+ )++instance Prelude.Hashable PermissionGroupByUser where+ hashWithSalt _salt PermissionGroupByUser' {..} =+ _salt+ `Prelude.hashWithSalt` membershipStatus+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` permissionGroupId++instance Prelude.NFData PermissionGroupByUser where+ rnf PermissionGroupByUser' {..} =+ Prelude.rnf membershipStatus+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf permissionGroupId
+ gen/Amazonka/FinSpaceData/Types/PermissionGroupMembershipStatus.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FinSpaceData.Types.PermissionGroupMembershipStatus+-- 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.FinSpaceData.Types.PermissionGroupMembershipStatus+ ( PermissionGroupMembershipStatus+ ( ..,+ PermissionGroupMembershipStatus_ADDITION_IN_PROGRESS,+ PermissionGroupMembershipStatus_ADDITION_SUCCESS,+ PermissionGroupMembershipStatus_REMOVAL_IN_PROGRESS+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype PermissionGroupMembershipStatus = PermissionGroupMembershipStatus'+ { fromPermissionGroupMembershipStatus ::+ 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 PermissionGroupMembershipStatus_ADDITION_IN_PROGRESS :: PermissionGroupMembershipStatus+pattern PermissionGroupMembershipStatus_ADDITION_IN_PROGRESS = PermissionGroupMembershipStatus' "ADDITION_IN_PROGRESS"++pattern PermissionGroupMembershipStatus_ADDITION_SUCCESS :: PermissionGroupMembershipStatus+pattern PermissionGroupMembershipStatus_ADDITION_SUCCESS = PermissionGroupMembershipStatus' "ADDITION_SUCCESS"++pattern PermissionGroupMembershipStatus_REMOVAL_IN_PROGRESS :: PermissionGroupMembershipStatus+pattern PermissionGroupMembershipStatus_REMOVAL_IN_PROGRESS = PermissionGroupMembershipStatus' "REMOVAL_IN_PROGRESS"++{-# COMPLETE+ PermissionGroupMembershipStatus_ADDITION_IN_PROGRESS,+ PermissionGroupMembershipStatus_ADDITION_SUCCESS,+ PermissionGroupMembershipStatus_REMOVAL_IN_PROGRESS,+ PermissionGroupMembershipStatus'+ #-}
+ gen/Amazonka/FinSpaceData/Types/PermissionGroupParams.hs view
@@ -0,0 +1,91 @@+{-# 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.FinSpaceData.Types.PermissionGroupParams+-- 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.FinSpaceData.Types.PermissionGroupParams where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FinSpaceData.Types.ResourcePermission+import qualified Amazonka.Prelude as Prelude++-- | Permission group parameters for Dataset permissions.+--+-- Here is an example of how you could specify the @PermissionGroupParams@:+--+-- @ { \"permissionGroupId\": \"0r6fCRtSTUk4XPfXQe3M0g\", \"datasetPermissions\": [ {\"permission\": \"ViewDatasetDetails\"}, {\"permission\": \"AddDatasetData\"}, {\"permission\": \"EditDatasetMetadata\"}, {\"permission\": \"DeleteDataset\"} ] } @+--+-- /See:/ 'newPermissionGroupParams' smart constructor.+data PermissionGroupParams = PermissionGroupParams'+ { -- | List of resource permissions.+ datasetPermissions :: Prelude.Maybe [ResourcePermission],+ -- | The unique identifier for the @PermissionGroup@.+ permissionGroupId :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PermissionGroupParams' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'datasetPermissions', 'permissionGroupParams_datasetPermissions' - List of resource permissions.+--+-- 'permissionGroupId', 'permissionGroupParams_permissionGroupId' - The unique identifier for the @PermissionGroup@.+newPermissionGroupParams ::+ PermissionGroupParams+newPermissionGroupParams =+ PermissionGroupParams'+ { datasetPermissions =+ Prelude.Nothing,+ permissionGroupId = Prelude.Nothing+ }++-- | List of resource permissions.+permissionGroupParams_datasetPermissions :: Lens.Lens' PermissionGroupParams (Prelude.Maybe [ResourcePermission])+permissionGroupParams_datasetPermissions = Lens.lens (\PermissionGroupParams' {datasetPermissions} -> datasetPermissions) (\s@PermissionGroupParams' {} a -> s {datasetPermissions = a} :: PermissionGroupParams) Prelude.. Lens.mapping Lens.coerced++-- | The unique identifier for the @PermissionGroup@.+permissionGroupParams_permissionGroupId :: Lens.Lens' PermissionGroupParams (Prelude.Maybe Prelude.Text)+permissionGroupParams_permissionGroupId = Lens.lens (\PermissionGroupParams' {permissionGroupId} -> permissionGroupId) (\s@PermissionGroupParams' {} a -> s {permissionGroupId = a} :: PermissionGroupParams)++instance Prelude.Hashable PermissionGroupParams where+ hashWithSalt _salt PermissionGroupParams' {..} =+ _salt+ `Prelude.hashWithSalt` datasetPermissions+ `Prelude.hashWithSalt` permissionGroupId++instance Prelude.NFData PermissionGroupParams where+ rnf PermissionGroupParams' {..} =+ Prelude.rnf datasetPermissions+ `Prelude.seq` Prelude.rnf permissionGroupId++instance Data.ToJSON PermissionGroupParams where+ toJSON PermissionGroupParams' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("datasetPermissions" Data..=)+ Prelude.<$> datasetPermissions,+ ("permissionGroupId" Data..=)+ Prelude.<$> permissionGroupId+ ]+ )
+ gen/Amazonka/FinSpaceData/Types/ResourcePermission.hs view
@@ -0,0 +1,87 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FinSpaceData.Types.ResourcePermission+-- 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.FinSpaceData.Types.ResourcePermission 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++-- | Resource permission for a dataset. When you create a dataset, all the+-- other members of the same user group inherit access to the dataset. You+-- can only create a dataset if your user group has application permission+-- for Create Datasets.+--+-- The following is a list of valid dataset permissions that you can apply:+--+-- - @ViewDatasetDetails@+--+-- - @ReadDatasetDetails@+--+-- - @AddDatasetData@+--+-- - @CreateDataView@+--+-- - @EditDatasetMetadata@+--+-- - @DeleteDataset@+--+-- For more information on the dataset permissions, see+-- <https://docs.aws.amazon.com/finspace/latest/userguide/managing-user-permissions.html#supported-dataset-permissions Supported Dataset Permissions>+-- in the FinSpace User Guide.+--+-- /See:/ 'newResourcePermission' smart constructor.+data ResourcePermission = ResourcePermission'+ { -- | Permission for a resource.+ permission :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ResourcePermission' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'permission', 'resourcePermission_permission' - Permission for a resource.+newResourcePermission ::+ ResourcePermission+newResourcePermission =+ ResourcePermission' {permission = Prelude.Nothing}++-- | Permission for a resource.+resourcePermission_permission :: Lens.Lens' ResourcePermission (Prelude.Maybe Prelude.Text)+resourcePermission_permission = Lens.lens (\ResourcePermission' {permission} -> permission) (\s@ResourcePermission' {} a -> s {permission = a} :: ResourcePermission)++instance Prelude.Hashable ResourcePermission where+ hashWithSalt _salt ResourcePermission' {..} =+ _salt `Prelude.hashWithSalt` permission++instance Prelude.NFData ResourcePermission where+ rnf ResourcePermission' {..} = Prelude.rnf permission++instance Data.ToJSON ResourcePermission where+ toJSON ResourcePermission' {..} =+ Data.object+ ( Prelude.catMaybes+ [("permission" Data..=) Prelude.<$> permission]+ )
+ gen/Amazonka/FinSpaceData/Types/S3Location.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.FinSpaceData.Types.S3Location+-- 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.FinSpaceData.Types.S3Location 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 location of an external Dataview in an S3 bucket.+--+-- /See:/ 'newS3Location' smart constructor.+data S3Location = S3Location'+ { -- | The name of the S3 bucket.+ bucket :: Prelude.Text,+ -- | The path of the folder, within the S3 bucket that contains the Dataset.+ key :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'S3Location' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'bucket', 's3Location_bucket' - The name of the S3 bucket.+--+-- 'key', 's3Location_key' - The path of the folder, within the S3 bucket that contains the Dataset.+newS3Location ::+ -- | 'bucket'+ Prelude.Text ->+ -- | 'key'+ Prelude.Text ->+ S3Location+newS3Location pBucket_ pKey_ =+ S3Location' {bucket = pBucket_, key = pKey_}++-- | The name of the S3 bucket.+s3Location_bucket :: Lens.Lens' S3Location Prelude.Text+s3Location_bucket = Lens.lens (\S3Location' {bucket} -> bucket) (\s@S3Location' {} a -> s {bucket = a} :: S3Location)++-- | The path of the folder, within the S3 bucket that contains the Dataset.+s3Location_key :: Lens.Lens' S3Location Prelude.Text+s3Location_key = Lens.lens (\S3Location' {key} -> key) (\s@S3Location' {} a -> s {key = a} :: S3Location)++instance Data.FromJSON S3Location where+ parseJSON =+ Data.withObject+ "S3Location"+ ( \x ->+ S3Location'+ Prelude.<$> (x Data..: "bucket")+ Prelude.<*> (x Data..: "key")+ )++instance Prelude.Hashable S3Location where+ hashWithSalt _salt S3Location' {..} =+ _salt+ `Prelude.hashWithSalt` bucket+ `Prelude.hashWithSalt` key++instance Prelude.NFData S3Location where+ rnf S3Location' {..} =+ Prelude.rnf bucket `Prelude.seq` Prelude.rnf key
+ gen/Amazonka/FinSpaceData/Types/SchemaDefinition.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.FinSpaceData.Types.SchemaDefinition+-- 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.FinSpaceData.Types.SchemaDefinition where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FinSpaceData.Types.ColumnDefinition+import qualified Amazonka.Prelude as Prelude++-- | Definition for a schema on a tabular Dataset.+--+-- /See:/ 'newSchemaDefinition' smart constructor.+data SchemaDefinition = SchemaDefinition'+ { -- | List of column definitions.+ columns :: Prelude.Maybe [ColumnDefinition],+ -- | List of column names used for primary key.+ primaryKeyColumns :: Prelude.Maybe [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SchemaDefinition' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'columns', 'schemaDefinition_columns' - List of column definitions.+--+-- 'primaryKeyColumns', 'schemaDefinition_primaryKeyColumns' - List of column names used for primary key.+newSchemaDefinition ::+ SchemaDefinition+newSchemaDefinition =+ SchemaDefinition'+ { columns = Prelude.Nothing,+ primaryKeyColumns = Prelude.Nothing+ }++-- | List of column definitions.+schemaDefinition_columns :: Lens.Lens' SchemaDefinition (Prelude.Maybe [ColumnDefinition])+schemaDefinition_columns = Lens.lens (\SchemaDefinition' {columns} -> columns) (\s@SchemaDefinition' {} a -> s {columns = a} :: SchemaDefinition) Prelude.. Lens.mapping Lens.coerced++-- | List of column names used for primary key.+schemaDefinition_primaryKeyColumns :: Lens.Lens' SchemaDefinition (Prelude.Maybe [Prelude.Text])+schemaDefinition_primaryKeyColumns = Lens.lens (\SchemaDefinition' {primaryKeyColumns} -> primaryKeyColumns) (\s@SchemaDefinition' {} a -> s {primaryKeyColumns = a} :: SchemaDefinition) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON SchemaDefinition where+ parseJSON =+ Data.withObject+ "SchemaDefinition"+ ( \x ->+ SchemaDefinition'+ Prelude.<$> (x Data..:? "columns" Data..!= Prelude.mempty)+ Prelude.<*> ( x+ Data..:? "primaryKeyColumns"+ Data..!= Prelude.mempty+ )+ )++instance Prelude.Hashable SchemaDefinition where+ hashWithSalt _salt SchemaDefinition' {..} =+ _salt+ `Prelude.hashWithSalt` columns+ `Prelude.hashWithSalt` primaryKeyColumns++instance Prelude.NFData SchemaDefinition where+ rnf SchemaDefinition' {..} =+ Prelude.rnf columns+ `Prelude.seq` Prelude.rnf primaryKeyColumns++instance Data.ToJSON SchemaDefinition where+ toJSON SchemaDefinition' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("columns" Data..=) Prelude.<$> columns,+ ("primaryKeyColumns" Data..=)+ Prelude.<$> primaryKeyColumns+ ]+ )
+ gen/Amazonka/FinSpaceData/Types/SchemaUnion.hs view
@@ -0,0 +1,79 @@+{-# 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.FinSpaceData.Types.SchemaUnion+-- 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.FinSpaceData.Types.SchemaUnion where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FinSpaceData.Types.SchemaDefinition+import qualified Amazonka.Prelude as Prelude++-- | A union of schema types.+--+-- /See:/ 'newSchemaUnion' smart constructor.+data SchemaUnion = SchemaUnion'+ { -- | The configuration for a schema on a tabular Dataset.+ tabularSchemaConfig :: Prelude.Maybe SchemaDefinition+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SchemaUnion' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'tabularSchemaConfig', 'schemaUnion_tabularSchemaConfig' - The configuration for a schema on a tabular Dataset.+newSchemaUnion ::+ SchemaUnion+newSchemaUnion =+ SchemaUnion' {tabularSchemaConfig = Prelude.Nothing}++-- | The configuration for a schema on a tabular Dataset.+schemaUnion_tabularSchemaConfig :: Lens.Lens' SchemaUnion (Prelude.Maybe SchemaDefinition)+schemaUnion_tabularSchemaConfig = Lens.lens (\SchemaUnion' {tabularSchemaConfig} -> tabularSchemaConfig) (\s@SchemaUnion' {} a -> s {tabularSchemaConfig = a} :: SchemaUnion)++instance Data.FromJSON SchemaUnion where+ parseJSON =+ Data.withObject+ "SchemaUnion"+ ( \x ->+ SchemaUnion'+ Prelude.<$> (x Data..:? "tabularSchemaConfig")+ )++instance Prelude.Hashable SchemaUnion where+ hashWithSalt _salt SchemaUnion' {..} =+ _salt `Prelude.hashWithSalt` tabularSchemaConfig++instance Prelude.NFData SchemaUnion where+ rnf SchemaUnion' {..} =+ Prelude.rnf tabularSchemaConfig++instance Data.ToJSON SchemaUnion where+ toJSON SchemaUnion' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("tabularSchemaConfig" Data..=)+ Prelude.<$> tabularSchemaConfig+ ]+ )
+ gen/Amazonka/FinSpaceData/Types/User.hs view
@@ -0,0 +1,300 @@+{-# 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.FinSpaceData.Types.User+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FinSpaceData.Types.User where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FinSpaceData.Types.ApiAccess+import Amazonka.FinSpaceData.Types.UserStatus+import Amazonka.FinSpaceData.Types.UserType+import qualified Amazonka.Prelude as Prelude++-- | The details of the user account.+--+-- /See:/ 'newUser' smart constructor.+data User = User'+ { -- | Indicates whether the user can use the+ -- @GetProgrammaticAccessCredentials@ API to obtain credentials that can+ -- then be used to access other FinSpace Data API operations.+ --+ -- - @ENABLED@ – The user has permissions to use the APIs.+ --+ -- - @DISABLED@ – The user does not have permissions to use any APIs.+ apiAccess :: Prelude.Maybe ApiAccess,+ -- | The ARN identifier of an AWS user or role that is allowed to call the+ -- @GetProgrammaticAccessCredentials@ API to obtain a credentials token for+ -- a specific FinSpace user. This must be an IAM role within your FinSpace+ -- account.+ apiAccessPrincipalArn :: Prelude.Maybe Prelude.Text,+ -- | The timestamp at which the user account was created in FinSpace. The+ -- value is determined as epoch time in milliseconds.+ createTime :: Prelude.Maybe Prelude.Integer,+ -- | The email address of the user. The email address serves as a uniquer+ -- identifier for each user and cannot be changed after it\'s created.+ emailAddress :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The first name of the user.+ firstName :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | Describes the last time the user account was disabled. The value is+ -- determined as epoch time in milliseconds.+ lastDisabledTime :: Prelude.Maybe Prelude.Integer,+ -- | Describes the last time the user account was enabled. The value is+ -- determined as epoch time in milliseconds.+ lastEnabledTime :: Prelude.Maybe Prelude.Integer,+ -- | Describes the last time that the user logged into their account. The+ -- value is determined as epoch time in milliseconds.+ lastLoginTime :: Prelude.Maybe Prelude.Integer,+ -- | Describes the last time the user account was updated. The value is+ -- determined as epoch time in milliseconds.+ lastModifiedTime :: Prelude.Maybe Prelude.Integer,+ -- | The last name of the user.+ lastName :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The current status of the user account.+ --+ -- - @CREATING@ – The user account creation is in progress.+ --+ -- - @ENABLED@ – The user account is created and is currently active.+ --+ -- - @DISABLED@ – The user account is currently inactive.+ status :: Prelude.Maybe UserStatus,+ -- | Indicates the type of user.+ --+ -- - @SUPER_USER@ – A user with permission to all the functionality and+ -- data in FinSpace.+ --+ -- - @APP_USER@ – A user with specific permissions in FinSpace. The users+ -- are assigned permissions by adding them to a permission group.+ type' :: Prelude.Maybe UserType,+ -- | The unique identifier for the user.+ userId :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'User' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'apiAccess', 'user_apiAccess' - Indicates whether the user can use the+-- @GetProgrammaticAccessCredentials@ API to obtain credentials that can+-- then be used to access other FinSpace Data API operations.+--+-- - @ENABLED@ – The user has permissions to use the APIs.+--+-- - @DISABLED@ – The user does not have permissions to use any APIs.+--+-- 'apiAccessPrincipalArn', 'user_apiAccessPrincipalArn' - The ARN identifier of an AWS user or role that is allowed to call the+-- @GetProgrammaticAccessCredentials@ API to obtain a credentials token for+-- a specific FinSpace user. This must be an IAM role within your FinSpace+-- account.+--+-- 'createTime', 'user_createTime' - The timestamp at which the user account was created in FinSpace. The+-- value is determined as epoch time in milliseconds.+--+-- 'emailAddress', 'user_emailAddress' - The email address of the user. The email address serves as a uniquer+-- identifier for each user and cannot be changed after it\'s created.+--+-- 'firstName', 'user_firstName' - The first name of the user.+--+-- 'lastDisabledTime', 'user_lastDisabledTime' - Describes the last time the user account was disabled. The value is+-- determined as epoch time in milliseconds.+--+-- 'lastEnabledTime', 'user_lastEnabledTime' - Describes the last time the user account was enabled. The value is+-- determined as epoch time in milliseconds.+--+-- 'lastLoginTime', 'user_lastLoginTime' - Describes the last time that the user logged into their account. The+-- value is determined as epoch time in milliseconds.+--+-- 'lastModifiedTime', 'user_lastModifiedTime' - Describes the last time the user account was updated. The value is+-- determined as epoch time in milliseconds.+--+-- 'lastName', 'user_lastName' - The last name of the user.+--+-- 'status', 'user_status' - The current status of the user account.+--+-- - @CREATING@ – The user account creation is in progress.+--+-- - @ENABLED@ – The user account is created and is currently active.+--+-- - @DISABLED@ – The user account is currently inactive.+--+-- 'type'', 'user_type' - Indicates the type of user.+--+-- - @SUPER_USER@ – A user with permission to all the functionality and+-- data in FinSpace.+--+-- - @APP_USER@ – A user with specific permissions in FinSpace. The users+-- are assigned permissions by adding them to a permission group.+--+-- 'userId', 'user_userId' - The unique identifier for the user.+newUser ::+ User+newUser =+ User'+ { apiAccess = Prelude.Nothing,+ apiAccessPrincipalArn = Prelude.Nothing,+ createTime = Prelude.Nothing,+ emailAddress = Prelude.Nothing,+ firstName = Prelude.Nothing,+ lastDisabledTime = Prelude.Nothing,+ lastEnabledTime = Prelude.Nothing,+ lastLoginTime = Prelude.Nothing,+ lastModifiedTime = Prelude.Nothing,+ lastName = Prelude.Nothing,+ status = Prelude.Nothing,+ type' = Prelude.Nothing,+ userId = Prelude.Nothing+ }++-- | Indicates whether the user can use the+-- @GetProgrammaticAccessCredentials@ API to obtain credentials that can+-- then be used to access other FinSpace Data API operations.+--+-- - @ENABLED@ – The user has permissions to use the APIs.+--+-- - @DISABLED@ – The user does not have permissions to use any APIs.+user_apiAccess :: Lens.Lens' User (Prelude.Maybe ApiAccess)+user_apiAccess = Lens.lens (\User' {apiAccess} -> apiAccess) (\s@User' {} a -> s {apiAccess = a} :: User)++-- | The ARN identifier of an AWS user or role that is allowed to call the+-- @GetProgrammaticAccessCredentials@ API to obtain a credentials token for+-- a specific FinSpace user. This must be an IAM role within your FinSpace+-- account.+user_apiAccessPrincipalArn :: Lens.Lens' User (Prelude.Maybe Prelude.Text)+user_apiAccessPrincipalArn = Lens.lens (\User' {apiAccessPrincipalArn} -> apiAccessPrincipalArn) (\s@User' {} a -> s {apiAccessPrincipalArn = a} :: User)++-- | The timestamp at which the user account was created in FinSpace. The+-- value is determined as epoch time in milliseconds.+user_createTime :: Lens.Lens' User (Prelude.Maybe Prelude.Integer)+user_createTime = Lens.lens (\User' {createTime} -> createTime) (\s@User' {} a -> s {createTime = a} :: User)++-- | The email address of the user. The email address serves as a uniquer+-- identifier for each user and cannot be changed after it\'s created.+user_emailAddress :: Lens.Lens' User (Prelude.Maybe Prelude.Text)+user_emailAddress = Lens.lens (\User' {emailAddress} -> emailAddress) (\s@User' {} a -> s {emailAddress = a} :: User) Prelude.. Lens.mapping Data._Sensitive++-- | The first name of the user.+user_firstName :: Lens.Lens' User (Prelude.Maybe Prelude.Text)+user_firstName = Lens.lens (\User' {firstName} -> firstName) (\s@User' {} a -> s {firstName = a} :: User) Prelude.. Lens.mapping Data._Sensitive++-- | Describes the last time the user account was disabled. The value is+-- determined as epoch time in milliseconds.+user_lastDisabledTime :: Lens.Lens' User (Prelude.Maybe Prelude.Integer)+user_lastDisabledTime = Lens.lens (\User' {lastDisabledTime} -> lastDisabledTime) (\s@User' {} a -> s {lastDisabledTime = a} :: User)++-- | Describes the last time the user account was enabled. The value is+-- determined as epoch time in milliseconds.+user_lastEnabledTime :: Lens.Lens' User (Prelude.Maybe Prelude.Integer)+user_lastEnabledTime = Lens.lens (\User' {lastEnabledTime} -> lastEnabledTime) (\s@User' {} a -> s {lastEnabledTime = a} :: User)++-- | Describes the last time that the user logged into their account. The+-- value is determined as epoch time in milliseconds.+user_lastLoginTime :: Lens.Lens' User (Prelude.Maybe Prelude.Integer)+user_lastLoginTime = Lens.lens (\User' {lastLoginTime} -> lastLoginTime) (\s@User' {} a -> s {lastLoginTime = a} :: User)++-- | Describes the last time the user account was updated. The value is+-- determined as epoch time in milliseconds.+user_lastModifiedTime :: Lens.Lens' User (Prelude.Maybe Prelude.Integer)+user_lastModifiedTime = Lens.lens (\User' {lastModifiedTime} -> lastModifiedTime) (\s@User' {} a -> s {lastModifiedTime = a} :: User)++-- | The last name of the user.+user_lastName :: Lens.Lens' User (Prelude.Maybe Prelude.Text)+user_lastName = Lens.lens (\User' {lastName} -> lastName) (\s@User' {} a -> s {lastName = a} :: User) Prelude.. Lens.mapping Data._Sensitive++-- | The current status of the user account.+--+-- - @CREATING@ – The user account creation is in progress.+--+-- - @ENABLED@ – The user account is created and is currently active.+--+-- - @DISABLED@ – The user account is currently inactive.+user_status :: Lens.Lens' User (Prelude.Maybe UserStatus)+user_status = Lens.lens (\User' {status} -> status) (\s@User' {} a -> s {status = a} :: User)++-- | Indicates the type of user.+--+-- - @SUPER_USER@ – A user with permission to all the functionality and+-- data in FinSpace.+--+-- - @APP_USER@ – A user with specific permissions in FinSpace. The users+-- are assigned permissions by adding them to a permission group.+user_type :: Lens.Lens' User (Prelude.Maybe UserType)+user_type = Lens.lens (\User' {type'} -> type') (\s@User' {} a -> s {type' = a} :: User)++-- | The unique identifier for the user.+user_userId :: Lens.Lens' User (Prelude.Maybe Prelude.Text)+user_userId = Lens.lens (\User' {userId} -> userId) (\s@User' {} a -> s {userId = a} :: User)++instance Data.FromJSON User where+ parseJSON =+ Data.withObject+ "User"+ ( \x ->+ User'+ Prelude.<$> (x Data..:? "apiAccess")+ Prelude.<*> (x Data..:? "apiAccessPrincipalArn")+ Prelude.<*> (x Data..:? "createTime")+ Prelude.<*> (x Data..:? "emailAddress")+ Prelude.<*> (x Data..:? "firstName")+ Prelude.<*> (x Data..:? "lastDisabledTime")+ Prelude.<*> (x Data..:? "lastEnabledTime")+ Prelude.<*> (x Data..:? "lastLoginTime")+ Prelude.<*> (x Data..:? "lastModifiedTime")+ Prelude.<*> (x Data..:? "lastName")+ Prelude.<*> (x Data..:? "status")+ Prelude.<*> (x Data..:? "type")+ Prelude.<*> (x Data..:? "userId")+ )++instance Prelude.Hashable User where+ hashWithSalt _salt User' {..} =+ _salt+ `Prelude.hashWithSalt` apiAccess+ `Prelude.hashWithSalt` apiAccessPrincipalArn+ `Prelude.hashWithSalt` createTime+ `Prelude.hashWithSalt` emailAddress+ `Prelude.hashWithSalt` firstName+ `Prelude.hashWithSalt` lastDisabledTime+ `Prelude.hashWithSalt` lastEnabledTime+ `Prelude.hashWithSalt` lastLoginTime+ `Prelude.hashWithSalt` lastModifiedTime+ `Prelude.hashWithSalt` lastName+ `Prelude.hashWithSalt` status+ `Prelude.hashWithSalt` type'+ `Prelude.hashWithSalt` userId++instance Prelude.NFData User where+ rnf User' {..} =+ Prelude.rnf apiAccess+ `Prelude.seq` Prelude.rnf apiAccessPrincipalArn+ `Prelude.seq` Prelude.rnf createTime+ `Prelude.seq` Prelude.rnf emailAddress+ `Prelude.seq` Prelude.rnf firstName+ `Prelude.seq` Prelude.rnf lastDisabledTime+ `Prelude.seq` Prelude.rnf lastEnabledTime+ `Prelude.seq` Prelude.rnf lastLoginTime+ `Prelude.seq` Prelude.rnf lastModifiedTime+ `Prelude.seq` Prelude.rnf lastName+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf type'+ `Prelude.seq` Prelude.rnf userId
+ gen/Amazonka/FinSpaceData/Types/UserByPermissionGroup.hs view
@@ -0,0 +1,253 @@+{-# 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.FinSpaceData.Types.UserByPermissionGroup+-- 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.FinSpaceData.Types.UserByPermissionGroup where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FinSpaceData.Types.ApiAccess+import Amazonka.FinSpaceData.Types.PermissionGroupMembershipStatus+import Amazonka.FinSpaceData.Types.UserStatus+import Amazonka.FinSpaceData.Types.UserType+import qualified Amazonka.Prelude as Prelude++-- | The structure of a user account associated with a permission group.+--+-- /See:/ 'newUserByPermissionGroup' smart constructor.+data UserByPermissionGroup = UserByPermissionGroup'+ { -- | Indicates whether the user can access FinSpace API operations.+ --+ -- - @ENABLED@ – The user has permissions to use the API operations.+ --+ -- - @DISABLED@ – The user does not have permissions to use any API+ -- operations.+ apiAccess :: Prelude.Maybe ApiAccess,+ -- | The IAM ARN identifier that is attached to FinSpace API calls.+ apiAccessPrincipalArn :: Prelude.Maybe Prelude.Text,+ -- | The email address of the user. The email address serves as a unique+ -- identifier for each user and cannot be changed after it\'s created.+ emailAddress :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The first name of the user.+ firstName :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The last name of the user.+ lastName :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | Indicates the status of the user account within a permission group.+ --+ -- - @ADDITION_IN_PROGRESS@ – The user account is currently being added+ -- to the permission group.+ --+ -- - @ADDITION_SUCCESS@ – The user account is successfully added to the+ -- permission group.+ --+ -- - @REMOVAL_IN_PROGRESS@ – The user is currently being removed from the+ -- permission group.+ membershipStatus :: Prelude.Maybe PermissionGroupMembershipStatus,+ -- | The current status of the user account.+ --+ -- - @CREATING@ – The user account creation is in progress.+ --+ -- - @ENABLED@ – The user account is created and is currently active.+ --+ -- - @DISABLED@ – The user account is currently inactive.+ status :: Prelude.Maybe UserStatus,+ -- | Indicates the type of user.+ --+ -- - @SUPER_USER@ – A user with permission to all the functionality and+ -- data in FinSpace.+ --+ -- - @APP_USER@ – A user with specific permissions in FinSpace. The users+ -- are assigned permissions by adding them to a permission group.+ type' :: Prelude.Maybe UserType,+ -- | The unique identifier for the user.+ userId :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UserByPermissionGroup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'apiAccess', 'userByPermissionGroup_apiAccess' - Indicates whether the user can access FinSpace API operations.+--+-- - @ENABLED@ – The user has permissions to use the API operations.+--+-- - @DISABLED@ – The user does not have permissions to use any API+-- operations.+--+-- 'apiAccessPrincipalArn', 'userByPermissionGroup_apiAccessPrincipalArn' - The IAM ARN identifier that is attached to FinSpace API calls.+--+-- 'emailAddress', 'userByPermissionGroup_emailAddress' - The email address of the user. The email address serves as a unique+-- identifier for each user and cannot be changed after it\'s created.+--+-- 'firstName', 'userByPermissionGroup_firstName' - The first name of the user.+--+-- 'lastName', 'userByPermissionGroup_lastName' - The last name of the user.+--+-- 'membershipStatus', 'userByPermissionGroup_membershipStatus' - Indicates the status of the user account within a permission group.+--+-- - @ADDITION_IN_PROGRESS@ – The user account is currently being added+-- to the permission group.+--+-- - @ADDITION_SUCCESS@ – The user account is successfully added to the+-- permission group.+--+-- - @REMOVAL_IN_PROGRESS@ – The user is currently being removed from the+-- permission group.+--+-- 'status', 'userByPermissionGroup_status' - The current status of the user account.+--+-- - @CREATING@ – The user account creation is in progress.+--+-- - @ENABLED@ – The user account is created and is currently active.+--+-- - @DISABLED@ – The user account is currently inactive.+--+-- 'type'', 'userByPermissionGroup_type' - Indicates the type of user.+--+-- - @SUPER_USER@ – A user with permission to all the functionality and+-- data in FinSpace.+--+-- - @APP_USER@ – A user with specific permissions in FinSpace. The users+-- are assigned permissions by adding them to a permission group.+--+-- 'userId', 'userByPermissionGroup_userId' - The unique identifier for the user.+newUserByPermissionGroup ::+ UserByPermissionGroup+newUserByPermissionGroup =+ UserByPermissionGroup'+ { apiAccess = Prelude.Nothing,+ apiAccessPrincipalArn = Prelude.Nothing,+ emailAddress = Prelude.Nothing,+ firstName = Prelude.Nothing,+ lastName = Prelude.Nothing,+ membershipStatus = Prelude.Nothing,+ status = Prelude.Nothing,+ type' = Prelude.Nothing,+ userId = Prelude.Nothing+ }++-- | Indicates whether the user can access FinSpace API operations.+--+-- - @ENABLED@ – The user has permissions to use the API operations.+--+-- - @DISABLED@ – The user does not have permissions to use any API+-- operations.+userByPermissionGroup_apiAccess :: Lens.Lens' UserByPermissionGroup (Prelude.Maybe ApiAccess)+userByPermissionGroup_apiAccess = Lens.lens (\UserByPermissionGroup' {apiAccess} -> apiAccess) (\s@UserByPermissionGroup' {} a -> s {apiAccess = a} :: UserByPermissionGroup)++-- | The IAM ARN identifier that is attached to FinSpace API calls.+userByPermissionGroup_apiAccessPrincipalArn :: Lens.Lens' UserByPermissionGroup (Prelude.Maybe Prelude.Text)+userByPermissionGroup_apiAccessPrincipalArn = Lens.lens (\UserByPermissionGroup' {apiAccessPrincipalArn} -> apiAccessPrincipalArn) (\s@UserByPermissionGroup' {} a -> s {apiAccessPrincipalArn = a} :: UserByPermissionGroup)++-- | The email address of the user. The email address serves as a unique+-- identifier for each user and cannot be changed after it\'s created.+userByPermissionGroup_emailAddress :: Lens.Lens' UserByPermissionGroup (Prelude.Maybe Prelude.Text)+userByPermissionGroup_emailAddress = Lens.lens (\UserByPermissionGroup' {emailAddress} -> emailAddress) (\s@UserByPermissionGroup' {} a -> s {emailAddress = a} :: UserByPermissionGroup) Prelude.. Lens.mapping Data._Sensitive++-- | The first name of the user.+userByPermissionGroup_firstName :: Lens.Lens' UserByPermissionGroup (Prelude.Maybe Prelude.Text)+userByPermissionGroup_firstName = Lens.lens (\UserByPermissionGroup' {firstName} -> firstName) (\s@UserByPermissionGroup' {} a -> s {firstName = a} :: UserByPermissionGroup) Prelude.. Lens.mapping Data._Sensitive++-- | The last name of the user.+userByPermissionGroup_lastName :: Lens.Lens' UserByPermissionGroup (Prelude.Maybe Prelude.Text)+userByPermissionGroup_lastName = Lens.lens (\UserByPermissionGroup' {lastName} -> lastName) (\s@UserByPermissionGroup' {} a -> s {lastName = a} :: UserByPermissionGroup) Prelude.. Lens.mapping Data._Sensitive++-- | Indicates the status of the user account within a permission group.+--+-- - @ADDITION_IN_PROGRESS@ – The user account is currently being added+-- to the permission group.+--+-- - @ADDITION_SUCCESS@ – The user account is successfully added to the+-- permission group.+--+-- - @REMOVAL_IN_PROGRESS@ – The user is currently being removed from the+-- permission group.+userByPermissionGroup_membershipStatus :: Lens.Lens' UserByPermissionGroup (Prelude.Maybe PermissionGroupMembershipStatus)+userByPermissionGroup_membershipStatus = Lens.lens (\UserByPermissionGroup' {membershipStatus} -> membershipStatus) (\s@UserByPermissionGroup' {} a -> s {membershipStatus = a} :: UserByPermissionGroup)++-- | The current status of the user account.+--+-- - @CREATING@ – The user account creation is in progress.+--+-- - @ENABLED@ – The user account is created and is currently active.+--+-- - @DISABLED@ – The user account is currently inactive.+userByPermissionGroup_status :: Lens.Lens' UserByPermissionGroup (Prelude.Maybe UserStatus)+userByPermissionGroup_status = Lens.lens (\UserByPermissionGroup' {status} -> status) (\s@UserByPermissionGroup' {} a -> s {status = a} :: UserByPermissionGroup)++-- | Indicates the type of user.+--+-- - @SUPER_USER@ – A user with permission to all the functionality and+-- data in FinSpace.+--+-- - @APP_USER@ – A user with specific permissions in FinSpace. The users+-- are assigned permissions by adding them to a permission group.+userByPermissionGroup_type :: Lens.Lens' UserByPermissionGroup (Prelude.Maybe UserType)+userByPermissionGroup_type = Lens.lens (\UserByPermissionGroup' {type'} -> type') (\s@UserByPermissionGroup' {} a -> s {type' = a} :: UserByPermissionGroup)++-- | The unique identifier for the user.+userByPermissionGroup_userId :: Lens.Lens' UserByPermissionGroup (Prelude.Maybe Prelude.Text)+userByPermissionGroup_userId = Lens.lens (\UserByPermissionGroup' {userId} -> userId) (\s@UserByPermissionGroup' {} a -> s {userId = a} :: UserByPermissionGroup)++instance Data.FromJSON UserByPermissionGroup where+ parseJSON =+ Data.withObject+ "UserByPermissionGroup"+ ( \x ->+ UserByPermissionGroup'+ Prelude.<$> (x Data..:? "apiAccess")+ Prelude.<*> (x Data..:? "apiAccessPrincipalArn")+ Prelude.<*> (x Data..:? "emailAddress")+ Prelude.<*> (x Data..:? "firstName")+ Prelude.<*> (x Data..:? "lastName")+ Prelude.<*> (x Data..:? "membershipStatus")+ Prelude.<*> (x Data..:? "status")+ Prelude.<*> (x Data..:? "type")+ Prelude.<*> (x Data..:? "userId")+ )++instance Prelude.Hashable UserByPermissionGroup where+ hashWithSalt _salt UserByPermissionGroup' {..} =+ _salt+ `Prelude.hashWithSalt` apiAccess+ `Prelude.hashWithSalt` apiAccessPrincipalArn+ `Prelude.hashWithSalt` emailAddress+ `Prelude.hashWithSalt` firstName+ `Prelude.hashWithSalt` lastName+ `Prelude.hashWithSalt` membershipStatus+ `Prelude.hashWithSalt` status+ `Prelude.hashWithSalt` type'+ `Prelude.hashWithSalt` userId++instance Prelude.NFData UserByPermissionGroup where+ rnf UserByPermissionGroup' {..} =+ Prelude.rnf apiAccess+ `Prelude.seq` Prelude.rnf apiAccessPrincipalArn+ `Prelude.seq` Prelude.rnf emailAddress+ `Prelude.seq` Prelude.rnf firstName+ `Prelude.seq` Prelude.rnf lastName+ `Prelude.seq` Prelude.rnf membershipStatus+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf type'+ `Prelude.seq` Prelude.rnf userId
+ gen/Amazonka/FinSpaceData/Types/UserStatus.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FinSpaceData.Types.UserStatus+-- 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.FinSpaceData.Types.UserStatus+ ( UserStatus+ ( ..,+ UserStatus_CREATING,+ UserStatus_DISABLED,+ UserStatus_ENABLED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype UserStatus = UserStatus'+ { fromUserStatus ::+ 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 UserStatus_CREATING :: UserStatus+pattern UserStatus_CREATING = UserStatus' "CREATING"++pattern UserStatus_DISABLED :: UserStatus+pattern UserStatus_DISABLED = UserStatus' "DISABLED"++pattern UserStatus_ENABLED :: UserStatus+pattern UserStatus_ENABLED = UserStatus' "ENABLED"++{-# COMPLETE+ UserStatus_CREATING,+ UserStatus_DISABLED,+ UserStatus_ENABLED,+ UserStatus'+ #-}
+ gen/Amazonka/FinSpaceData/Types/UserType.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.FinSpaceData.Types.UserType+-- 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.FinSpaceData.Types.UserType+ ( UserType+ ( ..,+ UserType_APP_USER,+ UserType_SUPER_USER+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype UserType = UserType'+ { fromUserType ::+ 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 UserType_APP_USER :: UserType+pattern UserType_APP_USER = UserType' "APP_USER"++pattern UserType_SUPER_USER :: UserType+pattern UserType_SUPER_USER = UserType' "SUPER_USER"++{-# COMPLETE+ UserType_APP_USER,+ UserType_SUPER_USER,+ UserType'+ #-}
+ gen/Amazonka/FinSpaceData/UpdateChangeset.hs view
@@ -0,0 +1,360 @@+{-# 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.FinSpaceData.UpdateChangeset+-- 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 FinSpace Changeset.+module Amazonka.FinSpaceData.UpdateChangeset+ ( -- * Creating a Request+ UpdateChangeset (..),+ newUpdateChangeset,++ -- * Request Lenses+ updateChangeset_clientToken,+ updateChangeset_datasetId,+ updateChangeset_changesetId,+ updateChangeset_sourceParams,+ updateChangeset_formatParams,++ -- * Destructuring the Response+ UpdateChangesetResponse (..),+ newUpdateChangesetResponse,++ -- * Response Lenses+ updateChangesetResponse_changesetId,+ updateChangesetResponse_datasetId,+ updateChangesetResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FinSpaceData.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | Request to update an existing changeset.+--+-- /See:/ 'newUpdateChangeset' smart constructor.+data UpdateChangeset = UpdateChangeset'+ { -- | A token that ensures idempotency. This token expires in 10 minutes.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for the FinSpace Dataset in which the Changeset is+ -- created.+ datasetId :: Prelude.Text,+ -- | The unique identifier for the Changeset to update.+ changesetId :: Prelude.Text,+ -- | Options that define the location of the data being ingested+ -- (@s3SourcePath@) and the source of the changeset (@sourceType@).+ --+ -- Both @s3SourcePath@ and @sourceType@ are required attributes.+ --+ -- Here is an example of how you could specify the @sourceParams@:+ --+ -- @ \"sourceParams\": { \"s3SourcePath\": \"s3:\/\/finspace-landing-us-east-2-bk7gcfvitndqa6ebnvys4d\/scratch\/wr5hh8pwkpqqkxa4sxrmcw\/ingestion\/equity.csv\", \"sourceType\": \"S3\" } @+ --+ -- The S3 path that you specify must allow the FinSpace role access. To do+ -- that, you first need to configure the IAM policy on S3 bucket. For more+ -- information, see+ -- <https://docs.aws.amazon.com/finspace/latest/data-api/fs-using-the-finspace-api.html#access-s3-buckets Loading data from an Amazon S3 Bucket using the FinSpace API>section.+ sourceParams :: Prelude.HashMap Prelude.Text Prelude.Text,+ -- | Options that define the structure of the source file(s) including the+ -- format type (@formatType@), header row (@withHeader@), data separation+ -- character (@separator@) and the type of compression (@compression@).+ --+ -- @formatType@ is a required attribute and can have the following values:+ --+ -- - @PARQUET@ – Parquet source file format.+ --+ -- - @CSV@ – CSV source file format.+ --+ -- - @JSON@ – JSON source file format.+ --+ -- - @XML@ – XML source file format.+ --+ -- Here is an example of how you could specify the @formatParams@:+ --+ -- @ \"formatParams\": { \"formatType\": \"CSV\", \"withHeader\": \"true\", \"separator\": \",\", \"compression\":\"None\" } @+ --+ -- Note that if you only provide @formatType@ as @CSV@, the rest of the+ -- attributes will automatically default to CSV values as following:+ --+ -- @ { \"withHeader\": \"true\", \"separator\": \",\" } @+ --+ -- For more information about supported file formats, see+ -- <https://docs.aws.amazon.com/finspace/latest/userguide/supported-data-types.html Supported Data Types and File Formats>+ -- in the FinSpace User Guide.+ formatParams :: Prelude.HashMap Prelude.Text Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateChangeset' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'updateChangeset_clientToken' - A token that ensures idempotency. This token expires in 10 minutes.+--+-- 'datasetId', 'updateChangeset_datasetId' - The unique identifier for the FinSpace Dataset in which the Changeset is+-- created.+--+-- 'changesetId', 'updateChangeset_changesetId' - The unique identifier for the Changeset to update.+--+-- 'sourceParams', 'updateChangeset_sourceParams' - Options that define the location of the data being ingested+-- (@s3SourcePath@) and the source of the changeset (@sourceType@).+--+-- Both @s3SourcePath@ and @sourceType@ are required attributes.+--+-- Here is an example of how you could specify the @sourceParams@:+--+-- @ \"sourceParams\": { \"s3SourcePath\": \"s3:\/\/finspace-landing-us-east-2-bk7gcfvitndqa6ebnvys4d\/scratch\/wr5hh8pwkpqqkxa4sxrmcw\/ingestion\/equity.csv\", \"sourceType\": \"S3\" } @+--+-- The S3 path that you specify must allow the FinSpace role access. To do+-- that, you first need to configure the IAM policy on S3 bucket. For more+-- information, see+-- <https://docs.aws.amazon.com/finspace/latest/data-api/fs-using-the-finspace-api.html#access-s3-buckets Loading data from an Amazon S3 Bucket using the FinSpace API>section.+--+-- 'formatParams', 'updateChangeset_formatParams' - Options that define the structure of the source file(s) including the+-- format type (@formatType@), header row (@withHeader@), data separation+-- character (@separator@) and the type of compression (@compression@).+--+-- @formatType@ is a required attribute and can have the following values:+--+-- - @PARQUET@ – Parquet source file format.+--+-- - @CSV@ – CSV source file format.+--+-- - @JSON@ – JSON source file format.+--+-- - @XML@ – XML source file format.+--+-- Here is an example of how you could specify the @formatParams@:+--+-- @ \"formatParams\": { \"formatType\": \"CSV\", \"withHeader\": \"true\", \"separator\": \",\", \"compression\":\"None\" } @+--+-- Note that if you only provide @formatType@ as @CSV@, the rest of the+-- attributes will automatically default to CSV values as following:+--+-- @ { \"withHeader\": \"true\", \"separator\": \",\" } @+--+-- For more information about supported file formats, see+-- <https://docs.aws.amazon.com/finspace/latest/userguide/supported-data-types.html Supported Data Types and File Formats>+-- in the FinSpace User Guide.+newUpdateChangeset ::+ -- | 'datasetId'+ Prelude.Text ->+ -- | 'changesetId'+ Prelude.Text ->+ UpdateChangeset+newUpdateChangeset pDatasetId_ pChangesetId_ =+ UpdateChangeset'+ { clientToken = Prelude.Nothing,+ datasetId = pDatasetId_,+ changesetId = pChangesetId_,+ sourceParams = Prelude.mempty,+ formatParams = Prelude.mempty+ }++-- | A token that ensures idempotency. This token expires in 10 minutes.+updateChangeset_clientToken :: Lens.Lens' UpdateChangeset (Prelude.Maybe Prelude.Text)+updateChangeset_clientToken = Lens.lens (\UpdateChangeset' {clientToken} -> clientToken) (\s@UpdateChangeset' {} a -> s {clientToken = a} :: UpdateChangeset)++-- | The unique identifier for the FinSpace Dataset in which the Changeset is+-- created.+updateChangeset_datasetId :: Lens.Lens' UpdateChangeset Prelude.Text+updateChangeset_datasetId = Lens.lens (\UpdateChangeset' {datasetId} -> datasetId) (\s@UpdateChangeset' {} a -> s {datasetId = a} :: UpdateChangeset)++-- | The unique identifier for the Changeset to update.+updateChangeset_changesetId :: Lens.Lens' UpdateChangeset Prelude.Text+updateChangeset_changesetId = Lens.lens (\UpdateChangeset' {changesetId} -> changesetId) (\s@UpdateChangeset' {} a -> s {changesetId = a} :: UpdateChangeset)++-- | Options that define the location of the data being ingested+-- (@s3SourcePath@) and the source of the changeset (@sourceType@).+--+-- Both @s3SourcePath@ and @sourceType@ are required attributes.+--+-- Here is an example of how you could specify the @sourceParams@:+--+-- @ \"sourceParams\": { \"s3SourcePath\": \"s3:\/\/finspace-landing-us-east-2-bk7gcfvitndqa6ebnvys4d\/scratch\/wr5hh8pwkpqqkxa4sxrmcw\/ingestion\/equity.csv\", \"sourceType\": \"S3\" } @+--+-- The S3 path that you specify must allow the FinSpace role access. To do+-- that, you first need to configure the IAM policy on S3 bucket. For more+-- information, see+-- <https://docs.aws.amazon.com/finspace/latest/data-api/fs-using-the-finspace-api.html#access-s3-buckets Loading data from an Amazon S3 Bucket using the FinSpace API>section.+updateChangeset_sourceParams :: Lens.Lens' UpdateChangeset (Prelude.HashMap Prelude.Text Prelude.Text)+updateChangeset_sourceParams = Lens.lens (\UpdateChangeset' {sourceParams} -> sourceParams) (\s@UpdateChangeset' {} a -> s {sourceParams = a} :: UpdateChangeset) Prelude.. Lens.coerced++-- | Options that define the structure of the source file(s) including the+-- format type (@formatType@), header row (@withHeader@), data separation+-- character (@separator@) and the type of compression (@compression@).+--+-- @formatType@ is a required attribute and can have the following values:+--+-- - @PARQUET@ – Parquet source file format.+--+-- - @CSV@ – CSV source file format.+--+-- - @JSON@ – JSON source file format.+--+-- - @XML@ – XML source file format.+--+-- Here is an example of how you could specify the @formatParams@:+--+-- @ \"formatParams\": { \"formatType\": \"CSV\", \"withHeader\": \"true\", \"separator\": \",\", \"compression\":\"None\" } @+--+-- Note that if you only provide @formatType@ as @CSV@, the rest of the+-- attributes will automatically default to CSV values as following:+--+-- @ { \"withHeader\": \"true\", \"separator\": \",\" } @+--+-- For more information about supported file formats, see+-- <https://docs.aws.amazon.com/finspace/latest/userguide/supported-data-types.html Supported Data Types and File Formats>+-- in the FinSpace User Guide.+updateChangeset_formatParams :: Lens.Lens' UpdateChangeset (Prelude.HashMap Prelude.Text Prelude.Text)+updateChangeset_formatParams = Lens.lens (\UpdateChangeset' {formatParams} -> formatParams) (\s@UpdateChangeset' {} a -> s {formatParams = a} :: UpdateChangeset) Prelude.. Lens.coerced++instance Core.AWSRequest UpdateChangeset where+ type+ AWSResponse UpdateChangeset =+ UpdateChangesetResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateChangesetResponse'+ Prelude.<$> (x Data..?> "changesetId")+ Prelude.<*> (x Data..?> "datasetId")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateChangeset where+ hashWithSalt _salt UpdateChangeset' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` datasetId+ `Prelude.hashWithSalt` changesetId+ `Prelude.hashWithSalt` sourceParams+ `Prelude.hashWithSalt` formatParams++instance Prelude.NFData UpdateChangeset where+ rnf UpdateChangeset' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf datasetId+ `Prelude.seq` Prelude.rnf changesetId+ `Prelude.seq` Prelude.rnf sourceParams+ `Prelude.seq` Prelude.rnf formatParams++instance Data.ToHeaders UpdateChangeset where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateChangeset where+ toJSON UpdateChangeset' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("clientToken" Data..=) Prelude.<$> clientToken,+ Prelude.Just ("sourceParams" Data..= sourceParams),+ Prelude.Just ("formatParams" Data..= formatParams)+ ]+ )++instance Data.ToPath UpdateChangeset where+ toPath UpdateChangeset' {..} =+ Prelude.mconcat+ [ "/datasets/",+ Data.toBS datasetId,+ "/changesetsv2/",+ Data.toBS changesetId+ ]++instance Data.ToQuery UpdateChangeset where+ toQuery = Prelude.const Prelude.mempty++-- | The response from a update changeset operation.+--+-- /See:/ 'newUpdateChangesetResponse' smart constructor.+data UpdateChangesetResponse = UpdateChangesetResponse'+ { -- | The unique identifier for the Changeset to update.+ changesetId :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for the FinSpace Dataset in which the Changeset is+ -- created.+ datasetId :: 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 'UpdateChangesetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'changesetId', 'updateChangesetResponse_changesetId' - The unique identifier for the Changeset to update.+--+-- 'datasetId', 'updateChangesetResponse_datasetId' - The unique identifier for the FinSpace Dataset in which the Changeset is+-- created.+--+-- 'httpStatus', 'updateChangesetResponse_httpStatus' - The response's http status code.+newUpdateChangesetResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateChangesetResponse+newUpdateChangesetResponse pHttpStatus_ =+ UpdateChangesetResponse'+ { changesetId =+ Prelude.Nothing,+ datasetId = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The unique identifier for the Changeset to update.+updateChangesetResponse_changesetId :: Lens.Lens' UpdateChangesetResponse (Prelude.Maybe Prelude.Text)+updateChangesetResponse_changesetId = Lens.lens (\UpdateChangesetResponse' {changesetId} -> changesetId) (\s@UpdateChangesetResponse' {} a -> s {changesetId = a} :: UpdateChangesetResponse)++-- | The unique identifier for the FinSpace Dataset in which the Changeset is+-- created.+updateChangesetResponse_datasetId :: Lens.Lens' UpdateChangesetResponse (Prelude.Maybe Prelude.Text)+updateChangesetResponse_datasetId = Lens.lens (\UpdateChangesetResponse' {datasetId} -> datasetId) (\s@UpdateChangesetResponse' {} a -> s {datasetId = a} :: UpdateChangesetResponse)++-- | The response's http status code.+updateChangesetResponse_httpStatus :: Lens.Lens' UpdateChangesetResponse Prelude.Int+updateChangesetResponse_httpStatus = Lens.lens (\UpdateChangesetResponse' {httpStatus} -> httpStatus) (\s@UpdateChangesetResponse' {} a -> s {httpStatus = a} :: UpdateChangesetResponse)++instance Prelude.NFData UpdateChangesetResponse where+ rnf UpdateChangesetResponse' {..} =+ Prelude.rnf changesetId+ `Prelude.seq` Prelude.rnf datasetId+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FinSpaceData/UpdateDataset.hs view
@@ -0,0 +1,269 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FinSpaceData.UpdateDataset+-- 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 FinSpace Dataset.+module Amazonka.FinSpaceData.UpdateDataset+ ( -- * Creating a Request+ UpdateDataset (..),+ newUpdateDataset,++ -- * Request Lenses+ updateDataset_alias,+ updateDataset_clientToken,+ updateDataset_datasetDescription,+ updateDataset_schemaDefinition,+ updateDataset_datasetId,+ updateDataset_datasetTitle,+ updateDataset_kind,++ -- * Destructuring the Response+ UpdateDatasetResponse (..),+ newUpdateDatasetResponse,++ -- * Response Lenses+ updateDatasetResponse_datasetId,+ updateDatasetResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FinSpaceData.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | The request for an UpdateDataset operation+--+-- /See:/ 'newUpdateDataset' smart constructor.+data UpdateDataset = UpdateDataset'+ { -- | The unique resource identifier for a Dataset.+ alias :: Prelude.Maybe Prelude.Text,+ -- | A token that ensures idempotency. This token expires in 10 minutes.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | A description for the Dataset.+ datasetDescription :: Prelude.Maybe Prelude.Text,+ -- | Definition for a schema on a tabular Dataset.+ schemaDefinition :: Prelude.Maybe SchemaUnion,+ -- | The unique identifier for the Dataset to update.+ datasetId :: Prelude.Text,+ -- | A display title for the Dataset.+ datasetTitle :: Prelude.Text,+ -- | The format in which the Dataset data is structured.+ --+ -- - @TABULAR@ – Data is structured in a tabular format.+ --+ -- - @NON_TABULAR@ – Data is structured in a non-tabular format.+ kind :: DatasetKind+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateDataset' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'alias', 'updateDataset_alias' - The unique resource identifier for a Dataset.+--+-- 'clientToken', 'updateDataset_clientToken' - A token that ensures idempotency. This token expires in 10 minutes.+--+-- 'datasetDescription', 'updateDataset_datasetDescription' - A description for the Dataset.+--+-- 'schemaDefinition', 'updateDataset_schemaDefinition' - Definition for a schema on a tabular Dataset.+--+-- 'datasetId', 'updateDataset_datasetId' - The unique identifier for the Dataset to update.+--+-- 'datasetTitle', 'updateDataset_datasetTitle' - A display title for the Dataset.+--+-- 'kind', 'updateDataset_kind' - The format in which the Dataset data is structured.+--+-- - @TABULAR@ – Data is structured in a tabular format.+--+-- - @NON_TABULAR@ – Data is structured in a non-tabular format.+newUpdateDataset ::+ -- | 'datasetId'+ Prelude.Text ->+ -- | 'datasetTitle'+ Prelude.Text ->+ -- | 'kind'+ DatasetKind ->+ UpdateDataset+newUpdateDataset pDatasetId_ pDatasetTitle_ pKind_ =+ UpdateDataset'+ { alias = Prelude.Nothing,+ clientToken = Prelude.Nothing,+ datasetDescription = Prelude.Nothing,+ schemaDefinition = Prelude.Nothing,+ datasetId = pDatasetId_,+ datasetTitle = pDatasetTitle_,+ kind = pKind_+ }++-- | The unique resource identifier for a Dataset.+updateDataset_alias :: Lens.Lens' UpdateDataset (Prelude.Maybe Prelude.Text)+updateDataset_alias = Lens.lens (\UpdateDataset' {alias} -> alias) (\s@UpdateDataset' {} a -> s {alias = a} :: UpdateDataset)++-- | A token that ensures idempotency. This token expires in 10 minutes.+updateDataset_clientToken :: Lens.Lens' UpdateDataset (Prelude.Maybe Prelude.Text)+updateDataset_clientToken = Lens.lens (\UpdateDataset' {clientToken} -> clientToken) (\s@UpdateDataset' {} a -> s {clientToken = a} :: UpdateDataset)++-- | A description for the Dataset.+updateDataset_datasetDescription :: Lens.Lens' UpdateDataset (Prelude.Maybe Prelude.Text)+updateDataset_datasetDescription = Lens.lens (\UpdateDataset' {datasetDescription} -> datasetDescription) (\s@UpdateDataset' {} a -> s {datasetDescription = a} :: UpdateDataset)++-- | Definition for a schema on a tabular Dataset.+updateDataset_schemaDefinition :: Lens.Lens' UpdateDataset (Prelude.Maybe SchemaUnion)+updateDataset_schemaDefinition = Lens.lens (\UpdateDataset' {schemaDefinition} -> schemaDefinition) (\s@UpdateDataset' {} a -> s {schemaDefinition = a} :: UpdateDataset)++-- | The unique identifier for the Dataset to update.+updateDataset_datasetId :: Lens.Lens' UpdateDataset Prelude.Text+updateDataset_datasetId = Lens.lens (\UpdateDataset' {datasetId} -> datasetId) (\s@UpdateDataset' {} a -> s {datasetId = a} :: UpdateDataset)++-- | A display title for the Dataset.+updateDataset_datasetTitle :: Lens.Lens' UpdateDataset Prelude.Text+updateDataset_datasetTitle = Lens.lens (\UpdateDataset' {datasetTitle} -> datasetTitle) (\s@UpdateDataset' {} a -> s {datasetTitle = a} :: UpdateDataset)++-- | The format in which the Dataset data is structured.+--+-- - @TABULAR@ – Data is structured in a tabular format.+--+-- - @NON_TABULAR@ – Data is structured in a non-tabular format.+updateDataset_kind :: Lens.Lens' UpdateDataset DatasetKind+updateDataset_kind = Lens.lens (\UpdateDataset' {kind} -> kind) (\s@UpdateDataset' {} a -> s {kind = a} :: UpdateDataset)++instance Core.AWSRequest UpdateDataset where+ type+ AWSResponse UpdateDataset =+ UpdateDatasetResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateDatasetResponse'+ Prelude.<$> (x Data..?> "datasetId")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateDataset where+ hashWithSalt _salt UpdateDataset' {..} =+ _salt+ `Prelude.hashWithSalt` alias+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` datasetDescription+ `Prelude.hashWithSalt` schemaDefinition+ `Prelude.hashWithSalt` datasetId+ `Prelude.hashWithSalt` datasetTitle+ `Prelude.hashWithSalt` kind++instance Prelude.NFData UpdateDataset where+ rnf UpdateDataset' {..} =+ Prelude.rnf alias+ `Prelude.seq` Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf datasetDescription+ `Prelude.seq` Prelude.rnf schemaDefinition+ `Prelude.seq` Prelude.rnf datasetId+ `Prelude.seq` Prelude.rnf datasetTitle+ `Prelude.seq` Prelude.rnf kind++instance Data.ToHeaders UpdateDataset where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateDataset where+ toJSON UpdateDataset' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("alias" Data..=) Prelude.<$> alias,+ ("clientToken" Data..=) Prelude.<$> clientToken,+ ("datasetDescription" Data..=)+ Prelude.<$> datasetDescription,+ ("schemaDefinition" Data..=)+ Prelude.<$> schemaDefinition,+ Prelude.Just ("datasetTitle" Data..= datasetTitle),+ Prelude.Just ("kind" Data..= kind)+ ]+ )++instance Data.ToPath UpdateDataset where+ toPath UpdateDataset' {..} =+ Prelude.mconcat+ ["/datasetsv2/", Data.toBS datasetId]++instance Data.ToQuery UpdateDataset where+ toQuery = Prelude.const Prelude.mempty++-- | The response from an UpdateDataset operation+--+-- /See:/ 'newUpdateDatasetResponse' smart constructor.+data UpdateDatasetResponse = UpdateDatasetResponse'+ { -- | The unique identifier for updated Dataset.+ datasetId :: 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 'UpdateDatasetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'datasetId', 'updateDatasetResponse_datasetId' - The unique identifier for updated Dataset.+--+-- 'httpStatus', 'updateDatasetResponse_httpStatus' - The response's http status code.+newUpdateDatasetResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateDatasetResponse+newUpdateDatasetResponse pHttpStatus_ =+ UpdateDatasetResponse'+ { datasetId = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The unique identifier for updated Dataset.+updateDatasetResponse_datasetId :: Lens.Lens' UpdateDatasetResponse (Prelude.Maybe Prelude.Text)+updateDatasetResponse_datasetId = Lens.lens (\UpdateDatasetResponse' {datasetId} -> datasetId) (\s@UpdateDatasetResponse' {} a -> s {datasetId = a} :: UpdateDatasetResponse)++-- | The response's http status code.+updateDatasetResponse_httpStatus :: Lens.Lens' UpdateDatasetResponse Prelude.Int+updateDatasetResponse_httpStatus = Lens.lens (\UpdateDatasetResponse' {httpStatus} -> httpStatus) (\s@UpdateDatasetResponse' {} a -> s {httpStatus = a} :: UpdateDatasetResponse)++instance Prelude.NFData UpdateDatasetResponse where+ rnf UpdateDatasetResponse' {..} =+ Prelude.rnf datasetId+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FinSpaceData/UpdatePermissionGroup.hs view
@@ -0,0 +1,303 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FinSpaceData.UpdatePermissionGroup+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Modifies the details of a permission group. You cannot modify a+-- @permissionGroupID@.+module Amazonka.FinSpaceData.UpdatePermissionGroup+ ( -- * Creating a Request+ UpdatePermissionGroup (..),+ newUpdatePermissionGroup,++ -- * Request Lenses+ updatePermissionGroup_applicationPermissions,+ updatePermissionGroup_clientToken,+ updatePermissionGroup_description,+ updatePermissionGroup_name,+ updatePermissionGroup_permissionGroupId,++ -- * Destructuring the Response+ UpdatePermissionGroupResponse (..),+ newUpdatePermissionGroupResponse,++ -- * Response Lenses+ updatePermissionGroupResponse_permissionGroupId,+ updatePermissionGroupResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FinSpaceData.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdatePermissionGroup' smart constructor.+data UpdatePermissionGroup = UpdatePermissionGroup'+ { -- | The permissions that are granted to a specific group for accessing the+ -- FinSpace application.+ --+ -- When assigning application permissions, be aware that the permission+ -- @ManageUsersAndGroups@ allows users to grant themselves or others access+ -- to any functionality in their FinSpace environment\'s application. It+ -- should only be granted to trusted users.+ --+ -- - @CreateDataset@ – Group members can create new datasets.+ --+ -- - @ManageClusters@ – Group members can manage Apache Spark clusters+ -- from FinSpace notebooks.+ --+ -- - @ManageUsersAndGroups@ – Group members can manage users and+ -- permission groups. This is a privileged permission that allows users+ -- to grant themselves or others access to any functionality in the+ -- application. It should only be granted to trusted users.+ --+ -- - @ManageAttributeSets@ – Group members can manage attribute sets.+ --+ -- - @ViewAuditData@ – Group members can view audit data.+ --+ -- - @AccessNotebooks@ – Group members will have access to FinSpace+ -- notebooks.+ --+ -- - @GetTemporaryCredentials@ – Group members can get temporary API+ -- credentials.+ applicationPermissions :: Prelude.Maybe [ApplicationPermission],+ -- | A token that ensures idempotency. This token expires in 10 minutes.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | A brief description for the permission group.+ description :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The name of the permission group.+ name :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The unique identifier for the permission group to update.+ permissionGroupId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdatePermissionGroup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'applicationPermissions', 'updatePermissionGroup_applicationPermissions' - The permissions that are granted to a specific group for accessing the+-- FinSpace application.+--+-- When assigning application permissions, be aware that the permission+-- @ManageUsersAndGroups@ allows users to grant themselves or others access+-- to any functionality in their FinSpace environment\'s application. It+-- should only be granted to trusted users.+--+-- - @CreateDataset@ – Group members can create new datasets.+--+-- - @ManageClusters@ – Group members can manage Apache Spark clusters+-- from FinSpace notebooks.+--+-- - @ManageUsersAndGroups@ – Group members can manage users and+-- permission groups. This is a privileged permission that allows users+-- to grant themselves or others access to any functionality in the+-- application. It should only be granted to trusted users.+--+-- - @ManageAttributeSets@ – Group members can manage attribute sets.+--+-- - @ViewAuditData@ – Group members can view audit data.+--+-- - @AccessNotebooks@ – Group members will have access to FinSpace+-- notebooks.+--+-- - @GetTemporaryCredentials@ – Group members can get temporary API+-- credentials.+--+-- 'clientToken', 'updatePermissionGroup_clientToken' - A token that ensures idempotency. This token expires in 10 minutes.+--+-- 'description', 'updatePermissionGroup_description' - A brief description for the permission group.+--+-- 'name', 'updatePermissionGroup_name' - The name of the permission group.+--+-- 'permissionGroupId', 'updatePermissionGroup_permissionGroupId' - The unique identifier for the permission group to update.+newUpdatePermissionGroup ::+ -- | 'permissionGroupId'+ Prelude.Text ->+ UpdatePermissionGroup+newUpdatePermissionGroup pPermissionGroupId_ =+ UpdatePermissionGroup'+ { applicationPermissions =+ Prelude.Nothing,+ clientToken = Prelude.Nothing,+ description = Prelude.Nothing,+ name = Prelude.Nothing,+ permissionGroupId = pPermissionGroupId_+ }++-- | The permissions that are granted to a specific group for accessing the+-- FinSpace application.+--+-- When assigning application permissions, be aware that the permission+-- @ManageUsersAndGroups@ allows users to grant themselves or others access+-- to any functionality in their FinSpace environment\'s application. It+-- should only be granted to trusted users.+--+-- - @CreateDataset@ – Group members can create new datasets.+--+-- - @ManageClusters@ – Group members can manage Apache Spark clusters+-- from FinSpace notebooks.+--+-- - @ManageUsersAndGroups@ – Group members can manage users and+-- permission groups. This is a privileged permission that allows users+-- to grant themselves or others access to any functionality in the+-- application. It should only be granted to trusted users.+--+-- - @ManageAttributeSets@ – Group members can manage attribute sets.+--+-- - @ViewAuditData@ – Group members can view audit data.+--+-- - @AccessNotebooks@ – Group members will have access to FinSpace+-- notebooks.+--+-- - @GetTemporaryCredentials@ – Group members can get temporary API+-- credentials.+updatePermissionGroup_applicationPermissions :: Lens.Lens' UpdatePermissionGroup (Prelude.Maybe [ApplicationPermission])+updatePermissionGroup_applicationPermissions = Lens.lens (\UpdatePermissionGroup' {applicationPermissions} -> applicationPermissions) (\s@UpdatePermissionGroup' {} a -> s {applicationPermissions = a} :: UpdatePermissionGroup) Prelude.. Lens.mapping Lens.coerced++-- | A token that ensures idempotency. This token expires in 10 minutes.+updatePermissionGroup_clientToken :: Lens.Lens' UpdatePermissionGroup (Prelude.Maybe Prelude.Text)+updatePermissionGroup_clientToken = Lens.lens (\UpdatePermissionGroup' {clientToken} -> clientToken) (\s@UpdatePermissionGroup' {} a -> s {clientToken = a} :: UpdatePermissionGroup)++-- | A brief description for the permission group.+updatePermissionGroup_description :: Lens.Lens' UpdatePermissionGroup (Prelude.Maybe Prelude.Text)+updatePermissionGroup_description = Lens.lens (\UpdatePermissionGroup' {description} -> description) (\s@UpdatePermissionGroup' {} a -> s {description = a} :: UpdatePermissionGroup) Prelude.. Lens.mapping Data._Sensitive++-- | The name of the permission group.+updatePermissionGroup_name :: Lens.Lens' UpdatePermissionGroup (Prelude.Maybe Prelude.Text)+updatePermissionGroup_name = Lens.lens (\UpdatePermissionGroup' {name} -> name) (\s@UpdatePermissionGroup' {} a -> s {name = a} :: UpdatePermissionGroup) Prelude.. Lens.mapping Data._Sensitive++-- | The unique identifier for the permission group to update.+updatePermissionGroup_permissionGroupId :: Lens.Lens' UpdatePermissionGroup Prelude.Text+updatePermissionGroup_permissionGroupId = Lens.lens (\UpdatePermissionGroup' {permissionGroupId} -> permissionGroupId) (\s@UpdatePermissionGroup' {} a -> s {permissionGroupId = a} :: UpdatePermissionGroup)++instance Core.AWSRequest UpdatePermissionGroup where+ type+ AWSResponse UpdatePermissionGroup =+ UpdatePermissionGroupResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdatePermissionGroupResponse'+ Prelude.<$> (x Data..?> "permissionGroupId")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdatePermissionGroup where+ hashWithSalt _salt UpdatePermissionGroup' {..} =+ _salt+ `Prelude.hashWithSalt` applicationPermissions+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` permissionGroupId++instance Prelude.NFData UpdatePermissionGroup where+ rnf UpdatePermissionGroup' {..} =+ Prelude.rnf applicationPermissions+ `Prelude.seq` Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf permissionGroupId++instance Data.ToHeaders UpdatePermissionGroup where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdatePermissionGroup where+ toJSON UpdatePermissionGroup' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("applicationPermissions" Data..=)+ Prelude.<$> applicationPermissions,+ ("clientToken" Data..=) Prelude.<$> clientToken,+ ("description" Data..=) Prelude.<$> description,+ ("name" Data..=) Prelude.<$> name+ ]+ )++instance Data.ToPath UpdatePermissionGroup where+ toPath UpdatePermissionGroup' {..} =+ Prelude.mconcat+ ["/permission-group/", Data.toBS permissionGroupId]++instance Data.ToQuery UpdatePermissionGroup where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdatePermissionGroupResponse' smart constructor.+data UpdatePermissionGroupResponse = UpdatePermissionGroupResponse'+ { -- | The unique identifier for the updated permission group.+ permissionGroupId :: 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 'UpdatePermissionGroupResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'permissionGroupId', 'updatePermissionGroupResponse_permissionGroupId' - The unique identifier for the updated permission group.+--+-- 'httpStatus', 'updatePermissionGroupResponse_httpStatus' - The response's http status code.+newUpdatePermissionGroupResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdatePermissionGroupResponse+newUpdatePermissionGroupResponse pHttpStatus_ =+ UpdatePermissionGroupResponse'+ { permissionGroupId =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The unique identifier for the updated permission group.+updatePermissionGroupResponse_permissionGroupId :: Lens.Lens' UpdatePermissionGroupResponse (Prelude.Maybe Prelude.Text)+updatePermissionGroupResponse_permissionGroupId = Lens.lens (\UpdatePermissionGroupResponse' {permissionGroupId} -> permissionGroupId) (\s@UpdatePermissionGroupResponse' {} a -> s {permissionGroupId = a} :: UpdatePermissionGroupResponse)++-- | The response's http status code.+updatePermissionGroupResponse_httpStatus :: Lens.Lens' UpdatePermissionGroupResponse Prelude.Int+updatePermissionGroupResponse_httpStatus = Lens.lens (\UpdatePermissionGroupResponse' {httpStatus} -> httpStatus) (\s@UpdatePermissionGroupResponse' {} a -> s {httpStatus = a} :: UpdatePermissionGroupResponse)++instance Prelude.NFData UpdatePermissionGroupResponse where+ rnf UpdatePermissionGroupResponse' {..} =+ Prelude.rnf permissionGroupId+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FinSpaceData/UpdateUser.hs view
@@ -0,0 +1,291 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FinSpaceData.UpdateUser+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Modifies the details of the specified user account. You cannot update+-- the @userId@ for a user.+module Amazonka.FinSpaceData.UpdateUser+ ( -- * Creating a Request+ UpdateUser (..),+ newUpdateUser,++ -- * Request Lenses+ updateUser_apiAccess,+ updateUser_apiAccessPrincipalArn,+ updateUser_clientToken,+ updateUser_firstName,+ updateUser_lastName,+ updateUser_type,+ updateUser_userId,++ -- * Destructuring the Response+ UpdateUserResponse (..),+ newUpdateUserResponse,++ -- * Response Lenses+ updateUserResponse_userId,+ updateUserResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FinSpaceData.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateUser' smart constructor.+data UpdateUser = UpdateUser'+ { -- | The option to indicate whether the user can use the+ -- @GetProgrammaticAccessCredentials@ API to obtain credentials that can+ -- then be used to access other FinSpace Data API operations.+ --+ -- - @ENABLED@ – The user has permissions to use the APIs.+ --+ -- - @DISABLED@ – The user does not have permissions to use any APIs.+ apiAccess :: Prelude.Maybe ApiAccess,+ -- | The ARN identifier of an AWS user or role that is allowed to call the+ -- @GetProgrammaticAccessCredentials@ API to obtain a credentials token for+ -- a specific FinSpace user. This must be an IAM role within your FinSpace+ -- account.+ apiAccessPrincipalArn :: Prelude.Maybe Prelude.Text,+ -- | A token that ensures idempotency. This token expires in 10 minutes.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The first name of the user.+ firstName :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The last name of the user.+ lastName :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The option to indicate the type of user.+ --+ -- - @SUPER_USER@– A user with permission to all the functionality and+ -- data in FinSpace.+ --+ -- - @APP_USER@ – A user with specific permissions in FinSpace. The users+ -- are assigned permissions by adding them to a permission group.+ type' :: Prelude.Maybe UserType,+ -- | The unique identifier for the user account to update.+ userId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateUser' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'apiAccess', 'updateUser_apiAccess' - The option to indicate whether the user can use the+-- @GetProgrammaticAccessCredentials@ API to obtain credentials that can+-- then be used to access other FinSpace Data API operations.+--+-- - @ENABLED@ – The user has permissions to use the APIs.+--+-- - @DISABLED@ – The user does not have permissions to use any APIs.+--+-- 'apiAccessPrincipalArn', 'updateUser_apiAccessPrincipalArn' - The ARN identifier of an AWS user or role that is allowed to call the+-- @GetProgrammaticAccessCredentials@ API to obtain a credentials token for+-- a specific FinSpace user. This must be an IAM role within your FinSpace+-- account.+--+-- 'clientToken', 'updateUser_clientToken' - A token that ensures idempotency. This token expires in 10 minutes.+--+-- 'firstName', 'updateUser_firstName' - The first name of the user.+--+-- 'lastName', 'updateUser_lastName' - The last name of the user.+--+-- 'type'', 'updateUser_type' - The option to indicate the type of user.+--+-- - @SUPER_USER@– A user with permission to all the functionality and+-- data in FinSpace.+--+-- - @APP_USER@ – A user with specific permissions in FinSpace. The users+-- are assigned permissions by adding them to a permission group.+--+-- 'userId', 'updateUser_userId' - The unique identifier for the user account to update.+newUpdateUser ::+ -- | 'userId'+ Prelude.Text ->+ UpdateUser+newUpdateUser pUserId_ =+ UpdateUser'+ { apiAccess = Prelude.Nothing,+ apiAccessPrincipalArn = Prelude.Nothing,+ clientToken = Prelude.Nothing,+ firstName = Prelude.Nothing,+ lastName = Prelude.Nothing,+ type' = Prelude.Nothing,+ userId = pUserId_+ }++-- | The option to indicate whether the user can use the+-- @GetProgrammaticAccessCredentials@ API to obtain credentials that can+-- then be used to access other FinSpace Data API operations.+--+-- - @ENABLED@ – The user has permissions to use the APIs.+--+-- - @DISABLED@ – The user does not have permissions to use any APIs.+updateUser_apiAccess :: Lens.Lens' UpdateUser (Prelude.Maybe ApiAccess)+updateUser_apiAccess = Lens.lens (\UpdateUser' {apiAccess} -> apiAccess) (\s@UpdateUser' {} a -> s {apiAccess = a} :: UpdateUser)++-- | The ARN identifier of an AWS user or role that is allowed to call the+-- @GetProgrammaticAccessCredentials@ API to obtain a credentials token for+-- a specific FinSpace user. This must be an IAM role within your FinSpace+-- account.+updateUser_apiAccessPrincipalArn :: Lens.Lens' UpdateUser (Prelude.Maybe Prelude.Text)+updateUser_apiAccessPrincipalArn = Lens.lens (\UpdateUser' {apiAccessPrincipalArn} -> apiAccessPrincipalArn) (\s@UpdateUser' {} a -> s {apiAccessPrincipalArn = a} :: UpdateUser)++-- | A token that ensures idempotency. This token expires in 10 minutes.+updateUser_clientToken :: Lens.Lens' UpdateUser (Prelude.Maybe Prelude.Text)+updateUser_clientToken = Lens.lens (\UpdateUser' {clientToken} -> clientToken) (\s@UpdateUser' {} a -> s {clientToken = a} :: UpdateUser)++-- | The first name of the user.+updateUser_firstName :: Lens.Lens' UpdateUser (Prelude.Maybe Prelude.Text)+updateUser_firstName = Lens.lens (\UpdateUser' {firstName} -> firstName) (\s@UpdateUser' {} a -> s {firstName = a} :: UpdateUser) Prelude.. Lens.mapping Data._Sensitive++-- | The last name of the user.+updateUser_lastName :: Lens.Lens' UpdateUser (Prelude.Maybe Prelude.Text)+updateUser_lastName = Lens.lens (\UpdateUser' {lastName} -> lastName) (\s@UpdateUser' {} a -> s {lastName = a} :: UpdateUser) Prelude.. Lens.mapping Data._Sensitive++-- | The option to indicate the type of user.+--+-- - @SUPER_USER@– A user with permission to all the functionality and+-- data in FinSpace.+--+-- - @APP_USER@ – A user with specific permissions in FinSpace. The users+-- are assigned permissions by adding them to a permission group.+updateUser_type :: Lens.Lens' UpdateUser (Prelude.Maybe UserType)+updateUser_type = Lens.lens (\UpdateUser' {type'} -> type') (\s@UpdateUser' {} a -> s {type' = a} :: UpdateUser)++-- | The unique identifier for the user account to update.+updateUser_userId :: Lens.Lens' UpdateUser Prelude.Text+updateUser_userId = Lens.lens (\UpdateUser' {userId} -> userId) (\s@UpdateUser' {} a -> s {userId = a} :: UpdateUser)++instance Core.AWSRequest UpdateUser where+ type AWSResponse UpdateUser = UpdateUserResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateUserResponse'+ Prelude.<$> (x Data..?> "userId")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateUser where+ hashWithSalt _salt UpdateUser' {..} =+ _salt+ `Prelude.hashWithSalt` apiAccess+ `Prelude.hashWithSalt` apiAccessPrincipalArn+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` firstName+ `Prelude.hashWithSalt` lastName+ `Prelude.hashWithSalt` type'+ `Prelude.hashWithSalt` userId++instance Prelude.NFData UpdateUser where+ rnf UpdateUser' {..} =+ Prelude.rnf apiAccess+ `Prelude.seq` Prelude.rnf apiAccessPrincipalArn+ `Prelude.seq` Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf firstName+ `Prelude.seq` Prelude.rnf lastName+ `Prelude.seq` Prelude.rnf type'+ `Prelude.seq` Prelude.rnf userId++instance Data.ToHeaders UpdateUser where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateUser where+ toJSON UpdateUser' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("apiAccess" Data..=) Prelude.<$> apiAccess,+ ("apiAccessPrincipalArn" Data..=)+ Prelude.<$> apiAccessPrincipalArn,+ ("clientToken" Data..=) Prelude.<$> clientToken,+ ("firstName" Data..=) Prelude.<$> firstName,+ ("lastName" Data..=) Prelude.<$> lastName,+ ("type" Data..=) Prelude.<$> type'+ ]+ )++instance Data.ToPath UpdateUser where+ toPath UpdateUser' {..} =+ Prelude.mconcat ["/user/", Data.toBS userId]++instance Data.ToQuery UpdateUser where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateUserResponse' smart constructor.+data UpdateUserResponse = UpdateUserResponse'+ { -- | The unique identifier of the updated user account.+ userId :: 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 'UpdateUserResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'userId', 'updateUserResponse_userId' - The unique identifier of the updated user account.+--+-- 'httpStatus', 'updateUserResponse_httpStatus' - The response's http status code.+newUpdateUserResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateUserResponse+newUpdateUserResponse pHttpStatus_ =+ UpdateUserResponse'+ { userId = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The unique identifier of the updated user account.+updateUserResponse_userId :: Lens.Lens' UpdateUserResponse (Prelude.Maybe Prelude.Text)+updateUserResponse_userId = Lens.lens (\UpdateUserResponse' {userId} -> userId) (\s@UpdateUserResponse' {} a -> s {userId = a} :: UpdateUserResponse)++-- | The response's http status code.+updateUserResponse_httpStatus :: Lens.Lens' UpdateUserResponse Prelude.Int+updateUserResponse_httpStatus = Lens.lens (\UpdateUserResponse' {httpStatus} -> httpStatus) (\s@UpdateUserResponse' {} a -> s {httpStatus = a} :: UpdateUserResponse)++instance Prelude.NFData UpdateUserResponse where+ rnf UpdateUserResponse' {..} =+ Prelude.rnf userId+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FinSpaceData/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.FinSpaceData.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.FinSpaceData.Waiters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FinSpaceData.Lens+import Amazonka.FinSpaceData.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.FinSpaceData+import Test.Amazonka.FinSpaceData.Internal+import Test.Tasty++main :: IO ()+main =+ defaultMain $+ testGroup+ "FinSpaceData"+ [ testGroup "tests" tests,+ testGroup "fixtures" fixtures+ ]
+ test/Test/Amazonka/FinSpaceData.hs view
@@ -0,0 +1,20 @@+-- |+-- Module : Test.Amazonka.FinSpaceData+-- 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.FinSpaceData+ ( tests,+ fixtures,+ )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/FinSpaceData/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module : Test.Amazonka.FinSpaceData.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.FinSpaceData.Internal where
+ test/Test/Amazonka/Gen/FinSpaceData.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.FinSpaceData+-- 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.FinSpaceData where++import Amazonka.FinSpaceData+import qualified Data.Proxy as Proxy+import Test.Amazonka.FinSpaceData.Internal+import Test.Amazonka.Fixture+import Test.Amazonka.Prelude+import Test.Tasty++-- Auto-generated: the actual test selection needs to be manually placed into+-- the top-level so that real test data can be incrementally added.+--+-- This commented snippet is what the entire set should look like:++-- fixtures :: TestTree+-- fixtures =+-- [ testGroup "request"+-- [ requestAssociateUserToPermissionGroup $+-- newAssociateUserToPermissionGroup+--+-- , requestCreateChangeset $+-- newCreateChangeset+--+-- , requestCreateDataView $+-- newCreateDataView+--+-- , requestCreateDataset $+-- newCreateDataset+--+-- , requestCreatePermissionGroup $+-- newCreatePermissionGroup+--+-- , requestCreateUser $+-- newCreateUser+--+-- , requestDeleteDataset $+-- newDeleteDataset+--+-- , requestDeletePermissionGroup $+-- newDeletePermissionGroup+--+-- , requestDisableUser $+-- newDisableUser+--+-- , requestDisassociateUserFromPermissionGroup $+-- newDisassociateUserFromPermissionGroup+--+-- , requestEnableUser $+-- newEnableUser+--+-- , requestGetChangeset $+-- newGetChangeset+--+-- , requestGetDataView $+-- newGetDataView+--+-- , requestGetDataset $+-- newGetDataset+--+-- , requestGetExternalDataViewAccessDetails $+-- newGetExternalDataViewAccessDetails+--+-- , requestGetPermissionGroup $+-- newGetPermissionGroup+--+-- , requestGetProgrammaticAccessCredentials $+-- newGetProgrammaticAccessCredentials+--+-- , requestGetUser $+-- newGetUser+--+-- , requestGetWorkingLocation $+-- newGetWorkingLocation+--+-- , requestListChangesets $+-- newListChangesets+--+-- , requestListDataViews $+-- newListDataViews+--+-- , requestListDatasets $+-- newListDatasets+--+-- , requestListPermissionGroups $+-- newListPermissionGroups+--+-- , requestListPermissionGroupsByUser $+-- newListPermissionGroupsByUser+--+-- , requestListUsers $+-- newListUsers+--+-- , requestListUsersByPermissionGroup $+-- newListUsersByPermissionGroup+--+-- , requestResetUserPassword $+-- newResetUserPassword+--+-- , requestUpdateChangeset $+-- newUpdateChangeset+--+-- , requestUpdateDataset $+-- newUpdateDataset+--+-- , requestUpdatePermissionGroup $+-- newUpdatePermissionGroup+--+-- , requestUpdateUser $+-- newUpdateUser+--+-- ]++-- , testGroup "response"+-- [ responseAssociateUserToPermissionGroup $+-- newAssociateUserToPermissionGroupResponse+--+-- , responseCreateChangeset $+-- newCreateChangesetResponse+--+-- , responseCreateDataView $+-- newCreateDataViewResponse+--+-- , responseCreateDataset $+-- newCreateDatasetResponse+--+-- , responseCreatePermissionGroup $+-- newCreatePermissionGroupResponse+--+-- , responseCreateUser $+-- newCreateUserResponse+--+-- , responseDeleteDataset $+-- newDeleteDatasetResponse+--+-- , responseDeletePermissionGroup $+-- newDeletePermissionGroupResponse+--+-- , responseDisableUser $+-- newDisableUserResponse+--+-- , responseDisassociateUserFromPermissionGroup $+-- newDisassociateUserFromPermissionGroupResponse+--+-- , responseEnableUser $+-- newEnableUserResponse+--+-- , responseGetChangeset $+-- newGetChangesetResponse+--+-- , responseGetDataView $+-- newGetDataViewResponse+--+-- , responseGetDataset $+-- newGetDatasetResponse+--+-- , responseGetExternalDataViewAccessDetails $+-- newGetExternalDataViewAccessDetailsResponse+--+-- , responseGetPermissionGroup $+-- newGetPermissionGroupResponse+--+-- , responseGetProgrammaticAccessCredentials $+-- newGetProgrammaticAccessCredentialsResponse+--+-- , responseGetUser $+-- newGetUserResponse+--+-- , responseGetWorkingLocation $+-- newGetWorkingLocationResponse+--+-- , responseListChangesets $+-- newListChangesetsResponse+--+-- , responseListDataViews $+-- newListDataViewsResponse+--+-- , responseListDatasets $+-- newListDatasetsResponse+--+-- , responseListPermissionGroups $+-- newListPermissionGroupsResponse+--+-- , responseListPermissionGroupsByUser $+-- newListPermissionGroupsByUserResponse+--+-- , responseListUsers $+-- newListUsersResponse+--+-- , responseListUsersByPermissionGroup $+-- newListUsersByPermissionGroupResponse+--+-- , responseResetUserPassword $+-- newResetUserPasswordResponse+--+-- , responseUpdateChangeset $+-- newUpdateChangesetResponse+--+-- , responseUpdateDataset $+-- newUpdateDatasetResponse+--+-- , responseUpdatePermissionGroup $+-- newUpdatePermissionGroupResponse+--+-- , responseUpdateUser $+-- newUpdateUserResponse+--+-- ]+-- ]++-- Requests++requestAssociateUserToPermissionGroup :: AssociateUserToPermissionGroup -> TestTree+requestAssociateUserToPermissionGroup =+ req+ "AssociateUserToPermissionGroup"+ "fixture/AssociateUserToPermissionGroup.yaml"++requestCreateChangeset :: CreateChangeset -> TestTree+requestCreateChangeset =+ req+ "CreateChangeset"+ "fixture/CreateChangeset.yaml"++requestCreateDataView :: CreateDataView -> TestTree+requestCreateDataView =+ req+ "CreateDataView"+ "fixture/CreateDataView.yaml"++requestCreateDataset :: CreateDataset -> TestTree+requestCreateDataset =+ req+ "CreateDataset"+ "fixture/CreateDataset.yaml"++requestCreatePermissionGroup :: CreatePermissionGroup -> TestTree+requestCreatePermissionGroup =+ req+ "CreatePermissionGroup"+ "fixture/CreatePermissionGroup.yaml"++requestCreateUser :: CreateUser -> TestTree+requestCreateUser =+ req+ "CreateUser"+ "fixture/CreateUser.yaml"++requestDeleteDataset :: DeleteDataset -> TestTree+requestDeleteDataset =+ req+ "DeleteDataset"+ "fixture/DeleteDataset.yaml"++requestDeletePermissionGroup :: DeletePermissionGroup -> TestTree+requestDeletePermissionGroup =+ req+ "DeletePermissionGroup"+ "fixture/DeletePermissionGroup.yaml"++requestDisableUser :: DisableUser -> TestTree+requestDisableUser =+ req+ "DisableUser"+ "fixture/DisableUser.yaml"++requestDisassociateUserFromPermissionGroup :: DisassociateUserFromPermissionGroup -> TestTree+requestDisassociateUserFromPermissionGroup =+ req+ "DisassociateUserFromPermissionGroup"+ "fixture/DisassociateUserFromPermissionGroup.yaml"++requestEnableUser :: EnableUser -> TestTree+requestEnableUser =+ req+ "EnableUser"+ "fixture/EnableUser.yaml"++requestGetChangeset :: GetChangeset -> TestTree+requestGetChangeset =+ req+ "GetChangeset"+ "fixture/GetChangeset.yaml"++requestGetDataView :: GetDataView -> TestTree+requestGetDataView =+ req+ "GetDataView"+ "fixture/GetDataView.yaml"++requestGetDataset :: GetDataset -> TestTree+requestGetDataset =+ req+ "GetDataset"+ "fixture/GetDataset.yaml"++requestGetExternalDataViewAccessDetails :: GetExternalDataViewAccessDetails -> TestTree+requestGetExternalDataViewAccessDetails =+ req+ "GetExternalDataViewAccessDetails"+ "fixture/GetExternalDataViewAccessDetails.yaml"++requestGetPermissionGroup :: GetPermissionGroup -> TestTree+requestGetPermissionGroup =+ req+ "GetPermissionGroup"+ "fixture/GetPermissionGroup.yaml"++requestGetProgrammaticAccessCredentials :: GetProgrammaticAccessCredentials -> TestTree+requestGetProgrammaticAccessCredentials =+ req+ "GetProgrammaticAccessCredentials"+ "fixture/GetProgrammaticAccessCredentials.yaml"++requestGetUser :: GetUser -> TestTree+requestGetUser =+ req+ "GetUser"+ "fixture/GetUser.yaml"++requestGetWorkingLocation :: GetWorkingLocation -> TestTree+requestGetWorkingLocation =+ req+ "GetWorkingLocation"+ "fixture/GetWorkingLocation.yaml"++requestListChangesets :: ListChangesets -> TestTree+requestListChangesets =+ req+ "ListChangesets"+ "fixture/ListChangesets.yaml"++requestListDataViews :: ListDataViews -> TestTree+requestListDataViews =+ req+ "ListDataViews"+ "fixture/ListDataViews.yaml"++requestListDatasets :: ListDatasets -> TestTree+requestListDatasets =+ req+ "ListDatasets"+ "fixture/ListDatasets.yaml"++requestListPermissionGroups :: ListPermissionGroups -> TestTree+requestListPermissionGroups =+ req+ "ListPermissionGroups"+ "fixture/ListPermissionGroups.yaml"++requestListPermissionGroupsByUser :: ListPermissionGroupsByUser -> TestTree+requestListPermissionGroupsByUser =+ req+ "ListPermissionGroupsByUser"+ "fixture/ListPermissionGroupsByUser.yaml"++requestListUsers :: ListUsers -> TestTree+requestListUsers =+ req+ "ListUsers"+ "fixture/ListUsers.yaml"++requestListUsersByPermissionGroup :: ListUsersByPermissionGroup -> TestTree+requestListUsersByPermissionGroup =+ req+ "ListUsersByPermissionGroup"+ "fixture/ListUsersByPermissionGroup.yaml"++requestResetUserPassword :: ResetUserPassword -> TestTree+requestResetUserPassword =+ req+ "ResetUserPassword"+ "fixture/ResetUserPassword.yaml"++requestUpdateChangeset :: UpdateChangeset -> TestTree+requestUpdateChangeset =+ req+ "UpdateChangeset"+ "fixture/UpdateChangeset.yaml"++requestUpdateDataset :: UpdateDataset -> TestTree+requestUpdateDataset =+ req+ "UpdateDataset"+ "fixture/UpdateDataset.yaml"++requestUpdatePermissionGroup :: UpdatePermissionGroup -> TestTree+requestUpdatePermissionGroup =+ req+ "UpdatePermissionGroup"+ "fixture/UpdatePermissionGroup.yaml"++requestUpdateUser :: UpdateUser -> TestTree+requestUpdateUser =+ req+ "UpdateUser"+ "fixture/UpdateUser.yaml"++-- Responses++responseAssociateUserToPermissionGroup :: AssociateUserToPermissionGroupResponse -> TestTree+responseAssociateUserToPermissionGroup =+ res+ "AssociateUserToPermissionGroupResponse"+ "fixture/AssociateUserToPermissionGroupResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy AssociateUserToPermissionGroup)++responseCreateChangeset :: CreateChangesetResponse -> TestTree+responseCreateChangeset =+ res+ "CreateChangesetResponse"+ "fixture/CreateChangesetResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateChangeset)++responseCreateDataView :: CreateDataViewResponse -> TestTree+responseCreateDataView =+ res+ "CreateDataViewResponse"+ "fixture/CreateDataViewResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateDataView)++responseCreateDataset :: CreateDatasetResponse -> TestTree+responseCreateDataset =+ res+ "CreateDatasetResponse"+ "fixture/CreateDatasetResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateDataset)++responseCreatePermissionGroup :: CreatePermissionGroupResponse -> TestTree+responseCreatePermissionGroup =+ res+ "CreatePermissionGroupResponse"+ "fixture/CreatePermissionGroupResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreatePermissionGroup)++responseCreateUser :: CreateUserResponse -> TestTree+responseCreateUser =+ res+ "CreateUserResponse"+ "fixture/CreateUserResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateUser)++responseDeleteDataset :: DeleteDatasetResponse -> TestTree+responseDeleteDataset =+ res+ "DeleteDatasetResponse"+ "fixture/DeleteDatasetResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteDataset)++responseDeletePermissionGroup :: DeletePermissionGroupResponse -> TestTree+responseDeletePermissionGroup =+ res+ "DeletePermissionGroupResponse"+ "fixture/DeletePermissionGroupResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeletePermissionGroup)++responseDisableUser :: DisableUserResponse -> TestTree+responseDisableUser =+ res+ "DisableUserResponse"+ "fixture/DisableUserResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DisableUser)++responseDisassociateUserFromPermissionGroup :: DisassociateUserFromPermissionGroupResponse -> TestTree+responseDisassociateUserFromPermissionGroup =+ res+ "DisassociateUserFromPermissionGroupResponse"+ "fixture/DisassociateUserFromPermissionGroupResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DisassociateUserFromPermissionGroup)++responseEnableUser :: EnableUserResponse -> TestTree+responseEnableUser =+ res+ "EnableUserResponse"+ "fixture/EnableUserResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy EnableUser)++responseGetChangeset :: GetChangesetResponse -> TestTree+responseGetChangeset =+ res+ "GetChangesetResponse"+ "fixture/GetChangesetResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetChangeset)++responseGetDataView :: GetDataViewResponse -> TestTree+responseGetDataView =+ res+ "GetDataViewResponse"+ "fixture/GetDataViewResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetDataView)++responseGetDataset :: GetDatasetResponse -> TestTree+responseGetDataset =+ res+ "GetDatasetResponse"+ "fixture/GetDatasetResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetDataset)++responseGetExternalDataViewAccessDetails :: GetExternalDataViewAccessDetailsResponse -> TestTree+responseGetExternalDataViewAccessDetails =+ res+ "GetExternalDataViewAccessDetailsResponse"+ "fixture/GetExternalDataViewAccessDetailsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetExternalDataViewAccessDetails)++responseGetPermissionGroup :: GetPermissionGroupResponse -> TestTree+responseGetPermissionGroup =+ res+ "GetPermissionGroupResponse"+ "fixture/GetPermissionGroupResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetPermissionGroup)++responseGetProgrammaticAccessCredentials :: GetProgrammaticAccessCredentialsResponse -> TestTree+responseGetProgrammaticAccessCredentials =+ res+ "GetProgrammaticAccessCredentialsResponse"+ "fixture/GetProgrammaticAccessCredentialsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetProgrammaticAccessCredentials)++responseGetUser :: GetUserResponse -> TestTree+responseGetUser =+ res+ "GetUserResponse"+ "fixture/GetUserResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetUser)++responseGetWorkingLocation :: GetWorkingLocationResponse -> TestTree+responseGetWorkingLocation =+ res+ "GetWorkingLocationResponse"+ "fixture/GetWorkingLocationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetWorkingLocation)++responseListChangesets :: ListChangesetsResponse -> TestTree+responseListChangesets =+ res+ "ListChangesetsResponse"+ "fixture/ListChangesetsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListChangesets)++responseListDataViews :: ListDataViewsResponse -> TestTree+responseListDataViews =+ res+ "ListDataViewsResponse"+ "fixture/ListDataViewsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListDataViews)++responseListDatasets :: ListDatasetsResponse -> TestTree+responseListDatasets =+ res+ "ListDatasetsResponse"+ "fixture/ListDatasetsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListDatasets)++responseListPermissionGroups :: ListPermissionGroupsResponse -> TestTree+responseListPermissionGroups =+ res+ "ListPermissionGroupsResponse"+ "fixture/ListPermissionGroupsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListPermissionGroups)++responseListPermissionGroupsByUser :: ListPermissionGroupsByUserResponse -> TestTree+responseListPermissionGroupsByUser =+ res+ "ListPermissionGroupsByUserResponse"+ "fixture/ListPermissionGroupsByUserResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListPermissionGroupsByUser)++responseListUsers :: ListUsersResponse -> TestTree+responseListUsers =+ res+ "ListUsersResponse"+ "fixture/ListUsersResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListUsers)++responseListUsersByPermissionGroup :: ListUsersByPermissionGroupResponse -> TestTree+responseListUsersByPermissionGroup =+ res+ "ListUsersByPermissionGroupResponse"+ "fixture/ListUsersByPermissionGroupResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListUsersByPermissionGroup)++responseResetUserPassword :: ResetUserPasswordResponse -> TestTree+responseResetUserPassword =+ res+ "ResetUserPasswordResponse"+ "fixture/ResetUserPasswordResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ResetUserPassword)++responseUpdateChangeset :: UpdateChangesetResponse -> TestTree+responseUpdateChangeset =+ res+ "UpdateChangesetResponse"+ "fixture/UpdateChangesetResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateChangeset)++responseUpdateDataset :: UpdateDatasetResponse -> TestTree+responseUpdateDataset =+ res+ "UpdateDatasetResponse"+ "fixture/UpdateDatasetResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateDataset)++responseUpdatePermissionGroup :: UpdatePermissionGroupResponse -> TestTree+responseUpdatePermissionGroup =+ res+ "UpdatePermissionGroupResponse"+ "fixture/UpdatePermissionGroupResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdatePermissionGroup)++responseUpdateUser :: UpdateUserResponse -> TestTree+responseUpdateUser =+ res+ "UpdateUserResponse"+ "fixture/UpdateUserResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateUser)