amazonka-datasync (empty) → 2.0
raw patch · 197 files changed
+21476/−0 lines, 197 filesdep +amazonka-coredep +amazonka-datasyncdep +amazonka-test
Dependencies added: amazonka-core, amazonka-datasync, amazonka-test, base, bytestring, case-insensitive, tasty, tasty-hunit, text, time, unordered-containers
Files
- LICENSE +367/−0
- README.md +44/−0
- amazonka-datasync.cabal +180/−0
- fixture/CancelTaskExecution.yaml +10/−0
- fixture/CancelTaskExecutionResponse.proto +0/−0
- fixture/CreateAgent.yaml +10/−0
- fixture/CreateAgentResponse.proto +0/−0
- fixture/CreateLocationEfs.yaml +10/−0
- fixture/CreateLocationEfsResponse.proto +0/−0
- fixture/CreateLocationFsxLustre.yaml +10/−0
- fixture/CreateLocationFsxLustreResponse.proto +0/−0
- fixture/CreateLocationFsxOntap.yaml +10/−0
- fixture/CreateLocationFsxOntapResponse.proto +0/−0
- fixture/CreateLocationFsxOpenZfs.yaml +10/−0
- fixture/CreateLocationFsxOpenZfsResponse.proto +0/−0
- fixture/CreateLocationFsxWindows.yaml +10/−0
- fixture/CreateLocationFsxWindowsResponse.proto +0/−0
- fixture/CreateLocationHdfs.yaml +10/−0
- fixture/CreateLocationHdfsResponse.proto +0/−0
- fixture/CreateLocationNfs.yaml +10/−0
- fixture/CreateLocationNfsResponse.proto +0/−0
- fixture/CreateLocationObjectStorage.yaml +10/−0
- fixture/CreateLocationObjectStorageResponse.proto +0/−0
- fixture/CreateLocationS3.yaml +10/−0
- fixture/CreateLocationS3Response.proto +0/−0
- fixture/CreateLocationSmb.yaml +10/−0
- fixture/CreateLocationSmbResponse.proto +0/−0
- fixture/CreateTask.yaml +10/−0
- fixture/CreateTaskResponse.proto +0/−0
- fixture/DeleteAgent.yaml +10/−0
- fixture/DeleteAgentResponse.proto +0/−0
- fixture/DeleteLocation.yaml +10/−0
- fixture/DeleteLocationResponse.proto +0/−0
- fixture/DeleteTask.yaml +10/−0
- fixture/DeleteTaskResponse.proto +0/−0
- fixture/DescribeAgent.yaml +10/−0
- fixture/DescribeAgentResponse.proto +0/−0
- fixture/DescribeLocationEfs.yaml +10/−0
- fixture/DescribeLocationEfsResponse.proto +0/−0
- fixture/DescribeLocationFsxLustre.yaml +10/−0
- fixture/DescribeLocationFsxLustreResponse.proto +0/−0
- fixture/DescribeLocationFsxOntap.yaml +10/−0
- fixture/DescribeLocationFsxOntapResponse.proto +0/−0
- fixture/DescribeLocationFsxOpenZfs.yaml +10/−0
- fixture/DescribeLocationFsxOpenZfsResponse.proto +0/−0
- fixture/DescribeLocationFsxWindows.yaml +10/−0
- fixture/DescribeLocationFsxWindowsResponse.proto +0/−0
- fixture/DescribeLocationHdfs.yaml +10/−0
- fixture/DescribeLocationHdfsResponse.proto +0/−0
- fixture/DescribeLocationNfs.yaml +10/−0
- fixture/DescribeLocationNfsResponse.proto +0/−0
- fixture/DescribeLocationObjectStorage.yaml +10/−0
- fixture/DescribeLocationObjectStorageResponse.proto +0/−0
- fixture/DescribeLocationS3.yaml +10/−0
- fixture/DescribeLocationS3Response.proto +0/−0
- fixture/DescribeLocationSmb.yaml +10/−0
- fixture/DescribeLocationSmbResponse.proto +0/−0
- fixture/DescribeTask.yaml +10/−0
- fixture/DescribeTaskExecution.yaml +10/−0
- fixture/DescribeTaskExecutionResponse.proto +0/−0
- fixture/DescribeTaskResponse.proto +0/−0
- fixture/ListAgents.yaml +10/−0
- fixture/ListAgentsResponse.proto +0/−0
- fixture/ListLocations.yaml +10/−0
- fixture/ListLocationsResponse.proto +0/−0
- fixture/ListTagsForResource.yaml +10/−0
- fixture/ListTagsForResourceResponse.proto +0/−0
- fixture/ListTaskExecutions.yaml +10/−0
- fixture/ListTaskExecutionsResponse.proto +0/−0
- fixture/ListTasks.yaml +10/−0
- fixture/ListTasksResponse.proto +0/−0
- fixture/StartTaskExecution.yaml +10/−0
- fixture/StartTaskExecutionResponse.proto +0/−0
- fixture/TagResource.yaml +10/−0
- fixture/TagResourceResponse.proto +0/−0
- fixture/UntagResource.yaml +10/−0
- fixture/UntagResourceResponse.proto +0/−0
- fixture/UpdateAgent.yaml +10/−0
- fixture/UpdateAgentResponse.proto +0/−0
- fixture/UpdateLocationHdfs.yaml +10/−0
- fixture/UpdateLocationHdfsResponse.proto +0/−0
- fixture/UpdateLocationNfs.yaml +10/−0
- fixture/UpdateLocationNfsResponse.proto +0/−0
- fixture/UpdateLocationObjectStorage.yaml +10/−0
- fixture/UpdateLocationObjectStorageResponse.proto +0/−0
- fixture/UpdateLocationSmb.yaml +10/−0
- fixture/UpdateLocationSmbResponse.proto +0/−0
- fixture/UpdateTask.yaml +10/−0
- fixture/UpdateTaskExecution.yaml +10/−0
- fixture/UpdateTaskExecutionResponse.proto +0/−0
- fixture/UpdateTaskResponse.proto +0/−0
- gen/Amazonka/DataSync.hs +566/−0
- gen/Amazonka/DataSync/CancelTaskExecution.hs +173/−0
- gen/Amazonka/DataSync/CreateAgent.hs +366/−0
- gen/Amazonka/DataSync/CreateLocationEfs.hs +321/−0
- gen/Amazonka/DataSync/CreateLocationFsxLustre.hs +244/−0
- gen/Amazonka/DataSync/CreateLocationFsxOntap.hs +306/−0
- gen/Amazonka/DataSync/CreateLocationFsxOpenZfs.hs +262/−0
- gen/Amazonka/DataSync/CreateLocationFsxWindows.hs +337/−0
- gen/Amazonka/DataSync/CreateLocationHdfs.hs +467/−0
- gen/Amazonka/DataSync/CreateLocationNfs.hs +364/−0
- gen/Amazonka/DataSync/CreateLocationObjectStorage.hs +372/−0
- gen/Amazonka/DataSync/CreateLocationS3.hs +306/−0
- gen/Amazonka/DataSync/CreateLocationSmb.hs +379/−0
- gen/Amazonka/DataSync/CreateTask.hs +348/−0
- gen/Amazonka/DataSync/DeleteAgent.hs +160/−0
- gen/Amazonka/DataSync/DeleteLocation.hs +153/−0
- gen/Amazonka/DataSync/DeleteTask.hs +153/−0
- gen/Amazonka/DataSync/DescribeAgent.hs +268/−0
- gen/Amazonka/DataSync/DescribeLocationEfs.hs +257/−0
- gen/Amazonka/DataSync/DescribeLocationFsxLustre.hs +221/−0
- gen/Amazonka/DataSync/DescribeLocationFsxOntap.hs +263/−0
- gen/Amazonka/DataSync/DescribeLocationFsxOpenZfs.hs +245/−0
- gen/Amazonka/DataSync/DescribeLocationFsxWindows.hs +251/−0
- gen/Amazonka/DataSync/DescribeLocationHdfs.hs +323/−0
- gen/Amazonka/DataSync/DescribeLocationNfs.hs +220/−0
- gen/Amazonka/DataSync/DescribeLocationObjectStorage.hs +293/−0
- gen/Amazonka/DataSync/DescribeLocationS3.hs +265/−0
- gen/Amazonka/DataSync/DescribeLocationSmb.hs +255/−0
- gen/Amazonka/DataSync/DescribeTask.hs +432/−0
- gen/Amazonka/DataSync/DescribeTaskExecution.hs +420/−0
- gen/Amazonka/DataSync/Lens.hs +622/−0
- gen/Amazonka/DataSync/ListAgents.hs +236/−0
- gen/Amazonka/DataSync/ListLocations.hs +254/−0
- gen/Amazonka/DataSync/ListTagsForResource.hs +248/−0
- gen/Amazonka/DataSync/ListTaskExecutions.hs +243/−0
- gen/Amazonka/DataSync/ListTasks.hs +247/−0
- gen/Amazonka/DataSync/StartTaskExecution.hs +266/−0
- gen/Amazonka/DataSync/TagResource.hs +175/−0
- gen/Amazonka/DataSync/Types.hs +413/−0
- gen/Amazonka/DataSync/Types/AgentListEntry.hs +100/−0
- gen/Amazonka/DataSync/Types/AgentStatus.hs +71/−0
- gen/Amazonka/DataSync/Types/Atime.hs +68/−0
- gen/Amazonka/DataSync/Types/Ec2Config.hs +142/−0
- gen/Amazonka/DataSync/Types/EfsInTransitEncryption.hs +71/−0
- gen/Amazonka/DataSync/Types/EndpointType.hs +76/−0
- gen/Amazonka/DataSync/Types/FilterRule.hs +104/−0
- gen/Amazonka/DataSync/Types/FilterType.hs +66/−0
- gen/Amazonka/DataSync/Types/FsxProtocol.hs +104/−0
- gen/Amazonka/DataSync/Types/FsxProtocolNfs.hs +77/−0
- gen/Amazonka/DataSync/Types/FsxProtocolSmb.hs +210/−0
- gen/Amazonka/DataSync/Types/Gid.hs +78/−0
- gen/Amazonka/DataSync/Types/HdfsAuthenticationType.hs +71/−0
- gen/Amazonka/DataSync/Types/HdfsDataTransferProtection.hs +81/−0
- gen/Amazonka/DataSync/Types/HdfsNameNode.hs +106/−0
- gen/Amazonka/DataSync/Types/HdfsRpcProtection.hs +81/−0
- gen/Amazonka/DataSync/Types/LocationFilter.hs +119/−0
- gen/Amazonka/DataSync/Types/LocationFilterName.hs +76/−0
- gen/Amazonka/DataSync/Types/LocationListEntry.hs +150/−0
- gen/Amazonka/DataSync/Types/LogLevel.hs +76/−0
- gen/Amazonka/DataSync/Types/Mtime.hs +68/−0
- gen/Amazonka/DataSync/Types/NfsMountOptions.hs +132/−0
- gen/Amazonka/DataSync/Types/NfsVersion.hs +81/−0
- gen/Amazonka/DataSync/Types/ObjectStorageServerProtocol.hs +71/−0
- gen/Amazonka/DataSync/Types/ObjectTags.hs +71/−0
- gen/Amazonka/DataSync/Types/OnPremConfig.hs +80/−0
- gen/Amazonka/DataSync/Types/Operator.hs +111/−0
- gen/Amazonka/DataSync/Types/Options.hs +857/−0
- gen/Amazonka/DataSync/Types/OverwriteMode.hs +71/−0
- gen/Amazonka/DataSync/Types/PhaseStatus.hs +76/−0
- gen/Amazonka/DataSync/Types/PosixPermissions.hs +71/−0
- gen/Amazonka/DataSync/Types/PreserveDeletedFiles.hs +71/−0
- gen/Amazonka/DataSync/Types/PreserveDevices.hs +71/−0
- gen/Amazonka/DataSync/Types/PrivateLinkConfig.hs +140/−0
- gen/Amazonka/DataSync/Types/QopConfiguration.hs +111/−0
- gen/Amazonka/DataSync/Types/S3Config.hs +86/−0
- gen/Amazonka/DataSync/Types/S3StorageClass.hs +101/−0
- gen/Amazonka/DataSync/Types/SmbMountOptions.hs +84/−0
- gen/Amazonka/DataSync/Types/SmbSecurityDescriptorCopyFlags.hs +76/−0
- gen/Amazonka/DataSync/Types/SmbVersion.hs +76/−0
- gen/Amazonka/DataSync/Types/TagListEntry.hs +92/−0
- gen/Amazonka/DataSync/Types/TaskExecutionListEntry.hs +89/−0
- gen/Amazonka/DataSync/Types/TaskExecutionResultDetail.hs +190/−0
- gen/Amazonka/DataSync/Types/TaskExecutionStatus.hs +96/−0
- gen/Amazonka/DataSync/Types/TaskFilter.hs +119/−0
- gen/Amazonka/DataSync/Types/TaskFilterName.hs +71/−0
- gen/Amazonka/DataSync/Types/TaskListEntry.hs +101/−0
- gen/Amazonka/DataSync/Types/TaskQueueing.hs +71/−0
- gen/Amazonka/DataSync/Types/TaskSchedule.hs +88/−0
- gen/Amazonka/DataSync/Types/TaskStatus.hs +86/−0
- gen/Amazonka/DataSync/Types/TransferMode.hs +71/−0
- gen/Amazonka/DataSync/Types/Uid.hs +78/−0
- gen/Amazonka/DataSync/Types/VerifyMode.hs +76/−0
- gen/Amazonka/DataSync/UntagResource.hs +176/−0
- gen/Amazonka/DataSync/UpdateAgent.hs +167/−0
- gen/Amazonka/DataSync/UpdateLocationHdfs.hs +386/−0
- gen/Amazonka/DataSync/UpdateLocationNfs.hs +279/−0
- gen/Amazonka/DataSync/UpdateLocationObjectStorage.hs +320/−0
- gen/Amazonka/DataSync/UpdateLocationSmb.hs +316/−0
- gen/Amazonka/DataSync/UpdateTask.hs +267/−0
- gen/Amazonka/DataSync/UpdateTaskExecution.hs +187/−0
- gen/Amazonka/DataSync/Waiters.hs +24/−0
- src/.gitkeep +0/−0
- test/Main.hs +23/−0
- test/Test/Amazonka/DataSync.hs +20/−0
- test/Test/Amazonka/DataSync/Internal.hs +8/−0
- test/Test/Amazonka/Gen/DataSync.hs +918/−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 DataSync SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version+ +`2.0` - Derived from API version @2018-11-09@ of the AWS service descriptions, licensed under Apache 2.0.++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-datasync)+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.DataSync](http://hackage.haskell.org/package/amazonka-datasync/docs/Amazonka-DataSync.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-datasync` 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-datasync.cabal view
@@ -0,0 +1,180 @@+cabal-version: 2.2+name: amazonka-datasync+version: 2.0+synopsis: Amazon DataSync 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 @2018-11-09@ 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.DataSync.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.DataSync" 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-datasync++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.DataSync+ Amazonka.DataSync.CancelTaskExecution+ Amazonka.DataSync.CreateAgent+ Amazonka.DataSync.CreateLocationEfs+ Amazonka.DataSync.CreateLocationFsxLustre+ Amazonka.DataSync.CreateLocationFsxOntap+ Amazonka.DataSync.CreateLocationFsxOpenZfs+ Amazonka.DataSync.CreateLocationFsxWindows+ Amazonka.DataSync.CreateLocationHdfs+ Amazonka.DataSync.CreateLocationNfs+ Amazonka.DataSync.CreateLocationObjectStorage+ Amazonka.DataSync.CreateLocationS3+ Amazonka.DataSync.CreateLocationSmb+ Amazonka.DataSync.CreateTask+ Amazonka.DataSync.DeleteAgent+ Amazonka.DataSync.DeleteLocation+ Amazonka.DataSync.DeleteTask+ Amazonka.DataSync.DescribeAgent+ Amazonka.DataSync.DescribeLocationEfs+ Amazonka.DataSync.DescribeLocationFsxLustre+ Amazonka.DataSync.DescribeLocationFsxOntap+ Amazonka.DataSync.DescribeLocationFsxOpenZfs+ Amazonka.DataSync.DescribeLocationFsxWindows+ Amazonka.DataSync.DescribeLocationHdfs+ Amazonka.DataSync.DescribeLocationNfs+ Amazonka.DataSync.DescribeLocationObjectStorage+ Amazonka.DataSync.DescribeLocationS3+ Amazonka.DataSync.DescribeLocationSmb+ Amazonka.DataSync.DescribeTask+ Amazonka.DataSync.DescribeTaskExecution+ Amazonka.DataSync.Lens+ Amazonka.DataSync.ListAgents+ Amazonka.DataSync.ListLocations+ Amazonka.DataSync.ListTagsForResource+ Amazonka.DataSync.ListTaskExecutions+ Amazonka.DataSync.ListTasks+ Amazonka.DataSync.StartTaskExecution+ Amazonka.DataSync.TagResource+ Amazonka.DataSync.Types+ Amazonka.DataSync.Types.AgentListEntry+ Amazonka.DataSync.Types.AgentStatus+ Amazonka.DataSync.Types.Atime+ Amazonka.DataSync.Types.Ec2Config+ Amazonka.DataSync.Types.EfsInTransitEncryption+ Amazonka.DataSync.Types.EndpointType+ Amazonka.DataSync.Types.FilterRule+ Amazonka.DataSync.Types.FilterType+ Amazonka.DataSync.Types.FsxProtocol+ Amazonka.DataSync.Types.FsxProtocolNfs+ Amazonka.DataSync.Types.FsxProtocolSmb+ Amazonka.DataSync.Types.Gid+ Amazonka.DataSync.Types.HdfsAuthenticationType+ Amazonka.DataSync.Types.HdfsDataTransferProtection+ Amazonka.DataSync.Types.HdfsNameNode+ Amazonka.DataSync.Types.HdfsRpcProtection+ Amazonka.DataSync.Types.LocationFilter+ Amazonka.DataSync.Types.LocationFilterName+ Amazonka.DataSync.Types.LocationListEntry+ Amazonka.DataSync.Types.LogLevel+ Amazonka.DataSync.Types.Mtime+ Amazonka.DataSync.Types.NfsMountOptions+ Amazonka.DataSync.Types.NfsVersion+ Amazonka.DataSync.Types.ObjectStorageServerProtocol+ Amazonka.DataSync.Types.ObjectTags+ Amazonka.DataSync.Types.OnPremConfig+ Amazonka.DataSync.Types.Operator+ Amazonka.DataSync.Types.Options+ Amazonka.DataSync.Types.OverwriteMode+ Amazonka.DataSync.Types.PhaseStatus+ Amazonka.DataSync.Types.PosixPermissions+ Amazonka.DataSync.Types.PreserveDeletedFiles+ Amazonka.DataSync.Types.PreserveDevices+ Amazonka.DataSync.Types.PrivateLinkConfig+ Amazonka.DataSync.Types.QopConfiguration+ Amazonka.DataSync.Types.S3Config+ Amazonka.DataSync.Types.S3StorageClass+ Amazonka.DataSync.Types.SmbMountOptions+ Amazonka.DataSync.Types.SmbSecurityDescriptorCopyFlags+ Amazonka.DataSync.Types.SmbVersion+ Amazonka.DataSync.Types.TagListEntry+ Amazonka.DataSync.Types.TaskExecutionListEntry+ Amazonka.DataSync.Types.TaskExecutionResultDetail+ Amazonka.DataSync.Types.TaskExecutionStatus+ Amazonka.DataSync.Types.TaskFilter+ Amazonka.DataSync.Types.TaskFilterName+ Amazonka.DataSync.Types.TaskListEntry+ Amazonka.DataSync.Types.TaskQueueing+ Amazonka.DataSync.Types.TaskSchedule+ Amazonka.DataSync.Types.TaskStatus+ Amazonka.DataSync.Types.TransferMode+ Amazonka.DataSync.Types.Uid+ Amazonka.DataSync.Types.VerifyMode+ Amazonka.DataSync.UntagResource+ Amazonka.DataSync.UpdateAgent+ Amazonka.DataSync.UpdateLocationHdfs+ Amazonka.DataSync.UpdateLocationNfs+ Amazonka.DataSync.UpdateLocationObjectStorage+ Amazonka.DataSync.UpdateLocationSmb+ Amazonka.DataSync.UpdateTask+ Amazonka.DataSync.UpdateTaskExecution+ Amazonka.DataSync.Waiters++ build-depends:+ , amazonka-core >=2.0 && <2.1+ , base >=4.12 && <5++test-suite amazonka-datasync-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.DataSync+ Test.Amazonka.DataSync.Internal+ Test.Amazonka.Gen.DataSync++ build-depends:+ , amazonka-core >=2.0 && <2.1+ , amazonka-datasync+ , amazonka-test >=2.0 && <2.1+ , base+ , bytestring+ , case-insensitive+ , tasty+ , tasty-hunit+ , text+ , time+ , unordered-containers
+ fixture/CancelTaskExecution.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/datasync/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: datasync.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/CancelTaskExecutionResponse.proto view
+ fixture/CreateAgent.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/datasync/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: datasync.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/CreateAgentResponse.proto view
+ fixture/CreateLocationEfs.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/datasync/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: datasync.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/CreateLocationEfsResponse.proto view
+ fixture/CreateLocationFsxLustre.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/datasync/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: datasync.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/CreateLocationFsxLustreResponse.proto view
+ fixture/CreateLocationFsxOntap.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/datasync/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: datasync.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/CreateLocationFsxOntapResponse.proto view
+ fixture/CreateLocationFsxOpenZfs.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/datasync/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: datasync.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/CreateLocationFsxOpenZfsResponse.proto view
+ fixture/CreateLocationFsxWindows.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/datasync/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: datasync.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/CreateLocationFsxWindowsResponse.proto view
+ fixture/CreateLocationHdfs.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/datasync/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: datasync.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/CreateLocationHdfsResponse.proto view
+ fixture/CreateLocationNfs.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/datasync/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: datasync.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/CreateLocationNfsResponse.proto view
+ fixture/CreateLocationObjectStorage.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/datasync/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: datasync.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/CreateLocationObjectStorageResponse.proto view
+ fixture/CreateLocationS3.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/datasync/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: datasync.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/CreateLocationS3Response.proto view
+ fixture/CreateLocationSmb.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/datasync/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: datasync.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/CreateLocationSmbResponse.proto view
+ fixture/CreateTask.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/datasync/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: datasync.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/CreateTaskResponse.proto view
+ fixture/DeleteAgent.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/datasync/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: datasync.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/DeleteAgentResponse.proto view
+ fixture/DeleteLocation.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/datasync/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: datasync.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/DeleteLocationResponse.proto view
+ fixture/DeleteTask.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/datasync/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: datasync.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/DeleteTaskResponse.proto view
+ fixture/DescribeAgent.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/datasync/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: datasync.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/DescribeAgentResponse.proto view
+ fixture/DescribeLocationEfs.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/datasync/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: datasync.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/DescribeLocationEfsResponse.proto view
+ fixture/DescribeLocationFsxLustre.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/datasync/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: datasync.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/DescribeLocationFsxLustreResponse.proto view
+ fixture/DescribeLocationFsxOntap.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/datasync/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: datasync.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/DescribeLocationFsxOntapResponse.proto view
+ fixture/DescribeLocationFsxOpenZfs.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/datasync/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: datasync.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/DescribeLocationFsxOpenZfsResponse.proto view
+ fixture/DescribeLocationFsxWindows.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/datasync/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: datasync.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/DescribeLocationFsxWindowsResponse.proto view
+ fixture/DescribeLocationHdfs.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/datasync/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: datasync.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/DescribeLocationHdfsResponse.proto view
+ fixture/DescribeLocationNfs.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/datasync/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: datasync.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/DescribeLocationNfsResponse.proto view
+ fixture/DescribeLocationObjectStorage.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/datasync/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: datasync.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/DescribeLocationObjectStorageResponse.proto view
+ fixture/DescribeLocationS3.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/datasync/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: datasync.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/DescribeLocationS3Response.proto view
+ fixture/DescribeLocationSmb.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/datasync/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: datasync.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/DescribeLocationSmbResponse.proto view
+ fixture/DescribeTask.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/datasync/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: datasync.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/DescribeTaskExecution.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/datasync/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: datasync.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/DescribeTaskExecutionResponse.proto view
+ fixture/DescribeTaskResponse.proto view
+ fixture/ListAgents.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/datasync/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: datasync.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/ListAgentsResponse.proto view
+ fixture/ListLocations.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/datasync/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: datasync.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/ListLocationsResponse.proto view
+ fixture/ListTagsForResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/datasync/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: datasync.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListTagsForResourceResponse.proto view
+ fixture/ListTaskExecutions.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/datasync/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: datasync.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/ListTaskExecutionsResponse.proto view
+ fixture/ListTasks.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/datasync/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: datasync.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/ListTasksResponse.proto view
+ fixture/StartTaskExecution.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/datasync/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: datasync.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/StartTaskExecutionResponse.proto view
+ fixture/TagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/datasync/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: datasync.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/TagResourceResponse.proto view
+ fixture/UntagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/datasync/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: datasync.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UntagResourceResponse.proto view
+ fixture/UpdateAgent.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/datasync/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: datasync.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/UpdateAgentResponse.proto view
+ fixture/UpdateLocationHdfs.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/datasync/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: datasync.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/UpdateLocationHdfsResponse.proto view
+ fixture/UpdateLocationNfs.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/datasync/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: datasync.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/UpdateLocationNfsResponse.proto view
+ fixture/UpdateLocationObjectStorage.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/datasync/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: datasync.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/UpdateLocationObjectStorageResponse.proto view
+ fixture/UpdateLocationSmb.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/datasync/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: datasync.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/UpdateLocationSmbResponse.proto view
+ fixture/UpdateTask.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/datasync/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: datasync.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/UpdateTaskExecution.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/datasync/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: datasync.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/UpdateTaskExecutionResponse.proto view
+ fixture/UpdateTaskResponse.proto view
+ gen/Amazonka/DataSync.hs view
@@ -0,0 +1,566 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Amazonka.DataSync+-- 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 @2018-11-09@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- DataSync+--+-- DataSync is a managed data transfer service that makes it simpler for+-- you to automate moving data between on-premises storage and Amazon Web+-- Services storage services. You also can use DataSync to transfer data+-- between other cloud providers and Amazon Web Services storage services.+--+-- This API interface reference includes documentation for using DataSync+-- programmatically. For complete information, see the+-- /<https://docs.aws.amazon.com/datasync/latest/userguide/what-is-datasync.html DataSync User Guide>/+-- .+module Amazonka.DataSync+ ( -- * Service Configuration+ defaultService,++ -- * Errors+ -- $errors++ -- ** InternalException+ _InternalException,++ -- ** InvalidRequestException+ _InvalidRequestException,++ -- * Waiters+ -- $waiters++ -- * Operations+ -- $operations++ -- ** CancelTaskExecution+ CancelTaskExecution (CancelTaskExecution'),+ newCancelTaskExecution,+ CancelTaskExecutionResponse (CancelTaskExecutionResponse'),+ newCancelTaskExecutionResponse,++ -- ** CreateAgent+ CreateAgent (CreateAgent'),+ newCreateAgent,+ CreateAgentResponse (CreateAgentResponse'),+ newCreateAgentResponse,++ -- ** CreateLocationEfs+ CreateLocationEfs (CreateLocationEfs'),+ newCreateLocationEfs,+ CreateLocationEfsResponse (CreateLocationEfsResponse'),+ newCreateLocationEfsResponse,++ -- ** CreateLocationFsxLustre+ CreateLocationFsxLustre (CreateLocationFsxLustre'),+ newCreateLocationFsxLustre,+ CreateLocationFsxLustreResponse (CreateLocationFsxLustreResponse'),+ newCreateLocationFsxLustreResponse,++ -- ** CreateLocationFsxOntap+ CreateLocationFsxOntap (CreateLocationFsxOntap'),+ newCreateLocationFsxOntap,+ CreateLocationFsxOntapResponse (CreateLocationFsxOntapResponse'),+ newCreateLocationFsxOntapResponse,++ -- ** CreateLocationFsxOpenZfs+ CreateLocationFsxOpenZfs (CreateLocationFsxOpenZfs'),+ newCreateLocationFsxOpenZfs,+ CreateLocationFsxOpenZfsResponse (CreateLocationFsxOpenZfsResponse'),+ newCreateLocationFsxOpenZfsResponse,++ -- ** CreateLocationFsxWindows+ CreateLocationFsxWindows (CreateLocationFsxWindows'),+ newCreateLocationFsxWindows,+ CreateLocationFsxWindowsResponse (CreateLocationFsxWindowsResponse'),+ newCreateLocationFsxWindowsResponse,++ -- ** CreateLocationHdfs+ CreateLocationHdfs (CreateLocationHdfs'),+ newCreateLocationHdfs,+ CreateLocationHdfsResponse (CreateLocationHdfsResponse'),+ newCreateLocationHdfsResponse,++ -- ** CreateLocationNfs+ CreateLocationNfs (CreateLocationNfs'),+ newCreateLocationNfs,+ CreateLocationNfsResponse (CreateLocationNfsResponse'),+ newCreateLocationNfsResponse,++ -- ** CreateLocationObjectStorage+ CreateLocationObjectStorage (CreateLocationObjectStorage'),+ newCreateLocationObjectStorage,+ CreateLocationObjectStorageResponse (CreateLocationObjectStorageResponse'),+ newCreateLocationObjectStorageResponse,++ -- ** CreateLocationS3+ CreateLocationS3 (CreateLocationS3'),+ newCreateLocationS3,+ CreateLocationS3Response (CreateLocationS3Response'),+ newCreateLocationS3Response,++ -- ** CreateLocationSmb+ CreateLocationSmb (CreateLocationSmb'),+ newCreateLocationSmb,+ CreateLocationSmbResponse (CreateLocationSmbResponse'),+ newCreateLocationSmbResponse,++ -- ** CreateTask+ CreateTask (CreateTask'),+ newCreateTask,+ CreateTaskResponse (CreateTaskResponse'),+ newCreateTaskResponse,++ -- ** DeleteAgent+ DeleteAgent (DeleteAgent'),+ newDeleteAgent,+ DeleteAgentResponse (DeleteAgentResponse'),+ newDeleteAgentResponse,++ -- ** DeleteLocation+ DeleteLocation (DeleteLocation'),+ newDeleteLocation,+ DeleteLocationResponse (DeleteLocationResponse'),+ newDeleteLocationResponse,++ -- ** DeleteTask+ DeleteTask (DeleteTask'),+ newDeleteTask,+ DeleteTaskResponse (DeleteTaskResponse'),+ newDeleteTaskResponse,++ -- ** DescribeAgent+ DescribeAgent (DescribeAgent'),+ newDescribeAgent,+ DescribeAgentResponse (DescribeAgentResponse'),+ newDescribeAgentResponse,++ -- ** DescribeLocationEfs+ DescribeLocationEfs (DescribeLocationEfs'),+ newDescribeLocationEfs,+ DescribeLocationEfsResponse (DescribeLocationEfsResponse'),+ newDescribeLocationEfsResponse,++ -- ** DescribeLocationFsxLustre+ DescribeLocationFsxLustre (DescribeLocationFsxLustre'),+ newDescribeLocationFsxLustre,+ DescribeLocationFsxLustreResponse (DescribeLocationFsxLustreResponse'),+ newDescribeLocationFsxLustreResponse,++ -- ** DescribeLocationFsxOntap+ DescribeLocationFsxOntap (DescribeLocationFsxOntap'),+ newDescribeLocationFsxOntap,+ DescribeLocationFsxOntapResponse (DescribeLocationFsxOntapResponse'),+ newDescribeLocationFsxOntapResponse,++ -- ** DescribeLocationFsxOpenZfs+ DescribeLocationFsxOpenZfs (DescribeLocationFsxOpenZfs'),+ newDescribeLocationFsxOpenZfs,+ DescribeLocationFsxOpenZfsResponse (DescribeLocationFsxOpenZfsResponse'),+ newDescribeLocationFsxOpenZfsResponse,++ -- ** DescribeLocationFsxWindows+ DescribeLocationFsxWindows (DescribeLocationFsxWindows'),+ newDescribeLocationFsxWindows,+ DescribeLocationFsxWindowsResponse (DescribeLocationFsxWindowsResponse'),+ newDescribeLocationFsxWindowsResponse,++ -- ** DescribeLocationHdfs+ DescribeLocationHdfs (DescribeLocationHdfs'),+ newDescribeLocationHdfs,+ DescribeLocationHdfsResponse (DescribeLocationHdfsResponse'),+ newDescribeLocationHdfsResponse,++ -- ** DescribeLocationNfs+ DescribeLocationNfs (DescribeLocationNfs'),+ newDescribeLocationNfs,+ DescribeLocationNfsResponse (DescribeLocationNfsResponse'),+ newDescribeLocationNfsResponse,++ -- ** DescribeLocationObjectStorage+ DescribeLocationObjectStorage (DescribeLocationObjectStorage'),+ newDescribeLocationObjectStorage,+ DescribeLocationObjectStorageResponse (DescribeLocationObjectStorageResponse'),+ newDescribeLocationObjectStorageResponse,++ -- ** DescribeLocationS3+ DescribeLocationS3 (DescribeLocationS3'),+ newDescribeLocationS3,+ DescribeLocationS3Response (DescribeLocationS3Response'),+ newDescribeLocationS3Response,++ -- ** DescribeLocationSmb+ DescribeLocationSmb (DescribeLocationSmb'),+ newDescribeLocationSmb,+ DescribeLocationSmbResponse (DescribeLocationSmbResponse'),+ newDescribeLocationSmbResponse,++ -- ** DescribeTask+ DescribeTask (DescribeTask'),+ newDescribeTask,+ DescribeTaskResponse (DescribeTaskResponse'),+ newDescribeTaskResponse,++ -- ** DescribeTaskExecution+ DescribeTaskExecution (DescribeTaskExecution'),+ newDescribeTaskExecution,+ DescribeTaskExecutionResponse (DescribeTaskExecutionResponse'),+ newDescribeTaskExecutionResponse,++ -- ** ListAgents (Paginated)+ ListAgents (ListAgents'),+ newListAgents,+ ListAgentsResponse (ListAgentsResponse'),+ newListAgentsResponse,++ -- ** ListLocations (Paginated)+ ListLocations (ListLocations'),+ newListLocations,+ ListLocationsResponse (ListLocationsResponse'),+ newListLocationsResponse,++ -- ** ListTagsForResource (Paginated)+ ListTagsForResource (ListTagsForResource'),+ newListTagsForResource,+ ListTagsForResourceResponse (ListTagsForResourceResponse'),+ newListTagsForResourceResponse,++ -- ** ListTaskExecutions (Paginated)+ ListTaskExecutions (ListTaskExecutions'),+ newListTaskExecutions,+ ListTaskExecutionsResponse (ListTaskExecutionsResponse'),+ newListTaskExecutionsResponse,++ -- ** ListTasks (Paginated)+ ListTasks (ListTasks'),+ newListTasks,+ ListTasksResponse (ListTasksResponse'),+ newListTasksResponse,++ -- ** StartTaskExecution+ StartTaskExecution (StartTaskExecution'),+ newStartTaskExecution,+ StartTaskExecutionResponse (StartTaskExecutionResponse'),+ newStartTaskExecutionResponse,++ -- ** TagResource+ TagResource (TagResource'),+ newTagResource,+ TagResourceResponse (TagResourceResponse'),+ newTagResourceResponse,++ -- ** UntagResource+ UntagResource (UntagResource'),+ newUntagResource,+ UntagResourceResponse (UntagResourceResponse'),+ newUntagResourceResponse,++ -- ** UpdateAgent+ UpdateAgent (UpdateAgent'),+ newUpdateAgent,+ UpdateAgentResponse (UpdateAgentResponse'),+ newUpdateAgentResponse,++ -- ** UpdateLocationHdfs+ UpdateLocationHdfs (UpdateLocationHdfs'),+ newUpdateLocationHdfs,+ UpdateLocationHdfsResponse (UpdateLocationHdfsResponse'),+ newUpdateLocationHdfsResponse,++ -- ** UpdateLocationNfs+ UpdateLocationNfs (UpdateLocationNfs'),+ newUpdateLocationNfs,+ UpdateLocationNfsResponse (UpdateLocationNfsResponse'),+ newUpdateLocationNfsResponse,++ -- ** UpdateLocationObjectStorage+ UpdateLocationObjectStorage (UpdateLocationObjectStorage'),+ newUpdateLocationObjectStorage,+ UpdateLocationObjectStorageResponse (UpdateLocationObjectStorageResponse'),+ newUpdateLocationObjectStorageResponse,++ -- ** UpdateLocationSmb+ UpdateLocationSmb (UpdateLocationSmb'),+ newUpdateLocationSmb,+ UpdateLocationSmbResponse (UpdateLocationSmbResponse'),+ newUpdateLocationSmbResponse,++ -- ** UpdateTask+ UpdateTask (UpdateTask'),+ newUpdateTask,+ UpdateTaskResponse (UpdateTaskResponse'),+ newUpdateTaskResponse,++ -- ** UpdateTaskExecution+ UpdateTaskExecution (UpdateTaskExecution'),+ newUpdateTaskExecution,+ UpdateTaskExecutionResponse (UpdateTaskExecutionResponse'),+ newUpdateTaskExecutionResponse,++ -- * Types++ -- ** AgentStatus+ AgentStatus (..),++ -- ** Atime+ Atime (..),++ -- ** EfsInTransitEncryption+ EfsInTransitEncryption (..),++ -- ** EndpointType+ EndpointType (..),++ -- ** FilterType+ FilterType (..),++ -- ** Gid+ Gid (..),++ -- ** HdfsAuthenticationType+ HdfsAuthenticationType (..),++ -- ** HdfsDataTransferProtection+ HdfsDataTransferProtection (..),++ -- ** HdfsRpcProtection+ HdfsRpcProtection (..),++ -- ** LocationFilterName+ LocationFilterName (..),++ -- ** LogLevel+ LogLevel (..),++ -- ** Mtime+ Mtime (..),++ -- ** NfsVersion+ NfsVersion (..),++ -- ** ObjectStorageServerProtocol+ ObjectStorageServerProtocol (..),++ -- ** ObjectTags+ ObjectTags (..),++ -- ** Operator+ Operator (..),++ -- ** OverwriteMode+ OverwriteMode (..),++ -- ** PhaseStatus+ PhaseStatus (..),++ -- ** PosixPermissions+ PosixPermissions (..),++ -- ** PreserveDeletedFiles+ PreserveDeletedFiles (..),++ -- ** PreserveDevices+ PreserveDevices (..),++ -- ** S3StorageClass+ S3StorageClass (..),++ -- ** SmbSecurityDescriptorCopyFlags+ SmbSecurityDescriptorCopyFlags (..),++ -- ** SmbVersion+ SmbVersion (..),++ -- ** TaskExecutionStatus+ TaskExecutionStatus (..),++ -- ** TaskFilterName+ TaskFilterName (..),++ -- ** TaskQueueing+ TaskQueueing (..),++ -- ** TaskStatus+ TaskStatus (..),++ -- ** TransferMode+ TransferMode (..),++ -- ** Uid+ Uid (..),++ -- ** VerifyMode+ VerifyMode (..),++ -- ** AgentListEntry+ AgentListEntry (AgentListEntry'),+ newAgentListEntry,++ -- ** Ec2Config+ Ec2Config (Ec2Config'),+ newEc2Config,++ -- ** FilterRule+ FilterRule (FilterRule'),+ newFilterRule,++ -- ** FsxProtocol+ FsxProtocol (FsxProtocol'),+ newFsxProtocol,++ -- ** FsxProtocolNfs+ FsxProtocolNfs (FsxProtocolNfs'),+ newFsxProtocolNfs,++ -- ** FsxProtocolSmb+ FsxProtocolSmb (FsxProtocolSmb'),+ newFsxProtocolSmb,++ -- ** HdfsNameNode+ HdfsNameNode (HdfsNameNode'),+ newHdfsNameNode,++ -- ** LocationFilter+ LocationFilter (LocationFilter'),+ newLocationFilter,++ -- ** LocationListEntry+ LocationListEntry (LocationListEntry'),+ newLocationListEntry,++ -- ** NfsMountOptions+ NfsMountOptions (NfsMountOptions'),+ newNfsMountOptions,++ -- ** OnPremConfig+ OnPremConfig (OnPremConfig'),+ newOnPremConfig,++ -- ** Options+ Options (Options'),+ newOptions,++ -- ** PrivateLinkConfig+ PrivateLinkConfig (PrivateLinkConfig'),+ newPrivateLinkConfig,++ -- ** QopConfiguration+ QopConfiguration (QopConfiguration'),+ newQopConfiguration,++ -- ** S3Config+ S3Config (S3Config'),+ newS3Config,++ -- ** SmbMountOptions+ SmbMountOptions (SmbMountOptions'),+ newSmbMountOptions,++ -- ** TagListEntry+ TagListEntry (TagListEntry'),+ newTagListEntry,++ -- ** TaskExecutionListEntry+ TaskExecutionListEntry (TaskExecutionListEntry'),+ newTaskExecutionListEntry,++ -- ** TaskExecutionResultDetail+ TaskExecutionResultDetail (TaskExecutionResultDetail'),+ newTaskExecutionResultDetail,++ -- ** TaskFilter+ TaskFilter (TaskFilter'),+ newTaskFilter,++ -- ** TaskListEntry+ TaskListEntry (TaskListEntry'),+ newTaskListEntry,++ -- ** TaskSchedule+ TaskSchedule (TaskSchedule'),+ newTaskSchedule,+ )+where++import Amazonka.DataSync.CancelTaskExecution+import Amazonka.DataSync.CreateAgent+import Amazonka.DataSync.CreateLocationEfs+import Amazonka.DataSync.CreateLocationFsxLustre+import Amazonka.DataSync.CreateLocationFsxOntap+import Amazonka.DataSync.CreateLocationFsxOpenZfs+import Amazonka.DataSync.CreateLocationFsxWindows+import Amazonka.DataSync.CreateLocationHdfs+import Amazonka.DataSync.CreateLocationNfs+import Amazonka.DataSync.CreateLocationObjectStorage+import Amazonka.DataSync.CreateLocationS3+import Amazonka.DataSync.CreateLocationSmb+import Amazonka.DataSync.CreateTask+import Amazonka.DataSync.DeleteAgent+import Amazonka.DataSync.DeleteLocation+import Amazonka.DataSync.DeleteTask+import Amazonka.DataSync.DescribeAgent+import Amazonka.DataSync.DescribeLocationEfs+import Amazonka.DataSync.DescribeLocationFsxLustre+import Amazonka.DataSync.DescribeLocationFsxOntap+import Amazonka.DataSync.DescribeLocationFsxOpenZfs+import Amazonka.DataSync.DescribeLocationFsxWindows+import Amazonka.DataSync.DescribeLocationHdfs+import Amazonka.DataSync.DescribeLocationNfs+import Amazonka.DataSync.DescribeLocationObjectStorage+import Amazonka.DataSync.DescribeLocationS3+import Amazonka.DataSync.DescribeLocationSmb+import Amazonka.DataSync.DescribeTask+import Amazonka.DataSync.DescribeTaskExecution+import Amazonka.DataSync.Lens+import Amazonka.DataSync.ListAgents+import Amazonka.DataSync.ListLocations+import Amazonka.DataSync.ListTagsForResource+import Amazonka.DataSync.ListTaskExecutions+import Amazonka.DataSync.ListTasks+import Amazonka.DataSync.StartTaskExecution+import Amazonka.DataSync.TagResource+import Amazonka.DataSync.Types+import Amazonka.DataSync.UntagResource+import Amazonka.DataSync.UpdateAgent+import Amazonka.DataSync.UpdateLocationHdfs+import Amazonka.DataSync.UpdateLocationNfs+import Amazonka.DataSync.UpdateLocationObjectStorage+import Amazonka.DataSync.UpdateLocationSmb+import Amazonka.DataSync.UpdateTask+import Amazonka.DataSync.UpdateTaskExecution+import Amazonka.DataSync.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 'DataSync'.++-- $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/DataSync/CancelTaskExecution.hs view
@@ -0,0 +1,173 @@+{-# 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.DataSync.CancelTaskExecution+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Stops an DataSync task execution that\'s in progress. The transfer of+-- some files are abruptly interrupted. File contents that\'re transferred+-- to the destination might be incomplete or inconsistent with the source+-- files.+--+-- However, if you start a new task execution using the same task and allow+-- it to finish, file content on the destination will be complete and+-- consistent. This applies to other unexpected failures that interrupt a+-- task execution. In all of these cases, DataSync successfully completes+-- the transfer when you start the next task execution.+module Amazonka.DataSync.CancelTaskExecution+ ( -- * Creating a Request+ CancelTaskExecution (..),+ newCancelTaskExecution,++ -- * Request Lenses+ cancelTaskExecution_taskExecutionArn,++ -- * Destructuring the Response+ CancelTaskExecutionResponse (..),+ newCancelTaskExecutionResponse,++ -- * Response Lenses+ cancelTaskExecutionResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DataSync.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | CancelTaskExecutionRequest+--+-- /See:/ 'newCancelTaskExecution' smart constructor.+data CancelTaskExecution = CancelTaskExecution'+ { -- | The Amazon Resource Name (ARN) of the task execution to stop.+ taskExecutionArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CancelTaskExecution' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'taskExecutionArn', 'cancelTaskExecution_taskExecutionArn' - The Amazon Resource Name (ARN) of the task execution to stop.+newCancelTaskExecution ::+ -- | 'taskExecutionArn'+ Prelude.Text ->+ CancelTaskExecution+newCancelTaskExecution pTaskExecutionArn_ =+ CancelTaskExecution'+ { taskExecutionArn =+ pTaskExecutionArn_+ }++-- | The Amazon Resource Name (ARN) of the task execution to stop.+cancelTaskExecution_taskExecutionArn :: Lens.Lens' CancelTaskExecution Prelude.Text+cancelTaskExecution_taskExecutionArn = Lens.lens (\CancelTaskExecution' {taskExecutionArn} -> taskExecutionArn) (\s@CancelTaskExecution' {} a -> s {taskExecutionArn = a} :: CancelTaskExecution)++instance Core.AWSRequest CancelTaskExecution where+ type+ AWSResponse CancelTaskExecution =+ CancelTaskExecutionResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ CancelTaskExecutionResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CancelTaskExecution where+ hashWithSalt _salt CancelTaskExecution' {..} =+ _salt `Prelude.hashWithSalt` taskExecutionArn++instance Prelude.NFData CancelTaskExecution where+ rnf CancelTaskExecution' {..} =+ Prelude.rnf taskExecutionArn++instance Data.ToHeaders CancelTaskExecution where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "FmrsService.CancelTaskExecution" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CancelTaskExecution where+ toJSON CancelTaskExecution' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("TaskExecutionArn" Data..= taskExecutionArn)+ ]+ )++instance Data.ToPath CancelTaskExecution where+ toPath = Prelude.const "/"++instance Data.ToQuery CancelTaskExecution where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCancelTaskExecutionResponse' smart constructor.+data CancelTaskExecutionResponse = CancelTaskExecutionResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CancelTaskExecutionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'cancelTaskExecutionResponse_httpStatus' - The response's http status code.+newCancelTaskExecutionResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CancelTaskExecutionResponse+newCancelTaskExecutionResponse pHttpStatus_ =+ CancelTaskExecutionResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+cancelTaskExecutionResponse_httpStatus :: Lens.Lens' CancelTaskExecutionResponse Prelude.Int+cancelTaskExecutionResponse_httpStatus = Lens.lens (\CancelTaskExecutionResponse' {httpStatus} -> httpStatus) (\s@CancelTaskExecutionResponse' {} a -> s {httpStatus = a} :: CancelTaskExecutionResponse)++instance Prelude.NFData CancelTaskExecutionResponse where+ rnf CancelTaskExecutionResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/DataSync/CreateAgent.hs view
@@ -0,0 +1,366 @@+{-# 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.DataSync.CreateAgent+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Activates an DataSync agent that you have deployed in your storage+-- environment. The activation process associates your agent with your+-- account. In the activation process, you specify information such as the+-- Amazon Web Services Region that you want to activate the agent in. You+-- activate the agent in the Amazon Web Services Region where your target+-- locations (in Amazon S3 or Amazon EFS) reside. Your tasks are created in+-- this Amazon Web Services Region.+--+-- You can activate the agent in a VPC (virtual private cloud) or provide+-- the agent access to a VPC endpoint so you can run tasks without going+-- over the public internet.+--+-- You can use an agent for more than one location. If a task uses multiple+-- agents, all of them need to have status AVAILABLE for the task to run.+-- If you use multiple agents for a source location, the status of all the+-- agents must be AVAILABLE for the task to run.+--+-- Agents are automatically updated by Amazon Web Services on a regular+-- basis, using a mechanism that ensures minimal interruption to your+-- tasks.+module Amazonka.DataSync.CreateAgent+ ( -- * Creating a Request+ CreateAgent (..),+ newCreateAgent,++ -- * Request Lenses+ createAgent_agentName,+ createAgent_securityGroupArns,+ createAgent_subnetArns,+ createAgent_tags,+ createAgent_vpcEndpointId,+ createAgent_activationKey,++ -- * Destructuring the Response+ CreateAgentResponse (..),+ newCreateAgentResponse,++ -- * Response Lenses+ createAgentResponse_agentArn,+ createAgentResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DataSync.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | CreateAgentRequest+--+-- /See:/ 'newCreateAgent' smart constructor.+data CreateAgent = CreateAgent'+ { -- | The name you configured for your agent. This value is a text reference+ -- that is used to identify the agent in the console.+ agentName :: Prelude.Maybe Prelude.Text,+ -- | The ARNs of the security groups used to protect your data transfer task+ -- subnets. See+ -- <https://docs.aws.amazon.com/datasync/latest/userguide/API_Ec2Config.html#DataSync-Type-Ec2Config-SecurityGroupArns SecurityGroupArns>.+ securityGroupArns :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+ -- | The Amazon Resource Names (ARNs) of the subnets in which DataSync will+ -- create elastic network interfaces for each data transfer task. The agent+ -- that runs a task must be private. When you start a task that is+ -- associated with an agent created in a VPC, or one that has access to an+ -- IP address in a VPC, then the task is also private. In this case,+ -- DataSync creates four network interfaces for each task in your subnet.+ -- For a data transfer to work, the agent must be able to route to all+ -- these four network interfaces.+ subnetArns :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+ -- | The key-value pair that represents the tag that you want to associate+ -- with the agent. The value can be an empty string. This value helps you+ -- manage, filter, and search for your agents.+ --+ -- Valid characters for key and value are letters, spaces, and numbers+ -- representable in UTF-8 format, and the following special characters: + -+ -- = . _ : \/ \@.+ tags :: Prelude.Maybe [TagListEntry],+ -- | The ID of the VPC (virtual private cloud) endpoint that the agent has+ -- access to. This is the client-side VPC endpoint, also called a+ -- PrivateLink. If you don\'t have a PrivateLink VPC endpoint, see+ -- <https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-service.html#create-endpoint-service Creating a VPC Endpoint Service Configuration>+ -- in the Amazon VPC User Guide.+ --+ -- VPC endpoint ID looks like this: @vpce-01234d5aff67890e1@.+ vpcEndpointId :: Prelude.Maybe Prelude.Text,+ -- | Your agent activation key. You can get the activation key either by+ -- sending an HTTP GET request with redirects that enable you to get the+ -- agent IP address (port 80). Alternatively, you can get it from the+ -- DataSync console.+ --+ -- The redirect URL returned in the response provides you the activation+ -- key for your agent in the query string parameter @activationKey@. It+ -- might also include other activation-related parameters; however, these+ -- are merely defaults. The arguments you pass to this API call determine+ -- the actual configuration of your agent.+ --+ -- For more information, see Activating an Agent in the /DataSync User+ -- Guide./+ activationKey :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateAgent' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'agentName', 'createAgent_agentName' - The name you configured for your agent. This value is a text reference+-- that is used to identify the agent in the console.+--+-- 'securityGroupArns', 'createAgent_securityGroupArns' - The ARNs of the security groups used to protect your data transfer task+-- subnets. See+-- <https://docs.aws.amazon.com/datasync/latest/userguide/API_Ec2Config.html#DataSync-Type-Ec2Config-SecurityGroupArns SecurityGroupArns>.+--+-- 'subnetArns', 'createAgent_subnetArns' - The Amazon Resource Names (ARNs) of the subnets in which DataSync will+-- create elastic network interfaces for each data transfer task. The agent+-- that runs a task must be private. When you start a task that is+-- associated with an agent created in a VPC, or one that has access to an+-- IP address in a VPC, then the task is also private. In this case,+-- DataSync creates four network interfaces for each task in your subnet.+-- For a data transfer to work, the agent must be able to route to all+-- these four network interfaces.+--+-- 'tags', 'createAgent_tags' - The key-value pair that represents the tag that you want to associate+-- with the agent. The value can be an empty string. This value helps you+-- manage, filter, and search for your agents.+--+-- Valid characters for key and value are letters, spaces, and numbers+-- representable in UTF-8 format, and the following special characters: + -+-- = . _ : \/ \@.+--+-- 'vpcEndpointId', 'createAgent_vpcEndpointId' - The ID of the VPC (virtual private cloud) endpoint that the agent has+-- access to. This is the client-side VPC endpoint, also called a+-- PrivateLink. If you don\'t have a PrivateLink VPC endpoint, see+-- <https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-service.html#create-endpoint-service Creating a VPC Endpoint Service Configuration>+-- in the Amazon VPC User Guide.+--+-- VPC endpoint ID looks like this: @vpce-01234d5aff67890e1@.+--+-- 'activationKey', 'createAgent_activationKey' - Your agent activation key. You can get the activation key either by+-- sending an HTTP GET request with redirects that enable you to get the+-- agent IP address (port 80). Alternatively, you can get it from the+-- DataSync console.+--+-- The redirect URL returned in the response provides you the activation+-- key for your agent in the query string parameter @activationKey@. It+-- might also include other activation-related parameters; however, these+-- are merely defaults. The arguments you pass to this API call determine+-- the actual configuration of your agent.+--+-- For more information, see Activating an Agent in the /DataSync User+-- Guide./+newCreateAgent ::+ -- | 'activationKey'+ Prelude.Text ->+ CreateAgent+newCreateAgent pActivationKey_ =+ CreateAgent'+ { agentName = Prelude.Nothing,+ securityGroupArns = Prelude.Nothing,+ subnetArns = Prelude.Nothing,+ tags = Prelude.Nothing,+ vpcEndpointId = Prelude.Nothing,+ activationKey = pActivationKey_+ }++-- | The name you configured for your agent. This value is a text reference+-- that is used to identify the agent in the console.+createAgent_agentName :: Lens.Lens' CreateAgent (Prelude.Maybe Prelude.Text)+createAgent_agentName = Lens.lens (\CreateAgent' {agentName} -> agentName) (\s@CreateAgent' {} a -> s {agentName = a} :: CreateAgent)++-- | The ARNs of the security groups used to protect your data transfer task+-- subnets. See+-- <https://docs.aws.amazon.com/datasync/latest/userguide/API_Ec2Config.html#DataSync-Type-Ec2Config-SecurityGroupArns SecurityGroupArns>.+createAgent_securityGroupArns :: Lens.Lens' CreateAgent (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+createAgent_securityGroupArns = Lens.lens (\CreateAgent' {securityGroupArns} -> securityGroupArns) (\s@CreateAgent' {} a -> s {securityGroupArns = a} :: CreateAgent) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Resource Names (ARNs) of the subnets in which DataSync will+-- create elastic network interfaces for each data transfer task. The agent+-- that runs a task must be private. When you start a task that is+-- associated with an agent created in a VPC, or one that has access to an+-- IP address in a VPC, then the task is also private. In this case,+-- DataSync creates four network interfaces for each task in your subnet.+-- For a data transfer to work, the agent must be able to route to all+-- these four network interfaces.+createAgent_subnetArns :: Lens.Lens' CreateAgent (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+createAgent_subnetArns = Lens.lens (\CreateAgent' {subnetArns} -> subnetArns) (\s@CreateAgent' {} a -> s {subnetArns = a} :: CreateAgent) Prelude.. Lens.mapping Lens.coerced++-- | The key-value pair that represents the tag that you want to associate+-- with the agent. The value can be an empty string. This value helps you+-- manage, filter, and search for your agents.+--+-- Valid characters for key and value are letters, spaces, and numbers+-- representable in UTF-8 format, and the following special characters: + -+-- = . _ : \/ \@.+createAgent_tags :: Lens.Lens' CreateAgent (Prelude.Maybe [TagListEntry])+createAgent_tags = Lens.lens (\CreateAgent' {tags} -> tags) (\s@CreateAgent' {} a -> s {tags = a} :: CreateAgent) Prelude.. Lens.mapping Lens.coerced++-- | The ID of the VPC (virtual private cloud) endpoint that the agent has+-- access to. This is the client-side VPC endpoint, also called a+-- PrivateLink. If you don\'t have a PrivateLink VPC endpoint, see+-- <https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-service.html#create-endpoint-service Creating a VPC Endpoint Service Configuration>+-- in the Amazon VPC User Guide.+--+-- VPC endpoint ID looks like this: @vpce-01234d5aff67890e1@.+createAgent_vpcEndpointId :: Lens.Lens' CreateAgent (Prelude.Maybe Prelude.Text)+createAgent_vpcEndpointId = Lens.lens (\CreateAgent' {vpcEndpointId} -> vpcEndpointId) (\s@CreateAgent' {} a -> s {vpcEndpointId = a} :: CreateAgent)++-- | Your agent activation key. You can get the activation key either by+-- sending an HTTP GET request with redirects that enable you to get the+-- agent IP address (port 80). Alternatively, you can get it from the+-- DataSync console.+--+-- The redirect URL returned in the response provides you the activation+-- key for your agent in the query string parameter @activationKey@. It+-- might also include other activation-related parameters; however, these+-- are merely defaults. The arguments you pass to this API call determine+-- the actual configuration of your agent.+--+-- For more information, see Activating an Agent in the /DataSync User+-- Guide./+createAgent_activationKey :: Lens.Lens' CreateAgent Prelude.Text+createAgent_activationKey = Lens.lens (\CreateAgent' {activationKey} -> activationKey) (\s@CreateAgent' {} a -> s {activationKey = a} :: CreateAgent)++instance Core.AWSRequest CreateAgent where+ type AWSResponse CreateAgent = CreateAgentResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateAgentResponse'+ Prelude.<$> (x Data..?> "AgentArn")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateAgent where+ hashWithSalt _salt CreateAgent' {..} =+ _salt+ `Prelude.hashWithSalt` agentName+ `Prelude.hashWithSalt` securityGroupArns+ `Prelude.hashWithSalt` subnetArns+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` vpcEndpointId+ `Prelude.hashWithSalt` activationKey++instance Prelude.NFData CreateAgent where+ rnf CreateAgent' {..} =+ Prelude.rnf agentName+ `Prelude.seq` Prelude.rnf securityGroupArns+ `Prelude.seq` Prelude.rnf subnetArns+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf vpcEndpointId+ `Prelude.seq` Prelude.rnf activationKey++instance Data.ToHeaders CreateAgent where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ("FmrsService.CreateAgent" :: Prelude.ByteString),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateAgent where+ toJSON CreateAgent' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("AgentName" Data..=) Prelude.<$> agentName,+ ("SecurityGroupArns" Data..=)+ Prelude.<$> securityGroupArns,+ ("SubnetArns" Data..=) Prelude.<$> subnetArns,+ ("Tags" Data..=) Prelude.<$> tags,+ ("VpcEndpointId" Data..=) Prelude.<$> vpcEndpointId,+ Prelude.Just+ ("ActivationKey" Data..= activationKey)+ ]+ )++instance Data.ToPath CreateAgent where+ toPath = Prelude.const "/"++instance Data.ToQuery CreateAgent where+ toQuery = Prelude.const Prelude.mempty++-- | CreateAgentResponse+--+-- /See:/ 'newCreateAgentResponse' smart constructor.+data CreateAgentResponse = CreateAgentResponse'+ { -- | The Amazon Resource Name (ARN) of the agent. Use the @ListAgents@+ -- operation to return a list of agents for your account and Amazon Web+ -- Services Region.+ agentArn :: 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 'CreateAgentResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'agentArn', 'createAgentResponse_agentArn' - The Amazon Resource Name (ARN) of the agent. Use the @ListAgents@+-- operation to return a list of agents for your account and Amazon Web+-- Services Region.+--+-- 'httpStatus', 'createAgentResponse_httpStatus' - The response's http status code.+newCreateAgentResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateAgentResponse+newCreateAgentResponse pHttpStatus_ =+ CreateAgentResponse'+ { agentArn = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Resource Name (ARN) of the agent. Use the @ListAgents@+-- operation to return a list of agents for your account and Amazon Web+-- Services Region.+createAgentResponse_agentArn :: Lens.Lens' CreateAgentResponse (Prelude.Maybe Prelude.Text)+createAgentResponse_agentArn = Lens.lens (\CreateAgentResponse' {agentArn} -> agentArn) (\s@CreateAgentResponse' {} a -> s {agentArn = a} :: CreateAgentResponse)++-- | The response's http status code.+createAgentResponse_httpStatus :: Lens.Lens' CreateAgentResponse Prelude.Int+createAgentResponse_httpStatus = Lens.lens (\CreateAgentResponse' {httpStatus} -> httpStatus) (\s@CreateAgentResponse' {} a -> s {httpStatus = a} :: CreateAgentResponse)++instance Prelude.NFData CreateAgentResponse where+ rnf CreateAgentResponse' {..} =+ Prelude.rnf agentArn+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/DataSync/CreateLocationEfs.hs view
@@ -0,0 +1,321 @@+{-# 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.DataSync.CreateLocationEfs+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates an endpoint for an Amazon EFS file system that DataSync can+-- access for a transfer. For more information, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/create-efs-location.html Creating a location for Amazon EFS>.+module Amazonka.DataSync.CreateLocationEfs+ ( -- * Creating a Request+ CreateLocationEfs (..),+ newCreateLocationEfs,++ -- * Request Lenses+ createLocationEfs_accessPointArn,+ createLocationEfs_fileSystemAccessRoleArn,+ createLocationEfs_inTransitEncryption,+ createLocationEfs_subdirectory,+ createLocationEfs_tags,+ createLocationEfs_efsFilesystemArn,+ createLocationEfs_ec2Config,++ -- * Destructuring the Response+ CreateLocationEfsResponse (..),+ newCreateLocationEfsResponse,++ -- * Response Lenses+ createLocationEfsResponse_locationArn,+ createLocationEfsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DataSync.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | CreateLocationEfsRequest+--+-- /See:/ 'newCreateLocationEfs' smart constructor.+data CreateLocationEfs = CreateLocationEfs'+ { -- | Specifies the Amazon Resource Name (ARN) of the access point that+ -- DataSync uses to access the Amazon EFS file system.+ accessPointArn :: Prelude.Maybe Prelude.Text,+ -- | Specifies an Identity and Access Management (IAM) role that DataSync+ -- assumes when mounting the Amazon EFS file system.+ fileSystemAccessRoleArn :: Prelude.Maybe Prelude.Text,+ -- | Specifies whether you want DataSync to use Transport Layer Security+ -- (TLS) 1.2 encryption when it copies data to or from the Amazon EFS file+ -- system.+ --+ -- If you specify an access point using @AccessPointArn@ or an IAM role+ -- using @FileSystemAccessRoleArn@, you must set this parameter to+ -- @TLS1_2@.+ inTransitEncryption :: Prelude.Maybe EfsInTransitEncryption,+ -- | Specifies a mount path for your Amazon EFS file system. This is where+ -- DataSync reads or writes data (depending on if this is a source or+ -- destination location). By default, DataSync uses the root directory, but+ -- you can also include subdirectories.+ --+ -- You must specify a value with forward slashes (for example,+ -- @\/path\/to\/folder@).+ subdirectory :: Prelude.Maybe Prelude.Text,+ -- | Specifies the key-value pair that represents a tag that you want to add+ -- to the resource. The value can be an empty string. This value helps you+ -- manage, filter, and search for your resources. We recommend that you+ -- create a name tag for your location.+ tags :: Prelude.Maybe [TagListEntry],+ -- | Specifies the ARN for the Amazon EFS file system.+ efsFilesystemArn :: Prelude.Text,+ -- | Specifies the subnet and security groups DataSync uses to access your+ -- Amazon EFS file system.+ ec2Config :: Ec2Config+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateLocationEfs' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accessPointArn', 'createLocationEfs_accessPointArn' - Specifies the Amazon Resource Name (ARN) of the access point that+-- DataSync uses to access the Amazon EFS file system.+--+-- 'fileSystemAccessRoleArn', 'createLocationEfs_fileSystemAccessRoleArn' - Specifies an Identity and Access Management (IAM) role that DataSync+-- assumes when mounting the Amazon EFS file system.+--+-- 'inTransitEncryption', 'createLocationEfs_inTransitEncryption' - Specifies whether you want DataSync to use Transport Layer Security+-- (TLS) 1.2 encryption when it copies data to or from the Amazon EFS file+-- system.+--+-- If you specify an access point using @AccessPointArn@ or an IAM role+-- using @FileSystemAccessRoleArn@, you must set this parameter to+-- @TLS1_2@.+--+-- 'subdirectory', 'createLocationEfs_subdirectory' - Specifies a mount path for your Amazon EFS file system. This is where+-- DataSync reads or writes data (depending on if this is a source or+-- destination location). By default, DataSync uses the root directory, but+-- you can also include subdirectories.+--+-- You must specify a value with forward slashes (for example,+-- @\/path\/to\/folder@).+--+-- 'tags', 'createLocationEfs_tags' - Specifies the key-value pair that represents a tag that you want to add+-- to the resource. The value can be an empty string. This value helps you+-- manage, filter, and search for your resources. We recommend that you+-- create a name tag for your location.+--+-- 'efsFilesystemArn', 'createLocationEfs_efsFilesystemArn' - Specifies the ARN for the Amazon EFS file system.+--+-- 'ec2Config', 'createLocationEfs_ec2Config' - Specifies the subnet and security groups DataSync uses to access your+-- Amazon EFS file system.+newCreateLocationEfs ::+ -- | 'efsFilesystemArn'+ Prelude.Text ->+ -- | 'ec2Config'+ Ec2Config ->+ CreateLocationEfs+newCreateLocationEfs pEfsFilesystemArn_ pEc2Config_ =+ CreateLocationEfs'+ { accessPointArn =+ Prelude.Nothing,+ fileSystemAccessRoleArn = Prelude.Nothing,+ inTransitEncryption = Prelude.Nothing,+ subdirectory = Prelude.Nothing,+ tags = Prelude.Nothing,+ efsFilesystemArn = pEfsFilesystemArn_,+ ec2Config = pEc2Config_+ }++-- | Specifies the Amazon Resource Name (ARN) of the access point that+-- DataSync uses to access the Amazon EFS file system.+createLocationEfs_accessPointArn :: Lens.Lens' CreateLocationEfs (Prelude.Maybe Prelude.Text)+createLocationEfs_accessPointArn = Lens.lens (\CreateLocationEfs' {accessPointArn} -> accessPointArn) (\s@CreateLocationEfs' {} a -> s {accessPointArn = a} :: CreateLocationEfs)++-- | Specifies an Identity and Access Management (IAM) role that DataSync+-- assumes when mounting the Amazon EFS file system.+createLocationEfs_fileSystemAccessRoleArn :: Lens.Lens' CreateLocationEfs (Prelude.Maybe Prelude.Text)+createLocationEfs_fileSystemAccessRoleArn = Lens.lens (\CreateLocationEfs' {fileSystemAccessRoleArn} -> fileSystemAccessRoleArn) (\s@CreateLocationEfs' {} a -> s {fileSystemAccessRoleArn = a} :: CreateLocationEfs)++-- | Specifies whether you want DataSync to use Transport Layer Security+-- (TLS) 1.2 encryption when it copies data to or from the Amazon EFS file+-- system.+--+-- If you specify an access point using @AccessPointArn@ or an IAM role+-- using @FileSystemAccessRoleArn@, you must set this parameter to+-- @TLS1_2@.+createLocationEfs_inTransitEncryption :: Lens.Lens' CreateLocationEfs (Prelude.Maybe EfsInTransitEncryption)+createLocationEfs_inTransitEncryption = Lens.lens (\CreateLocationEfs' {inTransitEncryption} -> inTransitEncryption) (\s@CreateLocationEfs' {} a -> s {inTransitEncryption = a} :: CreateLocationEfs)++-- | Specifies a mount path for your Amazon EFS file system. This is where+-- DataSync reads or writes data (depending on if this is a source or+-- destination location). By default, DataSync uses the root directory, but+-- you can also include subdirectories.+--+-- You must specify a value with forward slashes (for example,+-- @\/path\/to\/folder@).+createLocationEfs_subdirectory :: Lens.Lens' CreateLocationEfs (Prelude.Maybe Prelude.Text)+createLocationEfs_subdirectory = Lens.lens (\CreateLocationEfs' {subdirectory} -> subdirectory) (\s@CreateLocationEfs' {} a -> s {subdirectory = a} :: CreateLocationEfs)++-- | Specifies the key-value pair that represents a tag that you want to add+-- to the resource. The value can be an empty string. This value helps you+-- manage, filter, and search for your resources. We recommend that you+-- create a name tag for your location.+createLocationEfs_tags :: Lens.Lens' CreateLocationEfs (Prelude.Maybe [TagListEntry])+createLocationEfs_tags = Lens.lens (\CreateLocationEfs' {tags} -> tags) (\s@CreateLocationEfs' {} a -> s {tags = a} :: CreateLocationEfs) Prelude.. Lens.mapping Lens.coerced++-- | Specifies the ARN for the Amazon EFS file system.+createLocationEfs_efsFilesystemArn :: Lens.Lens' CreateLocationEfs Prelude.Text+createLocationEfs_efsFilesystemArn = Lens.lens (\CreateLocationEfs' {efsFilesystemArn} -> efsFilesystemArn) (\s@CreateLocationEfs' {} a -> s {efsFilesystemArn = a} :: CreateLocationEfs)++-- | Specifies the subnet and security groups DataSync uses to access your+-- Amazon EFS file system.+createLocationEfs_ec2Config :: Lens.Lens' CreateLocationEfs Ec2Config+createLocationEfs_ec2Config = Lens.lens (\CreateLocationEfs' {ec2Config} -> ec2Config) (\s@CreateLocationEfs' {} a -> s {ec2Config = a} :: CreateLocationEfs)++instance Core.AWSRequest CreateLocationEfs where+ type+ AWSResponse CreateLocationEfs =+ CreateLocationEfsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateLocationEfsResponse'+ Prelude.<$> (x Data..?> "LocationArn")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateLocationEfs where+ hashWithSalt _salt CreateLocationEfs' {..} =+ _salt+ `Prelude.hashWithSalt` accessPointArn+ `Prelude.hashWithSalt` fileSystemAccessRoleArn+ `Prelude.hashWithSalt` inTransitEncryption+ `Prelude.hashWithSalt` subdirectory+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` efsFilesystemArn+ `Prelude.hashWithSalt` ec2Config++instance Prelude.NFData CreateLocationEfs where+ rnf CreateLocationEfs' {..} =+ Prelude.rnf accessPointArn+ `Prelude.seq` Prelude.rnf fileSystemAccessRoleArn+ `Prelude.seq` Prelude.rnf inTransitEncryption+ `Prelude.seq` Prelude.rnf subdirectory+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf efsFilesystemArn+ `Prelude.seq` Prelude.rnf ec2Config++instance Data.ToHeaders CreateLocationEfs where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "FmrsService.CreateLocationEfs" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateLocationEfs where+ toJSON CreateLocationEfs' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("AccessPointArn" Data..=)+ Prelude.<$> accessPointArn,+ ("FileSystemAccessRoleArn" Data..=)+ Prelude.<$> fileSystemAccessRoleArn,+ ("InTransitEncryption" Data..=)+ Prelude.<$> inTransitEncryption,+ ("Subdirectory" Data..=) Prelude.<$> subdirectory,+ ("Tags" Data..=) Prelude.<$> tags,+ Prelude.Just+ ("EfsFilesystemArn" Data..= efsFilesystemArn),+ Prelude.Just ("Ec2Config" Data..= ec2Config)+ ]+ )++instance Data.ToPath CreateLocationEfs where+ toPath = Prelude.const "/"++instance Data.ToQuery CreateLocationEfs where+ toQuery = Prelude.const Prelude.mempty++-- | CreateLocationEfs+--+-- /See:/ 'newCreateLocationEfsResponse' smart constructor.+data CreateLocationEfsResponse = CreateLocationEfsResponse'+ { -- | The Amazon Resource Name (ARN) of the Amazon EFS file system location+ -- that you create.+ locationArn :: 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 'CreateLocationEfsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'locationArn', 'createLocationEfsResponse_locationArn' - The Amazon Resource Name (ARN) of the Amazon EFS file system location+-- that you create.+--+-- 'httpStatus', 'createLocationEfsResponse_httpStatus' - The response's http status code.+newCreateLocationEfsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateLocationEfsResponse+newCreateLocationEfsResponse pHttpStatus_ =+ CreateLocationEfsResponse'+ { locationArn =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Resource Name (ARN) of the Amazon EFS file system location+-- that you create.+createLocationEfsResponse_locationArn :: Lens.Lens' CreateLocationEfsResponse (Prelude.Maybe Prelude.Text)+createLocationEfsResponse_locationArn = Lens.lens (\CreateLocationEfsResponse' {locationArn} -> locationArn) (\s@CreateLocationEfsResponse' {} a -> s {locationArn = a} :: CreateLocationEfsResponse)++-- | The response's http status code.+createLocationEfsResponse_httpStatus :: Lens.Lens' CreateLocationEfsResponse Prelude.Int+createLocationEfsResponse_httpStatus = Lens.lens (\CreateLocationEfsResponse' {httpStatus} -> httpStatus) (\s@CreateLocationEfsResponse' {} a -> s {httpStatus = a} :: CreateLocationEfsResponse)++instance Prelude.NFData CreateLocationEfsResponse where+ rnf CreateLocationEfsResponse' {..} =+ Prelude.rnf locationArn+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/DataSync/CreateLocationFsxLustre.hs view
@@ -0,0 +1,244 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DataSync.CreateLocationFsxLustre+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates an endpoint for an Amazon FSx for Lustre file system.+module Amazonka.DataSync.CreateLocationFsxLustre+ ( -- * Creating a Request+ CreateLocationFsxLustre (..),+ newCreateLocationFsxLustre,++ -- * Request Lenses+ createLocationFsxLustre_subdirectory,+ createLocationFsxLustre_tags,+ createLocationFsxLustre_fsxFilesystemArn,+ createLocationFsxLustre_securityGroupArns,++ -- * Destructuring the Response+ CreateLocationFsxLustreResponse (..),+ newCreateLocationFsxLustreResponse,++ -- * Response Lenses+ createLocationFsxLustreResponse_locationArn,+ createLocationFsxLustreResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DataSync.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateLocationFsxLustre' smart constructor.+data CreateLocationFsxLustre = CreateLocationFsxLustre'+ { -- | A subdirectory in the location\'s path. This subdirectory in the FSx for+ -- Lustre file system is used to read data from the FSx for Lustre source+ -- location or write data to the FSx for Lustre destination.+ subdirectory :: Prelude.Maybe Prelude.Text,+ -- | The key-value pair that represents a tag that you want to add to the+ -- resource. The value can be an empty string. This value helps you manage,+ -- filter, and search for your resources. We recommend that you create a+ -- name tag for your location.+ tags :: Prelude.Maybe [TagListEntry],+ -- | The Amazon Resource Name (ARN) for the FSx for Lustre file system.+ fsxFilesystemArn :: Prelude.Text,+ -- | The Amazon Resource Names (ARNs) of the security groups that are used to+ -- configure the FSx for Lustre file system.+ securityGroupArns :: Prelude.NonEmpty Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateLocationFsxLustre' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'subdirectory', 'createLocationFsxLustre_subdirectory' - A subdirectory in the location\'s path. This subdirectory in the FSx for+-- Lustre file system is used to read data from the FSx for Lustre source+-- location or write data to the FSx for Lustre destination.+--+-- 'tags', 'createLocationFsxLustre_tags' - The key-value pair that represents a tag that you want to add to the+-- resource. The value can be an empty string. This value helps you manage,+-- filter, and search for your resources. We recommend that you create a+-- name tag for your location.+--+-- 'fsxFilesystemArn', 'createLocationFsxLustre_fsxFilesystemArn' - The Amazon Resource Name (ARN) for the FSx for Lustre file system.+--+-- 'securityGroupArns', 'createLocationFsxLustre_securityGroupArns' - The Amazon Resource Names (ARNs) of the security groups that are used to+-- configure the FSx for Lustre file system.+newCreateLocationFsxLustre ::+ -- | 'fsxFilesystemArn'+ Prelude.Text ->+ -- | 'securityGroupArns'+ Prelude.NonEmpty Prelude.Text ->+ CreateLocationFsxLustre+newCreateLocationFsxLustre+ pFsxFilesystemArn_+ pSecurityGroupArns_ =+ CreateLocationFsxLustre'+ { subdirectory =+ Prelude.Nothing,+ tags = Prelude.Nothing,+ fsxFilesystemArn = pFsxFilesystemArn_,+ securityGroupArns =+ Lens.coerced Lens.# pSecurityGroupArns_+ }++-- | A subdirectory in the location\'s path. This subdirectory in the FSx for+-- Lustre file system is used to read data from the FSx for Lustre source+-- location or write data to the FSx for Lustre destination.+createLocationFsxLustre_subdirectory :: Lens.Lens' CreateLocationFsxLustre (Prelude.Maybe Prelude.Text)+createLocationFsxLustre_subdirectory = Lens.lens (\CreateLocationFsxLustre' {subdirectory} -> subdirectory) (\s@CreateLocationFsxLustre' {} a -> s {subdirectory = a} :: CreateLocationFsxLustre)++-- | The key-value pair that represents a tag that you want to add to the+-- resource. The value can be an empty string. This value helps you manage,+-- filter, and search for your resources. We recommend that you create a+-- name tag for your location.+createLocationFsxLustre_tags :: Lens.Lens' CreateLocationFsxLustre (Prelude.Maybe [TagListEntry])+createLocationFsxLustre_tags = Lens.lens (\CreateLocationFsxLustre' {tags} -> tags) (\s@CreateLocationFsxLustre' {} a -> s {tags = a} :: CreateLocationFsxLustre) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Resource Name (ARN) for the FSx for Lustre file system.+createLocationFsxLustre_fsxFilesystemArn :: Lens.Lens' CreateLocationFsxLustre Prelude.Text+createLocationFsxLustre_fsxFilesystemArn = Lens.lens (\CreateLocationFsxLustre' {fsxFilesystemArn} -> fsxFilesystemArn) (\s@CreateLocationFsxLustre' {} a -> s {fsxFilesystemArn = a} :: CreateLocationFsxLustre)++-- | The Amazon Resource Names (ARNs) of the security groups that are used to+-- configure the FSx for Lustre file system.+createLocationFsxLustre_securityGroupArns :: Lens.Lens' CreateLocationFsxLustre (Prelude.NonEmpty Prelude.Text)+createLocationFsxLustre_securityGroupArns = Lens.lens (\CreateLocationFsxLustre' {securityGroupArns} -> securityGroupArns) (\s@CreateLocationFsxLustre' {} a -> s {securityGroupArns = a} :: CreateLocationFsxLustre) Prelude.. Lens.coerced++instance Core.AWSRequest CreateLocationFsxLustre where+ type+ AWSResponse CreateLocationFsxLustre =+ CreateLocationFsxLustreResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateLocationFsxLustreResponse'+ Prelude.<$> (x Data..?> "LocationArn")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateLocationFsxLustre where+ hashWithSalt _salt CreateLocationFsxLustre' {..} =+ _salt+ `Prelude.hashWithSalt` subdirectory+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` fsxFilesystemArn+ `Prelude.hashWithSalt` securityGroupArns++instance Prelude.NFData CreateLocationFsxLustre where+ rnf CreateLocationFsxLustre' {..} =+ Prelude.rnf subdirectory+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf fsxFilesystemArn+ `Prelude.seq` Prelude.rnf securityGroupArns++instance Data.ToHeaders CreateLocationFsxLustre where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "FmrsService.CreateLocationFsxLustre" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateLocationFsxLustre where+ toJSON CreateLocationFsxLustre' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Subdirectory" Data..=) Prelude.<$> subdirectory,+ ("Tags" Data..=) Prelude.<$> tags,+ Prelude.Just+ ("FsxFilesystemArn" Data..= fsxFilesystemArn),+ Prelude.Just+ ("SecurityGroupArns" Data..= securityGroupArns)+ ]+ )++instance Data.ToPath CreateLocationFsxLustre where+ toPath = Prelude.const "/"++instance Data.ToQuery CreateLocationFsxLustre where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateLocationFsxLustreResponse' smart constructor.+data CreateLocationFsxLustreResponse = CreateLocationFsxLustreResponse'+ { -- | The Amazon Resource Name (ARN) of the FSx for Lustre file system+ -- location that\'s created.+ locationArn :: 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 'CreateLocationFsxLustreResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'locationArn', 'createLocationFsxLustreResponse_locationArn' - The Amazon Resource Name (ARN) of the FSx for Lustre file system+-- location that\'s created.+--+-- 'httpStatus', 'createLocationFsxLustreResponse_httpStatus' - The response's http status code.+newCreateLocationFsxLustreResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateLocationFsxLustreResponse+newCreateLocationFsxLustreResponse pHttpStatus_ =+ CreateLocationFsxLustreResponse'+ { locationArn =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Resource Name (ARN) of the FSx for Lustre file system+-- location that\'s created.+createLocationFsxLustreResponse_locationArn :: Lens.Lens' CreateLocationFsxLustreResponse (Prelude.Maybe Prelude.Text)+createLocationFsxLustreResponse_locationArn = Lens.lens (\CreateLocationFsxLustreResponse' {locationArn} -> locationArn) (\s@CreateLocationFsxLustreResponse' {} a -> s {locationArn = a} :: CreateLocationFsxLustreResponse)++-- | The response's http status code.+createLocationFsxLustreResponse_httpStatus :: Lens.Lens' CreateLocationFsxLustreResponse Prelude.Int+createLocationFsxLustreResponse_httpStatus = Lens.lens (\CreateLocationFsxLustreResponse' {httpStatus} -> httpStatus) (\s@CreateLocationFsxLustreResponse' {} a -> s {httpStatus = a} :: CreateLocationFsxLustreResponse)++instance+ Prelude.NFData+ CreateLocationFsxLustreResponse+ where+ rnf CreateLocationFsxLustreResponse' {..} =+ Prelude.rnf locationArn+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/DataSync/CreateLocationFsxOntap.hs view
@@ -0,0 +1,306 @@+{-# 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.DataSync.CreateLocationFsxOntap+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates an endpoint for an Amazon FSx for NetApp ONTAP file system that+-- DataSync can access for a transfer. For more information, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/create-ontap-location.html Creating a location for FSx for ONTAP>.+module Amazonka.DataSync.CreateLocationFsxOntap+ ( -- * Creating a Request+ CreateLocationFsxOntap (..),+ newCreateLocationFsxOntap,++ -- * Request Lenses+ createLocationFsxOntap_subdirectory,+ createLocationFsxOntap_tags,+ createLocationFsxOntap_protocol,+ createLocationFsxOntap_securityGroupArns,+ createLocationFsxOntap_storageVirtualMachineArn,++ -- * Destructuring the Response+ CreateLocationFsxOntapResponse (..),+ newCreateLocationFsxOntapResponse,++ -- * Response Lenses+ createLocationFsxOntapResponse_locationArn,+ createLocationFsxOntapResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DataSync.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateLocationFsxOntap' smart constructor.+data CreateLocationFsxOntap = CreateLocationFsxOntap'+ { -- | Specifies the junction path (also known as a mount point) in the SVM+ -- volume where you\'re copying data to or from (for example, @\/vol1@).+ --+ -- Don\'t specify a junction path in the SVM\'s root volume. For more+ -- information, see+ -- <https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/managing-svms.html Managing FSx for ONTAP storage virtual machines>+ -- in the /Amazon FSx for NetApp ONTAP User Guide/.+ subdirectory :: Prelude.Maybe Prelude.Text,+ -- | Specifies labels that help you categorize, filter, and search for your+ -- Amazon Web Services resources. We recommend creating at least a name tag+ -- for your location.+ tags :: Prelude.Maybe [TagListEntry],+ protocol :: FsxProtocol,+ -- | Specifies the Amazon EC2 security groups that provide access to your+ -- file system\'s preferred subnet.+ --+ -- The security groups must allow outbound traffic on the following ports+ -- (depending on the protocol you use):+ --+ -- - __Network File System (NFS)__: TCP ports 111, 635, and 2049+ --+ -- - __Server Message Block (SMB)__: TCP port 445+ --+ -- Your file system\'s security groups must also allow inbound traffic on+ -- the same ports.+ securityGroupArns :: Prelude.NonEmpty Prelude.Text,+ -- | Specifies the ARN of the storage virtual machine (SVM) on your file+ -- system where you\'re copying data to or from.+ storageVirtualMachineArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateLocationFsxOntap' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'subdirectory', 'createLocationFsxOntap_subdirectory' - Specifies the junction path (also known as a mount point) in the SVM+-- volume where you\'re copying data to or from (for example, @\/vol1@).+--+-- Don\'t specify a junction path in the SVM\'s root volume. For more+-- information, see+-- <https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/managing-svms.html Managing FSx for ONTAP storage virtual machines>+-- in the /Amazon FSx for NetApp ONTAP User Guide/.+--+-- 'tags', 'createLocationFsxOntap_tags' - Specifies labels that help you categorize, filter, and search for your+-- Amazon Web Services resources. We recommend creating at least a name tag+-- for your location.+--+-- 'protocol', 'createLocationFsxOntap_protocol' - Undocumented member.+--+-- 'securityGroupArns', 'createLocationFsxOntap_securityGroupArns' - Specifies the Amazon EC2 security groups that provide access to your+-- file system\'s preferred subnet.+--+-- The security groups must allow outbound traffic on the following ports+-- (depending on the protocol you use):+--+-- - __Network File System (NFS)__: TCP ports 111, 635, and 2049+--+-- - __Server Message Block (SMB)__: TCP port 445+--+-- Your file system\'s security groups must also allow inbound traffic on+-- the same ports.+--+-- 'storageVirtualMachineArn', 'createLocationFsxOntap_storageVirtualMachineArn' - Specifies the ARN of the storage virtual machine (SVM) on your file+-- system where you\'re copying data to or from.+newCreateLocationFsxOntap ::+ -- | 'protocol'+ FsxProtocol ->+ -- | 'securityGroupArns'+ Prelude.NonEmpty Prelude.Text ->+ -- | 'storageVirtualMachineArn'+ Prelude.Text ->+ CreateLocationFsxOntap+newCreateLocationFsxOntap+ pProtocol_+ pSecurityGroupArns_+ pStorageVirtualMachineArn_ =+ CreateLocationFsxOntap'+ { subdirectory =+ Prelude.Nothing,+ tags = Prelude.Nothing,+ protocol = pProtocol_,+ securityGroupArns =+ Lens.coerced Lens.# pSecurityGroupArns_,+ storageVirtualMachineArn =+ pStorageVirtualMachineArn_+ }++-- | Specifies the junction path (also known as a mount point) in the SVM+-- volume where you\'re copying data to or from (for example, @\/vol1@).+--+-- Don\'t specify a junction path in the SVM\'s root volume. For more+-- information, see+-- <https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/managing-svms.html Managing FSx for ONTAP storage virtual machines>+-- in the /Amazon FSx for NetApp ONTAP User Guide/.+createLocationFsxOntap_subdirectory :: Lens.Lens' CreateLocationFsxOntap (Prelude.Maybe Prelude.Text)+createLocationFsxOntap_subdirectory = Lens.lens (\CreateLocationFsxOntap' {subdirectory} -> subdirectory) (\s@CreateLocationFsxOntap' {} a -> s {subdirectory = a} :: CreateLocationFsxOntap)++-- | Specifies labels that help you categorize, filter, and search for your+-- Amazon Web Services resources. We recommend creating at least a name tag+-- for your location.+createLocationFsxOntap_tags :: Lens.Lens' CreateLocationFsxOntap (Prelude.Maybe [TagListEntry])+createLocationFsxOntap_tags = Lens.lens (\CreateLocationFsxOntap' {tags} -> tags) (\s@CreateLocationFsxOntap' {} a -> s {tags = a} :: CreateLocationFsxOntap) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+createLocationFsxOntap_protocol :: Lens.Lens' CreateLocationFsxOntap FsxProtocol+createLocationFsxOntap_protocol = Lens.lens (\CreateLocationFsxOntap' {protocol} -> protocol) (\s@CreateLocationFsxOntap' {} a -> s {protocol = a} :: CreateLocationFsxOntap)++-- | Specifies the Amazon EC2 security groups that provide access to your+-- file system\'s preferred subnet.+--+-- The security groups must allow outbound traffic on the following ports+-- (depending on the protocol you use):+--+-- - __Network File System (NFS)__: TCP ports 111, 635, and 2049+--+-- - __Server Message Block (SMB)__: TCP port 445+--+-- Your file system\'s security groups must also allow inbound traffic on+-- the same ports.+createLocationFsxOntap_securityGroupArns :: Lens.Lens' CreateLocationFsxOntap (Prelude.NonEmpty Prelude.Text)+createLocationFsxOntap_securityGroupArns = Lens.lens (\CreateLocationFsxOntap' {securityGroupArns} -> securityGroupArns) (\s@CreateLocationFsxOntap' {} a -> s {securityGroupArns = a} :: CreateLocationFsxOntap) Prelude.. Lens.coerced++-- | Specifies the ARN of the storage virtual machine (SVM) on your file+-- system where you\'re copying data to or from.+createLocationFsxOntap_storageVirtualMachineArn :: Lens.Lens' CreateLocationFsxOntap Prelude.Text+createLocationFsxOntap_storageVirtualMachineArn = Lens.lens (\CreateLocationFsxOntap' {storageVirtualMachineArn} -> storageVirtualMachineArn) (\s@CreateLocationFsxOntap' {} a -> s {storageVirtualMachineArn = a} :: CreateLocationFsxOntap)++instance Core.AWSRequest CreateLocationFsxOntap where+ type+ AWSResponse CreateLocationFsxOntap =+ CreateLocationFsxOntapResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateLocationFsxOntapResponse'+ Prelude.<$> (x Data..?> "LocationArn")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateLocationFsxOntap where+ hashWithSalt _salt CreateLocationFsxOntap' {..} =+ _salt+ `Prelude.hashWithSalt` subdirectory+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` protocol+ `Prelude.hashWithSalt` securityGroupArns+ `Prelude.hashWithSalt` storageVirtualMachineArn++instance Prelude.NFData CreateLocationFsxOntap where+ rnf CreateLocationFsxOntap' {..} =+ Prelude.rnf subdirectory+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf protocol+ `Prelude.seq` Prelude.rnf securityGroupArns+ `Prelude.seq` Prelude.rnf storageVirtualMachineArn++instance Data.ToHeaders CreateLocationFsxOntap where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "FmrsService.CreateLocationFsxOntap" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateLocationFsxOntap where+ toJSON CreateLocationFsxOntap' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Subdirectory" Data..=) Prelude.<$> subdirectory,+ ("Tags" Data..=) Prelude.<$> tags,+ Prelude.Just ("Protocol" Data..= protocol),+ Prelude.Just+ ("SecurityGroupArns" Data..= securityGroupArns),+ Prelude.Just+ ( "StorageVirtualMachineArn"+ Data..= storageVirtualMachineArn+ )+ ]+ )++instance Data.ToPath CreateLocationFsxOntap where+ toPath = Prelude.const "/"++instance Data.ToQuery CreateLocationFsxOntap where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateLocationFsxOntapResponse' smart constructor.+data CreateLocationFsxOntapResponse = CreateLocationFsxOntapResponse'+ { -- | Specifies the ARN of the FSx for ONTAP file system location that you+ -- create.+ locationArn :: 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 'CreateLocationFsxOntapResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'locationArn', 'createLocationFsxOntapResponse_locationArn' - Specifies the ARN of the FSx for ONTAP file system location that you+-- create.+--+-- 'httpStatus', 'createLocationFsxOntapResponse_httpStatus' - The response's http status code.+newCreateLocationFsxOntapResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateLocationFsxOntapResponse+newCreateLocationFsxOntapResponse pHttpStatus_ =+ CreateLocationFsxOntapResponse'+ { locationArn =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Specifies the ARN of the FSx for ONTAP file system location that you+-- create.+createLocationFsxOntapResponse_locationArn :: Lens.Lens' CreateLocationFsxOntapResponse (Prelude.Maybe Prelude.Text)+createLocationFsxOntapResponse_locationArn = Lens.lens (\CreateLocationFsxOntapResponse' {locationArn} -> locationArn) (\s@CreateLocationFsxOntapResponse' {} a -> s {locationArn = a} :: CreateLocationFsxOntapResponse)++-- | The response's http status code.+createLocationFsxOntapResponse_httpStatus :: Lens.Lens' CreateLocationFsxOntapResponse Prelude.Int+createLocationFsxOntapResponse_httpStatus = Lens.lens (\CreateLocationFsxOntapResponse' {httpStatus} -> httpStatus) (\s@CreateLocationFsxOntapResponse' {} a -> s {httpStatus = a} :: CreateLocationFsxOntapResponse)++instance+ Prelude.NFData+ CreateLocationFsxOntapResponse+ where+ rnf CreateLocationFsxOntapResponse' {..} =+ Prelude.rnf locationArn+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/DataSync/CreateLocationFsxOpenZfs.hs view
@@ -0,0 +1,262 @@+{-# 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.DataSync.CreateLocationFsxOpenZfs+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates an endpoint for an Amazon FSx for OpenZFS file system that+-- DataSync can access for a transfer. For more information, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/create-openzfs-location.html Creating a location for FSx for OpenZFS>.+--+-- Request parameters related to @SMB@ aren\'t supported with the+-- @CreateLocationFsxOpenZfs@ operation.+module Amazonka.DataSync.CreateLocationFsxOpenZfs+ ( -- * Creating a Request+ CreateLocationFsxOpenZfs (..),+ newCreateLocationFsxOpenZfs,++ -- * Request Lenses+ createLocationFsxOpenZfs_subdirectory,+ createLocationFsxOpenZfs_tags,+ createLocationFsxOpenZfs_fsxFilesystemArn,+ createLocationFsxOpenZfs_protocol,+ createLocationFsxOpenZfs_securityGroupArns,++ -- * Destructuring the Response+ CreateLocationFsxOpenZfsResponse (..),+ newCreateLocationFsxOpenZfsResponse,++ -- * Response Lenses+ createLocationFsxOpenZfsResponse_locationArn,+ createLocationFsxOpenZfsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DataSync.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateLocationFsxOpenZfs' smart constructor.+data CreateLocationFsxOpenZfs = CreateLocationFsxOpenZfs'+ { -- | A subdirectory in the location\'s path that must begin with @\/fsx@.+ -- DataSync uses this subdirectory to read or write data (depending on+ -- whether the file system is a source or destination location).+ subdirectory :: Prelude.Maybe Prelude.Text,+ -- | The key-value pair that represents a tag that you want to add to the+ -- resource. The value can be an empty string. This value helps you manage,+ -- filter, and search for your resources. We recommend that you create a+ -- name tag for your location.+ tags :: Prelude.Maybe [TagListEntry],+ -- | The Amazon Resource Name (ARN) of the FSx for OpenZFS file system.+ fsxFilesystemArn :: Prelude.Text,+ -- | The type of protocol that DataSync uses to access your file system.+ protocol :: FsxProtocol,+ -- | The ARNs of the security groups that are used to configure the FSx for+ -- OpenZFS file system.+ securityGroupArns :: Prelude.NonEmpty Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateLocationFsxOpenZfs' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'subdirectory', 'createLocationFsxOpenZfs_subdirectory' - A subdirectory in the location\'s path that must begin with @\/fsx@.+-- DataSync uses this subdirectory to read or write data (depending on+-- whether the file system is a source or destination location).+--+-- 'tags', 'createLocationFsxOpenZfs_tags' - The key-value pair that represents a tag that you want to add to the+-- resource. The value can be an empty string. This value helps you manage,+-- filter, and search for your resources. We recommend that you create a+-- name tag for your location.+--+-- 'fsxFilesystemArn', 'createLocationFsxOpenZfs_fsxFilesystemArn' - The Amazon Resource Name (ARN) of the FSx for OpenZFS file system.+--+-- 'protocol', 'createLocationFsxOpenZfs_protocol' - The type of protocol that DataSync uses to access your file system.+--+-- 'securityGroupArns', 'createLocationFsxOpenZfs_securityGroupArns' - The ARNs of the security groups that are used to configure the FSx for+-- OpenZFS file system.+newCreateLocationFsxOpenZfs ::+ -- | 'fsxFilesystemArn'+ Prelude.Text ->+ -- | 'protocol'+ FsxProtocol ->+ -- | 'securityGroupArns'+ Prelude.NonEmpty Prelude.Text ->+ CreateLocationFsxOpenZfs+newCreateLocationFsxOpenZfs+ pFsxFilesystemArn_+ pProtocol_+ pSecurityGroupArns_ =+ CreateLocationFsxOpenZfs'+ { subdirectory =+ Prelude.Nothing,+ tags = Prelude.Nothing,+ fsxFilesystemArn = pFsxFilesystemArn_,+ protocol = pProtocol_,+ securityGroupArns =+ Lens.coerced Lens.# pSecurityGroupArns_+ }++-- | A subdirectory in the location\'s path that must begin with @\/fsx@.+-- DataSync uses this subdirectory to read or write data (depending on+-- whether the file system is a source or destination location).+createLocationFsxOpenZfs_subdirectory :: Lens.Lens' CreateLocationFsxOpenZfs (Prelude.Maybe Prelude.Text)+createLocationFsxOpenZfs_subdirectory = Lens.lens (\CreateLocationFsxOpenZfs' {subdirectory} -> subdirectory) (\s@CreateLocationFsxOpenZfs' {} a -> s {subdirectory = a} :: CreateLocationFsxOpenZfs)++-- | The key-value pair that represents a tag that you want to add to the+-- resource. The value can be an empty string. This value helps you manage,+-- filter, and search for your resources. We recommend that you create a+-- name tag for your location.+createLocationFsxOpenZfs_tags :: Lens.Lens' CreateLocationFsxOpenZfs (Prelude.Maybe [TagListEntry])+createLocationFsxOpenZfs_tags = Lens.lens (\CreateLocationFsxOpenZfs' {tags} -> tags) (\s@CreateLocationFsxOpenZfs' {} a -> s {tags = a} :: CreateLocationFsxOpenZfs) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Resource Name (ARN) of the FSx for OpenZFS file system.+createLocationFsxOpenZfs_fsxFilesystemArn :: Lens.Lens' CreateLocationFsxOpenZfs Prelude.Text+createLocationFsxOpenZfs_fsxFilesystemArn = Lens.lens (\CreateLocationFsxOpenZfs' {fsxFilesystemArn} -> fsxFilesystemArn) (\s@CreateLocationFsxOpenZfs' {} a -> s {fsxFilesystemArn = a} :: CreateLocationFsxOpenZfs)++-- | The type of protocol that DataSync uses to access your file system.+createLocationFsxOpenZfs_protocol :: Lens.Lens' CreateLocationFsxOpenZfs FsxProtocol+createLocationFsxOpenZfs_protocol = Lens.lens (\CreateLocationFsxOpenZfs' {protocol} -> protocol) (\s@CreateLocationFsxOpenZfs' {} a -> s {protocol = a} :: CreateLocationFsxOpenZfs)++-- | The ARNs of the security groups that are used to configure the FSx for+-- OpenZFS file system.+createLocationFsxOpenZfs_securityGroupArns :: Lens.Lens' CreateLocationFsxOpenZfs (Prelude.NonEmpty Prelude.Text)+createLocationFsxOpenZfs_securityGroupArns = Lens.lens (\CreateLocationFsxOpenZfs' {securityGroupArns} -> securityGroupArns) (\s@CreateLocationFsxOpenZfs' {} a -> s {securityGroupArns = a} :: CreateLocationFsxOpenZfs) Prelude.. Lens.coerced++instance Core.AWSRequest CreateLocationFsxOpenZfs where+ type+ AWSResponse CreateLocationFsxOpenZfs =+ CreateLocationFsxOpenZfsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateLocationFsxOpenZfsResponse'+ Prelude.<$> (x Data..?> "LocationArn")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateLocationFsxOpenZfs where+ hashWithSalt _salt CreateLocationFsxOpenZfs' {..} =+ _salt+ `Prelude.hashWithSalt` subdirectory+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` fsxFilesystemArn+ `Prelude.hashWithSalt` protocol+ `Prelude.hashWithSalt` securityGroupArns++instance Prelude.NFData CreateLocationFsxOpenZfs where+ rnf CreateLocationFsxOpenZfs' {..} =+ Prelude.rnf subdirectory+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf fsxFilesystemArn+ `Prelude.seq` Prelude.rnf protocol+ `Prelude.seq` Prelude.rnf securityGroupArns++instance Data.ToHeaders CreateLocationFsxOpenZfs where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "FmrsService.CreateLocationFsxOpenZfs" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateLocationFsxOpenZfs where+ toJSON CreateLocationFsxOpenZfs' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Subdirectory" Data..=) Prelude.<$> subdirectory,+ ("Tags" Data..=) Prelude.<$> tags,+ Prelude.Just+ ("FsxFilesystemArn" Data..= fsxFilesystemArn),+ Prelude.Just ("Protocol" Data..= protocol),+ Prelude.Just+ ("SecurityGroupArns" Data..= securityGroupArns)+ ]+ )++instance Data.ToPath CreateLocationFsxOpenZfs where+ toPath = Prelude.const "/"++instance Data.ToQuery CreateLocationFsxOpenZfs where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateLocationFsxOpenZfsResponse' smart constructor.+data CreateLocationFsxOpenZfsResponse = CreateLocationFsxOpenZfsResponse'+ { -- | The ARN of the FSx for OpenZFS file system location that you created.+ locationArn :: 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 'CreateLocationFsxOpenZfsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'locationArn', 'createLocationFsxOpenZfsResponse_locationArn' - The ARN of the FSx for OpenZFS file system location that you created.+--+-- 'httpStatus', 'createLocationFsxOpenZfsResponse_httpStatus' - The response's http status code.+newCreateLocationFsxOpenZfsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateLocationFsxOpenZfsResponse+newCreateLocationFsxOpenZfsResponse pHttpStatus_ =+ CreateLocationFsxOpenZfsResponse'+ { locationArn =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The ARN of the FSx for OpenZFS file system location that you created.+createLocationFsxOpenZfsResponse_locationArn :: Lens.Lens' CreateLocationFsxOpenZfsResponse (Prelude.Maybe Prelude.Text)+createLocationFsxOpenZfsResponse_locationArn = Lens.lens (\CreateLocationFsxOpenZfsResponse' {locationArn} -> locationArn) (\s@CreateLocationFsxOpenZfsResponse' {} a -> s {locationArn = a} :: CreateLocationFsxOpenZfsResponse)++-- | The response's http status code.+createLocationFsxOpenZfsResponse_httpStatus :: Lens.Lens' CreateLocationFsxOpenZfsResponse Prelude.Int+createLocationFsxOpenZfsResponse_httpStatus = Lens.lens (\CreateLocationFsxOpenZfsResponse' {httpStatus} -> httpStatus) (\s@CreateLocationFsxOpenZfsResponse' {} a -> s {httpStatus = a} :: CreateLocationFsxOpenZfsResponse)++instance+ Prelude.NFData+ CreateLocationFsxOpenZfsResponse+ where+ rnf CreateLocationFsxOpenZfsResponse' {..} =+ Prelude.rnf locationArn+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/DataSync/CreateLocationFsxWindows.hs view
@@ -0,0 +1,337 @@+{-# 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.DataSync.CreateLocationFsxWindows+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates an endpoint for an Amazon FSx for Windows File Server file+-- system.+module Amazonka.DataSync.CreateLocationFsxWindows+ ( -- * Creating a Request+ CreateLocationFsxWindows (..),+ newCreateLocationFsxWindows,++ -- * Request Lenses+ createLocationFsxWindows_domain,+ createLocationFsxWindows_subdirectory,+ createLocationFsxWindows_tags,+ createLocationFsxWindows_fsxFilesystemArn,+ createLocationFsxWindows_securityGroupArns,+ createLocationFsxWindows_user,+ createLocationFsxWindows_password,++ -- * Destructuring the Response+ CreateLocationFsxWindowsResponse (..),+ newCreateLocationFsxWindowsResponse,++ -- * Response Lenses+ createLocationFsxWindowsResponse_locationArn,+ createLocationFsxWindowsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DataSync.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateLocationFsxWindows' smart constructor.+data CreateLocationFsxWindows = CreateLocationFsxWindows'+ { -- | Specifies the name of the Windows domain that the FSx for Windows File+ -- Server belongs to.+ domain :: Prelude.Maybe Prelude.Text,+ -- | Specifies a mount path for your file system using forward slashes. This+ -- is where DataSync reads or writes data (depending on if this is a source+ -- or destination location).+ subdirectory :: Prelude.Maybe Prelude.Text,+ -- | Specifies labels that help you categorize, filter, and search for your+ -- Amazon Web Services resources. We recommend creating at least a name tag+ -- for your location.+ tags :: Prelude.Maybe [TagListEntry],+ -- | Specifies the Amazon Resource Name (ARN) for the FSx for Windows File+ -- Server file system.+ fsxFilesystemArn :: Prelude.Text,+ -- | Specifies the ARNs of the security groups that provide access to your+ -- file system\'s preferred subnet.+ --+ -- If you choose a security group that doesn\'t allow connections from+ -- within itself, do one of the following:+ --+ -- - Configure the security group to allow it to communicate within+ -- itself.+ --+ -- - Choose a different security group that can communicate with the+ -- mount target\'s security group.+ securityGroupArns :: Prelude.NonEmpty Prelude.Text,+ -- | Specifies the user who has the permissions to access files and folders+ -- in the file system.+ --+ -- For information about choosing a user name that ensures sufficient+ -- permissions to files, folders, and metadata, see+ -- <create-fsx-location.html#FSxWuser user>.+ user :: Prelude.Text,+ -- | Specifies the password of the user who has the permissions to access+ -- files and folders in the file system.+ password :: Data.Sensitive Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateLocationFsxWindows' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'domain', 'createLocationFsxWindows_domain' - Specifies the name of the Windows domain that the FSx for Windows File+-- Server belongs to.+--+-- 'subdirectory', 'createLocationFsxWindows_subdirectory' - Specifies a mount path for your file system using forward slashes. This+-- is where DataSync reads or writes data (depending on if this is a source+-- or destination location).+--+-- 'tags', 'createLocationFsxWindows_tags' - Specifies labels that help you categorize, filter, and search for your+-- Amazon Web Services resources. We recommend creating at least a name tag+-- for your location.+--+-- 'fsxFilesystemArn', 'createLocationFsxWindows_fsxFilesystemArn' - Specifies the Amazon Resource Name (ARN) for the FSx for Windows File+-- Server file system.+--+-- 'securityGroupArns', 'createLocationFsxWindows_securityGroupArns' - Specifies the ARNs of the security groups that provide access to your+-- file system\'s preferred subnet.+--+-- If you choose a security group that doesn\'t allow connections from+-- within itself, do one of the following:+--+-- - Configure the security group to allow it to communicate within+-- itself.+--+-- - Choose a different security group that can communicate with the+-- mount target\'s security group.+--+-- 'user', 'createLocationFsxWindows_user' - Specifies the user who has the permissions to access files and folders+-- in the file system.+--+-- For information about choosing a user name that ensures sufficient+-- permissions to files, folders, and metadata, see+-- <create-fsx-location.html#FSxWuser user>.+--+-- 'password', 'createLocationFsxWindows_password' - Specifies the password of the user who has the permissions to access+-- files and folders in the file system.+newCreateLocationFsxWindows ::+ -- | 'fsxFilesystemArn'+ Prelude.Text ->+ -- | 'securityGroupArns'+ Prelude.NonEmpty Prelude.Text ->+ -- | 'user'+ Prelude.Text ->+ -- | 'password'+ Prelude.Text ->+ CreateLocationFsxWindows+newCreateLocationFsxWindows+ pFsxFilesystemArn_+ pSecurityGroupArns_+ pUser_+ pPassword_ =+ CreateLocationFsxWindows'+ { domain = Prelude.Nothing,+ subdirectory = Prelude.Nothing,+ tags = Prelude.Nothing,+ fsxFilesystemArn = pFsxFilesystemArn_,+ securityGroupArns =+ Lens.coerced Lens.# pSecurityGroupArns_,+ user = pUser_,+ password = Data._Sensitive Lens.# pPassword_+ }++-- | Specifies the name of the Windows domain that the FSx for Windows File+-- Server belongs to.+createLocationFsxWindows_domain :: Lens.Lens' CreateLocationFsxWindows (Prelude.Maybe Prelude.Text)+createLocationFsxWindows_domain = Lens.lens (\CreateLocationFsxWindows' {domain} -> domain) (\s@CreateLocationFsxWindows' {} a -> s {domain = a} :: CreateLocationFsxWindows)++-- | Specifies a mount path for your file system using forward slashes. This+-- is where DataSync reads or writes data (depending on if this is a source+-- or destination location).+createLocationFsxWindows_subdirectory :: Lens.Lens' CreateLocationFsxWindows (Prelude.Maybe Prelude.Text)+createLocationFsxWindows_subdirectory = Lens.lens (\CreateLocationFsxWindows' {subdirectory} -> subdirectory) (\s@CreateLocationFsxWindows' {} a -> s {subdirectory = a} :: CreateLocationFsxWindows)++-- | Specifies labels that help you categorize, filter, and search for your+-- Amazon Web Services resources. We recommend creating at least a name tag+-- for your location.+createLocationFsxWindows_tags :: Lens.Lens' CreateLocationFsxWindows (Prelude.Maybe [TagListEntry])+createLocationFsxWindows_tags = Lens.lens (\CreateLocationFsxWindows' {tags} -> tags) (\s@CreateLocationFsxWindows' {} a -> s {tags = a} :: CreateLocationFsxWindows) Prelude.. Lens.mapping Lens.coerced++-- | Specifies the Amazon Resource Name (ARN) for the FSx for Windows File+-- Server file system.+createLocationFsxWindows_fsxFilesystemArn :: Lens.Lens' CreateLocationFsxWindows Prelude.Text+createLocationFsxWindows_fsxFilesystemArn = Lens.lens (\CreateLocationFsxWindows' {fsxFilesystemArn} -> fsxFilesystemArn) (\s@CreateLocationFsxWindows' {} a -> s {fsxFilesystemArn = a} :: CreateLocationFsxWindows)++-- | Specifies the ARNs of the security groups that provide access to your+-- file system\'s preferred subnet.+--+-- If you choose a security group that doesn\'t allow connections from+-- within itself, do one of the following:+--+-- - Configure the security group to allow it to communicate within+-- itself.+--+-- - Choose a different security group that can communicate with the+-- mount target\'s security group.+createLocationFsxWindows_securityGroupArns :: Lens.Lens' CreateLocationFsxWindows (Prelude.NonEmpty Prelude.Text)+createLocationFsxWindows_securityGroupArns = Lens.lens (\CreateLocationFsxWindows' {securityGroupArns} -> securityGroupArns) (\s@CreateLocationFsxWindows' {} a -> s {securityGroupArns = a} :: CreateLocationFsxWindows) Prelude.. Lens.coerced++-- | Specifies the user who has the permissions to access files and folders+-- in the file system.+--+-- For information about choosing a user name that ensures sufficient+-- permissions to files, folders, and metadata, see+-- <create-fsx-location.html#FSxWuser user>.+createLocationFsxWindows_user :: Lens.Lens' CreateLocationFsxWindows Prelude.Text+createLocationFsxWindows_user = Lens.lens (\CreateLocationFsxWindows' {user} -> user) (\s@CreateLocationFsxWindows' {} a -> s {user = a} :: CreateLocationFsxWindows)++-- | Specifies the password of the user who has the permissions to access+-- files and folders in the file system.+createLocationFsxWindows_password :: Lens.Lens' CreateLocationFsxWindows Prelude.Text+createLocationFsxWindows_password = Lens.lens (\CreateLocationFsxWindows' {password} -> password) (\s@CreateLocationFsxWindows' {} a -> s {password = a} :: CreateLocationFsxWindows) Prelude.. Data._Sensitive++instance Core.AWSRequest CreateLocationFsxWindows where+ type+ AWSResponse CreateLocationFsxWindows =+ CreateLocationFsxWindowsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateLocationFsxWindowsResponse'+ Prelude.<$> (x Data..?> "LocationArn")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateLocationFsxWindows where+ hashWithSalt _salt CreateLocationFsxWindows' {..} =+ _salt+ `Prelude.hashWithSalt` domain+ `Prelude.hashWithSalt` subdirectory+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` fsxFilesystemArn+ `Prelude.hashWithSalt` securityGroupArns+ `Prelude.hashWithSalt` user+ `Prelude.hashWithSalt` password++instance Prelude.NFData CreateLocationFsxWindows where+ rnf CreateLocationFsxWindows' {..} =+ Prelude.rnf domain+ `Prelude.seq` Prelude.rnf subdirectory+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf fsxFilesystemArn+ `Prelude.seq` Prelude.rnf securityGroupArns+ `Prelude.seq` Prelude.rnf user+ `Prelude.seq` Prelude.rnf password++instance Data.ToHeaders CreateLocationFsxWindows where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "FmrsService.CreateLocationFsxWindows" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateLocationFsxWindows where+ toJSON CreateLocationFsxWindows' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Domain" Data..=) Prelude.<$> domain,+ ("Subdirectory" Data..=) Prelude.<$> subdirectory,+ ("Tags" Data..=) Prelude.<$> tags,+ Prelude.Just+ ("FsxFilesystemArn" Data..= fsxFilesystemArn),+ Prelude.Just+ ("SecurityGroupArns" Data..= securityGroupArns),+ Prelude.Just ("User" Data..= user),+ Prelude.Just ("Password" Data..= password)+ ]+ )++instance Data.ToPath CreateLocationFsxWindows where+ toPath = Prelude.const "/"++instance Data.ToQuery CreateLocationFsxWindows where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateLocationFsxWindowsResponse' smart constructor.+data CreateLocationFsxWindowsResponse = CreateLocationFsxWindowsResponse'+ { -- | The ARN of the FSx for Windows File Server file system location you+ -- created.+ locationArn :: 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 'CreateLocationFsxWindowsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'locationArn', 'createLocationFsxWindowsResponse_locationArn' - The ARN of the FSx for Windows File Server file system location you+-- created.+--+-- 'httpStatus', 'createLocationFsxWindowsResponse_httpStatus' - The response's http status code.+newCreateLocationFsxWindowsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateLocationFsxWindowsResponse+newCreateLocationFsxWindowsResponse pHttpStatus_ =+ CreateLocationFsxWindowsResponse'+ { locationArn =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The ARN of the FSx for Windows File Server file system location you+-- created.+createLocationFsxWindowsResponse_locationArn :: Lens.Lens' CreateLocationFsxWindowsResponse (Prelude.Maybe Prelude.Text)+createLocationFsxWindowsResponse_locationArn = Lens.lens (\CreateLocationFsxWindowsResponse' {locationArn} -> locationArn) (\s@CreateLocationFsxWindowsResponse' {} a -> s {locationArn = a} :: CreateLocationFsxWindowsResponse)++-- | The response's http status code.+createLocationFsxWindowsResponse_httpStatus :: Lens.Lens' CreateLocationFsxWindowsResponse Prelude.Int+createLocationFsxWindowsResponse_httpStatus = Lens.lens (\CreateLocationFsxWindowsResponse' {httpStatus} -> httpStatus) (\s@CreateLocationFsxWindowsResponse' {} a -> s {httpStatus = a} :: CreateLocationFsxWindowsResponse)++instance+ Prelude.NFData+ CreateLocationFsxWindowsResponse+ where+ rnf CreateLocationFsxWindowsResponse' {..} =+ Prelude.rnf locationArn+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/DataSync/CreateLocationHdfs.hs view
@@ -0,0 +1,467 @@+{-# 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.DataSync.CreateLocationHdfs+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates an endpoint for a Hadoop Distributed File System (HDFS).+module Amazonka.DataSync.CreateLocationHdfs+ ( -- * Creating a Request+ CreateLocationHdfs (..),+ newCreateLocationHdfs,++ -- * Request Lenses+ createLocationHdfs_blockSize,+ createLocationHdfs_kerberosKeytab,+ createLocationHdfs_kerberosKrb5Conf,+ createLocationHdfs_kerberosPrincipal,+ createLocationHdfs_kmsKeyProviderUri,+ createLocationHdfs_qopConfiguration,+ createLocationHdfs_replicationFactor,+ createLocationHdfs_simpleUser,+ createLocationHdfs_subdirectory,+ createLocationHdfs_tags,+ createLocationHdfs_nameNodes,+ createLocationHdfs_authenticationType,+ createLocationHdfs_agentArns,++ -- * Destructuring the Response+ CreateLocationHdfsResponse (..),+ newCreateLocationHdfsResponse,++ -- * Response Lenses+ createLocationHdfsResponse_locationArn,+ createLocationHdfsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DataSync.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateLocationHdfs' smart constructor.+data CreateLocationHdfs = CreateLocationHdfs'+ { -- | The size of data blocks to write into the HDFS cluster. The block size+ -- must be a multiple of 512 bytes. The default block size is 128 mebibytes+ -- (MiB).+ blockSize :: Prelude.Maybe Prelude.Natural,+ -- | The Kerberos key table (keytab) that contains mappings between the+ -- defined Kerberos principal and the encrypted keys. You can load the+ -- keytab from a file by providing the file\'s address. If you\'re using+ -- the CLI, it performs base64 encoding for you. Otherwise, provide the+ -- base64-encoded text.+ --+ -- If @KERBEROS@ is specified for @AuthenticationType@, this parameter is+ -- required.+ kerberosKeytab :: Prelude.Maybe Data.Base64,+ -- | The @krb5.conf@ file that contains the Kerberos configuration+ -- information. You can load the @krb5.conf@ file by providing the file\'s+ -- address. If you\'re using the CLI, it performs the base64 encoding for+ -- you. Otherwise, provide the base64-encoded text.+ --+ -- If @KERBEROS@ is specified for @AuthenticationType@, this parameter is+ -- required.+ kerberosKrb5Conf :: Prelude.Maybe Data.Base64,+ -- | The Kerberos principal with access to the files and folders on the HDFS+ -- cluster.+ --+ -- If @KERBEROS@ is specified for @AuthenticationType@, this parameter is+ -- required.+ kerberosPrincipal :: Prelude.Maybe Prelude.Text,+ -- | The URI of the HDFS cluster\'s Key Management Server (KMS).+ kmsKeyProviderUri :: Prelude.Maybe Prelude.Text,+ -- | The Quality of Protection (QOP) configuration specifies the Remote+ -- Procedure Call (RPC) and data transfer protection settings configured on+ -- the Hadoop Distributed File System (HDFS) cluster. If @QopConfiguration@+ -- isn\'t specified, @RpcProtection@ and @DataTransferProtection@ default+ -- to @PRIVACY@. If you set @RpcProtection@ or @DataTransferProtection@,+ -- the other parameter assumes the same value.+ qopConfiguration :: Prelude.Maybe QopConfiguration,+ -- | The number of DataNodes to replicate the data to when writing to the+ -- HDFS cluster. By default, data is replicated to three DataNodes.+ replicationFactor :: Prelude.Maybe Prelude.Natural,+ -- | The user name used to identify the client on the host operating system.+ --+ -- If @SIMPLE@ is specified for @AuthenticationType@, this parameter is+ -- required.+ simpleUser :: Prelude.Maybe Prelude.Text,+ -- | A subdirectory in the HDFS cluster. This subdirectory is used to read+ -- data from or write data to the HDFS cluster. If the subdirectory isn\'t+ -- specified, it will default to @\/@.+ subdirectory :: Prelude.Maybe Prelude.Text,+ -- | The key-value pair that represents the tag that you want to add to the+ -- location. The value can be an empty string. We recommend using tags to+ -- name your resources.+ tags :: Prelude.Maybe [TagListEntry],+ -- | The NameNode that manages the HDFS namespace. The NameNode performs+ -- operations such as opening, closing, and renaming files and directories.+ -- The NameNode contains the information to map blocks of data to the+ -- DataNodes. You can use only one NameNode.+ nameNodes :: Prelude.NonEmpty HdfsNameNode,+ -- | The type of authentication used to determine the identity of the user.+ authenticationType :: HdfsAuthenticationType,+ -- | The Amazon Resource Names (ARNs) of the agents that are used to connect+ -- to the HDFS cluster.+ agentArns :: Prelude.NonEmpty Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateLocationHdfs' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'blockSize', 'createLocationHdfs_blockSize' - The size of data blocks to write into the HDFS cluster. The block size+-- must be a multiple of 512 bytes. The default block size is 128 mebibytes+-- (MiB).+--+-- 'kerberosKeytab', 'createLocationHdfs_kerberosKeytab' - The Kerberos key table (keytab) that contains mappings between the+-- defined Kerberos principal and the encrypted keys. You can load the+-- keytab from a file by providing the file\'s address. If you\'re using+-- the CLI, it performs base64 encoding for you. Otherwise, provide the+-- base64-encoded text.+--+-- If @KERBEROS@ is specified for @AuthenticationType@, this parameter is+-- required.--+-- -- /Note:/ This 'Lens' automatically encodes and decodes Base64 data.+-- -- The underlying isomorphism will encode to Base64 representation during+-- -- serialisation, and decode from Base64 representation during deserialisation.+-- -- This 'Lens' accepts and returns only raw unencoded data.+--+-- 'kerberosKrb5Conf', 'createLocationHdfs_kerberosKrb5Conf' - The @krb5.conf@ file that contains the Kerberos configuration+-- information. You can load the @krb5.conf@ file by providing the file\'s+-- address. If you\'re using the CLI, it performs the base64 encoding for+-- you. Otherwise, provide the base64-encoded text.+--+-- If @KERBEROS@ is specified for @AuthenticationType@, this parameter is+-- required.--+-- -- /Note:/ This 'Lens' automatically encodes and decodes Base64 data.+-- -- The underlying isomorphism will encode to Base64 representation during+-- -- serialisation, and decode from Base64 representation during deserialisation.+-- -- This 'Lens' accepts and returns only raw unencoded data.+--+-- 'kerberosPrincipal', 'createLocationHdfs_kerberosPrincipal' - The Kerberos principal with access to the files and folders on the HDFS+-- cluster.+--+-- If @KERBEROS@ is specified for @AuthenticationType@, this parameter is+-- required.+--+-- 'kmsKeyProviderUri', 'createLocationHdfs_kmsKeyProviderUri' - The URI of the HDFS cluster\'s Key Management Server (KMS).+--+-- 'qopConfiguration', 'createLocationHdfs_qopConfiguration' - The Quality of Protection (QOP) configuration specifies the Remote+-- Procedure Call (RPC) and data transfer protection settings configured on+-- the Hadoop Distributed File System (HDFS) cluster. If @QopConfiguration@+-- isn\'t specified, @RpcProtection@ and @DataTransferProtection@ default+-- to @PRIVACY@. If you set @RpcProtection@ or @DataTransferProtection@,+-- the other parameter assumes the same value.+--+-- 'replicationFactor', 'createLocationHdfs_replicationFactor' - The number of DataNodes to replicate the data to when writing to the+-- HDFS cluster. By default, data is replicated to three DataNodes.+--+-- 'simpleUser', 'createLocationHdfs_simpleUser' - The user name used to identify the client on the host operating system.+--+-- If @SIMPLE@ is specified for @AuthenticationType@, this parameter is+-- required.+--+-- 'subdirectory', 'createLocationHdfs_subdirectory' - A subdirectory in the HDFS cluster. This subdirectory is used to read+-- data from or write data to the HDFS cluster. If the subdirectory isn\'t+-- specified, it will default to @\/@.+--+-- 'tags', 'createLocationHdfs_tags' - The key-value pair that represents the tag that you want to add to the+-- location. The value can be an empty string. We recommend using tags to+-- name your resources.+--+-- 'nameNodes', 'createLocationHdfs_nameNodes' - The NameNode that manages the HDFS namespace. The NameNode performs+-- operations such as opening, closing, and renaming files and directories.+-- The NameNode contains the information to map blocks of data to the+-- DataNodes. You can use only one NameNode.+--+-- 'authenticationType', 'createLocationHdfs_authenticationType' - The type of authentication used to determine the identity of the user.+--+-- 'agentArns', 'createLocationHdfs_agentArns' - The Amazon Resource Names (ARNs) of the agents that are used to connect+-- to the HDFS cluster.+newCreateLocationHdfs ::+ -- | 'nameNodes'+ Prelude.NonEmpty HdfsNameNode ->+ -- | 'authenticationType'+ HdfsAuthenticationType ->+ -- | 'agentArns'+ Prelude.NonEmpty Prelude.Text ->+ CreateLocationHdfs+newCreateLocationHdfs+ pNameNodes_+ pAuthenticationType_+ pAgentArns_ =+ CreateLocationHdfs'+ { blockSize = Prelude.Nothing,+ kerberosKeytab = Prelude.Nothing,+ kerberosKrb5Conf = Prelude.Nothing,+ kerberosPrincipal = Prelude.Nothing,+ kmsKeyProviderUri = Prelude.Nothing,+ qopConfiguration = Prelude.Nothing,+ replicationFactor = Prelude.Nothing,+ simpleUser = Prelude.Nothing,+ subdirectory = Prelude.Nothing,+ tags = Prelude.Nothing,+ nameNodes = Lens.coerced Lens.# pNameNodes_,+ authenticationType = pAuthenticationType_,+ agentArns = Lens.coerced Lens.# pAgentArns_+ }++-- | The size of data blocks to write into the HDFS cluster. The block size+-- must be a multiple of 512 bytes. The default block size is 128 mebibytes+-- (MiB).+createLocationHdfs_blockSize :: Lens.Lens' CreateLocationHdfs (Prelude.Maybe Prelude.Natural)+createLocationHdfs_blockSize = Lens.lens (\CreateLocationHdfs' {blockSize} -> blockSize) (\s@CreateLocationHdfs' {} a -> s {blockSize = a} :: CreateLocationHdfs)++-- | The Kerberos key table (keytab) that contains mappings between the+-- defined Kerberos principal and the encrypted keys. You can load the+-- keytab from a file by providing the file\'s address. If you\'re using+-- the CLI, it performs base64 encoding for you. Otherwise, provide the+-- base64-encoded text.+--+-- If @KERBEROS@ is specified for @AuthenticationType@, this parameter is+-- required.--+-- -- /Note:/ This 'Lens' automatically encodes and decodes Base64 data.+-- -- The underlying isomorphism will encode to Base64 representation during+-- -- serialisation, and decode from Base64 representation during deserialisation.+-- -- This 'Lens' accepts and returns only raw unencoded data.+createLocationHdfs_kerberosKeytab :: Lens.Lens' CreateLocationHdfs (Prelude.Maybe Prelude.ByteString)+createLocationHdfs_kerberosKeytab = Lens.lens (\CreateLocationHdfs' {kerberosKeytab} -> kerberosKeytab) (\s@CreateLocationHdfs' {} a -> s {kerberosKeytab = a} :: CreateLocationHdfs) Prelude.. Lens.mapping Data._Base64++-- | The @krb5.conf@ file that contains the Kerberos configuration+-- information. You can load the @krb5.conf@ file by providing the file\'s+-- address. If you\'re using the CLI, it performs the base64 encoding for+-- you. Otherwise, provide the base64-encoded text.+--+-- If @KERBEROS@ is specified for @AuthenticationType@, this parameter is+-- required.--+-- -- /Note:/ This 'Lens' automatically encodes and decodes Base64 data.+-- -- The underlying isomorphism will encode to Base64 representation during+-- -- serialisation, and decode from Base64 representation during deserialisation.+-- -- This 'Lens' accepts and returns only raw unencoded data.+createLocationHdfs_kerberosKrb5Conf :: Lens.Lens' CreateLocationHdfs (Prelude.Maybe Prelude.ByteString)+createLocationHdfs_kerberosKrb5Conf = Lens.lens (\CreateLocationHdfs' {kerberosKrb5Conf} -> kerberosKrb5Conf) (\s@CreateLocationHdfs' {} a -> s {kerberosKrb5Conf = a} :: CreateLocationHdfs) Prelude.. Lens.mapping Data._Base64++-- | The Kerberos principal with access to the files and folders on the HDFS+-- cluster.+--+-- If @KERBEROS@ is specified for @AuthenticationType@, this parameter is+-- required.+createLocationHdfs_kerberosPrincipal :: Lens.Lens' CreateLocationHdfs (Prelude.Maybe Prelude.Text)+createLocationHdfs_kerberosPrincipal = Lens.lens (\CreateLocationHdfs' {kerberosPrincipal} -> kerberosPrincipal) (\s@CreateLocationHdfs' {} a -> s {kerberosPrincipal = a} :: CreateLocationHdfs)++-- | The URI of the HDFS cluster\'s Key Management Server (KMS).+createLocationHdfs_kmsKeyProviderUri :: Lens.Lens' CreateLocationHdfs (Prelude.Maybe Prelude.Text)+createLocationHdfs_kmsKeyProviderUri = Lens.lens (\CreateLocationHdfs' {kmsKeyProviderUri} -> kmsKeyProviderUri) (\s@CreateLocationHdfs' {} a -> s {kmsKeyProviderUri = a} :: CreateLocationHdfs)++-- | The Quality of Protection (QOP) configuration specifies the Remote+-- Procedure Call (RPC) and data transfer protection settings configured on+-- the Hadoop Distributed File System (HDFS) cluster. If @QopConfiguration@+-- isn\'t specified, @RpcProtection@ and @DataTransferProtection@ default+-- to @PRIVACY@. If you set @RpcProtection@ or @DataTransferProtection@,+-- the other parameter assumes the same value.+createLocationHdfs_qopConfiguration :: Lens.Lens' CreateLocationHdfs (Prelude.Maybe QopConfiguration)+createLocationHdfs_qopConfiguration = Lens.lens (\CreateLocationHdfs' {qopConfiguration} -> qopConfiguration) (\s@CreateLocationHdfs' {} a -> s {qopConfiguration = a} :: CreateLocationHdfs)++-- | The number of DataNodes to replicate the data to when writing to the+-- HDFS cluster. By default, data is replicated to three DataNodes.+createLocationHdfs_replicationFactor :: Lens.Lens' CreateLocationHdfs (Prelude.Maybe Prelude.Natural)+createLocationHdfs_replicationFactor = Lens.lens (\CreateLocationHdfs' {replicationFactor} -> replicationFactor) (\s@CreateLocationHdfs' {} a -> s {replicationFactor = a} :: CreateLocationHdfs)++-- | The user name used to identify the client on the host operating system.+--+-- If @SIMPLE@ is specified for @AuthenticationType@, this parameter is+-- required.+createLocationHdfs_simpleUser :: Lens.Lens' CreateLocationHdfs (Prelude.Maybe Prelude.Text)+createLocationHdfs_simpleUser = Lens.lens (\CreateLocationHdfs' {simpleUser} -> simpleUser) (\s@CreateLocationHdfs' {} a -> s {simpleUser = a} :: CreateLocationHdfs)++-- | A subdirectory in the HDFS cluster. This subdirectory is used to read+-- data from or write data to the HDFS cluster. If the subdirectory isn\'t+-- specified, it will default to @\/@.+createLocationHdfs_subdirectory :: Lens.Lens' CreateLocationHdfs (Prelude.Maybe Prelude.Text)+createLocationHdfs_subdirectory = Lens.lens (\CreateLocationHdfs' {subdirectory} -> subdirectory) (\s@CreateLocationHdfs' {} a -> s {subdirectory = a} :: CreateLocationHdfs)++-- | The key-value pair that represents the tag that you want to add to the+-- location. The value can be an empty string. We recommend using tags to+-- name your resources.+createLocationHdfs_tags :: Lens.Lens' CreateLocationHdfs (Prelude.Maybe [TagListEntry])+createLocationHdfs_tags = Lens.lens (\CreateLocationHdfs' {tags} -> tags) (\s@CreateLocationHdfs' {} a -> s {tags = a} :: CreateLocationHdfs) Prelude.. Lens.mapping Lens.coerced++-- | The NameNode that manages the HDFS namespace. The NameNode performs+-- operations such as opening, closing, and renaming files and directories.+-- The NameNode contains the information to map blocks of data to the+-- DataNodes. You can use only one NameNode.+createLocationHdfs_nameNodes :: Lens.Lens' CreateLocationHdfs (Prelude.NonEmpty HdfsNameNode)+createLocationHdfs_nameNodes = Lens.lens (\CreateLocationHdfs' {nameNodes} -> nameNodes) (\s@CreateLocationHdfs' {} a -> s {nameNodes = a} :: CreateLocationHdfs) Prelude.. Lens.coerced++-- | The type of authentication used to determine the identity of the user.+createLocationHdfs_authenticationType :: Lens.Lens' CreateLocationHdfs HdfsAuthenticationType+createLocationHdfs_authenticationType = Lens.lens (\CreateLocationHdfs' {authenticationType} -> authenticationType) (\s@CreateLocationHdfs' {} a -> s {authenticationType = a} :: CreateLocationHdfs)++-- | The Amazon Resource Names (ARNs) of the agents that are used to connect+-- to the HDFS cluster.+createLocationHdfs_agentArns :: Lens.Lens' CreateLocationHdfs (Prelude.NonEmpty Prelude.Text)+createLocationHdfs_agentArns = Lens.lens (\CreateLocationHdfs' {agentArns} -> agentArns) (\s@CreateLocationHdfs' {} a -> s {agentArns = a} :: CreateLocationHdfs) Prelude.. Lens.coerced++instance Core.AWSRequest CreateLocationHdfs where+ type+ AWSResponse CreateLocationHdfs =+ CreateLocationHdfsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateLocationHdfsResponse'+ Prelude.<$> (x Data..?> "LocationArn")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateLocationHdfs where+ hashWithSalt _salt CreateLocationHdfs' {..} =+ _salt+ `Prelude.hashWithSalt` blockSize+ `Prelude.hashWithSalt` kerberosKeytab+ `Prelude.hashWithSalt` kerberosKrb5Conf+ `Prelude.hashWithSalt` kerberosPrincipal+ `Prelude.hashWithSalt` kmsKeyProviderUri+ `Prelude.hashWithSalt` qopConfiguration+ `Prelude.hashWithSalt` replicationFactor+ `Prelude.hashWithSalt` simpleUser+ `Prelude.hashWithSalt` subdirectory+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` nameNodes+ `Prelude.hashWithSalt` authenticationType+ `Prelude.hashWithSalt` agentArns++instance Prelude.NFData CreateLocationHdfs where+ rnf CreateLocationHdfs' {..} =+ Prelude.rnf blockSize+ `Prelude.seq` Prelude.rnf kerberosKeytab+ `Prelude.seq` Prelude.rnf kerberosKrb5Conf+ `Prelude.seq` Prelude.rnf kerberosPrincipal+ `Prelude.seq` Prelude.rnf kmsKeyProviderUri+ `Prelude.seq` Prelude.rnf qopConfiguration+ `Prelude.seq` Prelude.rnf replicationFactor+ `Prelude.seq` Prelude.rnf simpleUser+ `Prelude.seq` Prelude.rnf subdirectory+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf nameNodes+ `Prelude.seq` Prelude.rnf authenticationType+ `Prelude.seq` Prelude.rnf agentArns++instance Data.ToHeaders CreateLocationHdfs where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "FmrsService.CreateLocationHdfs" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateLocationHdfs where+ toJSON CreateLocationHdfs' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("BlockSize" Data..=) Prelude.<$> blockSize,+ ("KerberosKeytab" Data..=)+ Prelude.<$> kerberosKeytab,+ ("KerberosKrb5Conf" Data..=)+ Prelude.<$> kerberosKrb5Conf,+ ("KerberosPrincipal" Data..=)+ Prelude.<$> kerberosPrincipal,+ ("KmsKeyProviderUri" Data..=)+ Prelude.<$> kmsKeyProviderUri,+ ("QopConfiguration" Data..=)+ Prelude.<$> qopConfiguration,+ ("ReplicationFactor" Data..=)+ Prelude.<$> replicationFactor,+ ("SimpleUser" Data..=) Prelude.<$> simpleUser,+ ("Subdirectory" Data..=) Prelude.<$> subdirectory,+ ("Tags" Data..=) Prelude.<$> tags,+ Prelude.Just ("NameNodes" Data..= nameNodes),+ Prelude.Just+ ("AuthenticationType" Data..= authenticationType),+ Prelude.Just ("AgentArns" Data..= agentArns)+ ]+ )++instance Data.ToPath CreateLocationHdfs where+ toPath = Prelude.const "/"++instance Data.ToQuery CreateLocationHdfs where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateLocationHdfsResponse' smart constructor.+data CreateLocationHdfsResponse = CreateLocationHdfsResponse'+ { -- | The ARN of the source HDFS cluster location that\'s created.+ locationArn :: 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 'CreateLocationHdfsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'locationArn', 'createLocationHdfsResponse_locationArn' - The ARN of the source HDFS cluster location that\'s created.+--+-- 'httpStatus', 'createLocationHdfsResponse_httpStatus' - The response's http status code.+newCreateLocationHdfsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateLocationHdfsResponse+newCreateLocationHdfsResponse pHttpStatus_ =+ CreateLocationHdfsResponse'+ { locationArn =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The ARN of the source HDFS cluster location that\'s created.+createLocationHdfsResponse_locationArn :: Lens.Lens' CreateLocationHdfsResponse (Prelude.Maybe Prelude.Text)+createLocationHdfsResponse_locationArn = Lens.lens (\CreateLocationHdfsResponse' {locationArn} -> locationArn) (\s@CreateLocationHdfsResponse' {} a -> s {locationArn = a} :: CreateLocationHdfsResponse)++-- | The response's http status code.+createLocationHdfsResponse_httpStatus :: Lens.Lens' CreateLocationHdfsResponse Prelude.Int+createLocationHdfsResponse_httpStatus = Lens.lens (\CreateLocationHdfsResponse' {httpStatus} -> httpStatus) (\s@CreateLocationHdfsResponse' {} a -> s {httpStatus = a} :: CreateLocationHdfsResponse)++instance Prelude.NFData CreateLocationHdfsResponse where+ rnf CreateLocationHdfsResponse' {..} =+ Prelude.rnf locationArn+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/DataSync/CreateLocationNfs.hs view
@@ -0,0 +1,364 @@+{-# 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.DataSync.CreateLocationNfs+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Defines a file system on a Network File System (NFS) server that can be+-- read from or written to.+module Amazonka.DataSync.CreateLocationNfs+ ( -- * Creating a Request+ CreateLocationNfs (..),+ newCreateLocationNfs,++ -- * Request Lenses+ createLocationNfs_mountOptions,+ createLocationNfs_tags,+ createLocationNfs_subdirectory,+ createLocationNfs_serverHostname,+ createLocationNfs_onPremConfig,++ -- * Destructuring the Response+ CreateLocationNfsResponse (..),+ newCreateLocationNfsResponse,++ -- * Response Lenses+ createLocationNfsResponse_locationArn,+ createLocationNfsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DataSync.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | CreateLocationNfsRequest+--+-- /See:/ 'newCreateLocationNfs' smart constructor.+data CreateLocationNfs = CreateLocationNfs'+ { -- | The NFS mount options that DataSync can use to mount your NFS share.+ mountOptions :: Prelude.Maybe NfsMountOptions,+ -- | The key-value pair that represents the tag that you want to add to the+ -- location. The value can be an empty string. We recommend using tags to+ -- name your resources.+ tags :: Prelude.Maybe [TagListEntry],+ -- | The subdirectory in the NFS file system that is used to read data from+ -- the NFS source location or write data to the NFS destination. The NFS+ -- path should be a path that\'s exported by the NFS server, or a+ -- subdirectory of that path. The path should be such that it can be+ -- mounted by other NFS clients in your network.+ --+ -- To see all the paths exported by your NFS server, run+ -- \"@showmount -e nfs-server-name@\" from an NFS client that has access to+ -- your server. You can specify any directory that appears in the results,+ -- and any subdirectory of that directory. Ensure that the NFS export is+ -- accessible without Kerberos authentication.+ --+ -- To transfer all the data in the folder you specified, DataSync needs to+ -- have permissions to read all the data. To ensure this, either configure+ -- the NFS export with @no_root_squash,@ or ensure that the permissions for+ -- all of the files that you want DataSync allow read access for all users.+ -- Doing either enables the agent to read the files. For the agent to+ -- access directories, you must additionally enable all execute access.+ --+ -- If you are copying data to or from your Snowcone device, see+ -- <https://docs.aws.amazon.com/datasync/latest/userguide/create-nfs-location.html#nfs-on-snowcone NFS Server on Snowcone>+ -- for more information.+ --+ -- For information about NFS export configuration, see 18.7. The+ -- \/etc\/exports Configuration File in the Red Hat Enterprise Linux+ -- documentation.+ subdirectory :: Prelude.Text,+ -- | The name of the NFS server. This value is the IP address or Domain Name+ -- Service (DNS) name of the NFS server. An agent that is installed+ -- on-premises uses this hostname to mount the NFS server in a network.+ --+ -- If you are copying data to or from your Snowcone device, see+ -- <https://docs.aws.amazon.com/datasync/latest/userguide/create-nfs-location.html#nfs-on-snowcone NFS Server on Snowcone>+ -- for more information.+ --+ -- This name must either be DNS-compliant or must be an IP version 4 (IPv4)+ -- address.+ serverHostname :: Prelude.Text,+ -- | Contains a list of Amazon Resource Names (ARNs) of agents that are used+ -- to connect to an NFS server.+ --+ -- If you are copying data to or from your Snowcone device, see+ -- <https://docs.aws.amazon.com/datasync/latest/userguide/create-nfs-location.html#nfs-on-snowcone NFS Server on Snowcone>+ -- for more information.+ onPremConfig :: OnPremConfig+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateLocationNfs' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'mountOptions', 'createLocationNfs_mountOptions' - The NFS mount options that DataSync can use to mount your NFS share.+--+-- 'tags', 'createLocationNfs_tags' - The key-value pair that represents the tag that you want to add to the+-- location. The value can be an empty string. We recommend using tags to+-- name your resources.+--+-- 'subdirectory', 'createLocationNfs_subdirectory' - The subdirectory in the NFS file system that is used to read data from+-- the NFS source location or write data to the NFS destination. The NFS+-- path should be a path that\'s exported by the NFS server, or a+-- subdirectory of that path. The path should be such that it can be+-- mounted by other NFS clients in your network.+--+-- To see all the paths exported by your NFS server, run+-- \"@showmount -e nfs-server-name@\" from an NFS client that has access to+-- your server. You can specify any directory that appears in the results,+-- and any subdirectory of that directory. Ensure that the NFS export is+-- accessible without Kerberos authentication.+--+-- To transfer all the data in the folder you specified, DataSync needs to+-- have permissions to read all the data. To ensure this, either configure+-- the NFS export with @no_root_squash,@ or ensure that the permissions for+-- all of the files that you want DataSync allow read access for all users.+-- Doing either enables the agent to read the files. For the agent to+-- access directories, you must additionally enable all execute access.+--+-- If you are copying data to or from your Snowcone device, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/create-nfs-location.html#nfs-on-snowcone NFS Server on Snowcone>+-- for more information.+--+-- For information about NFS export configuration, see 18.7. The+-- \/etc\/exports Configuration File in the Red Hat Enterprise Linux+-- documentation.+--+-- 'serverHostname', 'createLocationNfs_serverHostname' - The name of the NFS server. This value is the IP address or Domain Name+-- Service (DNS) name of the NFS server. An agent that is installed+-- on-premises uses this hostname to mount the NFS server in a network.+--+-- If you are copying data to or from your Snowcone device, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/create-nfs-location.html#nfs-on-snowcone NFS Server on Snowcone>+-- for more information.+--+-- This name must either be DNS-compliant or must be an IP version 4 (IPv4)+-- address.+--+-- 'onPremConfig', 'createLocationNfs_onPremConfig' - Contains a list of Amazon Resource Names (ARNs) of agents that are used+-- to connect to an NFS server.+--+-- If you are copying data to or from your Snowcone device, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/create-nfs-location.html#nfs-on-snowcone NFS Server on Snowcone>+-- for more information.+newCreateLocationNfs ::+ -- | 'subdirectory'+ Prelude.Text ->+ -- | 'serverHostname'+ Prelude.Text ->+ -- | 'onPremConfig'+ OnPremConfig ->+ CreateLocationNfs+newCreateLocationNfs+ pSubdirectory_+ pServerHostname_+ pOnPremConfig_ =+ CreateLocationNfs'+ { mountOptions = Prelude.Nothing,+ tags = Prelude.Nothing,+ subdirectory = pSubdirectory_,+ serverHostname = pServerHostname_,+ onPremConfig = pOnPremConfig_+ }++-- | The NFS mount options that DataSync can use to mount your NFS share.+createLocationNfs_mountOptions :: Lens.Lens' CreateLocationNfs (Prelude.Maybe NfsMountOptions)+createLocationNfs_mountOptions = Lens.lens (\CreateLocationNfs' {mountOptions} -> mountOptions) (\s@CreateLocationNfs' {} a -> s {mountOptions = a} :: CreateLocationNfs)++-- | The key-value pair that represents the tag that you want to add to the+-- location. The value can be an empty string. We recommend using tags to+-- name your resources.+createLocationNfs_tags :: Lens.Lens' CreateLocationNfs (Prelude.Maybe [TagListEntry])+createLocationNfs_tags = Lens.lens (\CreateLocationNfs' {tags} -> tags) (\s@CreateLocationNfs' {} a -> s {tags = a} :: CreateLocationNfs) Prelude.. Lens.mapping Lens.coerced++-- | The subdirectory in the NFS file system that is used to read data from+-- the NFS source location or write data to the NFS destination. The NFS+-- path should be a path that\'s exported by the NFS server, or a+-- subdirectory of that path. The path should be such that it can be+-- mounted by other NFS clients in your network.+--+-- To see all the paths exported by your NFS server, run+-- \"@showmount -e nfs-server-name@\" from an NFS client that has access to+-- your server. You can specify any directory that appears in the results,+-- and any subdirectory of that directory. Ensure that the NFS export is+-- accessible without Kerberos authentication.+--+-- To transfer all the data in the folder you specified, DataSync needs to+-- have permissions to read all the data. To ensure this, either configure+-- the NFS export with @no_root_squash,@ or ensure that the permissions for+-- all of the files that you want DataSync allow read access for all users.+-- Doing either enables the agent to read the files. For the agent to+-- access directories, you must additionally enable all execute access.+--+-- If you are copying data to or from your Snowcone device, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/create-nfs-location.html#nfs-on-snowcone NFS Server on Snowcone>+-- for more information.+--+-- For information about NFS export configuration, see 18.7. The+-- \/etc\/exports Configuration File in the Red Hat Enterprise Linux+-- documentation.+createLocationNfs_subdirectory :: Lens.Lens' CreateLocationNfs Prelude.Text+createLocationNfs_subdirectory = Lens.lens (\CreateLocationNfs' {subdirectory} -> subdirectory) (\s@CreateLocationNfs' {} a -> s {subdirectory = a} :: CreateLocationNfs)++-- | The name of the NFS server. This value is the IP address or Domain Name+-- Service (DNS) name of the NFS server. An agent that is installed+-- on-premises uses this hostname to mount the NFS server in a network.+--+-- If you are copying data to or from your Snowcone device, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/create-nfs-location.html#nfs-on-snowcone NFS Server on Snowcone>+-- for more information.+--+-- This name must either be DNS-compliant or must be an IP version 4 (IPv4)+-- address.+createLocationNfs_serverHostname :: Lens.Lens' CreateLocationNfs Prelude.Text+createLocationNfs_serverHostname = Lens.lens (\CreateLocationNfs' {serverHostname} -> serverHostname) (\s@CreateLocationNfs' {} a -> s {serverHostname = a} :: CreateLocationNfs)++-- | Contains a list of Amazon Resource Names (ARNs) of agents that are used+-- to connect to an NFS server.+--+-- If you are copying data to or from your Snowcone device, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/create-nfs-location.html#nfs-on-snowcone NFS Server on Snowcone>+-- for more information.+createLocationNfs_onPremConfig :: Lens.Lens' CreateLocationNfs OnPremConfig+createLocationNfs_onPremConfig = Lens.lens (\CreateLocationNfs' {onPremConfig} -> onPremConfig) (\s@CreateLocationNfs' {} a -> s {onPremConfig = a} :: CreateLocationNfs)++instance Core.AWSRequest CreateLocationNfs where+ type+ AWSResponse CreateLocationNfs =+ CreateLocationNfsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateLocationNfsResponse'+ Prelude.<$> (x Data..?> "LocationArn")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateLocationNfs where+ hashWithSalt _salt CreateLocationNfs' {..} =+ _salt+ `Prelude.hashWithSalt` mountOptions+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` subdirectory+ `Prelude.hashWithSalt` serverHostname+ `Prelude.hashWithSalt` onPremConfig++instance Prelude.NFData CreateLocationNfs where+ rnf CreateLocationNfs' {..} =+ Prelude.rnf mountOptions+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf subdirectory+ `Prelude.seq` Prelude.rnf serverHostname+ `Prelude.seq` Prelude.rnf onPremConfig++instance Data.ToHeaders CreateLocationNfs where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "FmrsService.CreateLocationNfs" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateLocationNfs where+ toJSON CreateLocationNfs' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("MountOptions" Data..=) Prelude.<$> mountOptions,+ ("Tags" Data..=) Prelude.<$> tags,+ Prelude.Just ("Subdirectory" Data..= subdirectory),+ Prelude.Just+ ("ServerHostname" Data..= serverHostname),+ Prelude.Just ("OnPremConfig" Data..= onPremConfig)+ ]+ )++instance Data.ToPath CreateLocationNfs where+ toPath = Prelude.const "/"++instance Data.ToQuery CreateLocationNfs where+ toQuery = Prelude.const Prelude.mempty++-- | CreateLocationNfsResponse+--+-- /See:/ 'newCreateLocationNfsResponse' smart constructor.+data CreateLocationNfsResponse = CreateLocationNfsResponse'+ { -- | The Amazon Resource Name (ARN) of the source NFS file system location+ -- that is created.+ locationArn :: 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 'CreateLocationNfsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'locationArn', 'createLocationNfsResponse_locationArn' - The Amazon Resource Name (ARN) of the source NFS file system location+-- that is created.+--+-- 'httpStatus', 'createLocationNfsResponse_httpStatus' - The response's http status code.+newCreateLocationNfsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateLocationNfsResponse+newCreateLocationNfsResponse pHttpStatus_ =+ CreateLocationNfsResponse'+ { locationArn =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Resource Name (ARN) of the source NFS file system location+-- that is created.+createLocationNfsResponse_locationArn :: Lens.Lens' CreateLocationNfsResponse (Prelude.Maybe Prelude.Text)+createLocationNfsResponse_locationArn = Lens.lens (\CreateLocationNfsResponse' {locationArn} -> locationArn) (\s@CreateLocationNfsResponse' {} a -> s {locationArn = a} :: CreateLocationNfsResponse)++-- | The response's http status code.+createLocationNfsResponse_httpStatus :: Lens.Lens' CreateLocationNfsResponse Prelude.Int+createLocationNfsResponse_httpStatus = Lens.lens (\CreateLocationNfsResponse' {httpStatus} -> httpStatus) (\s@CreateLocationNfsResponse' {} a -> s {httpStatus = a} :: CreateLocationNfsResponse)++instance Prelude.NFData CreateLocationNfsResponse where+ rnf CreateLocationNfsResponse' {..} =+ Prelude.rnf locationArn+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/DataSync/CreateLocationObjectStorage.hs view
@@ -0,0 +1,372 @@+{-# 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.DataSync.CreateLocationObjectStorage+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates an endpoint for an object storage system that DataSync can+-- access for a transfer. For more information, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/create-object-location.html Creating a location for object storage>.+module Amazonka.DataSync.CreateLocationObjectStorage+ ( -- * Creating a Request+ CreateLocationObjectStorage (..),+ newCreateLocationObjectStorage,++ -- * Request Lenses+ createLocationObjectStorage_accessKey,+ createLocationObjectStorage_secretKey,+ createLocationObjectStorage_serverCertificate,+ createLocationObjectStorage_serverPort,+ createLocationObjectStorage_serverProtocol,+ createLocationObjectStorage_subdirectory,+ createLocationObjectStorage_tags,+ createLocationObjectStorage_serverHostname,+ createLocationObjectStorage_bucketName,+ createLocationObjectStorage_agentArns,++ -- * Destructuring the Response+ CreateLocationObjectStorageResponse (..),+ newCreateLocationObjectStorageResponse,++ -- * Response Lenses+ createLocationObjectStorageResponse_locationArn,+ createLocationObjectStorageResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DataSync.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | CreateLocationObjectStorageRequest+--+-- /See:/ 'newCreateLocationObjectStorage' smart constructor.+data CreateLocationObjectStorage = CreateLocationObjectStorage'+ { -- | Specifies the access key (for example, a user name) if credentials are+ -- required to authenticate with the object storage server.+ accessKey :: Prelude.Maybe Prelude.Text,+ -- | Specifies the secret key (for example, a password) if credentials are+ -- required to authenticate with the object storage server.+ secretKey :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | Specifies a certificate to authenticate with an object storage system+ -- that uses a private or self-signed certificate authority (CA). You must+ -- specify a Base64-encoded @.pem@ file (for example,+ -- @file:\/\/\/home\/user\/.ssh\/storage_sys_certificate.pem@). The+ -- certificate can be up to 32768 bytes (before Base64 encoding).+ --+ -- To use this parameter, configure @ServerProtocol@ to @HTTPS@.+ serverCertificate :: Prelude.Maybe Data.Base64,+ -- | Specifies the port that your object storage server accepts inbound+ -- network traffic on (for example, port 443).+ serverPort :: Prelude.Maybe Prelude.Natural,+ -- | Specifies the protocol that your object storage server uses to+ -- communicate.+ serverProtocol :: Prelude.Maybe ObjectStorageServerProtocol,+ -- | Specifies the object prefix for your object storage server. If this is a+ -- source location, DataSync only copies objects with this prefix. If this+ -- is a destination location, DataSync writes all objects with this prefix.+ subdirectory :: Prelude.Maybe Prelude.Text,+ -- | Specifies the key-value pair that represents a tag that you want to add+ -- to the resource. Tags can help you manage, filter, and search for your+ -- resources. We recommend creating a name tag for your location.+ tags :: Prelude.Maybe [TagListEntry],+ -- | Specifies the domain name or IP address of the object storage server. A+ -- DataSync agent uses this hostname to mount the object storage server in+ -- a network.+ serverHostname :: Prelude.Text,+ -- | Specifies the name of the object storage bucket involved in the+ -- transfer.+ bucketName :: Prelude.Text,+ -- | Specifies the Amazon Resource Names (ARNs) of the DataSync agents that+ -- can securely connect with your location.+ agentArns :: Prelude.NonEmpty Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateLocationObjectStorage' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accessKey', 'createLocationObjectStorage_accessKey' - Specifies the access key (for example, a user name) if credentials are+-- required to authenticate with the object storage server.+--+-- 'secretKey', 'createLocationObjectStorage_secretKey' - Specifies the secret key (for example, a password) if credentials are+-- required to authenticate with the object storage server.+--+-- 'serverCertificate', 'createLocationObjectStorage_serverCertificate' - Specifies a certificate to authenticate with an object storage system+-- that uses a private or self-signed certificate authority (CA). You must+-- specify a Base64-encoded @.pem@ file (for example,+-- @file:\/\/\/home\/user\/.ssh\/storage_sys_certificate.pem@). The+-- certificate can be up to 32768 bytes (before Base64 encoding).+--+-- To use this parameter, configure @ServerProtocol@ to @HTTPS@.--+-- -- /Note:/ This 'Lens' automatically encodes and decodes Base64 data.+-- -- The underlying isomorphism will encode to Base64 representation during+-- -- serialisation, and decode from Base64 representation during deserialisation.+-- -- This 'Lens' accepts and returns only raw unencoded data.+--+-- 'serverPort', 'createLocationObjectStorage_serverPort' - Specifies the port that your object storage server accepts inbound+-- network traffic on (for example, port 443).+--+-- 'serverProtocol', 'createLocationObjectStorage_serverProtocol' - Specifies the protocol that your object storage server uses to+-- communicate.+--+-- 'subdirectory', 'createLocationObjectStorage_subdirectory' - Specifies the object prefix for your object storage server. If this is a+-- source location, DataSync only copies objects with this prefix. If this+-- is a destination location, DataSync writes all objects with this prefix.+--+-- 'tags', 'createLocationObjectStorage_tags' - Specifies the key-value pair that represents a tag that you want to add+-- to the resource. Tags can help you manage, filter, and search for your+-- resources. We recommend creating a name tag for your location.+--+-- 'serverHostname', 'createLocationObjectStorage_serverHostname' - Specifies the domain name or IP address of the object storage server. A+-- DataSync agent uses this hostname to mount the object storage server in+-- a network.+--+-- 'bucketName', 'createLocationObjectStorage_bucketName' - Specifies the name of the object storage bucket involved in the+-- transfer.+--+-- 'agentArns', 'createLocationObjectStorage_agentArns' - Specifies the Amazon Resource Names (ARNs) of the DataSync agents that+-- can securely connect with your location.+newCreateLocationObjectStorage ::+ -- | 'serverHostname'+ Prelude.Text ->+ -- | 'bucketName'+ Prelude.Text ->+ -- | 'agentArns'+ Prelude.NonEmpty Prelude.Text ->+ CreateLocationObjectStorage+newCreateLocationObjectStorage+ pServerHostname_+ pBucketName_+ pAgentArns_ =+ CreateLocationObjectStorage'+ { accessKey =+ Prelude.Nothing,+ secretKey = Prelude.Nothing,+ serverCertificate = Prelude.Nothing,+ serverPort = Prelude.Nothing,+ serverProtocol = Prelude.Nothing,+ subdirectory = Prelude.Nothing,+ tags = Prelude.Nothing,+ serverHostname = pServerHostname_,+ bucketName = pBucketName_,+ agentArns = Lens.coerced Lens.# pAgentArns_+ }++-- | Specifies the access key (for example, a user name) if credentials are+-- required to authenticate with the object storage server.+createLocationObjectStorage_accessKey :: Lens.Lens' CreateLocationObjectStorage (Prelude.Maybe Prelude.Text)+createLocationObjectStorage_accessKey = Lens.lens (\CreateLocationObjectStorage' {accessKey} -> accessKey) (\s@CreateLocationObjectStorage' {} a -> s {accessKey = a} :: CreateLocationObjectStorage)++-- | Specifies the secret key (for example, a password) if credentials are+-- required to authenticate with the object storage server.+createLocationObjectStorage_secretKey :: Lens.Lens' CreateLocationObjectStorage (Prelude.Maybe Prelude.Text)+createLocationObjectStorage_secretKey = Lens.lens (\CreateLocationObjectStorage' {secretKey} -> secretKey) (\s@CreateLocationObjectStorage' {} a -> s {secretKey = a} :: CreateLocationObjectStorage) Prelude.. Lens.mapping Data._Sensitive++-- | Specifies a certificate to authenticate with an object storage system+-- that uses a private or self-signed certificate authority (CA). You must+-- specify a Base64-encoded @.pem@ file (for example,+-- @file:\/\/\/home\/user\/.ssh\/storage_sys_certificate.pem@). The+-- certificate can be up to 32768 bytes (before Base64 encoding).+--+-- To use this parameter, configure @ServerProtocol@ to @HTTPS@.--+-- -- /Note:/ This 'Lens' automatically encodes and decodes Base64 data.+-- -- The underlying isomorphism will encode to Base64 representation during+-- -- serialisation, and decode from Base64 representation during deserialisation.+-- -- This 'Lens' accepts and returns only raw unencoded data.+createLocationObjectStorage_serverCertificate :: Lens.Lens' CreateLocationObjectStorage (Prelude.Maybe Prelude.ByteString)+createLocationObjectStorage_serverCertificate = Lens.lens (\CreateLocationObjectStorage' {serverCertificate} -> serverCertificate) (\s@CreateLocationObjectStorage' {} a -> s {serverCertificate = a} :: CreateLocationObjectStorage) Prelude.. Lens.mapping Data._Base64++-- | Specifies the port that your object storage server accepts inbound+-- network traffic on (for example, port 443).+createLocationObjectStorage_serverPort :: Lens.Lens' CreateLocationObjectStorage (Prelude.Maybe Prelude.Natural)+createLocationObjectStorage_serverPort = Lens.lens (\CreateLocationObjectStorage' {serverPort} -> serverPort) (\s@CreateLocationObjectStorage' {} a -> s {serverPort = a} :: CreateLocationObjectStorage)++-- | Specifies the protocol that your object storage server uses to+-- communicate.+createLocationObjectStorage_serverProtocol :: Lens.Lens' CreateLocationObjectStorage (Prelude.Maybe ObjectStorageServerProtocol)+createLocationObjectStorage_serverProtocol = Lens.lens (\CreateLocationObjectStorage' {serverProtocol} -> serverProtocol) (\s@CreateLocationObjectStorage' {} a -> s {serverProtocol = a} :: CreateLocationObjectStorage)++-- | Specifies the object prefix for your object storage server. If this is a+-- source location, DataSync only copies objects with this prefix. If this+-- is a destination location, DataSync writes all objects with this prefix.+createLocationObjectStorage_subdirectory :: Lens.Lens' CreateLocationObjectStorage (Prelude.Maybe Prelude.Text)+createLocationObjectStorage_subdirectory = Lens.lens (\CreateLocationObjectStorage' {subdirectory} -> subdirectory) (\s@CreateLocationObjectStorage' {} a -> s {subdirectory = a} :: CreateLocationObjectStorage)++-- | Specifies the key-value pair that represents a tag that you want to add+-- to the resource. Tags can help you manage, filter, and search for your+-- resources. We recommend creating a name tag for your location.+createLocationObjectStorage_tags :: Lens.Lens' CreateLocationObjectStorage (Prelude.Maybe [TagListEntry])+createLocationObjectStorage_tags = Lens.lens (\CreateLocationObjectStorage' {tags} -> tags) (\s@CreateLocationObjectStorage' {} a -> s {tags = a} :: CreateLocationObjectStorage) Prelude.. Lens.mapping Lens.coerced++-- | Specifies the domain name or IP address of the object storage server. A+-- DataSync agent uses this hostname to mount the object storage server in+-- a network.+createLocationObjectStorage_serverHostname :: Lens.Lens' CreateLocationObjectStorage Prelude.Text+createLocationObjectStorage_serverHostname = Lens.lens (\CreateLocationObjectStorage' {serverHostname} -> serverHostname) (\s@CreateLocationObjectStorage' {} a -> s {serverHostname = a} :: CreateLocationObjectStorage)++-- | Specifies the name of the object storage bucket involved in the+-- transfer.+createLocationObjectStorage_bucketName :: Lens.Lens' CreateLocationObjectStorage Prelude.Text+createLocationObjectStorage_bucketName = Lens.lens (\CreateLocationObjectStorage' {bucketName} -> bucketName) (\s@CreateLocationObjectStorage' {} a -> s {bucketName = a} :: CreateLocationObjectStorage)++-- | Specifies the Amazon Resource Names (ARNs) of the DataSync agents that+-- can securely connect with your location.+createLocationObjectStorage_agentArns :: Lens.Lens' CreateLocationObjectStorage (Prelude.NonEmpty Prelude.Text)+createLocationObjectStorage_agentArns = Lens.lens (\CreateLocationObjectStorage' {agentArns} -> agentArns) (\s@CreateLocationObjectStorage' {} a -> s {agentArns = a} :: CreateLocationObjectStorage) Prelude.. Lens.coerced++instance Core.AWSRequest CreateLocationObjectStorage where+ type+ AWSResponse CreateLocationObjectStorage =+ CreateLocationObjectStorageResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateLocationObjectStorageResponse'+ Prelude.<$> (x Data..?> "LocationArn")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateLocationObjectStorage where+ hashWithSalt _salt CreateLocationObjectStorage' {..} =+ _salt+ `Prelude.hashWithSalt` accessKey+ `Prelude.hashWithSalt` secretKey+ `Prelude.hashWithSalt` serverCertificate+ `Prelude.hashWithSalt` serverPort+ `Prelude.hashWithSalt` serverProtocol+ `Prelude.hashWithSalt` subdirectory+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` serverHostname+ `Prelude.hashWithSalt` bucketName+ `Prelude.hashWithSalt` agentArns++instance Prelude.NFData CreateLocationObjectStorage where+ rnf CreateLocationObjectStorage' {..} =+ Prelude.rnf accessKey+ `Prelude.seq` Prelude.rnf secretKey+ `Prelude.seq` Prelude.rnf serverCertificate+ `Prelude.seq` Prelude.rnf serverPort+ `Prelude.seq` Prelude.rnf serverProtocol+ `Prelude.seq` Prelude.rnf subdirectory+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf serverHostname+ `Prelude.seq` Prelude.rnf bucketName+ `Prelude.seq` Prelude.rnf agentArns++instance Data.ToHeaders CreateLocationObjectStorage where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "FmrsService.CreateLocationObjectStorage" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateLocationObjectStorage where+ toJSON CreateLocationObjectStorage' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("AccessKey" Data..=) Prelude.<$> accessKey,+ ("SecretKey" Data..=) Prelude.<$> secretKey,+ ("ServerCertificate" Data..=)+ Prelude.<$> serverCertificate,+ ("ServerPort" Data..=) Prelude.<$> serverPort,+ ("ServerProtocol" Data..=)+ Prelude.<$> serverProtocol,+ ("Subdirectory" Data..=) Prelude.<$> subdirectory,+ ("Tags" Data..=) Prelude.<$> tags,+ Prelude.Just+ ("ServerHostname" Data..= serverHostname),+ Prelude.Just ("BucketName" Data..= bucketName),+ Prelude.Just ("AgentArns" Data..= agentArns)+ ]+ )++instance Data.ToPath CreateLocationObjectStorage where+ toPath = Prelude.const "/"++instance Data.ToQuery CreateLocationObjectStorage where+ toQuery = Prelude.const Prelude.mempty++-- | CreateLocationObjectStorageResponse+--+-- /See:/ 'newCreateLocationObjectStorageResponse' smart constructor.+data CreateLocationObjectStorageResponse = CreateLocationObjectStorageResponse'+ { -- | Specifies the ARN of the object storage system location that you create.+ locationArn :: 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 'CreateLocationObjectStorageResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'locationArn', 'createLocationObjectStorageResponse_locationArn' - Specifies the ARN of the object storage system location that you create.+--+-- 'httpStatus', 'createLocationObjectStorageResponse_httpStatus' - The response's http status code.+newCreateLocationObjectStorageResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateLocationObjectStorageResponse+newCreateLocationObjectStorageResponse pHttpStatus_ =+ CreateLocationObjectStorageResponse'+ { locationArn =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Specifies the ARN of the object storage system location that you create.+createLocationObjectStorageResponse_locationArn :: Lens.Lens' CreateLocationObjectStorageResponse (Prelude.Maybe Prelude.Text)+createLocationObjectStorageResponse_locationArn = Lens.lens (\CreateLocationObjectStorageResponse' {locationArn} -> locationArn) (\s@CreateLocationObjectStorageResponse' {} a -> s {locationArn = a} :: CreateLocationObjectStorageResponse)++-- | The response's http status code.+createLocationObjectStorageResponse_httpStatus :: Lens.Lens' CreateLocationObjectStorageResponse Prelude.Int+createLocationObjectStorageResponse_httpStatus = Lens.lens (\CreateLocationObjectStorageResponse' {httpStatus} -> httpStatus) (\s@CreateLocationObjectStorageResponse' {} a -> s {httpStatus = a} :: CreateLocationObjectStorageResponse)++instance+ Prelude.NFData+ CreateLocationObjectStorageResponse+ where+ rnf CreateLocationObjectStorageResponse' {..} =+ Prelude.rnf locationArn+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/DataSync/CreateLocationS3.hs view
@@ -0,0 +1,306 @@+{-# 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.DataSync.CreateLocationS3+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates an endpoint for an Amazon S3 bucket that DataSync can access for+-- a transfer.+--+-- For more information, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/create-locations-cli.html#create-location-s3-cli Create an Amazon S3 location>+-- in the /DataSync User Guide/.+module Amazonka.DataSync.CreateLocationS3+ ( -- * Creating a Request+ CreateLocationS3 (..),+ newCreateLocationS3,++ -- * Request Lenses+ createLocationS3_agentArns,+ createLocationS3_s3StorageClass,+ createLocationS3_subdirectory,+ createLocationS3_tags,+ createLocationS3_s3BucketArn,+ createLocationS3_s3Config,++ -- * Destructuring the Response+ CreateLocationS3Response (..),+ newCreateLocationS3Response,++ -- * Response Lenses+ createLocationS3Response_locationArn,+ createLocationS3Response_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DataSync.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | CreateLocationS3Request+--+-- /See:/ 'newCreateLocationS3' smart constructor.+data CreateLocationS3 = CreateLocationS3'+ { -- | If you\'re using DataSync on an Amazon Web Services Outpost, specify the+ -- Amazon Resource Names (ARNs) of the DataSync agents deployed on your+ -- Outpost. For more information about launching a DataSync agent on an+ -- Amazon Web Services Outpost, see+ -- <https://docs.aws.amazon.com/datasync/latest/userguide/deploy-agents.html#outposts-agent Deploy your DataSync agent on Outposts>.+ agentArns :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+ -- | The Amazon S3 storage class that you want to store your files in when+ -- this location is used as a task destination. For buckets in Amazon Web+ -- Services Regions, the storage class defaults to Standard. For buckets on+ -- Outposts, the storage class defaults to Amazon Web Services S3 Outposts.+ --+ -- For more information about S3 storage classes, see+ -- <http://aws.amazon.com/s3/storage-classes/ Amazon S3 Storage Classes>.+ -- Some storage classes have behaviors that can affect your S3 storage+ -- cost. For detailed information, see+ -- <https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes Considerations when working with S3 storage classes in DataSync>.+ s3StorageClass :: Prelude.Maybe S3StorageClass,+ -- | A subdirectory in the Amazon S3 bucket. This subdirectory in Amazon S3+ -- is used to read data from the S3 source location or write data to the S3+ -- destination.+ subdirectory :: Prelude.Maybe Prelude.Text,+ -- | The key-value pair that represents the tag that you want to add to the+ -- location. The value can be an empty string. We recommend using tags to+ -- name your resources.+ tags :: Prelude.Maybe [TagListEntry],+ -- | The ARN of the Amazon S3 bucket. If the bucket is on an Amazon Web+ -- Services Outpost, this must be an access point ARN.+ s3BucketArn :: Prelude.Text,+ s3Config :: S3Config+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateLocationS3' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'agentArns', 'createLocationS3_agentArns' - If you\'re using DataSync on an Amazon Web Services Outpost, specify the+-- Amazon Resource Names (ARNs) of the DataSync agents deployed on your+-- Outpost. For more information about launching a DataSync agent on an+-- Amazon Web Services Outpost, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/deploy-agents.html#outposts-agent Deploy your DataSync agent on Outposts>.+--+-- 's3StorageClass', 'createLocationS3_s3StorageClass' - The Amazon S3 storage class that you want to store your files in when+-- this location is used as a task destination. For buckets in Amazon Web+-- Services Regions, the storage class defaults to Standard. For buckets on+-- Outposts, the storage class defaults to Amazon Web Services S3 Outposts.+--+-- For more information about S3 storage classes, see+-- <http://aws.amazon.com/s3/storage-classes/ Amazon S3 Storage Classes>.+-- Some storage classes have behaviors that can affect your S3 storage+-- cost. For detailed information, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes Considerations when working with S3 storage classes in DataSync>.+--+-- 'subdirectory', 'createLocationS3_subdirectory' - A subdirectory in the Amazon S3 bucket. This subdirectory in Amazon S3+-- is used to read data from the S3 source location or write data to the S3+-- destination.+--+-- 'tags', 'createLocationS3_tags' - The key-value pair that represents the tag that you want to add to the+-- location. The value can be an empty string. We recommend using tags to+-- name your resources.+--+-- 's3BucketArn', 'createLocationS3_s3BucketArn' - The ARN of the Amazon S3 bucket. If the bucket is on an Amazon Web+-- Services Outpost, this must be an access point ARN.+--+-- 's3Config', 'createLocationS3_s3Config' - Undocumented member.+newCreateLocationS3 ::+ -- | 's3BucketArn'+ Prelude.Text ->+ -- | 's3Config'+ S3Config ->+ CreateLocationS3+newCreateLocationS3 pS3BucketArn_ pS3Config_ =+ CreateLocationS3'+ { agentArns = Prelude.Nothing,+ s3StorageClass = Prelude.Nothing,+ subdirectory = Prelude.Nothing,+ tags = Prelude.Nothing,+ s3BucketArn = pS3BucketArn_,+ s3Config = pS3Config_+ }++-- | If you\'re using DataSync on an Amazon Web Services Outpost, specify the+-- Amazon Resource Names (ARNs) of the DataSync agents deployed on your+-- Outpost. For more information about launching a DataSync agent on an+-- Amazon Web Services Outpost, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/deploy-agents.html#outposts-agent Deploy your DataSync agent on Outposts>.+createLocationS3_agentArns :: Lens.Lens' CreateLocationS3 (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+createLocationS3_agentArns = Lens.lens (\CreateLocationS3' {agentArns} -> agentArns) (\s@CreateLocationS3' {} a -> s {agentArns = a} :: CreateLocationS3) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon S3 storage class that you want to store your files in when+-- this location is used as a task destination. For buckets in Amazon Web+-- Services Regions, the storage class defaults to Standard. For buckets on+-- Outposts, the storage class defaults to Amazon Web Services S3 Outposts.+--+-- For more information about S3 storage classes, see+-- <http://aws.amazon.com/s3/storage-classes/ Amazon S3 Storage Classes>.+-- Some storage classes have behaviors that can affect your S3 storage+-- cost. For detailed information, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes Considerations when working with S3 storage classes in DataSync>.+createLocationS3_s3StorageClass :: Lens.Lens' CreateLocationS3 (Prelude.Maybe S3StorageClass)+createLocationS3_s3StorageClass = Lens.lens (\CreateLocationS3' {s3StorageClass} -> s3StorageClass) (\s@CreateLocationS3' {} a -> s {s3StorageClass = a} :: CreateLocationS3)++-- | A subdirectory in the Amazon S3 bucket. This subdirectory in Amazon S3+-- is used to read data from the S3 source location or write data to the S3+-- destination.+createLocationS3_subdirectory :: Lens.Lens' CreateLocationS3 (Prelude.Maybe Prelude.Text)+createLocationS3_subdirectory = Lens.lens (\CreateLocationS3' {subdirectory} -> subdirectory) (\s@CreateLocationS3' {} a -> s {subdirectory = a} :: CreateLocationS3)++-- | The key-value pair that represents the tag that you want to add to the+-- location. The value can be an empty string. We recommend using tags to+-- name your resources.+createLocationS3_tags :: Lens.Lens' CreateLocationS3 (Prelude.Maybe [TagListEntry])+createLocationS3_tags = Lens.lens (\CreateLocationS3' {tags} -> tags) (\s@CreateLocationS3' {} a -> s {tags = a} :: CreateLocationS3) Prelude.. Lens.mapping Lens.coerced++-- | The ARN of the Amazon S3 bucket. If the bucket is on an Amazon Web+-- Services Outpost, this must be an access point ARN.+createLocationS3_s3BucketArn :: Lens.Lens' CreateLocationS3 Prelude.Text+createLocationS3_s3BucketArn = Lens.lens (\CreateLocationS3' {s3BucketArn} -> s3BucketArn) (\s@CreateLocationS3' {} a -> s {s3BucketArn = a} :: CreateLocationS3)++-- | Undocumented member.+createLocationS3_s3Config :: Lens.Lens' CreateLocationS3 S3Config+createLocationS3_s3Config = Lens.lens (\CreateLocationS3' {s3Config} -> s3Config) (\s@CreateLocationS3' {} a -> s {s3Config = a} :: CreateLocationS3)++instance Core.AWSRequest CreateLocationS3 where+ type+ AWSResponse CreateLocationS3 =+ CreateLocationS3Response+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateLocationS3Response'+ Prelude.<$> (x Data..?> "LocationArn")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateLocationS3 where+ hashWithSalt _salt CreateLocationS3' {..} =+ _salt+ `Prelude.hashWithSalt` agentArns+ `Prelude.hashWithSalt` s3StorageClass+ `Prelude.hashWithSalt` subdirectory+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` s3BucketArn+ `Prelude.hashWithSalt` s3Config++instance Prelude.NFData CreateLocationS3 where+ rnf CreateLocationS3' {..} =+ Prelude.rnf agentArns+ `Prelude.seq` Prelude.rnf s3StorageClass+ `Prelude.seq` Prelude.rnf subdirectory+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf s3BucketArn+ `Prelude.seq` Prelude.rnf s3Config++instance Data.ToHeaders CreateLocationS3 where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "FmrsService.CreateLocationS3" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateLocationS3 where+ toJSON CreateLocationS3' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("AgentArns" Data..=) Prelude.<$> agentArns,+ ("S3StorageClass" Data..=)+ Prelude.<$> s3StorageClass,+ ("Subdirectory" Data..=) Prelude.<$> subdirectory,+ ("Tags" Data..=) Prelude.<$> tags,+ Prelude.Just ("S3BucketArn" Data..= s3BucketArn),+ Prelude.Just ("S3Config" Data..= s3Config)+ ]+ )++instance Data.ToPath CreateLocationS3 where+ toPath = Prelude.const "/"++instance Data.ToQuery CreateLocationS3 where+ toQuery = Prelude.const Prelude.mempty++-- | CreateLocationS3Response+--+-- /See:/ 'newCreateLocationS3Response' smart constructor.+data CreateLocationS3Response = CreateLocationS3Response'+ { -- | The Amazon Resource Name (ARN) of the source Amazon S3 bucket location+ -- that is created.+ locationArn :: 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 'CreateLocationS3Response' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'locationArn', 'createLocationS3Response_locationArn' - The Amazon Resource Name (ARN) of the source Amazon S3 bucket location+-- that is created.+--+-- 'httpStatus', 'createLocationS3Response_httpStatus' - The response's http status code.+newCreateLocationS3Response ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateLocationS3Response+newCreateLocationS3Response pHttpStatus_ =+ CreateLocationS3Response'+ { locationArn =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Resource Name (ARN) of the source Amazon S3 bucket location+-- that is created.+createLocationS3Response_locationArn :: Lens.Lens' CreateLocationS3Response (Prelude.Maybe Prelude.Text)+createLocationS3Response_locationArn = Lens.lens (\CreateLocationS3Response' {locationArn} -> locationArn) (\s@CreateLocationS3Response' {} a -> s {locationArn = a} :: CreateLocationS3Response)++-- | The response's http status code.+createLocationS3Response_httpStatus :: Lens.Lens' CreateLocationS3Response Prelude.Int+createLocationS3Response_httpStatus = Lens.lens (\CreateLocationS3Response' {httpStatus} -> httpStatus) (\s@CreateLocationS3Response' {} a -> s {httpStatus = a} :: CreateLocationS3Response)++instance Prelude.NFData CreateLocationS3Response where+ rnf CreateLocationS3Response' {..} =+ Prelude.rnf locationArn+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/DataSync/CreateLocationSmb.hs view
@@ -0,0 +1,379 @@+{-# 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.DataSync.CreateLocationSmb+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Defines a file system on a Server Message Block (SMB) server that can be+-- read from or written to.+module Amazonka.DataSync.CreateLocationSmb+ ( -- * Creating a Request+ CreateLocationSmb (..),+ newCreateLocationSmb,++ -- * Request Lenses+ createLocationSmb_domain,+ createLocationSmb_mountOptions,+ createLocationSmb_tags,+ createLocationSmb_subdirectory,+ createLocationSmb_serverHostname,+ createLocationSmb_user,+ createLocationSmb_password,+ createLocationSmb_agentArns,++ -- * Destructuring the Response+ CreateLocationSmbResponse (..),+ newCreateLocationSmbResponse,++ -- * Response Lenses+ createLocationSmbResponse_locationArn,+ createLocationSmbResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DataSync.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | CreateLocationSmbRequest+--+-- /See:/ 'newCreateLocationSmb' smart constructor.+data CreateLocationSmb = CreateLocationSmb'+ { -- | The name of the Windows domain that the SMB server belongs to.+ domain :: Prelude.Maybe Prelude.Text,+ -- | The mount options used by DataSync to access the SMB server.+ mountOptions :: Prelude.Maybe SmbMountOptions,+ -- | The key-value pair that represents the tag that you want to add to the+ -- location. The value can be an empty string. We recommend using tags to+ -- name your resources.+ tags :: Prelude.Maybe [TagListEntry],+ -- | The subdirectory in the SMB file system that is used to read data from+ -- the SMB source location or write data to the SMB destination. The SMB+ -- path should be a path that\'s exported by the SMB server, or a+ -- subdirectory of that path. The path should be such that it can be+ -- mounted by other SMB clients in your network.+ --+ -- @Subdirectory@ must be specified with forward slashes. For example,+ -- @\/path\/to\/folder@.+ --+ -- To transfer all the data in the folder you specified, DataSync needs to+ -- have permissions to mount the SMB share, as well as to access all the+ -- data in that share. To ensure this, either ensure that the+ -- user\/password specified belongs to the user who can mount the share,+ -- and who has the appropriate permissions for all of the files and+ -- directories that you want DataSync to access, or use credentials of a+ -- member of the Backup Operators group to mount the share. Doing either+ -- enables the agent to access the data. For the agent to access+ -- directories, you must additionally enable all execute access.+ subdirectory :: Prelude.Text,+ -- | The name of the SMB server. This value is the IP address or Domain Name+ -- Service (DNS) name of the SMB server. An agent that is installed+ -- on-premises uses this hostname to mount the SMB server in a network.+ --+ -- This name must either be DNS-compliant or must be an IP version 4 (IPv4)+ -- address.+ serverHostname :: Prelude.Text,+ -- | The user who can mount the share, has the permissions to access files+ -- and folders in the SMB share.+ --+ -- For information about choosing a user name that ensures sufficient+ -- permissions to files, folders, and metadata, see the+ -- <create-smb-location.html#SMBuser User setting> for SMB locations.+ user :: Prelude.Text,+ -- | The password of the user who can mount the share, has the permissions to+ -- access files and folders in the SMB share.+ password :: Data.Sensitive Prelude.Text,+ -- | The Amazon Resource Names (ARNs) of agents to use for a Simple Message+ -- Block (SMB) location.+ agentArns :: Prelude.NonEmpty Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateLocationSmb' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'domain', 'createLocationSmb_domain' - The name of the Windows domain that the SMB server belongs to.+--+-- 'mountOptions', 'createLocationSmb_mountOptions' - The mount options used by DataSync to access the SMB server.+--+-- 'tags', 'createLocationSmb_tags' - The key-value pair that represents the tag that you want to add to the+-- location. The value can be an empty string. We recommend using tags to+-- name your resources.+--+-- 'subdirectory', 'createLocationSmb_subdirectory' - The subdirectory in the SMB file system that is used to read data from+-- the SMB source location or write data to the SMB destination. The SMB+-- path should be a path that\'s exported by the SMB server, or a+-- subdirectory of that path. The path should be such that it can be+-- mounted by other SMB clients in your network.+--+-- @Subdirectory@ must be specified with forward slashes. For example,+-- @\/path\/to\/folder@.+--+-- To transfer all the data in the folder you specified, DataSync needs to+-- have permissions to mount the SMB share, as well as to access all the+-- data in that share. To ensure this, either ensure that the+-- user\/password specified belongs to the user who can mount the share,+-- and who has the appropriate permissions for all of the files and+-- directories that you want DataSync to access, or use credentials of a+-- member of the Backup Operators group to mount the share. Doing either+-- enables the agent to access the data. For the agent to access+-- directories, you must additionally enable all execute access.+--+-- 'serverHostname', 'createLocationSmb_serverHostname' - The name of the SMB server. This value is the IP address or Domain Name+-- Service (DNS) name of the SMB server. An agent that is installed+-- on-premises uses this hostname to mount the SMB server in a network.+--+-- This name must either be DNS-compliant or must be an IP version 4 (IPv4)+-- address.+--+-- 'user', 'createLocationSmb_user' - The user who can mount the share, has the permissions to access files+-- and folders in the SMB share.+--+-- For information about choosing a user name that ensures sufficient+-- permissions to files, folders, and metadata, see the+-- <create-smb-location.html#SMBuser User setting> for SMB locations.+--+-- 'password', 'createLocationSmb_password' - The password of the user who can mount the share, has the permissions to+-- access files and folders in the SMB share.+--+-- 'agentArns', 'createLocationSmb_agentArns' - The Amazon Resource Names (ARNs) of agents to use for a Simple Message+-- Block (SMB) location.+newCreateLocationSmb ::+ -- | 'subdirectory'+ Prelude.Text ->+ -- | 'serverHostname'+ Prelude.Text ->+ -- | 'user'+ Prelude.Text ->+ -- | 'password'+ Prelude.Text ->+ -- | 'agentArns'+ Prelude.NonEmpty Prelude.Text ->+ CreateLocationSmb+newCreateLocationSmb+ pSubdirectory_+ pServerHostname_+ pUser_+ pPassword_+ pAgentArns_ =+ CreateLocationSmb'+ { domain = Prelude.Nothing,+ mountOptions = Prelude.Nothing,+ tags = Prelude.Nothing,+ subdirectory = pSubdirectory_,+ serverHostname = pServerHostname_,+ user = pUser_,+ password = Data._Sensitive Lens.# pPassword_,+ agentArns = Lens.coerced Lens.# pAgentArns_+ }++-- | The name of the Windows domain that the SMB server belongs to.+createLocationSmb_domain :: Lens.Lens' CreateLocationSmb (Prelude.Maybe Prelude.Text)+createLocationSmb_domain = Lens.lens (\CreateLocationSmb' {domain} -> domain) (\s@CreateLocationSmb' {} a -> s {domain = a} :: CreateLocationSmb)++-- | The mount options used by DataSync to access the SMB server.+createLocationSmb_mountOptions :: Lens.Lens' CreateLocationSmb (Prelude.Maybe SmbMountOptions)+createLocationSmb_mountOptions = Lens.lens (\CreateLocationSmb' {mountOptions} -> mountOptions) (\s@CreateLocationSmb' {} a -> s {mountOptions = a} :: CreateLocationSmb)++-- | The key-value pair that represents the tag that you want to add to the+-- location. The value can be an empty string. We recommend using tags to+-- name your resources.+createLocationSmb_tags :: Lens.Lens' CreateLocationSmb (Prelude.Maybe [TagListEntry])+createLocationSmb_tags = Lens.lens (\CreateLocationSmb' {tags} -> tags) (\s@CreateLocationSmb' {} a -> s {tags = a} :: CreateLocationSmb) Prelude.. Lens.mapping Lens.coerced++-- | The subdirectory in the SMB file system that is used to read data from+-- the SMB source location or write data to the SMB destination. The SMB+-- path should be a path that\'s exported by the SMB server, or a+-- subdirectory of that path. The path should be such that it can be+-- mounted by other SMB clients in your network.+--+-- @Subdirectory@ must be specified with forward slashes. For example,+-- @\/path\/to\/folder@.+--+-- To transfer all the data in the folder you specified, DataSync needs to+-- have permissions to mount the SMB share, as well as to access all the+-- data in that share. To ensure this, either ensure that the+-- user\/password specified belongs to the user who can mount the share,+-- and who has the appropriate permissions for all of the files and+-- directories that you want DataSync to access, or use credentials of a+-- member of the Backup Operators group to mount the share. Doing either+-- enables the agent to access the data. For the agent to access+-- directories, you must additionally enable all execute access.+createLocationSmb_subdirectory :: Lens.Lens' CreateLocationSmb Prelude.Text+createLocationSmb_subdirectory = Lens.lens (\CreateLocationSmb' {subdirectory} -> subdirectory) (\s@CreateLocationSmb' {} a -> s {subdirectory = a} :: CreateLocationSmb)++-- | The name of the SMB server. This value is the IP address or Domain Name+-- Service (DNS) name of the SMB server. An agent that is installed+-- on-premises uses this hostname to mount the SMB server in a network.+--+-- This name must either be DNS-compliant or must be an IP version 4 (IPv4)+-- address.+createLocationSmb_serverHostname :: Lens.Lens' CreateLocationSmb Prelude.Text+createLocationSmb_serverHostname = Lens.lens (\CreateLocationSmb' {serverHostname} -> serverHostname) (\s@CreateLocationSmb' {} a -> s {serverHostname = a} :: CreateLocationSmb)++-- | The user who can mount the share, has the permissions to access files+-- and folders in the SMB share.+--+-- For information about choosing a user name that ensures sufficient+-- permissions to files, folders, and metadata, see the+-- <create-smb-location.html#SMBuser User setting> for SMB locations.+createLocationSmb_user :: Lens.Lens' CreateLocationSmb Prelude.Text+createLocationSmb_user = Lens.lens (\CreateLocationSmb' {user} -> user) (\s@CreateLocationSmb' {} a -> s {user = a} :: CreateLocationSmb)++-- | The password of the user who can mount the share, has the permissions to+-- access files and folders in the SMB share.+createLocationSmb_password :: Lens.Lens' CreateLocationSmb Prelude.Text+createLocationSmb_password = Lens.lens (\CreateLocationSmb' {password} -> password) (\s@CreateLocationSmb' {} a -> s {password = a} :: CreateLocationSmb) Prelude.. Data._Sensitive++-- | The Amazon Resource Names (ARNs) of agents to use for a Simple Message+-- Block (SMB) location.+createLocationSmb_agentArns :: Lens.Lens' CreateLocationSmb (Prelude.NonEmpty Prelude.Text)+createLocationSmb_agentArns = Lens.lens (\CreateLocationSmb' {agentArns} -> agentArns) (\s@CreateLocationSmb' {} a -> s {agentArns = a} :: CreateLocationSmb) Prelude.. Lens.coerced++instance Core.AWSRequest CreateLocationSmb where+ type+ AWSResponse CreateLocationSmb =+ CreateLocationSmbResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateLocationSmbResponse'+ Prelude.<$> (x Data..?> "LocationArn")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateLocationSmb where+ hashWithSalt _salt CreateLocationSmb' {..} =+ _salt+ `Prelude.hashWithSalt` domain+ `Prelude.hashWithSalt` mountOptions+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` subdirectory+ `Prelude.hashWithSalt` serverHostname+ `Prelude.hashWithSalt` user+ `Prelude.hashWithSalt` password+ `Prelude.hashWithSalt` agentArns++instance Prelude.NFData CreateLocationSmb where+ rnf CreateLocationSmb' {..} =+ Prelude.rnf domain+ `Prelude.seq` Prelude.rnf mountOptions+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf subdirectory+ `Prelude.seq` Prelude.rnf serverHostname+ `Prelude.seq` Prelude.rnf user+ `Prelude.seq` Prelude.rnf password+ `Prelude.seq` Prelude.rnf agentArns++instance Data.ToHeaders CreateLocationSmb where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "FmrsService.CreateLocationSmb" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateLocationSmb where+ toJSON CreateLocationSmb' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Domain" Data..=) Prelude.<$> domain,+ ("MountOptions" Data..=) Prelude.<$> mountOptions,+ ("Tags" Data..=) Prelude.<$> tags,+ Prelude.Just ("Subdirectory" Data..= subdirectory),+ Prelude.Just+ ("ServerHostname" Data..= serverHostname),+ Prelude.Just ("User" Data..= user),+ Prelude.Just ("Password" Data..= password),+ Prelude.Just ("AgentArns" Data..= agentArns)+ ]+ )++instance Data.ToPath CreateLocationSmb where+ toPath = Prelude.const "/"++instance Data.ToQuery CreateLocationSmb where+ toQuery = Prelude.const Prelude.mempty++-- | CreateLocationSmbResponse+--+-- /See:/ 'newCreateLocationSmbResponse' smart constructor.+data CreateLocationSmbResponse = CreateLocationSmbResponse'+ { -- | The Amazon Resource Name (ARN) of the source SMB file system location+ -- that is created.+ locationArn :: 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 'CreateLocationSmbResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'locationArn', 'createLocationSmbResponse_locationArn' - The Amazon Resource Name (ARN) of the source SMB file system location+-- that is created.+--+-- 'httpStatus', 'createLocationSmbResponse_httpStatus' - The response's http status code.+newCreateLocationSmbResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateLocationSmbResponse+newCreateLocationSmbResponse pHttpStatus_ =+ CreateLocationSmbResponse'+ { locationArn =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Resource Name (ARN) of the source SMB file system location+-- that is created.+createLocationSmbResponse_locationArn :: Lens.Lens' CreateLocationSmbResponse (Prelude.Maybe Prelude.Text)+createLocationSmbResponse_locationArn = Lens.lens (\CreateLocationSmbResponse' {locationArn} -> locationArn) (\s@CreateLocationSmbResponse' {} a -> s {locationArn = a} :: CreateLocationSmbResponse)++-- | The response's http status code.+createLocationSmbResponse_httpStatus :: Lens.Lens' CreateLocationSmbResponse Prelude.Int+createLocationSmbResponse_httpStatus = Lens.lens (\CreateLocationSmbResponse' {httpStatus} -> httpStatus) (\s@CreateLocationSmbResponse' {} a -> s {httpStatus = a} :: CreateLocationSmbResponse)++instance Prelude.NFData CreateLocationSmbResponse where+ rnf CreateLocationSmbResponse' {..} =+ Prelude.rnf locationArn+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/DataSync/CreateTask.hs view
@@ -0,0 +1,348 @@+{-# 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.DataSync.CreateTask+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Configures a task, which defines where and how DataSync transfers your+-- data.+--+-- A task includes a source location, a destination location, and the+-- preferences for how and when you want to transfer your data (such as+-- bandwidth limits, scheduling, among other options).+module Amazonka.DataSync.CreateTask+ ( -- * Creating a Request+ CreateTask (..),+ newCreateTask,++ -- * Request Lenses+ createTask_cloudWatchLogGroupArn,+ createTask_excludes,+ createTask_includes,+ createTask_name,+ createTask_options,+ createTask_schedule,+ createTask_tags,+ createTask_sourceLocationArn,+ createTask_destinationLocationArn,++ -- * Destructuring the Response+ CreateTaskResponse (..),+ newCreateTaskResponse,++ -- * Response Lenses+ createTaskResponse_taskArn,+ createTaskResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DataSync.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | CreateTaskRequest+--+-- /See:/ 'newCreateTask' smart constructor.+data CreateTask = CreateTask'+ { -- | The Amazon Resource Name (ARN) of the Amazon CloudWatch log group that+ -- is used to monitor and log events in the task.+ cloudWatchLogGroupArn :: Prelude.Maybe Prelude.Text,+ -- | Specifies a list of filter rules that exclude specific data during your+ -- transfer. For more information and examples, see+ -- <https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html Filtering data transferred by DataSync>.+ excludes :: Prelude.Maybe [FilterRule],+ -- | Specifies a list of filter rules that include specific data during your+ -- transfer. For more information and examples, see+ -- <https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html Filtering data transferred by DataSync>.+ includes :: Prelude.Maybe [FilterRule],+ -- | The name of a task. This value is a text reference that is used to+ -- identify the task in the console.+ name :: Prelude.Maybe Prelude.Text,+ -- | Specifies the configuration options for a task. Some options include+ -- preserving file or object metadata and verifying data integrity.+ --+ -- You can also override these options before starting an individual run of+ -- a task (also known as a /task execution/). For more information, see+ -- <https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html StartTaskExecution>.+ options :: Prelude.Maybe Options,+ -- | Specifies a schedule used to periodically transfer files from a source+ -- to a destination location. The schedule should be specified in UTC time.+ -- For more information, see+ -- <https://docs.aws.amazon.com/datasync/latest/userguide/task-scheduling.html Scheduling your task>.+ schedule :: Prelude.Maybe TaskSchedule,+ -- | Specifies the tags that you want to apply to the Amazon Resource Name+ -- (ARN) representing the task.+ --+ -- /Tags/ are key-value pairs that help you manage, filter, and search for+ -- your DataSync resources.+ tags :: Prelude.Maybe [TagListEntry],+ -- | The Amazon Resource Name (ARN) of the source location for the task.+ sourceLocationArn :: Prelude.Text,+ -- | The Amazon Resource Name (ARN) of an Amazon Web Services storage+ -- resource\'s location.+ destinationLocationArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateTask' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'cloudWatchLogGroupArn', 'createTask_cloudWatchLogGroupArn' - The Amazon Resource Name (ARN) of the Amazon CloudWatch log group that+-- is used to monitor and log events in the task.+--+-- 'excludes', 'createTask_excludes' - Specifies a list of filter rules that exclude specific data during your+-- transfer. For more information and examples, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html Filtering data transferred by DataSync>.+--+-- 'includes', 'createTask_includes' - Specifies a list of filter rules that include specific data during your+-- transfer. For more information and examples, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html Filtering data transferred by DataSync>.+--+-- 'name', 'createTask_name' - The name of a task. This value is a text reference that is used to+-- identify the task in the console.+--+-- 'options', 'createTask_options' - Specifies the configuration options for a task. Some options include+-- preserving file or object metadata and verifying data integrity.+--+-- You can also override these options before starting an individual run of+-- a task (also known as a /task execution/). For more information, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html StartTaskExecution>.+--+-- 'schedule', 'createTask_schedule' - Specifies a schedule used to periodically transfer files from a source+-- to a destination location. The schedule should be specified in UTC time.+-- For more information, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/task-scheduling.html Scheduling your task>.+--+-- 'tags', 'createTask_tags' - Specifies the tags that you want to apply to the Amazon Resource Name+-- (ARN) representing the task.+--+-- /Tags/ are key-value pairs that help you manage, filter, and search for+-- your DataSync resources.+--+-- 'sourceLocationArn', 'createTask_sourceLocationArn' - The Amazon Resource Name (ARN) of the source location for the task.+--+-- 'destinationLocationArn', 'createTask_destinationLocationArn' - The Amazon Resource Name (ARN) of an Amazon Web Services storage+-- resource\'s location.+newCreateTask ::+ -- | 'sourceLocationArn'+ Prelude.Text ->+ -- | 'destinationLocationArn'+ Prelude.Text ->+ CreateTask+newCreateTask+ pSourceLocationArn_+ pDestinationLocationArn_ =+ CreateTask'+ { cloudWatchLogGroupArn =+ Prelude.Nothing,+ excludes = Prelude.Nothing,+ includes = Prelude.Nothing,+ name = Prelude.Nothing,+ options = Prelude.Nothing,+ schedule = Prelude.Nothing,+ tags = Prelude.Nothing,+ sourceLocationArn = pSourceLocationArn_,+ destinationLocationArn = pDestinationLocationArn_+ }++-- | The Amazon Resource Name (ARN) of the Amazon CloudWatch log group that+-- is used to monitor and log events in the task.+createTask_cloudWatchLogGroupArn :: Lens.Lens' CreateTask (Prelude.Maybe Prelude.Text)+createTask_cloudWatchLogGroupArn = Lens.lens (\CreateTask' {cloudWatchLogGroupArn} -> cloudWatchLogGroupArn) (\s@CreateTask' {} a -> s {cloudWatchLogGroupArn = a} :: CreateTask)++-- | Specifies a list of filter rules that exclude specific data during your+-- transfer. For more information and examples, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html Filtering data transferred by DataSync>.+createTask_excludes :: Lens.Lens' CreateTask (Prelude.Maybe [FilterRule])+createTask_excludes = Lens.lens (\CreateTask' {excludes} -> excludes) (\s@CreateTask' {} a -> s {excludes = a} :: CreateTask) Prelude.. Lens.mapping Lens.coerced++-- | Specifies a list of filter rules that include specific data during your+-- transfer. For more information and examples, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html Filtering data transferred by DataSync>.+createTask_includes :: Lens.Lens' CreateTask (Prelude.Maybe [FilterRule])+createTask_includes = Lens.lens (\CreateTask' {includes} -> includes) (\s@CreateTask' {} a -> s {includes = a} :: CreateTask) Prelude.. Lens.mapping Lens.coerced++-- | The name of a task. This value is a text reference that is used to+-- identify the task in the console.+createTask_name :: Lens.Lens' CreateTask (Prelude.Maybe Prelude.Text)+createTask_name = Lens.lens (\CreateTask' {name} -> name) (\s@CreateTask' {} a -> s {name = a} :: CreateTask)++-- | Specifies the configuration options for a task. Some options include+-- preserving file or object metadata and verifying data integrity.+--+-- You can also override these options before starting an individual run of+-- a task (also known as a /task execution/). For more information, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html StartTaskExecution>.+createTask_options :: Lens.Lens' CreateTask (Prelude.Maybe Options)+createTask_options = Lens.lens (\CreateTask' {options} -> options) (\s@CreateTask' {} a -> s {options = a} :: CreateTask)++-- | Specifies a schedule used to periodically transfer files from a source+-- to a destination location. The schedule should be specified in UTC time.+-- For more information, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/task-scheduling.html Scheduling your task>.+createTask_schedule :: Lens.Lens' CreateTask (Prelude.Maybe TaskSchedule)+createTask_schedule = Lens.lens (\CreateTask' {schedule} -> schedule) (\s@CreateTask' {} a -> s {schedule = a} :: CreateTask)++-- | Specifies the tags that you want to apply to the Amazon Resource Name+-- (ARN) representing the task.+--+-- /Tags/ are key-value pairs that help you manage, filter, and search for+-- your DataSync resources.+createTask_tags :: Lens.Lens' CreateTask (Prelude.Maybe [TagListEntry])+createTask_tags = Lens.lens (\CreateTask' {tags} -> tags) (\s@CreateTask' {} a -> s {tags = a} :: CreateTask) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Resource Name (ARN) of the source location for the task.+createTask_sourceLocationArn :: Lens.Lens' CreateTask Prelude.Text+createTask_sourceLocationArn = Lens.lens (\CreateTask' {sourceLocationArn} -> sourceLocationArn) (\s@CreateTask' {} a -> s {sourceLocationArn = a} :: CreateTask)++-- | The Amazon Resource Name (ARN) of an Amazon Web Services storage+-- resource\'s location.+createTask_destinationLocationArn :: Lens.Lens' CreateTask Prelude.Text+createTask_destinationLocationArn = Lens.lens (\CreateTask' {destinationLocationArn} -> destinationLocationArn) (\s@CreateTask' {} a -> s {destinationLocationArn = a} :: CreateTask)++instance Core.AWSRequest CreateTask where+ type AWSResponse CreateTask = CreateTaskResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateTaskResponse'+ Prelude.<$> (x Data..?> "TaskArn")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateTask where+ hashWithSalt _salt CreateTask' {..} =+ _salt+ `Prelude.hashWithSalt` cloudWatchLogGroupArn+ `Prelude.hashWithSalt` excludes+ `Prelude.hashWithSalt` includes+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` options+ `Prelude.hashWithSalt` schedule+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` sourceLocationArn+ `Prelude.hashWithSalt` destinationLocationArn++instance Prelude.NFData CreateTask where+ rnf CreateTask' {..} =+ Prelude.rnf cloudWatchLogGroupArn+ `Prelude.seq` Prelude.rnf excludes+ `Prelude.seq` Prelude.rnf includes+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf options+ `Prelude.seq` Prelude.rnf schedule+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf sourceLocationArn+ `Prelude.seq` Prelude.rnf destinationLocationArn++instance Data.ToHeaders CreateTask where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ("FmrsService.CreateTask" :: Prelude.ByteString),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateTask where+ toJSON CreateTask' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("CloudWatchLogGroupArn" Data..=)+ Prelude.<$> cloudWatchLogGroupArn,+ ("Excludes" Data..=) Prelude.<$> excludes,+ ("Includes" Data..=) Prelude.<$> includes,+ ("Name" Data..=) Prelude.<$> name,+ ("Options" Data..=) Prelude.<$> options,+ ("Schedule" Data..=) Prelude.<$> schedule,+ ("Tags" Data..=) Prelude.<$> tags,+ Prelude.Just+ ("SourceLocationArn" Data..= sourceLocationArn),+ Prelude.Just+ ( "DestinationLocationArn"+ Data..= destinationLocationArn+ )+ ]+ )++instance Data.ToPath CreateTask where+ toPath = Prelude.const "/"++instance Data.ToQuery CreateTask where+ toQuery = Prelude.const Prelude.mempty++-- | CreateTaskResponse+--+-- /See:/ 'newCreateTaskResponse' smart constructor.+data CreateTaskResponse = CreateTaskResponse'+ { -- | The Amazon Resource Name (ARN) of the task.+ taskArn :: 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 'CreateTaskResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'taskArn', 'createTaskResponse_taskArn' - The Amazon Resource Name (ARN) of the task.+--+-- 'httpStatus', 'createTaskResponse_httpStatus' - The response's http status code.+newCreateTaskResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateTaskResponse+newCreateTaskResponse pHttpStatus_ =+ CreateTaskResponse'+ { taskArn = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Resource Name (ARN) of the task.+createTaskResponse_taskArn :: Lens.Lens' CreateTaskResponse (Prelude.Maybe Prelude.Text)+createTaskResponse_taskArn = Lens.lens (\CreateTaskResponse' {taskArn} -> taskArn) (\s@CreateTaskResponse' {} a -> s {taskArn = a} :: CreateTaskResponse)++-- | The response's http status code.+createTaskResponse_httpStatus :: Lens.Lens' CreateTaskResponse Prelude.Int+createTaskResponse_httpStatus = Lens.lens (\CreateTaskResponse' {httpStatus} -> httpStatus) (\s@CreateTaskResponse' {} a -> s {httpStatus = a} :: CreateTaskResponse)++instance Prelude.NFData CreateTaskResponse where+ rnf CreateTaskResponse' {..} =+ Prelude.rnf taskArn+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/DataSync/DeleteAgent.hs view
@@ -0,0 +1,160 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DataSync.DeleteAgent+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes an agent. To specify which agent to delete, use the Amazon+-- Resource Name (ARN) of the agent in your request. The operation+-- disassociates the agent from your Amazon Web Services account. However,+-- it doesn\'t delete the agent virtual machine (VM) from your on-premises+-- environment.+module Amazonka.DataSync.DeleteAgent+ ( -- * Creating a Request+ DeleteAgent (..),+ newDeleteAgent,++ -- * Request Lenses+ deleteAgent_agentArn,++ -- * Destructuring the Response+ DeleteAgentResponse (..),+ newDeleteAgentResponse,++ -- * Response Lenses+ deleteAgentResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DataSync.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | DeleteAgentRequest+--+-- /See:/ 'newDeleteAgent' smart constructor.+data DeleteAgent = DeleteAgent'+ { -- | The Amazon Resource Name (ARN) of the agent to delete. Use the+ -- @ListAgents@ operation to return a list of agents for your account and+ -- Amazon Web Services Region.+ agentArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAgent' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'agentArn', 'deleteAgent_agentArn' - The Amazon Resource Name (ARN) of the agent to delete. Use the+-- @ListAgents@ operation to return a list of agents for your account and+-- Amazon Web Services Region.+newDeleteAgent ::+ -- | 'agentArn'+ Prelude.Text ->+ DeleteAgent+newDeleteAgent pAgentArn_ =+ DeleteAgent' {agentArn = pAgentArn_}++-- | The Amazon Resource Name (ARN) of the agent to delete. Use the+-- @ListAgents@ operation to return a list of agents for your account and+-- Amazon Web Services Region.+deleteAgent_agentArn :: Lens.Lens' DeleteAgent Prelude.Text+deleteAgent_agentArn = Lens.lens (\DeleteAgent' {agentArn} -> agentArn) (\s@DeleteAgent' {} a -> s {agentArn = a} :: DeleteAgent)++instance Core.AWSRequest DeleteAgent where+ type AWSResponse DeleteAgent = DeleteAgentResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DeleteAgentResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteAgent where+ hashWithSalt _salt DeleteAgent' {..} =+ _salt `Prelude.hashWithSalt` agentArn++instance Prelude.NFData DeleteAgent where+ rnf DeleteAgent' {..} = Prelude.rnf agentArn++instance Data.ToHeaders DeleteAgent where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ("FmrsService.DeleteAgent" :: Prelude.ByteString),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DeleteAgent where+ toJSON DeleteAgent' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("AgentArn" Data..= agentArn)]+ )++instance Data.ToPath DeleteAgent where+ toPath = Prelude.const "/"++instance Data.ToQuery DeleteAgent where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteAgentResponse' smart constructor.+data DeleteAgentResponse = DeleteAgentResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAgentResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'deleteAgentResponse_httpStatus' - The response's http status code.+newDeleteAgentResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteAgentResponse+newDeleteAgentResponse pHttpStatus_ =+ DeleteAgentResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+deleteAgentResponse_httpStatus :: Lens.Lens' DeleteAgentResponse Prelude.Int+deleteAgentResponse_httpStatus = Lens.lens (\DeleteAgentResponse' {httpStatus} -> httpStatus) (\s@DeleteAgentResponse' {} a -> s {httpStatus = a} :: DeleteAgentResponse)++instance Prelude.NFData DeleteAgentResponse where+ rnf DeleteAgentResponse' {..} = Prelude.rnf httpStatus
+ gen/Amazonka/DataSync/DeleteLocation.hs view
@@ -0,0 +1,153 @@+{-# 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.DataSync.DeleteLocation+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the configuration of a location used by DataSync.+module Amazonka.DataSync.DeleteLocation+ ( -- * Creating a Request+ DeleteLocation (..),+ newDeleteLocation,++ -- * Request Lenses+ deleteLocation_locationArn,++ -- * Destructuring the Response+ DeleteLocationResponse (..),+ newDeleteLocationResponse,++ -- * Response Lenses+ deleteLocationResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DataSync.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | DeleteLocation+--+-- /See:/ 'newDeleteLocation' smart constructor.+data DeleteLocation = DeleteLocation'+ { -- | The Amazon Resource Name (ARN) of the location to delete.+ locationArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteLocation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'locationArn', 'deleteLocation_locationArn' - The Amazon Resource Name (ARN) of the location to delete.+newDeleteLocation ::+ -- | 'locationArn'+ Prelude.Text ->+ DeleteLocation+newDeleteLocation pLocationArn_ =+ DeleteLocation' {locationArn = pLocationArn_}++-- | The Amazon Resource Name (ARN) of the location to delete.+deleteLocation_locationArn :: Lens.Lens' DeleteLocation Prelude.Text+deleteLocation_locationArn = Lens.lens (\DeleteLocation' {locationArn} -> locationArn) (\s@DeleteLocation' {} a -> s {locationArn = a} :: DeleteLocation)++instance Core.AWSRequest DeleteLocation where+ type+ AWSResponse DeleteLocation =+ DeleteLocationResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DeleteLocationResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteLocation where+ hashWithSalt _salt DeleteLocation' {..} =+ _salt `Prelude.hashWithSalt` locationArn++instance Prelude.NFData DeleteLocation where+ rnf DeleteLocation' {..} = Prelude.rnf locationArn++instance Data.ToHeaders DeleteLocation where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ("FmrsService.DeleteLocation" :: Prelude.ByteString),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DeleteLocation where+ toJSON DeleteLocation' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("LocationArn" Data..= locationArn)]+ )++instance Data.ToPath DeleteLocation where+ toPath = Prelude.const "/"++instance Data.ToQuery DeleteLocation where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteLocationResponse' smart constructor.+data DeleteLocationResponse = DeleteLocationResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteLocationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'deleteLocationResponse_httpStatus' - The response's http status code.+newDeleteLocationResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteLocationResponse+newDeleteLocationResponse pHttpStatus_ =+ DeleteLocationResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+deleteLocationResponse_httpStatus :: Lens.Lens' DeleteLocationResponse Prelude.Int+deleteLocationResponse_httpStatus = Lens.lens (\DeleteLocationResponse' {httpStatus} -> httpStatus) (\s@DeleteLocationResponse' {} a -> s {httpStatus = a} :: DeleteLocationResponse)++instance Prelude.NFData DeleteLocationResponse where+ rnf DeleteLocationResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/DataSync/DeleteTask.hs view
@@ -0,0 +1,153 @@+{-# 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.DataSync.DeleteTask+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes an DataSync task.+module Amazonka.DataSync.DeleteTask+ ( -- * Creating a Request+ DeleteTask (..),+ newDeleteTask,++ -- * Request Lenses+ deleteTask_taskArn,++ -- * Destructuring the Response+ DeleteTaskResponse (..),+ newDeleteTaskResponse,++ -- * Response Lenses+ deleteTaskResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DataSync.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | DeleteTask+--+-- /See:/ 'newDeleteTask' smart constructor.+data DeleteTask = DeleteTask'+ { -- | Specifies the Amazon Resource Name (ARN) of the task that you want to+ -- delete.+ taskArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteTask' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'taskArn', 'deleteTask_taskArn' - Specifies the Amazon Resource Name (ARN) of the task that you want to+-- delete.+newDeleteTask ::+ -- | 'taskArn'+ Prelude.Text ->+ DeleteTask+newDeleteTask pTaskArn_ =+ DeleteTask' {taskArn = pTaskArn_}++-- | Specifies the Amazon Resource Name (ARN) of the task that you want to+-- delete.+deleteTask_taskArn :: Lens.Lens' DeleteTask Prelude.Text+deleteTask_taskArn = Lens.lens (\DeleteTask' {taskArn} -> taskArn) (\s@DeleteTask' {} a -> s {taskArn = a} :: DeleteTask)++instance Core.AWSRequest DeleteTask where+ type AWSResponse DeleteTask = DeleteTaskResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DeleteTaskResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteTask where+ hashWithSalt _salt DeleteTask' {..} =+ _salt `Prelude.hashWithSalt` taskArn++instance Prelude.NFData DeleteTask where+ rnf DeleteTask' {..} = Prelude.rnf taskArn++instance Data.ToHeaders DeleteTask where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ("FmrsService.DeleteTask" :: Prelude.ByteString),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DeleteTask where+ toJSON DeleteTask' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("TaskArn" Data..= taskArn)]+ )++instance Data.ToPath DeleteTask where+ toPath = Prelude.const "/"++instance Data.ToQuery DeleteTask where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteTaskResponse' smart constructor.+data DeleteTaskResponse = DeleteTaskResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteTaskResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'deleteTaskResponse_httpStatus' - The response's http status code.+newDeleteTaskResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteTaskResponse+newDeleteTaskResponse pHttpStatus_ =+ DeleteTaskResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+deleteTaskResponse_httpStatus :: Lens.Lens' DeleteTaskResponse Prelude.Int+deleteTaskResponse_httpStatus = Lens.lens (\DeleteTaskResponse' {httpStatus} -> httpStatus) (\s@DeleteTaskResponse' {} a -> s {httpStatus = a} :: DeleteTaskResponse)++instance Prelude.NFData DeleteTaskResponse where+ rnf DeleteTaskResponse' {..} = Prelude.rnf httpStatus
+ gen/Amazonka/DataSync/DescribeAgent.hs view
@@ -0,0 +1,268 @@+{-# 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.DataSync.DescribeAgent+-- 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 metadata such as the name, the network interfaces, and the+-- status (that is, whether the agent is running or not) for an agent. To+-- specify which agent to describe, use the Amazon Resource Name (ARN) of+-- the agent in your request.+module Amazonka.DataSync.DescribeAgent+ ( -- * Creating a Request+ DescribeAgent (..),+ newDescribeAgent,++ -- * Request Lenses+ describeAgent_agentArn,++ -- * Destructuring the Response+ DescribeAgentResponse (..),+ newDescribeAgentResponse,++ -- * Response Lenses+ describeAgentResponse_agentArn,+ describeAgentResponse_creationTime,+ describeAgentResponse_endpointType,+ describeAgentResponse_lastConnectionTime,+ describeAgentResponse_name,+ describeAgentResponse_privateLinkConfig,+ describeAgentResponse_status,+ describeAgentResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DataSync.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | DescribeAgent+--+-- /See:/ 'newDescribeAgent' smart constructor.+data DescribeAgent = DescribeAgent'+ { -- | The Amazon Resource Name (ARN) of the agent to describe.+ agentArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeAgent' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'agentArn', 'describeAgent_agentArn' - The Amazon Resource Name (ARN) of the agent to describe.+newDescribeAgent ::+ -- | 'agentArn'+ Prelude.Text ->+ DescribeAgent+newDescribeAgent pAgentArn_ =+ DescribeAgent' {agentArn = pAgentArn_}++-- | The Amazon Resource Name (ARN) of the agent to describe.+describeAgent_agentArn :: Lens.Lens' DescribeAgent Prelude.Text+describeAgent_agentArn = Lens.lens (\DescribeAgent' {agentArn} -> agentArn) (\s@DescribeAgent' {} a -> s {agentArn = a} :: DescribeAgent)++instance Core.AWSRequest DescribeAgent where+ type+ AWSResponse DescribeAgent =+ DescribeAgentResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeAgentResponse'+ Prelude.<$> (x Data..?> "AgentArn")+ Prelude.<*> (x Data..?> "CreationTime")+ Prelude.<*> (x Data..?> "EndpointType")+ Prelude.<*> (x Data..?> "LastConnectionTime")+ Prelude.<*> (x Data..?> "Name")+ Prelude.<*> (x Data..?> "PrivateLinkConfig")+ Prelude.<*> (x Data..?> "Status")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DescribeAgent where+ hashWithSalt _salt DescribeAgent' {..} =+ _salt `Prelude.hashWithSalt` agentArn++instance Prelude.NFData DescribeAgent where+ rnf DescribeAgent' {..} = Prelude.rnf agentArn++instance Data.ToHeaders DescribeAgent where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ("FmrsService.DescribeAgent" :: Prelude.ByteString),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DescribeAgent where+ toJSON DescribeAgent' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("AgentArn" Data..= agentArn)]+ )++instance Data.ToPath DescribeAgent where+ toPath = Prelude.const "/"++instance Data.ToQuery DescribeAgent where+ toQuery = Prelude.const Prelude.mempty++-- | DescribeAgentResponse+--+-- /See:/ 'newDescribeAgentResponse' smart constructor.+data DescribeAgentResponse = DescribeAgentResponse'+ { -- | The Amazon Resource Name (ARN) of the agent.+ agentArn :: Prelude.Maybe Prelude.Text,+ -- | The time that the agent was activated (that is, created in your+ -- account).+ creationTime :: Prelude.Maybe Data.POSIX,+ -- | The type of endpoint that your agent is connected to. If the endpoint is+ -- a VPC endpoint, the agent is not accessible over the public internet.+ endpointType :: Prelude.Maybe EndpointType,+ -- | The time that the agent last connected to DataSync.+ lastConnectionTime :: Prelude.Maybe Data.POSIX,+ -- | The name of the agent.+ name :: Prelude.Maybe Prelude.Text,+ -- | The subnet and the security group that DataSync used to access a VPC+ -- endpoint.+ privateLinkConfig :: Prelude.Maybe PrivateLinkConfig,+ -- | The status of the agent. If the status is ONLINE, then the agent is+ -- configured properly and is available to use. The Running status is the+ -- normal running status for an agent. If the status is OFFLINE, the+ -- agent\'s VM is turned off or the agent is in an unhealthy state. When+ -- the issue that caused the unhealthy state is resolved, the agent returns+ -- to ONLINE status.+ status :: Prelude.Maybe AgentStatus,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeAgentResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'agentArn', 'describeAgentResponse_agentArn' - The Amazon Resource Name (ARN) of the agent.+--+-- 'creationTime', 'describeAgentResponse_creationTime' - The time that the agent was activated (that is, created in your+-- account).+--+-- 'endpointType', 'describeAgentResponse_endpointType' - The type of endpoint that your agent is connected to. If the endpoint is+-- a VPC endpoint, the agent is not accessible over the public internet.+--+-- 'lastConnectionTime', 'describeAgentResponse_lastConnectionTime' - The time that the agent last connected to DataSync.+--+-- 'name', 'describeAgentResponse_name' - The name of the agent.+--+-- 'privateLinkConfig', 'describeAgentResponse_privateLinkConfig' - The subnet and the security group that DataSync used to access a VPC+-- endpoint.+--+-- 'status', 'describeAgentResponse_status' - The status of the agent. If the status is ONLINE, then the agent is+-- configured properly and is available to use. The Running status is the+-- normal running status for an agent. If the status is OFFLINE, the+-- agent\'s VM is turned off or the agent is in an unhealthy state. When+-- the issue that caused the unhealthy state is resolved, the agent returns+-- to ONLINE status.+--+-- 'httpStatus', 'describeAgentResponse_httpStatus' - The response's http status code.+newDescribeAgentResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeAgentResponse+newDescribeAgentResponse pHttpStatus_ =+ DescribeAgentResponse'+ { agentArn = Prelude.Nothing,+ creationTime = Prelude.Nothing,+ endpointType = Prelude.Nothing,+ lastConnectionTime = Prelude.Nothing,+ name = Prelude.Nothing,+ privateLinkConfig = Prelude.Nothing,+ status = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Resource Name (ARN) of the agent.+describeAgentResponse_agentArn :: Lens.Lens' DescribeAgentResponse (Prelude.Maybe Prelude.Text)+describeAgentResponse_agentArn = Lens.lens (\DescribeAgentResponse' {agentArn} -> agentArn) (\s@DescribeAgentResponse' {} a -> s {agentArn = a} :: DescribeAgentResponse)++-- | The time that the agent was activated (that is, created in your+-- account).+describeAgentResponse_creationTime :: Lens.Lens' DescribeAgentResponse (Prelude.Maybe Prelude.UTCTime)+describeAgentResponse_creationTime = Lens.lens (\DescribeAgentResponse' {creationTime} -> creationTime) (\s@DescribeAgentResponse' {} a -> s {creationTime = a} :: DescribeAgentResponse) Prelude.. Lens.mapping Data._Time++-- | The type of endpoint that your agent is connected to. If the endpoint is+-- a VPC endpoint, the agent is not accessible over the public internet.+describeAgentResponse_endpointType :: Lens.Lens' DescribeAgentResponse (Prelude.Maybe EndpointType)+describeAgentResponse_endpointType = Lens.lens (\DescribeAgentResponse' {endpointType} -> endpointType) (\s@DescribeAgentResponse' {} a -> s {endpointType = a} :: DescribeAgentResponse)++-- | The time that the agent last connected to DataSync.+describeAgentResponse_lastConnectionTime :: Lens.Lens' DescribeAgentResponse (Prelude.Maybe Prelude.UTCTime)+describeAgentResponse_lastConnectionTime = Lens.lens (\DescribeAgentResponse' {lastConnectionTime} -> lastConnectionTime) (\s@DescribeAgentResponse' {} a -> s {lastConnectionTime = a} :: DescribeAgentResponse) Prelude.. Lens.mapping Data._Time++-- | The name of the agent.+describeAgentResponse_name :: Lens.Lens' DescribeAgentResponse (Prelude.Maybe Prelude.Text)+describeAgentResponse_name = Lens.lens (\DescribeAgentResponse' {name} -> name) (\s@DescribeAgentResponse' {} a -> s {name = a} :: DescribeAgentResponse)++-- | The subnet and the security group that DataSync used to access a VPC+-- endpoint.+describeAgentResponse_privateLinkConfig :: Lens.Lens' DescribeAgentResponse (Prelude.Maybe PrivateLinkConfig)+describeAgentResponse_privateLinkConfig = Lens.lens (\DescribeAgentResponse' {privateLinkConfig} -> privateLinkConfig) (\s@DescribeAgentResponse' {} a -> s {privateLinkConfig = a} :: DescribeAgentResponse)++-- | The status of the agent. If the status is ONLINE, then the agent is+-- configured properly and is available to use. The Running status is the+-- normal running status for an agent. If the status is OFFLINE, the+-- agent\'s VM is turned off or the agent is in an unhealthy state. When+-- the issue that caused the unhealthy state is resolved, the agent returns+-- to ONLINE status.+describeAgentResponse_status :: Lens.Lens' DescribeAgentResponse (Prelude.Maybe AgentStatus)+describeAgentResponse_status = Lens.lens (\DescribeAgentResponse' {status} -> status) (\s@DescribeAgentResponse' {} a -> s {status = a} :: DescribeAgentResponse)++-- | The response's http status code.+describeAgentResponse_httpStatus :: Lens.Lens' DescribeAgentResponse Prelude.Int+describeAgentResponse_httpStatus = Lens.lens (\DescribeAgentResponse' {httpStatus} -> httpStatus) (\s@DescribeAgentResponse' {} a -> s {httpStatus = a} :: DescribeAgentResponse)++instance Prelude.NFData DescribeAgentResponse where+ rnf DescribeAgentResponse' {..} =+ Prelude.rnf agentArn+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf endpointType+ `Prelude.seq` Prelude.rnf lastConnectionTime+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf privateLinkConfig+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/DataSync/DescribeLocationEfs.hs view
@@ -0,0 +1,257 @@+{-# 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.DataSync.DescribeLocationEfs+-- 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 metadata about your DataSync location for an Amazon EFS file+-- system.+module Amazonka.DataSync.DescribeLocationEfs+ ( -- * Creating a Request+ DescribeLocationEfs (..),+ newDescribeLocationEfs,++ -- * Request Lenses+ describeLocationEfs_locationArn,++ -- * Destructuring the Response+ DescribeLocationEfsResponse (..),+ newDescribeLocationEfsResponse,++ -- * Response Lenses+ describeLocationEfsResponse_accessPointArn,+ describeLocationEfsResponse_creationTime,+ describeLocationEfsResponse_ec2Config,+ describeLocationEfsResponse_fileSystemAccessRoleArn,+ describeLocationEfsResponse_inTransitEncryption,+ describeLocationEfsResponse_locationArn,+ describeLocationEfsResponse_locationUri,+ describeLocationEfsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DataSync.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | DescribeLocationEfsRequest+--+-- /See:/ 'newDescribeLocationEfs' smart constructor.+data DescribeLocationEfs = DescribeLocationEfs'+ { -- | The Amazon Resource Name (ARN) of the Amazon EFS file system location+ -- that you want information about.+ locationArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeLocationEfs' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'locationArn', 'describeLocationEfs_locationArn' - The Amazon Resource Name (ARN) of the Amazon EFS file system location+-- that you want information about.+newDescribeLocationEfs ::+ -- | 'locationArn'+ Prelude.Text ->+ DescribeLocationEfs+newDescribeLocationEfs pLocationArn_ =+ DescribeLocationEfs' {locationArn = pLocationArn_}++-- | The Amazon Resource Name (ARN) of the Amazon EFS file system location+-- that you want information about.+describeLocationEfs_locationArn :: Lens.Lens' DescribeLocationEfs Prelude.Text+describeLocationEfs_locationArn = Lens.lens (\DescribeLocationEfs' {locationArn} -> locationArn) (\s@DescribeLocationEfs' {} a -> s {locationArn = a} :: DescribeLocationEfs)++instance Core.AWSRequest DescribeLocationEfs where+ type+ AWSResponse DescribeLocationEfs =+ DescribeLocationEfsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeLocationEfsResponse'+ Prelude.<$> (x Data..?> "AccessPointArn")+ Prelude.<*> (x Data..?> "CreationTime")+ Prelude.<*> (x Data..?> "Ec2Config")+ Prelude.<*> (x Data..?> "FileSystemAccessRoleArn")+ Prelude.<*> (x Data..?> "InTransitEncryption")+ Prelude.<*> (x Data..?> "LocationArn")+ Prelude.<*> (x Data..?> "LocationUri")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DescribeLocationEfs where+ hashWithSalt _salt DescribeLocationEfs' {..} =+ _salt `Prelude.hashWithSalt` locationArn++instance Prelude.NFData DescribeLocationEfs where+ rnf DescribeLocationEfs' {..} =+ Prelude.rnf locationArn++instance Data.ToHeaders DescribeLocationEfs where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "FmrsService.DescribeLocationEfs" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DescribeLocationEfs where+ toJSON DescribeLocationEfs' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("LocationArn" Data..= locationArn)]+ )++instance Data.ToPath DescribeLocationEfs where+ toPath = Prelude.const "/"++instance Data.ToQuery DescribeLocationEfs where+ toQuery = Prelude.const Prelude.mempty++-- | DescribeLocationEfsResponse+--+-- /See:/ 'newDescribeLocationEfsResponse' smart constructor.+data DescribeLocationEfsResponse = DescribeLocationEfsResponse'+ { -- | The ARN of the access point that DataSync uses to access the Amazon EFS+ -- file system.+ accessPointArn :: Prelude.Maybe Prelude.Text,+ -- | The time that the location was created.+ creationTime :: Prelude.Maybe Data.POSIX,+ ec2Config :: Prelude.Maybe Ec2Config,+ -- | The Identity and Access Management (IAM) role that DataSync assumes when+ -- mounting the Amazon EFS file system.+ fileSystemAccessRoleArn :: Prelude.Maybe Prelude.Text,+ -- | Describes whether DataSync uses Transport Layer Security (TLS)+ -- encryption when copying data to or from the Amazon EFS file system.+ inTransitEncryption :: Prelude.Maybe EfsInTransitEncryption,+ -- | The ARN of the Amazon EFS file system location.+ locationArn :: Prelude.Maybe Prelude.Text,+ -- | The URL of the Amazon EFS file system location.+ locationUri :: 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 'DescribeLocationEfsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accessPointArn', 'describeLocationEfsResponse_accessPointArn' - The ARN of the access point that DataSync uses to access the Amazon EFS+-- file system.+--+-- 'creationTime', 'describeLocationEfsResponse_creationTime' - The time that the location was created.+--+-- 'ec2Config', 'describeLocationEfsResponse_ec2Config' - Undocumented member.+--+-- 'fileSystemAccessRoleArn', 'describeLocationEfsResponse_fileSystemAccessRoleArn' - The Identity and Access Management (IAM) role that DataSync assumes when+-- mounting the Amazon EFS file system.+--+-- 'inTransitEncryption', 'describeLocationEfsResponse_inTransitEncryption' - Describes whether DataSync uses Transport Layer Security (TLS)+-- encryption when copying data to or from the Amazon EFS file system.+--+-- 'locationArn', 'describeLocationEfsResponse_locationArn' - The ARN of the Amazon EFS file system location.+--+-- 'locationUri', 'describeLocationEfsResponse_locationUri' - The URL of the Amazon EFS file system location.+--+-- 'httpStatus', 'describeLocationEfsResponse_httpStatus' - The response's http status code.+newDescribeLocationEfsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeLocationEfsResponse+newDescribeLocationEfsResponse pHttpStatus_ =+ DescribeLocationEfsResponse'+ { accessPointArn =+ Prelude.Nothing,+ creationTime = Prelude.Nothing,+ ec2Config = Prelude.Nothing,+ fileSystemAccessRoleArn = Prelude.Nothing,+ inTransitEncryption = Prelude.Nothing,+ locationArn = Prelude.Nothing,+ locationUri = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The ARN of the access point that DataSync uses to access the Amazon EFS+-- file system.+describeLocationEfsResponse_accessPointArn :: Lens.Lens' DescribeLocationEfsResponse (Prelude.Maybe Prelude.Text)+describeLocationEfsResponse_accessPointArn = Lens.lens (\DescribeLocationEfsResponse' {accessPointArn} -> accessPointArn) (\s@DescribeLocationEfsResponse' {} a -> s {accessPointArn = a} :: DescribeLocationEfsResponse)++-- | The time that the location was created.+describeLocationEfsResponse_creationTime :: Lens.Lens' DescribeLocationEfsResponse (Prelude.Maybe Prelude.UTCTime)+describeLocationEfsResponse_creationTime = Lens.lens (\DescribeLocationEfsResponse' {creationTime} -> creationTime) (\s@DescribeLocationEfsResponse' {} a -> s {creationTime = a} :: DescribeLocationEfsResponse) Prelude.. Lens.mapping Data._Time++-- | Undocumented member.+describeLocationEfsResponse_ec2Config :: Lens.Lens' DescribeLocationEfsResponse (Prelude.Maybe Ec2Config)+describeLocationEfsResponse_ec2Config = Lens.lens (\DescribeLocationEfsResponse' {ec2Config} -> ec2Config) (\s@DescribeLocationEfsResponse' {} a -> s {ec2Config = a} :: DescribeLocationEfsResponse)++-- | The Identity and Access Management (IAM) role that DataSync assumes when+-- mounting the Amazon EFS file system.+describeLocationEfsResponse_fileSystemAccessRoleArn :: Lens.Lens' DescribeLocationEfsResponse (Prelude.Maybe Prelude.Text)+describeLocationEfsResponse_fileSystemAccessRoleArn = Lens.lens (\DescribeLocationEfsResponse' {fileSystemAccessRoleArn} -> fileSystemAccessRoleArn) (\s@DescribeLocationEfsResponse' {} a -> s {fileSystemAccessRoleArn = a} :: DescribeLocationEfsResponse)++-- | Describes whether DataSync uses Transport Layer Security (TLS)+-- encryption when copying data to or from the Amazon EFS file system.+describeLocationEfsResponse_inTransitEncryption :: Lens.Lens' DescribeLocationEfsResponse (Prelude.Maybe EfsInTransitEncryption)+describeLocationEfsResponse_inTransitEncryption = Lens.lens (\DescribeLocationEfsResponse' {inTransitEncryption} -> inTransitEncryption) (\s@DescribeLocationEfsResponse' {} a -> s {inTransitEncryption = a} :: DescribeLocationEfsResponse)++-- | The ARN of the Amazon EFS file system location.+describeLocationEfsResponse_locationArn :: Lens.Lens' DescribeLocationEfsResponse (Prelude.Maybe Prelude.Text)+describeLocationEfsResponse_locationArn = Lens.lens (\DescribeLocationEfsResponse' {locationArn} -> locationArn) (\s@DescribeLocationEfsResponse' {} a -> s {locationArn = a} :: DescribeLocationEfsResponse)++-- | The URL of the Amazon EFS file system location.+describeLocationEfsResponse_locationUri :: Lens.Lens' DescribeLocationEfsResponse (Prelude.Maybe Prelude.Text)+describeLocationEfsResponse_locationUri = Lens.lens (\DescribeLocationEfsResponse' {locationUri} -> locationUri) (\s@DescribeLocationEfsResponse' {} a -> s {locationUri = a} :: DescribeLocationEfsResponse)++-- | The response's http status code.+describeLocationEfsResponse_httpStatus :: Lens.Lens' DescribeLocationEfsResponse Prelude.Int+describeLocationEfsResponse_httpStatus = Lens.lens (\DescribeLocationEfsResponse' {httpStatus} -> httpStatus) (\s@DescribeLocationEfsResponse' {} a -> s {httpStatus = a} :: DescribeLocationEfsResponse)++instance Prelude.NFData DescribeLocationEfsResponse where+ rnf DescribeLocationEfsResponse' {..} =+ Prelude.rnf accessPointArn+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf ec2Config+ `Prelude.seq` Prelude.rnf fileSystemAccessRoleArn+ `Prelude.seq` Prelude.rnf inTransitEncryption+ `Prelude.seq` Prelude.rnf locationArn+ `Prelude.seq` Prelude.rnf locationUri+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/DataSync/DescribeLocationFsxLustre.hs view
@@ -0,0 +1,221 @@+{-# 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.DataSync.DescribeLocationFsxLustre+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Provides details about how an DataSync location for an Amazon FSx for+-- Lustre file system is configured.+module Amazonka.DataSync.DescribeLocationFsxLustre+ ( -- * Creating a Request+ DescribeLocationFsxLustre (..),+ newDescribeLocationFsxLustre,++ -- * Request Lenses+ describeLocationFsxLustre_locationArn,++ -- * Destructuring the Response+ DescribeLocationFsxLustreResponse (..),+ newDescribeLocationFsxLustreResponse,++ -- * Response Lenses+ describeLocationFsxLustreResponse_creationTime,+ describeLocationFsxLustreResponse_locationArn,+ describeLocationFsxLustreResponse_locationUri,+ describeLocationFsxLustreResponse_securityGroupArns,+ describeLocationFsxLustreResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DataSync.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeLocationFsxLustre' smart constructor.+data DescribeLocationFsxLustre = DescribeLocationFsxLustre'+ { -- | The Amazon Resource Name (ARN) of the FSx for Lustre location to+ -- describe.+ locationArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeLocationFsxLustre' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'locationArn', 'describeLocationFsxLustre_locationArn' - The Amazon Resource Name (ARN) of the FSx for Lustre location to+-- describe.+newDescribeLocationFsxLustre ::+ -- | 'locationArn'+ Prelude.Text ->+ DescribeLocationFsxLustre+newDescribeLocationFsxLustre pLocationArn_ =+ DescribeLocationFsxLustre'+ { locationArn =+ pLocationArn_+ }++-- | The Amazon Resource Name (ARN) of the FSx for Lustre location to+-- describe.+describeLocationFsxLustre_locationArn :: Lens.Lens' DescribeLocationFsxLustre Prelude.Text+describeLocationFsxLustre_locationArn = Lens.lens (\DescribeLocationFsxLustre' {locationArn} -> locationArn) (\s@DescribeLocationFsxLustre' {} a -> s {locationArn = a} :: DescribeLocationFsxLustre)++instance Core.AWSRequest DescribeLocationFsxLustre where+ type+ AWSResponse DescribeLocationFsxLustre =+ DescribeLocationFsxLustreResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeLocationFsxLustreResponse'+ Prelude.<$> (x Data..?> "CreationTime")+ Prelude.<*> (x Data..?> "LocationArn")+ Prelude.<*> (x Data..?> "LocationUri")+ Prelude.<*> (x Data..?> "SecurityGroupArns")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DescribeLocationFsxLustre where+ hashWithSalt _salt DescribeLocationFsxLustre' {..} =+ _salt `Prelude.hashWithSalt` locationArn++instance Prelude.NFData DescribeLocationFsxLustre where+ rnf DescribeLocationFsxLustre' {..} =+ Prelude.rnf locationArn++instance Data.ToHeaders DescribeLocationFsxLustre where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "FmrsService.DescribeLocationFsxLustre" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DescribeLocationFsxLustre where+ toJSON DescribeLocationFsxLustre' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("LocationArn" Data..= locationArn)]+ )++instance Data.ToPath DescribeLocationFsxLustre where+ toPath = Prelude.const "/"++instance Data.ToQuery DescribeLocationFsxLustre where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeLocationFsxLustreResponse' smart constructor.+data DescribeLocationFsxLustreResponse = DescribeLocationFsxLustreResponse'+ { -- | The time that the FSx for Lustre location was created.+ creationTime :: Prelude.Maybe Data.POSIX,+ -- | The Amazon Resource Name (ARN) of the FSx for Lustre location that was+ -- described.+ locationArn :: Prelude.Maybe Prelude.Text,+ -- | The URI of the FSx for Lustre location that was described.+ locationUri :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Names (ARNs) of the security groups that are+ -- configured for the FSx for Lustre file system.+ securityGroupArns :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeLocationFsxLustreResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'creationTime', 'describeLocationFsxLustreResponse_creationTime' - The time that the FSx for Lustre location was created.+--+-- 'locationArn', 'describeLocationFsxLustreResponse_locationArn' - The Amazon Resource Name (ARN) of the FSx for Lustre location that was+-- described.+--+-- 'locationUri', 'describeLocationFsxLustreResponse_locationUri' - The URI of the FSx for Lustre location that was described.+--+-- 'securityGroupArns', 'describeLocationFsxLustreResponse_securityGroupArns' - The Amazon Resource Names (ARNs) of the security groups that are+-- configured for the FSx for Lustre file system.+--+-- 'httpStatus', 'describeLocationFsxLustreResponse_httpStatus' - The response's http status code.+newDescribeLocationFsxLustreResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeLocationFsxLustreResponse+newDescribeLocationFsxLustreResponse pHttpStatus_ =+ DescribeLocationFsxLustreResponse'+ { creationTime =+ Prelude.Nothing,+ locationArn = Prelude.Nothing,+ locationUri = Prelude.Nothing,+ securityGroupArns = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The time that the FSx for Lustre location was created.+describeLocationFsxLustreResponse_creationTime :: Lens.Lens' DescribeLocationFsxLustreResponse (Prelude.Maybe Prelude.UTCTime)+describeLocationFsxLustreResponse_creationTime = Lens.lens (\DescribeLocationFsxLustreResponse' {creationTime} -> creationTime) (\s@DescribeLocationFsxLustreResponse' {} a -> s {creationTime = a} :: DescribeLocationFsxLustreResponse) Prelude.. Lens.mapping Data._Time++-- | The Amazon Resource Name (ARN) of the FSx for Lustre location that was+-- described.+describeLocationFsxLustreResponse_locationArn :: Lens.Lens' DescribeLocationFsxLustreResponse (Prelude.Maybe Prelude.Text)+describeLocationFsxLustreResponse_locationArn = Lens.lens (\DescribeLocationFsxLustreResponse' {locationArn} -> locationArn) (\s@DescribeLocationFsxLustreResponse' {} a -> s {locationArn = a} :: DescribeLocationFsxLustreResponse)++-- | The URI of the FSx for Lustre location that was described.+describeLocationFsxLustreResponse_locationUri :: Lens.Lens' DescribeLocationFsxLustreResponse (Prelude.Maybe Prelude.Text)+describeLocationFsxLustreResponse_locationUri = Lens.lens (\DescribeLocationFsxLustreResponse' {locationUri} -> locationUri) (\s@DescribeLocationFsxLustreResponse' {} a -> s {locationUri = a} :: DescribeLocationFsxLustreResponse)++-- | The Amazon Resource Names (ARNs) of the security groups that are+-- configured for the FSx for Lustre file system.+describeLocationFsxLustreResponse_securityGroupArns :: Lens.Lens' DescribeLocationFsxLustreResponse (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+describeLocationFsxLustreResponse_securityGroupArns = Lens.lens (\DescribeLocationFsxLustreResponse' {securityGroupArns} -> securityGroupArns) (\s@DescribeLocationFsxLustreResponse' {} a -> s {securityGroupArns = a} :: DescribeLocationFsxLustreResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+describeLocationFsxLustreResponse_httpStatus :: Lens.Lens' DescribeLocationFsxLustreResponse Prelude.Int+describeLocationFsxLustreResponse_httpStatus = Lens.lens (\DescribeLocationFsxLustreResponse' {httpStatus} -> httpStatus) (\s@DescribeLocationFsxLustreResponse' {} a -> s {httpStatus = a} :: DescribeLocationFsxLustreResponse)++instance+ Prelude.NFData+ DescribeLocationFsxLustreResponse+ where+ rnf DescribeLocationFsxLustreResponse' {..} =+ Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf locationArn+ `Prelude.seq` Prelude.rnf locationUri+ `Prelude.seq` Prelude.rnf securityGroupArns+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/DataSync/DescribeLocationFsxOntap.hs view
@@ -0,0 +1,263 @@+{-# 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.DataSync.DescribeLocationFsxOntap+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Provides details about how an DataSync location for an Amazon FSx for+-- NetApp ONTAP file system is configured.+--+-- If your location uses SMB, the @DescribeLocationFsxOntap@ operation+-- doesn\'t actually return a @Password@.+module Amazonka.DataSync.DescribeLocationFsxOntap+ ( -- * Creating a Request+ DescribeLocationFsxOntap (..),+ newDescribeLocationFsxOntap,++ -- * Request Lenses+ describeLocationFsxOntap_locationArn,++ -- * Destructuring the Response+ DescribeLocationFsxOntapResponse (..),+ newDescribeLocationFsxOntapResponse,++ -- * Response Lenses+ describeLocationFsxOntapResponse_creationTime,+ describeLocationFsxOntapResponse_fsxFilesystemArn,+ describeLocationFsxOntapResponse_locationArn,+ describeLocationFsxOntapResponse_locationUri,+ describeLocationFsxOntapResponse_protocol,+ describeLocationFsxOntapResponse_securityGroupArns,+ describeLocationFsxOntapResponse_storageVirtualMachineArn,+ describeLocationFsxOntapResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DataSync.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeLocationFsxOntap' smart constructor.+data DescribeLocationFsxOntap = DescribeLocationFsxOntap'+ { -- | Specifies the Amazon Resource Name (ARN) of the FSx for ONTAP file+ -- system location that you want information about.+ locationArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeLocationFsxOntap' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'locationArn', 'describeLocationFsxOntap_locationArn' - Specifies the Amazon Resource Name (ARN) of the FSx for ONTAP file+-- system location that you want information about.+newDescribeLocationFsxOntap ::+ -- | 'locationArn'+ Prelude.Text ->+ DescribeLocationFsxOntap+newDescribeLocationFsxOntap pLocationArn_ =+ DescribeLocationFsxOntap'+ { locationArn =+ pLocationArn_+ }++-- | Specifies the Amazon Resource Name (ARN) of the FSx for ONTAP file+-- system location that you want information about.+describeLocationFsxOntap_locationArn :: Lens.Lens' DescribeLocationFsxOntap Prelude.Text+describeLocationFsxOntap_locationArn = Lens.lens (\DescribeLocationFsxOntap' {locationArn} -> locationArn) (\s@DescribeLocationFsxOntap' {} a -> s {locationArn = a} :: DescribeLocationFsxOntap)++instance Core.AWSRequest DescribeLocationFsxOntap where+ type+ AWSResponse DescribeLocationFsxOntap =+ DescribeLocationFsxOntapResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeLocationFsxOntapResponse'+ Prelude.<$> (x Data..?> "CreationTime")+ Prelude.<*> (x Data..?> "FsxFilesystemArn")+ Prelude.<*> (x Data..?> "LocationArn")+ Prelude.<*> (x Data..?> "LocationUri")+ Prelude.<*> (x Data..?> "Protocol")+ Prelude.<*> (x Data..?> "SecurityGroupArns")+ Prelude.<*> (x Data..?> "StorageVirtualMachineArn")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DescribeLocationFsxOntap where+ hashWithSalt _salt DescribeLocationFsxOntap' {..} =+ _salt `Prelude.hashWithSalt` locationArn++instance Prelude.NFData DescribeLocationFsxOntap where+ rnf DescribeLocationFsxOntap' {..} =+ Prelude.rnf locationArn++instance Data.ToHeaders DescribeLocationFsxOntap where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "FmrsService.DescribeLocationFsxOntap" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DescribeLocationFsxOntap where+ toJSON DescribeLocationFsxOntap' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("LocationArn" Data..= locationArn)]+ )++instance Data.ToPath DescribeLocationFsxOntap where+ toPath = Prelude.const "/"++instance Data.ToQuery DescribeLocationFsxOntap where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeLocationFsxOntapResponse' smart constructor.+data DescribeLocationFsxOntapResponse = DescribeLocationFsxOntapResponse'+ { -- | The time that the location was created.+ creationTime :: Prelude.Maybe Data.POSIX,+ -- | The ARN of the FSx for ONTAP file system.+ fsxFilesystemArn :: Prelude.Maybe Prelude.Text,+ -- | The ARN of the FSx for ONTAP file system location.+ locationArn :: Prelude.Maybe Prelude.Text,+ -- | The uniform resource identifier (URI) of the FSx for ONTAP file system+ -- location.+ locationUri :: Prelude.Maybe Prelude.Text,+ protocol :: Prelude.Maybe FsxProtocol,+ -- | The security groups that DataSync uses to access your FSx for ONTAP file+ -- system.+ securityGroupArns :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+ -- | The ARN of the storage virtual machine (SVM) on your FSx for ONTAP file+ -- system where you\'re copying data to or from.+ storageVirtualMachineArn :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeLocationFsxOntapResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'creationTime', 'describeLocationFsxOntapResponse_creationTime' - The time that the location was created.+--+-- 'fsxFilesystemArn', 'describeLocationFsxOntapResponse_fsxFilesystemArn' - The ARN of the FSx for ONTAP file system.+--+-- 'locationArn', 'describeLocationFsxOntapResponse_locationArn' - The ARN of the FSx for ONTAP file system location.+--+-- 'locationUri', 'describeLocationFsxOntapResponse_locationUri' - The uniform resource identifier (URI) of the FSx for ONTAP file system+-- location.+--+-- 'protocol', 'describeLocationFsxOntapResponse_protocol' - Undocumented member.+--+-- 'securityGroupArns', 'describeLocationFsxOntapResponse_securityGroupArns' - The security groups that DataSync uses to access your FSx for ONTAP file+-- system.+--+-- 'storageVirtualMachineArn', 'describeLocationFsxOntapResponse_storageVirtualMachineArn' - The ARN of the storage virtual machine (SVM) on your FSx for ONTAP file+-- system where you\'re copying data to or from.+--+-- 'httpStatus', 'describeLocationFsxOntapResponse_httpStatus' - The response's http status code.+newDescribeLocationFsxOntapResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeLocationFsxOntapResponse+newDescribeLocationFsxOntapResponse pHttpStatus_ =+ DescribeLocationFsxOntapResponse'+ { creationTime =+ Prelude.Nothing,+ fsxFilesystemArn = Prelude.Nothing,+ locationArn = Prelude.Nothing,+ locationUri = Prelude.Nothing,+ protocol = Prelude.Nothing,+ securityGroupArns = Prelude.Nothing,+ storageVirtualMachineArn =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The time that the location was created.+describeLocationFsxOntapResponse_creationTime :: Lens.Lens' DescribeLocationFsxOntapResponse (Prelude.Maybe Prelude.UTCTime)+describeLocationFsxOntapResponse_creationTime = Lens.lens (\DescribeLocationFsxOntapResponse' {creationTime} -> creationTime) (\s@DescribeLocationFsxOntapResponse' {} a -> s {creationTime = a} :: DescribeLocationFsxOntapResponse) Prelude.. Lens.mapping Data._Time++-- | The ARN of the FSx for ONTAP file system.+describeLocationFsxOntapResponse_fsxFilesystemArn :: Lens.Lens' DescribeLocationFsxOntapResponse (Prelude.Maybe Prelude.Text)+describeLocationFsxOntapResponse_fsxFilesystemArn = Lens.lens (\DescribeLocationFsxOntapResponse' {fsxFilesystemArn} -> fsxFilesystemArn) (\s@DescribeLocationFsxOntapResponse' {} a -> s {fsxFilesystemArn = a} :: DescribeLocationFsxOntapResponse)++-- | The ARN of the FSx for ONTAP file system location.+describeLocationFsxOntapResponse_locationArn :: Lens.Lens' DescribeLocationFsxOntapResponse (Prelude.Maybe Prelude.Text)+describeLocationFsxOntapResponse_locationArn = Lens.lens (\DescribeLocationFsxOntapResponse' {locationArn} -> locationArn) (\s@DescribeLocationFsxOntapResponse' {} a -> s {locationArn = a} :: DescribeLocationFsxOntapResponse)++-- | The uniform resource identifier (URI) of the FSx for ONTAP file system+-- location.+describeLocationFsxOntapResponse_locationUri :: Lens.Lens' DescribeLocationFsxOntapResponse (Prelude.Maybe Prelude.Text)+describeLocationFsxOntapResponse_locationUri = Lens.lens (\DescribeLocationFsxOntapResponse' {locationUri} -> locationUri) (\s@DescribeLocationFsxOntapResponse' {} a -> s {locationUri = a} :: DescribeLocationFsxOntapResponse)++-- | Undocumented member.+describeLocationFsxOntapResponse_protocol :: Lens.Lens' DescribeLocationFsxOntapResponse (Prelude.Maybe FsxProtocol)+describeLocationFsxOntapResponse_protocol = Lens.lens (\DescribeLocationFsxOntapResponse' {protocol} -> protocol) (\s@DescribeLocationFsxOntapResponse' {} a -> s {protocol = a} :: DescribeLocationFsxOntapResponse)++-- | The security groups that DataSync uses to access your FSx for ONTAP file+-- system.+describeLocationFsxOntapResponse_securityGroupArns :: Lens.Lens' DescribeLocationFsxOntapResponse (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+describeLocationFsxOntapResponse_securityGroupArns = Lens.lens (\DescribeLocationFsxOntapResponse' {securityGroupArns} -> securityGroupArns) (\s@DescribeLocationFsxOntapResponse' {} a -> s {securityGroupArns = a} :: DescribeLocationFsxOntapResponse) Prelude.. Lens.mapping Lens.coerced++-- | The ARN of the storage virtual machine (SVM) on your FSx for ONTAP file+-- system where you\'re copying data to or from.+describeLocationFsxOntapResponse_storageVirtualMachineArn :: Lens.Lens' DescribeLocationFsxOntapResponse (Prelude.Maybe Prelude.Text)+describeLocationFsxOntapResponse_storageVirtualMachineArn = Lens.lens (\DescribeLocationFsxOntapResponse' {storageVirtualMachineArn} -> storageVirtualMachineArn) (\s@DescribeLocationFsxOntapResponse' {} a -> s {storageVirtualMachineArn = a} :: DescribeLocationFsxOntapResponse)++-- | The response's http status code.+describeLocationFsxOntapResponse_httpStatus :: Lens.Lens' DescribeLocationFsxOntapResponse Prelude.Int+describeLocationFsxOntapResponse_httpStatus = Lens.lens (\DescribeLocationFsxOntapResponse' {httpStatus} -> httpStatus) (\s@DescribeLocationFsxOntapResponse' {} a -> s {httpStatus = a} :: DescribeLocationFsxOntapResponse)++instance+ Prelude.NFData+ DescribeLocationFsxOntapResponse+ where+ rnf DescribeLocationFsxOntapResponse' {..} =+ Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf fsxFilesystemArn+ `Prelude.seq` Prelude.rnf locationArn+ `Prelude.seq` Prelude.rnf locationUri+ `Prelude.seq` Prelude.rnf protocol+ `Prelude.seq` Prelude.rnf securityGroupArns+ `Prelude.seq` Prelude.rnf storageVirtualMachineArn+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/DataSync/DescribeLocationFsxOpenZfs.hs view
@@ -0,0 +1,245 @@+{-# 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.DataSync.DescribeLocationFsxOpenZfs+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Provides details about how an DataSync location for an Amazon FSx for+-- OpenZFS file system is configured.+--+-- Response elements related to @SMB@ aren\'t supported with the+-- @DescribeLocationFsxOpenZfs@ operation.+module Amazonka.DataSync.DescribeLocationFsxOpenZfs+ ( -- * Creating a Request+ DescribeLocationFsxOpenZfs (..),+ newDescribeLocationFsxOpenZfs,++ -- * Request Lenses+ describeLocationFsxOpenZfs_locationArn,++ -- * Destructuring the Response+ DescribeLocationFsxOpenZfsResponse (..),+ newDescribeLocationFsxOpenZfsResponse,++ -- * Response Lenses+ describeLocationFsxOpenZfsResponse_creationTime,+ describeLocationFsxOpenZfsResponse_locationArn,+ describeLocationFsxOpenZfsResponse_locationUri,+ describeLocationFsxOpenZfsResponse_protocol,+ describeLocationFsxOpenZfsResponse_securityGroupArns,+ describeLocationFsxOpenZfsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DataSync.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeLocationFsxOpenZfs' smart constructor.+data DescribeLocationFsxOpenZfs = DescribeLocationFsxOpenZfs'+ { -- | The Amazon Resource Name (ARN) of the FSx for OpenZFS location to+ -- describe.+ locationArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeLocationFsxOpenZfs' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'locationArn', 'describeLocationFsxOpenZfs_locationArn' - The Amazon Resource Name (ARN) of the FSx for OpenZFS location to+-- describe.+newDescribeLocationFsxOpenZfs ::+ -- | 'locationArn'+ Prelude.Text ->+ DescribeLocationFsxOpenZfs+newDescribeLocationFsxOpenZfs pLocationArn_ =+ DescribeLocationFsxOpenZfs'+ { locationArn =+ pLocationArn_+ }++-- | The Amazon Resource Name (ARN) of the FSx for OpenZFS location to+-- describe.+describeLocationFsxOpenZfs_locationArn :: Lens.Lens' DescribeLocationFsxOpenZfs Prelude.Text+describeLocationFsxOpenZfs_locationArn = Lens.lens (\DescribeLocationFsxOpenZfs' {locationArn} -> locationArn) (\s@DescribeLocationFsxOpenZfs' {} a -> s {locationArn = a} :: DescribeLocationFsxOpenZfs)++instance Core.AWSRequest DescribeLocationFsxOpenZfs where+ type+ AWSResponse DescribeLocationFsxOpenZfs =+ DescribeLocationFsxOpenZfsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeLocationFsxOpenZfsResponse'+ Prelude.<$> (x Data..?> "CreationTime")+ Prelude.<*> (x Data..?> "LocationArn")+ Prelude.<*> (x Data..?> "LocationUri")+ Prelude.<*> (x Data..?> "Protocol")+ Prelude.<*> (x Data..?> "SecurityGroupArns")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DescribeLocationFsxOpenZfs where+ hashWithSalt _salt DescribeLocationFsxOpenZfs' {..} =+ _salt `Prelude.hashWithSalt` locationArn++instance Prelude.NFData DescribeLocationFsxOpenZfs where+ rnf DescribeLocationFsxOpenZfs' {..} =+ Prelude.rnf locationArn++instance Data.ToHeaders DescribeLocationFsxOpenZfs where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "FmrsService.DescribeLocationFsxOpenZfs" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DescribeLocationFsxOpenZfs where+ toJSON DescribeLocationFsxOpenZfs' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("LocationArn" Data..= locationArn)]+ )++instance Data.ToPath DescribeLocationFsxOpenZfs where+ toPath = Prelude.const "/"++instance Data.ToQuery DescribeLocationFsxOpenZfs where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeLocationFsxOpenZfsResponse' smart constructor.+data DescribeLocationFsxOpenZfsResponse = DescribeLocationFsxOpenZfsResponse'+ { -- | The time that the FSx for OpenZFS location was created.+ creationTime :: Prelude.Maybe Data.POSIX,+ -- | The ARN of the FSx for OpenZFS location that was described.+ locationArn :: Prelude.Maybe Prelude.Text,+ -- | The uniform resource identifier (URI) of the FSx for OpenZFS location+ -- that was described.+ --+ -- Example:+ -- @fsxz:\/\/us-west-2.fs-1234567890abcdef02\/fsx\/folderA\/folder@+ locationUri :: Prelude.Maybe Prelude.Text,+ -- | The type of protocol that DataSync uses to access your file system.+ protocol :: Prelude.Maybe FsxProtocol,+ -- | The ARNs of the security groups that are configured for the FSx for+ -- OpenZFS file system.+ securityGroupArns :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeLocationFsxOpenZfsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'creationTime', 'describeLocationFsxOpenZfsResponse_creationTime' - The time that the FSx for OpenZFS location was created.+--+-- 'locationArn', 'describeLocationFsxOpenZfsResponse_locationArn' - The ARN of the FSx for OpenZFS location that was described.+--+-- 'locationUri', 'describeLocationFsxOpenZfsResponse_locationUri' - The uniform resource identifier (URI) of the FSx for OpenZFS location+-- that was described.+--+-- Example:+-- @fsxz:\/\/us-west-2.fs-1234567890abcdef02\/fsx\/folderA\/folder@+--+-- 'protocol', 'describeLocationFsxOpenZfsResponse_protocol' - The type of protocol that DataSync uses to access your file system.+--+-- 'securityGroupArns', 'describeLocationFsxOpenZfsResponse_securityGroupArns' - The ARNs of the security groups that are configured for the FSx for+-- OpenZFS file system.+--+-- 'httpStatus', 'describeLocationFsxOpenZfsResponse_httpStatus' - The response's http status code.+newDescribeLocationFsxOpenZfsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeLocationFsxOpenZfsResponse+newDescribeLocationFsxOpenZfsResponse pHttpStatus_ =+ DescribeLocationFsxOpenZfsResponse'+ { creationTime =+ Prelude.Nothing,+ locationArn = Prelude.Nothing,+ locationUri = Prelude.Nothing,+ protocol = Prelude.Nothing,+ securityGroupArns = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The time that the FSx for OpenZFS location was created.+describeLocationFsxOpenZfsResponse_creationTime :: Lens.Lens' DescribeLocationFsxOpenZfsResponse (Prelude.Maybe Prelude.UTCTime)+describeLocationFsxOpenZfsResponse_creationTime = Lens.lens (\DescribeLocationFsxOpenZfsResponse' {creationTime} -> creationTime) (\s@DescribeLocationFsxOpenZfsResponse' {} a -> s {creationTime = a} :: DescribeLocationFsxOpenZfsResponse) Prelude.. Lens.mapping Data._Time++-- | The ARN of the FSx for OpenZFS location that was described.+describeLocationFsxOpenZfsResponse_locationArn :: Lens.Lens' DescribeLocationFsxOpenZfsResponse (Prelude.Maybe Prelude.Text)+describeLocationFsxOpenZfsResponse_locationArn = Lens.lens (\DescribeLocationFsxOpenZfsResponse' {locationArn} -> locationArn) (\s@DescribeLocationFsxOpenZfsResponse' {} a -> s {locationArn = a} :: DescribeLocationFsxOpenZfsResponse)++-- | The uniform resource identifier (URI) of the FSx for OpenZFS location+-- that was described.+--+-- Example:+-- @fsxz:\/\/us-west-2.fs-1234567890abcdef02\/fsx\/folderA\/folder@+describeLocationFsxOpenZfsResponse_locationUri :: Lens.Lens' DescribeLocationFsxOpenZfsResponse (Prelude.Maybe Prelude.Text)+describeLocationFsxOpenZfsResponse_locationUri = Lens.lens (\DescribeLocationFsxOpenZfsResponse' {locationUri} -> locationUri) (\s@DescribeLocationFsxOpenZfsResponse' {} a -> s {locationUri = a} :: DescribeLocationFsxOpenZfsResponse)++-- | The type of protocol that DataSync uses to access your file system.+describeLocationFsxOpenZfsResponse_protocol :: Lens.Lens' DescribeLocationFsxOpenZfsResponse (Prelude.Maybe FsxProtocol)+describeLocationFsxOpenZfsResponse_protocol = Lens.lens (\DescribeLocationFsxOpenZfsResponse' {protocol} -> protocol) (\s@DescribeLocationFsxOpenZfsResponse' {} a -> s {protocol = a} :: DescribeLocationFsxOpenZfsResponse)++-- | The ARNs of the security groups that are configured for the FSx for+-- OpenZFS file system.+describeLocationFsxOpenZfsResponse_securityGroupArns :: Lens.Lens' DescribeLocationFsxOpenZfsResponse (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+describeLocationFsxOpenZfsResponse_securityGroupArns = Lens.lens (\DescribeLocationFsxOpenZfsResponse' {securityGroupArns} -> securityGroupArns) (\s@DescribeLocationFsxOpenZfsResponse' {} a -> s {securityGroupArns = a} :: DescribeLocationFsxOpenZfsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+describeLocationFsxOpenZfsResponse_httpStatus :: Lens.Lens' DescribeLocationFsxOpenZfsResponse Prelude.Int+describeLocationFsxOpenZfsResponse_httpStatus = Lens.lens (\DescribeLocationFsxOpenZfsResponse' {httpStatus} -> httpStatus) (\s@DescribeLocationFsxOpenZfsResponse' {} a -> s {httpStatus = a} :: DescribeLocationFsxOpenZfsResponse)++instance+ Prelude.NFData+ DescribeLocationFsxOpenZfsResponse+ where+ rnf DescribeLocationFsxOpenZfsResponse' {..} =+ Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf locationArn+ `Prelude.seq` Prelude.rnf locationUri+ `Prelude.seq` Prelude.rnf protocol+ `Prelude.seq` Prelude.rnf securityGroupArns+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/DataSync/DescribeLocationFsxWindows.hs view
@@ -0,0 +1,251 @@+{-# 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.DataSync.DescribeLocationFsxWindows+-- 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 metadata about an Amazon FSx for Windows File Server location,+-- such as information about its path.+module Amazonka.DataSync.DescribeLocationFsxWindows+ ( -- * Creating a Request+ DescribeLocationFsxWindows (..),+ newDescribeLocationFsxWindows,++ -- * Request Lenses+ describeLocationFsxWindows_locationArn,++ -- * Destructuring the Response+ DescribeLocationFsxWindowsResponse (..),+ newDescribeLocationFsxWindowsResponse,++ -- * Response Lenses+ describeLocationFsxWindowsResponse_creationTime,+ describeLocationFsxWindowsResponse_domain,+ describeLocationFsxWindowsResponse_locationArn,+ describeLocationFsxWindowsResponse_locationUri,+ describeLocationFsxWindowsResponse_securityGroupArns,+ describeLocationFsxWindowsResponse_user,+ describeLocationFsxWindowsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DataSync.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeLocationFsxWindows' smart constructor.+data DescribeLocationFsxWindows = DescribeLocationFsxWindows'+ { -- | The Amazon Resource Name (ARN) of the FSx for Windows File Server+ -- location to describe.+ locationArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeLocationFsxWindows' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'locationArn', 'describeLocationFsxWindows_locationArn' - The Amazon Resource Name (ARN) of the FSx for Windows File Server+-- location to describe.+newDescribeLocationFsxWindows ::+ -- | 'locationArn'+ Prelude.Text ->+ DescribeLocationFsxWindows+newDescribeLocationFsxWindows pLocationArn_ =+ DescribeLocationFsxWindows'+ { locationArn =+ pLocationArn_+ }++-- | The Amazon Resource Name (ARN) of the FSx for Windows File Server+-- location to describe.+describeLocationFsxWindows_locationArn :: Lens.Lens' DescribeLocationFsxWindows Prelude.Text+describeLocationFsxWindows_locationArn = Lens.lens (\DescribeLocationFsxWindows' {locationArn} -> locationArn) (\s@DescribeLocationFsxWindows' {} a -> s {locationArn = a} :: DescribeLocationFsxWindows)++instance Core.AWSRequest DescribeLocationFsxWindows where+ type+ AWSResponse DescribeLocationFsxWindows =+ DescribeLocationFsxWindowsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeLocationFsxWindowsResponse'+ Prelude.<$> (x Data..?> "CreationTime")+ Prelude.<*> (x Data..?> "Domain")+ Prelude.<*> (x Data..?> "LocationArn")+ Prelude.<*> (x Data..?> "LocationUri")+ Prelude.<*> (x Data..?> "SecurityGroupArns")+ Prelude.<*> (x Data..?> "User")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DescribeLocationFsxWindows where+ hashWithSalt _salt DescribeLocationFsxWindows' {..} =+ _salt `Prelude.hashWithSalt` locationArn++instance Prelude.NFData DescribeLocationFsxWindows where+ rnf DescribeLocationFsxWindows' {..} =+ Prelude.rnf locationArn++instance Data.ToHeaders DescribeLocationFsxWindows where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "FmrsService.DescribeLocationFsxWindows" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DescribeLocationFsxWindows where+ toJSON DescribeLocationFsxWindows' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("LocationArn" Data..= locationArn)]+ )++instance Data.ToPath DescribeLocationFsxWindows where+ toPath = Prelude.const "/"++instance Data.ToQuery DescribeLocationFsxWindows where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeLocationFsxWindowsResponse' smart constructor.+data DescribeLocationFsxWindowsResponse = DescribeLocationFsxWindowsResponse'+ { -- | The time that the FSx for Windows File Server location was created.+ creationTime :: Prelude.Maybe Data.POSIX,+ -- | The name of the Windows domain that the FSx for Windows File Server+ -- belongs to.+ domain :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the FSx for Windows File Server+ -- location that was described.+ locationArn :: Prelude.Maybe Prelude.Text,+ -- | The URL of the FSx for Windows File Server location that was described.+ locationUri :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Names (ARNs) of the security groups that are+ -- configured for the FSx for Windows File Server file system.+ securityGroupArns :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+ -- | The user who has the permissions to access files and folders in the FSx+ -- for Windows File Server file system.+ user :: 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 'DescribeLocationFsxWindowsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'creationTime', 'describeLocationFsxWindowsResponse_creationTime' - The time that the FSx for Windows File Server location was created.+--+-- 'domain', 'describeLocationFsxWindowsResponse_domain' - The name of the Windows domain that the FSx for Windows File Server+-- belongs to.+--+-- 'locationArn', 'describeLocationFsxWindowsResponse_locationArn' - The Amazon Resource Name (ARN) of the FSx for Windows File Server+-- location that was described.+--+-- 'locationUri', 'describeLocationFsxWindowsResponse_locationUri' - The URL of the FSx for Windows File Server location that was described.+--+-- 'securityGroupArns', 'describeLocationFsxWindowsResponse_securityGroupArns' - The Amazon Resource Names (ARNs) of the security groups that are+-- configured for the FSx for Windows File Server file system.+--+-- 'user', 'describeLocationFsxWindowsResponse_user' - The user who has the permissions to access files and folders in the FSx+-- for Windows File Server file system.+--+-- 'httpStatus', 'describeLocationFsxWindowsResponse_httpStatus' - The response's http status code.+newDescribeLocationFsxWindowsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeLocationFsxWindowsResponse+newDescribeLocationFsxWindowsResponse pHttpStatus_ =+ DescribeLocationFsxWindowsResponse'+ { creationTime =+ Prelude.Nothing,+ domain = Prelude.Nothing,+ locationArn = Prelude.Nothing,+ locationUri = Prelude.Nothing,+ securityGroupArns = Prelude.Nothing,+ user = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The time that the FSx for Windows File Server location was created.+describeLocationFsxWindowsResponse_creationTime :: Lens.Lens' DescribeLocationFsxWindowsResponse (Prelude.Maybe Prelude.UTCTime)+describeLocationFsxWindowsResponse_creationTime = Lens.lens (\DescribeLocationFsxWindowsResponse' {creationTime} -> creationTime) (\s@DescribeLocationFsxWindowsResponse' {} a -> s {creationTime = a} :: DescribeLocationFsxWindowsResponse) Prelude.. Lens.mapping Data._Time++-- | The name of the Windows domain that the FSx for Windows File Server+-- belongs to.+describeLocationFsxWindowsResponse_domain :: Lens.Lens' DescribeLocationFsxWindowsResponse (Prelude.Maybe Prelude.Text)+describeLocationFsxWindowsResponse_domain = Lens.lens (\DescribeLocationFsxWindowsResponse' {domain} -> domain) (\s@DescribeLocationFsxWindowsResponse' {} a -> s {domain = a} :: DescribeLocationFsxWindowsResponse)++-- | The Amazon Resource Name (ARN) of the FSx for Windows File Server+-- location that was described.+describeLocationFsxWindowsResponse_locationArn :: Lens.Lens' DescribeLocationFsxWindowsResponse (Prelude.Maybe Prelude.Text)+describeLocationFsxWindowsResponse_locationArn = Lens.lens (\DescribeLocationFsxWindowsResponse' {locationArn} -> locationArn) (\s@DescribeLocationFsxWindowsResponse' {} a -> s {locationArn = a} :: DescribeLocationFsxWindowsResponse)++-- | The URL of the FSx for Windows File Server location that was described.+describeLocationFsxWindowsResponse_locationUri :: Lens.Lens' DescribeLocationFsxWindowsResponse (Prelude.Maybe Prelude.Text)+describeLocationFsxWindowsResponse_locationUri = Lens.lens (\DescribeLocationFsxWindowsResponse' {locationUri} -> locationUri) (\s@DescribeLocationFsxWindowsResponse' {} a -> s {locationUri = a} :: DescribeLocationFsxWindowsResponse)++-- | The Amazon Resource Names (ARNs) of the security groups that are+-- configured for the FSx for Windows File Server file system.+describeLocationFsxWindowsResponse_securityGroupArns :: Lens.Lens' DescribeLocationFsxWindowsResponse (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+describeLocationFsxWindowsResponse_securityGroupArns = Lens.lens (\DescribeLocationFsxWindowsResponse' {securityGroupArns} -> securityGroupArns) (\s@DescribeLocationFsxWindowsResponse' {} a -> s {securityGroupArns = a} :: DescribeLocationFsxWindowsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The user who has the permissions to access files and folders in the FSx+-- for Windows File Server file system.+describeLocationFsxWindowsResponse_user :: Lens.Lens' DescribeLocationFsxWindowsResponse (Prelude.Maybe Prelude.Text)+describeLocationFsxWindowsResponse_user = Lens.lens (\DescribeLocationFsxWindowsResponse' {user} -> user) (\s@DescribeLocationFsxWindowsResponse' {} a -> s {user = a} :: DescribeLocationFsxWindowsResponse)++-- | The response's http status code.+describeLocationFsxWindowsResponse_httpStatus :: Lens.Lens' DescribeLocationFsxWindowsResponse Prelude.Int+describeLocationFsxWindowsResponse_httpStatus = Lens.lens (\DescribeLocationFsxWindowsResponse' {httpStatus} -> httpStatus) (\s@DescribeLocationFsxWindowsResponse' {} a -> s {httpStatus = a} :: DescribeLocationFsxWindowsResponse)++instance+ Prelude.NFData+ DescribeLocationFsxWindowsResponse+ where+ rnf DescribeLocationFsxWindowsResponse' {..} =+ Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf domain+ `Prelude.seq` Prelude.rnf locationArn+ `Prelude.seq` Prelude.rnf locationUri+ `Prelude.seq` Prelude.rnf securityGroupArns+ `Prelude.seq` Prelude.rnf user+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/DataSync/DescribeLocationHdfs.hs view
@@ -0,0 +1,323 @@+{-# 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.DataSync.DescribeLocationHdfs+-- 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 metadata, such as the authentication information about the+-- Hadoop Distributed File System (HDFS) location.+module Amazonka.DataSync.DescribeLocationHdfs+ ( -- * Creating a Request+ DescribeLocationHdfs (..),+ newDescribeLocationHdfs,++ -- * Request Lenses+ describeLocationHdfs_locationArn,++ -- * Destructuring the Response+ DescribeLocationHdfsResponse (..),+ newDescribeLocationHdfsResponse,++ -- * Response Lenses+ describeLocationHdfsResponse_agentArns,+ describeLocationHdfsResponse_authenticationType,+ describeLocationHdfsResponse_blockSize,+ describeLocationHdfsResponse_creationTime,+ describeLocationHdfsResponse_kerberosPrincipal,+ describeLocationHdfsResponse_kmsKeyProviderUri,+ describeLocationHdfsResponse_locationArn,+ describeLocationHdfsResponse_locationUri,+ describeLocationHdfsResponse_nameNodes,+ describeLocationHdfsResponse_qopConfiguration,+ describeLocationHdfsResponse_replicationFactor,+ describeLocationHdfsResponse_simpleUser,+ describeLocationHdfsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DataSync.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeLocationHdfs' smart constructor.+data DescribeLocationHdfs = DescribeLocationHdfs'+ { -- | The Amazon Resource Name (ARN) of the HDFS cluster location to describe.+ locationArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeLocationHdfs' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'locationArn', 'describeLocationHdfs_locationArn' - The Amazon Resource Name (ARN) of the HDFS cluster location to describe.+newDescribeLocationHdfs ::+ -- | 'locationArn'+ Prelude.Text ->+ DescribeLocationHdfs+newDescribeLocationHdfs pLocationArn_ =+ DescribeLocationHdfs' {locationArn = pLocationArn_}++-- | The Amazon Resource Name (ARN) of the HDFS cluster location to describe.+describeLocationHdfs_locationArn :: Lens.Lens' DescribeLocationHdfs Prelude.Text+describeLocationHdfs_locationArn = Lens.lens (\DescribeLocationHdfs' {locationArn} -> locationArn) (\s@DescribeLocationHdfs' {} a -> s {locationArn = a} :: DescribeLocationHdfs)++instance Core.AWSRequest DescribeLocationHdfs where+ type+ AWSResponse DescribeLocationHdfs =+ DescribeLocationHdfsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeLocationHdfsResponse'+ Prelude.<$> (x Data..?> "AgentArns")+ Prelude.<*> (x Data..?> "AuthenticationType")+ Prelude.<*> (x Data..?> "BlockSize")+ Prelude.<*> (x Data..?> "CreationTime")+ Prelude.<*> (x Data..?> "KerberosPrincipal")+ Prelude.<*> (x Data..?> "KmsKeyProviderUri")+ Prelude.<*> (x Data..?> "LocationArn")+ Prelude.<*> (x Data..?> "LocationUri")+ Prelude.<*> (x Data..?> "NameNodes")+ Prelude.<*> (x Data..?> "QopConfiguration")+ Prelude.<*> (x Data..?> "ReplicationFactor")+ Prelude.<*> (x Data..?> "SimpleUser")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DescribeLocationHdfs where+ hashWithSalt _salt DescribeLocationHdfs' {..} =+ _salt `Prelude.hashWithSalt` locationArn++instance Prelude.NFData DescribeLocationHdfs where+ rnf DescribeLocationHdfs' {..} =+ Prelude.rnf locationArn++instance Data.ToHeaders DescribeLocationHdfs where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "FmrsService.DescribeLocationHdfs" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DescribeLocationHdfs where+ toJSON DescribeLocationHdfs' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("LocationArn" Data..= locationArn)]+ )++instance Data.ToPath DescribeLocationHdfs where+ toPath = Prelude.const "/"++instance Data.ToQuery DescribeLocationHdfs where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeLocationHdfsResponse' smart constructor.+data DescribeLocationHdfsResponse = DescribeLocationHdfsResponse'+ { -- | The ARNs of the agents that are used to connect to the HDFS cluster.+ agentArns :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+ -- | The type of authentication used to determine the identity of the user.+ authenticationType :: Prelude.Maybe HdfsAuthenticationType,+ -- | The size of the data blocks to write into the HDFS cluster.+ blockSize :: Prelude.Maybe Prelude.Natural,+ -- | The time that the HDFS location was created.+ creationTime :: Prelude.Maybe Data.POSIX,+ -- | The Kerberos principal with access to the files and folders on the HDFS+ -- cluster. This parameter is used if the @AuthenticationType@ is defined+ -- as @KERBEROS@.+ kerberosPrincipal :: Prelude.Maybe Prelude.Text,+ -- | The URI of the HDFS cluster\'s Key Management Server (KMS).+ kmsKeyProviderUri :: Prelude.Maybe Prelude.Text,+ -- | The ARN of the HDFS cluster location.+ locationArn :: Prelude.Maybe Prelude.Text,+ -- | The URI of the HDFS cluster location.+ locationUri :: Prelude.Maybe Prelude.Text,+ -- | The NameNode that manage the HDFS namespace.+ nameNodes :: Prelude.Maybe (Prelude.NonEmpty HdfsNameNode),+ -- | The Quality of Protection (QOP) configuration specifies the Remote+ -- Procedure Call (RPC) and data transfer protection settings configured on+ -- the Hadoop Distributed File System (HDFS) cluster.+ qopConfiguration :: Prelude.Maybe QopConfiguration,+ -- | The number of DataNodes to replicate the data to when writing to the+ -- HDFS cluster.+ replicationFactor :: Prelude.Maybe Prelude.Natural,+ -- | The user name used to identify the client on the host operating system.+ -- This parameter is used if the @AuthenticationType@ is defined as+ -- @SIMPLE@.+ simpleUser :: 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 'DescribeLocationHdfsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'agentArns', 'describeLocationHdfsResponse_agentArns' - The ARNs of the agents that are used to connect to the HDFS cluster.+--+-- 'authenticationType', 'describeLocationHdfsResponse_authenticationType' - The type of authentication used to determine the identity of the user.+--+-- 'blockSize', 'describeLocationHdfsResponse_blockSize' - The size of the data blocks to write into the HDFS cluster.+--+-- 'creationTime', 'describeLocationHdfsResponse_creationTime' - The time that the HDFS location was created.+--+-- 'kerberosPrincipal', 'describeLocationHdfsResponse_kerberosPrincipal' - The Kerberos principal with access to the files and folders on the HDFS+-- cluster. This parameter is used if the @AuthenticationType@ is defined+-- as @KERBEROS@.+--+-- 'kmsKeyProviderUri', 'describeLocationHdfsResponse_kmsKeyProviderUri' - The URI of the HDFS cluster\'s Key Management Server (KMS).+--+-- 'locationArn', 'describeLocationHdfsResponse_locationArn' - The ARN of the HDFS cluster location.+--+-- 'locationUri', 'describeLocationHdfsResponse_locationUri' - The URI of the HDFS cluster location.+--+-- 'nameNodes', 'describeLocationHdfsResponse_nameNodes' - The NameNode that manage the HDFS namespace.+--+-- 'qopConfiguration', 'describeLocationHdfsResponse_qopConfiguration' - The Quality of Protection (QOP) configuration specifies the Remote+-- Procedure Call (RPC) and data transfer protection settings configured on+-- the Hadoop Distributed File System (HDFS) cluster.+--+-- 'replicationFactor', 'describeLocationHdfsResponse_replicationFactor' - The number of DataNodes to replicate the data to when writing to the+-- HDFS cluster.+--+-- 'simpleUser', 'describeLocationHdfsResponse_simpleUser' - The user name used to identify the client on the host operating system.+-- This parameter is used if the @AuthenticationType@ is defined as+-- @SIMPLE@.+--+-- 'httpStatus', 'describeLocationHdfsResponse_httpStatus' - The response's http status code.+newDescribeLocationHdfsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeLocationHdfsResponse+newDescribeLocationHdfsResponse pHttpStatus_ =+ DescribeLocationHdfsResponse'+ { agentArns =+ Prelude.Nothing,+ authenticationType = Prelude.Nothing,+ blockSize = Prelude.Nothing,+ creationTime = Prelude.Nothing,+ kerberosPrincipal = Prelude.Nothing,+ kmsKeyProviderUri = Prelude.Nothing,+ locationArn = Prelude.Nothing,+ locationUri = Prelude.Nothing,+ nameNodes = Prelude.Nothing,+ qopConfiguration = Prelude.Nothing,+ replicationFactor = Prelude.Nothing,+ simpleUser = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The ARNs of the agents that are used to connect to the HDFS cluster.+describeLocationHdfsResponse_agentArns :: Lens.Lens' DescribeLocationHdfsResponse (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+describeLocationHdfsResponse_agentArns = Lens.lens (\DescribeLocationHdfsResponse' {agentArns} -> agentArns) (\s@DescribeLocationHdfsResponse' {} a -> s {agentArns = a} :: DescribeLocationHdfsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The type of authentication used to determine the identity of the user.+describeLocationHdfsResponse_authenticationType :: Lens.Lens' DescribeLocationHdfsResponse (Prelude.Maybe HdfsAuthenticationType)+describeLocationHdfsResponse_authenticationType = Lens.lens (\DescribeLocationHdfsResponse' {authenticationType} -> authenticationType) (\s@DescribeLocationHdfsResponse' {} a -> s {authenticationType = a} :: DescribeLocationHdfsResponse)++-- | The size of the data blocks to write into the HDFS cluster.+describeLocationHdfsResponse_blockSize :: Lens.Lens' DescribeLocationHdfsResponse (Prelude.Maybe Prelude.Natural)+describeLocationHdfsResponse_blockSize = Lens.lens (\DescribeLocationHdfsResponse' {blockSize} -> blockSize) (\s@DescribeLocationHdfsResponse' {} a -> s {blockSize = a} :: DescribeLocationHdfsResponse)++-- | The time that the HDFS location was created.+describeLocationHdfsResponse_creationTime :: Lens.Lens' DescribeLocationHdfsResponse (Prelude.Maybe Prelude.UTCTime)+describeLocationHdfsResponse_creationTime = Lens.lens (\DescribeLocationHdfsResponse' {creationTime} -> creationTime) (\s@DescribeLocationHdfsResponse' {} a -> s {creationTime = a} :: DescribeLocationHdfsResponse) Prelude.. Lens.mapping Data._Time++-- | The Kerberos principal with access to the files and folders on the HDFS+-- cluster. This parameter is used if the @AuthenticationType@ is defined+-- as @KERBEROS@.+describeLocationHdfsResponse_kerberosPrincipal :: Lens.Lens' DescribeLocationHdfsResponse (Prelude.Maybe Prelude.Text)+describeLocationHdfsResponse_kerberosPrincipal = Lens.lens (\DescribeLocationHdfsResponse' {kerberosPrincipal} -> kerberosPrincipal) (\s@DescribeLocationHdfsResponse' {} a -> s {kerberosPrincipal = a} :: DescribeLocationHdfsResponse)++-- | The URI of the HDFS cluster\'s Key Management Server (KMS).+describeLocationHdfsResponse_kmsKeyProviderUri :: Lens.Lens' DescribeLocationHdfsResponse (Prelude.Maybe Prelude.Text)+describeLocationHdfsResponse_kmsKeyProviderUri = Lens.lens (\DescribeLocationHdfsResponse' {kmsKeyProviderUri} -> kmsKeyProviderUri) (\s@DescribeLocationHdfsResponse' {} a -> s {kmsKeyProviderUri = a} :: DescribeLocationHdfsResponse)++-- | The ARN of the HDFS cluster location.+describeLocationHdfsResponse_locationArn :: Lens.Lens' DescribeLocationHdfsResponse (Prelude.Maybe Prelude.Text)+describeLocationHdfsResponse_locationArn = Lens.lens (\DescribeLocationHdfsResponse' {locationArn} -> locationArn) (\s@DescribeLocationHdfsResponse' {} a -> s {locationArn = a} :: DescribeLocationHdfsResponse)++-- | The URI of the HDFS cluster location.+describeLocationHdfsResponse_locationUri :: Lens.Lens' DescribeLocationHdfsResponse (Prelude.Maybe Prelude.Text)+describeLocationHdfsResponse_locationUri = Lens.lens (\DescribeLocationHdfsResponse' {locationUri} -> locationUri) (\s@DescribeLocationHdfsResponse' {} a -> s {locationUri = a} :: DescribeLocationHdfsResponse)++-- | The NameNode that manage the HDFS namespace.+describeLocationHdfsResponse_nameNodes :: Lens.Lens' DescribeLocationHdfsResponse (Prelude.Maybe (Prelude.NonEmpty HdfsNameNode))+describeLocationHdfsResponse_nameNodes = Lens.lens (\DescribeLocationHdfsResponse' {nameNodes} -> nameNodes) (\s@DescribeLocationHdfsResponse' {} a -> s {nameNodes = a} :: DescribeLocationHdfsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The Quality of Protection (QOP) configuration specifies the Remote+-- Procedure Call (RPC) and data transfer protection settings configured on+-- the Hadoop Distributed File System (HDFS) cluster.+describeLocationHdfsResponse_qopConfiguration :: Lens.Lens' DescribeLocationHdfsResponse (Prelude.Maybe QopConfiguration)+describeLocationHdfsResponse_qopConfiguration = Lens.lens (\DescribeLocationHdfsResponse' {qopConfiguration} -> qopConfiguration) (\s@DescribeLocationHdfsResponse' {} a -> s {qopConfiguration = a} :: DescribeLocationHdfsResponse)++-- | The number of DataNodes to replicate the data to when writing to the+-- HDFS cluster.+describeLocationHdfsResponse_replicationFactor :: Lens.Lens' DescribeLocationHdfsResponse (Prelude.Maybe Prelude.Natural)+describeLocationHdfsResponse_replicationFactor = Lens.lens (\DescribeLocationHdfsResponse' {replicationFactor} -> replicationFactor) (\s@DescribeLocationHdfsResponse' {} a -> s {replicationFactor = a} :: DescribeLocationHdfsResponse)++-- | The user name used to identify the client on the host operating system.+-- This parameter is used if the @AuthenticationType@ is defined as+-- @SIMPLE@.+describeLocationHdfsResponse_simpleUser :: Lens.Lens' DescribeLocationHdfsResponse (Prelude.Maybe Prelude.Text)+describeLocationHdfsResponse_simpleUser = Lens.lens (\DescribeLocationHdfsResponse' {simpleUser} -> simpleUser) (\s@DescribeLocationHdfsResponse' {} a -> s {simpleUser = a} :: DescribeLocationHdfsResponse)++-- | The response's http status code.+describeLocationHdfsResponse_httpStatus :: Lens.Lens' DescribeLocationHdfsResponse Prelude.Int+describeLocationHdfsResponse_httpStatus = Lens.lens (\DescribeLocationHdfsResponse' {httpStatus} -> httpStatus) (\s@DescribeLocationHdfsResponse' {} a -> s {httpStatus = a} :: DescribeLocationHdfsResponse)++instance Prelude.NFData DescribeLocationHdfsResponse where+ rnf DescribeLocationHdfsResponse' {..} =+ Prelude.rnf agentArns+ `Prelude.seq` Prelude.rnf authenticationType+ `Prelude.seq` Prelude.rnf blockSize+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf kerberosPrincipal+ `Prelude.seq` Prelude.rnf kmsKeyProviderUri+ `Prelude.seq` Prelude.rnf locationArn+ `Prelude.seq` Prelude.rnf locationUri+ `Prelude.seq` Prelude.rnf nameNodes+ `Prelude.seq` Prelude.rnf qopConfiguration+ `Prelude.seq` Prelude.rnf replicationFactor+ `Prelude.seq` Prelude.rnf simpleUser+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/DataSync/DescribeLocationNfs.hs view
@@ -0,0 +1,220 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DataSync.DescribeLocationNfs+-- 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 metadata, such as the path information, about an NFS location.+module Amazonka.DataSync.DescribeLocationNfs+ ( -- * Creating a Request+ DescribeLocationNfs (..),+ newDescribeLocationNfs,++ -- * Request Lenses+ describeLocationNfs_locationArn,++ -- * Destructuring the Response+ DescribeLocationNfsResponse (..),+ newDescribeLocationNfsResponse,++ -- * Response Lenses+ describeLocationNfsResponse_creationTime,+ describeLocationNfsResponse_locationArn,+ describeLocationNfsResponse_locationUri,+ describeLocationNfsResponse_mountOptions,+ describeLocationNfsResponse_onPremConfig,+ describeLocationNfsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DataSync.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | DescribeLocationNfsRequest+--+-- /See:/ 'newDescribeLocationNfs' smart constructor.+data DescribeLocationNfs = DescribeLocationNfs'+ { -- | The Amazon Resource Name (ARN) of the NFS location to describe.+ locationArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeLocationNfs' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'locationArn', 'describeLocationNfs_locationArn' - The Amazon Resource Name (ARN) of the NFS location to describe.+newDescribeLocationNfs ::+ -- | 'locationArn'+ Prelude.Text ->+ DescribeLocationNfs+newDescribeLocationNfs pLocationArn_ =+ DescribeLocationNfs' {locationArn = pLocationArn_}++-- | The Amazon Resource Name (ARN) of the NFS location to describe.+describeLocationNfs_locationArn :: Lens.Lens' DescribeLocationNfs Prelude.Text+describeLocationNfs_locationArn = Lens.lens (\DescribeLocationNfs' {locationArn} -> locationArn) (\s@DescribeLocationNfs' {} a -> s {locationArn = a} :: DescribeLocationNfs)++instance Core.AWSRequest DescribeLocationNfs where+ type+ AWSResponse DescribeLocationNfs =+ DescribeLocationNfsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeLocationNfsResponse'+ Prelude.<$> (x Data..?> "CreationTime")+ Prelude.<*> (x Data..?> "LocationArn")+ Prelude.<*> (x Data..?> "LocationUri")+ Prelude.<*> (x Data..?> "MountOptions")+ Prelude.<*> (x Data..?> "OnPremConfig")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DescribeLocationNfs where+ hashWithSalt _salt DescribeLocationNfs' {..} =+ _salt `Prelude.hashWithSalt` locationArn++instance Prelude.NFData DescribeLocationNfs where+ rnf DescribeLocationNfs' {..} =+ Prelude.rnf locationArn++instance Data.ToHeaders DescribeLocationNfs where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "FmrsService.DescribeLocationNfs" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DescribeLocationNfs where+ toJSON DescribeLocationNfs' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("LocationArn" Data..= locationArn)]+ )++instance Data.ToPath DescribeLocationNfs where+ toPath = Prelude.const "/"++instance Data.ToQuery DescribeLocationNfs where+ toQuery = Prelude.const Prelude.mempty++-- | DescribeLocationNfsResponse+--+-- /See:/ 'newDescribeLocationNfsResponse' smart constructor.+data DescribeLocationNfsResponse = DescribeLocationNfsResponse'+ { -- | The time that the NFS location was created.+ creationTime :: Prelude.Maybe Data.POSIX,+ -- | The Amazon Resource Name (ARN) of the NFS location that was described.+ locationArn :: Prelude.Maybe Prelude.Text,+ -- | The URL of the source NFS location that was described.+ locationUri :: Prelude.Maybe Prelude.Text,+ -- | The NFS mount options that DataSync used to mount your NFS share.+ mountOptions :: Prelude.Maybe NfsMountOptions,+ onPremConfig :: Prelude.Maybe OnPremConfig,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeLocationNfsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'creationTime', 'describeLocationNfsResponse_creationTime' - The time that the NFS location was created.+--+-- 'locationArn', 'describeLocationNfsResponse_locationArn' - The Amazon Resource Name (ARN) of the NFS location that was described.+--+-- 'locationUri', 'describeLocationNfsResponse_locationUri' - The URL of the source NFS location that was described.+--+-- 'mountOptions', 'describeLocationNfsResponse_mountOptions' - The NFS mount options that DataSync used to mount your NFS share.+--+-- 'onPremConfig', 'describeLocationNfsResponse_onPremConfig' - Undocumented member.+--+-- 'httpStatus', 'describeLocationNfsResponse_httpStatus' - The response's http status code.+newDescribeLocationNfsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeLocationNfsResponse+newDescribeLocationNfsResponse pHttpStatus_ =+ DescribeLocationNfsResponse'+ { creationTime =+ Prelude.Nothing,+ locationArn = Prelude.Nothing,+ locationUri = Prelude.Nothing,+ mountOptions = Prelude.Nothing,+ onPremConfig = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The time that the NFS location was created.+describeLocationNfsResponse_creationTime :: Lens.Lens' DescribeLocationNfsResponse (Prelude.Maybe Prelude.UTCTime)+describeLocationNfsResponse_creationTime = Lens.lens (\DescribeLocationNfsResponse' {creationTime} -> creationTime) (\s@DescribeLocationNfsResponse' {} a -> s {creationTime = a} :: DescribeLocationNfsResponse) Prelude.. Lens.mapping Data._Time++-- | The Amazon Resource Name (ARN) of the NFS location that was described.+describeLocationNfsResponse_locationArn :: Lens.Lens' DescribeLocationNfsResponse (Prelude.Maybe Prelude.Text)+describeLocationNfsResponse_locationArn = Lens.lens (\DescribeLocationNfsResponse' {locationArn} -> locationArn) (\s@DescribeLocationNfsResponse' {} a -> s {locationArn = a} :: DescribeLocationNfsResponse)++-- | The URL of the source NFS location that was described.+describeLocationNfsResponse_locationUri :: Lens.Lens' DescribeLocationNfsResponse (Prelude.Maybe Prelude.Text)+describeLocationNfsResponse_locationUri = Lens.lens (\DescribeLocationNfsResponse' {locationUri} -> locationUri) (\s@DescribeLocationNfsResponse' {} a -> s {locationUri = a} :: DescribeLocationNfsResponse)++-- | The NFS mount options that DataSync used to mount your NFS share.+describeLocationNfsResponse_mountOptions :: Lens.Lens' DescribeLocationNfsResponse (Prelude.Maybe NfsMountOptions)+describeLocationNfsResponse_mountOptions = Lens.lens (\DescribeLocationNfsResponse' {mountOptions} -> mountOptions) (\s@DescribeLocationNfsResponse' {} a -> s {mountOptions = a} :: DescribeLocationNfsResponse)++-- | Undocumented member.+describeLocationNfsResponse_onPremConfig :: Lens.Lens' DescribeLocationNfsResponse (Prelude.Maybe OnPremConfig)+describeLocationNfsResponse_onPremConfig = Lens.lens (\DescribeLocationNfsResponse' {onPremConfig} -> onPremConfig) (\s@DescribeLocationNfsResponse' {} a -> s {onPremConfig = a} :: DescribeLocationNfsResponse)++-- | The response's http status code.+describeLocationNfsResponse_httpStatus :: Lens.Lens' DescribeLocationNfsResponse Prelude.Int+describeLocationNfsResponse_httpStatus = Lens.lens (\DescribeLocationNfsResponse' {httpStatus} -> httpStatus) (\s@DescribeLocationNfsResponse' {} a -> s {httpStatus = a} :: DescribeLocationNfsResponse)++instance Prelude.NFData DescribeLocationNfsResponse where+ rnf DescribeLocationNfsResponse' {..} =+ Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf locationArn+ `Prelude.seq` Prelude.rnf locationUri+ `Prelude.seq` Prelude.rnf mountOptions+ `Prelude.seq` Prelude.rnf onPremConfig+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/DataSync/DescribeLocationObjectStorage.hs view
@@ -0,0 +1,293 @@+{-# 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.DataSync.DescribeLocationObjectStorage+-- 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 metadata about your DataSync location for an object storage+-- system.+module Amazonka.DataSync.DescribeLocationObjectStorage+ ( -- * Creating a Request+ DescribeLocationObjectStorage (..),+ newDescribeLocationObjectStorage,++ -- * Request Lenses+ describeLocationObjectStorage_locationArn,++ -- * Destructuring the Response+ DescribeLocationObjectStorageResponse (..),+ newDescribeLocationObjectStorageResponse,++ -- * Response Lenses+ describeLocationObjectStorageResponse_accessKey,+ describeLocationObjectStorageResponse_agentArns,+ describeLocationObjectStorageResponse_creationTime,+ describeLocationObjectStorageResponse_locationArn,+ describeLocationObjectStorageResponse_locationUri,+ describeLocationObjectStorageResponse_serverCertificate,+ describeLocationObjectStorageResponse_serverPort,+ describeLocationObjectStorageResponse_serverProtocol,+ describeLocationObjectStorageResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DataSync.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | DescribeLocationObjectStorageRequest+--+-- /See:/ 'newDescribeLocationObjectStorage' smart constructor.+data DescribeLocationObjectStorage = DescribeLocationObjectStorage'+ { -- | The Amazon Resource Name (ARN) of the object storage system location+ -- that you want information about.+ locationArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeLocationObjectStorage' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'locationArn', 'describeLocationObjectStorage_locationArn' - The Amazon Resource Name (ARN) of the object storage system location+-- that you want information about.+newDescribeLocationObjectStorage ::+ -- | 'locationArn'+ Prelude.Text ->+ DescribeLocationObjectStorage+newDescribeLocationObjectStorage pLocationArn_ =+ DescribeLocationObjectStorage'+ { locationArn =+ pLocationArn_+ }++-- | The Amazon Resource Name (ARN) of the object storage system location+-- that you want information about.+describeLocationObjectStorage_locationArn :: Lens.Lens' DescribeLocationObjectStorage Prelude.Text+describeLocationObjectStorage_locationArn = Lens.lens (\DescribeLocationObjectStorage' {locationArn} -> locationArn) (\s@DescribeLocationObjectStorage' {} a -> s {locationArn = a} :: DescribeLocationObjectStorage)++instance+ Core.AWSRequest+ DescribeLocationObjectStorage+ where+ type+ AWSResponse DescribeLocationObjectStorage =+ DescribeLocationObjectStorageResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeLocationObjectStorageResponse'+ Prelude.<$> (x Data..?> "AccessKey")+ Prelude.<*> (x Data..?> "AgentArns")+ Prelude.<*> (x Data..?> "CreationTime")+ Prelude.<*> (x Data..?> "LocationArn")+ Prelude.<*> (x Data..?> "LocationUri")+ Prelude.<*> (x Data..?> "ServerCertificate")+ Prelude.<*> (x Data..?> "ServerPort")+ Prelude.<*> (x Data..?> "ServerProtocol")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ DescribeLocationObjectStorage+ where+ hashWithSalt _salt DescribeLocationObjectStorage' {..} =+ _salt `Prelude.hashWithSalt` locationArn++instance Prelude.NFData DescribeLocationObjectStorage where+ rnf DescribeLocationObjectStorage' {..} =+ Prelude.rnf locationArn++instance Data.ToHeaders DescribeLocationObjectStorage where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "FmrsService.DescribeLocationObjectStorage" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DescribeLocationObjectStorage where+ toJSON DescribeLocationObjectStorage' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("LocationArn" Data..= locationArn)]+ )++instance Data.ToPath DescribeLocationObjectStorage where+ toPath = Prelude.const "/"++instance Data.ToQuery DescribeLocationObjectStorage where+ toQuery = Prelude.const Prelude.mempty++-- | DescribeLocationObjectStorageResponse+--+-- /See:/ 'newDescribeLocationObjectStorageResponse' smart constructor.+data DescribeLocationObjectStorageResponse = DescribeLocationObjectStorageResponse'+ { -- | The access key (for example, a user name) required to authenticate with+ -- the object storage system.+ accessKey :: Prelude.Maybe Prelude.Text,+ -- | The ARNs of the DataSync agents that can securely connect with your+ -- location.+ agentArns :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+ -- | The time that the location was created.+ creationTime :: Prelude.Maybe Data.POSIX,+ -- | The ARN of the object storage system location.+ locationArn :: Prelude.Maybe Prelude.Text,+ -- | The URL of the object storage system location.+ locationUri :: Prelude.Maybe Prelude.Text,+ -- | The self-signed certificate that DataSync uses to securely authenticate+ -- with your object storage system.+ serverCertificate :: Prelude.Maybe Data.Base64,+ -- | The port that your object storage server accepts inbound network traffic+ -- on (for example, port 443).+ serverPort :: Prelude.Maybe Prelude.Natural,+ -- | The protocol that your object storage system uses to communicate.+ serverProtocol :: Prelude.Maybe ObjectStorageServerProtocol,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeLocationObjectStorageResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accessKey', 'describeLocationObjectStorageResponse_accessKey' - The access key (for example, a user name) required to authenticate with+-- the object storage system.+--+-- 'agentArns', 'describeLocationObjectStorageResponse_agentArns' - The ARNs of the DataSync agents that can securely connect with your+-- location.+--+-- 'creationTime', 'describeLocationObjectStorageResponse_creationTime' - The time that the location was created.+--+-- 'locationArn', 'describeLocationObjectStorageResponse_locationArn' - The ARN of the object storage system location.+--+-- 'locationUri', 'describeLocationObjectStorageResponse_locationUri' - The URL of the object storage system location.+--+-- 'serverCertificate', 'describeLocationObjectStorageResponse_serverCertificate' - The self-signed certificate that DataSync uses to securely authenticate+-- with your object storage system.--+-- -- /Note:/ This 'Lens' automatically encodes and decodes Base64 data.+-- -- The underlying isomorphism will encode to Base64 representation during+-- -- serialisation, and decode from Base64 representation during deserialisation.+-- -- This 'Lens' accepts and returns only raw unencoded data.+--+-- 'serverPort', 'describeLocationObjectStorageResponse_serverPort' - The port that your object storage server accepts inbound network traffic+-- on (for example, port 443).+--+-- 'serverProtocol', 'describeLocationObjectStorageResponse_serverProtocol' - The protocol that your object storage system uses to communicate.+--+-- 'httpStatus', 'describeLocationObjectStorageResponse_httpStatus' - The response's http status code.+newDescribeLocationObjectStorageResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeLocationObjectStorageResponse+newDescribeLocationObjectStorageResponse pHttpStatus_ =+ DescribeLocationObjectStorageResponse'+ { accessKey =+ Prelude.Nothing,+ agentArns = Prelude.Nothing,+ creationTime = Prelude.Nothing,+ locationArn = Prelude.Nothing,+ locationUri = Prelude.Nothing,+ serverCertificate = Prelude.Nothing,+ serverPort = Prelude.Nothing,+ serverProtocol = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The access key (for example, a user name) required to authenticate with+-- the object storage system.+describeLocationObjectStorageResponse_accessKey :: Lens.Lens' DescribeLocationObjectStorageResponse (Prelude.Maybe Prelude.Text)+describeLocationObjectStorageResponse_accessKey = Lens.lens (\DescribeLocationObjectStorageResponse' {accessKey} -> accessKey) (\s@DescribeLocationObjectStorageResponse' {} a -> s {accessKey = a} :: DescribeLocationObjectStorageResponse)++-- | The ARNs of the DataSync agents that can securely connect with your+-- location.+describeLocationObjectStorageResponse_agentArns :: Lens.Lens' DescribeLocationObjectStorageResponse (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+describeLocationObjectStorageResponse_agentArns = Lens.lens (\DescribeLocationObjectStorageResponse' {agentArns} -> agentArns) (\s@DescribeLocationObjectStorageResponse' {} a -> s {agentArns = a} :: DescribeLocationObjectStorageResponse) Prelude.. Lens.mapping Lens.coerced++-- | The time that the location was created.+describeLocationObjectStorageResponse_creationTime :: Lens.Lens' DescribeLocationObjectStorageResponse (Prelude.Maybe Prelude.UTCTime)+describeLocationObjectStorageResponse_creationTime = Lens.lens (\DescribeLocationObjectStorageResponse' {creationTime} -> creationTime) (\s@DescribeLocationObjectStorageResponse' {} a -> s {creationTime = a} :: DescribeLocationObjectStorageResponse) Prelude.. Lens.mapping Data._Time++-- | The ARN of the object storage system location.+describeLocationObjectStorageResponse_locationArn :: Lens.Lens' DescribeLocationObjectStorageResponse (Prelude.Maybe Prelude.Text)+describeLocationObjectStorageResponse_locationArn = Lens.lens (\DescribeLocationObjectStorageResponse' {locationArn} -> locationArn) (\s@DescribeLocationObjectStorageResponse' {} a -> s {locationArn = a} :: DescribeLocationObjectStorageResponse)++-- | The URL of the object storage system location.+describeLocationObjectStorageResponse_locationUri :: Lens.Lens' DescribeLocationObjectStorageResponse (Prelude.Maybe Prelude.Text)+describeLocationObjectStorageResponse_locationUri = Lens.lens (\DescribeLocationObjectStorageResponse' {locationUri} -> locationUri) (\s@DescribeLocationObjectStorageResponse' {} a -> s {locationUri = a} :: DescribeLocationObjectStorageResponse)++-- | The self-signed certificate that DataSync uses to securely authenticate+-- with your object storage system.--+-- -- /Note:/ This 'Lens' automatically encodes and decodes Base64 data.+-- -- The underlying isomorphism will encode to Base64 representation during+-- -- serialisation, and decode from Base64 representation during deserialisation.+-- -- This 'Lens' accepts and returns only raw unencoded data.+describeLocationObjectStorageResponse_serverCertificate :: Lens.Lens' DescribeLocationObjectStorageResponse (Prelude.Maybe Prelude.ByteString)+describeLocationObjectStorageResponse_serverCertificate = Lens.lens (\DescribeLocationObjectStorageResponse' {serverCertificate} -> serverCertificate) (\s@DescribeLocationObjectStorageResponse' {} a -> s {serverCertificate = a} :: DescribeLocationObjectStorageResponse) Prelude.. Lens.mapping Data._Base64++-- | The port that your object storage server accepts inbound network traffic+-- on (for example, port 443).+describeLocationObjectStorageResponse_serverPort :: Lens.Lens' DescribeLocationObjectStorageResponse (Prelude.Maybe Prelude.Natural)+describeLocationObjectStorageResponse_serverPort = Lens.lens (\DescribeLocationObjectStorageResponse' {serverPort} -> serverPort) (\s@DescribeLocationObjectStorageResponse' {} a -> s {serverPort = a} :: DescribeLocationObjectStorageResponse)++-- | The protocol that your object storage system uses to communicate.+describeLocationObjectStorageResponse_serverProtocol :: Lens.Lens' DescribeLocationObjectStorageResponse (Prelude.Maybe ObjectStorageServerProtocol)+describeLocationObjectStorageResponse_serverProtocol = Lens.lens (\DescribeLocationObjectStorageResponse' {serverProtocol} -> serverProtocol) (\s@DescribeLocationObjectStorageResponse' {} a -> s {serverProtocol = a} :: DescribeLocationObjectStorageResponse)++-- | The response's http status code.+describeLocationObjectStorageResponse_httpStatus :: Lens.Lens' DescribeLocationObjectStorageResponse Prelude.Int+describeLocationObjectStorageResponse_httpStatus = Lens.lens (\DescribeLocationObjectStorageResponse' {httpStatus} -> httpStatus) (\s@DescribeLocationObjectStorageResponse' {} a -> s {httpStatus = a} :: DescribeLocationObjectStorageResponse)++instance+ Prelude.NFData+ DescribeLocationObjectStorageResponse+ where+ rnf DescribeLocationObjectStorageResponse' {..} =+ Prelude.rnf accessKey+ `Prelude.seq` Prelude.rnf agentArns+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf locationArn+ `Prelude.seq` Prelude.rnf locationUri+ `Prelude.seq` Prelude.rnf serverCertificate+ `Prelude.seq` Prelude.rnf serverPort+ `Prelude.seq` Prelude.rnf serverProtocol+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/DataSync/DescribeLocationS3.hs view
@@ -0,0 +1,265 @@+{-# 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.DataSync.DescribeLocationS3+-- 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 metadata, such as bucket name, about an Amazon S3 bucket+-- location.+module Amazonka.DataSync.DescribeLocationS3+ ( -- * Creating a Request+ DescribeLocationS3 (..),+ newDescribeLocationS3,++ -- * Request Lenses+ describeLocationS3_locationArn,++ -- * Destructuring the Response+ DescribeLocationS3Response (..),+ newDescribeLocationS3Response,++ -- * Response Lenses+ describeLocationS3Response_agentArns,+ describeLocationS3Response_creationTime,+ describeLocationS3Response_locationArn,+ describeLocationS3Response_locationUri,+ describeLocationS3Response_s3Config,+ describeLocationS3Response_s3StorageClass,+ describeLocationS3Response_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DataSync.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | DescribeLocationS3Request+--+-- /See:/ 'newDescribeLocationS3' smart constructor.+data DescribeLocationS3 = DescribeLocationS3'+ { -- | The Amazon Resource Name (ARN) of the Amazon S3 bucket location to+ -- describe.+ locationArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeLocationS3' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'locationArn', 'describeLocationS3_locationArn' - The Amazon Resource Name (ARN) of the Amazon S3 bucket location to+-- describe.+newDescribeLocationS3 ::+ -- | 'locationArn'+ Prelude.Text ->+ DescribeLocationS3+newDescribeLocationS3 pLocationArn_ =+ DescribeLocationS3' {locationArn = pLocationArn_}++-- | The Amazon Resource Name (ARN) of the Amazon S3 bucket location to+-- describe.+describeLocationS3_locationArn :: Lens.Lens' DescribeLocationS3 Prelude.Text+describeLocationS3_locationArn = Lens.lens (\DescribeLocationS3' {locationArn} -> locationArn) (\s@DescribeLocationS3' {} a -> s {locationArn = a} :: DescribeLocationS3)++instance Core.AWSRequest DescribeLocationS3 where+ type+ AWSResponse DescribeLocationS3 =+ DescribeLocationS3Response+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeLocationS3Response'+ Prelude.<$> (x Data..?> "AgentArns")+ Prelude.<*> (x Data..?> "CreationTime")+ Prelude.<*> (x Data..?> "LocationArn")+ Prelude.<*> (x Data..?> "LocationUri")+ Prelude.<*> (x Data..?> "S3Config")+ Prelude.<*> (x Data..?> "S3StorageClass")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DescribeLocationS3 where+ hashWithSalt _salt DescribeLocationS3' {..} =+ _salt `Prelude.hashWithSalt` locationArn++instance Prelude.NFData DescribeLocationS3 where+ rnf DescribeLocationS3' {..} = Prelude.rnf locationArn++instance Data.ToHeaders DescribeLocationS3 where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "FmrsService.DescribeLocationS3" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DescribeLocationS3 where+ toJSON DescribeLocationS3' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("LocationArn" Data..= locationArn)]+ )++instance Data.ToPath DescribeLocationS3 where+ toPath = Prelude.const "/"++instance Data.ToQuery DescribeLocationS3 where+ toQuery = Prelude.const Prelude.mempty++-- | DescribeLocationS3Response+--+-- /See:/ 'newDescribeLocationS3Response' smart constructor.+data DescribeLocationS3Response = DescribeLocationS3Response'+ { -- | If you are using DataSync on an Amazon Web Services Outpost, the Amazon+ -- Resource Name (ARNs) of the EC2 agents deployed on your Outpost. For+ -- more information about launching a DataSync agent on an Amazon Web+ -- Services Outpost, see+ -- <https://docs.aws.amazon.com/datasync/latest/userguide/deploy-agents.html#outposts-agent Deploy your DataSync agent on Outposts>.+ agentArns :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+ -- | The time that the Amazon S3 bucket location was created.+ creationTime :: Prelude.Maybe Data.POSIX,+ -- | The Amazon Resource Name (ARN) of the Amazon S3 bucket or access point.+ locationArn :: Prelude.Maybe Prelude.Text,+ -- | The URL of the Amazon S3 location that was described.+ locationUri :: Prelude.Maybe Prelude.Text,+ s3Config :: Prelude.Maybe S3Config,+ -- | The Amazon S3 storage class that you chose to store your files in when+ -- this location is used as a task destination. For more information about+ -- S3 storage classes, see+ -- <http://aws.amazon.com/s3/storage-classes/ Amazon S3 Storage Classes>.+ -- Some storage classes have behaviors that can affect your S3 storage+ -- cost. For detailed information, see+ -- <https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes Considerations when working with S3 storage classes in DataSync>.+ s3StorageClass :: Prelude.Maybe S3StorageClass,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeLocationS3Response' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'agentArns', 'describeLocationS3Response_agentArns' - If you are using DataSync on an Amazon Web Services Outpost, the Amazon+-- Resource Name (ARNs) of the EC2 agents deployed on your Outpost. For+-- more information about launching a DataSync agent on an Amazon Web+-- Services Outpost, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/deploy-agents.html#outposts-agent Deploy your DataSync agent on Outposts>.+--+-- 'creationTime', 'describeLocationS3Response_creationTime' - The time that the Amazon S3 bucket location was created.+--+-- 'locationArn', 'describeLocationS3Response_locationArn' - The Amazon Resource Name (ARN) of the Amazon S3 bucket or access point.+--+-- 'locationUri', 'describeLocationS3Response_locationUri' - The URL of the Amazon S3 location that was described.+--+-- 's3Config', 'describeLocationS3Response_s3Config' - Undocumented member.+--+-- 's3StorageClass', 'describeLocationS3Response_s3StorageClass' - The Amazon S3 storage class that you chose to store your files in when+-- this location is used as a task destination. For more information about+-- S3 storage classes, see+-- <http://aws.amazon.com/s3/storage-classes/ Amazon S3 Storage Classes>.+-- Some storage classes have behaviors that can affect your S3 storage+-- cost. For detailed information, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes Considerations when working with S3 storage classes in DataSync>.+--+-- 'httpStatus', 'describeLocationS3Response_httpStatus' - The response's http status code.+newDescribeLocationS3Response ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeLocationS3Response+newDescribeLocationS3Response pHttpStatus_ =+ DescribeLocationS3Response'+ { agentArns =+ Prelude.Nothing,+ creationTime = Prelude.Nothing,+ locationArn = Prelude.Nothing,+ locationUri = Prelude.Nothing,+ s3Config = Prelude.Nothing,+ s3StorageClass = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | If you are using DataSync on an Amazon Web Services Outpost, the Amazon+-- Resource Name (ARNs) of the EC2 agents deployed on your Outpost. For+-- more information about launching a DataSync agent on an Amazon Web+-- Services Outpost, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/deploy-agents.html#outposts-agent Deploy your DataSync agent on Outposts>.+describeLocationS3Response_agentArns :: Lens.Lens' DescribeLocationS3Response (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+describeLocationS3Response_agentArns = Lens.lens (\DescribeLocationS3Response' {agentArns} -> agentArns) (\s@DescribeLocationS3Response' {} a -> s {agentArns = a} :: DescribeLocationS3Response) Prelude.. Lens.mapping Lens.coerced++-- | The time that the Amazon S3 bucket location was created.+describeLocationS3Response_creationTime :: Lens.Lens' DescribeLocationS3Response (Prelude.Maybe Prelude.UTCTime)+describeLocationS3Response_creationTime = Lens.lens (\DescribeLocationS3Response' {creationTime} -> creationTime) (\s@DescribeLocationS3Response' {} a -> s {creationTime = a} :: DescribeLocationS3Response) Prelude.. Lens.mapping Data._Time++-- | The Amazon Resource Name (ARN) of the Amazon S3 bucket or access point.+describeLocationS3Response_locationArn :: Lens.Lens' DescribeLocationS3Response (Prelude.Maybe Prelude.Text)+describeLocationS3Response_locationArn = Lens.lens (\DescribeLocationS3Response' {locationArn} -> locationArn) (\s@DescribeLocationS3Response' {} a -> s {locationArn = a} :: DescribeLocationS3Response)++-- | The URL of the Amazon S3 location that was described.+describeLocationS3Response_locationUri :: Lens.Lens' DescribeLocationS3Response (Prelude.Maybe Prelude.Text)+describeLocationS3Response_locationUri = Lens.lens (\DescribeLocationS3Response' {locationUri} -> locationUri) (\s@DescribeLocationS3Response' {} a -> s {locationUri = a} :: DescribeLocationS3Response)++-- | Undocumented member.+describeLocationS3Response_s3Config :: Lens.Lens' DescribeLocationS3Response (Prelude.Maybe S3Config)+describeLocationS3Response_s3Config = Lens.lens (\DescribeLocationS3Response' {s3Config} -> s3Config) (\s@DescribeLocationS3Response' {} a -> s {s3Config = a} :: DescribeLocationS3Response)++-- | The Amazon S3 storage class that you chose to store your files in when+-- this location is used as a task destination. For more information about+-- S3 storage classes, see+-- <http://aws.amazon.com/s3/storage-classes/ Amazon S3 Storage Classes>.+-- Some storage classes have behaviors that can affect your S3 storage+-- cost. For detailed information, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes Considerations when working with S3 storage classes in DataSync>.+describeLocationS3Response_s3StorageClass :: Lens.Lens' DescribeLocationS3Response (Prelude.Maybe S3StorageClass)+describeLocationS3Response_s3StorageClass = Lens.lens (\DescribeLocationS3Response' {s3StorageClass} -> s3StorageClass) (\s@DescribeLocationS3Response' {} a -> s {s3StorageClass = a} :: DescribeLocationS3Response)++-- | The response's http status code.+describeLocationS3Response_httpStatus :: Lens.Lens' DescribeLocationS3Response Prelude.Int+describeLocationS3Response_httpStatus = Lens.lens (\DescribeLocationS3Response' {httpStatus} -> httpStatus) (\s@DescribeLocationS3Response' {} a -> s {httpStatus = a} :: DescribeLocationS3Response)++instance Prelude.NFData DescribeLocationS3Response where+ rnf DescribeLocationS3Response' {..} =+ Prelude.rnf agentArns+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf locationArn+ `Prelude.seq` Prelude.rnf locationUri+ `Prelude.seq` Prelude.rnf s3Config+ `Prelude.seq` Prelude.rnf s3StorageClass+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/DataSync/DescribeLocationSmb.hs view
@@ -0,0 +1,255 @@+{-# 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.DataSync.DescribeLocationSmb+-- 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 metadata, such as the path and user information about an SMB+-- location.+module Amazonka.DataSync.DescribeLocationSmb+ ( -- * Creating a Request+ DescribeLocationSmb (..),+ newDescribeLocationSmb,++ -- * Request Lenses+ describeLocationSmb_locationArn,++ -- * Destructuring the Response+ DescribeLocationSmbResponse (..),+ newDescribeLocationSmbResponse,++ -- * Response Lenses+ describeLocationSmbResponse_agentArns,+ describeLocationSmbResponse_creationTime,+ describeLocationSmbResponse_domain,+ describeLocationSmbResponse_locationArn,+ describeLocationSmbResponse_locationUri,+ describeLocationSmbResponse_mountOptions,+ describeLocationSmbResponse_user,+ describeLocationSmbResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DataSync.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | DescribeLocationSmbRequest+--+-- /See:/ 'newDescribeLocationSmb' smart constructor.+data DescribeLocationSmb = DescribeLocationSmb'+ { -- | The Amazon Resource Name (ARN) of the SMB location to describe.+ locationArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeLocationSmb' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'locationArn', 'describeLocationSmb_locationArn' - The Amazon Resource Name (ARN) of the SMB location to describe.+newDescribeLocationSmb ::+ -- | 'locationArn'+ Prelude.Text ->+ DescribeLocationSmb+newDescribeLocationSmb pLocationArn_ =+ DescribeLocationSmb' {locationArn = pLocationArn_}++-- | The Amazon Resource Name (ARN) of the SMB location to describe.+describeLocationSmb_locationArn :: Lens.Lens' DescribeLocationSmb Prelude.Text+describeLocationSmb_locationArn = Lens.lens (\DescribeLocationSmb' {locationArn} -> locationArn) (\s@DescribeLocationSmb' {} a -> s {locationArn = a} :: DescribeLocationSmb)++instance Core.AWSRequest DescribeLocationSmb where+ type+ AWSResponse DescribeLocationSmb =+ DescribeLocationSmbResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeLocationSmbResponse'+ Prelude.<$> (x Data..?> "AgentArns")+ Prelude.<*> (x Data..?> "CreationTime")+ Prelude.<*> (x Data..?> "Domain")+ Prelude.<*> (x Data..?> "LocationArn")+ Prelude.<*> (x Data..?> "LocationUri")+ Prelude.<*> (x Data..?> "MountOptions")+ Prelude.<*> (x Data..?> "User")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DescribeLocationSmb where+ hashWithSalt _salt DescribeLocationSmb' {..} =+ _salt `Prelude.hashWithSalt` locationArn++instance Prelude.NFData DescribeLocationSmb where+ rnf DescribeLocationSmb' {..} =+ Prelude.rnf locationArn++instance Data.ToHeaders DescribeLocationSmb where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "FmrsService.DescribeLocationSmb" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DescribeLocationSmb where+ toJSON DescribeLocationSmb' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("LocationArn" Data..= locationArn)]+ )++instance Data.ToPath DescribeLocationSmb where+ toPath = Prelude.const "/"++instance Data.ToQuery DescribeLocationSmb where+ toQuery = Prelude.const Prelude.mempty++-- | DescribeLocationSmbResponse+--+-- /See:/ 'newDescribeLocationSmbResponse' smart constructor.+data DescribeLocationSmbResponse = DescribeLocationSmbResponse'+ { -- | The Amazon Resource Name (ARN) of the source SMB file system location+ -- that is created.+ agentArns :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+ -- | The time that the SMB location was created.+ creationTime :: Prelude.Maybe Data.POSIX,+ -- | The name of the Windows domain that the SMB server belongs to.+ domain :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the SMB location that was described.+ locationArn :: Prelude.Maybe Prelude.Text,+ -- | The URL of the source SMB location that was described.+ locationUri :: Prelude.Maybe Prelude.Text,+ -- | The mount options that are available for DataSync to use to access an+ -- SMB location.+ mountOptions :: Prelude.Maybe SmbMountOptions,+ -- | The user who can mount the share, has the permissions to access files+ -- and folders in the SMB share.+ user :: 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 'DescribeLocationSmbResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'agentArns', 'describeLocationSmbResponse_agentArns' - The Amazon Resource Name (ARN) of the source SMB file system location+-- that is created.+--+-- 'creationTime', 'describeLocationSmbResponse_creationTime' - The time that the SMB location was created.+--+-- 'domain', 'describeLocationSmbResponse_domain' - The name of the Windows domain that the SMB server belongs to.+--+-- 'locationArn', 'describeLocationSmbResponse_locationArn' - The Amazon Resource Name (ARN) of the SMB location that was described.+--+-- 'locationUri', 'describeLocationSmbResponse_locationUri' - The URL of the source SMB location that was described.+--+-- 'mountOptions', 'describeLocationSmbResponse_mountOptions' - The mount options that are available for DataSync to use to access an+-- SMB location.+--+-- 'user', 'describeLocationSmbResponse_user' - The user who can mount the share, has the permissions to access files+-- and folders in the SMB share.+--+-- 'httpStatus', 'describeLocationSmbResponse_httpStatus' - The response's http status code.+newDescribeLocationSmbResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeLocationSmbResponse+newDescribeLocationSmbResponse pHttpStatus_ =+ DescribeLocationSmbResponse'+ { agentArns =+ Prelude.Nothing,+ creationTime = Prelude.Nothing,+ domain = Prelude.Nothing,+ locationArn = Prelude.Nothing,+ locationUri = Prelude.Nothing,+ mountOptions = Prelude.Nothing,+ user = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Resource Name (ARN) of the source SMB file system location+-- that is created.+describeLocationSmbResponse_agentArns :: Lens.Lens' DescribeLocationSmbResponse (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+describeLocationSmbResponse_agentArns = Lens.lens (\DescribeLocationSmbResponse' {agentArns} -> agentArns) (\s@DescribeLocationSmbResponse' {} a -> s {agentArns = a} :: DescribeLocationSmbResponse) Prelude.. Lens.mapping Lens.coerced++-- | The time that the SMB location was created.+describeLocationSmbResponse_creationTime :: Lens.Lens' DescribeLocationSmbResponse (Prelude.Maybe Prelude.UTCTime)+describeLocationSmbResponse_creationTime = Lens.lens (\DescribeLocationSmbResponse' {creationTime} -> creationTime) (\s@DescribeLocationSmbResponse' {} a -> s {creationTime = a} :: DescribeLocationSmbResponse) Prelude.. Lens.mapping Data._Time++-- | The name of the Windows domain that the SMB server belongs to.+describeLocationSmbResponse_domain :: Lens.Lens' DescribeLocationSmbResponse (Prelude.Maybe Prelude.Text)+describeLocationSmbResponse_domain = Lens.lens (\DescribeLocationSmbResponse' {domain} -> domain) (\s@DescribeLocationSmbResponse' {} a -> s {domain = a} :: DescribeLocationSmbResponse)++-- | The Amazon Resource Name (ARN) of the SMB location that was described.+describeLocationSmbResponse_locationArn :: Lens.Lens' DescribeLocationSmbResponse (Prelude.Maybe Prelude.Text)+describeLocationSmbResponse_locationArn = Lens.lens (\DescribeLocationSmbResponse' {locationArn} -> locationArn) (\s@DescribeLocationSmbResponse' {} a -> s {locationArn = a} :: DescribeLocationSmbResponse)++-- | The URL of the source SMB location that was described.+describeLocationSmbResponse_locationUri :: Lens.Lens' DescribeLocationSmbResponse (Prelude.Maybe Prelude.Text)+describeLocationSmbResponse_locationUri = Lens.lens (\DescribeLocationSmbResponse' {locationUri} -> locationUri) (\s@DescribeLocationSmbResponse' {} a -> s {locationUri = a} :: DescribeLocationSmbResponse)++-- | The mount options that are available for DataSync to use to access an+-- SMB location.+describeLocationSmbResponse_mountOptions :: Lens.Lens' DescribeLocationSmbResponse (Prelude.Maybe SmbMountOptions)+describeLocationSmbResponse_mountOptions = Lens.lens (\DescribeLocationSmbResponse' {mountOptions} -> mountOptions) (\s@DescribeLocationSmbResponse' {} a -> s {mountOptions = a} :: DescribeLocationSmbResponse)++-- | The user who can mount the share, has the permissions to access files+-- and folders in the SMB share.+describeLocationSmbResponse_user :: Lens.Lens' DescribeLocationSmbResponse (Prelude.Maybe Prelude.Text)+describeLocationSmbResponse_user = Lens.lens (\DescribeLocationSmbResponse' {user} -> user) (\s@DescribeLocationSmbResponse' {} a -> s {user = a} :: DescribeLocationSmbResponse)++-- | The response's http status code.+describeLocationSmbResponse_httpStatus :: Lens.Lens' DescribeLocationSmbResponse Prelude.Int+describeLocationSmbResponse_httpStatus = Lens.lens (\DescribeLocationSmbResponse' {httpStatus} -> httpStatus) (\s@DescribeLocationSmbResponse' {} a -> s {httpStatus = a} :: DescribeLocationSmbResponse)++instance Prelude.NFData DescribeLocationSmbResponse where+ rnf DescribeLocationSmbResponse' {..} =+ Prelude.rnf agentArns+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf domain+ `Prelude.seq` Prelude.rnf locationArn+ `Prelude.seq` Prelude.rnf locationUri+ `Prelude.seq` Prelude.rnf mountOptions+ `Prelude.seq` Prelude.rnf user+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/DataSync/DescribeTask.hs view
@@ -0,0 +1,432 @@+{-# 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.DataSync.DescribeTask+-- 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 metadata about a task.+module Amazonka.DataSync.DescribeTask+ ( -- * Creating a Request+ DescribeTask (..),+ newDescribeTask,++ -- * Request Lenses+ describeTask_taskArn,++ -- * Destructuring the Response+ DescribeTaskResponse (..),+ newDescribeTaskResponse,++ -- * Response Lenses+ describeTaskResponse_cloudWatchLogGroupArn,+ describeTaskResponse_creationTime,+ describeTaskResponse_currentTaskExecutionArn,+ describeTaskResponse_destinationLocationArn,+ describeTaskResponse_destinationNetworkInterfaceArns,+ describeTaskResponse_errorCode,+ describeTaskResponse_errorDetail,+ describeTaskResponse_excludes,+ describeTaskResponse_includes,+ describeTaskResponse_name,+ describeTaskResponse_options,+ describeTaskResponse_schedule,+ describeTaskResponse_sourceLocationArn,+ describeTaskResponse_sourceNetworkInterfaceArns,+ describeTaskResponse_status,+ describeTaskResponse_taskArn,+ describeTaskResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DataSync.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | DescribeTaskRequest+--+-- /See:/ 'newDescribeTask' smart constructor.+data DescribeTask = DescribeTask'+ { -- | The Amazon Resource Name (ARN) of the task to describe.+ taskArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeTask' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'taskArn', 'describeTask_taskArn' - The Amazon Resource Name (ARN) of the task to describe.+newDescribeTask ::+ -- | 'taskArn'+ Prelude.Text ->+ DescribeTask+newDescribeTask pTaskArn_ =+ DescribeTask' {taskArn = pTaskArn_}++-- | The Amazon Resource Name (ARN) of the task to describe.+describeTask_taskArn :: Lens.Lens' DescribeTask Prelude.Text+describeTask_taskArn = Lens.lens (\DescribeTask' {taskArn} -> taskArn) (\s@DescribeTask' {} a -> s {taskArn = a} :: DescribeTask)++instance Core.AWSRequest DescribeTask where+ type AWSResponse DescribeTask = DescribeTaskResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeTaskResponse'+ Prelude.<$> (x Data..?> "CloudWatchLogGroupArn")+ Prelude.<*> (x Data..?> "CreationTime")+ Prelude.<*> (x Data..?> "CurrentTaskExecutionArn")+ Prelude.<*> (x Data..?> "DestinationLocationArn")+ Prelude.<*> ( x+ Data..?> "DestinationNetworkInterfaceArns"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "ErrorCode")+ Prelude.<*> (x Data..?> "ErrorDetail")+ Prelude.<*> (x Data..?> "Excludes" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "Includes" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "Name")+ Prelude.<*> (x Data..?> "Options")+ Prelude.<*> (x Data..?> "Schedule")+ Prelude.<*> (x Data..?> "SourceLocationArn")+ Prelude.<*> ( x+ Data..?> "SourceNetworkInterfaceArns"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "Status")+ Prelude.<*> (x Data..?> "TaskArn")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DescribeTask where+ hashWithSalt _salt DescribeTask' {..} =+ _salt `Prelude.hashWithSalt` taskArn++instance Prelude.NFData DescribeTask where+ rnf DescribeTask' {..} = Prelude.rnf taskArn++instance Data.ToHeaders DescribeTask where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ("FmrsService.DescribeTask" :: Prelude.ByteString),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DescribeTask where+ toJSON DescribeTask' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("TaskArn" Data..= taskArn)]+ )++instance Data.ToPath DescribeTask where+ toPath = Prelude.const "/"++instance Data.ToQuery DescribeTask where+ toQuery = Prelude.const Prelude.mempty++-- | DescribeTaskResponse+--+-- /See:/ 'newDescribeTaskResponse' smart constructor.+data DescribeTaskResponse = DescribeTaskResponse'+ { -- | The Amazon Resource Name (ARN) of the Amazon CloudWatch log group that+ -- was used to monitor and log events in the task.+ --+ -- For more information on these groups, see Working with Log Groups and+ -- Log Streams in the /Amazon CloudWatch User Guide/.+ cloudWatchLogGroupArn :: Prelude.Maybe Prelude.Text,+ -- | The time that the task was created.+ creationTime :: Prelude.Maybe Data.POSIX,+ -- | The Amazon Resource Name (ARN) of the task execution that is+ -- transferring files.+ currentTaskExecutionArn :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the Amazon Web Services storage+ -- resource\'s location.+ destinationLocationArn :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Names (ARNs) of the network interfaces created for+ -- your destination location. For more information, see+ -- <https://docs.aws.amazon.com/datasync/latest/userguide/datasync-network.html#required-network-interfaces Network interface requirements>.+ destinationNetworkInterfaceArns :: Prelude.Maybe [Prelude.Text],+ -- | Errors that DataSync encountered during execution of the task. You can+ -- use this error code to help troubleshoot issues.+ errorCode :: Prelude.Maybe Prelude.Text,+ -- | Detailed description of an error that was encountered during the task+ -- execution. You can use this information to help troubleshoot issues.+ errorDetail :: Prelude.Maybe Prelude.Text,+ -- | A list of filter rules that exclude specific data during your transfer.+ -- For more information and examples, see+ -- <https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html Filtering data transferred by DataSync>.+ excludes :: Prelude.Maybe [FilterRule],+ -- | A list of filter rules that include specific data during your transfer.+ -- For more information and examples, see+ -- <https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html Filtering data transferred by DataSync>.+ includes :: Prelude.Maybe [FilterRule],+ -- | The name of the task that was described.+ name :: Prelude.Maybe Prelude.Text,+ -- | The configuration options that control the behavior of the+ -- @StartTaskExecution@ operation. Some options include preserving file or+ -- object metadata and verifying data integrity.+ --+ -- You can override these options for each task execution. For more+ -- information, see+ -- <https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html StartTaskExecution>.+ options :: Prelude.Maybe Options,+ -- | The schedule used to periodically transfer files from a source to a+ -- destination location.+ schedule :: Prelude.Maybe TaskSchedule,+ -- | The Amazon Resource Name (ARN) of the source file system\'s location.+ sourceLocationArn :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Names (ARNs) of the network interfaces created for+ -- your source location. For more information, see+ -- <https://docs.aws.amazon.com/datasync/latest/userguide/datasync-network.html#required-network-interfaces Network interface requirements>.+ sourceNetworkInterfaceArns :: Prelude.Maybe [Prelude.Text],+ -- | The status of the task that was described.+ --+ -- For detailed information about task execution statuses, see+ -- Understanding Task Statuses in the /DataSync User Guide/.+ status :: Prelude.Maybe TaskStatus,+ -- | The Amazon Resource Name (ARN) of the task that was described.+ taskArn :: 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 'DescribeTaskResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'cloudWatchLogGroupArn', 'describeTaskResponse_cloudWatchLogGroupArn' - The Amazon Resource Name (ARN) of the Amazon CloudWatch log group that+-- was used to monitor and log events in the task.+--+-- For more information on these groups, see Working with Log Groups and+-- Log Streams in the /Amazon CloudWatch User Guide/.+--+-- 'creationTime', 'describeTaskResponse_creationTime' - The time that the task was created.+--+-- 'currentTaskExecutionArn', 'describeTaskResponse_currentTaskExecutionArn' - The Amazon Resource Name (ARN) of the task execution that is+-- transferring files.+--+-- 'destinationLocationArn', 'describeTaskResponse_destinationLocationArn' - The Amazon Resource Name (ARN) of the Amazon Web Services storage+-- resource\'s location.+--+-- 'destinationNetworkInterfaceArns', 'describeTaskResponse_destinationNetworkInterfaceArns' - The Amazon Resource Names (ARNs) of the network interfaces created for+-- your destination location. For more information, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/datasync-network.html#required-network-interfaces Network interface requirements>.+--+-- 'errorCode', 'describeTaskResponse_errorCode' - Errors that DataSync encountered during execution of the task. You can+-- use this error code to help troubleshoot issues.+--+-- 'errorDetail', 'describeTaskResponse_errorDetail' - Detailed description of an error that was encountered during the task+-- execution. You can use this information to help troubleshoot issues.+--+-- 'excludes', 'describeTaskResponse_excludes' - A list of filter rules that exclude specific data during your transfer.+-- For more information and examples, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html Filtering data transferred by DataSync>.+--+-- 'includes', 'describeTaskResponse_includes' - A list of filter rules that include specific data during your transfer.+-- For more information and examples, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html Filtering data transferred by DataSync>.+--+-- 'name', 'describeTaskResponse_name' - The name of the task that was described.+--+-- 'options', 'describeTaskResponse_options' - The configuration options that control the behavior of the+-- @StartTaskExecution@ operation. Some options include preserving file or+-- object metadata and verifying data integrity.+--+-- You can override these options for each task execution. For more+-- information, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html StartTaskExecution>.+--+-- 'schedule', 'describeTaskResponse_schedule' - The schedule used to periodically transfer files from a source to a+-- destination location.+--+-- 'sourceLocationArn', 'describeTaskResponse_sourceLocationArn' - The Amazon Resource Name (ARN) of the source file system\'s location.+--+-- 'sourceNetworkInterfaceArns', 'describeTaskResponse_sourceNetworkInterfaceArns' - The Amazon Resource Names (ARNs) of the network interfaces created for+-- your source location. For more information, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/datasync-network.html#required-network-interfaces Network interface requirements>.+--+-- 'status', 'describeTaskResponse_status' - The status of the task that was described.+--+-- For detailed information about task execution statuses, see+-- Understanding Task Statuses in the /DataSync User Guide/.+--+-- 'taskArn', 'describeTaskResponse_taskArn' - The Amazon Resource Name (ARN) of the task that was described.+--+-- 'httpStatus', 'describeTaskResponse_httpStatus' - The response's http status code.+newDescribeTaskResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeTaskResponse+newDescribeTaskResponse pHttpStatus_ =+ DescribeTaskResponse'+ { cloudWatchLogGroupArn =+ Prelude.Nothing,+ creationTime = Prelude.Nothing,+ currentTaskExecutionArn = Prelude.Nothing,+ destinationLocationArn = Prelude.Nothing,+ destinationNetworkInterfaceArns = Prelude.Nothing,+ errorCode = Prelude.Nothing,+ errorDetail = Prelude.Nothing,+ excludes = Prelude.Nothing,+ includes = Prelude.Nothing,+ name = Prelude.Nothing,+ options = Prelude.Nothing,+ schedule = Prelude.Nothing,+ sourceLocationArn = Prelude.Nothing,+ sourceNetworkInterfaceArns = Prelude.Nothing,+ status = Prelude.Nothing,+ taskArn = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Resource Name (ARN) of the Amazon CloudWatch log group that+-- was used to monitor and log events in the task.+--+-- For more information on these groups, see Working with Log Groups and+-- Log Streams in the /Amazon CloudWatch User Guide/.+describeTaskResponse_cloudWatchLogGroupArn :: Lens.Lens' DescribeTaskResponse (Prelude.Maybe Prelude.Text)+describeTaskResponse_cloudWatchLogGroupArn = Lens.lens (\DescribeTaskResponse' {cloudWatchLogGroupArn} -> cloudWatchLogGroupArn) (\s@DescribeTaskResponse' {} a -> s {cloudWatchLogGroupArn = a} :: DescribeTaskResponse)++-- | The time that the task was created.+describeTaskResponse_creationTime :: Lens.Lens' DescribeTaskResponse (Prelude.Maybe Prelude.UTCTime)+describeTaskResponse_creationTime = Lens.lens (\DescribeTaskResponse' {creationTime} -> creationTime) (\s@DescribeTaskResponse' {} a -> s {creationTime = a} :: DescribeTaskResponse) Prelude.. Lens.mapping Data._Time++-- | The Amazon Resource Name (ARN) of the task execution that is+-- transferring files.+describeTaskResponse_currentTaskExecutionArn :: Lens.Lens' DescribeTaskResponse (Prelude.Maybe Prelude.Text)+describeTaskResponse_currentTaskExecutionArn = Lens.lens (\DescribeTaskResponse' {currentTaskExecutionArn} -> currentTaskExecutionArn) (\s@DescribeTaskResponse' {} a -> s {currentTaskExecutionArn = a} :: DescribeTaskResponse)++-- | The Amazon Resource Name (ARN) of the Amazon Web Services storage+-- resource\'s location.+describeTaskResponse_destinationLocationArn :: Lens.Lens' DescribeTaskResponse (Prelude.Maybe Prelude.Text)+describeTaskResponse_destinationLocationArn = Lens.lens (\DescribeTaskResponse' {destinationLocationArn} -> destinationLocationArn) (\s@DescribeTaskResponse' {} a -> s {destinationLocationArn = a} :: DescribeTaskResponse)++-- | The Amazon Resource Names (ARNs) of the network interfaces created for+-- your destination location. For more information, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/datasync-network.html#required-network-interfaces Network interface requirements>.+describeTaskResponse_destinationNetworkInterfaceArns :: Lens.Lens' DescribeTaskResponse (Prelude.Maybe [Prelude.Text])+describeTaskResponse_destinationNetworkInterfaceArns = Lens.lens (\DescribeTaskResponse' {destinationNetworkInterfaceArns} -> destinationNetworkInterfaceArns) (\s@DescribeTaskResponse' {} a -> s {destinationNetworkInterfaceArns = a} :: DescribeTaskResponse) Prelude.. Lens.mapping Lens.coerced++-- | Errors that DataSync encountered during execution of the task. You can+-- use this error code to help troubleshoot issues.+describeTaskResponse_errorCode :: Lens.Lens' DescribeTaskResponse (Prelude.Maybe Prelude.Text)+describeTaskResponse_errorCode = Lens.lens (\DescribeTaskResponse' {errorCode} -> errorCode) (\s@DescribeTaskResponse' {} a -> s {errorCode = a} :: DescribeTaskResponse)++-- | Detailed description of an error that was encountered during the task+-- execution. You can use this information to help troubleshoot issues.+describeTaskResponse_errorDetail :: Lens.Lens' DescribeTaskResponse (Prelude.Maybe Prelude.Text)+describeTaskResponse_errorDetail = Lens.lens (\DescribeTaskResponse' {errorDetail} -> errorDetail) (\s@DescribeTaskResponse' {} a -> s {errorDetail = a} :: DescribeTaskResponse)++-- | A list of filter rules that exclude specific data during your transfer.+-- For more information and examples, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html Filtering data transferred by DataSync>.+describeTaskResponse_excludes :: Lens.Lens' DescribeTaskResponse (Prelude.Maybe [FilterRule])+describeTaskResponse_excludes = Lens.lens (\DescribeTaskResponse' {excludes} -> excludes) (\s@DescribeTaskResponse' {} a -> s {excludes = a} :: DescribeTaskResponse) Prelude.. Lens.mapping Lens.coerced++-- | A list of filter rules that include specific data during your transfer.+-- For more information and examples, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html Filtering data transferred by DataSync>.+describeTaskResponse_includes :: Lens.Lens' DescribeTaskResponse (Prelude.Maybe [FilterRule])+describeTaskResponse_includes = Lens.lens (\DescribeTaskResponse' {includes} -> includes) (\s@DescribeTaskResponse' {} a -> s {includes = a} :: DescribeTaskResponse) Prelude.. Lens.mapping Lens.coerced++-- | The name of the task that was described.+describeTaskResponse_name :: Lens.Lens' DescribeTaskResponse (Prelude.Maybe Prelude.Text)+describeTaskResponse_name = Lens.lens (\DescribeTaskResponse' {name} -> name) (\s@DescribeTaskResponse' {} a -> s {name = a} :: DescribeTaskResponse)++-- | The configuration options that control the behavior of the+-- @StartTaskExecution@ operation. Some options include preserving file or+-- object metadata and verifying data integrity.+--+-- You can override these options for each task execution. For more+-- information, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html StartTaskExecution>.+describeTaskResponse_options :: Lens.Lens' DescribeTaskResponse (Prelude.Maybe Options)+describeTaskResponse_options = Lens.lens (\DescribeTaskResponse' {options} -> options) (\s@DescribeTaskResponse' {} a -> s {options = a} :: DescribeTaskResponse)++-- | The schedule used to periodically transfer files from a source to a+-- destination location.+describeTaskResponse_schedule :: Lens.Lens' DescribeTaskResponse (Prelude.Maybe TaskSchedule)+describeTaskResponse_schedule = Lens.lens (\DescribeTaskResponse' {schedule} -> schedule) (\s@DescribeTaskResponse' {} a -> s {schedule = a} :: DescribeTaskResponse)++-- | The Amazon Resource Name (ARN) of the source file system\'s location.+describeTaskResponse_sourceLocationArn :: Lens.Lens' DescribeTaskResponse (Prelude.Maybe Prelude.Text)+describeTaskResponse_sourceLocationArn = Lens.lens (\DescribeTaskResponse' {sourceLocationArn} -> sourceLocationArn) (\s@DescribeTaskResponse' {} a -> s {sourceLocationArn = a} :: DescribeTaskResponse)++-- | The Amazon Resource Names (ARNs) of the network interfaces created for+-- your source location. For more information, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/datasync-network.html#required-network-interfaces Network interface requirements>.+describeTaskResponse_sourceNetworkInterfaceArns :: Lens.Lens' DescribeTaskResponse (Prelude.Maybe [Prelude.Text])+describeTaskResponse_sourceNetworkInterfaceArns = Lens.lens (\DescribeTaskResponse' {sourceNetworkInterfaceArns} -> sourceNetworkInterfaceArns) (\s@DescribeTaskResponse' {} a -> s {sourceNetworkInterfaceArns = a} :: DescribeTaskResponse) Prelude.. Lens.mapping Lens.coerced++-- | The status of the task that was described.+--+-- For detailed information about task execution statuses, see+-- Understanding Task Statuses in the /DataSync User Guide/.+describeTaskResponse_status :: Lens.Lens' DescribeTaskResponse (Prelude.Maybe TaskStatus)+describeTaskResponse_status = Lens.lens (\DescribeTaskResponse' {status} -> status) (\s@DescribeTaskResponse' {} a -> s {status = a} :: DescribeTaskResponse)++-- | The Amazon Resource Name (ARN) of the task that was described.+describeTaskResponse_taskArn :: Lens.Lens' DescribeTaskResponse (Prelude.Maybe Prelude.Text)+describeTaskResponse_taskArn = Lens.lens (\DescribeTaskResponse' {taskArn} -> taskArn) (\s@DescribeTaskResponse' {} a -> s {taskArn = a} :: DescribeTaskResponse)++-- | The response's http status code.+describeTaskResponse_httpStatus :: Lens.Lens' DescribeTaskResponse Prelude.Int+describeTaskResponse_httpStatus = Lens.lens (\DescribeTaskResponse' {httpStatus} -> httpStatus) (\s@DescribeTaskResponse' {} a -> s {httpStatus = a} :: DescribeTaskResponse)++instance Prelude.NFData DescribeTaskResponse where+ rnf DescribeTaskResponse' {..} =+ Prelude.rnf cloudWatchLogGroupArn+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf currentTaskExecutionArn+ `Prelude.seq` Prelude.rnf destinationLocationArn+ `Prelude.seq` Prelude.rnf destinationNetworkInterfaceArns+ `Prelude.seq` Prelude.rnf errorCode+ `Prelude.seq` Prelude.rnf errorDetail+ `Prelude.seq` Prelude.rnf excludes+ `Prelude.seq` Prelude.rnf includes+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf options+ `Prelude.seq` Prelude.rnf schedule+ `Prelude.seq` Prelude.rnf sourceLocationArn+ `Prelude.seq` Prelude.rnf sourceNetworkInterfaceArns+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf taskArn+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/DataSync/DescribeTaskExecution.hs view
@@ -0,0 +1,420 @@+{-# 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.DataSync.DescribeTaskExecution+-- 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 detailed metadata about a task that is being executed.+module Amazonka.DataSync.DescribeTaskExecution+ ( -- * Creating a Request+ DescribeTaskExecution (..),+ newDescribeTaskExecution,++ -- * Request Lenses+ describeTaskExecution_taskExecutionArn,++ -- * Destructuring the Response+ DescribeTaskExecutionResponse (..),+ newDescribeTaskExecutionResponse,++ -- * Response Lenses+ describeTaskExecutionResponse_bytesCompressed,+ describeTaskExecutionResponse_bytesTransferred,+ describeTaskExecutionResponse_bytesWritten,+ describeTaskExecutionResponse_estimatedBytesToTransfer,+ describeTaskExecutionResponse_estimatedFilesToTransfer,+ describeTaskExecutionResponse_excludes,+ describeTaskExecutionResponse_filesTransferred,+ describeTaskExecutionResponse_includes,+ describeTaskExecutionResponse_options,+ describeTaskExecutionResponse_result,+ describeTaskExecutionResponse_startTime,+ describeTaskExecutionResponse_status,+ describeTaskExecutionResponse_taskExecutionArn,+ describeTaskExecutionResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DataSync.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | DescribeTaskExecutionRequest+--+-- /See:/ 'newDescribeTaskExecution' smart constructor.+data DescribeTaskExecution = DescribeTaskExecution'+ { -- | The Amazon Resource Name (ARN) of the task that is being executed.+ taskExecutionArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeTaskExecution' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'taskExecutionArn', 'describeTaskExecution_taskExecutionArn' - The Amazon Resource Name (ARN) of the task that is being executed.+newDescribeTaskExecution ::+ -- | 'taskExecutionArn'+ Prelude.Text ->+ DescribeTaskExecution+newDescribeTaskExecution pTaskExecutionArn_ =+ DescribeTaskExecution'+ { taskExecutionArn =+ pTaskExecutionArn_+ }++-- | The Amazon Resource Name (ARN) of the task that is being executed.+describeTaskExecution_taskExecutionArn :: Lens.Lens' DescribeTaskExecution Prelude.Text+describeTaskExecution_taskExecutionArn = Lens.lens (\DescribeTaskExecution' {taskExecutionArn} -> taskExecutionArn) (\s@DescribeTaskExecution' {} a -> s {taskExecutionArn = a} :: DescribeTaskExecution)++instance Core.AWSRequest DescribeTaskExecution where+ type+ AWSResponse DescribeTaskExecution =+ DescribeTaskExecutionResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeTaskExecutionResponse'+ Prelude.<$> (x Data..?> "BytesCompressed")+ Prelude.<*> (x Data..?> "BytesTransferred")+ Prelude.<*> (x Data..?> "BytesWritten")+ Prelude.<*> (x Data..?> "EstimatedBytesToTransfer")+ Prelude.<*> (x Data..?> "EstimatedFilesToTransfer")+ Prelude.<*> (x Data..?> "Excludes" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "FilesTransferred")+ Prelude.<*> (x Data..?> "Includes" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "Options")+ Prelude.<*> (x Data..?> "Result")+ Prelude.<*> (x Data..?> "StartTime")+ Prelude.<*> (x Data..?> "Status")+ Prelude.<*> (x Data..?> "TaskExecutionArn")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DescribeTaskExecution where+ hashWithSalt _salt DescribeTaskExecution' {..} =+ _salt `Prelude.hashWithSalt` taskExecutionArn++instance Prelude.NFData DescribeTaskExecution where+ rnf DescribeTaskExecution' {..} =+ Prelude.rnf taskExecutionArn++instance Data.ToHeaders DescribeTaskExecution where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "FmrsService.DescribeTaskExecution" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DescribeTaskExecution where+ toJSON DescribeTaskExecution' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("TaskExecutionArn" Data..= taskExecutionArn)+ ]+ )++instance Data.ToPath DescribeTaskExecution where+ toPath = Prelude.const "/"++instance Data.ToQuery DescribeTaskExecution where+ toQuery = Prelude.const Prelude.mempty++-- | DescribeTaskExecutionResponse+--+-- /See:/ 'newDescribeTaskExecutionResponse' smart constructor.+data DescribeTaskExecutionResponse = DescribeTaskExecutionResponse'+ { -- | The physical number of bytes transferred over the network after+ -- compression was applied. In most cases, this number is less than+ -- @BytesTransferred@ unless the data isn\'t compressible.+ bytesCompressed :: Prelude.Maybe Prelude.Integer,+ -- | The total number of bytes that are involved in the transfer. For the+ -- number of bytes sent over the network, see @BytesCompressed@.+ bytesTransferred :: Prelude.Maybe Prelude.Integer,+ -- | The number of logical bytes written to the destination Amazon Web+ -- Services storage resource.+ bytesWritten :: Prelude.Maybe Prelude.Integer,+ -- | The estimated physical number of bytes that is to be transferred over+ -- the network.+ estimatedBytesToTransfer :: Prelude.Maybe Prelude.Integer,+ -- | The expected number of files that is to be transferred over the network.+ -- This value is calculated during the @PREPARING@ phase before the+ -- @TRANSFERRING@ phase of the task execution. This value is the expected+ -- number of files to be transferred. It\'s calculated based on comparing+ -- the content of the source and destination locations and finding the+ -- delta that needs to be transferred.+ estimatedFilesToTransfer :: Prelude.Maybe Prelude.Integer,+ -- | A list of filter rules that exclude specific data during your transfer.+ -- For more information and examples, see+ -- <https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html Filtering data transferred by DataSync>.+ excludes :: Prelude.Maybe [FilterRule],+ -- | The actual number of files that was transferred over the network. This+ -- value is calculated and updated on an ongoing basis during the+ -- @TRANSFERRING@ phase of the task execution. It\'s updated periodically+ -- when each file is read from the source and sent over the network.+ --+ -- If failures occur during a transfer, this value can be less than+ -- @EstimatedFilesToTransfer@. In some cases, this value can also be+ -- greater than @EstimatedFilesToTransfer@. This element is+ -- implementation-specific for some location types, so don\'t use it as an+ -- indicator for a correct file number or to monitor your task execution.+ filesTransferred :: Prelude.Maybe Prelude.Integer,+ -- | A list of filter rules that include specific data during your transfer.+ -- For more information and examples, see+ -- <https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html Filtering data transferred by DataSync>.+ includes :: Prelude.Maybe [FilterRule],+ options :: Prelude.Maybe Options,+ -- | The result of the task execution.+ result :: Prelude.Maybe TaskExecutionResultDetail,+ -- | The time that the task execution was started.+ startTime :: Prelude.Maybe Data.POSIX,+ -- | The status of the task execution.+ --+ -- For detailed information about task execution statuses, see+ -- Understanding Task Statuses in the /DataSync User Guide./+ status :: Prelude.Maybe TaskExecutionStatus,+ -- | The Amazon Resource Name (ARN) of the task execution that was described.+ -- @TaskExecutionArn@ is hierarchical and includes @TaskArn@ for the task+ -- that was executed.+ --+ -- For example, a @TaskExecution@ value with the ARN+ -- @arn:aws:datasync:us-east-1:111222333444:task\/task-0208075f79cedf4a2\/execution\/exec-08ef1e88ec491019b@+ -- executed the task with the ARN+ -- @arn:aws:datasync:us-east-1:111222333444:task\/task-0208075f79cedf4a2@.+ taskExecutionArn :: 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 'DescribeTaskExecutionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'bytesCompressed', 'describeTaskExecutionResponse_bytesCompressed' - The physical number of bytes transferred over the network after+-- compression was applied. In most cases, this number is less than+-- @BytesTransferred@ unless the data isn\'t compressible.+--+-- 'bytesTransferred', 'describeTaskExecutionResponse_bytesTransferred' - The total number of bytes that are involved in the transfer. For the+-- number of bytes sent over the network, see @BytesCompressed@.+--+-- 'bytesWritten', 'describeTaskExecutionResponse_bytesWritten' - The number of logical bytes written to the destination Amazon Web+-- Services storage resource.+--+-- 'estimatedBytesToTransfer', 'describeTaskExecutionResponse_estimatedBytesToTransfer' - The estimated physical number of bytes that is to be transferred over+-- the network.+--+-- 'estimatedFilesToTransfer', 'describeTaskExecutionResponse_estimatedFilesToTransfer' - The expected number of files that is to be transferred over the network.+-- This value is calculated during the @PREPARING@ phase before the+-- @TRANSFERRING@ phase of the task execution. This value is the expected+-- number of files to be transferred. It\'s calculated based on comparing+-- the content of the source and destination locations and finding the+-- delta that needs to be transferred.+--+-- 'excludes', 'describeTaskExecutionResponse_excludes' - A list of filter rules that exclude specific data during your transfer.+-- For more information and examples, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html Filtering data transferred by DataSync>.+--+-- 'filesTransferred', 'describeTaskExecutionResponse_filesTransferred' - The actual number of files that was transferred over the network. This+-- value is calculated and updated on an ongoing basis during the+-- @TRANSFERRING@ phase of the task execution. It\'s updated periodically+-- when each file is read from the source and sent over the network.+--+-- If failures occur during a transfer, this value can be less than+-- @EstimatedFilesToTransfer@. In some cases, this value can also be+-- greater than @EstimatedFilesToTransfer@. This element is+-- implementation-specific for some location types, so don\'t use it as an+-- indicator for a correct file number or to monitor your task execution.+--+-- 'includes', 'describeTaskExecutionResponse_includes' - A list of filter rules that include specific data during your transfer.+-- For more information and examples, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html Filtering data transferred by DataSync>.+--+-- 'options', 'describeTaskExecutionResponse_options' - Undocumented member.+--+-- 'result', 'describeTaskExecutionResponse_result' - The result of the task execution.+--+-- 'startTime', 'describeTaskExecutionResponse_startTime' - The time that the task execution was started.+--+-- 'status', 'describeTaskExecutionResponse_status' - The status of the task execution.+--+-- For detailed information about task execution statuses, see+-- Understanding Task Statuses in the /DataSync User Guide./+--+-- 'taskExecutionArn', 'describeTaskExecutionResponse_taskExecutionArn' - The Amazon Resource Name (ARN) of the task execution that was described.+-- @TaskExecutionArn@ is hierarchical and includes @TaskArn@ for the task+-- that was executed.+--+-- For example, a @TaskExecution@ value with the ARN+-- @arn:aws:datasync:us-east-1:111222333444:task\/task-0208075f79cedf4a2\/execution\/exec-08ef1e88ec491019b@+-- executed the task with the ARN+-- @arn:aws:datasync:us-east-1:111222333444:task\/task-0208075f79cedf4a2@.+--+-- 'httpStatus', 'describeTaskExecutionResponse_httpStatus' - The response's http status code.+newDescribeTaskExecutionResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeTaskExecutionResponse+newDescribeTaskExecutionResponse pHttpStatus_ =+ DescribeTaskExecutionResponse'+ { bytesCompressed =+ Prelude.Nothing,+ bytesTransferred = Prelude.Nothing,+ bytesWritten = Prelude.Nothing,+ estimatedBytesToTransfer = Prelude.Nothing,+ estimatedFilesToTransfer = Prelude.Nothing,+ excludes = Prelude.Nothing,+ filesTransferred = Prelude.Nothing,+ includes = Prelude.Nothing,+ options = Prelude.Nothing,+ result = Prelude.Nothing,+ startTime = Prelude.Nothing,+ status = Prelude.Nothing,+ taskExecutionArn = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The physical number of bytes transferred over the network after+-- compression was applied. In most cases, this number is less than+-- @BytesTransferred@ unless the data isn\'t compressible.+describeTaskExecutionResponse_bytesCompressed :: Lens.Lens' DescribeTaskExecutionResponse (Prelude.Maybe Prelude.Integer)+describeTaskExecutionResponse_bytesCompressed = Lens.lens (\DescribeTaskExecutionResponse' {bytesCompressed} -> bytesCompressed) (\s@DescribeTaskExecutionResponse' {} a -> s {bytesCompressed = a} :: DescribeTaskExecutionResponse)++-- | The total number of bytes that are involved in the transfer. For the+-- number of bytes sent over the network, see @BytesCompressed@.+describeTaskExecutionResponse_bytesTransferred :: Lens.Lens' DescribeTaskExecutionResponse (Prelude.Maybe Prelude.Integer)+describeTaskExecutionResponse_bytesTransferred = Lens.lens (\DescribeTaskExecutionResponse' {bytesTransferred} -> bytesTransferred) (\s@DescribeTaskExecutionResponse' {} a -> s {bytesTransferred = a} :: DescribeTaskExecutionResponse)++-- | The number of logical bytes written to the destination Amazon Web+-- Services storage resource.+describeTaskExecutionResponse_bytesWritten :: Lens.Lens' DescribeTaskExecutionResponse (Prelude.Maybe Prelude.Integer)+describeTaskExecutionResponse_bytesWritten = Lens.lens (\DescribeTaskExecutionResponse' {bytesWritten} -> bytesWritten) (\s@DescribeTaskExecutionResponse' {} a -> s {bytesWritten = a} :: DescribeTaskExecutionResponse)++-- | The estimated physical number of bytes that is to be transferred over+-- the network.+describeTaskExecutionResponse_estimatedBytesToTransfer :: Lens.Lens' DescribeTaskExecutionResponse (Prelude.Maybe Prelude.Integer)+describeTaskExecutionResponse_estimatedBytesToTransfer = Lens.lens (\DescribeTaskExecutionResponse' {estimatedBytesToTransfer} -> estimatedBytesToTransfer) (\s@DescribeTaskExecutionResponse' {} a -> s {estimatedBytesToTransfer = a} :: DescribeTaskExecutionResponse)++-- | The expected number of files that is to be transferred over the network.+-- This value is calculated during the @PREPARING@ phase before the+-- @TRANSFERRING@ phase of the task execution. This value is the expected+-- number of files to be transferred. It\'s calculated based on comparing+-- the content of the source and destination locations and finding the+-- delta that needs to be transferred.+describeTaskExecutionResponse_estimatedFilesToTransfer :: Lens.Lens' DescribeTaskExecutionResponse (Prelude.Maybe Prelude.Integer)+describeTaskExecutionResponse_estimatedFilesToTransfer = Lens.lens (\DescribeTaskExecutionResponse' {estimatedFilesToTransfer} -> estimatedFilesToTransfer) (\s@DescribeTaskExecutionResponse' {} a -> s {estimatedFilesToTransfer = a} :: DescribeTaskExecutionResponse)++-- | A list of filter rules that exclude specific data during your transfer.+-- For more information and examples, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html Filtering data transferred by DataSync>.+describeTaskExecutionResponse_excludes :: Lens.Lens' DescribeTaskExecutionResponse (Prelude.Maybe [FilterRule])+describeTaskExecutionResponse_excludes = Lens.lens (\DescribeTaskExecutionResponse' {excludes} -> excludes) (\s@DescribeTaskExecutionResponse' {} a -> s {excludes = a} :: DescribeTaskExecutionResponse) Prelude.. Lens.mapping Lens.coerced++-- | The actual number of files that was transferred over the network. This+-- value is calculated and updated on an ongoing basis during the+-- @TRANSFERRING@ phase of the task execution. It\'s updated periodically+-- when each file is read from the source and sent over the network.+--+-- If failures occur during a transfer, this value can be less than+-- @EstimatedFilesToTransfer@. In some cases, this value can also be+-- greater than @EstimatedFilesToTransfer@. This element is+-- implementation-specific for some location types, so don\'t use it as an+-- indicator for a correct file number or to monitor your task execution.+describeTaskExecutionResponse_filesTransferred :: Lens.Lens' DescribeTaskExecutionResponse (Prelude.Maybe Prelude.Integer)+describeTaskExecutionResponse_filesTransferred = Lens.lens (\DescribeTaskExecutionResponse' {filesTransferred} -> filesTransferred) (\s@DescribeTaskExecutionResponse' {} a -> s {filesTransferred = a} :: DescribeTaskExecutionResponse)++-- | A list of filter rules that include specific data during your transfer.+-- For more information and examples, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html Filtering data transferred by DataSync>.+describeTaskExecutionResponse_includes :: Lens.Lens' DescribeTaskExecutionResponse (Prelude.Maybe [FilterRule])+describeTaskExecutionResponse_includes = Lens.lens (\DescribeTaskExecutionResponse' {includes} -> includes) (\s@DescribeTaskExecutionResponse' {} a -> s {includes = a} :: DescribeTaskExecutionResponse) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+describeTaskExecutionResponse_options :: Lens.Lens' DescribeTaskExecutionResponse (Prelude.Maybe Options)+describeTaskExecutionResponse_options = Lens.lens (\DescribeTaskExecutionResponse' {options} -> options) (\s@DescribeTaskExecutionResponse' {} a -> s {options = a} :: DescribeTaskExecutionResponse)++-- | The result of the task execution.+describeTaskExecutionResponse_result :: Lens.Lens' DescribeTaskExecutionResponse (Prelude.Maybe TaskExecutionResultDetail)+describeTaskExecutionResponse_result = Lens.lens (\DescribeTaskExecutionResponse' {result} -> result) (\s@DescribeTaskExecutionResponse' {} a -> s {result = a} :: DescribeTaskExecutionResponse)++-- | The time that the task execution was started.+describeTaskExecutionResponse_startTime :: Lens.Lens' DescribeTaskExecutionResponse (Prelude.Maybe Prelude.UTCTime)+describeTaskExecutionResponse_startTime = Lens.lens (\DescribeTaskExecutionResponse' {startTime} -> startTime) (\s@DescribeTaskExecutionResponse' {} a -> s {startTime = a} :: DescribeTaskExecutionResponse) Prelude.. Lens.mapping Data._Time++-- | The status of the task execution.+--+-- For detailed information about task execution statuses, see+-- Understanding Task Statuses in the /DataSync User Guide./+describeTaskExecutionResponse_status :: Lens.Lens' DescribeTaskExecutionResponse (Prelude.Maybe TaskExecutionStatus)+describeTaskExecutionResponse_status = Lens.lens (\DescribeTaskExecutionResponse' {status} -> status) (\s@DescribeTaskExecutionResponse' {} a -> s {status = a} :: DescribeTaskExecutionResponse)++-- | The Amazon Resource Name (ARN) of the task execution that was described.+-- @TaskExecutionArn@ is hierarchical and includes @TaskArn@ for the task+-- that was executed.+--+-- For example, a @TaskExecution@ value with the ARN+-- @arn:aws:datasync:us-east-1:111222333444:task\/task-0208075f79cedf4a2\/execution\/exec-08ef1e88ec491019b@+-- executed the task with the ARN+-- @arn:aws:datasync:us-east-1:111222333444:task\/task-0208075f79cedf4a2@.+describeTaskExecutionResponse_taskExecutionArn :: Lens.Lens' DescribeTaskExecutionResponse (Prelude.Maybe Prelude.Text)+describeTaskExecutionResponse_taskExecutionArn = Lens.lens (\DescribeTaskExecutionResponse' {taskExecutionArn} -> taskExecutionArn) (\s@DescribeTaskExecutionResponse' {} a -> s {taskExecutionArn = a} :: DescribeTaskExecutionResponse)++-- | The response's http status code.+describeTaskExecutionResponse_httpStatus :: Lens.Lens' DescribeTaskExecutionResponse Prelude.Int+describeTaskExecutionResponse_httpStatus = Lens.lens (\DescribeTaskExecutionResponse' {httpStatus} -> httpStatus) (\s@DescribeTaskExecutionResponse' {} a -> s {httpStatus = a} :: DescribeTaskExecutionResponse)++instance Prelude.NFData DescribeTaskExecutionResponse where+ rnf DescribeTaskExecutionResponse' {..} =+ Prelude.rnf bytesCompressed+ `Prelude.seq` Prelude.rnf bytesTransferred+ `Prelude.seq` Prelude.rnf bytesWritten+ `Prelude.seq` Prelude.rnf estimatedBytesToTransfer+ `Prelude.seq` Prelude.rnf estimatedFilesToTransfer+ `Prelude.seq` Prelude.rnf excludes+ `Prelude.seq` Prelude.rnf filesTransferred+ `Prelude.seq` Prelude.rnf includes+ `Prelude.seq` Prelude.rnf options+ `Prelude.seq` Prelude.rnf result+ `Prelude.seq` Prelude.rnf startTime+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf taskExecutionArn+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/DataSync/Lens.hs view
@@ -0,0 +1,622 @@+{-# 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.DataSync.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.DataSync.Lens+ ( -- * Operations++ -- ** CancelTaskExecution+ cancelTaskExecution_taskExecutionArn,+ cancelTaskExecutionResponse_httpStatus,++ -- ** CreateAgent+ createAgent_agentName,+ createAgent_securityGroupArns,+ createAgent_subnetArns,+ createAgent_tags,+ createAgent_vpcEndpointId,+ createAgent_activationKey,+ createAgentResponse_agentArn,+ createAgentResponse_httpStatus,++ -- ** CreateLocationEfs+ createLocationEfs_accessPointArn,+ createLocationEfs_fileSystemAccessRoleArn,+ createLocationEfs_inTransitEncryption,+ createLocationEfs_subdirectory,+ createLocationEfs_tags,+ createLocationEfs_efsFilesystemArn,+ createLocationEfs_ec2Config,+ createLocationEfsResponse_locationArn,+ createLocationEfsResponse_httpStatus,++ -- ** CreateLocationFsxLustre+ createLocationFsxLustre_subdirectory,+ createLocationFsxLustre_tags,+ createLocationFsxLustre_fsxFilesystemArn,+ createLocationFsxLustre_securityGroupArns,+ createLocationFsxLustreResponse_locationArn,+ createLocationFsxLustreResponse_httpStatus,++ -- ** CreateLocationFsxOntap+ createLocationFsxOntap_subdirectory,+ createLocationFsxOntap_tags,+ createLocationFsxOntap_protocol,+ createLocationFsxOntap_securityGroupArns,+ createLocationFsxOntap_storageVirtualMachineArn,+ createLocationFsxOntapResponse_locationArn,+ createLocationFsxOntapResponse_httpStatus,++ -- ** CreateLocationFsxOpenZfs+ createLocationFsxOpenZfs_subdirectory,+ createLocationFsxOpenZfs_tags,+ createLocationFsxOpenZfs_fsxFilesystemArn,+ createLocationFsxOpenZfs_protocol,+ createLocationFsxOpenZfs_securityGroupArns,+ createLocationFsxOpenZfsResponse_locationArn,+ createLocationFsxOpenZfsResponse_httpStatus,++ -- ** CreateLocationFsxWindows+ createLocationFsxWindows_domain,+ createLocationFsxWindows_subdirectory,+ createLocationFsxWindows_tags,+ createLocationFsxWindows_fsxFilesystemArn,+ createLocationFsxWindows_securityGroupArns,+ createLocationFsxWindows_user,+ createLocationFsxWindows_password,+ createLocationFsxWindowsResponse_locationArn,+ createLocationFsxWindowsResponse_httpStatus,++ -- ** CreateLocationHdfs+ createLocationHdfs_blockSize,+ createLocationHdfs_kerberosKeytab,+ createLocationHdfs_kerberosKrb5Conf,+ createLocationHdfs_kerberosPrincipal,+ createLocationHdfs_kmsKeyProviderUri,+ createLocationHdfs_qopConfiguration,+ createLocationHdfs_replicationFactor,+ createLocationHdfs_simpleUser,+ createLocationHdfs_subdirectory,+ createLocationHdfs_tags,+ createLocationHdfs_nameNodes,+ createLocationHdfs_authenticationType,+ createLocationHdfs_agentArns,+ createLocationHdfsResponse_locationArn,+ createLocationHdfsResponse_httpStatus,++ -- ** CreateLocationNfs+ createLocationNfs_mountOptions,+ createLocationNfs_tags,+ createLocationNfs_subdirectory,+ createLocationNfs_serverHostname,+ createLocationNfs_onPremConfig,+ createLocationNfsResponse_locationArn,+ createLocationNfsResponse_httpStatus,++ -- ** CreateLocationObjectStorage+ createLocationObjectStorage_accessKey,+ createLocationObjectStorage_secretKey,+ createLocationObjectStorage_serverCertificate,+ createLocationObjectStorage_serverPort,+ createLocationObjectStorage_serverProtocol,+ createLocationObjectStorage_subdirectory,+ createLocationObjectStorage_tags,+ createLocationObjectStorage_serverHostname,+ createLocationObjectStorage_bucketName,+ createLocationObjectStorage_agentArns,+ createLocationObjectStorageResponse_locationArn,+ createLocationObjectStorageResponse_httpStatus,++ -- ** CreateLocationS3+ createLocationS3_agentArns,+ createLocationS3_s3StorageClass,+ createLocationS3_subdirectory,+ createLocationS3_tags,+ createLocationS3_s3BucketArn,+ createLocationS3_s3Config,+ createLocationS3Response_locationArn,+ createLocationS3Response_httpStatus,++ -- ** CreateLocationSmb+ createLocationSmb_domain,+ createLocationSmb_mountOptions,+ createLocationSmb_tags,+ createLocationSmb_subdirectory,+ createLocationSmb_serverHostname,+ createLocationSmb_user,+ createLocationSmb_password,+ createLocationSmb_agentArns,+ createLocationSmbResponse_locationArn,+ createLocationSmbResponse_httpStatus,++ -- ** CreateTask+ createTask_cloudWatchLogGroupArn,+ createTask_excludes,+ createTask_includes,+ createTask_name,+ createTask_options,+ createTask_schedule,+ createTask_tags,+ createTask_sourceLocationArn,+ createTask_destinationLocationArn,+ createTaskResponse_taskArn,+ createTaskResponse_httpStatus,++ -- ** DeleteAgent+ deleteAgent_agentArn,+ deleteAgentResponse_httpStatus,++ -- ** DeleteLocation+ deleteLocation_locationArn,+ deleteLocationResponse_httpStatus,++ -- ** DeleteTask+ deleteTask_taskArn,+ deleteTaskResponse_httpStatus,++ -- ** DescribeAgent+ describeAgent_agentArn,+ describeAgentResponse_agentArn,+ describeAgentResponse_creationTime,+ describeAgentResponse_endpointType,+ describeAgentResponse_lastConnectionTime,+ describeAgentResponse_name,+ describeAgentResponse_privateLinkConfig,+ describeAgentResponse_status,+ describeAgentResponse_httpStatus,++ -- ** DescribeLocationEfs+ describeLocationEfs_locationArn,+ describeLocationEfsResponse_accessPointArn,+ describeLocationEfsResponse_creationTime,+ describeLocationEfsResponse_ec2Config,+ describeLocationEfsResponse_fileSystemAccessRoleArn,+ describeLocationEfsResponse_inTransitEncryption,+ describeLocationEfsResponse_locationArn,+ describeLocationEfsResponse_locationUri,+ describeLocationEfsResponse_httpStatus,++ -- ** DescribeLocationFsxLustre+ describeLocationFsxLustre_locationArn,+ describeLocationFsxLustreResponse_creationTime,+ describeLocationFsxLustreResponse_locationArn,+ describeLocationFsxLustreResponse_locationUri,+ describeLocationFsxLustreResponse_securityGroupArns,+ describeLocationFsxLustreResponse_httpStatus,++ -- ** DescribeLocationFsxOntap+ describeLocationFsxOntap_locationArn,+ describeLocationFsxOntapResponse_creationTime,+ describeLocationFsxOntapResponse_fsxFilesystemArn,+ describeLocationFsxOntapResponse_locationArn,+ describeLocationFsxOntapResponse_locationUri,+ describeLocationFsxOntapResponse_protocol,+ describeLocationFsxOntapResponse_securityGroupArns,+ describeLocationFsxOntapResponse_storageVirtualMachineArn,+ describeLocationFsxOntapResponse_httpStatus,++ -- ** DescribeLocationFsxOpenZfs+ describeLocationFsxOpenZfs_locationArn,+ describeLocationFsxOpenZfsResponse_creationTime,+ describeLocationFsxOpenZfsResponse_locationArn,+ describeLocationFsxOpenZfsResponse_locationUri,+ describeLocationFsxOpenZfsResponse_protocol,+ describeLocationFsxOpenZfsResponse_securityGroupArns,+ describeLocationFsxOpenZfsResponse_httpStatus,++ -- ** DescribeLocationFsxWindows+ describeLocationFsxWindows_locationArn,+ describeLocationFsxWindowsResponse_creationTime,+ describeLocationFsxWindowsResponse_domain,+ describeLocationFsxWindowsResponse_locationArn,+ describeLocationFsxWindowsResponse_locationUri,+ describeLocationFsxWindowsResponse_securityGroupArns,+ describeLocationFsxWindowsResponse_user,+ describeLocationFsxWindowsResponse_httpStatus,++ -- ** DescribeLocationHdfs+ describeLocationHdfs_locationArn,+ describeLocationHdfsResponse_agentArns,+ describeLocationHdfsResponse_authenticationType,+ describeLocationHdfsResponse_blockSize,+ describeLocationHdfsResponse_creationTime,+ describeLocationHdfsResponse_kerberosPrincipal,+ describeLocationHdfsResponse_kmsKeyProviderUri,+ describeLocationHdfsResponse_locationArn,+ describeLocationHdfsResponse_locationUri,+ describeLocationHdfsResponse_nameNodes,+ describeLocationHdfsResponse_qopConfiguration,+ describeLocationHdfsResponse_replicationFactor,+ describeLocationHdfsResponse_simpleUser,+ describeLocationHdfsResponse_httpStatus,++ -- ** DescribeLocationNfs+ describeLocationNfs_locationArn,+ describeLocationNfsResponse_creationTime,+ describeLocationNfsResponse_locationArn,+ describeLocationNfsResponse_locationUri,+ describeLocationNfsResponse_mountOptions,+ describeLocationNfsResponse_onPremConfig,+ describeLocationNfsResponse_httpStatus,++ -- ** DescribeLocationObjectStorage+ describeLocationObjectStorage_locationArn,+ describeLocationObjectStorageResponse_accessKey,+ describeLocationObjectStorageResponse_agentArns,+ describeLocationObjectStorageResponse_creationTime,+ describeLocationObjectStorageResponse_locationArn,+ describeLocationObjectStorageResponse_locationUri,+ describeLocationObjectStorageResponse_serverCertificate,+ describeLocationObjectStorageResponse_serverPort,+ describeLocationObjectStorageResponse_serverProtocol,+ describeLocationObjectStorageResponse_httpStatus,++ -- ** DescribeLocationS3+ describeLocationS3_locationArn,+ describeLocationS3Response_agentArns,+ describeLocationS3Response_creationTime,+ describeLocationS3Response_locationArn,+ describeLocationS3Response_locationUri,+ describeLocationS3Response_s3Config,+ describeLocationS3Response_s3StorageClass,+ describeLocationS3Response_httpStatus,++ -- ** DescribeLocationSmb+ describeLocationSmb_locationArn,+ describeLocationSmbResponse_agentArns,+ describeLocationSmbResponse_creationTime,+ describeLocationSmbResponse_domain,+ describeLocationSmbResponse_locationArn,+ describeLocationSmbResponse_locationUri,+ describeLocationSmbResponse_mountOptions,+ describeLocationSmbResponse_user,+ describeLocationSmbResponse_httpStatus,++ -- ** DescribeTask+ describeTask_taskArn,+ describeTaskResponse_cloudWatchLogGroupArn,+ describeTaskResponse_creationTime,+ describeTaskResponse_currentTaskExecutionArn,+ describeTaskResponse_destinationLocationArn,+ describeTaskResponse_destinationNetworkInterfaceArns,+ describeTaskResponse_errorCode,+ describeTaskResponse_errorDetail,+ describeTaskResponse_excludes,+ describeTaskResponse_includes,+ describeTaskResponse_name,+ describeTaskResponse_options,+ describeTaskResponse_schedule,+ describeTaskResponse_sourceLocationArn,+ describeTaskResponse_sourceNetworkInterfaceArns,+ describeTaskResponse_status,+ describeTaskResponse_taskArn,+ describeTaskResponse_httpStatus,++ -- ** DescribeTaskExecution+ describeTaskExecution_taskExecutionArn,+ describeTaskExecutionResponse_bytesCompressed,+ describeTaskExecutionResponse_bytesTransferred,+ describeTaskExecutionResponse_bytesWritten,+ describeTaskExecutionResponse_estimatedBytesToTransfer,+ describeTaskExecutionResponse_estimatedFilesToTransfer,+ describeTaskExecutionResponse_excludes,+ describeTaskExecutionResponse_filesTransferred,+ describeTaskExecutionResponse_includes,+ describeTaskExecutionResponse_options,+ describeTaskExecutionResponse_result,+ describeTaskExecutionResponse_startTime,+ describeTaskExecutionResponse_status,+ describeTaskExecutionResponse_taskExecutionArn,+ describeTaskExecutionResponse_httpStatus,++ -- ** ListAgents+ listAgents_maxResults,+ listAgents_nextToken,+ listAgentsResponse_agents,+ listAgentsResponse_nextToken,+ listAgentsResponse_httpStatus,++ -- ** ListLocations+ listLocations_filters,+ listLocations_maxResults,+ listLocations_nextToken,+ listLocationsResponse_locations,+ listLocationsResponse_nextToken,+ listLocationsResponse_httpStatus,++ -- ** ListTagsForResource+ listTagsForResource_maxResults,+ listTagsForResource_nextToken,+ listTagsForResource_resourceArn,+ listTagsForResourceResponse_nextToken,+ listTagsForResourceResponse_tags,+ listTagsForResourceResponse_httpStatus,++ -- ** ListTaskExecutions+ listTaskExecutions_maxResults,+ listTaskExecutions_nextToken,+ listTaskExecutions_taskArn,+ listTaskExecutionsResponse_nextToken,+ listTaskExecutionsResponse_taskExecutions,+ listTaskExecutionsResponse_httpStatus,++ -- ** ListTasks+ listTasks_filters,+ listTasks_maxResults,+ listTasks_nextToken,+ listTasksResponse_nextToken,+ listTasksResponse_tasks,+ listTasksResponse_httpStatus,++ -- ** StartTaskExecution+ startTaskExecution_excludes,+ startTaskExecution_includes,+ startTaskExecution_overrideOptions,+ startTaskExecution_tags,+ startTaskExecution_taskArn,+ startTaskExecutionResponse_taskExecutionArn,+ startTaskExecutionResponse_httpStatus,++ -- ** TagResource+ tagResource_resourceArn,+ tagResource_tags,+ tagResourceResponse_httpStatus,++ -- ** UntagResource+ untagResource_resourceArn,+ untagResource_keys,+ untagResourceResponse_httpStatus,++ -- ** UpdateAgent+ updateAgent_name,+ updateAgent_agentArn,+ updateAgentResponse_httpStatus,++ -- ** UpdateLocationHdfs+ updateLocationHdfs_agentArns,+ updateLocationHdfs_authenticationType,+ updateLocationHdfs_blockSize,+ updateLocationHdfs_kerberosKeytab,+ updateLocationHdfs_kerberosKrb5Conf,+ updateLocationHdfs_kerberosPrincipal,+ updateLocationHdfs_kmsKeyProviderUri,+ updateLocationHdfs_nameNodes,+ updateLocationHdfs_qopConfiguration,+ updateLocationHdfs_replicationFactor,+ updateLocationHdfs_simpleUser,+ updateLocationHdfs_subdirectory,+ updateLocationHdfs_locationArn,+ updateLocationHdfsResponse_httpStatus,++ -- ** UpdateLocationNfs+ updateLocationNfs_mountOptions,+ updateLocationNfs_onPremConfig,+ updateLocationNfs_subdirectory,+ updateLocationNfs_locationArn,+ updateLocationNfsResponse_httpStatus,++ -- ** UpdateLocationObjectStorage+ updateLocationObjectStorage_accessKey,+ updateLocationObjectStorage_agentArns,+ updateLocationObjectStorage_secretKey,+ updateLocationObjectStorage_serverCertificate,+ updateLocationObjectStorage_serverPort,+ updateLocationObjectStorage_serverProtocol,+ updateLocationObjectStorage_subdirectory,+ updateLocationObjectStorage_locationArn,+ updateLocationObjectStorageResponse_httpStatus,++ -- ** UpdateLocationSmb+ updateLocationSmb_agentArns,+ updateLocationSmb_domain,+ updateLocationSmb_mountOptions,+ updateLocationSmb_password,+ updateLocationSmb_subdirectory,+ updateLocationSmb_user,+ updateLocationSmb_locationArn,+ updateLocationSmbResponse_httpStatus,++ -- ** UpdateTask+ updateTask_cloudWatchLogGroupArn,+ updateTask_excludes,+ updateTask_includes,+ updateTask_name,+ updateTask_options,+ updateTask_schedule,+ updateTask_taskArn,+ updateTaskResponse_httpStatus,++ -- ** UpdateTaskExecution+ updateTaskExecution_taskExecutionArn,+ updateTaskExecution_options,+ updateTaskExecutionResponse_httpStatus,++ -- * Types++ -- ** AgentListEntry+ agentListEntry_agentArn,+ agentListEntry_name,+ agentListEntry_status,++ -- ** Ec2Config+ ec2Config_subnetArn,+ ec2Config_securityGroupArns,++ -- ** FilterRule+ filterRule_filterType,+ filterRule_value,++ -- ** FsxProtocol+ fsxProtocol_nfs,+ fsxProtocol_smb,++ -- ** FsxProtocolNfs+ fsxProtocolNfs_mountOptions,++ -- ** FsxProtocolSmb+ fsxProtocolSmb_domain,+ fsxProtocolSmb_mountOptions,+ fsxProtocolSmb_password,+ fsxProtocolSmb_user,++ -- ** HdfsNameNode+ hdfsNameNode_hostname,+ hdfsNameNode_port,++ -- ** LocationFilter+ locationFilter_name,+ locationFilter_values,+ locationFilter_operator,++ -- ** LocationListEntry+ locationListEntry_locationArn,+ locationListEntry_locationUri,++ -- ** NfsMountOptions+ nfsMountOptions_version,++ -- ** OnPremConfig+ onPremConfig_agentArns,++ -- ** Options+ options_atime,+ options_bytesPerSecond,+ options_gid,+ options_logLevel,+ options_mtime,+ options_objectTags,+ options_overwriteMode,+ options_posixPermissions,+ options_preserveDeletedFiles,+ options_preserveDevices,+ options_securityDescriptorCopyFlags,+ options_taskQueueing,+ options_transferMode,+ options_uid,+ options_verifyMode,++ -- ** PrivateLinkConfig+ privateLinkConfig_privateLinkEndpoint,+ privateLinkConfig_securityGroupArns,+ privateLinkConfig_subnetArns,+ privateLinkConfig_vpcEndpointId,++ -- ** QopConfiguration+ qopConfiguration_dataTransferProtection,+ qopConfiguration_rpcProtection,++ -- ** S3Config+ s3Config_bucketAccessRoleArn,++ -- ** SmbMountOptions+ smbMountOptions_version,++ -- ** TagListEntry+ tagListEntry_value,+ tagListEntry_key,++ -- ** TaskExecutionListEntry+ taskExecutionListEntry_status,+ taskExecutionListEntry_taskExecutionArn,++ -- ** TaskExecutionResultDetail+ taskExecutionResultDetail_errorCode,+ taskExecutionResultDetail_errorDetail,+ taskExecutionResultDetail_prepareDuration,+ taskExecutionResultDetail_prepareStatus,+ taskExecutionResultDetail_totalDuration,+ taskExecutionResultDetail_transferDuration,+ taskExecutionResultDetail_transferStatus,+ taskExecutionResultDetail_verifyDuration,+ taskExecutionResultDetail_verifyStatus,++ -- ** TaskFilter+ taskFilter_name,+ taskFilter_values,+ taskFilter_operator,++ -- ** TaskListEntry+ taskListEntry_name,+ taskListEntry_status,+ taskListEntry_taskArn,++ -- ** TaskSchedule+ taskSchedule_scheduleExpression,+ )+where++import Amazonka.DataSync.CancelTaskExecution+import Amazonka.DataSync.CreateAgent+import Amazonka.DataSync.CreateLocationEfs+import Amazonka.DataSync.CreateLocationFsxLustre+import Amazonka.DataSync.CreateLocationFsxOntap+import Amazonka.DataSync.CreateLocationFsxOpenZfs+import Amazonka.DataSync.CreateLocationFsxWindows+import Amazonka.DataSync.CreateLocationHdfs+import Amazonka.DataSync.CreateLocationNfs+import Amazonka.DataSync.CreateLocationObjectStorage+import Amazonka.DataSync.CreateLocationS3+import Amazonka.DataSync.CreateLocationSmb+import Amazonka.DataSync.CreateTask+import Amazonka.DataSync.DeleteAgent+import Amazonka.DataSync.DeleteLocation+import Amazonka.DataSync.DeleteTask+import Amazonka.DataSync.DescribeAgent+import Amazonka.DataSync.DescribeLocationEfs+import Amazonka.DataSync.DescribeLocationFsxLustre+import Amazonka.DataSync.DescribeLocationFsxOntap+import Amazonka.DataSync.DescribeLocationFsxOpenZfs+import Amazonka.DataSync.DescribeLocationFsxWindows+import Amazonka.DataSync.DescribeLocationHdfs+import Amazonka.DataSync.DescribeLocationNfs+import Amazonka.DataSync.DescribeLocationObjectStorage+import Amazonka.DataSync.DescribeLocationS3+import Amazonka.DataSync.DescribeLocationSmb+import Amazonka.DataSync.DescribeTask+import Amazonka.DataSync.DescribeTaskExecution+import Amazonka.DataSync.ListAgents+import Amazonka.DataSync.ListLocations+import Amazonka.DataSync.ListTagsForResource+import Amazonka.DataSync.ListTaskExecutions+import Amazonka.DataSync.ListTasks+import Amazonka.DataSync.StartTaskExecution+import Amazonka.DataSync.TagResource+import Amazonka.DataSync.Types.AgentListEntry+import Amazonka.DataSync.Types.Ec2Config+import Amazonka.DataSync.Types.FilterRule+import Amazonka.DataSync.Types.FsxProtocol+import Amazonka.DataSync.Types.FsxProtocolNfs+import Amazonka.DataSync.Types.FsxProtocolSmb+import Amazonka.DataSync.Types.HdfsNameNode+import Amazonka.DataSync.Types.LocationFilter+import Amazonka.DataSync.Types.LocationListEntry+import Amazonka.DataSync.Types.NfsMountOptions+import Amazonka.DataSync.Types.OnPremConfig+import Amazonka.DataSync.Types.Options+import Amazonka.DataSync.Types.PrivateLinkConfig+import Amazonka.DataSync.Types.QopConfiguration+import Amazonka.DataSync.Types.S3Config+import Amazonka.DataSync.Types.SmbMountOptions+import Amazonka.DataSync.Types.TagListEntry+import Amazonka.DataSync.Types.TaskExecutionListEntry+import Amazonka.DataSync.Types.TaskExecutionResultDetail+import Amazonka.DataSync.Types.TaskFilter+import Amazonka.DataSync.Types.TaskListEntry+import Amazonka.DataSync.Types.TaskSchedule+import Amazonka.DataSync.UntagResource+import Amazonka.DataSync.UpdateAgent+import Amazonka.DataSync.UpdateLocationHdfs+import Amazonka.DataSync.UpdateLocationNfs+import Amazonka.DataSync.UpdateLocationObjectStorage+import Amazonka.DataSync.UpdateLocationSmb+import Amazonka.DataSync.UpdateTask+import Amazonka.DataSync.UpdateTaskExecution
+ gen/Amazonka/DataSync/ListAgents.hs view
@@ -0,0 +1,236 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DataSync.ListAgents+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of agents owned by an Amazon Web Services account in the+-- Amazon Web Services Region specified in the request. The returned list+-- is ordered by agent Amazon Resource Name (ARN).+--+-- By default, this operation returns a maximum of 100 agents. This+-- operation supports pagination that enables you to optionally reduce the+-- number of agents returned in a response.+--+-- If you have more agents than are returned in a response (that is, the+-- response returns only a truncated list of your agents), the response+-- contains a marker that you can specify in your next request to fetch the+-- next page of agents.+--+-- This operation returns paginated results.+module Amazonka.DataSync.ListAgents+ ( -- * Creating a Request+ ListAgents (..),+ newListAgents,++ -- * Request Lenses+ listAgents_maxResults,+ listAgents_nextToken,++ -- * Destructuring the Response+ ListAgentsResponse (..),+ newListAgentsResponse,++ -- * Response Lenses+ listAgentsResponse_agents,+ listAgentsResponse_nextToken,+ listAgentsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DataSync.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | ListAgentsRequest+--+-- /See:/ 'newListAgents' smart constructor.+data ListAgents = ListAgents'+ { -- | The maximum number of agents to list.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | An opaque string that indicates the position at which to begin the next+ -- list of agents.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAgents' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listAgents_maxResults' - The maximum number of agents to list.+--+-- 'nextToken', 'listAgents_nextToken' - An opaque string that indicates the position at which to begin the next+-- list of agents.+newListAgents ::+ ListAgents+newListAgents =+ ListAgents'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | The maximum number of agents to list.+listAgents_maxResults :: Lens.Lens' ListAgents (Prelude.Maybe Prelude.Natural)+listAgents_maxResults = Lens.lens (\ListAgents' {maxResults} -> maxResults) (\s@ListAgents' {} a -> s {maxResults = a} :: ListAgents)++-- | An opaque string that indicates the position at which to begin the next+-- list of agents.+listAgents_nextToken :: Lens.Lens' ListAgents (Prelude.Maybe Prelude.Text)+listAgents_nextToken = Lens.lens (\ListAgents' {nextToken} -> nextToken) (\s@ListAgents' {} a -> s {nextToken = a} :: ListAgents)++instance Core.AWSPager ListAgents where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listAgentsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listAgentsResponse_agents+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listAgents_nextToken+ Lens..~ rs+ Lens.^? listAgentsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListAgents where+ type AWSResponse ListAgents = ListAgentsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListAgentsResponse'+ Prelude.<$> (x Data..?> "Agents" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListAgents where+ hashWithSalt _salt ListAgents' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListAgents where+ rnf ListAgents' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListAgents where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ("FmrsService.ListAgents" :: Prelude.ByteString),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListAgents where+ toJSON ListAgents' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken+ ]+ )++instance Data.ToPath ListAgents where+ toPath = Prelude.const "/"++instance Data.ToQuery ListAgents where+ toQuery = Prelude.const Prelude.mempty++-- | ListAgentsResponse+--+-- /See:/ 'newListAgentsResponse' smart constructor.+data ListAgentsResponse = ListAgentsResponse'+ { -- | A list of agents in your account.+ agents :: Prelude.Maybe [AgentListEntry],+ -- | An opaque string that indicates the position at which to begin returning+ -- the next list of agents.+ 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 'ListAgentsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'agents', 'listAgentsResponse_agents' - A list of agents in your account.+--+-- 'nextToken', 'listAgentsResponse_nextToken' - An opaque string that indicates the position at which to begin returning+-- the next list of agents.+--+-- 'httpStatus', 'listAgentsResponse_httpStatus' - The response's http status code.+newListAgentsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListAgentsResponse+newListAgentsResponse pHttpStatus_ =+ ListAgentsResponse'+ { agents = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A list of agents in your account.+listAgentsResponse_agents :: Lens.Lens' ListAgentsResponse (Prelude.Maybe [AgentListEntry])+listAgentsResponse_agents = Lens.lens (\ListAgentsResponse' {agents} -> agents) (\s@ListAgentsResponse' {} a -> s {agents = a} :: ListAgentsResponse) Prelude.. Lens.mapping Lens.coerced++-- | An opaque string that indicates the position at which to begin returning+-- the next list of agents.+listAgentsResponse_nextToken :: Lens.Lens' ListAgentsResponse (Prelude.Maybe Prelude.Text)+listAgentsResponse_nextToken = Lens.lens (\ListAgentsResponse' {nextToken} -> nextToken) (\s@ListAgentsResponse' {} a -> s {nextToken = a} :: ListAgentsResponse)++-- | The response's http status code.+listAgentsResponse_httpStatus :: Lens.Lens' ListAgentsResponse Prelude.Int+listAgentsResponse_httpStatus = Lens.lens (\ListAgentsResponse' {httpStatus} -> httpStatus) (\s@ListAgentsResponse' {} a -> s {httpStatus = a} :: ListAgentsResponse)++instance Prelude.NFData ListAgentsResponse where+ rnf ListAgentsResponse' {..} =+ Prelude.rnf agents+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/DataSync/ListLocations.hs view
@@ -0,0 +1,254 @@+{-# 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.DataSync.ListLocations+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of source and destination locations.+--+-- If you have more locations than are returned in a response (that is, the+-- response returns only a truncated list of your agents), the response+-- contains a token that you can specify in your next request to fetch the+-- next page of locations.+--+-- This operation returns paginated results.+module Amazonka.DataSync.ListLocations+ ( -- * Creating a Request+ ListLocations (..),+ newListLocations,++ -- * Request Lenses+ listLocations_filters,+ listLocations_maxResults,+ listLocations_nextToken,++ -- * Destructuring the Response+ ListLocationsResponse (..),+ newListLocationsResponse,++ -- * Response Lenses+ listLocationsResponse_locations,+ listLocationsResponse_nextToken,+ listLocationsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DataSync.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | ListLocationsRequest+--+-- /See:/ 'newListLocations' smart constructor.+data ListLocations = ListLocations'+ { -- | You can use API filters to narrow down the list of resources returned by+ -- @ListLocations@. For example, to retrieve all tasks on a specific source+ -- location, you can use @ListLocations@ with filter name @LocationType S3@+ -- and @Operator Equals@.+ filters :: Prelude.Maybe [LocationFilter],+ -- | The maximum number of locations to return.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | An opaque string that indicates the position at which to begin the next+ -- list of locations.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListLocations' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'filters', 'listLocations_filters' - You can use API filters to narrow down the list of resources returned by+-- @ListLocations@. For example, to retrieve all tasks on a specific source+-- location, you can use @ListLocations@ with filter name @LocationType S3@+-- and @Operator Equals@.+--+-- 'maxResults', 'listLocations_maxResults' - The maximum number of locations to return.+--+-- 'nextToken', 'listLocations_nextToken' - An opaque string that indicates the position at which to begin the next+-- list of locations.+newListLocations ::+ ListLocations+newListLocations =+ ListLocations'+ { filters = Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | You can use API filters to narrow down the list of resources returned by+-- @ListLocations@. For example, to retrieve all tasks on a specific source+-- location, you can use @ListLocations@ with filter name @LocationType S3@+-- and @Operator Equals@.+listLocations_filters :: Lens.Lens' ListLocations (Prelude.Maybe [LocationFilter])+listLocations_filters = Lens.lens (\ListLocations' {filters} -> filters) (\s@ListLocations' {} a -> s {filters = a} :: ListLocations) Prelude.. Lens.mapping Lens.coerced++-- | The maximum number of locations to return.+listLocations_maxResults :: Lens.Lens' ListLocations (Prelude.Maybe Prelude.Natural)+listLocations_maxResults = Lens.lens (\ListLocations' {maxResults} -> maxResults) (\s@ListLocations' {} a -> s {maxResults = a} :: ListLocations)++-- | An opaque string that indicates the position at which to begin the next+-- list of locations.+listLocations_nextToken :: Lens.Lens' ListLocations (Prelude.Maybe Prelude.Text)+listLocations_nextToken = Lens.lens (\ListLocations' {nextToken} -> nextToken) (\s@ListLocations' {} a -> s {nextToken = a} :: ListLocations)++instance Core.AWSPager ListLocations where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listLocationsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listLocationsResponse_locations+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listLocations_nextToken+ Lens..~ rs+ Lens.^? listLocationsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListLocations where+ type+ AWSResponse ListLocations =+ ListLocationsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListLocationsResponse'+ Prelude.<$> (x Data..?> "Locations" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListLocations where+ hashWithSalt _salt ListLocations' {..} =+ _salt+ `Prelude.hashWithSalt` filters+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListLocations where+ rnf ListLocations' {..} =+ Prelude.rnf filters+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListLocations where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ("FmrsService.ListLocations" :: Prelude.ByteString),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListLocations where+ toJSON ListLocations' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Filters" Data..=) Prelude.<$> filters,+ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken+ ]+ )++instance Data.ToPath ListLocations where+ toPath = Prelude.const "/"++instance Data.ToQuery ListLocations where+ toQuery = Prelude.const Prelude.mempty++-- | ListLocationsResponse+--+-- /See:/ 'newListLocationsResponse' smart constructor.+data ListLocationsResponse = ListLocationsResponse'+ { -- | An array that contains a list of locations.+ locations :: Prelude.Maybe [LocationListEntry],+ -- | An opaque string that indicates the position at which to begin returning+ -- the next list of locations.+ 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 'ListLocationsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'locations', 'listLocationsResponse_locations' - An array that contains a list of locations.+--+-- 'nextToken', 'listLocationsResponse_nextToken' - An opaque string that indicates the position at which to begin returning+-- the next list of locations.+--+-- 'httpStatus', 'listLocationsResponse_httpStatus' - The response's http status code.+newListLocationsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListLocationsResponse+newListLocationsResponse pHttpStatus_ =+ ListLocationsResponse'+ { locations = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | An array that contains a list of locations.+listLocationsResponse_locations :: Lens.Lens' ListLocationsResponse (Prelude.Maybe [LocationListEntry])+listLocationsResponse_locations = Lens.lens (\ListLocationsResponse' {locations} -> locations) (\s@ListLocationsResponse' {} a -> s {locations = a} :: ListLocationsResponse) Prelude.. Lens.mapping Lens.coerced++-- | An opaque string that indicates the position at which to begin returning+-- the next list of locations.+listLocationsResponse_nextToken :: Lens.Lens' ListLocationsResponse (Prelude.Maybe Prelude.Text)+listLocationsResponse_nextToken = Lens.lens (\ListLocationsResponse' {nextToken} -> nextToken) (\s@ListLocationsResponse' {} a -> s {nextToken = a} :: ListLocationsResponse)++-- | The response's http status code.+listLocationsResponse_httpStatus :: Lens.Lens' ListLocationsResponse Prelude.Int+listLocationsResponse_httpStatus = Lens.lens (\ListLocationsResponse' {httpStatus} -> httpStatus) (\s@ListLocationsResponse' {} a -> s {httpStatus = a} :: ListLocationsResponse)++instance Prelude.NFData ListLocationsResponse where+ rnf ListLocationsResponse' {..} =+ Prelude.rnf locations+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/DataSync/ListTagsForResource.hs view
@@ -0,0 +1,248 @@+{-# 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.DataSync.ListTagsForResource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns all the tags associated with an Amazon Web Services resource.+--+-- This operation returns paginated results.+module Amazonka.DataSync.ListTagsForResource+ ( -- * Creating a Request+ ListTagsForResource (..),+ newListTagsForResource,++ -- * Request Lenses+ listTagsForResource_maxResults,+ listTagsForResource_nextToken,+ listTagsForResource_resourceArn,++ -- * Destructuring the Response+ ListTagsForResourceResponse (..),+ newListTagsForResourceResponse,++ -- * Response Lenses+ listTagsForResourceResponse_nextToken,+ listTagsForResourceResponse_tags,+ listTagsForResourceResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DataSync.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | ListTagsForResourceRequest+--+-- /See:/ 'newListTagsForResource' smart constructor.+data ListTagsForResource = ListTagsForResource'+ { -- | Specifies how many results that you want in the response.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | Specifies an opaque string that indicates the position to begin the next+ -- list of results in the response.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | Specifies the Amazon Resource Name (ARN) of the resource that you want+ -- tag information on.+ resourceArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listTagsForResource_maxResults' - Specifies how many results that you want in the response.+--+-- 'nextToken', 'listTagsForResource_nextToken' - Specifies an opaque string that indicates the position to begin the next+-- list of results in the response.+--+-- 'resourceArn', 'listTagsForResource_resourceArn' - Specifies the Amazon Resource Name (ARN) of the resource that you want+-- tag information on.+newListTagsForResource ::+ -- | 'resourceArn'+ Prelude.Text ->+ ListTagsForResource+newListTagsForResource pResourceArn_ =+ ListTagsForResource'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ resourceArn = pResourceArn_+ }++-- | Specifies how many results that you want in the response.+listTagsForResource_maxResults :: Lens.Lens' ListTagsForResource (Prelude.Maybe Prelude.Natural)+listTagsForResource_maxResults = Lens.lens (\ListTagsForResource' {maxResults} -> maxResults) (\s@ListTagsForResource' {} a -> s {maxResults = a} :: ListTagsForResource)++-- | Specifies an opaque string that indicates the position to begin the next+-- list of results in the response.+listTagsForResource_nextToken :: Lens.Lens' ListTagsForResource (Prelude.Maybe Prelude.Text)+listTagsForResource_nextToken = Lens.lens (\ListTagsForResource' {nextToken} -> nextToken) (\s@ListTagsForResource' {} a -> s {nextToken = a} :: ListTagsForResource)++-- | Specifies the Amazon Resource Name (ARN) of the resource that you want+-- tag information on.+listTagsForResource_resourceArn :: Lens.Lens' ListTagsForResource Prelude.Text+listTagsForResource_resourceArn = Lens.lens (\ListTagsForResource' {resourceArn} -> resourceArn) (\s@ListTagsForResource' {} a -> s {resourceArn = a} :: ListTagsForResource)++instance Core.AWSPager ListTagsForResource where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listTagsForResourceResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listTagsForResourceResponse_tags+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listTagsForResource_nextToken+ Lens..~ rs+ Lens.^? listTagsForResourceResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListTagsForResource where+ type+ AWSResponse ListTagsForResource =+ ListTagsForResourceResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListTagsForResourceResponse'+ Prelude.<$> (x Data..?> "NextToken")+ Prelude.<*> (x Data..?> "Tags" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListTagsForResource where+ hashWithSalt _salt ListTagsForResource' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` resourceArn++instance Prelude.NFData ListTagsForResource where+ rnf ListTagsForResource' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf resourceArn++instance Data.ToHeaders ListTagsForResource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "FmrsService.ListTagsForResource" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListTagsForResource where+ toJSON ListTagsForResource' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken,+ Prelude.Just ("ResourceArn" Data..= resourceArn)+ ]+ )++instance Data.ToPath ListTagsForResource where+ toPath = Prelude.const "/"++instance Data.ToQuery ListTagsForResource where+ toQuery = Prelude.const Prelude.mempty++-- | ListTagsForResourceResponse+--+-- /See:/ 'newListTagsForResourceResponse' smart constructor.+data ListTagsForResourceResponse = ListTagsForResourceResponse'+ { -- | The opaque string that indicates the position to begin the next list of+ -- results in the response.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | An array of tags applied to the specified resource.+ tags :: Prelude.Maybe [TagListEntry],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listTagsForResourceResponse_nextToken' - The opaque string that indicates the position to begin the next list of+-- results in the response.+--+-- 'tags', 'listTagsForResourceResponse_tags' - An array of tags applied to the specified resource.+--+-- 'httpStatus', 'listTagsForResourceResponse_httpStatus' - The response's http status code.+newListTagsForResourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListTagsForResourceResponse+newListTagsForResourceResponse pHttpStatus_ =+ ListTagsForResourceResponse'+ { nextToken =+ Prelude.Nothing,+ tags = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The opaque string that indicates the position to begin the next list of+-- results in the response.+listTagsForResourceResponse_nextToken :: Lens.Lens' ListTagsForResourceResponse (Prelude.Maybe Prelude.Text)+listTagsForResourceResponse_nextToken = Lens.lens (\ListTagsForResourceResponse' {nextToken} -> nextToken) (\s@ListTagsForResourceResponse' {} a -> s {nextToken = a} :: ListTagsForResourceResponse)++-- | An array of tags applied to the specified resource.+listTagsForResourceResponse_tags :: Lens.Lens' ListTagsForResourceResponse (Prelude.Maybe [TagListEntry])+listTagsForResourceResponse_tags = Lens.lens (\ListTagsForResourceResponse' {tags} -> tags) (\s@ListTagsForResourceResponse' {} a -> s {tags = a} :: ListTagsForResourceResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listTagsForResourceResponse_httpStatus :: Lens.Lens' ListTagsForResourceResponse Prelude.Int+listTagsForResourceResponse_httpStatus = Lens.lens (\ListTagsForResourceResponse' {httpStatus} -> httpStatus) (\s@ListTagsForResourceResponse' {} a -> s {httpStatus = a} :: ListTagsForResourceResponse)++instance Prelude.NFData ListTagsForResourceResponse where+ rnf ListTagsForResourceResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/DataSync/ListTaskExecutions.hs view
@@ -0,0 +1,243 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DataSync.ListTaskExecutions+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of executed tasks.+--+-- This operation returns paginated results.+module Amazonka.DataSync.ListTaskExecutions+ ( -- * Creating a Request+ ListTaskExecutions (..),+ newListTaskExecutions,++ -- * Request Lenses+ listTaskExecutions_maxResults,+ listTaskExecutions_nextToken,+ listTaskExecutions_taskArn,++ -- * Destructuring the Response+ ListTaskExecutionsResponse (..),+ newListTaskExecutionsResponse,++ -- * Response Lenses+ listTaskExecutionsResponse_nextToken,+ listTaskExecutionsResponse_taskExecutions,+ listTaskExecutionsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DataSync.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | ListTaskExecutions+--+-- /See:/ 'newListTaskExecutions' smart constructor.+data ListTaskExecutions = ListTaskExecutions'+ { -- | The maximum number of executed tasks to list.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | An opaque string that indicates the position at which to begin the next+ -- list of the executed tasks.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the task whose tasks you want to list.+ taskArn :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTaskExecutions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listTaskExecutions_maxResults' - The maximum number of executed tasks to list.+--+-- 'nextToken', 'listTaskExecutions_nextToken' - An opaque string that indicates the position at which to begin the next+-- list of the executed tasks.+--+-- 'taskArn', 'listTaskExecutions_taskArn' - The Amazon Resource Name (ARN) of the task whose tasks you want to list.+newListTaskExecutions ::+ ListTaskExecutions+newListTaskExecutions =+ ListTaskExecutions'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ taskArn = Prelude.Nothing+ }++-- | The maximum number of executed tasks to list.+listTaskExecutions_maxResults :: Lens.Lens' ListTaskExecutions (Prelude.Maybe Prelude.Natural)+listTaskExecutions_maxResults = Lens.lens (\ListTaskExecutions' {maxResults} -> maxResults) (\s@ListTaskExecutions' {} a -> s {maxResults = a} :: ListTaskExecutions)++-- | An opaque string that indicates the position at which to begin the next+-- list of the executed tasks.+listTaskExecutions_nextToken :: Lens.Lens' ListTaskExecutions (Prelude.Maybe Prelude.Text)+listTaskExecutions_nextToken = Lens.lens (\ListTaskExecutions' {nextToken} -> nextToken) (\s@ListTaskExecutions' {} a -> s {nextToken = a} :: ListTaskExecutions)++-- | The Amazon Resource Name (ARN) of the task whose tasks you want to list.+listTaskExecutions_taskArn :: Lens.Lens' ListTaskExecutions (Prelude.Maybe Prelude.Text)+listTaskExecutions_taskArn = Lens.lens (\ListTaskExecutions' {taskArn} -> taskArn) (\s@ListTaskExecutions' {} a -> s {taskArn = a} :: ListTaskExecutions)++instance Core.AWSPager ListTaskExecutions where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listTaskExecutionsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listTaskExecutionsResponse_taskExecutions+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listTaskExecutions_nextToken+ Lens..~ rs+ Lens.^? listTaskExecutionsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListTaskExecutions where+ type+ AWSResponse ListTaskExecutions =+ ListTaskExecutionsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListTaskExecutionsResponse'+ Prelude.<$> (x Data..?> "NextToken")+ Prelude.<*> (x Data..?> "TaskExecutions" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListTaskExecutions where+ hashWithSalt _salt ListTaskExecutions' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` taskArn++instance Prelude.NFData ListTaskExecutions where+ rnf ListTaskExecutions' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf taskArn++instance Data.ToHeaders ListTaskExecutions where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "FmrsService.ListTaskExecutions" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListTaskExecutions where+ toJSON ListTaskExecutions' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken,+ ("TaskArn" Data..=) Prelude.<$> taskArn+ ]+ )++instance Data.ToPath ListTaskExecutions where+ toPath = Prelude.const "/"++instance Data.ToQuery ListTaskExecutions where+ toQuery = Prelude.const Prelude.mempty++-- | ListTaskExecutionsResponse+--+-- /See:/ 'newListTaskExecutionsResponse' smart constructor.+data ListTaskExecutionsResponse = ListTaskExecutionsResponse'+ { -- | An opaque string that indicates the position at which to begin returning+ -- the next list of executed tasks.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | A list of executed tasks.+ taskExecutions :: Prelude.Maybe [TaskExecutionListEntry],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTaskExecutionsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listTaskExecutionsResponse_nextToken' - An opaque string that indicates the position at which to begin returning+-- the next list of executed tasks.+--+-- 'taskExecutions', 'listTaskExecutionsResponse_taskExecutions' - A list of executed tasks.+--+-- 'httpStatus', 'listTaskExecutionsResponse_httpStatus' - The response's http status code.+newListTaskExecutionsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListTaskExecutionsResponse+newListTaskExecutionsResponse pHttpStatus_ =+ ListTaskExecutionsResponse'+ { nextToken =+ Prelude.Nothing,+ taskExecutions = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | An opaque string that indicates the position at which to begin returning+-- the next list of executed tasks.+listTaskExecutionsResponse_nextToken :: Lens.Lens' ListTaskExecutionsResponse (Prelude.Maybe Prelude.Text)+listTaskExecutionsResponse_nextToken = Lens.lens (\ListTaskExecutionsResponse' {nextToken} -> nextToken) (\s@ListTaskExecutionsResponse' {} a -> s {nextToken = a} :: ListTaskExecutionsResponse)++-- | A list of executed tasks.+listTaskExecutionsResponse_taskExecutions :: Lens.Lens' ListTaskExecutionsResponse (Prelude.Maybe [TaskExecutionListEntry])+listTaskExecutionsResponse_taskExecutions = Lens.lens (\ListTaskExecutionsResponse' {taskExecutions} -> taskExecutions) (\s@ListTaskExecutionsResponse' {} a -> s {taskExecutions = a} :: ListTaskExecutionsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listTaskExecutionsResponse_httpStatus :: Lens.Lens' ListTaskExecutionsResponse Prelude.Int+listTaskExecutionsResponse_httpStatus = Lens.lens (\ListTaskExecutionsResponse' {httpStatus} -> httpStatus) (\s@ListTaskExecutionsResponse' {} a -> s {httpStatus = a} :: ListTaskExecutionsResponse)++instance Prelude.NFData ListTaskExecutionsResponse where+ rnf ListTaskExecutionsResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf taskExecutions+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/DataSync/ListTasks.hs view
@@ -0,0 +1,247 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DataSync.ListTasks+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of the DataSync tasks you created.+--+-- This operation returns paginated results.+module Amazonka.DataSync.ListTasks+ ( -- * Creating a Request+ ListTasks (..),+ newListTasks,++ -- * Request Lenses+ listTasks_filters,+ listTasks_maxResults,+ listTasks_nextToken,++ -- * Destructuring the Response+ ListTasksResponse (..),+ newListTasksResponse,++ -- * Response Lenses+ listTasksResponse_nextToken,+ listTasksResponse_tasks,+ listTasksResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DataSync.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | ListTasksRequest+--+-- /See:/ 'newListTasks' smart constructor.+data ListTasks = ListTasks'+ { -- | You can use API filters to narrow down the list of resources returned by+ -- @ListTasks@. For example, to retrieve all tasks on a specific source+ -- location, you can use @ListTasks@ with filter name @LocationId@ and+ -- @Operator Equals@ with the ARN for the location.+ filters :: Prelude.Maybe [TaskFilter],+ -- | The maximum number of tasks to return.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | An opaque string that indicates the position at which to begin the next+ -- list of tasks.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTasks' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'filters', 'listTasks_filters' - You can use API filters to narrow down the list of resources returned by+-- @ListTasks@. For example, to retrieve all tasks on a specific source+-- location, you can use @ListTasks@ with filter name @LocationId@ and+-- @Operator Equals@ with the ARN for the location.+--+-- 'maxResults', 'listTasks_maxResults' - The maximum number of tasks to return.+--+-- 'nextToken', 'listTasks_nextToken' - An opaque string that indicates the position at which to begin the next+-- list of tasks.+newListTasks ::+ ListTasks+newListTasks =+ ListTasks'+ { filters = Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | You can use API filters to narrow down the list of resources returned by+-- @ListTasks@. For example, to retrieve all tasks on a specific source+-- location, you can use @ListTasks@ with filter name @LocationId@ and+-- @Operator Equals@ with the ARN for the location.+listTasks_filters :: Lens.Lens' ListTasks (Prelude.Maybe [TaskFilter])+listTasks_filters = Lens.lens (\ListTasks' {filters} -> filters) (\s@ListTasks' {} a -> s {filters = a} :: ListTasks) Prelude.. Lens.mapping Lens.coerced++-- | The maximum number of tasks to return.+listTasks_maxResults :: Lens.Lens' ListTasks (Prelude.Maybe Prelude.Natural)+listTasks_maxResults = Lens.lens (\ListTasks' {maxResults} -> maxResults) (\s@ListTasks' {} a -> s {maxResults = a} :: ListTasks)++-- | An opaque string that indicates the position at which to begin the next+-- list of tasks.+listTasks_nextToken :: Lens.Lens' ListTasks (Prelude.Maybe Prelude.Text)+listTasks_nextToken = Lens.lens (\ListTasks' {nextToken} -> nextToken) (\s@ListTasks' {} a -> s {nextToken = a} :: ListTasks)++instance Core.AWSPager ListTasks where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listTasksResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listTasksResponse_tasks+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listTasks_nextToken+ Lens..~ rs+ Lens.^? listTasksResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListTasks where+ type AWSResponse ListTasks = ListTasksResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListTasksResponse'+ Prelude.<$> (x Data..?> "NextToken")+ Prelude.<*> (x Data..?> "Tasks" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListTasks where+ hashWithSalt _salt ListTasks' {..} =+ _salt+ `Prelude.hashWithSalt` filters+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListTasks where+ rnf ListTasks' {..} =+ Prelude.rnf filters+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListTasks where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ("FmrsService.ListTasks" :: Prelude.ByteString),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListTasks where+ toJSON ListTasks' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Filters" Data..=) Prelude.<$> filters,+ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken+ ]+ )++instance Data.ToPath ListTasks where+ toPath = Prelude.const "/"++instance Data.ToQuery ListTasks where+ toQuery = Prelude.const Prelude.mempty++-- | ListTasksResponse+--+-- /See:/ 'newListTasksResponse' smart constructor.+data ListTasksResponse = ListTasksResponse'+ { -- | An opaque string that indicates the position at which to begin returning+ -- the next list of tasks.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | A list of all the tasks that are returned.+ tasks :: Prelude.Maybe [TaskListEntry],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTasksResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listTasksResponse_nextToken' - An opaque string that indicates the position at which to begin returning+-- the next list of tasks.+--+-- 'tasks', 'listTasksResponse_tasks' - A list of all the tasks that are returned.+--+-- 'httpStatus', 'listTasksResponse_httpStatus' - The response's http status code.+newListTasksResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListTasksResponse+newListTasksResponse pHttpStatus_ =+ ListTasksResponse'+ { nextToken = Prelude.Nothing,+ tasks = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | An opaque string that indicates the position at which to begin returning+-- the next list of tasks.+listTasksResponse_nextToken :: Lens.Lens' ListTasksResponse (Prelude.Maybe Prelude.Text)+listTasksResponse_nextToken = Lens.lens (\ListTasksResponse' {nextToken} -> nextToken) (\s@ListTasksResponse' {} a -> s {nextToken = a} :: ListTasksResponse)++-- | A list of all the tasks that are returned.+listTasksResponse_tasks :: Lens.Lens' ListTasksResponse (Prelude.Maybe [TaskListEntry])+listTasksResponse_tasks = Lens.lens (\ListTasksResponse' {tasks} -> tasks) (\s@ListTasksResponse' {} a -> s {tasks = a} :: ListTasksResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listTasksResponse_httpStatus :: Lens.Lens' ListTasksResponse Prelude.Int+listTasksResponse_httpStatus = Lens.lens (\ListTasksResponse' {httpStatus} -> httpStatus) (\s@ListTasksResponse' {} a -> s {httpStatus = a} :: ListTasksResponse)++instance Prelude.NFData ListTasksResponse where+ rnf ListTasksResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf tasks+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/DataSync/StartTaskExecution.hs view
@@ -0,0 +1,266 @@+{-# 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.DataSync.StartTaskExecution+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Starts an DataSync task. For each task, you can only run one task+-- execution at a time.+--+-- There are several phases to a task execution. For more information, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/working-with-task-executions.html#understand-task-execution-statuses Task execution statuses>.+module Amazonka.DataSync.StartTaskExecution+ ( -- * Creating a Request+ StartTaskExecution (..),+ newStartTaskExecution,++ -- * Request Lenses+ startTaskExecution_excludes,+ startTaskExecution_includes,+ startTaskExecution_overrideOptions,+ startTaskExecution_tags,+ startTaskExecution_taskArn,++ -- * Destructuring the Response+ StartTaskExecutionResponse (..),+ newStartTaskExecutionResponse,++ -- * Response Lenses+ startTaskExecutionResponse_taskExecutionArn,+ startTaskExecutionResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DataSync.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | StartTaskExecutionRequest+--+-- /See:/ 'newStartTaskExecution' smart constructor.+data StartTaskExecution = StartTaskExecution'+ { -- | Specifies a list of filter rules that determines which files to exclude+ -- from a task. The list contains a single filter string that consists of+ -- the patterns to exclude. The patterns are delimited by \"|\" (that is, a+ -- pipe), for example, @\"\/folder1|\/folder2\"@.+ excludes :: Prelude.Maybe [FilterRule],+ -- | Specifies a list of filter rules that determines which files to include+ -- when running a task. The pattern should contain a single filter string+ -- that consists of the patterns to include. The patterns are delimited by+ -- \"|\" (that is, a pipe), for example, @\"\/folder1|\/folder2\"@.+ includes :: Prelude.Maybe [FilterRule],+ overrideOptions :: Prelude.Maybe Options,+ -- | Specifies the tags that you want to apply to the Amazon Resource Name+ -- (ARN) representing the task execution.+ --+ -- /Tags/ are key-value pairs that help you manage, filter, and search for+ -- your DataSync resources.+ tags :: Prelude.Maybe [TagListEntry],+ -- | Specifies the Amazon Resource Name (ARN) of the task that you want to+ -- start.+ taskArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartTaskExecution' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'excludes', 'startTaskExecution_excludes' - Specifies a list of filter rules that determines which files to exclude+-- from a task. The list contains a single filter string that consists of+-- the patterns to exclude. The patterns are delimited by \"|\" (that is, a+-- pipe), for example, @\"\/folder1|\/folder2\"@.+--+-- 'includes', 'startTaskExecution_includes' - Specifies a list of filter rules that determines which files to include+-- when running a task. The pattern should contain a single filter string+-- that consists of the patterns to include. The patterns are delimited by+-- \"|\" (that is, a pipe), for example, @\"\/folder1|\/folder2\"@.+--+-- 'overrideOptions', 'startTaskExecution_overrideOptions' - Undocumented member.+--+-- 'tags', 'startTaskExecution_tags' - Specifies the tags that you want to apply to the Amazon Resource Name+-- (ARN) representing the task execution.+--+-- /Tags/ are key-value pairs that help you manage, filter, and search for+-- your DataSync resources.+--+-- 'taskArn', 'startTaskExecution_taskArn' - Specifies the Amazon Resource Name (ARN) of the task that you want to+-- start.+newStartTaskExecution ::+ -- | 'taskArn'+ Prelude.Text ->+ StartTaskExecution+newStartTaskExecution pTaskArn_ =+ StartTaskExecution'+ { excludes = Prelude.Nothing,+ includes = Prelude.Nothing,+ overrideOptions = Prelude.Nothing,+ tags = Prelude.Nothing,+ taskArn = pTaskArn_+ }++-- | Specifies a list of filter rules that determines which files to exclude+-- from a task. The list contains a single filter string that consists of+-- the patterns to exclude. The patterns are delimited by \"|\" (that is, a+-- pipe), for example, @\"\/folder1|\/folder2\"@.+startTaskExecution_excludes :: Lens.Lens' StartTaskExecution (Prelude.Maybe [FilterRule])+startTaskExecution_excludes = Lens.lens (\StartTaskExecution' {excludes} -> excludes) (\s@StartTaskExecution' {} a -> s {excludes = a} :: StartTaskExecution) Prelude.. Lens.mapping Lens.coerced++-- | Specifies a list of filter rules that determines which files to include+-- when running a task. The pattern should contain a single filter string+-- that consists of the patterns to include. The patterns are delimited by+-- \"|\" (that is, a pipe), for example, @\"\/folder1|\/folder2\"@.+startTaskExecution_includes :: Lens.Lens' StartTaskExecution (Prelude.Maybe [FilterRule])+startTaskExecution_includes = Lens.lens (\StartTaskExecution' {includes} -> includes) (\s@StartTaskExecution' {} a -> s {includes = a} :: StartTaskExecution) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+startTaskExecution_overrideOptions :: Lens.Lens' StartTaskExecution (Prelude.Maybe Options)+startTaskExecution_overrideOptions = Lens.lens (\StartTaskExecution' {overrideOptions} -> overrideOptions) (\s@StartTaskExecution' {} a -> s {overrideOptions = a} :: StartTaskExecution)++-- | Specifies the tags that you want to apply to the Amazon Resource Name+-- (ARN) representing the task execution.+--+-- /Tags/ are key-value pairs that help you manage, filter, and search for+-- your DataSync resources.+startTaskExecution_tags :: Lens.Lens' StartTaskExecution (Prelude.Maybe [TagListEntry])+startTaskExecution_tags = Lens.lens (\StartTaskExecution' {tags} -> tags) (\s@StartTaskExecution' {} a -> s {tags = a} :: StartTaskExecution) Prelude.. Lens.mapping Lens.coerced++-- | Specifies the Amazon Resource Name (ARN) of the task that you want to+-- start.+startTaskExecution_taskArn :: Lens.Lens' StartTaskExecution Prelude.Text+startTaskExecution_taskArn = Lens.lens (\StartTaskExecution' {taskArn} -> taskArn) (\s@StartTaskExecution' {} a -> s {taskArn = a} :: StartTaskExecution)++instance Core.AWSRequest StartTaskExecution where+ type+ AWSResponse StartTaskExecution =+ StartTaskExecutionResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ StartTaskExecutionResponse'+ Prelude.<$> (x Data..?> "TaskExecutionArn")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable StartTaskExecution where+ hashWithSalt _salt StartTaskExecution' {..} =+ _salt+ `Prelude.hashWithSalt` excludes+ `Prelude.hashWithSalt` includes+ `Prelude.hashWithSalt` overrideOptions+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` taskArn++instance Prelude.NFData StartTaskExecution where+ rnf StartTaskExecution' {..} =+ Prelude.rnf excludes+ `Prelude.seq` Prelude.rnf includes+ `Prelude.seq` Prelude.rnf overrideOptions+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf taskArn++instance Data.ToHeaders StartTaskExecution where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "FmrsService.StartTaskExecution" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON StartTaskExecution where+ toJSON StartTaskExecution' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Excludes" Data..=) Prelude.<$> excludes,+ ("Includes" Data..=) Prelude.<$> includes,+ ("OverrideOptions" Data..=)+ Prelude.<$> overrideOptions,+ ("Tags" Data..=) Prelude.<$> tags,+ Prelude.Just ("TaskArn" Data..= taskArn)+ ]+ )++instance Data.ToPath StartTaskExecution where+ toPath = Prelude.const "/"++instance Data.ToQuery StartTaskExecution where+ toQuery = Prelude.const Prelude.mempty++-- | StartTaskExecutionResponse+--+-- /See:/ 'newStartTaskExecutionResponse' smart constructor.+data StartTaskExecutionResponse = StartTaskExecutionResponse'+ { -- | The ARN of the running task execution.+ taskExecutionArn :: 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 'StartTaskExecutionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'taskExecutionArn', 'startTaskExecutionResponse_taskExecutionArn' - The ARN of the running task execution.+--+-- 'httpStatus', 'startTaskExecutionResponse_httpStatus' - The response's http status code.+newStartTaskExecutionResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ StartTaskExecutionResponse+newStartTaskExecutionResponse pHttpStatus_ =+ StartTaskExecutionResponse'+ { taskExecutionArn =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The ARN of the running task execution.+startTaskExecutionResponse_taskExecutionArn :: Lens.Lens' StartTaskExecutionResponse (Prelude.Maybe Prelude.Text)+startTaskExecutionResponse_taskExecutionArn = Lens.lens (\StartTaskExecutionResponse' {taskExecutionArn} -> taskExecutionArn) (\s@StartTaskExecutionResponse' {} a -> s {taskExecutionArn = a} :: StartTaskExecutionResponse)++-- | The response's http status code.+startTaskExecutionResponse_httpStatus :: Lens.Lens' StartTaskExecutionResponse Prelude.Int+startTaskExecutionResponse_httpStatus = Lens.lens (\StartTaskExecutionResponse' {httpStatus} -> httpStatus) (\s@StartTaskExecutionResponse' {} a -> s {httpStatus = a} :: StartTaskExecutionResponse)++instance Prelude.NFData StartTaskExecutionResponse where+ rnf StartTaskExecutionResponse' {..} =+ Prelude.rnf taskExecutionArn+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/DataSync/TagResource.hs view
@@ -0,0 +1,175 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DataSync.TagResource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Applies a /tag/ to an Amazon Web Services resource. Tags are key-value+-- pairs that can help you manage, filter, and search for your resources.+--+-- These include DataSync resources, such as locations, tasks, and task+-- executions.+module Amazonka.DataSync.TagResource+ ( -- * Creating a Request+ TagResource (..),+ newTagResource,++ -- * Request Lenses+ tagResource_resourceArn,+ tagResource_tags,++ -- * Destructuring the Response+ TagResourceResponse (..),+ newTagResourceResponse,++ -- * Response Lenses+ tagResourceResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DataSync.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | TagResourceRequest+--+-- /See:/ 'newTagResource' smart constructor.+data TagResource = TagResource'+ { -- | Specifies the Amazon Resource Name (ARN) of the resource to apply the+ -- tag to.+ resourceArn :: Prelude.Text,+ -- | Specifies the tags that you want to apply to the resource.+ tags :: [TagListEntry]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'tagResource_resourceArn' - Specifies the Amazon Resource Name (ARN) of the resource to apply the+-- tag to.+--+-- 'tags', 'tagResource_tags' - Specifies the tags that you want to apply to the resource.+newTagResource ::+ -- | 'resourceArn'+ Prelude.Text ->+ TagResource+newTagResource pResourceArn_ =+ TagResource'+ { resourceArn = pResourceArn_,+ tags = Prelude.mempty+ }++-- | Specifies the Amazon Resource Name (ARN) of the resource to apply the+-- tag to.+tagResource_resourceArn :: Lens.Lens' TagResource Prelude.Text+tagResource_resourceArn = Lens.lens (\TagResource' {resourceArn} -> resourceArn) (\s@TagResource' {} a -> s {resourceArn = a} :: TagResource)++-- | Specifies the tags that you want to apply to the resource.+tagResource_tags :: Lens.Lens' TagResource [TagListEntry]+tagResource_tags = Lens.lens (\TagResource' {tags} -> tags) (\s@TagResource' {} a -> s {tags = a} :: TagResource) Prelude.. Lens.coerced++instance Core.AWSRequest TagResource where+ type AWSResponse TagResource = TagResourceResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ TagResourceResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable TagResource where+ hashWithSalt _salt TagResource' {..} =+ _salt+ `Prelude.hashWithSalt` resourceArn+ `Prelude.hashWithSalt` tags++instance Prelude.NFData TagResource where+ rnf TagResource' {..} =+ Prelude.rnf resourceArn+ `Prelude.seq` Prelude.rnf tags++instance Data.ToHeaders TagResource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ("FmrsService.TagResource" :: Prelude.ByteString),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON TagResource where+ toJSON TagResource' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("ResourceArn" Data..= resourceArn),+ Prelude.Just ("Tags" Data..= tags)+ ]+ )++instance Data.ToPath TagResource where+ toPath = Prelude.const "/"++instance Data.ToQuery TagResource where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newTagResourceResponse' smart constructor.+data TagResourceResponse = TagResourceResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'tagResourceResponse_httpStatus' - The response's http status code.+newTagResourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ TagResourceResponse+newTagResourceResponse pHttpStatus_ =+ TagResourceResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+tagResourceResponse_httpStatus :: Lens.Lens' TagResourceResponse Prelude.Int+tagResourceResponse_httpStatus = Lens.lens (\TagResourceResponse' {httpStatus} -> httpStatus) (\s@TagResourceResponse' {} a -> s {httpStatus = a} :: TagResourceResponse)++instance Prelude.NFData TagResourceResponse where+ rnf TagResourceResponse' {..} = Prelude.rnf httpStatus
+ gen/Amazonka/DataSync/Types.hs view
@@ -0,0 +1,413 @@+{-# 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.DataSync.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.DataSync.Types+ ( -- * Service Configuration+ defaultService,++ -- * Errors+ _InternalException,+ _InvalidRequestException,++ -- * AgentStatus+ AgentStatus (..),++ -- * Atime+ Atime (..),++ -- * EfsInTransitEncryption+ EfsInTransitEncryption (..),++ -- * EndpointType+ EndpointType (..),++ -- * FilterType+ FilterType (..),++ -- * Gid+ Gid (..),++ -- * HdfsAuthenticationType+ HdfsAuthenticationType (..),++ -- * HdfsDataTransferProtection+ HdfsDataTransferProtection (..),++ -- * HdfsRpcProtection+ HdfsRpcProtection (..),++ -- * LocationFilterName+ LocationFilterName (..),++ -- * LogLevel+ LogLevel (..),++ -- * Mtime+ Mtime (..),++ -- * NfsVersion+ NfsVersion (..),++ -- * ObjectStorageServerProtocol+ ObjectStorageServerProtocol (..),++ -- * ObjectTags+ ObjectTags (..),++ -- * Operator+ Operator (..),++ -- * OverwriteMode+ OverwriteMode (..),++ -- * PhaseStatus+ PhaseStatus (..),++ -- * PosixPermissions+ PosixPermissions (..),++ -- * PreserveDeletedFiles+ PreserveDeletedFiles (..),++ -- * PreserveDevices+ PreserveDevices (..),++ -- * S3StorageClass+ S3StorageClass (..),++ -- * SmbSecurityDescriptorCopyFlags+ SmbSecurityDescriptorCopyFlags (..),++ -- * SmbVersion+ SmbVersion (..),++ -- * TaskExecutionStatus+ TaskExecutionStatus (..),++ -- * TaskFilterName+ TaskFilterName (..),++ -- * TaskQueueing+ TaskQueueing (..),++ -- * TaskStatus+ TaskStatus (..),++ -- * TransferMode+ TransferMode (..),++ -- * Uid+ Uid (..),++ -- * VerifyMode+ VerifyMode (..),++ -- * AgentListEntry+ AgentListEntry (..),+ newAgentListEntry,+ agentListEntry_agentArn,+ agentListEntry_name,+ agentListEntry_status,++ -- * Ec2Config+ Ec2Config (..),+ newEc2Config,+ ec2Config_subnetArn,+ ec2Config_securityGroupArns,++ -- * FilterRule+ FilterRule (..),+ newFilterRule,+ filterRule_filterType,+ filterRule_value,++ -- * FsxProtocol+ FsxProtocol (..),+ newFsxProtocol,+ fsxProtocol_nfs,+ fsxProtocol_smb,++ -- * FsxProtocolNfs+ FsxProtocolNfs (..),+ newFsxProtocolNfs,+ fsxProtocolNfs_mountOptions,++ -- * FsxProtocolSmb+ FsxProtocolSmb (..),+ newFsxProtocolSmb,+ fsxProtocolSmb_domain,+ fsxProtocolSmb_mountOptions,+ fsxProtocolSmb_password,+ fsxProtocolSmb_user,++ -- * HdfsNameNode+ HdfsNameNode (..),+ newHdfsNameNode,+ hdfsNameNode_hostname,+ hdfsNameNode_port,++ -- * LocationFilter+ LocationFilter (..),+ newLocationFilter,+ locationFilter_name,+ locationFilter_values,+ locationFilter_operator,++ -- * LocationListEntry+ LocationListEntry (..),+ newLocationListEntry,+ locationListEntry_locationArn,+ locationListEntry_locationUri,++ -- * NfsMountOptions+ NfsMountOptions (..),+ newNfsMountOptions,+ nfsMountOptions_version,++ -- * OnPremConfig+ OnPremConfig (..),+ newOnPremConfig,+ onPremConfig_agentArns,++ -- * Options+ Options (..),+ newOptions,+ options_atime,+ options_bytesPerSecond,+ options_gid,+ options_logLevel,+ options_mtime,+ options_objectTags,+ options_overwriteMode,+ options_posixPermissions,+ options_preserveDeletedFiles,+ options_preserveDevices,+ options_securityDescriptorCopyFlags,+ options_taskQueueing,+ options_transferMode,+ options_uid,+ options_verifyMode,++ -- * PrivateLinkConfig+ PrivateLinkConfig (..),+ newPrivateLinkConfig,+ privateLinkConfig_privateLinkEndpoint,+ privateLinkConfig_securityGroupArns,+ privateLinkConfig_subnetArns,+ privateLinkConfig_vpcEndpointId,++ -- * QopConfiguration+ QopConfiguration (..),+ newQopConfiguration,+ qopConfiguration_dataTransferProtection,+ qopConfiguration_rpcProtection,++ -- * S3Config+ S3Config (..),+ newS3Config,+ s3Config_bucketAccessRoleArn,++ -- * SmbMountOptions+ SmbMountOptions (..),+ newSmbMountOptions,+ smbMountOptions_version,++ -- * TagListEntry+ TagListEntry (..),+ newTagListEntry,+ tagListEntry_value,+ tagListEntry_key,++ -- * TaskExecutionListEntry+ TaskExecutionListEntry (..),+ newTaskExecutionListEntry,+ taskExecutionListEntry_status,+ taskExecutionListEntry_taskExecutionArn,++ -- * TaskExecutionResultDetail+ TaskExecutionResultDetail (..),+ newTaskExecutionResultDetail,+ taskExecutionResultDetail_errorCode,+ taskExecutionResultDetail_errorDetail,+ taskExecutionResultDetail_prepareDuration,+ taskExecutionResultDetail_prepareStatus,+ taskExecutionResultDetail_totalDuration,+ taskExecutionResultDetail_transferDuration,+ taskExecutionResultDetail_transferStatus,+ taskExecutionResultDetail_verifyDuration,+ taskExecutionResultDetail_verifyStatus,++ -- * TaskFilter+ TaskFilter (..),+ newTaskFilter,+ taskFilter_name,+ taskFilter_values,+ taskFilter_operator,++ -- * TaskListEntry+ TaskListEntry (..),+ newTaskListEntry,+ taskListEntry_name,+ taskListEntry_status,+ taskListEntry_taskArn,++ -- * TaskSchedule+ TaskSchedule (..),+ newTaskSchedule,+ taskSchedule_scheduleExpression,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import Amazonka.DataSync.Types.AgentListEntry+import Amazonka.DataSync.Types.AgentStatus+import Amazonka.DataSync.Types.Atime+import Amazonka.DataSync.Types.Ec2Config+import Amazonka.DataSync.Types.EfsInTransitEncryption+import Amazonka.DataSync.Types.EndpointType+import Amazonka.DataSync.Types.FilterRule+import Amazonka.DataSync.Types.FilterType+import Amazonka.DataSync.Types.FsxProtocol+import Amazonka.DataSync.Types.FsxProtocolNfs+import Amazonka.DataSync.Types.FsxProtocolSmb+import Amazonka.DataSync.Types.Gid+import Amazonka.DataSync.Types.HdfsAuthenticationType+import Amazonka.DataSync.Types.HdfsDataTransferProtection+import Amazonka.DataSync.Types.HdfsNameNode+import Amazonka.DataSync.Types.HdfsRpcProtection+import Amazonka.DataSync.Types.LocationFilter+import Amazonka.DataSync.Types.LocationFilterName+import Amazonka.DataSync.Types.LocationListEntry+import Amazonka.DataSync.Types.LogLevel+import Amazonka.DataSync.Types.Mtime+import Amazonka.DataSync.Types.NfsMountOptions+import Amazonka.DataSync.Types.NfsVersion+import Amazonka.DataSync.Types.ObjectStorageServerProtocol+import Amazonka.DataSync.Types.ObjectTags+import Amazonka.DataSync.Types.OnPremConfig+import Amazonka.DataSync.Types.Operator+import Amazonka.DataSync.Types.Options+import Amazonka.DataSync.Types.OverwriteMode+import Amazonka.DataSync.Types.PhaseStatus+import Amazonka.DataSync.Types.PosixPermissions+import Amazonka.DataSync.Types.PreserveDeletedFiles+import Amazonka.DataSync.Types.PreserveDevices+import Amazonka.DataSync.Types.PrivateLinkConfig+import Amazonka.DataSync.Types.QopConfiguration+import Amazonka.DataSync.Types.S3Config+import Amazonka.DataSync.Types.S3StorageClass+import Amazonka.DataSync.Types.SmbMountOptions+import Amazonka.DataSync.Types.SmbSecurityDescriptorCopyFlags+import Amazonka.DataSync.Types.SmbVersion+import Amazonka.DataSync.Types.TagListEntry+import Amazonka.DataSync.Types.TaskExecutionListEntry+import Amazonka.DataSync.Types.TaskExecutionResultDetail+import Amazonka.DataSync.Types.TaskExecutionStatus+import Amazonka.DataSync.Types.TaskFilter+import Amazonka.DataSync.Types.TaskFilterName+import Amazonka.DataSync.Types.TaskListEntry+import Amazonka.DataSync.Types.TaskQueueing+import Amazonka.DataSync.Types.TaskSchedule+import Amazonka.DataSync.Types.TaskStatus+import Amazonka.DataSync.Types.TransferMode+import Amazonka.DataSync.Types.Uid+import Amazonka.DataSync.Types.VerifyMode+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Sign.V4 as Sign++-- | API version @2018-11-09@ of the Amazon DataSync SDK configuration.+defaultService :: Core.Service+defaultService =+ Core.Service+ { Core.abbrev = "DataSync",+ Core.signer = Sign.v4,+ Core.endpointPrefix = "datasync",+ Core.signingName = "datasync",+ Core.version = "2018-11-09",+ Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+ Core.endpoint = Core.defaultEndpoint defaultService,+ Core.timeout = Prelude.Just 70,+ Core.check = Core.statusSuccess,+ Core.error = Core.parseJSONError "DataSync",+ 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++-- | This exception is thrown when an error occurs in the DataSync service.+_InternalException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InternalException =+ Core._MatchServiceError+ defaultService+ "InternalException"++-- | This exception is thrown when the client submits a malformed request.+_InvalidRequestException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InvalidRequestException =+ Core._MatchServiceError+ defaultService+ "InvalidRequestException"
+ gen/Amazonka/DataSync/Types/AgentListEntry.hs view
@@ -0,0 +1,100 @@+{-# 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.DataSync.Types.AgentListEntry+-- 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.DataSync.Types.AgentListEntry where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DataSync.Types.AgentStatus+import qualified Amazonka.Prelude as Prelude++-- | Represents a single entry in a list of agents. @AgentListEntry@ returns+-- an array that contains a list of agents when the+-- <https://docs.aws.amazon.com/datasync/latest/userguide/API_ListAgents.html ListAgents>+-- operation is called.+--+-- /See:/ 'newAgentListEntry' smart constructor.+data AgentListEntry = AgentListEntry'+ { -- | The Amazon Resource Name (ARN) of the agent.+ agentArn :: Prelude.Maybe Prelude.Text,+ -- | The name of the agent.+ name :: Prelude.Maybe Prelude.Text,+ -- | The status of the agent.+ status :: Prelude.Maybe AgentStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AgentListEntry' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'agentArn', 'agentListEntry_agentArn' - The Amazon Resource Name (ARN) of the agent.+--+-- 'name', 'agentListEntry_name' - The name of the agent.+--+-- 'status', 'agentListEntry_status' - The status of the agent.+newAgentListEntry ::+ AgentListEntry+newAgentListEntry =+ AgentListEntry'+ { agentArn = Prelude.Nothing,+ name = Prelude.Nothing,+ status = Prelude.Nothing+ }++-- | The Amazon Resource Name (ARN) of the agent.+agentListEntry_agentArn :: Lens.Lens' AgentListEntry (Prelude.Maybe Prelude.Text)+agentListEntry_agentArn = Lens.lens (\AgentListEntry' {agentArn} -> agentArn) (\s@AgentListEntry' {} a -> s {agentArn = a} :: AgentListEntry)++-- | The name of the agent.+agentListEntry_name :: Lens.Lens' AgentListEntry (Prelude.Maybe Prelude.Text)+agentListEntry_name = Lens.lens (\AgentListEntry' {name} -> name) (\s@AgentListEntry' {} a -> s {name = a} :: AgentListEntry)++-- | The status of the agent.+agentListEntry_status :: Lens.Lens' AgentListEntry (Prelude.Maybe AgentStatus)+agentListEntry_status = Lens.lens (\AgentListEntry' {status} -> status) (\s@AgentListEntry' {} a -> s {status = a} :: AgentListEntry)++instance Data.FromJSON AgentListEntry where+ parseJSON =+ Data.withObject+ "AgentListEntry"+ ( \x ->+ AgentListEntry'+ Prelude.<$> (x Data..:? "AgentArn")+ Prelude.<*> (x Data..:? "Name")+ Prelude.<*> (x Data..:? "Status")+ )++instance Prelude.Hashable AgentListEntry where+ hashWithSalt _salt AgentListEntry' {..} =+ _salt+ `Prelude.hashWithSalt` agentArn+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` status++instance Prelude.NFData AgentListEntry where+ rnf AgentListEntry' {..} =+ Prelude.rnf agentArn+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/DataSync/Types/AgentStatus.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.DataSync.Types.AgentStatus+-- 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.DataSync.Types.AgentStatus+ ( AgentStatus+ ( ..,+ AgentStatus_OFFLINE,+ AgentStatus_ONLINE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AgentStatus = AgentStatus'+ { fromAgentStatus ::+ 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 AgentStatus_OFFLINE :: AgentStatus+pattern AgentStatus_OFFLINE = AgentStatus' "OFFLINE"++pattern AgentStatus_ONLINE :: AgentStatus+pattern AgentStatus_ONLINE = AgentStatus' "ONLINE"++{-# COMPLETE+ AgentStatus_OFFLINE,+ AgentStatus_ONLINE,+ AgentStatus'+ #-}
+ gen/Amazonka/DataSync/Types/Atime.hs view
@@ -0,0 +1,68 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DataSync.Types.Atime+-- 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.DataSync.Types.Atime+ ( Atime+ ( ..,+ Atime_BEST_EFFORT,+ Atime_NONE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype Atime = Atime' {fromAtime :: 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 Atime_BEST_EFFORT :: Atime+pattern Atime_BEST_EFFORT = Atime' "BEST_EFFORT"++pattern Atime_NONE :: Atime+pattern Atime_NONE = Atime' "NONE"++{-# COMPLETE+ Atime_BEST_EFFORT,+ Atime_NONE,+ Atime'+ #-}
+ gen/Amazonka/DataSync/Types/Ec2Config.hs view
@@ -0,0 +1,142 @@+{-# 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.DataSync.Types.Ec2Config+-- 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.DataSync.Types.Ec2Config 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 subnet and security groups that DataSync uses to access your Amazon+-- EFS file system.+--+-- /See:/ 'newEc2Config' smart constructor.+data Ec2Config = Ec2Config'+ { -- | Specifies the ARN of a subnet where DataSync creates the+ -- <https://docs.aws.amazon.com/datasync/latest/userguide/datasync-network.html#required-network-interfaces network interfaces>+ -- for managing traffic during your transfer.+ --+ -- The subnet must be located:+ --+ -- - In the same virtual private cloud (VPC) as the Amazon EFS file+ -- system.+ --+ -- - In the same Availability Zone as at least one mount target for the+ -- Amazon EFS file system.+ --+ -- You don\'t need to specify a subnet that includes a file system mount+ -- target.+ subnetArn :: Prelude.Text,+ -- | Specifies the Amazon Resource Names (ARNs) of the security groups+ -- associated with an Amazon EFS file system\'s mount target.+ securityGroupArns :: Prelude.NonEmpty Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Ec2Config' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'subnetArn', 'ec2Config_subnetArn' - Specifies the ARN of a subnet where DataSync creates the+-- <https://docs.aws.amazon.com/datasync/latest/userguide/datasync-network.html#required-network-interfaces network interfaces>+-- for managing traffic during your transfer.+--+-- The subnet must be located:+--+-- - In the same virtual private cloud (VPC) as the Amazon EFS file+-- system.+--+-- - In the same Availability Zone as at least one mount target for the+-- Amazon EFS file system.+--+-- You don\'t need to specify a subnet that includes a file system mount+-- target.+--+-- 'securityGroupArns', 'ec2Config_securityGroupArns' - Specifies the Amazon Resource Names (ARNs) of the security groups+-- associated with an Amazon EFS file system\'s mount target.+newEc2Config ::+ -- | 'subnetArn'+ Prelude.Text ->+ -- | 'securityGroupArns'+ Prelude.NonEmpty Prelude.Text ->+ Ec2Config+newEc2Config pSubnetArn_ pSecurityGroupArns_ =+ Ec2Config'+ { subnetArn = pSubnetArn_,+ securityGroupArns =+ Lens.coerced Lens.# pSecurityGroupArns_+ }++-- | Specifies the ARN of a subnet where DataSync creates the+-- <https://docs.aws.amazon.com/datasync/latest/userguide/datasync-network.html#required-network-interfaces network interfaces>+-- for managing traffic during your transfer.+--+-- The subnet must be located:+--+-- - In the same virtual private cloud (VPC) as the Amazon EFS file+-- system.+--+-- - In the same Availability Zone as at least one mount target for the+-- Amazon EFS file system.+--+-- You don\'t need to specify a subnet that includes a file system mount+-- target.+ec2Config_subnetArn :: Lens.Lens' Ec2Config Prelude.Text+ec2Config_subnetArn = Lens.lens (\Ec2Config' {subnetArn} -> subnetArn) (\s@Ec2Config' {} a -> s {subnetArn = a} :: Ec2Config)++-- | Specifies the Amazon Resource Names (ARNs) of the security groups+-- associated with an Amazon EFS file system\'s mount target.+ec2Config_securityGroupArns :: Lens.Lens' Ec2Config (Prelude.NonEmpty Prelude.Text)+ec2Config_securityGroupArns = Lens.lens (\Ec2Config' {securityGroupArns} -> securityGroupArns) (\s@Ec2Config' {} a -> s {securityGroupArns = a} :: Ec2Config) Prelude.. Lens.coerced++instance Data.FromJSON Ec2Config where+ parseJSON =+ Data.withObject+ "Ec2Config"+ ( \x ->+ Ec2Config'+ Prelude.<$> (x Data..: "SubnetArn")+ Prelude.<*> (x Data..: "SecurityGroupArns")+ )++instance Prelude.Hashable Ec2Config where+ hashWithSalt _salt Ec2Config' {..} =+ _salt+ `Prelude.hashWithSalt` subnetArn+ `Prelude.hashWithSalt` securityGroupArns++instance Prelude.NFData Ec2Config where+ rnf Ec2Config' {..} =+ Prelude.rnf subnetArn+ `Prelude.seq` Prelude.rnf securityGroupArns++instance Data.ToJSON Ec2Config where+ toJSON Ec2Config' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("SubnetArn" Data..= subnetArn),+ Prelude.Just+ ("SecurityGroupArns" Data..= securityGroupArns)+ ]+ )
+ gen/Amazonka/DataSync/Types/EfsInTransitEncryption.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.DataSync.Types.EfsInTransitEncryption+-- 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.DataSync.Types.EfsInTransitEncryption+ ( EfsInTransitEncryption+ ( ..,+ EfsInTransitEncryption_NONE,+ EfsInTransitEncryption_TLS1_2+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype EfsInTransitEncryption = EfsInTransitEncryption'+ { fromEfsInTransitEncryption ::+ 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 EfsInTransitEncryption_NONE :: EfsInTransitEncryption+pattern EfsInTransitEncryption_NONE = EfsInTransitEncryption' "NONE"++pattern EfsInTransitEncryption_TLS1_2 :: EfsInTransitEncryption+pattern EfsInTransitEncryption_TLS1_2 = EfsInTransitEncryption' "TLS1_2"++{-# COMPLETE+ EfsInTransitEncryption_NONE,+ EfsInTransitEncryption_TLS1_2,+ EfsInTransitEncryption'+ #-}
+ gen/Amazonka/DataSync/Types/EndpointType.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.DataSync.Types.EndpointType+-- 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.DataSync.Types.EndpointType+ ( EndpointType+ ( ..,+ EndpointType_FIPS,+ EndpointType_PRIVATE_LINK,+ EndpointType_PUBLIC+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype EndpointType = EndpointType'+ { fromEndpointType ::+ 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 EndpointType_FIPS :: EndpointType+pattern EndpointType_FIPS = EndpointType' "FIPS"++pattern EndpointType_PRIVATE_LINK :: EndpointType+pattern EndpointType_PRIVATE_LINK = EndpointType' "PRIVATE_LINK"++pattern EndpointType_PUBLIC :: EndpointType+pattern EndpointType_PUBLIC = EndpointType' "PUBLIC"++{-# COMPLETE+ EndpointType_FIPS,+ EndpointType_PRIVATE_LINK,+ EndpointType_PUBLIC,+ EndpointType'+ #-}
+ gen/Amazonka/DataSync/Types/FilterRule.hs view
@@ -0,0 +1,104 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DataSync.Types.FilterRule+-- 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.DataSync.Types.FilterRule where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DataSync.Types.FilterType+import qualified Amazonka.Prelude as Prelude++-- | Specifies which files, folders, and objects to include or exclude when+-- transferring files from source to destination.+--+-- /See:/ 'newFilterRule' smart constructor.+data FilterRule = FilterRule'+ { -- | The type of filter rule to apply. DataSync only supports the+ -- SIMPLE_PATTERN rule type.+ filterType :: Prelude.Maybe FilterType,+ -- | A single filter string that consists of the patterns to include or+ -- exclude. The patterns are delimited by \"|\" (that is, a pipe), for+ -- example: @\/folder1|\/folder2@+ value :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FilterRule' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'filterType', 'filterRule_filterType' - The type of filter rule to apply. DataSync only supports the+-- SIMPLE_PATTERN rule type.+--+-- 'value', 'filterRule_value' - A single filter string that consists of the patterns to include or+-- exclude. The patterns are delimited by \"|\" (that is, a pipe), for+-- example: @\/folder1|\/folder2@+newFilterRule ::+ FilterRule+newFilterRule =+ FilterRule'+ { filterType = Prelude.Nothing,+ value = Prelude.Nothing+ }++-- | The type of filter rule to apply. DataSync only supports the+-- SIMPLE_PATTERN rule type.+filterRule_filterType :: Lens.Lens' FilterRule (Prelude.Maybe FilterType)+filterRule_filterType = Lens.lens (\FilterRule' {filterType} -> filterType) (\s@FilterRule' {} a -> s {filterType = a} :: FilterRule)++-- | A single filter string that consists of the patterns to include or+-- exclude. The patterns are delimited by \"|\" (that is, a pipe), for+-- example: @\/folder1|\/folder2@+filterRule_value :: Lens.Lens' FilterRule (Prelude.Maybe Prelude.Text)+filterRule_value = Lens.lens (\FilterRule' {value} -> value) (\s@FilterRule' {} a -> s {value = a} :: FilterRule)++instance Data.FromJSON FilterRule where+ parseJSON =+ Data.withObject+ "FilterRule"+ ( \x ->+ FilterRule'+ Prelude.<$> (x Data..:? "FilterType")+ Prelude.<*> (x Data..:? "Value")+ )++instance Prelude.Hashable FilterRule where+ hashWithSalt _salt FilterRule' {..} =+ _salt+ `Prelude.hashWithSalt` filterType+ `Prelude.hashWithSalt` value++instance Prelude.NFData FilterRule where+ rnf FilterRule' {..} =+ Prelude.rnf filterType+ `Prelude.seq` Prelude.rnf value++instance Data.ToJSON FilterRule where+ toJSON FilterRule' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("FilterType" Data..=) Prelude.<$> filterType,+ ("Value" Data..=) Prelude.<$> value+ ]+ )
+ gen/Amazonka/DataSync/Types/FilterType.hs view
@@ -0,0 +1,66 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DataSync.Types.FilterType+-- 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.DataSync.Types.FilterType+ ( FilterType+ ( ..,+ FilterType_SIMPLE_PATTERN+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype FilterType = FilterType'+ { fromFilterType ::+ 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 FilterType_SIMPLE_PATTERN :: FilterType+pattern FilterType_SIMPLE_PATTERN = FilterType' "SIMPLE_PATTERN"++{-# COMPLETE+ FilterType_SIMPLE_PATTERN,+ FilterType'+ #-}
+ gen/Amazonka/DataSync/Types/FsxProtocol.hs view
@@ -0,0 +1,104 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DataSync.Types.FsxProtocol+-- 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.DataSync.Types.FsxProtocol where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DataSync.Types.FsxProtocolNfs+import Amazonka.DataSync.Types.FsxProtocolSmb+import qualified Amazonka.Prelude as Prelude++-- | Specifies the data transfer protocol that DataSync uses to access your+-- Amazon FSx file system.+--+-- /See:/ 'newFsxProtocol' smart constructor.+data FsxProtocol = FsxProtocol'+ { -- | Specifies the Network File System (NFS) protocol configuration that+ -- DataSync uses to access your FSx for OpenZFS file system or FSx for+ -- ONTAP file system\'s storage virtual machine (SVM).+ nfs :: Prelude.Maybe FsxProtocolNfs,+ -- | Specifies the Server Message Block (SMB) protocol configuration that+ -- DataSync uses to access your FSx for ONTAP file system\'s SVM.+ smb :: Prelude.Maybe FsxProtocolSmb+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FsxProtocol' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nfs', 'fsxProtocol_nfs' - Specifies the Network File System (NFS) protocol configuration that+-- DataSync uses to access your FSx for OpenZFS file system or FSx for+-- ONTAP file system\'s storage virtual machine (SVM).+--+-- 'smb', 'fsxProtocol_smb' - Specifies the Server Message Block (SMB) protocol configuration that+-- DataSync uses to access your FSx for ONTAP file system\'s SVM.+newFsxProtocol ::+ FsxProtocol+newFsxProtocol =+ FsxProtocol'+ { nfs = Prelude.Nothing,+ smb = Prelude.Nothing+ }++-- | Specifies the Network File System (NFS) protocol configuration that+-- DataSync uses to access your FSx for OpenZFS file system or FSx for+-- ONTAP file system\'s storage virtual machine (SVM).+fsxProtocol_nfs :: Lens.Lens' FsxProtocol (Prelude.Maybe FsxProtocolNfs)+fsxProtocol_nfs = Lens.lens (\FsxProtocol' {nfs} -> nfs) (\s@FsxProtocol' {} a -> s {nfs = a} :: FsxProtocol)++-- | Specifies the Server Message Block (SMB) protocol configuration that+-- DataSync uses to access your FSx for ONTAP file system\'s SVM.+fsxProtocol_smb :: Lens.Lens' FsxProtocol (Prelude.Maybe FsxProtocolSmb)+fsxProtocol_smb = Lens.lens (\FsxProtocol' {smb} -> smb) (\s@FsxProtocol' {} a -> s {smb = a} :: FsxProtocol)++instance Data.FromJSON FsxProtocol where+ parseJSON =+ Data.withObject+ "FsxProtocol"+ ( \x ->+ FsxProtocol'+ Prelude.<$> (x Data..:? "NFS")+ Prelude.<*> (x Data..:? "SMB")+ )++instance Prelude.Hashable FsxProtocol where+ hashWithSalt _salt FsxProtocol' {..} =+ _salt+ `Prelude.hashWithSalt` nfs+ `Prelude.hashWithSalt` smb++instance Prelude.NFData FsxProtocol where+ rnf FsxProtocol' {..} =+ Prelude.rnf nfs `Prelude.seq` Prelude.rnf smb++instance Data.ToJSON FsxProtocol where+ toJSON FsxProtocol' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("NFS" Data..=) Prelude.<$> nfs,+ ("SMB" Data..=) Prelude.<$> smb+ ]+ )
+ gen/Amazonka/DataSync/Types/FsxProtocolNfs.hs view
@@ -0,0 +1,77 @@+{-# 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.DataSync.Types.FsxProtocolNfs+-- 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.DataSync.Types.FsxProtocolNfs where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DataSync.Types.NfsMountOptions+import qualified Amazonka.Prelude as Prelude++-- | Specifies the Network File System (NFS) protocol configuration that+-- DataSync uses to access your Amazon FSx for OpenZFS or Amazon FSx for+-- NetApp ONTAP file system.+--+-- /See:/ 'newFsxProtocolNfs' smart constructor.+data FsxProtocolNfs = FsxProtocolNfs'+ { mountOptions :: Prelude.Maybe NfsMountOptions+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FsxProtocolNfs' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'mountOptions', 'fsxProtocolNfs_mountOptions' - Undocumented member.+newFsxProtocolNfs ::+ FsxProtocolNfs+newFsxProtocolNfs =+ FsxProtocolNfs' {mountOptions = Prelude.Nothing}++-- | Undocumented member.+fsxProtocolNfs_mountOptions :: Lens.Lens' FsxProtocolNfs (Prelude.Maybe NfsMountOptions)+fsxProtocolNfs_mountOptions = Lens.lens (\FsxProtocolNfs' {mountOptions} -> mountOptions) (\s@FsxProtocolNfs' {} a -> s {mountOptions = a} :: FsxProtocolNfs)++instance Data.FromJSON FsxProtocolNfs where+ parseJSON =+ Data.withObject+ "FsxProtocolNfs"+ ( \x ->+ FsxProtocolNfs'+ Prelude.<$> (x Data..:? "MountOptions")+ )++instance Prelude.Hashable FsxProtocolNfs where+ hashWithSalt _salt FsxProtocolNfs' {..} =+ _salt `Prelude.hashWithSalt` mountOptions++instance Prelude.NFData FsxProtocolNfs where+ rnf FsxProtocolNfs' {..} = Prelude.rnf mountOptions++instance Data.ToJSON FsxProtocolNfs where+ toJSON FsxProtocolNfs' {..} =+ Data.object+ ( Prelude.catMaybes+ [("MountOptions" Data..=) Prelude.<$> mountOptions]+ )
+ gen/Amazonka/DataSync/Types/FsxProtocolSmb.hs view
@@ -0,0 +1,210 @@+{-# 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.DataSync.Types.FsxProtocolSmb+-- 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.DataSync.Types.FsxProtocolSmb where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DataSync.Types.SmbMountOptions+import qualified Amazonka.Prelude as Prelude++-- | Specifies the Server Message Block (SMB) protocol configuration that+-- DataSync uses to access your Amazon FSx for NetApp ONTAP file system.+-- For more information, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/create-ontap-location.html#create-ontap-location-access Accessing FSx for ONTAP file systems>.+--+-- /See:/ 'newFsxProtocolSmb' smart constructor.+data FsxProtocolSmb = FsxProtocolSmb'+ { -- | Specifies the fully qualified domain name (FQDN) of the Microsoft Active+ -- Directory that your storage virtual machine (SVM) belongs to.+ domain :: Prelude.Maybe Prelude.Text,+ mountOptions :: Prelude.Maybe SmbMountOptions,+ -- | Specifies the password of a user who has permission to access your SVM.+ password :: Data.Sensitive Prelude.Text,+ -- | Specifies a user name that can mount the location and access the files,+ -- folders, and metadata that you need in the SVM.+ --+ -- If you provide a user in your Active Directory, note the following:+ --+ -- - If you\'re using Directory Service for Microsoft Active Directory,+ -- the user must be a member of the Amazon Web Services Delegated FSx+ -- Administrators group.+ --+ -- - If you\'re using a self-managed Active Directory, the user must be a+ -- member of either the Domain Admins group or a custom group that you+ -- specified for file system administration when you created your file+ -- system.+ --+ -- Make sure that the user has the permissions it needs to copy the data+ -- you want:+ --+ -- - @SE_TCB_NAME@: Required to set object ownership and file metadata.+ -- With this privilege, you also can copy NTFS discretionary access+ -- lists (DACLs).+ --+ -- - @SE_SECURITY_NAME@: May be needed to copy NTFS system access control+ -- lists (SACLs). This operation specifically requires the Windows+ -- privilege, which is granted to members of the Domain Admins group.+ -- If you configure your task to copy SACLs, make sure that the user+ -- has the required privileges. For information about copying SACLs,+ -- see+ -- <https://docs.aws.amazon.com/datasync/latest/userguide/create-task.html#configure-ownership-and-permissions Ownership and permissions-related options>.+ user :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FsxProtocolSmb' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'domain', 'fsxProtocolSmb_domain' - Specifies the fully qualified domain name (FQDN) of the Microsoft Active+-- Directory that your storage virtual machine (SVM) belongs to.+--+-- 'mountOptions', 'fsxProtocolSmb_mountOptions' - Undocumented member.+--+-- 'password', 'fsxProtocolSmb_password' - Specifies the password of a user who has permission to access your SVM.+--+-- 'user', 'fsxProtocolSmb_user' - Specifies a user name that can mount the location and access the files,+-- folders, and metadata that you need in the SVM.+--+-- If you provide a user in your Active Directory, note the following:+--+-- - If you\'re using Directory Service for Microsoft Active Directory,+-- the user must be a member of the Amazon Web Services Delegated FSx+-- Administrators group.+--+-- - If you\'re using a self-managed Active Directory, the user must be a+-- member of either the Domain Admins group or a custom group that you+-- specified for file system administration when you created your file+-- system.+--+-- Make sure that the user has the permissions it needs to copy the data+-- you want:+--+-- - @SE_TCB_NAME@: Required to set object ownership and file metadata.+-- With this privilege, you also can copy NTFS discretionary access+-- lists (DACLs).+--+-- - @SE_SECURITY_NAME@: May be needed to copy NTFS system access control+-- lists (SACLs). This operation specifically requires the Windows+-- privilege, which is granted to members of the Domain Admins group.+-- If you configure your task to copy SACLs, make sure that the user+-- has the required privileges. For information about copying SACLs,+-- see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/create-task.html#configure-ownership-and-permissions Ownership and permissions-related options>.+newFsxProtocolSmb ::+ -- | 'password'+ Prelude.Text ->+ -- | 'user'+ Prelude.Text ->+ FsxProtocolSmb+newFsxProtocolSmb pPassword_ pUser_ =+ FsxProtocolSmb'+ { domain = Prelude.Nothing,+ mountOptions = Prelude.Nothing,+ password = Data._Sensitive Lens.# pPassword_,+ user = pUser_+ }++-- | Specifies the fully qualified domain name (FQDN) of the Microsoft Active+-- Directory that your storage virtual machine (SVM) belongs to.+fsxProtocolSmb_domain :: Lens.Lens' FsxProtocolSmb (Prelude.Maybe Prelude.Text)+fsxProtocolSmb_domain = Lens.lens (\FsxProtocolSmb' {domain} -> domain) (\s@FsxProtocolSmb' {} a -> s {domain = a} :: FsxProtocolSmb)++-- | Undocumented member.+fsxProtocolSmb_mountOptions :: Lens.Lens' FsxProtocolSmb (Prelude.Maybe SmbMountOptions)+fsxProtocolSmb_mountOptions = Lens.lens (\FsxProtocolSmb' {mountOptions} -> mountOptions) (\s@FsxProtocolSmb' {} a -> s {mountOptions = a} :: FsxProtocolSmb)++-- | Specifies the password of a user who has permission to access your SVM.+fsxProtocolSmb_password :: Lens.Lens' FsxProtocolSmb Prelude.Text+fsxProtocolSmb_password = Lens.lens (\FsxProtocolSmb' {password} -> password) (\s@FsxProtocolSmb' {} a -> s {password = a} :: FsxProtocolSmb) Prelude.. Data._Sensitive++-- | Specifies a user name that can mount the location and access the files,+-- folders, and metadata that you need in the SVM.+--+-- If you provide a user in your Active Directory, note the following:+--+-- - If you\'re using Directory Service for Microsoft Active Directory,+-- the user must be a member of the Amazon Web Services Delegated FSx+-- Administrators group.+--+-- - If you\'re using a self-managed Active Directory, the user must be a+-- member of either the Domain Admins group or a custom group that you+-- specified for file system administration when you created your file+-- system.+--+-- Make sure that the user has the permissions it needs to copy the data+-- you want:+--+-- - @SE_TCB_NAME@: Required to set object ownership and file metadata.+-- With this privilege, you also can copy NTFS discretionary access+-- lists (DACLs).+--+-- - @SE_SECURITY_NAME@: May be needed to copy NTFS system access control+-- lists (SACLs). This operation specifically requires the Windows+-- privilege, which is granted to members of the Domain Admins group.+-- If you configure your task to copy SACLs, make sure that the user+-- has the required privileges. For information about copying SACLs,+-- see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/create-task.html#configure-ownership-and-permissions Ownership and permissions-related options>.+fsxProtocolSmb_user :: Lens.Lens' FsxProtocolSmb Prelude.Text+fsxProtocolSmb_user = Lens.lens (\FsxProtocolSmb' {user} -> user) (\s@FsxProtocolSmb' {} a -> s {user = a} :: FsxProtocolSmb)++instance Data.FromJSON FsxProtocolSmb where+ parseJSON =+ Data.withObject+ "FsxProtocolSmb"+ ( \x ->+ FsxProtocolSmb'+ Prelude.<$> (x Data..:? "Domain")+ Prelude.<*> (x Data..:? "MountOptions")+ Prelude.<*> (x Data..: "Password")+ Prelude.<*> (x Data..: "User")+ )++instance Prelude.Hashable FsxProtocolSmb where+ hashWithSalt _salt FsxProtocolSmb' {..} =+ _salt+ `Prelude.hashWithSalt` domain+ `Prelude.hashWithSalt` mountOptions+ `Prelude.hashWithSalt` password+ `Prelude.hashWithSalt` user++instance Prelude.NFData FsxProtocolSmb where+ rnf FsxProtocolSmb' {..} =+ Prelude.rnf domain+ `Prelude.seq` Prelude.rnf mountOptions+ `Prelude.seq` Prelude.rnf password+ `Prelude.seq` Prelude.rnf user++instance Data.ToJSON FsxProtocolSmb where+ toJSON FsxProtocolSmb' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Domain" Data..=) Prelude.<$> domain,+ ("MountOptions" Data..=) Prelude.<$> mountOptions,+ Prelude.Just ("Password" Data..= password),+ Prelude.Just ("User" Data..= user)+ ]+ )
+ gen/Amazonka/DataSync/Types/Gid.hs view
@@ -0,0 +1,78 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DataSync.Types.Gid+-- 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.DataSync.Types.Gid+ ( Gid+ ( ..,+ Gid_BOTH,+ Gid_INT_VALUE,+ Gid_NAME,+ Gid_NONE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype Gid = Gid' {fromGid :: 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 Gid_BOTH :: Gid+pattern Gid_BOTH = Gid' "BOTH"++pattern Gid_INT_VALUE :: Gid+pattern Gid_INT_VALUE = Gid' "INT_VALUE"++pattern Gid_NAME :: Gid+pattern Gid_NAME = Gid' "NAME"++pattern Gid_NONE :: Gid+pattern Gid_NONE = Gid' "NONE"++{-# COMPLETE+ Gid_BOTH,+ Gid_INT_VALUE,+ Gid_NAME,+ Gid_NONE,+ Gid'+ #-}
+ gen/Amazonka/DataSync/Types/HdfsAuthenticationType.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.DataSync.Types.HdfsAuthenticationType+-- 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.DataSync.Types.HdfsAuthenticationType+ ( HdfsAuthenticationType+ ( ..,+ HdfsAuthenticationType_KERBEROS,+ HdfsAuthenticationType_SIMPLE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype HdfsAuthenticationType = HdfsAuthenticationType'+ { fromHdfsAuthenticationType ::+ 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 HdfsAuthenticationType_KERBEROS :: HdfsAuthenticationType+pattern HdfsAuthenticationType_KERBEROS = HdfsAuthenticationType' "KERBEROS"++pattern HdfsAuthenticationType_SIMPLE :: HdfsAuthenticationType+pattern HdfsAuthenticationType_SIMPLE = HdfsAuthenticationType' "SIMPLE"++{-# COMPLETE+ HdfsAuthenticationType_KERBEROS,+ HdfsAuthenticationType_SIMPLE,+ HdfsAuthenticationType'+ #-}
+ gen/Amazonka/DataSync/Types/HdfsDataTransferProtection.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DataSync.Types.HdfsDataTransferProtection+-- 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.DataSync.Types.HdfsDataTransferProtection+ ( HdfsDataTransferProtection+ ( ..,+ HdfsDataTransferProtection_AUTHENTICATION,+ HdfsDataTransferProtection_DISABLED,+ HdfsDataTransferProtection_INTEGRITY,+ HdfsDataTransferProtection_PRIVACY+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype HdfsDataTransferProtection = HdfsDataTransferProtection'+ { fromHdfsDataTransferProtection ::+ 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 HdfsDataTransferProtection_AUTHENTICATION :: HdfsDataTransferProtection+pattern HdfsDataTransferProtection_AUTHENTICATION = HdfsDataTransferProtection' "AUTHENTICATION"++pattern HdfsDataTransferProtection_DISABLED :: HdfsDataTransferProtection+pattern HdfsDataTransferProtection_DISABLED = HdfsDataTransferProtection' "DISABLED"++pattern HdfsDataTransferProtection_INTEGRITY :: HdfsDataTransferProtection+pattern HdfsDataTransferProtection_INTEGRITY = HdfsDataTransferProtection' "INTEGRITY"++pattern HdfsDataTransferProtection_PRIVACY :: HdfsDataTransferProtection+pattern HdfsDataTransferProtection_PRIVACY = HdfsDataTransferProtection' "PRIVACY"++{-# COMPLETE+ HdfsDataTransferProtection_AUTHENTICATION,+ HdfsDataTransferProtection_DISABLED,+ HdfsDataTransferProtection_INTEGRITY,+ HdfsDataTransferProtection_PRIVACY,+ HdfsDataTransferProtection'+ #-}
+ gen/Amazonka/DataSync/Types/HdfsNameNode.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.DataSync.Types.HdfsNameNode+-- 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.DataSync.Types.HdfsNameNode 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 NameNode of the Hadoop Distributed File System (HDFS). The NameNode+-- manages the file system\'s namespace. The NameNode performs operations+-- such as opening, closing, and renaming files and directories. The+-- NameNode contains the information to map blocks of data to the+-- DataNodes.+--+-- /See:/ 'newHdfsNameNode' smart constructor.+data HdfsNameNode = HdfsNameNode'+ { -- | The hostname of the NameNode in the HDFS cluster. This value is the IP+ -- address or Domain Name Service (DNS) name of the NameNode. An agent+ -- that\'s installed on-premises uses this hostname to communicate with the+ -- NameNode in the network.+ hostname :: Prelude.Text,+ -- | The port that the NameNode uses to listen to client requests.+ port :: Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'HdfsNameNode' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'hostname', 'hdfsNameNode_hostname' - The hostname of the NameNode in the HDFS cluster. This value is the IP+-- address or Domain Name Service (DNS) name of the NameNode. An agent+-- that\'s installed on-premises uses this hostname to communicate with the+-- NameNode in the network.+--+-- 'port', 'hdfsNameNode_port' - The port that the NameNode uses to listen to client requests.+newHdfsNameNode ::+ -- | 'hostname'+ Prelude.Text ->+ -- | 'port'+ Prelude.Natural ->+ HdfsNameNode+newHdfsNameNode pHostname_ pPort_ =+ HdfsNameNode' {hostname = pHostname_, port = pPort_}++-- | The hostname of the NameNode in the HDFS cluster. This value is the IP+-- address or Domain Name Service (DNS) name of the NameNode. An agent+-- that\'s installed on-premises uses this hostname to communicate with the+-- NameNode in the network.+hdfsNameNode_hostname :: Lens.Lens' HdfsNameNode Prelude.Text+hdfsNameNode_hostname = Lens.lens (\HdfsNameNode' {hostname} -> hostname) (\s@HdfsNameNode' {} a -> s {hostname = a} :: HdfsNameNode)++-- | The port that the NameNode uses to listen to client requests.+hdfsNameNode_port :: Lens.Lens' HdfsNameNode Prelude.Natural+hdfsNameNode_port = Lens.lens (\HdfsNameNode' {port} -> port) (\s@HdfsNameNode' {} a -> s {port = a} :: HdfsNameNode)++instance Data.FromJSON HdfsNameNode where+ parseJSON =+ Data.withObject+ "HdfsNameNode"+ ( \x ->+ HdfsNameNode'+ Prelude.<$> (x Data..: "Hostname")+ Prelude.<*> (x Data..: "Port")+ )++instance Prelude.Hashable HdfsNameNode where+ hashWithSalt _salt HdfsNameNode' {..} =+ _salt+ `Prelude.hashWithSalt` hostname+ `Prelude.hashWithSalt` port++instance Prelude.NFData HdfsNameNode where+ rnf HdfsNameNode' {..} =+ Prelude.rnf hostname `Prelude.seq` Prelude.rnf port++instance Data.ToJSON HdfsNameNode where+ toJSON HdfsNameNode' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("Hostname" Data..= hostname),+ Prelude.Just ("Port" Data..= port)+ ]+ )
+ gen/Amazonka/DataSync/Types/HdfsRpcProtection.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DataSync.Types.HdfsRpcProtection+-- 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.DataSync.Types.HdfsRpcProtection+ ( HdfsRpcProtection+ ( ..,+ HdfsRpcProtection_AUTHENTICATION,+ HdfsRpcProtection_DISABLED,+ HdfsRpcProtection_INTEGRITY,+ HdfsRpcProtection_PRIVACY+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype HdfsRpcProtection = HdfsRpcProtection'+ { fromHdfsRpcProtection ::+ 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 HdfsRpcProtection_AUTHENTICATION :: HdfsRpcProtection+pattern HdfsRpcProtection_AUTHENTICATION = HdfsRpcProtection' "AUTHENTICATION"++pattern HdfsRpcProtection_DISABLED :: HdfsRpcProtection+pattern HdfsRpcProtection_DISABLED = HdfsRpcProtection' "DISABLED"++pattern HdfsRpcProtection_INTEGRITY :: HdfsRpcProtection+pattern HdfsRpcProtection_INTEGRITY = HdfsRpcProtection' "INTEGRITY"++pattern HdfsRpcProtection_PRIVACY :: HdfsRpcProtection+pattern HdfsRpcProtection_PRIVACY = HdfsRpcProtection' "PRIVACY"++{-# COMPLETE+ HdfsRpcProtection_AUTHENTICATION,+ HdfsRpcProtection_DISABLED,+ HdfsRpcProtection_INTEGRITY,+ HdfsRpcProtection_PRIVACY,+ HdfsRpcProtection'+ #-}
+ gen/Amazonka/DataSync/Types/LocationFilter.hs view
@@ -0,0 +1,119 @@+{-# 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.DataSync.Types.LocationFilter+-- 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.DataSync.Types.LocationFilter where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DataSync.Types.LocationFilterName+import Amazonka.DataSync.Types.Operator+import qualified Amazonka.Prelude as Prelude++-- | Narrow down the list of resources returned by @ListLocations@. For+-- example, to see all your Amazon S3 locations, create a filter using+-- @\"Name\": \"LocationType\"@, @\"Operator\": \"Equals\"@, and+-- @\"Values\": \"S3\"@.+--+-- For more information, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/query-resources.html filtering resources>.+--+-- /See:/ 'newLocationFilter' smart constructor.+data LocationFilter = LocationFilter'+ { -- | The name of the filter being used. Each API call supports a list of+ -- filters that are available for it (for example, @LocationType@ for+ -- @ListLocations@).+ name :: LocationFilterName,+ -- | The values that you want to filter for. For example, you might want to+ -- display only Amazon S3 locations.+ values :: [Prelude.Text],+ -- | The operator that is used to compare filter values (for example,+ -- @Equals@ or @Contains@).+ operator :: Operator+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LocationFilter' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'locationFilter_name' - The name of the filter being used. Each API call supports a list of+-- filters that are available for it (for example, @LocationType@ for+-- @ListLocations@).+--+-- 'values', 'locationFilter_values' - The values that you want to filter for. For example, you might want to+-- display only Amazon S3 locations.+--+-- 'operator', 'locationFilter_operator' - The operator that is used to compare filter values (for example,+-- @Equals@ or @Contains@).+newLocationFilter ::+ -- | 'name'+ LocationFilterName ->+ -- | 'operator'+ Operator ->+ LocationFilter+newLocationFilter pName_ pOperator_ =+ LocationFilter'+ { name = pName_,+ values = Prelude.mempty,+ operator = pOperator_+ }++-- | The name of the filter being used. Each API call supports a list of+-- filters that are available for it (for example, @LocationType@ for+-- @ListLocations@).+locationFilter_name :: Lens.Lens' LocationFilter LocationFilterName+locationFilter_name = Lens.lens (\LocationFilter' {name} -> name) (\s@LocationFilter' {} a -> s {name = a} :: LocationFilter)++-- | The values that you want to filter for. For example, you might want to+-- display only Amazon S3 locations.+locationFilter_values :: Lens.Lens' LocationFilter [Prelude.Text]+locationFilter_values = Lens.lens (\LocationFilter' {values} -> values) (\s@LocationFilter' {} a -> s {values = a} :: LocationFilter) Prelude.. Lens.coerced++-- | The operator that is used to compare filter values (for example,+-- @Equals@ or @Contains@).+locationFilter_operator :: Lens.Lens' LocationFilter Operator+locationFilter_operator = Lens.lens (\LocationFilter' {operator} -> operator) (\s@LocationFilter' {} a -> s {operator = a} :: LocationFilter)++instance Prelude.Hashable LocationFilter where+ hashWithSalt _salt LocationFilter' {..} =+ _salt+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` values+ `Prelude.hashWithSalt` operator++instance Prelude.NFData LocationFilter where+ rnf LocationFilter' {..} =+ Prelude.rnf name+ `Prelude.seq` Prelude.rnf values+ `Prelude.seq` Prelude.rnf operator++instance Data.ToJSON LocationFilter where+ toJSON LocationFilter' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("Name" Data..= name),+ Prelude.Just ("Values" Data..= values),+ Prelude.Just ("Operator" Data..= operator)+ ]+ )
+ gen/Amazonka/DataSync/Types/LocationFilterName.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.DataSync.Types.LocationFilterName+-- 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.DataSync.Types.LocationFilterName+ ( LocationFilterName+ ( ..,+ LocationFilterName_CreationTime,+ LocationFilterName_LocationType,+ LocationFilterName_LocationUri+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype LocationFilterName = LocationFilterName'+ { fromLocationFilterName ::+ 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 LocationFilterName_CreationTime :: LocationFilterName+pattern LocationFilterName_CreationTime = LocationFilterName' "CreationTime"++pattern LocationFilterName_LocationType :: LocationFilterName+pattern LocationFilterName_LocationType = LocationFilterName' "LocationType"++pattern LocationFilterName_LocationUri :: LocationFilterName+pattern LocationFilterName_LocationUri = LocationFilterName' "LocationUri"++{-# COMPLETE+ LocationFilterName_CreationTime,+ LocationFilterName_LocationType,+ LocationFilterName_LocationUri,+ LocationFilterName'+ #-}
+ gen/Amazonka/DataSync/Types/LocationListEntry.hs view
@@ -0,0 +1,150 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DataSync.Types.LocationListEntry+-- 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.DataSync.Types.LocationListEntry 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++-- | Represents a single entry in a list of locations. @LocationListEntry@+-- returns an array that contains a list of locations when the+-- <https://docs.aws.amazon.com/datasync/latest/userguide/API_ListLocations.html ListLocations>+-- operation is called.+--+-- /See:/ 'newLocationListEntry' smart constructor.+data LocationListEntry = LocationListEntry'+ { -- | The Amazon Resource Name (ARN) of the location. For Network File System+ -- (NFS) or Amazon EFS, the location is the export path. For Amazon S3, the+ -- location is the prefix path that you want to mount and use as the root+ -- of the location.+ locationArn :: Prelude.Maybe Prelude.Text,+ -- | Represents a list of URIs of a location. @LocationUri@ returns an array+ -- that contains a list of locations when the+ -- <https://docs.aws.amazon.com/datasync/latest/userguide/API_ListLocations.html ListLocations>+ -- operation is called.+ --+ -- Format: @TYPE:\/\/GLOBAL_ID\/SUBDIR@.+ --+ -- TYPE designates the type of location (for example, @nfs@ or @s3@).+ --+ -- GLOBAL_ID is the globally unique identifier of the resource that backs+ -- the location. An example for EFS is @us-east-2.fs-abcd1234@. An example+ -- for Amazon S3 is the bucket name, such as @myBucket@. An example for NFS+ -- is a valid IPv4 address or a hostname that is compliant with Domain Name+ -- Service (DNS).+ --+ -- SUBDIR is a valid file system path, delimited by forward slashes as is+ -- the *nix convention. For NFS and Amazon EFS, it\'s the export path to+ -- mount the location. For Amazon S3, it\'s the prefix path that you mount+ -- to and treat as the root of the location.+ locationUri :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LocationListEntry' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'locationArn', 'locationListEntry_locationArn' - The Amazon Resource Name (ARN) of the location. For Network File System+-- (NFS) or Amazon EFS, the location is the export path. For Amazon S3, the+-- location is the prefix path that you want to mount and use as the root+-- of the location.+--+-- 'locationUri', 'locationListEntry_locationUri' - Represents a list of URIs of a location. @LocationUri@ returns an array+-- that contains a list of locations when the+-- <https://docs.aws.amazon.com/datasync/latest/userguide/API_ListLocations.html ListLocations>+-- operation is called.+--+-- Format: @TYPE:\/\/GLOBAL_ID\/SUBDIR@.+--+-- TYPE designates the type of location (for example, @nfs@ or @s3@).+--+-- GLOBAL_ID is the globally unique identifier of the resource that backs+-- the location. An example for EFS is @us-east-2.fs-abcd1234@. An example+-- for Amazon S3 is the bucket name, such as @myBucket@. An example for NFS+-- is a valid IPv4 address or a hostname that is compliant with Domain Name+-- Service (DNS).+--+-- SUBDIR is a valid file system path, delimited by forward slashes as is+-- the *nix convention. For NFS and Amazon EFS, it\'s the export path to+-- mount the location. For Amazon S3, it\'s the prefix path that you mount+-- to and treat as the root of the location.+newLocationListEntry ::+ LocationListEntry+newLocationListEntry =+ LocationListEntry'+ { locationArn = Prelude.Nothing,+ locationUri = Prelude.Nothing+ }++-- | The Amazon Resource Name (ARN) of the location. For Network File System+-- (NFS) or Amazon EFS, the location is the export path. For Amazon S3, the+-- location is the prefix path that you want to mount and use as the root+-- of the location.+locationListEntry_locationArn :: Lens.Lens' LocationListEntry (Prelude.Maybe Prelude.Text)+locationListEntry_locationArn = Lens.lens (\LocationListEntry' {locationArn} -> locationArn) (\s@LocationListEntry' {} a -> s {locationArn = a} :: LocationListEntry)++-- | Represents a list of URIs of a location. @LocationUri@ returns an array+-- that contains a list of locations when the+-- <https://docs.aws.amazon.com/datasync/latest/userguide/API_ListLocations.html ListLocations>+-- operation is called.+--+-- Format: @TYPE:\/\/GLOBAL_ID\/SUBDIR@.+--+-- TYPE designates the type of location (for example, @nfs@ or @s3@).+--+-- GLOBAL_ID is the globally unique identifier of the resource that backs+-- the location. An example for EFS is @us-east-2.fs-abcd1234@. An example+-- for Amazon S3 is the bucket name, such as @myBucket@. An example for NFS+-- is a valid IPv4 address or a hostname that is compliant with Domain Name+-- Service (DNS).+--+-- SUBDIR is a valid file system path, delimited by forward slashes as is+-- the *nix convention. For NFS and Amazon EFS, it\'s the export path to+-- mount the location. For Amazon S3, it\'s the prefix path that you mount+-- to and treat as the root of the location.+locationListEntry_locationUri :: Lens.Lens' LocationListEntry (Prelude.Maybe Prelude.Text)+locationListEntry_locationUri = Lens.lens (\LocationListEntry' {locationUri} -> locationUri) (\s@LocationListEntry' {} a -> s {locationUri = a} :: LocationListEntry)++instance Data.FromJSON LocationListEntry where+ parseJSON =+ Data.withObject+ "LocationListEntry"+ ( \x ->+ LocationListEntry'+ Prelude.<$> (x Data..:? "LocationArn")+ Prelude.<*> (x Data..:? "LocationUri")+ )++instance Prelude.Hashable LocationListEntry where+ hashWithSalt _salt LocationListEntry' {..} =+ _salt+ `Prelude.hashWithSalt` locationArn+ `Prelude.hashWithSalt` locationUri++instance Prelude.NFData LocationListEntry where+ rnf LocationListEntry' {..} =+ Prelude.rnf locationArn+ `Prelude.seq` Prelude.rnf locationUri
+ gen/Amazonka/DataSync/Types/LogLevel.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.DataSync.Types.LogLevel+-- 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.DataSync.Types.LogLevel+ ( LogLevel+ ( ..,+ LogLevel_BASIC,+ LogLevel_OFF,+ LogLevel_TRANSFER+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype LogLevel = LogLevel'+ { fromLogLevel ::+ 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 LogLevel_BASIC :: LogLevel+pattern LogLevel_BASIC = LogLevel' "BASIC"++pattern LogLevel_OFF :: LogLevel+pattern LogLevel_OFF = LogLevel' "OFF"++pattern LogLevel_TRANSFER :: LogLevel+pattern LogLevel_TRANSFER = LogLevel' "TRANSFER"++{-# COMPLETE+ LogLevel_BASIC,+ LogLevel_OFF,+ LogLevel_TRANSFER,+ LogLevel'+ #-}
+ gen/Amazonka/DataSync/Types/Mtime.hs view
@@ -0,0 +1,68 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DataSync.Types.Mtime+-- 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.DataSync.Types.Mtime+ ( Mtime+ ( ..,+ Mtime_NONE,+ Mtime_PRESERVE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype Mtime = Mtime' {fromMtime :: 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 Mtime_NONE :: Mtime+pattern Mtime_NONE = Mtime' "NONE"++pattern Mtime_PRESERVE :: Mtime+pattern Mtime_PRESERVE = Mtime' "PRESERVE"++{-# COMPLETE+ Mtime_NONE,+ Mtime_PRESERVE,+ Mtime'+ #-}
+ gen/Amazonka/DataSync/Types/NfsMountOptions.hs view
@@ -0,0 +1,132 @@+{-# 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.DataSync.Types.NfsMountOptions+-- 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.DataSync.Types.NfsMountOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DataSync.Types.NfsVersion+import qualified Amazonka.Prelude as Prelude++-- | Specifies how DataSync can access a location using the NFS protocol.+--+-- /See:/ 'newNfsMountOptions' smart constructor.+data NfsMountOptions = NfsMountOptions'+ { -- | Specifies the NFS version that you want DataSync to use when mounting+ -- your NFS share. If the server refuses to use the version specified, the+ -- task fails.+ --+ -- You can specify the following options:+ --+ -- - @AUTOMATIC@ (default): DataSync chooses NFS version 4.1.+ --+ -- - @NFS3@: Stateless protocol version that allows for asynchronous+ -- writes on the server.+ --+ -- - @NFSv4_0@: Stateful, firewall-friendly protocol version that+ -- supports delegations and pseudo file systems.+ --+ -- - @NFSv4_1@: Stateful protocol version that supports sessions,+ -- directory delegations, and parallel data processing. NFS version 4.1+ -- also includes all features available in version 4.0.+ --+ -- DataSync currently only supports NFS version 3 with Amazon FSx for+ -- NetApp ONTAP locations.+ version :: Prelude.Maybe NfsVersion+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NfsMountOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'version', 'nfsMountOptions_version' - Specifies the NFS version that you want DataSync to use when mounting+-- your NFS share. If the server refuses to use the version specified, the+-- task fails.+--+-- You can specify the following options:+--+-- - @AUTOMATIC@ (default): DataSync chooses NFS version 4.1.+--+-- - @NFS3@: Stateless protocol version that allows for asynchronous+-- writes on the server.+--+-- - @NFSv4_0@: Stateful, firewall-friendly protocol version that+-- supports delegations and pseudo file systems.+--+-- - @NFSv4_1@: Stateful protocol version that supports sessions,+-- directory delegations, and parallel data processing. NFS version 4.1+-- also includes all features available in version 4.0.+--+-- DataSync currently only supports NFS version 3 with Amazon FSx for+-- NetApp ONTAP locations.+newNfsMountOptions ::+ NfsMountOptions+newNfsMountOptions =+ NfsMountOptions' {version = Prelude.Nothing}++-- | Specifies the NFS version that you want DataSync to use when mounting+-- your NFS share. If the server refuses to use the version specified, the+-- task fails.+--+-- You can specify the following options:+--+-- - @AUTOMATIC@ (default): DataSync chooses NFS version 4.1.+--+-- - @NFS3@: Stateless protocol version that allows for asynchronous+-- writes on the server.+--+-- - @NFSv4_0@: Stateful, firewall-friendly protocol version that+-- supports delegations and pseudo file systems.+--+-- - @NFSv4_1@: Stateful protocol version that supports sessions,+-- directory delegations, and parallel data processing. NFS version 4.1+-- also includes all features available in version 4.0.+--+-- DataSync currently only supports NFS version 3 with Amazon FSx for+-- NetApp ONTAP locations.+nfsMountOptions_version :: Lens.Lens' NfsMountOptions (Prelude.Maybe NfsVersion)+nfsMountOptions_version = Lens.lens (\NfsMountOptions' {version} -> version) (\s@NfsMountOptions' {} a -> s {version = a} :: NfsMountOptions)++instance Data.FromJSON NfsMountOptions where+ parseJSON =+ Data.withObject+ "NfsMountOptions"+ ( \x ->+ NfsMountOptions' Prelude.<$> (x Data..:? "Version")+ )++instance Prelude.Hashable NfsMountOptions where+ hashWithSalt _salt NfsMountOptions' {..} =+ _salt `Prelude.hashWithSalt` version++instance Prelude.NFData NfsMountOptions where+ rnf NfsMountOptions' {..} = Prelude.rnf version++instance Data.ToJSON NfsMountOptions where+ toJSON NfsMountOptions' {..} =+ Data.object+ ( Prelude.catMaybes+ [("Version" Data..=) Prelude.<$> version]+ )
+ gen/Amazonka/DataSync/Types/NfsVersion.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DataSync.Types.NfsVersion+-- 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.DataSync.Types.NfsVersion+ ( NfsVersion+ ( ..,+ NfsVersion_AUTOMATIC,+ NfsVersion_NFS3,+ NfsVersion_NFS4_0,+ NfsVersion_NFS4_1+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype NfsVersion = NfsVersion'+ { fromNfsVersion ::+ 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 NfsVersion_AUTOMATIC :: NfsVersion+pattern NfsVersion_AUTOMATIC = NfsVersion' "AUTOMATIC"++pattern NfsVersion_NFS3 :: NfsVersion+pattern NfsVersion_NFS3 = NfsVersion' "NFS3"++pattern NfsVersion_NFS4_0 :: NfsVersion+pattern NfsVersion_NFS4_0 = NfsVersion' "NFS4_0"++pattern NfsVersion_NFS4_1 :: NfsVersion+pattern NfsVersion_NFS4_1 = NfsVersion' "NFS4_1"++{-# COMPLETE+ NfsVersion_AUTOMATIC,+ NfsVersion_NFS3,+ NfsVersion_NFS4_0,+ NfsVersion_NFS4_1,+ NfsVersion'+ #-}
+ gen/Amazonka/DataSync/Types/ObjectStorageServerProtocol.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.DataSync.Types.ObjectStorageServerProtocol+-- 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.DataSync.Types.ObjectStorageServerProtocol+ ( ObjectStorageServerProtocol+ ( ..,+ ObjectStorageServerProtocol_HTTP,+ ObjectStorageServerProtocol_HTTPS+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ObjectStorageServerProtocol = ObjectStorageServerProtocol'+ { fromObjectStorageServerProtocol ::+ 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 ObjectStorageServerProtocol_HTTP :: ObjectStorageServerProtocol+pattern ObjectStorageServerProtocol_HTTP = ObjectStorageServerProtocol' "HTTP"++pattern ObjectStorageServerProtocol_HTTPS :: ObjectStorageServerProtocol+pattern ObjectStorageServerProtocol_HTTPS = ObjectStorageServerProtocol' "HTTPS"++{-# COMPLETE+ ObjectStorageServerProtocol_HTTP,+ ObjectStorageServerProtocol_HTTPS,+ ObjectStorageServerProtocol'+ #-}
+ gen/Amazonka/DataSync/Types/ObjectTags.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.DataSync.Types.ObjectTags+-- 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.DataSync.Types.ObjectTags+ ( ObjectTags+ ( ..,+ ObjectTags_NONE,+ ObjectTags_PRESERVE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ObjectTags = ObjectTags'+ { fromObjectTags ::+ 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 ObjectTags_NONE :: ObjectTags+pattern ObjectTags_NONE = ObjectTags' "NONE"++pattern ObjectTags_PRESERVE :: ObjectTags+pattern ObjectTags_PRESERVE = ObjectTags' "PRESERVE"++{-# COMPLETE+ ObjectTags_NONE,+ ObjectTags_PRESERVE,+ ObjectTags'+ #-}
+ gen/Amazonka/DataSync/Types/OnPremConfig.hs view
@@ -0,0 +1,80 @@+{-# 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.DataSync.Types.OnPremConfig+-- 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.DataSync.Types.OnPremConfig 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 list of Amazon Resource Names (ARNs) of agents to use for a Network+-- File System (NFS) location.+--+-- /See:/ 'newOnPremConfig' smart constructor.+data OnPremConfig = OnPremConfig'+ { -- | ARNs of the agents to use for an NFS location.+ agentArns :: Prelude.NonEmpty Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'OnPremConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'agentArns', 'onPremConfig_agentArns' - ARNs of the agents to use for an NFS location.+newOnPremConfig ::+ -- | 'agentArns'+ Prelude.NonEmpty Prelude.Text ->+ OnPremConfig+newOnPremConfig pAgentArns_ =+ OnPremConfig'+ { agentArns =+ Lens.coerced Lens.# pAgentArns_+ }++-- | ARNs of the agents to use for an NFS location.+onPremConfig_agentArns :: Lens.Lens' OnPremConfig (Prelude.NonEmpty Prelude.Text)+onPremConfig_agentArns = Lens.lens (\OnPremConfig' {agentArns} -> agentArns) (\s@OnPremConfig' {} a -> s {agentArns = a} :: OnPremConfig) Prelude.. Lens.coerced++instance Data.FromJSON OnPremConfig where+ parseJSON =+ Data.withObject+ "OnPremConfig"+ ( \x ->+ OnPremConfig' Prelude.<$> (x Data..: "AgentArns")+ )++instance Prelude.Hashable OnPremConfig where+ hashWithSalt _salt OnPremConfig' {..} =+ _salt `Prelude.hashWithSalt` agentArns++instance Prelude.NFData OnPremConfig where+ rnf OnPremConfig' {..} = Prelude.rnf agentArns++instance Data.ToJSON OnPremConfig where+ toJSON OnPremConfig' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("AgentArns" Data..= agentArns)]+ )
+ gen/Amazonka/DataSync/Types/Operator.hs view
@@ -0,0 +1,111 @@+{-# 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.DataSync.Types.Operator+-- 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.DataSync.Types.Operator+ ( Operator+ ( ..,+ Operator_BeginsWith,+ Operator_Contains,+ Operator_Equals,+ Operator_GreaterThan,+ Operator_GreaterThanOrEqual,+ Operator_In,+ Operator_LessThan,+ Operator_LessThanOrEqual,+ Operator_NotContains,+ Operator_NotEquals+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype Operator = Operator'+ { fromOperator ::+ 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 Operator_BeginsWith :: Operator+pattern Operator_BeginsWith = Operator' "BeginsWith"++pattern Operator_Contains :: Operator+pattern Operator_Contains = Operator' "Contains"++pattern Operator_Equals :: Operator+pattern Operator_Equals = Operator' "Equals"++pattern Operator_GreaterThan :: Operator+pattern Operator_GreaterThan = Operator' "GreaterThan"++pattern Operator_GreaterThanOrEqual :: Operator+pattern Operator_GreaterThanOrEqual = Operator' "GreaterThanOrEqual"++pattern Operator_In :: Operator+pattern Operator_In = Operator' "In"++pattern Operator_LessThan :: Operator+pattern Operator_LessThan = Operator' "LessThan"++pattern Operator_LessThanOrEqual :: Operator+pattern Operator_LessThanOrEqual = Operator' "LessThanOrEqual"++pattern Operator_NotContains :: Operator+pattern Operator_NotContains = Operator' "NotContains"++pattern Operator_NotEquals :: Operator+pattern Operator_NotEquals = Operator' "NotEquals"++{-# COMPLETE+ Operator_BeginsWith,+ Operator_Contains,+ Operator_Equals,+ Operator_GreaterThan,+ Operator_GreaterThanOrEqual,+ Operator_In,+ Operator_LessThan,+ Operator_LessThanOrEqual,+ Operator_NotContains,+ Operator_NotEquals,+ Operator'+ #-}
+ gen/Amazonka/DataSync/Types/Options.hs view
@@ -0,0 +1,857 @@+{-# 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.DataSync.Types.Options+-- 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.DataSync.Types.Options where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DataSync.Types.Atime+import Amazonka.DataSync.Types.Gid+import Amazonka.DataSync.Types.LogLevel+import Amazonka.DataSync.Types.Mtime+import Amazonka.DataSync.Types.ObjectTags+import Amazonka.DataSync.Types.OverwriteMode+import Amazonka.DataSync.Types.PosixPermissions+import Amazonka.DataSync.Types.PreserveDeletedFiles+import Amazonka.DataSync.Types.PreserveDevices+import Amazonka.DataSync.Types.SmbSecurityDescriptorCopyFlags+import Amazonka.DataSync.Types.TaskQueueing+import Amazonka.DataSync.Types.TransferMode+import Amazonka.DataSync.Types.Uid+import Amazonka.DataSync.Types.VerifyMode+import qualified Amazonka.Prelude as Prelude++-- | Configures your DataSync task settings. These options include how+-- DataSync handles files, objects, and their associated metadata. You also+-- can specify how DataSync verifies data integrity, set bandwidth limits+-- for your task, among other options.+--+-- Each task setting has a default value. Unless you need to, you don\'t+-- have to configure any of these @Options@ before starting your task.+--+-- /See:/ 'newOptions' smart constructor.+data Options = Options'+ { -- | Specifies whether to preserve metadata indicating the last time a file+ -- was read or written to. If you set @Atime@ to @BEST_EFFORT@, DataSync+ -- attempts to preserve the original @Atime@ attribute on all source files+ -- (that is, the version before the @PREPARING@ phase of the task+ -- execution).+ --+ -- The behavior of @Atime@ isn\'t fully standard across platforms, so+ -- DataSync can only do this on a best-effort basis.+ --+ -- Default value: @BEST_EFFORT@+ --+ -- @BEST_EFFORT@: Attempt to preserve the per-file @Atime@ value+ -- (recommended).+ --+ -- @NONE@: Ignore @Atime@.+ --+ -- If @Atime@ is set to @BEST_EFFORT@, @Mtime@ must be set to @PRESERVE@.+ --+ -- If @Atime@ is set to @NONE@, @Mtime@ must also be @NONE@.+ atime :: Prelude.Maybe Atime,+ -- | Limits the bandwidth used by a DataSync task. For example, if you want+ -- DataSync to use a maximum of 1 MB, set this value to @1048576@+ -- (@=1024*1024@).+ bytesPerSecond :: Prelude.Maybe Prelude.Integer,+ -- | Specifies the POSIX group ID (GID) of the file\'s owners.+ --+ -- For more information, see+ -- <https://docs.aws.amazon.com/datasync/latest/userguide/special-files.html#metadata-copied Metadata copied by DataSync>.+ --+ -- Default value: @INT_VALUE@. This preserves the integer value of the ID.+ --+ -- @INT_VALUE@: Preserve the integer value of user ID (UID) and GID+ -- (recommended).+ --+ -- @NONE@: Ignore UID and GID.+ gid :: Prelude.Maybe Gid,+ -- | Specifies the type of logs that DataSync publishes to a Amazon+ -- CloudWatch Logs log group. To specify the log group, see+ -- <https://docs.aws.amazon.com/datasync/latest/userguide/API_CreateTask.html#DataSync-CreateTask-request-CloudWatchLogGroupArn CloudWatchLogGroupArn>.+ --+ -- If you set @LogLevel@ to @OFF@, no logs are published. @BASIC@ publishes+ -- logs on errors for individual files transferred. @TRANSFER@ publishes+ -- logs for every file or object that is transferred and integrity checked.+ logLevel :: Prelude.Maybe LogLevel,+ -- | Specifies whether to preserve metadata indicating the last time that a+ -- file was written to before the @PREPARING@ phase of your task execution.+ -- This option is required when you need to run the a task more than once.+ --+ -- Default Value: @PRESERVE@+ --+ -- @PRESERVE@: Preserve original @Mtime@ (recommended)+ --+ -- @NONE@: Ignore @Mtime@.+ --+ -- If @Mtime@ is set to @PRESERVE@, @Atime@ must be set to @BEST_EFFORT@.+ --+ -- If @Mtime@ is set to @NONE@, @Atime@ must also be set to @NONE@.+ mtime :: Prelude.Maybe Mtime,+ -- | Specifies whether object tags are preserved when transferring between+ -- object storage systems. If you want your DataSync task to ignore object+ -- tags, specify the @NONE@ value.+ --+ -- Default Value: @PRESERVE@+ objectTags :: Prelude.Maybe ObjectTags,+ -- | Specifies whether data at the destination location should be overwritten+ -- or preserved. If set to @NEVER@, a destination file for example will not+ -- be replaced by a source file (even if the destination file differs from+ -- the source file). If you modify files in the destination and you sync+ -- the files, you can use this value to protect against overwriting those+ -- changes.+ --+ -- Some storage classes have specific behaviors that can affect your Amazon+ -- S3 storage cost. For detailed information, see+ -- <https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes Considerations when working with Amazon S3 storage classes in DataSync>+ -- .+ overwriteMode :: Prelude.Maybe OverwriteMode,+ -- | Specifies which users or groups can access a file for a specific purpose+ -- such as reading, writing, or execution of the file.+ --+ -- For more information, see+ -- <https://docs.aws.amazon.com/datasync/latest/userguide/special-files.html#metadata-copied Metadata copied by DataSync>.+ --+ -- Default value: @PRESERVE@+ --+ -- @PRESERVE@: Preserve POSIX-style permissions (recommended).+ --+ -- @NONE@: Ignore permissions.+ --+ -- DataSync can preserve extant permissions of a source location.+ posixPermissions :: Prelude.Maybe PosixPermissions,+ -- | Specifies whether files in the destination location that don\'t exist in+ -- the source should be preserved. This option can affect your Amazon S3+ -- storage cost. If your task deletes objects, you might incur minimum+ -- storage duration charges for certain storage classes. For detailed+ -- information, see+ -- <https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes Considerations when working with Amazon S3 storage classes in DataSync>+ -- .+ --+ -- Default value: @PRESERVE@+ --+ -- @PRESERVE@: Ignore such destination files (recommended).+ --+ -- @REMOVE@: Delete destination files that aren’t present in the source.+ preserveDeletedFiles :: Prelude.Maybe PreserveDeletedFiles,+ -- | Specifies whether DataSync should preserve the metadata of block and+ -- character devices in the source location and recreate the files with+ -- that device name and metadata on the destination. DataSync copies only+ -- the name and metadata of such devices.+ --+ -- DataSync can\'t copy the actual contents of these devices because+ -- they\'re nonterminal and don\'t return an end-of-file (EOF) marker.+ --+ -- Default value: @NONE@+ --+ -- @NONE@: Ignore special devices (recommended).+ --+ -- @PRESERVE@: Preserve character and block device metadata. This option+ -- currently isn\'t supported for Amazon EFS.+ preserveDevices :: Prelude.Maybe PreserveDevices,+ -- | Specifies which components of the SMB security descriptor are copied+ -- from source to destination objects.+ --+ -- This value is only used for transfers between SMB and Amazon FSx for+ -- Windows File Server locations or between two FSx for Windows File Server+ -- locations. For more information, see+ -- <https://docs.aws.amazon.com/datasync/latest/userguide/special-files.html how DataSync handles metadata>.+ --+ -- Default value: @OWNER_DACL@+ --+ -- @OWNER_DACL@: For each copied object, DataSync copies the following+ -- metadata:+ --+ -- - The object owner.+ --+ -- - NTFS discretionary access control lists (DACLs), which determine+ -- whether to grant access to an object.+ --+ -- DataSync won\'t copy NTFS system access control lists (SACLs) with+ -- this option.+ --+ -- @OWNER_DACL_SACL@: For each copied object, DataSync copies the following+ -- metadata:+ --+ -- - The object owner.+ --+ -- - NTFS discretionary access control lists (DACLs), which determine+ -- whether to grant access to an object.+ --+ -- - SACLs, which are used by administrators to log attempts to access a+ -- secured object.+ --+ -- Copying SACLs requires granting additional permissions to the+ -- Windows user that DataSync uses to access your SMB location. For+ -- information about choosing a user that ensures sufficient+ -- permissions to files, folders, and metadata, see+ -- <create-smb-location.html#SMBuser user>.+ --+ -- @NONE@: None of the SMB security descriptor components are copied.+ -- Destination objects are owned by the user that was provided for+ -- accessing the destination location. DACLs and SACLs are set based on the+ -- destination server’s configuration.+ securityDescriptorCopyFlags :: Prelude.Maybe SmbSecurityDescriptorCopyFlags,+ -- | Specifies whether tasks should be queued before executing the tasks. The+ -- default is @ENABLED@, which means the tasks will be queued.+ --+ -- If you use the same agent to run multiple tasks, you can enable the+ -- tasks to run in series. For more information, see+ -- <https://docs.aws.amazon.com/datasync/latest/userguide/run-task.html#queue-task-execution Queueing task executions>.+ taskQueueing :: Prelude.Maybe TaskQueueing,+ -- | Determines whether DataSync transfers only the data and metadata that+ -- differ between the source and the destination location or transfers all+ -- the content from the source (without comparing what\'s in the+ -- destination).+ --+ -- @CHANGED@: DataSync copies only data or metadata that is new or+ -- different content from the source location to the destination location.+ --+ -- @ALL@: DataSync copies all source location content to the destination+ -- (without comparing what\'s in the destination).+ transferMode :: Prelude.Maybe TransferMode,+ -- | Specifies the POSIX user ID (UID) of the file\'s owner.+ --+ -- For more information, see+ -- <https://docs.aws.amazon.com/datasync/latest/userguide/special-files.html#metadata-copied Metadata copied by DataSync>.+ --+ -- Default value: @INT_VALUE@. This preserves the integer value of the ID.+ --+ -- @INT_VALUE@: Preserve the integer value of UID and group ID (GID)+ -- (recommended).+ --+ -- @NONE@: Ignore UID and GID.+ uid :: Prelude.Maybe Uid,+ -- | Specifies how and when DataSync checks the integrity of your data during+ -- a transfer.+ --+ -- Default value: @POINT_IN_TIME_CONSISTENT@+ --+ -- @ONLY_FILES_TRANSFERRED@ (recommended): DataSync calculates the checksum+ -- of transferred files and metadata at the source location. At the end of+ -- the transfer, DataSync then compares this checksum to the checksum+ -- calculated on those files at the destination.+ --+ -- We recommend this option when transferring to S3 Glacier Flexible+ -- Retrieval or S3 Glacier Deep Archive storage classes. For more+ -- information, see+ -- <https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes Storage class considerations with Amazon S3 locations>.+ --+ -- @POINT_IN_TIME_CONSISTENT@: At the end of the transfer, DataSync scans+ -- the entire source and destination to verify that both locations are+ -- fully synchronized.+ --+ -- You can\'t use this option when transferring to S3 Glacier Flexible+ -- Retrieval or S3 Glacier Deep Archive storage classes. For more+ -- information, see+ -- <https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes Storage class considerations with Amazon S3 locations>.+ --+ -- @NONE@: DataSync doesn\'t run additional verification at the end of the+ -- transfer. All data transmissions are still integrity-checked with+ -- checksum verification during the transfer.+ verifyMode :: Prelude.Maybe VerifyMode+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Options' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'atime', 'options_atime' - Specifies whether to preserve metadata indicating the last time a file+-- was read or written to. If you set @Atime@ to @BEST_EFFORT@, DataSync+-- attempts to preserve the original @Atime@ attribute on all source files+-- (that is, the version before the @PREPARING@ phase of the task+-- execution).+--+-- The behavior of @Atime@ isn\'t fully standard across platforms, so+-- DataSync can only do this on a best-effort basis.+--+-- Default value: @BEST_EFFORT@+--+-- @BEST_EFFORT@: Attempt to preserve the per-file @Atime@ value+-- (recommended).+--+-- @NONE@: Ignore @Atime@.+--+-- If @Atime@ is set to @BEST_EFFORT@, @Mtime@ must be set to @PRESERVE@.+--+-- If @Atime@ is set to @NONE@, @Mtime@ must also be @NONE@.+--+-- 'bytesPerSecond', 'options_bytesPerSecond' - Limits the bandwidth used by a DataSync task. For example, if you want+-- DataSync to use a maximum of 1 MB, set this value to @1048576@+-- (@=1024*1024@).+--+-- 'gid', 'options_gid' - Specifies the POSIX group ID (GID) of the file\'s owners.+--+-- For more information, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/special-files.html#metadata-copied Metadata copied by DataSync>.+--+-- Default value: @INT_VALUE@. This preserves the integer value of the ID.+--+-- @INT_VALUE@: Preserve the integer value of user ID (UID) and GID+-- (recommended).+--+-- @NONE@: Ignore UID and GID.+--+-- 'logLevel', 'options_logLevel' - Specifies the type of logs that DataSync publishes to a Amazon+-- CloudWatch Logs log group. To specify the log group, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/API_CreateTask.html#DataSync-CreateTask-request-CloudWatchLogGroupArn CloudWatchLogGroupArn>.+--+-- If you set @LogLevel@ to @OFF@, no logs are published. @BASIC@ publishes+-- logs on errors for individual files transferred. @TRANSFER@ publishes+-- logs for every file or object that is transferred and integrity checked.+--+-- 'mtime', 'options_mtime' - Specifies whether to preserve metadata indicating the last time that a+-- file was written to before the @PREPARING@ phase of your task execution.+-- This option is required when you need to run the a task more than once.+--+-- Default Value: @PRESERVE@+--+-- @PRESERVE@: Preserve original @Mtime@ (recommended)+--+-- @NONE@: Ignore @Mtime@.+--+-- If @Mtime@ is set to @PRESERVE@, @Atime@ must be set to @BEST_EFFORT@.+--+-- If @Mtime@ is set to @NONE@, @Atime@ must also be set to @NONE@.+--+-- 'objectTags', 'options_objectTags' - Specifies whether object tags are preserved when transferring between+-- object storage systems. If you want your DataSync task to ignore object+-- tags, specify the @NONE@ value.+--+-- Default Value: @PRESERVE@+--+-- 'overwriteMode', 'options_overwriteMode' - Specifies whether data at the destination location should be overwritten+-- or preserved. If set to @NEVER@, a destination file for example will not+-- be replaced by a source file (even if the destination file differs from+-- the source file). If you modify files in the destination and you sync+-- the files, you can use this value to protect against overwriting those+-- changes.+--+-- Some storage classes have specific behaviors that can affect your Amazon+-- S3 storage cost. For detailed information, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes Considerations when working with Amazon S3 storage classes in DataSync>+-- .+--+-- 'posixPermissions', 'options_posixPermissions' - Specifies which users or groups can access a file for a specific purpose+-- such as reading, writing, or execution of the file.+--+-- For more information, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/special-files.html#metadata-copied Metadata copied by DataSync>.+--+-- Default value: @PRESERVE@+--+-- @PRESERVE@: Preserve POSIX-style permissions (recommended).+--+-- @NONE@: Ignore permissions.+--+-- DataSync can preserve extant permissions of a source location.+--+-- 'preserveDeletedFiles', 'options_preserveDeletedFiles' - Specifies whether files in the destination location that don\'t exist in+-- the source should be preserved. This option can affect your Amazon S3+-- storage cost. If your task deletes objects, you might incur minimum+-- storage duration charges for certain storage classes. For detailed+-- information, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes Considerations when working with Amazon S3 storage classes in DataSync>+-- .+--+-- Default value: @PRESERVE@+--+-- @PRESERVE@: Ignore such destination files (recommended).+--+-- @REMOVE@: Delete destination files that aren’t present in the source.+--+-- 'preserveDevices', 'options_preserveDevices' - Specifies whether DataSync should preserve the metadata of block and+-- character devices in the source location and recreate the files with+-- that device name and metadata on the destination. DataSync copies only+-- the name and metadata of such devices.+--+-- DataSync can\'t copy the actual contents of these devices because+-- they\'re nonterminal and don\'t return an end-of-file (EOF) marker.+--+-- Default value: @NONE@+--+-- @NONE@: Ignore special devices (recommended).+--+-- @PRESERVE@: Preserve character and block device metadata. This option+-- currently isn\'t supported for Amazon EFS.+--+-- 'securityDescriptorCopyFlags', 'options_securityDescriptorCopyFlags' - Specifies which components of the SMB security descriptor are copied+-- from source to destination objects.+--+-- This value is only used for transfers between SMB and Amazon FSx for+-- Windows File Server locations or between two FSx for Windows File Server+-- locations. For more information, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/special-files.html how DataSync handles metadata>.+--+-- Default value: @OWNER_DACL@+--+-- @OWNER_DACL@: For each copied object, DataSync copies the following+-- metadata:+--+-- - The object owner.+--+-- - NTFS discretionary access control lists (DACLs), which determine+-- whether to grant access to an object.+--+-- DataSync won\'t copy NTFS system access control lists (SACLs) with+-- this option.+--+-- @OWNER_DACL_SACL@: For each copied object, DataSync copies the following+-- metadata:+--+-- - The object owner.+--+-- - NTFS discretionary access control lists (DACLs), which determine+-- whether to grant access to an object.+--+-- - SACLs, which are used by administrators to log attempts to access a+-- secured object.+--+-- Copying SACLs requires granting additional permissions to the+-- Windows user that DataSync uses to access your SMB location. For+-- information about choosing a user that ensures sufficient+-- permissions to files, folders, and metadata, see+-- <create-smb-location.html#SMBuser user>.+--+-- @NONE@: None of the SMB security descriptor components are copied.+-- Destination objects are owned by the user that was provided for+-- accessing the destination location. DACLs and SACLs are set based on the+-- destination server’s configuration.+--+-- 'taskQueueing', 'options_taskQueueing' - Specifies whether tasks should be queued before executing the tasks. The+-- default is @ENABLED@, which means the tasks will be queued.+--+-- If you use the same agent to run multiple tasks, you can enable the+-- tasks to run in series. For more information, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/run-task.html#queue-task-execution Queueing task executions>.+--+-- 'transferMode', 'options_transferMode' - Determines whether DataSync transfers only the data and metadata that+-- differ between the source and the destination location or transfers all+-- the content from the source (without comparing what\'s in the+-- destination).+--+-- @CHANGED@: DataSync copies only data or metadata that is new or+-- different content from the source location to the destination location.+--+-- @ALL@: DataSync copies all source location content to the destination+-- (without comparing what\'s in the destination).+--+-- 'uid', 'options_uid' - Specifies the POSIX user ID (UID) of the file\'s owner.+--+-- For more information, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/special-files.html#metadata-copied Metadata copied by DataSync>.+--+-- Default value: @INT_VALUE@. This preserves the integer value of the ID.+--+-- @INT_VALUE@: Preserve the integer value of UID and group ID (GID)+-- (recommended).+--+-- @NONE@: Ignore UID and GID.+--+-- 'verifyMode', 'options_verifyMode' - Specifies how and when DataSync checks the integrity of your data during+-- a transfer.+--+-- Default value: @POINT_IN_TIME_CONSISTENT@+--+-- @ONLY_FILES_TRANSFERRED@ (recommended): DataSync calculates the checksum+-- of transferred files and metadata at the source location. At the end of+-- the transfer, DataSync then compares this checksum to the checksum+-- calculated on those files at the destination.+--+-- We recommend this option when transferring to S3 Glacier Flexible+-- Retrieval or S3 Glacier Deep Archive storage classes. For more+-- information, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes Storage class considerations with Amazon S3 locations>.+--+-- @POINT_IN_TIME_CONSISTENT@: At the end of the transfer, DataSync scans+-- the entire source and destination to verify that both locations are+-- fully synchronized.+--+-- You can\'t use this option when transferring to S3 Glacier Flexible+-- Retrieval or S3 Glacier Deep Archive storage classes. For more+-- information, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes Storage class considerations with Amazon S3 locations>.+--+-- @NONE@: DataSync doesn\'t run additional verification at the end of the+-- transfer. All data transmissions are still integrity-checked with+-- checksum verification during the transfer.+newOptions ::+ Options+newOptions =+ Options'+ { atime = Prelude.Nothing,+ bytesPerSecond = Prelude.Nothing,+ gid = Prelude.Nothing,+ logLevel = Prelude.Nothing,+ mtime = Prelude.Nothing,+ objectTags = Prelude.Nothing,+ overwriteMode = Prelude.Nothing,+ posixPermissions = Prelude.Nothing,+ preserveDeletedFiles = Prelude.Nothing,+ preserveDevices = Prelude.Nothing,+ securityDescriptorCopyFlags = Prelude.Nothing,+ taskQueueing = Prelude.Nothing,+ transferMode = Prelude.Nothing,+ uid = Prelude.Nothing,+ verifyMode = Prelude.Nothing+ }++-- | Specifies whether to preserve metadata indicating the last time a file+-- was read or written to. If you set @Atime@ to @BEST_EFFORT@, DataSync+-- attempts to preserve the original @Atime@ attribute on all source files+-- (that is, the version before the @PREPARING@ phase of the task+-- execution).+--+-- The behavior of @Atime@ isn\'t fully standard across platforms, so+-- DataSync can only do this on a best-effort basis.+--+-- Default value: @BEST_EFFORT@+--+-- @BEST_EFFORT@: Attempt to preserve the per-file @Atime@ value+-- (recommended).+--+-- @NONE@: Ignore @Atime@.+--+-- If @Atime@ is set to @BEST_EFFORT@, @Mtime@ must be set to @PRESERVE@.+--+-- If @Atime@ is set to @NONE@, @Mtime@ must also be @NONE@.+options_atime :: Lens.Lens' Options (Prelude.Maybe Atime)+options_atime = Lens.lens (\Options' {atime} -> atime) (\s@Options' {} a -> s {atime = a} :: Options)++-- | Limits the bandwidth used by a DataSync task. For example, if you want+-- DataSync to use a maximum of 1 MB, set this value to @1048576@+-- (@=1024*1024@).+options_bytesPerSecond :: Lens.Lens' Options (Prelude.Maybe Prelude.Integer)+options_bytesPerSecond = Lens.lens (\Options' {bytesPerSecond} -> bytesPerSecond) (\s@Options' {} a -> s {bytesPerSecond = a} :: Options)++-- | Specifies the POSIX group ID (GID) of the file\'s owners.+--+-- For more information, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/special-files.html#metadata-copied Metadata copied by DataSync>.+--+-- Default value: @INT_VALUE@. This preserves the integer value of the ID.+--+-- @INT_VALUE@: Preserve the integer value of user ID (UID) and GID+-- (recommended).+--+-- @NONE@: Ignore UID and GID.+options_gid :: Lens.Lens' Options (Prelude.Maybe Gid)+options_gid = Lens.lens (\Options' {gid} -> gid) (\s@Options' {} a -> s {gid = a} :: Options)++-- | Specifies the type of logs that DataSync publishes to a Amazon+-- CloudWatch Logs log group. To specify the log group, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/API_CreateTask.html#DataSync-CreateTask-request-CloudWatchLogGroupArn CloudWatchLogGroupArn>.+--+-- If you set @LogLevel@ to @OFF@, no logs are published. @BASIC@ publishes+-- logs on errors for individual files transferred. @TRANSFER@ publishes+-- logs for every file or object that is transferred and integrity checked.+options_logLevel :: Lens.Lens' Options (Prelude.Maybe LogLevel)+options_logLevel = Lens.lens (\Options' {logLevel} -> logLevel) (\s@Options' {} a -> s {logLevel = a} :: Options)++-- | Specifies whether to preserve metadata indicating the last time that a+-- file was written to before the @PREPARING@ phase of your task execution.+-- This option is required when you need to run the a task more than once.+--+-- Default Value: @PRESERVE@+--+-- @PRESERVE@: Preserve original @Mtime@ (recommended)+--+-- @NONE@: Ignore @Mtime@.+--+-- If @Mtime@ is set to @PRESERVE@, @Atime@ must be set to @BEST_EFFORT@.+--+-- If @Mtime@ is set to @NONE@, @Atime@ must also be set to @NONE@.+options_mtime :: Lens.Lens' Options (Prelude.Maybe Mtime)+options_mtime = Lens.lens (\Options' {mtime} -> mtime) (\s@Options' {} a -> s {mtime = a} :: Options)++-- | Specifies whether object tags are preserved when transferring between+-- object storage systems. If you want your DataSync task to ignore object+-- tags, specify the @NONE@ value.+--+-- Default Value: @PRESERVE@+options_objectTags :: Lens.Lens' Options (Prelude.Maybe ObjectTags)+options_objectTags = Lens.lens (\Options' {objectTags} -> objectTags) (\s@Options' {} a -> s {objectTags = a} :: Options)++-- | Specifies whether data at the destination location should be overwritten+-- or preserved. If set to @NEVER@, a destination file for example will not+-- be replaced by a source file (even if the destination file differs from+-- the source file). If you modify files in the destination and you sync+-- the files, you can use this value to protect against overwriting those+-- changes.+--+-- Some storage classes have specific behaviors that can affect your Amazon+-- S3 storage cost. For detailed information, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes Considerations when working with Amazon S3 storage classes in DataSync>+-- .+options_overwriteMode :: Lens.Lens' Options (Prelude.Maybe OverwriteMode)+options_overwriteMode = Lens.lens (\Options' {overwriteMode} -> overwriteMode) (\s@Options' {} a -> s {overwriteMode = a} :: Options)++-- | Specifies which users or groups can access a file for a specific purpose+-- such as reading, writing, or execution of the file.+--+-- For more information, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/special-files.html#metadata-copied Metadata copied by DataSync>.+--+-- Default value: @PRESERVE@+--+-- @PRESERVE@: Preserve POSIX-style permissions (recommended).+--+-- @NONE@: Ignore permissions.+--+-- DataSync can preserve extant permissions of a source location.+options_posixPermissions :: Lens.Lens' Options (Prelude.Maybe PosixPermissions)+options_posixPermissions = Lens.lens (\Options' {posixPermissions} -> posixPermissions) (\s@Options' {} a -> s {posixPermissions = a} :: Options)++-- | Specifies whether files in the destination location that don\'t exist in+-- the source should be preserved. This option can affect your Amazon S3+-- storage cost. If your task deletes objects, you might incur minimum+-- storage duration charges for certain storage classes. For detailed+-- information, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes Considerations when working with Amazon S3 storage classes in DataSync>+-- .+--+-- Default value: @PRESERVE@+--+-- @PRESERVE@: Ignore such destination files (recommended).+--+-- @REMOVE@: Delete destination files that aren’t present in the source.+options_preserveDeletedFiles :: Lens.Lens' Options (Prelude.Maybe PreserveDeletedFiles)+options_preserveDeletedFiles = Lens.lens (\Options' {preserveDeletedFiles} -> preserveDeletedFiles) (\s@Options' {} a -> s {preserveDeletedFiles = a} :: Options)++-- | Specifies whether DataSync should preserve the metadata of block and+-- character devices in the source location and recreate the files with+-- that device name and metadata on the destination. DataSync copies only+-- the name and metadata of such devices.+--+-- DataSync can\'t copy the actual contents of these devices because+-- they\'re nonterminal and don\'t return an end-of-file (EOF) marker.+--+-- Default value: @NONE@+--+-- @NONE@: Ignore special devices (recommended).+--+-- @PRESERVE@: Preserve character and block device metadata. This option+-- currently isn\'t supported for Amazon EFS.+options_preserveDevices :: Lens.Lens' Options (Prelude.Maybe PreserveDevices)+options_preserveDevices = Lens.lens (\Options' {preserveDevices} -> preserveDevices) (\s@Options' {} a -> s {preserveDevices = a} :: Options)++-- | Specifies which components of the SMB security descriptor are copied+-- from source to destination objects.+--+-- This value is only used for transfers between SMB and Amazon FSx for+-- Windows File Server locations or between two FSx for Windows File Server+-- locations. For more information, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/special-files.html how DataSync handles metadata>.+--+-- Default value: @OWNER_DACL@+--+-- @OWNER_DACL@: For each copied object, DataSync copies the following+-- metadata:+--+-- - The object owner.+--+-- - NTFS discretionary access control lists (DACLs), which determine+-- whether to grant access to an object.+--+-- DataSync won\'t copy NTFS system access control lists (SACLs) with+-- this option.+--+-- @OWNER_DACL_SACL@: For each copied object, DataSync copies the following+-- metadata:+--+-- - The object owner.+--+-- - NTFS discretionary access control lists (DACLs), which determine+-- whether to grant access to an object.+--+-- - SACLs, which are used by administrators to log attempts to access a+-- secured object.+--+-- Copying SACLs requires granting additional permissions to the+-- Windows user that DataSync uses to access your SMB location. For+-- information about choosing a user that ensures sufficient+-- permissions to files, folders, and metadata, see+-- <create-smb-location.html#SMBuser user>.+--+-- @NONE@: None of the SMB security descriptor components are copied.+-- Destination objects are owned by the user that was provided for+-- accessing the destination location. DACLs and SACLs are set based on the+-- destination server’s configuration.+options_securityDescriptorCopyFlags :: Lens.Lens' Options (Prelude.Maybe SmbSecurityDescriptorCopyFlags)+options_securityDescriptorCopyFlags = Lens.lens (\Options' {securityDescriptorCopyFlags} -> securityDescriptorCopyFlags) (\s@Options' {} a -> s {securityDescriptorCopyFlags = a} :: Options)++-- | Specifies whether tasks should be queued before executing the tasks. The+-- default is @ENABLED@, which means the tasks will be queued.+--+-- If you use the same agent to run multiple tasks, you can enable the+-- tasks to run in series. For more information, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/run-task.html#queue-task-execution Queueing task executions>.+options_taskQueueing :: Lens.Lens' Options (Prelude.Maybe TaskQueueing)+options_taskQueueing = Lens.lens (\Options' {taskQueueing} -> taskQueueing) (\s@Options' {} a -> s {taskQueueing = a} :: Options)++-- | Determines whether DataSync transfers only the data and metadata that+-- differ between the source and the destination location or transfers all+-- the content from the source (without comparing what\'s in the+-- destination).+--+-- @CHANGED@: DataSync copies only data or metadata that is new or+-- different content from the source location to the destination location.+--+-- @ALL@: DataSync copies all source location content to the destination+-- (without comparing what\'s in the destination).+options_transferMode :: Lens.Lens' Options (Prelude.Maybe TransferMode)+options_transferMode = Lens.lens (\Options' {transferMode} -> transferMode) (\s@Options' {} a -> s {transferMode = a} :: Options)++-- | Specifies the POSIX user ID (UID) of the file\'s owner.+--+-- For more information, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/special-files.html#metadata-copied Metadata copied by DataSync>.+--+-- Default value: @INT_VALUE@. This preserves the integer value of the ID.+--+-- @INT_VALUE@: Preserve the integer value of UID and group ID (GID)+-- (recommended).+--+-- @NONE@: Ignore UID and GID.+options_uid :: Lens.Lens' Options (Prelude.Maybe Uid)+options_uid = Lens.lens (\Options' {uid} -> uid) (\s@Options' {} a -> s {uid = a} :: Options)++-- | Specifies how and when DataSync checks the integrity of your data during+-- a transfer.+--+-- Default value: @POINT_IN_TIME_CONSISTENT@+--+-- @ONLY_FILES_TRANSFERRED@ (recommended): DataSync calculates the checksum+-- of transferred files and metadata at the source location. At the end of+-- the transfer, DataSync then compares this checksum to the checksum+-- calculated on those files at the destination.+--+-- We recommend this option when transferring to S3 Glacier Flexible+-- Retrieval or S3 Glacier Deep Archive storage classes. For more+-- information, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes Storage class considerations with Amazon S3 locations>.+--+-- @POINT_IN_TIME_CONSISTENT@: At the end of the transfer, DataSync scans+-- the entire source and destination to verify that both locations are+-- fully synchronized.+--+-- You can\'t use this option when transferring to S3 Glacier Flexible+-- Retrieval or S3 Glacier Deep Archive storage classes. For more+-- information, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes Storage class considerations with Amazon S3 locations>.+--+-- @NONE@: DataSync doesn\'t run additional verification at the end of the+-- transfer. All data transmissions are still integrity-checked with+-- checksum verification during the transfer.+options_verifyMode :: Lens.Lens' Options (Prelude.Maybe VerifyMode)+options_verifyMode = Lens.lens (\Options' {verifyMode} -> verifyMode) (\s@Options' {} a -> s {verifyMode = a} :: Options)++instance Data.FromJSON Options where+ parseJSON =+ Data.withObject+ "Options"+ ( \x ->+ Options'+ Prelude.<$> (x Data..:? "Atime")+ Prelude.<*> (x Data..:? "BytesPerSecond")+ Prelude.<*> (x Data..:? "Gid")+ Prelude.<*> (x Data..:? "LogLevel")+ Prelude.<*> (x Data..:? "Mtime")+ Prelude.<*> (x Data..:? "ObjectTags")+ Prelude.<*> (x Data..:? "OverwriteMode")+ Prelude.<*> (x Data..:? "PosixPermissions")+ Prelude.<*> (x Data..:? "PreserveDeletedFiles")+ Prelude.<*> (x Data..:? "PreserveDevices")+ Prelude.<*> (x Data..:? "SecurityDescriptorCopyFlags")+ Prelude.<*> (x Data..:? "TaskQueueing")+ Prelude.<*> (x Data..:? "TransferMode")+ Prelude.<*> (x Data..:? "Uid")+ Prelude.<*> (x Data..:? "VerifyMode")+ )++instance Prelude.Hashable Options where+ hashWithSalt _salt Options' {..} =+ _salt+ `Prelude.hashWithSalt` atime+ `Prelude.hashWithSalt` bytesPerSecond+ `Prelude.hashWithSalt` gid+ `Prelude.hashWithSalt` logLevel+ `Prelude.hashWithSalt` mtime+ `Prelude.hashWithSalt` objectTags+ `Prelude.hashWithSalt` overwriteMode+ `Prelude.hashWithSalt` posixPermissions+ `Prelude.hashWithSalt` preserveDeletedFiles+ `Prelude.hashWithSalt` preserveDevices+ `Prelude.hashWithSalt` securityDescriptorCopyFlags+ `Prelude.hashWithSalt` taskQueueing+ `Prelude.hashWithSalt` transferMode+ `Prelude.hashWithSalt` uid+ `Prelude.hashWithSalt` verifyMode++instance Prelude.NFData Options where+ rnf Options' {..} =+ Prelude.rnf atime+ `Prelude.seq` Prelude.rnf bytesPerSecond+ `Prelude.seq` Prelude.rnf gid+ `Prelude.seq` Prelude.rnf logLevel+ `Prelude.seq` Prelude.rnf mtime+ `Prelude.seq` Prelude.rnf objectTags+ `Prelude.seq` Prelude.rnf overwriteMode+ `Prelude.seq` Prelude.rnf posixPermissions+ `Prelude.seq` Prelude.rnf preserveDeletedFiles+ `Prelude.seq` Prelude.rnf preserveDevices+ `Prelude.seq` Prelude.rnf securityDescriptorCopyFlags+ `Prelude.seq` Prelude.rnf taskQueueing+ `Prelude.seq` Prelude.rnf transferMode+ `Prelude.seq` Prelude.rnf uid+ `Prelude.seq` Prelude.rnf verifyMode++instance Data.ToJSON Options where+ toJSON Options' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Atime" Data..=) Prelude.<$> atime,+ ("BytesPerSecond" Data..=)+ Prelude.<$> bytesPerSecond,+ ("Gid" Data..=) Prelude.<$> gid,+ ("LogLevel" Data..=) Prelude.<$> logLevel,+ ("Mtime" Data..=) Prelude.<$> mtime,+ ("ObjectTags" Data..=) Prelude.<$> objectTags,+ ("OverwriteMode" Data..=) Prelude.<$> overwriteMode,+ ("PosixPermissions" Data..=)+ Prelude.<$> posixPermissions,+ ("PreserveDeletedFiles" Data..=)+ Prelude.<$> preserveDeletedFiles,+ ("PreserveDevices" Data..=)+ Prelude.<$> preserveDevices,+ ("SecurityDescriptorCopyFlags" Data..=)+ Prelude.<$> securityDescriptorCopyFlags,+ ("TaskQueueing" Data..=) Prelude.<$> taskQueueing,+ ("TransferMode" Data..=) Prelude.<$> transferMode,+ ("Uid" Data..=) Prelude.<$> uid,+ ("VerifyMode" Data..=) Prelude.<$> verifyMode+ ]+ )
+ gen/Amazonka/DataSync/Types/OverwriteMode.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.DataSync.Types.OverwriteMode+-- 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.DataSync.Types.OverwriteMode+ ( OverwriteMode+ ( ..,+ OverwriteMode_ALWAYS,+ OverwriteMode_NEVER+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype OverwriteMode = OverwriteMode'+ { fromOverwriteMode ::+ 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 OverwriteMode_ALWAYS :: OverwriteMode+pattern OverwriteMode_ALWAYS = OverwriteMode' "ALWAYS"++pattern OverwriteMode_NEVER :: OverwriteMode+pattern OverwriteMode_NEVER = OverwriteMode' "NEVER"++{-# COMPLETE+ OverwriteMode_ALWAYS,+ OverwriteMode_NEVER,+ OverwriteMode'+ #-}
+ gen/Amazonka/DataSync/Types/PhaseStatus.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.DataSync.Types.PhaseStatus+-- 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.DataSync.Types.PhaseStatus+ ( PhaseStatus+ ( ..,+ PhaseStatus_ERROR,+ PhaseStatus_PENDING,+ PhaseStatus_SUCCESS+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype PhaseStatus = PhaseStatus'+ { fromPhaseStatus ::+ 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 PhaseStatus_ERROR :: PhaseStatus+pattern PhaseStatus_ERROR = PhaseStatus' "ERROR"++pattern PhaseStatus_PENDING :: PhaseStatus+pattern PhaseStatus_PENDING = PhaseStatus' "PENDING"++pattern PhaseStatus_SUCCESS :: PhaseStatus+pattern PhaseStatus_SUCCESS = PhaseStatus' "SUCCESS"++{-# COMPLETE+ PhaseStatus_ERROR,+ PhaseStatus_PENDING,+ PhaseStatus_SUCCESS,+ PhaseStatus'+ #-}
+ gen/Amazonka/DataSync/Types/PosixPermissions.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.DataSync.Types.PosixPermissions+-- 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.DataSync.Types.PosixPermissions+ ( PosixPermissions+ ( ..,+ PosixPermissions_NONE,+ PosixPermissions_PRESERVE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype PosixPermissions = PosixPermissions'+ { fromPosixPermissions ::+ 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 PosixPermissions_NONE :: PosixPermissions+pattern PosixPermissions_NONE = PosixPermissions' "NONE"++pattern PosixPermissions_PRESERVE :: PosixPermissions+pattern PosixPermissions_PRESERVE = PosixPermissions' "PRESERVE"++{-# COMPLETE+ PosixPermissions_NONE,+ PosixPermissions_PRESERVE,+ PosixPermissions'+ #-}
+ gen/Amazonka/DataSync/Types/PreserveDeletedFiles.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.DataSync.Types.PreserveDeletedFiles+-- 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.DataSync.Types.PreserveDeletedFiles+ ( PreserveDeletedFiles+ ( ..,+ PreserveDeletedFiles_PRESERVE,+ PreserveDeletedFiles_REMOVE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype PreserveDeletedFiles = PreserveDeletedFiles'+ { fromPreserveDeletedFiles ::+ 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 PreserveDeletedFiles_PRESERVE :: PreserveDeletedFiles+pattern PreserveDeletedFiles_PRESERVE = PreserveDeletedFiles' "PRESERVE"++pattern PreserveDeletedFiles_REMOVE :: PreserveDeletedFiles+pattern PreserveDeletedFiles_REMOVE = PreserveDeletedFiles' "REMOVE"++{-# COMPLETE+ PreserveDeletedFiles_PRESERVE,+ PreserveDeletedFiles_REMOVE,+ PreserveDeletedFiles'+ #-}
+ gen/Amazonka/DataSync/Types/PreserveDevices.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.DataSync.Types.PreserveDevices+-- 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.DataSync.Types.PreserveDevices+ ( PreserveDevices+ ( ..,+ PreserveDevices_NONE,+ PreserveDevices_PRESERVE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype PreserveDevices = PreserveDevices'+ { fromPreserveDevices ::+ 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 PreserveDevices_NONE :: PreserveDevices+pattern PreserveDevices_NONE = PreserveDevices' "NONE"++pattern PreserveDevices_PRESERVE :: PreserveDevices+pattern PreserveDevices_PRESERVE = PreserveDevices' "PRESERVE"++{-# COMPLETE+ PreserveDevices_NONE,+ PreserveDevices_PRESERVE,+ PreserveDevices'+ #-}
+ gen/Amazonka/DataSync/Types/PrivateLinkConfig.hs view
@@ -0,0 +1,140 @@+{-# 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.DataSync.Types.PrivateLinkConfig+-- 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.DataSync.Types.PrivateLinkConfig 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 VPC endpoint, subnet, and security group that an agent uses to+-- access IP addresses in a VPC (Virtual Private Cloud).+--+-- /See:/ 'newPrivateLinkConfig' smart constructor.+data PrivateLinkConfig = PrivateLinkConfig'+ { -- | The private endpoint that is configured for an agent that has access to+ -- IP addresses in a+ -- <https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-service.html PrivateLink>.+ -- An agent that is configured with this endpoint will not be accessible+ -- over the public internet.+ privateLinkEndpoint :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Names (ARNs) of the security groups that are+ -- configured for the EC2 resource that hosts an agent activated in a VPC+ -- or an agent that has access to a VPC endpoint.+ securityGroupArns :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+ -- | The Amazon Resource Names (ARNs) of the subnets that are configured for+ -- an agent activated in a VPC or an agent that has access to a VPC+ -- endpoint.+ subnetArns :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+ -- | The ID of the VPC endpoint that is configured for an agent. An agent+ -- that is configured with a VPC endpoint will not be accessible over the+ -- public internet.+ vpcEndpointId :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PrivateLinkConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'privateLinkEndpoint', 'privateLinkConfig_privateLinkEndpoint' - The private endpoint that is configured for an agent that has access to+-- IP addresses in a+-- <https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-service.html PrivateLink>.+-- An agent that is configured with this endpoint will not be accessible+-- over the public internet.+--+-- 'securityGroupArns', 'privateLinkConfig_securityGroupArns' - The Amazon Resource Names (ARNs) of the security groups that are+-- configured for the EC2 resource that hosts an agent activated in a VPC+-- or an agent that has access to a VPC endpoint.+--+-- 'subnetArns', 'privateLinkConfig_subnetArns' - The Amazon Resource Names (ARNs) of the subnets that are configured for+-- an agent activated in a VPC or an agent that has access to a VPC+-- endpoint.+--+-- 'vpcEndpointId', 'privateLinkConfig_vpcEndpointId' - The ID of the VPC endpoint that is configured for an agent. An agent+-- that is configured with a VPC endpoint will not be accessible over the+-- public internet.+newPrivateLinkConfig ::+ PrivateLinkConfig+newPrivateLinkConfig =+ PrivateLinkConfig'+ { privateLinkEndpoint =+ Prelude.Nothing,+ securityGroupArns = Prelude.Nothing,+ subnetArns = Prelude.Nothing,+ vpcEndpointId = Prelude.Nothing+ }++-- | The private endpoint that is configured for an agent that has access to+-- IP addresses in a+-- <https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-service.html PrivateLink>.+-- An agent that is configured with this endpoint will not be accessible+-- over the public internet.+privateLinkConfig_privateLinkEndpoint :: Lens.Lens' PrivateLinkConfig (Prelude.Maybe Prelude.Text)+privateLinkConfig_privateLinkEndpoint = Lens.lens (\PrivateLinkConfig' {privateLinkEndpoint} -> privateLinkEndpoint) (\s@PrivateLinkConfig' {} a -> s {privateLinkEndpoint = a} :: PrivateLinkConfig)++-- | The Amazon Resource Names (ARNs) of the security groups that are+-- configured for the EC2 resource that hosts an agent activated in a VPC+-- or an agent that has access to a VPC endpoint.+privateLinkConfig_securityGroupArns :: Lens.Lens' PrivateLinkConfig (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+privateLinkConfig_securityGroupArns = Lens.lens (\PrivateLinkConfig' {securityGroupArns} -> securityGroupArns) (\s@PrivateLinkConfig' {} a -> s {securityGroupArns = a} :: PrivateLinkConfig) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Resource Names (ARNs) of the subnets that are configured for+-- an agent activated in a VPC or an agent that has access to a VPC+-- endpoint.+privateLinkConfig_subnetArns :: Lens.Lens' PrivateLinkConfig (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+privateLinkConfig_subnetArns = Lens.lens (\PrivateLinkConfig' {subnetArns} -> subnetArns) (\s@PrivateLinkConfig' {} a -> s {subnetArns = a} :: PrivateLinkConfig) Prelude.. Lens.mapping Lens.coerced++-- | The ID of the VPC endpoint that is configured for an agent. An agent+-- that is configured with a VPC endpoint will not be accessible over the+-- public internet.+privateLinkConfig_vpcEndpointId :: Lens.Lens' PrivateLinkConfig (Prelude.Maybe Prelude.Text)+privateLinkConfig_vpcEndpointId = Lens.lens (\PrivateLinkConfig' {vpcEndpointId} -> vpcEndpointId) (\s@PrivateLinkConfig' {} a -> s {vpcEndpointId = a} :: PrivateLinkConfig)++instance Data.FromJSON PrivateLinkConfig where+ parseJSON =+ Data.withObject+ "PrivateLinkConfig"+ ( \x ->+ PrivateLinkConfig'+ Prelude.<$> (x Data..:? "PrivateLinkEndpoint")+ Prelude.<*> (x Data..:? "SecurityGroupArns")+ Prelude.<*> (x Data..:? "SubnetArns")+ Prelude.<*> (x Data..:? "VpcEndpointId")+ )++instance Prelude.Hashable PrivateLinkConfig where+ hashWithSalt _salt PrivateLinkConfig' {..} =+ _salt+ `Prelude.hashWithSalt` privateLinkEndpoint+ `Prelude.hashWithSalt` securityGroupArns+ `Prelude.hashWithSalt` subnetArns+ `Prelude.hashWithSalt` vpcEndpointId++instance Prelude.NFData PrivateLinkConfig where+ rnf PrivateLinkConfig' {..} =+ Prelude.rnf privateLinkEndpoint+ `Prelude.seq` Prelude.rnf securityGroupArns+ `Prelude.seq` Prelude.rnf subnetArns+ `Prelude.seq` Prelude.rnf vpcEndpointId
+ gen/Amazonka/DataSync/Types/QopConfiguration.hs view
@@ -0,0 +1,111 @@+{-# 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.DataSync.Types.QopConfiguration+-- 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.DataSync.Types.QopConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DataSync.Types.HdfsDataTransferProtection+import Amazonka.DataSync.Types.HdfsRpcProtection+import qualified Amazonka.Prelude as Prelude++-- | The Quality of Protection (QOP) configuration specifies the Remote+-- Procedure Call (RPC) and data transfer privacy settings configured on+-- the Hadoop Distributed File System (HDFS) cluster.+--+-- /See:/ 'newQopConfiguration' smart constructor.+data QopConfiguration = QopConfiguration'+ { -- | The data transfer protection setting configured on the HDFS cluster.+ -- This setting corresponds to your @dfs.data.transfer.protection@ setting+ -- in the @hdfs-site.xml@ file on your Hadoop cluster.+ dataTransferProtection :: Prelude.Maybe HdfsDataTransferProtection,+ -- | The RPC protection setting configured on the HDFS cluster. This setting+ -- corresponds to your @hadoop.rpc.protection@ setting in your+ -- @core-site.xml@ file on your Hadoop cluster.+ rpcProtection :: Prelude.Maybe HdfsRpcProtection+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'QopConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataTransferProtection', 'qopConfiguration_dataTransferProtection' - The data transfer protection setting configured on the HDFS cluster.+-- This setting corresponds to your @dfs.data.transfer.protection@ setting+-- in the @hdfs-site.xml@ file on your Hadoop cluster.+--+-- 'rpcProtection', 'qopConfiguration_rpcProtection' - The RPC protection setting configured on the HDFS cluster. This setting+-- corresponds to your @hadoop.rpc.protection@ setting in your+-- @core-site.xml@ file on your Hadoop cluster.+newQopConfiguration ::+ QopConfiguration+newQopConfiguration =+ QopConfiguration'+ { dataTransferProtection =+ Prelude.Nothing,+ rpcProtection = Prelude.Nothing+ }++-- | The data transfer protection setting configured on the HDFS cluster.+-- This setting corresponds to your @dfs.data.transfer.protection@ setting+-- in the @hdfs-site.xml@ file on your Hadoop cluster.+qopConfiguration_dataTransferProtection :: Lens.Lens' QopConfiguration (Prelude.Maybe HdfsDataTransferProtection)+qopConfiguration_dataTransferProtection = Lens.lens (\QopConfiguration' {dataTransferProtection} -> dataTransferProtection) (\s@QopConfiguration' {} a -> s {dataTransferProtection = a} :: QopConfiguration)++-- | The RPC protection setting configured on the HDFS cluster. This setting+-- corresponds to your @hadoop.rpc.protection@ setting in your+-- @core-site.xml@ file on your Hadoop cluster.+qopConfiguration_rpcProtection :: Lens.Lens' QopConfiguration (Prelude.Maybe HdfsRpcProtection)+qopConfiguration_rpcProtection = Lens.lens (\QopConfiguration' {rpcProtection} -> rpcProtection) (\s@QopConfiguration' {} a -> s {rpcProtection = a} :: QopConfiguration)++instance Data.FromJSON QopConfiguration where+ parseJSON =+ Data.withObject+ "QopConfiguration"+ ( \x ->+ QopConfiguration'+ Prelude.<$> (x Data..:? "DataTransferProtection")+ Prelude.<*> (x Data..:? "RpcProtection")+ )++instance Prelude.Hashable QopConfiguration where+ hashWithSalt _salt QopConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` dataTransferProtection+ `Prelude.hashWithSalt` rpcProtection++instance Prelude.NFData QopConfiguration where+ rnf QopConfiguration' {..} =+ Prelude.rnf dataTransferProtection+ `Prelude.seq` Prelude.rnf rpcProtection++instance Data.ToJSON QopConfiguration where+ toJSON QopConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("DataTransferProtection" Data..=)+ Prelude.<$> dataTransferProtection,+ ("RpcProtection" Data..=) Prelude.<$> rpcProtection+ ]+ )
+ gen/Amazonka/DataSync/Types/S3Config.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DataSync.Types.S3Config+-- 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.DataSync.Types.S3Config 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 Amazon Resource Name (ARN) of the Identity and Access Management+-- (IAM) role used to access an Amazon S3 bucket.+--+-- For detailed information about using such a role, see Creating a+-- Location for Amazon S3 in the /DataSync User Guide/.+--+-- /See:/ 'newS3Config' smart constructor.+data S3Config = S3Config'+ { -- | The ARN of the IAM role for accessing the S3 bucket.+ bucketAccessRoleArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'S3Config' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'bucketAccessRoleArn', 's3Config_bucketAccessRoleArn' - The ARN of the IAM role for accessing the S3 bucket.+newS3Config ::+ -- | 'bucketAccessRoleArn'+ Prelude.Text ->+ S3Config+newS3Config pBucketAccessRoleArn_ =+ S3Config'+ { bucketAccessRoleArn =+ pBucketAccessRoleArn_+ }++-- | The ARN of the IAM role for accessing the S3 bucket.+s3Config_bucketAccessRoleArn :: Lens.Lens' S3Config Prelude.Text+s3Config_bucketAccessRoleArn = Lens.lens (\S3Config' {bucketAccessRoleArn} -> bucketAccessRoleArn) (\s@S3Config' {} a -> s {bucketAccessRoleArn = a} :: S3Config)++instance Data.FromJSON S3Config where+ parseJSON =+ Data.withObject+ "S3Config"+ ( \x ->+ S3Config'+ Prelude.<$> (x Data..: "BucketAccessRoleArn")+ )++instance Prelude.Hashable S3Config where+ hashWithSalt _salt S3Config' {..} =+ _salt `Prelude.hashWithSalt` bucketAccessRoleArn++instance Prelude.NFData S3Config where+ rnf S3Config' {..} = Prelude.rnf bucketAccessRoleArn++instance Data.ToJSON S3Config where+ toJSON S3Config' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("BucketAccessRoleArn" Data..= bucketAccessRoleArn)+ ]+ )
+ gen/Amazonka/DataSync/Types/S3StorageClass.hs view
@@ -0,0 +1,101 @@+{-# 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.DataSync.Types.S3StorageClass+-- 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.DataSync.Types.S3StorageClass+ ( S3StorageClass+ ( ..,+ S3StorageClass_DEEP_ARCHIVE,+ S3StorageClass_GLACIER,+ S3StorageClass_GLACIER_INSTANT_RETRIEVAL,+ S3StorageClass_INTELLIGENT_TIERING,+ S3StorageClass_ONEZONE_IA,+ S3StorageClass_OUTPOSTS,+ S3StorageClass_STANDARD,+ S3StorageClass_STANDARD_IA+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype S3StorageClass = S3StorageClass'+ { fromS3StorageClass ::+ 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 S3StorageClass_DEEP_ARCHIVE :: S3StorageClass+pattern S3StorageClass_DEEP_ARCHIVE = S3StorageClass' "DEEP_ARCHIVE"++pattern S3StorageClass_GLACIER :: S3StorageClass+pattern S3StorageClass_GLACIER = S3StorageClass' "GLACIER"++pattern S3StorageClass_GLACIER_INSTANT_RETRIEVAL :: S3StorageClass+pattern S3StorageClass_GLACIER_INSTANT_RETRIEVAL = S3StorageClass' "GLACIER_INSTANT_RETRIEVAL"++pattern S3StorageClass_INTELLIGENT_TIERING :: S3StorageClass+pattern S3StorageClass_INTELLIGENT_TIERING = S3StorageClass' "INTELLIGENT_TIERING"++pattern S3StorageClass_ONEZONE_IA :: S3StorageClass+pattern S3StorageClass_ONEZONE_IA = S3StorageClass' "ONEZONE_IA"++pattern S3StorageClass_OUTPOSTS :: S3StorageClass+pattern S3StorageClass_OUTPOSTS = S3StorageClass' "OUTPOSTS"++pattern S3StorageClass_STANDARD :: S3StorageClass+pattern S3StorageClass_STANDARD = S3StorageClass' "STANDARD"++pattern S3StorageClass_STANDARD_IA :: S3StorageClass+pattern S3StorageClass_STANDARD_IA = S3StorageClass' "STANDARD_IA"++{-# COMPLETE+ S3StorageClass_DEEP_ARCHIVE,+ S3StorageClass_GLACIER,+ S3StorageClass_GLACIER_INSTANT_RETRIEVAL,+ S3StorageClass_INTELLIGENT_TIERING,+ S3StorageClass_ONEZONE_IA,+ S3StorageClass_OUTPOSTS,+ S3StorageClass_STANDARD,+ S3StorageClass_STANDARD_IA,+ S3StorageClass'+ #-}
+ gen/Amazonka/DataSync/Types/SmbMountOptions.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.DataSync.Types.SmbMountOptions+-- 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.DataSync.Types.SmbMountOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DataSync.Types.SmbVersion+import qualified Amazonka.Prelude as Prelude++-- | Specifies how DataSync can access a location using the SMB protocol.+--+-- /See:/ 'newSmbMountOptions' smart constructor.+data SmbMountOptions = SmbMountOptions'+ { -- | Specifies the SMB version that you want DataSync to use when mounting+ -- your SMB share. If you don\'t specify a version, DataSync defaults to+ -- @AUTOMATIC@ and chooses a version based on negotiation with the SMB+ -- server.+ version :: Prelude.Maybe SmbVersion+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SmbMountOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'version', 'smbMountOptions_version' - Specifies the SMB version that you want DataSync to use when mounting+-- your SMB share. If you don\'t specify a version, DataSync defaults to+-- @AUTOMATIC@ and chooses a version based on negotiation with the SMB+-- server.+newSmbMountOptions ::+ SmbMountOptions+newSmbMountOptions =+ SmbMountOptions' {version = Prelude.Nothing}++-- | Specifies the SMB version that you want DataSync to use when mounting+-- your SMB share. If you don\'t specify a version, DataSync defaults to+-- @AUTOMATIC@ and chooses a version based on negotiation with the SMB+-- server.+smbMountOptions_version :: Lens.Lens' SmbMountOptions (Prelude.Maybe SmbVersion)+smbMountOptions_version = Lens.lens (\SmbMountOptions' {version} -> version) (\s@SmbMountOptions' {} a -> s {version = a} :: SmbMountOptions)++instance Data.FromJSON SmbMountOptions where+ parseJSON =+ Data.withObject+ "SmbMountOptions"+ ( \x ->+ SmbMountOptions' Prelude.<$> (x Data..:? "Version")+ )++instance Prelude.Hashable SmbMountOptions where+ hashWithSalt _salt SmbMountOptions' {..} =+ _salt `Prelude.hashWithSalt` version++instance Prelude.NFData SmbMountOptions where+ rnf SmbMountOptions' {..} = Prelude.rnf version++instance Data.ToJSON SmbMountOptions where+ toJSON SmbMountOptions' {..} =+ Data.object+ ( Prelude.catMaybes+ [("Version" Data..=) Prelude.<$> version]+ )
+ gen/Amazonka/DataSync/Types/SmbSecurityDescriptorCopyFlags.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.DataSync.Types.SmbSecurityDescriptorCopyFlags+-- 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.DataSync.Types.SmbSecurityDescriptorCopyFlags+ ( SmbSecurityDescriptorCopyFlags+ ( ..,+ SmbSecurityDescriptorCopyFlags_NONE,+ SmbSecurityDescriptorCopyFlags_OWNER_DACL,+ SmbSecurityDescriptorCopyFlags_OWNER_DACL_SACL+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SmbSecurityDescriptorCopyFlags = SmbSecurityDescriptorCopyFlags'+ { fromSmbSecurityDescriptorCopyFlags ::+ 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 SmbSecurityDescriptorCopyFlags_NONE :: SmbSecurityDescriptorCopyFlags+pattern SmbSecurityDescriptorCopyFlags_NONE = SmbSecurityDescriptorCopyFlags' "NONE"++pattern SmbSecurityDescriptorCopyFlags_OWNER_DACL :: SmbSecurityDescriptorCopyFlags+pattern SmbSecurityDescriptorCopyFlags_OWNER_DACL = SmbSecurityDescriptorCopyFlags' "OWNER_DACL"++pattern SmbSecurityDescriptorCopyFlags_OWNER_DACL_SACL :: SmbSecurityDescriptorCopyFlags+pattern SmbSecurityDescriptorCopyFlags_OWNER_DACL_SACL = SmbSecurityDescriptorCopyFlags' "OWNER_DACL_SACL"++{-# COMPLETE+ SmbSecurityDescriptorCopyFlags_NONE,+ SmbSecurityDescriptorCopyFlags_OWNER_DACL,+ SmbSecurityDescriptorCopyFlags_OWNER_DACL_SACL,+ SmbSecurityDescriptorCopyFlags'+ #-}
+ gen/Amazonka/DataSync/Types/SmbVersion.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.DataSync.Types.SmbVersion+-- 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.DataSync.Types.SmbVersion+ ( SmbVersion+ ( ..,+ SmbVersion_AUTOMATIC,+ SmbVersion_SMB2,+ SmbVersion_SMB3+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SmbVersion = SmbVersion'+ { fromSmbVersion ::+ 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 SmbVersion_AUTOMATIC :: SmbVersion+pattern SmbVersion_AUTOMATIC = SmbVersion' "AUTOMATIC"++pattern SmbVersion_SMB2 :: SmbVersion+pattern SmbVersion_SMB2 = SmbVersion' "SMB2"++pattern SmbVersion_SMB3 :: SmbVersion+pattern SmbVersion_SMB3 = SmbVersion' "SMB3"++{-# COMPLETE+ SmbVersion_AUTOMATIC,+ SmbVersion_SMB2,+ SmbVersion_SMB3,+ SmbVersion'+ #-}
+ gen/Amazonka/DataSync/Types/TagListEntry.hs view
@@ -0,0 +1,92 @@+{-# 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.DataSync.Types.TagListEntry+-- 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.DataSync.Types.TagListEntry 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 key-value pair representing a single tag that\'s been applied to an+-- Amazon Web Services resource.+--+-- /See:/ 'newTagListEntry' smart constructor.+data TagListEntry = TagListEntry'+ { -- | The value for an Amazon Web Services resource tag.+ value :: Prelude.Maybe Prelude.Text,+ -- | The key for an Amazon Web Services resource tag.+ key :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagListEntry' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'value', 'tagListEntry_value' - The value for an Amazon Web Services resource tag.+--+-- 'key', 'tagListEntry_key' - The key for an Amazon Web Services resource tag.+newTagListEntry ::+ -- | 'key'+ Prelude.Text ->+ TagListEntry+newTagListEntry pKey_ =+ TagListEntry' {value = Prelude.Nothing, key = pKey_}++-- | The value for an Amazon Web Services resource tag.+tagListEntry_value :: Lens.Lens' TagListEntry (Prelude.Maybe Prelude.Text)+tagListEntry_value = Lens.lens (\TagListEntry' {value} -> value) (\s@TagListEntry' {} a -> s {value = a} :: TagListEntry)++-- | The key for an Amazon Web Services resource tag.+tagListEntry_key :: Lens.Lens' TagListEntry Prelude.Text+tagListEntry_key = Lens.lens (\TagListEntry' {key} -> key) (\s@TagListEntry' {} a -> s {key = a} :: TagListEntry)++instance Data.FromJSON TagListEntry where+ parseJSON =+ Data.withObject+ "TagListEntry"+ ( \x ->+ TagListEntry'+ Prelude.<$> (x Data..:? "Value")+ Prelude.<*> (x Data..: "Key")+ )++instance Prelude.Hashable TagListEntry where+ hashWithSalt _salt TagListEntry' {..} =+ _salt+ `Prelude.hashWithSalt` value+ `Prelude.hashWithSalt` key++instance Prelude.NFData TagListEntry where+ rnf TagListEntry' {..} =+ Prelude.rnf value `Prelude.seq` Prelude.rnf key++instance Data.ToJSON TagListEntry where+ toJSON TagListEntry' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Value" Data..=) Prelude.<$> value,+ Prelude.Just ("Key" Data..= key)+ ]+ )
+ gen/Amazonka/DataSync/Types/TaskExecutionListEntry.hs view
@@ -0,0 +1,89 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DataSync.Types.TaskExecutionListEntry+-- 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.DataSync.Types.TaskExecutionListEntry where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DataSync.Types.TaskExecutionStatus+import qualified Amazonka.Prelude as Prelude++-- | Represents a single entry in a list of task executions.+-- @TaskExecutionListEntry@ returns an array that contains a list of+-- specific invocations of a task when the+-- <https://docs.aws.amazon.com/datasync/latest/userguide/API_ListTaskExecutions.html ListTaskExecutions>+-- operation is called.+--+-- /See:/ 'newTaskExecutionListEntry' smart constructor.+data TaskExecutionListEntry = TaskExecutionListEntry'+ { -- | The status of a task execution.+ status :: Prelude.Maybe TaskExecutionStatus,+ -- | The Amazon Resource Name (ARN) of the task that was executed.+ taskExecutionArn :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TaskExecutionListEntry' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'status', 'taskExecutionListEntry_status' - The status of a task execution.+--+-- 'taskExecutionArn', 'taskExecutionListEntry_taskExecutionArn' - The Amazon Resource Name (ARN) of the task that was executed.+newTaskExecutionListEntry ::+ TaskExecutionListEntry+newTaskExecutionListEntry =+ TaskExecutionListEntry'+ { status = Prelude.Nothing,+ taskExecutionArn = Prelude.Nothing+ }++-- | The status of a task execution.+taskExecutionListEntry_status :: Lens.Lens' TaskExecutionListEntry (Prelude.Maybe TaskExecutionStatus)+taskExecutionListEntry_status = Lens.lens (\TaskExecutionListEntry' {status} -> status) (\s@TaskExecutionListEntry' {} a -> s {status = a} :: TaskExecutionListEntry)++-- | The Amazon Resource Name (ARN) of the task that was executed.+taskExecutionListEntry_taskExecutionArn :: Lens.Lens' TaskExecutionListEntry (Prelude.Maybe Prelude.Text)+taskExecutionListEntry_taskExecutionArn = Lens.lens (\TaskExecutionListEntry' {taskExecutionArn} -> taskExecutionArn) (\s@TaskExecutionListEntry' {} a -> s {taskExecutionArn = a} :: TaskExecutionListEntry)++instance Data.FromJSON TaskExecutionListEntry where+ parseJSON =+ Data.withObject+ "TaskExecutionListEntry"+ ( \x ->+ TaskExecutionListEntry'+ Prelude.<$> (x Data..:? "Status")+ Prelude.<*> (x Data..:? "TaskExecutionArn")+ )++instance Prelude.Hashable TaskExecutionListEntry where+ hashWithSalt _salt TaskExecutionListEntry' {..} =+ _salt+ `Prelude.hashWithSalt` status+ `Prelude.hashWithSalt` taskExecutionArn++instance Prelude.NFData TaskExecutionListEntry where+ rnf TaskExecutionListEntry' {..} =+ Prelude.rnf status+ `Prelude.seq` Prelude.rnf taskExecutionArn
+ gen/Amazonka/DataSync/Types/TaskExecutionResultDetail.hs view
@@ -0,0 +1,190 @@+{-# 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.DataSync.Types.TaskExecutionResultDetail+-- 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.DataSync.Types.TaskExecutionResultDetail where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DataSync.Types.PhaseStatus+import qualified Amazonka.Prelude as Prelude++-- | Describes the detailed result of a @TaskExecution@ operation. This+-- result includes the time in milliseconds spent in each phase, the status+-- of the task execution, and the errors encountered.+--+-- /See:/ 'newTaskExecutionResultDetail' smart constructor.+data TaskExecutionResultDetail = TaskExecutionResultDetail'+ { -- | Errors that DataSync encountered during execution of the task. You can+ -- use this error code to help troubleshoot issues.+ errorCode :: Prelude.Maybe Prelude.Text,+ -- | Detailed description of an error that was encountered during the task+ -- execution. You can use this information to help troubleshoot issues.+ errorDetail :: Prelude.Maybe Prelude.Text,+ -- | The total time in milliseconds that DataSync spent in the PREPARING+ -- phase.+ prepareDuration :: Prelude.Maybe Prelude.Natural,+ -- | The status of the PREPARING phase.+ prepareStatus :: Prelude.Maybe PhaseStatus,+ -- | The total time in milliseconds that DataSync took to transfer the file+ -- from the source to the destination location.+ totalDuration :: Prelude.Maybe Prelude.Natural,+ -- | The total time in milliseconds that DataSync spent in the TRANSFERRING+ -- phase.+ transferDuration :: Prelude.Maybe Prelude.Natural,+ -- | The status of the TRANSFERRING phase.+ transferStatus :: Prelude.Maybe PhaseStatus,+ -- | The total time in milliseconds that DataSync spent in the VERIFYING+ -- phase.+ verifyDuration :: Prelude.Maybe Prelude.Natural,+ -- | The status of the VERIFYING phase.+ verifyStatus :: Prelude.Maybe PhaseStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TaskExecutionResultDetail' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'errorCode', 'taskExecutionResultDetail_errorCode' - Errors that DataSync encountered during execution of the task. You can+-- use this error code to help troubleshoot issues.+--+-- 'errorDetail', 'taskExecutionResultDetail_errorDetail' - Detailed description of an error that was encountered during the task+-- execution. You can use this information to help troubleshoot issues.+--+-- 'prepareDuration', 'taskExecutionResultDetail_prepareDuration' - The total time in milliseconds that DataSync spent in the PREPARING+-- phase.+--+-- 'prepareStatus', 'taskExecutionResultDetail_prepareStatus' - The status of the PREPARING phase.+--+-- 'totalDuration', 'taskExecutionResultDetail_totalDuration' - The total time in milliseconds that DataSync took to transfer the file+-- from the source to the destination location.+--+-- 'transferDuration', 'taskExecutionResultDetail_transferDuration' - The total time in milliseconds that DataSync spent in the TRANSFERRING+-- phase.+--+-- 'transferStatus', 'taskExecutionResultDetail_transferStatus' - The status of the TRANSFERRING phase.+--+-- 'verifyDuration', 'taskExecutionResultDetail_verifyDuration' - The total time in milliseconds that DataSync spent in the VERIFYING+-- phase.+--+-- 'verifyStatus', 'taskExecutionResultDetail_verifyStatus' - The status of the VERIFYING phase.+newTaskExecutionResultDetail ::+ TaskExecutionResultDetail+newTaskExecutionResultDetail =+ TaskExecutionResultDetail'+ { errorCode =+ Prelude.Nothing,+ errorDetail = Prelude.Nothing,+ prepareDuration = Prelude.Nothing,+ prepareStatus = Prelude.Nothing,+ totalDuration = Prelude.Nothing,+ transferDuration = Prelude.Nothing,+ transferStatus = Prelude.Nothing,+ verifyDuration = Prelude.Nothing,+ verifyStatus = Prelude.Nothing+ }++-- | Errors that DataSync encountered during execution of the task. You can+-- use this error code to help troubleshoot issues.+taskExecutionResultDetail_errorCode :: Lens.Lens' TaskExecutionResultDetail (Prelude.Maybe Prelude.Text)+taskExecutionResultDetail_errorCode = Lens.lens (\TaskExecutionResultDetail' {errorCode} -> errorCode) (\s@TaskExecutionResultDetail' {} a -> s {errorCode = a} :: TaskExecutionResultDetail)++-- | Detailed description of an error that was encountered during the task+-- execution. You can use this information to help troubleshoot issues.+taskExecutionResultDetail_errorDetail :: Lens.Lens' TaskExecutionResultDetail (Prelude.Maybe Prelude.Text)+taskExecutionResultDetail_errorDetail = Lens.lens (\TaskExecutionResultDetail' {errorDetail} -> errorDetail) (\s@TaskExecutionResultDetail' {} a -> s {errorDetail = a} :: TaskExecutionResultDetail)++-- | The total time in milliseconds that DataSync spent in the PREPARING+-- phase.+taskExecutionResultDetail_prepareDuration :: Lens.Lens' TaskExecutionResultDetail (Prelude.Maybe Prelude.Natural)+taskExecutionResultDetail_prepareDuration = Lens.lens (\TaskExecutionResultDetail' {prepareDuration} -> prepareDuration) (\s@TaskExecutionResultDetail' {} a -> s {prepareDuration = a} :: TaskExecutionResultDetail)++-- | The status of the PREPARING phase.+taskExecutionResultDetail_prepareStatus :: Lens.Lens' TaskExecutionResultDetail (Prelude.Maybe PhaseStatus)+taskExecutionResultDetail_prepareStatus = Lens.lens (\TaskExecutionResultDetail' {prepareStatus} -> prepareStatus) (\s@TaskExecutionResultDetail' {} a -> s {prepareStatus = a} :: TaskExecutionResultDetail)++-- | The total time in milliseconds that DataSync took to transfer the file+-- from the source to the destination location.+taskExecutionResultDetail_totalDuration :: Lens.Lens' TaskExecutionResultDetail (Prelude.Maybe Prelude.Natural)+taskExecutionResultDetail_totalDuration = Lens.lens (\TaskExecutionResultDetail' {totalDuration} -> totalDuration) (\s@TaskExecutionResultDetail' {} a -> s {totalDuration = a} :: TaskExecutionResultDetail)++-- | The total time in milliseconds that DataSync spent in the TRANSFERRING+-- phase.+taskExecutionResultDetail_transferDuration :: Lens.Lens' TaskExecutionResultDetail (Prelude.Maybe Prelude.Natural)+taskExecutionResultDetail_transferDuration = Lens.lens (\TaskExecutionResultDetail' {transferDuration} -> transferDuration) (\s@TaskExecutionResultDetail' {} a -> s {transferDuration = a} :: TaskExecutionResultDetail)++-- | The status of the TRANSFERRING phase.+taskExecutionResultDetail_transferStatus :: Lens.Lens' TaskExecutionResultDetail (Prelude.Maybe PhaseStatus)+taskExecutionResultDetail_transferStatus = Lens.lens (\TaskExecutionResultDetail' {transferStatus} -> transferStatus) (\s@TaskExecutionResultDetail' {} a -> s {transferStatus = a} :: TaskExecutionResultDetail)++-- | The total time in milliseconds that DataSync spent in the VERIFYING+-- phase.+taskExecutionResultDetail_verifyDuration :: Lens.Lens' TaskExecutionResultDetail (Prelude.Maybe Prelude.Natural)+taskExecutionResultDetail_verifyDuration = Lens.lens (\TaskExecutionResultDetail' {verifyDuration} -> verifyDuration) (\s@TaskExecutionResultDetail' {} a -> s {verifyDuration = a} :: TaskExecutionResultDetail)++-- | The status of the VERIFYING phase.+taskExecutionResultDetail_verifyStatus :: Lens.Lens' TaskExecutionResultDetail (Prelude.Maybe PhaseStatus)+taskExecutionResultDetail_verifyStatus = Lens.lens (\TaskExecutionResultDetail' {verifyStatus} -> verifyStatus) (\s@TaskExecutionResultDetail' {} a -> s {verifyStatus = a} :: TaskExecutionResultDetail)++instance Data.FromJSON TaskExecutionResultDetail where+ parseJSON =+ Data.withObject+ "TaskExecutionResultDetail"+ ( \x ->+ TaskExecutionResultDetail'+ Prelude.<$> (x Data..:? "ErrorCode")+ Prelude.<*> (x Data..:? "ErrorDetail")+ Prelude.<*> (x Data..:? "PrepareDuration")+ Prelude.<*> (x Data..:? "PrepareStatus")+ Prelude.<*> (x Data..:? "TotalDuration")+ Prelude.<*> (x Data..:? "TransferDuration")+ Prelude.<*> (x Data..:? "TransferStatus")+ Prelude.<*> (x Data..:? "VerifyDuration")+ Prelude.<*> (x Data..:? "VerifyStatus")+ )++instance Prelude.Hashable TaskExecutionResultDetail where+ hashWithSalt _salt TaskExecutionResultDetail' {..} =+ _salt+ `Prelude.hashWithSalt` errorCode+ `Prelude.hashWithSalt` errorDetail+ `Prelude.hashWithSalt` prepareDuration+ `Prelude.hashWithSalt` prepareStatus+ `Prelude.hashWithSalt` totalDuration+ `Prelude.hashWithSalt` transferDuration+ `Prelude.hashWithSalt` transferStatus+ `Prelude.hashWithSalt` verifyDuration+ `Prelude.hashWithSalt` verifyStatus++instance Prelude.NFData TaskExecutionResultDetail where+ rnf TaskExecutionResultDetail' {..} =+ Prelude.rnf errorCode+ `Prelude.seq` Prelude.rnf errorDetail+ `Prelude.seq` Prelude.rnf prepareDuration+ `Prelude.seq` Prelude.rnf prepareStatus+ `Prelude.seq` Prelude.rnf totalDuration+ `Prelude.seq` Prelude.rnf transferDuration+ `Prelude.seq` Prelude.rnf transferStatus+ `Prelude.seq` Prelude.rnf verifyDuration+ `Prelude.seq` Prelude.rnf verifyStatus
+ gen/Amazonka/DataSync/Types/TaskExecutionStatus.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.DataSync.Types.TaskExecutionStatus+-- 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.DataSync.Types.TaskExecutionStatus+ ( TaskExecutionStatus+ ( ..,+ TaskExecutionStatus_ERROR,+ TaskExecutionStatus_LAUNCHING,+ TaskExecutionStatus_PREPARING,+ TaskExecutionStatus_QUEUED,+ TaskExecutionStatus_SUCCESS,+ TaskExecutionStatus_TRANSFERRING,+ TaskExecutionStatus_VERIFYING+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype TaskExecutionStatus = TaskExecutionStatus'+ { fromTaskExecutionStatus ::+ 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 TaskExecutionStatus_ERROR :: TaskExecutionStatus+pattern TaskExecutionStatus_ERROR = TaskExecutionStatus' "ERROR"++pattern TaskExecutionStatus_LAUNCHING :: TaskExecutionStatus+pattern TaskExecutionStatus_LAUNCHING = TaskExecutionStatus' "LAUNCHING"++pattern TaskExecutionStatus_PREPARING :: TaskExecutionStatus+pattern TaskExecutionStatus_PREPARING = TaskExecutionStatus' "PREPARING"++pattern TaskExecutionStatus_QUEUED :: TaskExecutionStatus+pattern TaskExecutionStatus_QUEUED = TaskExecutionStatus' "QUEUED"++pattern TaskExecutionStatus_SUCCESS :: TaskExecutionStatus+pattern TaskExecutionStatus_SUCCESS = TaskExecutionStatus' "SUCCESS"++pattern TaskExecutionStatus_TRANSFERRING :: TaskExecutionStatus+pattern TaskExecutionStatus_TRANSFERRING = TaskExecutionStatus' "TRANSFERRING"++pattern TaskExecutionStatus_VERIFYING :: TaskExecutionStatus+pattern TaskExecutionStatus_VERIFYING = TaskExecutionStatus' "VERIFYING"++{-# COMPLETE+ TaskExecutionStatus_ERROR,+ TaskExecutionStatus_LAUNCHING,+ TaskExecutionStatus_PREPARING,+ TaskExecutionStatus_QUEUED,+ TaskExecutionStatus_SUCCESS,+ TaskExecutionStatus_TRANSFERRING,+ TaskExecutionStatus_VERIFYING,+ TaskExecutionStatus'+ #-}
+ gen/Amazonka/DataSync/Types/TaskFilter.hs view
@@ -0,0 +1,119 @@+{-# 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.DataSync.Types.TaskFilter+-- 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.DataSync.Types.TaskFilter where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DataSync.Types.Operator+import Amazonka.DataSync.Types.TaskFilterName+import qualified Amazonka.Prelude as Prelude++-- | You can use API filters to narrow down the list of resources returned by+-- @ListTasks@. For example, to retrieve all tasks on a source location,+-- you can use @ListTasks@ with filter name @LocationId@ and+-- @Operator Equals@ with the ARN for the location.+--+-- For more information, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/query-resources.html filtering DataSync resources>.+--+-- /See:/ 'newTaskFilter' smart constructor.+data TaskFilter = TaskFilter'+ { -- | The name of the filter being used. Each API call supports a list of+ -- filters that are available for it. For example, @LocationId@ for+ -- @ListTasks@.+ name :: TaskFilterName,+ -- | The values that you want to filter for. For example, you might want to+ -- display only tasks for a specific destination location.+ values :: [Prelude.Text],+ -- | The operator that is used to compare filter values (for example,+ -- @Equals@ or @Contains@).+ operator :: Operator+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TaskFilter' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'taskFilter_name' - The name of the filter being used. Each API call supports a list of+-- filters that are available for it. For example, @LocationId@ for+-- @ListTasks@.+--+-- 'values', 'taskFilter_values' - The values that you want to filter for. For example, you might want to+-- display only tasks for a specific destination location.+--+-- 'operator', 'taskFilter_operator' - The operator that is used to compare filter values (for example,+-- @Equals@ or @Contains@).+newTaskFilter ::+ -- | 'name'+ TaskFilterName ->+ -- | 'operator'+ Operator ->+ TaskFilter+newTaskFilter pName_ pOperator_ =+ TaskFilter'+ { name = pName_,+ values = Prelude.mempty,+ operator = pOperator_+ }++-- | The name of the filter being used. Each API call supports a list of+-- filters that are available for it. For example, @LocationId@ for+-- @ListTasks@.+taskFilter_name :: Lens.Lens' TaskFilter TaskFilterName+taskFilter_name = Lens.lens (\TaskFilter' {name} -> name) (\s@TaskFilter' {} a -> s {name = a} :: TaskFilter)++-- | The values that you want to filter for. For example, you might want to+-- display only tasks for a specific destination location.+taskFilter_values :: Lens.Lens' TaskFilter [Prelude.Text]+taskFilter_values = Lens.lens (\TaskFilter' {values} -> values) (\s@TaskFilter' {} a -> s {values = a} :: TaskFilter) Prelude.. Lens.coerced++-- | The operator that is used to compare filter values (for example,+-- @Equals@ or @Contains@).+taskFilter_operator :: Lens.Lens' TaskFilter Operator+taskFilter_operator = Lens.lens (\TaskFilter' {operator} -> operator) (\s@TaskFilter' {} a -> s {operator = a} :: TaskFilter)++instance Prelude.Hashable TaskFilter where+ hashWithSalt _salt TaskFilter' {..} =+ _salt+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` values+ `Prelude.hashWithSalt` operator++instance Prelude.NFData TaskFilter where+ rnf TaskFilter' {..} =+ Prelude.rnf name+ `Prelude.seq` Prelude.rnf values+ `Prelude.seq` Prelude.rnf operator++instance Data.ToJSON TaskFilter where+ toJSON TaskFilter' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("Name" Data..= name),+ Prelude.Just ("Values" Data..= values),+ Prelude.Just ("Operator" Data..= operator)+ ]+ )
+ gen/Amazonka/DataSync/Types/TaskFilterName.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.DataSync.Types.TaskFilterName+-- 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.DataSync.Types.TaskFilterName+ ( TaskFilterName+ ( ..,+ TaskFilterName_CreationTime,+ TaskFilterName_LocationId+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype TaskFilterName = TaskFilterName'+ { fromTaskFilterName ::+ 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 TaskFilterName_CreationTime :: TaskFilterName+pattern TaskFilterName_CreationTime = TaskFilterName' "CreationTime"++pattern TaskFilterName_LocationId :: TaskFilterName+pattern TaskFilterName_LocationId = TaskFilterName' "LocationId"++{-# COMPLETE+ TaskFilterName_CreationTime,+ TaskFilterName_LocationId,+ TaskFilterName'+ #-}
+ gen/Amazonka/DataSync/Types/TaskListEntry.hs view
@@ -0,0 +1,101 @@+{-# 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.DataSync.Types.TaskListEntry+-- 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.DataSync.Types.TaskListEntry where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DataSync.Types.TaskStatus+import qualified Amazonka.Prelude as Prelude++-- | Represents a single entry in a list of tasks. @TaskListEntry@ returns an+-- array that contains a list of tasks when the+-- <https://docs.aws.amazon.com/datasync/latest/userguide/API_ListTasks.html ListTasks>+-- operation is called. A task includes the source and destination file+-- systems to sync and the options to use for the tasks.+--+-- /See:/ 'newTaskListEntry' smart constructor.+data TaskListEntry = TaskListEntry'+ { -- | The name of the task.+ name :: Prelude.Maybe Prelude.Text,+ -- | The status of the task.+ status :: Prelude.Maybe TaskStatus,+ -- | The Amazon Resource Name (ARN) of the task.+ taskArn :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TaskListEntry' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'taskListEntry_name' - The name of the task.+--+-- 'status', 'taskListEntry_status' - The status of the task.+--+-- 'taskArn', 'taskListEntry_taskArn' - The Amazon Resource Name (ARN) of the task.+newTaskListEntry ::+ TaskListEntry+newTaskListEntry =+ TaskListEntry'+ { name = Prelude.Nothing,+ status = Prelude.Nothing,+ taskArn = Prelude.Nothing+ }++-- | The name of the task.+taskListEntry_name :: Lens.Lens' TaskListEntry (Prelude.Maybe Prelude.Text)+taskListEntry_name = Lens.lens (\TaskListEntry' {name} -> name) (\s@TaskListEntry' {} a -> s {name = a} :: TaskListEntry)++-- | The status of the task.+taskListEntry_status :: Lens.Lens' TaskListEntry (Prelude.Maybe TaskStatus)+taskListEntry_status = Lens.lens (\TaskListEntry' {status} -> status) (\s@TaskListEntry' {} a -> s {status = a} :: TaskListEntry)++-- | The Amazon Resource Name (ARN) of the task.+taskListEntry_taskArn :: Lens.Lens' TaskListEntry (Prelude.Maybe Prelude.Text)+taskListEntry_taskArn = Lens.lens (\TaskListEntry' {taskArn} -> taskArn) (\s@TaskListEntry' {} a -> s {taskArn = a} :: TaskListEntry)++instance Data.FromJSON TaskListEntry where+ parseJSON =+ Data.withObject+ "TaskListEntry"+ ( \x ->+ TaskListEntry'+ Prelude.<$> (x Data..:? "Name")+ Prelude.<*> (x Data..:? "Status")+ Prelude.<*> (x Data..:? "TaskArn")+ )++instance Prelude.Hashable TaskListEntry where+ hashWithSalt _salt TaskListEntry' {..} =+ _salt+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` status+ `Prelude.hashWithSalt` taskArn++instance Prelude.NFData TaskListEntry where+ rnf TaskListEntry' {..} =+ Prelude.rnf name+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf taskArn
+ gen/Amazonka/DataSync/Types/TaskQueueing.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.DataSync.Types.TaskQueueing+-- 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.DataSync.Types.TaskQueueing+ ( TaskQueueing+ ( ..,+ TaskQueueing_DISABLED,+ TaskQueueing_ENABLED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype TaskQueueing = TaskQueueing'+ { fromTaskQueueing ::+ 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 TaskQueueing_DISABLED :: TaskQueueing+pattern TaskQueueing_DISABLED = TaskQueueing' "DISABLED"++pattern TaskQueueing_ENABLED :: TaskQueueing+pattern TaskQueueing_ENABLED = TaskQueueing' "ENABLED"++{-# COMPLETE+ TaskQueueing_DISABLED,+ TaskQueueing_ENABLED,+ TaskQueueing'+ #-}
+ gen/Amazonka/DataSync/Types/TaskSchedule.hs view
@@ -0,0 +1,88 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DataSync.Types.TaskSchedule+-- 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.DataSync.Types.TaskSchedule 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++-- | Specifies the schedule you want your task to use for repeated+-- executions. For more information, see+-- <https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html Schedule Expressions for Rules>.+--+-- /See:/ 'newTaskSchedule' smart constructor.+data TaskSchedule = TaskSchedule'+ { -- | A cron expression that specifies when DataSync initiates a scheduled+ -- transfer from a source to a destination location.+ scheduleExpression :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TaskSchedule' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'scheduleExpression', 'taskSchedule_scheduleExpression' - A cron expression that specifies when DataSync initiates a scheduled+-- transfer from a source to a destination location.+newTaskSchedule ::+ -- | 'scheduleExpression'+ Prelude.Text ->+ TaskSchedule+newTaskSchedule pScheduleExpression_ =+ TaskSchedule'+ { scheduleExpression =+ pScheduleExpression_+ }++-- | A cron expression that specifies when DataSync initiates a scheduled+-- transfer from a source to a destination location.+taskSchedule_scheduleExpression :: Lens.Lens' TaskSchedule Prelude.Text+taskSchedule_scheduleExpression = Lens.lens (\TaskSchedule' {scheduleExpression} -> scheduleExpression) (\s@TaskSchedule' {} a -> s {scheduleExpression = a} :: TaskSchedule)++instance Data.FromJSON TaskSchedule where+ parseJSON =+ Data.withObject+ "TaskSchedule"+ ( \x ->+ TaskSchedule'+ Prelude.<$> (x Data..: "ScheduleExpression")+ )++instance Prelude.Hashable TaskSchedule where+ hashWithSalt _salt TaskSchedule' {..} =+ _salt `Prelude.hashWithSalt` scheduleExpression++instance Prelude.NFData TaskSchedule where+ rnf TaskSchedule' {..} =+ Prelude.rnf scheduleExpression++instance Data.ToJSON TaskSchedule where+ toJSON TaskSchedule' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("ScheduleExpression" Data..= scheduleExpression)+ ]+ )
+ gen/Amazonka/DataSync/Types/TaskStatus.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DataSync.Types.TaskStatus+-- 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.DataSync.Types.TaskStatus+ ( TaskStatus+ ( ..,+ TaskStatus_AVAILABLE,+ TaskStatus_CREATING,+ TaskStatus_QUEUED,+ TaskStatus_RUNNING,+ TaskStatus_UNAVAILABLE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype TaskStatus = TaskStatus'+ { fromTaskStatus ::+ 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 TaskStatus_AVAILABLE :: TaskStatus+pattern TaskStatus_AVAILABLE = TaskStatus' "AVAILABLE"++pattern TaskStatus_CREATING :: TaskStatus+pattern TaskStatus_CREATING = TaskStatus' "CREATING"++pattern TaskStatus_QUEUED :: TaskStatus+pattern TaskStatus_QUEUED = TaskStatus' "QUEUED"++pattern TaskStatus_RUNNING :: TaskStatus+pattern TaskStatus_RUNNING = TaskStatus' "RUNNING"++pattern TaskStatus_UNAVAILABLE :: TaskStatus+pattern TaskStatus_UNAVAILABLE = TaskStatus' "UNAVAILABLE"++{-# COMPLETE+ TaskStatus_AVAILABLE,+ TaskStatus_CREATING,+ TaskStatus_QUEUED,+ TaskStatus_RUNNING,+ TaskStatus_UNAVAILABLE,+ TaskStatus'+ #-}
+ gen/Amazonka/DataSync/Types/TransferMode.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.DataSync.Types.TransferMode+-- 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.DataSync.Types.TransferMode+ ( TransferMode+ ( ..,+ TransferMode_ALL,+ TransferMode_CHANGED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype TransferMode = TransferMode'+ { fromTransferMode ::+ 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 TransferMode_ALL :: TransferMode+pattern TransferMode_ALL = TransferMode' "ALL"++pattern TransferMode_CHANGED :: TransferMode+pattern TransferMode_CHANGED = TransferMode' "CHANGED"++{-# COMPLETE+ TransferMode_ALL,+ TransferMode_CHANGED,+ TransferMode'+ #-}
+ gen/Amazonka/DataSync/Types/Uid.hs view
@@ -0,0 +1,78 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DataSync.Types.Uid+-- 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.DataSync.Types.Uid+ ( Uid+ ( ..,+ Uid_BOTH,+ Uid_INT_VALUE,+ Uid_NAME,+ Uid_NONE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype Uid = Uid' {fromUid :: 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 Uid_BOTH :: Uid+pattern Uid_BOTH = Uid' "BOTH"++pattern Uid_INT_VALUE :: Uid+pattern Uid_INT_VALUE = Uid' "INT_VALUE"++pattern Uid_NAME :: Uid+pattern Uid_NAME = Uid' "NAME"++pattern Uid_NONE :: Uid+pattern Uid_NONE = Uid' "NONE"++{-# COMPLETE+ Uid_BOTH,+ Uid_INT_VALUE,+ Uid_NAME,+ Uid_NONE,+ Uid'+ #-}
+ gen/Amazonka/DataSync/Types/VerifyMode.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.DataSync.Types.VerifyMode+-- 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.DataSync.Types.VerifyMode+ ( VerifyMode+ ( ..,+ VerifyMode_NONE,+ VerifyMode_ONLY_FILES_TRANSFERRED,+ VerifyMode_POINT_IN_TIME_CONSISTENT+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype VerifyMode = VerifyMode'+ { fromVerifyMode ::+ 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 VerifyMode_NONE :: VerifyMode+pattern VerifyMode_NONE = VerifyMode' "NONE"++pattern VerifyMode_ONLY_FILES_TRANSFERRED :: VerifyMode+pattern VerifyMode_ONLY_FILES_TRANSFERRED = VerifyMode' "ONLY_FILES_TRANSFERRED"++pattern VerifyMode_POINT_IN_TIME_CONSISTENT :: VerifyMode+pattern VerifyMode_POINT_IN_TIME_CONSISTENT = VerifyMode' "POINT_IN_TIME_CONSISTENT"++{-# COMPLETE+ VerifyMode_NONE,+ VerifyMode_ONLY_FILES_TRANSFERRED,+ VerifyMode_POINT_IN_TIME_CONSISTENT,+ VerifyMode'+ #-}
+ gen/Amazonka/DataSync/UntagResource.hs view
@@ -0,0 +1,176 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DataSync.UntagResource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Removes tags from an Amazon Web Services resource.+module Amazonka.DataSync.UntagResource+ ( -- * Creating a Request+ UntagResource (..),+ newUntagResource,++ -- * Request Lenses+ untagResource_resourceArn,+ untagResource_keys,++ -- * Destructuring the Response+ UntagResourceResponse (..),+ newUntagResourceResponse,++ -- * Response Lenses+ untagResourceResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DataSync.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | UntagResourceRequest+--+-- /See:/ 'newUntagResource' smart constructor.+data UntagResource = UntagResource'+ { -- | Specifies the Amazon Resource Name (ARN) of the resource to remove the+ -- tags from.+ resourceArn :: Prelude.Text,+ -- | Specifies the keys in the tags that you want to remove.+ keys :: Prelude.NonEmpty Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'untagResource_resourceArn' - Specifies the Amazon Resource Name (ARN) of the resource to remove the+-- tags from.+--+-- 'keys', 'untagResource_keys' - Specifies the keys in the tags that you want to remove.+newUntagResource ::+ -- | 'resourceArn'+ Prelude.Text ->+ -- | 'keys'+ Prelude.NonEmpty Prelude.Text ->+ UntagResource+newUntagResource pResourceArn_ pKeys_ =+ UntagResource'+ { resourceArn = pResourceArn_,+ keys = Lens.coerced Lens.# pKeys_+ }++-- | Specifies the Amazon Resource Name (ARN) of the resource to remove the+-- tags from.+untagResource_resourceArn :: Lens.Lens' UntagResource Prelude.Text+untagResource_resourceArn = Lens.lens (\UntagResource' {resourceArn} -> resourceArn) (\s@UntagResource' {} a -> s {resourceArn = a} :: UntagResource)++-- | Specifies the keys in the tags that you want to remove.+untagResource_keys :: Lens.Lens' UntagResource (Prelude.NonEmpty Prelude.Text)+untagResource_keys = Lens.lens (\UntagResource' {keys} -> keys) (\s@UntagResource' {} a -> s {keys = a} :: UntagResource) Prelude.. Lens.coerced++instance Core.AWSRequest UntagResource where+ type+ AWSResponse UntagResource =+ UntagResourceResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ UntagResourceResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UntagResource where+ hashWithSalt _salt UntagResource' {..} =+ _salt+ `Prelude.hashWithSalt` resourceArn+ `Prelude.hashWithSalt` keys++instance Prelude.NFData UntagResource where+ rnf UntagResource' {..} =+ Prelude.rnf resourceArn+ `Prelude.seq` Prelude.rnf keys++instance Data.ToHeaders UntagResource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ("FmrsService.UntagResource" :: Prelude.ByteString),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UntagResource where+ toJSON UntagResource' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("ResourceArn" Data..= resourceArn),+ Prelude.Just ("Keys" Data..= keys)+ ]+ )++instance Data.ToPath UntagResource where+ toPath = Prelude.const "/"++instance Data.ToQuery UntagResource where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUntagResourceResponse' smart constructor.+data UntagResourceResponse = UntagResourceResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'untagResourceResponse_httpStatus' - The response's http status code.+newUntagResourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UntagResourceResponse+newUntagResourceResponse pHttpStatus_ =+ UntagResourceResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+untagResourceResponse_httpStatus :: Lens.Lens' UntagResourceResponse Prelude.Int+untagResourceResponse_httpStatus = Lens.lens (\UntagResourceResponse' {httpStatus} -> httpStatus) (\s@UntagResourceResponse' {} a -> s {httpStatus = a} :: UntagResourceResponse)++instance Prelude.NFData UntagResourceResponse where+ rnf UntagResourceResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/DataSync/UpdateAgent.hs view
@@ -0,0 +1,167 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DataSync.UpdateAgent+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the name of an agent.+module Amazonka.DataSync.UpdateAgent+ ( -- * Creating a Request+ UpdateAgent (..),+ newUpdateAgent,++ -- * Request Lenses+ updateAgent_name,+ updateAgent_agentArn,++ -- * Destructuring the Response+ UpdateAgentResponse (..),+ newUpdateAgentResponse,++ -- * Response Lenses+ updateAgentResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DataSync.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | UpdateAgentRequest+--+-- /See:/ 'newUpdateAgent' smart constructor.+data UpdateAgent = UpdateAgent'+ { -- | The name that you want to use to configure the agent.+ name :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the agent to update.+ agentArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateAgent' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'updateAgent_name' - The name that you want to use to configure the agent.+--+-- 'agentArn', 'updateAgent_agentArn' - The Amazon Resource Name (ARN) of the agent to update.+newUpdateAgent ::+ -- | 'agentArn'+ Prelude.Text ->+ UpdateAgent+newUpdateAgent pAgentArn_ =+ UpdateAgent'+ { name = Prelude.Nothing,+ agentArn = pAgentArn_+ }++-- | The name that you want to use to configure the agent.+updateAgent_name :: Lens.Lens' UpdateAgent (Prelude.Maybe Prelude.Text)+updateAgent_name = Lens.lens (\UpdateAgent' {name} -> name) (\s@UpdateAgent' {} a -> s {name = a} :: UpdateAgent)++-- | The Amazon Resource Name (ARN) of the agent to update.+updateAgent_agentArn :: Lens.Lens' UpdateAgent Prelude.Text+updateAgent_agentArn = Lens.lens (\UpdateAgent' {agentArn} -> agentArn) (\s@UpdateAgent' {} a -> s {agentArn = a} :: UpdateAgent)++instance Core.AWSRequest UpdateAgent where+ type AWSResponse UpdateAgent = UpdateAgentResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ UpdateAgentResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateAgent where+ hashWithSalt _salt UpdateAgent' {..} =+ _salt+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` agentArn++instance Prelude.NFData UpdateAgent where+ rnf UpdateAgent' {..} =+ Prelude.rnf name `Prelude.seq` Prelude.rnf agentArn++instance Data.ToHeaders UpdateAgent where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ("FmrsService.UpdateAgent" :: Prelude.ByteString),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateAgent where+ toJSON UpdateAgent' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Name" Data..=) Prelude.<$> name,+ Prelude.Just ("AgentArn" Data..= agentArn)+ ]+ )++instance Data.ToPath UpdateAgent where+ toPath = Prelude.const "/"++instance Data.ToQuery UpdateAgent where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateAgentResponse' smart constructor.+data UpdateAgentResponse = UpdateAgentResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateAgentResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'updateAgentResponse_httpStatus' - The response's http status code.+newUpdateAgentResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateAgentResponse+newUpdateAgentResponse pHttpStatus_ =+ UpdateAgentResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+updateAgentResponse_httpStatus :: Lens.Lens' UpdateAgentResponse Prelude.Int+updateAgentResponse_httpStatus = Lens.lens (\UpdateAgentResponse' {httpStatus} -> httpStatus) (\s@UpdateAgentResponse' {} a -> s {httpStatus = a} :: UpdateAgentResponse)++instance Prelude.NFData UpdateAgentResponse where+ rnf UpdateAgentResponse' {..} = Prelude.rnf httpStatus
+ gen/Amazonka/DataSync/UpdateLocationHdfs.hs view
@@ -0,0 +1,386 @@+{-# 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.DataSync.UpdateLocationHdfs+-- 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 some parameters of a previously created location for a Hadoop+-- Distributed File System cluster.+module Amazonka.DataSync.UpdateLocationHdfs+ ( -- * Creating a Request+ UpdateLocationHdfs (..),+ newUpdateLocationHdfs,++ -- * Request Lenses+ updateLocationHdfs_agentArns,+ updateLocationHdfs_authenticationType,+ updateLocationHdfs_blockSize,+ updateLocationHdfs_kerberosKeytab,+ updateLocationHdfs_kerberosKrb5Conf,+ updateLocationHdfs_kerberosPrincipal,+ updateLocationHdfs_kmsKeyProviderUri,+ updateLocationHdfs_nameNodes,+ updateLocationHdfs_qopConfiguration,+ updateLocationHdfs_replicationFactor,+ updateLocationHdfs_simpleUser,+ updateLocationHdfs_subdirectory,+ updateLocationHdfs_locationArn,++ -- * Destructuring the Response+ UpdateLocationHdfsResponse (..),+ newUpdateLocationHdfsResponse,++ -- * Response Lenses+ updateLocationHdfsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DataSync.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateLocationHdfs' smart constructor.+data UpdateLocationHdfs = UpdateLocationHdfs'+ { -- | The ARNs of the agents that are used to connect to the HDFS cluster.+ agentArns :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+ -- | The type of authentication used to determine the identity of the user.+ authenticationType :: Prelude.Maybe HdfsAuthenticationType,+ -- | The size of the data blocks to write into the HDFS cluster.+ blockSize :: Prelude.Maybe Prelude.Natural,+ -- | The Kerberos key table (keytab) that contains mappings between the+ -- defined Kerberos principal and the encrypted keys. You can load the+ -- keytab from a file by providing the file\'s address. If you use the CLI,+ -- it performs base64 encoding for you. Otherwise, provide the+ -- base64-encoded text.+ kerberosKeytab :: Prelude.Maybe Data.Base64,+ -- | The @krb5.conf@ file that contains the Kerberos configuration+ -- information. You can load the @krb5.conf@ file by providing the file\'s+ -- address. If you\'re using the CLI, it performs the base64 encoding for+ -- you. Otherwise, provide the base64-encoded text.+ kerberosKrb5Conf :: Prelude.Maybe Data.Base64,+ -- | The Kerberos principal with access to the files and folders on the HDFS+ -- cluster.+ kerberosPrincipal :: Prelude.Maybe Prelude.Text,+ -- | The URI of the HDFS cluster\'s Key Management Server (KMS).+ kmsKeyProviderUri :: Prelude.Maybe Prelude.Text,+ -- | The NameNode that manages the HDFS namespace. The NameNode performs+ -- operations such as opening, closing, and renaming files and directories.+ -- The NameNode contains the information to map blocks of data to the+ -- DataNodes. You can use only one NameNode.+ nameNodes :: Prelude.Maybe (Prelude.NonEmpty HdfsNameNode),+ -- | The Quality of Protection (QOP) configuration specifies the Remote+ -- Procedure Call (RPC) and data transfer privacy settings configured on+ -- the Hadoop Distributed File System (HDFS) cluster.+ qopConfiguration :: Prelude.Maybe QopConfiguration,+ -- | The number of DataNodes to replicate the data to when writing to the+ -- HDFS cluster.+ replicationFactor :: Prelude.Maybe Prelude.Natural,+ -- | The user name used to identify the client on the host operating system.+ simpleUser :: Prelude.Maybe Prelude.Text,+ -- | A subdirectory in the HDFS cluster. This subdirectory is used to read+ -- data from or write data to the HDFS cluster.+ subdirectory :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the source HDFS cluster location.+ locationArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateLocationHdfs' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'agentArns', 'updateLocationHdfs_agentArns' - The ARNs of the agents that are used to connect to the HDFS cluster.+--+-- 'authenticationType', 'updateLocationHdfs_authenticationType' - The type of authentication used to determine the identity of the user.+--+-- 'blockSize', 'updateLocationHdfs_blockSize' - The size of the data blocks to write into the HDFS cluster.+--+-- 'kerberosKeytab', 'updateLocationHdfs_kerberosKeytab' - The Kerberos key table (keytab) that contains mappings between the+-- defined Kerberos principal and the encrypted keys. You can load the+-- keytab from a file by providing the file\'s address. If you use the CLI,+-- it performs base64 encoding for you. Otherwise, provide the+-- base64-encoded text.--+-- -- /Note:/ This 'Lens' automatically encodes and decodes Base64 data.+-- -- The underlying isomorphism will encode to Base64 representation during+-- -- serialisation, and decode from Base64 representation during deserialisation.+-- -- This 'Lens' accepts and returns only raw unencoded data.+--+-- 'kerberosKrb5Conf', 'updateLocationHdfs_kerberosKrb5Conf' - The @krb5.conf@ file that contains the Kerberos configuration+-- information. You can load the @krb5.conf@ file by providing the file\'s+-- address. If you\'re using the CLI, it performs the base64 encoding for+-- you. Otherwise, provide the base64-encoded text.--+-- -- /Note:/ This 'Lens' automatically encodes and decodes Base64 data.+-- -- The underlying isomorphism will encode to Base64 representation during+-- -- serialisation, and decode from Base64 representation during deserialisation.+-- -- This 'Lens' accepts and returns only raw unencoded data.+--+-- 'kerberosPrincipal', 'updateLocationHdfs_kerberosPrincipal' - The Kerberos principal with access to the files and folders on the HDFS+-- cluster.+--+-- 'kmsKeyProviderUri', 'updateLocationHdfs_kmsKeyProviderUri' - The URI of the HDFS cluster\'s Key Management Server (KMS).+--+-- 'nameNodes', 'updateLocationHdfs_nameNodes' - The NameNode that manages the HDFS namespace. The NameNode performs+-- operations such as opening, closing, and renaming files and directories.+-- The NameNode contains the information to map blocks of data to the+-- DataNodes. You can use only one NameNode.+--+-- 'qopConfiguration', 'updateLocationHdfs_qopConfiguration' - The Quality of Protection (QOP) configuration specifies the Remote+-- Procedure Call (RPC) and data transfer privacy settings configured on+-- the Hadoop Distributed File System (HDFS) cluster.+--+-- 'replicationFactor', 'updateLocationHdfs_replicationFactor' - The number of DataNodes to replicate the data to when writing to the+-- HDFS cluster.+--+-- 'simpleUser', 'updateLocationHdfs_simpleUser' - The user name used to identify the client on the host operating system.+--+-- 'subdirectory', 'updateLocationHdfs_subdirectory' - A subdirectory in the HDFS cluster. This subdirectory is used to read+-- data from or write data to the HDFS cluster.+--+-- 'locationArn', 'updateLocationHdfs_locationArn' - The Amazon Resource Name (ARN) of the source HDFS cluster location.+newUpdateLocationHdfs ::+ -- | 'locationArn'+ Prelude.Text ->+ UpdateLocationHdfs+newUpdateLocationHdfs pLocationArn_ =+ UpdateLocationHdfs'+ { agentArns = Prelude.Nothing,+ authenticationType = Prelude.Nothing,+ blockSize = Prelude.Nothing,+ kerberosKeytab = Prelude.Nothing,+ kerberosKrb5Conf = Prelude.Nothing,+ kerberosPrincipal = Prelude.Nothing,+ kmsKeyProviderUri = Prelude.Nothing,+ nameNodes = Prelude.Nothing,+ qopConfiguration = Prelude.Nothing,+ replicationFactor = Prelude.Nothing,+ simpleUser = Prelude.Nothing,+ subdirectory = Prelude.Nothing,+ locationArn = pLocationArn_+ }++-- | The ARNs of the agents that are used to connect to the HDFS cluster.+updateLocationHdfs_agentArns :: Lens.Lens' UpdateLocationHdfs (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+updateLocationHdfs_agentArns = Lens.lens (\UpdateLocationHdfs' {agentArns} -> agentArns) (\s@UpdateLocationHdfs' {} a -> s {agentArns = a} :: UpdateLocationHdfs) Prelude.. Lens.mapping Lens.coerced++-- | The type of authentication used to determine the identity of the user.+updateLocationHdfs_authenticationType :: Lens.Lens' UpdateLocationHdfs (Prelude.Maybe HdfsAuthenticationType)+updateLocationHdfs_authenticationType = Lens.lens (\UpdateLocationHdfs' {authenticationType} -> authenticationType) (\s@UpdateLocationHdfs' {} a -> s {authenticationType = a} :: UpdateLocationHdfs)++-- | The size of the data blocks to write into the HDFS cluster.+updateLocationHdfs_blockSize :: Lens.Lens' UpdateLocationHdfs (Prelude.Maybe Prelude.Natural)+updateLocationHdfs_blockSize = Lens.lens (\UpdateLocationHdfs' {blockSize} -> blockSize) (\s@UpdateLocationHdfs' {} a -> s {blockSize = a} :: UpdateLocationHdfs)++-- | The Kerberos key table (keytab) that contains mappings between the+-- defined Kerberos principal and the encrypted keys. You can load the+-- keytab from a file by providing the file\'s address. If you use the CLI,+-- it performs base64 encoding for you. Otherwise, provide the+-- base64-encoded text.--+-- -- /Note:/ This 'Lens' automatically encodes and decodes Base64 data.+-- -- The underlying isomorphism will encode to Base64 representation during+-- -- serialisation, and decode from Base64 representation during deserialisation.+-- -- This 'Lens' accepts and returns only raw unencoded data.+updateLocationHdfs_kerberosKeytab :: Lens.Lens' UpdateLocationHdfs (Prelude.Maybe Prelude.ByteString)+updateLocationHdfs_kerberosKeytab = Lens.lens (\UpdateLocationHdfs' {kerberosKeytab} -> kerberosKeytab) (\s@UpdateLocationHdfs' {} a -> s {kerberosKeytab = a} :: UpdateLocationHdfs) Prelude.. Lens.mapping Data._Base64++-- | The @krb5.conf@ file that contains the Kerberos configuration+-- information. You can load the @krb5.conf@ file by providing the file\'s+-- address. If you\'re using the CLI, it performs the base64 encoding for+-- you. Otherwise, provide the base64-encoded text.--+-- -- /Note:/ This 'Lens' automatically encodes and decodes Base64 data.+-- -- The underlying isomorphism will encode to Base64 representation during+-- -- serialisation, and decode from Base64 representation during deserialisation.+-- -- This 'Lens' accepts and returns only raw unencoded data.+updateLocationHdfs_kerberosKrb5Conf :: Lens.Lens' UpdateLocationHdfs (Prelude.Maybe Prelude.ByteString)+updateLocationHdfs_kerberosKrb5Conf = Lens.lens (\UpdateLocationHdfs' {kerberosKrb5Conf} -> kerberosKrb5Conf) (\s@UpdateLocationHdfs' {} a -> s {kerberosKrb5Conf = a} :: UpdateLocationHdfs) Prelude.. Lens.mapping Data._Base64++-- | The Kerberos principal with access to the files and folders on the HDFS+-- cluster.+updateLocationHdfs_kerberosPrincipal :: Lens.Lens' UpdateLocationHdfs (Prelude.Maybe Prelude.Text)+updateLocationHdfs_kerberosPrincipal = Lens.lens (\UpdateLocationHdfs' {kerberosPrincipal} -> kerberosPrincipal) (\s@UpdateLocationHdfs' {} a -> s {kerberosPrincipal = a} :: UpdateLocationHdfs)++-- | The URI of the HDFS cluster\'s Key Management Server (KMS).+updateLocationHdfs_kmsKeyProviderUri :: Lens.Lens' UpdateLocationHdfs (Prelude.Maybe Prelude.Text)+updateLocationHdfs_kmsKeyProviderUri = Lens.lens (\UpdateLocationHdfs' {kmsKeyProviderUri} -> kmsKeyProviderUri) (\s@UpdateLocationHdfs' {} a -> s {kmsKeyProviderUri = a} :: UpdateLocationHdfs)++-- | The NameNode that manages the HDFS namespace. The NameNode performs+-- operations such as opening, closing, and renaming files and directories.+-- The NameNode contains the information to map blocks of data to the+-- DataNodes. You can use only one NameNode.+updateLocationHdfs_nameNodes :: Lens.Lens' UpdateLocationHdfs (Prelude.Maybe (Prelude.NonEmpty HdfsNameNode))+updateLocationHdfs_nameNodes = Lens.lens (\UpdateLocationHdfs' {nameNodes} -> nameNodes) (\s@UpdateLocationHdfs' {} a -> s {nameNodes = a} :: UpdateLocationHdfs) Prelude.. Lens.mapping Lens.coerced++-- | The Quality of Protection (QOP) configuration specifies the Remote+-- Procedure Call (RPC) and data transfer privacy settings configured on+-- the Hadoop Distributed File System (HDFS) cluster.+updateLocationHdfs_qopConfiguration :: Lens.Lens' UpdateLocationHdfs (Prelude.Maybe QopConfiguration)+updateLocationHdfs_qopConfiguration = Lens.lens (\UpdateLocationHdfs' {qopConfiguration} -> qopConfiguration) (\s@UpdateLocationHdfs' {} a -> s {qopConfiguration = a} :: UpdateLocationHdfs)++-- | The number of DataNodes to replicate the data to when writing to the+-- HDFS cluster.+updateLocationHdfs_replicationFactor :: Lens.Lens' UpdateLocationHdfs (Prelude.Maybe Prelude.Natural)+updateLocationHdfs_replicationFactor = Lens.lens (\UpdateLocationHdfs' {replicationFactor} -> replicationFactor) (\s@UpdateLocationHdfs' {} a -> s {replicationFactor = a} :: UpdateLocationHdfs)++-- | The user name used to identify the client on the host operating system.+updateLocationHdfs_simpleUser :: Lens.Lens' UpdateLocationHdfs (Prelude.Maybe Prelude.Text)+updateLocationHdfs_simpleUser = Lens.lens (\UpdateLocationHdfs' {simpleUser} -> simpleUser) (\s@UpdateLocationHdfs' {} a -> s {simpleUser = a} :: UpdateLocationHdfs)++-- | A subdirectory in the HDFS cluster. This subdirectory is used to read+-- data from or write data to the HDFS cluster.+updateLocationHdfs_subdirectory :: Lens.Lens' UpdateLocationHdfs (Prelude.Maybe Prelude.Text)+updateLocationHdfs_subdirectory = Lens.lens (\UpdateLocationHdfs' {subdirectory} -> subdirectory) (\s@UpdateLocationHdfs' {} a -> s {subdirectory = a} :: UpdateLocationHdfs)++-- | The Amazon Resource Name (ARN) of the source HDFS cluster location.+updateLocationHdfs_locationArn :: Lens.Lens' UpdateLocationHdfs Prelude.Text+updateLocationHdfs_locationArn = Lens.lens (\UpdateLocationHdfs' {locationArn} -> locationArn) (\s@UpdateLocationHdfs' {} a -> s {locationArn = a} :: UpdateLocationHdfs)++instance Core.AWSRequest UpdateLocationHdfs where+ type+ AWSResponse UpdateLocationHdfs =+ UpdateLocationHdfsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ UpdateLocationHdfsResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateLocationHdfs where+ hashWithSalt _salt UpdateLocationHdfs' {..} =+ _salt+ `Prelude.hashWithSalt` agentArns+ `Prelude.hashWithSalt` authenticationType+ `Prelude.hashWithSalt` blockSize+ `Prelude.hashWithSalt` kerberosKeytab+ `Prelude.hashWithSalt` kerberosKrb5Conf+ `Prelude.hashWithSalt` kerberosPrincipal+ `Prelude.hashWithSalt` kmsKeyProviderUri+ `Prelude.hashWithSalt` nameNodes+ `Prelude.hashWithSalt` qopConfiguration+ `Prelude.hashWithSalt` replicationFactor+ `Prelude.hashWithSalt` simpleUser+ `Prelude.hashWithSalt` subdirectory+ `Prelude.hashWithSalt` locationArn++instance Prelude.NFData UpdateLocationHdfs where+ rnf UpdateLocationHdfs' {..} =+ Prelude.rnf agentArns+ `Prelude.seq` Prelude.rnf authenticationType+ `Prelude.seq` Prelude.rnf blockSize+ `Prelude.seq` Prelude.rnf kerberosKeytab+ `Prelude.seq` Prelude.rnf kerberosKrb5Conf+ `Prelude.seq` Prelude.rnf kerberosPrincipal+ `Prelude.seq` Prelude.rnf kmsKeyProviderUri+ `Prelude.seq` Prelude.rnf nameNodes+ `Prelude.seq` Prelude.rnf qopConfiguration+ `Prelude.seq` Prelude.rnf replicationFactor+ `Prelude.seq` Prelude.rnf simpleUser+ `Prelude.seq` Prelude.rnf subdirectory+ `Prelude.seq` Prelude.rnf locationArn++instance Data.ToHeaders UpdateLocationHdfs where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "FmrsService.UpdateLocationHdfs" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateLocationHdfs where+ toJSON UpdateLocationHdfs' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("AgentArns" Data..=) Prelude.<$> agentArns,+ ("AuthenticationType" Data..=)+ Prelude.<$> authenticationType,+ ("BlockSize" Data..=) Prelude.<$> blockSize,+ ("KerberosKeytab" Data..=)+ Prelude.<$> kerberosKeytab,+ ("KerberosKrb5Conf" Data..=)+ Prelude.<$> kerberosKrb5Conf,+ ("KerberosPrincipal" Data..=)+ Prelude.<$> kerberosPrincipal,+ ("KmsKeyProviderUri" Data..=)+ Prelude.<$> kmsKeyProviderUri,+ ("NameNodes" Data..=) Prelude.<$> nameNodes,+ ("QopConfiguration" Data..=)+ Prelude.<$> qopConfiguration,+ ("ReplicationFactor" Data..=)+ Prelude.<$> replicationFactor,+ ("SimpleUser" Data..=) Prelude.<$> simpleUser,+ ("Subdirectory" Data..=) Prelude.<$> subdirectory,+ Prelude.Just ("LocationArn" Data..= locationArn)+ ]+ )++instance Data.ToPath UpdateLocationHdfs where+ toPath = Prelude.const "/"++instance Data.ToQuery UpdateLocationHdfs where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateLocationHdfsResponse' smart constructor.+data UpdateLocationHdfsResponse = UpdateLocationHdfsResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateLocationHdfsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'updateLocationHdfsResponse_httpStatus' - The response's http status code.+newUpdateLocationHdfsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateLocationHdfsResponse+newUpdateLocationHdfsResponse pHttpStatus_ =+ UpdateLocationHdfsResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+updateLocationHdfsResponse_httpStatus :: Lens.Lens' UpdateLocationHdfsResponse Prelude.Int+updateLocationHdfsResponse_httpStatus = Lens.lens (\UpdateLocationHdfsResponse' {httpStatus} -> httpStatus) (\s@UpdateLocationHdfsResponse' {} a -> s {httpStatus = a} :: UpdateLocationHdfsResponse)++instance Prelude.NFData UpdateLocationHdfsResponse where+ rnf UpdateLocationHdfsResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/DataSync/UpdateLocationNfs.hs view
@@ -0,0 +1,279 @@+{-# 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.DataSync.UpdateLocationNfs+-- 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 some of the parameters of a previously created location for+-- Network File System (NFS) access. For information about creating an NFS+-- location, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/create-nfs-location.html Creating a location for NFS>.+module Amazonka.DataSync.UpdateLocationNfs+ ( -- * Creating a Request+ UpdateLocationNfs (..),+ newUpdateLocationNfs,++ -- * Request Lenses+ updateLocationNfs_mountOptions,+ updateLocationNfs_onPremConfig,+ updateLocationNfs_subdirectory,+ updateLocationNfs_locationArn,++ -- * Destructuring the Response+ UpdateLocationNfsResponse (..),+ newUpdateLocationNfsResponse,++ -- * Response Lenses+ updateLocationNfsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DataSync.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateLocationNfs' smart constructor.+data UpdateLocationNfs = UpdateLocationNfs'+ { mountOptions :: Prelude.Maybe NfsMountOptions,+ onPremConfig :: Prelude.Maybe OnPremConfig,+ -- | The subdirectory in the NFS file system that is used to read data from+ -- the NFS source location or write data to the NFS destination. The NFS+ -- path should be a path that\'s exported by the NFS server, or a+ -- subdirectory of that path. The path should be such that it can be+ -- mounted by other NFS clients in your network.+ --+ -- To see all the paths exported by your NFS server, run+ -- \"@showmount -e nfs-server-name@\" from an NFS client that has access to+ -- your server. You can specify any directory that appears in the results,+ -- and any subdirectory of that directory. Ensure that the NFS export is+ -- accessible without Kerberos authentication.+ --+ -- To transfer all the data in the folder that you specified, DataSync must+ -- have permissions to read all the data. To ensure this, either configure+ -- the NFS export with @no_root_squash@, or ensure that the files you want+ -- DataSync to access have permissions that allow read access for all+ -- users. Doing either option enables the agent to read the files. For the+ -- agent to access directories, you must additionally enable all execute+ -- access.+ --+ -- If you are copying data to or from your Snowcone device, see+ -- <https://docs.aws.amazon.com/datasync/latest/userguide/create-nfs-location.html#nfs-on-snowcone NFS Server on Snowcone>+ -- for more information.+ --+ -- For information about NFS export configuration, see 18.7. The+ -- \/etc\/exports Configuration File in the Red Hat Enterprise Linux+ -- documentation.+ subdirectory :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the NFS location to update.+ locationArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateLocationNfs' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'mountOptions', 'updateLocationNfs_mountOptions' - Undocumented member.+--+-- 'onPremConfig', 'updateLocationNfs_onPremConfig' - Undocumented member.+--+-- 'subdirectory', 'updateLocationNfs_subdirectory' - The subdirectory in the NFS file system that is used to read data from+-- the NFS source location or write data to the NFS destination. The NFS+-- path should be a path that\'s exported by the NFS server, or a+-- subdirectory of that path. The path should be such that it can be+-- mounted by other NFS clients in your network.+--+-- To see all the paths exported by your NFS server, run+-- \"@showmount -e nfs-server-name@\" from an NFS client that has access to+-- your server. You can specify any directory that appears in the results,+-- and any subdirectory of that directory. Ensure that the NFS export is+-- accessible without Kerberos authentication.+--+-- To transfer all the data in the folder that you specified, DataSync must+-- have permissions to read all the data. To ensure this, either configure+-- the NFS export with @no_root_squash@, or ensure that the files you want+-- DataSync to access have permissions that allow read access for all+-- users. Doing either option enables the agent to read the files. For the+-- agent to access directories, you must additionally enable all execute+-- access.+--+-- If you are copying data to or from your Snowcone device, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/create-nfs-location.html#nfs-on-snowcone NFS Server on Snowcone>+-- for more information.+--+-- For information about NFS export configuration, see 18.7. The+-- \/etc\/exports Configuration File in the Red Hat Enterprise Linux+-- documentation.+--+-- 'locationArn', 'updateLocationNfs_locationArn' - The Amazon Resource Name (ARN) of the NFS location to update.+newUpdateLocationNfs ::+ -- | 'locationArn'+ Prelude.Text ->+ UpdateLocationNfs+newUpdateLocationNfs pLocationArn_ =+ UpdateLocationNfs'+ { mountOptions = Prelude.Nothing,+ onPremConfig = Prelude.Nothing,+ subdirectory = Prelude.Nothing,+ locationArn = pLocationArn_+ }++-- | Undocumented member.+updateLocationNfs_mountOptions :: Lens.Lens' UpdateLocationNfs (Prelude.Maybe NfsMountOptions)+updateLocationNfs_mountOptions = Lens.lens (\UpdateLocationNfs' {mountOptions} -> mountOptions) (\s@UpdateLocationNfs' {} a -> s {mountOptions = a} :: UpdateLocationNfs)++-- | Undocumented member.+updateLocationNfs_onPremConfig :: Lens.Lens' UpdateLocationNfs (Prelude.Maybe OnPremConfig)+updateLocationNfs_onPremConfig = Lens.lens (\UpdateLocationNfs' {onPremConfig} -> onPremConfig) (\s@UpdateLocationNfs' {} a -> s {onPremConfig = a} :: UpdateLocationNfs)++-- | The subdirectory in the NFS file system that is used to read data from+-- the NFS source location or write data to the NFS destination. The NFS+-- path should be a path that\'s exported by the NFS server, or a+-- subdirectory of that path. The path should be such that it can be+-- mounted by other NFS clients in your network.+--+-- To see all the paths exported by your NFS server, run+-- \"@showmount -e nfs-server-name@\" from an NFS client that has access to+-- your server. You can specify any directory that appears in the results,+-- and any subdirectory of that directory. Ensure that the NFS export is+-- accessible without Kerberos authentication.+--+-- To transfer all the data in the folder that you specified, DataSync must+-- have permissions to read all the data. To ensure this, either configure+-- the NFS export with @no_root_squash@, or ensure that the files you want+-- DataSync to access have permissions that allow read access for all+-- users. Doing either option enables the agent to read the files. For the+-- agent to access directories, you must additionally enable all execute+-- access.+--+-- If you are copying data to or from your Snowcone device, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/create-nfs-location.html#nfs-on-snowcone NFS Server on Snowcone>+-- for more information.+--+-- For information about NFS export configuration, see 18.7. The+-- \/etc\/exports Configuration File in the Red Hat Enterprise Linux+-- documentation.+updateLocationNfs_subdirectory :: Lens.Lens' UpdateLocationNfs (Prelude.Maybe Prelude.Text)+updateLocationNfs_subdirectory = Lens.lens (\UpdateLocationNfs' {subdirectory} -> subdirectory) (\s@UpdateLocationNfs' {} a -> s {subdirectory = a} :: UpdateLocationNfs)++-- | The Amazon Resource Name (ARN) of the NFS location to update.+updateLocationNfs_locationArn :: Lens.Lens' UpdateLocationNfs Prelude.Text+updateLocationNfs_locationArn = Lens.lens (\UpdateLocationNfs' {locationArn} -> locationArn) (\s@UpdateLocationNfs' {} a -> s {locationArn = a} :: UpdateLocationNfs)++instance Core.AWSRequest UpdateLocationNfs where+ type+ AWSResponse UpdateLocationNfs =+ UpdateLocationNfsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ UpdateLocationNfsResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateLocationNfs where+ hashWithSalt _salt UpdateLocationNfs' {..} =+ _salt+ `Prelude.hashWithSalt` mountOptions+ `Prelude.hashWithSalt` onPremConfig+ `Prelude.hashWithSalt` subdirectory+ `Prelude.hashWithSalt` locationArn++instance Prelude.NFData UpdateLocationNfs where+ rnf UpdateLocationNfs' {..} =+ Prelude.rnf mountOptions+ `Prelude.seq` Prelude.rnf onPremConfig+ `Prelude.seq` Prelude.rnf subdirectory+ `Prelude.seq` Prelude.rnf locationArn++instance Data.ToHeaders UpdateLocationNfs where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "FmrsService.UpdateLocationNfs" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateLocationNfs where+ toJSON UpdateLocationNfs' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("MountOptions" Data..=) Prelude.<$> mountOptions,+ ("OnPremConfig" Data..=) Prelude.<$> onPremConfig,+ ("Subdirectory" Data..=) Prelude.<$> subdirectory,+ Prelude.Just ("LocationArn" Data..= locationArn)+ ]+ )++instance Data.ToPath UpdateLocationNfs where+ toPath = Prelude.const "/"++instance Data.ToQuery UpdateLocationNfs where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateLocationNfsResponse' smart constructor.+data UpdateLocationNfsResponse = UpdateLocationNfsResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateLocationNfsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'updateLocationNfsResponse_httpStatus' - The response's http status code.+newUpdateLocationNfsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateLocationNfsResponse+newUpdateLocationNfsResponse pHttpStatus_ =+ UpdateLocationNfsResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+updateLocationNfsResponse_httpStatus :: Lens.Lens' UpdateLocationNfsResponse Prelude.Int+updateLocationNfsResponse_httpStatus = Lens.lens (\UpdateLocationNfsResponse' {httpStatus} -> httpStatus) (\s@UpdateLocationNfsResponse' {} a -> s {httpStatus = a} :: UpdateLocationNfsResponse)++instance Prelude.NFData UpdateLocationNfsResponse where+ rnf UpdateLocationNfsResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/DataSync/UpdateLocationObjectStorage.hs view
@@ -0,0 +1,320 @@+{-# 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.DataSync.UpdateLocationObjectStorage+-- 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 some parameters of an existing object storage location that+-- DataSync accesses for a transfer. For information about creating a+-- self-managed object storage location, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/create-object-location.html Creating a location for object storage>.+module Amazonka.DataSync.UpdateLocationObjectStorage+ ( -- * Creating a Request+ UpdateLocationObjectStorage (..),+ newUpdateLocationObjectStorage,++ -- * Request Lenses+ updateLocationObjectStorage_accessKey,+ updateLocationObjectStorage_agentArns,+ updateLocationObjectStorage_secretKey,+ updateLocationObjectStorage_serverCertificate,+ updateLocationObjectStorage_serverPort,+ updateLocationObjectStorage_serverProtocol,+ updateLocationObjectStorage_subdirectory,+ updateLocationObjectStorage_locationArn,++ -- * Destructuring the Response+ UpdateLocationObjectStorageResponse (..),+ newUpdateLocationObjectStorageResponse,++ -- * Response Lenses+ updateLocationObjectStorageResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DataSync.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateLocationObjectStorage' smart constructor.+data UpdateLocationObjectStorage = UpdateLocationObjectStorage'+ { -- | Specifies the access key (for example, a user name) if credentials are+ -- required to authenticate with the object storage server.+ accessKey :: Prelude.Maybe Prelude.Text,+ -- | Specifies the Amazon Resource Names (ARNs) of the DataSync agents that+ -- can securely connect with your location.+ agentArns :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+ -- | Specifies the secret key (for example, a password) if credentials are+ -- required to authenticate with the object storage server.+ secretKey :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | Specifies a certificate to authenticate with an object storage system+ -- that uses a private or self-signed certificate authority (CA). You must+ -- specify a Base64-encoded @.pem@ file (for example,+ -- @file:\/\/\/home\/user\/.ssh\/storage_sys_certificate.pem@). The+ -- certificate can be up to 32768 bytes (before Base64 encoding).+ --+ -- To use this parameter, configure @ServerProtocol@ to @HTTPS@.+ --+ -- Updating the certificate doesn\'t interfere with tasks that you have in+ -- progress.+ serverCertificate :: Prelude.Maybe Data.Base64,+ -- | Specifies the port that your object storage server accepts inbound+ -- network traffic on (for example, port 443).+ serverPort :: Prelude.Maybe Prelude.Natural,+ -- | Specifies the protocol that your object storage server uses to+ -- communicate.+ serverProtocol :: Prelude.Maybe ObjectStorageServerProtocol,+ -- | Specifies the object prefix for your object storage server. If this is a+ -- source location, DataSync only copies objects with this prefix. If this+ -- is a destination location, DataSync writes all objects with this prefix.+ subdirectory :: Prelude.Maybe Prelude.Text,+ -- | Specifies the ARN of the object storage system location that you\'re+ -- updating.+ locationArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateLocationObjectStorage' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accessKey', 'updateLocationObjectStorage_accessKey' - Specifies the access key (for example, a user name) if credentials are+-- required to authenticate with the object storage server.+--+-- 'agentArns', 'updateLocationObjectStorage_agentArns' - Specifies the Amazon Resource Names (ARNs) of the DataSync agents that+-- can securely connect with your location.+--+-- 'secretKey', 'updateLocationObjectStorage_secretKey' - Specifies the secret key (for example, a password) if credentials are+-- required to authenticate with the object storage server.+--+-- 'serverCertificate', 'updateLocationObjectStorage_serverCertificate' - Specifies a certificate to authenticate with an object storage system+-- that uses a private or self-signed certificate authority (CA). You must+-- specify a Base64-encoded @.pem@ file (for example,+-- @file:\/\/\/home\/user\/.ssh\/storage_sys_certificate.pem@). The+-- certificate can be up to 32768 bytes (before Base64 encoding).+--+-- To use this parameter, configure @ServerProtocol@ to @HTTPS@.+--+-- Updating the certificate doesn\'t interfere with tasks that you have in+-- progress.--+-- -- /Note:/ This 'Lens' automatically encodes and decodes Base64 data.+-- -- The underlying isomorphism will encode to Base64 representation during+-- -- serialisation, and decode from Base64 representation during deserialisation.+-- -- This 'Lens' accepts and returns only raw unencoded data.+--+-- 'serverPort', 'updateLocationObjectStorage_serverPort' - Specifies the port that your object storage server accepts inbound+-- network traffic on (for example, port 443).+--+-- 'serverProtocol', 'updateLocationObjectStorage_serverProtocol' - Specifies the protocol that your object storage server uses to+-- communicate.+--+-- 'subdirectory', 'updateLocationObjectStorage_subdirectory' - Specifies the object prefix for your object storage server. If this is a+-- source location, DataSync only copies objects with this prefix. If this+-- is a destination location, DataSync writes all objects with this prefix.+--+-- 'locationArn', 'updateLocationObjectStorage_locationArn' - Specifies the ARN of the object storage system location that you\'re+-- updating.+newUpdateLocationObjectStorage ::+ -- | 'locationArn'+ Prelude.Text ->+ UpdateLocationObjectStorage+newUpdateLocationObjectStorage pLocationArn_ =+ UpdateLocationObjectStorage'+ { accessKey =+ Prelude.Nothing,+ agentArns = Prelude.Nothing,+ secretKey = Prelude.Nothing,+ serverCertificate = Prelude.Nothing,+ serverPort = Prelude.Nothing,+ serverProtocol = Prelude.Nothing,+ subdirectory = Prelude.Nothing,+ locationArn = pLocationArn_+ }++-- | Specifies the access key (for example, a user name) if credentials are+-- required to authenticate with the object storage server.+updateLocationObjectStorage_accessKey :: Lens.Lens' UpdateLocationObjectStorage (Prelude.Maybe Prelude.Text)+updateLocationObjectStorage_accessKey = Lens.lens (\UpdateLocationObjectStorage' {accessKey} -> accessKey) (\s@UpdateLocationObjectStorage' {} a -> s {accessKey = a} :: UpdateLocationObjectStorage)++-- | Specifies the Amazon Resource Names (ARNs) of the DataSync agents that+-- can securely connect with your location.+updateLocationObjectStorage_agentArns :: Lens.Lens' UpdateLocationObjectStorage (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+updateLocationObjectStorage_agentArns = Lens.lens (\UpdateLocationObjectStorage' {agentArns} -> agentArns) (\s@UpdateLocationObjectStorage' {} a -> s {agentArns = a} :: UpdateLocationObjectStorage) Prelude.. Lens.mapping Lens.coerced++-- | Specifies the secret key (for example, a password) if credentials are+-- required to authenticate with the object storage server.+updateLocationObjectStorage_secretKey :: Lens.Lens' UpdateLocationObjectStorage (Prelude.Maybe Prelude.Text)+updateLocationObjectStorage_secretKey = Lens.lens (\UpdateLocationObjectStorage' {secretKey} -> secretKey) (\s@UpdateLocationObjectStorage' {} a -> s {secretKey = a} :: UpdateLocationObjectStorage) Prelude.. Lens.mapping Data._Sensitive++-- | Specifies a certificate to authenticate with an object storage system+-- that uses a private or self-signed certificate authority (CA). You must+-- specify a Base64-encoded @.pem@ file (for example,+-- @file:\/\/\/home\/user\/.ssh\/storage_sys_certificate.pem@). The+-- certificate can be up to 32768 bytes (before Base64 encoding).+--+-- To use this parameter, configure @ServerProtocol@ to @HTTPS@.+--+-- Updating the certificate doesn\'t interfere with tasks that you have in+-- progress.--+-- -- /Note:/ This 'Lens' automatically encodes and decodes Base64 data.+-- -- The underlying isomorphism will encode to Base64 representation during+-- -- serialisation, and decode from Base64 representation during deserialisation.+-- -- This 'Lens' accepts and returns only raw unencoded data.+updateLocationObjectStorage_serverCertificate :: Lens.Lens' UpdateLocationObjectStorage (Prelude.Maybe Prelude.ByteString)+updateLocationObjectStorage_serverCertificate = Lens.lens (\UpdateLocationObjectStorage' {serverCertificate} -> serverCertificate) (\s@UpdateLocationObjectStorage' {} a -> s {serverCertificate = a} :: UpdateLocationObjectStorage) Prelude.. Lens.mapping Data._Base64++-- | Specifies the port that your object storage server accepts inbound+-- network traffic on (for example, port 443).+updateLocationObjectStorage_serverPort :: Lens.Lens' UpdateLocationObjectStorage (Prelude.Maybe Prelude.Natural)+updateLocationObjectStorage_serverPort = Lens.lens (\UpdateLocationObjectStorage' {serverPort} -> serverPort) (\s@UpdateLocationObjectStorage' {} a -> s {serverPort = a} :: UpdateLocationObjectStorage)++-- | Specifies the protocol that your object storage server uses to+-- communicate.+updateLocationObjectStorage_serverProtocol :: Lens.Lens' UpdateLocationObjectStorage (Prelude.Maybe ObjectStorageServerProtocol)+updateLocationObjectStorage_serverProtocol = Lens.lens (\UpdateLocationObjectStorage' {serverProtocol} -> serverProtocol) (\s@UpdateLocationObjectStorage' {} a -> s {serverProtocol = a} :: UpdateLocationObjectStorage)++-- | Specifies the object prefix for your object storage server. If this is a+-- source location, DataSync only copies objects with this prefix. If this+-- is a destination location, DataSync writes all objects with this prefix.+updateLocationObjectStorage_subdirectory :: Lens.Lens' UpdateLocationObjectStorage (Prelude.Maybe Prelude.Text)+updateLocationObjectStorage_subdirectory = Lens.lens (\UpdateLocationObjectStorage' {subdirectory} -> subdirectory) (\s@UpdateLocationObjectStorage' {} a -> s {subdirectory = a} :: UpdateLocationObjectStorage)++-- | Specifies the ARN of the object storage system location that you\'re+-- updating.+updateLocationObjectStorage_locationArn :: Lens.Lens' UpdateLocationObjectStorage Prelude.Text+updateLocationObjectStorage_locationArn = Lens.lens (\UpdateLocationObjectStorage' {locationArn} -> locationArn) (\s@UpdateLocationObjectStorage' {} a -> s {locationArn = a} :: UpdateLocationObjectStorage)++instance Core.AWSRequest UpdateLocationObjectStorage where+ type+ AWSResponse UpdateLocationObjectStorage =+ UpdateLocationObjectStorageResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ UpdateLocationObjectStorageResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateLocationObjectStorage where+ hashWithSalt _salt UpdateLocationObjectStorage' {..} =+ _salt+ `Prelude.hashWithSalt` accessKey+ `Prelude.hashWithSalt` agentArns+ `Prelude.hashWithSalt` secretKey+ `Prelude.hashWithSalt` serverCertificate+ `Prelude.hashWithSalt` serverPort+ `Prelude.hashWithSalt` serverProtocol+ `Prelude.hashWithSalt` subdirectory+ `Prelude.hashWithSalt` locationArn++instance Prelude.NFData UpdateLocationObjectStorage where+ rnf UpdateLocationObjectStorage' {..} =+ Prelude.rnf accessKey+ `Prelude.seq` Prelude.rnf agentArns+ `Prelude.seq` Prelude.rnf secretKey+ `Prelude.seq` Prelude.rnf serverCertificate+ `Prelude.seq` Prelude.rnf serverPort+ `Prelude.seq` Prelude.rnf serverProtocol+ `Prelude.seq` Prelude.rnf subdirectory+ `Prelude.seq` Prelude.rnf locationArn++instance Data.ToHeaders UpdateLocationObjectStorage where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "FmrsService.UpdateLocationObjectStorage" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateLocationObjectStorage where+ toJSON UpdateLocationObjectStorage' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("AccessKey" Data..=) Prelude.<$> accessKey,+ ("AgentArns" Data..=) Prelude.<$> agentArns,+ ("SecretKey" Data..=) Prelude.<$> secretKey,+ ("ServerCertificate" Data..=)+ Prelude.<$> serverCertificate,+ ("ServerPort" Data..=) Prelude.<$> serverPort,+ ("ServerProtocol" Data..=)+ Prelude.<$> serverProtocol,+ ("Subdirectory" Data..=) Prelude.<$> subdirectory,+ Prelude.Just ("LocationArn" Data..= locationArn)+ ]+ )++instance Data.ToPath UpdateLocationObjectStorage where+ toPath = Prelude.const "/"++instance Data.ToQuery UpdateLocationObjectStorage where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateLocationObjectStorageResponse' smart constructor.+data UpdateLocationObjectStorageResponse = UpdateLocationObjectStorageResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateLocationObjectStorageResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'updateLocationObjectStorageResponse_httpStatus' - The response's http status code.+newUpdateLocationObjectStorageResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateLocationObjectStorageResponse+newUpdateLocationObjectStorageResponse pHttpStatus_ =+ UpdateLocationObjectStorageResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+updateLocationObjectStorageResponse_httpStatus :: Lens.Lens' UpdateLocationObjectStorageResponse Prelude.Int+updateLocationObjectStorageResponse_httpStatus = Lens.lens (\UpdateLocationObjectStorageResponse' {httpStatus} -> httpStatus) (\s@UpdateLocationObjectStorageResponse' {} a -> s {httpStatus = a} :: UpdateLocationObjectStorageResponse)++instance+ Prelude.NFData+ UpdateLocationObjectStorageResponse+ where+ rnf UpdateLocationObjectStorageResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/DataSync/UpdateLocationSmb.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.DataSync.UpdateLocationSmb+-- 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 some of the parameters of a previously created location for+-- Server Message Block (SMB) file system access. For information about+-- creating an SMB location, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html Creating a location for SMB>.+module Amazonka.DataSync.UpdateLocationSmb+ ( -- * Creating a Request+ UpdateLocationSmb (..),+ newUpdateLocationSmb,++ -- * Request Lenses+ updateLocationSmb_agentArns,+ updateLocationSmb_domain,+ updateLocationSmb_mountOptions,+ updateLocationSmb_password,+ updateLocationSmb_subdirectory,+ updateLocationSmb_user,+ updateLocationSmb_locationArn,++ -- * Destructuring the Response+ UpdateLocationSmbResponse (..),+ newUpdateLocationSmbResponse,++ -- * Response Lenses+ updateLocationSmbResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DataSync.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateLocationSmb' smart constructor.+data UpdateLocationSmb = UpdateLocationSmb'+ { -- | The Amazon Resource Names (ARNs) of agents to use for a Simple Message+ -- Block (SMB) location.+ agentArns :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+ -- | The name of the Windows domain that the SMB server belongs to.+ domain :: Prelude.Maybe Prelude.Text,+ mountOptions :: Prelude.Maybe SmbMountOptions,+ -- | The password of the user who can mount the share has the permissions to+ -- access files and folders in the SMB share.+ password :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The subdirectory in the SMB file system that is used to read data from+ -- the SMB source location or write data to the SMB destination. The SMB+ -- path should be a path that\'s exported by the SMB server, or a+ -- subdirectory of that path. The path should be such that it can be+ -- mounted by other SMB clients in your network.+ --+ -- @Subdirectory@ must be specified with forward slashes. For example,+ -- @\/path\/to\/folder@.+ --+ -- To transfer all the data in the folder that you specified, DataSync must+ -- have permissions to mount the SMB share and to access all the data in+ -- that share. To ensure this, do either of the following:+ --+ -- - Ensure that the user\/password specified belongs to the user who can+ -- mount the share and who has the appropriate permissions for all of+ -- the files and directories that you want DataSync to access.+ --+ -- - Use credentials of a member of the Backup Operators group to mount+ -- the share.+ --+ -- Doing either of these options enables the agent to access the data. For+ -- the agent to access directories, you must also enable all execute+ -- access.+ subdirectory :: Prelude.Maybe Prelude.Text,+ -- | The user who can mount the share has the permissions to access files and+ -- folders in the SMB share.+ user :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the SMB location to update.+ locationArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateLocationSmb' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'agentArns', 'updateLocationSmb_agentArns' - The Amazon Resource Names (ARNs) of agents to use for a Simple Message+-- Block (SMB) location.+--+-- 'domain', 'updateLocationSmb_domain' - The name of the Windows domain that the SMB server belongs to.+--+-- 'mountOptions', 'updateLocationSmb_mountOptions' - Undocumented member.+--+-- 'password', 'updateLocationSmb_password' - The password of the user who can mount the share has the permissions to+-- access files and folders in the SMB share.+--+-- 'subdirectory', 'updateLocationSmb_subdirectory' - The subdirectory in the SMB file system that is used to read data from+-- the SMB source location or write data to the SMB destination. The SMB+-- path should be a path that\'s exported by the SMB server, or a+-- subdirectory of that path. The path should be such that it can be+-- mounted by other SMB clients in your network.+--+-- @Subdirectory@ must be specified with forward slashes. For example,+-- @\/path\/to\/folder@.+--+-- To transfer all the data in the folder that you specified, DataSync must+-- have permissions to mount the SMB share and to access all the data in+-- that share. To ensure this, do either of the following:+--+-- - Ensure that the user\/password specified belongs to the user who can+-- mount the share and who has the appropriate permissions for all of+-- the files and directories that you want DataSync to access.+--+-- - Use credentials of a member of the Backup Operators group to mount+-- the share.+--+-- Doing either of these options enables the agent to access the data. For+-- the agent to access directories, you must also enable all execute+-- access.+--+-- 'user', 'updateLocationSmb_user' - The user who can mount the share has the permissions to access files and+-- folders in the SMB share.+--+-- 'locationArn', 'updateLocationSmb_locationArn' - The Amazon Resource Name (ARN) of the SMB location to update.+newUpdateLocationSmb ::+ -- | 'locationArn'+ Prelude.Text ->+ UpdateLocationSmb+newUpdateLocationSmb pLocationArn_ =+ UpdateLocationSmb'+ { agentArns = Prelude.Nothing,+ domain = Prelude.Nothing,+ mountOptions = Prelude.Nothing,+ password = Prelude.Nothing,+ subdirectory = Prelude.Nothing,+ user = Prelude.Nothing,+ locationArn = pLocationArn_+ }++-- | The Amazon Resource Names (ARNs) of agents to use for a Simple Message+-- Block (SMB) location.+updateLocationSmb_agentArns :: Lens.Lens' UpdateLocationSmb (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+updateLocationSmb_agentArns = Lens.lens (\UpdateLocationSmb' {agentArns} -> agentArns) (\s@UpdateLocationSmb' {} a -> s {agentArns = a} :: UpdateLocationSmb) Prelude.. Lens.mapping Lens.coerced++-- | The name of the Windows domain that the SMB server belongs to.+updateLocationSmb_domain :: Lens.Lens' UpdateLocationSmb (Prelude.Maybe Prelude.Text)+updateLocationSmb_domain = Lens.lens (\UpdateLocationSmb' {domain} -> domain) (\s@UpdateLocationSmb' {} a -> s {domain = a} :: UpdateLocationSmb)++-- | Undocumented member.+updateLocationSmb_mountOptions :: Lens.Lens' UpdateLocationSmb (Prelude.Maybe SmbMountOptions)+updateLocationSmb_mountOptions = Lens.lens (\UpdateLocationSmb' {mountOptions} -> mountOptions) (\s@UpdateLocationSmb' {} a -> s {mountOptions = a} :: UpdateLocationSmb)++-- | The password of the user who can mount the share has the permissions to+-- access files and folders in the SMB share.+updateLocationSmb_password :: Lens.Lens' UpdateLocationSmb (Prelude.Maybe Prelude.Text)+updateLocationSmb_password = Lens.lens (\UpdateLocationSmb' {password} -> password) (\s@UpdateLocationSmb' {} a -> s {password = a} :: UpdateLocationSmb) Prelude.. Lens.mapping Data._Sensitive++-- | The subdirectory in the SMB file system that is used to read data from+-- the SMB source location or write data to the SMB destination. The SMB+-- path should be a path that\'s exported by the SMB server, or a+-- subdirectory of that path. The path should be such that it can be+-- mounted by other SMB clients in your network.+--+-- @Subdirectory@ must be specified with forward slashes. For example,+-- @\/path\/to\/folder@.+--+-- To transfer all the data in the folder that you specified, DataSync must+-- have permissions to mount the SMB share and to access all the data in+-- that share. To ensure this, do either of the following:+--+-- - Ensure that the user\/password specified belongs to the user who can+-- mount the share and who has the appropriate permissions for all of+-- the files and directories that you want DataSync to access.+--+-- - Use credentials of a member of the Backup Operators group to mount+-- the share.+--+-- Doing either of these options enables the agent to access the data. For+-- the agent to access directories, you must also enable all execute+-- access.+updateLocationSmb_subdirectory :: Lens.Lens' UpdateLocationSmb (Prelude.Maybe Prelude.Text)+updateLocationSmb_subdirectory = Lens.lens (\UpdateLocationSmb' {subdirectory} -> subdirectory) (\s@UpdateLocationSmb' {} a -> s {subdirectory = a} :: UpdateLocationSmb)++-- | The user who can mount the share has the permissions to access files and+-- folders in the SMB share.+updateLocationSmb_user :: Lens.Lens' UpdateLocationSmb (Prelude.Maybe Prelude.Text)+updateLocationSmb_user = Lens.lens (\UpdateLocationSmb' {user} -> user) (\s@UpdateLocationSmb' {} a -> s {user = a} :: UpdateLocationSmb)++-- | The Amazon Resource Name (ARN) of the SMB location to update.+updateLocationSmb_locationArn :: Lens.Lens' UpdateLocationSmb Prelude.Text+updateLocationSmb_locationArn = Lens.lens (\UpdateLocationSmb' {locationArn} -> locationArn) (\s@UpdateLocationSmb' {} a -> s {locationArn = a} :: UpdateLocationSmb)++instance Core.AWSRequest UpdateLocationSmb where+ type+ AWSResponse UpdateLocationSmb =+ UpdateLocationSmbResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ UpdateLocationSmbResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateLocationSmb where+ hashWithSalt _salt UpdateLocationSmb' {..} =+ _salt+ `Prelude.hashWithSalt` agentArns+ `Prelude.hashWithSalt` domain+ `Prelude.hashWithSalt` mountOptions+ `Prelude.hashWithSalt` password+ `Prelude.hashWithSalt` subdirectory+ `Prelude.hashWithSalt` user+ `Prelude.hashWithSalt` locationArn++instance Prelude.NFData UpdateLocationSmb where+ rnf UpdateLocationSmb' {..} =+ Prelude.rnf agentArns+ `Prelude.seq` Prelude.rnf domain+ `Prelude.seq` Prelude.rnf mountOptions+ `Prelude.seq` Prelude.rnf password+ `Prelude.seq` Prelude.rnf subdirectory+ `Prelude.seq` Prelude.rnf user+ `Prelude.seq` Prelude.rnf locationArn++instance Data.ToHeaders UpdateLocationSmb where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "FmrsService.UpdateLocationSmb" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateLocationSmb where+ toJSON UpdateLocationSmb' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("AgentArns" Data..=) Prelude.<$> agentArns,+ ("Domain" Data..=) Prelude.<$> domain,+ ("MountOptions" Data..=) Prelude.<$> mountOptions,+ ("Password" Data..=) Prelude.<$> password,+ ("Subdirectory" Data..=) Prelude.<$> subdirectory,+ ("User" Data..=) Prelude.<$> user,+ Prelude.Just ("LocationArn" Data..= locationArn)+ ]+ )++instance Data.ToPath UpdateLocationSmb where+ toPath = Prelude.const "/"++instance Data.ToQuery UpdateLocationSmb where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateLocationSmbResponse' smart constructor.+data UpdateLocationSmbResponse = UpdateLocationSmbResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateLocationSmbResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'updateLocationSmbResponse_httpStatus' - The response's http status code.+newUpdateLocationSmbResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateLocationSmbResponse+newUpdateLocationSmbResponse pHttpStatus_ =+ UpdateLocationSmbResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+updateLocationSmbResponse_httpStatus :: Lens.Lens' UpdateLocationSmbResponse Prelude.Int+updateLocationSmbResponse_httpStatus = Lens.lens (\UpdateLocationSmbResponse' {httpStatus} -> httpStatus) (\s@UpdateLocationSmbResponse' {} a -> s {httpStatus = a} :: UpdateLocationSmbResponse)++instance Prelude.NFData UpdateLocationSmbResponse where+ rnf UpdateLocationSmbResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/DataSync/UpdateTask.hs view
@@ -0,0 +1,267 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DataSync.UpdateTask+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the metadata associated with a task.+module Amazonka.DataSync.UpdateTask+ ( -- * Creating a Request+ UpdateTask (..),+ newUpdateTask,++ -- * Request Lenses+ updateTask_cloudWatchLogGroupArn,+ updateTask_excludes,+ updateTask_includes,+ updateTask_name,+ updateTask_options,+ updateTask_schedule,+ updateTask_taskArn,++ -- * Destructuring the Response+ UpdateTaskResponse (..),+ newUpdateTaskResponse,++ -- * Response Lenses+ updateTaskResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DataSync.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | UpdateTaskResponse+--+-- /See:/ 'newUpdateTask' smart constructor.+data UpdateTask = UpdateTask'+ { -- | The Amazon Resource Name (ARN) of the resource name of the Amazon+ -- CloudWatch log group.+ cloudWatchLogGroupArn :: Prelude.Maybe Prelude.Text,+ -- | Specifies a list of filter rules that exclude specific data during your+ -- transfer. For more information and examples, see+ -- <https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html Filtering data transferred by DataSync>.+ excludes :: Prelude.Maybe [FilterRule],+ -- | Specifies a list of filter rules that include specific data during your+ -- transfer. For more information and examples, see+ -- <https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html Filtering data transferred by DataSync>.+ includes :: Prelude.Maybe [FilterRule],+ -- | The name of the task to update.+ name :: Prelude.Maybe Prelude.Text,+ options :: Prelude.Maybe Options,+ -- | Specifies a schedule used to periodically transfer files from a source+ -- to a destination location. You can configure your task to execute+ -- hourly, daily, weekly or on specific days of the week. You control when+ -- in the day or hour you want the task to execute. The time you specify is+ -- UTC time. For more information, see+ -- <https://docs.aws.amazon.com/datasync/latest/userguide/task-scheduling.html Scheduling your task>.+ schedule :: Prelude.Maybe TaskSchedule,+ -- | The Amazon Resource Name (ARN) of the resource name of the task to+ -- update.+ taskArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateTask' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'cloudWatchLogGroupArn', 'updateTask_cloudWatchLogGroupArn' - The Amazon Resource Name (ARN) of the resource name of the Amazon+-- CloudWatch log group.+--+-- 'excludes', 'updateTask_excludes' - Specifies a list of filter rules that exclude specific data during your+-- transfer. For more information and examples, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html Filtering data transferred by DataSync>.+--+-- 'includes', 'updateTask_includes' - Specifies a list of filter rules that include specific data during your+-- transfer. For more information and examples, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html Filtering data transferred by DataSync>.+--+-- 'name', 'updateTask_name' - The name of the task to update.+--+-- 'options', 'updateTask_options' - Undocumented member.+--+-- 'schedule', 'updateTask_schedule' - Specifies a schedule used to periodically transfer files from a source+-- to a destination location. You can configure your task to execute+-- hourly, daily, weekly or on specific days of the week. You control when+-- in the day or hour you want the task to execute. The time you specify is+-- UTC time. For more information, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/task-scheduling.html Scheduling your task>.+--+-- 'taskArn', 'updateTask_taskArn' - The Amazon Resource Name (ARN) of the resource name of the task to+-- update.+newUpdateTask ::+ -- | 'taskArn'+ Prelude.Text ->+ UpdateTask+newUpdateTask pTaskArn_ =+ UpdateTask'+ { cloudWatchLogGroupArn =+ Prelude.Nothing,+ excludes = Prelude.Nothing,+ includes = Prelude.Nothing,+ name = Prelude.Nothing,+ options = Prelude.Nothing,+ schedule = Prelude.Nothing,+ taskArn = pTaskArn_+ }++-- | The Amazon Resource Name (ARN) of the resource name of the Amazon+-- CloudWatch log group.+updateTask_cloudWatchLogGroupArn :: Lens.Lens' UpdateTask (Prelude.Maybe Prelude.Text)+updateTask_cloudWatchLogGroupArn = Lens.lens (\UpdateTask' {cloudWatchLogGroupArn} -> cloudWatchLogGroupArn) (\s@UpdateTask' {} a -> s {cloudWatchLogGroupArn = a} :: UpdateTask)++-- | Specifies a list of filter rules that exclude specific data during your+-- transfer. For more information and examples, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html Filtering data transferred by DataSync>.+updateTask_excludes :: Lens.Lens' UpdateTask (Prelude.Maybe [FilterRule])+updateTask_excludes = Lens.lens (\UpdateTask' {excludes} -> excludes) (\s@UpdateTask' {} a -> s {excludes = a} :: UpdateTask) Prelude.. Lens.mapping Lens.coerced++-- | Specifies a list of filter rules that include specific data during your+-- transfer. For more information and examples, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html Filtering data transferred by DataSync>.+updateTask_includes :: Lens.Lens' UpdateTask (Prelude.Maybe [FilterRule])+updateTask_includes = Lens.lens (\UpdateTask' {includes} -> includes) (\s@UpdateTask' {} a -> s {includes = a} :: UpdateTask) Prelude.. Lens.mapping Lens.coerced++-- | The name of the task to update.+updateTask_name :: Lens.Lens' UpdateTask (Prelude.Maybe Prelude.Text)+updateTask_name = Lens.lens (\UpdateTask' {name} -> name) (\s@UpdateTask' {} a -> s {name = a} :: UpdateTask)++-- | Undocumented member.+updateTask_options :: Lens.Lens' UpdateTask (Prelude.Maybe Options)+updateTask_options = Lens.lens (\UpdateTask' {options} -> options) (\s@UpdateTask' {} a -> s {options = a} :: UpdateTask)++-- | Specifies a schedule used to periodically transfer files from a source+-- to a destination location. You can configure your task to execute+-- hourly, daily, weekly or on specific days of the week. You control when+-- in the day or hour you want the task to execute. The time you specify is+-- UTC time. For more information, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/task-scheduling.html Scheduling your task>.+updateTask_schedule :: Lens.Lens' UpdateTask (Prelude.Maybe TaskSchedule)+updateTask_schedule = Lens.lens (\UpdateTask' {schedule} -> schedule) (\s@UpdateTask' {} a -> s {schedule = a} :: UpdateTask)++-- | The Amazon Resource Name (ARN) of the resource name of the task to+-- update.+updateTask_taskArn :: Lens.Lens' UpdateTask Prelude.Text+updateTask_taskArn = Lens.lens (\UpdateTask' {taskArn} -> taskArn) (\s@UpdateTask' {} a -> s {taskArn = a} :: UpdateTask)++instance Core.AWSRequest UpdateTask where+ type AWSResponse UpdateTask = UpdateTaskResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ UpdateTaskResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateTask where+ hashWithSalt _salt UpdateTask' {..} =+ _salt+ `Prelude.hashWithSalt` cloudWatchLogGroupArn+ `Prelude.hashWithSalt` excludes+ `Prelude.hashWithSalt` includes+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` options+ `Prelude.hashWithSalt` schedule+ `Prelude.hashWithSalt` taskArn++instance Prelude.NFData UpdateTask where+ rnf UpdateTask' {..} =+ Prelude.rnf cloudWatchLogGroupArn+ `Prelude.seq` Prelude.rnf excludes+ `Prelude.seq` Prelude.rnf includes+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf options+ `Prelude.seq` Prelude.rnf schedule+ `Prelude.seq` Prelude.rnf taskArn++instance Data.ToHeaders UpdateTask where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ("FmrsService.UpdateTask" :: Prelude.ByteString),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateTask where+ toJSON UpdateTask' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("CloudWatchLogGroupArn" Data..=)+ Prelude.<$> cloudWatchLogGroupArn,+ ("Excludes" Data..=) Prelude.<$> excludes,+ ("Includes" Data..=) Prelude.<$> includes,+ ("Name" Data..=) Prelude.<$> name,+ ("Options" Data..=) Prelude.<$> options,+ ("Schedule" Data..=) Prelude.<$> schedule,+ Prelude.Just ("TaskArn" Data..= taskArn)+ ]+ )++instance Data.ToPath UpdateTask where+ toPath = Prelude.const "/"++instance Data.ToQuery UpdateTask where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateTaskResponse' smart constructor.+data UpdateTaskResponse = UpdateTaskResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateTaskResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'updateTaskResponse_httpStatus' - The response's http status code.+newUpdateTaskResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateTaskResponse+newUpdateTaskResponse pHttpStatus_ =+ UpdateTaskResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+updateTaskResponse_httpStatus :: Lens.Lens' UpdateTaskResponse Prelude.Int+updateTaskResponse_httpStatus = Lens.lens (\UpdateTaskResponse' {httpStatus} -> httpStatus) (\s@UpdateTaskResponse' {} a -> s {httpStatus = a} :: UpdateTaskResponse)++instance Prelude.NFData UpdateTaskResponse where+ rnf UpdateTaskResponse' {..} = Prelude.rnf httpStatus
+ gen/Amazonka/DataSync/UpdateTaskExecution.hs view
@@ -0,0 +1,187 @@+{-# 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.DataSync.UpdateTaskExecution+-- 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 execution of a task.+--+-- You can modify bandwidth throttling for a task execution that is running+-- or queued. For more information, see+-- <https://docs.aws.amazon.com/datasync/latest/userguide/working-with-task-executions.html#adjust-bandwidth-throttling Adjusting Bandwidth Throttling for a Task Execution>.+--+-- The only @Option@ that can be modified by @UpdateTaskExecution@ is+-- @ @<https://docs.aws.amazon.com/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-BytesPerSecond BytesPerSecond>@ @.+module Amazonka.DataSync.UpdateTaskExecution+ ( -- * Creating a Request+ UpdateTaskExecution (..),+ newUpdateTaskExecution,++ -- * Request Lenses+ updateTaskExecution_taskExecutionArn,+ updateTaskExecution_options,++ -- * Destructuring the Response+ UpdateTaskExecutionResponse (..),+ newUpdateTaskExecutionResponse,++ -- * Response Lenses+ updateTaskExecutionResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DataSync.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateTaskExecution' smart constructor.+data UpdateTaskExecution = UpdateTaskExecution'+ { -- | The Amazon Resource Name (ARN) of the specific task execution that is+ -- being updated.+ taskExecutionArn :: Prelude.Text,+ options :: Options+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateTaskExecution' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'taskExecutionArn', 'updateTaskExecution_taskExecutionArn' - The Amazon Resource Name (ARN) of the specific task execution that is+-- being updated.+--+-- 'options', 'updateTaskExecution_options' - Undocumented member.+newUpdateTaskExecution ::+ -- | 'taskExecutionArn'+ Prelude.Text ->+ -- | 'options'+ Options ->+ UpdateTaskExecution+newUpdateTaskExecution pTaskExecutionArn_ pOptions_ =+ UpdateTaskExecution'+ { taskExecutionArn =+ pTaskExecutionArn_,+ options = pOptions_+ }++-- | The Amazon Resource Name (ARN) of the specific task execution that is+-- being updated.+updateTaskExecution_taskExecutionArn :: Lens.Lens' UpdateTaskExecution Prelude.Text+updateTaskExecution_taskExecutionArn = Lens.lens (\UpdateTaskExecution' {taskExecutionArn} -> taskExecutionArn) (\s@UpdateTaskExecution' {} a -> s {taskExecutionArn = a} :: UpdateTaskExecution)++-- | Undocumented member.+updateTaskExecution_options :: Lens.Lens' UpdateTaskExecution Options+updateTaskExecution_options = Lens.lens (\UpdateTaskExecution' {options} -> options) (\s@UpdateTaskExecution' {} a -> s {options = a} :: UpdateTaskExecution)++instance Core.AWSRequest UpdateTaskExecution where+ type+ AWSResponse UpdateTaskExecution =+ UpdateTaskExecutionResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ UpdateTaskExecutionResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateTaskExecution where+ hashWithSalt _salt UpdateTaskExecution' {..} =+ _salt+ `Prelude.hashWithSalt` taskExecutionArn+ `Prelude.hashWithSalt` options++instance Prelude.NFData UpdateTaskExecution where+ rnf UpdateTaskExecution' {..} =+ Prelude.rnf taskExecutionArn+ `Prelude.seq` Prelude.rnf options++instance Data.ToHeaders UpdateTaskExecution where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "FmrsService.UpdateTaskExecution" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateTaskExecution where+ toJSON UpdateTaskExecution' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("TaskExecutionArn" Data..= taskExecutionArn),+ Prelude.Just ("Options" Data..= options)+ ]+ )++instance Data.ToPath UpdateTaskExecution where+ toPath = Prelude.const "/"++instance Data.ToQuery UpdateTaskExecution where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateTaskExecutionResponse' smart constructor.+data UpdateTaskExecutionResponse = UpdateTaskExecutionResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateTaskExecutionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'updateTaskExecutionResponse_httpStatus' - The response's http status code.+newUpdateTaskExecutionResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateTaskExecutionResponse+newUpdateTaskExecutionResponse pHttpStatus_ =+ UpdateTaskExecutionResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+updateTaskExecutionResponse_httpStatus :: Lens.Lens' UpdateTaskExecutionResponse Prelude.Int+updateTaskExecutionResponse_httpStatus = Lens.lens (\UpdateTaskExecutionResponse' {httpStatus} -> httpStatus) (\s@UpdateTaskExecutionResponse' {} a -> s {httpStatus = a} :: UpdateTaskExecutionResponse)++instance Prelude.NFData UpdateTaskExecutionResponse where+ rnf UpdateTaskExecutionResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/DataSync/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.DataSync.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.DataSync.Waiters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DataSync.Lens+import Amazonka.DataSync.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.DataSync+import Test.Amazonka.DataSync.Internal+import Test.Tasty++main :: IO ()+main =+ defaultMain $+ testGroup+ "DataSync"+ [ testGroup "tests" tests,+ testGroup "fixtures" fixtures+ ]
+ test/Test/Amazonka/DataSync.hs view
@@ -0,0 +1,20 @@+-- |+-- Module : Test.Amazonka.DataSync+-- 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.DataSync+ ( tests,+ fixtures,+ )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/DataSync/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module : Test.Amazonka.DataSync.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.DataSync.Internal where
+ test/Test/Amazonka/Gen/DataSync.hs view
@@ -0,0 +1,918 @@+{-# 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.DataSync+-- 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.DataSync where++import Amazonka.DataSync+import qualified Data.Proxy as Proxy+import Test.Amazonka.DataSync.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"+-- [ requestCancelTaskExecution $+-- newCancelTaskExecution+--+-- , requestCreateAgent $+-- newCreateAgent+--+-- , requestCreateLocationEfs $+-- newCreateLocationEfs+--+-- , requestCreateLocationFsxLustre $+-- newCreateLocationFsxLustre+--+-- , requestCreateLocationFsxOntap $+-- newCreateLocationFsxOntap+--+-- , requestCreateLocationFsxOpenZfs $+-- newCreateLocationFsxOpenZfs+--+-- , requestCreateLocationFsxWindows $+-- newCreateLocationFsxWindows+--+-- , requestCreateLocationHdfs $+-- newCreateLocationHdfs+--+-- , requestCreateLocationNfs $+-- newCreateLocationNfs+--+-- , requestCreateLocationObjectStorage $+-- newCreateLocationObjectStorage+--+-- , requestCreateLocationS3 $+-- newCreateLocationS3+--+-- , requestCreateLocationSmb $+-- newCreateLocationSmb+--+-- , requestCreateTask $+-- newCreateTask+--+-- , requestDeleteAgent $+-- newDeleteAgent+--+-- , requestDeleteLocation $+-- newDeleteLocation+--+-- , requestDeleteTask $+-- newDeleteTask+--+-- , requestDescribeAgent $+-- newDescribeAgent+--+-- , requestDescribeLocationEfs $+-- newDescribeLocationEfs+--+-- , requestDescribeLocationFsxLustre $+-- newDescribeLocationFsxLustre+--+-- , requestDescribeLocationFsxOntap $+-- newDescribeLocationFsxOntap+--+-- , requestDescribeLocationFsxOpenZfs $+-- newDescribeLocationFsxOpenZfs+--+-- , requestDescribeLocationFsxWindows $+-- newDescribeLocationFsxWindows+--+-- , requestDescribeLocationHdfs $+-- newDescribeLocationHdfs+--+-- , requestDescribeLocationNfs $+-- newDescribeLocationNfs+--+-- , requestDescribeLocationObjectStorage $+-- newDescribeLocationObjectStorage+--+-- , requestDescribeLocationS3 $+-- newDescribeLocationS3+--+-- , requestDescribeLocationSmb $+-- newDescribeLocationSmb+--+-- , requestDescribeTask $+-- newDescribeTask+--+-- , requestDescribeTaskExecution $+-- newDescribeTaskExecution+--+-- , requestListAgents $+-- newListAgents+--+-- , requestListLocations $+-- newListLocations+--+-- , requestListTagsForResource $+-- newListTagsForResource+--+-- , requestListTaskExecutions $+-- newListTaskExecutions+--+-- , requestListTasks $+-- newListTasks+--+-- , requestStartTaskExecution $+-- newStartTaskExecution+--+-- , requestTagResource $+-- newTagResource+--+-- , requestUntagResource $+-- newUntagResource+--+-- , requestUpdateAgent $+-- newUpdateAgent+--+-- , requestUpdateLocationHdfs $+-- newUpdateLocationHdfs+--+-- , requestUpdateLocationNfs $+-- newUpdateLocationNfs+--+-- , requestUpdateLocationObjectStorage $+-- newUpdateLocationObjectStorage+--+-- , requestUpdateLocationSmb $+-- newUpdateLocationSmb+--+-- , requestUpdateTask $+-- newUpdateTask+--+-- , requestUpdateTaskExecution $+-- newUpdateTaskExecution+--+-- ]++-- , testGroup "response"+-- [ responseCancelTaskExecution $+-- newCancelTaskExecutionResponse+--+-- , responseCreateAgent $+-- newCreateAgentResponse+--+-- , responseCreateLocationEfs $+-- newCreateLocationEfsResponse+--+-- , responseCreateLocationFsxLustre $+-- newCreateLocationFsxLustreResponse+--+-- , responseCreateLocationFsxOntap $+-- newCreateLocationFsxOntapResponse+--+-- , responseCreateLocationFsxOpenZfs $+-- newCreateLocationFsxOpenZfsResponse+--+-- , responseCreateLocationFsxWindows $+-- newCreateLocationFsxWindowsResponse+--+-- , responseCreateLocationHdfs $+-- newCreateLocationHdfsResponse+--+-- , responseCreateLocationNfs $+-- newCreateLocationNfsResponse+--+-- , responseCreateLocationObjectStorage $+-- newCreateLocationObjectStorageResponse+--+-- , responseCreateLocationS3 $+-- newCreateLocationS3Response+--+-- , responseCreateLocationSmb $+-- newCreateLocationSmbResponse+--+-- , responseCreateTask $+-- newCreateTaskResponse+--+-- , responseDeleteAgent $+-- newDeleteAgentResponse+--+-- , responseDeleteLocation $+-- newDeleteLocationResponse+--+-- , responseDeleteTask $+-- newDeleteTaskResponse+--+-- , responseDescribeAgent $+-- newDescribeAgentResponse+--+-- , responseDescribeLocationEfs $+-- newDescribeLocationEfsResponse+--+-- , responseDescribeLocationFsxLustre $+-- newDescribeLocationFsxLustreResponse+--+-- , responseDescribeLocationFsxOntap $+-- newDescribeLocationFsxOntapResponse+--+-- , responseDescribeLocationFsxOpenZfs $+-- newDescribeLocationFsxOpenZfsResponse+--+-- , responseDescribeLocationFsxWindows $+-- newDescribeLocationFsxWindowsResponse+--+-- , responseDescribeLocationHdfs $+-- newDescribeLocationHdfsResponse+--+-- , responseDescribeLocationNfs $+-- newDescribeLocationNfsResponse+--+-- , responseDescribeLocationObjectStorage $+-- newDescribeLocationObjectStorageResponse+--+-- , responseDescribeLocationS3 $+-- newDescribeLocationS3Response+--+-- , responseDescribeLocationSmb $+-- newDescribeLocationSmbResponse+--+-- , responseDescribeTask $+-- newDescribeTaskResponse+--+-- , responseDescribeTaskExecution $+-- newDescribeTaskExecutionResponse+--+-- , responseListAgents $+-- newListAgentsResponse+--+-- , responseListLocations $+-- newListLocationsResponse+--+-- , responseListTagsForResource $+-- newListTagsForResourceResponse+--+-- , responseListTaskExecutions $+-- newListTaskExecutionsResponse+--+-- , responseListTasks $+-- newListTasksResponse+--+-- , responseStartTaskExecution $+-- newStartTaskExecutionResponse+--+-- , responseTagResource $+-- newTagResourceResponse+--+-- , responseUntagResource $+-- newUntagResourceResponse+--+-- , responseUpdateAgent $+-- newUpdateAgentResponse+--+-- , responseUpdateLocationHdfs $+-- newUpdateLocationHdfsResponse+--+-- , responseUpdateLocationNfs $+-- newUpdateLocationNfsResponse+--+-- , responseUpdateLocationObjectStorage $+-- newUpdateLocationObjectStorageResponse+--+-- , responseUpdateLocationSmb $+-- newUpdateLocationSmbResponse+--+-- , responseUpdateTask $+-- newUpdateTaskResponse+--+-- , responseUpdateTaskExecution $+-- newUpdateTaskExecutionResponse+--+-- ]+-- ]++-- Requests++requestCancelTaskExecution :: CancelTaskExecution -> TestTree+requestCancelTaskExecution =+ req+ "CancelTaskExecution"+ "fixture/CancelTaskExecution.yaml"++requestCreateAgent :: CreateAgent -> TestTree+requestCreateAgent =+ req+ "CreateAgent"+ "fixture/CreateAgent.yaml"++requestCreateLocationEfs :: CreateLocationEfs -> TestTree+requestCreateLocationEfs =+ req+ "CreateLocationEfs"+ "fixture/CreateLocationEfs.yaml"++requestCreateLocationFsxLustre :: CreateLocationFsxLustre -> TestTree+requestCreateLocationFsxLustre =+ req+ "CreateLocationFsxLustre"+ "fixture/CreateLocationFsxLustre.yaml"++requestCreateLocationFsxOntap :: CreateLocationFsxOntap -> TestTree+requestCreateLocationFsxOntap =+ req+ "CreateLocationFsxOntap"+ "fixture/CreateLocationFsxOntap.yaml"++requestCreateLocationFsxOpenZfs :: CreateLocationFsxOpenZfs -> TestTree+requestCreateLocationFsxOpenZfs =+ req+ "CreateLocationFsxOpenZfs"+ "fixture/CreateLocationFsxOpenZfs.yaml"++requestCreateLocationFsxWindows :: CreateLocationFsxWindows -> TestTree+requestCreateLocationFsxWindows =+ req+ "CreateLocationFsxWindows"+ "fixture/CreateLocationFsxWindows.yaml"++requestCreateLocationHdfs :: CreateLocationHdfs -> TestTree+requestCreateLocationHdfs =+ req+ "CreateLocationHdfs"+ "fixture/CreateLocationHdfs.yaml"++requestCreateLocationNfs :: CreateLocationNfs -> TestTree+requestCreateLocationNfs =+ req+ "CreateLocationNfs"+ "fixture/CreateLocationNfs.yaml"++requestCreateLocationObjectStorage :: CreateLocationObjectStorage -> TestTree+requestCreateLocationObjectStorage =+ req+ "CreateLocationObjectStorage"+ "fixture/CreateLocationObjectStorage.yaml"++requestCreateLocationS3 :: CreateLocationS3 -> TestTree+requestCreateLocationS3 =+ req+ "CreateLocationS3"+ "fixture/CreateLocationS3.yaml"++requestCreateLocationSmb :: CreateLocationSmb -> TestTree+requestCreateLocationSmb =+ req+ "CreateLocationSmb"+ "fixture/CreateLocationSmb.yaml"++requestCreateTask :: CreateTask -> TestTree+requestCreateTask =+ req+ "CreateTask"+ "fixture/CreateTask.yaml"++requestDeleteAgent :: DeleteAgent -> TestTree+requestDeleteAgent =+ req+ "DeleteAgent"+ "fixture/DeleteAgent.yaml"++requestDeleteLocation :: DeleteLocation -> TestTree+requestDeleteLocation =+ req+ "DeleteLocation"+ "fixture/DeleteLocation.yaml"++requestDeleteTask :: DeleteTask -> TestTree+requestDeleteTask =+ req+ "DeleteTask"+ "fixture/DeleteTask.yaml"++requestDescribeAgent :: DescribeAgent -> TestTree+requestDescribeAgent =+ req+ "DescribeAgent"+ "fixture/DescribeAgent.yaml"++requestDescribeLocationEfs :: DescribeLocationEfs -> TestTree+requestDescribeLocationEfs =+ req+ "DescribeLocationEfs"+ "fixture/DescribeLocationEfs.yaml"++requestDescribeLocationFsxLustre :: DescribeLocationFsxLustre -> TestTree+requestDescribeLocationFsxLustre =+ req+ "DescribeLocationFsxLustre"+ "fixture/DescribeLocationFsxLustre.yaml"++requestDescribeLocationFsxOntap :: DescribeLocationFsxOntap -> TestTree+requestDescribeLocationFsxOntap =+ req+ "DescribeLocationFsxOntap"+ "fixture/DescribeLocationFsxOntap.yaml"++requestDescribeLocationFsxOpenZfs :: DescribeLocationFsxOpenZfs -> TestTree+requestDescribeLocationFsxOpenZfs =+ req+ "DescribeLocationFsxOpenZfs"+ "fixture/DescribeLocationFsxOpenZfs.yaml"++requestDescribeLocationFsxWindows :: DescribeLocationFsxWindows -> TestTree+requestDescribeLocationFsxWindows =+ req+ "DescribeLocationFsxWindows"+ "fixture/DescribeLocationFsxWindows.yaml"++requestDescribeLocationHdfs :: DescribeLocationHdfs -> TestTree+requestDescribeLocationHdfs =+ req+ "DescribeLocationHdfs"+ "fixture/DescribeLocationHdfs.yaml"++requestDescribeLocationNfs :: DescribeLocationNfs -> TestTree+requestDescribeLocationNfs =+ req+ "DescribeLocationNfs"+ "fixture/DescribeLocationNfs.yaml"++requestDescribeLocationObjectStorage :: DescribeLocationObjectStorage -> TestTree+requestDescribeLocationObjectStorage =+ req+ "DescribeLocationObjectStorage"+ "fixture/DescribeLocationObjectStorage.yaml"++requestDescribeLocationS3 :: DescribeLocationS3 -> TestTree+requestDescribeLocationS3 =+ req+ "DescribeLocationS3"+ "fixture/DescribeLocationS3.yaml"++requestDescribeLocationSmb :: DescribeLocationSmb -> TestTree+requestDescribeLocationSmb =+ req+ "DescribeLocationSmb"+ "fixture/DescribeLocationSmb.yaml"++requestDescribeTask :: DescribeTask -> TestTree+requestDescribeTask =+ req+ "DescribeTask"+ "fixture/DescribeTask.yaml"++requestDescribeTaskExecution :: DescribeTaskExecution -> TestTree+requestDescribeTaskExecution =+ req+ "DescribeTaskExecution"+ "fixture/DescribeTaskExecution.yaml"++requestListAgents :: ListAgents -> TestTree+requestListAgents =+ req+ "ListAgents"+ "fixture/ListAgents.yaml"++requestListLocations :: ListLocations -> TestTree+requestListLocations =+ req+ "ListLocations"+ "fixture/ListLocations.yaml"++requestListTagsForResource :: ListTagsForResource -> TestTree+requestListTagsForResource =+ req+ "ListTagsForResource"+ "fixture/ListTagsForResource.yaml"++requestListTaskExecutions :: ListTaskExecutions -> TestTree+requestListTaskExecutions =+ req+ "ListTaskExecutions"+ "fixture/ListTaskExecutions.yaml"++requestListTasks :: ListTasks -> TestTree+requestListTasks =+ req+ "ListTasks"+ "fixture/ListTasks.yaml"++requestStartTaskExecution :: StartTaskExecution -> TestTree+requestStartTaskExecution =+ req+ "StartTaskExecution"+ "fixture/StartTaskExecution.yaml"++requestTagResource :: TagResource -> TestTree+requestTagResource =+ req+ "TagResource"+ "fixture/TagResource.yaml"++requestUntagResource :: UntagResource -> TestTree+requestUntagResource =+ req+ "UntagResource"+ "fixture/UntagResource.yaml"++requestUpdateAgent :: UpdateAgent -> TestTree+requestUpdateAgent =+ req+ "UpdateAgent"+ "fixture/UpdateAgent.yaml"++requestUpdateLocationHdfs :: UpdateLocationHdfs -> TestTree+requestUpdateLocationHdfs =+ req+ "UpdateLocationHdfs"+ "fixture/UpdateLocationHdfs.yaml"++requestUpdateLocationNfs :: UpdateLocationNfs -> TestTree+requestUpdateLocationNfs =+ req+ "UpdateLocationNfs"+ "fixture/UpdateLocationNfs.yaml"++requestUpdateLocationObjectStorage :: UpdateLocationObjectStorage -> TestTree+requestUpdateLocationObjectStorage =+ req+ "UpdateLocationObjectStorage"+ "fixture/UpdateLocationObjectStorage.yaml"++requestUpdateLocationSmb :: UpdateLocationSmb -> TestTree+requestUpdateLocationSmb =+ req+ "UpdateLocationSmb"+ "fixture/UpdateLocationSmb.yaml"++requestUpdateTask :: UpdateTask -> TestTree+requestUpdateTask =+ req+ "UpdateTask"+ "fixture/UpdateTask.yaml"++requestUpdateTaskExecution :: UpdateTaskExecution -> TestTree+requestUpdateTaskExecution =+ req+ "UpdateTaskExecution"+ "fixture/UpdateTaskExecution.yaml"++-- Responses++responseCancelTaskExecution :: CancelTaskExecutionResponse -> TestTree+responseCancelTaskExecution =+ res+ "CancelTaskExecutionResponse"+ "fixture/CancelTaskExecutionResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CancelTaskExecution)++responseCreateAgent :: CreateAgentResponse -> TestTree+responseCreateAgent =+ res+ "CreateAgentResponse"+ "fixture/CreateAgentResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateAgent)++responseCreateLocationEfs :: CreateLocationEfsResponse -> TestTree+responseCreateLocationEfs =+ res+ "CreateLocationEfsResponse"+ "fixture/CreateLocationEfsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateLocationEfs)++responseCreateLocationFsxLustre :: CreateLocationFsxLustreResponse -> TestTree+responseCreateLocationFsxLustre =+ res+ "CreateLocationFsxLustreResponse"+ "fixture/CreateLocationFsxLustreResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateLocationFsxLustre)++responseCreateLocationFsxOntap :: CreateLocationFsxOntapResponse -> TestTree+responseCreateLocationFsxOntap =+ res+ "CreateLocationFsxOntapResponse"+ "fixture/CreateLocationFsxOntapResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateLocationFsxOntap)++responseCreateLocationFsxOpenZfs :: CreateLocationFsxOpenZfsResponse -> TestTree+responseCreateLocationFsxOpenZfs =+ res+ "CreateLocationFsxOpenZfsResponse"+ "fixture/CreateLocationFsxOpenZfsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateLocationFsxOpenZfs)++responseCreateLocationFsxWindows :: CreateLocationFsxWindowsResponse -> TestTree+responseCreateLocationFsxWindows =+ res+ "CreateLocationFsxWindowsResponse"+ "fixture/CreateLocationFsxWindowsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateLocationFsxWindows)++responseCreateLocationHdfs :: CreateLocationHdfsResponse -> TestTree+responseCreateLocationHdfs =+ res+ "CreateLocationHdfsResponse"+ "fixture/CreateLocationHdfsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateLocationHdfs)++responseCreateLocationNfs :: CreateLocationNfsResponse -> TestTree+responseCreateLocationNfs =+ res+ "CreateLocationNfsResponse"+ "fixture/CreateLocationNfsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateLocationNfs)++responseCreateLocationObjectStorage :: CreateLocationObjectStorageResponse -> TestTree+responseCreateLocationObjectStorage =+ res+ "CreateLocationObjectStorageResponse"+ "fixture/CreateLocationObjectStorageResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateLocationObjectStorage)++responseCreateLocationS3 :: CreateLocationS3Response -> TestTree+responseCreateLocationS3 =+ res+ "CreateLocationS3Response"+ "fixture/CreateLocationS3Response.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateLocationS3)++responseCreateLocationSmb :: CreateLocationSmbResponse -> TestTree+responseCreateLocationSmb =+ res+ "CreateLocationSmbResponse"+ "fixture/CreateLocationSmbResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateLocationSmb)++responseCreateTask :: CreateTaskResponse -> TestTree+responseCreateTask =+ res+ "CreateTaskResponse"+ "fixture/CreateTaskResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateTask)++responseDeleteAgent :: DeleteAgentResponse -> TestTree+responseDeleteAgent =+ res+ "DeleteAgentResponse"+ "fixture/DeleteAgentResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteAgent)++responseDeleteLocation :: DeleteLocationResponse -> TestTree+responseDeleteLocation =+ res+ "DeleteLocationResponse"+ "fixture/DeleteLocationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteLocation)++responseDeleteTask :: DeleteTaskResponse -> TestTree+responseDeleteTask =+ res+ "DeleteTaskResponse"+ "fixture/DeleteTaskResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteTask)++responseDescribeAgent :: DescribeAgentResponse -> TestTree+responseDescribeAgent =+ res+ "DescribeAgentResponse"+ "fixture/DescribeAgentResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeAgent)++responseDescribeLocationEfs :: DescribeLocationEfsResponse -> TestTree+responseDescribeLocationEfs =+ res+ "DescribeLocationEfsResponse"+ "fixture/DescribeLocationEfsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeLocationEfs)++responseDescribeLocationFsxLustre :: DescribeLocationFsxLustreResponse -> TestTree+responseDescribeLocationFsxLustre =+ res+ "DescribeLocationFsxLustreResponse"+ "fixture/DescribeLocationFsxLustreResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeLocationFsxLustre)++responseDescribeLocationFsxOntap :: DescribeLocationFsxOntapResponse -> TestTree+responseDescribeLocationFsxOntap =+ res+ "DescribeLocationFsxOntapResponse"+ "fixture/DescribeLocationFsxOntapResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeLocationFsxOntap)++responseDescribeLocationFsxOpenZfs :: DescribeLocationFsxOpenZfsResponse -> TestTree+responseDescribeLocationFsxOpenZfs =+ res+ "DescribeLocationFsxOpenZfsResponse"+ "fixture/DescribeLocationFsxOpenZfsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeLocationFsxOpenZfs)++responseDescribeLocationFsxWindows :: DescribeLocationFsxWindowsResponse -> TestTree+responseDescribeLocationFsxWindows =+ res+ "DescribeLocationFsxWindowsResponse"+ "fixture/DescribeLocationFsxWindowsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeLocationFsxWindows)++responseDescribeLocationHdfs :: DescribeLocationHdfsResponse -> TestTree+responseDescribeLocationHdfs =+ res+ "DescribeLocationHdfsResponse"+ "fixture/DescribeLocationHdfsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeLocationHdfs)++responseDescribeLocationNfs :: DescribeLocationNfsResponse -> TestTree+responseDescribeLocationNfs =+ res+ "DescribeLocationNfsResponse"+ "fixture/DescribeLocationNfsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeLocationNfs)++responseDescribeLocationObjectStorage :: DescribeLocationObjectStorageResponse -> TestTree+responseDescribeLocationObjectStorage =+ res+ "DescribeLocationObjectStorageResponse"+ "fixture/DescribeLocationObjectStorageResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeLocationObjectStorage)++responseDescribeLocationS3 :: DescribeLocationS3Response -> TestTree+responseDescribeLocationS3 =+ res+ "DescribeLocationS3Response"+ "fixture/DescribeLocationS3Response.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeLocationS3)++responseDescribeLocationSmb :: DescribeLocationSmbResponse -> TestTree+responseDescribeLocationSmb =+ res+ "DescribeLocationSmbResponse"+ "fixture/DescribeLocationSmbResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeLocationSmb)++responseDescribeTask :: DescribeTaskResponse -> TestTree+responseDescribeTask =+ res+ "DescribeTaskResponse"+ "fixture/DescribeTaskResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeTask)++responseDescribeTaskExecution :: DescribeTaskExecutionResponse -> TestTree+responseDescribeTaskExecution =+ res+ "DescribeTaskExecutionResponse"+ "fixture/DescribeTaskExecutionResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeTaskExecution)++responseListAgents :: ListAgentsResponse -> TestTree+responseListAgents =+ res+ "ListAgentsResponse"+ "fixture/ListAgentsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListAgents)++responseListLocations :: ListLocationsResponse -> TestTree+responseListLocations =+ res+ "ListLocationsResponse"+ "fixture/ListLocationsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListLocations)++responseListTagsForResource :: ListTagsForResourceResponse -> TestTree+responseListTagsForResource =+ res+ "ListTagsForResourceResponse"+ "fixture/ListTagsForResourceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListTagsForResource)++responseListTaskExecutions :: ListTaskExecutionsResponse -> TestTree+responseListTaskExecutions =+ res+ "ListTaskExecutionsResponse"+ "fixture/ListTaskExecutionsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListTaskExecutions)++responseListTasks :: ListTasksResponse -> TestTree+responseListTasks =+ res+ "ListTasksResponse"+ "fixture/ListTasksResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListTasks)++responseStartTaskExecution :: StartTaskExecutionResponse -> TestTree+responseStartTaskExecution =+ res+ "StartTaskExecutionResponse"+ "fixture/StartTaskExecutionResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy StartTaskExecution)++responseTagResource :: TagResourceResponse -> TestTree+responseTagResource =+ res+ "TagResourceResponse"+ "fixture/TagResourceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy TagResource)++responseUntagResource :: UntagResourceResponse -> TestTree+responseUntagResource =+ res+ "UntagResourceResponse"+ "fixture/UntagResourceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UntagResource)++responseUpdateAgent :: UpdateAgentResponse -> TestTree+responseUpdateAgent =+ res+ "UpdateAgentResponse"+ "fixture/UpdateAgentResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateAgent)++responseUpdateLocationHdfs :: UpdateLocationHdfsResponse -> TestTree+responseUpdateLocationHdfs =+ res+ "UpdateLocationHdfsResponse"+ "fixture/UpdateLocationHdfsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateLocationHdfs)++responseUpdateLocationNfs :: UpdateLocationNfsResponse -> TestTree+responseUpdateLocationNfs =+ res+ "UpdateLocationNfsResponse"+ "fixture/UpdateLocationNfsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateLocationNfs)++responseUpdateLocationObjectStorage :: UpdateLocationObjectStorageResponse -> TestTree+responseUpdateLocationObjectStorage =+ res+ "UpdateLocationObjectStorageResponse"+ "fixture/UpdateLocationObjectStorageResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateLocationObjectStorage)++responseUpdateLocationSmb :: UpdateLocationSmbResponse -> TestTree+responseUpdateLocationSmb =+ res+ "UpdateLocationSmbResponse"+ "fixture/UpdateLocationSmbResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateLocationSmb)++responseUpdateTask :: UpdateTaskResponse -> TestTree+responseUpdateTask =+ res+ "UpdateTaskResponse"+ "fixture/UpdateTaskResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateTask)++responseUpdateTaskExecution :: UpdateTaskExecutionResponse -> TestTree+responseUpdateTaskExecution =+ res+ "UpdateTaskExecutionResponse"+ "fixture/UpdateTaskExecutionResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateTaskExecution)