amazonka-fsx (empty) → 2.0
raw patch · 279 files changed
+38307/−0 lines, 279 filesdep +amazonka-coredep +amazonka-fsxdep +amazonka-test
Dependencies added: amazonka-core, amazonka-fsx, amazonka-test, base, bytestring, case-insensitive, tasty, tasty-hunit, text, time, unordered-containers
Files
- LICENSE +367/−0
- README.md +44/−0
- amazonka-fsx.cabal +264/−0
- fixture/AssociateFileSystemAliases.yaml +10/−0
- fixture/AssociateFileSystemAliasesResponse.proto +0/−0
- fixture/CancelDataRepositoryTask.yaml +10/−0
- fixture/CancelDataRepositoryTaskResponse.proto +0/−0
- fixture/CopyBackup.yaml +10/−0
- fixture/CopyBackupResponse.proto +0/−0
- fixture/CreateBackup.yaml +10/−0
- fixture/CreateBackupResponse.proto +0/−0
- fixture/CreateDataRepositoryAssociation.yaml +10/−0
- fixture/CreateDataRepositoryAssociationResponse.proto +0/−0
- fixture/CreateDataRepositoryTask.yaml +10/−0
- fixture/CreateDataRepositoryTaskResponse.proto +0/−0
- fixture/CreateFileCache.yaml +10/−0
- fixture/CreateFileCacheResponse.proto +0/−0
- fixture/CreateFileSystem.yaml +10/−0
- fixture/CreateFileSystemFromBackup.yaml +10/−0
- fixture/CreateFileSystemFromBackupResponse.proto +0/−0
- fixture/CreateFileSystemResponse.proto +0/−0
- fixture/CreateSnapshot.yaml +10/−0
- fixture/CreateSnapshotResponse.proto +0/−0
- fixture/CreateStorageVirtualMachine.yaml +10/−0
- fixture/CreateStorageVirtualMachineResponse.proto +0/−0
- fixture/CreateVolume.yaml +10/−0
- fixture/CreateVolumeFromBackup.yaml +10/−0
- fixture/CreateVolumeFromBackupResponse.proto +0/−0
- fixture/CreateVolumeResponse.proto +0/−0
- fixture/DeleteBackup.yaml +10/−0
- fixture/DeleteBackupResponse.proto +0/−0
- fixture/DeleteDataRepositoryAssociation.yaml +10/−0
- fixture/DeleteDataRepositoryAssociationResponse.proto +0/−0
- fixture/DeleteFileCache.yaml +10/−0
- fixture/DeleteFileCacheResponse.proto +0/−0
- fixture/DeleteFileSystem.yaml +10/−0
- fixture/DeleteFileSystemResponse.proto +0/−0
- fixture/DeleteSnapshot.yaml +10/−0
- fixture/DeleteSnapshotResponse.proto +0/−0
- fixture/DeleteStorageVirtualMachine.yaml +10/−0
- fixture/DeleteStorageVirtualMachineResponse.proto +0/−0
- fixture/DeleteVolume.yaml +10/−0
- fixture/DeleteVolumeResponse.proto +0/−0
- fixture/DescribeBackups.yaml +10/−0
- fixture/DescribeBackupsResponse.proto +0/−0
- fixture/DescribeDataRepositoryAssociations.yaml +10/−0
- fixture/DescribeDataRepositoryAssociationsResponse.proto +0/−0
- fixture/DescribeDataRepositoryTasks.yaml +10/−0
- fixture/DescribeDataRepositoryTasksResponse.proto +0/−0
- fixture/DescribeFileCaches.yaml +10/−0
- fixture/DescribeFileCachesResponse.proto +0/−0
- fixture/DescribeFileSystemAliases.yaml +10/−0
- fixture/DescribeFileSystemAliasesResponse.proto +0/−0
- fixture/DescribeFileSystems.yaml +10/−0
- fixture/DescribeFileSystemsResponse.proto +0/−0
- fixture/DescribeSnapshots.yaml +10/−0
- fixture/DescribeSnapshotsResponse.proto +0/−0
- fixture/DescribeStorageVirtualMachines.yaml +10/−0
- fixture/DescribeStorageVirtualMachinesResponse.proto +0/−0
- fixture/DescribeVolumes.yaml +10/−0
- fixture/DescribeVolumesResponse.proto +0/−0
- fixture/DisassociateFileSystemAliases.yaml +10/−0
- fixture/DisassociateFileSystemAliasesResponse.proto +0/−0
- fixture/ListTagsForResource.yaml +10/−0
- fixture/ListTagsForResourceResponse.proto +0/−0
- fixture/ReleaseFileSystemNfsV3Locks.yaml +10/−0
- fixture/ReleaseFileSystemNfsV3LocksResponse.proto +0/−0
- fixture/RestoreVolumeFromSnapshot.yaml +10/−0
- fixture/RestoreVolumeFromSnapshotResponse.proto +0/−0
- fixture/TagResource.yaml +10/−0
- fixture/TagResourceResponse.proto +0/−0
- fixture/UntagResource.yaml +10/−0
- fixture/UntagResourceResponse.proto +0/−0
- fixture/UpdateDataRepositoryAssociation.yaml +10/−0
- fixture/UpdateDataRepositoryAssociationResponse.proto +0/−0
- fixture/UpdateFileCache.yaml +10/−0
- fixture/UpdateFileCacheResponse.proto +0/−0
- fixture/UpdateFileSystem.yaml +10/−0
- fixture/UpdateFileSystemResponse.proto +0/−0
- fixture/UpdateSnapshot.yaml +10/−0
- fixture/UpdateSnapshotResponse.proto +0/−0
- fixture/UpdateStorageVirtualMachine.yaml +10/−0
- fixture/UpdateStorageVirtualMachineResponse.proto +0/−0
- fixture/UpdateVolume.yaml +10/−0
- fixture/UpdateVolumeResponse.proto +0/−0
- gen/Amazonka/FSx.hs +962/−0
- gen/Amazonka/FSx/AssociateFileSystemAliases.hs +280/−0
- gen/Amazonka/FSx/CancelDataRepositoryTask.hs +240/−0
- gen/Amazonka/FSx/CopyBackup.hs +305/−0
- gen/Amazonka/FSx/CreateBackup.hs +283/−0
- gen/Amazonka/FSx/CreateDataRepositoryAssociation.hs +407/−0
- gen/Amazonka/FSx/CreateDataRepositoryTask.hs +332/−0
- gen/Amazonka/FSx/CreateFileCache.hs +440/−0
- gen/Amazonka/FSx/CreateFileSystem.hs +625/−0
- gen/Amazonka/FSx/CreateFileSystemFromBackup.hs +507/−0
- gen/Amazonka/FSx/CreateSnapshot.hs +241/−0
- gen/Amazonka/FSx/CreateStorageVirtualMachine.hs +313/−0
- gen/Amazonka/FSx/CreateVolume.hs +244/−0
- gen/Amazonka/FSx/CreateVolumeFromBackup.hs +234/−0
- gen/Amazonka/FSx/DeleteBackup.hs +216/−0
- gen/Amazonka/FSx/DeleteDataRepositoryAssociation.hs +260/−0
- gen/Amazonka/FSx/DeleteFileCache.hs +214/−0
- gen/Amazonka/FSx/DeleteFileSystem.hs +322/−0
- gen/Amazonka/FSx/DeleteSnapshot.hs +207/−0
- gen/Amazonka/FSx/DeleteStorageVirtualMachine.hs +210/−0
- gen/Amazonka/FSx/DeleteVolume.hs +250/−0
- gen/Amazonka/FSx/DescribeBackups.hs +303/−0
- gen/Amazonka/FSx/DescribeDataRepositoryAssociations.hs +277/−0
- gen/Amazonka/FSx/DescribeDataRepositoryTasks.hs +249/−0
- gen/Amazonka/FSx/DescribeFileCaches.hs +231/−0
- gen/Amazonka/FSx/DescribeFileSystemAliases.hs +269/−0
- gen/Amazonka/FSx/DescribeFileSystems.hs +291/−0
- gen/Amazonka/FSx/DescribeSnapshots.hs +253/−0
- gen/Amazonka/FSx/DescribeStorageVirtualMachines.hs +271/−0
- gen/Amazonka/FSx/DescribeVolumes.hs +247/−0
- gen/Amazonka/FSx/DisassociateFileSystemAliases.hs +233/−0
- gen/Amazonka/FSx/Lens.hs +1158/−0
- gen/Amazonka/FSx/ListTagsForResource.hs +285/−0
- gen/Amazonka/FSx/ReleaseFileSystemNfsV3Locks.hs +189/−0
- gen/Amazonka/FSx/RestoreVolumeFromSnapshot.hs +285/−0
- gen/Amazonka/FSx/TagResource.hs +180/−0
- gen/Amazonka/FSx/Types.hs +1505/−0
- gen/Amazonka/FSx/Types/ActiveDirectoryBackupAttributes.hs +114/−0
- gen/Amazonka/FSx/Types/AdministrativeAction.hs +217/−0
- gen/Amazonka/FSx/Types/AdministrativeAction.hs-boot +31/−0
- gen/Amazonka/FSx/Types/AdministrativeActionFailureDetails.hs +83/−0
- gen/Amazonka/FSx/Types/AdministrativeActionType.hs +153/−0
- gen/Amazonka/FSx/Types/Alias.hs +180/−0
- gen/Amazonka/FSx/Types/AliasLifecycle.hs +86/−0
- gen/Amazonka/FSx/Types/AutoExportPolicy.hs +120/−0
- gen/Amazonka/FSx/Types/AutoImportPolicy.hs +124/−0
- gen/Amazonka/FSx/Types/AutoImportPolicyType.hs +81/−0
- gen/Amazonka/FSx/Types/Backup.hs +336/−0
- gen/Amazonka/FSx/Types/BackupFailureDetails.hs +69/−0
- gen/Amazonka/FSx/Types/BackupLifecycle.hs +114/−0
- gen/Amazonka/FSx/Types/BackupType.hs +77/−0
- gen/Amazonka/FSx/Types/CompletionReport.hs +185/−0
- gen/Amazonka/FSx/Types/CreateFileCacheLustreConfiguration.hs +145/−0
- gen/Amazonka/FSx/Types/CreateFileSystemLustreConfiguration.hs +766/−0
- gen/Amazonka/FSx/Types/CreateFileSystemOntapConfiguration.hs +285/−0
- gen/Amazonka/FSx/Types/CreateFileSystemOpenZFSConfiguration.hs +328/−0
- gen/Amazonka/FSx/Types/CreateFileSystemWindowsConfiguration.hs +438/−0
- gen/Amazonka/FSx/Types/CreateOntapVolumeConfiguration.hs +370/−0
- gen/Amazonka/FSx/Types/CreateOpenZFSOriginSnapshotConfiguration.hs +126/−0
- gen/Amazonka/FSx/Types/CreateOpenZFSVolumeConfiguration.hs +368/−0
- gen/Amazonka/FSx/Types/CreateSvmActiveDirectoryConfiguration.hs +104/−0
- gen/Amazonka/FSx/Types/DataCompressionType.hs +71/−0
- gen/Amazonka/FSx/Types/DataRepositoryAssociation.hs +561/−0
- gen/Amazonka/FSx/Types/DataRepositoryConfiguration.hs +301/−0
- gen/Amazonka/FSx/Types/DataRepositoryFailureDetails.hs +75/−0
- gen/Amazonka/FSx/Types/DataRepositoryLifecycle.hs +91/−0
- gen/Amazonka/FSx/Types/DataRepositoryTask.hs +378/−0
- gen/Amazonka/FSx/Types/DataRepositoryTaskFailureDetails.hs +83/−0
- gen/Amazonka/FSx/Types/DataRepositoryTaskFilter.hs +114/−0
- gen/Amazonka/FSx/Types/DataRepositoryTaskFilterName.hs +81/−0
- gen/Amazonka/FSx/Types/DataRepositoryTaskLifecycle.hs +91/−0
- gen/Amazonka/FSx/Types/DataRepositoryTaskStatus.hs +138/−0
- gen/Amazonka/FSx/Types/DataRepositoryTaskType.hs +81/−0
- gen/Amazonka/FSx/Types/DeleteFileSystemLustreConfiguration.hs +132/−0
- gen/Amazonka/FSx/Types/DeleteFileSystemLustreResponse.hs +95/−0
- gen/Amazonka/FSx/Types/DeleteFileSystemOpenZFSConfiguration.hs +133/−0
- gen/Amazonka/FSx/Types/DeleteFileSystemOpenZFSOption.hs +66/−0
- gen/Amazonka/FSx/Types/DeleteFileSystemOpenZFSResponse.hs +96/−0
- gen/Amazonka/FSx/Types/DeleteFileSystemWindowsConfiguration.hs +108/−0
- gen/Amazonka/FSx/Types/DeleteFileSystemWindowsResponse.hs +98/−0
- gen/Amazonka/FSx/Types/DeleteOpenZFSVolumeOption.hs +66/−0
- gen/Amazonka/FSx/Types/DeleteVolumeOntapConfiguration.hs +98/−0
- gen/Amazonka/FSx/Types/DeleteVolumeOntapResponse.hs +85/−0
- gen/Amazonka/FSx/Types/DeleteVolumeOpenZFSConfiguration.hs +83/−0
- gen/Amazonka/FSx/Types/DiskIopsConfiguration.hs +104/−0
- gen/Amazonka/FSx/Types/DiskIopsConfigurationMode.hs +71/−0
- gen/Amazonka/FSx/Types/DriveCacheType.hs +71/−0
- gen/Amazonka/FSx/Types/EventType.hs +76/−0
- gen/Amazonka/FSx/Types/FileCache.hs +317/−0
- gen/Amazonka/FSx/Types/FileCacheCreating.hs +345/−0
- gen/Amazonka/FSx/Types/FileCacheDataRepositoryAssociation.hs +260/−0
- gen/Amazonka/FSx/Types/FileCacheFailureDetails.hs +69/−0
- gen/Amazonka/FSx/Types/FileCacheLifecycle.hs +86/−0
- gen/Amazonka/FSx/Types/FileCacheLustreConfiguration.hs +162/−0
- gen/Amazonka/FSx/Types/FileCacheLustreDeploymentType.hs +66/−0
- gen/Amazonka/FSx/Types/FileCacheLustreMetadataConfiguration.hs +103/−0
- gen/Amazonka/FSx/Types/FileCacheNFSConfiguration.hs +106/−0
- gen/Amazonka/FSx/Types/FileCacheType.hs +66/−0
- gen/Amazonka/FSx/Types/FileSystem.hs +532/−0
- gen/Amazonka/FSx/Types/FileSystem.hs-boot +31/−0
- gen/Amazonka/FSx/Types/FileSystemEndpoint.hs +86/−0
- gen/Amazonka/FSx/Types/FileSystemEndpoints.hs +94/−0
- gen/Amazonka/FSx/Types/FileSystemFailureDetails.hs +72/−0
- gen/Amazonka/FSx/Types/FileSystemLifecycle.hs +97/−0
- gen/Amazonka/FSx/Types/FileSystemMaintenanceOperation.hs +72/−0
- gen/Amazonka/FSx/Types/FileSystemType.hs +82/−0
- gen/Amazonka/FSx/Types/Filter.hs +88/−0
- gen/Amazonka/FSx/Types/FilterName.hs +97/−0
- gen/Amazonka/FSx/Types/FlexCacheEndpointType.hs +76/−0
- gen/Amazonka/FSx/Types/InputOntapVolumeType.hs +71/−0
- gen/Amazonka/FSx/Types/LifecycleTransitionReason.hs +71/−0
- gen/Amazonka/FSx/Types/LustreAccessAuditLogLevel.hs +81/−0
- gen/Amazonka/FSx/Types/LustreDeploymentType.hs +81/−0
- gen/Amazonka/FSx/Types/LustreFileSystemConfiguration.hs +390/−0
- gen/Amazonka/FSx/Types/LustreLogConfiguration.hs +135/−0
- gen/Amazonka/FSx/Types/LustreLogCreateConfiguration.hs +186/−0
- gen/Amazonka/FSx/Types/LustreRootSquashConfiguration.hs +168/−0
- gen/Amazonka/FSx/Types/NFSDataRepositoryConfiguration.hs +128/−0
- gen/Amazonka/FSx/Types/NfsVersion.hs +66/−0
- gen/Amazonka/FSx/Types/OntapDeploymentType.hs +71/−0
- gen/Amazonka/FSx/Types/OntapFileSystemConfiguration.hs +246/−0
- gen/Amazonka/FSx/Types/OntapVolumeConfiguration.hs +389/−0
- gen/Amazonka/FSx/Types/OntapVolumeType.hs +76/−0
- gen/Amazonka/FSx/Types/OpenZFSClientConfiguration.hs +140/−0
- gen/Amazonka/FSx/Types/OpenZFSCopyStrategy.hs +71/−0
- gen/Amazonka/FSx/Types/OpenZFSCreateRootVolumeConfiguration.hs +233/−0
- gen/Amazonka/FSx/Types/OpenZFSDataCompressionType.hs +76/−0
- gen/Amazonka/FSx/Types/OpenZFSDeploymentType.hs +71/−0
- gen/Amazonka/FSx/Types/OpenZFSFileSystemConfiguration.hs +219/−0
- gen/Amazonka/FSx/Types/OpenZFSNfsExport.hs +91/−0
- gen/Amazonka/FSx/Types/OpenZFSOriginSnapshotConfiguration.hs +121/−0
- gen/Amazonka/FSx/Types/OpenZFSQuotaType.hs +71/−0
- gen/Amazonka/FSx/Types/OpenZFSUserOrGroupQuota.hs +121/−0
- gen/Amazonka/FSx/Types/OpenZFSVolumeConfiguration.hs +338/−0
- gen/Amazonka/FSx/Types/ReportFormat.hs +66/−0
- gen/Amazonka/FSx/Types/ReportScope.hs +66/−0
- gen/Amazonka/FSx/Types/ResourceType.hs +71/−0
- gen/Amazonka/FSx/Types/RestoreOpenZFSVolumeOption.hs +71/−0
- gen/Amazonka/FSx/Types/S3DataRepositoryConfiguration.hs +118/−0
- gen/Amazonka/FSx/Types/SecurityStyle.hs +76/−0
- gen/Amazonka/FSx/Types/SelfManagedActiveDirectoryAttributes.hs +151/−0
- gen/Amazonka/FSx/Types/SelfManagedActiveDirectoryConfiguration.hs +233/−0
- gen/Amazonka/FSx/Types/SelfManagedActiveDirectoryConfigurationUpdates.hs +125/−0
- gen/Amazonka/FSx/Types/Snapshot.hs +201/−0
- gen/Amazonka/FSx/Types/Snapshot.hs-boot +31/−0
- gen/Amazonka/FSx/Types/SnapshotFilter.hs +88/−0
- gen/Amazonka/FSx/Types/SnapshotFilterName.hs +71/−0
- gen/Amazonka/FSx/Types/SnapshotLifecycle.hs +81/−0
- gen/Amazonka/FSx/Types/Status.hs +83/−0
- gen/Amazonka/FSx/Types/StorageType.hs +72/−0
- gen/Amazonka/FSx/Types/StorageVirtualMachine.hs +266/−0
- gen/Amazonka/FSx/Types/StorageVirtualMachineFilter.hs +89/−0
- gen/Amazonka/FSx/Types/StorageVirtualMachineFilterName.hs +66/−0
- gen/Amazonka/FSx/Types/StorageVirtualMachineLifecycle.hs +91/−0
- gen/Amazonka/FSx/Types/StorageVirtualMachineRootVolumeSecurityStyle.hs +76/−0
- gen/Amazonka/FSx/Types/StorageVirtualMachineSubtype.hs +81/−0
- gen/Amazonka/FSx/Types/SvmActiveDirectoryConfiguration.hs +105/−0
- gen/Amazonka/FSx/Types/SvmEndpoint.hs +86/−0
- gen/Amazonka/FSx/Types/SvmEndpoints.hs +120/−0
- gen/Amazonka/FSx/Types/Tag.hs +105/−0
- gen/Amazonka/FSx/Types/TieringPolicy.hs +162/−0
- gen/Amazonka/FSx/Types/TieringPolicyName.hs +81/−0
- gen/Amazonka/FSx/Types/UpdateFileCacheLustreConfiguration.hs +83/−0
- gen/Amazonka/FSx/Types/UpdateFileSystemLustreConfiguration.hs +304/−0
- gen/Amazonka/FSx/Types/UpdateFileSystemOntapConfiguration.hs +213/−0
- gen/Amazonka/FSx/Types/UpdateFileSystemOpenZFSConfiguration.hs +225/−0
- gen/Amazonka/FSx/Types/UpdateFileSystemWindowsConfiguration.hs +205/−0
- gen/Amazonka/FSx/Types/UpdateOntapVolumeConfiguration.hs +249/−0
- gen/Amazonka/FSx/Types/UpdateOpenZFSVolumeConfiguration.hs +242/−0
- gen/Amazonka/FSx/Types/UpdateSvmActiveDirectoryConfiguration.hs +86/−0
- gen/Amazonka/FSx/Types/Volume.hs +258/−0
- gen/Amazonka/FSx/Types/Volume.hs-boot +31/−0
- gen/Amazonka/FSx/Types/VolumeFilter.hs +88/−0
- gen/Amazonka/FSx/Types/VolumeFilterName.hs +71/−0
- gen/Amazonka/FSx/Types/VolumeLifecycle.hs +96/−0
- gen/Amazonka/FSx/Types/VolumeType.hs +71/−0
- gen/Amazonka/FSx/Types/WindowsAccessAuditLogLevel.hs +81/−0
- gen/Amazonka/FSx/Types/WindowsAuditLogConfiguration.hs +214/−0
- gen/Amazonka/FSx/Types/WindowsAuditLogCreateConfiguration.hs +268/−0
- gen/Amazonka/FSx/Types/WindowsDeploymentType.hs +76/−0
- gen/Amazonka/FSx/Types/WindowsFileSystemConfiguration.hs +426/−0
- gen/Amazonka/FSx/UntagResource.hs +180/−0
- gen/Amazonka/FSx/UpdateDataRepositoryAssociation.hs +274/−0
- gen/Amazonka/FSx/UpdateFileCache.hs +202/−0
- gen/Amazonka/FSx/UpdateFileSystem.hs +456/−0
- gen/Amazonka/FSx/UpdateSnapshot.hs +207/−0
- gen/Amazonka/FSx/UpdateStorageVirtualMachine.hs +228/−0
- gen/Amazonka/FSx/UpdateVolume.hs +240/−0
- gen/Amazonka/FSx/Waiters.hs +24/−0
- src/.gitkeep +0/−0
- test/Main.hs +23/−0
- test/Test/Amazonka/FSx.hs +20/−0
- test/Test/Amazonka/FSx/Internal.hs +8/−0
- test/Test/Amazonka/Gen/FSx.hs +858/−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 FSx SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version+ +`2.0` - Derived from API version @2018-03-01@ of the AWS service descriptions, licensed under Apache 2.0.++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-fsx)+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.FSx](http://hackage.haskell.org/package/amazonka-fsx/docs/Amazonka-FSx.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-fsx` 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-fsx.cabal view
@@ -0,0 +1,264 @@+cabal-version: 2.2+name: amazonka-fsx+version: 2.0+synopsis: Amazon FSx 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-03-01@ of the AWS service descriptions, licensed under Apache 2.0.+ .+ The types from this library are intended to be used with <http://hackage.haskell.org/package/amazonka amazonka>,+ which provides mechanisms for specifying AuthN/AuthZ information, sending requests, and receiving responses.+ .+ It is recommended to use generic lenses or optics from packages such as <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify optional fields and deconstruct responses.+ .+ Generated lenses can be found in "Amazonka.FSx.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.FSx" 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-fsx++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.FSx+ Amazonka.FSx.AssociateFileSystemAliases+ Amazonka.FSx.CancelDataRepositoryTask+ Amazonka.FSx.CopyBackup+ Amazonka.FSx.CreateBackup+ Amazonka.FSx.CreateDataRepositoryAssociation+ Amazonka.FSx.CreateDataRepositoryTask+ Amazonka.FSx.CreateFileCache+ Amazonka.FSx.CreateFileSystem+ Amazonka.FSx.CreateFileSystemFromBackup+ Amazonka.FSx.CreateSnapshot+ Amazonka.FSx.CreateStorageVirtualMachine+ Amazonka.FSx.CreateVolume+ Amazonka.FSx.CreateVolumeFromBackup+ Amazonka.FSx.DeleteBackup+ Amazonka.FSx.DeleteDataRepositoryAssociation+ Amazonka.FSx.DeleteFileCache+ Amazonka.FSx.DeleteFileSystem+ Amazonka.FSx.DeleteSnapshot+ Amazonka.FSx.DeleteStorageVirtualMachine+ Amazonka.FSx.DeleteVolume+ Amazonka.FSx.DescribeBackups+ Amazonka.FSx.DescribeDataRepositoryAssociations+ Amazonka.FSx.DescribeDataRepositoryTasks+ Amazonka.FSx.DescribeFileCaches+ Amazonka.FSx.DescribeFileSystemAliases+ Amazonka.FSx.DescribeFileSystems+ Amazonka.FSx.DescribeSnapshots+ Amazonka.FSx.DescribeStorageVirtualMachines+ Amazonka.FSx.DescribeVolumes+ Amazonka.FSx.DisassociateFileSystemAliases+ Amazonka.FSx.Lens+ Amazonka.FSx.ListTagsForResource+ Amazonka.FSx.ReleaseFileSystemNfsV3Locks+ Amazonka.FSx.RestoreVolumeFromSnapshot+ Amazonka.FSx.TagResource+ Amazonka.FSx.Types+ Amazonka.FSx.Types.ActiveDirectoryBackupAttributes+ Amazonka.FSx.Types.AdministrativeAction+ Amazonka.FSx.Types.AdministrativeActionFailureDetails+ Amazonka.FSx.Types.AdministrativeActionType+ Amazonka.FSx.Types.Alias+ Amazonka.FSx.Types.AliasLifecycle+ Amazonka.FSx.Types.AutoExportPolicy+ Amazonka.FSx.Types.AutoImportPolicy+ Amazonka.FSx.Types.AutoImportPolicyType+ Amazonka.FSx.Types.Backup+ Amazonka.FSx.Types.BackupFailureDetails+ Amazonka.FSx.Types.BackupLifecycle+ Amazonka.FSx.Types.BackupType+ Amazonka.FSx.Types.CompletionReport+ Amazonka.FSx.Types.CreateFileCacheLustreConfiguration+ Amazonka.FSx.Types.CreateFileSystemLustreConfiguration+ Amazonka.FSx.Types.CreateFileSystemOntapConfiguration+ Amazonka.FSx.Types.CreateFileSystemOpenZFSConfiguration+ Amazonka.FSx.Types.CreateFileSystemWindowsConfiguration+ Amazonka.FSx.Types.CreateOntapVolumeConfiguration+ Amazonka.FSx.Types.CreateOpenZFSOriginSnapshotConfiguration+ Amazonka.FSx.Types.CreateOpenZFSVolumeConfiguration+ Amazonka.FSx.Types.CreateSvmActiveDirectoryConfiguration+ Amazonka.FSx.Types.DataCompressionType+ Amazonka.FSx.Types.DataRepositoryAssociation+ Amazonka.FSx.Types.DataRepositoryConfiguration+ Amazonka.FSx.Types.DataRepositoryFailureDetails+ Amazonka.FSx.Types.DataRepositoryLifecycle+ Amazonka.FSx.Types.DataRepositoryTask+ Amazonka.FSx.Types.DataRepositoryTaskFailureDetails+ Amazonka.FSx.Types.DataRepositoryTaskFilter+ Amazonka.FSx.Types.DataRepositoryTaskFilterName+ Amazonka.FSx.Types.DataRepositoryTaskLifecycle+ Amazonka.FSx.Types.DataRepositoryTaskStatus+ Amazonka.FSx.Types.DataRepositoryTaskType+ Amazonka.FSx.Types.DeleteFileSystemLustreConfiguration+ Amazonka.FSx.Types.DeleteFileSystemLustreResponse+ Amazonka.FSx.Types.DeleteFileSystemOpenZFSConfiguration+ Amazonka.FSx.Types.DeleteFileSystemOpenZFSOption+ Amazonka.FSx.Types.DeleteFileSystemOpenZFSResponse+ Amazonka.FSx.Types.DeleteFileSystemWindowsConfiguration+ Amazonka.FSx.Types.DeleteFileSystemWindowsResponse+ Amazonka.FSx.Types.DeleteOpenZFSVolumeOption+ Amazonka.FSx.Types.DeleteVolumeOntapConfiguration+ Amazonka.FSx.Types.DeleteVolumeOntapResponse+ Amazonka.FSx.Types.DeleteVolumeOpenZFSConfiguration+ Amazonka.FSx.Types.DiskIopsConfiguration+ Amazonka.FSx.Types.DiskIopsConfigurationMode+ Amazonka.FSx.Types.DriveCacheType+ Amazonka.FSx.Types.EventType+ Amazonka.FSx.Types.FileCache+ Amazonka.FSx.Types.FileCacheCreating+ Amazonka.FSx.Types.FileCacheDataRepositoryAssociation+ Amazonka.FSx.Types.FileCacheFailureDetails+ Amazonka.FSx.Types.FileCacheLifecycle+ Amazonka.FSx.Types.FileCacheLustreConfiguration+ Amazonka.FSx.Types.FileCacheLustreDeploymentType+ Amazonka.FSx.Types.FileCacheLustreMetadataConfiguration+ Amazonka.FSx.Types.FileCacheNFSConfiguration+ Amazonka.FSx.Types.FileCacheType+ Amazonka.FSx.Types.FileSystem+ Amazonka.FSx.Types.FileSystemEndpoint+ Amazonka.FSx.Types.FileSystemEndpoints+ Amazonka.FSx.Types.FileSystemFailureDetails+ Amazonka.FSx.Types.FileSystemLifecycle+ Amazonka.FSx.Types.FileSystemMaintenanceOperation+ Amazonka.FSx.Types.FileSystemType+ Amazonka.FSx.Types.Filter+ Amazonka.FSx.Types.FilterName+ Amazonka.FSx.Types.FlexCacheEndpointType+ Amazonka.FSx.Types.InputOntapVolumeType+ Amazonka.FSx.Types.LifecycleTransitionReason+ Amazonka.FSx.Types.LustreAccessAuditLogLevel+ Amazonka.FSx.Types.LustreDeploymentType+ Amazonka.FSx.Types.LustreFileSystemConfiguration+ Amazonka.FSx.Types.LustreLogConfiguration+ Amazonka.FSx.Types.LustreLogCreateConfiguration+ Amazonka.FSx.Types.LustreRootSquashConfiguration+ Amazonka.FSx.Types.NFSDataRepositoryConfiguration+ Amazonka.FSx.Types.NfsVersion+ Amazonka.FSx.Types.OntapDeploymentType+ Amazonka.FSx.Types.OntapFileSystemConfiguration+ Amazonka.FSx.Types.OntapVolumeConfiguration+ Amazonka.FSx.Types.OntapVolumeType+ Amazonka.FSx.Types.OpenZFSClientConfiguration+ Amazonka.FSx.Types.OpenZFSCopyStrategy+ Amazonka.FSx.Types.OpenZFSCreateRootVolumeConfiguration+ Amazonka.FSx.Types.OpenZFSDataCompressionType+ Amazonka.FSx.Types.OpenZFSDeploymentType+ Amazonka.FSx.Types.OpenZFSFileSystemConfiguration+ Amazonka.FSx.Types.OpenZFSNfsExport+ Amazonka.FSx.Types.OpenZFSOriginSnapshotConfiguration+ Amazonka.FSx.Types.OpenZFSQuotaType+ Amazonka.FSx.Types.OpenZFSUserOrGroupQuota+ Amazonka.FSx.Types.OpenZFSVolumeConfiguration+ Amazonka.FSx.Types.ReportFormat+ Amazonka.FSx.Types.ReportScope+ Amazonka.FSx.Types.ResourceType+ Amazonka.FSx.Types.RestoreOpenZFSVolumeOption+ Amazonka.FSx.Types.S3DataRepositoryConfiguration+ Amazonka.FSx.Types.SecurityStyle+ Amazonka.FSx.Types.SelfManagedActiveDirectoryAttributes+ Amazonka.FSx.Types.SelfManagedActiveDirectoryConfiguration+ Amazonka.FSx.Types.SelfManagedActiveDirectoryConfigurationUpdates+ Amazonka.FSx.Types.Snapshot+ Amazonka.FSx.Types.SnapshotFilter+ Amazonka.FSx.Types.SnapshotFilterName+ Amazonka.FSx.Types.SnapshotLifecycle+ Amazonka.FSx.Types.Status+ Amazonka.FSx.Types.StorageType+ Amazonka.FSx.Types.StorageVirtualMachine+ Amazonka.FSx.Types.StorageVirtualMachineFilter+ Amazonka.FSx.Types.StorageVirtualMachineFilterName+ Amazonka.FSx.Types.StorageVirtualMachineLifecycle+ Amazonka.FSx.Types.StorageVirtualMachineRootVolumeSecurityStyle+ Amazonka.FSx.Types.StorageVirtualMachineSubtype+ Amazonka.FSx.Types.SvmActiveDirectoryConfiguration+ Amazonka.FSx.Types.SvmEndpoint+ Amazonka.FSx.Types.SvmEndpoints+ Amazonka.FSx.Types.Tag+ Amazonka.FSx.Types.TieringPolicy+ Amazonka.FSx.Types.TieringPolicyName+ Amazonka.FSx.Types.UpdateFileCacheLustreConfiguration+ Amazonka.FSx.Types.UpdateFileSystemLustreConfiguration+ Amazonka.FSx.Types.UpdateFileSystemOntapConfiguration+ Amazonka.FSx.Types.UpdateFileSystemOpenZFSConfiguration+ Amazonka.FSx.Types.UpdateFileSystemWindowsConfiguration+ Amazonka.FSx.Types.UpdateOntapVolumeConfiguration+ Amazonka.FSx.Types.UpdateOpenZFSVolumeConfiguration+ Amazonka.FSx.Types.UpdateSvmActiveDirectoryConfiguration+ Amazonka.FSx.Types.Volume+ Amazonka.FSx.Types.VolumeFilter+ Amazonka.FSx.Types.VolumeFilterName+ Amazonka.FSx.Types.VolumeLifecycle+ Amazonka.FSx.Types.VolumeType+ Amazonka.FSx.Types.WindowsAccessAuditLogLevel+ Amazonka.FSx.Types.WindowsAuditLogConfiguration+ Amazonka.FSx.Types.WindowsAuditLogCreateConfiguration+ Amazonka.FSx.Types.WindowsDeploymentType+ Amazonka.FSx.Types.WindowsFileSystemConfiguration+ Amazonka.FSx.UntagResource+ Amazonka.FSx.UpdateDataRepositoryAssociation+ Amazonka.FSx.UpdateFileCache+ Amazonka.FSx.UpdateFileSystem+ Amazonka.FSx.UpdateSnapshot+ Amazonka.FSx.UpdateStorageVirtualMachine+ Amazonka.FSx.UpdateVolume+ Amazonka.FSx.Waiters++ build-depends:+ , amazonka-core >=2.0 && <2.1+ , base >=4.12 && <5++test-suite amazonka-fsx-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.FSx+ Test.Amazonka.FSx.Internal+ Test.Amazonka.Gen.FSx++ build-depends:+ , amazonka-core >=2.0 && <2.1+ , amazonka-fsx+ , amazonka-test >=2.0 && <2.1+ , base+ , bytestring+ , case-insensitive+ , tasty+ , tasty-hunit+ , text+ , time+ , unordered-containers
+ fixture/AssociateFileSystemAliases.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/fsx/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: fsx.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/AssociateFileSystemAliasesResponse.proto view
+ fixture/CancelDataRepositoryTask.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/fsx/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: fsx.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/CancelDataRepositoryTaskResponse.proto view
+ fixture/CopyBackup.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/fsx/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: fsx.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/CopyBackupResponse.proto view
+ fixture/CreateBackup.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/fsx/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: fsx.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/CreateBackupResponse.proto view
+ fixture/CreateDataRepositoryAssociation.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/fsx/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: fsx.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/CreateDataRepositoryAssociationResponse.proto view
+ fixture/CreateDataRepositoryTask.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/fsx/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: fsx.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/CreateDataRepositoryTaskResponse.proto view
+ fixture/CreateFileCache.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/fsx/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: fsx.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/CreateFileCacheResponse.proto view
+ fixture/CreateFileSystem.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/fsx/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: fsx.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/CreateFileSystemFromBackup.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/fsx/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: fsx.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/CreateFileSystemFromBackupResponse.proto view
+ fixture/CreateFileSystemResponse.proto view
+ fixture/CreateSnapshot.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/fsx/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: fsx.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/CreateSnapshotResponse.proto view
+ fixture/CreateStorageVirtualMachine.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/fsx/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: fsx.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/CreateStorageVirtualMachineResponse.proto view
+ fixture/CreateVolume.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/fsx/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: fsx.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/CreateVolumeFromBackup.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/fsx/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: fsx.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/CreateVolumeFromBackupResponse.proto view
+ fixture/CreateVolumeResponse.proto view
+ fixture/DeleteBackup.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/fsx/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: fsx.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/DeleteBackupResponse.proto view
+ fixture/DeleteDataRepositoryAssociation.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/fsx/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: fsx.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/DeleteDataRepositoryAssociationResponse.proto view
+ fixture/DeleteFileCache.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/fsx/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: fsx.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/DeleteFileCacheResponse.proto view
+ fixture/DeleteFileSystem.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/fsx/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: fsx.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/DeleteFileSystemResponse.proto view
+ fixture/DeleteSnapshot.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/fsx/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: fsx.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/DeleteSnapshotResponse.proto view
+ fixture/DeleteStorageVirtualMachine.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/fsx/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: fsx.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/DeleteStorageVirtualMachineResponse.proto view
+ fixture/DeleteVolume.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/fsx/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: fsx.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/DeleteVolumeResponse.proto view
+ fixture/DescribeBackups.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/fsx/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: fsx.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/DescribeBackupsResponse.proto view
+ fixture/DescribeDataRepositoryAssociations.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/fsx/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: fsx.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/DescribeDataRepositoryAssociationsResponse.proto view
+ fixture/DescribeDataRepositoryTasks.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/fsx/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: fsx.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/DescribeDataRepositoryTasksResponse.proto view
+ fixture/DescribeFileCaches.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/fsx/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: fsx.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/DescribeFileCachesResponse.proto view
+ fixture/DescribeFileSystemAliases.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/fsx/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: fsx.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/DescribeFileSystemAliasesResponse.proto view
+ fixture/DescribeFileSystems.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/fsx/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: fsx.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/DescribeFileSystemsResponse.proto view
+ fixture/DescribeSnapshots.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/fsx/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: fsx.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/DescribeSnapshotsResponse.proto view
+ fixture/DescribeStorageVirtualMachines.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/fsx/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: fsx.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/DescribeStorageVirtualMachinesResponse.proto view
+ fixture/DescribeVolumes.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/fsx/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: fsx.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/DescribeVolumesResponse.proto view
+ fixture/DisassociateFileSystemAliases.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/fsx/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: fsx.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/DisassociateFileSystemAliasesResponse.proto view
+ fixture/ListTagsForResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/fsx/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: fsx.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/ReleaseFileSystemNfsV3Locks.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/fsx/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: fsx.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/ReleaseFileSystemNfsV3LocksResponse.proto view
+ fixture/RestoreVolumeFromSnapshot.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/fsx/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: fsx.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/RestoreVolumeFromSnapshotResponse.proto view
+ fixture/TagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/fsx/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: fsx.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/fsx/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: fsx.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/UpdateDataRepositoryAssociation.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/fsx/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: fsx.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/UpdateDataRepositoryAssociationResponse.proto view
+ fixture/UpdateFileCache.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/fsx/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: fsx.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/UpdateFileCacheResponse.proto view
+ fixture/UpdateFileSystem.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/fsx/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: fsx.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/UpdateFileSystemResponse.proto view
+ fixture/UpdateSnapshot.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/fsx/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: fsx.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/UpdateSnapshotResponse.proto view
+ fixture/UpdateStorageVirtualMachine.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/fsx/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: fsx.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/UpdateStorageVirtualMachineResponse.proto view
+ fixture/UpdateVolume.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/fsx/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: fsx.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/UpdateVolumeResponse.proto view
+ gen/Amazonka/FSx.hs view
@@ -0,0 +1,962 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Amazonka.FSx+-- 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-03-01@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- Amazon FSx is a fully managed service that makes it easy for storage and+-- application administrators to launch and use shared file storage.+module Amazonka.FSx+ ( -- * Service Configuration+ defaultService,++ -- * Errors+ -- $errors++ -- ** ActiveDirectoryError+ _ActiveDirectoryError,++ -- ** BackupBeingCopied+ _BackupBeingCopied,++ -- ** BackupInProgress+ _BackupInProgress,++ -- ** BackupNotFound+ _BackupNotFound,++ -- ** BackupRestoring+ _BackupRestoring,++ -- ** BadRequest+ _BadRequest,++ -- ** DataRepositoryAssociationNotFound+ _DataRepositoryAssociationNotFound,++ -- ** DataRepositoryTaskEnded+ _DataRepositoryTaskEnded,++ -- ** DataRepositoryTaskExecuting+ _DataRepositoryTaskExecuting,++ -- ** DataRepositoryTaskNotFound+ _DataRepositoryTaskNotFound,++ -- ** FileCacheNotFound+ _FileCacheNotFound,++ -- ** FileSystemNotFound+ _FileSystemNotFound,++ -- ** IncompatibleParameterError+ _IncompatibleParameterError,++ -- ** IncompatibleRegionForMultiAZ+ _IncompatibleRegionForMultiAZ,++ -- ** InternalServerError+ _InternalServerError,++ -- ** InvalidDataRepositoryType+ _InvalidDataRepositoryType,++ -- ** InvalidDestinationKmsKey+ _InvalidDestinationKmsKey,++ -- ** InvalidExportPath+ _InvalidExportPath,++ -- ** InvalidImportPath+ _InvalidImportPath,++ -- ** InvalidNetworkSettings+ _InvalidNetworkSettings,++ -- ** InvalidPerUnitStorageThroughput+ _InvalidPerUnitStorageThroughput,++ -- ** InvalidRegion+ _InvalidRegion,++ -- ** InvalidSourceKmsKey+ _InvalidSourceKmsKey,++ -- ** MissingFileCacheConfiguration+ _MissingFileCacheConfiguration,++ -- ** MissingFileSystemConfiguration+ _MissingFileSystemConfiguration,++ -- ** MissingVolumeConfiguration+ _MissingVolumeConfiguration,++ -- ** NotServiceResourceError+ _NotServiceResourceError,++ -- ** ResourceDoesNotSupportTagging+ _ResourceDoesNotSupportTagging,++ -- ** ResourceNotFound+ _ResourceNotFound,++ -- ** ServiceLimitExceeded+ _ServiceLimitExceeded,++ -- ** SnapshotNotFound+ _SnapshotNotFound,++ -- ** SourceBackupUnavailable+ _SourceBackupUnavailable,++ -- ** StorageVirtualMachineNotFound+ _StorageVirtualMachineNotFound,++ -- ** UnsupportedOperation+ _UnsupportedOperation,++ -- ** VolumeNotFound+ _VolumeNotFound,++ -- * Waiters+ -- $waiters++ -- * Operations+ -- $operations++ -- ** AssociateFileSystemAliases+ AssociateFileSystemAliases (AssociateFileSystemAliases'),+ newAssociateFileSystemAliases,+ AssociateFileSystemAliasesResponse (AssociateFileSystemAliasesResponse'),+ newAssociateFileSystemAliasesResponse,++ -- ** CancelDataRepositoryTask+ CancelDataRepositoryTask (CancelDataRepositoryTask'),+ newCancelDataRepositoryTask,+ CancelDataRepositoryTaskResponse (CancelDataRepositoryTaskResponse'),+ newCancelDataRepositoryTaskResponse,++ -- ** CopyBackup+ CopyBackup (CopyBackup'),+ newCopyBackup,+ CopyBackupResponse (CopyBackupResponse'),+ newCopyBackupResponse,++ -- ** CreateBackup+ CreateBackup (CreateBackup'),+ newCreateBackup,+ CreateBackupResponse (CreateBackupResponse'),+ newCreateBackupResponse,++ -- ** CreateDataRepositoryAssociation+ CreateDataRepositoryAssociation (CreateDataRepositoryAssociation'),+ newCreateDataRepositoryAssociation,+ CreateDataRepositoryAssociationResponse (CreateDataRepositoryAssociationResponse'),+ newCreateDataRepositoryAssociationResponse,++ -- ** CreateDataRepositoryTask+ CreateDataRepositoryTask (CreateDataRepositoryTask'),+ newCreateDataRepositoryTask,+ CreateDataRepositoryTaskResponse (CreateDataRepositoryTaskResponse'),+ newCreateDataRepositoryTaskResponse,++ -- ** CreateFileCache+ CreateFileCache (CreateFileCache'),+ newCreateFileCache,+ CreateFileCacheResponse (CreateFileCacheResponse'),+ newCreateFileCacheResponse,++ -- ** CreateFileSystem+ CreateFileSystem (CreateFileSystem'),+ newCreateFileSystem,+ CreateFileSystemResponse (CreateFileSystemResponse'),+ newCreateFileSystemResponse,++ -- ** CreateFileSystemFromBackup+ CreateFileSystemFromBackup (CreateFileSystemFromBackup'),+ newCreateFileSystemFromBackup,+ CreateFileSystemFromBackupResponse (CreateFileSystemFromBackupResponse'),+ newCreateFileSystemFromBackupResponse,++ -- ** CreateSnapshot+ CreateSnapshot (CreateSnapshot'),+ newCreateSnapshot,+ CreateSnapshotResponse (CreateSnapshotResponse'),+ newCreateSnapshotResponse,++ -- ** CreateStorageVirtualMachine+ CreateStorageVirtualMachine (CreateStorageVirtualMachine'),+ newCreateStorageVirtualMachine,+ CreateStorageVirtualMachineResponse (CreateStorageVirtualMachineResponse'),+ newCreateStorageVirtualMachineResponse,++ -- ** CreateVolume+ CreateVolume (CreateVolume'),+ newCreateVolume,+ CreateVolumeResponse (CreateVolumeResponse'),+ newCreateVolumeResponse,++ -- ** CreateVolumeFromBackup+ CreateVolumeFromBackup (CreateVolumeFromBackup'),+ newCreateVolumeFromBackup,+ CreateVolumeFromBackupResponse (CreateVolumeFromBackupResponse'),+ newCreateVolumeFromBackupResponse,++ -- ** DeleteBackup+ DeleteBackup (DeleteBackup'),+ newDeleteBackup,+ DeleteBackupResponse (DeleteBackupResponse'),+ newDeleteBackupResponse,++ -- ** DeleteDataRepositoryAssociation+ DeleteDataRepositoryAssociation (DeleteDataRepositoryAssociation'),+ newDeleteDataRepositoryAssociation,+ DeleteDataRepositoryAssociationResponse (DeleteDataRepositoryAssociationResponse'),+ newDeleteDataRepositoryAssociationResponse,++ -- ** DeleteFileCache+ DeleteFileCache (DeleteFileCache'),+ newDeleteFileCache,+ DeleteFileCacheResponse (DeleteFileCacheResponse'),+ newDeleteFileCacheResponse,++ -- ** DeleteFileSystem+ DeleteFileSystem (DeleteFileSystem'),+ newDeleteFileSystem,+ DeleteFileSystemResponse (DeleteFileSystemResponse'),+ newDeleteFileSystemResponse,++ -- ** DeleteSnapshot+ DeleteSnapshot (DeleteSnapshot'),+ newDeleteSnapshot,+ DeleteSnapshotResponse (DeleteSnapshotResponse'),+ newDeleteSnapshotResponse,++ -- ** DeleteStorageVirtualMachine+ DeleteStorageVirtualMachine (DeleteStorageVirtualMachine'),+ newDeleteStorageVirtualMachine,+ DeleteStorageVirtualMachineResponse (DeleteStorageVirtualMachineResponse'),+ newDeleteStorageVirtualMachineResponse,++ -- ** DeleteVolume+ DeleteVolume (DeleteVolume'),+ newDeleteVolume,+ DeleteVolumeResponse (DeleteVolumeResponse'),+ newDeleteVolumeResponse,++ -- ** DescribeBackups (Paginated)+ DescribeBackups (DescribeBackups'),+ newDescribeBackups,+ DescribeBackupsResponse (DescribeBackupsResponse'),+ newDescribeBackupsResponse,++ -- ** DescribeDataRepositoryAssociations+ DescribeDataRepositoryAssociations (DescribeDataRepositoryAssociations'),+ newDescribeDataRepositoryAssociations,+ DescribeDataRepositoryAssociationsResponse (DescribeDataRepositoryAssociationsResponse'),+ newDescribeDataRepositoryAssociationsResponse,++ -- ** DescribeDataRepositoryTasks+ DescribeDataRepositoryTasks (DescribeDataRepositoryTasks'),+ newDescribeDataRepositoryTasks,+ DescribeDataRepositoryTasksResponse (DescribeDataRepositoryTasksResponse'),+ newDescribeDataRepositoryTasksResponse,++ -- ** DescribeFileCaches+ DescribeFileCaches (DescribeFileCaches'),+ newDescribeFileCaches,+ DescribeFileCachesResponse (DescribeFileCachesResponse'),+ newDescribeFileCachesResponse,++ -- ** DescribeFileSystemAliases+ DescribeFileSystemAliases (DescribeFileSystemAliases'),+ newDescribeFileSystemAliases,+ DescribeFileSystemAliasesResponse (DescribeFileSystemAliasesResponse'),+ newDescribeFileSystemAliasesResponse,++ -- ** DescribeFileSystems (Paginated)+ DescribeFileSystems (DescribeFileSystems'),+ newDescribeFileSystems,+ DescribeFileSystemsResponse (DescribeFileSystemsResponse'),+ newDescribeFileSystemsResponse,++ -- ** DescribeSnapshots+ DescribeSnapshots (DescribeSnapshots'),+ newDescribeSnapshots,+ DescribeSnapshotsResponse (DescribeSnapshotsResponse'),+ newDescribeSnapshotsResponse,++ -- ** DescribeStorageVirtualMachines (Paginated)+ DescribeStorageVirtualMachines (DescribeStorageVirtualMachines'),+ newDescribeStorageVirtualMachines,+ DescribeStorageVirtualMachinesResponse (DescribeStorageVirtualMachinesResponse'),+ newDescribeStorageVirtualMachinesResponse,++ -- ** DescribeVolumes (Paginated)+ DescribeVolumes (DescribeVolumes'),+ newDescribeVolumes,+ DescribeVolumesResponse (DescribeVolumesResponse'),+ newDescribeVolumesResponse,++ -- ** DisassociateFileSystemAliases+ DisassociateFileSystemAliases (DisassociateFileSystemAliases'),+ newDisassociateFileSystemAliases,+ DisassociateFileSystemAliasesResponse (DisassociateFileSystemAliasesResponse'),+ newDisassociateFileSystemAliasesResponse,++ -- ** ListTagsForResource (Paginated)+ ListTagsForResource (ListTagsForResource'),+ newListTagsForResource,+ ListTagsForResourceResponse (ListTagsForResourceResponse'),+ newListTagsForResourceResponse,++ -- ** ReleaseFileSystemNfsV3Locks+ ReleaseFileSystemNfsV3Locks (ReleaseFileSystemNfsV3Locks'),+ newReleaseFileSystemNfsV3Locks,+ ReleaseFileSystemNfsV3LocksResponse (ReleaseFileSystemNfsV3LocksResponse'),+ newReleaseFileSystemNfsV3LocksResponse,++ -- ** RestoreVolumeFromSnapshot+ RestoreVolumeFromSnapshot (RestoreVolumeFromSnapshot'),+ newRestoreVolumeFromSnapshot,+ RestoreVolumeFromSnapshotResponse (RestoreVolumeFromSnapshotResponse'),+ newRestoreVolumeFromSnapshotResponse,++ -- ** TagResource+ TagResource (TagResource'),+ newTagResource,+ TagResourceResponse (TagResourceResponse'),+ newTagResourceResponse,++ -- ** UntagResource+ UntagResource (UntagResource'),+ newUntagResource,+ UntagResourceResponse (UntagResourceResponse'),+ newUntagResourceResponse,++ -- ** UpdateDataRepositoryAssociation+ UpdateDataRepositoryAssociation (UpdateDataRepositoryAssociation'),+ newUpdateDataRepositoryAssociation,+ UpdateDataRepositoryAssociationResponse (UpdateDataRepositoryAssociationResponse'),+ newUpdateDataRepositoryAssociationResponse,++ -- ** UpdateFileCache+ UpdateFileCache (UpdateFileCache'),+ newUpdateFileCache,+ UpdateFileCacheResponse (UpdateFileCacheResponse'),+ newUpdateFileCacheResponse,++ -- ** UpdateFileSystem+ UpdateFileSystem (UpdateFileSystem'),+ newUpdateFileSystem,+ UpdateFileSystemResponse (UpdateFileSystemResponse'),+ newUpdateFileSystemResponse,++ -- ** UpdateSnapshot+ UpdateSnapshot (UpdateSnapshot'),+ newUpdateSnapshot,+ UpdateSnapshotResponse (UpdateSnapshotResponse'),+ newUpdateSnapshotResponse,++ -- ** UpdateStorageVirtualMachine+ UpdateStorageVirtualMachine (UpdateStorageVirtualMachine'),+ newUpdateStorageVirtualMachine,+ UpdateStorageVirtualMachineResponse (UpdateStorageVirtualMachineResponse'),+ newUpdateStorageVirtualMachineResponse,++ -- ** UpdateVolume+ UpdateVolume (UpdateVolume'),+ newUpdateVolume,+ UpdateVolumeResponse (UpdateVolumeResponse'),+ newUpdateVolumeResponse,++ -- * Types++ -- ** AdministrativeActionType+ AdministrativeActionType (..),++ -- ** AliasLifecycle+ AliasLifecycle (..),++ -- ** AutoImportPolicyType+ AutoImportPolicyType (..),++ -- ** BackupLifecycle+ BackupLifecycle (..),++ -- ** BackupType+ BackupType (..),++ -- ** DataCompressionType+ DataCompressionType (..),++ -- ** DataRepositoryLifecycle+ DataRepositoryLifecycle (..),++ -- ** DataRepositoryTaskFilterName+ DataRepositoryTaskFilterName (..),++ -- ** DataRepositoryTaskLifecycle+ DataRepositoryTaskLifecycle (..),++ -- ** DataRepositoryTaskType+ DataRepositoryTaskType (..),++ -- ** DeleteFileSystemOpenZFSOption+ DeleteFileSystemOpenZFSOption (..),++ -- ** DeleteOpenZFSVolumeOption+ DeleteOpenZFSVolumeOption (..),++ -- ** DiskIopsConfigurationMode+ DiskIopsConfigurationMode (..),++ -- ** DriveCacheType+ DriveCacheType (..),++ -- ** EventType+ EventType (..),++ -- ** FileCacheLifecycle+ FileCacheLifecycle (..),++ -- ** FileCacheLustreDeploymentType+ FileCacheLustreDeploymentType (..),++ -- ** FileCacheType+ FileCacheType (..),++ -- ** FileSystemLifecycle+ FileSystemLifecycle (..),++ -- ** FileSystemMaintenanceOperation+ FileSystemMaintenanceOperation (..),++ -- ** FileSystemType+ FileSystemType (..),++ -- ** FilterName+ FilterName (..),++ -- ** FlexCacheEndpointType+ FlexCacheEndpointType (..),++ -- ** InputOntapVolumeType+ InputOntapVolumeType (..),++ -- ** LustreAccessAuditLogLevel+ LustreAccessAuditLogLevel (..),++ -- ** LustreDeploymentType+ LustreDeploymentType (..),++ -- ** NfsVersion+ NfsVersion (..),++ -- ** OntapDeploymentType+ OntapDeploymentType (..),++ -- ** OntapVolumeType+ OntapVolumeType (..),++ -- ** OpenZFSCopyStrategy+ OpenZFSCopyStrategy (..),++ -- ** OpenZFSDataCompressionType+ OpenZFSDataCompressionType (..),++ -- ** OpenZFSDeploymentType+ OpenZFSDeploymentType (..),++ -- ** OpenZFSQuotaType+ OpenZFSQuotaType (..),++ -- ** ReportFormat+ ReportFormat (..),++ -- ** ReportScope+ ReportScope (..),++ -- ** ResourceType+ ResourceType (..),++ -- ** RestoreOpenZFSVolumeOption+ RestoreOpenZFSVolumeOption (..),++ -- ** SecurityStyle+ SecurityStyle (..),++ -- ** SnapshotFilterName+ SnapshotFilterName (..),++ -- ** SnapshotLifecycle+ SnapshotLifecycle (..),++ -- ** Status+ Status (..),++ -- ** StorageType+ StorageType (..),++ -- ** StorageVirtualMachineFilterName+ StorageVirtualMachineFilterName (..),++ -- ** StorageVirtualMachineLifecycle+ StorageVirtualMachineLifecycle (..),++ -- ** StorageVirtualMachineRootVolumeSecurityStyle+ StorageVirtualMachineRootVolumeSecurityStyle (..),++ -- ** StorageVirtualMachineSubtype+ StorageVirtualMachineSubtype (..),++ -- ** TieringPolicyName+ TieringPolicyName (..),++ -- ** VolumeFilterName+ VolumeFilterName (..),++ -- ** VolumeLifecycle+ VolumeLifecycle (..),++ -- ** VolumeType+ VolumeType (..),++ -- ** WindowsAccessAuditLogLevel+ WindowsAccessAuditLogLevel (..),++ -- ** WindowsDeploymentType+ WindowsDeploymentType (..),++ -- ** ActiveDirectoryBackupAttributes+ ActiveDirectoryBackupAttributes (ActiveDirectoryBackupAttributes'),+ newActiveDirectoryBackupAttributes,++ -- ** AdministrativeAction+ AdministrativeAction (AdministrativeAction'),+ newAdministrativeAction,++ -- ** AdministrativeActionFailureDetails+ AdministrativeActionFailureDetails (AdministrativeActionFailureDetails'),+ newAdministrativeActionFailureDetails,++ -- ** Alias+ Alias (Alias'),+ newAlias,++ -- ** AutoExportPolicy+ AutoExportPolicy (AutoExportPolicy'),+ newAutoExportPolicy,++ -- ** AutoImportPolicy+ AutoImportPolicy (AutoImportPolicy'),+ newAutoImportPolicy,++ -- ** Backup+ Backup (Backup'),+ newBackup,++ -- ** BackupFailureDetails+ BackupFailureDetails (BackupFailureDetails'),+ newBackupFailureDetails,++ -- ** CompletionReport+ CompletionReport (CompletionReport'),+ newCompletionReport,++ -- ** CreateFileCacheLustreConfiguration+ CreateFileCacheLustreConfiguration (CreateFileCacheLustreConfiguration'),+ newCreateFileCacheLustreConfiguration,++ -- ** CreateFileSystemLustreConfiguration+ CreateFileSystemLustreConfiguration (CreateFileSystemLustreConfiguration'),+ newCreateFileSystemLustreConfiguration,++ -- ** CreateFileSystemOntapConfiguration+ CreateFileSystemOntapConfiguration (CreateFileSystemOntapConfiguration'),+ newCreateFileSystemOntapConfiguration,++ -- ** CreateFileSystemOpenZFSConfiguration+ CreateFileSystemOpenZFSConfiguration (CreateFileSystemOpenZFSConfiguration'),+ newCreateFileSystemOpenZFSConfiguration,++ -- ** CreateFileSystemWindowsConfiguration+ CreateFileSystemWindowsConfiguration (CreateFileSystemWindowsConfiguration'),+ newCreateFileSystemWindowsConfiguration,++ -- ** CreateOntapVolumeConfiguration+ CreateOntapVolumeConfiguration (CreateOntapVolumeConfiguration'),+ newCreateOntapVolumeConfiguration,++ -- ** CreateOpenZFSOriginSnapshotConfiguration+ CreateOpenZFSOriginSnapshotConfiguration (CreateOpenZFSOriginSnapshotConfiguration'),+ newCreateOpenZFSOriginSnapshotConfiguration,++ -- ** CreateOpenZFSVolumeConfiguration+ CreateOpenZFSVolumeConfiguration (CreateOpenZFSVolumeConfiguration'),+ newCreateOpenZFSVolumeConfiguration,++ -- ** CreateSvmActiveDirectoryConfiguration+ CreateSvmActiveDirectoryConfiguration (CreateSvmActiveDirectoryConfiguration'),+ newCreateSvmActiveDirectoryConfiguration,++ -- ** DataRepositoryAssociation+ DataRepositoryAssociation (DataRepositoryAssociation'),+ newDataRepositoryAssociation,++ -- ** DataRepositoryConfiguration+ DataRepositoryConfiguration (DataRepositoryConfiguration'),+ newDataRepositoryConfiguration,++ -- ** DataRepositoryFailureDetails+ DataRepositoryFailureDetails (DataRepositoryFailureDetails'),+ newDataRepositoryFailureDetails,++ -- ** DataRepositoryTask+ DataRepositoryTask (DataRepositoryTask'),+ newDataRepositoryTask,++ -- ** DataRepositoryTaskFailureDetails+ DataRepositoryTaskFailureDetails (DataRepositoryTaskFailureDetails'),+ newDataRepositoryTaskFailureDetails,++ -- ** DataRepositoryTaskFilter+ DataRepositoryTaskFilter (DataRepositoryTaskFilter'),+ newDataRepositoryTaskFilter,++ -- ** DataRepositoryTaskStatus+ DataRepositoryTaskStatus (DataRepositoryTaskStatus'),+ newDataRepositoryTaskStatus,++ -- ** DeleteFileSystemLustreConfiguration+ DeleteFileSystemLustreConfiguration (DeleteFileSystemLustreConfiguration'),+ newDeleteFileSystemLustreConfiguration,++ -- ** DeleteFileSystemLustreResponse+ DeleteFileSystemLustreResponse (DeleteFileSystemLustreResponse'),+ newDeleteFileSystemLustreResponse,++ -- ** DeleteFileSystemOpenZFSConfiguration+ DeleteFileSystemOpenZFSConfiguration (DeleteFileSystemOpenZFSConfiguration'),+ newDeleteFileSystemOpenZFSConfiguration,++ -- ** DeleteFileSystemOpenZFSResponse+ DeleteFileSystemOpenZFSResponse (DeleteFileSystemOpenZFSResponse'),+ newDeleteFileSystemOpenZFSResponse,++ -- ** DeleteFileSystemWindowsConfiguration+ DeleteFileSystemWindowsConfiguration (DeleteFileSystemWindowsConfiguration'),+ newDeleteFileSystemWindowsConfiguration,++ -- ** DeleteFileSystemWindowsResponse+ DeleteFileSystemWindowsResponse (DeleteFileSystemWindowsResponse'),+ newDeleteFileSystemWindowsResponse,++ -- ** DeleteVolumeOntapConfiguration+ DeleteVolumeOntapConfiguration (DeleteVolumeOntapConfiguration'),+ newDeleteVolumeOntapConfiguration,++ -- ** DeleteVolumeOntapResponse+ DeleteVolumeOntapResponse (DeleteVolumeOntapResponse'),+ newDeleteVolumeOntapResponse,++ -- ** DeleteVolumeOpenZFSConfiguration+ DeleteVolumeOpenZFSConfiguration (DeleteVolumeOpenZFSConfiguration'),+ newDeleteVolumeOpenZFSConfiguration,++ -- ** DiskIopsConfiguration+ DiskIopsConfiguration (DiskIopsConfiguration'),+ newDiskIopsConfiguration,++ -- ** FileCache+ FileCache (FileCache'),+ newFileCache,++ -- ** FileCacheCreating+ FileCacheCreating (FileCacheCreating'),+ newFileCacheCreating,++ -- ** FileCacheDataRepositoryAssociation+ FileCacheDataRepositoryAssociation (FileCacheDataRepositoryAssociation'),+ newFileCacheDataRepositoryAssociation,++ -- ** FileCacheFailureDetails+ FileCacheFailureDetails (FileCacheFailureDetails'),+ newFileCacheFailureDetails,++ -- ** FileCacheLustreConfiguration+ FileCacheLustreConfiguration (FileCacheLustreConfiguration'),+ newFileCacheLustreConfiguration,++ -- ** FileCacheLustreMetadataConfiguration+ FileCacheLustreMetadataConfiguration (FileCacheLustreMetadataConfiguration'),+ newFileCacheLustreMetadataConfiguration,++ -- ** FileCacheNFSConfiguration+ FileCacheNFSConfiguration (FileCacheNFSConfiguration'),+ newFileCacheNFSConfiguration,++ -- ** FileSystem+ FileSystem (FileSystem'),+ newFileSystem,++ -- ** FileSystemEndpoint+ FileSystemEndpoint (FileSystemEndpoint'),+ newFileSystemEndpoint,++ -- ** FileSystemEndpoints+ FileSystemEndpoints (FileSystemEndpoints'),+ newFileSystemEndpoints,++ -- ** FileSystemFailureDetails+ FileSystemFailureDetails (FileSystemFailureDetails'),+ newFileSystemFailureDetails,++ -- ** Filter+ Filter (Filter'),+ newFilter,++ -- ** LifecycleTransitionReason+ LifecycleTransitionReason (LifecycleTransitionReason'),+ newLifecycleTransitionReason,++ -- ** LustreFileSystemConfiguration+ LustreFileSystemConfiguration (LustreFileSystemConfiguration'),+ newLustreFileSystemConfiguration,++ -- ** LustreLogConfiguration+ LustreLogConfiguration (LustreLogConfiguration'),+ newLustreLogConfiguration,++ -- ** LustreLogCreateConfiguration+ LustreLogCreateConfiguration (LustreLogCreateConfiguration'),+ newLustreLogCreateConfiguration,++ -- ** LustreRootSquashConfiguration+ LustreRootSquashConfiguration (LustreRootSquashConfiguration'),+ newLustreRootSquashConfiguration,++ -- ** NFSDataRepositoryConfiguration+ NFSDataRepositoryConfiguration (NFSDataRepositoryConfiguration'),+ newNFSDataRepositoryConfiguration,++ -- ** OntapFileSystemConfiguration+ OntapFileSystemConfiguration (OntapFileSystemConfiguration'),+ newOntapFileSystemConfiguration,++ -- ** OntapVolumeConfiguration+ OntapVolumeConfiguration (OntapVolumeConfiguration'),+ newOntapVolumeConfiguration,++ -- ** OpenZFSClientConfiguration+ OpenZFSClientConfiguration (OpenZFSClientConfiguration'),+ newOpenZFSClientConfiguration,++ -- ** OpenZFSCreateRootVolumeConfiguration+ OpenZFSCreateRootVolumeConfiguration (OpenZFSCreateRootVolumeConfiguration'),+ newOpenZFSCreateRootVolumeConfiguration,++ -- ** OpenZFSFileSystemConfiguration+ OpenZFSFileSystemConfiguration (OpenZFSFileSystemConfiguration'),+ newOpenZFSFileSystemConfiguration,++ -- ** OpenZFSNfsExport+ OpenZFSNfsExport (OpenZFSNfsExport'),+ newOpenZFSNfsExport,++ -- ** OpenZFSOriginSnapshotConfiguration+ OpenZFSOriginSnapshotConfiguration (OpenZFSOriginSnapshotConfiguration'),+ newOpenZFSOriginSnapshotConfiguration,++ -- ** OpenZFSUserOrGroupQuota+ OpenZFSUserOrGroupQuota (OpenZFSUserOrGroupQuota'),+ newOpenZFSUserOrGroupQuota,++ -- ** OpenZFSVolumeConfiguration+ OpenZFSVolumeConfiguration (OpenZFSVolumeConfiguration'),+ newOpenZFSVolumeConfiguration,++ -- ** S3DataRepositoryConfiguration+ S3DataRepositoryConfiguration (S3DataRepositoryConfiguration'),+ newS3DataRepositoryConfiguration,++ -- ** SelfManagedActiveDirectoryAttributes+ SelfManagedActiveDirectoryAttributes (SelfManagedActiveDirectoryAttributes'),+ newSelfManagedActiveDirectoryAttributes,++ -- ** SelfManagedActiveDirectoryConfiguration+ SelfManagedActiveDirectoryConfiguration (SelfManagedActiveDirectoryConfiguration'),+ newSelfManagedActiveDirectoryConfiguration,++ -- ** SelfManagedActiveDirectoryConfigurationUpdates+ SelfManagedActiveDirectoryConfigurationUpdates (SelfManagedActiveDirectoryConfigurationUpdates'),+ newSelfManagedActiveDirectoryConfigurationUpdates,++ -- ** Snapshot+ Snapshot (Snapshot'),+ newSnapshot,++ -- ** SnapshotFilter+ SnapshotFilter (SnapshotFilter'),+ newSnapshotFilter,++ -- ** StorageVirtualMachine+ StorageVirtualMachine (StorageVirtualMachine'),+ newStorageVirtualMachine,++ -- ** StorageVirtualMachineFilter+ StorageVirtualMachineFilter (StorageVirtualMachineFilter'),+ newStorageVirtualMachineFilter,++ -- ** SvmActiveDirectoryConfiguration+ SvmActiveDirectoryConfiguration (SvmActiveDirectoryConfiguration'),+ newSvmActiveDirectoryConfiguration,++ -- ** SvmEndpoint+ SvmEndpoint (SvmEndpoint'),+ newSvmEndpoint,++ -- ** SvmEndpoints+ SvmEndpoints (SvmEndpoints'),+ newSvmEndpoints,++ -- ** Tag+ Tag (Tag'),+ newTag,++ -- ** TieringPolicy+ TieringPolicy (TieringPolicy'),+ newTieringPolicy,++ -- ** UpdateFileCacheLustreConfiguration+ UpdateFileCacheLustreConfiguration (UpdateFileCacheLustreConfiguration'),+ newUpdateFileCacheLustreConfiguration,++ -- ** UpdateFileSystemLustreConfiguration+ UpdateFileSystemLustreConfiguration (UpdateFileSystemLustreConfiguration'),+ newUpdateFileSystemLustreConfiguration,++ -- ** UpdateFileSystemOntapConfiguration+ UpdateFileSystemOntapConfiguration (UpdateFileSystemOntapConfiguration'),+ newUpdateFileSystemOntapConfiguration,++ -- ** UpdateFileSystemOpenZFSConfiguration+ UpdateFileSystemOpenZFSConfiguration (UpdateFileSystemOpenZFSConfiguration'),+ newUpdateFileSystemOpenZFSConfiguration,++ -- ** UpdateFileSystemWindowsConfiguration+ UpdateFileSystemWindowsConfiguration (UpdateFileSystemWindowsConfiguration'),+ newUpdateFileSystemWindowsConfiguration,++ -- ** UpdateOntapVolumeConfiguration+ UpdateOntapVolumeConfiguration (UpdateOntapVolumeConfiguration'),+ newUpdateOntapVolumeConfiguration,++ -- ** UpdateOpenZFSVolumeConfiguration+ UpdateOpenZFSVolumeConfiguration (UpdateOpenZFSVolumeConfiguration'),+ newUpdateOpenZFSVolumeConfiguration,++ -- ** UpdateSvmActiveDirectoryConfiguration+ UpdateSvmActiveDirectoryConfiguration (UpdateSvmActiveDirectoryConfiguration'),+ newUpdateSvmActiveDirectoryConfiguration,++ -- ** Volume+ Volume (Volume'),+ newVolume,++ -- ** VolumeFilter+ VolumeFilter (VolumeFilter'),+ newVolumeFilter,++ -- ** WindowsAuditLogConfiguration+ WindowsAuditLogConfiguration (WindowsAuditLogConfiguration'),+ newWindowsAuditLogConfiguration,++ -- ** WindowsAuditLogCreateConfiguration+ WindowsAuditLogCreateConfiguration (WindowsAuditLogCreateConfiguration'),+ newWindowsAuditLogCreateConfiguration,++ -- ** WindowsFileSystemConfiguration+ WindowsFileSystemConfiguration (WindowsFileSystemConfiguration'),+ newWindowsFileSystemConfiguration,+ )+where++import Amazonka.FSx.AssociateFileSystemAliases+import Amazonka.FSx.CancelDataRepositoryTask+import Amazonka.FSx.CopyBackup+import Amazonka.FSx.CreateBackup+import Amazonka.FSx.CreateDataRepositoryAssociation+import Amazonka.FSx.CreateDataRepositoryTask+import Amazonka.FSx.CreateFileCache+import Amazonka.FSx.CreateFileSystem+import Amazonka.FSx.CreateFileSystemFromBackup+import Amazonka.FSx.CreateSnapshot+import Amazonka.FSx.CreateStorageVirtualMachine+import Amazonka.FSx.CreateVolume+import Amazonka.FSx.CreateVolumeFromBackup+import Amazonka.FSx.DeleteBackup+import Amazonka.FSx.DeleteDataRepositoryAssociation+import Amazonka.FSx.DeleteFileCache+import Amazonka.FSx.DeleteFileSystem+import Amazonka.FSx.DeleteSnapshot+import Amazonka.FSx.DeleteStorageVirtualMachine+import Amazonka.FSx.DeleteVolume+import Amazonka.FSx.DescribeBackups+import Amazonka.FSx.DescribeDataRepositoryAssociations+import Amazonka.FSx.DescribeDataRepositoryTasks+import Amazonka.FSx.DescribeFileCaches+import Amazonka.FSx.DescribeFileSystemAliases+import Amazonka.FSx.DescribeFileSystems+import Amazonka.FSx.DescribeSnapshots+import Amazonka.FSx.DescribeStorageVirtualMachines+import Amazonka.FSx.DescribeVolumes+import Amazonka.FSx.DisassociateFileSystemAliases+import Amazonka.FSx.Lens+import Amazonka.FSx.ListTagsForResource+import Amazonka.FSx.ReleaseFileSystemNfsV3Locks+import Amazonka.FSx.RestoreVolumeFromSnapshot+import Amazonka.FSx.TagResource+import Amazonka.FSx.Types+import Amazonka.FSx.UntagResource+import Amazonka.FSx.UpdateDataRepositoryAssociation+import Amazonka.FSx.UpdateFileCache+import Amazonka.FSx.UpdateFileSystem+import Amazonka.FSx.UpdateSnapshot+import Amazonka.FSx.UpdateStorageVirtualMachine+import Amazonka.FSx.UpdateVolume+import Amazonka.FSx.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 'FSx'.++-- $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/FSx/AssociateFileSystemAliases.hs view
@@ -0,0 +1,280 @@+{-# 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.FSx.AssociateFileSystemAliases+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Use this action to associate one or more Domain Name Server (DNS)+-- aliases with an existing Amazon FSx for Windows File Server file system.+-- A file system can have a maximum of 50 DNS aliases associated with it at+-- any one time. If you try to associate a DNS alias that is already+-- associated with the file system, FSx takes no action on that alias in+-- the request. For more information, see+-- <https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-dns-aliases.html Working with DNS Aliases>+-- and+-- <https://docs.aws.amazon.com/fsx/latest/WindowsGuide/walkthrough05-file-system-custom-CNAME.html Walkthrough 5: Using DNS aliases to access your file system>,+-- including additional steps you must take to be able to access your file+-- system using a DNS alias.+--+-- The system response shows the DNS aliases that Amazon FSx is attempting+-- to associate with the file system. Use the API operation to monitor the+-- status of the aliases Amazon FSx is associating with the file system.+module Amazonka.FSx.AssociateFileSystemAliases+ ( -- * Creating a Request+ AssociateFileSystemAliases (..),+ newAssociateFileSystemAliases,++ -- * Request Lenses+ associateFileSystemAliases_clientRequestToken,+ associateFileSystemAliases_fileSystemId,+ associateFileSystemAliases_aliases,++ -- * Destructuring the Response+ AssociateFileSystemAliasesResponse (..),+ newAssociateFileSystemAliasesResponse,++ -- * Response Lenses+ associateFileSystemAliasesResponse_aliases,+ associateFileSystemAliasesResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | The request object specifying one or more DNS alias names to associate+-- with an Amazon FSx for Windows File Server file system.+--+-- /See:/ 'newAssociateFileSystemAliases' smart constructor.+data AssociateFileSystemAliases = AssociateFileSystemAliases'+ { clientRequestToken :: Prelude.Maybe Prelude.Text,+ -- | Specifies the file system with which you want to associate one or more+ -- DNS aliases.+ fileSystemId :: Prelude.Text,+ -- | An array of one or more DNS alias names to associate with the file+ -- system. The alias name has to comply with the following formatting+ -- requirements:+ --+ -- - Formatted as a fully-qualified domain name (FQDN),+ -- /@hostname.domain@/ , for example, @accounting.corp.example.com@.+ --+ -- - Can contain alphanumeric characters and the hyphen (-).+ --+ -- - Cannot start or end with a hyphen.+ --+ -- - Can start with a numeric.+ --+ -- For DNS alias names, Amazon FSx stores alphabetic characters as+ -- lowercase letters (a-z), regardless of how you specify them: as+ -- uppercase letters, lowercase letters, or the corresponding letters in+ -- escape codes.+ aliases :: [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociateFileSystemAliases' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientRequestToken', 'associateFileSystemAliases_clientRequestToken' - Undocumented member.+--+-- 'fileSystemId', 'associateFileSystemAliases_fileSystemId' - Specifies the file system with which you want to associate one or more+-- DNS aliases.+--+-- 'aliases', 'associateFileSystemAliases_aliases' - An array of one or more DNS alias names to associate with the file+-- system. The alias name has to comply with the following formatting+-- requirements:+--+-- - Formatted as a fully-qualified domain name (FQDN),+-- /@hostname.domain@/ , for example, @accounting.corp.example.com@.+--+-- - Can contain alphanumeric characters and the hyphen (-).+--+-- - Cannot start or end with a hyphen.+--+-- - Can start with a numeric.+--+-- For DNS alias names, Amazon FSx stores alphabetic characters as+-- lowercase letters (a-z), regardless of how you specify them: as+-- uppercase letters, lowercase letters, or the corresponding letters in+-- escape codes.+newAssociateFileSystemAliases ::+ -- | 'fileSystemId'+ Prelude.Text ->+ AssociateFileSystemAliases+newAssociateFileSystemAliases pFileSystemId_ =+ AssociateFileSystemAliases'+ { clientRequestToken =+ Prelude.Nothing,+ fileSystemId = pFileSystemId_,+ aliases = Prelude.mempty+ }++-- | Undocumented member.+associateFileSystemAliases_clientRequestToken :: Lens.Lens' AssociateFileSystemAliases (Prelude.Maybe Prelude.Text)+associateFileSystemAliases_clientRequestToken = Lens.lens (\AssociateFileSystemAliases' {clientRequestToken} -> clientRequestToken) (\s@AssociateFileSystemAliases' {} a -> s {clientRequestToken = a} :: AssociateFileSystemAliases)++-- | Specifies the file system with which you want to associate one or more+-- DNS aliases.+associateFileSystemAliases_fileSystemId :: Lens.Lens' AssociateFileSystemAliases Prelude.Text+associateFileSystemAliases_fileSystemId = Lens.lens (\AssociateFileSystemAliases' {fileSystemId} -> fileSystemId) (\s@AssociateFileSystemAliases' {} a -> s {fileSystemId = a} :: AssociateFileSystemAliases)++-- | An array of one or more DNS alias names to associate with the file+-- system. The alias name has to comply with the following formatting+-- requirements:+--+-- - Formatted as a fully-qualified domain name (FQDN),+-- /@hostname.domain@/ , for example, @accounting.corp.example.com@.+--+-- - Can contain alphanumeric characters and the hyphen (-).+--+-- - Cannot start or end with a hyphen.+--+-- - Can start with a numeric.+--+-- For DNS alias names, Amazon FSx stores alphabetic characters as+-- lowercase letters (a-z), regardless of how you specify them: as+-- uppercase letters, lowercase letters, or the corresponding letters in+-- escape codes.+associateFileSystemAliases_aliases :: Lens.Lens' AssociateFileSystemAliases [Prelude.Text]+associateFileSystemAliases_aliases = Lens.lens (\AssociateFileSystemAliases' {aliases} -> aliases) (\s@AssociateFileSystemAliases' {} a -> s {aliases = a} :: AssociateFileSystemAliases) Prelude.. Lens.coerced++instance Core.AWSRequest AssociateFileSystemAliases where+ type+ AWSResponse AssociateFileSystemAliases =+ AssociateFileSystemAliasesResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ AssociateFileSystemAliasesResponse'+ Prelude.<$> (x Data..?> "Aliases" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable AssociateFileSystemAliases where+ hashWithSalt _salt AssociateFileSystemAliases' {..} =+ _salt+ `Prelude.hashWithSalt` clientRequestToken+ `Prelude.hashWithSalt` fileSystemId+ `Prelude.hashWithSalt` aliases++instance Prelude.NFData AssociateFileSystemAliases where+ rnf AssociateFileSystemAliases' {..} =+ Prelude.rnf clientRequestToken+ `Prelude.seq` Prelude.rnf fileSystemId+ `Prelude.seq` Prelude.rnf aliases++instance Data.ToHeaders AssociateFileSystemAliases where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSSimbaAPIService_v20180301.AssociateFileSystemAliases" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON AssociateFileSystemAliases where+ toJSON AssociateFileSystemAliases' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("ClientRequestToken" Data..=)+ Prelude.<$> clientRequestToken,+ Prelude.Just ("FileSystemId" Data..= fileSystemId),+ Prelude.Just ("Aliases" Data..= aliases)+ ]+ )++instance Data.ToPath AssociateFileSystemAliases where+ toPath = Prelude.const "/"++instance Data.ToQuery AssociateFileSystemAliases where+ toQuery = Prelude.const Prelude.mempty++-- | The system generated response showing the DNS aliases that Amazon FSx is+-- attempting to associate with the file system. Use the API operation to+-- monitor the status of the aliases Amazon FSx is associating with the+-- file system. It can take up to 2.5 minutes for the alias status to+-- change from @CREATING@ to @AVAILABLE@.+--+-- /See:/ 'newAssociateFileSystemAliasesResponse' smart constructor.+data AssociateFileSystemAliasesResponse = AssociateFileSystemAliasesResponse'+ { -- | An array of the DNS aliases that Amazon FSx is associating with the file+ -- system.+ aliases :: Prelude.Maybe [Alias],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociateFileSystemAliasesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'aliases', 'associateFileSystemAliasesResponse_aliases' - An array of the DNS aliases that Amazon FSx is associating with the file+-- system.+--+-- 'httpStatus', 'associateFileSystemAliasesResponse_httpStatus' - The response's http status code.+newAssociateFileSystemAliasesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ AssociateFileSystemAliasesResponse+newAssociateFileSystemAliasesResponse pHttpStatus_ =+ AssociateFileSystemAliasesResponse'+ { aliases =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | An array of the DNS aliases that Amazon FSx is associating with the file+-- system.+associateFileSystemAliasesResponse_aliases :: Lens.Lens' AssociateFileSystemAliasesResponse (Prelude.Maybe [Alias])+associateFileSystemAliasesResponse_aliases = Lens.lens (\AssociateFileSystemAliasesResponse' {aliases} -> aliases) (\s@AssociateFileSystemAliasesResponse' {} a -> s {aliases = a} :: AssociateFileSystemAliasesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+associateFileSystemAliasesResponse_httpStatus :: Lens.Lens' AssociateFileSystemAliasesResponse Prelude.Int+associateFileSystemAliasesResponse_httpStatus = Lens.lens (\AssociateFileSystemAliasesResponse' {httpStatus} -> httpStatus) (\s@AssociateFileSystemAliasesResponse' {} a -> s {httpStatus = a} :: AssociateFileSystemAliasesResponse)++instance+ Prelude.NFData+ AssociateFileSystemAliasesResponse+ where+ rnf AssociateFileSystemAliasesResponse' {..} =+ Prelude.rnf aliases+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FSx/CancelDataRepositoryTask.hs view
@@ -0,0 +1,240 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FSx.CancelDataRepositoryTask+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Cancels an existing Amazon FSx for Lustre data repository task if that+-- task is in either the @PENDING@ or @EXECUTING@ state. When you cancel a+-- task, Amazon FSx does the following.+--+-- - Any files that FSx has already exported are not reverted.+--+-- - FSx continues to export any files that are \"in-flight\" when the+-- cancel operation is received.+--+-- - FSx does not export any files that have not yet been exported.+module Amazonka.FSx.CancelDataRepositoryTask+ ( -- * Creating a Request+ CancelDataRepositoryTask (..),+ newCancelDataRepositoryTask,++ -- * Request Lenses+ cancelDataRepositoryTask_taskId,++ -- * Destructuring the Response+ CancelDataRepositoryTaskResponse (..),+ newCancelDataRepositoryTaskResponse,++ -- * Response Lenses+ cancelDataRepositoryTaskResponse_lifecycle,+ cancelDataRepositoryTaskResponse_taskId,+ cancelDataRepositoryTaskResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | Cancels a data repository task.+--+-- /See:/ 'newCancelDataRepositoryTask' smart constructor.+data CancelDataRepositoryTask = CancelDataRepositoryTask'+ { -- | Specifies the data repository task to cancel.+ taskId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CancelDataRepositoryTask' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'taskId', 'cancelDataRepositoryTask_taskId' - Specifies the data repository task to cancel.+newCancelDataRepositoryTask ::+ -- | 'taskId'+ Prelude.Text ->+ CancelDataRepositoryTask+newCancelDataRepositoryTask pTaskId_ =+ CancelDataRepositoryTask' {taskId = pTaskId_}++-- | Specifies the data repository task to cancel.+cancelDataRepositoryTask_taskId :: Lens.Lens' CancelDataRepositoryTask Prelude.Text+cancelDataRepositoryTask_taskId = Lens.lens (\CancelDataRepositoryTask' {taskId} -> taskId) (\s@CancelDataRepositoryTask' {} a -> s {taskId = a} :: CancelDataRepositoryTask)++instance Core.AWSRequest CancelDataRepositoryTask where+ type+ AWSResponse CancelDataRepositoryTask =+ CancelDataRepositoryTaskResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CancelDataRepositoryTaskResponse'+ Prelude.<$> (x Data..?> "Lifecycle")+ Prelude.<*> (x Data..?> "TaskId")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CancelDataRepositoryTask where+ hashWithSalt _salt CancelDataRepositoryTask' {..} =+ _salt `Prelude.hashWithSalt` taskId++instance Prelude.NFData CancelDataRepositoryTask where+ rnf CancelDataRepositoryTask' {..} =+ Prelude.rnf taskId++instance Data.ToHeaders CancelDataRepositoryTask where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSSimbaAPIService_v20180301.CancelDataRepositoryTask" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CancelDataRepositoryTask where+ toJSON CancelDataRepositoryTask' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("TaskId" Data..= taskId)]+ )++instance Data.ToPath CancelDataRepositoryTask where+ toPath = Prelude.const "/"++instance Data.ToQuery CancelDataRepositoryTask where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCancelDataRepositoryTaskResponse' smart constructor.+data CancelDataRepositoryTaskResponse = CancelDataRepositoryTaskResponse'+ { -- | The lifecycle status of the data repository task, as follows:+ --+ -- - @PENDING@ - Amazon FSx has not started the task.+ --+ -- - @EXECUTING@ - Amazon FSx is processing the task.+ --+ -- - @FAILED@ - Amazon FSx was not able to complete the task. For+ -- example, there may be files the task failed to process. The+ -- DataRepositoryTaskFailureDetails property provides more information+ -- about task failures.+ --+ -- - @SUCCEEDED@ - FSx completed the task successfully.+ --+ -- - @CANCELED@ - Amazon FSx canceled the task and it did not complete.+ --+ -- - @CANCELING@ - FSx is in process of canceling the task.+ lifecycle :: Prelude.Maybe DataRepositoryTaskLifecycle,+ -- | The ID of the task being canceled.+ taskId :: 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 'CancelDataRepositoryTaskResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'lifecycle', 'cancelDataRepositoryTaskResponse_lifecycle' - The lifecycle status of the data repository task, as follows:+--+-- - @PENDING@ - Amazon FSx has not started the task.+--+-- - @EXECUTING@ - Amazon FSx is processing the task.+--+-- - @FAILED@ - Amazon FSx was not able to complete the task. For+-- example, there may be files the task failed to process. The+-- DataRepositoryTaskFailureDetails property provides more information+-- about task failures.+--+-- - @SUCCEEDED@ - FSx completed the task successfully.+--+-- - @CANCELED@ - Amazon FSx canceled the task and it did not complete.+--+-- - @CANCELING@ - FSx is in process of canceling the task.+--+-- 'taskId', 'cancelDataRepositoryTaskResponse_taskId' - The ID of the task being canceled.+--+-- 'httpStatus', 'cancelDataRepositoryTaskResponse_httpStatus' - The response's http status code.+newCancelDataRepositoryTaskResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CancelDataRepositoryTaskResponse+newCancelDataRepositoryTaskResponse pHttpStatus_ =+ CancelDataRepositoryTaskResponse'+ { lifecycle =+ Prelude.Nothing,+ taskId = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The lifecycle status of the data repository task, as follows:+--+-- - @PENDING@ - Amazon FSx has not started the task.+--+-- - @EXECUTING@ - Amazon FSx is processing the task.+--+-- - @FAILED@ - Amazon FSx was not able to complete the task. For+-- example, there may be files the task failed to process. The+-- DataRepositoryTaskFailureDetails property provides more information+-- about task failures.+--+-- - @SUCCEEDED@ - FSx completed the task successfully.+--+-- - @CANCELED@ - Amazon FSx canceled the task and it did not complete.+--+-- - @CANCELING@ - FSx is in process of canceling the task.+cancelDataRepositoryTaskResponse_lifecycle :: Lens.Lens' CancelDataRepositoryTaskResponse (Prelude.Maybe DataRepositoryTaskLifecycle)+cancelDataRepositoryTaskResponse_lifecycle = Lens.lens (\CancelDataRepositoryTaskResponse' {lifecycle} -> lifecycle) (\s@CancelDataRepositoryTaskResponse' {} a -> s {lifecycle = a} :: CancelDataRepositoryTaskResponse)++-- | The ID of the task being canceled.+cancelDataRepositoryTaskResponse_taskId :: Lens.Lens' CancelDataRepositoryTaskResponse (Prelude.Maybe Prelude.Text)+cancelDataRepositoryTaskResponse_taskId = Lens.lens (\CancelDataRepositoryTaskResponse' {taskId} -> taskId) (\s@CancelDataRepositoryTaskResponse' {} a -> s {taskId = a} :: CancelDataRepositoryTaskResponse)++-- | The response's http status code.+cancelDataRepositoryTaskResponse_httpStatus :: Lens.Lens' CancelDataRepositoryTaskResponse Prelude.Int+cancelDataRepositoryTaskResponse_httpStatus = Lens.lens (\CancelDataRepositoryTaskResponse' {httpStatus} -> httpStatus) (\s@CancelDataRepositoryTaskResponse' {} a -> s {httpStatus = a} :: CancelDataRepositoryTaskResponse)++instance+ Prelude.NFData+ CancelDataRepositoryTaskResponse+ where+ rnf CancelDataRepositoryTaskResponse' {..} =+ Prelude.rnf lifecycle+ `Prelude.seq` Prelude.rnf taskId+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FSx/CopyBackup.hs view
@@ -0,0 +1,305 @@+{-# 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.FSx.CopyBackup+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Copies an existing backup within the same Amazon Web Services account to+-- another Amazon Web Services Region (cross-Region copy) or within the+-- same Amazon Web Services Region (in-Region copy). You can have up to+-- five backup copy requests in progress to a single destination Region per+-- account.+--+-- You can use cross-Region backup copies for cross-Region disaster+-- recovery. You can periodically take backups and copy them to another+-- Region so that in the event of a disaster in the primary Region, you can+-- restore from backup and recover availability quickly in the other+-- Region. You can make cross-Region copies only within your Amazon Web+-- Services partition. A partition is a grouping of Regions. Amazon Web+-- Services currently has three partitions: @aws@ (Standard Regions),+-- @aws-cn@ (China Regions), and @aws-us-gov@ (Amazon Web Services GovCloud+-- [US] Regions).+--+-- You can also use backup copies to clone your file dataset to another+-- Region or within the same Region.+--+-- You can use the @SourceRegion@ parameter to specify the Amazon Web+-- Services Region from which the backup will be copied. For example, if+-- you make the call from the @us-west-1@ Region and want to copy a backup+-- from the @us-east-2@ Region, you specify @us-east-2@ in the+-- @SourceRegion@ parameter to make a cross-Region copy. If you don\'t+-- specify a Region, the backup copy is created in the same Region where+-- the request is sent from (in-Region copy).+--+-- For more information about creating backup copies, see+-- <https://docs.aws.amazon.com/fsx/latest/WindowsGuide/using-backups.html#copy-backups Copying backups>+-- in the /Amazon FSx for Windows User Guide/,+-- <https://docs.aws.amazon.com/fsx/latest/LustreGuide/using-backups-fsx.html#copy-backups Copying backups>+-- in the /Amazon FSx for Lustre User Guide/, and+-- <https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/using-backups.html#copy-backups Copying backups>+-- in the /Amazon FSx for OpenZFS User Guide/.+module Amazonka.FSx.CopyBackup+ ( -- * Creating a Request+ CopyBackup (..),+ newCopyBackup,++ -- * Request Lenses+ copyBackup_clientRequestToken,+ copyBackup_copyTags,+ copyBackup_kmsKeyId,+ copyBackup_sourceRegion,+ copyBackup_tags,+ copyBackup_sourceBackupId,++ -- * Destructuring the Response+ CopyBackupResponse (..),+ newCopyBackupResponse,++ -- * Response Lenses+ copyBackupResponse_backup,+ copyBackupResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCopyBackup' smart constructor.+data CopyBackup = CopyBackup'+ { clientRequestToken :: Prelude.Maybe Prelude.Text,+ -- | A Boolean flag indicating whether tags from the source backup should be+ -- copied to the backup copy. This value defaults to @false@.+ --+ -- If you set @CopyTags@ to @true@ and the source backup has existing tags,+ -- you can use the @Tags@ parameter to create new tags, provided that the+ -- sum of the source backup tags and the new tags doesn\'t exceed 50. Both+ -- sets of tags are merged. If there are tag conflicts (for example, two+ -- tags with the same key but different values), the tags created with the+ -- @Tags@ parameter take precedence.+ copyTags :: Prelude.Maybe Prelude.Bool,+ kmsKeyId :: Prelude.Maybe Prelude.Text,+ -- | The source Amazon Web Services Region of the backup. Specifies the+ -- Amazon Web Services Region from which the backup is being copied. The+ -- source and destination Regions must be in the same Amazon Web Services+ -- partition. If you don\'t specify a Region, @SourceRegion@ defaults to+ -- the Region where the request is sent from (in-Region copy).+ sourceRegion :: Prelude.Maybe Prelude.Text,+ tags :: Prelude.Maybe (Prelude.NonEmpty Tag),+ -- | The ID of the source backup. Specifies the ID of the backup that\'s+ -- being copied.+ sourceBackupId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CopyBackup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientRequestToken', 'copyBackup_clientRequestToken' - Undocumented member.+--+-- 'copyTags', 'copyBackup_copyTags' - A Boolean flag indicating whether tags from the source backup should be+-- copied to the backup copy. This value defaults to @false@.+--+-- If you set @CopyTags@ to @true@ and the source backup has existing tags,+-- you can use the @Tags@ parameter to create new tags, provided that the+-- sum of the source backup tags and the new tags doesn\'t exceed 50. Both+-- sets of tags are merged. If there are tag conflicts (for example, two+-- tags with the same key but different values), the tags created with the+-- @Tags@ parameter take precedence.+--+-- 'kmsKeyId', 'copyBackup_kmsKeyId' - Undocumented member.+--+-- 'sourceRegion', 'copyBackup_sourceRegion' - The source Amazon Web Services Region of the backup. Specifies the+-- Amazon Web Services Region from which the backup is being copied. The+-- source and destination Regions must be in the same Amazon Web Services+-- partition. If you don\'t specify a Region, @SourceRegion@ defaults to+-- the Region where the request is sent from (in-Region copy).+--+-- 'tags', 'copyBackup_tags' - Undocumented member.+--+-- 'sourceBackupId', 'copyBackup_sourceBackupId' - The ID of the source backup. Specifies the ID of the backup that\'s+-- being copied.+newCopyBackup ::+ -- | 'sourceBackupId'+ Prelude.Text ->+ CopyBackup+newCopyBackup pSourceBackupId_ =+ CopyBackup'+ { clientRequestToken = Prelude.Nothing,+ copyTags = Prelude.Nothing,+ kmsKeyId = Prelude.Nothing,+ sourceRegion = Prelude.Nothing,+ tags = Prelude.Nothing,+ sourceBackupId = pSourceBackupId_+ }++-- | Undocumented member.+copyBackup_clientRequestToken :: Lens.Lens' CopyBackup (Prelude.Maybe Prelude.Text)+copyBackup_clientRequestToken = Lens.lens (\CopyBackup' {clientRequestToken} -> clientRequestToken) (\s@CopyBackup' {} a -> s {clientRequestToken = a} :: CopyBackup)++-- | A Boolean flag indicating whether tags from the source backup should be+-- copied to the backup copy. This value defaults to @false@.+--+-- If you set @CopyTags@ to @true@ and the source backup has existing tags,+-- you can use the @Tags@ parameter to create new tags, provided that the+-- sum of the source backup tags and the new tags doesn\'t exceed 50. Both+-- sets of tags are merged. If there are tag conflicts (for example, two+-- tags with the same key but different values), the tags created with the+-- @Tags@ parameter take precedence.+copyBackup_copyTags :: Lens.Lens' CopyBackup (Prelude.Maybe Prelude.Bool)+copyBackup_copyTags = Lens.lens (\CopyBackup' {copyTags} -> copyTags) (\s@CopyBackup' {} a -> s {copyTags = a} :: CopyBackup)++-- | Undocumented member.+copyBackup_kmsKeyId :: Lens.Lens' CopyBackup (Prelude.Maybe Prelude.Text)+copyBackup_kmsKeyId = Lens.lens (\CopyBackup' {kmsKeyId} -> kmsKeyId) (\s@CopyBackup' {} a -> s {kmsKeyId = a} :: CopyBackup)++-- | The source Amazon Web Services Region of the backup. Specifies the+-- Amazon Web Services Region from which the backup is being copied. The+-- source and destination Regions must be in the same Amazon Web Services+-- partition. If you don\'t specify a Region, @SourceRegion@ defaults to+-- the Region where the request is sent from (in-Region copy).+copyBackup_sourceRegion :: Lens.Lens' CopyBackup (Prelude.Maybe Prelude.Text)+copyBackup_sourceRegion = Lens.lens (\CopyBackup' {sourceRegion} -> sourceRegion) (\s@CopyBackup' {} a -> s {sourceRegion = a} :: CopyBackup)++-- | Undocumented member.+copyBackup_tags :: Lens.Lens' CopyBackup (Prelude.Maybe (Prelude.NonEmpty Tag))+copyBackup_tags = Lens.lens (\CopyBackup' {tags} -> tags) (\s@CopyBackup' {} a -> s {tags = a} :: CopyBackup) Prelude.. Lens.mapping Lens.coerced++-- | The ID of the source backup. Specifies the ID of the backup that\'s+-- being copied.+copyBackup_sourceBackupId :: Lens.Lens' CopyBackup Prelude.Text+copyBackup_sourceBackupId = Lens.lens (\CopyBackup' {sourceBackupId} -> sourceBackupId) (\s@CopyBackup' {} a -> s {sourceBackupId = a} :: CopyBackup)++instance Core.AWSRequest CopyBackup where+ type AWSResponse CopyBackup = CopyBackupResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CopyBackupResponse'+ Prelude.<$> (x Data..?> "Backup")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CopyBackup where+ hashWithSalt _salt CopyBackup' {..} =+ _salt+ `Prelude.hashWithSalt` clientRequestToken+ `Prelude.hashWithSalt` copyTags+ `Prelude.hashWithSalt` kmsKeyId+ `Prelude.hashWithSalt` sourceRegion+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` sourceBackupId++instance Prelude.NFData CopyBackup where+ rnf CopyBackup' {..} =+ Prelude.rnf clientRequestToken+ `Prelude.seq` Prelude.rnf copyTags+ `Prelude.seq` Prelude.rnf kmsKeyId+ `Prelude.seq` Prelude.rnf sourceRegion+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf sourceBackupId++instance Data.ToHeaders CopyBackup where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSSimbaAPIService_v20180301.CopyBackup" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CopyBackup where+ toJSON CopyBackup' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("ClientRequestToken" Data..=)+ Prelude.<$> clientRequestToken,+ ("CopyTags" Data..=) Prelude.<$> copyTags,+ ("KmsKeyId" Data..=) Prelude.<$> kmsKeyId,+ ("SourceRegion" Data..=) Prelude.<$> sourceRegion,+ ("Tags" Data..=) Prelude.<$> tags,+ Prelude.Just+ ("SourceBackupId" Data..= sourceBackupId)+ ]+ )++instance Data.ToPath CopyBackup where+ toPath = Prelude.const "/"++instance Data.ToQuery CopyBackup where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCopyBackupResponse' smart constructor.+data CopyBackupResponse = CopyBackupResponse'+ { backup :: Prelude.Maybe Backup,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CopyBackupResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'backup', 'copyBackupResponse_backup' - Undocumented member.+--+-- 'httpStatus', 'copyBackupResponse_httpStatus' - The response's http status code.+newCopyBackupResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CopyBackupResponse+newCopyBackupResponse pHttpStatus_ =+ CopyBackupResponse'+ { backup = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Undocumented member.+copyBackupResponse_backup :: Lens.Lens' CopyBackupResponse (Prelude.Maybe Backup)+copyBackupResponse_backup = Lens.lens (\CopyBackupResponse' {backup} -> backup) (\s@CopyBackupResponse' {} a -> s {backup = a} :: CopyBackupResponse)++-- | The response's http status code.+copyBackupResponse_httpStatus :: Lens.Lens' CopyBackupResponse Prelude.Int+copyBackupResponse_httpStatus = Lens.lens (\CopyBackupResponse' {httpStatus} -> httpStatus) (\s@CopyBackupResponse' {} a -> s {httpStatus = a} :: CopyBackupResponse)++instance Prelude.NFData CopyBackupResponse where+ rnf CopyBackupResponse' {..} =+ Prelude.rnf backup+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FSx/CreateBackup.hs view
@@ -0,0 +1,283 @@+{-# 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.FSx.CreateBackup+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a backup of an existing Amazon FSx for Windows File Server file+-- system, Amazon FSx for Lustre file system, Amazon FSx for NetApp ONTAP+-- volume, or Amazon FSx for OpenZFS file system. We recommend creating+-- regular backups so that you can restore a file system or volume from a+-- backup if an issue arises with the original file system or volume.+--+-- For Amazon FSx for Lustre file systems, you can create a backup only for+-- file systems that have the following configuration:+--+-- - A Persistent deployment type+--+-- - Are /not/ linked to a data repository+--+-- For more information about backups, see the following:+--+-- - For Amazon FSx for Lustre, see+-- <https://docs.aws.amazon.com/fsx/latest/LustreGuide/using-backups-fsx.html Working with FSx for Lustre backups>.+--+-- - For Amazon FSx for Windows, see+-- <https://docs.aws.amazon.com/fsx/latest/WindowsGuide/using-backups.html Working with FSx for Windows backups>.+--+-- - For Amazon FSx for NetApp ONTAP, see+-- <https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/using-backups.html Working with FSx for NetApp ONTAP backups>.+--+-- - For Amazon FSx for OpenZFS, see+-- <https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/using-backups.html Working with FSx for OpenZFS backups>.+--+-- If a backup with the specified client request token exists and the+-- parameters match, this operation returns the description of the existing+-- backup. If a backup with the specified client request token exists and+-- the parameters don\'t match, this operation returns+-- @IncompatibleParameterError@. If a backup with the specified client+-- request token doesn\'t exist, @CreateBackup@ does the following:+--+-- - Creates a new Amazon FSx backup with an assigned ID, and an initial+-- lifecycle state of @CREATING@.+--+-- - Returns the description of the backup.+--+-- By using the idempotent operation, you can retry a @CreateBackup@+-- operation without the risk of creating an extra backup. This approach+-- can be useful when an initial call fails in a way that makes it unclear+-- whether a backup was created. If you use the same client request token+-- and the initial call created a backup, the operation returns a+-- successful result because all the parameters are the same.+--+-- The @CreateBackup@ operation returns while the backup\'s lifecycle state+-- is still @CREATING@. You can check the backup creation status by calling+-- the+-- <https://docs.aws.amazon.com/fsx/latest/APIReference/API_DescribeBackups.html DescribeBackups>+-- operation, which returns the backup state along with other information.+module Amazonka.FSx.CreateBackup+ ( -- * Creating a Request+ CreateBackup (..),+ newCreateBackup,++ -- * Request Lenses+ createBackup_clientRequestToken,+ createBackup_fileSystemId,+ createBackup_tags,+ createBackup_volumeId,++ -- * Destructuring the Response+ CreateBackupResponse (..),+ newCreateBackupResponse,++ -- * Response Lenses+ createBackupResponse_backup,+ createBackupResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | The request object for the @CreateBackup@ operation.+--+-- /See:/ 'newCreateBackup' smart constructor.+data CreateBackup = CreateBackup'+ { -- | (Optional) A string of up to 64 ASCII characters that Amazon FSx uses to+ -- ensure idempotent creation. This string is automatically filled on your+ -- behalf when you use the Command Line Interface (CLI) or an Amazon Web+ -- Services SDK.+ clientRequestToken :: Prelude.Maybe Prelude.Text,+ -- | The ID of the file system to back up.+ fileSystemId :: Prelude.Maybe Prelude.Text,+ -- | (Optional) The tags to apply to the backup at backup creation. The key+ -- value of the @Name@ tag appears in the console as the backup name. If+ -- you have set @CopyTagsToBackups@ to @true@, and you specify one or more+ -- tags using the @CreateBackup@ operation, no existing file system tags+ -- are copied from the file system to the backup.+ tags :: Prelude.Maybe (Prelude.NonEmpty Tag),+ -- | (Optional) The ID of the FSx for ONTAP volume to back up.+ volumeId :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateBackup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientRequestToken', 'createBackup_clientRequestToken' - (Optional) A string of up to 64 ASCII characters that Amazon FSx uses to+-- ensure idempotent creation. This string is automatically filled on your+-- behalf when you use the Command Line Interface (CLI) or an Amazon Web+-- Services SDK.+--+-- 'fileSystemId', 'createBackup_fileSystemId' - The ID of the file system to back up.+--+-- 'tags', 'createBackup_tags' - (Optional) The tags to apply to the backup at backup creation. The key+-- value of the @Name@ tag appears in the console as the backup name. If+-- you have set @CopyTagsToBackups@ to @true@, and you specify one or more+-- tags using the @CreateBackup@ operation, no existing file system tags+-- are copied from the file system to the backup.+--+-- 'volumeId', 'createBackup_volumeId' - (Optional) The ID of the FSx for ONTAP volume to back up.+newCreateBackup ::+ CreateBackup+newCreateBackup =+ CreateBackup'+ { clientRequestToken = Prelude.Nothing,+ fileSystemId = Prelude.Nothing,+ tags = Prelude.Nothing,+ volumeId = Prelude.Nothing+ }++-- | (Optional) A string of up to 64 ASCII characters that Amazon FSx uses to+-- ensure idempotent creation. This string is automatically filled on your+-- behalf when you use the Command Line Interface (CLI) or an Amazon Web+-- Services SDK.+createBackup_clientRequestToken :: Lens.Lens' CreateBackup (Prelude.Maybe Prelude.Text)+createBackup_clientRequestToken = Lens.lens (\CreateBackup' {clientRequestToken} -> clientRequestToken) (\s@CreateBackup' {} a -> s {clientRequestToken = a} :: CreateBackup)++-- | The ID of the file system to back up.+createBackup_fileSystemId :: Lens.Lens' CreateBackup (Prelude.Maybe Prelude.Text)+createBackup_fileSystemId = Lens.lens (\CreateBackup' {fileSystemId} -> fileSystemId) (\s@CreateBackup' {} a -> s {fileSystemId = a} :: CreateBackup)++-- | (Optional) The tags to apply to the backup at backup creation. The key+-- value of the @Name@ tag appears in the console as the backup name. If+-- you have set @CopyTagsToBackups@ to @true@, and you specify one or more+-- tags using the @CreateBackup@ operation, no existing file system tags+-- are copied from the file system to the backup.+createBackup_tags :: Lens.Lens' CreateBackup (Prelude.Maybe (Prelude.NonEmpty Tag))+createBackup_tags = Lens.lens (\CreateBackup' {tags} -> tags) (\s@CreateBackup' {} a -> s {tags = a} :: CreateBackup) Prelude.. Lens.mapping Lens.coerced++-- | (Optional) The ID of the FSx for ONTAP volume to back up.+createBackup_volumeId :: Lens.Lens' CreateBackup (Prelude.Maybe Prelude.Text)+createBackup_volumeId = Lens.lens (\CreateBackup' {volumeId} -> volumeId) (\s@CreateBackup' {} a -> s {volumeId = a} :: CreateBackup)++instance Core.AWSRequest CreateBackup where+ type AWSResponse CreateBackup = CreateBackupResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateBackupResponse'+ Prelude.<$> (x Data..?> "Backup")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateBackup where+ hashWithSalt _salt CreateBackup' {..} =+ _salt+ `Prelude.hashWithSalt` clientRequestToken+ `Prelude.hashWithSalt` fileSystemId+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` volumeId++instance Prelude.NFData CreateBackup where+ rnf CreateBackup' {..} =+ Prelude.rnf clientRequestToken+ `Prelude.seq` Prelude.rnf fileSystemId+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf volumeId++instance Data.ToHeaders CreateBackup where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSSimbaAPIService_v20180301.CreateBackup" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateBackup where+ toJSON CreateBackup' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("ClientRequestToken" Data..=)+ Prelude.<$> clientRequestToken,+ ("FileSystemId" Data..=) Prelude.<$> fileSystemId,+ ("Tags" Data..=) Prelude.<$> tags,+ ("VolumeId" Data..=) Prelude.<$> volumeId+ ]+ )++instance Data.ToPath CreateBackup where+ toPath = Prelude.const "/"++instance Data.ToQuery CreateBackup where+ toQuery = Prelude.const Prelude.mempty++-- | The response object for the @CreateBackup@ operation.+--+-- /See:/ 'newCreateBackupResponse' smart constructor.+data CreateBackupResponse = CreateBackupResponse'+ { -- | A description of the backup.+ backup :: Prelude.Maybe Backup,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateBackupResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'backup', 'createBackupResponse_backup' - A description of the backup.+--+-- 'httpStatus', 'createBackupResponse_httpStatus' - The response's http status code.+newCreateBackupResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateBackupResponse+newCreateBackupResponse pHttpStatus_ =+ CreateBackupResponse'+ { backup = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A description of the backup.+createBackupResponse_backup :: Lens.Lens' CreateBackupResponse (Prelude.Maybe Backup)+createBackupResponse_backup = Lens.lens (\CreateBackupResponse' {backup} -> backup) (\s@CreateBackupResponse' {} a -> s {backup = a} :: CreateBackupResponse)++-- | The response's http status code.+createBackupResponse_httpStatus :: Lens.Lens' CreateBackupResponse Prelude.Int+createBackupResponse_httpStatus = Lens.lens (\CreateBackupResponse' {httpStatus} -> httpStatus) (\s@CreateBackupResponse' {} a -> s {httpStatus = a} :: CreateBackupResponse)++instance Prelude.NFData CreateBackupResponse where+ rnf CreateBackupResponse' {..} =+ Prelude.rnf backup+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FSx/CreateDataRepositoryAssociation.hs view
@@ -0,0 +1,407 @@+{-# 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.FSx.CreateDataRepositoryAssociation+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates an Amazon FSx for Lustre data repository association (DRA). A+-- data repository association is a link between a directory on the file+-- system and an Amazon S3 bucket or prefix. You can have a maximum of 8+-- data repository associations on a file system. Data repository+-- associations are supported only for file systems with the @Persistent_2@+-- deployment type.+--+-- Each data repository association must have a unique Amazon FSx file+-- system directory and a unique S3 bucket or prefix associated with it.+-- You can configure a data repository association for automatic import+-- only, for automatic export only, or for both. To learn more about+-- linking a data repository to your file system, see+-- <https://docs.aws.amazon.com/fsx/latest/LustreGuide/create-dra-linked-data-repo.html Linking your file system to an S3 bucket>.+--+-- @CreateDataRepositoryAssociation@ isn\'t supported on Amazon File Cache+-- resources. To create a DRA on Amazon File Cache, use the+-- @CreateFileCache@ operation.+module Amazonka.FSx.CreateDataRepositoryAssociation+ ( -- * Creating a Request+ CreateDataRepositoryAssociation (..),+ newCreateDataRepositoryAssociation,++ -- * Request Lenses+ createDataRepositoryAssociation_batchImportMetaDataOnCreate,+ createDataRepositoryAssociation_clientRequestToken,+ createDataRepositoryAssociation_fileSystemPath,+ createDataRepositoryAssociation_importedFileChunkSize,+ createDataRepositoryAssociation_s3,+ createDataRepositoryAssociation_tags,+ createDataRepositoryAssociation_fileSystemId,+ createDataRepositoryAssociation_dataRepositoryPath,++ -- * Destructuring the Response+ CreateDataRepositoryAssociationResponse (..),+ newCreateDataRepositoryAssociationResponse,++ -- * Response Lenses+ createDataRepositoryAssociationResponse_association,+ createDataRepositoryAssociationResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateDataRepositoryAssociation' smart constructor.+data CreateDataRepositoryAssociation = CreateDataRepositoryAssociation'+ { -- | Set to @true@ to run an import data repository task to import metadata+ -- from the data repository to the file system after the data repository+ -- association is created. Default is @false@.+ batchImportMetaDataOnCreate :: Prelude.Maybe Prelude.Bool,+ clientRequestToken :: Prelude.Maybe Prelude.Text,+ -- | A path on the file system that points to a high-level directory (such as+ -- @\/ns1\/@) or subdirectory (such as @\/ns1\/subdir\/@) that will be+ -- mapped 1-1 with @DataRepositoryPath@. The leading forward slash in the+ -- name is required. Two data repository associations cannot have+ -- overlapping file system paths. For example, if a data repository is+ -- associated with file system path @\/ns1\/@, then you cannot link another+ -- data repository with file system path @\/ns1\/ns2@.+ --+ -- This path specifies where in your file system files will be exported+ -- from or imported to. This file system directory can be linked to only+ -- one Amazon S3 bucket, and no other S3 bucket can be linked to the+ -- directory.+ --+ -- If you specify only a forward slash (@\/@) as the file system path, you+ -- can link only one data repository to the file system. You can only+ -- specify \"\/\" as the file system path for the first data repository+ -- associated with a file system.+ fileSystemPath :: Prelude.Maybe Prelude.Text,+ -- | For files imported from a data repository, this value determines the+ -- stripe count and maximum amount of data per file (in MiB) stored on a+ -- single physical disk. The maximum number of disks that a single file can+ -- be striped across is limited by the total number of disks that make up+ -- the file system.+ --+ -- The default chunk size is 1,024 MiB (1 GiB) and can go as high as+ -- 512,000 MiB (500 GiB). Amazon S3 objects have a maximum size of 5 TB.+ importedFileChunkSize :: Prelude.Maybe Prelude.Natural,+ -- | The configuration for an Amazon S3 data repository linked to an Amazon+ -- FSx Lustre file system with a data repository association. The+ -- configuration defines which file events (new, changed, or deleted files+ -- or directories) are automatically imported from the linked data+ -- repository to the file system or automatically exported from the file+ -- system to the data repository.+ s3 :: Prelude.Maybe S3DataRepositoryConfiguration,+ tags :: Prelude.Maybe (Prelude.NonEmpty Tag),+ fileSystemId :: Prelude.Text,+ -- | The path to the Amazon S3 data repository that will be linked to the+ -- file system. The path can be an S3 bucket or prefix in the format+ -- @s3:\/\/myBucket\/myPrefix\/@. This path specifies where in the S3 data+ -- repository files will be imported from or exported to.+ dataRepositoryPath :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateDataRepositoryAssociation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'batchImportMetaDataOnCreate', 'createDataRepositoryAssociation_batchImportMetaDataOnCreate' - Set to @true@ to run an import data repository task to import metadata+-- from the data repository to the file system after the data repository+-- association is created. Default is @false@.+--+-- 'clientRequestToken', 'createDataRepositoryAssociation_clientRequestToken' - Undocumented member.+--+-- 'fileSystemPath', 'createDataRepositoryAssociation_fileSystemPath' - A path on the file system that points to a high-level directory (such as+-- @\/ns1\/@) or subdirectory (such as @\/ns1\/subdir\/@) that will be+-- mapped 1-1 with @DataRepositoryPath@. The leading forward slash in the+-- name is required. Two data repository associations cannot have+-- overlapping file system paths. For example, if a data repository is+-- associated with file system path @\/ns1\/@, then you cannot link another+-- data repository with file system path @\/ns1\/ns2@.+--+-- This path specifies where in your file system files will be exported+-- from or imported to. This file system directory can be linked to only+-- one Amazon S3 bucket, and no other S3 bucket can be linked to the+-- directory.+--+-- If you specify only a forward slash (@\/@) as the file system path, you+-- can link only one data repository to the file system. You can only+-- specify \"\/\" as the file system path for the first data repository+-- associated with a file system.+--+-- 'importedFileChunkSize', 'createDataRepositoryAssociation_importedFileChunkSize' - For files imported from a data repository, this value determines the+-- stripe count and maximum amount of data per file (in MiB) stored on a+-- single physical disk. The maximum number of disks that a single file can+-- be striped across is limited by the total number of disks that make up+-- the file system.+--+-- The default chunk size is 1,024 MiB (1 GiB) and can go as high as+-- 512,000 MiB (500 GiB). Amazon S3 objects have a maximum size of 5 TB.+--+-- 's3', 'createDataRepositoryAssociation_s3' - The configuration for an Amazon S3 data repository linked to an Amazon+-- FSx Lustre file system with a data repository association. The+-- configuration defines which file events (new, changed, or deleted files+-- or directories) are automatically imported from the linked data+-- repository to the file system or automatically exported from the file+-- system to the data repository.+--+-- 'tags', 'createDataRepositoryAssociation_tags' - Undocumented member.+--+-- 'fileSystemId', 'createDataRepositoryAssociation_fileSystemId' - Undocumented member.+--+-- 'dataRepositoryPath', 'createDataRepositoryAssociation_dataRepositoryPath' - The path to the Amazon S3 data repository that will be linked to the+-- file system. The path can be an S3 bucket or prefix in the format+-- @s3:\/\/myBucket\/myPrefix\/@. This path specifies where in the S3 data+-- repository files will be imported from or exported to.+newCreateDataRepositoryAssociation ::+ -- | 'fileSystemId'+ Prelude.Text ->+ -- | 'dataRepositoryPath'+ Prelude.Text ->+ CreateDataRepositoryAssociation+newCreateDataRepositoryAssociation+ pFileSystemId_+ pDataRepositoryPath_ =+ CreateDataRepositoryAssociation'+ { batchImportMetaDataOnCreate =+ Prelude.Nothing,+ clientRequestToken = Prelude.Nothing,+ fileSystemPath = Prelude.Nothing,+ importedFileChunkSize = Prelude.Nothing,+ s3 = Prelude.Nothing,+ tags = Prelude.Nothing,+ fileSystemId = pFileSystemId_,+ dataRepositoryPath = pDataRepositoryPath_+ }++-- | Set to @true@ to run an import data repository task to import metadata+-- from the data repository to the file system after the data repository+-- association is created. Default is @false@.+createDataRepositoryAssociation_batchImportMetaDataOnCreate :: Lens.Lens' CreateDataRepositoryAssociation (Prelude.Maybe Prelude.Bool)+createDataRepositoryAssociation_batchImportMetaDataOnCreate = Lens.lens (\CreateDataRepositoryAssociation' {batchImportMetaDataOnCreate} -> batchImportMetaDataOnCreate) (\s@CreateDataRepositoryAssociation' {} a -> s {batchImportMetaDataOnCreate = a} :: CreateDataRepositoryAssociation)++-- | Undocumented member.+createDataRepositoryAssociation_clientRequestToken :: Lens.Lens' CreateDataRepositoryAssociation (Prelude.Maybe Prelude.Text)+createDataRepositoryAssociation_clientRequestToken = Lens.lens (\CreateDataRepositoryAssociation' {clientRequestToken} -> clientRequestToken) (\s@CreateDataRepositoryAssociation' {} a -> s {clientRequestToken = a} :: CreateDataRepositoryAssociation)++-- | A path on the file system that points to a high-level directory (such as+-- @\/ns1\/@) or subdirectory (such as @\/ns1\/subdir\/@) that will be+-- mapped 1-1 with @DataRepositoryPath@. The leading forward slash in the+-- name is required. Two data repository associations cannot have+-- overlapping file system paths. For example, if a data repository is+-- associated with file system path @\/ns1\/@, then you cannot link another+-- data repository with file system path @\/ns1\/ns2@.+--+-- This path specifies where in your file system files will be exported+-- from or imported to. This file system directory can be linked to only+-- one Amazon S3 bucket, and no other S3 bucket can be linked to the+-- directory.+--+-- If you specify only a forward slash (@\/@) as the file system path, you+-- can link only one data repository to the file system. You can only+-- specify \"\/\" as the file system path for the first data repository+-- associated with a file system.+createDataRepositoryAssociation_fileSystemPath :: Lens.Lens' CreateDataRepositoryAssociation (Prelude.Maybe Prelude.Text)+createDataRepositoryAssociation_fileSystemPath = Lens.lens (\CreateDataRepositoryAssociation' {fileSystemPath} -> fileSystemPath) (\s@CreateDataRepositoryAssociation' {} a -> s {fileSystemPath = a} :: CreateDataRepositoryAssociation)++-- | For files imported from a data repository, this value determines the+-- stripe count and maximum amount of data per file (in MiB) stored on a+-- single physical disk. The maximum number of disks that a single file can+-- be striped across is limited by the total number of disks that make up+-- the file system.+--+-- The default chunk size is 1,024 MiB (1 GiB) and can go as high as+-- 512,000 MiB (500 GiB). Amazon S3 objects have a maximum size of 5 TB.+createDataRepositoryAssociation_importedFileChunkSize :: Lens.Lens' CreateDataRepositoryAssociation (Prelude.Maybe Prelude.Natural)+createDataRepositoryAssociation_importedFileChunkSize = Lens.lens (\CreateDataRepositoryAssociation' {importedFileChunkSize} -> importedFileChunkSize) (\s@CreateDataRepositoryAssociation' {} a -> s {importedFileChunkSize = a} :: CreateDataRepositoryAssociation)++-- | The configuration for an Amazon S3 data repository linked to an Amazon+-- FSx Lustre file system with a data repository association. The+-- configuration defines which file events (new, changed, or deleted files+-- or directories) are automatically imported from the linked data+-- repository to the file system or automatically exported from the file+-- system to the data repository.+createDataRepositoryAssociation_s3 :: Lens.Lens' CreateDataRepositoryAssociation (Prelude.Maybe S3DataRepositoryConfiguration)+createDataRepositoryAssociation_s3 = Lens.lens (\CreateDataRepositoryAssociation' {s3} -> s3) (\s@CreateDataRepositoryAssociation' {} a -> s {s3 = a} :: CreateDataRepositoryAssociation)++-- | Undocumented member.+createDataRepositoryAssociation_tags :: Lens.Lens' CreateDataRepositoryAssociation (Prelude.Maybe (Prelude.NonEmpty Tag))+createDataRepositoryAssociation_tags = Lens.lens (\CreateDataRepositoryAssociation' {tags} -> tags) (\s@CreateDataRepositoryAssociation' {} a -> s {tags = a} :: CreateDataRepositoryAssociation) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+createDataRepositoryAssociation_fileSystemId :: Lens.Lens' CreateDataRepositoryAssociation Prelude.Text+createDataRepositoryAssociation_fileSystemId = Lens.lens (\CreateDataRepositoryAssociation' {fileSystemId} -> fileSystemId) (\s@CreateDataRepositoryAssociation' {} a -> s {fileSystemId = a} :: CreateDataRepositoryAssociation)++-- | The path to the Amazon S3 data repository that will be linked to the+-- file system. The path can be an S3 bucket or prefix in the format+-- @s3:\/\/myBucket\/myPrefix\/@. This path specifies where in the S3 data+-- repository files will be imported from or exported to.+createDataRepositoryAssociation_dataRepositoryPath :: Lens.Lens' CreateDataRepositoryAssociation Prelude.Text+createDataRepositoryAssociation_dataRepositoryPath = Lens.lens (\CreateDataRepositoryAssociation' {dataRepositoryPath} -> dataRepositoryPath) (\s@CreateDataRepositoryAssociation' {} a -> s {dataRepositoryPath = a} :: CreateDataRepositoryAssociation)++instance+ Core.AWSRequest+ CreateDataRepositoryAssociation+ where+ type+ AWSResponse CreateDataRepositoryAssociation =+ CreateDataRepositoryAssociationResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateDataRepositoryAssociationResponse'+ Prelude.<$> (x Data..?> "Association")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ CreateDataRepositoryAssociation+ where+ hashWithSalt+ _salt+ CreateDataRepositoryAssociation' {..} =+ _salt+ `Prelude.hashWithSalt` batchImportMetaDataOnCreate+ `Prelude.hashWithSalt` clientRequestToken+ `Prelude.hashWithSalt` fileSystemPath+ `Prelude.hashWithSalt` importedFileChunkSize+ `Prelude.hashWithSalt` s3+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` fileSystemId+ `Prelude.hashWithSalt` dataRepositoryPath++instance+ Prelude.NFData+ CreateDataRepositoryAssociation+ where+ rnf CreateDataRepositoryAssociation' {..} =+ Prelude.rnf batchImportMetaDataOnCreate+ `Prelude.seq` Prelude.rnf clientRequestToken+ `Prelude.seq` Prelude.rnf fileSystemPath+ `Prelude.seq` Prelude.rnf importedFileChunkSize+ `Prelude.seq` Prelude.rnf s3+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf fileSystemId+ `Prelude.seq` Prelude.rnf dataRepositoryPath++instance+ Data.ToHeaders+ CreateDataRepositoryAssociation+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSSimbaAPIService_v20180301.CreateDataRepositoryAssociation" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateDataRepositoryAssociation where+ toJSON CreateDataRepositoryAssociation' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("BatchImportMetaDataOnCreate" Data..=)+ Prelude.<$> batchImportMetaDataOnCreate,+ ("ClientRequestToken" Data..=)+ Prelude.<$> clientRequestToken,+ ("FileSystemPath" Data..=)+ Prelude.<$> fileSystemPath,+ ("ImportedFileChunkSize" Data..=)+ Prelude.<$> importedFileChunkSize,+ ("S3" Data..=) Prelude.<$> s3,+ ("Tags" Data..=) Prelude.<$> tags,+ Prelude.Just ("FileSystemId" Data..= fileSystemId),+ Prelude.Just+ ("DataRepositoryPath" Data..= dataRepositoryPath)+ ]+ )++instance Data.ToPath CreateDataRepositoryAssociation where+ toPath = Prelude.const "/"++instance Data.ToQuery CreateDataRepositoryAssociation where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateDataRepositoryAssociationResponse' smart constructor.+data CreateDataRepositoryAssociationResponse = CreateDataRepositoryAssociationResponse'+ { -- | The response object returned after the data repository association is+ -- created.+ association :: Prelude.Maybe DataRepositoryAssociation,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateDataRepositoryAssociationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'association', 'createDataRepositoryAssociationResponse_association' - The response object returned after the data repository association is+-- created.+--+-- 'httpStatus', 'createDataRepositoryAssociationResponse_httpStatus' - The response's http status code.+newCreateDataRepositoryAssociationResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateDataRepositoryAssociationResponse+newCreateDataRepositoryAssociationResponse+ pHttpStatus_ =+ CreateDataRepositoryAssociationResponse'+ { association =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The response object returned after the data repository association is+-- created.+createDataRepositoryAssociationResponse_association :: Lens.Lens' CreateDataRepositoryAssociationResponse (Prelude.Maybe DataRepositoryAssociation)+createDataRepositoryAssociationResponse_association = Lens.lens (\CreateDataRepositoryAssociationResponse' {association} -> association) (\s@CreateDataRepositoryAssociationResponse' {} a -> s {association = a} :: CreateDataRepositoryAssociationResponse)++-- | The response's http status code.+createDataRepositoryAssociationResponse_httpStatus :: Lens.Lens' CreateDataRepositoryAssociationResponse Prelude.Int+createDataRepositoryAssociationResponse_httpStatus = Lens.lens (\CreateDataRepositoryAssociationResponse' {httpStatus} -> httpStatus) (\s@CreateDataRepositoryAssociationResponse' {} a -> s {httpStatus = a} :: CreateDataRepositoryAssociationResponse)++instance+ Prelude.NFData+ CreateDataRepositoryAssociationResponse+ where+ rnf CreateDataRepositoryAssociationResponse' {..} =+ Prelude.rnf association+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FSx/CreateDataRepositoryTask.hs view
@@ -0,0 +1,332 @@+{-# 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.FSx.CreateDataRepositoryTask+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates an Amazon FSx for Lustre data repository task. You use data+-- repository tasks to perform bulk operations between your Amazon FSx file+-- system and its linked data repositories. An example of a data repository+-- task is exporting any data and metadata changes, including POSIX+-- metadata, to files, directories, and symbolic links (symlinks) from your+-- FSx file system to a linked data repository. A+-- @CreateDataRepositoryTask@ operation will fail if a data repository is+-- not linked to the FSx file system. To learn more about data repository+-- tasks, see+-- <https://docs.aws.amazon.com/fsx/latest/LustreGuide/data-repository-tasks.html Data Repository Tasks>.+-- To learn more about linking a data repository to your file system, see+-- <https://docs.aws.amazon.com/fsx/latest/LustreGuide/create-dra-linked-data-repo.html Linking your file system to an S3 bucket>.+module Amazonka.FSx.CreateDataRepositoryTask+ ( -- * Creating a Request+ CreateDataRepositoryTask (..),+ newCreateDataRepositoryTask,++ -- * Request Lenses+ createDataRepositoryTask_capacityToRelease,+ createDataRepositoryTask_clientRequestToken,+ createDataRepositoryTask_paths,+ createDataRepositoryTask_tags,+ createDataRepositoryTask_type,+ createDataRepositoryTask_fileSystemId,+ createDataRepositoryTask_report,++ -- * Destructuring the Response+ CreateDataRepositoryTaskResponse (..),+ newCreateDataRepositoryTaskResponse,++ -- * Response Lenses+ createDataRepositoryTaskResponse_dataRepositoryTask,+ createDataRepositoryTaskResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateDataRepositoryTask' smart constructor.+data CreateDataRepositoryTask = CreateDataRepositoryTask'+ { -- | Specifies the amount of data to release, in GiB, by an Amazon File Cache+ -- @AUTO_RELEASE_DATA@ task that automatically releases files from the+ -- cache.+ capacityToRelease :: Prelude.Maybe Prelude.Natural,+ clientRequestToken :: Prelude.Maybe Prelude.Text,+ -- | A list of paths for the data repository task to use when the task is+ -- processed. If a path that you provide isn\'t valid, the task fails.+ --+ -- - For export tasks, the list contains paths on the Amazon FSx file+ -- system from which the files are exported to the Amazon S3 bucket.+ -- The default path is the file system root directory. The paths you+ -- provide need to be relative to the mount point of the file system.+ -- If the mount point is @\/mnt\/fsx@ and @\/mnt\/fsx\/path1@ is a+ -- directory or file on the file system you want to export, then the+ -- path to provide is @path1@.+ --+ -- - For import tasks, the list contains paths in the Amazon S3 bucket+ -- from which POSIX metadata changes are imported to the Amazon FSx+ -- file system. The path can be an S3 bucket or prefix in the format+ -- @s3:\/\/myBucket\/myPrefix@ (where @myPrefix@ is optional).+ paths :: Prelude.Maybe [Prelude.Text],+ tags :: Prelude.Maybe (Prelude.NonEmpty Tag),+ -- | Specifies the type of data repository task to create.+ type' :: DataRepositoryTaskType,+ fileSystemId :: Prelude.Text,+ -- | Defines whether or not Amazon FSx provides a CompletionReport once the+ -- task has completed. A CompletionReport provides a detailed report on the+ -- files that Amazon FSx processed that meet the criteria specified by the+ -- @Scope@ parameter. For more information, see+ -- <https://docs.aws.amazon.com/fsx/latest/LustreGuide/task-completion-report.html Working with Task Completion Reports>.+ report :: CompletionReport+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateDataRepositoryTask' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'capacityToRelease', 'createDataRepositoryTask_capacityToRelease' - Specifies the amount of data to release, in GiB, by an Amazon File Cache+-- @AUTO_RELEASE_DATA@ task that automatically releases files from the+-- cache.+--+-- 'clientRequestToken', 'createDataRepositoryTask_clientRequestToken' - Undocumented member.+--+-- 'paths', 'createDataRepositoryTask_paths' - A list of paths for the data repository task to use when the task is+-- processed. If a path that you provide isn\'t valid, the task fails.+--+-- - For export tasks, the list contains paths on the Amazon FSx file+-- system from which the files are exported to the Amazon S3 bucket.+-- The default path is the file system root directory. The paths you+-- provide need to be relative to the mount point of the file system.+-- If the mount point is @\/mnt\/fsx@ and @\/mnt\/fsx\/path1@ is a+-- directory or file on the file system you want to export, then the+-- path to provide is @path1@.+--+-- - For import tasks, the list contains paths in the Amazon S3 bucket+-- from which POSIX metadata changes are imported to the Amazon FSx+-- file system. The path can be an S3 bucket or prefix in the format+-- @s3:\/\/myBucket\/myPrefix@ (where @myPrefix@ is optional).+--+-- 'tags', 'createDataRepositoryTask_tags' - Undocumented member.+--+-- 'type'', 'createDataRepositoryTask_type' - Specifies the type of data repository task to create.+--+-- 'fileSystemId', 'createDataRepositoryTask_fileSystemId' - Undocumented member.+--+-- 'report', 'createDataRepositoryTask_report' - Defines whether or not Amazon FSx provides a CompletionReport once the+-- task has completed. A CompletionReport provides a detailed report on the+-- files that Amazon FSx processed that meet the criteria specified by the+-- @Scope@ parameter. For more information, see+-- <https://docs.aws.amazon.com/fsx/latest/LustreGuide/task-completion-report.html Working with Task Completion Reports>.+newCreateDataRepositoryTask ::+ -- | 'type''+ DataRepositoryTaskType ->+ -- | 'fileSystemId'+ Prelude.Text ->+ -- | 'report'+ CompletionReport ->+ CreateDataRepositoryTask+newCreateDataRepositoryTask+ pType_+ pFileSystemId_+ pReport_ =+ CreateDataRepositoryTask'+ { capacityToRelease =+ Prelude.Nothing,+ clientRequestToken = Prelude.Nothing,+ paths = Prelude.Nothing,+ tags = Prelude.Nothing,+ type' = pType_,+ fileSystemId = pFileSystemId_,+ report = pReport_+ }++-- | Specifies the amount of data to release, in GiB, by an Amazon File Cache+-- @AUTO_RELEASE_DATA@ task that automatically releases files from the+-- cache.+createDataRepositoryTask_capacityToRelease :: Lens.Lens' CreateDataRepositoryTask (Prelude.Maybe Prelude.Natural)+createDataRepositoryTask_capacityToRelease = Lens.lens (\CreateDataRepositoryTask' {capacityToRelease} -> capacityToRelease) (\s@CreateDataRepositoryTask' {} a -> s {capacityToRelease = a} :: CreateDataRepositoryTask)++-- | Undocumented member.+createDataRepositoryTask_clientRequestToken :: Lens.Lens' CreateDataRepositoryTask (Prelude.Maybe Prelude.Text)+createDataRepositoryTask_clientRequestToken = Lens.lens (\CreateDataRepositoryTask' {clientRequestToken} -> clientRequestToken) (\s@CreateDataRepositoryTask' {} a -> s {clientRequestToken = a} :: CreateDataRepositoryTask)++-- | A list of paths for the data repository task to use when the task is+-- processed. If a path that you provide isn\'t valid, the task fails.+--+-- - For export tasks, the list contains paths on the Amazon FSx file+-- system from which the files are exported to the Amazon S3 bucket.+-- The default path is the file system root directory. The paths you+-- provide need to be relative to the mount point of the file system.+-- If the mount point is @\/mnt\/fsx@ and @\/mnt\/fsx\/path1@ is a+-- directory or file on the file system you want to export, then the+-- path to provide is @path1@.+--+-- - For import tasks, the list contains paths in the Amazon S3 bucket+-- from which POSIX metadata changes are imported to the Amazon FSx+-- file system. The path can be an S3 bucket or prefix in the format+-- @s3:\/\/myBucket\/myPrefix@ (where @myPrefix@ is optional).+createDataRepositoryTask_paths :: Lens.Lens' CreateDataRepositoryTask (Prelude.Maybe [Prelude.Text])+createDataRepositoryTask_paths = Lens.lens (\CreateDataRepositoryTask' {paths} -> paths) (\s@CreateDataRepositoryTask' {} a -> s {paths = a} :: CreateDataRepositoryTask) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+createDataRepositoryTask_tags :: Lens.Lens' CreateDataRepositoryTask (Prelude.Maybe (Prelude.NonEmpty Tag))+createDataRepositoryTask_tags = Lens.lens (\CreateDataRepositoryTask' {tags} -> tags) (\s@CreateDataRepositoryTask' {} a -> s {tags = a} :: CreateDataRepositoryTask) Prelude.. Lens.mapping Lens.coerced++-- | Specifies the type of data repository task to create.+createDataRepositoryTask_type :: Lens.Lens' CreateDataRepositoryTask DataRepositoryTaskType+createDataRepositoryTask_type = Lens.lens (\CreateDataRepositoryTask' {type'} -> type') (\s@CreateDataRepositoryTask' {} a -> s {type' = a} :: CreateDataRepositoryTask)++-- | Undocumented member.+createDataRepositoryTask_fileSystemId :: Lens.Lens' CreateDataRepositoryTask Prelude.Text+createDataRepositoryTask_fileSystemId = Lens.lens (\CreateDataRepositoryTask' {fileSystemId} -> fileSystemId) (\s@CreateDataRepositoryTask' {} a -> s {fileSystemId = a} :: CreateDataRepositoryTask)++-- | Defines whether or not Amazon FSx provides a CompletionReport once the+-- task has completed. A CompletionReport provides a detailed report on the+-- files that Amazon FSx processed that meet the criteria specified by the+-- @Scope@ parameter. For more information, see+-- <https://docs.aws.amazon.com/fsx/latest/LustreGuide/task-completion-report.html Working with Task Completion Reports>.+createDataRepositoryTask_report :: Lens.Lens' CreateDataRepositoryTask CompletionReport+createDataRepositoryTask_report = Lens.lens (\CreateDataRepositoryTask' {report} -> report) (\s@CreateDataRepositoryTask' {} a -> s {report = a} :: CreateDataRepositoryTask)++instance Core.AWSRequest CreateDataRepositoryTask where+ type+ AWSResponse CreateDataRepositoryTask =+ CreateDataRepositoryTaskResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateDataRepositoryTaskResponse'+ Prelude.<$> (x Data..?> "DataRepositoryTask")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateDataRepositoryTask where+ hashWithSalt _salt CreateDataRepositoryTask' {..} =+ _salt+ `Prelude.hashWithSalt` capacityToRelease+ `Prelude.hashWithSalt` clientRequestToken+ `Prelude.hashWithSalt` paths+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` type'+ `Prelude.hashWithSalt` fileSystemId+ `Prelude.hashWithSalt` report++instance Prelude.NFData CreateDataRepositoryTask where+ rnf CreateDataRepositoryTask' {..} =+ Prelude.rnf capacityToRelease+ `Prelude.seq` Prelude.rnf clientRequestToken+ `Prelude.seq` Prelude.rnf paths+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf type'+ `Prelude.seq` Prelude.rnf fileSystemId+ `Prelude.seq` Prelude.rnf report++instance Data.ToHeaders CreateDataRepositoryTask where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSSimbaAPIService_v20180301.CreateDataRepositoryTask" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateDataRepositoryTask where+ toJSON CreateDataRepositoryTask' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("CapacityToRelease" Data..=)+ Prelude.<$> capacityToRelease,+ ("ClientRequestToken" Data..=)+ Prelude.<$> clientRequestToken,+ ("Paths" Data..=) Prelude.<$> paths,+ ("Tags" Data..=) Prelude.<$> tags,+ Prelude.Just ("Type" Data..= type'),+ Prelude.Just ("FileSystemId" Data..= fileSystemId),+ Prelude.Just ("Report" Data..= report)+ ]+ )++instance Data.ToPath CreateDataRepositoryTask where+ toPath = Prelude.const "/"++instance Data.ToQuery CreateDataRepositoryTask where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateDataRepositoryTaskResponse' smart constructor.+data CreateDataRepositoryTaskResponse = CreateDataRepositoryTaskResponse'+ { -- | The description of the data repository task that you just created.+ dataRepositoryTask :: Prelude.Maybe DataRepositoryTask,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateDataRepositoryTaskResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataRepositoryTask', 'createDataRepositoryTaskResponse_dataRepositoryTask' - The description of the data repository task that you just created.+--+-- 'httpStatus', 'createDataRepositoryTaskResponse_httpStatus' - The response's http status code.+newCreateDataRepositoryTaskResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateDataRepositoryTaskResponse+newCreateDataRepositoryTaskResponse pHttpStatus_ =+ CreateDataRepositoryTaskResponse'+ { dataRepositoryTask =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The description of the data repository task that you just created.+createDataRepositoryTaskResponse_dataRepositoryTask :: Lens.Lens' CreateDataRepositoryTaskResponse (Prelude.Maybe DataRepositoryTask)+createDataRepositoryTaskResponse_dataRepositoryTask = Lens.lens (\CreateDataRepositoryTaskResponse' {dataRepositoryTask} -> dataRepositoryTask) (\s@CreateDataRepositoryTaskResponse' {} a -> s {dataRepositoryTask = a} :: CreateDataRepositoryTaskResponse)++-- | The response's http status code.+createDataRepositoryTaskResponse_httpStatus :: Lens.Lens' CreateDataRepositoryTaskResponse Prelude.Int+createDataRepositoryTaskResponse_httpStatus = Lens.lens (\CreateDataRepositoryTaskResponse' {httpStatus} -> httpStatus) (\s@CreateDataRepositoryTaskResponse' {} a -> s {httpStatus = a} :: CreateDataRepositoryTaskResponse)++instance+ Prelude.NFData+ CreateDataRepositoryTaskResponse+ where+ rnf CreateDataRepositoryTaskResponse' {..} =+ Prelude.rnf dataRepositoryTask+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FSx/CreateFileCache.hs view
@@ -0,0 +1,440 @@+{-# 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.FSx.CreateFileCache+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a new Amazon File Cache resource.+--+-- You can use this operation with a client request token in the request+-- that Amazon File Cache uses to ensure idempotent creation. If a cache+-- with the specified client request token exists and the parameters match,+-- @CreateFileCache@ returns the description of the existing cache. If a+-- cache with the specified client request token exists and the parameters+-- don\'t match, this call returns @IncompatibleParameterError@. If a file+-- cache with the specified client request token doesn\'t exist,+-- @CreateFileCache@ does the following:+--+-- - Creates a new, empty Amazon File Cache resourcewith an assigned ID,+-- and an initial lifecycle state of @CREATING@.+--+-- - Returns the description of the cache in JSON format.+--+-- The @CreateFileCache@ call returns while the cache\'s lifecycle state is+-- still @CREATING@. You can check the cache creation status by calling the+-- <https://docs.aws.amazon.com/fsx/latest/APIReference/API_DescribeFileCaches.html DescribeFileCaches>+-- operation, which returns the cache state along with other information.+module Amazonka.FSx.CreateFileCache+ ( -- * Creating a Request+ CreateFileCache (..),+ newCreateFileCache,++ -- * Request Lenses+ createFileCache_clientRequestToken,+ createFileCache_copyTagsToDataRepositoryAssociations,+ createFileCache_dataRepositoryAssociations,+ createFileCache_kmsKeyId,+ createFileCache_lustreConfiguration,+ createFileCache_securityGroupIds,+ createFileCache_tags,+ createFileCache_fileCacheType,+ createFileCache_fileCacheTypeVersion,+ createFileCache_storageCapacity,+ createFileCache_subnetIds,++ -- * Destructuring the Response+ CreateFileCacheResponse (..),+ newCreateFileCacheResponse,++ -- * Response Lenses+ createFileCacheResponse_fileCache,+ createFileCacheResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateFileCache' smart constructor.+data CreateFileCache = CreateFileCache'+ { -- | An idempotency token for resource creation, in a string of up to 64+ -- ASCII characters. This token is automatically filled on your behalf when+ -- you use the Command Line Interface (CLI) or an Amazon Web Services SDK.+ --+ -- By using the idempotent operation, you can retry a @CreateFileCache@+ -- operation without the risk of creating an extra cache. This approach can+ -- be useful when an initial call fails in a way that makes it unclear+ -- whether a cache was created. Examples are if a transport level timeout+ -- occurred, or your connection was reset. If you use the same client+ -- request token and the initial call created a cache, the client receives+ -- success as long as the parameters are the same.+ clientRequestToken :: Prelude.Maybe Prelude.Text,+ -- | A boolean flag indicating whether tags for the cache should be copied to+ -- data repository associations. This value defaults to false.+ copyTagsToDataRepositoryAssociations :: Prelude.Maybe Prelude.Bool,+ -- | A list of up to 8 configurations for data repository associations (DRAs)+ -- to be created during the cache creation. The DRAs link the cache to+ -- either an Amazon S3 data repository or a Network File System (NFS) data+ -- repository that supports the NFSv3 protocol.+ --+ -- The DRA configurations must meet the following requirements:+ --+ -- - All configurations on the list must be of the same data repository+ -- type, either all S3 or all NFS. A cache can\'t link to different+ -- data repository types at the same time.+ --+ -- - An NFS DRA must link to an NFS file system that supports the NFSv3+ -- protocol.+ --+ -- DRA automatic import and automatic export is not supported.+ dataRepositoryAssociations :: Prelude.Maybe [FileCacheDataRepositoryAssociation],+ -- | Specifies the ID of the Key Management Service (KMS) key to use for+ -- encrypting data on an Amazon File Cache. If a @KmsKeyId@ isn\'t+ -- specified, the Amazon FSx-managed KMS key for your account is used. For+ -- more information, see+ -- <https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html Encrypt>+ -- in the /Key Management Service API Reference/.+ kmsKeyId :: Prelude.Maybe Prelude.Text,+ -- | The configuration for the Amazon File Cache resource being created.+ lustreConfiguration :: Prelude.Maybe CreateFileCacheLustreConfiguration,+ -- | A list of IDs specifying the security groups to apply to all network+ -- interfaces created for Amazon File Cache access. This list isn\'t+ -- returned in later requests to describe the cache.+ securityGroupIds :: Prelude.Maybe [Prelude.Text],+ tags :: Prelude.Maybe (Prelude.NonEmpty Tag),+ -- | The type of cache that you\'re creating, which must be @LUSTRE@.+ fileCacheType :: FileCacheType,+ -- | Sets the Lustre version for the cache that you\'re creating, which must+ -- be @2.12@.+ fileCacheTypeVersion :: Prelude.Text,+ -- | The storage capacity of the cache in gibibytes (GiB). Valid values are+ -- 1200 GiB, 2400 GiB, and increments of 2400 GiB.+ storageCapacity :: Prelude.Natural,+ subnetIds :: [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateFileCache' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientRequestToken', 'createFileCache_clientRequestToken' - An idempotency token for resource creation, in a string of up to 64+-- ASCII characters. This token is automatically filled on your behalf when+-- you use the Command Line Interface (CLI) or an Amazon Web Services SDK.+--+-- By using the idempotent operation, you can retry a @CreateFileCache@+-- operation without the risk of creating an extra cache. This approach can+-- be useful when an initial call fails in a way that makes it unclear+-- whether a cache was created. Examples are if a transport level timeout+-- occurred, or your connection was reset. If you use the same client+-- request token and the initial call created a cache, the client receives+-- success as long as the parameters are the same.+--+-- 'copyTagsToDataRepositoryAssociations', 'createFileCache_copyTagsToDataRepositoryAssociations' - A boolean flag indicating whether tags for the cache should be copied to+-- data repository associations. This value defaults to false.+--+-- 'dataRepositoryAssociations', 'createFileCache_dataRepositoryAssociations' - A list of up to 8 configurations for data repository associations (DRAs)+-- to be created during the cache creation. The DRAs link the cache to+-- either an Amazon S3 data repository or a Network File System (NFS) data+-- repository that supports the NFSv3 protocol.+--+-- The DRA configurations must meet the following requirements:+--+-- - All configurations on the list must be of the same data repository+-- type, either all S3 or all NFS. A cache can\'t link to different+-- data repository types at the same time.+--+-- - An NFS DRA must link to an NFS file system that supports the NFSv3+-- protocol.+--+-- DRA automatic import and automatic export is not supported.+--+-- 'kmsKeyId', 'createFileCache_kmsKeyId' - Specifies the ID of the Key Management Service (KMS) key to use for+-- encrypting data on an Amazon File Cache. If a @KmsKeyId@ isn\'t+-- specified, the Amazon FSx-managed KMS key for your account is used. For+-- more information, see+-- <https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html Encrypt>+-- in the /Key Management Service API Reference/.+--+-- 'lustreConfiguration', 'createFileCache_lustreConfiguration' - The configuration for the Amazon File Cache resource being created.+--+-- 'securityGroupIds', 'createFileCache_securityGroupIds' - A list of IDs specifying the security groups to apply to all network+-- interfaces created for Amazon File Cache access. This list isn\'t+-- returned in later requests to describe the cache.+--+-- 'tags', 'createFileCache_tags' - Undocumented member.+--+-- 'fileCacheType', 'createFileCache_fileCacheType' - The type of cache that you\'re creating, which must be @LUSTRE@.+--+-- 'fileCacheTypeVersion', 'createFileCache_fileCacheTypeVersion' - Sets the Lustre version for the cache that you\'re creating, which must+-- be @2.12@.+--+-- 'storageCapacity', 'createFileCache_storageCapacity' - The storage capacity of the cache in gibibytes (GiB). Valid values are+-- 1200 GiB, 2400 GiB, and increments of 2400 GiB.+--+-- 'subnetIds', 'createFileCache_subnetIds' - Undocumented member.+newCreateFileCache ::+ -- | 'fileCacheType'+ FileCacheType ->+ -- | 'fileCacheTypeVersion'+ Prelude.Text ->+ -- | 'storageCapacity'+ Prelude.Natural ->+ CreateFileCache+newCreateFileCache+ pFileCacheType_+ pFileCacheTypeVersion_+ pStorageCapacity_ =+ CreateFileCache'+ { clientRequestToken =+ Prelude.Nothing,+ copyTagsToDataRepositoryAssociations =+ Prelude.Nothing,+ dataRepositoryAssociations = Prelude.Nothing,+ kmsKeyId = Prelude.Nothing,+ lustreConfiguration = Prelude.Nothing,+ securityGroupIds = Prelude.Nothing,+ tags = Prelude.Nothing,+ fileCacheType = pFileCacheType_,+ fileCacheTypeVersion = pFileCacheTypeVersion_,+ storageCapacity = pStorageCapacity_,+ subnetIds = Prelude.mempty+ }++-- | An idempotency token for resource creation, in a string of up to 64+-- ASCII characters. This token is automatically filled on your behalf when+-- you use the Command Line Interface (CLI) or an Amazon Web Services SDK.+--+-- By using the idempotent operation, you can retry a @CreateFileCache@+-- operation without the risk of creating an extra cache. This approach can+-- be useful when an initial call fails in a way that makes it unclear+-- whether a cache was created. Examples are if a transport level timeout+-- occurred, or your connection was reset. If you use the same client+-- request token and the initial call created a cache, the client receives+-- success as long as the parameters are the same.+createFileCache_clientRequestToken :: Lens.Lens' CreateFileCache (Prelude.Maybe Prelude.Text)+createFileCache_clientRequestToken = Lens.lens (\CreateFileCache' {clientRequestToken} -> clientRequestToken) (\s@CreateFileCache' {} a -> s {clientRequestToken = a} :: CreateFileCache)++-- | A boolean flag indicating whether tags for the cache should be copied to+-- data repository associations. This value defaults to false.+createFileCache_copyTagsToDataRepositoryAssociations :: Lens.Lens' CreateFileCache (Prelude.Maybe Prelude.Bool)+createFileCache_copyTagsToDataRepositoryAssociations = Lens.lens (\CreateFileCache' {copyTagsToDataRepositoryAssociations} -> copyTagsToDataRepositoryAssociations) (\s@CreateFileCache' {} a -> s {copyTagsToDataRepositoryAssociations = a} :: CreateFileCache)++-- | A list of up to 8 configurations for data repository associations (DRAs)+-- to be created during the cache creation. The DRAs link the cache to+-- either an Amazon S3 data repository or a Network File System (NFS) data+-- repository that supports the NFSv3 protocol.+--+-- The DRA configurations must meet the following requirements:+--+-- - All configurations on the list must be of the same data repository+-- type, either all S3 or all NFS. A cache can\'t link to different+-- data repository types at the same time.+--+-- - An NFS DRA must link to an NFS file system that supports the NFSv3+-- protocol.+--+-- DRA automatic import and automatic export is not supported.+createFileCache_dataRepositoryAssociations :: Lens.Lens' CreateFileCache (Prelude.Maybe [FileCacheDataRepositoryAssociation])+createFileCache_dataRepositoryAssociations = Lens.lens (\CreateFileCache' {dataRepositoryAssociations} -> dataRepositoryAssociations) (\s@CreateFileCache' {} a -> s {dataRepositoryAssociations = a} :: CreateFileCache) Prelude.. Lens.mapping Lens.coerced++-- | Specifies the ID of the Key Management Service (KMS) key to use for+-- encrypting data on an Amazon File Cache. If a @KmsKeyId@ isn\'t+-- specified, the Amazon FSx-managed KMS key for your account is used. For+-- more information, see+-- <https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html Encrypt>+-- in the /Key Management Service API Reference/.+createFileCache_kmsKeyId :: Lens.Lens' CreateFileCache (Prelude.Maybe Prelude.Text)+createFileCache_kmsKeyId = Lens.lens (\CreateFileCache' {kmsKeyId} -> kmsKeyId) (\s@CreateFileCache' {} a -> s {kmsKeyId = a} :: CreateFileCache)++-- | The configuration for the Amazon File Cache resource being created.+createFileCache_lustreConfiguration :: Lens.Lens' CreateFileCache (Prelude.Maybe CreateFileCacheLustreConfiguration)+createFileCache_lustreConfiguration = Lens.lens (\CreateFileCache' {lustreConfiguration} -> lustreConfiguration) (\s@CreateFileCache' {} a -> s {lustreConfiguration = a} :: CreateFileCache)++-- | A list of IDs specifying the security groups to apply to all network+-- interfaces created for Amazon File Cache access. This list isn\'t+-- returned in later requests to describe the cache.+createFileCache_securityGroupIds :: Lens.Lens' CreateFileCache (Prelude.Maybe [Prelude.Text])+createFileCache_securityGroupIds = Lens.lens (\CreateFileCache' {securityGroupIds} -> securityGroupIds) (\s@CreateFileCache' {} a -> s {securityGroupIds = a} :: CreateFileCache) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+createFileCache_tags :: Lens.Lens' CreateFileCache (Prelude.Maybe (Prelude.NonEmpty Tag))+createFileCache_tags = Lens.lens (\CreateFileCache' {tags} -> tags) (\s@CreateFileCache' {} a -> s {tags = a} :: CreateFileCache) Prelude.. Lens.mapping Lens.coerced++-- | The type of cache that you\'re creating, which must be @LUSTRE@.+createFileCache_fileCacheType :: Lens.Lens' CreateFileCache FileCacheType+createFileCache_fileCacheType = Lens.lens (\CreateFileCache' {fileCacheType} -> fileCacheType) (\s@CreateFileCache' {} a -> s {fileCacheType = a} :: CreateFileCache)++-- | Sets the Lustre version for the cache that you\'re creating, which must+-- be @2.12@.+createFileCache_fileCacheTypeVersion :: Lens.Lens' CreateFileCache Prelude.Text+createFileCache_fileCacheTypeVersion = Lens.lens (\CreateFileCache' {fileCacheTypeVersion} -> fileCacheTypeVersion) (\s@CreateFileCache' {} a -> s {fileCacheTypeVersion = a} :: CreateFileCache)++-- | The storage capacity of the cache in gibibytes (GiB). Valid values are+-- 1200 GiB, 2400 GiB, and increments of 2400 GiB.+createFileCache_storageCapacity :: Lens.Lens' CreateFileCache Prelude.Natural+createFileCache_storageCapacity = Lens.lens (\CreateFileCache' {storageCapacity} -> storageCapacity) (\s@CreateFileCache' {} a -> s {storageCapacity = a} :: CreateFileCache)++-- | Undocumented member.+createFileCache_subnetIds :: Lens.Lens' CreateFileCache [Prelude.Text]+createFileCache_subnetIds = Lens.lens (\CreateFileCache' {subnetIds} -> subnetIds) (\s@CreateFileCache' {} a -> s {subnetIds = a} :: CreateFileCache) Prelude.. Lens.coerced++instance Core.AWSRequest CreateFileCache where+ type+ AWSResponse CreateFileCache =+ CreateFileCacheResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateFileCacheResponse'+ Prelude.<$> (x Data..?> "FileCache")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateFileCache where+ hashWithSalt _salt CreateFileCache' {..} =+ _salt+ `Prelude.hashWithSalt` clientRequestToken+ `Prelude.hashWithSalt` copyTagsToDataRepositoryAssociations+ `Prelude.hashWithSalt` dataRepositoryAssociations+ `Prelude.hashWithSalt` kmsKeyId+ `Prelude.hashWithSalt` lustreConfiguration+ `Prelude.hashWithSalt` securityGroupIds+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` fileCacheType+ `Prelude.hashWithSalt` fileCacheTypeVersion+ `Prelude.hashWithSalt` storageCapacity+ `Prelude.hashWithSalt` subnetIds++instance Prelude.NFData CreateFileCache where+ rnf CreateFileCache' {..} =+ Prelude.rnf clientRequestToken+ `Prelude.seq` Prelude.rnf copyTagsToDataRepositoryAssociations+ `Prelude.seq` Prelude.rnf dataRepositoryAssociations+ `Prelude.seq` Prelude.rnf kmsKeyId+ `Prelude.seq` Prelude.rnf lustreConfiguration+ `Prelude.seq` Prelude.rnf securityGroupIds+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf fileCacheType+ `Prelude.seq` Prelude.rnf fileCacheTypeVersion+ `Prelude.seq` Prelude.rnf storageCapacity+ `Prelude.seq` Prelude.rnf subnetIds++instance Data.ToHeaders CreateFileCache where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSSimbaAPIService_v20180301.CreateFileCache" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateFileCache where+ toJSON CreateFileCache' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("ClientRequestToken" Data..=)+ Prelude.<$> clientRequestToken,+ ("CopyTagsToDataRepositoryAssociations" Data..=)+ Prelude.<$> copyTagsToDataRepositoryAssociations,+ ("DataRepositoryAssociations" Data..=)+ Prelude.<$> dataRepositoryAssociations,+ ("KmsKeyId" Data..=) Prelude.<$> kmsKeyId,+ ("LustreConfiguration" Data..=)+ Prelude.<$> lustreConfiguration,+ ("SecurityGroupIds" Data..=)+ Prelude.<$> securityGroupIds,+ ("Tags" Data..=) Prelude.<$> tags,+ Prelude.Just ("FileCacheType" Data..= fileCacheType),+ Prelude.Just+ ( "FileCacheTypeVersion"+ Data..= fileCacheTypeVersion+ ),+ Prelude.Just+ ("StorageCapacity" Data..= storageCapacity),+ Prelude.Just ("SubnetIds" Data..= subnetIds)+ ]+ )++instance Data.ToPath CreateFileCache where+ toPath = Prelude.const "/"++instance Data.ToQuery CreateFileCache where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateFileCacheResponse' smart constructor.+data CreateFileCacheResponse = CreateFileCacheResponse'+ { -- | A description of the cache that was created.+ fileCache :: Prelude.Maybe FileCacheCreating,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateFileCacheResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fileCache', 'createFileCacheResponse_fileCache' - A description of the cache that was created.+--+-- 'httpStatus', 'createFileCacheResponse_httpStatus' - The response's http status code.+newCreateFileCacheResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateFileCacheResponse+newCreateFileCacheResponse pHttpStatus_ =+ CreateFileCacheResponse'+ { fileCache =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A description of the cache that was created.+createFileCacheResponse_fileCache :: Lens.Lens' CreateFileCacheResponse (Prelude.Maybe FileCacheCreating)+createFileCacheResponse_fileCache = Lens.lens (\CreateFileCacheResponse' {fileCache} -> fileCache) (\s@CreateFileCacheResponse' {} a -> s {fileCache = a} :: CreateFileCacheResponse)++-- | The response's http status code.+createFileCacheResponse_httpStatus :: Lens.Lens' CreateFileCacheResponse Prelude.Int+createFileCacheResponse_httpStatus = Lens.lens (\CreateFileCacheResponse' {httpStatus} -> httpStatus) (\s@CreateFileCacheResponse' {} a -> s {httpStatus = a} :: CreateFileCacheResponse)++instance Prelude.NFData CreateFileCacheResponse where+ rnf CreateFileCacheResponse' {..} =+ Prelude.rnf fileCache+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FSx/CreateFileSystem.hs view
@@ -0,0 +1,625 @@+{-# 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.FSx.CreateFileSystem+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a new, empty Amazon FSx file system. You can create the+-- following supported Amazon FSx file systems using the @CreateFileSystem@+-- API operation:+--+-- - Amazon FSx for Lustre+--+-- - Amazon FSx for NetApp ONTAP+--+-- - Amazon FSx for OpenZFS+--+-- - Amazon FSx for Windows File Server+--+-- This operation requires a client request token in the request that+-- Amazon FSx uses to ensure idempotent creation. This means that calling+-- the operation multiple times with the same client request token has no+-- effect. By using the idempotent operation, you can retry a+-- @CreateFileSystem@ operation without the risk of creating an extra file+-- system. This approach can be useful when an initial call fails in a way+-- that makes it unclear whether a file system was created. Examples are if+-- a transport level timeout occurred, or your connection was reset. If you+-- use the same client request token and the initial call created a file+-- system, the client receives success as long as the parameters are the+-- same.+--+-- If a file system with the specified client request token exists and the+-- parameters match, @CreateFileSystem@ returns the description of the+-- existing file system. If a file system with the specified client request+-- token exists and the parameters don\'t match, this call returns+-- @IncompatibleParameterError@. If a file system with the specified client+-- request token doesn\'t exist, @CreateFileSystem@ does the following:+--+-- - Creates a new, empty Amazon FSx file system with an assigned ID, and+-- an initial lifecycle state of @CREATING@.+--+-- - Returns the description of the file system in JSON format.+--+-- The @CreateFileSystem@ call returns while the file system\'s lifecycle+-- state is still @CREATING@. You can check the file-system creation status+-- by calling the+-- <https://docs.aws.amazon.com/fsx/latest/APIReference/API_DescribeFileSystems.html DescribeFileSystems>+-- operation, which returns the file system state along with other+-- information.+module Amazonka.FSx.CreateFileSystem+ ( -- * Creating a Request+ CreateFileSystem (..),+ newCreateFileSystem,++ -- * Request Lenses+ createFileSystem_clientRequestToken,+ createFileSystem_fileSystemTypeVersion,+ createFileSystem_kmsKeyId,+ createFileSystem_lustreConfiguration,+ createFileSystem_ontapConfiguration,+ createFileSystem_openZFSConfiguration,+ createFileSystem_securityGroupIds,+ createFileSystem_storageType,+ createFileSystem_tags,+ createFileSystem_windowsConfiguration,+ createFileSystem_fileSystemType,+ createFileSystem_storageCapacity,+ createFileSystem_subnetIds,++ -- * Destructuring the Response+ CreateFileSystemResponse (..),+ newCreateFileSystemResponse,++ -- * Response Lenses+ createFileSystemResponse_fileSystem,+ createFileSystemResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | The request object used to create a new Amazon FSx file system.+--+-- /See:/ 'newCreateFileSystem' smart constructor.+data CreateFileSystem = CreateFileSystem'+ { -- | A string of up to 64 ASCII characters that Amazon FSx uses to ensure+ -- idempotent creation. This string is automatically filled on your behalf+ -- when you use the Command Line Interface (CLI) or an Amazon Web Services+ -- SDK.+ clientRequestToken :: Prelude.Maybe Prelude.Text,+ -- | (Optional) For FSx for Lustre file systems, sets the Lustre version for+ -- the file system that you\'re creating. Valid values are @2.10@ and+ -- @2.12@:+ --+ -- - 2.10 is supported by the Scratch and Persistent_1 Lustre deployment+ -- types.+ --+ -- - 2.12 is supported by all Lustre deployment types. @2.12@ is required+ -- when setting FSx for Lustre @DeploymentType@ to @PERSISTENT_2@.+ --+ -- Default value = @2.10@, except when @DeploymentType@ is set to+ -- @PERSISTENT_2@, then the default is @2.12@.+ --+ -- If you set @FileSystemTypeVersion@ to @2.10@ for a @PERSISTENT_2@ Lustre+ -- deployment type, the @CreateFileSystem@ operation fails.+ fileSystemTypeVersion :: Prelude.Maybe Prelude.Text,+ kmsKeyId :: Prelude.Maybe Prelude.Text,+ lustreConfiguration :: Prelude.Maybe CreateFileSystemLustreConfiguration,+ ontapConfiguration :: Prelude.Maybe CreateFileSystemOntapConfiguration,+ -- | The OpenZFS configuration for the file system that\'s being created.+ openZFSConfiguration :: Prelude.Maybe CreateFileSystemOpenZFSConfiguration,+ -- | A list of IDs specifying the security groups to apply to all network+ -- interfaces created for file system access. This list isn\'t returned in+ -- later requests to describe the file system.+ securityGroupIds :: Prelude.Maybe [Prelude.Text],+ -- | Sets the storage type for the file system that you\'re creating. Valid+ -- values are @SSD@ and @HDD@.+ --+ -- - Set to @SSD@ to use solid state drive storage. SSD is supported on+ -- all Windows, Lustre, ONTAP, and OpenZFS deployment types.+ --+ -- - Set to @HDD@ to use hard disk drive storage. HDD is supported on+ -- @SINGLE_AZ_2@ and @MULTI_AZ_1@ Windows file system deployment types,+ -- and on @PERSISTENT_1@ Lustre file system deployment types.+ --+ -- Default value is @SSD@. For more information, see+ -- <https://docs.aws.amazon.com/fsx/latest/WindowsGuide/optimize-fsx-costs.html#storage-type-options Storage type options>+ -- in the /FSx for Windows File Server User Guide/ and+ -- <https://docs.aws.amazon.com/fsx/latest/LustreGuide/what-is.html#storage-options Multiple storage options>+ -- in the /FSx for Lustre User Guide/.+ storageType :: Prelude.Maybe StorageType,+ -- | The tags to apply to the file system that\'s being created. The key+ -- value of the @Name@ tag appears in the console as the file system name.+ tags :: Prelude.Maybe (Prelude.NonEmpty Tag),+ -- | The Microsoft Windows configuration for the file system that\'s being+ -- created.+ windowsConfiguration :: Prelude.Maybe CreateFileSystemWindowsConfiguration,+ -- | The type of Amazon FSx file system to create. Valid values are+ -- @WINDOWS@, @LUSTRE@, @ONTAP@, and @OPENZFS@.+ fileSystemType :: FileSystemType,+ -- | Sets the storage capacity of the file system that you\'re creating, in+ -- gibibytes (GiB).+ --+ -- __FSx for Lustre file systems__ - The amount of storage capacity that+ -- you can configure depends on the value that you set for @StorageType@+ -- and the Lustre @DeploymentType@, as follows:+ --+ -- - For @SCRATCH_2@, @PERSISTENT_2@ and @PERSISTENT_1@ deployment types+ -- using SSD storage type, the valid values are 1200 GiB, 2400 GiB, and+ -- increments of 2400 GiB.+ --+ -- - For @PERSISTENT_1@ HDD file systems, valid values are increments of+ -- 6000 GiB for 12 MB\/s\/TiB file systems and increments of 1800 GiB+ -- for 40 MB\/s\/TiB file systems.+ --+ -- - For @SCRATCH_1@ deployment type, valid values are 1200 GiB, 2400+ -- GiB, and increments of 3600 GiB.+ --+ -- __FSx for ONTAP file systems__ - The amount of storage capacity that you+ -- can configure is from 1024 GiB up to 196,608 GiB (192 TiB).+ --+ -- __FSx for OpenZFS file systems__ - The amount of storage capacity that+ -- you can configure is from 64 GiB up to 524,288 GiB (512 TiB).+ --+ -- __FSx for Windows File Server file systems__ - The amount of storage+ -- capacity that you can configure depends on the value that you set for+ -- @StorageType@ as follows:+ --+ -- - For SSD storage, valid values are 32 GiB-65,536 GiB (64 TiB).+ --+ -- - For HDD storage, valid values are 2000 GiB-65,536 GiB (64 TiB).+ storageCapacity :: Prelude.Natural,+ -- | Specifies the IDs of the subnets that the file system will be accessible+ -- from. For Windows and ONTAP @MULTI_AZ_1@ deployment types,provide+ -- exactly two subnet IDs, one for the preferred file server and one for+ -- the standby file server. You specify one of these subnets as the+ -- preferred subnet using the @WindowsConfiguration > PreferredSubnetID@ or+ -- @OntapConfiguration > PreferredSubnetID@ properties. For more+ -- information about Multi-AZ file system configuration, see+ -- <https://docs.aws.amazon.com/fsx/latest/WindowsGuide/high-availability-multiAZ.html Availability and durability: Single-AZ and Multi-AZ file systems>+ -- in the /Amazon FSx for Windows User Guide/ and+ -- <https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/high-availability-multiAZ.html Availability and durability>+ -- in the /Amazon FSx for ONTAP User Guide/.+ --+ -- For Windows @SINGLE_AZ_1@ and @SINGLE_AZ_2@ and all Lustre deployment+ -- types, provide exactly one subnet ID. The file server is launched in+ -- that subnet\'s Availability Zone.+ subnetIds :: [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateFileSystem' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientRequestToken', 'createFileSystem_clientRequestToken' - A string of up to 64 ASCII characters that Amazon FSx uses to ensure+-- idempotent creation. This string is automatically filled on your behalf+-- when you use the Command Line Interface (CLI) or an Amazon Web Services+-- SDK.+--+-- 'fileSystemTypeVersion', 'createFileSystem_fileSystemTypeVersion' - (Optional) For FSx for Lustre file systems, sets the Lustre version for+-- the file system that you\'re creating. Valid values are @2.10@ and+-- @2.12@:+--+-- - 2.10 is supported by the Scratch and Persistent_1 Lustre deployment+-- types.+--+-- - 2.12 is supported by all Lustre deployment types. @2.12@ is required+-- when setting FSx for Lustre @DeploymentType@ to @PERSISTENT_2@.+--+-- Default value = @2.10@, except when @DeploymentType@ is set to+-- @PERSISTENT_2@, then the default is @2.12@.+--+-- If you set @FileSystemTypeVersion@ to @2.10@ for a @PERSISTENT_2@ Lustre+-- deployment type, the @CreateFileSystem@ operation fails.+--+-- 'kmsKeyId', 'createFileSystem_kmsKeyId' - Undocumented member.+--+-- 'lustreConfiguration', 'createFileSystem_lustreConfiguration' - Undocumented member.+--+-- 'ontapConfiguration', 'createFileSystem_ontapConfiguration' - Undocumented member.+--+-- 'openZFSConfiguration', 'createFileSystem_openZFSConfiguration' - The OpenZFS configuration for the file system that\'s being created.+--+-- 'securityGroupIds', 'createFileSystem_securityGroupIds' - A list of IDs specifying the security groups to apply to all network+-- interfaces created for file system access. This list isn\'t returned in+-- later requests to describe the file system.+--+-- 'storageType', 'createFileSystem_storageType' - Sets the storage type for the file system that you\'re creating. Valid+-- values are @SSD@ and @HDD@.+--+-- - Set to @SSD@ to use solid state drive storage. SSD is supported on+-- all Windows, Lustre, ONTAP, and OpenZFS deployment types.+--+-- - Set to @HDD@ to use hard disk drive storage. HDD is supported on+-- @SINGLE_AZ_2@ and @MULTI_AZ_1@ Windows file system deployment types,+-- and on @PERSISTENT_1@ Lustre file system deployment types.+--+-- Default value is @SSD@. For more information, see+-- <https://docs.aws.amazon.com/fsx/latest/WindowsGuide/optimize-fsx-costs.html#storage-type-options Storage type options>+-- in the /FSx for Windows File Server User Guide/ and+-- <https://docs.aws.amazon.com/fsx/latest/LustreGuide/what-is.html#storage-options Multiple storage options>+-- in the /FSx for Lustre User Guide/.+--+-- 'tags', 'createFileSystem_tags' - The tags to apply to the file system that\'s being created. The key+-- value of the @Name@ tag appears in the console as the file system name.+--+-- 'windowsConfiguration', 'createFileSystem_windowsConfiguration' - The Microsoft Windows configuration for the file system that\'s being+-- created.+--+-- 'fileSystemType', 'createFileSystem_fileSystemType' - The type of Amazon FSx file system to create. Valid values are+-- @WINDOWS@, @LUSTRE@, @ONTAP@, and @OPENZFS@.+--+-- 'storageCapacity', 'createFileSystem_storageCapacity' - Sets the storage capacity of the file system that you\'re creating, in+-- gibibytes (GiB).+--+-- __FSx for Lustre file systems__ - The amount of storage capacity that+-- you can configure depends on the value that you set for @StorageType@+-- and the Lustre @DeploymentType@, as follows:+--+-- - For @SCRATCH_2@, @PERSISTENT_2@ and @PERSISTENT_1@ deployment types+-- using SSD storage type, the valid values are 1200 GiB, 2400 GiB, and+-- increments of 2400 GiB.+--+-- - For @PERSISTENT_1@ HDD file systems, valid values are increments of+-- 6000 GiB for 12 MB\/s\/TiB file systems and increments of 1800 GiB+-- for 40 MB\/s\/TiB file systems.+--+-- - For @SCRATCH_1@ deployment type, valid values are 1200 GiB, 2400+-- GiB, and increments of 3600 GiB.+--+-- __FSx for ONTAP file systems__ - The amount of storage capacity that you+-- can configure is from 1024 GiB up to 196,608 GiB (192 TiB).+--+-- __FSx for OpenZFS file systems__ - The amount of storage capacity that+-- you can configure is from 64 GiB up to 524,288 GiB (512 TiB).+--+-- __FSx for Windows File Server file systems__ - The amount of storage+-- capacity that you can configure depends on the value that you set for+-- @StorageType@ as follows:+--+-- - For SSD storage, valid values are 32 GiB-65,536 GiB (64 TiB).+--+-- - For HDD storage, valid values are 2000 GiB-65,536 GiB (64 TiB).+--+-- 'subnetIds', 'createFileSystem_subnetIds' - Specifies the IDs of the subnets that the file system will be accessible+-- from. For Windows and ONTAP @MULTI_AZ_1@ deployment types,provide+-- exactly two subnet IDs, one for the preferred file server and one for+-- the standby file server. You specify one of these subnets as the+-- preferred subnet using the @WindowsConfiguration > PreferredSubnetID@ or+-- @OntapConfiguration > PreferredSubnetID@ properties. For more+-- information about Multi-AZ file system configuration, see+-- <https://docs.aws.amazon.com/fsx/latest/WindowsGuide/high-availability-multiAZ.html Availability and durability: Single-AZ and Multi-AZ file systems>+-- in the /Amazon FSx for Windows User Guide/ and+-- <https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/high-availability-multiAZ.html Availability and durability>+-- in the /Amazon FSx for ONTAP User Guide/.+--+-- For Windows @SINGLE_AZ_1@ and @SINGLE_AZ_2@ and all Lustre deployment+-- types, provide exactly one subnet ID. The file server is launched in+-- that subnet\'s Availability Zone.+newCreateFileSystem ::+ -- | 'fileSystemType'+ FileSystemType ->+ -- | 'storageCapacity'+ Prelude.Natural ->+ CreateFileSystem+newCreateFileSystem+ pFileSystemType_+ pStorageCapacity_ =+ CreateFileSystem'+ { clientRequestToken =+ Prelude.Nothing,+ fileSystemTypeVersion = Prelude.Nothing,+ kmsKeyId = Prelude.Nothing,+ lustreConfiguration = Prelude.Nothing,+ ontapConfiguration = Prelude.Nothing,+ openZFSConfiguration = Prelude.Nothing,+ securityGroupIds = Prelude.Nothing,+ storageType = Prelude.Nothing,+ tags = Prelude.Nothing,+ windowsConfiguration = Prelude.Nothing,+ fileSystemType = pFileSystemType_,+ storageCapacity = pStorageCapacity_,+ subnetIds = Prelude.mempty+ }++-- | A string of up to 64 ASCII characters that Amazon FSx uses to ensure+-- idempotent creation. This string is automatically filled on your behalf+-- when you use the Command Line Interface (CLI) or an Amazon Web Services+-- SDK.+createFileSystem_clientRequestToken :: Lens.Lens' CreateFileSystem (Prelude.Maybe Prelude.Text)+createFileSystem_clientRequestToken = Lens.lens (\CreateFileSystem' {clientRequestToken} -> clientRequestToken) (\s@CreateFileSystem' {} a -> s {clientRequestToken = a} :: CreateFileSystem)++-- | (Optional) For FSx for Lustre file systems, sets the Lustre version for+-- the file system that you\'re creating. Valid values are @2.10@ and+-- @2.12@:+--+-- - 2.10 is supported by the Scratch and Persistent_1 Lustre deployment+-- types.+--+-- - 2.12 is supported by all Lustre deployment types. @2.12@ is required+-- when setting FSx for Lustre @DeploymentType@ to @PERSISTENT_2@.+--+-- Default value = @2.10@, except when @DeploymentType@ is set to+-- @PERSISTENT_2@, then the default is @2.12@.+--+-- If you set @FileSystemTypeVersion@ to @2.10@ for a @PERSISTENT_2@ Lustre+-- deployment type, the @CreateFileSystem@ operation fails.+createFileSystem_fileSystemTypeVersion :: Lens.Lens' CreateFileSystem (Prelude.Maybe Prelude.Text)+createFileSystem_fileSystemTypeVersion = Lens.lens (\CreateFileSystem' {fileSystemTypeVersion} -> fileSystemTypeVersion) (\s@CreateFileSystem' {} a -> s {fileSystemTypeVersion = a} :: CreateFileSystem)++-- | Undocumented member.+createFileSystem_kmsKeyId :: Lens.Lens' CreateFileSystem (Prelude.Maybe Prelude.Text)+createFileSystem_kmsKeyId = Lens.lens (\CreateFileSystem' {kmsKeyId} -> kmsKeyId) (\s@CreateFileSystem' {} a -> s {kmsKeyId = a} :: CreateFileSystem)++-- | Undocumented member.+createFileSystem_lustreConfiguration :: Lens.Lens' CreateFileSystem (Prelude.Maybe CreateFileSystemLustreConfiguration)+createFileSystem_lustreConfiguration = Lens.lens (\CreateFileSystem' {lustreConfiguration} -> lustreConfiguration) (\s@CreateFileSystem' {} a -> s {lustreConfiguration = a} :: CreateFileSystem)++-- | Undocumented member.+createFileSystem_ontapConfiguration :: Lens.Lens' CreateFileSystem (Prelude.Maybe CreateFileSystemOntapConfiguration)+createFileSystem_ontapConfiguration = Lens.lens (\CreateFileSystem' {ontapConfiguration} -> ontapConfiguration) (\s@CreateFileSystem' {} a -> s {ontapConfiguration = a} :: CreateFileSystem)++-- | The OpenZFS configuration for the file system that\'s being created.+createFileSystem_openZFSConfiguration :: Lens.Lens' CreateFileSystem (Prelude.Maybe CreateFileSystemOpenZFSConfiguration)+createFileSystem_openZFSConfiguration = Lens.lens (\CreateFileSystem' {openZFSConfiguration} -> openZFSConfiguration) (\s@CreateFileSystem' {} a -> s {openZFSConfiguration = a} :: CreateFileSystem)++-- | A list of IDs specifying the security groups to apply to all network+-- interfaces created for file system access. This list isn\'t returned in+-- later requests to describe the file system.+createFileSystem_securityGroupIds :: Lens.Lens' CreateFileSystem (Prelude.Maybe [Prelude.Text])+createFileSystem_securityGroupIds = Lens.lens (\CreateFileSystem' {securityGroupIds} -> securityGroupIds) (\s@CreateFileSystem' {} a -> s {securityGroupIds = a} :: CreateFileSystem) Prelude.. Lens.mapping Lens.coerced++-- | Sets the storage type for the file system that you\'re creating. Valid+-- values are @SSD@ and @HDD@.+--+-- - Set to @SSD@ to use solid state drive storage. SSD is supported on+-- all Windows, Lustre, ONTAP, and OpenZFS deployment types.+--+-- - Set to @HDD@ to use hard disk drive storage. HDD is supported on+-- @SINGLE_AZ_2@ and @MULTI_AZ_1@ Windows file system deployment types,+-- and on @PERSISTENT_1@ Lustre file system deployment types.+--+-- Default value is @SSD@. For more information, see+-- <https://docs.aws.amazon.com/fsx/latest/WindowsGuide/optimize-fsx-costs.html#storage-type-options Storage type options>+-- in the /FSx for Windows File Server User Guide/ and+-- <https://docs.aws.amazon.com/fsx/latest/LustreGuide/what-is.html#storage-options Multiple storage options>+-- in the /FSx for Lustre User Guide/.+createFileSystem_storageType :: Lens.Lens' CreateFileSystem (Prelude.Maybe StorageType)+createFileSystem_storageType = Lens.lens (\CreateFileSystem' {storageType} -> storageType) (\s@CreateFileSystem' {} a -> s {storageType = a} :: CreateFileSystem)++-- | The tags to apply to the file system that\'s being created. The key+-- value of the @Name@ tag appears in the console as the file system name.+createFileSystem_tags :: Lens.Lens' CreateFileSystem (Prelude.Maybe (Prelude.NonEmpty Tag))+createFileSystem_tags = Lens.lens (\CreateFileSystem' {tags} -> tags) (\s@CreateFileSystem' {} a -> s {tags = a} :: CreateFileSystem) Prelude.. Lens.mapping Lens.coerced++-- | The Microsoft Windows configuration for the file system that\'s being+-- created.+createFileSystem_windowsConfiguration :: Lens.Lens' CreateFileSystem (Prelude.Maybe CreateFileSystemWindowsConfiguration)+createFileSystem_windowsConfiguration = Lens.lens (\CreateFileSystem' {windowsConfiguration} -> windowsConfiguration) (\s@CreateFileSystem' {} a -> s {windowsConfiguration = a} :: CreateFileSystem)++-- | The type of Amazon FSx file system to create. Valid values are+-- @WINDOWS@, @LUSTRE@, @ONTAP@, and @OPENZFS@.+createFileSystem_fileSystemType :: Lens.Lens' CreateFileSystem FileSystemType+createFileSystem_fileSystemType = Lens.lens (\CreateFileSystem' {fileSystemType} -> fileSystemType) (\s@CreateFileSystem' {} a -> s {fileSystemType = a} :: CreateFileSystem)++-- | Sets the storage capacity of the file system that you\'re creating, in+-- gibibytes (GiB).+--+-- __FSx for Lustre file systems__ - The amount of storage capacity that+-- you can configure depends on the value that you set for @StorageType@+-- and the Lustre @DeploymentType@, as follows:+--+-- - For @SCRATCH_2@, @PERSISTENT_2@ and @PERSISTENT_1@ deployment types+-- using SSD storage type, the valid values are 1200 GiB, 2400 GiB, and+-- increments of 2400 GiB.+--+-- - For @PERSISTENT_1@ HDD file systems, valid values are increments of+-- 6000 GiB for 12 MB\/s\/TiB file systems and increments of 1800 GiB+-- for 40 MB\/s\/TiB file systems.+--+-- - For @SCRATCH_1@ deployment type, valid values are 1200 GiB, 2400+-- GiB, and increments of 3600 GiB.+--+-- __FSx for ONTAP file systems__ - The amount of storage capacity that you+-- can configure is from 1024 GiB up to 196,608 GiB (192 TiB).+--+-- __FSx for OpenZFS file systems__ - The amount of storage capacity that+-- you can configure is from 64 GiB up to 524,288 GiB (512 TiB).+--+-- __FSx for Windows File Server file systems__ - The amount of storage+-- capacity that you can configure depends on the value that you set for+-- @StorageType@ as follows:+--+-- - For SSD storage, valid values are 32 GiB-65,536 GiB (64 TiB).+--+-- - For HDD storage, valid values are 2000 GiB-65,536 GiB (64 TiB).+createFileSystem_storageCapacity :: Lens.Lens' CreateFileSystem Prelude.Natural+createFileSystem_storageCapacity = Lens.lens (\CreateFileSystem' {storageCapacity} -> storageCapacity) (\s@CreateFileSystem' {} a -> s {storageCapacity = a} :: CreateFileSystem)++-- | Specifies the IDs of the subnets that the file system will be accessible+-- from. For Windows and ONTAP @MULTI_AZ_1@ deployment types,provide+-- exactly two subnet IDs, one for the preferred file server and one for+-- the standby file server. You specify one of these subnets as the+-- preferred subnet using the @WindowsConfiguration > PreferredSubnetID@ or+-- @OntapConfiguration > PreferredSubnetID@ properties. For more+-- information about Multi-AZ file system configuration, see+-- <https://docs.aws.amazon.com/fsx/latest/WindowsGuide/high-availability-multiAZ.html Availability and durability: Single-AZ and Multi-AZ file systems>+-- in the /Amazon FSx for Windows User Guide/ and+-- <https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/high-availability-multiAZ.html Availability and durability>+-- in the /Amazon FSx for ONTAP User Guide/.+--+-- For Windows @SINGLE_AZ_1@ and @SINGLE_AZ_2@ and all Lustre deployment+-- types, provide exactly one subnet ID. The file server is launched in+-- that subnet\'s Availability Zone.+createFileSystem_subnetIds :: Lens.Lens' CreateFileSystem [Prelude.Text]+createFileSystem_subnetIds = Lens.lens (\CreateFileSystem' {subnetIds} -> subnetIds) (\s@CreateFileSystem' {} a -> s {subnetIds = a} :: CreateFileSystem) Prelude.. Lens.coerced++instance Core.AWSRequest CreateFileSystem where+ type+ AWSResponse CreateFileSystem =+ CreateFileSystemResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateFileSystemResponse'+ Prelude.<$> (x Data..?> "FileSystem")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateFileSystem where+ hashWithSalt _salt CreateFileSystem' {..} =+ _salt+ `Prelude.hashWithSalt` clientRequestToken+ `Prelude.hashWithSalt` fileSystemTypeVersion+ `Prelude.hashWithSalt` kmsKeyId+ `Prelude.hashWithSalt` lustreConfiguration+ `Prelude.hashWithSalt` ontapConfiguration+ `Prelude.hashWithSalt` openZFSConfiguration+ `Prelude.hashWithSalt` securityGroupIds+ `Prelude.hashWithSalt` storageType+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` windowsConfiguration+ `Prelude.hashWithSalt` fileSystemType+ `Prelude.hashWithSalt` storageCapacity+ `Prelude.hashWithSalt` subnetIds++instance Prelude.NFData CreateFileSystem where+ rnf CreateFileSystem' {..} =+ Prelude.rnf clientRequestToken+ `Prelude.seq` Prelude.rnf fileSystemTypeVersion+ `Prelude.seq` Prelude.rnf kmsKeyId+ `Prelude.seq` Prelude.rnf lustreConfiguration+ `Prelude.seq` Prelude.rnf ontapConfiguration+ `Prelude.seq` Prelude.rnf openZFSConfiguration+ `Prelude.seq` Prelude.rnf securityGroupIds+ `Prelude.seq` Prelude.rnf storageType+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf windowsConfiguration+ `Prelude.seq` Prelude.rnf fileSystemType+ `Prelude.seq` Prelude.rnf storageCapacity+ `Prelude.seq` Prelude.rnf subnetIds++instance Data.ToHeaders CreateFileSystem where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSSimbaAPIService_v20180301.CreateFileSystem" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateFileSystem where+ toJSON CreateFileSystem' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("ClientRequestToken" Data..=)+ Prelude.<$> clientRequestToken,+ ("FileSystemTypeVersion" Data..=)+ Prelude.<$> fileSystemTypeVersion,+ ("KmsKeyId" Data..=) Prelude.<$> kmsKeyId,+ ("LustreConfiguration" Data..=)+ Prelude.<$> lustreConfiguration,+ ("OntapConfiguration" Data..=)+ Prelude.<$> ontapConfiguration,+ ("OpenZFSConfiguration" Data..=)+ Prelude.<$> openZFSConfiguration,+ ("SecurityGroupIds" Data..=)+ Prelude.<$> securityGroupIds,+ ("StorageType" Data..=) Prelude.<$> storageType,+ ("Tags" Data..=) Prelude.<$> tags,+ ("WindowsConfiguration" Data..=)+ Prelude.<$> windowsConfiguration,+ Prelude.Just+ ("FileSystemType" Data..= fileSystemType),+ Prelude.Just+ ("StorageCapacity" Data..= storageCapacity),+ Prelude.Just ("SubnetIds" Data..= subnetIds)+ ]+ )++instance Data.ToPath CreateFileSystem where+ toPath = Prelude.const "/"++instance Data.ToQuery CreateFileSystem where+ toQuery = Prelude.const Prelude.mempty++-- | The response object returned after the file system is created.+--+-- /See:/ 'newCreateFileSystemResponse' smart constructor.+data CreateFileSystemResponse = CreateFileSystemResponse'+ { -- | The configuration of the file system that was created.+ fileSystem :: Prelude.Maybe FileSystem,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateFileSystemResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fileSystem', 'createFileSystemResponse_fileSystem' - The configuration of the file system that was created.+--+-- 'httpStatus', 'createFileSystemResponse_httpStatus' - The response's http status code.+newCreateFileSystemResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateFileSystemResponse+newCreateFileSystemResponse pHttpStatus_ =+ CreateFileSystemResponse'+ { fileSystem =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The configuration of the file system that was created.+createFileSystemResponse_fileSystem :: Lens.Lens' CreateFileSystemResponse (Prelude.Maybe FileSystem)+createFileSystemResponse_fileSystem = Lens.lens (\CreateFileSystemResponse' {fileSystem} -> fileSystem) (\s@CreateFileSystemResponse' {} a -> s {fileSystem = a} :: CreateFileSystemResponse)++-- | The response's http status code.+createFileSystemResponse_httpStatus :: Lens.Lens' CreateFileSystemResponse Prelude.Int+createFileSystemResponse_httpStatus = Lens.lens (\CreateFileSystemResponse' {httpStatus} -> httpStatus) (\s@CreateFileSystemResponse' {} a -> s {httpStatus = a} :: CreateFileSystemResponse)++instance Prelude.NFData CreateFileSystemResponse where+ rnf CreateFileSystemResponse' {..} =+ Prelude.rnf fileSystem+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FSx/CreateFileSystemFromBackup.hs view
@@ -0,0 +1,507 @@+{-# 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.FSx.CreateFileSystemFromBackup+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a new Amazon FSx for Lustre, Amazon FSx for Windows File Server,+-- or Amazon FSx for OpenZFS file system from an existing Amazon FSx+-- backup.+--+-- If a file system with the specified client request token exists and the+-- parameters match, this operation returns the description of the file+-- system. If a file system with the specified client request token exists+-- but the parameters don\'t match, this call returns+-- @IncompatibleParameterError@. If a file system with the specified client+-- request token doesn\'t exist, this operation does the following:+--+-- - Creates a new Amazon FSx file system from backup with an assigned+-- ID, and an initial lifecycle state of @CREATING@.+--+-- - Returns the description of the file system.+--+-- Parameters like the Active Directory, default share name, automatic+-- backup, and backup settings default to the parameters of the file system+-- that was backed up, unless overridden. You can explicitly supply other+-- settings.+--+-- By using the idempotent operation, you can retry a+-- @CreateFileSystemFromBackup@ call without the risk of creating an extra+-- file system. This approach can be useful when an initial call fails in a+-- way that makes it unclear whether a file system was created. Examples+-- are if a transport level timeout occurred, or your connection was reset.+-- If you use the same client request token and the initial call created a+-- file system, the client receives a success message as long as the+-- parameters are the same.+--+-- The @CreateFileSystemFromBackup@ call returns while the file system\'s+-- lifecycle state is still @CREATING@. You can check the file-system+-- creation status by calling the+-- <https://docs.aws.amazon.com/fsx/latest/APIReference/API_DescribeFileSystems.html DescribeFileSystems>+-- operation, which returns the file system state along with other+-- information.+module Amazonka.FSx.CreateFileSystemFromBackup+ ( -- * Creating a Request+ CreateFileSystemFromBackup (..),+ newCreateFileSystemFromBackup,++ -- * Request Lenses+ createFileSystemFromBackup_clientRequestToken,+ createFileSystemFromBackup_fileSystemTypeVersion,+ createFileSystemFromBackup_kmsKeyId,+ createFileSystemFromBackup_lustreConfiguration,+ createFileSystemFromBackup_openZFSConfiguration,+ createFileSystemFromBackup_securityGroupIds,+ createFileSystemFromBackup_storageCapacity,+ createFileSystemFromBackup_storageType,+ createFileSystemFromBackup_tags,+ createFileSystemFromBackup_windowsConfiguration,+ createFileSystemFromBackup_backupId,+ createFileSystemFromBackup_subnetIds,++ -- * Destructuring the Response+ CreateFileSystemFromBackupResponse (..),+ newCreateFileSystemFromBackupResponse,++ -- * Response Lenses+ createFileSystemFromBackupResponse_fileSystem,+ createFileSystemFromBackupResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | The request object for the @CreateFileSystemFromBackup@ operation.+--+-- /See:/ 'newCreateFileSystemFromBackup' smart constructor.+data CreateFileSystemFromBackup = CreateFileSystemFromBackup'+ { -- | A string of up to 64 ASCII characters that Amazon FSx uses to ensure+ -- idempotent creation. This string is automatically filled on your behalf+ -- when you use the Command Line Interface (CLI) or an Amazon Web Services+ -- SDK.+ clientRequestToken :: Prelude.Maybe Prelude.Text,+ -- | Sets the version for the Amazon FSx for Lustre file system that you\'re+ -- creating from a backup. Valid values are @2.10@ and @2.12@.+ --+ -- You don\'t need to specify @FileSystemTypeVersion@ because it will be+ -- applied using the backup\'s @FileSystemTypeVersion@ setting. If you+ -- choose to specify @FileSystemTypeVersion@ when creating from backup, the+ -- value must match the backup\'s @FileSystemTypeVersion@ setting.+ fileSystemTypeVersion :: Prelude.Maybe Prelude.Text,+ kmsKeyId :: Prelude.Maybe Prelude.Text,+ lustreConfiguration :: Prelude.Maybe CreateFileSystemLustreConfiguration,+ -- | The OpenZFS configuration for the file system that\'s being created.+ openZFSConfiguration :: Prelude.Maybe CreateFileSystemOpenZFSConfiguration,+ -- | A list of IDs for the security groups that apply to the specified+ -- network interfaces created for file system access. These security groups+ -- apply to all network interfaces. This value isn\'t returned in later+ -- @DescribeFileSystem@ requests.+ securityGroupIds :: Prelude.Maybe [Prelude.Text],+ -- | Sets the storage capacity of the OpenZFS file system that you\'re+ -- creating from a backup, in gibibytes (GiB). Valid values are from 64 GiB+ -- up to 524,288 GiB (512 TiB). However, the value that you specify must be+ -- equal to or greater than the backup\'s storage capacity value. If you+ -- don\'t use the @StorageCapacity@ parameter, the default is the backup\'s+ -- @StorageCapacity@ value.+ --+ -- If used to create a file system other than OpenZFS, you must provide a+ -- value that matches the backup\'s @StorageCapacity@ value. If you provide+ -- any other value, Amazon FSx responds with a 400 Bad Request.+ storageCapacity :: Prelude.Maybe Prelude.Natural,+ -- | Sets the storage type for the Windows or OpenZFS file system that+ -- you\'re creating from a backup. Valid values are @SSD@ and @HDD@.+ --+ -- - Set to @SSD@ to use solid state drive storage. SSD is supported on+ -- all Windows and OpenZFS deployment types.+ --+ -- - Set to @HDD@ to use hard disk drive storage. HDD is supported on+ -- @SINGLE_AZ_2@ and @MULTI_AZ_1@ FSx for Windows File Server file+ -- system deployment types.+ --+ -- The default value is @SSD@.+ --+ -- HDD and SSD storage types have different minimum storage capacity+ -- requirements. A restored file system\'s storage capacity is tied to the+ -- file system that was backed up. You can create a file system that uses+ -- HDD storage from a backup of a file system that used SSD storage if the+ -- original SSD file system had a storage capacity of at least 2000 GiB.+ storageType :: Prelude.Maybe StorageType,+ -- | The tags to be applied to the file system at file system creation. The+ -- key value of the @Name@ tag appears in the console as the file system+ -- name.+ tags :: Prelude.Maybe (Prelude.NonEmpty Tag),+ -- | The configuration for this Microsoft Windows file system.+ windowsConfiguration :: Prelude.Maybe CreateFileSystemWindowsConfiguration,+ backupId :: Prelude.Text,+ -- | Specifies the IDs of the subnets that the file system will be accessible+ -- from. For Windows @MULTI_AZ_1@ file system deployment types, provide+ -- exactly two subnet IDs, one for the preferred file server and one for+ -- the standby file server. You specify one of these subnets as the+ -- preferred subnet using the @WindowsConfiguration > PreferredSubnetID@+ -- property.+ --+ -- Windows @SINGLE_AZ_1@ and @SINGLE_AZ_2@ file system deployment types,+ -- Lustre file systems, and OpenZFS file systems provide exactly one subnet+ -- ID. The file server is launched in that subnet\'s Availability Zone.+ subnetIds :: [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateFileSystemFromBackup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientRequestToken', 'createFileSystemFromBackup_clientRequestToken' - A string of up to 64 ASCII characters that Amazon FSx uses to ensure+-- idempotent creation. This string is automatically filled on your behalf+-- when you use the Command Line Interface (CLI) or an Amazon Web Services+-- SDK.+--+-- 'fileSystemTypeVersion', 'createFileSystemFromBackup_fileSystemTypeVersion' - Sets the version for the Amazon FSx for Lustre file system that you\'re+-- creating from a backup. Valid values are @2.10@ and @2.12@.+--+-- You don\'t need to specify @FileSystemTypeVersion@ because it will be+-- applied using the backup\'s @FileSystemTypeVersion@ setting. If you+-- choose to specify @FileSystemTypeVersion@ when creating from backup, the+-- value must match the backup\'s @FileSystemTypeVersion@ setting.+--+-- 'kmsKeyId', 'createFileSystemFromBackup_kmsKeyId' - Undocumented member.+--+-- 'lustreConfiguration', 'createFileSystemFromBackup_lustreConfiguration' - Undocumented member.+--+-- 'openZFSConfiguration', 'createFileSystemFromBackup_openZFSConfiguration' - The OpenZFS configuration for the file system that\'s being created.+--+-- 'securityGroupIds', 'createFileSystemFromBackup_securityGroupIds' - A list of IDs for the security groups that apply to the specified+-- network interfaces created for file system access. These security groups+-- apply to all network interfaces. This value isn\'t returned in later+-- @DescribeFileSystem@ requests.+--+-- 'storageCapacity', 'createFileSystemFromBackup_storageCapacity' - Sets the storage capacity of the OpenZFS file system that you\'re+-- creating from a backup, in gibibytes (GiB). Valid values are from 64 GiB+-- up to 524,288 GiB (512 TiB). However, the value that you specify must be+-- equal to or greater than the backup\'s storage capacity value. If you+-- don\'t use the @StorageCapacity@ parameter, the default is the backup\'s+-- @StorageCapacity@ value.+--+-- If used to create a file system other than OpenZFS, you must provide a+-- value that matches the backup\'s @StorageCapacity@ value. If you provide+-- any other value, Amazon FSx responds with a 400 Bad Request.+--+-- 'storageType', 'createFileSystemFromBackup_storageType' - Sets the storage type for the Windows or OpenZFS file system that+-- you\'re creating from a backup. Valid values are @SSD@ and @HDD@.+--+-- - Set to @SSD@ to use solid state drive storage. SSD is supported on+-- all Windows and OpenZFS deployment types.+--+-- - Set to @HDD@ to use hard disk drive storage. HDD is supported on+-- @SINGLE_AZ_2@ and @MULTI_AZ_1@ FSx for Windows File Server file+-- system deployment types.+--+-- The default value is @SSD@.+--+-- HDD and SSD storage types have different minimum storage capacity+-- requirements. A restored file system\'s storage capacity is tied to the+-- file system that was backed up. You can create a file system that uses+-- HDD storage from a backup of a file system that used SSD storage if the+-- original SSD file system had a storage capacity of at least 2000 GiB.+--+-- 'tags', 'createFileSystemFromBackup_tags' - The tags to be applied to the file system at file system creation. The+-- key value of the @Name@ tag appears in the console as the file system+-- name.+--+-- 'windowsConfiguration', 'createFileSystemFromBackup_windowsConfiguration' - The configuration for this Microsoft Windows file system.+--+-- 'backupId', 'createFileSystemFromBackup_backupId' - Undocumented member.+--+-- 'subnetIds', 'createFileSystemFromBackup_subnetIds' - Specifies the IDs of the subnets that the file system will be accessible+-- from. For Windows @MULTI_AZ_1@ file system deployment types, provide+-- exactly two subnet IDs, one for the preferred file server and one for+-- the standby file server. You specify one of these subnets as the+-- preferred subnet using the @WindowsConfiguration > PreferredSubnetID@+-- property.+--+-- Windows @SINGLE_AZ_1@ and @SINGLE_AZ_2@ file system deployment types,+-- Lustre file systems, and OpenZFS file systems provide exactly one subnet+-- ID. The file server is launched in that subnet\'s Availability Zone.+newCreateFileSystemFromBackup ::+ -- | 'backupId'+ Prelude.Text ->+ CreateFileSystemFromBackup+newCreateFileSystemFromBackup pBackupId_ =+ CreateFileSystemFromBackup'+ { clientRequestToken =+ Prelude.Nothing,+ fileSystemTypeVersion = Prelude.Nothing,+ kmsKeyId = Prelude.Nothing,+ lustreConfiguration = Prelude.Nothing,+ openZFSConfiguration = Prelude.Nothing,+ securityGroupIds = Prelude.Nothing,+ storageCapacity = Prelude.Nothing,+ storageType = Prelude.Nothing,+ tags = Prelude.Nothing,+ windowsConfiguration = Prelude.Nothing,+ backupId = pBackupId_,+ subnetIds = Prelude.mempty+ }++-- | A string of up to 64 ASCII characters that Amazon FSx uses to ensure+-- idempotent creation. This string is automatically filled on your behalf+-- when you use the Command Line Interface (CLI) or an Amazon Web Services+-- SDK.+createFileSystemFromBackup_clientRequestToken :: Lens.Lens' CreateFileSystemFromBackup (Prelude.Maybe Prelude.Text)+createFileSystemFromBackup_clientRequestToken = Lens.lens (\CreateFileSystemFromBackup' {clientRequestToken} -> clientRequestToken) (\s@CreateFileSystemFromBackup' {} a -> s {clientRequestToken = a} :: CreateFileSystemFromBackup)++-- | Sets the version for the Amazon FSx for Lustre file system that you\'re+-- creating from a backup. Valid values are @2.10@ and @2.12@.+--+-- You don\'t need to specify @FileSystemTypeVersion@ because it will be+-- applied using the backup\'s @FileSystemTypeVersion@ setting. If you+-- choose to specify @FileSystemTypeVersion@ when creating from backup, the+-- value must match the backup\'s @FileSystemTypeVersion@ setting.+createFileSystemFromBackup_fileSystemTypeVersion :: Lens.Lens' CreateFileSystemFromBackup (Prelude.Maybe Prelude.Text)+createFileSystemFromBackup_fileSystemTypeVersion = Lens.lens (\CreateFileSystemFromBackup' {fileSystemTypeVersion} -> fileSystemTypeVersion) (\s@CreateFileSystemFromBackup' {} a -> s {fileSystemTypeVersion = a} :: CreateFileSystemFromBackup)++-- | Undocumented member.+createFileSystemFromBackup_kmsKeyId :: Lens.Lens' CreateFileSystemFromBackup (Prelude.Maybe Prelude.Text)+createFileSystemFromBackup_kmsKeyId = Lens.lens (\CreateFileSystemFromBackup' {kmsKeyId} -> kmsKeyId) (\s@CreateFileSystemFromBackup' {} a -> s {kmsKeyId = a} :: CreateFileSystemFromBackup)++-- | Undocumented member.+createFileSystemFromBackup_lustreConfiguration :: Lens.Lens' CreateFileSystemFromBackup (Prelude.Maybe CreateFileSystemLustreConfiguration)+createFileSystemFromBackup_lustreConfiguration = Lens.lens (\CreateFileSystemFromBackup' {lustreConfiguration} -> lustreConfiguration) (\s@CreateFileSystemFromBackup' {} a -> s {lustreConfiguration = a} :: CreateFileSystemFromBackup)++-- | The OpenZFS configuration for the file system that\'s being created.+createFileSystemFromBackup_openZFSConfiguration :: Lens.Lens' CreateFileSystemFromBackup (Prelude.Maybe CreateFileSystemOpenZFSConfiguration)+createFileSystemFromBackup_openZFSConfiguration = Lens.lens (\CreateFileSystemFromBackup' {openZFSConfiguration} -> openZFSConfiguration) (\s@CreateFileSystemFromBackup' {} a -> s {openZFSConfiguration = a} :: CreateFileSystemFromBackup)++-- | A list of IDs for the security groups that apply to the specified+-- network interfaces created for file system access. These security groups+-- apply to all network interfaces. This value isn\'t returned in later+-- @DescribeFileSystem@ requests.+createFileSystemFromBackup_securityGroupIds :: Lens.Lens' CreateFileSystemFromBackup (Prelude.Maybe [Prelude.Text])+createFileSystemFromBackup_securityGroupIds = Lens.lens (\CreateFileSystemFromBackup' {securityGroupIds} -> securityGroupIds) (\s@CreateFileSystemFromBackup' {} a -> s {securityGroupIds = a} :: CreateFileSystemFromBackup) Prelude.. Lens.mapping Lens.coerced++-- | Sets the storage capacity of the OpenZFS file system that you\'re+-- creating from a backup, in gibibytes (GiB). Valid values are from 64 GiB+-- up to 524,288 GiB (512 TiB). However, the value that you specify must be+-- equal to or greater than the backup\'s storage capacity value. If you+-- don\'t use the @StorageCapacity@ parameter, the default is the backup\'s+-- @StorageCapacity@ value.+--+-- If used to create a file system other than OpenZFS, you must provide a+-- value that matches the backup\'s @StorageCapacity@ value. If you provide+-- any other value, Amazon FSx responds with a 400 Bad Request.+createFileSystemFromBackup_storageCapacity :: Lens.Lens' CreateFileSystemFromBackup (Prelude.Maybe Prelude.Natural)+createFileSystemFromBackup_storageCapacity = Lens.lens (\CreateFileSystemFromBackup' {storageCapacity} -> storageCapacity) (\s@CreateFileSystemFromBackup' {} a -> s {storageCapacity = a} :: CreateFileSystemFromBackup)++-- | Sets the storage type for the Windows or OpenZFS file system that+-- you\'re creating from a backup. Valid values are @SSD@ and @HDD@.+--+-- - Set to @SSD@ to use solid state drive storage. SSD is supported on+-- all Windows and OpenZFS deployment types.+--+-- - Set to @HDD@ to use hard disk drive storage. HDD is supported on+-- @SINGLE_AZ_2@ and @MULTI_AZ_1@ FSx for Windows File Server file+-- system deployment types.+--+-- The default value is @SSD@.+--+-- HDD and SSD storage types have different minimum storage capacity+-- requirements. A restored file system\'s storage capacity is tied to the+-- file system that was backed up. You can create a file system that uses+-- HDD storage from a backup of a file system that used SSD storage if the+-- original SSD file system had a storage capacity of at least 2000 GiB.+createFileSystemFromBackup_storageType :: Lens.Lens' CreateFileSystemFromBackup (Prelude.Maybe StorageType)+createFileSystemFromBackup_storageType = Lens.lens (\CreateFileSystemFromBackup' {storageType} -> storageType) (\s@CreateFileSystemFromBackup' {} a -> s {storageType = a} :: CreateFileSystemFromBackup)++-- | The tags to be applied to the file system at file system creation. The+-- key value of the @Name@ tag appears in the console as the file system+-- name.+createFileSystemFromBackup_tags :: Lens.Lens' CreateFileSystemFromBackup (Prelude.Maybe (Prelude.NonEmpty Tag))+createFileSystemFromBackup_tags = Lens.lens (\CreateFileSystemFromBackup' {tags} -> tags) (\s@CreateFileSystemFromBackup' {} a -> s {tags = a} :: CreateFileSystemFromBackup) Prelude.. Lens.mapping Lens.coerced++-- | The configuration for this Microsoft Windows file system.+createFileSystemFromBackup_windowsConfiguration :: Lens.Lens' CreateFileSystemFromBackup (Prelude.Maybe CreateFileSystemWindowsConfiguration)+createFileSystemFromBackup_windowsConfiguration = Lens.lens (\CreateFileSystemFromBackup' {windowsConfiguration} -> windowsConfiguration) (\s@CreateFileSystemFromBackup' {} a -> s {windowsConfiguration = a} :: CreateFileSystemFromBackup)++-- | Undocumented member.+createFileSystemFromBackup_backupId :: Lens.Lens' CreateFileSystemFromBackup Prelude.Text+createFileSystemFromBackup_backupId = Lens.lens (\CreateFileSystemFromBackup' {backupId} -> backupId) (\s@CreateFileSystemFromBackup' {} a -> s {backupId = a} :: CreateFileSystemFromBackup)++-- | Specifies the IDs of the subnets that the file system will be accessible+-- from. For Windows @MULTI_AZ_1@ file system deployment types, provide+-- exactly two subnet IDs, one for the preferred file server and one for+-- the standby file server. You specify one of these subnets as the+-- preferred subnet using the @WindowsConfiguration > PreferredSubnetID@+-- property.+--+-- Windows @SINGLE_AZ_1@ and @SINGLE_AZ_2@ file system deployment types,+-- Lustre file systems, and OpenZFS file systems provide exactly one subnet+-- ID. The file server is launched in that subnet\'s Availability Zone.+createFileSystemFromBackup_subnetIds :: Lens.Lens' CreateFileSystemFromBackup [Prelude.Text]+createFileSystemFromBackup_subnetIds = Lens.lens (\CreateFileSystemFromBackup' {subnetIds} -> subnetIds) (\s@CreateFileSystemFromBackup' {} a -> s {subnetIds = a} :: CreateFileSystemFromBackup) Prelude.. Lens.coerced++instance Core.AWSRequest CreateFileSystemFromBackup where+ type+ AWSResponse CreateFileSystemFromBackup =+ CreateFileSystemFromBackupResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateFileSystemFromBackupResponse'+ Prelude.<$> (x Data..?> "FileSystem")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateFileSystemFromBackup where+ hashWithSalt _salt CreateFileSystemFromBackup' {..} =+ _salt+ `Prelude.hashWithSalt` clientRequestToken+ `Prelude.hashWithSalt` fileSystemTypeVersion+ `Prelude.hashWithSalt` kmsKeyId+ `Prelude.hashWithSalt` lustreConfiguration+ `Prelude.hashWithSalt` openZFSConfiguration+ `Prelude.hashWithSalt` securityGroupIds+ `Prelude.hashWithSalt` storageCapacity+ `Prelude.hashWithSalt` storageType+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` windowsConfiguration+ `Prelude.hashWithSalt` backupId+ `Prelude.hashWithSalt` subnetIds++instance Prelude.NFData CreateFileSystemFromBackup where+ rnf CreateFileSystemFromBackup' {..} =+ Prelude.rnf clientRequestToken+ `Prelude.seq` Prelude.rnf fileSystemTypeVersion+ `Prelude.seq` Prelude.rnf kmsKeyId+ `Prelude.seq` Prelude.rnf lustreConfiguration+ `Prelude.seq` Prelude.rnf openZFSConfiguration+ `Prelude.seq` Prelude.rnf securityGroupIds+ `Prelude.seq` Prelude.rnf storageCapacity+ `Prelude.seq` Prelude.rnf storageType+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf windowsConfiguration+ `Prelude.seq` Prelude.rnf backupId+ `Prelude.seq` Prelude.rnf subnetIds++instance Data.ToHeaders CreateFileSystemFromBackup where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSSimbaAPIService_v20180301.CreateFileSystemFromBackup" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateFileSystemFromBackup where+ toJSON CreateFileSystemFromBackup' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("ClientRequestToken" Data..=)+ Prelude.<$> clientRequestToken,+ ("FileSystemTypeVersion" Data..=)+ Prelude.<$> fileSystemTypeVersion,+ ("KmsKeyId" Data..=) Prelude.<$> kmsKeyId,+ ("LustreConfiguration" Data..=)+ Prelude.<$> lustreConfiguration,+ ("OpenZFSConfiguration" Data..=)+ Prelude.<$> openZFSConfiguration,+ ("SecurityGroupIds" Data..=)+ Prelude.<$> securityGroupIds,+ ("StorageCapacity" Data..=)+ Prelude.<$> storageCapacity,+ ("StorageType" Data..=) Prelude.<$> storageType,+ ("Tags" Data..=) Prelude.<$> tags,+ ("WindowsConfiguration" Data..=)+ Prelude.<$> windowsConfiguration,+ Prelude.Just ("BackupId" Data..= backupId),+ Prelude.Just ("SubnetIds" Data..= subnetIds)+ ]+ )++instance Data.ToPath CreateFileSystemFromBackup where+ toPath = Prelude.const "/"++instance Data.ToQuery CreateFileSystemFromBackup where+ toQuery = Prelude.const Prelude.mempty++-- | The response object for the @CreateFileSystemFromBackup@ operation.+--+-- /See:/ 'newCreateFileSystemFromBackupResponse' smart constructor.+data CreateFileSystemFromBackupResponse = CreateFileSystemFromBackupResponse'+ { -- | A description of the file system.+ fileSystem :: Prelude.Maybe FileSystem,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateFileSystemFromBackupResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fileSystem', 'createFileSystemFromBackupResponse_fileSystem' - A description of the file system.+--+-- 'httpStatus', 'createFileSystemFromBackupResponse_httpStatus' - The response's http status code.+newCreateFileSystemFromBackupResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateFileSystemFromBackupResponse+newCreateFileSystemFromBackupResponse pHttpStatus_ =+ CreateFileSystemFromBackupResponse'+ { fileSystem =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A description of the file system.+createFileSystemFromBackupResponse_fileSystem :: Lens.Lens' CreateFileSystemFromBackupResponse (Prelude.Maybe FileSystem)+createFileSystemFromBackupResponse_fileSystem = Lens.lens (\CreateFileSystemFromBackupResponse' {fileSystem} -> fileSystem) (\s@CreateFileSystemFromBackupResponse' {} a -> s {fileSystem = a} :: CreateFileSystemFromBackupResponse)++-- | The response's http status code.+createFileSystemFromBackupResponse_httpStatus :: Lens.Lens' CreateFileSystemFromBackupResponse Prelude.Int+createFileSystemFromBackupResponse_httpStatus = Lens.lens (\CreateFileSystemFromBackupResponse' {httpStatus} -> httpStatus) (\s@CreateFileSystemFromBackupResponse' {} a -> s {httpStatus = a} :: CreateFileSystemFromBackupResponse)++instance+ Prelude.NFData+ CreateFileSystemFromBackupResponse+ where+ rnf CreateFileSystemFromBackupResponse' {..} =+ Prelude.rnf fileSystem+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FSx/CreateSnapshot.hs view
@@ -0,0 +1,241 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FSx.CreateSnapshot+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a snapshot of an existing Amazon FSx for OpenZFS volume. With+-- snapshots, you can easily undo file changes and compare file versions by+-- restoring the volume to a previous version.+--+-- If a snapshot with the specified client request token exists, and the+-- parameters match, this operation returns the description of the existing+-- snapshot. If a snapshot with the specified client request token exists,+-- and the parameters don\'t match, this operation returns+-- @IncompatibleParameterError@. If a snapshot with the specified client+-- request token doesn\'t exist, @CreateSnapshot@ does the following:+--+-- - Creates a new OpenZFS snapshot with an assigned ID, and an initial+-- lifecycle state of @CREATING@.+--+-- - Returns the description of the snapshot.+--+-- By using the idempotent operation, you can retry a @CreateSnapshot@+-- operation without the risk of creating an extra snapshot. This approach+-- can be useful when an initial call fails in a way that makes it unclear+-- whether a snapshot was created. If you use the same client request token+-- and the initial call created a snapshot, the operation returns a+-- successful result because all the parameters are the same.+--+-- The @CreateSnapshot@ operation returns while the snapshot\'s lifecycle+-- state is still @CREATING@. You can check the snapshot creation status by+-- calling the+-- <https://docs.aws.amazon.com/fsx/latest/APIReference/API_DescribeSnapshots.html DescribeSnapshots>+-- operation, which returns the snapshot state along with other+-- information.+module Amazonka.FSx.CreateSnapshot+ ( -- * Creating a Request+ CreateSnapshot (..),+ newCreateSnapshot,++ -- * Request Lenses+ createSnapshot_clientRequestToken,+ createSnapshot_tags,+ createSnapshot_name,+ createSnapshot_volumeId,++ -- * Destructuring the Response+ CreateSnapshotResponse (..),+ newCreateSnapshotResponse,++ -- * Response Lenses+ createSnapshotResponse_snapshot,+ createSnapshotResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateSnapshot' smart constructor.+data CreateSnapshot = CreateSnapshot'+ { clientRequestToken :: Prelude.Maybe Prelude.Text,+ tags :: Prelude.Maybe (Prelude.NonEmpty Tag),+ -- | The name of the snapshot.+ name :: Prelude.Text,+ -- | The ID of the volume that you are taking a snapshot of.+ volumeId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateSnapshot' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientRequestToken', 'createSnapshot_clientRequestToken' - Undocumented member.+--+-- 'tags', 'createSnapshot_tags' - Undocumented member.+--+-- 'name', 'createSnapshot_name' - The name of the snapshot.+--+-- 'volumeId', 'createSnapshot_volumeId' - The ID of the volume that you are taking a snapshot of.+newCreateSnapshot ::+ -- | 'name'+ Prelude.Text ->+ -- | 'volumeId'+ Prelude.Text ->+ CreateSnapshot+newCreateSnapshot pName_ pVolumeId_ =+ CreateSnapshot'+ { clientRequestToken =+ Prelude.Nothing,+ tags = Prelude.Nothing,+ name = pName_,+ volumeId = pVolumeId_+ }++-- | Undocumented member.+createSnapshot_clientRequestToken :: Lens.Lens' CreateSnapshot (Prelude.Maybe Prelude.Text)+createSnapshot_clientRequestToken = Lens.lens (\CreateSnapshot' {clientRequestToken} -> clientRequestToken) (\s@CreateSnapshot' {} a -> s {clientRequestToken = a} :: CreateSnapshot)++-- | Undocumented member.+createSnapshot_tags :: Lens.Lens' CreateSnapshot (Prelude.Maybe (Prelude.NonEmpty Tag))+createSnapshot_tags = Lens.lens (\CreateSnapshot' {tags} -> tags) (\s@CreateSnapshot' {} a -> s {tags = a} :: CreateSnapshot) Prelude.. Lens.mapping Lens.coerced++-- | The name of the snapshot.+createSnapshot_name :: Lens.Lens' CreateSnapshot Prelude.Text+createSnapshot_name = Lens.lens (\CreateSnapshot' {name} -> name) (\s@CreateSnapshot' {} a -> s {name = a} :: CreateSnapshot)++-- | The ID of the volume that you are taking a snapshot of.+createSnapshot_volumeId :: Lens.Lens' CreateSnapshot Prelude.Text+createSnapshot_volumeId = Lens.lens (\CreateSnapshot' {volumeId} -> volumeId) (\s@CreateSnapshot' {} a -> s {volumeId = a} :: CreateSnapshot)++instance Core.AWSRequest CreateSnapshot where+ type+ AWSResponse CreateSnapshot =+ CreateSnapshotResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateSnapshotResponse'+ Prelude.<$> (x Data..?> "Snapshot")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateSnapshot where+ hashWithSalt _salt CreateSnapshot' {..} =+ _salt+ `Prelude.hashWithSalt` clientRequestToken+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` volumeId++instance Prelude.NFData CreateSnapshot where+ rnf CreateSnapshot' {..} =+ Prelude.rnf clientRequestToken+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf volumeId++instance Data.ToHeaders CreateSnapshot where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSSimbaAPIService_v20180301.CreateSnapshot" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateSnapshot where+ toJSON CreateSnapshot' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("ClientRequestToken" Data..=)+ Prelude.<$> clientRequestToken,+ ("Tags" Data..=) Prelude.<$> tags,+ Prelude.Just ("Name" Data..= name),+ Prelude.Just ("VolumeId" Data..= volumeId)+ ]+ )++instance Data.ToPath CreateSnapshot where+ toPath = Prelude.const "/"++instance Data.ToQuery CreateSnapshot where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateSnapshotResponse' smart constructor.+data CreateSnapshotResponse = CreateSnapshotResponse'+ { -- | A description of the snapshot.+ snapshot :: Prelude.Maybe Snapshot,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateSnapshotResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'snapshot', 'createSnapshotResponse_snapshot' - A description of the snapshot.+--+-- 'httpStatus', 'createSnapshotResponse_httpStatus' - The response's http status code.+newCreateSnapshotResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateSnapshotResponse+newCreateSnapshotResponse pHttpStatus_ =+ CreateSnapshotResponse'+ { snapshot = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A description of the snapshot.+createSnapshotResponse_snapshot :: Lens.Lens' CreateSnapshotResponse (Prelude.Maybe Snapshot)+createSnapshotResponse_snapshot = Lens.lens (\CreateSnapshotResponse' {snapshot} -> snapshot) (\s@CreateSnapshotResponse' {} a -> s {snapshot = a} :: CreateSnapshotResponse)++-- | The response's http status code.+createSnapshotResponse_httpStatus :: Lens.Lens' CreateSnapshotResponse Prelude.Int+createSnapshotResponse_httpStatus = Lens.lens (\CreateSnapshotResponse' {httpStatus} -> httpStatus) (\s@CreateSnapshotResponse' {} a -> s {httpStatus = a} :: CreateSnapshotResponse)++instance Prelude.NFData CreateSnapshotResponse where+ rnf CreateSnapshotResponse' {..} =+ Prelude.rnf snapshot+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FSx/CreateStorageVirtualMachine.hs view
@@ -0,0 +1,313 @@+{-# 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.FSx.CreateStorageVirtualMachine+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a storage virtual machine (SVM) for an Amazon FSx for ONTAP file+-- system.+module Amazonka.FSx.CreateStorageVirtualMachine+ ( -- * Creating a Request+ CreateStorageVirtualMachine (..),+ newCreateStorageVirtualMachine,++ -- * Request Lenses+ createStorageVirtualMachine_activeDirectoryConfiguration,+ createStorageVirtualMachine_clientRequestToken,+ createStorageVirtualMachine_rootVolumeSecurityStyle,+ createStorageVirtualMachine_svmAdminPassword,+ createStorageVirtualMachine_tags,+ createStorageVirtualMachine_fileSystemId,+ createStorageVirtualMachine_name,++ -- * Destructuring the Response+ CreateStorageVirtualMachineResponse (..),+ newCreateStorageVirtualMachineResponse,++ -- * Response Lenses+ createStorageVirtualMachineResponse_storageVirtualMachine,+ createStorageVirtualMachineResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateStorageVirtualMachine' smart constructor.+data CreateStorageVirtualMachine = CreateStorageVirtualMachine'+ { -- | Describes the self-managed Microsoft Active Directory to which you want+ -- to join the SVM. Joining an Active Directory provides user+ -- authentication and access control for SMB clients, including Microsoft+ -- Windows and macOS client accessing the file system.+ activeDirectoryConfiguration :: Prelude.Maybe CreateSvmActiveDirectoryConfiguration,+ clientRequestToken :: Prelude.Maybe Prelude.Text,+ -- | The security style of the root volume of the SVM. Specify one of the+ -- following values:+ --+ -- - @UNIX@ if the file system is managed by a UNIX administrator, the+ -- majority of users are NFS clients, and an application accessing the+ -- data uses a UNIX user as the service account.+ --+ -- - @NTFS@ if the file system is managed by a Windows administrator, the+ -- majority of users are SMB clients, and an application accessing the+ -- data uses a Windows user as the service account.+ --+ -- - @MIXED@ if the file system is managed by both UNIX and Windows+ -- administrators and users consist of both NFS and SMB clients.+ rootVolumeSecurityStyle :: Prelude.Maybe StorageVirtualMachineRootVolumeSecurityStyle,+ -- | The password to use when managing the SVM using the NetApp ONTAP CLI or+ -- REST API. If you do not specify a password, you can still use the file+ -- system\'s @fsxadmin@ user to manage the SVM.+ svmAdminPassword :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ tags :: Prelude.Maybe (Prelude.NonEmpty Tag),+ fileSystemId :: Prelude.Text,+ -- | The name of the SVM.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateStorageVirtualMachine' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'activeDirectoryConfiguration', 'createStorageVirtualMachine_activeDirectoryConfiguration' - Describes the self-managed Microsoft Active Directory to which you want+-- to join the SVM. Joining an Active Directory provides user+-- authentication and access control for SMB clients, including Microsoft+-- Windows and macOS client accessing the file system.+--+-- 'clientRequestToken', 'createStorageVirtualMachine_clientRequestToken' - Undocumented member.+--+-- 'rootVolumeSecurityStyle', 'createStorageVirtualMachine_rootVolumeSecurityStyle' - The security style of the root volume of the SVM. Specify one of the+-- following values:+--+-- - @UNIX@ if the file system is managed by a UNIX administrator, the+-- majority of users are NFS clients, and an application accessing the+-- data uses a UNIX user as the service account.+--+-- - @NTFS@ if the file system is managed by a Windows administrator, the+-- majority of users are SMB clients, and an application accessing the+-- data uses a Windows user as the service account.+--+-- - @MIXED@ if the file system is managed by both UNIX and Windows+-- administrators and users consist of both NFS and SMB clients.+--+-- 'svmAdminPassword', 'createStorageVirtualMachine_svmAdminPassword' - The password to use when managing the SVM using the NetApp ONTAP CLI or+-- REST API. If you do not specify a password, you can still use the file+-- system\'s @fsxadmin@ user to manage the SVM.+--+-- 'tags', 'createStorageVirtualMachine_tags' - Undocumented member.+--+-- 'fileSystemId', 'createStorageVirtualMachine_fileSystemId' - Undocumented member.+--+-- 'name', 'createStorageVirtualMachine_name' - The name of the SVM.+newCreateStorageVirtualMachine ::+ -- | 'fileSystemId'+ Prelude.Text ->+ -- | 'name'+ Prelude.Text ->+ CreateStorageVirtualMachine+newCreateStorageVirtualMachine pFileSystemId_ pName_ =+ CreateStorageVirtualMachine'+ { activeDirectoryConfiguration =+ Prelude.Nothing,+ clientRequestToken = Prelude.Nothing,+ rootVolumeSecurityStyle = Prelude.Nothing,+ svmAdminPassword = Prelude.Nothing,+ tags = Prelude.Nothing,+ fileSystemId = pFileSystemId_,+ name = pName_+ }++-- | Describes the self-managed Microsoft Active Directory to which you want+-- to join the SVM. Joining an Active Directory provides user+-- authentication and access control for SMB clients, including Microsoft+-- Windows and macOS client accessing the file system.+createStorageVirtualMachine_activeDirectoryConfiguration :: Lens.Lens' CreateStorageVirtualMachine (Prelude.Maybe CreateSvmActiveDirectoryConfiguration)+createStorageVirtualMachine_activeDirectoryConfiguration = Lens.lens (\CreateStorageVirtualMachine' {activeDirectoryConfiguration} -> activeDirectoryConfiguration) (\s@CreateStorageVirtualMachine' {} a -> s {activeDirectoryConfiguration = a} :: CreateStorageVirtualMachine)++-- | Undocumented member.+createStorageVirtualMachine_clientRequestToken :: Lens.Lens' CreateStorageVirtualMachine (Prelude.Maybe Prelude.Text)+createStorageVirtualMachine_clientRequestToken = Lens.lens (\CreateStorageVirtualMachine' {clientRequestToken} -> clientRequestToken) (\s@CreateStorageVirtualMachine' {} a -> s {clientRequestToken = a} :: CreateStorageVirtualMachine)++-- | The security style of the root volume of the SVM. Specify one of the+-- following values:+--+-- - @UNIX@ if the file system is managed by a UNIX administrator, the+-- majority of users are NFS clients, and an application accessing the+-- data uses a UNIX user as the service account.+--+-- - @NTFS@ if the file system is managed by a Windows administrator, the+-- majority of users are SMB clients, and an application accessing the+-- data uses a Windows user as the service account.+--+-- - @MIXED@ if the file system is managed by both UNIX and Windows+-- administrators and users consist of both NFS and SMB clients.+createStorageVirtualMachine_rootVolumeSecurityStyle :: Lens.Lens' CreateStorageVirtualMachine (Prelude.Maybe StorageVirtualMachineRootVolumeSecurityStyle)+createStorageVirtualMachine_rootVolumeSecurityStyle = Lens.lens (\CreateStorageVirtualMachine' {rootVolumeSecurityStyle} -> rootVolumeSecurityStyle) (\s@CreateStorageVirtualMachine' {} a -> s {rootVolumeSecurityStyle = a} :: CreateStorageVirtualMachine)++-- | The password to use when managing the SVM using the NetApp ONTAP CLI or+-- REST API. If you do not specify a password, you can still use the file+-- system\'s @fsxadmin@ user to manage the SVM.+createStorageVirtualMachine_svmAdminPassword :: Lens.Lens' CreateStorageVirtualMachine (Prelude.Maybe Prelude.Text)+createStorageVirtualMachine_svmAdminPassword = Lens.lens (\CreateStorageVirtualMachine' {svmAdminPassword} -> svmAdminPassword) (\s@CreateStorageVirtualMachine' {} a -> s {svmAdminPassword = a} :: CreateStorageVirtualMachine) Prelude.. Lens.mapping Data._Sensitive++-- | Undocumented member.+createStorageVirtualMachine_tags :: Lens.Lens' CreateStorageVirtualMachine (Prelude.Maybe (Prelude.NonEmpty Tag))+createStorageVirtualMachine_tags = Lens.lens (\CreateStorageVirtualMachine' {tags} -> tags) (\s@CreateStorageVirtualMachine' {} a -> s {tags = a} :: CreateStorageVirtualMachine) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+createStorageVirtualMachine_fileSystemId :: Lens.Lens' CreateStorageVirtualMachine Prelude.Text+createStorageVirtualMachine_fileSystemId = Lens.lens (\CreateStorageVirtualMachine' {fileSystemId} -> fileSystemId) (\s@CreateStorageVirtualMachine' {} a -> s {fileSystemId = a} :: CreateStorageVirtualMachine)++-- | The name of the SVM.+createStorageVirtualMachine_name :: Lens.Lens' CreateStorageVirtualMachine Prelude.Text+createStorageVirtualMachine_name = Lens.lens (\CreateStorageVirtualMachine' {name} -> name) (\s@CreateStorageVirtualMachine' {} a -> s {name = a} :: CreateStorageVirtualMachine)++instance Core.AWSRequest CreateStorageVirtualMachine where+ type+ AWSResponse CreateStorageVirtualMachine =+ CreateStorageVirtualMachineResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateStorageVirtualMachineResponse'+ Prelude.<$> (x Data..?> "StorageVirtualMachine")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateStorageVirtualMachine where+ hashWithSalt _salt CreateStorageVirtualMachine' {..} =+ _salt+ `Prelude.hashWithSalt` activeDirectoryConfiguration+ `Prelude.hashWithSalt` clientRequestToken+ `Prelude.hashWithSalt` rootVolumeSecurityStyle+ `Prelude.hashWithSalt` svmAdminPassword+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` fileSystemId+ `Prelude.hashWithSalt` name++instance Prelude.NFData CreateStorageVirtualMachine where+ rnf CreateStorageVirtualMachine' {..} =+ Prelude.rnf activeDirectoryConfiguration+ `Prelude.seq` Prelude.rnf clientRequestToken+ `Prelude.seq` Prelude.rnf rootVolumeSecurityStyle+ `Prelude.seq` Prelude.rnf svmAdminPassword+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf fileSystemId+ `Prelude.seq` Prelude.rnf name++instance Data.ToHeaders CreateStorageVirtualMachine where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSSimbaAPIService_v20180301.CreateStorageVirtualMachine" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateStorageVirtualMachine where+ toJSON CreateStorageVirtualMachine' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("ActiveDirectoryConfiguration" Data..=)+ Prelude.<$> activeDirectoryConfiguration,+ ("ClientRequestToken" Data..=)+ Prelude.<$> clientRequestToken,+ ("RootVolumeSecurityStyle" Data..=)+ Prelude.<$> rootVolumeSecurityStyle,+ ("SvmAdminPassword" Data..=)+ Prelude.<$> svmAdminPassword,+ ("Tags" Data..=) Prelude.<$> tags,+ Prelude.Just ("FileSystemId" Data..= fileSystemId),+ Prelude.Just ("Name" Data..= name)+ ]+ )++instance Data.ToPath CreateStorageVirtualMachine where+ toPath = Prelude.const "/"++instance Data.ToQuery CreateStorageVirtualMachine where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateStorageVirtualMachineResponse' smart constructor.+data CreateStorageVirtualMachineResponse = CreateStorageVirtualMachineResponse'+ { -- | Returned after a successful @CreateStorageVirtualMachine@ operation;+ -- describes the SVM just created.+ storageVirtualMachine :: Prelude.Maybe StorageVirtualMachine,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateStorageVirtualMachineResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'storageVirtualMachine', 'createStorageVirtualMachineResponse_storageVirtualMachine' - Returned after a successful @CreateStorageVirtualMachine@ operation;+-- describes the SVM just created.+--+-- 'httpStatus', 'createStorageVirtualMachineResponse_httpStatus' - The response's http status code.+newCreateStorageVirtualMachineResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateStorageVirtualMachineResponse+newCreateStorageVirtualMachineResponse pHttpStatus_ =+ CreateStorageVirtualMachineResponse'+ { storageVirtualMachine =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Returned after a successful @CreateStorageVirtualMachine@ operation;+-- describes the SVM just created.+createStorageVirtualMachineResponse_storageVirtualMachine :: Lens.Lens' CreateStorageVirtualMachineResponse (Prelude.Maybe StorageVirtualMachine)+createStorageVirtualMachineResponse_storageVirtualMachine = Lens.lens (\CreateStorageVirtualMachineResponse' {storageVirtualMachine} -> storageVirtualMachine) (\s@CreateStorageVirtualMachineResponse' {} a -> s {storageVirtualMachine = a} :: CreateStorageVirtualMachineResponse)++-- | The response's http status code.+createStorageVirtualMachineResponse_httpStatus :: Lens.Lens' CreateStorageVirtualMachineResponse Prelude.Int+createStorageVirtualMachineResponse_httpStatus = Lens.lens (\CreateStorageVirtualMachineResponse' {httpStatus} -> httpStatus) (\s@CreateStorageVirtualMachineResponse' {} a -> s {httpStatus = a} :: CreateStorageVirtualMachineResponse)++instance+ Prelude.NFData+ CreateStorageVirtualMachineResponse+ where+ rnf CreateStorageVirtualMachineResponse' {..} =+ Prelude.rnf storageVirtualMachine+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FSx/CreateVolume.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.FSx.CreateVolume+-- 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 FSx for ONTAP or Amazon FSx for OpenZFS storage volume.+module Amazonka.FSx.CreateVolume+ ( -- * Creating a Request+ CreateVolume (..),+ newCreateVolume,++ -- * Request Lenses+ createVolume_clientRequestToken,+ createVolume_ontapConfiguration,+ createVolume_openZFSConfiguration,+ createVolume_tags,+ createVolume_volumeType,+ createVolume_name,++ -- * Destructuring the Response+ CreateVolumeResponse (..),+ newCreateVolumeResponse,++ -- * Response Lenses+ createVolumeResponse_volume,+ createVolumeResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateVolume' smart constructor.+data CreateVolume = CreateVolume'+ { clientRequestToken :: Prelude.Maybe Prelude.Text,+ -- | Specifies the configuration to use when creating the ONTAP volume.+ ontapConfiguration :: Prelude.Maybe CreateOntapVolumeConfiguration,+ -- | Specifies the configuration to use when creating the OpenZFS volume.+ openZFSConfiguration :: Prelude.Maybe CreateOpenZFSVolumeConfiguration,+ tags :: Prelude.Maybe (Prelude.NonEmpty Tag),+ -- | Specifies the type of volume to create; @ONTAP@ and @OPENZFS@ are the+ -- only valid volume types.+ volumeType :: VolumeType,+ -- | Specifies the name of the volume that you\'re creating.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateVolume' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientRequestToken', 'createVolume_clientRequestToken' - Undocumented member.+--+-- 'ontapConfiguration', 'createVolume_ontapConfiguration' - Specifies the configuration to use when creating the ONTAP volume.+--+-- 'openZFSConfiguration', 'createVolume_openZFSConfiguration' - Specifies the configuration to use when creating the OpenZFS volume.+--+-- 'tags', 'createVolume_tags' - Undocumented member.+--+-- 'volumeType', 'createVolume_volumeType' - Specifies the type of volume to create; @ONTAP@ and @OPENZFS@ are the+-- only valid volume types.+--+-- 'name', 'createVolume_name' - Specifies the name of the volume that you\'re creating.+newCreateVolume ::+ -- | 'volumeType'+ VolumeType ->+ -- | 'name'+ Prelude.Text ->+ CreateVolume+newCreateVolume pVolumeType_ pName_ =+ CreateVolume'+ { clientRequestToken = Prelude.Nothing,+ ontapConfiguration = Prelude.Nothing,+ openZFSConfiguration = Prelude.Nothing,+ tags = Prelude.Nothing,+ volumeType = pVolumeType_,+ name = pName_+ }++-- | Undocumented member.+createVolume_clientRequestToken :: Lens.Lens' CreateVolume (Prelude.Maybe Prelude.Text)+createVolume_clientRequestToken = Lens.lens (\CreateVolume' {clientRequestToken} -> clientRequestToken) (\s@CreateVolume' {} a -> s {clientRequestToken = a} :: CreateVolume)++-- | Specifies the configuration to use when creating the ONTAP volume.+createVolume_ontapConfiguration :: Lens.Lens' CreateVolume (Prelude.Maybe CreateOntapVolumeConfiguration)+createVolume_ontapConfiguration = Lens.lens (\CreateVolume' {ontapConfiguration} -> ontapConfiguration) (\s@CreateVolume' {} a -> s {ontapConfiguration = a} :: CreateVolume)++-- | Specifies the configuration to use when creating the OpenZFS volume.+createVolume_openZFSConfiguration :: Lens.Lens' CreateVolume (Prelude.Maybe CreateOpenZFSVolumeConfiguration)+createVolume_openZFSConfiguration = Lens.lens (\CreateVolume' {openZFSConfiguration} -> openZFSConfiguration) (\s@CreateVolume' {} a -> s {openZFSConfiguration = a} :: CreateVolume)++-- | Undocumented member.+createVolume_tags :: Lens.Lens' CreateVolume (Prelude.Maybe (Prelude.NonEmpty Tag))+createVolume_tags = Lens.lens (\CreateVolume' {tags} -> tags) (\s@CreateVolume' {} a -> s {tags = a} :: CreateVolume) Prelude.. Lens.mapping Lens.coerced++-- | Specifies the type of volume to create; @ONTAP@ and @OPENZFS@ are the+-- only valid volume types.+createVolume_volumeType :: Lens.Lens' CreateVolume VolumeType+createVolume_volumeType = Lens.lens (\CreateVolume' {volumeType} -> volumeType) (\s@CreateVolume' {} a -> s {volumeType = a} :: CreateVolume)++-- | Specifies the name of the volume that you\'re creating.+createVolume_name :: Lens.Lens' CreateVolume Prelude.Text+createVolume_name = Lens.lens (\CreateVolume' {name} -> name) (\s@CreateVolume' {} a -> s {name = a} :: CreateVolume)++instance Core.AWSRequest CreateVolume where+ type AWSResponse CreateVolume = CreateVolumeResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateVolumeResponse'+ Prelude.<$> (x Data..?> "Volume")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateVolume where+ hashWithSalt _salt CreateVolume' {..} =+ _salt+ `Prelude.hashWithSalt` clientRequestToken+ `Prelude.hashWithSalt` ontapConfiguration+ `Prelude.hashWithSalt` openZFSConfiguration+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` volumeType+ `Prelude.hashWithSalt` name++instance Prelude.NFData CreateVolume where+ rnf CreateVolume' {..} =+ Prelude.rnf clientRequestToken+ `Prelude.seq` Prelude.rnf ontapConfiguration+ `Prelude.seq` Prelude.rnf openZFSConfiguration+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf volumeType+ `Prelude.seq` Prelude.rnf name++instance Data.ToHeaders CreateVolume where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSSimbaAPIService_v20180301.CreateVolume" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateVolume where+ toJSON CreateVolume' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("ClientRequestToken" Data..=)+ Prelude.<$> clientRequestToken,+ ("OntapConfiguration" Data..=)+ Prelude.<$> ontapConfiguration,+ ("OpenZFSConfiguration" Data..=)+ Prelude.<$> openZFSConfiguration,+ ("Tags" Data..=) Prelude.<$> tags,+ Prelude.Just ("VolumeType" Data..= volumeType),+ Prelude.Just ("Name" Data..= name)+ ]+ )++instance Data.ToPath CreateVolume where+ toPath = Prelude.const "/"++instance Data.ToQuery CreateVolume where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateVolumeResponse' smart constructor.+data CreateVolumeResponse = CreateVolumeResponse'+ { -- | Returned after a successful @CreateVolume@ API operation, describing the+ -- volume just created.+ volume :: Prelude.Maybe Volume,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateVolumeResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'volume', 'createVolumeResponse_volume' - Returned after a successful @CreateVolume@ API operation, describing the+-- volume just created.+--+-- 'httpStatus', 'createVolumeResponse_httpStatus' - The response's http status code.+newCreateVolumeResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateVolumeResponse+newCreateVolumeResponse pHttpStatus_ =+ CreateVolumeResponse'+ { volume = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Returned after a successful @CreateVolume@ API operation, describing the+-- volume just created.+createVolumeResponse_volume :: Lens.Lens' CreateVolumeResponse (Prelude.Maybe Volume)+createVolumeResponse_volume = Lens.lens (\CreateVolumeResponse' {volume} -> volume) (\s@CreateVolumeResponse' {} a -> s {volume = a} :: CreateVolumeResponse)++-- | The response's http status code.+createVolumeResponse_httpStatus :: Lens.Lens' CreateVolumeResponse Prelude.Int+createVolumeResponse_httpStatus = Lens.lens (\CreateVolumeResponse' {httpStatus} -> httpStatus) (\s@CreateVolumeResponse' {} a -> s {httpStatus = a} :: CreateVolumeResponse)++instance Prelude.NFData CreateVolumeResponse where+ rnf CreateVolumeResponse' {..} =+ Prelude.rnf volume+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FSx/CreateVolumeFromBackup.hs view
@@ -0,0 +1,234 @@+{-# 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.FSx.CreateVolumeFromBackup+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a new Amazon FSx for NetApp ONTAP volume from an existing Amazon+-- FSx volume backup.+module Amazonka.FSx.CreateVolumeFromBackup+ ( -- * Creating a Request+ CreateVolumeFromBackup (..),+ newCreateVolumeFromBackup,++ -- * Request Lenses+ createVolumeFromBackup_clientRequestToken,+ createVolumeFromBackup_ontapConfiguration,+ createVolumeFromBackup_tags,+ createVolumeFromBackup_backupId,+ createVolumeFromBackup_name,++ -- * Destructuring the Response+ CreateVolumeFromBackupResponse (..),+ newCreateVolumeFromBackupResponse,++ -- * Response Lenses+ createVolumeFromBackupResponse_volume,+ createVolumeFromBackupResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateVolumeFromBackup' smart constructor.+data CreateVolumeFromBackup = CreateVolumeFromBackup'+ { clientRequestToken :: Prelude.Maybe Prelude.Text,+ -- | Specifies the configuration of the ONTAP volume that you are creating.+ ontapConfiguration :: Prelude.Maybe CreateOntapVolumeConfiguration,+ tags :: Prelude.Maybe (Prelude.NonEmpty Tag),+ backupId :: Prelude.Text,+ -- | The name of the new volume you\'re creating.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateVolumeFromBackup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientRequestToken', 'createVolumeFromBackup_clientRequestToken' - Undocumented member.+--+-- 'ontapConfiguration', 'createVolumeFromBackup_ontapConfiguration' - Specifies the configuration of the ONTAP volume that you are creating.+--+-- 'tags', 'createVolumeFromBackup_tags' - Undocumented member.+--+-- 'backupId', 'createVolumeFromBackup_backupId' - Undocumented member.+--+-- 'name', 'createVolumeFromBackup_name' - The name of the new volume you\'re creating.+newCreateVolumeFromBackup ::+ -- | 'backupId'+ Prelude.Text ->+ -- | 'name'+ Prelude.Text ->+ CreateVolumeFromBackup+newCreateVolumeFromBackup pBackupId_ pName_ =+ CreateVolumeFromBackup'+ { clientRequestToken =+ Prelude.Nothing,+ ontapConfiguration = Prelude.Nothing,+ tags = Prelude.Nothing,+ backupId = pBackupId_,+ name = pName_+ }++-- | Undocumented member.+createVolumeFromBackup_clientRequestToken :: Lens.Lens' CreateVolumeFromBackup (Prelude.Maybe Prelude.Text)+createVolumeFromBackup_clientRequestToken = Lens.lens (\CreateVolumeFromBackup' {clientRequestToken} -> clientRequestToken) (\s@CreateVolumeFromBackup' {} a -> s {clientRequestToken = a} :: CreateVolumeFromBackup)++-- | Specifies the configuration of the ONTAP volume that you are creating.+createVolumeFromBackup_ontapConfiguration :: Lens.Lens' CreateVolumeFromBackup (Prelude.Maybe CreateOntapVolumeConfiguration)+createVolumeFromBackup_ontapConfiguration = Lens.lens (\CreateVolumeFromBackup' {ontapConfiguration} -> ontapConfiguration) (\s@CreateVolumeFromBackup' {} a -> s {ontapConfiguration = a} :: CreateVolumeFromBackup)++-- | Undocumented member.+createVolumeFromBackup_tags :: Lens.Lens' CreateVolumeFromBackup (Prelude.Maybe (Prelude.NonEmpty Tag))+createVolumeFromBackup_tags = Lens.lens (\CreateVolumeFromBackup' {tags} -> tags) (\s@CreateVolumeFromBackup' {} a -> s {tags = a} :: CreateVolumeFromBackup) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+createVolumeFromBackup_backupId :: Lens.Lens' CreateVolumeFromBackup Prelude.Text+createVolumeFromBackup_backupId = Lens.lens (\CreateVolumeFromBackup' {backupId} -> backupId) (\s@CreateVolumeFromBackup' {} a -> s {backupId = a} :: CreateVolumeFromBackup)++-- | The name of the new volume you\'re creating.+createVolumeFromBackup_name :: Lens.Lens' CreateVolumeFromBackup Prelude.Text+createVolumeFromBackup_name = Lens.lens (\CreateVolumeFromBackup' {name} -> name) (\s@CreateVolumeFromBackup' {} a -> s {name = a} :: CreateVolumeFromBackup)++instance Core.AWSRequest CreateVolumeFromBackup where+ type+ AWSResponse CreateVolumeFromBackup =+ CreateVolumeFromBackupResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateVolumeFromBackupResponse'+ Prelude.<$> (x Data..?> "Volume")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateVolumeFromBackup where+ hashWithSalt _salt CreateVolumeFromBackup' {..} =+ _salt+ `Prelude.hashWithSalt` clientRequestToken+ `Prelude.hashWithSalt` ontapConfiguration+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` backupId+ `Prelude.hashWithSalt` name++instance Prelude.NFData CreateVolumeFromBackup where+ rnf CreateVolumeFromBackup' {..} =+ Prelude.rnf clientRequestToken+ `Prelude.seq` Prelude.rnf ontapConfiguration+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf backupId+ `Prelude.seq` Prelude.rnf name++instance Data.ToHeaders CreateVolumeFromBackup where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSSimbaAPIService_v20180301.CreateVolumeFromBackup" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateVolumeFromBackup where+ toJSON CreateVolumeFromBackup' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("ClientRequestToken" Data..=)+ Prelude.<$> clientRequestToken,+ ("OntapConfiguration" Data..=)+ Prelude.<$> ontapConfiguration,+ ("Tags" Data..=) Prelude.<$> tags,+ Prelude.Just ("BackupId" Data..= backupId),+ Prelude.Just ("Name" Data..= name)+ ]+ )++instance Data.ToPath CreateVolumeFromBackup where+ toPath = Prelude.const "/"++instance Data.ToQuery CreateVolumeFromBackup where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateVolumeFromBackupResponse' smart constructor.+data CreateVolumeFromBackupResponse = CreateVolumeFromBackupResponse'+ { -- | Returned after a successful @CreateVolumeFromBackup@ API operation,+ -- describing the volume just created.+ volume :: Prelude.Maybe Volume,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateVolumeFromBackupResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'volume', 'createVolumeFromBackupResponse_volume' - Returned after a successful @CreateVolumeFromBackup@ API operation,+-- describing the volume just created.+--+-- 'httpStatus', 'createVolumeFromBackupResponse_httpStatus' - The response's http status code.+newCreateVolumeFromBackupResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateVolumeFromBackupResponse+newCreateVolumeFromBackupResponse pHttpStatus_ =+ CreateVolumeFromBackupResponse'+ { volume =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Returned after a successful @CreateVolumeFromBackup@ API operation,+-- describing the volume just created.+createVolumeFromBackupResponse_volume :: Lens.Lens' CreateVolumeFromBackupResponse (Prelude.Maybe Volume)+createVolumeFromBackupResponse_volume = Lens.lens (\CreateVolumeFromBackupResponse' {volume} -> volume) (\s@CreateVolumeFromBackupResponse' {} a -> s {volume = a} :: CreateVolumeFromBackupResponse)++-- | The response's http status code.+createVolumeFromBackupResponse_httpStatus :: Lens.Lens' CreateVolumeFromBackupResponse Prelude.Int+createVolumeFromBackupResponse_httpStatus = Lens.lens (\CreateVolumeFromBackupResponse' {httpStatus} -> httpStatus) (\s@CreateVolumeFromBackupResponse' {} a -> s {httpStatus = a} :: CreateVolumeFromBackupResponse)++instance+ Prelude.NFData+ CreateVolumeFromBackupResponse+ where+ rnf CreateVolumeFromBackupResponse' {..} =+ Prelude.rnf volume+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FSx/DeleteBackup.hs view
@@ -0,0 +1,216 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FSx.DeleteBackup+-- 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 Amazon FSx backup. After deletion, the backup no longer+-- exists, and its data is gone.+--+-- The @DeleteBackup@ call returns instantly. The backup won\'t show up in+-- later @DescribeBackups@ calls.+--+-- The data in a deleted backup is also deleted and can\'t be recovered by+-- any means.+module Amazonka.FSx.DeleteBackup+ ( -- * Creating a Request+ DeleteBackup (..),+ newDeleteBackup,++ -- * Request Lenses+ deleteBackup_clientRequestToken,+ deleteBackup_backupId,++ -- * Destructuring the Response+ DeleteBackupResponse (..),+ newDeleteBackupResponse,++ -- * Response Lenses+ deleteBackupResponse_backupId,+ deleteBackupResponse_lifecycle,+ deleteBackupResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | The request object for the @DeleteBackup@ operation.+--+-- /See:/ 'newDeleteBackup' smart constructor.+data DeleteBackup = DeleteBackup'+ { -- | A string of up to 64 ASCII characters that Amazon FSx uses to ensure+ -- idempotent deletion. This parameter is automatically filled on your+ -- behalf when using the CLI or SDK.+ clientRequestToken :: Prelude.Maybe Prelude.Text,+ -- | The ID of the backup that you want to delete.+ backupId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteBackup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientRequestToken', 'deleteBackup_clientRequestToken' - A string of up to 64 ASCII characters that Amazon FSx uses to ensure+-- idempotent deletion. This parameter is automatically filled on your+-- behalf when using the CLI or SDK.+--+-- 'backupId', 'deleteBackup_backupId' - The ID of the backup that you want to delete.+newDeleteBackup ::+ -- | 'backupId'+ Prelude.Text ->+ DeleteBackup+newDeleteBackup pBackupId_ =+ DeleteBackup'+ { clientRequestToken = Prelude.Nothing,+ backupId = pBackupId_+ }++-- | A string of up to 64 ASCII characters that Amazon FSx uses to ensure+-- idempotent deletion. This parameter is automatically filled on your+-- behalf when using the CLI or SDK.+deleteBackup_clientRequestToken :: Lens.Lens' DeleteBackup (Prelude.Maybe Prelude.Text)+deleteBackup_clientRequestToken = Lens.lens (\DeleteBackup' {clientRequestToken} -> clientRequestToken) (\s@DeleteBackup' {} a -> s {clientRequestToken = a} :: DeleteBackup)++-- | The ID of the backup that you want to delete.+deleteBackup_backupId :: Lens.Lens' DeleteBackup Prelude.Text+deleteBackup_backupId = Lens.lens (\DeleteBackup' {backupId} -> backupId) (\s@DeleteBackup' {} a -> s {backupId = a} :: DeleteBackup)++instance Core.AWSRequest DeleteBackup where+ type AWSResponse DeleteBackup = DeleteBackupResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DeleteBackupResponse'+ Prelude.<$> (x Data..?> "BackupId")+ Prelude.<*> (x Data..?> "Lifecycle")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteBackup where+ hashWithSalt _salt DeleteBackup' {..} =+ _salt+ `Prelude.hashWithSalt` clientRequestToken+ `Prelude.hashWithSalt` backupId++instance Prelude.NFData DeleteBackup where+ rnf DeleteBackup' {..} =+ Prelude.rnf clientRequestToken+ `Prelude.seq` Prelude.rnf backupId++instance Data.ToHeaders DeleteBackup where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSSimbaAPIService_v20180301.DeleteBackup" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DeleteBackup where+ toJSON DeleteBackup' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("ClientRequestToken" Data..=)+ Prelude.<$> clientRequestToken,+ Prelude.Just ("BackupId" Data..= backupId)+ ]+ )++instance Data.ToPath DeleteBackup where+ toPath = Prelude.const "/"++instance Data.ToQuery DeleteBackup where+ toQuery = Prelude.const Prelude.mempty++-- | The response object for the @DeleteBackup@ operation.+--+-- /See:/ 'newDeleteBackupResponse' smart constructor.+data DeleteBackupResponse = DeleteBackupResponse'+ { -- | The ID of the backup that was deleted.+ backupId :: Prelude.Maybe Prelude.Text,+ -- | The lifecycle status of the backup. If the @DeleteBackup@ operation is+ -- successful, the status is @DELETED@.+ lifecycle :: Prelude.Maybe BackupLifecycle,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteBackupResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'backupId', 'deleteBackupResponse_backupId' - The ID of the backup that was deleted.+--+-- 'lifecycle', 'deleteBackupResponse_lifecycle' - The lifecycle status of the backup. If the @DeleteBackup@ operation is+-- successful, the status is @DELETED@.+--+-- 'httpStatus', 'deleteBackupResponse_httpStatus' - The response's http status code.+newDeleteBackupResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteBackupResponse+newDeleteBackupResponse pHttpStatus_ =+ DeleteBackupResponse'+ { backupId = Prelude.Nothing,+ lifecycle = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The ID of the backup that was deleted.+deleteBackupResponse_backupId :: Lens.Lens' DeleteBackupResponse (Prelude.Maybe Prelude.Text)+deleteBackupResponse_backupId = Lens.lens (\DeleteBackupResponse' {backupId} -> backupId) (\s@DeleteBackupResponse' {} a -> s {backupId = a} :: DeleteBackupResponse)++-- | The lifecycle status of the backup. If the @DeleteBackup@ operation is+-- successful, the status is @DELETED@.+deleteBackupResponse_lifecycle :: Lens.Lens' DeleteBackupResponse (Prelude.Maybe BackupLifecycle)+deleteBackupResponse_lifecycle = Lens.lens (\DeleteBackupResponse' {lifecycle} -> lifecycle) (\s@DeleteBackupResponse' {} a -> s {lifecycle = a} :: DeleteBackupResponse)++-- | The response's http status code.+deleteBackupResponse_httpStatus :: Lens.Lens' DeleteBackupResponse Prelude.Int+deleteBackupResponse_httpStatus = Lens.lens (\DeleteBackupResponse' {httpStatus} -> httpStatus) (\s@DeleteBackupResponse' {} a -> s {httpStatus = a} :: DeleteBackupResponse)++instance Prelude.NFData DeleteBackupResponse where+ rnf DeleteBackupResponse' {..} =+ Prelude.rnf backupId+ `Prelude.seq` Prelude.rnf lifecycle+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FSx/DeleteDataRepositoryAssociation.hs view
@@ -0,0 +1,260 @@+{-# 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.FSx.DeleteDataRepositoryAssociation+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a data repository association on an Amazon FSx for Lustre file+-- system. Deleting the data repository association unlinks the file system+-- from the Amazon S3 bucket. When deleting a data repository association,+-- you have the option of deleting the data in the file system that+-- corresponds to the data repository association. Data repository+-- associations are supported only for file systems with the @Persistent_2@+-- deployment type.+module Amazonka.FSx.DeleteDataRepositoryAssociation+ ( -- * Creating a Request+ DeleteDataRepositoryAssociation (..),+ newDeleteDataRepositoryAssociation,++ -- * Request Lenses+ deleteDataRepositoryAssociation_clientRequestToken,+ deleteDataRepositoryAssociation_deleteDataInFileSystem,+ deleteDataRepositoryAssociation_associationId,++ -- * Destructuring the Response+ DeleteDataRepositoryAssociationResponse (..),+ newDeleteDataRepositoryAssociationResponse,++ -- * Response Lenses+ deleteDataRepositoryAssociationResponse_associationId,+ deleteDataRepositoryAssociationResponse_deleteDataInFileSystem,+ deleteDataRepositoryAssociationResponse_lifecycle,+ deleteDataRepositoryAssociationResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteDataRepositoryAssociation' smart constructor.+data DeleteDataRepositoryAssociation = DeleteDataRepositoryAssociation'+ { clientRequestToken :: Prelude.Maybe Prelude.Text,+ -- | Set to @true@ to delete the data in the file system that corresponds to+ -- the data repository association.+ deleteDataInFileSystem :: Prelude.Maybe Prelude.Bool,+ -- | The ID of the data repository association that you want to delete.+ associationId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteDataRepositoryAssociation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientRequestToken', 'deleteDataRepositoryAssociation_clientRequestToken' - Undocumented member.+--+-- 'deleteDataInFileSystem', 'deleteDataRepositoryAssociation_deleteDataInFileSystem' - Set to @true@ to delete the data in the file system that corresponds to+-- the data repository association.+--+-- 'associationId', 'deleteDataRepositoryAssociation_associationId' - The ID of the data repository association that you want to delete.+newDeleteDataRepositoryAssociation ::+ -- | 'associationId'+ Prelude.Text ->+ DeleteDataRepositoryAssociation+newDeleteDataRepositoryAssociation pAssociationId_ =+ DeleteDataRepositoryAssociation'+ { clientRequestToken =+ Prelude.Nothing,+ deleteDataInFileSystem = Prelude.Nothing,+ associationId = pAssociationId_+ }++-- | Undocumented member.+deleteDataRepositoryAssociation_clientRequestToken :: Lens.Lens' DeleteDataRepositoryAssociation (Prelude.Maybe Prelude.Text)+deleteDataRepositoryAssociation_clientRequestToken = Lens.lens (\DeleteDataRepositoryAssociation' {clientRequestToken} -> clientRequestToken) (\s@DeleteDataRepositoryAssociation' {} a -> s {clientRequestToken = a} :: DeleteDataRepositoryAssociation)++-- | Set to @true@ to delete the data in the file system that corresponds to+-- the data repository association.+deleteDataRepositoryAssociation_deleteDataInFileSystem :: Lens.Lens' DeleteDataRepositoryAssociation (Prelude.Maybe Prelude.Bool)+deleteDataRepositoryAssociation_deleteDataInFileSystem = Lens.lens (\DeleteDataRepositoryAssociation' {deleteDataInFileSystem} -> deleteDataInFileSystem) (\s@DeleteDataRepositoryAssociation' {} a -> s {deleteDataInFileSystem = a} :: DeleteDataRepositoryAssociation)++-- | The ID of the data repository association that you want to delete.+deleteDataRepositoryAssociation_associationId :: Lens.Lens' DeleteDataRepositoryAssociation Prelude.Text+deleteDataRepositoryAssociation_associationId = Lens.lens (\DeleteDataRepositoryAssociation' {associationId} -> associationId) (\s@DeleteDataRepositoryAssociation' {} a -> s {associationId = a} :: DeleteDataRepositoryAssociation)++instance+ Core.AWSRequest+ DeleteDataRepositoryAssociation+ where+ type+ AWSResponse DeleteDataRepositoryAssociation =+ DeleteDataRepositoryAssociationResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DeleteDataRepositoryAssociationResponse'+ Prelude.<$> (x Data..?> "AssociationId")+ Prelude.<*> (x Data..?> "DeleteDataInFileSystem")+ Prelude.<*> (x Data..?> "Lifecycle")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ DeleteDataRepositoryAssociation+ where+ hashWithSalt+ _salt+ DeleteDataRepositoryAssociation' {..} =+ _salt+ `Prelude.hashWithSalt` clientRequestToken+ `Prelude.hashWithSalt` deleteDataInFileSystem+ `Prelude.hashWithSalt` associationId++instance+ Prelude.NFData+ DeleteDataRepositoryAssociation+ where+ rnf DeleteDataRepositoryAssociation' {..} =+ Prelude.rnf clientRequestToken+ `Prelude.seq` Prelude.rnf deleteDataInFileSystem+ `Prelude.seq` Prelude.rnf associationId++instance+ Data.ToHeaders+ DeleteDataRepositoryAssociation+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSSimbaAPIService_v20180301.DeleteDataRepositoryAssociation" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DeleteDataRepositoryAssociation where+ toJSON DeleteDataRepositoryAssociation' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("ClientRequestToken" Data..=)+ Prelude.<$> clientRequestToken,+ ("DeleteDataInFileSystem" Data..=)+ Prelude.<$> deleteDataInFileSystem,+ Prelude.Just+ ("AssociationId" Data..= associationId)+ ]+ )++instance Data.ToPath DeleteDataRepositoryAssociation where+ toPath = Prelude.const "/"++instance Data.ToQuery DeleteDataRepositoryAssociation where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteDataRepositoryAssociationResponse' smart constructor.+data DeleteDataRepositoryAssociationResponse = DeleteDataRepositoryAssociationResponse'+ { -- | The ID of the data repository association being deleted.+ associationId :: Prelude.Maybe Prelude.Text,+ -- | Indicates whether data in the file system that corresponds to the data+ -- repository association is being deleted. Default is @false@.+ deleteDataInFileSystem :: Prelude.Maybe Prelude.Bool,+ -- | Describes the lifecycle state of the data repository association being+ -- deleted.+ lifecycle :: Prelude.Maybe DataRepositoryLifecycle,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteDataRepositoryAssociationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'associationId', 'deleteDataRepositoryAssociationResponse_associationId' - The ID of the data repository association being deleted.+--+-- 'deleteDataInFileSystem', 'deleteDataRepositoryAssociationResponse_deleteDataInFileSystem' - Indicates whether data in the file system that corresponds to the data+-- repository association is being deleted. Default is @false@.+--+-- 'lifecycle', 'deleteDataRepositoryAssociationResponse_lifecycle' - Describes the lifecycle state of the data repository association being+-- deleted.+--+-- 'httpStatus', 'deleteDataRepositoryAssociationResponse_httpStatus' - The response's http status code.+newDeleteDataRepositoryAssociationResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteDataRepositoryAssociationResponse+newDeleteDataRepositoryAssociationResponse+ pHttpStatus_ =+ DeleteDataRepositoryAssociationResponse'+ { associationId =+ Prelude.Nothing,+ deleteDataInFileSystem =+ Prelude.Nothing,+ lifecycle = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The ID of the data repository association being deleted.+deleteDataRepositoryAssociationResponse_associationId :: Lens.Lens' DeleteDataRepositoryAssociationResponse (Prelude.Maybe Prelude.Text)+deleteDataRepositoryAssociationResponse_associationId = Lens.lens (\DeleteDataRepositoryAssociationResponse' {associationId} -> associationId) (\s@DeleteDataRepositoryAssociationResponse' {} a -> s {associationId = a} :: DeleteDataRepositoryAssociationResponse)++-- | Indicates whether data in the file system that corresponds to the data+-- repository association is being deleted. Default is @false@.+deleteDataRepositoryAssociationResponse_deleteDataInFileSystem :: Lens.Lens' DeleteDataRepositoryAssociationResponse (Prelude.Maybe Prelude.Bool)+deleteDataRepositoryAssociationResponse_deleteDataInFileSystem = Lens.lens (\DeleteDataRepositoryAssociationResponse' {deleteDataInFileSystem} -> deleteDataInFileSystem) (\s@DeleteDataRepositoryAssociationResponse' {} a -> s {deleteDataInFileSystem = a} :: DeleteDataRepositoryAssociationResponse)++-- | Describes the lifecycle state of the data repository association being+-- deleted.+deleteDataRepositoryAssociationResponse_lifecycle :: Lens.Lens' DeleteDataRepositoryAssociationResponse (Prelude.Maybe DataRepositoryLifecycle)+deleteDataRepositoryAssociationResponse_lifecycle = Lens.lens (\DeleteDataRepositoryAssociationResponse' {lifecycle} -> lifecycle) (\s@DeleteDataRepositoryAssociationResponse' {} a -> s {lifecycle = a} :: DeleteDataRepositoryAssociationResponse)++-- | The response's http status code.+deleteDataRepositoryAssociationResponse_httpStatus :: Lens.Lens' DeleteDataRepositoryAssociationResponse Prelude.Int+deleteDataRepositoryAssociationResponse_httpStatus = Lens.lens (\DeleteDataRepositoryAssociationResponse' {httpStatus} -> httpStatus) (\s@DeleteDataRepositoryAssociationResponse' {} a -> s {httpStatus = a} :: DeleteDataRepositoryAssociationResponse)++instance+ Prelude.NFData+ DeleteDataRepositoryAssociationResponse+ where+ rnf DeleteDataRepositoryAssociationResponse' {..} =+ Prelude.rnf associationId+ `Prelude.seq` Prelude.rnf deleteDataInFileSystem+ `Prelude.seq` Prelude.rnf lifecycle+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FSx/DeleteFileCache.hs view
@@ -0,0 +1,214 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FSx.DeleteFileCache+-- 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 Amazon File Cache resource. After deletion, the cache no+-- longer exists, and its data is gone.+--+-- The @DeleteFileCache@ operation returns while the cache has the+-- @DELETING@ status. You can check the cache deletion status by calling+-- the+-- <https://docs.aws.amazon.com/fsx/latest/APIReference/API_DescribeFileCaches.html DescribeFileCaches>+-- operation, which returns a list of caches in your account. If you pass+-- the cache ID for a deleted cache, the @DescribeFileCaches@ operation+-- returns a @FileCacheNotFound@ error.+--+-- The data in a deleted cache is also deleted and can\'t be recovered by+-- any means.+module Amazonka.FSx.DeleteFileCache+ ( -- * Creating a Request+ DeleteFileCache (..),+ newDeleteFileCache,++ -- * Request Lenses+ deleteFileCache_clientRequestToken,+ deleteFileCache_fileCacheId,++ -- * Destructuring the Response+ DeleteFileCacheResponse (..),+ newDeleteFileCacheResponse,++ -- * Response Lenses+ deleteFileCacheResponse_fileCacheId,+ deleteFileCacheResponse_lifecycle,+ deleteFileCacheResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteFileCache' smart constructor.+data DeleteFileCache = DeleteFileCache'+ { clientRequestToken :: Prelude.Maybe Prelude.Text,+ -- | The ID of the cache that\'s being deleted.+ fileCacheId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteFileCache' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientRequestToken', 'deleteFileCache_clientRequestToken' - Undocumented member.+--+-- 'fileCacheId', 'deleteFileCache_fileCacheId' - The ID of the cache that\'s being deleted.+newDeleteFileCache ::+ -- | 'fileCacheId'+ Prelude.Text ->+ DeleteFileCache+newDeleteFileCache pFileCacheId_ =+ DeleteFileCache'+ { clientRequestToken =+ Prelude.Nothing,+ fileCacheId = pFileCacheId_+ }++-- | Undocumented member.+deleteFileCache_clientRequestToken :: Lens.Lens' DeleteFileCache (Prelude.Maybe Prelude.Text)+deleteFileCache_clientRequestToken = Lens.lens (\DeleteFileCache' {clientRequestToken} -> clientRequestToken) (\s@DeleteFileCache' {} a -> s {clientRequestToken = a} :: DeleteFileCache)++-- | The ID of the cache that\'s being deleted.+deleteFileCache_fileCacheId :: Lens.Lens' DeleteFileCache Prelude.Text+deleteFileCache_fileCacheId = Lens.lens (\DeleteFileCache' {fileCacheId} -> fileCacheId) (\s@DeleteFileCache' {} a -> s {fileCacheId = a} :: DeleteFileCache)++instance Core.AWSRequest DeleteFileCache where+ type+ AWSResponse DeleteFileCache =+ DeleteFileCacheResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DeleteFileCacheResponse'+ Prelude.<$> (x Data..?> "FileCacheId")+ Prelude.<*> (x Data..?> "Lifecycle")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteFileCache where+ hashWithSalt _salt DeleteFileCache' {..} =+ _salt+ `Prelude.hashWithSalt` clientRequestToken+ `Prelude.hashWithSalt` fileCacheId++instance Prelude.NFData DeleteFileCache where+ rnf DeleteFileCache' {..} =+ Prelude.rnf clientRequestToken+ `Prelude.seq` Prelude.rnf fileCacheId++instance Data.ToHeaders DeleteFileCache where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSSimbaAPIService_v20180301.DeleteFileCache" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DeleteFileCache where+ toJSON DeleteFileCache' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("ClientRequestToken" Data..=)+ Prelude.<$> clientRequestToken,+ Prelude.Just ("FileCacheId" Data..= fileCacheId)+ ]+ )++instance Data.ToPath DeleteFileCache where+ toPath = Prelude.const "/"++instance Data.ToQuery DeleteFileCache where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteFileCacheResponse' smart constructor.+data DeleteFileCacheResponse = DeleteFileCacheResponse'+ { -- | The ID of the cache that\'s being deleted.+ fileCacheId :: Prelude.Maybe Prelude.Text,+ -- | The cache lifecycle for the deletion request. If the @DeleteFileCache@+ -- operation is successful, this status is @DELETING@.+ lifecycle :: Prelude.Maybe FileCacheLifecycle,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteFileCacheResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fileCacheId', 'deleteFileCacheResponse_fileCacheId' - The ID of the cache that\'s being deleted.+--+-- 'lifecycle', 'deleteFileCacheResponse_lifecycle' - The cache lifecycle for the deletion request. If the @DeleteFileCache@+-- operation is successful, this status is @DELETING@.+--+-- 'httpStatus', 'deleteFileCacheResponse_httpStatus' - The response's http status code.+newDeleteFileCacheResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteFileCacheResponse+newDeleteFileCacheResponse pHttpStatus_ =+ DeleteFileCacheResponse'+ { fileCacheId =+ Prelude.Nothing,+ lifecycle = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The ID of the cache that\'s being deleted.+deleteFileCacheResponse_fileCacheId :: Lens.Lens' DeleteFileCacheResponse (Prelude.Maybe Prelude.Text)+deleteFileCacheResponse_fileCacheId = Lens.lens (\DeleteFileCacheResponse' {fileCacheId} -> fileCacheId) (\s@DeleteFileCacheResponse' {} a -> s {fileCacheId = a} :: DeleteFileCacheResponse)++-- | The cache lifecycle for the deletion request. If the @DeleteFileCache@+-- operation is successful, this status is @DELETING@.+deleteFileCacheResponse_lifecycle :: Lens.Lens' DeleteFileCacheResponse (Prelude.Maybe FileCacheLifecycle)+deleteFileCacheResponse_lifecycle = Lens.lens (\DeleteFileCacheResponse' {lifecycle} -> lifecycle) (\s@DeleteFileCacheResponse' {} a -> s {lifecycle = a} :: DeleteFileCacheResponse)++-- | The response's http status code.+deleteFileCacheResponse_httpStatus :: Lens.Lens' DeleteFileCacheResponse Prelude.Int+deleteFileCacheResponse_httpStatus = Lens.lens (\DeleteFileCacheResponse' {httpStatus} -> httpStatus) (\s@DeleteFileCacheResponse' {} a -> s {httpStatus = a} :: DeleteFileCacheResponse)++instance Prelude.NFData DeleteFileCacheResponse where+ rnf DeleteFileCacheResponse' {..} =+ Prelude.rnf fileCacheId+ `Prelude.seq` Prelude.rnf lifecycle+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FSx/DeleteFileSystem.hs view
@@ -0,0 +1,322 @@+{-# 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.FSx.DeleteFileSystem+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a file system. After deletion, the file system no longer exists,+-- and its data is gone. Any existing automatic backups and snapshots are+-- also deleted.+--+-- To delete an Amazon FSx for NetApp ONTAP file system, first delete all+-- the volumes and storage virtual machines (SVMs) on the file system. Then+-- provide a @FileSystemId@ value to the @DeleFileSystem@ operation.+--+-- By default, when you delete an Amazon FSx for Windows File Server file+-- system, a final backup is created upon deletion. This final backup+-- isn\'t subject to the file system\'s retention policy, and must be+-- manually deleted.+--+-- The @DeleteFileSystem@ operation returns while the file system has the+-- @DELETING@ status. You can check the file system deletion status by+-- calling the+-- <https://docs.aws.amazon.com/fsx/latest/APIReference/API_DescribeFileSystems.html DescribeFileSystems>+-- operation, which returns a list of file systems in your account. If you+-- pass the file system ID for a deleted file system, the+-- @DescribeFileSystems@ operation returns a @FileSystemNotFound@ error.+--+-- If a data repository task is in a @PENDING@ or @EXECUTING@ state,+-- deleting an Amazon FSx for Lustre file system will fail with an HTTP+-- status code 400 (Bad Request).+--+-- The data in a deleted file system is also deleted and can\'t be+-- recovered by any means.+module Amazonka.FSx.DeleteFileSystem+ ( -- * Creating a Request+ DeleteFileSystem (..),+ newDeleteFileSystem,++ -- * Request Lenses+ deleteFileSystem_clientRequestToken,+ deleteFileSystem_lustreConfiguration,+ deleteFileSystem_openZFSConfiguration,+ deleteFileSystem_windowsConfiguration,+ deleteFileSystem_fileSystemId,++ -- * Destructuring the Response+ DeleteFileSystemResponse (..),+ newDeleteFileSystemResponse,++ -- * Response Lenses+ deleteFileSystemResponse_fileSystemId,+ deleteFileSystemResponse_lifecycle,+ deleteFileSystemResponse_lustreResponse,+ deleteFileSystemResponse_openZFSResponse,+ deleteFileSystemResponse_windowsResponse,+ deleteFileSystemResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | The request object for @DeleteFileSystem@ operation.+--+-- /See:/ 'newDeleteFileSystem' smart constructor.+data DeleteFileSystem = DeleteFileSystem'+ { -- | A string of up to 64 ASCII characters that Amazon FSx uses to ensure+ -- idempotent deletion. This token is automatically filled on your behalf+ -- when using the Command Line Interface (CLI) or an Amazon Web Services+ -- SDK.+ clientRequestToken :: Prelude.Maybe Prelude.Text,+ lustreConfiguration :: Prelude.Maybe DeleteFileSystemLustreConfiguration,+ -- | The configuration object for the OpenZFS file system used in the+ -- @DeleteFileSystem@ operation.+ openZFSConfiguration :: Prelude.Maybe DeleteFileSystemOpenZFSConfiguration,+ windowsConfiguration :: Prelude.Maybe DeleteFileSystemWindowsConfiguration,+ -- | The ID of the file system that you want to delete.+ fileSystemId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteFileSystem' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientRequestToken', 'deleteFileSystem_clientRequestToken' - A string of up to 64 ASCII characters that Amazon FSx uses to ensure+-- idempotent deletion. This token is automatically filled on your behalf+-- when using the Command Line Interface (CLI) or an Amazon Web Services+-- SDK.+--+-- 'lustreConfiguration', 'deleteFileSystem_lustreConfiguration' - Undocumented member.+--+-- 'openZFSConfiguration', 'deleteFileSystem_openZFSConfiguration' - The configuration object for the OpenZFS file system used in the+-- @DeleteFileSystem@ operation.+--+-- 'windowsConfiguration', 'deleteFileSystem_windowsConfiguration' - Undocumented member.+--+-- 'fileSystemId', 'deleteFileSystem_fileSystemId' - The ID of the file system that you want to delete.+newDeleteFileSystem ::+ -- | 'fileSystemId'+ Prelude.Text ->+ DeleteFileSystem+newDeleteFileSystem pFileSystemId_ =+ DeleteFileSystem'+ { clientRequestToken =+ Prelude.Nothing,+ lustreConfiguration = Prelude.Nothing,+ openZFSConfiguration = Prelude.Nothing,+ windowsConfiguration = Prelude.Nothing,+ fileSystemId = pFileSystemId_+ }++-- | A string of up to 64 ASCII characters that Amazon FSx uses to ensure+-- idempotent deletion. This token is automatically filled on your behalf+-- when using the Command Line Interface (CLI) or an Amazon Web Services+-- SDK.+deleteFileSystem_clientRequestToken :: Lens.Lens' DeleteFileSystem (Prelude.Maybe Prelude.Text)+deleteFileSystem_clientRequestToken = Lens.lens (\DeleteFileSystem' {clientRequestToken} -> clientRequestToken) (\s@DeleteFileSystem' {} a -> s {clientRequestToken = a} :: DeleteFileSystem)++-- | Undocumented member.+deleteFileSystem_lustreConfiguration :: Lens.Lens' DeleteFileSystem (Prelude.Maybe DeleteFileSystemLustreConfiguration)+deleteFileSystem_lustreConfiguration = Lens.lens (\DeleteFileSystem' {lustreConfiguration} -> lustreConfiguration) (\s@DeleteFileSystem' {} a -> s {lustreConfiguration = a} :: DeleteFileSystem)++-- | The configuration object for the OpenZFS file system used in the+-- @DeleteFileSystem@ operation.+deleteFileSystem_openZFSConfiguration :: Lens.Lens' DeleteFileSystem (Prelude.Maybe DeleteFileSystemOpenZFSConfiguration)+deleteFileSystem_openZFSConfiguration = Lens.lens (\DeleteFileSystem' {openZFSConfiguration} -> openZFSConfiguration) (\s@DeleteFileSystem' {} a -> s {openZFSConfiguration = a} :: DeleteFileSystem)++-- | Undocumented member.+deleteFileSystem_windowsConfiguration :: Lens.Lens' DeleteFileSystem (Prelude.Maybe DeleteFileSystemWindowsConfiguration)+deleteFileSystem_windowsConfiguration = Lens.lens (\DeleteFileSystem' {windowsConfiguration} -> windowsConfiguration) (\s@DeleteFileSystem' {} a -> s {windowsConfiguration = a} :: DeleteFileSystem)++-- | The ID of the file system that you want to delete.+deleteFileSystem_fileSystemId :: Lens.Lens' DeleteFileSystem Prelude.Text+deleteFileSystem_fileSystemId = Lens.lens (\DeleteFileSystem' {fileSystemId} -> fileSystemId) (\s@DeleteFileSystem' {} a -> s {fileSystemId = a} :: DeleteFileSystem)++instance Core.AWSRequest DeleteFileSystem where+ type+ AWSResponse DeleteFileSystem =+ DeleteFileSystemResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DeleteFileSystemResponse'+ Prelude.<$> (x Data..?> "FileSystemId")+ Prelude.<*> (x Data..?> "Lifecycle")+ Prelude.<*> (x Data..?> "LustreResponse")+ Prelude.<*> (x Data..?> "OpenZFSResponse")+ Prelude.<*> (x Data..?> "WindowsResponse")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteFileSystem where+ hashWithSalt _salt DeleteFileSystem' {..} =+ _salt+ `Prelude.hashWithSalt` clientRequestToken+ `Prelude.hashWithSalt` lustreConfiguration+ `Prelude.hashWithSalt` openZFSConfiguration+ `Prelude.hashWithSalt` windowsConfiguration+ `Prelude.hashWithSalt` fileSystemId++instance Prelude.NFData DeleteFileSystem where+ rnf DeleteFileSystem' {..} =+ Prelude.rnf clientRequestToken+ `Prelude.seq` Prelude.rnf lustreConfiguration+ `Prelude.seq` Prelude.rnf openZFSConfiguration+ `Prelude.seq` Prelude.rnf windowsConfiguration+ `Prelude.seq` Prelude.rnf fileSystemId++instance Data.ToHeaders DeleteFileSystem where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSSimbaAPIService_v20180301.DeleteFileSystem" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DeleteFileSystem where+ toJSON DeleteFileSystem' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("ClientRequestToken" Data..=)+ Prelude.<$> clientRequestToken,+ ("LustreConfiguration" Data..=)+ Prelude.<$> lustreConfiguration,+ ("OpenZFSConfiguration" Data..=)+ Prelude.<$> openZFSConfiguration,+ ("WindowsConfiguration" Data..=)+ Prelude.<$> windowsConfiguration,+ Prelude.Just ("FileSystemId" Data..= fileSystemId)+ ]+ )++instance Data.ToPath DeleteFileSystem where+ toPath = Prelude.const "/"++instance Data.ToQuery DeleteFileSystem where+ toQuery = Prelude.const Prelude.mempty++-- | The response object for the @DeleteFileSystem@ operation.+--+-- /See:/ 'newDeleteFileSystemResponse' smart constructor.+data DeleteFileSystemResponse = DeleteFileSystemResponse'+ { -- | The ID of the file system that\'s being deleted.+ fileSystemId :: Prelude.Maybe Prelude.Text,+ -- | The file system lifecycle for the deletion request. If the+ -- @DeleteFileSystem@ operation is successful, this status is @DELETING@.+ lifecycle :: Prelude.Maybe FileSystemLifecycle,+ lustreResponse :: Prelude.Maybe DeleteFileSystemLustreResponse,+ -- | The response object for the OpenZFS file system that\'s being deleted in+ -- the @DeleteFileSystem@ operation.+ openZFSResponse :: Prelude.Maybe DeleteFileSystemOpenZFSResponse,+ windowsResponse :: Prelude.Maybe DeleteFileSystemWindowsResponse,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteFileSystemResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fileSystemId', 'deleteFileSystemResponse_fileSystemId' - The ID of the file system that\'s being deleted.+--+-- 'lifecycle', 'deleteFileSystemResponse_lifecycle' - The file system lifecycle for the deletion request. If the+-- @DeleteFileSystem@ operation is successful, this status is @DELETING@.+--+-- 'lustreResponse', 'deleteFileSystemResponse_lustreResponse' - Undocumented member.+--+-- 'openZFSResponse', 'deleteFileSystemResponse_openZFSResponse' - The response object for the OpenZFS file system that\'s being deleted in+-- the @DeleteFileSystem@ operation.+--+-- 'windowsResponse', 'deleteFileSystemResponse_windowsResponse' - Undocumented member.+--+-- 'httpStatus', 'deleteFileSystemResponse_httpStatus' - The response's http status code.+newDeleteFileSystemResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteFileSystemResponse+newDeleteFileSystemResponse pHttpStatus_ =+ DeleteFileSystemResponse'+ { fileSystemId =+ Prelude.Nothing,+ lifecycle = Prelude.Nothing,+ lustreResponse = Prelude.Nothing,+ openZFSResponse = Prelude.Nothing,+ windowsResponse = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The ID of the file system that\'s being deleted.+deleteFileSystemResponse_fileSystemId :: Lens.Lens' DeleteFileSystemResponse (Prelude.Maybe Prelude.Text)+deleteFileSystemResponse_fileSystemId = Lens.lens (\DeleteFileSystemResponse' {fileSystemId} -> fileSystemId) (\s@DeleteFileSystemResponse' {} a -> s {fileSystemId = a} :: DeleteFileSystemResponse)++-- | The file system lifecycle for the deletion request. If the+-- @DeleteFileSystem@ operation is successful, this status is @DELETING@.+deleteFileSystemResponse_lifecycle :: Lens.Lens' DeleteFileSystemResponse (Prelude.Maybe FileSystemLifecycle)+deleteFileSystemResponse_lifecycle = Lens.lens (\DeleteFileSystemResponse' {lifecycle} -> lifecycle) (\s@DeleteFileSystemResponse' {} a -> s {lifecycle = a} :: DeleteFileSystemResponse)++-- | Undocumented member.+deleteFileSystemResponse_lustreResponse :: Lens.Lens' DeleteFileSystemResponse (Prelude.Maybe DeleteFileSystemLustreResponse)+deleteFileSystemResponse_lustreResponse = Lens.lens (\DeleteFileSystemResponse' {lustreResponse} -> lustreResponse) (\s@DeleteFileSystemResponse' {} a -> s {lustreResponse = a} :: DeleteFileSystemResponse)++-- | The response object for the OpenZFS file system that\'s being deleted in+-- the @DeleteFileSystem@ operation.+deleteFileSystemResponse_openZFSResponse :: Lens.Lens' DeleteFileSystemResponse (Prelude.Maybe DeleteFileSystemOpenZFSResponse)+deleteFileSystemResponse_openZFSResponse = Lens.lens (\DeleteFileSystemResponse' {openZFSResponse} -> openZFSResponse) (\s@DeleteFileSystemResponse' {} a -> s {openZFSResponse = a} :: DeleteFileSystemResponse)++-- | Undocumented member.+deleteFileSystemResponse_windowsResponse :: Lens.Lens' DeleteFileSystemResponse (Prelude.Maybe DeleteFileSystemWindowsResponse)+deleteFileSystemResponse_windowsResponse = Lens.lens (\DeleteFileSystemResponse' {windowsResponse} -> windowsResponse) (\s@DeleteFileSystemResponse' {} a -> s {windowsResponse = a} :: DeleteFileSystemResponse)++-- | The response's http status code.+deleteFileSystemResponse_httpStatus :: Lens.Lens' DeleteFileSystemResponse Prelude.Int+deleteFileSystemResponse_httpStatus = Lens.lens (\DeleteFileSystemResponse' {httpStatus} -> httpStatus) (\s@DeleteFileSystemResponse' {} a -> s {httpStatus = a} :: DeleteFileSystemResponse)++instance Prelude.NFData DeleteFileSystemResponse where+ rnf DeleteFileSystemResponse' {..} =+ Prelude.rnf fileSystemId+ `Prelude.seq` Prelude.rnf lifecycle+ `Prelude.seq` Prelude.rnf lustreResponse+ `Prelude.seq` Prelude.rnf openZFSResponse+ `Prelude.seq` Prelude.rnf windowsResponse+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FSx/DeleteSnapshot.hs view
@@ -0,0 +1,207 @@+{-# 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.FSx.DeleteSnapshot+-- 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 Amazon FSx for OpenZFS snapshot. After deletion, the snapshot+-- no longer exists, and its data is gone. Deleting a snapshot doesn\'t+-- affect snapshots stored in a file system backup.+--+-- The @DeleteSnapshot@ operation returns instantly. The snapshot appears+-- with the lifecycle status of @DELETING@ until the deletion is complete.+module Amazonka.FSx.DeleteSnapshot+ ( -- * Creating a Request+ DeleteSnapshot (..),+ newDeleteSnapshot,++ -- * Request Lenses+ deleteSnapshot_clientRequestToken,+ deleteSnapshot_snapshotId,++ -- * Destructuring the Response+ DeleteSnapshotResponse (..),+ newDeleteSnapshotResponse,++ -- * Response Lenses+ deleteSnapshotResponse_lifecycle,+ deleteSnapshotResponse_snapshotId,+ deleteSnapshotResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteSnapshot' smart constructor.+data DeleteSnapshot = DeleteSnapshot'+ { clientRequestToken :: Prelude.Maybe Prelude.Text,+ -- | The ID of the snapshot that you want to delete.+ snapshotId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteSnapshot' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientRequestToken', 'deleteSnapshot_clientRequestToken' - Undocumented member.+--+-- 'snapshotId', 'deleteSnapshot_snapshotId' - The ID of the snapshot that you want to delete.+newDeleteSnapshot ::+ -- | 'snapshotId'+ Prelude.Text ->+ DeleteSnapshot+newDeleteSnapshot pSnapshotId_ =+ DeleteSnapshot'+ { clientRequestToken =+ Prelude.Nothing,+ snapshotId = pSnapshotId_+ }++-- | Undocumented member.+deleteSnapshot_clientRequestToken :: Lens.Lens' DeleteSnapshot (Prelude.Maybe Prelude.Text)+deleteSnapshot_clientRequestToken = Lens.lens (\DeleteSnapshot' {clientRequestToken} -> clientRequestToken) (\s@DeleteSnapshot' {} a -> s {clientRequestToken = a} :: DeleteSnapshot)++-- | The ID of the snapshot that you want to delete.+deleteSnapshot_snapshotId :: Lens.Lens' DeleteSnapshot Prelude.Text+deleteSnapshot_snapshotId = Lens.lens (\DeleteSnapshot' {snapshotId} -> snapshotId) (\s@DeleteSnapshot' {} a -> s {snapshotId = a} :: DeleteSnapshot)++instance Core.AWSRequest DeleteSnapshot where+ type+ AWSResponse DeleteSnapshot =+ DeleteSnapshotResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DeleteSnapshotResponse'+ Prelude.<$> (x Data..?> "Lifecycle")+ Prelude.<*> (x Data..?> "SnapshotId")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteSnapshot where+ hashWithSalt _salt DeleteSnapshot' {..} =+ _salt+ `Prelude.hashWithSalt` clientRequestToken+ `Prelude.hashWithSalt` snapshotId++instance Prelude.NFData DeleteSnapshot where+ rnf DeleteSnapshot' {..} =+ Prelude.rnf clientRequestToken+ `Prelude.seq` Prelude.rnf snapshotId++instance Data.ToHeaders DeleteSnapshot where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSSimbaAPIService_v20180301.DeleteSnapshot" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DeleteSnapshot where+ toJSON DeleteSnapshot' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("ClientRequestToken" Data..=)+ Prelude.<$> clientRequestToken,+ Prelude.Just ("SnapshotId" Data..= snapshotId)+ ]+ )++instance Data.ToPath DeleteSnapshot where+ toPath = Prelude.const "/"++instance Data.ToQuery DeleteSnapshot where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteSnapshotResponse' smart constructor.+data DeleteSnapshotResponse = DeleteSnapshotResponse'+ { -- | The lifecycle status of the snapshot. If the @DeleteSnapshot@ operation+ -- is successful, this status is @DELETING@.+ lifecycle :: Prelude.Maybe SnapshotLifecycle,+ -- | The ID of the deleted snapshot.+ snapshotId :: 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 'DeleteSnapshotResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'lifecycle', 'deleteSnapshotResponse_lifecycle' - The lifecycle status of the snapshot. If the @DeleteSnapshot@ operation+-- is successful, this status is @DELETING@.+--+-- 'snapshotId', 'deleteSnapshotResponse_snapshotId' - The ID of the deleted snapshot.+--+-- 'httpStatus', 'deleteSnapshotResponse_httpStatus' - The response's http status code.+newDeleteSnapshotResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteSnapshotResponse+newDeleteSnapshotResponse pHttpStatus_ =+ DeleteSnapshotResponse'+ { lifecycle =+ Prelude.Nothing,+ snapshotId = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The lifecycle status of the snapshot. If the @DeleteSnapshot@ operation+-- is successful, this status is @DELETING@.+deleteSnapshotResponse_lifecycle :: Lens.Lens' DeleteSnapshotResponse (Prelude.Maybe SnapshotLifecycle)+deleteSnapshotResponse_lifecycle = Lens.lens (\DeleteSnapshotResponse' {lifecycle} -> lifecycle) (\s@DeleteSnapshotResponse' {} a -> s {lifecycle = a} :: DeleteSnapshotResponse)++-- | The ID of the deleted snapshot.+deleteSnapshotResponse_snapshotId :: Lens.Lens' DeleteSnapshotResponse (Prelude.Maybe Prelude.Text)+deleteSnapshotResponse_snapshotId = Lens.lens (\DeleteSnapshotResponse' {snapshotId} -> snapshotId) (\s@DeleteSnapshotResponse' {} a -> s {snapshotId = a} :: DeleteSnapshotResponse)++-- | The response's http status code.+deleteSnapshotResponse_httpStatus :: Lens.Lens' DeleteSnapshotResponse Prelude.Int+deleteSnapshotResponse_httpStatus = Lens.lens (\DeleteSnapshotResponse' {httpStatus} -> httpStatus) (\s@DeleteSnapshotResponse' {} a -> s {httpStatus = a} :: DeleteSnapshotResponse)++instance Prelude.NFData DeleteSnapshotResponse where+ rnf DeleteSnapshotResponse' {..} =+ Prelude.rnf lifecycle+ `Prelude.seq` Prelude.rnf snapshotId+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FSx/DeleteStorageVirtualMachine.hs view
@@ -0,0 +1,210 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FSx.DeleteStorageVirtualMachine+-- 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 existing Amazon FSx for ONTAP storage virtual machine (SVM).+-- Prior to deleting an SVM, you must delete all non-root volumes in the+-- SVM, otherwise the operation will fail.+module Amazonka.FSx.DeleteStorageVirtualMachine+ ( -- * Creating a Request+ DeleteStorageVirtualMachine (..),+ newDeleteStorageVirtualMachine,++ -- * Request Lenses+ deleteStorageVirtualMachine_clientRequestToken,+ deleteStorageVirtualMachine_storageVirtualMachineId,++ -- * Destructuring the Response+ DeleteStorageVirtualMachineResponse (..),+ newDeleteStorageVirtualMachineResponse,++ -- * Response Lenses+ deleteStorageVirtualMachineResponse_lifecycle,+ deleteStorageVirtualMachineResponse_storageVirtualMachineId,+ deleteStorageVirtualMachineResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteStorageVirtualMachine' smart constructor.+data DeleteStorageVirtualMachine = DeleteStorageVirtualMachine'+ { clientRequestToken :: Prelude.Maybe Prelude.Text,+ -- | The ID of the SVM that you want to delete.+ storageVirtualMachineId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteStorageVirtualMachine' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientRequestToken', 'deleteStorageVirtualMachine_clientRequestToken' - Undocumented member.+--+-- 'storageVirtualMachineId', 'deleteStorageVirtualMachine_storageVirtualMachineId' - The ID of the SVM that you want to delete.+newDeleteStorageVirtualMachine ::+ -- | 'storageVirtualMachineId'+ Prelude.Text ->+ DeleteStorageVirtualMachine+newDeleteStorageVirtualMachine+ pStorageVirtualMachineId_ =+ DeleteStorageVirtualMachine'+ { clientRequestToken =+ Prelude.Nothing,+ storageVirtualMachineId =+ pStorageVirtualMachineId_+ }++-- | Undocumented member.+deleteStorageVirtualMachine_clientRequestToken :: Lens.Lens' DeleteStorageVirtualMachine (Prelude.Maybe Prelude.Text)+deleteStorageVirtualMachine_clientRequestToken = Lens.lens (\DeleteStorageVirtualMachine' {clientRequestToken} -> clientRequestToken) (\s@DeleteStorageVirtualMachine' {} a -> s {clientRequestToken = a} :: DeleteStorageVirtualMachine)++-- | The ID of the SVM that you want to delete.+deleteStorageVirtualMachine_storageVirtualMachineId :: Lens.Lens' DeleteStorageVirtualMachine Prelude.Text+deleteStorageVirtualMachine_storageVirtualMachineId = Lens.lens (\DeleteStorageVirtualMachine' {storageVirtualMachineId} -> storageVirtualMachineId) (\s@DeleteStorageVirtualMachine' {} a -> s {storageVirtualMachineId = a} :: DeleteStorageVirtualMachine)++instance Core.AWSRequest DeleteStorageVirtualMachine where+ type+ AWSResponse DeleteStorageVirtualMachine =+ DeleteStorageVirtualMachineResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DeleteStorageVirtualMachineResponse'+ Prelude.<$> (x Data..?> "Lifecycle")+ Prelude.<*> (x Data..?> "StorageVirtualMachineId")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteStorageVirtualMachine where+ hashWithSalt _salt DeleteStorageVirtualMachine' {..} =+ _salt+ `Prelude.hashWithSalt` clientRequestToken+ `Prelude.hashWithSalt` storageVirtualMachineId++instance Prelude.NFData DeleteStorageVirtualMachine where+ rnf DeleteStorageVirtualMachine' {..} =+ Prelude.rnf clientRequestToken+ `Prelude.seq` Prelude.rnf storageVirtualMachineId++instance Data.ToHeaders DeleteStorageVirtualMachine where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSSimbaAPIService_v20180301.DeleteStorageVirtualMachine" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DeleteStorageVirtualMachine where+ toJSON DeleteStorageVirtualMachine' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("ClientRequestToken" Data..=)+ Prelude.<$> clientRequestToken,+ Prelude.Just+ ( "StorageVirtualMachineId"+ Data..= storageVirtualMachineId+ )+ ]+ )++instance Data.ToPath DeleteStorageVirtualMachine where+ toPath = Prelude.const "/"++instance Data.ToQuery DeleteStorageVirtualMachine where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteStorageVirtualMachineResponse' smart constructor.+data DeleteStorageVirtualMachineResponse = DeleteStorageVirtualMachineResponse'+ { -- | Describes the lifecycle state of the SVM being deleted.+ lifecycle :: Prelude.Maybe StorageVirtualMachineLifecycle,+ -- | The ID of the SVM Amazon FSx is deleting.+ storageVirtualMachineId :: 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 'DeleteStorageVirtualMachineResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'lifecycle', 'deleteStorageVirtualMachineResponse_lifecycle' - Describes the lifecycle state of the SVM being deleted.+--+-- 'storageVirtualMachineId', 'deleteStorageVirtualMachineResponse_storageVirtualMachineId' - The ID of the SVM Amazon FSx is deleting.+--+-- 'httpStatus', 'deleteStorageVirtualMachineResponse_httpStatus' - The response's http status code.+newDeleteStorageVirtualMachineResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteStorageVirtualMachineResponse+newDeleteStorageVirtualMachineResponse pHttpStatus_ =+ DeleteStorageVirtualMachineResponse'+ { lifecycle =+ Prelude.Nothing,+ storageVirtualMachineId =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Describes the lifecycle state of the SVM being deleted.+deleteStorageVirtualMachineResponse_lifecycle :: Lens.Lens' DeleteStorageVirtualMachineResponse (Prelude.Maybe StorageVirtualMachineLifecycle)+deleteStorageVirtualMachineResponse_lifecycle = Lens.lens (\DeleteStorageVirtualMachineResponse' {lifecycle} -> lifecycle) (\s@DeleteStorageVirtualMachineResponse' {} a -> s {lifecycle = a} :: DeleteStorageVirtualMachineResponse)++-- | The ID of the SVM Amazon FSx is deleting.+deleteStorageVirtualMachineResponse_storageVirtualMachineId :: Lens.Lens' DeleteStorageVirtualMachineResponse (Prelude.Maybe Prelude.Text)+deleteStorageVirtualMachineResponse_storageVirtualMachineId = Lens.lens (\DeleteStorageVirtualMachineResponse' {storageVirtualMachineId} -> storageVirtualMachineId) (\s@DeleteStorageVirtualMachineResponse' {} a -> s {storageVirtualMachineId = a} :: DeleteStorageVirtualMachineResponse)++-- | The response's http status code.+deleteStorageVirtualMachineResponse_httpStatus :: Lens.Lens' DeleteStorageVirtualMachineResponse Prelude.Int+deleteStorageVirtualMachineResponse_httpStatus = Lens.lens (\DeleteStorageVirtualMachineResponse' {httpStatus} -> httpStatus) (\s@DeleteStorageVirtualMachineResponse' {} a -> s {httpStatus = a} :: DeleteStorageVirtualMachineResponse)++instance+ Prelude.NFData+ DeleteStorageVirtualMachineResponse+ where+ rnf DeleteStorageVirtualMachineResponse' {..} =+ Prelude.rnf lifecycle+ `Prelude.seq` Prelude.rnf storageVirtualMachineId+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FSx/DeleteVolume.hs view
@@ -0,0 +1,250 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FSx.DeleteVolume+-- 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 Amazon FSx for NetApp ONTAP or Amazon FSx for OpenZFS volume.+module Amazonka.FSx.DeleteVolume+ ( -- * Creating a Request+ DeleteVolume (..),+ newDeleteVolume,++ -- * Request Lenses+ deleteVolume_clientRequestToken,+ deleteVolume_ontapConfiguration,+ deleteVolume_openZFSConfiguration,+ deleteVolume_volumeId,++ -- * Destructuring the Response+ DeleteVolumeResponse (..),+ newDeleteVolumeResponse,++ -- * Response Lenses+ deleteVolumeResponse_lifecycle,+ deleteVolumeResponse_ontapResponse,+ deleteVolumeResponse_volumeId,+ deleteVolumeResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteVolume' smart constructor.+data DeleteVolume = DeleteVolume'+ { clientRequestToken :: Prelude.Maybe Prelude.Text,+ -- | For Amazon FSx for ONTAP volumes, specify whether to take a final backup+ -- of the volume and apply tags to the backup. To apply tags to the backup,+ -- you must have the @fsx:TagResource@ permission.+ ontapConfiguration :: Prelude.Maybe DeleteVolumeOntapConfiguration,+ -- | For Amazon FSx for OpenZFS volumes, specify whether to delete all child+ -- volumes and snapshots.+ openZFSConfiguration :: Prelude.Maybe DeleteVolumeOpenZFSConfiguration,+ -- | The ID of the volume that you are deleting.+ volumeId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteVolume' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientRequestToken', 'deleteVolume_clientRequestToken' - Undocumented member.+--+-- 'ontapConfiguration', 'deleteVolume_ontapConfiguration' - For Amazon FSx for ONTAP volumes, specify whether to take a final backup+-- of the volume and apply tags to the backup. To apply tags to the backup,+-- you must have the @fsx:TagResource@ permission.+--+-- 'openZFSConfiguration', 'deleteVolume_openZFSConfiguration' - For Amazon FSx for OpenZFS volumes, specify whether to delete all child+-- volumes and snapshots.+--+-- 'volumeId', 'deleteVolume_volumeId' - The ID of the volume that you are deleting.+newDeleteVolume ::+ -- | 'volumeId'+ Prelude.Text ->+ DeleteVolume+newDeleteVolume pVolumeId_ =+ DeleteVolume'+ { clientRequestToken = Prelude.Nothing,+ ontapConfiguration = Prelude.Nothing,+ openZFSConfiguration = Prelude.Nothing,+ volumeId = pVolumeId_+ }++-- | Undocumented member.+deleteVolume_clientRequestToken :: Lens.Lens' DeleteVolume (Prelude.Maybe Prelude.Text)+deleteVolume_clientRequestToken = Lens.lens (\DeleteVolume' {clientRequestToken} -> clientRequestToken) (\s@DeleteVolume' {} a -> s {clientRequestToken = a} :: DeleteVolume)++-- | For Amazon FSx for ONTAP volumes, specify whether to take a final backup+-- of the volume and apply tags to the backup. To apply tags to the backup,+-- you must have the @fsx:TagResource@ permission.+deleteVolume_ontapConfiguration :: Lens.Lens' DeleteVolume (Prelude.Maybe DeleteVolumeOntapConfiguration)+deleteVolume_ontapConfiguration = Lens.lens (\DeleteVolume' {ontapConfiguration} -> ontapConfiguration) (\s@DeleteVolume' {} a -> s {ontapConfiguration = a} :: DeleteVolume)++-- | For Amazon FSx for OpenZFS volumes, specify whether to delete all child+-- volumes and snapshots.+deleteVolume_openZFSConfiguration :: Lens.Lens' DeleteVolume (Prelude.Maybe DeleteVolumeOpenZFSConfiguration)+deleteVolume_openZFSConfiguration = Lens.lens (\DeleteVolume' {openZFSConfiguration} -> openZFSConfiguration) (\s@DeleteVolume' {} a -> s {openZFSConfiguration = a} :: DeleteVolume)++-- | The ID of the volume that you are deleting.+deleteVolume_volumeId :: Lens.Lens' DeleteVolume Prelude.Text+deleteVolume_volumeId = Lens.lens (\DeleteVolume' {volumeId} -> volumeId) (\s@DeleteVolume' {} a -> s {volumeId = a} :: DeleteVolume)++instance Core.AWSRequest DeleteVolume where+ type AWSResponse DeleteVolume = DeleteVolumeResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DeleteVolumeResponse'+ Prelude.<$> (x Data..?> "Lifecycle")+ Prelude.<*> (x Data..?> "OntapResponse")+ Prelude.<*> (x Data..?> "VolumeId")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteVolume where+ hashWithSalt _salt DeleteVolume' {..} =+ _salt+ `Prelude.hashWithSalt` clientRequestToken+ `Prelude.hashWithSalt` ontapConfiguration+ `Prelude.hashWithSalt` openZFSConfiguration+ `Prelude.hashWithSalt` volumeId++instance Prelude.NFData DeleteVolume where+ rnf DeleteVolume' {..} =+ Prelude.rnf clientRequestToken+ `Prelude.seq` Prelude.rnf ontapConfiguration+ `Prelude.seq` Prelude.rnf openZFSConfiguration+ `Prelude.seq` Prelude.rnf volumeId++instance Data.ToHeaders DeleteVolume where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSSimbaAPIService_v20180301.DeleteVolume" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DeleteVolume where+ toJSON DeleteVolume' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("ClientRequestToken" Data..=)+ Prelude.<$> clientRequestToken,+ ("OntapConfiguration" Data..=)+ Prelude.<$> ontapConfiguration,+ ("OpenZFSConfiguration" Data..=)+ Prelude.<$> openZFSConfiguration,+ Prelude.Just ("VolumeId" Data..= volumeId)+ ]+ )++instance Data.ToPath DeleteVolume where+ toPath = Prelude.const "/"++instance Data.ToQuery DeleteVolume where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteVolumeResponse' smart constructor.+data DeleteVolumeResponse = DeleteVolumeResponse'+ { -- | The lifecycle state of the volume being deleted. If the @DeleteVolume@+ -- operation is successful, this value is @DELETING@.+ lifecycle :: Prelude.Maybe VolumeLifecycle,+ -- | Returned after a @DeleteVolume@ request, showing the status of the+ -- delete request.+ ontapResponse :: Prelude.Maybe DeleteVolumeOntapResponse,+ -- | The ID of the volume that\'s being deleted.+ volumeId :: 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 'DeleteVolumeResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'lifecycle', 'deleteVolumeResponse_lifecycle' - The lifecycle state of the volume being deleted. If the @DeleteVolume@+-- operation is successful, this value is @DELETING@.+--+-- 'ontapResponse', 'deleteVolumeResponse_ontapResponse' - Returned after a @DeleteVolume@ request, showing the status of the+-- delete request.+--+-- 'volumeId', 'deleteVolumeResponse_volumeId' - The ID of the volume that\'s being deleted.+--+-- 'httpStatus', 'deleteVolumeResponse_httpStatus' - The response's http status code.+newDeleteVolumeResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteVolumeResponse+newDeleteVolumeResponse pHttpStatus_ =+ DeleteVolumeResponse'+ { lifecycle = Prelude.Nothing,+ ontapResponse = Prelude.Nothing,+ volumeId = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The lifecycle state of the volume being deleted. If the @DeleteVolume@+-- operation is successful, this value is @DELETING@.+deleteVolumeResponse_lifecycle :: Lens.Lens' DeleteVolumeResponse (Prelude.Maybe VolumeLifecycle)+deleteVolumeResponse_lifecycle = Lens.lens (\DeleteVolumeResponse' {lifecycle} -> lifecycle) (\s@DeleteVolumeResponse' {} a -> s {lifecycle = a} :: DeleteVolumeResponse)++-- | Returned after a @DeleteVolume@ request, showing the status of the+-- delete request.+deleteVolumeResponse_ontapResponse :: Lens.Lens' DeleteVolumeResponse (Prelude.Maybe DeleteVolumeOntapResponse)+deleteVolumeResponse_ontapResponse = Lens.lens (\DeleteVolumeResponse' {ontapResponse} -> ontapResponse) (\s@DeleteVolumeResponse' {} a -> s {ontapResponse = a} :: DeleteVolumeResponse)++-- | The ID of the volume that\'s being deleted.+deleteVolumeResponse_volumeId :: Lens.Lens' DeleteVolumeResponse (Prelude.Maybe Prelude.Text)+deleteVolumeResponse_volumeId = Lens.lens (\DeleteVolumeResponse' {volumeId} -> volumeId) (\s@DeleteVolumeResponse' {} a -> s {volumeId = a} :: DeleteVolumeResponse)++-- | The response's http status code.+deleteVolumeResponse_httpStatus :: Lens.Lens' DeleteVolumeResponse Prelude.Int+deleteVolumeResponse_httpStatus = Lens.lens (\DeleteVolumeResponse' {httpStatus} -> httpStatus) (\s@DeleteVolumeResponse' {} a -> s {httpStatus = a} :: DeleteVolumeResponse)++instance Prelude.NFData DeleteVolumeResponse where+ rnf DeleteVolumeResponse' {..} =+ Prelude.rnf lifecycle+ `Prelude.seq` Prelude.rnf ontapResponse+ `Prelude.seq` Prelude.rnf volumeId+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FSx/DescribeBackups.hs view
@@ -0,0 +1,303 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FSx.DescribeBackups+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns the description of a specific Amazon FSx backup, if a+-- @BackupIds@ value is provided for that backup. Otherwise, it returns all+-- backups owned by your Amazon Web Services account in the Amazon Web+-- Services Region of the endpoint that you\'re calling.+--+-- When retrieving all backups, you can optionally specify the @MaxResults@+-- parameter to limit the number of backups in a response. If more backups+-- remain, Amazon FSx returns a @NextToken@ value in the response. In this+-- case, send a later request with the @NextToken@ request parameter set to+-- the value of the @NextToken@ value from the last response.+--+-- This operation is used in an iterative process to retrieve a list of+-- your backups. @DescribeBackups@ is called first without a @NextToken@+-- value. Then the operation continues to be called with the @NextToken@+-- parameter set to the value of the last @NextToken@ value until a+-- response has no @NextToken@ value.+--+-- When using this operation, keep the following in mind:+--+-- - The operation might return fewer than the @MaxResults@ value of+-- backup descriptions while still including a @NextToken@ value.+--+-- - The order of the backups returned in the response of one+-- @DescribeBackups@ call and the order of the backups returned across+-- the responses of a multi-call iteration is unspecified.+--+-- This operation returns paginated results.+module Amazonka.FSx.DescribeBackups+ ( -- * Creating a Request+ DescribeBackups (..),+ newDescribeBackups,++ -- * Request Lenses+ describeBackups_backupIds,+ describeBackups_filters,+ describeBackups_maxResults,+ describeBackups_nextToken,++ -- * Destructuring the Response+ DescribeBackupsResponse (..),+ newDescribeBackupsResponse,++ -- * Response Lenses+ describeBackupsResponse_backups,+ describeBackupsResponse_nextToken,+ describeBackupsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | The request object for the @DescribeBackups@ operation.+--+-- /See:/ 'newDescribeBackups' smart constructor.+data DescribeBackups = DescribeBackups'+ { -- | The IDs of the backups that you want to retrieve. This parameter value+ -- overrides any filters. If any IDs aren\'t found, a @BackupNotFound@+ -- error occurs.+ backupIds :: Prelude.Maybe [Prelude.Text],+ -- | The filters structure. The supported names are @file-system-id@,+ -- @backup-type@, @file-system-type@, and @volume-id@.+ filters :: Prelude.Maybe [Filter],+ -- | Maximum number of backups to return in the response. This parameter+ -- value must be greater than 0. The number of items that Amazon FSx+ -- returns is the minimum of the @MaxResults@ parameter specified in the+ -- request and the service\'s internal maximum number of items per page.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | An opaque pagination token returned from a previous @DescribeBackups@+ -- operation. If a token is present, the operation continues the list from+ -- where the returning call left off.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeBackups' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'backupIds', 'describeBackups_backupIds' - The IDs of the backups that you want to retrieve. This parameter value+-- overrides any filters. If any IDs aren\'t found, a @BackupNotFound@+-- error occurs.+--+-- 'filters', 'describeBackups_filters' - The filters structure. The supported names are @file-system-id@,+-- @backup-type@, @file-system-type@, and @volume-id@.+--+-- 'maxResults', 'describeBackups_maxResults' - Maximum number of backups to return in the response. This parameter+-- value must be greater than 0. The number of items that Amazon FSx+-- returns is the minimum of the @MaxResults@ parameter specified in the+-- request and the service\'s internal maximum number of items per page.+--+-- 'nextToken', 'describeBackups_nextToken' - An opaque pagination token returned from a previous @DescribeBackups@+-- operation. If a token is present, the operation continues the list from+-- where the returning call left off.+newDescribeBackups ::+ DescribeBackups+newDescribeBackups =+ DescribeBackups'+ { backupIds = Prelude.Nothing,+ filters = Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | The IDs of the backups that you want to retrieve. This parameter value+-- overrides any filters. If any IDs aren\'t found, a @BackupNotFound@+-- error occurs.+describeBackups_backupIds :: Lens.Lens' DescribeBackups (Prelude.Maybe [Prelude.Text])+describeBackups_backupIds = Lens.lens (\DescribeBackups' {backupIds} -> backupIds) (\s@DescribeBackups' {} a -> s {backupIds = a} :: DescribeBackups) Prelude.. Lens.mapping Lens.coerced++-- | The filters structure. The supported names are @file-system-id@,+-- @backup-type@, @file-system-type@, and @volume-id@.+describeBackups_filters :: Lens.Lens' DescribeBackups (Prelude.Maybe [Filter])+describeBackups_filters = Lens.lens (\DescribeBackups' {filters} -> filters) (\s@DescribeBackups' {} a -> s {filters = a} :: DescribeBackups) Prelude.. Lens.mapping Lens.coerced++-- | Maximum number of backups to return in the response. This parameter+-- value must be greater than 0. The number of items that Amazon FSx+-- returns is the minimum of the @MaxResults@ parameter specified in the+-- request and the service\'s internal maximum number of items per page.+describeBackups_maxResults :: Lens.Lens' DescribeBackups (Prelude.Maybe Prelude.Natural)+describeBackups_maxResults = Lens.lens (\DescribeBackups' {maxResults} -> maxResults) (\s@DescribeBackups' {} a -> s {maxResults = a} :: DescribeBackups)++-- | An opaque pagination token returned from a previous @DescribeBackups@+-- operation. If a token is present, the operation continues the list from+-- where the returning call left off.+describeBackups_nextToken :: Lens.Lens' DescribeBackups (Prelude.Maybe Prelude.Text)+describeBackups_nextToken = Lens.lens (\DescribeBackups' {nextToken} -> nextToken) (\s@DescribeBackups' {} a -> s {nextToken = a} :: DescribeBackups)++instance Core.AWSPager DescribeBackups where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? describeBackupsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? describeBackupsResponse_backups+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& describeBackups_nextToken+ Lens..~ rs+ Lens.^? describeBackupsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest DescribeBackups where+ type+ AWSResponse DescribeBackups =+ DescribeBackupsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeBackupsResponse'+ Prelude.<$> (x Data..?> "Backups" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DescribeBackups where+ hashWithSalt _salt DescribeBackups' {..} =+ _salt+ `Prelude.hashWithSalt` backupIds+ `Prelude.hashWithSalt` filters+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData DescribeBackups where+ rnf DescribeBackups' {..} =+ Prelude.rnf backupIds+ `Prelude.seq` Prelude.rnf filters+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders DescribeBackups where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSSimbaAPIService_v20180301.DescribeBackups" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DescribeBackups where+ toJSON DescribeBackups' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("BackupIds" Data..=) Prelude.<$> backupIds,+ ("Filters" Data..=) Prelude.<$> filters,+ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken+ ]+ )++instance Data.ToPath DescribeBackups where+ toPath = Prelude.const "/"++instance Data.ToQuery DescribeBackups where+ toQuery = Prelude.const Prelude.mempty++-- | Response object for the @DescribeBackups@ operation.+--+-- /See:/ 'newDescribeBackupsResponse' smart constructor.+data DescribeBackupsResponse = DescribeBackupsResponse'+ { -- | An array of backups.+ backups :: Prelude.Maybe [Backup],+ -- | A @NextToken@ value is present if there are more backups than returned+ -- in the response. You can use the @NextToken@ value in the subsequent+ -- request to fetch the backups.+ 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 'DescribeBackupsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'backups', 'describeBackupsResponse_backups' - An array of backups.+--+-- 'nextToken', 'describeBackupsResponse_nextToken' - A @NextToken@ value is present if there are more backups than returned+-- in the response. You can use the @NextToken@ value in the subsequent+-- request to fetch the backups.+--+-- 'httpStatus', 'describeBackupsResponse_httpStatus' - The response's http status code.+newDescribeBackupsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeBackupsResponse+newDescribeBackupsResponse pHttpStatus_ =+ DescribeBackupsResponse'+ { backups = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | An array of backups.+describeBackupsResponse_backups :: Lens.Lens' DescribeBackupsResponse (Prelude.Maybe [Backup])+describeBackupsResponse_backups = Lens.lens (\DescribeBackupsResponse' {backups} -> backups) (\s@DescribeBackupsResponse' {} a -> s {backups = a} :: DescribeBackupsResponse) Prelude.. Lens.mapping Lens.coerced++-- | A @NextToken@ value is present if there are more backups than returned+-- in the response. You can use the @NextToken@ value in the subsequent+-- request to fetch the backups.+describeBackupsResponse_nextToken :: Lens.Lens' DescribeBackupsResponse (Prelude.Maybe Prelude.Text)+describeBackupsResponse_nextToken = Lens.lens (\DescribeBackupsResponse' {nextToken} -> nextToken) (\s@DescribeBackupsResponse' {} a -> s {nextToken = a} :: DescribeBackupsResponse)++-- | The response's http status code.+describeBackupsResponse_httpStatus :: Lens.Lens' DescribeBackupsResponse Prelude.Int+describeBackupsResponse_httpStatus = Lens.lens (\DescribeBackupsResponse' {httpStatus} -> httpStatus) (\s@DescribeBackupsResponse' {} a -> s {httpStatus = a} :: DescribeBackupsResponse)++instance Prelude.NFData DescribeBackupsResponse where+ rnf DescribeBackupsResponse' {..} =+ Prelude.rnf backups+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FSx/DescribeDataRepositoryAssociations.hs view
@@ -0,0 +1,277 @@+{-# 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.FSx.DescribeDataRepositoryAssociations+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns the description of specific Amazon FSx for Lustre or Amazon File+-- Cache data repository associations, if one or more @AssociationIds@+-- values are provided in the request, or if filters are used in the+-- request. Data repository associations are supported only for Amazon FSx+-- for Lustre file systems with the @Persistent_2@ deployment type and for+-- Amazon File Cache resources.+--+-- You can use filters to narrow the response to include just data+-- repository associations for specific file systems (use the+-- @file-system-id@ filter with the ID of the file system) or caches (use+-- the @file-cache-id@ filter with the ID of the cache), or data repository+-- associations for a specific repository type (use the+-- @data-repository-type@ filter with a value of @S3@ or @NFS@). If you+-- don\'t use filters, the response returns all data repository+-- associations owned by your Amazon Web Services account in the Amazon Web+-- Services Region of the endpoint that you\'re calling.+--+-- When retrieving all data repository associations, you can paginate the+-- response by using the optional @MaxResults@ parameter to limit the+-- number of data repository associations returned in a response. If more+-- data repository associations remain, a @NextToken@ value is returned in+-- the response. In this case, send a later request with the @NextToken@+-- request parameter set to the value of @NextToken@ from the last+-- response.+module Amazonka.FSx.DescribeDataRepositoryAssociations+ ( -- * Creating a Request+ DescribeDataRepositoryAssociations (..),+ newDescribeDataRepositoryAssociations,++ -- * Request Lenses+ describeDataRepositoryAssociations_associationIds,+ describeDataRepositoryAssociations_filters,+ describeDataRepositoryAssociations_maxResults,+ describeDataRepositoryAssociations_nextToken,++ -- * Destructuring the Response+ DescribeDataRepositoryAssociationsResponse (..),+ newDescribeDataRepositoryAssociationsResponse,++ -- * Response Lenses+ describeDataRepositoryAssociationsResponse_associations,+ describeDataRepositoryAssociationsResponse_nextToken,+ describeDataRepositoryAssociationsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeDataRepositoryAssociations' smart constructor.+data DescribeDataRepositoryAssociations = DescribeDataRepositoryAssociations'+ { -- | IDs of the data repository associations whose descriptions you want to+ -- retrieve (String).+ associationIds :: Prelude.Maybe [Prelude.Text],+ filters :: Prelude.Maybe [Filter],+ -- | The maximum number of resources to return in the response. This value+ -- must be an integer greater than zero.+ maxResults :: Prelude.Maybe Prelude.Natural,+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeDataRepositoryAssociations' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'associationIds', 'describeDataRepositoryAssociations_associationIds' - IDs of the data repository associations whose descriptions you want to+-- retrieve (String).+--+-- 'filters', 'describeDataRepositoryAssociations_filters' - Undocumented member.+--+-- 'maxResults', 'describeDataRepositoryAssociations_maxResults' - The maximum number of resources to return in the response. This value+-- must be an integer greater than zero.+--+-- 'nextToken', 'describeDataRepositoryAssociations_nextToken' - Undocumented member.+newDescribeDataRepositoryAssociations ::+ DescribeDataRepositoryAssociations+newDescribeDataRepositoryAssociations =+ DescribeDataRepositoryAssociations'+ { associationIds =+ Prelude.Nothing,+ filters = Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | IDs of the data repository associations whose descriptions you want to+-- retrieve (String).+describeDataRepositoryAssociations_associationIds :: Lens.Lens' DescribeDataRepositoryAssociations (Prelude.Maybe [Prelude.Text])+describeDataRepositoryAssociations_associationIds = Lens.lens (\DescribeDataRepositoryAssociations' {associationIds} -> associationIds) (\s@DescribeDataRepositoryAssociations' {} a -> s {associationIds = a} :: DescribeDataRepositoryAssociations) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+describeDataRepositoryAssociations_filters :: Lens.Lens' DescribeDataRepositoryAssociations (Prelude.Maybe [Filter])+describeDataRepositoryAssociations_filters = Lens.lens (\DescribeDataRepositoryAssociations' {filters} -> filters) (\s@DescribeDataRepositoryAssociations' {} a -> s {filters = a} :: DescribeDataRepositoryAssociations) Prelude.. Lens.mapping Lens.coerced++-- | The maximum number of resources to return in the response. This value+-- must be an integer greater than zero.+describeDataRepositoryAssociations_maxResults :: Lens.Lens' DescribeDataRepositoryAssociations (Prelude.Maybe Prelude.Natural)+describeDataRepositoryAssociations_maxResults = Lens.lens (\DescribeDataRepositoryAssociations' {maxResults} -> maxResults) (\s@DescribeDataRepositoryAssociations' {} a -> s {maxResults = a} :: DescribeDataRepositoryAssociations)++-- | Undocumented member.+describeDataRepositoryAssociations_nextToken :: Lens.Lens' DescribeDataRepositoryAssociations (Prelude.Maybe Prelude.Text)+describeDataRepositoryAssociations_nextToken = Lens.lens (\DescribeDataRepositoryAssociations' {nextToken} -> nextToken) (\s@DescribeDataRepositoryAssociations' {} a -> s {nextToken = a} :: DescribeDataRepositoryAssociations)++instance+ Core.AWSRequest+ DescribeDataRepositoryAssociations+ where+ type+ AWSResponse DescribeDataRepositoryAssociations =+ DescribeDataRepositoryAssociationsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeDataRepositoryAssociationsResponse'+ Prelude.<$> (x Data..?> "Associations" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ DescribeDataRepositoryAssociations+ where+ hashWithSalt+ _salt+ DescribeDataRepositoryAssociations' {..} =+ _salt+ `Prelude.hashWithSalt` associationIds+ `Prelude.hashWithSalt` filters+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance+ Prelude.NFData+ DescribeDataRepositoryAssociations+ where+ rnf DescribeDataRepositoryAssociations' {..} =+ Prelude.rnf associationIds+ `Prelude.seq` Prelude.rnf filters+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance+ Data.ToHeaders+ DescribeDataRepositoryAssociations+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSSimbaAPIService_v20180301.DescribeDataRepositoryAssociations" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToJSON+ DescribeDataRepositoryAssociations+ where+ toJSON DescribeDataRepositoryAssociations' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("AssociationIds" Data..=)+ Prelude.<$> associationIds,+ ("Filters" Data..=) Prelude.<$> filters,+ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken+ ]+ )++instance+ Data.ToPath+ DescribeDataRepositoryAssociations+ where+ toPath = Prelude.const "/"++instance+ Data.ToQuery+ DescribeDataRepositoryAssociations+ where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeDataRepositoryAssociationsResponse' smart constructor.+data DescribeDataRepositoryAssociationsResponse = DescribeDataRepositoryAssociationsResponse'+ { -- | An array of one or more data repository association descriptions.+ associations :: Prelude.Maybe [DataRepositoryAssociation],+ 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 'DescribeDataRepositoryAssociationsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'associations', 'describeDataRepositoryAssociationsResponse_associations' - An array of one or more data repository association descriptions.+--+-- 'nextToken', 'describeDataRepositoryAssociationsResponse_nextToken' - Undocumented member.+--+-- 'httpStatus', 'describeDataRepositoryAssociationsResponse_httpStatus' - The response's http status code.+newDescribeDataRepositoryAssociationsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeDataRepositoryAssociationsResponse+newDescribeDataRepositoryAssociationsResponse+ pHttpStatus_ =+ DescribeDataRepositoryAssociationsResponse'+ { associations =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | An array of one or more data repository association descriptions.+describeDataRepositoryAssociationsResponse_associations :: Lens.Lens' DescribeDataRepositoryAssociationsResponse (Prelude.Maybe [DataRepositoryAssociation])+describeDataRepositoryAssociationsResponse_associations = Lens.lens (\DescribeDataRepositoryAssociationsResponse' {associations} -> associations) (\s@DescribeDataRepositoryAssociationsResponse' {} a -> s {associations = a} :: DescribeDataRepositoryAssociationsResponse) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+describeDataRepositoryAssociationsResponse_nextToken :: Lens.Lens' DescribeDataRepositoryAssociationsResponse (Prelude.Maybe Prelude.Text)+describeDataRepositoryAssociationsResponse_nextToken = Lens.lens (\DescribeDataRepositoryAssociationsResponse' {nextToken} -> nextToken) (\s@DescribeDataRepositoryAssociationsResponse' {} a -> s {nextToken = a} :: DescribeDataRepositoryAssociationsResponse)++-- | The response's http status code.+describeDataRepositoryAssociationsResponse_httpStatus :: Lens.Lens' DescribeDataRepositoryAssociationsResponse Prelude.Int+describeDataRepositoryAssociationsResponse_httpStatus = Lens.lens (\DescribeDataRepositoryAssociationsResponse' {httpStatus} -> httpStatus) (\s@DescribeDataRepositoryAssociationsResponse' {} a -> s {httpStatus = a} :: DescribeDataRepositoryAssociationsResponse)++instance+ Prelude.NFData+ DescribeDataRepositoryAssociationsResponse+ where+ rnf DescribeDataRepositoryAssociationsResponse' {..} =+ Prelude.rnf associations+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FSx/DescribeDataRepositoryTasks.hs view
@@ -0,0 +1,249 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FSx.DescribeDataRepositoryTasks+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns the description of specific Amazon FSx for Lustre or Amazon File+-- Cache data repository tasks, if one or more @TaskIds@ values are+-- provided in the request, or if filters are used in the request. You can+-- use filters to narrow the response to include just tasks for specific+-- file systems or caches, or tasks in a specific lifecycle state.+-- Otherwise, it returns all data repository tasks owned by your Amazon Web+-- Services account in the Amazon Web Services Region of the endpoint that+-- you\'re calling.+--+-- When retrieving all tasks, you can paginate the response by using the+-- optional @MaxResults@ parameter to limit the number of tasks returned in+-- a response. If more tasks remain, a @NextToken@ value is returned in the+-- response. In this case, send a later request with the @NextToken@+-- request parameter set to the value of @NextToken@ from the last+-- response.+module Amazonka.FSx.DescribeDataRepositoryTasks+ ( -- * Creating a Request+ DescribeDataRepositoryTasks (..),+ newDescribeDataRepositoryTasks,++ -- * Request Lenses+ describeDataRepositoryTasks_filters,+ describeDataRepositoryTasks_maxResults,+ describeDataRepositoryTasks_nextToken,+ describeDataRepositoryTasks_taskIds,++ -- * Destructuring the Response+ DescribeDataRepositoryTasksResponse (..),+ newDescribeDataRepositoryTasksResponse,++ -- * Response Lenses+ describeDataRepositoryTasksResponse_dataRepositoryTasks,+ describeDataRepositoryTasksResponse_nextToken,+ describeDataRepositoryTasksResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeDataRepositoryTasks' smart constructor.+data DescribeDataRepositoryTasks = DescribeDataRepositoryTasks'+ { -- | (Optional) You can use filters to narrow the+ -- @DescribeDataRepositoryTasks@ response to include just tasks for+ -- specific file systems, or tasks in a specific lifecycle state.+ filters :: Prelude.Maybe [DataRepositoryTaskFilter],+ maxResults :: Prelude.Maybe Prelude.Natural,+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | (Optional) IDs of the tasks whose descriptions you want to retrieve+ -- (String).+ taskIds :: Prelude.Maybe [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeDataRepositoryTasks' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'describeDataRepositoryTasks_filters' - (Optional) You can use filters to narrow the+-- @DescribeDataRepositoryTasks@ response to include just tasks for+-- specific file systems, or tasks in a specific lifecycle state.+--+-- 'maxResults', 'describeDataRepositoryTasks_maxResults' - Undocumented member.+--+-- 'nextToken', 'describeDataRepositoryTasks_nextToken' - Undocumented member.+--+-- 'taskIds', 'describeDataRepositoryTasks_taskIds' - (Optional) IDs of the tasks whose descriptions you want to retrieve+-- (String).+newDescribeDataRepositoryTasks ::+ DescribeDataRepositoryTasks+newDescribeDataRepositoryTasks =+ DescribeDataRepositoryTasks'+ { filters =+ Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ taskIds = Prelude.Nothing+ }++-- | (Optional) You can use filters to narrow the+-- @DescribeDataRepositoryTasks@ response to include just tasks for+-- specific file systems, or tasks in a specific lifecycle state.+describeDataRepositoryTasks_filters :: Lens.Lens' DescribeDataRepositoryTasks (Prelude.Maybe [DataRepositoryTaskFilter])+describeDataRepositoryTasks_filters = Lens.lens (\DescribeDataRepositoryTasks' {filters} -> filters) (\s@DescribeDataRepositoryTasks' {} a -> s {filters = a} :: DescribeDataRepositoryTasks) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+describeDataRepositoryTasks_maxResults :: Lens.Lens' DescribeDataRepositoryTasks (Prelude.Maybe Prelude.Natural)+describeDataRepositoryTasks_maxResults = Lens.lens (\DescribeDataRepositoryTasks' {maxResults} -> maxResults) (\s@DescribeDataRepositoryTasks' {} a -> s {maxResults = a} :: DescribeDataRepositoryTasks)++-- | Undocumented member.+describeDataRepositoryTasks_nextToken :: Lens.Lens' DescribeDataRepositoryTasks (Prelude.Maybe Prelude.Text)+describeDataRepositoryTasks_nextToken = Lens.lens (\DescribeDataRepositoryTasks' {nextToken} -> nextToken) (\s@DescribeDataRepositoryTasks' {} a -> s {nextToken = a} :: DescribeDataRepositoryTasks)++-- | (Optional) IDs of the tasks whose descriptions you want to retrieve+-- (String).+describeDataRepositoryTasks_taskIds :: Lens.Lens' DescribeDataRepositoryTasks (Prelude.Maybe [Prelude.Text])+describeDataRepositoryTasks_taskIds = Lens.lens (\DescribeDataRepositoryTasks' {taskIds} -> taskIds) (\s@DescribeDataRepositoryTasks' {} a -> s {taskIds = a} :: DescribeDataRepositoryTasks) Prelude.. Lens.mapping Lens.coerced++instance Core.AWSRequest DescribeDataRepositoryTasks where+ type+ AWSResponse DescribeDataRepositoryTasks =+ DescribeDataRepositoryTasksResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeDataRepositoryTasksResponse'+ Prelude.<$> ( x+ Data..?> "DataRepositoryTasks"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DescribeDataRepositoryTasks where+ hashWithSalt _salt DescribeDataRepositoryTasks' {..} =+ _salt+ `Prelude.hashWithSalt` filters+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` taskIds++instance Prelude.NFData DescribeDataRepositoryTasks where+ rnf DescribeDataRepositoryTasks' {..} =+ Prelude.rnf filters+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf taskIds++instance Data.ToHeaders DescribeDataRepositoryTasks where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSSimbaAPIService_v20180301.DescribeDataRepositoryTasks" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DescribeDataRepositoryTasks where+ toJSON DescribeDataRepositoryTasks' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Filters" Data..=) Prelude.<$> filters,+ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken,+ ("TaskIds" Data..=) Prelude.<$> taskIds+ ]+ )++instance Data.ToPath DescribeDataRepositoryTasks where+ toPath = Prelude.const "/"++instance Data.ToQuery DescribeDataRepositoryTasks where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeDataRepositoryTasksResponse' smart constructor.+data DescribeDataRepositoryTasksResponse = DescribeDataRepositoryTasksResponse'+ { -- | The collection of data repository task descriptions returned.+ dataRepositoryTasks :: Prelude.Maybe [DataRepositoryTask],+ 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 'DescribeDataRepositoryTasksResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataRepositoryTasks', 'describeDataRepositoryTasksResponse_dataRepositoryTasks' - The collection of data repository task descriptions returned.+--+-- 'nextToken', 'describeDataRepositoryTasksResponse_nextToken' - Undocumented member.+--+-- 'httpStatus', 'describeDataRepositoryTasksResponse_httpStatus' - The response's http status code.+newDescribeDataRepositoryTasksResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeDataRepositoryTasksResponse+newDescribeDataRepositoryTasksResponse pHttpStatus_ =+ DescribeDataRepositoryTasksResponse'+ { dataRepositoryTasks =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The collection of data repository task descriptions returned.+describeDataRepositoryTasksResponse_dataRepositoryTasks :: Lens.Lens' DescribeDataRepositoryTasksResponse (Prelude.Maybe [DataRepositoryTask])+describeDataRepositoryTasksResponse_dataRepositoryTasks = Lens.lens (\DescribeDataRepositoryTasksResponse' {dataRepositoryTasks} -> dataRepositoryTasks) (\s@DescribeDataRepositoryTasksResponse' {} a -> s {dataRepositoryTasks = a} :: DescribeDataRepositoryTasksResponse) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+describeDataRepositoryTasksResponse_nextToken :: Lens.Lens' DescribeDataRepositoryTasksResponse (Prelude.Maybe Prelude.Text)+describeDataRepositoryTasksResponse_nextToken = Lens.lens (\DescribeDataRepositoryTasksResponse' {nextToken} -> nextToken) (\s@DescribeDataRepositoryTasksResponse' {} a -> s {nextToken = a} :: DescribeDataRepositoryTasksResponse)++-- | The response's http status code.+describeDataRepositoryTasksResponse_httpStatus :: Lens.Lens' DescribeDataRepositoryTasksResponse Prelude.Int+describeDataRepositoryTasksResponse_httpStatus = Lens.lens (\DescribeDataRepositoryTasksResponse' {httpStatus} -> httpStatus) (\s@DescribeDataRepositoryTasksResponse' {} a -> s {httpStatus = a} :: DescribeDataRepositoryTasksResponse)++instance+ Prelude.NFData+ DescribeDataRepositoryTasksResponse+ where+ rnf DescribeDataRepositoryTasksResponse' {..} =+ Prelude.rnf dataRepositoryTasks+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FSx/DescribeFileCaches.hs view
@@ -0,0 +1,231 @@+{-# 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.FSx.DescribeFileCaches+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns the description of a specific Amazon File Cache resource, if a+-- @FileCacheIds@ value is provided for that cache. Otherwise, it returns+-- descriptions of all caches owned by your Amazon Web Services account in+-- the Amazon Web Services Region of the endpoint that you\'re calling.+--+-- When retrieving all cache descriptions, you can optionally specify the+-- @MaxResults@ parameter to limit the number of descriptions in a+-- response. If more cache descriptions remain, the operation returns a+-- @NextToken@ value in the response. In this case, send a later request+-- with the @NextToken@ request parameter set to the value of @NextToken@+-- from the last response.+--+-- This operation is used in an iterative process to retrieve a list of+-- your cache descriptions. @DescribeFileCaches@ is called first without a+-- @NextToken@value. Then the operation continues to be called with the+-- @NextToken@ parameter set to the value of the last @NextToken@ value+-- until a response has no @NextToken@.+--+-- When using this operation, keep the following in mind:+--+-- - The implementation might return fewer than @MaxResults@ cache+-- descriptions while still including a @NextToken@ value.+--+-- - The order of caches returned in the response of one+-- @DescribeFileCaches@ call and the order of caches returned across+-- the responses of a multicall iteration is unspecified.+module Amazonka.FSx.DescribeFileCaches+ ( -- * Creating a Request+ DescribeFileCaches (..),+ newDescribeFileCaches,++ -- * Request Lenses+ describeFileCaches_fileCacheIds,+ describeFileCaches_maxResults,+ describeFileCaches_nextToken,++ -- * Destructuring the Response+ DescribeFileCachesResponse (..),+ newDescribeFileCachesResponse,++ -- * Response Lenses+ describeFileCachesResponse_fileCaches,+ describeFileCachesResponse_nextToken,+ describeFileCachesResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeFileCaches' smart constructor.+data DescribeFileCaches = DescribeFileCaches'+ { -- | IDs of the caches whose descriptions you want to retrieve (String).+ fileCacheIds :: Prelude.Maybe [Prelude.Text],+ maxResults :: Prelude.Maybe Prelude.Natural,+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeFileCaches' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fileCacheIds', 'describeFileCaches_fileCacheIds' - IDs of the caches whose descriptions you want to retrieve (String).+--+-- 'maxResults', 'describeFileCaches_maxResults' - Undocumented member.+--+-- 'nextToken', 'describeFileCaches_nextToken' - Undocumented member.+newDescribeFileCaches ::+ DescribeFileCaches+newDescribeFileCaches =+ DescribeFileCaches'+ { fileCacheIds = Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | IDs of the caches whose descriptions you want to retrieve (String).+describeFileCaches_fileCacheIds :: Lens.Lens' DescribeFileCaches (Prelude.Maybe [Prelude.Text])+describeFileCaches_fileCacheIds = Lens.lens (\DescribeFileCaches' {fileCacheIds} -> fileCacheIds) (\s@DescribeFileCaches' {} a -> s {fileCacheIds = a} :: DescribeFileCaches) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+describeFileCaches_maxResults :: Lens.Lens' DescribeFileCaches (Prelude.Maybe Prelude.Natural)+describeFileCaches_maxResults = Lens.lens (\DescribeFileCaches' {maxResults} -> maxResults) (\s@DescribeFileCaches' {} a -> s {maxResults = a} :: DescribeFileCaches)++-- | Undocumented member.+describeFileCaches_nextToken :: Lens.Lens' DescribeFileCaches (Prelude.Maybe Prelude.Text)+describeFileCaches_nextToken = Lens.lens (\DescribeFileCaches' {nextToken} -> nextToken) (\s@DescribeFileCaches' {} a -> s {nextToken = a} :: DescribeFileCaches)++instance Core.AWSRequest DescribeFileCaches where+ type+ AWSResponse DescribeFileCaches =+ DescribeFileCachesResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeFileCachesResponse'+ Prelude.<$> (x Data..?> "FileCaches" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DescribeFileCaches where+ hashWithSalt _salt DescribeFileCaches' {..} =+ _salt+ `Prelude.hashWithSalt` fileCacheIds+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData DescribeFileCaches where+ rnf DescribeFileCaches' {..} =+ Prelude.rnf fileCacheIds+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders DescribeFileCaches where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSSimbaAPIService_v20180301.DescribeFileCaches" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DescribeFileCaches where+ toJSON DescribeFileCaches' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("FileCacheIds" Data..=) Prelude.<$> fileCacheIds,+ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken+ ]+ )++instance Data.ToPath DescribeFileCaches where+ toPath = Prelude.const "/"++instance Data.ToQuery DescribeFileCaches where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeFileCachesResponse' smart constructor.+data DescribeFileCachesResponse = DescribeFileCachesResponse'+ { -- | The response object for the @DescribeFileCaches@ operation.+ fileCaches :: Prelude.Maybe [FileCache],+ 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 'DescribeFileCachesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fileCaches', 'describeFileCachesResponse_fileCaches' - The response object for the @DescribeFileCaches@ operation.+--+-- 'nextToken', 'describeFileCachesResponse_nextToken' - Undocumented member.+--+-- 'httpStatus', 'describeFileCachesResponse_httpStatus' - The response's http status code.+newDescribeFileCachesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeFileCachesResponse+newDescribeFileCachesResponse pHttpStatus_ =+ DescribeFileCachesResponse'+ { fileCaches =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The response object for the @DescribeFileCaches@ operation.+describeFileCachesResponse_fileCaches :: Lens.Lens' DescribeFileCachesResponse (Prelude.Maybe [FileCache])+describeFileCachesResponse_fileCaches = Lens.lens (\DescribeFileCachesResponse' {fileCaches} -> fileCaches) (\s@DescribeFileCachesResponse' {} a -> s {fileCaches = a} :: DescribeFileCachesResponse) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+describeFileCachesResponse_nextToken :: Lens.Lens' DescribeFileCachesResponse (Prelude.Maybe Prelude.Text)+describeFileCachesResponse_nextToken = Lens.lens (\DescribeFileCachesResponse' {nextToken} -> nextToken) (\s@DescribeFileCachesResponse' {} a -> s {nextToken = a} :: DescribeFileCachesResponse)++-- | The response's http status code.+describeFileCachesResponse_httpStatus :: Lens.Lens' DescribeFileCachesResponse Prelude.Int+describeFileCachesResponse_httpStatus = Lens.lens (\DescribeFileCachesResponse' {httpStatus} -> httpStatus) (\s@DescribeFileCachesResponse' {} a -> s {httpStatus = a} :: DescribeFileCachesResponse)++instance Prelude.NFData DescribeFileCachesResponse where+ rnf DescribeFileCachesResponse' {..} =+ Prelude.rnf fileCaches+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FSx/DescribeFileSystemAliases.hs view
@@ -0,0 +1,269 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FSx.DescribeFileSystemAliases+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns the DNS aliases that are associated with the specified Amazon+-- FSx for Windows File Server file system. A history of all DNS aliases+-- that have been associated with and disassociated from the file system is+-- available in the list of AdministrativeAction provided in the+-- DescribeFileSystems operation response.+module Amazonka.FSx.DescribeFileSystemAliases+ ( -- * Creating a Request+ DescribeFileSystemAliases (..),+ newDescribeFileSystemAliases,++ -- * Request Lenses+ describeFileSystemAliases_clientRequestToken,+ describeFileSystemAliases_maxResults,+ describeFileSystemAliases_nextToken,+ describeFileSystemAliases_fileSystemId,++ -- * Destructuring the Response+ DescribeFileSystemAliasesResponse (..),+ newDescribeFileSystemAliasesResponse,++ -- * Response Lenses+ describeFileSystemAliasesResponse_aliases,+ describeFileSystemAliasesResponse_nextToken,+ describeFileSystemAliasesResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | The request object for @DescribeFileSystemAliases@ operation.+--+-- /See:/ 'newDescribeFileSystemAliases' smart constructor.+data DescribeFileSystemAliases = DescribeFileSystemAliases'+ { clientRequestToken :: Prelude.Maybe Prelude.Text,+ -- | Maximum number of DNS aliases to return in the response (integer). This+ -- parameter value must be greater than 0. The number of items that Amazon+ -- FSx returns is the minimum of the @MaxResults@ parameter specified in+ -- the request and the service\'s internal maximum number of items per+ -- page.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | Opaque pagination token returned from a previous+ -- @DescribeFileSystemAliases@ operation (String). If a token is included+ -- in the request, the action continues the list from where the previous+ -- returning call left off.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The ID of the file system to return the associated DNS aliases for+ -- (String).+ fileSystemId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeFileSystemAliases' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientRequestToken', 'describeFileSystemAliases_clientRequestToken' - Undocumented member.+--+-- 'maxResults', 'describeFileSystemAliases_maxResults' - Maximum number of DNS aliases to return in the response (integer). This+-- parameter value must be greater than 0. The number of items that Amazon+-- FSx returns is the minimum of the @MaxResults@ parameter specified in+-- the request and the service\'s internal maximum number of items per+-- page.+--+-- 'nextToken', 'describeFileSystemAliases_nextToken' - Opaque pagination token returned from a previous+-- @DescribeFileSystemAliases@ operation (String). If a token is included+-- in the request, the action continues the list from where the previous+-- returning call left off.+--+-- 'fileSystemId', 'describeFileSystemAliases_fileSystemId' - The ID of the file system to return the associated DNS aliases for+-- (String).+newDescribeFileSystemAliases ::+ -- | 'fileSystemId'+ Prelude.Text ->+ DescribeFileSystemAliases+newDescribeFileSystemAliases pFileSystemId_ =+ DescribeFileSystemAliases'+ { clientRequestToken =+ Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ fileSystemId = pFileSystemId_+ }++-- | Undocumented member.+describeFileSystemAliases_clientRequestToken :: Lens.Lens' DescribeFileSystemAliases (Prelude.Maybe Prelude.Text)+describeFileSystemAliases_clientRequestToken = Lens.lens (\DescribeFileSystemAliases' {clientRequestToken} -> clientRequestToken) (\s@DescribeFileSystemAliases' {} a -> s {clientRequestToken = a} :: DescribeFileSystemAliases)++-- | Maximum number of DNS aliases to return in the response (integer). This+-- parameter value must be greater than 0. The number of items that Amazon+-- FSx returns is the minimum of the @MaxResults@ parameter specified in+-- the request and the service\'s internal maximum number of items per+-- page.+describeFileSystemAliases_maxResults :: Lens.Lens' DescribeFileSystemAliases (Prelude.Maybe Prelude.Natural)+describeFileSystemAliases_maxResults = Lens.lens (\DescribeFileSystemAliases' {maxResults} -> maxResults) (\s@DescribeFileSystemAliases' {} a -> s {maxResults = a} :: DescribeFileSystemAliases)++-- | Opaque pagination token returned from a previous+-- @DescribeFileSystemAliases@ operation (String). If a token is included+-- in the request, the action continues the list from where the previous+-- returning call left off.+describeFileSystemAliases_nextToken :: Lens.Lens' DescribeFileSystemAliases (Prelude.Maybe Prelude.Text)+describeFileSystemAliases_nextToken = Lens.lens (\DescribeFileSystemAliases' {nextToken} -> nextToken) (\s@DescribeFileSystemAliases' {} a -> s {nextToken = a} :: DescribeFileSystemAliases)++-- | The ID of the file system to return the associated DNS aliases for+-- (String).+describeFileSystemAliases_fileSystemId :: Lens.Lens' DescribeFileSystemAliases Prelude.Text+describeFileSystemAliases_fileSystemId = Lens.lens (\DescribeFileSystemAliases' {fileSystemId} -> fileSystemId) (\s@DescribeFileSystemAliases' {} a -> s {fileSystemId = a} :: DescribeFileSystemAliases)++instance Core.AWSRequest DescribeFileSystemAliases where+ type+ AWSResponse DescribeFileSystemAliases =+ DescribeFileSystemAliasesResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeFileSystemAliasesResponse'+ Prelude.<$> (x Data..?> "Aliases" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DescribeFileSystemAliases where+ hashWithSalt _salt DescribeFileSystemAliases' {..} =+ _salt+ `Prelude.hashWithSalt` clientRequestToken+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` fileSystemId++instance Prelude.NFData DescribeFileSystemAliases where+ rnf DescribeFileSystemAliases' {..} =+ Prelude.rnf clientRequestToken+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf fileSystemId++instance Data.ToHeaders DescribeFileSystemAliases where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSSimbaAPIService_v20180301.DescribeFileSystemAliases" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DescribeFileSystemAliases where+ toJSON DescribeFileSystemAliases' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("ClientRequestToken" Data..=)+ Prelude.<$> clientRequestToken,+ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken,+ Prelude.Just ("FileSystemId" Data..= fileSystemId)+ ]+ )++instance Data.ToPath DescribeFileSystemAliases where+ toPath = Prelude.const "/"++instance Data.ToQuery DescribeFileSystemAliases where+ toQuery = Prelude.const Prelude.mempty++-- | The response object for @DescribeFileSystemAliases@ operation.+--+-- /See:/ 'newDescribeFileSystemAliasesResponse' smart constructor.+data DescribeFileSystemAliasesResponse = DescribeFileSystemAliasesResponse'+ { -- | An array of one or more DNS aliases currently associated with the+ -- specified file system.+ aliases :: Prelude.Maybe [Alias],+ -- | Present if there are more DNS aliases than returned in the response+ -- (String). You can use the @NextToken@ value in a later request to fetch+ -- additional descriptions.+ 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 'DescribeFileSystemAliasesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'aliases', 'describeFileSystemAliasesResponse_aliases' - An array of one or more DNS aliases currently associated with the+-- specified file system.+--+-- 'nextToken', 'describeFileSystemAliasesResponse_nextToken' - Present if there are more DNS aliases than returned in the response+-- (String). You can use the @NextToken@ value in a later request to fetch+-- additional descriptions.+--+-- 'httpStatus', 'describeFileSystemAliasesResponse_httpStatus' - The response's http status code.+newDescribeFileSystemAliasesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeFileSystemAliasesResponse+newDescribeFileSystemAliasesResponse pHttpStatus_ =+ DescribeFileSystemAliasesResponse'+ { aliases =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | An array of one or more DNS aliases currently associated with the+-- specified file system.+describeFileSystemAliasesResponse_aliases :: Lens.Lens' DescribeFileSystemAliasesResponse (Prelude.Maybe [Alias])+describeFileSystemAliasesResponse_aliases = Lens.lens (\DescribeFileSystemAliasesResponse' {aliases} -> aliases) (\s@DescribeFileSystemAliasesResponse' {} a -> s {aliases = a} :: DescribeFileSystemAliasesResponse) Prelude.. Lens.mapping Lens.coerced++-- | Present if there are more DNS aliases than returned in the response+-- (String). You can use the @NextToken@ value in a later request to fetch+-- additional descriptions.+describeFileSystemAliasesResponse_nextToken :: Lens.Lens' DescribeFileSystemAliasesResponse (Prelude.Maybe Prelude.Text)+describeFileSystemAliasesResponse_nextToken = Lens.lens (\DescribeFileSystemAliasesResponse' {nextToken} -> nextToken) (\s@DescribeFileSystemAliasesResponse' {} a -> s {nextToken = a} :: DescribeFileSystemAliasesResponse)++-- | The response's http status code.+describeFileSystemAliasesResponse_httpStatus :: Lens.Lens' DescribeFileSystemAliasesResponse Prelude.Int+describeFileSystemAliasesResponse_httpStatus = Lens.lens (\DescribeFileSystemAliasesResponse' {httpStatus} -> httpStatus) (\s@DescribeFileSystemAliasesResponse' {} a -> s {httpStatus = a} :: DescribeFileSystemAliasesResponse)++instance+ Prelude.NFData+ DescribeFileSystemAliasesResponse+ where+ rnf DescribeFileSystemAliasesResponse' {..} =+ Prelude.rnf aliases+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FSx/DescribeFileSystems.hs view
@@ -0,0 +1,291 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FSx.DescribeFileSystems+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns the description of specific Amazon FSx file systems, if a+-- @FileSystemIds@ value is provided for that file system. Otherwise, it+-- returns descriptions of all file systems owned by your Amazon Web+-- Services account in the Amazon Web Services Region of the endpoint that+-- you\'re calling.+--+-- When retrieving all file system descriptions, you can optionally specify+-- the @MaxResults@ parameter to limit the number of descriptions in a+-- response. If more file system descriptions remain, Amazon FSx returns a+-- @NextToken@ value in the response. In this case, send a later request+-- with the @NextToken@ request parameter set to the value of @NextToken@+-- from the last response.+--+-- This operation is used in an iterative process to retrieve a list of+-- your file system descriptions. @DescribeFileSystems@ is called first+-- without a @NextToken@value. Then the operation continues to be called+-- with the @NextToken@ parameter set to the value of the last @NextToken@+-- value until a response has no @NextToken@.+--+-- When using this operation, keep the following in mind:+--+-- - The implementation might return fewer than @MaxResults@ file system+-- descriptions while still including a @NextToken@ value.+--+-- - The order of file systems returned in the response of one+-- @DescribeFileSystems@ call and the order of file systems returned+-- across the responses of a multicall iteration is unspecified.+--+-- This operation returns paginated results.+module Amazonka.FSx.DescribeFileSystems+ ( -- * Creating a Request+ DescribeFileSystems (..),+ newDescribeFileSystems,++ -- * Request Lenses+ describeFileSystems_fileSystemIds,+ describeFileSystems_maxResults,+ describeFileSystems_nextToken,++ -- * Destructuring the Response+ DescribeFileSystemsResponse (..),+ newDescribeFileSystemsResponse,++ -- * Response Lenses+ describeFileSystemsResponse_fileSystems,+ describeFileSystemsResponse_nextToken,+ describeFileSystemsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | The request object for @DescribeFileSystems@ operation.+--+-- /See:/ 'newDescribeFileSystems' smart constructor.+data DescribeFileSystems = DescribeFileSystems'+ { -- | IDs of the file systems whose descriptions you want to retrieve+ -- (String).+ fileSystemIds :: Prelude.Maybe [Prelude.Text],+ -- | Maximum number of file systems to return in the response (integer). This+ -- parameter value must be greater than 0. The number of items that Amazon+ -- FSx returns is the minimum of the @MaxResults@ parameter specified in+ -- the request and the service\'s internal maximum number of items per+ -- page.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | Opaque pagination token returned from a previous @DescribeFileSystems@+ -- operation (String). If a token present, the operation continues the list+ -- from where the returning call left off.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeFileSystems' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fileSystemIds', 'describeFileSystems_fileSystemIds' - IDs of the file systems whose descriptions you want to retrieve+-- (String).+--+-- 'maxResults', 'describeFileSystems_maxResults' - Maximum number of file systems to return in the response (integer). This+-- parameter value must be greater than 0. The number of items that Amazon+-- FSx returns is the minimum of the @MaxResults@ parameter specified in+-- the request and the service\'s internal maximum number of items per+-- page.+--+-- 'nextToken', 'describeFileSystems_nextToken' - Opaque pagination token returned from a previous @DescribeFileSystems@+-- operation (String). If a token present, the operation continues the list+-- from where the returning call left off.+newDescribeFileSystems ::+ DescribeFileSystems+newDescribeFileSystems =+ DescribeFileSystems'+ { fileSystemIds =+ Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | IDs of the file systems whose descriptions you want to retrieve+-- (String).+describeFileSystems_fileSystemIds :: Lens.Lens' DescribeFileSystems (Prelude.Maybe [Prelude.Text])+describeFileSystems_fileSystemIds = Lens.lens (\DescribeFileSystems' {fileSystemIds} -> fileSystemIds) (\s@DescribeFileSystems' {} a -> s {fileSystemIds = a} :: DescribeFileSystems) Prelude.. Lens.mapping Lens.coerced++-- | Maximum number of file systems to return in the response (integer). This+-- parameter value must be greater than 0. The number of items that Amazon+-- FSx returns is the minimum of the @MaxResults@ parameter specified in+-- the request and the service\'s internal maximum number of items per+-- page.+describeFileSystems_maxResults :: Lens.Lens' DescribeFileSystems (Prelude.Maybe Prelude.Natural)+describeFileSystems_maxResults = Lens.lens (\DescribeFileSystems' {maxResults} -> maxResults) (\s@DescribeFileSystems' {} a -> s {maxResults = a} :: DescribeFileSystems)++-- | Opaque pagination token returned from a previous @DescribeFileSystems@+-- operation (String). If a token present, the operation continues the list+-- from where the returning call left off.+describeFileSystems_nextToken :: Lens.Lens' DescribeFileSystems (Prelude.Maybe Prelude.Text)+describeFileSystems_nextToken = Lens.lens (\DescribeFileSystems' {nextToken} -> nextToken) (\s@DescribeFileSystems' {} a -> s {nextToken = a} :: DescribeFileSystems)++instance Core.AWSPager DescribeFileSystems where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? describeFileSystemsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? describeFileSystemsResponse_fileSystems+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& describeFileSystems_nextToken+ Lens..~ rs+ Lens.^? describeFileSystemsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest DescribeFileSystems where+ type+ AWSResponse DescribeFileSystems =+ DescribeFileSystemsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeFileSystemsResponse'+ Prelude.<$> (x Data..?> "FileSystems" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DescribeFileSystems where+ hashWithSalt _salt DescribeFileSystems' {..} =+ _salt+ `Prelude.hashWithSalt` fileSystemIds+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData DescribeFileSystems where+ rnf DescribeFileSystems' {..} =+ Prelude.rnf fileSystemIds+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders DescribeFileSystems where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSSimbaAPIService_v20180301.DescribeFileSystems" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DescribeFileSystems where+ toJSON DescribeFileSystems' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("FileSystemIds" Data..=) Prelude.<$> fileSystemIds,+ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken+ ]+ )++instance Data.ToPath DescribeFileSystems where+ toPath = Prelude.const "/"++instance Data.ToQuery DescribeFileSystems where+ toQuery = Prelude.const Prelude.mempty++-- | The response object for @DescribeFileSystems@ operation.+--+-- /See:/ 'newDescribeFileSystemsResponse' smart constructor.+data DescribeFileSystemsResponse = DescribeFileSystemsResponse'+ { -- | An array of file system descriptions.+ fileSystems :: Prelude.Maybe [FileSystem],+ -- | Present if there are more file systems than returned in the response+ -- (String). You can use the @NextToken@ value in the later request to+ -- fetch the descriptions.+ 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 'DescribeFileSystemsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fileSystems', 'describeFileSystemsResponse_fileSystems' - An array of file system descriptions.+--+-- 'nextToken', 'describeFileSystemsResponse_nextToken' - Present if there are more file systems than returned in the response+-- (String). You can use the @NextToken@ value in the later request to+-- fetch the descriptions.+--+-- 'httpStatus', 'describeFileSystemsResponse_httpStatus' - The response's http status code.+newDescribeFileSystemsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeFileSystemsResponse+newDescribeFileSystemsResponse pHttpStatus_ =+ DescribeFileSystemsResponse'+ { fileSystems =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | An array of file system descriptions.+describeFileSystemsResponse_fileSystems :: Lens.Lens' DescribeFileSystemsResponse (Prelude.Maybe [FileSystem])+describeFileSystemsResponse_fileSystems = Lens.lens (\DescribeFileSystemsResponse' {fileSystems} -> fileSystems) (\s@DescribeFileSystemsResponse' {} a -> s {fileSystems = a} :: DescribeFileSystemsResponse) Prelude.. Lens.mapping Lens.coerced++-- | Present if there are more file systems than returned in the response+-- (String). You can use the @NextToken@ value in the later request to+-- fetch the descriptions.+describeFileSystemsResponse_nextToken :: Lens.Lens' DescribeFileSystemsResponse (Prelude.Maybe Prelude.Text)+describeFileSystemsResponse_nextToken = Lens.lens (\DescribeFileSystemsResponse' {nextToken} -> nextToken) (\s@DescribeFileSystemsResponse' {} a -> s {nextToken = a} :: DescribeFileSystemsResponse)++-- | The response's http status code.+describeFileSystemsResponse_httpStatus :: Lens.Lens' DescribeFileSystemsResponse Prelude.Int+describeFileSystemsResponse_httpStatus = Lens.lens (\DescribeFileSystemsResponse' {httpStatus} -> httpStatus) (\s@DescribeFileSystemsResponse' {} a -> s {httpStatus = a} :: DescribeFileSystemsResponse)++instance Prelude.NFData DescribeFileSystemsResponse where+ rnf DescribeFileSystemsResponse' {..} =+ Prelude.rnf fileSystems+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FSx/DescribeSnapshots.hs view
@@ -0,0 +1,253 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FSx.DescribeSnapshots+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns the description of specific Amazon FSx for OpenZFS snapshots, if+-- a @SnapshotIds@ value is provided. Otherwise, this operation returns all+-- snapshots owned by your Amazon Web Services account in the Amazon Web+-- Services Region of the endpoint that you\'re calling.+--+-- When retrieving all snapshots, you can optionally specify the+-- @MaxResults@ parameter to limit the number of snapshots in a response.+-- If more backups remain, Amazon FSx returns a @NextToken@ value in the+-- response. In this case, send a later request with the @NextToken@+-- request parameter set to the value of @NextToken@ from the last+-- response.+--+-- Use this operation in an iterative process to retrieve a list of your+-- snapshots. @DescribeSnapshots@ is called first without a @NextToken@+-- value. Then the operation continues to be called with the @NextToken@+-- parameter set to the value of the last @NextToken@ value until a+-- response has no @NextToken@ value.+--+-- When using this operation, keep the following in mind:+--+-- - The operation might return fewer than the @MaxResults@ value of+-- snapshot descriptions while still including a @NextToken@ value.+--+-- - The order of snapshots returned in the response of one+-- @DescribeSnapshots@ call and the order of backups returned across+-- the responses of a multi-call iteration is unspecified.+module Amazonka.FSx.DescribeSnapshots+ ( -- * Creating a Request+ DescribeSnapshots (..),+ newDescribeSnapshots,++ -- * Request Lenses+ describeSnapshots_filters,+ describeSnapshots_maxResults,+ describeSnapshots_nextToken,+ describeSnapshots_snapshotIds,++ -- * Destructuring the Response+ DescribeSnapshotsResponse (..),+ newDescribeSnapshotsResponse,++ -- * Response Lenses+ describeSnapshotsResponse_nextToken,+ describeSnapshotsResponse_snapshots,+ describeSnapshotsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeSnapshots' smart constructor.+data DescribeSnapshots = DescribeSnapshots'+ { -- | The filters structure. The supported names are @file-system-id@ or+ -- @volume-id@.+ filters :: Prelude.Maybe [SnapshotFilter],+ maxResults :: Prelude.Maybe Prelude.Natural,+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The IDs of the snapshots that you want to retrieve. This parameter value+ -- overrides any filters. If any IDs aren\'t found, a @SnapshotNotFound@+ -- error occurs.+ snapshotIds :: Prelude.Maybe [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeSnapshots' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'describeSnapshots_filters' - The filters structure. The supported names are @file-system-id@ or+-- @volume-id@.+--+-- 'maxResults', 'describeSnapshots_maxResults' - Undocumented member.+--+-- 'nextToken', 'describeSnapshots_nextToken' - Undocumented member.+--+-- 'snapshotIds', 'describeSnapshots_snapshotIds' - The IDs of the snapshots that you want to retrieve. This parameter value+-- overrides any filters. If any IDs aren\'t found, a @SnapshotNotFound@+-- error occurs.+newDescribeSnapshots ::+ DescribeSnapshots+newDescribeSnapshots =+ DescribeSnapshots'+ { filters = Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ snapshotIds = Prelude.Nothing+ }++-- | The filters structure. The supported names are @file-system-id@ or+-- @volume-id@.+describeSnapshots_filters :: Lens.Lens' DescribeSnapshots (Prelude.Maybe [SnapshotFilter])+describeSnapshots_filters = Lens.lens (\DescribeSnapshots' {filters} -> filters) (\s@DescribeSnapshots' {} a -> s {filters = a} :: DescribeSnapshots) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+describeSnapshots_maxResults :: Lens.Lens' DescribeSnapshots (Prelude.Maybe Prelude.Natural)+describeSnapshots_maxResults = Lens.lens (\DescribeSnapshots' {maxResults} -> maxResults) (\s@DescribeSnapshots' {} a -> s {maxResults = a} :: DescribeSnapshots)++-- | Undocumented member.+describeSnapshots_nextToken :: Lens.Lens' DescribeSnapshots (Prelude.Maybe Prelude.Text)+describeSnapshots_nextToken = Lens.lens (\DescribeSnapshots' {nextToken} -> nextToken) (\s@DescribeSnapshots' {} a -> s {nextToken = a} :: DescribeSnapshots)++-- | The IDs of the snapshots that you want to retrieve. This parameter value+-- overrides any filters. If any IDs aren\'t found, a @SnapshotNotFound@+-- error occurs.+describeSnapshots_snapshotIds :: Lens.Lens' DescribeSnapshots (Prelude.Maybe [Prelude.Text])+describeSnapshots_snapshotIds = Lens.lens (\DescribeSnapshots' {snapshotIds} -> snapshotIds) (\s@DescribeSnapshots' {} a -> s {snapshotIds = a} :: DescribeSnapshots) Prelude.. Lens.mapping Lens.coerced++instance Core.AWSRequest DescribeSnapshots where+ type+ AWSResponse DescribeSnapshots =+ DescribeSnapshotsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeSnapshotsResponse'+ Prelude.<$> (x Data..?> "NextToken")+ Prelude.<*> (x Data..?> "Snapshots" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DescribeSnapshots where+ hashWithSalt _salt DescribeSnapshots' {..} =+ _salt+ `Prelude.hashWithSalt` filters+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` snapshotIds++instance Prelude.NFData DescribeSnapshots where+ rnf DescribeSnapshots' {..} =+ Prelude.rnf filters+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf snapshotIds++instance Data.ToHeaders DescribeSnapshots where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSSimbaAPIService_v20180301.DescribeSnapshots" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DescribeSnapshots where+ toJSON DescribeSnapshots' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Filters" Data..=) Prelude.<$> filters,+ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken,+ ("SnapshotIds" Data..=) Prelude.<$> snapshotIds+ ]+ )++instance Data.ToPath DescribeSnapshots where+ toPath = Prelude.const "/"++instance Data.ToQuery DescribeSnapshots where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeSnapshotsResponse' smart constructor.+data DescribeSnapshotsResponse = DescribeSnapshotsResponse'+ { nextToken :: Prelude.Maybe Prelude.Text,+ -- | An array of snapshots.+ snapshots :: Prelude.Maybe [Snapshot],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeSnapshotsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'describeSnapshotsResponse_nextToken' - Undocumented member.+--+-- 'snapshots', 'describeSnapshotsResponse_snapshots' - An array of snapshots.+--+-- 'httpStatus', 'describeSnapshotsResponse_httpStatus' - The response's http status code.+newDescribeSnapshotsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeSnapshotsResponse+newDescribeSnapshotsResponse pHttpStatus_ =+ DescribeSnapshotsResponse'+ { nextToken =+ Prelude.Nothing,+ snapshots = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Undocumented member.+describeSnapshotsResponse_nextToken :: Lens.Lens' DescribeSnapshotsResponse (Prelude.Maybe Prelude.Text)+describeSnapshotsResponse_nextToken = Lens.lens (\DescribeSnapshotsResponse' {nextToken} -> nextToken) (\s@DescribeSnapshotsResponse' {} a -> s {nextToken = a} :: DescribeSnapshotsResponse)++-- | An array of snapshots.+describeSnapshotsResponse_snapshots :: Lens.Lens' DescribeSnapshotsResponse (Prelude.Maybe [Snapshot])+describeSnapshotsResponse_snapshots = Lens.lens (\DescribeSnapshotsResponse' {snapshots} -> snapshots) (\s@DescribeSnapshotsResponse' {} a -> s {snapshots = a} :: DescribeSnapshotsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+describeSnapshotsResponse_httpStatus :: Lens.Lens' DescribeSnapshotsResponse Prelude.Int+describeSnapshotsResponse_httpStatus = Lens.lens (\DescribeSnapshotsResponse' {httpStatus} -> httpStatus) (\s@DescribeSnapshotsResponse' {} a -> s {httpStatus = a} :: DescribeSnapshotsResponse)++instance Prelude.NFData DescribeSnapshotsResponse where+ rnf DescribeSnapshotsResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf snapshots+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FSx/DescribeStorageVirtualMachines.hs view
@@ -0,0 +1,271 @@+{-# 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.FSx.DescribeStorageVirtualMachines+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Describes one or more Amazon FSx for NetApp ONTAP storage virtual+-- machines (SVMs).+--+-- This operation returns paginated results.+module Amazonka.FSx.DescribeStorageVirtualMachines+ ( -- * Creating a Request+ DescribeStorageVirtualMachines (..),+ newDescribeStorageVirtualMachines,++ -- * Request Lenses+ describeStorageVirtualMachines_filters,+ describeStorageVirtualMachines_maxResults,+ describeStorageVirtualMachines_nextToken,+ describeStorageVirtualMachines_storageVirtualMachineIds,++ -- * Destructuring the Response+ DescribeStorageVirtualMachinesResponse (..),+ newDescribeStorageVirtualMachinesResponse,++ -- * Response Lenses+ describeStorageVirtualMachinesResponse_nextToken,+ describeStorageVirtualMachinesResponse_storageVirtualMachines,+ describeStorageVirtualMachinesResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeStorageVirtualMachines' smart constructor.+data DescribeStorageVirtualMachines = DescribeStorageVirtualMachines'+ { -- | Enter a filter name:value pair to view a select set of SVMs.+ filters :: Prelude.Maybe [StorageVirtualMachineFilter],+ maxResults :: Prelude.Maybe Prelude.Natural,+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | Enter the ID of one or more SVMs that you want to view.+ storageVirtualMachineIds :: Prelude.Maybe [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeStorageVirtualMachines' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'describeStorageVirtualMachines_filters' - Enter a filter name:value pair to view a select set of SVMs.+--+-- 'maxResults', 'describeStorageVirtualMachines_maxResults' - Undocumented member.+--+-- 'nextToken', 'describeStorageVirtualMachines_nextToken' - Undocumented member.+--+-- 'storageVirtualMachineIds', 'describeStorageVirtualMachines_storageVirtualMachineIds' - Enter the ID of one or more SVMs that you want to view.+newDescribeStorageVirtualMachines ::+ DescribeStorageVirtualMachines+newDescribeStorageVirtualMachines =+ DescribeStorageVirtualMachines'+ { filters =+ Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ storageVirtualMachineIds = Prelude.Nothing+ }++-- | Enter a filter name:value pair to view a select set of SVMs.+describeStorageVirtualMachines_filters :: Lens.Lens' DescribeStorageVirtualMachines (Prelude.Maybe [StorageVirtualMachineFilter])+describeStorageVirtualMachines_filters = Lens.lens (\DescribeStorageVirtualMachines' {filters} -> filters) (\s@DescribeStorageVirtualMachines' {} a -> s {filters = a} :: DescribeStorageVirtualMachines) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+describeStorageVirtualMachines_maxResults :: Lens.Lens' DescribeStorageVirtualMachines (Prelude.Maybe Prelude.Natural)+describeStorageVirtualMachines_maxResults = Lens.lens (\DescribeStorageVirtualMachines' {maxResults} -> maxResults) (\s@DescribeStorageVirtualMachines' {} a -> s {maxResults = a} :: DescribeStorageVirtualMachines)++-- | Undocumented member.+describeStorageVirtualMachines_nextToken :: Lens.Lens' DescribeStorageVirtualMachines (Prelude.Maybe Prelude.Text)+describeStorageVirtualMachines_nextToken = Lens.lens (\DescribeStorageVirtualMachines' {nextToken} -> nextToken) (\s@DescribeStorageVirtualMachines' {} a -> s {nextToken = a} :: DescribeStorageVirtualMachines)++-- | Enter the ID of one or more SVMs that you want to view.+describeStorageVirtualMachines_storageVirtualMachineIds :: Lens.Lens' DescribeStorageVirtualMachines (Prelude.Maybe [Prelude.Text])+describeStorageVirtualMachines_storageVirtualMachineIds = Lens.lens (\DescribeStorageVirtualMachines' {storageVirtualMachineIds} -> storageVirtualMachineIds) (\s@DescribeStorageVirtualMachines' {} a -> s {storageVirtualMachineIds = a} :: DescribeStorageVirtualMachines) Prelude.. Lens.mapping Lens.coerced++instance Core.AWSPager DescribeStorageVirtualMachines where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? describeStorageVirtualMachinesResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? describeStorageVirtualMachinesResponse_storageVirtualMachines+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& describeStorageVirtualMachines_nextToken+ Lens..~ rs+ Lens.^? describeStorageVirtualMachinesResponse_nextToken+ Prelude.. Lens._Just++instance+ Core.AWSRequest+ DescribeStorageVirtualMachines+ where+ type+ AWSResponse DescribeStorageVirtualMachines =+ DescribeStorageVirtualMachinesResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeStorageVirtualMachinesResponse'+ Prelude.<$> (x Data..?> "NextToken")+ Prelude.<*> ( x+ Data..?> "StorageVirtualMachines"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ DescribeStorageVirtualMachines+ where+ hashWithSalt+ _salt+ DescribeStorageVirtualMachines' {..} =+ _salt+ `Prelude.hashWithSalt` filters+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` storageVirtualMachineIds++instance+ Prelude.NFData+ DescribeStorageVirtualMachines+ where+ rnf DescribeStorageVirtualMachines' {..} =+ Prelude.rnf filters+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf storageVirtualMachineIds++instance+ Data.ToHeaders+ DescribeStorageVirtualMachines+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSSimbaAPIService_v20180301.DescribeStorageVirtualMachines" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DescribeStorageVirtualMachines where+ toJSON DescribeStorageVirtualMachines' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Filters" Data..=) Prelude.<$> filters,+ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken,+ ("StorageVirtualMachineIds" Data..=)+ Prelude.<$> storageVirtualMachineIds+ ]+ )++instance Data.ToPath DescribeStorageVirtualMachines where+ toPath = Prelude.const "/"++instance Data.ToQuery DescribeStorageVirtualMachines where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeStorageVirtualMachinesResponse' smart constructor.+data DescribeStorageVirtualMachinesResponse = DescribeStorageVirtualMachinesResponse'+ { nextToken :: Prelude.Maybe Prelude.Text,+ -- | Returned after a successful @DescribeStorageVirtualMachines@ operation,+ -- describing each SVM.+ storageVirtualMachines :: Prelude.Maybe [StorageVirtualMachine],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeStorageVirtualMachinesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'describeStorageVirtualMachinesResponse_nextToken' - Undocumented member.+--+-- 'storageVirtualMachines', 'describeStorageVirtualMachinesResponse_storageVirtualMachines' - Returned after a successful @DescribeStorageVirtualMachines@ operation,+-- describing each SVM.+--+-- 'httpStatus', 'describeStorageVirtualMachinesResponse_httpStatus' - The response's http status code.+newDescribeStorageVirtualMachinesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeStorageVirtualMachinesResponse+newDescribeStorageVirtualMachinesResponse+ pHttpStatus_ =+ DescribeStorageVirtualMachinesResponse'+ { nextToken =+ Prelude.Nothing,+ storageVirtualMachines =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Undocumented member.+describeStorageVirtualMachinesResponse_nextToken :: Lens.Lens' DescribeStorageVirtualMachinesResponse (Prelude.Maybe Prelude.Text)+describeStorageVirtualMachinesResponse_nextToken = Lens.lens (\DescribeStorageVirtualMachinesResponse' {nextToken} -> nextToken) (\s@DescribeStorageVirtualMachinesResponse' {} a -> s {nextToken = a} :: DescribeStorageVirtualMachinesResponse)++-- | Returned after a successful @DescribeStorageVirtualMachines@ operation,+-- describing each SVM.+describeStorageVirtualMachinesResponse_storageVirtualMachines :: Lens.Lens' DescribeStorageVirtualMachinesResponse (Prelude.Maybe [StorageVirtualMachine])+describeStorageVirtualMachinesResponse_storageVirtualMachines = Lens.lens (\DescribeStorageVirtualMachinesResponse' {storageVirtualMachines} -> storageVirtualMachines) (\s@DescribeStorageVirtualMachinesResponse' {} a -> s {storageVirtualMachines = a} :: DescribeStorageVirtualMachinesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+describeStorageVirtualMachinesResponse_httpStatus :: Lens.Lens' DescribeStorageVirtualMachinesResponse Prelude.Int+describeStorageVirtualMachinesResponse_httpStatus = Lens.lens (\DescribeStorageVirtualMachinesResponse' {httpStatus} -> httpStatus) (\s@DescribeStorageVirtualMachinesResponse' {} a -> s {httpStatus = a} :: DescribeStorageVirtualMachinesResponse)++instance+ Prelude.NFData+ DescribeStorageVirtualMachinesResponse+ where+ rnf DescribeStorageVirtualMachinesResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf storageVirtualMachines+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FSx/DescribeVolumes.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.FSx.DescribeVolumes+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Describes one or more Amazon FSx for NetApp ONTAP or Amazon FSx for+-- OpenZFS volumes.+--+-- This operation returns paginated results.+module Amazonka.FSx.DescribeVolumes+ ( -- * Creating a Request+ DescribeVolumes (..),+ newDescribeVolumes,++ -- * Request Lenses+ describeVolumes_filters,+ describeVolumes_maxResults,+ describeVolumes_nextToken,+ describeVolumes_volumeIds,++ -- * Destructuring the Response+ DescribeVolumesResponse (..),+ newDescribeVolumesResponse,++ -- * Response Lenses+ describeVolumesResponse_nextToken,+ describeVolumesResponse_volumes,+ describeVolumesResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeVolumes' smart constructor.+data DescribeVolumes = DescribeVolumes'+ { -- | Enter a filter @Name@ and @Values@ pair to view a select set of volumes.+ filters :: Prelude.Maybe [VolumeFilter],+ maxResults :: Prelude.Maybe Prelude.Natural,+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The IDs of the volumes whose descriptions you want to retrieve.+ volumeIds :: Prelude.Maybe [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeVolumes' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'describeVolumes_filters' - Enter a filter @Name@ and @Values@ pair to view a select set of volumes.+--+-- 'maxResults', 'describeVolumes_maxResults' - Undocumented member.+--+-- 'nextToken', 'describeVolumes_nextToken' - Undocumented member.+--+-- 'volumeIds', 'describeVolumes_volumeIds' - The IDs of the volumes whose descriptions you want to retrieve.+newDescribeVolumes ::+ DescribeVolumes+newDescribeVolumes =+ DescribeVolumes'+ { filters = Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ volumeIds = Prelude.Nothing+ }++-- | Enter a filter @Name@ and @Values@ pair to view a select set of volumes.+describeVolumes_filters :: Lens.Lens' DescribeVolumes (Prelude.Maybe [VolumeFilter])+describeVolumes_filters = Lens.lens (\DescribeVolumes' {filters} -> filters) (\s@DescribeVolumes' {} a -> s {filters = a} :: DescribeVolumes) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+describeVolumes_maxResults :: Lens.Lens' DescribeVolumes (Prelude.Maybe Prelude.Natural)+describeVolumes_maxResults = Lens.lens (\DescribeVolumes' {maxResults} -> maxResults) (\s@DescribeVolumes' {} a -> s {maxResults = a} :: DescribeVolumes)++-- | Undocumented member.+describeVolumes_nextToken :: Lens.Lens' DescribeVolumes (Prelude.Maybe Prelude.Text)+describeVolumes_nextToken = Lens.lens (\DescribeVolumes' {nextToken} -> nextToken) (\s@DescribeVolumes' {} a -> s {nextToken = a} :: DescribeVolumes)++-- | The IDs of the volumes whose descriptions you want to retrieve.+describeVolumes_volumeIds :: Lens.Lens' DescribeVolumes (Prelude.Maybe [Prelude.Text])+describeVolumes_volumeIds = Lens.lens (\DescribeVolumes' {volumeIds} -> volumeIds) (\s@DescribeVolumes' {} a -> s {volumeIds = a} :: DescribeVolumes) Prelude.. Lens.mapping Lens.coerced++instance Core.AWSPager DescribeVolumes where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? describeVolumesResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? describeVolumesResponse_volumes+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& describeVolumes_nextToken+ Lens..~ rs+ Lens.^? describeVolumesResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest DescribeVolumes where+ type+ AWSResponse DescribeVolumes =+ DescribeVolumesResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeVolumesResponse'+ Prelude.<$> (x Data..?> "NextToken")+ Prelude.<*> (x Data..?> "Volumes" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DescribeVolumes where+ hashWithSalt _salt DescribeVolumes' {..} =+ _salt+ `Prelude.hashWithSalt` filters+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` volumeIds++instance Prelude.NFData DescribeVolumes where+ rnf DescribeVolumes' {..} =+ Prelude.rnf filters+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf volumeIds++instance Data.ToHeaders DescribeVolumes where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSSimbaAPIService_v20180301.DescribeVolumes" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DescribeVolumes where+ toJSON DescribeVolumes' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Filters" Data..=) Prelude.<$> filters,+ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken,+ ("VolumeIds" Data..=) Prelude.<$> volumeIds+ ]+ )++instance Data.ToPath DescribeVolumes where+ toPath = Prelude.const "/"++instance Data.ToQuery DescribeVolumes where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeVolumesResponse' smart constructor.+data DescribeVolumesResponse = DescribeVolumesResponse'+ { nextToken :: Prelude.Maybe Prelude.Text,+ -- | Returned after a successful @DescribeVolumes@ operation, describing each+ -- volume.+ volumes :: Prelude.Maybe [Volume],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeVolumesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'describeVolumesResponse_nextToken' - Undocumented member.+--+-- 'volumes', 'describeVolumesResponse_volumes' - Returned after a successful @DescribeVolumes@ operation, describing each+-- volume.+--+-- 'httpStatus', 'describeVolumesResponse_httpStatus' - The response's http status code.+newDescribeVolumesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeVolumesResponse+newDescribeVolumesResponse pHttpStatus_ =+ DescribeVolumesResponse'+ { nextToken =+ Prelude.Nothing,+ volumes = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Undocumented member.+describeVolumesResponse_nextToken :: Lens.Lens' DescribeVolumesResponse (Prelude.Maybe Prelude.Text)+describeVolumesResponse_nextToken = Lens.lens (\DescribeVolumesResponse' {nextToken} -> nextToken) (\s@DescribeVolumesResponse' {} a -> s {nextToken = a} :: DescribeVolumesResponse)++-- | Returned after a successful @DescribeVolumes@ operation, describing each+-- volume.+describeVolumesResponse_volumes :: Lens.Lens' DescribeVolumesResponse (Prelude.Maybe [Volume])+describeVolumesResponse_volumes = Lens.lens (\DescribeVolumesResponse' {volumes} -> volumes) (\s@DescribeVolumesResponse' {} a -> s {volumes = a} :: DescribeVolumesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+describeVolumesResponse_httpStatus :: Lens.Lens' DescribeVolumesResponse Prelude.Int+describeVolumesResponse_httpStatus = Lens.lens (\DescribeVolumesResponse' {httpStatus} -> httpStatus) (\s@DescribeVolumesResponse' {} a -> s {httpStatus = a} :: DescribeVolumesResponse)++instance Prelude.NFData DescribeVolumesResponse where+ rnf DescribeVolumesResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf volumes+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FSx/DisassociateFileSystemAliases.hs view
@@ -0,0 +1,233 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FSx.DisassociateFileSystemAliases+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Use this action to disassociate, or remove, one or more Domain Name+-- Service (DNS) aliases from an Amazon FSx for Windows File Server file+-- system. If you attempt to disassociate a DNS alias that is not+-- associated with the file system, Amazon FSx responds with a 400 Bad+-- Request. For more information, see+-- <https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-dns-aliases.html Working with DNS Aliases>.+--+-- The system generated response showing the DNS aliases that Amazon FSx is+-- attempting to disassociate from the file system. Use the API operation+-- to monitor the status of the aliases Amazon FSx is disassociating with+-- the file system.+module Amazonka.FSx.DisassociateFileSystemAliases+ ( -- * Creating a Request+ DisassociateFileSystemAliases (..),+ newDisassociateFileSystemAliases,++ -- * Request Lenses+ disassociateFileSystemAliases_clientRequestToken,+ disassociateFileSystemAliases_fileSystemId,+ disassociateFileSystemAliases_aliases,++ -- * Destructuring the Response+ DisassociateFileSystemAliasesResponse (..),+ newDisassociateFileSystemAliasesResponse,++ -- * Response Lenses+ disassociateFileSystemAliasesResponse_aliases,+ disassociateFileSystemAliasesResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | The request object of DNS aliases to disassociate from an Amazon FSx for+-- Windows File Server file system.+--+-- /See:/ 'newDisassociateFileSystemAliases' smart constructor.+data DisassociateFileSystemAliases = DisassociateFileSystemAliases'+ { clientRequestToken :: Prelude.Maybe Prelude.Text,+ -- | Specifies the file system from which to disassociate the DNS aliases.+ fileSystemId :: Prelude.Text,+ -- | An array of one or more DNS alias names to disassociate, or remove, from+ -- the file system.+ aliases :: [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateFileSystemAliases' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientRequestToken', 'disassociateFileSystemAliases_clientRequestToken' - Undocumented member.+--+-- 'fileSystemId', 'disassociateFileSystemAliases_fileSystemId' - Specifies the file system from which to disassociate the DNS aliases.+--+-- 'aliases', 'disassociateFileSystemAliases_aliases' - An array of one or more DNS alias names to disassociate, or remove, from+-- the file system.+newDisassociateFileSystemAliases ::+ -- | 'fileSystemId'+ Prelude.Text ->+ DisassociateFileSystemAliases+newDisassociateFileSystemAliases pFileSystemId_ =+ DisassociateFileSystemAliases'+ { clientRequestToken =+ Prelude.Nothing,+ fileSystemId = pFileSystemId_,+ aliases = Prelude.mempty+ }++-- | Undocumented member.+disassociateFileSystemAliases_clientRequestToken :: Lens.Lens' DisassociateFileSystemAliases (Prelude.Maybe Prelude.Text)+disassociateFileSystemAliases_clientRequestToken = Lens.lens (\DisassociateFileSystemAliases' {clientRequestToken} -> clientRequestToken) (\s@DisassociateFileSystemAliases' {} a -> s {clientRequestToken = a} :: DisassociateFileSystemAliases)++-- | Specifies the file system from which to disassociate the DNS aliases.+disassociateFileSystemAliases_fileSystemId :: Lens.Lens' DisassociateFileSystemAliases Prelude.Text+disassociateFileSystemAliases_fileSystemId = Lens.lens (\DisassociateFileSystemAliases' {fileSystemId} -> fileSystemId) (\s@DisassociateFileSystemAliases' {} a -> s {fileSystemId = a} :: DisassociateFileSystemAliases)++-- | An array of one or more DNS alias names to disassociate, or remove, from+-- the file system.+disassociateFileSystemAliases_aliases :: Lens.Lens' DisassociateFileSystemAliases [Prelude.Text]+disassociateFileSystemAliases_aliases = Lens.lens (\DisassociateFileSystemAliases' {aliases} -> aliases) (\s@DisassociateFileSystemAliases' {} a -> s {aliases = a} :: DisassociateFileSystemAliases) Prelude.. Lens.coerced++instance+ Core.AWSRequest+ DisassociateFileSystemAliases+ where+ type+ AWSResponse DisassociateFileSystemAliases =+ DisassociateFileSystemAliasesResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DisassociateFileSystemAliasesResponse'+ Prelude.<$> (x Data..?> "Aliases" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ DisassociateFileSystemAliases+ where+ hashWithSalt _salt DisassociateFileSystemAliases' {..} =+ _salt+ `Prelude.hashWithSalt` clientRequestToken+ `Prelude.hashWithSalt` fileSystemId+ `Prelude.hashWithSalt` aliases++instance Prelude.NFData DisassociateFileSystemAliases where+ rnf DisassociateFileSystemAliases' {..} =+ Prelude.rnf clientRequestToken+ `Prelude.seq` Prelude.rnf fileSystemId+ `Prelude.seq` Prelude.rnf aliases++instance Data.ToHeaders DisassociateFileSystemAliases where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSSimbaAPIService_v20180301.DisassociateFileSystemAliases" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DisassociateFileSystemAliases where+ toJSON DisassociateFileSystemAliases' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("ClientRequestToken" Data..=)+ Prelude.<$> clientRequestToken,+ Prelude.Just ("FileSystemId" Data..= fileSystemId),+ Prelude.Just ("Aliases" Data..= aliases)+ ]+ )++instance Data.ToPath DisassociateFileSystemAliases where+ toPath = Prelude.const "/"++instance Data.ToQuery DisassociateFileSystemAliases where+ toQuery = Prelude.const Prelude.mempty++-- | The system generated response showing the DNS aliases that Amazon FSx is+-- attempting to disassociate from the file system. Use the API operation+-- to monitor the status of the aliases Amazon FSx is removing from the+-- file system.+--+-- /See:/ 'newDisassociateFileSystemAliasesResponse' smart constructor.+data DisassociateFileSystemAliasesResponse = DisassociateFileSystemAliasesResponse'+ { -- | An array of one or more DNS aliases that Amazon FSx is attempting to+ -- disassociate from the file system.+ aliases :: Prelude.Maybe [Alias],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateFileSystemAliasesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'aliases', 'disassociateFileSystemAliasesResponse_aliases' - An array of one or more DNS aliases that Amazon FSx is attempting to+-- disassociate from the file system.+--+-- 'httpStatus', 'disassociateFileSystemAliasesResponse_httpStatus' - The response's http status code.+newDisassociateFileSystemAliasesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DisassociateFileSystemAliasesResponse+newDisassociateFileSystemAliasesResponse pHttpStatus_ =+ DisassociateFileSystemAliasesResponse'+ { aliases =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | An array of one or more DNS aliases that Amazon FSx is attempting to+-- disassociate from the file system.+disassociateFileSystemAliasesResponse_aliases :: Lens.Lens' DisassociateFileSystemAliasesResponse (Prelude.Maybe [Alias])+disassociateFileSystemAliasesResponse_aliases = Lens.lens (\DisassociateFileSystemAliasesResponse' {aliases} -> aliases) (\s@DisassociateFileSystemAliasesResponse' {} a -> s {aliases = a} :: DisassociateFileSystemAliasesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+disassociateFileSystemAliasesResponse_httpStatus :: Lens.Lens' DisassociateFileSystemAliasesResponse Prelude.Int+disassociateFileSystemAliasesResponse_httpStatus = Lens.lens (\DisassociateFileSystemAliasesResponse' {httpStatus} -> httpStatus) (\s@DisassociateFileSystemAliasesResponse' {} a -> s {httpStatus = a} :: DisassociateFileSystemAliasesResponse)++instance+ Prelude.NFData+ DisassociateFileSystemAliasesResponse+ where+ rnf DisassociateFileSystemAliasesResponse' {..} =+ Prelude.rnf aliases+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FSx/Lens.hs view
@@ -0,0 +1,1158 @@+{-# 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.FSx.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.FSx.Lens+ ( -- * Operations++ -- ** AssociateFileSystemAliases+ associateFileSystemAliases_clientRequestToken,+ associateFileSystemAliases_fileSystemId,+ associateFileSystemAliases_aliases,+ associateFileSystemAliasesResponse_aliases,+ associateFileSystemAliasesResponse_httpStatus,++ -- ** CancelDataRepositoryTask+ cancelDataRepositoryTask_taskId,+ cancelDataRepositoryTaskResponse_lifecycle,+ cancelDataRepositoryTaskResponse_taskId,+ cancelDataRepositoryTaskResponse_httpStatus,++ -- ** CopyBackup+ copyBackup_clientRequestToken,+ copyBackup_copyTags,+ copyBackup_kmsKeyId,+ copyBackup_sourceRegion,+ copyBackup_tags,+ copyBackup_sourceBackupId,+ copyBackupResponse_backup,+ copyBackupResponse_httpStatus,++ -- ** CreateBackup+ createBackup_clientRequestToken,+ createBackup_fileSystemId,+ createBackup_tags,+ createBackup_volumeId,+ createBackupResponse_backup,+ createBackupResponse_httpStatus,++ -- ** CreateDataRepositoryAssociation+ createDataRepositoryAssociation_batchImportMetaDataOnCreate,+ createDataRepositoryAssociation_clientRequestToken,+ createDataRepositoryAssociation_fileSystemPath,+ createDataRepositoryAssociation_importedFileChunkSize,+ createDataRepositoryAssociation_s3,+ createDataRepositoryAssociation_tags,+ createDataRepositoryAssociation_fileSystemId,+ createDataRepositoryAssociation_dataRepositoryPath,+ createDataRepositoryAssociationResponse_association,+ createDataRepositoryAssociationResponse_httpStatus,++ -- ** CreateDataRepositoryTask+ createDataRepositoryTask_capacityToRelease,+ createDataRepositoryTask_clientRequestToken,+ createDataRepositoryTask_paths,+ createDataRepositoryTask_tags,+ createDataRepositoryTask_type,+ createDataRepositoryTask_fileSystemId,+ createDataRepositoryTask_report,+ createDataRepositoryTaskResponse_dataRepositoryTask,+ createDataRepositoryTaskResponse_httpStatus,++ -- ** CreateFileCache+ createFileCache_clientRequestToken,+ createFileCache_copyTagsToDataRepositoryAssociations,+ createFileCache_dataRepositoryAssociations,+ createFileCache_kmsKeyId,+ createFileCache_lustreConfiguration,+ createFileCache_securityGroupIds,+ createFileCache_tags,+ createFileCache_fileCacheType,+ createFileCache_fileCacheTypeVersion,+ createFileCache_storageCapacity,+ createFileCache_subnetIds,+ createFileCacheResponse_fileCache,+ createFileCacheResponse_httpStatus,++ -- ** CreateFileSystem+ createFileSystem_clientRequestToken,+ createFileSystem_fileSystemTypeVersion,+ createFileSystem_kmsKeyId,+ createFileSystem_lustreConfiguration,+ createFileSystem_ontapConfiguration,+ createFileSystem_openZFSConfiguration,+ createFileSystem_securityGroupIds,+ createFileSystem_storageType,+ createFileSystem_tags,+ createFileSystem_windowsConfiguration,+ createFileSystem_fileSystemType,+ createFileSystem_storageCapacity,+ createFileSystem_subnetIds,+ createFileSystemResponse_fileSystem,+ createFileSystemResponse_httpStatus,++ -- ** CreateFileSystemFromBackup+ createFileSystemFromBackup_clientRequestToken,+ createFileSystemFromBackup_fileSystemTypeVersion,+ createFileSystemFromBackup_kmsKeyId,+ createFileSystemFromBackup_lustreConfiguration,+ createFileSystemFromBackup_openZFSConfiguration,+ createFileSystemFromBackup_securityGroupIds,+ createFileSystemFromBackup_storageCapacity,+ createFileSystemFromBackup_storageType,+ createFileSystemFromBackup_tags,+ createFileSystemFromBackup_windowsConfiguration,+ createFileSystemFromBackup_backupId,+ createFileSystemFromBackup_subnetIds,+ createFileSystemFromBackupResponse_fileSystem,+ createFileSystemFromBackupResponse_httpStatus,++ -- ** CreateSnapshot+ createSnapshot_clientRequestToken,+ createSnapshot_tags,+ createSnapshot_name,+ createSnapshot_volumeId,+ createSnapshotResponse_snapshot,+ createSnapshotResponse_httpStatus,++ -- ** CreateStorageVirtualMachine+ createStorageVirtualMachine_activeDirectoryConfiguration,+ createStorageVirtualMachine_clientRequestToken,+ createStorageVirtualMachine_rootVolumeSecurityStyle,+ createStorageVirtualMachine_svmAdminPassword,+ createStorageVirtualMachine_tags,+ createStorageVirtualMachine_fileSystemId,+ createStorageVirtualMachine_name,+ createStorageVirtualMachineResponse_storageVirtualMachine,+ createStorageVirtualMachineResponse_httpStatus,++ -- ** CreateVolume+ createVolume_clientRequestToken,+ createVolume_ontapConfiguration,+ createVolume_openZFSConfiguration,+ createVolume_tags,+ createVolume_volumeType,+ createVolume_name,+ createVolumeResponse_volume,+ createVolumeResponse_httpStatus,++ -- ** CreateVolumeFromBackup+ createVolumeFromBackup_clientRequestToken,+ createVolumeFromBackup_ontapConfiguration,+ createVolumeFromBackup_tags,+ createVolumeFromBackup_backupId,+ createVolumeFromBackup_name,+ createVolumeFromBackupResponse_volume,+ createVolumeFromBackupResponse_httpStatus,++ -- ** DeleteBackup+ deleteBackup_clientRequestToken,+ deleteBackup_backupId,+ deleteBackupResponse_backupId,+ deleteBackupResponse_lifecycle,+ deleteBackupResponse_httpStatus,++ -- ** DeleteDataRepositoryAssociation+ deleteDataRepositoryAssociation_clientRequestToken,+ deleteDataRepositoryAssociation_deleteDataInFileSystem,+ deleteDataRepositoryAssociation_associationId,+ deleteDataRepositoryAssociationResponse_associationId,+ deleteDataRepositoryAssociationResponse_deleteDataInFileSystem,+ deleteDataRepositoryAssociationResponse_lifecycle,+ deleteDataRepositoryAssociationResponse_httpStatus,++ -- ** DeleteFileCache+ deleteFileCache_clientRequestToken,+ deleteFileCache_fileCacheId,+ deleteFileCacheResponse_fileCacheId,+ deleteFileCacheResponse_lifecycle,+ deleteFileCacheResponse_httpStatus,++ -- ** DeleteFileSystem+ deleteFileSystem_clientRequestToken,+ deleteFileSystem_lustreConfiguration,+ deleteFileSystem_openZFSConfiguration,+ deleteFileSystem_windowsConfiguration,+ deleteFileSystem_fileSystemId,+ deleteFileSystemResponse_fileSystemId,+ deleteFileSystemResponse_lifecycle,+ deleteFileSystemResponse_lustreResponse,+ deleteFileSystemResponse_openZFSResponse,+ deleteFileSystemResponse_windowsResponse,+ deleteFileSystemResponse_httpStatus,++ -- ** DeleteSnapshot+ deleteSnapshot_clientRequestToken,+ deleteSnapshot_snapshotId,+ deleteSnapshotResponse_lifecycle,+ deleteSnapshotResponse_snapshotId,+ deleteSnapshotResponse_httpStatus,++ -- ** DeleteStorageVirtualMachine+ deleteStorageVirtualMachine_clientRequestToken,+ deleteStorageVirtualMachine_storageVirtualMachineId,+ deleteStorageVirtualMachineResponse_lifecycle,+ deleteStorageVirtualMachineResponse_storageVirtualMachineId,+ deleteStorageVirtualMachineResponse_httpStatus,++ -- ** DeleteVolume+ deleteVolume_clientRequestToken,+ deleteVolume_ontapConfiguration,+ deleteVolume_openZFSConfiguration,+ deleteVolume_volumeId,+ deleteVolumeResponse_lifecycle,+ deleteVolumeResponse_ontapResponse,+ deleteVolumeResponse_volumeId,+ deleteVolumeResponse_httpStatus,++ -- ** DescribeBackups+ describeBackups_backupIds,+ describeBackups_filters,+ describeBackups_maxResults,+ describeBackups_nextToken,+ describeBackupsResponse_backups,+ describeBackupsResponse_nextToken,+ describeBackupsResponse_httpStatus,++ -- ** DescribeDataRepositoryAssociations+ describeDataRepositoryAssociations_associationIds,+ describeDataRepositoryAssociations_filters,+ describeDataRepositoryAssociations_maxResults,+ describeDataRepositoryAssociations_nextToken,+ describeDataRepositoryAssociationsResponse_associations,+ describeDataRepositoryAssociationsResponse_nextToken,+ describeDataRepositoryAssociationsResponse_httpStatus,++ -- ** DescribeDataRepositoryTasks+ describeDataRepositoryTasks_filters,+ describeDataRepositoryTasks_maxResults,+ describeDataRepositoryTasks_nextToken,+ describeDataRepositoryTasks_taskIds,+ describeDataRepositoryTasksResponse_dataRepositoryTasks,+ describeDataRepositoryTasksResponse_nextToken,+ describeDataRepositoryTasksResponse_httpStatus,++ -- ** DescribeFileCaches+ describeFileCaches_fileCacheIds,+ describeFileCaches_maxResults,+ describeFileCaches_nextToken,+ describeFileCachesResponse_fileCaches,+ describeFileCachesResponse_nextToken,+ describeFileCachesResponse_httpStatus,++ -- ** DescribeFileSystemAliases+ describeFileSystemAliases_clientRequestToken,+ describeFileSystemAliases_maxResults,+ describeFileSystemAliases_nextToken,+ describeFileSystemAliases_fileSystemId,+ describeFileSystemAliasesResponse_aliases,+ describeFileSystemAliasesResponse_nextToken,+ describeFileSystemAliasesResponse_httpStatus,++ -- ** DescribeFileSystems+ describeFileSystems_fileSystemIds,+ describeFileSystems_maxResults,+ describeFileSystems_nextToken,+ describeFileSystemsResponse_fileSystems,+ describeFileSystemsResponse_nextToken,+ describeFileSystemsResponse_httpStatus,++ -- ** DescribeSnapshots+ describeSnapshots_filters,+ describeSnapshots_maxResults,+ describeSnapshots_nextToken,+ describeSnapshots_snapshotIds,+ describeSnapshotsResponse_nextToken,+ describeSnapshotsResponse_snapshots,+ describeSnapshotsResponse_httpStatus,++ -- ** DescribeStorageVirtualMachines+ describeStorageVirtualMachines_filters,+ describeStorageVirtualMachines_maxResults,+ describeStorageVirtualMachines_nextToken,+ describeStorageVirtualMachines_storageVirtualMachineIds,+ describeStorageVirtualMachinesResponse_nextToken,+ describeStorageVirtualMachinesResponse_storageVirtualMachines,+ describeStorageVirtualMachinesResponse_httpStatus,++ -- ** DescribeVolumes+ describeVolumes_filters,+ describeVolumes_maxResults,+ describeVolumes_nextToken,+ describeVolumes_volumeIds,+ describeVolumesResponse_nextToken,+ describeVolumesResponse_volumes,+ describeVolumesResponse_httpStatus,++ -- ** DisassociateFileSystemAliases+ disassociateFileSystemAliases_clientRequestToken,+ disassociateFileSystemAliases_fileSystemId,+ disassociateFileSystemAliases_aliases,+ disassociateFileSystemAliasesResponse_aliases,+ disassociateFileSystemAliasesResponse_httpStatus,++ -- ** ListTagsForResource+ listTagsForResource_maxResults,+ listTagsForResource_nextToken,+ listTagsForResource_resourceARN,+ listTagsForResourceResponse_nextToken,+ listTagsForResourceResponse_tags,+ listTagsForResourceResponse_httpStatus,++ -- ** ReleaseFileSystemNfsV3Locks+ releaseFileSystemNfsV3Locks_clientRequestToken,+ releaseFileSystemNfsV3Locks_fileSystemId,+ releaseFileSystemNfsV3LocksResponse_fileSystem,+ releaseFileSystemNfsV3LocksResponse_httpStatus,++ -- ** RestoreVolumeFromSnapshot+ restoreVolumeFromSnapshot_clientRequestToken,+ restoreVolumeFromSnapshot_options,+ restoreVolumeFromSnapshot_volumeId,+ restoreVolumeFromSnapshot_snapshotId,+ restoreVolumeFromSnapshotResponse_administrativeActions,+ restoreVolumeFromSnapshotResponse_lifecycle,+ restoreVolumeFromSnapshotResponse_volumeId,+ restoreVolumeFromSnapshotResponse_httpStatus,++ -- ** TagResource+ tagResource_resourceARN,+ tagResource_tags,+ tagResourceResponse_httpStatus,++ -- ** UntagResource+ untagResource_resourceARN,+ untagResource_tagKeys,+ untagResourceResponse_httpStatus,++ -- ** UpdateDataRepositoryAssociation+ updateDataRepositoryAssociation_clientRequestToken,+ updateDataRepositoryAssociation_importedFileChunkSize,+ updateDataRepositoryAssociation_s3,+ updateDataRepositoryAssociation_associationId,+ updateDataRepositoryAssociationResponse_association,+ updateDataRepositoryAssociationResponse_httpStatus,++ -- ** UpdateFileCache+ updateFileCache_clientRequestToken,+ updateFileCache_lustreConfiguration,+ updateFileCache_fileCacheId,+ updateFileCacheResponse_fileCache,+ updateFileCacheResponse_httpStatus,++ -- ** UpdateFileSystem+ updateFileSystem_clientRequestToken,+ updateFileSystem_lustreConfiguration,+ updateFileSystem_ontapConfiguration,+ updateFileSystem_openZFSConfiguration,+ updateFileSystem_storageCapacity,+ updateFileSystem_windowsConfiguration,+ updateFileSystem_fileSystemId,+ updateFileSystemResponse_fileSystem,+ updateFileSystemResponse_httpStatus,++ -- ** UpdateSnapshot+ updateSnapshot_clientRequestToken,+ updateSnapshot_name,+ updateSnapshot_snapshotId,+ updateSnapshotResponse_snapshot,+ updateSnapshotResponse_httpStatus,++ -- ** UpdateStorageVirtualMachine+ updateStorageVirtualMachine_activeDirectoryConfiguration,+ updateStorageVirtualMachine_clientRequestToken,+ updateStorageVirtualMachine_svmAdminPassword,+ updateStorageVirtualMachine_storageVirtualMachineId,+ updateStorageVirtualMachineResponse_storageVirtualMachine,+ updateStorageVirtualMachineResponse_httpStatus,++ -- ** UpdateVolume+ updateVolume_clientRequestToken,+ updateVolume_name,+ updateVolume_ontapConfiguration,+ updateVolume_openZFSConfiguration,+ updateVolume_volumeId,+ updateVolumeResponse_volume,+ updateVolumeResponse_httpStatus,++ -- * Types++ -- ** ActiveDirectoryBackupAttributes+ activeDirectoryBackupAttributes_activeDirectoryId,+ activeDirectoryBackupAttributes_domainName,+ activeDirectoryBackupAttributes_resourceARN,++ -- ** AdministrativeAction+ administrativeAction_administrativeActionType,+ administrativeAction_failureDetails,+ administrativeAction_progressPercent,+ administrativeAction_requestTime,+ administrativeAction_status,+ administrativeAction_targetFileSystemValues,+ administrativeAction_targetSnapshotValues,+ administrativeAction_targetVolumeValues,++ -- ** AdministrativeActionFailureDetails+ administrativeActionFailureDetails_message,++ -- ** Alias+ alias_lifecycle,+ alias_name,++ -- ** AutoExportPolicy+ autoExportPolicy_events,++ -- ** AutoImportPolicy+ autoImportPolicy_events,++ -- ** Backup+ backup_directoryInformation,+ backup_failureDetails,+ backup_kmsKeyId,+ backup_ownerId,+ backup_progressPercent,+ backup_resourceARN,+ backup_resourceType,+ backup_sourceBackupId,+ backup_sourceBackupRegion,+ backup_tags,+ backup_volume,+ backup_backupId,+ backup_lifecycle,+ backup_type,+ backup_creationTime,+ backup_fileSystem,++ -- ** BackupFailureDetails+ backupFailureDetails_message,++ -- ** CompletionReport+ completionReport_format,+ completionReport_path,+ completionReport_scope,+ completionReport_enabled,++ -- ** CreateFileCacheLustreConfiguration+ createFileCacheLustreConfiguration_weeklyMaintenanceStartTime,+ createFileCacheLustreConfiguration_perUnitStorageThroughput,+ createFileCacheLustreConfiguration_deploymentType,+ createFileCacheLustreConfiguration_metadataConfiguration,++ -- ** CreateFileSystemLustreConfiguration+ createFileSystemLustreConfiguration_autoImportPolicy,+ createFileSystemLustreConfiguration_automaticBackupRetentionDays,+ createFileSystemLustreConfiguration_copyTagsToBackups,+ createFileSystemLustreConfiguration_dailyAutomaticBackupStartTime,+ createFileSystemLustreConfiguration_dataCompressionType,+ createFileSystemLustreConfiguration_deploymentType,+ createFileSystemLustreConfiguration_driveCacheType,+ createFileSystemLustreConfiguration_exportPath,+ createFileSystemLustreConfiguration_importPath,+ createFileSystemLustreConfiguration_importedFileChunkSize,+ createFileSystemLustreConfiguration_logConfiguration,+ createFileSystemLustreConfiguration_perUnitStorageThroughput,+ createFileSystemLustreConfiguration_rootSquashConfiguration,+ createFileSystemLustreConfiguration_weeklyMaintenanceStartTime,++ -- ** CreateFileSystemOntapConfiguration+ createFileSystemOntapConfiguration_automaticBackupRetentionDays,+ createFileSystemOntapConfiguration_dailyAutomaticBackupStartTime,+ createFileSystemOntapConfiguration_diskIopsConfiguration,+ createFileSystemOntapConfiguration_endpointIpAddressRange,+ createFileSystemOntapConfiguration_fsxAdminPassword,+ createFileSystemOntapConfiguration_preferredSubnetId,+ createFileSystemOntapConfiguration_routeTableIds,+ createFileSystemOntapConfiguration_weeklyMaintenanceStartTime,+ createFileSystemOntapConfiguration_deploymentType,+ createFileSystemOntapConfiguration_throughputCapacity,++ -- ** CreateFileSystemOpenZFSConfiguration+ createFileSystemOpenZFSConfiguration_automaticBackupRetentionDays,+ createFileSystemOpenZFSConfiguration_copyTagsToBackups,+ createFileSystemOpenZFSConfiguration_copyTagsToVolumes,+ createFileSystemOpenZFSConfiguration_dailyAutomaticBackupStartTime,+ createFileSystemOpenZFSConfiguration_diskIopsConfiguration,+ createFileSystemOpenZFSConfiguration_rootVolumeConfiguration,+ createFileSystemOpenZFSConfiguration_weeklyMaintenanceStartTime,+ createFileSystemOpenZFSConfiguration_deploymentType,+ createFileSystemOpenZFSConfiguration_throughputCapacity,++ -- ** CreateFileSystemWindowsConfiguration+ createFileSystemWindowsConfiguration_activeDirectoryId,+ createFileSystemWindowsConfiguration_aliases,+ createFileSystemWindowsConfiguration_auditLogConfiguration,+ createFileSystemWindowsConfiguration_automaticBackupRetentionDays,+ createFileSystemWindowsConfiguration_copyTagsToBackups,+ createFileSystemWindowsConfiguration_dailyAutomaticBackupStartTime,+ createFileSystemWindowsConfiguration_deploymentType,+ createFileSystemWindowsConfiguration_preferredSubnetId,+ createFileSystemWindowsConfiguration_selfManagedActiveDirectoryConfiguration,+ createFileSystemWindowsConfiguration_weeklyMaintenanceStartTime,+ createFileSystemWindowsConfiguration_throughputCapacity,++ -- ** CreateOntapVolumeConfiguration+ createOntapVolumeConfiguration_copyTagsToBackups,+ createOntapVolumeConfiguration_junctionPath,+ createOntapVolumeConfiguration_ontapVolumeType,+ createOntapVolumeConfiguration_securityStyle,+ createOntapVolumeConfiguration_snapshotPolicy,+ createOntapVolumeConfiguration_storageEfficiencyEnabled,+ createOntapVolumeConfiguration_tieringPolicy,+ createOntapVolumeConfiguration_sizeInMegabytes,+ createOntapVolumeConfiguration_storageVirtualMachineId,++ -- ** CreateOpenZFSOriginSnapshotConfiguration+ createOpenZFSOriginSnapshotConfiguration_snapshotARN,+ createOpenZFSOriginSnapshotConfiguration_copyStrategy,++ -- ** CreateOpenZFSVolumeConfiguration+ createOpenZFSVolumeConfiguration_copyTagsToSnapshots,+ createOpenZFSVolumeConfiguration_dataCompressionType,+ createOpenZFSVolumeConfiguration_nfsExports,+ createOpenZFSVolumeConfiguration_originSnapshot,+ createOpenZFSVolumeConfiguration_readOnly,+ createOpenZFSVolumeConfiguration_recordSizeKiB,+ createOpenZFSVolumeConfiguration_storageCapacityQuotaGiB,+ createOpenZFSVolumeConfiguration_storageCapacityReservationGiB,+ createOpenZFSVolumeConfiguration_userAndGroupQuotas,+ createOpenZFSVolumeConfiguration_parentVolumeId,++ -- ** CreateSvmActiveDirectoryConfiguration+ createSvmActiveDirectoryConfiguration_selfManagedActiveDirectoryConfiguration,+ createSvmActiveDirectoryConfiguration_netBiosName,++ -- ** DataRepositoryAssociation+ dataRepositoryAssociation_associationId,+ dataRepositoryAssociation_batchImportMetaDataOnCreate,+ dataRepositoryAssociation_creationTime,+ dataRepositoryAssociation_dataRepositoryPath,+ dataRepositoryAssociation_dataRepositorySubdirectories,+ dataRepositoryAssociation_failureDetails,+ dataRepositoryAssociation_fileCacheId,+ dataRepositoryAssociation_fileCachePath,+ dataRepositoryAssociation_fileSystemId,+ dataRepositoryAssociation_fileSystemPath,+ dataRepositoryAssociation_importedFileChunkSize,+ dataRepositoryAssociation_lifecycle,+ dataRepositoryAssociation_nfs,+ dataRepositoryAssociation_resourceARN,+ dataRepositoryAssociation_s3,+ dataRepositoryAssociation_tags,++ -- ** DataRepositoryConfiguration+ dataRepositoryConfiguration_autoImportPolicy,+ dataRepositoryConfiguration_exportPath,+ dataRepositoryConfiguration_failureDetails,+ dataRepositoryConfiguration_importPath,+ dataRepositoryConfiguration_importedFileChunkSize,+ dataRepositoryConfiguration_lifecycle,++ -- ** DataRepositoryFailureDetails+ dataRepositoryFailureDetails_message,++ -- ** DataRepositoryTask+ dataRepositoryTask_capacityToRelease,+ dataRepositoryTask_endTime,+ dataRepositoryTask_failureDetails,+ dataRepositoryTask_fileCacheId,+ dataRepositoryTask_fileSystemId,+ dataRepositoryTask_paths,+ dataRepositoryTask_report,+ dataRepositoryTask_resourceARN,+ dataRepositoryTask_startTime,+ dataRepositoryTask_status,+ dataRepositoryTask_tags,+ dataRepositoryTask_taskId,+ dataRepositoryTask_lifecycle,+ dataRepositoryTask_type,+ dataRepositoryTask_creationTime,++ -- ** DataRepositoryTaskFailureDetails+ dataRepositoryTaskFailureDetails_message,++ -- ** DataRepositoryTaskFilter+ dataRepositoryTaskFilter_name,+ dataRepositoryTaskFilter_values,++ -- ** DataRepositoryTaskStatus+ dataRepositoryTaskStatus_failedCount,+ dataRepositoryTaskStatus_lastUpdatedTime,+ dataRepositoryTaskStatus_releasedCapacity,+ dataRepositoryTaskStatus_succeededCount,+ dataRepositoryTaskStatus_totalCount,++ -- ** DeleteFileSystemLustreConfiguration+ deleteFileSystemLustreConfiguration_finalBackupTags,+ deleteFileSystemLustreConfiguration_skipFinalBackup,++ -- ** DeleteFileSystemLustreResponse+ deleteFileSystemLustreResponse_finalBackupId,+ deleteFileSystemLustreResponse_finalBackupTags,++ -- ** DeleteFileSystemOpenZFSConfiguration+ deleteFileSystemOpenZFSConfiguration_finalBackupTags,+ deleteFileSystemOpenZFSConfiguration_options,+ deleteFileSystemOpenZFSConfiguration_skipFinalBackup,++ -- ** DeleteFileSystemOpenZFSResponse+ deleteFileSystemOpenZFSResponse_finalBackupId,+ deleteFileSystemOpenZFSResponse_finalBackupTags,++ -- ** DeleteFileSystemWindowsConfiguration+ deleteFileSystemWindowsConfiguration_finalBackupTags,+ deleteFileSystemWindowsConfiguration_skipFinalBackup,++ -- ** DeleteFileSystemWindowsResponse+ deleteFileSystemWindowsResponse_finalBackupId,+ deleteFileSystemWindowsResponse_finalBackupTags,++ -- ** DeleteVolumeOntapConfiguration+ deleteVolumeOntapConfiguration_finalBackupTags,+ deleteVolumeOntapConfiguration_skipFinalBackup,++ -- ** DeleteVolumeOntapResponse+ deleteVolumeOntapResponse_finalBackupId,+ deleteVolumeOntapResponse_finalBackupTags,++ -- ** DeleteVolumeOpenZFSConfiguration+ deleteVolumeOpenZFSConfiguration_options,++ -- ** DiskIopsConfiguration+ diskIopsConfiguration_iops,+ diskIopsConfiguration_mode,++ -- ** FileCache+ fileCache_creationTime,+ fileCache_dNSName,+ fileCache_dataRepositoryAssociationIds,+ fileCache_failureDetails,+ fileCache_fileCacheId,+ fileCache_fileCacheType,+ fileCache_fileCacheTypeVersion,+ fileCache_kmsKeyId,+ fileCache_lifecycle,+ fileCache_lustreConfiguration,+ fileCache_networkInterfaceIds,+ fileCache_ownerId,+ fileCache_resourceARN,+ fileCache_storageCapacity,+ fileCache_subnetIds,+ fileCache_vpcId,++ -- ** FileCacheCreating+ fileCacheCreating_copyTagsToDataRepositoryAssociations,+ fileCacheCreating_creationTime,+ fileCacheCreating_dNSName,+ fileCacheCreating_dataRepositoryAssociationIds,+ fileCacheCreating_failureDetails,+ fileCacheCreating_fileCacheId,+ fileCacheCreating_fileCacheType,+ fileCacheCreating_fileCacheTypeVersion,+ fileCacheCreating_kmsKeyId,+ fileCacheCreating_lifecycle,+ fileCacheCreating_lustreConfiguration,+ fileCacheCreating_networkInterfaceIds,+ fileCacheCreating_ownerId,+ fileCacheCreating_resourceARN,+ fileCacheCreating_storageCapacity,+ fileCacheCreating_subnetIds,+ fileCacheCreating_tags,+ fileCacheCreating_vpcId,++ -- ** FileCacheDataRepositoryAssociation+ fileCacheDataRepositoryAssociation_dataRepositorySubdirectories,+ fileCacheDataRepositoryAssociation_nfs,+ fileCacheDataRepositoryAssociation_fileCachePath,+ fileCacheDataRepositoryAssociation_dataRepositoryPath,++ -- ** FileCacheFailureDetails+ fileCacheFailureDetails_message,++ -- ** FileCacheLustreConfiguration+ fileCacheLustreConfiguration_deploymentType,+ fileCacheLustreConfiguration_logConfiguration,+ fileCacheLustreConfiguration_metadataConfiguration,+ fileCacheLustreConfiguration_mountName,+ fileCacheLustreConfiguration_perUnitStorageThroughput,+ fileCacheLustreConfiguration_weeklyMaintenanceStartTime,++ -- ** FileCacheLustreMetadataConfiguration+ fileCacheLustreMetadataConfiguration_storageCapacity,++ -- ** FileCacheNFSConfiguration+ fileCacheNFSConfiguration_dnsIps,+ fileCacheNFSConfiguration_version,++ -- ** FileSystem+ fileSystem_administrativeActions,+ fileSystem_creationTime,+ fileSystem_dNSName,+ fileSystem_failureDetails,+ fileSystem_fileSystemId,+ fileSystem_fileSystemType,+ fileSystem_fileSystemTypeVersion,+ fileSystem_kmsKeyId,+ fileSystem_lifecycle,+ fileSystem_lustreConfiguration,+ fileSystem_networkInterfaceIds,+ fileSystem_ontapConfiguration,+ fileSystem_openZFSConfiguration,+ fileSystem_ownerId,+ fileSystem_resourceARN,+ fileSystem_storageCapacity,+ fileSystem_storageType,+ fileSystem_subnetIds,+ fileSystem_tags,+ fileSystem_vpcId,+ fileSystem_windowsConfiguration,++ -- ** FileSystemEndpoint+ fileSystemEndpoint_dNSName,+ fileSystemEndpoint_ipAddresses,++ -- ** FileSystemEndpoints+ fileSystemEndpoints_intercluster,+ fileSystemEndpoints_management,++ -- ** FileSystemFailureDetails+ fileSystemFailureDetails_message,++ -- ** Filter+ filter_name,+ filter_values,++ -- ** LifecycleTransitionReason+ lifecycleTransitionReason_message,++ -- ** LustreFileSystemConfiguration+ lustreFileSystemConfiguration_automaticBackupRetentionDays,+ lustreFileSystemConfiguration_copyTagsToBackups,+ lustreFileSystemConfiguration_dailyAutomaticBackupStartTime,+ lustreFileSystemConfiguration_dataCompressionType,+ lustreFileSystemConfiguration_dataRepositoryConfiguration,+ lustreFileSystemConfiguration_deploymentType,+ lustreFileSystemConfiguration_driveCacheType,+ lustreFileSystemConfiguration_logConfiguration,+ lustreFileSystemConfiguration_mountName,+ lustreFileSystemConfiguration_perUnitStorageThroughput,+ lustreFileSystemConfiguration_rootSquashConfiguration,+ lustreFileSystemConfiguration_weeklyMaintenanceStartTime,++ -- ** LustreLogConfiguration+ lustreLogConfiguration_destination,+ lustreLogConfiguration_level,++ -- ** LustreLogCreateConfiguration+ lustreLogCreateConfiguration_destination,+ lustreLogCreateConfiguration_level,++ -- ** LustreRootSquashConfiguration+ lustreRootSquashConfiguration_noSquashNids,+ lustreRootSquashConfiguration_rootSquash,++ -- ** NFSDataRepositoryConfiguration+ nFSDataRepositoryConfiguration_autoExportPolicy,+ nFSDataRepositoryConfiguration_dnsIps,+ nFSDataRepositoryConfiguration_version,++ -- ** OntapFileSystemConfiguration+ ontapFileSystemConfiguration_automaticBackupRetentionDays,+ ontapFileSystemConfiguration_dailyAutomaticBackupStartTime,+ ontapFileSystemConfiguration_deploymentType,+ ontapFileSystemConfiguration_diskIopsConfiguration,+ ontapFileSystemConfiguration_endpointIpAddressRange,+ ontapFileSystemConfiguration_endpoints,+ ontapFileSystemConfiguration_preferredSubnetId,+ ontapFileSystemConfiguration_routeTableIds,+ ontapFileSystemConfiguration_throughputCapacity,+ ontapFileSystemConfiguration_weeklyMaintenanceStartTime,++ -- ** OntapVolumeConfiguration+ ontapVolumeConfiguration_copyTagsToBackups,+ ontapVolumeConfiguration_flexCacheEndpointType,+ ontapVolumeConfiguration_junctionPath,+ ontapVolumeConfiguration_ontapVolumeType,+ ontapVolumeConfiguration_securityStyle,+ ontapVolumeConfiguration_sizeInMegabytes,+ ontapVolumeConfiguration_snapshotPolicy,+ ontapVolumeConfiguration_storageEfficiencyEnabled,+ ontapVolumeConfiguration_storageVirtualMachineId,+ ontapVolumeConfiguration_storageVirtualMachineRoot,+ ontapVolumeConfiguration_tieringPolicy,+ ontapVolumeConfiguration_uuid,++ -- ** OpenZFSClientConfiguration+ openZFSClientConfiguration_clients,+ openZFSClientConfiguration_options,++ -- ** OpenZFSCreateRootVolumeConfiguration+ openZFSCreateRootVolumeConfiguration_copyTagsToSnapshots,+ openZFSCreateRootVolumeConfiguration_dataCompressionType,+ openZFSCreateRootVolumeConfiguration_nfsExports,+ openZFSCreateRootVolumeConfiguration_readOnly,+ openZFSCreateRootVolumeConfiguration_recordSizeKiB,+ openZFSCreateRootVolumeConfiguration_userAndGroupQuotas,++ -- ** OpenZFSFileSystemConfiguration+ openZFSFileSystemConfiguration_automaticBackupRetentionDays,+ openZFSFileSystemConfiguration_copyTagsToBackups,+ openZFSFileSystemConfiguration_copyTagsToVolumes,+ openZFSFileSystemConfiguration_dailyAutomaticBackupStartTime,+ openZFSFileSystemConfiguration_deploymentType,+ openZFSFileSystemConfiguration_diskIopsConfiguration,+ openZFSFileSystemConfiguration_rootVolumeId,+ openZFSFileSystemConfiguration_throughputCapacity,+ openZFSFileSystemConfiguration_weeklyMaintenanceStartTime,++ -- ** OpenZFSNfsExport+ openZFSNfsExport_clientConfigurations,++ -- ** OpenZFSOriginSnapshotConfiguration+ openZFSOriginSnapshotConfiguration_copyStrategy,+ openZFSOriginSnapshotConfiguration_snapshotARN,++ -- ** OpenZFSUserOrGroupQuota+ openZFSUserOrGroupQuota_type,+ openZFSUserOrGroupQuota_id,+ openZFSUserOrGroupQuota_storageCapacityQuotaGiB,++ -- ** OpenZFSVolumeConfiguration+ openZFSVolumeConfiguration_copyTagsToSnapshots,+ openZFSVolumeConfiguration_dataCompressionType,+ openZFSVolumeConfiguration_deleteClonedVolumes,+ openZFSVolumeConfiguration_deleteIntermediateSnaphots,+ openZFSVolumeConfiguration_nfsExports,+ openZFSVolumeConfiguration_originSnapshot,+ openZFSVolumeConfiguration_parentVolumeId,+ openZFSVolumeConfiguration_readOnly,+ openZFSVolumeConfiguration_recordSizeKiB,+ openZFSVolumeConfiguration_restoreToSnapshot,+ openZFSVolumeConfiguration_storageCapacityQuotaGiB,+ openZFSVolumeConfiguration_storageCapacityReservationGiB,+ openZFSVolumeConfiguration_userAndGroupQuotas,+ openZFSVolumeConfiguration_volumePath,++ -- ** S3DataRepositoryConfiguration+ s3DataRepositoryConfiguration_autoExportPolicy,+ s3DataRepositoryConfiguration_autoImportPolicy,++ -- ** SelfManagedActiveDirectoryAttributes+ selfManagedActiveDirectoryAttributes_dnsIps,+ selfManagedActiveDirectoryAttributes_domainName,+ selfManagedActiveDirectoryAttributes_fileSystemAdministratorsGroup,+ selfManagedActiveDirectoryAttributes_organizationalUnitDistinguishedName,+ selfManagedActiveDirectoryAttributes_userName,++ -- ** SelfManagedActiveDirectoryConfiguration+ selfManagedActiveDirectoryConfiguration_fileSystemAdministratorsGroup,+ selfManagedActiveDirectoryConfiguration_organizationalUnitDistinguishedName,+ selfManagedActiveDirectoryConfiguration_domainName,+ selfManagedActiveDirectoryConfiguration_userName,+ selfManagedActiveDirectoryConfiguration_password,+ selfManagedActiveDirectoryConfiguration_dnsIps,++ -- ** SelfManagedActiveDirectoryConfigurationUpdates+ selfManagedActiveDirectoryConfigurationUpdates_dnsIps,+ selfManagedActiveDirectoryConfigurationUpdates_password,+ selfManagedActiveDirectoryConfigurationUpdates_userName,++ -- ** Snapshot+ snapshot_administrativeActions,+ snapshot_creationTime,+ snapshot_lifecycle,+ snapshot_lifecycleTransitionReason,+ snapshot_name,+ snapshot_resourceARN,+ snapshot_snapshotId,+ snapshot_tags,+ snapshot_volumeId,++ -- ** SnapshotFilter+ snapshotFilter_name,+ snapshotFilter_values,++ -- ** StorageVirtualMachine+ storageVirtualMachine_activeDirectoryConfiguration,+ storageVirtualMachine_creationTime,+ storageVirtualMachine_endpoints,+ storageVirtualMachine_fileSystemId,+ storageVirtualMachine_lifecycle,+ storageVirtualMachine_lifecycleTransitionReason,+ storageVirtualMachine_name,+ storageVirtualMachine_resourceARN,+ storageVirtualMachine_rootVolumeSecurityStyle,+ storageVirtualMachine_storageVirtualMachineId,+ storageVirtualMachine_subtype,+ storageVirtualMachine_tags,+ storageVirtualMachine_uuid,++ -- ** StorageVirtualMachineFilter+ storageVirtualMachineFilter_name,+ storageVirtualMachineFilter_values,++ -- ** SvmActiveDirectoryConfiguration+ svmActiveDirectoryConfiguration_netBiosName,+ svmActiveDirectoryConfiguration_selfManagedActiveDirectoryConfiguration,++ -- ** SvmEndpoint+ svmEndpoint_dNSName,+ svmEndpoint_ipAddresses,++ -- ** SvmEndpoints+ svmEndpoints_iscsi,+ svmEndpoints_management,+ svmEndpoints_nfs,+ svmEndpoints_smb,++ -- ** Tag+ tag_key,+ tag_value,++ -- ** TieringPolicy+ tieringPolicy_coolingPeriod,+ tieringPolicy_name,++ -- ** UpdateFileCacheLustreConfiguration+ updateFileCacheLustreConfiguration_weeklyMaintenanceStartTime,++ -- ** UpdateFileSystemLustreConfiguration+ updateFileSystemLustreConfiguration_autoImportPolicy,+ updateFileSystemLustreConfiguration_automaticBackupRetentionDays,+ updateFileSystemLustreConfiguration_dailyAutomaticBackupStartTime,+ updateFileSystemLustreConfiguration_dataCompressionType,+ updateFileSystemLustreConfiguration_logConfiguration,+ updateFileSystemLustreConfiguration_rootSquashConfiguration,+ updateFileSystemLustreConfiguration_weeklyMaintenanceStartTime,++ -- ** UpdateFileSystemOntapConfiguration+ updateFileSystemOntapConfiguration_addRouteTableIds,+ updateFileSystemOntapConfiguration_automaticBackupRetentionDays,+ updateFileSystemOntapConfiguration_dailyAutomaticBackupStartTime,+ updateFileSystemOntapConfiguration_diskIopsConfiguration,+ updateFileSystemOntapConfiguration_fsxAdminPassword,+ updateFileSystemOntapConfiguration_removeRouteTableIds,+ updateFileSystemOntapConfiguration_throughputCapacity,+ updateFileSystemOntapConfiguration_weeklyMaintenanceStartTime,++ -- ** UpdateFileSystemOpenZFSConfiguration+ updateFileSystemOpenZFSConfiguration_automaticBackupRetentionDays,+ updateFileSystemOpenZFSConfiguration_copyTagsToBackups,+ updateFileSystemOpenZFSConfiguration_copyTagsToVolumes,+ updateFileSystemOpenZFSConfiguration_dailyAutomaticBackupStartTime,+ updateFileSystemOpenZFSConfiguration_diskIopsConfiguration,+ updateFileSystemOpenZFSConfiguration_throughputCapacity,+ updateFileSystemOpenZFSConfiguration_weeklyMaintenanceStartTime,++ -- ** UpdateFileSystemWindowsConfiguration+ updateFileSystemWindowsConfiguration_auditLogConfiguration,+ updateFileSystemWindowsConfiguration_automaticBackupRetentionDays,+ updateFileSystemWindowsConfiguration_dailyAutomaticBackupStartTime,+ updateFileSystemWindowsConfiguration_selfManagedActiveDirectoryConfiguration,+ updateFileSystemWindowsConfiguration_throughputCapacity,+ updateFileSystemWindowsConfiguration_weeklyMaintenanceStartTime,++ -- ** UpdateOntapVolumeConfiguration+ updateOntapVolumeConfiguration_copyTagsToBackups,+ updateOntapVolumeConfiguration_junctionPath,+ updateOntapVolumeConfiguration_securityStyle,+ updateOntapVolumeConfiguration_sizeInMegabytes,+ updateOntapVolumeConfiguration_snapshotPolicy,+ updateOntapVolumeConfiguration_storageEfficiencyEnabled,+ updateOntapVolumeConfiguration_tieringPolicy,++ -- ** UpdateOpenZFSVolumeConfiguration+ updateOpenZFSVolumeConfiguration_dataCompressionType,+ updateOpenZFSVolumeConfiguration_nfsExports,+ updateOpenZFSVolumeConfiguration_readOnly,+ updateOpenZFSVolumeConfiguration_recordSizeKiB,+ updateOpenZFSVolumeConfiguration_storageCapacityQuotaGiB,+ updateOpenZFSVolumeConfiguration_storageCapacityReservationGiB,+ updateOpenZFSVolumeConfiguration_userAndGroupQuotas,++ -- ** UpdateSvmActiveDirectoryConfiguration+ updateSvmActiveDirectoryConfiguration_selfManagedActiveDirectoryConfiguration,++ -- ** Volume+ volume_administrativeActions,+ volume_creationTime,+ volume_fileSystemId,+ volume_lifecycle,+ volume_lifecycleTransitionReason,+ volume_name,+ volume_ontapConfiguration,+ volume_openZFSConfiguration,+ volume_resourceARN,+ volume_tags,+ volume_volumeId,+ volume_volumeType,++ -- ** VolumeFilter+ volumeFilter_name,+ volumeFilter_values,++ -- ** WindowsAuditLogConfiguration+ windowsAuditLogConfiguration_auditLogDestination,+ windowsAuditLogConfiguration_fileAccessAuditLogLevel,+ windowsAuditLogConfiguration_fileShareAccessAuditLogLevel,++ -- ** WindowsAuditLogCreateConfiguration+ windowsAuditLogCreateConfiguration_auditLogDestination,+ windowsAuditLogCreateConfiguration_fileAccessAuditLogLevel,+ windowsAuditLogCreateConfiguration_fileShareAccessAuditLogLevel,++ -- ** WindowsFileSystemConfiguration+ windowsFileSystemConfiguration_activeDirectoryId,+ windowsFileSystemConfiguration_aliases,+ windowsFileSystemConfiguration_auditLogConfiguration,+ windowsFileSystemConfiguration_automaticBackupRetentionDays,+ windowsFileSystemConfiguration_copyTagsToBackups,+ windowsFileSystemConfiguration_dailyAutomaticBackupStartTime,+ windowsFileSystemConfiguration_deploymentType,+ windowsFileSystemConfiguration_maintenanceOperationsInProgress,+ windowsFileSystemConfiguration_preferredFileServerIp,+ windowsFileSystemConfiguration_preferredSubnetId,+ windowsFileSystemConfiguration_remoteAdministrationEndpoint,+ windowsFileSystemConfiguration_selfManagedActiveDirectoryConfiguration,+ windowsFileSystemConfiguration_throughputCapacity,+ windowsFileSystemConfiguration_weeklyMaintenanceStartTime,+ )+where++import Amazonka.FSx.AssociateFileSystemAliases+import Amazonka.FSx.CancelDataRepositoryTask+import Amazonka.FSx.CopyBackup+import Amazonka.FSx.CreateBackup+import Amazonka.FSx.CreateDataRepositoryAssociation+import Amazonka.FSx.CreateDataRepositoryTask+import Amazonka.FSx.CreateFileCache+import Amazonka.FSx.CreateFileSystem+import Amazonka.FSx.CreateFileSystemFromBackup+import Amazonka.FSx.CreateSnapshot+import Amazonka.FSx.CreateStorageVirtualMachine+import Amazonka.FSx.CreateVolume+import Amazonka.FSx.CreateVolumeFromBackup+import Amazonka.FSx.DeleteBackup+import Amazonka.FSx.DeleteDataRepositoryAssociation+import Amazonka.FSx.DeleteFileCache+import Amazonka.FSx.DeleteFileSystem+import Amazonka.FSx.DeleteSnapshot+import Amazonka.FSx.DeleteStorageVirtualMachine+import Amazonka.FSx.DeleteVolume+import Amazonka.FSx.DescribeBackups+import Amazonka.FSx.DescribeDataRepositoryAssociations+import Amazonka.FSx.DescribeDataRepositoryTasks+import Amazonka.FSx.DescribeFileCaches+import Amazonka.FSx.DescribeFileSystemAliases+import Amazonka.FSx.DescribeFileSystems+import Amazonka.FSx.DescribeSnapshots+import Amazonka.FSx.DescribeStorageVirtualMachines+import Amazonka.FSx.DescribeVolumes+import Amazonka.FSx.DisassociateFileSystemAliases+import Amazonka.FSx.ListTagsForResource+import Amazonka.FSx.ReleaseFileSystemNfsV3Locks+import Amazonka.FSx.RestoreVolumeFromSnapshot+import Amazonka.FSx.TagResource+import Amazonka.FSx.Types.ActiveDirectoryBackupAttributes+import Amazonka.FSx.Types.AdministrativeAction+import Amazonka.FSx.Types.AdministrativeActionFailureDetails+import Amazonka.FSx.Types.Alias+import Amazonka.FSx.Types.AutoExportPolicy+import Amazonka.FSx.Types.AutoImportPolicy+import Amazonka.FSx.Types.Backup+import Amazonka.FSx.Types.BackupFailureDetails+import Amazonka.FSx.Types.CompletionReport+import Amazonka.FSx.Types.CreateFileCacheLustreConfiguration+import Amazonka.FSx.Types.CreateFileSystemLustreConfiguration+import Amazonka.FSx.Types.CreateFileSystemOntapConfiguration+import Amazonka.FSx.Types.CreateFileSystemOpenZFSConfiguration+import Amazonka.FSx.Types.CreateFileSystemWindowsConfiguration+import Amazonka.FSx.Types.CreateOntapVolumeConfiguration+import Amazonka.FSx.Types.CreateOpenZFSOriginSnapshotConfiguration+import Amazonka.FSx.Types.CreateOpenZFSVolumeConfiguration+import Amazonka.FSx.Types.CreateSvmActiveDirectoryConfiguration+import Amazonka.FSx.Types.DataRepositoryAssociation+import Amazonka.FSx.Types.DataRepositoryConfiguration+import Amazonka.FSx.Types.DataRepositoryFailureDetails+import Amazonka.FSx.Types.DataRepositoryTask+import Amazonka.FSx.Types.DataRepositoryTaskFailureDetails+import Amazonka.FSx.Types.DataRepositoryTaskFilter+import Amazonka.FSx.Types.DataRepositoryTaskStatus+import Amazonka.FSx.Types.DeleteFileSystemLustreConfiguration+import Amazonka.FSx.Types.DeleteFileSystemLustreResponse+import Amazonka.FSx.Types.DeleteFileSystemOpenZFSConfiguration+import Amazonka.FSx.Types.DeleteFileSystemOpenZFSResponse+import Amazonka.FSx.Types.DeleteFileSystemWindowsConfiguration+import Amazonka.FSx.Types.DeleteFileSystemWindowsResponse+import Amazonka.FSx.Types.DeleteVolumeOntapConfiguration+import Amazonka.FSx.Types.DeleteVolumeOntapResponse+import Amazonka.FSx.Types.DeleteVolumeOpenZFSConfiguration+import Amazonka.FSx.Types.DiskIopsConfiguration+import Amazonka.FSx.Types.FileCache+import Amazonka.FSx.Types.FileCacheCreating+import Amazonka.FSx.Types.FileCacheDataRepositoryAssociation+import Amazonka.FSx.Types.FileCacheFailureDetails+import Amazonka.FSx.Types.FileCacheLustreConfiguration+import Amazonka.FSx.Types.FileCacheLustreMetadataConfiguration+import Amazonka.FSx.Types.FileCacheNFSConfiguration+import Amazonka.FSx.Types.FileSystem+import Amazonka.FSx.Types.FileSystemEndpoint+import Amazonka.FSx.Types.FileSystemEndpoints+import Amazonka.FSx.Types.FileSystemFailureDetails+import Amazonka.FSx.Types.Filter+import Amazonka.FSx.Types.LifecycleTransitionReason+import Amazonka.FSx.Types.LustreFileSystemConfiguration+import Amazonka.FSx.Types.LustreLogConfiguration+import Amazonka.FSx.Types.LustreLogCreateConfiguration+import Amazonka.FSx.Types.LustreRootSquashConfiguration+import Amazonka.FSx.Types.NFSDataRepositoryConfiguration+import Amazonka.FSx.Types.OntapFileSystemConfiguration+import Amazonka.FSx.Types.OntapVolumeConfiguration+import Amazonka.FSx.Types.OpenZFSClientConfiguration+import Amazonka.FSx.Types.OpenZFSCreateRootVolumeConfiguration+import Amazonka.FSx.Types.OpenZFSFileSystemConfiguration+import Amazonka.FSx.Types.OpenZFSNfsExport+import Amazonka.FSx.Types.OpenZFSOriginSnapshotConfiguration+import Amazonka.FSx.Types.OpenZFSUserOrGroupQuota+import Amazonka.FSx.Types.OpenZFSVolumeConfiguration+import Amazonka.FSx.Types.S3DataRepositoryConfiguration+import Amazonka.FSx.Types.SelfManagedActiveDirectoryAttributes+import Amazonka.FSx.Types.SelfManagedActiveDirectoryConfiguration+import Amazonka.FSx.Types.SelfManagedActiveDirectoryConfigurationUpdates+import Amazonka.FSx.Types.Snapshot+import Amazonka.FSx.Types.SnapshotFilter+import Amazonka.FSx.Types.StorageVirtualMachine+import Amazonka.FSx.Types.StorageVirtualMachineFilter+import Amazonka.FSx.Types.SvmActiveDirectoryConfiguration+import Amazonka.FSx.Types.SvmEndpoint+import Amazonka.FSx.Types.SvmEndpoints+import Amazonka.FSx.Types.Tag+import Amazonka.FSx.Types.TieringPolicy+import Amazonka.FSx.Types.UpdateFileCacheLustreConfiguration+import Amazonka.FSx.Types.UpdateFileSystemLustreConfiguration+import Amazonka.FSx.Types.UpdateFileSystemOntapConfiguration+import Amazonka.FSx.Types.UpdateFileSystemOpenZFSConfiguration+import Amazonka.FSx.Types.UpdateFileSystemWindowsConfiguration+import Amazonka.FSx.Types.UpdateOntapVolumeConfiguration+import Amazonka.FSx.Types.UpdateOpenZFSVolumeConfiguration+import Amazonka.FSx.Types.UpdateSvmActiveDirectoryConfiguration+import Amazonka.FSx.Types.Volume+import Amazonka.FSx.Types.VolumeFilter+import Amazonka.FSx.Types.WindowsAuditLogConfiguration+import Amazonka.FSx.Types.WindowsAuditLogCreateConfiguration+import Amazonka.FSx.Types.WindowsFileSystemConfiguration+import Amazonka.FSx.UntagResource+import Amazonka.FSx.UpdateDataRepositoryAssociation+import Amazonka.FSx.UpdateFileCache+import Amazonka.FSx.UpdateFileSystem+import Amazonka.FSx.UpdateSnapshot+import Amazonka.FSx.UpdateStorageVirtualMachine+import Amazonka.FSx.UpdateVolume
+ gen/Amazonka/FSx/ListTagsForResource.hs view
@@ -0,0 +1,285 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FSx.ListTagsForResource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists tags for Amazon FSx resources.+--+-- When retrieving all tags, you can optionally specify the @MaxResults@+-- parameter to limit the number of tags in a response. If more tags+-- remain, Amazon FSx returns a @NextToken@ value in the response. In this+-- case, send a later request with the @NextToken@ request parameter set to+-- the value of @NextToken@ from the last response.+--+-- This action is used in an iterative process to retrieve a list of your+-- tags. @ListTagsForResource@ is called first without a @NextToken@value.+-- Then the action continues to be called with the @NextToken@ parameter+-- set to the value of the last @NextToken@ value until a response has no+-- @NextToken@.+--+-- When using this action, keep the following in mind:+--+-- - The implementation might return fewer than @MaxResults@ file system+-- descriptions while still including a @NextToken@ value.+--+-- - The order of tags returned in the response of one+-- @ListTagsForResource@ call and the order of tags returned across the+-- responses of a multi-call iteration is unspecified.+--+-- This operation returns paginated results.+module Amazonka.FSx.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.FSx.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | The request object for @ListTagsForResource@ operation.+--+-- /See:/ 'newListTagsForResource' smart constructor.+data ListTagsForResource = ListTagsForResource'+ { -- | Maximum number of tags to return in the response (integer). This+ -- parameter value must be greater than 0. The number of items that Amazon+ -- FSx returns is the minimum of the @MaxResults@ parameter specified in+ -- the request and the service\'s internal maximum number of items per+ -- page.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | Opaque pagination token returned from a previous @ListTagsForResource@+ -- operation (String). If a token present, the action continues the list+ -- from where the returning call left off.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The ARN of the Amazon FSx resource that will have its tags listed.+ 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' - Maximum number of tags to return in the response (integer). This+-- parameter value must be greater than 0. The number of items that Amazon+-- FSx returns is the minimum of the @MaxResults@ parameter specified in+-- the request and the service\'s internal maximum number of items per+-- page.+--+-- 'nextToken', 'listTagsForResource_nextToken' - Opaque pagination token returned from a previous @ListTagsForResource@+-- operation (String). If a token present, the action continues the list+-- from where the returning call left off.+--+-- 'resourceARN', 'listTagsForResource_resourceARN' - The ARN of the Amazon FSx resource that will have its tags listed.+newListTagsForResource ::+ -- | 'resourceARN'+ Prelude.Text ->+ ListTagsForResource+newListTagsForResource pResourceARN_ =+ ListTagsForResource'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ resourceARN = pResourceARN_+ }++-- | Maximum number of tags to return in the response (integer). This+-- parameter value must be greater than 0. The number of items that Amazon+-- FSx returns is the minimum of the @MaxResults@ parameter specified in+-- the request and the service\'s internal maximum number of items per+-- page.+listTagsForResource_maxResults :: Lens.Lens' ListTagsForResource (Prelude.Maybe Prelude.Natural)+listTagsForResource_maxResults = Lens.lens (\ListTagsForResource' {maxResults} -> maxResults) (\s@ListTagsForResource' {} a -> s {maxResults = a} :: ListTagsForResource)++-- | Opaque pagination token returned from a previous @ListTagsForResource@+-- operation (String). If a token present, the action continues the list+-- from where the returning call left off.+listTagsForResource_nextToken :: Lens.Lens' ListTagsForResource (Prelude.Maybe Prelude.Text)+listTagsForResource_nextToken = Lens.lens (\ListTagsForResource' {nextToken} -> nextToken) (\s@ListTagsForResource' {} a -> s {nextToken = a} :: ListTagsForResource)++-- | The ARN of the Amazon FSx resource that will have its tags listed.+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.. Lens.to Prelude.toList+ ) =+ 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")+ 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.=# ( "AWSSimbaAPIService_v20180301.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++-- | The response object for @ListTagsForResource@ operation.+--+-- /See:/ 'newListTagsForResourceResponse' smart constructor.+data ListTagsForResourceResponse = ListTagsForResourceResponse'+ { -- | This is present if there are more tags than returned in the response+ -- (String). You can use the @NextToken@ value in the later request to+ -- fetch the tags.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | A list of tags on the resource.+ tags :: Prelude.Maybe (Prelude.NonEmpty Tag),+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listTagsForResourceResponse_nextToken' - This is present if there are more tags than returned in the response+-- (String). You can use the @NextToken@ value in the later request to+-- fetch the tags.+--+-- 'tags', 'listTagsForResourceResponse_tags' - A list of tags on the 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_+ }++-- | This is present if there are more tags than returned in the response+-- (String). You can use the @NextToken@ value in the later request to+-- fetch the tags.+listTagsForResourceResponse_nextToken :: Lens.Lens' ListTagsForResourceResponse (Prelude.Maybe Prelude.Text)+listTagsForResourceResponse_nextToken = Lens.lens (\ListTagsForResourceResponse' {nextToken} -> nextToken) (\s@ListTagsForResourceResponse' {} a -> s {nextToken = a} :: ListTagsForResourceResponse)++-- | A list of tags on the resource.+listTagsForResourceResponse_tags :: Lens.Lens' ListTagsForResourceResponse (Prelude.Maybe (Prelude.NonEmpty Tag))+listTagsForResourceResponse_tags = Lens.lens (\ListTagsForResourceResponse' {tags} -> tags) (\s@ListTagsForResourceResponse' {} a -> s {tags = a} :: ListTagsForResourceResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listTagsForResourceResponse_httpStatus :: Lens.Lens' ListTagsForResourceResponse Prelude.Int+listTagsForResourceResponse_httpStatus = Lens.lens (\ListTagsForResourceResponse' {httpStatus} -> httpStatus) (\s@ListTagsForResourceResponse' {} a -> s {httpStatus = a} :: ListTagsForResourceResponse)++instance Prelude.NFData ListTagsForResourceResponse where+ rnf ListTagsForResourceResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FSx/ReleaseFileSystemNfsV3Locks.hs view
@@ -0,0 +1,189 @@+{-# 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.FSx.ReleaseFileSystemNfsV3Locks+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Releases the file system lock from an Amazon FSx for OpenZFS file+-- system.+module Amazonka.FSx.ReleaseFileSystemNfsV3Locks+ ( -- * Creating a Request+ ReleaseFileSystemNfsV3Locks (..),+ newReleaseFileSystemNfsV3Locks,++ -- * Request Lenses+ releaseFileSystemNfsV3Locks_clientRequestToken,+ releaseFileSystemNfsV3Locks_fileSystemId,++ -- * Destructuring the Response+ ReleaseFileSystemNfsV3LocksResponse (..),+ newReleaseFileSystemNfsV3LocksResponse,++ -- * Response Lenses+ releaseFileSystemNfsV3LocksResponse_fileSystem,+ releaseFileSystemNfsV3LocksResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newReleaseFileSystemNfsV3Locks' smart constructor.+data ReleaseFileSystemNfsV3Locks = ReleaseFileSystemNfsV3Locks'+ { clientRequestToken :: Prelude.Maybe Prelude.Text,+ fileSystemId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ReleaseFileSystemNfsV3Locks' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientRequestToken', 'releaseFileSystemNfsV3Locks_clientRequestToken' - Undocumented member.+--+-- 'fileSystemId', 'releaseFileSystemNfsV3Locks_fileSystemId' - Undocumented member.+newReleaseFileSystemNfsV3Locks ::+ -- | 'fileSystemId'+ Prelude.Text ->+ ReleaseFileSystemNfsV3Locks+newReleaseFileSystemNfsV3Locks pFileSystemId_ =+ ReleaseFileSystemNfsV3Locks'+ { clientRequestToken =+ Prelude.Nothing,+ fileSystemId = pFileSystemId_+ }++-- | Undocumented member.+releaseFileSystemNfsV3Locks_clientRequestToken :: Lens.Lens' ReleaseFileSystemNfsV3Locks (Prelude.Maybe Prelude.Text)+releaseFileSystemNfsV3Locks_clientRequestToken = Lens.lens (\ReleaseFileSystemNfsV3Locks' {clientRequestToken} -> clientRequestToken) (\s@ReleaseFileSystemNfsV3Locks' {} a -> s {clientRequestToken = a} :: ReleaseFileSystemNfsV3Locks)++-- | Undocumented member.+releaseFileSystemNfsV3Locks_fileSystemId :: Lens.Lens' ReleaseFileSystemNfsV3Locks Prelude.Text+releaseFileSystemNfsV3Locks_fileSystemId = Lens.lens (\ReleaseFileSystemNfsV3Locks' {fileSystemId} -> fileSystemId) (\s@ReleaseFileSystemNfsV3Locks' {} a -> s {fileSystemId = a} :: ReleaseFileSystemNfsV3Locks)++instance Core.AWSRequest ReleaseFileSystemNfsV3Locks where+ type+ AWSResponse ReleaseFileSystemNfsV3Locks =+ ReleaseFileSystemNfsV3LocksResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ReleaseFileSystemNfsV3LocksResponse'+ Prelude.<$> (x Data..?> "FileSystem")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ReleaseFileSystemNfsV3Locks where+ hashWithSalt _salt ReleaseFileSystemNfsV3Locks' {..} =+ _salt+ `Prelude.hashWithSalt` clientRequestToken+ `Prelude.hashWithSalt` fileSystemId++instance Prelude.NFData ReleaseFileSystemNfsV3Locks where+ rnf ReleaseFileSystemNfsV3Locks' {..} =+ Prelude.rnf clientRequestToken+ `Prelude.seq` Prelude.rnf fileSystemId++instance Data.ToHeaders ReleaseFileSystemNfsV3Locks where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSSimbaAPIService_v20180301.ReleaseFileSystemNfsV3Locks" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ReleaseFileSystemNfsV3Locks where+ toJSON ReleaseFileSystemNfsV3Locks' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("ClientRequestToken" Data..=)+ Prelude.<$> clientRequestToken,+ Prelude.Just ("FileSystemId" Data..= fileSystemId)+ ]+ )++instance Data.ToPath ReleaseFileSystemNfsV3Locks where+ toPath = Prelude.const "/"++instance Data.ToQuery ReleaseFileSystemNfsV3Locks where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newReleaseFileSystemNfsV3LocksResponse' smart constructor.+data ReleaseFileSystemNfsV3LocksResponse = ReleaseFileSystemNfsV3LocksResponse'+ { fileSystem :: Prelude.Maybe FileSystem,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ReleaseFileSystemNfsV3LocksResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fileSystem', 'releaseFileSystemNfsV3LocksResponse_fileSystem' - Undocumented member.+--+-- 'httpStatus', 'releaseFileSystemNfsV3LocksResponse_httpStatus' - The response's http status code.+newReleaseFileSystemNfsV3LocksResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ReleaseFileSystemNfsV3LocksResponse+newReleaseFileSystemNfsV3LocksResponse pHttpStatus_ =+ ReleaseFileSystemNfsV3LocksResponse'+ { fileSystem =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Undocumented member.+releaseFileSystemNfsV3LocksResponse_fileSystem :: Lens.Lens' ReleaseFileSystemNfsV3LocksResponse (Prelude.Maybe FileSystem)+releaseFileSystemNfsV3LocksResponse_fileSystem = Lens.lens (\ReleaseFileSystemNfsV3LocksResponse' {fileSystem} -> fileSystem) (\s@ReleaseFileSystemNfsV3LocksResponse' {} a -> s {fileSystem = a} :: ReleaseFileSystemNfsV3LocksResponse)++-- | The response's http status code.+releaseFileSystemNfsV3LocksResponse_httpStatus :: Lens.Lens' ReleaseFileSystemNfsV3LocksResponse Prelude.Int+releaseFileSystemNfsV3LocksResponse_httpStatus = Lens.lens (\ReleaseFileSystemNfsV3LocksResponse' {httpStatus} -> httpStatus) (\s@ReleaseFileSystemNfsV3LocksResponse' {} a -> s {httpStatus = a} :: ReleaseFileSystemNfsV3LocksResponse)++instance+ Prelude.NFData+ ReleaseFileSystemNfsV3LocksResponse+ where+ rnf ReleaseFileSystemNfsV3LocksResponse' {..} =+ Prelude.rnf fileSystem+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FSx/RestoreVolumeFromSnapshot.hs view
@@ -0,0 +1,285 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FSx.RestoreVolumeFromSnapshot+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns an Amazon FSx for OpenZFS volume to the state saved by the+-- specified snapshot.+module Amazonka.FSx.RestoreVolumeFromSnapshot+ ( -- * Creating a Request+ RestoreVolumeFromSnapshot (..),+ newRestoreVolumeFromSnapshot,++ -- * Request Lenses+ restoreVolumeFromSnapshot_clientRequestToken,+ restoreVolumeFromSnapshot_options,+ restoreVolumeFromSnapshot_volumeId,+ restoreVolumeFromSnapshot_snapshotId,++ -- * Destructuring the Response+ RestoreVolumeFromSnapshotResponse (..),+ newRestoreVolumeFromSnapshotResponse,++ -- * Response Lenses+ restoreVolumeFromSnapshotResponse_administrativeActions,+ restoreVolumeFromSnapshotResponse_lifecycle,+ restoreVolumeFromSnapshotResponse_volumeId,+ restoreVolumeFromSnapshotResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newRestoreVolumeFromSnapshot' smart constructor.+data RestoreVolumeFromSnapshot = RestoreVolumeFromSnapshot'+ { clientRequestToken :: Prelude.Maybe Prelude.Text,+ -- | The settings used when restoring the specified volume from snapshot.+ --+ -- - @DELETE_INTERMEDIATE_SNAPSHOTS@ - Deletes snapshots between the+ -- current state and the specified snapshot. If there are intermediate+ -- snapshots and this option isn\'t used, @RestoreVolumeFromSnapshot@+ -- fails.+ --+ -- - @DELETE_CLONED_VOLUMES@ - Deletes any dependent clone volumes+ -- created from intermediate snapshots. If there are any dependent+ -- clone volumes and this option isn\'t used,+ -- @RestoreVolumeFromSnapshot@ fails.+ options :: Prelude.Maybe [RestoreOpenZFSVolumeOption],+ -- | The ID of the volume that you are restoring.+ volumeId :: Prelude.Text,+ -- | The ID of the source snapshot. Specifies the snapshot that you are+ -- restoring from.+ snapshotId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RestoreVolumeFromSnapshot' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientRequestToken', 'restoreVolumeFromSnapshot_clientRequestToken' - Undocumented member.+--+-- 'options', 'restoreVolumeFromSnapshot_options' - The settings used when restoring the specified volume from snapshot.+--+-- - @DELETE_INTERMEDIATE_SNAPSHOTS@ - Deletes snapshots between the+-- current state and the specified snapshot. If there are intermediate+-- snapshots and this option isn\'t used, @RestoreVolumeFromSnapshot@+-- fails.+--+-- - @DELETE_CLONED_VOLUMES@ - Deletes any dependent clone volumes+-- created from intermediate snapshots. If there are any dependent+-- clone volumes and this option isn\'t used,+-- @RestoreVolumeFromSnapshot@ fails.+--+-- 'volumeId', 'restoreVolumeFromSnapshot_volumeId' - The ID of the volume that you are restoring.+--+-- 'snapshotId', 'restoreVolumeFromSnapshot_snapshotId' - The ID of the source snapshot. Specifies the snapshot that you are+-- restoring from.+newRestoreVolumeFromSnapshot ::+ -- | 'volumeId'+ Prelude.Text ->+ -- | 'snapshotId'+ Prelude.Text ->+ RestoreVolumeFromSnapshot+newRestoreVolumeFromSnapshot pVolumeId_ pSnapshotId_ =+ RestoreVolumeFromSnapshot'+ { clientRequestToken =+ Prelude.Nothing,+ options = Prelude.Nothing,+ volumeId = pVolumeId_,+ snapshotId = pSnapshotId_+ }++-- | Undocumented member.+restoreVolumeFromSnapshot_clientRequestToken :: Lens.Lens' RestoreVolumeFromSnapshot (Prelude.Maybe Prelude.Text)+restoreVolumeFromSnapshot_clientRequestToken = Lens.lens (\RestoreVolumeFromSnapshot' {clientRequestToken} -> clientRequestToken) (\s@RestoreVolumeFromSnapshot' {} a -> s {clientRequestToken = a} :: RestoreVolumeFromSnapshot)++-- | The settings used when restoring the specified volume from snapshot.+--+-- - @DELETE_INTERMEDIATE_SNAPSHOTS@ - Deletes snapshots between the+-- current state and the specified snapshot. If there are intermediate+-- snapshots and this option isn\'t used, @RestoreVolumeFromSnapshot@+-- fails.+--+-- - @DELETE_CLONED_VOLUMES@ - Deletes any dependent clone volumes+-- created from intermediate snapshots. If there are any dependent+-- clone volumes and this option isn\'t used,+-- @RestoreVolumeFromSnapshot@ fails.+restoreVolumeFromSnapshot_options :: Lens.Lens' RestoreVolumeFromSnapshot (Prelude.Maybe [RestoreOpenZFSVolumeOption])+restoreVolumeFromSnapshot_options = Lens.lens (\RestoreVolumeFromSnapshot' {options} -> options) (\s@RestoreVolumeFromSnapshot' {} a -> s {options = a} :: RestoreVolumeFromSnapshot) Prelude.. Lens.mapping Lens.coerced++-- | The ID of the volume that you are restoring.+restoreVolumeFromSnapshot_volumeId :: Lens.Lens' RestoreVolumeFromSnapshot Prelude.Text+restoreVolumeFromSnapshot_volumeId = Lens.lens (\RestoreVolumeFromSnapshot' {volumeId} -> volumeId) (\s@RestoreVolumeFromSnapshot' {} a -> s {volumeId = a} :: RestoreVolumeFromSnapshot)++-- | The ID of the source snapshot. Specifies the snapshot that you are+-- restoring from.+restoreVolumeFromSnapshot_snapshotId :: Lens.Lens' RestoreVolumeFromSnapshot Prelude.Text+restoreVolumeFromSnapshot_snapshotId = Lens.lens (\RestoreVolumeFromSnapshot' {snapshotId} -> snapshotId) (\s@RestoreVolumeFromSnapshot' {} a -> s {snapshotId = a} :: RestoreVolumeFromSnapshot)++instance Core.AWSRequest RestoreVolumeFromSnapshot where+ type+ AWSResponse RestoreVolumeFromSnapshot =+ RestoreVolumeFromSnapshotResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ RestoreVolumeFromSnapshotResponse'+ Prelude.<$> ( x+ Data..?> "AdministrativeActions"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "Lifecycle")+ Prelude.<*> (x Data..?> "VolumeId")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable RestoreVolumeFromSnapshot where+ hashWithSalt _salt RestoreVolumeFromSnapshot' {..} =+ _salt+ `Prelude.hashWithSalt` clientRequestToken+ `Prelude.hashWithSalt` options+ `Prelude.hashWithSalt` volumeId+ `Prelude.hashWithSalt` snapshotId++instance Prelude.NFData RestoreVolumeFromSnapshot where+ rnf RestoreVolumeFromSnapshot' {..} =+ Prelude.rnf clientRequestToken+ `Prelude.seq` Prelude.rnf options+ `Prelude.seq` Prelude.rnf volumeId+ `Prelude.seq` Prelude.rnf snapshotId++instance Data.ToHeaders RestoreVolumeFromSnapshot where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSSimbaAPIService_v20180301.RestoreVolumeFromSnapshot" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON RestoreVolumeFromSnapshot where+ toJSON RestoreVolumeFromSnapshot' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("ClientRequestToken" Data..=)+ Prelude.<$> clientRequestToken,+ ("Options" Data..=) Prelude.<$> options,+ Prelude.Just ("VolumeId" Data..= volumeId),+ Prelude.Just ("SnapshotId" Data..= snapshotId)+ ]+ )++instance Data.ToPath RestoreVolumeFromSnapshot where+ toPath = Prelude.const "/"++instance Data.ToQuery RestoreVolumeFromSnapshot where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newRestoreVolumeFromSnapshotResponse' smart constructor.+data RestoreVolumeFromSnapshotResponse = RestoreVolumeFromSnapshotResponse'+ { -- | A list of administrative actions for the file system that are in process+ -- or waiting to be processed. Administrative actions describe changes to+ -- the Amazon FSx system.+ administrativeActions :: Prelude.Maybe [AdministrativeAction],+ -- | The lifecycle state of the volume being restored.+ lifecycle :: Prelude.Maybe VolumeLifecycle,+ -- | The ID of the volume that you restored.+ volumeId :: 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 'RestoreVolumeFromSnapshotResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'administrativeActions', 'restoreVolumeFromSnapshotResponse_administrativeActions' - A list of administrative actions for the file system that are in process+-- or waiting to be processed. Administrative actions describe changes to+-- the Amazon FSx system.+--+-- 'lifecycle', 'restoreVolumeFromSnapshotResponse_lifecycle' - The lifecycle state of the volume being restored.+--+-- 'volumeId', 'restoreVolumeFromSnapshotResponse_volumeId' - The ID of the volume that you restored.+--+-- 'httpStatus', 'restoreVolumeFromSnapshotResponse_httpStatus' - The response's http status code.+newRestoreVolumeFromSnapshotResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ RestoreVolumeFromSnapshotResponse+newRestoreVolumeFromSnapshotResponse pHttpStatus_ =+ RestoreVolumeFromSnapshotResponse'+ { administrativeActions =+ Prelude.Nothing,+ lifecycle = Prelude.Nothing,+ volumeId = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A list of administrative actions for the file system that are in process+-- or waiting to be processed. Administrative actions describe changes to+-- the Amazon FSx system.+restoreVolumeFromSnapshotResponse_administrativeActions :: Lens.Lens' RestoreVolumeFromSnapshotResponse (Prelude.Maybe [AdministrativeAction])+restoreVolumeFromSnapshotResponse_administrativeActions = Lens.lens (\RestoreVolumeFromSnapshotResponse' {administrativeActions} -> administrativeActions) (\s@RestoreVolumeFromSnapshotResponse' {} a -> s {administrativeActions = a} :: RestoreVolumeFromSnapshotResponse) Prelude.. Lens.mapping Lens.coerced++-- | The lifecycle state of the volume being restored.+restoreVolumeFromSnapshotResponse_lifecycle :: Lens.Lens' RestoreVolumeFromSnapshotResponse (Prelude.Maybe VolumeLifecycle)+restoreVolumeFromSnapshotResponse_lifecycle = Lens.lens (\RestoreVolumeFromSnapshotResponse' {lifecycle} -> lifecycle) (\s@RestoreVolumeFromSnapshotResponse' {} a -> s {lifecycle = a} :: RestoreVolumeFromSnapshotResponse)++-- | The ID of the volume that you restored.+restoreVolumeFromSnapshotResponse_volumeId :: Lens.Lens' RestoreVolumeFromSnapshotResponse (Prelude.Maybe Prelude.Text)+restoreVolumeFromSnapshotResponse_volumeId = Lens.lens (\RestoreVolumeFromSnapshotResponse' {volumeId} -> volumeId) (\s@RestoreVolumeFromSnapshotResponse' {} a -> s {volumeId = a} :: RestoreVolumeFromSnapshotResponse)++-- | The response's http status code.+restoreVolumeFromSnapshotResponse_httpStatus :: Lens.Lens' RestoreVolumeFromSnapshotResponse Prelude.Int+restoreVolumeFromSnapshotResponse_httpStatus = Lens.lens (\RestoreVolumeFromSnapshotResponse' {httpStatus} -> httpStatus) (\s@RestoreVolumeFromSnapshotResponse' {} a -> s {httpStatus = a} :: RestoreVolumeFromSnapshotResponse)++instance+ Prelude.NFData+ RestoreVolumeFromSnapshotResponse+ where+ rnf RestoreVolumeFromSnapshotResponse' {..} =+ Prelude.rnf administrativeActions+ `Prelude.seq` Prelude.rnf lifecycle+ `Prelude.seq` Prelude.rnf volumeId+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FSx/TagResource.hs view
@@ -0,0 +1,180 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FSx.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)+--+-- Tags an Amazon FSx resource.+module Amazonka.FSx.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.FSx.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | The request object for the @TagResource@ operation.+--+-- /See:/ 'newTagResource' smart constructor.+data TagResource = TagResource'+ { -- | The Amazon Resource Name (ARN) of the Amazon FSx resource that you want+ -- to tag.+ resourceARN :: Prelude.Text,+ -- | A list of tags for the resource. If a tag with a given key already+ -- exists, the value is replaced by the one specified in this parameter.+ tags :: Prelude.NonEmpty Tag+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceARN', 'tagResource_resourceARN' - The Amazon Resource Name (ARN) of the Amazon FSx resource that you want+-- to tag.+--+-- 'tags', 'tagResource_tags' - A list of tags for the resource. If a tag with a given key already+-- exists, the value is replaced by the one specified in this parameter.+newTagResource ::+ -- | 'resourceARN'+ Prelude.Text ->+ -- | 'tags'+ Prelude.NonEmpty Tag ->+ TagResource+newTagResource pResourceARN_ pTags_ =+ TagResource'+ { resourceARN = pResourceARN_,+ tags = Lens.coerced Lens.# pTags_+ }++-- | The Amazon Resource Name (ARN) of the Amazon FSx resource that you want+-- to tag.+tagResource_resourceARN :: Lens.Lens' TagResource Prelude.Text+tagResource_resourceARN = Lens.lens (\TagResource' {resourceARN} -> resourceARN) (\s@TagResource' {} a -> s {resourceARN = a} :: TagResource)++-- | A list of tags for the resource. If a tag with a given key already+-- exists, the value is replaced by the one specified in this parameter.+tagResource_tags :: Lens.Lens' TagResource (Prelude.NonEmpty Tag)+tagResource_tags = Lens.lens (\TagResource' {tags} -> tags) (\s@TagResource' {} a -> s {tags = a} :: TagResource) Prelude.. Lens.coerced++instance Core.AWSRequest TagResource where+ type AWSResponse TagResource = TagResourceResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.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.=# ( "AWSSimbaAPIService_v20180301.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++-- | The response object for the @TagResource@ operation.+--+-- /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/FSx/Types.hs view
@@ -0,0 +1,1505 @@+{-# 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.FSx.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.FSx.Types+ ( -- * Service Configuration+ defaultService,++ -- * Errors+ _ActiveDirectoryError,+ _BackupBeingCopied,+ _BackupInProgress,+ _BackupNotFound,+ _BackupRestoring,+ _BadRequest,+ _DataRepositoryAssociationNotFound,+ _DataRepositoryTaskEnded,+ _DataRepositoryTaskExecuting,+ _DataRepositoryTaskNotFound,+ _FileCacheNotFound,+ _FileSystemNotFound,+ _IncompatibleParameterError,+ _IncompatibleRegionForMultiAZ,+ _InternalServerError,+ _InvalidDataRepositoryType,+ _InvalidDestinationKmsKey,+ _InvalidExportPath,+ _InvalidImportPath,+ _InvalidNetworkSettings,+ _InvalidPerUnitStorageThroughput,+ _InvalidRegion,+ _InvalidSourceKmsKey,+ _MissingFileCacheConfiguration,+ _MissingFileSystemConfiguration,+ _MissingVolumeConfiguration,+ _NotServiceResourceError,+ _ResourceDoesNotSupportTagging,+ _ResourceNotFound,+ _ServiceLimitExceeded,+ _SnapshotNotFound,+ _SourceBackupUnavailable,+ _StorageVirtualMachineNotFound,+ _UnsupportedOperation,+ _VolumeNotFound,++ -- * AdministrativeActionType+ AdministrativeActionType (..),++ -- * AliasLifecycle+ AliasLifecycle (..),++ -- * AutoImportPolicyType+ AutoImportPolicyType (..),++ -- * BackupLifecycle+ BackupLifecycle (..),++ -- * BackupType+ BackupType (..),++ -- * DataCompressionType+ DataCompressionType (..),++ -- * DataRepositoryLifecycle+ DataRepositoryLifecycle (..),++ -- * DataRepositoryTaskFilterName+ DataRepositoryTaskFilterName (..),++ -- * DataRepositoryTaskLifecycle+ DataRepositoryTaskLifecycle (..),++ -- * DataRepositoryTaskType+ DataRepositoryTaskType (..),++ -- * DeleteFileSystemOpenZFSOption+ DeleteFileSystemOpenZFSOption (..),++ -- * DeleteOpenZFSVolumeOption+ DeleteOpenZFSVolumeOption (..),++ -- * DiskIopsConfigurationMode+ DiskIopsConfigurationMode (..),++ -- * DriveCacheType+ DriveCacheType (..),++ -- * EventType+ EventType (..),++ -- * FileCacheLifecycle+ FileCacheLifecycle (..),++ -- * FileCacheLustreDeploymentType+ FileCacheLustreDeploymentType (..),++ -- * FileCacheType+ FileCacheType (..),++ -- * FileSystemLifecycle+ FileSystemLifecycle (..),++ -- * FileSystemMaintenanceOperation+ FileSystemMaintenanceOperation (..),++ -- * FileSystemType+ FileSystemType (..),++ -- * FilterName+ FilterName (..),++ -- * FlexCacheEndpointType+ FlexCacheEndpointType (..),++ -- * InputOntapVolumeType+ InputOntapVolumeType (..),++ -- * LustreAccessAuditLogLevel+ LustreAccessAuditLogLevel (..),++ -- * LustreDeploymentType+ LustreDeploymentType (..),++ -- * NfsVersion+ NfsVersion (..),++ -- * OntapDeploymentType+ OntapDeploymentType (..),++ -- * OntapVolumeType+ OntapVolumeType (..),++ -- * OpenZFSCopyStrategy+ OpenZFSCopyStrategy (..),++ -- * OpenZFSDataCompressionType+ OpenZFSDataCompressionType (..),++ -- * OpenZFSDeploymentType+ OpenZFSDeploymentType (..),++ -- * OpenZFSQuotaType+ OpenZFSQuotaType (..),++ -- * ReportFormat+ ReportFormat (..),++ -- * ReportScope+ ReportScope (..),++ -- * ResourceType+ ResourceType (..),++ -- * RestoreOpenZFSVolumeOption+ RestoreOpenZFSVolumeOption (..),++ -- * SecurityStyle+ SecurityStyle (..),++ -- * SnapshotFilterName+ SnapshotFilterName (..),++ -- * SnapshotLifecycle+ SnapshotLifecycle (..),++ -- * Status+ Status (..),++ -- * StorageType+ StorageType (..),++ -- * StorageVirtualMachineFilterName+ StorageVirtualMachineFilterName (..),++ -- * StorageVirtualMachineLifecycle+ StorageVirtualMachineLifecycle (..),++ -- * StorageVirtualMachineRootVolumeSecurityStyle+ StorageVirtualMachineRootVolumeSecurityStyle (..),++ -- * StorageVirtualMachineSubtype+ StorageVirtualMachineSubtype (..),++ -- * TieringPolicyName+ TieringPolicyName (..),++ -- * VolumeFilterName+ VolumeFilterName (..),++ -- * VolumeLifecycle+ VolumeLifecycle (..),++ -- * VolumeType+ VolumeType (..),++ -- * WindowsAccessAuditLogLevel+ WindowsAccessAuditLogLevel (..),++ -- * WindowsDeploymentType+ WindowsDeploymentType (..),++ -- * ActiveDirectoryBackupAttributes+ ActiveDirectoryBackupAttributes (..),+ newActiveDirectoryBackupAttributes,+ activeDirectoryBackupAttributes_activeDirectoryId,+ activeDirectoryBackupAttributes_domainName,+ activeDirectoryBackupAttributes_resourceARN,++ -- * AdministrativeAction+ AdministrativeAction (..),+ newAdministrativeAction,+ administrativeAction_administrativeActionType,+ administrativeAction_failureDetails,+ administrativeAction_progressPercent,+ administrativeAction_requestTime,+ administrativeAction_status,+ administrativeAction_targetFileSystemValues,+ administrativeAction_targetSnapshotValues,+ administrativeAction_targetVolumeValues,++ -- * AdministrativeActionFailureDetails+ AdministrativeActionFailureDetails (..),+ newAdministrativeActionFailureDetails,+ administrativeActionFailureDetails_message,++ -- * Alias+ Alias (..),+ newAlias,+ alias_lifecycle,+ alias_name,++ -- * AutoExportPolicy+ AutoExportPolicy (..),+ newAutoExportPolicy,+ autoExportPolicy_events,++ -- * AutoImportPolicy+ AutoImportPolicy (..),+ newAutoImportPolicy,+ autoImportPolicy_events,++ -- * Backup+ Backup (..),+ newBackup,+ backup_directoryInformation,+ backup_failureDetails,+ backup_kmsKeyId,+ backup_ownerId,+ backup_progressPercent,+ backup_resourceARN,+ backup_resourceType,+ backup_sourceBackupId,+ backup_sourceBackupRegion,+ backup_tags,+ backup_volume,+ backup_backupId,+ backup_lifecycle,+ backup_type,+ backup_creationTime,+ backup_fileSystem,++ -- * BackupFailureDetails+ BackupFailureDetails (..),+ newBackupFailureDetails,+ backupFailureDetails_message,++ -- * CompletionReport+ CompletionReport (..),+ newCompletionReport,+ completionReport_format,+ completionReport_path,+ completionReport_scope,+ completionReport_enabled,++ -- * CreateFileCacheLustreConfiguration+ CreateFileCacheLustreConfiguration (..),+ newCreateFileCacheLustreConfiguration,+ createFileCacheLustreConfiguration_weeklyMaintenanceStartTime,+ createFileCacheLustreConfiguration_perUnitStorageThroughput,+ createFileCacheLustreConfiguration_deploymentType,+ createFileCacheLustreConfiguration_metadataConfiguration,++ -- * CreateFileSystemLustreConfiguration+ CreateFileSystemLustreConfiguration (..),+ newCreateFileSystemLustreConfiguration,+ createFileSystemLustreConfiguration_autoImportPolicy,+ createFileSystemLustreConfiguration_automaticBackupRetentionDays,+ createFileSystemLustreConfiguration_copyTagsToBackups,+ createFileSystemLustreConfiguration_dailyAutomaticBackupStartTime,+ createFileSystemLustreConfiguration_dataCompressionType,+ createFileSystemLustreConfiguration_deploymentType,+ createFileSystemLustreConfiguration_driveCacheType,+ createFileSystemLustreConfiguration_exportPath,+ createFileSystemLustreConfiguration_importPath,+ createFileSystemLustreConfiguration_importedFileChunkSize,+ createFileSystemLustreConfiguration_logConfiguration,+ createFileSystemLustreConfiguration_perUnitStorageThroughput,+ createFileSystemLustreConfiguration_rootSquashConfiguration,+ createFileSystemLustreConfiguration_weeklyMaintenanceStartTime,++ -- * CreateFileSystemOntapConfiguration+ CreateFileSystemOntapConfiguration (..),+ newCreateFileSystemOntapConfiguration,+ createFileSystemOntapConfiguration_automaticBackupRetentionDays,+ createFileSystemOntapConfiguration_dailyAutomaticBackupStartTime,+ createFileSystemOntapConfiguration_diskIopsConfiguration,+ createFileSystemOntapConfiguration_endpointIpAddressRange,+ createFileSystemOntapConfiguration_fsxAdminPassword,+ createFileSystemOntapConfiguration_preferredSubnetId,+ createFileSystemOntapConfiguration_routeTableIds,+ createFileSystemOntapConfiguration_weeklyMaintenanceStartTime,+ createFileSystemOntapConfiguration_deploymentType,+ createFileSystemOntapConfiguration_throughputCapacity,++ -- * CreateFileSystemOpenZFSConfiguration+ CreateFileSystemOpenZFSConfiguration (..),+ newCreateFileSystemOpenZFSConfiguration,+ createFileSystemOpenZFSConfiguration_automaticBackupRetentionDays,+ createFileSystemOpenZFSConfiguration_copyTagsToBackups,+ createFileSystemOpenZFSConfiguration_copyTagsToVolumes,+ createFileSystemOpenZFSConfiguration_dailyAutomaticBackupStartTime,+ createFileSystemOpenZFSConfiguration_diskIopsConfiguration,+ createFileSystemOpenZFSConfiguration_rootVolumeConfiguration,+ createFileSystemOpenZFSConfiguration_weeklyMaintenanceStartTime,+ createFileSystemOpenZFSConfiguration_deploymentType,+ createFileSystemOpenZFSConfiguration_throughputCapacity,++ -- * CreateFileSystemWindowsConfiguration+ CreateFileSystemWindowsConfiguration (..),+ newCreateFileSystemWindowsConfiguration,+ createFileSystemWindowsConfiguration_activeDirectoryId,+ createFileSystemWindowsConfiguration_aliases,+ createFileSystemWindowsConfiguration_auditLogConfiguration,+ createFileSystemWindowsConfiguration_automaticBackupRetentionDays,+ createFileSystemWindowsConfiguration_copyTagsToBackups,+ createFileSystemWindowsConfiguration_dailyAutomaticBackupStartTime,+ createFileSystemWindowsConfiguration_deploymentType,+ createFileSystemWindowsConfiguration_preferredSubnetId,+ createFileSystemWindowsConfiguration_selfManagedActiveDirectoryConfiguration,+ createFileSystemWindowsConfiguration_weeklyMaintenanceStartTime,+ createFileSystemWindowsConfiguration_throughputCapacity,++ -- * CreateOntapVolumeConfiguration+ CreateOntapVolumeConfiguration (..),+ newCreateOntapVolumeConfiguration,+ createOntapVolumeConfiguration_copyTagsToBackups,+ createOntapVolumeConfiguration_junctionPath,+ createOntapVolumeConfiguration_ontapVolumeType,+ createOntapVolumeConfiguration_securityStyle,+ createOntapVolumeConfiguration_snapshotPolicy,+ createOntapVolumeConfiguration_storageEfficiencyEnabled,+ createOntapVolumeConfiguration_tieringPolicy,+ createOntapVolumeConfiguration_sizeInMegabytes,+ createOntapVolumeConfiguration_storageVirtualMachineId,++ -- * CreateOpenZFSOriginSnapshotConfiguration+ CreateOpenZFSOriginSnapshotConfiguration (..),+ newCreateOpenZFSOriginSnapshotConfiguration,+ createOpenZFSOriginSnapshotConfiguration_snapshotARN,+ createOpenZFSOriginSnapshotConfiguration_copyStrategy,++ -- * CreateOpenZFSVolumeConfiguration+ CreateOpenZFSVolumeConfiguration (..),+ newCreateOpenZFSVolumeConfiguration,+ createOpenZFSVolumeConfiguration_copyTagsToSnapshots,+ createOpenZFSVolumeConfiguration_dataCompressionType,+ createOpenZFSVolumeConfiguration_nfsExports,+ createOpenZFSVolumeConfiguration_originSnapshot,+ createOpenZFSVolumeConfiguration_readOnly,+ createOpenZFSVolumeConfiguration_recordSizeKiB,+ createOpenZFSVolumeConfiguration_storageCapacityQuotaGiB,+ createOpenZFSVolumeConfiguration_storageCapacityReservationGiB,+ createOpenZFSVolumeConfiguration_userAndGroupQuotas,+ createOpenZFSVolumeConfiguration_parentVolumeId,++ -- * CreateSvmActiveDirectoryConfiguration+ CreateSvmActiveDirectoryConfiguration (..),+ newCreateSvmActiveDirectoryConfiguration,+ createSvmActiveDirectoryConfiguration_selfManagedActiveDirectoryConfiguration,+ createSvmActiveDirectoryConfiguration_netBiosName,++ -- * DataRepositoryAssociation+ DataRepositoryAssociation (..),+ newDataRepositoryAssociation,+ dataRepositoryAssociation_associationId,+ dataRepositoryAssociation_batchImportMetaDataOnCreate,+ dataRepositoryAssociation_creationTime,+ dataRepositoryAssociation_dataRepositoryPath,+ dataRepositoryAssociation_dataRepositorySubdirectories,+ dataRepositoryAssociation_failureDetails,+ dataRepositoryAssociation_fileCacheId,+ dataRepositoryAssociation_fileCachePath,+ dataRepositoryAssociation_fileSystemId,+ dataRepositoryAssociation_fileSystemPath,+ dataRepositoryAssociation_importedFileChunkSize,+ dataRepositoryAssociation_lifecycle,+ dataRepositoryAssociation_nfs,+ dataRepositoryAssociation_resourceARN,+ dataRepositoryAssociation_s3,+ dataRepositoryAssociation_tags,++ -- * DataRepositoryConfiguration+ DataRepositoryConfiguration (..),+ newDataRepositoryConfiguration,+ dataRepositoryConfiguration_autoImportPolicy,+ dataRepositoryConfiguration_exportPath,+ dataRepositoryConfiguration_failureDetails,+ dataRepositoryConfiguration_importPath,+ dataRepositoryConfiguration_importedFileChunkSize,+ dataRepositoryConfiguration_lifecycle,++ -- * DataRepositoryFailureDetails+ DataRepositoryFailureDetails (..),+ newDataRepositoryFailureDetails,+ dataRepositoryFailureDetails_message,++ -- * DataRepositoryTask+ DataRepositoryTask (..),+ newDataRepositoryTask,+ dataRepositoryTask_capacityToRelease,+ dataRepositoryTask_endTime,+ dataRepositoryTask_failureDetails,+ dataRepositoryTask_fileCacheId,+ dataRepositoryTask_fileSystemId,+ dataRepositoryTask_paths,+ dataRepositoryTask_report,+ dataRepositoryTask_resourceARN,+ dataRepositoryTask_startTime,+ dataRepositoryTask_status,+ dataRepositoryTask_tags,+ dataRepositoryTask_taskId,+ dataRepositoryTask_lifecycle,+ dataRepositoryTask_type,+ dataRepositoryTask_creationTime,++ -- * DataRepositoryTaskFailureDetails+ DataRepositoryTaskFailureDetails (..),+ newDataRepositoryTaskFailureDetails,+ dataRepositoryTaskFailureDetails_message,++ -- * DataRepositoryTaskFilter+ DataRepositoryTaskFilter (..),+ newDataRepositoryTaskFilter,+ dataRepositoryTaskFilter_name,+ dataRepositoryTaskFilter_values,++ -- * DataRepositoryTaskStatus+ DataRepositoryTaskStatus (..),+ newDataRepositoryTaskStatus,+ dataRepositoryTaskStatus_failedCount,+ dataRepositoryTaskStatus_lastUpdatedTime,+ dataRepositoryTaskStatus_releasedCapacity,+ dataRepositoryTaskStatus_succeededCount,+ dataRepositoryTaskStatus_totalCount,++ -- * DeleteFileSystemLustreConfiguration+ DeleteFileSystemLustreConfiguration (..),+ newDeleteFileSystemLustreConfiguration,+ deleteFileSystemLustreConfiguration_finalBackupTags,+ deleteFileSystemLustreConfiguration_skipFinalBackup,++ -- * DeleteFileSystemLustreResponse+ DeleteFileSystemLustreResponse (..),+ newDeleteFileSystemLustreResponse,+ deleteFileSystemLustreResponse_finalBackupId,+ deleteFileSystemLustreResponse_finalBackupTags,++ -- * DeleteFileSystemOpenZFSConfiguration+ DeleteFileSystemOpenZFSConfiguration (..),+ newDeleteFileSystemOpenZFSConfiguration,+ deleteFileSystemOpenZFSConfiguration_finalBackupTags,+ deleteFileSystemOpenZFSConfiguration_options,+ deleteFileSystemOpenZFSConfiguration_skipFinalBackup,++ -- * DeleteFileSystemOpenZFSResponse+ DeleteFileSystemOpenZFSResponse (..),+ newDeleteFileSystemOpenZFSResponse,+ deleteFileSystemOpenZFSResponse_finalBackupId,+ deleteFileSystemOpenZFSResponse_finalBackupTags,++ -- * DeleteFileSystemWindowsConfiguration+ DeleteFileSystemWindowsConfiguration (..),+ newDeleteFileSystemWindowsConfiguration,+ deleteFileSystemWindowsConfiguration_finalBackupTags,+ deleteFileSystemWindowsConfiguration_skipFinalBackup,++ -- * DeleteFileSystemWindowsResponse+ DeleteFileSystemWindowsResponse (..),+ newDeleteFileSystemWindowsResponse,+ deleteFileSystemWindowsResponse_finalBackupId,+ deleteFileSystemWindowsResponse_finalBackupTags,++ -- * DeleteVolumeOntapConfiguration+ DeleteVolumeOntapConfiguration (..),+ newDeleteVolumeOntapConfiguration,+ deleteVolumeOntapConfiguration_finalBackupTags,+ deleteVolumeOntapConfiguration_skipFinalBackup,++ -- * DeleteVolumeOntapResponse+ DeleteVolumeOntapResponse (..),+ newDeleteVolumeOntapResponse,+ deleteVolumeOntapResponse_finalBackupId,+ deleteVolumeOntapResponse_finalBackupTags,++ -- * DeleteVolumeOpenZFSConfiguration+ DeleteVolumeOpenZFSConfiguration (..),+ newDeleteVolumeOpenZFSConfiguration,+ deleteVolumeOpenZFSConfiguration_options,++ -- * DiskIopsConfiguration+ DiskIopsConfiguration (..),+ newDiskIopsConfiguration,+ diskIopsConfiguration_iops,+ diskIopsConfiguration_mode,++ -- * FileCache+ FileCache (..),+ newFileCache,+ fileCache_creationTime,+ fileCache_dNSName,+ fileCache_dataRepositoryAssociationIds,+ fileCache_failureDetails,+ fileCache_fileCacheId,+ fileCache_fileCacheType,+ fileCache_fileCacheTypeVersion,+ fileCache_kmsKeyId,+ fileCache_lifecycle,+ fileCache_lustreConfiguration,+ fileCache_networkInterfaceIds,+ fileCache_ownerId,+ fileCache_resourceARN,+ fileCache_storageCapacity,+ fileCache_subnetIds,+ fileCache_vpcId,++ -- * FileCacheCreating+ FileCacheCreating (..),+ newFileCacheCreating,+ fileCacheCreating_copyTagsToDataRepositoryAssociations,+ fileCacheCreating_creationTime,+ fileCacheCreating_dNSName,+ fileCacheCreating_dataRepositoryAssociationIds,+ fileCacheCreating_failureDetails,+ fileCacheCreating_fileCacheId,+ fileCacheCreating_fileCacheType,+ fileCacheCreating_fileCacheTypeVersion,+ fileCacheCreating_kmsKeyId,+ fileCacheCreating_lifecycle,+ fileCacheCreating_lustreConfiguration,+ fileCacheCreating_networkInterfaceIds,+ fileCacheCreating_ownerId,+ fileCacheCreating_resourceARN,+ fileCacheCreating_storageCapacity,+ fileCacheCreating_subnetIds,+ fileCacheCreating_tags,+ fileCacheCreating_vpcId,++ -- * FileCacheDataRepositoryAssociation+ FileCacheDataRepositoryAssociation (..),+ newFileCacheDataRepositoryAssociation,+ fileCacheDataRepositoryAssociation_dataRepositorySubdirectories,+ fileCacheDataRepositoryAssociation_nfs,+ fileCacheDataRepositoryAssociation_fileCachePath,+ fileCacheDataRepositoryAssociation_dataRepositoryPath,++ -- * FileCacheFailureDetails+ FileCacheFailureDetails (..),+ newFileCacheFailureDetails,+ fileCacheFailureDetails_message,++ -- * FileCacheLustreConfiguration+ FileCacheLustreConfiguration (..),+ newFileCacheLustreConfiguration,+ fileCacheLustreConfiguration_deploymentType,+ fileCacheLustreConfiguration_logConfiguration,+ fileCacheLustreConfiguration_metadataConfiguration,+ fileCacheLustreConfiguration_mountName,+ fileCacheLustreConfiguration_perUnitStorageThroughput,+ fileCacheLustreConfiguration_weeklyMaintenanceStartTime,++ -- * FileCacheLustreMetadataConfiguration+ FileCacheLustreMetadataConfiguration (..),+ newFileCacheLustreMetadataConfiguration,+ fileCacheLustreMetadataConfiguration_storageCapacity,++ -- * FileCacheNFSConfiguration+ FileCacheNFSConfiguration (..),+ newFileCacheNFSConfiguration,+ fileCacheNFSConfiguration_dnsIps,+ fileCacheNFSConfiguration_version,++ -- * FileSystem+ FileSystem (..),+ newFileSystem,+ fileSystem_administrativeActions,+ fileSystem_creationTime,+ fileSystem_dNSName,+ fileSystem_failureDetails,+ fileSystem_fileSystemId,+ fileSystem_fileSystemType,+ fileSystem_fileSystemTypeVersion,+ fileSystem_kmsKeyId,+ fileSystem_lifecycle,+ fileSystem_lustreConfiguration,+ fileSystem_networkInterfaceIds,+ fileSystem_ontapConfiguration,+ fileSystem_openZFSConfiguration,+ fileSystem_ownerId,+ fileSystem_resourceARN,+ fileSystem_storageCapacity,+ fileSystem_storageType,+ fileSystem_subnetIds,+ fileSystem_tags,+ fileSystem_vpcId,+ fileSystem_windowsConfiguration,++ -- * FileSystemEndpoint+ FileSystemEndpoint (..),+ newFileSystemEndpoint,+ fileSystemEndpoint_dNSName,+ fileSystemEndpoint_ipAddresses,++ -- * FileSystemEndpoints+ FileSystemEndpoints (..),+ newFileSystemEndpoints,+ fileSystemEndpoints_intercluster,+ fileSystemEndpoints_management,++ -- * FileSystemFailureDetails+ FileSystemFailureDetails (..),+ newFileSystemFailureDetails,+ fileSystemFailureDetails_message,++ -- * Filter+ Filter (..),+ newFilter,+ filter_name,+ filter_values,++ -- * LifecycleTransitionReason+ LifecycleTransitionReason (..),+ newLifecycleTransitionReason,+ lifecycleTransitionReason_message,++ -- * LustreFileSystemConfiguration+ LustreFileSystemConfiguration (..),+ newLustreFileSystemConfiguration,+ lustreFileSystemConfiguration_automaticBackupRetentionDays,+ lustreFileSystemConfiguration_copyTagsToBackups,+ lustreFileSystemConfiguration_dailyAutomaticBackupStartTime,+ lustreFileSystemConfiguration_dataCompressionType,+ lustreFileSystemConfiguration_dataRepositoryConfiguration,+ lustreFileSystemConfiguration_deploymentType,+ lustreFileSystemConfiguration_driveCacheType,+ lustreFileSystemConfiguration_logConfiguration,+ lustreFileSystemConfiguration_mountName,+ lustreFileSystemConfiguration_perUnitStorageThroughput,+ lustreFileSystemConfiguration_rootSquashConfiguration,+ lustreFileSystemConfiguration_weeklyMaintenanceStartTime,++ -- * LustreLogConfiguration+ LustreLogConfiguration (..),+ newLustreLogConfiguration,+ lustreLogConfiguration_destination,+ lustreLogConfiguration_level,++ -- * LustreLogCreateConfiguration+ LustreLogCreateConfiguration (..),+ newLustreLogCreateConfiguration,+ lustreLogCreateConfiguration_destination,+ lustreLogCreateConfiguration_level,++ -- * LustreRootSquashConfiguration+ LustreRootSquashConfiguration (..),+ newLustreRootSquashConfiguration,+ lustreRootSquashConfiguration_noSquashNids,+ lustreRootSquashConfiguration_rootSquash,++ -- * NFSDataRepositoryConfiguration+ NFSDataRepositoryConfiguration (..),+ newNFSDataRepositoryConfiguration,+ nFSDataRepositoryConfiguration_autoExportPolicy,+ nFSDataRepositoryConfiguration_dnsIps,+ nFSDataRepositoryConfiguration_version,++ -- * OntapFileSystemConfiguration+ OntapFileSystemConfiguration (..),+ newOntapFileSystemConfiguration,+ ontapFileSystemConfiguration_automaticBackupRetentionDays,+ ontapFileSystemConfiguration_dailyAutomaticBackupStartTime,+ ontapFileSystemConfiguration_deploymentType,+ ontapFileSystemConfiguration_diskIopsConfiguration,+ ontapFileSystemConfiguration_endpointIpAddressRange,+ ontapFileSystemConfiguration_endpoints,+ ontapFileSystemConfiguration_preferredSubnetId,+ ontapFileSystemConfiguration_routeTableIds,+ ontapFileSystemConfiguration_throughputCapacity,+ ontapFileSystemConfiguration_weeklyMaintenanceStartTime,++ -- * OntapVolumeConfiguration+ OntapVolumeConfiguration (..),+ newOntapVolumeConfiguration,+ ontapVolumeConfiguration_copyTagsToBackups,+ ontapVolumeConfiguration_flexCacheEndpointType,+ ontapVolumeConfiguration_junctionPath,+ ontapVolumeConfiguration_ontapVolumeType,+ ontapVolumeConfiguration_securityStyle,+ ontapVolumeConfiguration_sizeInMegabytes,+ ontapVolumeConfiguration_snapshotPolicy,+ ontapVolumeConfiguration_storageEfficiencyEnabled,+ ontapVolumeConfiguration_storageVirtualMachineId,+ ontapVolumeConfiguration_storageVirtualMachineRoot,+ ontapVolumeConfiguration_tieringPolicy,+ ontapVolumeConfiguration_uuid,++ -- * OpenZFSClientConfiguration+ OpenZFSClientConfiguration (..),+ newOpenZFSClientConfiguration,+ openZFSClientConfiguration_clients,+ openZFSClientConfiguration_options,++ -- * OpenZFSCreateRootVolumeConfiguration+ OpenZFSCreateRootVolumeConfiguration (..),+ newOpenZFSCreateRootVolumeConfiguration,+ openZFSCreateRootVolumeConfiguration_copyTagsToSnapshots,+ openZFSCreateRootVolumeConfiguration_dataCompressionType,+ openZFSCreateRootVolumeConfiguration_nfsExports,+ openZFSCreateRootVolumeConfiguration_readOnly,+ openZFSCreateRootVolumeConfiguration_recordSizeKiB,+ openZFSCreateRootVolumeConfiguration_userAndGroupQuotas,++ -- * OpenZFSFileSystemConfiguration+ OpenZFSFileSystemConfiguration (..),+ newOpenZFSFileSystemConfiguration,+ openZFSFileSystemConfiguration_automaticBackupRetentionDays,+ openZFSFileSystemConfiguration_copyTagsToBackups,+ openZFSFileSystemConfiguration_copyTagsToVolumes,+ openZFSFileSystemConfiguration_dailyAutomaticBackupStartTime,+ openZFSFileSystemConfiguration_deploymentType,+ openZFSFileSystemConfiguration_diskIopsConfiguration,+ openZFSFileSystemConfiguration_rootVolumeId,+ openZFSFileSystemConfiguration_throughputCapacity,+ openZFSFileSystemConfiguration_weeklyMaintenanceStartTime,++ -- * OpenZFSNfsExport+ OpenZFSNfsExport (..),+ newOpenZFSNfsExport,+ openZFSNfsExport_clientConfigurations,++ -- * OpenZFSOriginSnapshotConfiguration+ OpenZFSOriginSnapshotConfiguration (..),+ newOpenZFSOriginSnapshotConfiguration,+ openZFSOriginSnapshotConfiguration_copyStrategy,+ openZFSOriginSnapshotConfiguration_snapshotARN,++ -- * OpenZFSUserOrGroupQuota+ OpenZFSUserOrGroupQuota (..),+ newOpenZFSUserOrGroupQuota,+ openZFSUserOrGroupQuota_type,+ openZFSUserOrGroupQuota_id,+ openZFSUserOrGroupQuota_storageCapacityQuotaGiB,++ -- * OpenZFSVolumeConfiguration+ OpenZFSVolumeConfiguration (..),+ newOpenZFSVolumeConfiguration,+ openZFSVolumeConfiguration_copyTagsToSnapshots,+ openZFSVolumeConfiguration_dataCompressionType,+ openZFSVolumeConfiguration_deleteClonedVolumes,+ openZFSVolumeConfiguration_deleteIntermediateSnaphots,+ openZFSVolumeConfiguration_nfsExports,+ openZFSVolumeConfiguration_originSnapshot,+ openZFSVolumeConfiguration_parentVolumeId,+ openZFSVolumeConfiguration_readOnly,+ openZFSVolumeConfiguration_recordSizeKiB,+ openZFSVolumeConfiguration_restoreToSnapshot,+ openZFSVolumeConfiguration_storageCapacityQuotaGiB,+ openZFSVolumeConfiguration_storageCapacityReservationGiB,+ openZFSVolumeConfiguration_userAndGroupQuotas,+ openZFSVolumeConfiguration_volumePath,++ -- * S3DataRepositoryConfiguration+ S3DataRepositoryConfiguration (..),+ newS3DataRepositoryConfiguration,+ s3DataRepositoryConfiguration_autoExportPolicy,+ s3DataRepositoryConfiguration_autoImportPolicy,++ -- * SelfManagedActiveDirectoryAttributes+ SelfManagedActiveDirectoryAttributes (..),+ newSelfManagedActiveDirectoryAttributes,+ selfManagedActiveDirectoryAttributes_dnsIps,+ selfManagedActiveDirectoryAttributes_domainName,+ selfManagedActiveDirectoryAttributes_fileSystemAdministratorsGroup,+ selfManagedActiveDirectoryAttributes_organizationalUnitDistinguishedName,+ selfManagedActiveDirectoryAttributes_userName,++ -- * SelfManagedActiveDirectoryConfiguration+ SelfManagedActiveDirectoryConfiguration (..),+ newSelfManagedActiveDirectoryConfiguration,+ selfManagedActiveDirectoryConfiguration_fileSystemAdministratorsGroup,+ selfManagedActiveDirectoryConfiguration_organizationalUnitDistinguishedName,+ selfManagedActiveDirectoryConfiguration_domainName,+ selfManagedActiveDirectoryConfiguration_userName,+ selfManagedActiveDirectoryConfiguration_password,+ selfManagedActiveDirectoryConfiguration_dnsIps,++ -- * SelfManagedActiveDirectoryConfigurationUpdates+ SelfManagedActiveDirectoryConfigurationUpdates (..),+ newSelfManagedActiveDirectoryConfigurationUpdates,+ selfManagedActiveDirectoryConfigurationUpdates_dnsIps,+ selfManagedActiveDirectoryConfigurationUpdates_password,+ selfManagedActiveDirectoryConfigurationUpdates_userName,++ -- * Snapshot+ Snapshot (..),+ newSnapshot,+ snapshot_administrativeActions,+ snapshot_creationTime,+ snapshot_lifecycle,+ snapshot_lifecycleTransitionReason,+ snapshot_name,+ snapshot_resourceARN,+ snapshot_snapshotId,+ snapshot_tags,+ snapshot_volumeId,++ -- * SnapshotFilter+ SnapshotFilter (..),+ newSnapshotFilter,+ snapshotFilter_name,+ snapshotFilter_values,++ -- * StorageVirtualMachine+ StorageVirtualMachine (..),+ newStorageVirtualMachine,+ storageVirtualMachine_activeDirectoryConfiguration,+ storageVirtualMachine_creationTime,+ storageVirtualMachine_endpoints,+ storageVirtualMachine_fileSystemId,+ storageVirtualMachine_lifecycle,+ storageVirtualMachine_lifecycleTransitionReason,+ storageVirtualMachine_name,+ storageVirtualMachine_resourceARN,+ storageVirtualMachine_rootVolumeSecurityStyle,+ storageVirtualMachine_storageVirtualMachineId,+ storageVirtualMachine_subtype,+ storageVirtualMachine_tags,+ storageVirtualMachine_uuid,++ -- * StorageVirtualMachineFilter+ StorageVirtualMachineFilter (..),+ newStorageVirtualMachineFilter,+ storageVirtualMachineFilter_name,+ storageVirtualMachineFilter_values,++ -- * SvmActiveDirectoryConfiguration+ SvmActiveDirectoryConfiguration (..),+ newSvmActiveDirectoryConfiguration,+ svmActiveDirectoryConfiguration_netBiosName,+ svmActiveDirectoryConfiguration_selfManagedActiveDirectoryConfiguration,++ -- * SvmEndpoint+ SvmEndpoint (..),+ newSvmEndpoint,+ svmEndpoint_dNSName,+ svmEndpoint_ipAddresses,++ -- * SvmEndpoints+ SvmEndpoints (..),+ newSvmEndpoints,+ svmEndpoints_iscsi,+ svmEndpoints_management,+ svmEndpoints_nfs,+ svmEndpoints_smb,++ -- * Tag+ Tag (..),+ newTag,+ tag_key,+ tag_value,++ -- * TieringPolicy+ TieringPolicy (..),+ newTieringPolicy,+ tieringPolicy_coolingPeriod,+ tieringPolicy_name,++ -- * UpdateFileCacheLustreConfiguration+ UpdateFileCacheLustreConfiguration (..),+ newUpdateFileCacheLustreConfiguration,+ updateFileCacheLustreConfiguration_weeklyMaintenanceStartTime,++ -- * UpdateFileSystemLustreConfiguration+ UpdateFileSystemLustreConfiguration (..),+ newUpdateFileSystemLustreConfiguration,+ updateFileSystemLustreConfiguration_autoImportPolicy,+ updateFileSystemLustreConfiguration_automaticBackupRetentionDays,+ updateFileSystemLustreConfiguration_dailyAutomaticBackupStartTime,+ updateFileSystemLustreConfiguration_dataCompressionType,+ updateFileSystemLustreConfiguration_logConfiguration,+ updateFileSystemLustreConfiguration_rootSquashConfiguration,+ updateFileSystemLustreConfiguration_weeklyMaintenanceStartTime,++ -- * UpdateFileSystemOntapConfiguration+ UpdateFileSystemOntapConfiguration (..),+ newUpdateFileSystemOntapConfiguration,+ updateFileSystemOntapConfiguration_addRouteTableIds,+ updateFileSystemOntapConfiguration_automaticBackupRetentionDays,+ updateFileSystemOntapConfiguration_dailyAutomaticBackupStartTime,+ updateFileSystemOntapConfiguration_diskIopsConfiguration,+ updateFileSystemOntapConfiguration_fsxAdminPassword,+ updateFileSystemOntapConfiguration_removeRouteTableIds,+ updateFileSystemOntapConfiguration_throughputCapacity,+ updateFileSystemOntapConfiguration_weeklyMaintenanceStartTime,++ -- * UpdateFileSystemOpenZFSConfiguration+ UpdateFileSystemOpenZFSConfiguration (..),+ newUpdateFileSystemOpenZFSConfiguration,+ updateFileSystemOpenZFSConfiguration_automaticBackupRetentionDays,+ updateFileSystemOpenZFSConfiguration_copyTagsToBackups,+ updateFileSystemOpenZFSConfiguration_copyTagsToVolumes,+ updateFileSystemOpenZFSConfiguration_dailyAutomaticBackupStartTime,+ updateFileSystemOpenZFSConfiguration_diskIopsConfiguration,+ updateFileSystemOpenZFSConfiguration_throughputCapacity,+ updateFileSystemOpenZFSConfiguration_weeklyMaintenanceStartTime,++ -- * UpdateFileSystemWindowsConfiguration+ UpdateFileSystemWindowsConfiguration (..),+ newUpdateFileSystemWindowsConfiguration,+ updateFileSystemWindowsConfiguration_auditLogConfiguration,+ updateFileSystemWindowsConfiguration_automaticBackupRetentionDays,+ updateFileSystemWindowsConfiguration_dailyAutomaticBackupStartTime,+ updateFileSystemWindowsConfiguration_selfManagedActiveDirectoryConfiguration,+ updateFileSystemWindowsConfiguration_throughputCapacity,+ updateFileSystemWindowsConfiguration_weeklyMaintenanceStartTime,++ -- * UpdateOntapVolumeConfiguration+ UpdateOntapVolumeConfiguration (..),+ newUpdateOntapVolumeConfiguration,+ updateOntapVolumeConfiguration_copyTagsToBackups,+ updateOntapVolumeConfiguration_junctionPath,+ updateOntapVolumeConfiguration_securityStyle,+ updateOntapVolumeConfiguration_sizeInMegabytes,+ updateOntapVolumeConfiguration_snapshotPolicy,+ updateOntapVolumeConfiguration_storageEfficiencyEnabled,+ updateOntapVolumeConfiguration_tieringPolicy,++ -- * UpdateOpenZFSVolumeConfiguration+ UpdateOpenZFSVolumeConfiguration (..),+ newUpdateOpenZFSVolumeConfiguration,+ updateOpenZFSVolumeConfiguration_dataCompressionType,+ updateOpenZFSVolumeConfiguration_nfsExports,+ updateOpenZFSVolumeConfiguration_readOnly,+ updateOpenZFSVolumeConfiguration_recordSizeKiB,+ updateOpenZFSVolumeConfiguration_storageCapacityQuotaGiB,+ updateOpenZFSVolumeConfiguration_storageCapacityReservationGiB,+ updateOpenZFSVolumeConfiguration_userAndGroupQuotas,++ -- * UpdateSvmActiveDirectoryConfiguration+ UpdateSvmActiveDirectoryConfiguration (..),+ newUpdateSvmActiveDirectoryConfiguration,+ updateSvmActiveDirectoryConfiguration_selfManagedActiveDirectoryConfiguration,++ -- * Volume+ Volume (..),+ newVolume,+ volume_administrativeActions,+ volume_creationTime,+ volume_fileSystemId,+ volume_lifecycle,+ volume_lifecycleTransitionReason,+ volume_name,+ volume_ontapConfiguration,+ volume_openZFSConfiguration,+ volume_resourceARN,+ volume_tags,+ volume_volumeId,+ volume_volumeType,++ -- * VolumeFilter+ VolumeFilter (..),+ newVolumeFilter,+ volumeFilter_name,+ volumeFilter_values,++ -- * WindowsAuditLogConfiguration+ WindowsAuditLogConfiguration (..),+ newWindowsAuditLogConfiguration,+ windowsAuditLogConfiguration_auditLogDestination,+ windowsAuditLogConfiguration_fileAccessAuditLogLevel,+ windowsAuditLogConfiguration_fileShareAccessAuditLogLevel,++ -- * WindowsAuditLogCreateConfiguration+ WindowsAuditLogCreateConfiguration (..),+ newWindowsAuditLogCreateConfiguration,+ windowsAuditLogCreateConfiguration_auditLogDestination,+ windowsAuditLogCreateConfiguration_fileAccessAuditLogLevel,+ windowsAuditLogCreateConfiguration_fileShareAccessAuditLogLevel,++ -- * WindowsFileSystemConfiguration+ WindowsFileSystemConfiguration (..),+ newWindowsFileSystemConfiguration,+ windowsFileSystemConfiguration_activeDirectoryId,+ windowsFileSystemConfiguration_aliases,+ windowsFileSystemConfiguration_auditLogConfiguration,+ windowsFileSystemConfiguration_automaticBackupRetentionDays,+ windowsFileSystemConfiguration_copyTagsToBackups,+ windowsFileSystemConfiguration_dailyAutomaticBackupStartTime,+ windowsFileSystemConfiguration_deploymentType,+ windowsFileSystemConfiguration_maintenanceOperationsInProgress,+ windowsFileSystemConfiguration_preferredFileServerIp,+ windowsFileSystemConfiguration_preferredSubnetId,+ windowsFileSystemConfiguration_remoteAdministrationEndpoint,+ windowsFileSystemConfiguration_selfManagedActiveDirectoryConfiguration,+ windowsFileSystemConfiguration_throughputCapacity,+ windowsFileSystemConfiguration_weeklyMaintenanceStartTime,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import Amazonka.FSx.Types.ActiveDirectoryBackupAttributes+import Amazonka.FSx.Types.AdministrativeAction+import Amazonka.FSx.Types.AdministrativeActionFailureDetails+import Amazonka.FSx.Types.AdministrativeActionType+import Amazonka.FSx.Types.Alias+import Amazonka.FSx.Types.AliasLifecycle+import Amazonka.FSx.Types.AutoExportPolicy+import Amazonka.FSx.Types.AutoImportPolicy+import Amazonka.FSx.Types.AutoImportPolicyType+import Amazonka.FSx.Types.Backup+import Amazonka.FSx.Types.BackupFailureDetails+import Amazonka.FSx.Types.BackupLifecycle+import Amazonka.FSx.Types.BackupType+import Amazonka.FSx.Types.CompletionReport+import Amazonka.FSx.Types.CreateFileCacheLustreConfiguration+import Amazonka.FSx.Types.CreateFileSystemLustreConfiguration+import Amazonka.FSx.Types.CreateFileSystemOntapConfiguration+import Amazonka.FSx.Types.CreateFileSystemOpenZFSConfiguration+import Amazonka.FSx.Types.CreateFileSystemWindowsConfiguration+import Amazonka.FSx.Types.CreateOntapVolumeConfiguration+import Amazonka.FSx.Types.CreateOpenZFSOriginSnapshotConfiguration+import Amazonka.FSx.Types.CreateOpenZFSVolumeConfiguration+import Amazonka.FSx.Types.CreateSvmActiveDirectoryConfiguration+import Amazonka.FSx.Types.DataCompressionType+import Amazonka.FSx.Types.DataRepositoryAssociation+import Amazonka.FSx.Types.DataRepositoryConfiguration+import Amazonka.FSx.Types.DataRepositoryFailureDetails+import Amazonka.FSx.Types.DataRepositoryLifecycle+import Amazonka.FSx.Types.DataRepositoryTask+import Amazonka.FSx.Types.DataRepositoryTaskFailureDetails+import Amazonka.FSx.Types.DataRepositoryTaskFilter+import Amazonka.FSx.Types.DataRepositoryTaskFilterName+import Amazonka.FSx.Types.DataRepositoryTaskLifecycle+import Amazonka.FSx.Types.DataRepositoryTaskStatus+import Amazonka.FSx.Types.DataRepositoryTaskType+import Amazonka.FSx.Types.DeleteFileSystemLustreConfiguration+import Amazonka.FSx.Types.DeleteFileSystemLustreResponse+import Amazonka.FSx.Types.DeleteFileSystemOpenZFSConfiguration+import Amazonka.FSx.Types.DeleteFileSystemOpenZFSOption+import Amazonka.FSx.Types.DeleteFileSystemOpenZFSResponse+import Amazonka.FSx.Types.DeleteFileSystemWindowsConfiguration+import Amazonka.FSx.Types.DeleteFileSystemWindowsResponse+import Amazonka.FSx.Types.DeleteOpenZFSVolumeOption+import Amazonka.FSx.Types.DeleteVolumeOntapConfiguration+import Amazonka.FSx.Types.DeleteVolumeOntapResponse+import Amazonka.FSx.Types.DeleteVolumeOpenZFSConfiguration+import Amazonka.FSx.Types.DiskIopsConfiguration+import Amazonka.FSx.Types.DiskIopsConfigurationMode+import Amazonka.FSx.Types.DriveCacheType+import Amazonka.FSx.Types.EventType+import Amazonka.FSx.Types.FileCache+import Amazonka.FSx.Types.FileCacheCreating+import Amazonka.FSx.Types.FileCacheDataRepositoryAssociation+import Amazonka.FSx.Types.FileCacheFailureDetails+import Amazonka.FSx.Types.FileCacheLifecycle+import Amazonka.FSx.Types.FileCacheLustreConfiguration+import Amazonka.FSx.Types.FileCacheLustreDeploymentType+import Amazonka.FSx.Types.FileCacheLustreMetadataConfiguration+import Amazonka.FSx.Types.FileCacheNFSConfiguration+import Amazonka.FSx.Types.FileCacheType+import Amazonka.FSx.Types.FileSystem+import Amazonka.FSx.Types.FileSystemEndpoint+import Amazonka.FSx.Types.FileSystemEndpoints+import Amazonka.FSx.Types.FileSystemFailureDetails+import Amazonka.FSx.Types.FileSystemLifecycle+import Amazonka.FSx.Types.FileSystemMaintenanceOperation+import Amazonka.FSx.Types.FileSystemType+import Amazonka.FSx.Types.Filter+import Amazonka.FSx.Types.FilterName+import Amazonka.FSx.Types.FlexCacheEndpointType+import Amazonka.FSx.Types.InputOntapVolumeType+import Amazonka.FSx.Types.LifecycleTransitionReason+import Amazonka.FSx.Types.LustreAccessAuditLogLevel+import Amazonka.FSx.Types.LustreDeploymentType+import Amazonka.FSx.Types.LustreFileSystemConfiguration+import Amazonka.FSx.Types.LustreLogConfiguration+import Amazonka.FSx.Types.LustreLogCreateConfiguration+import Amazonka.FSx.Types.LustreRootSquashConfiguration+import Amazonka.FSx.Types.NFSDataRepositoryConfiguration+import Amazonka.FSx.Types.NfsVersion+import Amazonka.FSx.Types.OntapDeploymentType+import Amazonka.FSx.Types.OntapFileSystemConfiguration+import Amazonka.FSx.Types.OntapVolumeConfiguration+import Amazonka.FSx.Types.OntapVolumeType+import Amazonka.FSx.Types.OpenZFSClientConfiguration+import Amazonka.FSx.Types.OpenZFSCopyStrategy+import Amazonka.FSx.Types.OpenZFSCreateRootVolumeConfiguration+import Amazonka.FSx.Types.OpenZFSDataCompressionType+import Amazonka.FSx.Types.OpenZFSDeploymentType+import Amazonka.FSx.Types.OpenZFSFileSystemConfiguration+import Amazonka.FSx.Types.OpenZFSNfsExport+import Amazonka.FSx.Types.OpenZFSOriginSnapshotConfiguration+import Amazonka.FSx.Types.OpenZFSQuotaType+import Amazonka.FSx.Types.OpenZFSUserOrGroupQuota+import Amazonka.FSx.Types.OpenZFSVolumeConfiguration+import Amazonka.FSx.Types.ReportFormat+import Amazonka.FSx.Types.ReportScope+import Amazonka.FSx.Types.ResourceType+import Amazonka.FSx.Types.RestoreOpenZFSVolumeOption+import Amazonka.FSx.Types.S3DataRepositoryConfiguration+import Amazonka.FSx.Types.SecurityStyle+import Amazonka.FSx.Types.SelfManagedActiveDirectoryAttributes+import Amazonka.FSx.Types.SelfManagedActiveDirectoryConfiguration+import Amazonka.FSx.Types.SelfManagedActiveDirectoryConfigurationUpdates+import Amazonka.FSx.Types.Snapshot+import Amazonka.FSx.Types.SnapshotFilter+import Amazonka.FSx.Types.SnapshotFilterName+import Amazonka.FSx.Types.SnapshotLifecycle+import Amazonka.FSx.Types.Status+import Amazonka.FSx.Types.StorageType+import Amazonka.FSx.Types.StorageVirtualMachine+import Amazonka.FSx.Types.StorageVirtualMachineFilter+import Amazonka.FSx.Types.StorageVirtualMachineFilterName+import Amazonka.FSx.Types.StorageVirtualMachineLifecycle+import Amazonka.FSx.Types.StorageVirtualMachineRootVolumeSecurityStyle+import Amazonka.FSx.Types.StorageVirtualMachineSubtype+import Amazonka.FSx.Types.SvmActiveDirectoryConfiguration+import Amazonka.FSx.Types.SvmEndpoint+import Amazonka.FSx.Types.SvmEndpoints+import Amazonka.FSx.Types.Tag+import Amazonka.FSx.Types.TieringPolicy+import Amazonka.FSx.Types.TieringPolicyName+import Amazonka.FSx.Types.UpdateFileCacheLustreConfiguration+import Amazonka.FSx.Types.UpdateFileSystemLustreConfiguration+import Amazonka.FSx.Types.UpdateFileSystemOntapConfiguration+import Amazonka.FSx.Types.UpdateFileSystemOpenZFSConfiguration+import Amazonka.FSx.Types.UpdateFileSystemWindowsConfiguration+import Amazonka.FSx.Types.UpdateOntapVolumeConfiguration+import Amazonka.FSx.Types.UpdateOpenZFSVolumeConfiguration+import Amazonka.FSx.Types.UpdateSvmActiveDirectoryConfiguration+import Amazonka.FSx.Types.Volume+import Amazonka.FSx.Types.VolumeFilter+import Amazonka.FSx.Types.VolumeFilterName+import Amazonka.FSx.Types.VolumeLifecycle+import Amazonka.FSx.Types.VolumeType+import Amazonka.FSx.Types.WindowsAccessAuditLogLevel+import Amazonka.FSx.Types.WindowsAuditLogConfiguration+import Amazonka.FSx.Types.WindowsAuditLogCreateConfiguration+import Amazonka.FSx.Types.WindowsDeploymentType+import Amazonka.FSx.Types.WindowsFileSystemConfiguration+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Sign.V4 as Sign++-- | API version @2018-03-01@ of the Amazon FSx SDK configuration.+defaultService :: Core.Service+defaultService =+ Core.Service+ { Core.abbrev = "FSx",+ Core.signer = Sign.v4,+ Core.endpointPrefix = "fsx",+ Core.signingName = "fsx",+ Core.version = "2018-03-01",+ Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+ Core.endpoint = Core.defaultEndpoint defaultService,+ Core.timeout = Prelude.Just 70,+ Core.check = Core.statusSuccess,+ Core.error = Core.parseJSONError "FSx",+ 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++-- | An Active Directory error.+_ActiveDirectoryError :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ActiveDirectoryError =+ Core._MatchServiceError+ defaultService+ "ActiveDirectoryError"++-- | You can\'t delete a backup while it\'s being copied.+_BackupBeingCopied :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_BackupBeingCopied =+ Core._MatchServiceError+ defaultService+ "BackupBeingCopied"++-- | Another backup is already under way. Wait for completion before+-- initiating additional backups of this file system.+_BackupInProgress :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_BackupInProgress =+ Core._MatchServiceError+ defaultService+ "BackupInProgress"++-- | No Amazon FSx backups were found based upon the supplied parameters.+_BackupNotFound :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_BackupNotFound =+ Core._MatchServiceError+ defaultService+ "BackupNotFound"++-- | You can\'t delete a backup while it\'s being used to restore a file+-- system.+_BackupRestoring :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_BackupRestoring =+ Core._MatchServiceError+ defaultService+ "BackupRestoring"++-- | A generic error indicating a failure with a client request.+_BadRequest :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_BadRequest =+ Core._MatchServiceError defaultService "BadRequest"++-- | No data repository associations were found based upon the supplied+-- parameters.+_DataRepositoryAssociationNotFound :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_DataRepositoryAssociationNotFound =+ Core._MatchServiceError+ defaultService+ "DataRepositoryAssociationNotFound"++-- | The data repository task could not be canceled because the task has+-- already ended.+_DataRepositoryTaskEnded :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_DataRepositoryTaskEnded =+ Core._MatchServiceError+ defaultService+ "DataRepositoryTaskEnded"++-- | An existing data repository task is currently executing on the file+-- system. Wait until the existing task has completed, then create the new+-- task.+_DataRepositoryTaskExecuting :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_DataRepositoryTaskExecuting =+ Core._MatchServiceError+ defaultService+ "DataRepositoryTaskExecuting"++-- | The data repository task or tasks you specified could not be found.+_DataRepositoryTaskNotFound :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_DataRepositoryTaskNotFound =+ Core._MatchServiceError+ defaultService+ "DataRepositoryTaskNotFound"++-- | No caches were found based upon supplied parameters.+_FileCacheNotFound :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_FileCacheNotFound =+ Core._MatchServiceError+ defaultService+ "FileCacheNotFound"++-- | No Amazon FSx file systems were found based upon supplied parameters.+_FileSystemNotFound :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_FileSystemNotFound =+ Core._MatchServiceError+ defaultService+ "FileSystemNotFound"++-- | The error returned when a second request is received with the same+-- client request token but different parameters settings. A client request+-- token should always uniquely identify a single request.+_IncompatibleParameterError :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_IncompatibleParameterError =+ Core._MatchServiceError+ defaultService+ "IncompatibleParameterError"++-- | Amazon FSx doesn\'t support Multi-AZ Windows File Server copy backup in+-- the destination Region, so the copied backup can\'t be restored.+_IncompatibleRegionForMultiAZ :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_IncompatibleRegionForMultiAZ =+ Core._MatchServiceError+ defaultService+ "IncompatibleRegionForMultiAZ"++-- | A generic error indicating a server-side failure.+_InternalServerError :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InternalServerError =+ Core._MatchServiceError+ defaultService+ "InternalServerError"++-- | You have filtered the response to a data repository type that is not+-- supported.+_InvalidDataRepositoryType :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InvalidDataRepositoryType =+ Core._MatchServiceError+ defaultService+ "InvalidDataRepositoryType"++-- | The Key Management Service (KMS) key of the destination backup is not+-- valid.+_InvalidDestinationKmsKey :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InvalidDestinationKmsKey =+ Core._MatchServiceError+ defaultService+ "InvalidDestinationKmsKey"++-- | The path provided for data repository export isn\'t valid.+_InvalidExportPath :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InvalidExportPath =+ Core._MatchServiceError+ defaultService+ "InvalidExportPath"++-- | The path provided for data repository import isn\'t valid.+_InvalidImportPath :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InvalidImportPath =+ Core._MatchServiceError+ defaultService+ "InvalidImportPath"++-- | One or more network settings specified in the request are invalid.+_InvalidNetworkSettings :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InvalidNetworkSettings =+ Core._MatchServiceError+ defaultService+ "InvalidNetworkSettings"++-- | An invalid value for @PerUnitStorageThroughput@ was provided. Please+-- create your file system again, using a valid value.+_InvalidPerUnitStorageThroughput :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InvalidPerUnitStorageThroughput =+ Core._MatchServiceError+ defaultService+ "InvalidPerUnitStorageThroughput"++-- | The Region provided for @SourceRegion@ is not valid or is in a different+-- Amazon Web Services partition.+_InvalidRegion :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InvalidRegion =+ Core._MatchServiceError+ defaultService+ "InvalidRegion"++-- | The Key Management Service (KMS) key of the source backup is not valid.+_InvalidSourceKmsKey :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InvalidSourceKmsKey =+ Core._MatchServiceError+ defaultService+ "InvalidSourceKmsKey"++-- | A cache configuration is required for this operation.+_MissingFileCacheConfiguration :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_MissingFileCacheConfiguration =+ Core._MatchServiceError+ defaultService+ "MissingFileCacheConfiguration"++-- | A file system configuration is required for this operation.+_MissingFileSystemConfiguration :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_MissingFileSystemConfiguration =+ Core._MatchServiceError+ defaultService+ "MissingFileSystemConfiguration"++-- | A volume configuration is required for this operation.+_MissingVolumeConfiguration :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_MissingVolumeConfiguration =+ Core._MatchServiceError+ defaultService+ "MissingVolumeConfiguration"++-- | The resource specified for the tagging operation is not a resource type+-- owned by Amazon FSx. Use the API of the relevant service to perform the+-- operation.+_NotServiceResourceError :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_NotServiceResourceError =+ Core._MatchServiceError+ defaultService+ "NotServiceResourceError"++-- | The resource specified does not support tagging.+_ResourceDoesNotSupportTagging :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceDoesNotSupportTagging =+ Core._MatchServiceError+ defaultService+ "ResourceDoesNotSupportTagging"++-- | The resource specified by the Amazon Resource Name (ARN) can\'t be+-- found.+_ResourceNotFound :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceNotFound =+ Core._MatchServiceError+ defaultService+ "ResourceNotFound"++-- | An error indicating that a particular service limit was exceeded. You+-- can increase some service limits by contacting Amazon Web Services+-- Support.+_ServiceLimitExceeded :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ServiceLimitExceeded =+ Core._MatchServiceError+ defaultService+ "ServiceLimitExceeded"++-- | No Amazon FSx snapshots were found based on the supplied parameters.+_SnapshotNotFound :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_SnapshotNotFound =+ Core._MatchServiceError+ defaultService+ "SnapshotNotFound"++-- | The request was rejected because the lifecycle status of the source+-- backup isn\'t @AVAILABLE@.+_SourceBackupUnavailable :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_SourceBackupUnavailable =+ Core._MatchServiceError+ defaultService+ "SourceBackupUnavailable"++-- | No FSx for ONTAP SVMs were found based upon the supplied parameters.+_StorageVirtualMachineNotFound :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_StorageVirtualMachineNotFound =+ Core._MatchServiceError+ defaultService+ "StorageVirtualMachineNotFound"++-- | The requested operation is not supported for this resource or API.+_UnsupportedOperation :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_UnsupportedOperation =+ Core._MatchServiceError+ defaultService+ "UnsupportedOperation"++-- | No Amazon FSx volumes were found based upon the supplied parameters.+_VolumeNotFound :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_VolumeNotFound =+ Core._MatchServiceError+ defaultService+ "VolumeNotFound"
+ gen/Amazonka/FSx/Types/ActiveDirectoryBackupAttributes.hs view
@@ -0,0 +1,114 @@+{-# 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.FSx.Types.ActiveDirectoryBackupAttributes+-- 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.FSx.Types.ActiveDirectoryBackupAttributes 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 Microsoft Active Directory attributes of the Amazon FSx for Windows+-- File Server file system.+--+-- /See:/ 'newActiveDirectoryBackupAttributes' smart constructor.+data ActiveDirectoryBackupAttributes = ActiveDirectoryBackupAttributes'+ { -- | The ID of the Amazon Web Services Managed Microsoft Active Directory+ -- instance to which the file system is joined.+ activeDirectoryId :: Prelude.Maybe Prelude.Text,+ -- | The fully qualified domain name of the self-managed Active Directory+ -- directory.+ domainName :: Prelude.Maybe Prelude.Text,+ resourceARN :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ActiveDirectoryBackupAttributes' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'activeDirectoryId', 'activeDirectoryBackupAttributes_activeDirectoryId' - The ID of the Amazon Web Services Managed Microsoft Active Directory+-- instance to which the file system is joined.+--+-- 'domainName', 'activeDirectoryBackupAttributes_domainName' - The fully qualified domain name of the self-managed Active Directory+-- directory.+--+-- 'resourceARN', 'activeDirectoryBackupAttributes_resourceARN' - Undocumented member.+newActiveDirectoryBackupAttributes ::+ ActiveDirectoryBackupAttributes+newActiveDirectoryBackupAttributes =+ ActiveDirectoryBackupAttributes'+ { activeDirectoryId =+ Prelude.Nothing,+ domainName = Prelude.Nothing,+ resourceARN = Prelude.Nothing+ }++-- | The ID of the Amazon Web Services Managed Microsoft Active Directory+-- instance to which the file system is joined.+activeDirectoryBackupAttributes_activeDirectoryId :: Lens.Lens' ActiveDirectoryBackupAttributes (Prelude.Maybe Prelude.Text)+activeDirectoryBackupAttributes_activeDirectoryId = Lens.lens (\ActiveDirectoryBackupAttributes' {activeDirectoryId} -> activeDirectoryId) (\s@ActiveDirectoryBackupAttributes' {} a -> s {activeDirectoryId = a} :: ActiveDirectoryBackupAttributes)++-- | The fully qualified domain name of the self-managed Active Directory+-- directory.+activeDirectoryBackupAttributes_domainName :: Lens.Lens' ActiveDirectoryBackupAttributes (Prelude.Maybe Prelude.Text)+activeDirectoryBackupAttributes_domainName = Lens.lens (\ActiveDirectoryBackupAttributes' {domainName} -> domainName) (\s@ActiveDirectoryBackupAttributes' {} a -> s {domainName = a} :: ActiveDirectoryBackupAttributes)++-- | Undocumented member.+activeDirectoryBackupAttributes_resourceARN :: Lens.Lens' ActiveDirectoryBackupAttributes (Prelude.Maybe Prelude.Text)+activeDirectoryBackupAttributes_resourceARN = Lens.lens (\ActiveDirectoryBackupAttributes' {resourceARN} -> resourceARN) (\s@ActiveDirectoryBackupAttributes' {} a -> s {resourceARN = a} :: ActiveDirectoryBackupAttributes)++instance+ Data.FromJSON+ ActiveDirectoryBackupAttributes+ where+ parseJSON =+ Data.withObject+ "ActiveDirectoryBackupAttributes"+ ( \x ->+ ActiveDirectoryBackupAttributes'+ Prelude.<$> (x Data..:? "ActiveDirectoryId")+ Prelude.<*> (x Data..:? "DomainName")+ Prelude.<*> (x Data..:? "ResourceARN")+ )++instance+ Prelude.Hashable+ ActiveDirectoryBackupAttributes+ where+ hashWithSalt+ _salt+ ActiveDirectoryBackupAttributes' {..} =+ _salt+ `Prelude.hashWithSalt` activeDirectoryId+ `Prelude.hashWithSalt` domainName+ `Prelude.hashWithSalt` resourceARN++instance+ Prelude.NFData+ ActiveDirectoryBackupAttributes+ where+ rnf ActiveDirectoryBackupAttributes' {..} =+ Prelude.rnf activeDirectoryId+ `Prelude.seq` Prelude.rnf domainName+ `Prelude.seq` Prelude.rnf resourceARN
+ gen/Amazonka/FSx/Types/AdministrativeAction.hs view
@@ -0,0 +1,217 @@+{-# 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.FSx.Types.AdministrativeAction+-- 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.FSx.Types.AdministrativeAction where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types.AdministrativeActionFailureDetails+import Amazonka.FSx.Types.AdministrativeActionType+import {-# SOURCE #-} Amazonka.FSx.Types.FileSystem+import {-# SOURCE #-} Amazonka.FSx.Types.Snapshot+import Amazonka.FSx.Types.Status+import {-# SOURCE #-} Amazonka.FSx.Types.Volume+import qualified Amazonka.Prelude as Prelude++-- | Describes a specific Amazon FSx administrative action for the current+-- Windows, Lustre, or OpenZFS file system.+--+-- /See:/ 'newAdministrativeAction' smart constructor.+data AdministrativeAction = AdministrativeAction'+ { administrativeActionType :: Prelude.Maybe AdministrativeActionType,+ failureDetails :: Prelude.Maybe AdministrativeActionFailureDetails,+ -- | The percentage-complete status of a @STORAGE_OPTIMIZATION@+ -- administrative action. Does not apply to any other administrative action+ -- type.+ progressPercent :: Prelude.Maybe Prelude.Natural,+ -- | The time that the administrative action request was received.+ requestTime :: Prelude.Maybe Data.POSIX,+ -- | Describes the status of the administrative action, as follows:+ --+ -- - @FAILED@ - Amazon FSx failed to process the administrative action+ -- successfully.+ --+ -- - @IN_PROGRESS@ - Amazon FSx is processing the administrative action.+ --+ -- - @PENDING@ - Amazon FSx is waiting to process the administrative+ -- action.+ --+ -- - @COMPLETED@ - Amazon FSx has finished processing the administrative+ -- task.+ --+ -- - @UPDATED_OPTIMIZING@ - For a storage-capacity increase update,+ -- Amazon FSx has updated the file system with the new storage+ -- capacity, and is now performing the storage-optimization process.+ status :: Prelude.Maybe Status,+ -- | Describes the target value for the administration action, provided in+ -- the @UpdateFileSystem@ operation. Returned for @FILE_SYSTEM_UPDATE@+ -- administrative actions.+ targetFileSystemValues :: Prelude.Maybe FileSystem,+ targetSnapshotValues :: Prelude.Maybe Snapshot,+ targetVolumeValues :: Prelude.Maybe Volume+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AdministrativeAction' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'administrativeActionType', 'administrativeAction_administrativeActionType' - Undocumented member.+--+-- 'failureDetails', 'administrativeAction_failureDetails' - Undocumented member.+--+-- 'progressPercent', 'administrativeAction_progressPercent' - The percentage-complete status of a @STORAGE_OPTIMIZATION@+-- administrative action. Does not apply to any other administrative action+-- type.+--+-- 'requestTime', 'administrativeAction_requestTime' - The time that the administrative action request was received.+--+-- 'status', 'administrativeAction_status' - Describes the status of the administrative action, as follows:+--+-- - @FAILED@ - Amazon FSx failed to process the administrative action+-- successfully.+--+-- - @IN_PROGRESS@ - Amazon FSx is processing the administrative action.+--+-- - @PENDING@ - Amazon FSx is waiting to process the administrative+-- action.+--+-- - @COMPLETED@ - Amazon FSx has finished processing the administrative+-- task.+--+-- - @UPDATED_OPTIMIZING@ - For a storage-capacity increase update,+-- Amazon FSx has updated the file system with the new storage+-- capacity, and is now performing the storage-optimization process.+--+-- 'targetFileSystemValues', 'administrativeAction_targetFileSystemValues' - Describes the target value for the administration action, provided in+-- the @UpdateFileSystem@ operation. Returned for @FILE_SYSTEM_UPDATE@+-- administrative actions.+--+-- 'targetSnapshotValues', 'administrativeAction_targetSnapshotValues' - Undocumented member.+--+-- 'targetVolumeValues', 'administrativeAction_targetVolumeValues' - Undocumented member.+newAdministrativeAction ::+ AdministrativeAction+newAdministrativeAction =+ AdministrativeAction'+ { administrativeActionType =+ Prelude.Nothing,+ failureDetails = Prelude.Nothing,+ progressPercent = Prelude.Nothing,+ requestTime = Prelude.Nothing,+ status = Prelude.Nothing,+ targetFileSystemValues = Prelude.Nothing,+ targetSnapshotValues = Prelude.Nothing,+ targetVolumeValues = Prelude.Nothing+ }++-- | Undocumented member.+administrativeAction_administrativeActionType :: Lens.Lens' AdministrativeAction (Prelude.Maybe AdministrativeActionType)+administrativeAction_administrativeActionType = Lens.lens (\AdministrativeAction' {administrativeActionType} -> administrativeActionType) (\s@AdministrativeAction' {} a -> s {administrativeActionType = a} :: AdministrativeAction)++-- | Undocumented member.+administrativeAction_failureDetails :: Lens.Lens' AdministrativeAction (Prelude.Maybe AdministrativeActionFailureDetails)+administrativeAction_failureDetails = Lens.lens (\AdministrativeAction' {failureDetails} -> failureDetails) (\s@AdministrativeAction' {} a -> s {failureDetails = a} :: AdministrativeAction)++-- | The percentage-complete status of a @STORAGE_OPTIMIZATION@+-- administrative action. Does not apply to any other administrative action+-- type.+administrativeAction_progressPercent :: Lens.Lens' AdministrativeAction (Prelude.Maybe Prelude.Natural)+administrativeAction_progressPercent = Lens.lens (\AdministrativeAction' {progressPercent} -> progressPercent) (\s@AdministrativeAction' {} a -> s {progressPercent = a} :: AdministrativeAction)++-- | The time that the administrative action request was received.+administrativeAction_requestTime :: Lens.Lens' AdministrativeAction (Prelude.Maybe Prelude.UTCTime)+administrativeAction_requestTime = Lens.lens (\AdministrativeAction' {requestTime} -> requestTime) (\s@AdministrativeAction' {} a -> s {requestTime = a} :: AdministrativeAction) Prelude.. Lens.mapping Data._Time++-- | Describes the status of the administrative action, as follows:+--+-- - @FAILED@ - Amazon FSx failed to process the administrative action+-- successfully.+--+-- - @IN_PROGRESS@ - Amazon FSx is processing the administrative action.+--+-- - @PENDING@ - Amazon FSx is waiting to process the administrative+-- action.+--+-- - @COMPLETED@ - Amazon FSx has finished processing the administrative+-- task.+--+-- - @UPDATED_OPTIMIZING@ - For a storage-capacity increase update,+-- Amazon FSx has updated the file system with the new storage+-- capacity, and is now performing the storage-optimization process.+administrativeAction_status :: Lens.Lens' AdministrativeAction (Prelude.Maybe Status)+administrativeAction_status = Lens.lens (\AdministrativeAction' {status} -> status) (\s@AdministrativeAction' {} a -> s {status = a} :: AdministrativeAction)++-- | Describes the target value for the administration action, provided in+-- the @UpdateFileSystem@ operation. Returned for @FILE_SYSTEM_UPDATE@+-- administrative actions.+administrativeAction_targetFileSystemValues :: Lens.Lens' AdministrativeAction (Prelude.Maybe FileSystem)+administrativeAction_targetFileSystemValues = Lens.lens (\AdministrativeAction' {targetFileSystemValues} -> targetFileSystemValues) (\s@AdministrativeAction' {} a -> s {targetFileSystemValues = a} :: AdministrativeAction)++-- | Undocumented member.+administrativeAction_targetSnapshotValues :: Lens.Lens' AdministrativeAction (Prelude.Maybe Snapshot)+administrativeAction_targetSnapshotValues = Lens.lens (\AdministrativeAction' {targetSnapshotValues} -> targetSnapshotValues) (\s@AdministrativeAction' {} a -> s {targetSnapshotValues = a} :: AdministrativeAction)++-- | Undocumented member.+administrativeAction_targetVolumeValues :: Lens.Lens' AdministrativeAction (Prelude.Maybe Volume)+administrativeAction_targetVolumeValues = Lens.lens (\AdministrativeAction' {targetVolumeValues} -> targetVolumeValues) (\s@AdministrativeAction' {} a -> s {targetVolumeValues = a} :: AdministrativeAction)++instance Data.FromJSON AdministrativeAction where+ parseJSON =+ Data.withObject+ "AdministrativeAction"+ ( \x ->+ AdministrativeAction'+ Prelude.<$> (x Data..:? "AdministrativeActionType")+ Prelude.<*> (x Data..:? "FailureDetails")+ Prelude.<*> (x Data..:? "ProgressPercent")+ Prelude.<*> (x Data..:? "RequestTime")+ Prelude.<*> (x Data..:? "Status")+ Prelude.<*> (x Data..:? "TargetFileSystemValues")+ Prelude.<*> (x Data..:? "TargetSnapshotValues")+ Prelude.<*> (x Data..:? "TargetVolumeValues")+ )++instance Prelude.Hashable AdministrativeAction where+ hashWithSalt _salt AdministrativeAction' {..} =+ _salt+ `Prelude.hashWithSalt` administrativeActionType+ `Prelude.hashWithSalt` failureDetails+ `Prelude.hashWithSalt` progressPercent+ `Prelude.hashWithSalt` requestTime+ `Prelude.hashWithSalt` status+ `Prelude.hashWithSalt` targetFileSystemValues+ `Prelude.hashWithSalt` targetSnapshotValues+ `Prelude.hashWithSalt` targetVolumeValues++instance Prelude.NFData AdministrativeAction where+ rnf AdministrativeAction' {..} =+ Prelude.rnf administrativeActionType+ `Prelude.seq` Prelude.rnf failureDetails+ `Prelude.seq` Prelude.rnf progressPercent+ `Prelude.seq` Prelude.rnf requestTime+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf targetFileSystemValues+ `Prelude.seq` Prelude.rnf targetSnapshotValues+ `Prelude.seq` Prelude.rnf targetVolumeValues
+ gen/Amazonka/FSx/Types/AdministrativeAction.hs-boot view
@@ -0,0 +1,31 @@+{-# OPTIONS_GHC -Wno-missing-methods #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FSx.Types.AdministrativeAction+-- 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.FSx.Types.AdministrativeAction where++import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++data AdministrativeAction++instance Prelude.Eq AdministrativeAction++instance Prelude.Read AdministrativeAction++instance Prelude.Show AdministrativeAction++instance Prelude.Generic AdministrativeAction++instance Data.FromJSON AdministrativeAction++instance Prelude.NFData AdministrativeAction++instance Prelude.Hashable AdministrativeAction
+ gen/Amazonka/FSx/Types/AdministrativeActionFailureDetails.hs view
@@ -0,0 +1,83 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FSx.Types.AdministrativeActionFailureDetails+-- 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.FSx.Types.AdministrativeActionFailureDetails 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++-- | Provides information about a failed administrative action.+--+-- /See:/ 'newAdministrativeActionFailureDetails' smart constructor.+data AdministrativeActionFailureDetails = AdministrativeActionFailureDetails'+ { -- | Error message providing details about the failed administrative action.+ message :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AdministrativeActionFailureDetails' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'message', 'administrativeActionFailureDetails_message' - Error message providing details about the failed administrative action.+newAdministrativeActionFailureDetails ::+ AdministrativeActionFailureDetails+newAdministrativeActionFailureDetails =+ AdministrativeActionFailureDetails'+ { message =+ Prelude.Nothing+ }++-- | Error message providing details about the failed administrative action.+administrativeActionFailureDetails_message :: Lens.Lens' AdministrativeActionFailureDetails (Prelude.Maybe Prelude.Text)+administrativeActionFailureDetails_message = Lens.lens (\AdministrativeActionFailureDetails' {message} -> message) (\s@AdministrativeActionFailureDetails' {} a -> s {message = a} :: AdministrativeActionFailureDetails)++instance+ Data.FromJSON+ AdministrativeActionFailureDetails+ where+ parseJSON =+ Data.withObject+ "AdministrativeActionFailureDetails"+ ( \x ->+ AdministrativeActionFailureDetails'+ Prelude.<$> (x Data..:? "Message")+ )++instance+ Prelude.Hashable+ AdministrativeActionFailureDetails+ where+ hashWithSalt+ _salt+ AdministrativeActionFailureDetails' {..} =+ _salt `Prelude.hashWithSalt` message++instance+ Prelude.NFData+ AdministrativeActionFailureDetails+ where+ rnf AdministrativeActionFailureDetails' {..} =+ Prelude.rnf message
+ gen/Amazonka/FSx/Types/AdministrativeActionType.hs view
@@ -0,0 +1,153 @@+{-# 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.FSx.Types.AdministrativeActionType+-- 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.FSx.Types.AdministrativeActionType+ ( AdministrativeActionType+ ( ..,+ AdministrativeActionType_FILE_SYSTEM_ALIAS_ASSOCIATION,+ AdministrativeActionType_FILE_SYSTEM_ALIAS_DISASSOCIATION,+ AdministrativeActionType_FILE_SYSTEM_UPDATE,+ AdministrativeActionType_RELEASE_NFS_V3_LOCKS,+ AdministrativeActionType_SNAPSHOT_UPDATE,+ AdministrativeActionType_STORAGE_OPTIMIZATION,+ AdministrativeActionType_VOLUME_RESTORE,+ AdministrativeActionType_VOLUME_UPDATE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Describes the type of administrative action, as follows:+--+-- - @FILE_SYSTEM_UPDATE@ - A file system update administrative action+-- initiated from the Amazon FSx console, API (@UpdateFileSystem@), or+-- CLI (@update-file-system@).+--+-- - @STORAGE_OPTIMIZATION@ - After the @FILE_SYSTEM_UPDATE@ task to+-- increase a file system\'s storage capacity has been completed+-- successfully, a @STORAGE_OPTIMIZATION@ task starts.+--+-- - For Windows and ONTAP, storage optimization is the process of+-- migrating the file system data to newer larger disks.+--+-- - For Lustre, storage optimization consists of rebalancing the+-- data across the existing and newly added file servers.+--+-- You can track the storage-optimization progress using the+-- @ProgressPercent@ property. When @STORAGE_OPTIMIZATION@ has been+-- completed successfully, the parent @FILE_SYSTEM_UPDATE@ action+-- status changes to @COMPLETED@. For more information, see+-- <https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-storage-capacity.html Managing storage capacity>+-- in the /Amazon FSx for Windows File Server User Guide/,+-- <https://docs.aws.amazon.com/fsx/latest/LustreGuide/managing-storage-capacity.html Managing storage and throughput capacity>+-- in the /Amazon FSx for Lustre User Guide/, and+-- <https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/managing-storage-capacity.html Managing storage capacity and provisioned IOPS>+-- in the /Amazon FSx for NetApp ONTAP User Guide/.+--+-- - @FILE_SYSTEM_ALIAS_ASSOCIATION@ - A file system update to associate+-- a new Domain Name System (DNS) alias with the file system. For more+-- information, see+-- <https://docs.aws.amazon.com/fsx/latest/APIReference/API_AssociateFileSystemAliases.html AssociateFileSystemAliases>.+--+-- - @FILE_SYSTEM_ALIAS_DISASSOCIATION@ - A file system update to+-- disassociate a DNS alias from the file system. For more information,+-- see+-- <https://docs.aws.amazon.com/fsx/latest/APIReference/API_DisassociateFileSystemAliases.html DisassociateFileSystemAliases>.+--+-- - @VOLUME_UPDATE@ - A volume update to an Amazon FSx for NetApp ONTAP+-- or Amazon FSx for OpenZFS volume initiated from the Amazon FSx+-- console, API (@UpdateVolume@), or CLI (@update-volume@).+--+-- - @VOLUME_RESTORE@ - An Amazon FSx for OpenZFS volume is returned to+-- the state saved by the specified snapshot, initiated from an API+-- (@RestoreVolumeFromSnapshot@) or CLI+-- (@restore-volume-from-snapshot@).+--+-- - @SNAPSHOT_UPDATE@ - A snapshot update to an Amazon FSx for OpenZFS+-- volume initiated from the Amazon FSx console, API+-- (@UpdateSnapshot@), or CLI (@update-snapshot@).+--+-- - @RELEASE_NFS_V3_LOCKS@ - Tracks the release of Network File System+-- (NFS) V3 locks on an Amazon FSx for OpenZFS file system.+newtype AdministrativeActionType = AdministrativeActionType'+ { fromAdministrativeActionType ::+ 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 AdministrativeActionType_FILE_SYSTEM_ALIAS_ASSOCIATION :: AdministrativeActionType+pattern AdministrativeActionType_FILE_SYSTEM_ALIAS_ASSOCIATION = AdministrativeActionType' "FILE_SYSTEM_ALIAS_ASSOCIATION"++pattern AdministrativeActionType_FILE_SYSTEM_ALIAS_DISASSOCIATION :: AdministrativeActionType+pattern AdministrativeActionType_FILE_SYSTEM_ALIAS_DISASSOCIATION = AdministrativeActionType' "FILE_SYSTEM_ALIAS_DISASSOCIATION"++pattern AdministrativeActionType_FILE_SYSTEM_UPDATE :: AdministrativeActionType+pattern AdministrativeActionType_FILE_SYSTEM_UPDATE = AdministrativeActionType' "FILE_SYSTEM_UPDATE"++pattern AdministrativeActionType_RELEASE_NFS_V3_LOCKS :: AdministrativeActionType+pattern AdministrativeActionType_RELEASE_NFS_V3_LOCKS = AdministrativeActionType' "RELEASE_NFS_V3_LOCKS"++pattern AdministrativeActionType_SNAPSHOT_UPDATE :: AdministrativeActionType+pattern AdministrativeActionType_SNAPSHOT_UPDATE = AdministrativeActionType' "SNAPSHOT_UPDATE"++pattern AdministrativeActionType_STORAGE_OPTIMIZATION :: AdministrativeActionType+pattern AdministrativeActionType_STORAGE_OPTIMIZATION = AdministrativeActionType' "STORAGE_OPTIMIZATION"++pattern AdministrativeActionType_VOLUME_RESTORE :: AdministrativeActionType+pattern AdministrativeActionType_VOLUME_RESTORE = AdministrativeActionType' "VOLUME_RESTORE"++pattern AdministrativeActionType_VOLUME_UPDATE :: AdministrativeActionType+pattern AdministrativeActionType_VOLUME_UPDATE = AdministrativeActionType' "VOLUME_UPDATE"++{-# COMPLETE+ AdministrativeActionType_FILE_SYSTEM_ALIAS_ASSOCIATION,+ AdministrativeActionType_FILE_SYSTEM_ALIAS_DISASSOCIATION,+ AdministrativeActionType_FILE_SYSTEM_UPDATE,+ AdministrativeActionType_RELEASE_NFS_V3_LOCKS,+ AdministrativeActionType_SNAPSHOT_UPDATE,+ AdministrativeActionType_STORAGE_OPTIMIZATION,+ AdministrativeActionType_VOLUME_RESTORE,+ AdministrativeActionType_VOLUME_UPDATE,+ AdministrativeActionType'+ #-}
+ gen/Amazonka/FSx/Types/Alias.hs view
@@ -0,0 +1,180 @@+{-# 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.FSx.Types.Alias+-- 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.FSx.Types.Alias where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types.AliasLifecycle+import qualified Amazonka.Prelude as Prelude++-- | A DNS alias that is associated with the file system. You can use a DNS+-- alias to access a file system using user-defined DNS names, in addition+-- to the default DNS name that Amazon FSx assigns to the file system. For+-- more information, see+-- <https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-dns-aliases.html DNS aliases>+-- in the /FSx for Windows File Server User Guide/.+--+-- /See:/ 'newAlias' smart constructor.+data Alias = Alias'+ { -- | Describes the state of the DNS alias.+ --+ -- - AVAILABLE - The DNS alias is associated with an Amazon FSx file+ -- system.+ --+ -- - CREATING - Amazon FSx is creating the DNS alias and associating it+ -- with the file system.+ --+ -- - CREATE_FAILED - Amazon FSx was unable to associate the DNS alias+ -- with the file system.+ --+ -- - DELETING - Amazon FSx is disassociating the DNS alias from the file+ -- system and deleting it.+ --+ -- - DELETE_FAILED - Amazon FSx was unable to disassociate the DNS alias+ -- from the file system.+ lifecycle :: Prelude.Maybe AliasLifecycle,+ -- | The name of the DNS alias. The alias name has to meet the following+ -- requirements:+ --+ -- - Formatted as a fully-qualified domain name (FQDN),+ -- @hostname.domain@, for example, @accounting.example.com@.+ --+ -- - Can contain alphanumeric characters, the underscore (_), and the+ -- hyphen (-).+ --+ -- - Cannot start or end with a hyphen.+ --+ -- - Can start with a numeric.+ --+ -- For DNS names, Amazon FSx stores alphabetic characters as lowercase+ -- letters (a-z), regardless of how you specify them: as uppercase letters,+ -- lowercase letters, or the corresponding letters in escape codes.+ name :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Alias' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'lifecycle', 'alias_lifecycle' - Describes the state of the DNS alias.+--+-- - AVAILABLE - The DNS alias is associated with an Amazon FSx file+-- system.+--+-- - CREATING - Amazon FSx is creating the DNS alias and associating it+-- with the file system.+--+-- - CREATE_FAILED - Amazon FSx was unable to associate the DNS alias+-- with the file system.+--+-- - DELETING - Amazon FSx is disassociating the DNS alias from the file+-- system and deleting it.+--+-- - DELETE_FAILED - Amazon FSx was unable to disassociate the DNS alias+-- from the file system.+--+-- 'name', 'alias_name' - The name of the DNS alias. The alias name has to meet the following+-- requirements:+--+-- - Formatted as a fully-qualified domain name (FQDN),+-- @hostname.domain@, for example, @accounting.example.com@.+--+-- - Can contain alphanumeric characters, the underscore (_), and the+-- hyphen (-).+--+-- - Cannot start or end with a hyphen.+--+-- - Can start with a numeric.+--+-- For DNS names, Amazon FSx stores alphabetic characters as lowercase+-- letters (a-z), regardless of how you specify them: as uppercase letters,+-- lowercase letters, or the corresponding letters in escape codes.+newAlias ::+ Alias+newAlias =+ Alias'+ { lifecycle = Prelude.Nothing,+ name = Prelude.Nothing+ }++-- | Describes the state of the DNS alias.+--+-- - AVAILABLE - The DNS alias is associated with an Amazon FSx file+-- system.+--+-- - CREATING - Amazon FSx is creating the DNS alias and associating it+-- with the file system.+--+-- - CREATE_FAILED - Amazon FSx was unable to associate the DNS alias+-- with the file system.+--+-- - DELETING - Amazon FSx is disassociating the DNS alias from the file+-- system and deleting it.+--+-- - DELETE_FAILED - Amazon FSx was unable to disassociate the DNS alias+-- from the file system.+alias_lifecycle :: Lens.Lens' Alias (Prelude.Maybe AliasLifecycle)+alias_lifecycle = Lens.lens (\Alias' {lifecycle} -> lifecycle) (\s@Alias' {} a -> s {lifecycle = a} :: Alias)++-- | The name of the DNS alias. The alias name has to meet the following+-- requirements:+--+-- - Formatted as a fully-qualified domain name (FQDN),+-- @hostname.domain@, for example, @accounting.example.com@.+--+-- - Can contain alphanumeric characters, the underscore (_), and the+-- hyphen (-).+--+-- - Cannot start or end with a hyphen.+--+-- - Can start with a numeric.+--+-- For DNS names, Amazon FSx stores alphabetic characters as lowercase+-- letters (a-z), regardless of how you specify them: as uppercase letters,+-- lowercase letters, or the corresponding letters in escape codes.+alias_name :: Lens.Lens' Alias (Prelude.Maybe Prelude.Text)+alias_name = Lens.lens (\Alias' {name} -> name) (\s@Alias' {} a -> s {name = a} :: Alias)++instance Data.FromJSON Alias where+ parseJSON =+ Data.withObject+ "Alias"+ ( \x ->+ Alias'+ Prelude.<$> (x Data..:? "Lifecycle")+ Prelude.<*> (x Data..:? "Name")+ )++instance Prelude.Hashable Alias where+ hashWithSalt _salt Alias' {..} =+ _salt+ `Prelude.hashWithSalt` lifecycle+ `Prelude.hashWithSalt` name++instance Prelude.NFData Alias where+ rnf Alias' {..} =+ Prelude.rnf lifecycle+ `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/FSx/Types/AliasLifecycle.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.FSx.Types.AliasLifecycle+-- 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.FSx.Types.AliasLifecycle+ ( AliasLifecycle+ ( ..,+ AliasLifecycle_AVAILABLE,+ AliasLifecycle_CREATE_FAILED,+ AliasLifecycle_CREATING,+ AliasLifecycle_DELETE_FAILED,+ AliasLifecycle_DELETING+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AliasLifecycle = AliasLifecycle'+ { fromAliasLifecycle ::+ 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 AliasLifecycle_AVAILABLE :: AliasLifecycle+pattern AliasLifecycle_AVAILABLE = AliasLifecycle' "AVAILABLE"++pattern AliasLifecycle_CREATE_FAILED :: AliasLifecycle+pattern AliasLifecycle_CREATE_FAILED = AliasLifecycle' "CREATE_FAILED"++pattern AliasLifecycle_CREATING :: AliasLifecycle+pattern AliasLifecycle_CREATING = AliasLifecycle' "CREATING"++pattern AliasLifecycle_DELETE_FAILED :: AliasLifecycle+pattern AliasLifecycle_DELETE_FAILED = AliasLifecycle' "DELETE_FAILED"++pattern AliasLifecycle_DELETING :: AliasLifecycle+pattern AliasLifecycle_DELETING = AliasLifecycle' "DELETING"++{-# COMPLETE+ AliasLifecycle_AVAILABLE,+ AliasLifecycle_CREATE_FAILED,+ AliasLifecycle_CREATING,+ AliasLifecycle_DELETE_FAILED,+ AliasLifecycle_DELETING,+ AliasLifecycle'+ #-}
+ gen/Amazonka/FSx/Types/AutoExportPolicy.hs view
@@ -0,0 +1,120 @@+{-# 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.FSx.Types.AutoExportPolicy+-- 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.FSx.Types.AutoExportPolicy where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types.EventType+import qualified Amazonka.Prelude as Prelude++-- | Describes a data repository association\'s automatic export policy. The+-- @AutoExportPolicy@ defines the types of updated objects on the file+-- system that will be automatically exported to the data repository. As+-- you create, modify, or delete files, Amazon FSx for Lustre automatically+-- exports the defined changes asynchronously once your application+-- finishes modifying the file.+--+-- This @AutoExportPolicy@ is supported only for Amazon FSx for Lustre file+-- systems with the @Persistent_2@ deployment type.+--+-- /See:/ 'newAutoExportPolicy' smart constructor.+data AutoExportPolicy = AutoExportPolicy'+ { -- | The @AutoExportPolicy@ can have the following event values:+ --+ -- - @NEW@ - New files and directories are automatically exported to the+ -- data repository as they are added to the file system.+ --+ -- - @CHANGED@ - Changes to files and directories on the file system are+ -- automatically exported to the data repository.+ --+ -- - @DELETED@ - Files and directories are automatically deleted on the+ -- data repository when they are deleted on the file system.+ --+ -- You can define any combination of event types for your+ -- @AutoExportPolicy@.+ events :: Prelude.Maybe [EventType]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AutoExportPolicy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'events', 'autoExportPolicy_events' - The @AutoExportPolicy@ can have the following event values:+--+-- - @NEW@ - New files and directories are automatically exported to the+-- data repository as they are added to the file system.+--+-- - @CHANGED@ - Changes to files and directories on the file system are+-- automatically exported to the data repository.+--+-- - @DELETED@ - Files and directories are automatically deleted on the+-- data repository when they are deleted on the file system.+--+-- You can define any combination of event types for your+-- @AutoExportPolicy@.+newAutoExportPolicy ::+ AutoExportPolicy+newAutoExportPolicy =+ AutoExportPolicy' {events = Prelude.Nothing}++-- | The @AutoExportPolicy@ can have the following event values:+--+-- - @NEW@ - New files and directories are automatically exported to the+-- data repository as they are added to the file system.+--+-- - @CHANGED@ - Changes to files and directories on the file system are+-- automatically exported to the data repository.+--+-- - @DELETED@ - Files and directories are automatically deleted on the+-- data repository when they are deleted on the file system.+--+-- You can define any combination of event types for your+-- @AutoExportPolicy@.+autoExportPolicy_events :: Lens.Lens' AutoExportPolicy (Prelude.Maybe [EventType])+autoExportPolicy_events = Lens.lens (\AutoExportPolicy' {events} -> events) (\s@AutoExportPolicy' {} a -> s {events = a} :: AutoExportPolicy) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON AutoExportPolicy where+ parseJSON =+ Data.withObject+ "AutoExportPolicy"+ ( \x ->+ AutoExportPolicy'+ Prelude.<$> (x Data..:? "Events" Data..!= Prelude.mempty)+ )++instance Prelude.Hashable AutoExportPolicy where+ hashWithSalt _salt AutoExportPolicy' {..} =+ _salt `Prelude.hashWithSalt` events++instance Prelude.NFData AutoExportPolicy where+ rnf AutoExportPolicy' {..} = Prelude.rnf events++instance Data.ToJSON AutoExportPolicy where+ toJSON AutoExportPolicy' {..} =+ Data.object+ ( Prelude.catMaybes+ [("Events" Data..=) Prelude.<$> events]+ )
+ gen/Amazonka/FSx/Types/AutoImportPolicy.hs view
@@ -0,0 +1,124 @@+{-# 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.FSx.Types.AutoImportPolicy+-- 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.FSx.Types.AutoImportPolicy where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types.EventType+import qualified Amazonka.Prelude as Prelude++-- | Describes the data repository association\'s automatic import policy.+-- The AutoImportPolicy defines how Amazon FSx keeps your file metadata and+-- directory listings up to date by importing changes to your Amazon FSx+-- for Lustre file system as you modify objects in a linked S3 bucket.+--+-- The @AutoImportPolicy@ is supported only for Amazon FSx for Lustre file+-- systems with the @Persistent_2@ deployment type.+--+-- /See:/ 'newAutoImportPolicy' smart constructor.+data AutoImportPolicy = AutoImportPolicy'+ { -- | The @AutoImportPolicy@ can have the following event values:+ --+ -- - @NEW@ - Amazon FSx automatically imports metadata of files added to+ -- the linked S3 bucket that do not currently exist in the FSx file+ -- system.+ --+ -- - @CHANGED@ - Amazon FSx automatically updates file metadata and+ -- invalidates existing file content on the file system as files change+ -- in the data repository.+ --+ -- - @DELETED@ - Amazon FSx automatically deletes files on the file+ -- system as corresponding files are deleted in the data repository.+ --+ -- You can define any combination of event types for your+ -- @AutoImportPolicy@.+ events :: Prelude.Maybe [EventType]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AutoImportPolicy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'events', 'autoImportPolicy_events' - The @AutoImportPolicy@ can have the following event values:+--+-- - @NEW@ - Amazon FSx automatically imports metadata of files added to+-- the linked S3 bucket that do not currently exist in the FSx file+-- system.+--+-- - @CHANGED@ - Amazon FSx automatically updates file metadata and+-- invalidates existing file content on the file system as files change+-- in the data repository.+--+-- - @DELETED@ - Amazon FSx automatically deletes files on the file+-- system as corresponding files are deleted in the data repository.+--+-- You can define any combination of event types for your+-- @AutoImportPolicy@.+newAutoImportPolicy ::+ AutoImportPolicy+newAutoImportPolicy =+ AutoImportPolicy' {events = Prelude.Nothing}++-- | The @AutoImportPolicy@ can have the following event values:+--+-- - @NEW@ - Amazon FSx automatically imports metadata of files added to+-- the linked S3 bucket that do not currently exist in the FSx file+-- system.+--+-- - @CHANGED@ - Amazon FSx automatically updates file metadata and+-- invalidates existing file content on the file system as files change+-- in the data repository.+--+-- - @DELETED@ - Amazon FSx automatically deletes files on the file+-- system as corresponding files are deleted in the data repository.+--+-- You can define any combination of event types for your+-- @AutoImportPolicy@.+autoImportPolicy_events :: Lens.Lens' AutoImportPolicy (Prelude.Maybe [EventType])+autoImportPolicy_events = Lens.lens (\AutoImportPolicy' {events} -> events) (\s@AutoImportPolicy' {} a -> s {events = a} :: AutoImportPolicy) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON AutoImportPolicy where+ parseJSON =+ Data.withObject+ "AutoImportPolicy"+ ( \x ->+ AutoImportPolicy'+ Prelude.<$> (x Data..:? "Events" Data..!= Prelude.mempty)+ )++instance Prelude.Hashable AutoImportPolicy where+ hashWithSalt _salt AutoImportPolicy' {..} =+ _salt `Prelude.hashWithSalt` events++instance Prelude.NFData AutoImportPolicy where+ rnf AutoImportPolicy' {..} = Prelude.rnf events++instance Data.ToJSON AutoImportPolicy where+ toJSON AutoImportPolicy' {..} =+ Data.object+ ( Prelude.catMaybes+ [("Events" Data..=) Prelude.<$> events]+ )
+ gen/Amazonka/FSx/Types/AutoImportPolicyType.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.FSx.Types.AutoImportPolicyType+-- 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.FSx.Types.AutoImportPolicyType+ ( AutoImportPolicyType+ ( ..,+ AutoImportPolicyType_NEW,+ AutoImportPolicyType_NEW_CHANGED,+ AutoImportPolicyType_NEW_CHANGED_DELETED,+ AutoImportPolicyType_NONE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AutoImportPolicyType = AutoImportPolicyType'+ { fromAutoImportPolicyType ::+ 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 AutoImportPolicyType_NEW :: AutoImportPolicyType+pattern AutoImportPolicyType_NEW = AutoImportPolicyType' "NEW"++pattern AutoImportPolicyType_NEW_CHANGED :: AutoImportPolicyType+pattern AutoImportPolicyType_NEW_CHANGED = AutoImportPolicyType' "NEW_CHANGED"++pattern AutoImportPolicyType_NEW_CHANGED_DELETED :: AutoImportPolicyType+pattern AutoImportPolicyType_NEW_CHANGED_DELETED = AutoImportPolicyType' "NEW_CHANGED_DELETED"++pattern AutoImportPolicyType_NONE :: AutoImportPolicyType+pattern AutoImportPolicyType_NONE = AutoImportPolicyType' "NONE"++{-# COMPLETE+ AutoImportPolicyType_NEW,+ AutoImportPolicyType_NEW_CHANGED,+ AutoImportPolicyType_NEW_CHANGED_DELETED,+ AutoImportPolicyType_NONE,+ AutoImportPolicyType'+ #-}
+ gen/Amazonka/FSx/Types/Backup.hs view
@@ -0,0 +1,336 @@+{-# 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.FSx.Types.Backup+-- 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.FSx.Types.Backup where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types.ActiveDirectoryBackupAttributes+import Amazonka.FSx.Types.BackupFailureDetails+import Amazonka.FSx.Types.BackupLifecycle+import Amazonka.FSx.Types.BackupType+import Amazonka.FSx.Types.FileSystem+import Amazonka.FSx.Types.ResourceType+import Amazonka.FSx.Types.Tag+import Amazonka.FSx.Types.Volume+import qualified Amazonka.Prelude as Prelude++-- | A backup of an Amazon FSx for Windows File Server, Amazon FSx for Lustre+-- file system, Amazon FSx for NetApp ONTAP volume, or Amazon FSx for+-- OpenZFS file system.+--+-- /See:/ 'newBackup' smart constructor.+data Backup = Backup'+ { -- | The configuration of the self-managed Microsoft Active Directory+ -- directory to which the Windows File Server instance is joined.+ directoryInformation :: Prelude.Maybe ActiveDirectoryBackupAttributes,+ -- | Details explaining any failures that occurred when creating a backup.+ failureDetails :: Prelude.Maybe BackupFailureDetails,+ -- | The ID of the Key Management Service (KMS) key used to encrypt the+ -- backup of the Amazon FSx file system\'s data at rest.+ kmsKeyId :: Prelude.Maybe Prelude.Text,+ ownerId :: Prelude.Maybe Prelude.Text,+ progressPercent :: Prelude.Maybe Prelude.Natural,+ -- | The Amazon Resource Name (ARN) for the backup resource.+ resourceARN :: Prelude.Maybe Prelude.Text,+ -- | Specifies the resource type that\'s backed up.+ resourceType :: Prelude.Maybe ResourceType,+ sourceBackupId :: Prelude.Maybe Prelude.Text,+ -- | The source Region of the backup. Specifies the Region from where this+ -- backup is copied.+ sourceBackupRegion :: Prelude.Maybe Prelude.Text,+ -- | The tags associated with a particular file system.+ tags :: Prelude.Maybe (Prelude.NonEmpty Tag),+ volume :: Prelude.Maybe Volume,+ -- | The ID of the backup.+ backupId :: Prelude.Text,+ -- | The lifecycle status of the backup.+ --+ -- - @AVAILABLE@ - The backup is fully available.+ --+ -- - @PENDING@ - For user-initiated backups on Lustre file systems only;+ -- Amazon FSx hasn\'t started creating the backup.+ --+ -- - @CREATING@ - Amazon FSx is creating the backup.+ --+ -- - @TRANSFERRING@ - For user-initiated backups on Lustre file systems+ -- only; Amazon FSx is transferring the backup to Amazon S3.+ --+ -- - @COPYING@ - Amazon FSx is copying the backup.+ --+ -- - @DELETED@ - Amazon FSx deleted the backup and it\'s no longer+ -- available.+ --+ -- - @FAILED@ - Amazon FSx couldn\'t finish the backup.+ lifecycle :: BackupLifecycle,+ -- | The type of the file-system backup.+ type' :: BackupType,+ -- | The time when a particular backup was created.+ creationTime :: Data.POSIX,+ -- | The metadata of the file system associated with the backup. This+ -- metadata is persisted even if the file system is deleted.+ fileSystem :: FileSystem+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Backup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'directoryInformation', 'backup_directoryInformation' - The configuration of the self-managed Microsoft Active Directory+-- directory to which the Windows File Server instance is joined.+--+-- 'failureDetails', 'backup_failureDetails' - Details explaining any failures that occurred when creating a backup.+--+-- 'kmsKeyId', 'backup_kmsKeyId' - The ID of the Key Management Service (KMS) key used to encrypt the+-- backup of the Amazon FSx file system\'s data at rest.+--+-- 'ownerId', 'backup_ownerId' - Undocumented member.+--+-- 'progressPercent', 'backup_progressPercent' - Undocumented member.+--+-- 'resourceARN', 'backup_resourceARN' - The Amazon Resource Name (ARN) for the backup resource.+--+-- 'resourceType', 'backup_resourceType' - Specifies the resource type that\'s backed up.+--+-- 'sourceBackupId', 'backup_sourceBackupId' - Undocumented member.+--+-- 'sourceBackupRegion', 'backup_sourceBackupRegion' - The source Region of the backup. Specifies the Region from where this+-- backup is copied.+--+-- 'tags', 'backup_tags' - The tags associated with a particular file system.+--+-- 'volume', 'backup_volume' - Undocumented member.+--+-- 'backupId', 'backup_backupId' - The ID of the backup.+--+-- 'lifecycle', 'backup_lifecycle' - The lifecycle status of the backup.+--+-- - @AVAILABLE@ - The backup is fully available.+--+-- - @PENDING@ - For user-initiated backups on Lustre file systems only;+-- Amazon FSx hasn\'t started creating the backup.+--+-- - @CREATING@ - Amazon FSx is creating the backup.+--+-- - @TRANSFERRING@ - For user-initiated backups on Lustre file systems+-- only; Amazon FSx is transferring the backup to Amazon S3.+--+-- - @COPYING@ - Amazon FSx is copying the backup.+--+-- - @DELETED@ - Amazon FSx deleted the backup and it\'s no longer+-- available.+--+-- - @FAILED@ - Amazon FSx couldn\'t finish the backup.+--+-- 'type'', 'backup_type' - The type of the file-system backup.+--+-- 'creationTime', 'backup_creationTime' - The time when a particular backup was created.+--+-- 'fileSystem', 'backup_fileSystem' - The metadata of the file system associated with the backup. This+-- metadata is persisted even if the file system is deleted.+newBackup ::+ -- | 'backupId'+ Prelude.Text ->+ -- | 'lifecycle'+ BackupLifecycle ->+ -- | 'type''+ BackupType ->+ -- | 'creationTime'+ Prelude.UTCTime ->+ -- | 'fileSystem'+ FileSystem ->+ Backup+newBackup+ pBackupId_+ pLifecycle_+ pType_+ pCreationTime_+ pFileSystem_ =+ Backup'+ { directoryInformation = Prelude.Nothing,+ failureDetails = Prelude.Nothing,+ kmsKeyId = Prelude.Nothing,+ ownerId = Prelude.Nothing,+ progressPercent = Prelude.Nothing,+ resourceARN = Prelude.Nothing,+ resourceType = Prelude.Nothing,+ sourceBackupId = Prelude.Nothing,+ sourceBackupRegion = Prelude.Nothing,+ tags = Prelude.Nothing,+ volume = Prelude.Nothing,+ backupId = pBackupId_,+ lifecycle = pLifecycle_,+ type' = pType_,+ creationTime = Data._Time Lens.# pCreationTime_,+ fileSystem = pFileSystem_+ }++-- | The configuration of the self-managed Microsoft Active Directory+-- directory to which the Windows File Server instance is joined.+backup_directoryInformation :: Lens.Lens' Backup (Prelude.Maybe ActiveDirectoryBackupAttributes)+backup_directoryInformation = Lens.lens (\Backup' {directoryInformation} -> directoryInformation) (\s@Backup' {} a -> s {directoryInformation = a} :: Backup)++-- | Details explaining any failures that occurred when creating a backup.+backup_failureDetails :: Lens.Lens' Backup (Prelude.Maybe BackupFailureDetails)+backup_failureDetails = Lens.lens (\Backup' {failureDetails} -> failureDetails) (\s@Backup' {} a -> s {failureDetails = a} :: Backup)++-- | The ID of the Key Management Service (KMS) key used to encrypt the+-- backup of the Amazon FSx file system\'s data at rest.+backup_kmsKeyId :: Lens.Lens' Backup (Prelude.Maybe Prelude.Text)+backup_kmsKeyId = Lens.lens (\Backup' {kmsKeyId} -> kmsKeyId) (\s@Backup' {} a -> s {kmsKeyId = a} :: Backup)++-- | Undocumented member.+backup_ownerId :: Lens.Lens' Backup (Prelude.Maybe Prelude.Text)+backup_ownerId = Lens.lens (\Backup' {ownerId} -> ownerId) (\s@Backup' {} a -> s {ownerId = a} :: Backup)++-- | Undocumented member.+backup_progressPercent :: Lens.Lens' Backup (Prelude.Maybe Prelude.Natural)+backup_progressPercent = Lens.lens (\Backup' {progressPercent} -> progressPercent) (\s@Backup' {} a -> s {progressPercent = a} :: Backup)++-- | The Amazon Resource Name (ARN) for the backup resource.+backup_resourceARN :: Lens.Lens' Backup (Prelude.Maybe Prelude.Text)+backup_resourceARN = Lens.lens (\Backup' {resourceARN} -> resourceARN) (\s@Backup' {} a -> s {resourceARN = a} :: Backup)++-- | Specifies the resource type that\'s backed up.+backup_resourceType :: Lens.Lens' Backup (Prelude.Maybe ResourceType)+backup_resourceType = Lens.lens (\Backup' {resourceType} -> resourceType) (\s@Backup' {} a -> s {resourceType = a} :: Backup)++-- | Undocumented member.+backup_sourceBackupId :: Lens.Lens' Backup (Prelude.Maybe Prelude.Text)+backup_sourceBackupId = Lens.lens (\Backup' {sourceBackupId} -> sourceBackupId) (\s@Backup' {} a -> s {sourceBackupId = a} :: Backup)++-- | The source Region of the backup. Specifies the Region from where this+-- backup is copied.+backup_sourceBackupRegion :: Lens.Lens' Backup (Prelude.Maybe Prelude.Text)+backup_sourceBackupRegion = Lens.lens (\Backup' {sourceBackupRegion} -> sourceBackupRegion) (\s@Backup' {} a -> s {sourceBackupRegion = a} :: Backup)++-- | The tags associated with a particular file system.+backup_tags :: Lens.Lens' Backup (Prelude.Maybe (Prelude.NonEmpty Tag))+backup_tags = Lens.lens (\Backup' {tags} -> tags) (\s@Backup' {} a -> s {tags = a} :: Backup) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+backup_volume :: Lens.Lens' Backup (Prelude.Maybe Volume)+backup_volume = Lens.lens (\Backup' {volume} -> volume) (\s@Backup' {} a -> s {volume = a} :: Backup)++-- | The ID of the backup.+backup_backupId :: Lens.Lens' Backup Prelude.Text+backup_backupId = Lens.lens (\Backup' {backupId} -> backupId) (\s@Backup' {} a -> s {backupId = a} :: Backup)++-- | The lifecycle status of the backup.+--+-- - @AVAILABLE@ - The backup is fully available.+--+-- - @PENDING@ - For user-initiated backups on Lustre file systems only;+-- Amazon FSx hasn\'t started creating the backup.+--+-- - @CREATING@ - Amazon FSx is creating the backup.+--+-- - @TRANSFERRING@ - For user-initiated backups on Lustre file systems+-- only; Amazon FSx is transferring the backup to Amazon S3.+--+-- - @COPYING@ - Amazon FSx is copying the backup.+--+-- - @DELETED@ - Amazon FSx deleted the backup and it\'s no longer+-- available.+--+-- - @FAILED@ - Amazon FSx couldn\'t finish the backup.+backup_lifecycle :: Lens.Lens' Backup BackupLifecycle+backup_lifecycle = Lens.lens (\Backup' {lifecycle} -> lifecycle) (\s@Backup' {} a -> s {lifecycle = a} :: Backup)++-- | The type of the file-system backup.+backup_type :: Lens.Lens' Backup BackupType+backup_type = Lens.lens (\Backup' {type'} -> type') (\s@Backup' {} a -> s {type' = a} :: Backup)++-- | The time when a particular backup was created.+backup_creationTime :: Lens.Lens' Backup Prelude.UTCTime+backup_creationTime = Lens.lens (\Backup' {creationTime} -> creationTime) (\s@Backup' {} a -> s {creationTime = a} :: Backup) Prelude.. Data._Time++-- | The metadata of the file system associated with the backup. This+-- metadata is persisted even if the file system is deleted.+backup_fileSystem :: Lens.Lens' Backup FileSystem+backup_fileSystem = Lens.lens (\Backup' {fileSystem} -> fileSystem) (\s@Backup' {} a -> s {fileSystem = a} :: Backup)++instance Data.FromJSON Backup where+ parseJSON =+ Data.withObject+ "Backup"+ ( \x ->+ Backup'+ Prelude.<$> (x Data..:? "DirectoryInformation")+ Prelude.<*> (x Data..:? "FailureDetails")+ Prelude.<*> (x Data..:? "KmsKeyId")+ Prelude.<*> (x Data..:? "OwnerId")+ Prelude.<*> (x Data..:? "ProgressPercent")+ Prelude.<*> (x Data..:? "ResourceARN")+ Prelude.<*> (x Data..:? "ResourceType")+ Prelude.<*> (x Data..:? "SourceBackupId")+ Prelude.<*> (x Data..:? "SourceBackupRegion")+ Prelude.<*> (x Data..:? "Tags")+ Prelude.<*> (x Data..:? "Volume")+ Prelude.<*> (x Data..: "BackupId")+ Prelude.<*> (x Data..: "Lifecycle")+ Prelude.<*> (x Data..: "Type")+ Prelude.<*> (x Data..: "CreationTime")+ Prelude.<*> (x Data..: "FileSystem")+ )++instance Prelude.Hashable Backup where+ hashWithSalt _salt Backup' {..} =+ _salt+ `Prelude.hashWithSalt` directoryInformation+ `Prelude.hashWithSalt` failureDetails+ `Prelude.hashWithSalt` kmsKeyId+ `Prelude.hashWithSalt` ownerId+ `Prelude.hashWithSalt` progressPercent+ `Prelude.hashWithSalt` resourceARN+ `Prelude.hashWithSalt` resourceType+ `Prelude.hashWithSalt` sourceBackupId+ `Prelude.hashWithSalt` sourceBackupRegion+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` volume+ `Prelude.hashWithSalt` backupId+ `Prelude.hashWithSalt` lifecycle+ `Prelude.hashWithSalt` type'+ `Prelude.hashWithSalt` creationTime+ `Prelude.hashWithSalt` fileSystem++instance Prelude.NFData Backup where+ rnf Backup' {..} =+ Prelude.rnf directoryInformation+ `Prelude.seq` Prelude.rnf failureDetails+ `Prelude.seq` Prelude.rnf kmsKeyId+ `Prelude.seq` Prelude.rnf ownerId+ `Prelude.seq` Prelude.rnf progressPercent+ `Prelude.seq` Prelude.rnf resourceARN+ `Prelude.seq` Prelude.rnf resourceType+ `Prelude.seq` Prelude.rnf sourceBackupId+ `Prelude.seq` Prelude.rnf sourceBackupRegion+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf volume+ `Prelude.seq` Prelude.rnf backupId+ `Prelude.seq` Prelude.rnf lifecycle+ `Prelude.seq` Prelude.rnf type'+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf fileSystem
+ gen/Amazonka/FSx/Types/BackupFailureDetails.hs view
@@ -0,0 +1,69 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FSx.Types.BackupFailureDetails+-- 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.FSx.Types.BackupFailureDetails 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++-- | If backup creation fails, this structure contains the details of that+-- failure.+--+-- /See:/ 'newBackupFailureDetails' smart constructor.+data BackupFailureDetails = BackupFailureDetails'+ { -- | A message describing the backup-creation failure.+ message :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BackupFailureDetails' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'message', 'backupFailureDetails_message' - A message describing the backup-creation failure.+newBackupFailureDetails ::+ BackupFailureDetails+newBackupFailureDetails =+ BackupFailureDetails' {message = Prelude.Nothing}++-- | A message describing the backup-creation failure.+backupFailureDetails_message :: Lens.Lens' BackupFailureDetails (Prelude.Maybe Prelude.Text)+backupFailureDetails_message = Lens.lens (\BackupFailureDetails' {message} -> message) (\s@BackupFailureDetails' {} a -> s {message = a} :: BackupFailureDetails)++instance Data.FromJSON BackupFailureDetails where+ parseJSON =+ Data.withObject+ "BackupFailureDetails"+ ( \x ->+ BackupFailureDetails'+ Prelude.<$> (x Data..:? "Message")+ )++instance Prelude.Hashable BackupFailureDetails where+ hashWithSalt _salt BackupFailureDetails' {..} =+ _salt `Prelude.hashWithSalt` message++instance Prelude.NFData BackupFailureDetails where+ rnf BackupFailureDetails' {..} = Prelude.rnf message
+ gen/Amazonka/FSx/Types/BackupLifecycle.hs view
@@ -0,0 +1,114 @@+{-# 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.FSx.Types.BackupLifecycle+-- 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.FSx.Types.BackupLifecycle+ ( BackupLifecycle+ ( ..,+ BackupLifecycle_AVAILABLE,+ BackupLifecycle_COPYING,+ BackupLifecycle_CREATING,+ BackupLifecycle_DELETED,+ BackupLifecycle_FAILED,+ BackupLifecycle_PENDING,+ BackupLifecycle_TRANSFERRING+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The lifecycle status of the backup.+--+-- - @AVAILABLE@ - The backup is fully available.+--+-- - @PENDING@ - For user-initiated backups on Lustre file systems only;+-- Amazon FSx hasn\'t started creating the backup.+--+-- - @CREATING@ - Amazon FSx is creating the new user-initiated backup.+--+-- - @TRANSFERRING@ - For user-initiated backups on Lustre file systems+-- only; Amazon FSx is backing up the file system.+--+-- - @COPYING@ - Amazon FSx is copying the backup.+--+-- - @DELETED@ - Amazon FSx deleted the backup and it\'s no longer+-- available.+--+-- - @FAILED@ - Amazon FSx couldn\'t finish the backup.+newtype BackupLifecycle = BackupLifecycle'+ { fromBackupLifecycle ::+ 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 BackupLifecycle_AVAILABLE :: BackupLifecycle+pattern BackupLifecycle_AVAILABLE = BackupLifecycle' "AVAILABLE"++pattern BackupLifecycle_COPYING :: BackupLifecycle+pattern BackupLifecycle_COPYING = BackupLifecycle' "COPYING"++pattern BackupLifecycle_CREATING :: BackupLifecycle+pattern BackupLifecycle_CREATING = BackupLifecycle' "CREATING"++pattern BackupLifecycle_DELETED :: BackupLifecycle+pattern BackupLifecycle_DELETED = BackupLifecycle' "DELETED"++pattern BackupLifecycle_FAILED :: BackupLifecycle+pattern BackupLifecycle_FAILED = BackupLifecycle' "FAILED"++pattern BackupLifecycle_PENDING :: BackupLifecycle+pattern BackupLifecycle_PENDING = BackupLifecycle' "PENDING"++pattern BackupLifecycle_TRANSFERRING :: BackupLifecycle+pattern BackupLifecycle_TRANSFERRING = BackupLifecycle' "TRANSFERRING"++{-# COMPLETE+ BackupLifecycle_AVAILABLE,+ BackupLifecycle_COPYING,+ BackupLifecycle_CREATING,+ BackupLifecycle_DELETED,+ BackupLifecycle_FAILED,+ BackupLifecycle_PENDING,+ BackupLifecycle_TRANSFERRING,+ BackupLifecycle'+ #-}
+ gen/Amazonka/FSx/Types/BackupType.hs view
@@ -0,0 +1,77 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FSx.Types.BackupType+-- 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.FSx.Types.BackupType+ ( BackupType+ ( ..,+ BackupType_AUTOMATIC,+ BackupType_AWS_BACKUP,+ BackupType_USER_INITIATED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The type of the backup.+newtype BackupType = BackupType'+ { fromBackupType ::+ 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 BackupType_AUTOMATIC :: BackupType+pattern BackupType_AUTOMATIC = BackupType' "AUTOMATIC"++pattern BackupType_AWS_BACKUP :: BackupType+pattern BackupType_AWS_BACKUP = BackupType' "AWS_BACKUP"++pattern BackupType_USER_INITIATED :: BackupType+pattern BackupType_USER_INITIATED = BackupType' "USER_INITIATED"++{-# COMPLETE+ BackupType_AUTOMATIC,+ BackupType_AWS_BACKUP,+ BackupType_USER_INITIATED,+ BackupType'+ #-}
+ gen/Amazonka/FSx/Types/CompletionReport.hs view
@@ -0,0 +1,185 @@+{-# 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.FSx.Types.CompletionReport+-- 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.FSx.Types.CompletionReport where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types.ReportFormat+import Amazonka.FSx.Types.ReportScope+import qualified Amazonka.Prelude as Prelude++-- | Provides a report detailing the data repository task results of the+-- files processed that match the criteria specified in the report @Scope@+-- parameter. FSx delivers the report to the file system\'s linked data+-- repository in Amazon S3, using the path specified in the report @Path@+-- parameter. You can specify whether or not a report gets generated for a+-- task using the @Enabled@ parameter.+--+-- /See:/ 'newCompletionReport' smart constructor.+data CompletionReport = CompletionReport'+ { -- | Required if @Enabled@ is set to @true@. Specifies the format of the+ -- @CompletionReport@. @REPORT_CSV_20191124@ is the only format currently+ -- supported. When @Format@ is set to @REPORT_CSV_20191124@, the+ -- @CompletionReport@ is provided in CSV format, and is delivered to+ -- @{path}\/task-{id}\/failures.csv@.+ format :: Prelude.Maybe ReportFormat,+ -- | Required if @Enabled@ is set to @true@. Specifies the location of the+ -- report on the file system\'s linked S3 data repository. An absolute path+ -- that defines where the completion report will be stored in the+ -- destination location. The @Path@ you provide must be located within the+ -- file system’s ExportPath. An example @Path@ value is+ -- \"s3:\/\/myBucket\/myExportPath\/optionalPrefix\". The report provides+ -- the following information for each file in the report: FilePath,+ -- FileStatus, and ErrorCode. To learn more about a file system\'s+ -- @ExportPath@, see .+ path :: Prelude.Maybe Prelude.Text,+ -- | Required if @Enabled@ is set to @true@. Specifies the scope of the+ -- @CompletionReport@; @FAILED_FILES_ONLY@ is the only scope currently+ -- supported. When @Scope@ is set to @FAILED_FILES_ONLY@, the+ -- @CompletionReport@ only contains information about files that the data+ -- repository task failed to process.+ scope :: Prelude.Maybe ReportScope,+ -- | Set @Enabled@ to @True@ to generate a @CompletionReport@ when the task+ -- completes. If set to @true@, then you need to provide a report @Scope@,+ -- @Path@, and @Format@. Set @Enabled@ to @False@ if you do not want a+ -- @CompletionReport@ generated when the task completes.+ enabled :: Prelude.Bool+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CompletionReport' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'format', 'completionReport_format' - Required if @Enabled@ is set to @true@. Specifies the format of the+-- @CompletionReport@. @REPORT_CSV_20191124@ is the only format currently+-- supported. When @Format@ is set to @REPORT_CSV_20191124@, the+-- @CompletionReport@ is provided in CSV format, and is delivered to+-- @{path}\/task-{id}\/failures.csv@.+--+-- 'path', 'completionReport_path' - Required if @Enabled@ is set to @true@. Specifies the location of the+-- report on the file system\'s linked S3 data repository. An absolute path+-- that defines where the completion report will be stored in the+-- destination location. The @Path@ you provide must be located within the+-- file system’s ExportPath. An example @Path@ value is+-- \"s3:\/\/myBucket\/myExportPath\/optionalPrefix\". The report provides+-- the following information for each file in the report: FilePath,+-- FileStatus, and ErrorCode. To learn more about a file system\'s+-- @ExportPath@, see .+--+-- 'scope', 'completionReport_scope' - Required if @Enabled@ is set to @true@. Specifies the scope of the+-- @CompletionReport@; @FAILED_FILES_ONLY@ is the only scope currently+-- supported. When @Scope@ is set to @FAILED_FILES_ONLY@, the+-- @CompletionReport@ only contains information about files that the data+-- repository task failed to process.+--+-- 'enabled', 'completionReport_enabled' - Set @Enabled@ to @True@ to generate a @CompletionReport@ when the task+-- completes. If set to @true@, then you need to provide a report @Scope@,+-- @Path@, and @Format@. Set @Enabled@ to @False@ if you do not want a+-- @CompletionReport@ generated when the task completes.+newCompletionReport ::+ -- | 'enabled'+ Prelude.Bool ->+ CompletionReport+newCompletionReport pEnabled_ =+ CompletionReport'+ { format = Prelude.Nothing,+ path = Prelude.Nothing,+ scope = Prelude.Nothing,+ enabled = pEnabled_+ }++-- | Required if @Enabled@ is set to @true@. Specifies the format of the+-- @CompletionReport@. @REPORT_CSV_20191124@ is the only format currently+-- supported. When @Format@ is set to @REPORT_CSV_20191124@, the+-- @CompletionReport@ is provided in CSV format, and is delivered to+-- @{path}\/task-{id}\/failures.csv@.+completionReport_format :: Lens.Lens' CompletionReport (Prelude.Maybe ReportFormat)+completionReport_format = Lens.lens (\CompletionReport' {format} -> format) (\s@CompletionReport' {} a -> s {format = a} :: CompletionReport)++-- | Required if @Enabled@ is set to @true@. Specifies the location of the+-- report on the file system\'s linked S3 data repository. An absolute path+-- that defines where the completion report will be stored in the+-- destination location. The @Path@ you provide must be located within the+-- file system’s ExportPath. An example @Path@ value is+-- \"s3:\/\/myBucket\/myExportPath\/optionalPrefix\". The report provides+-- the following information for each file in the report: FilePath,+-- FileStatus, and ErrorCode. To learn more about a file system\'s+-- @ExportPath@, see .+completionReport_path :: Lens.Lens' CompletionReport (Prelude.Maybe Prelude.Text)+completionReport_path = Lens.lens (\CompletionReport' {path} -> path) (\s@CompletionReport' {} a -> s {path = a} :: CompletionReport)++-- | Required if @Enabled@ is set to @true@. Specifies the scope of the+-- @CompletionReport@; @FAILED_FILES_ONLY@ is the only scope currently+-- supported. When @Scope@ is set to @FAILED_FILES_ONLY@, the+-- @CompletionReport@ only contains information about files that the data+-- repository task failed to process.+completionReport_scope :: Lens.Lens' CompletionReport (Prelude.Maybe ReportScope)+completionReport_scope = Lens.lens (\CompletionReport' {scope} -> scope) (\s@CompletionReport' {} a -> s {scope = a} :: CompletionReport)++-- | Set @Enabled@ to @True@ to generate a @CompletionReport@ when the task+-- completes. If set to @true@, then you need to provide a report @Scope@,+-- @Path@, and @Format@. Set @Enabled@ to @False@ if you do not want a+-- @CompletionReport@ generated when the task completes.+completionReport_enabled :: Lens.Lens' CompletionReport Prelude.Bool+completionReport_enabled = Lens.lens (\CompletionReport' {enabled} -> enabled) (\s@CompletionReport' {} a -> s {enabled = a} :: CompletionReport)++instance Data.FromJSON CompletionReport where+ parseJSON =+ Data.withObject+ "CompletionReport"+ ( \x ->+ CompletionReport'+ Prelude.<$> (x Data..:? "Format")+ Prelude.<*> (x Data..:? "Path")+ Prelude.<*> (x Data..:? "Scope")+ Prelude.<*> (x Data..: "Enabled")+ )++instance Prelude.Hashable CompletionReport where+ hashWithSalt _salt CompletionReport' {..} =+ _salt+ `Prelude.hashWithSalt` format+ `Prelude.hashWithSalt` path+ `Prelude.hashWithSalt` scope+ `Prelude.hashWithSalt` enabled++instance Prelude.NFData CompletionReport where+ rnf CompletionReport' {..} =+ Prelude.rnf format+ `Prelude.seq` Prelude.rnf path+ `Prelude.seq` Prelude.rnf scope+ `Prelude.seq` Prelude.rnf enabled++instance Data.ToJSON CompletionReport where+ toJSON CompletionReport' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Format" Data..=) Prelude.<$> format,+ ("Path" Data..=) Prelude.<$> path,+ ("Scope" Data..=) Prelude.<$> scope,+ Prelude.Just ("Enabled" Data..= enabled)+ ]+ )
+ gen/Amazonka/FSx/Types/CreateFileCacheLustreConfiguration.hs view
@@ -0,0 +1,145 @@+{-# 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.FSx.Types.CreateFileCacheLustreConfiguration+-- 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.FSx.Types.CreateFileCacheLustreConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types.FileCacheLustreDeploymentType+import Amazonka.FSx.Types.FileCacheLustreMetadataConfiguration+import qualified Amazonka.Prelude as Prelude++-- | The Amazon File Cache configuration for the cache that you are creating.+--+-- /See:/ 'newCreateFileCacheLustreConfiguration' smart constructor.+data CreateFileCacheLustreConfiguration = CreateFileCacheLustreConfiguration'+ { weeklyMaintenanceStartTime :: Prelude.Maybe Prelude.Text,+ -- | Provisions the amount of read and write throughput for each 1 tebibyte+ -- (TiB) of cache storage capacity, in MB\/s\/TiB. The only supported value+ -- is @1000@.+ perUnitStorageThroughput :: Prelude.Natural,+ -- | Specifies the cache deployment type, which must be @CACHE_1@.+ deploymentType :: FileCacheLustreDeploymentType,+ -- | The configuration for a Lustre MDT (Metadata Target) storage volume.+ metadataConfiguration :: FileCacheLustreMetadataConfiguration+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateFileCacheLustreConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'weeklyMaintenanceStartTime', 'createFileCacheLustreConfiguration_weeklyMaintenanceStartTime' - Undocumented member.+--+-- 'perUnitStorageThroughput', 'createFileCacheLustreConfiguration_perUnitStorageThroughput' - Provisions the amount of read and write throughput for each 1 tebibyte+-- (TiB) of cache storage capacity, in MB\/s\/TiB. The only supported value+-- is @1000@.+--+-- 'deploymentType', 'createFileCacheLustreConfiguration_deploymentType' - Specifies the cache deployment type, which must be @CACHE_1@.+--+-- 'metadataConfiguration', 'createFileCacheLustreConfiguration_metadataConfiguration' - The configuration for a Lustre MDT (Metadata Target) storage volume.+newCreateFileCacheLustreConfiguration ::+ -- | 'perUnitStorageThroughput'+ Prelude.Natural ->+ -- | 'deploymentType'+ FileCacheLustreDeploymentType ->+ -- | 'metadataConfiguration'+ FileCacheLustreMetadataConfiguration ->+ CreateFileCacheLustreConfiguration+newCreateFileCacheLustreConfiguration+ pPerUnitStorageThroughput_+ pDeploymentType_+ pMetadataConfiguration_ =+ CreateFileCacheLustreConfiguration'+ { weeklyMaintenanceStartTime =+ Prelude.Nothing,+ perUnitStorageThroughput =+ pPerUnitStorageThroughput_,+ deploymentType = pDeploymentType_,+ metadataConfiguration =+ pMetadataConfiguration_+ }++-- | Undocumented member.+createFileCacheLustreConfiguration_weeklyMaintenanceStartTime :: Lens.Lens' CreateFileCacheLustreConfiguration (Prelude.Maybe Prelude.Text)+createFileCacheLustreConfiguration_weeklyMaintenanceStartTime = Lens.lens (\CreateFileCacheLustreConfiguration' {weeklyMaintenanceStartTime} -> weeklyMaintenanceStartTime) (\s@CreateFileCacheLustreConfiguration' {} a -> s {weeklyMaintenanceStartTime = a} :: CreateFileCacheLustreConfiguration)++-- | Provisions the amount of read and write throughput for each 1 tebibyte+-- (TiB) of cache storage capacity, in MB\/s\/TiB. The only supported value+-- is @1000@.+createFileCacheLustreConfiguration_perUnitStorageThroughput :: Lens.Lens' CreateFileCacheLustreConfiguration Prelude.Natural+createFileCacheLustreConfiguration_perUnitStorageThroughput = Lens.lens (\CreateFileCacheLustreConfiguration' {perUnitStorageThroughput} -> perUnitStorageThroughput) (\s@CreateFileCacheLustreConfiguration' {} a -> s {perUnitStorageThroughput = a} :: CreateFileCacheLustreConfiguration)++-- | Specifies the cache deployment type, which must be @CACHE_1@.+createFileCacheLustreConfiguration_deploymentType :: Lens.Lens' CreateFileCacheLustreConfiguration FileCacheLustreDeploymentType+createFileCacheLustreConfiguration_deploymentType = Lens.lens (\CreateFileCacheLustreConfiguration' {deploymentType} -> deploymentType) (\s@CreateFileCacheLustreConfiguration' {} a -> s {deploymentType = a} :: CreateFileCacheLustreConfiguration)++-- | The configuration for a Lustre MDT (Metadata Target) storage volume.+createFileCacheLustreConfiguration_metadataConfiguration :: Lens.Lens' CreateFileCacheLustreConfiguration FileCacheLustreMetadataConfiguration+createFileCacheLustreConfiguration_metadataConfiguration = Lens.lens (\CreateFileCacheLustreConfiguration' {metadataConfiguration} -> metadataConfiguration) (\s@CreateFileCacheLustreConfiguration' {} a -> s {metadataConfiguration = a} :: CreateFileCacheLustreConfiguration)++instance+ Prelude.Hashable+ CreateFileCacheLustreConfiguration+ where+ hashWithSalt+ _salt+ CreateFileCacheLustreConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` weeklyMaintenanceStartTime+ `Prelude.hashWithSalt` perUnitStorageThroughput+ `Prelude.hashWithSalt` deploymentType+ `Prelude.hashWithSalt` metadataConfiguration++instance+ Prelude.NFData+ CreateFileCacheLustreConfiguration+ where+ rnf CreateFileCacheLustreConfiguration' {..} =+ Prelude.rnf weeklyMaintenanceStartTime+ `Prelude.seq` Prelude.rnf perUnitStorageThroughput+ `Prelude.seq` Prelude.rnf deploymentType+ `Prelude.seq` Prelude.rnf metadataConfiguration++instance+ Data.ToJSON+ CreateFileCacheLustreConfiguration+ where+ toJSON CreateFileCacheLustreConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("WeeklyMaintenanceStartTime" Data..=)+ Prelude.<$> weeklyMaintenanceStartTime,+ Prelude.Just+ ( "PerUnitStorageThroughput"+ Data..= perUnitStorageThroughput+ ),+ Prelude.Just+ ("DeploymentType" Data..= deploymentType),+ Prelude.Just+ ( "MetadataConfiguration"+ Data..= metadataConfiguration+ )+ ]+ )
+ gen/Amazonka/FSx/Types/CreateFileSystemLustreConfiguration.hs view
@@ -0,0 +1,766 @@+{-# 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.FSx.Types.CreateFileSystemLustreConfiguration+-- 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.FSx.Types.CreateFileSystemLustreConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types.AutoImportPolicyType+import Amazonka.FSx.Types.DataCompressionType+import Amazonka.FSx.Types.DriveCacheType+import Amazonka.FSx.Types.LustreDeploymentType+import Amazonka.FSx.Types.LustreLogCreateConfiguration+import Amazonka.FSx.Types.LustreRootSquashConfiguration+import qualified Amazonka.Prelude as Prelude++-- | The Lustre configuration for the file system being created.+--+-- The following parameters are not supported for file systems with the+-- @Persistent_2@ deployment type. Instead, use+-- @CreateDataRepositoryAssociation@ to create a data repository+-- association to link your Lustre file system to a data repository.+--+-- - @AutoImportPolicy@+--+-- - @ExportPath@+--+-- - @ImportedChunkSize@+--+-- - @ImportPath@+--+-- /See:/ 'newCreateFileSystemLustreConfiguration' smart constructor.+data CreateFileSystemLustreConfiguration = CreateFileSystemLustreConfiguration'+ { -- | (Optional) Available with @Scratch@ and @Persistent_1@ deployment types.+ -- When you create your file system, your existing S3 objects appear as+ -- file and directory listings. Use this property to choose how Amazon FSx+ -- keeps your file and directory listings up to date as you add or modify+ -- objects in your linked S3 bucket. @AutoImportPolicy@ can have the+ -- following values:+ --+ -- - @NONE@ - (Default) AutoImport is off. Amazon FSx only updates file+ -- and directory listings from the linked S3 bucket when the file+ -- system is created. FSx does not update file and directory listings+ -- for any new or changed objects after choosing this option.+ --+ -- - @NEW@ - AutoImport is on. Amazon FSx automatically imports directory+ -- listings of any new objects added to the linked S3 bucket that do+ -- not currently exist in the FSx file system.+ --+ -- - @NEW_CHANGED@ - AutoImport is on. Amazon FSx automatically imports+ -- file and directory listings of any new objects added to the S3+ -- bucket and any existing objects that are changed in the S3 bucket+ -- after you choose this option.+ --+ -- - @NEW_CHANGED_DELETED@ - AutoImport is on. Amazon FSx automatically+ -- imports file and directory listings of any new objects added to the+ -- S3 bucket, any existing objects that are changed in the S3 bucket,+ -- and any objects that were deleted in the S3 bucket.+ --+ -- For more information, see+ -- <https://docs.aws.amazon.com/fsx/latest/LustreGuide/older-deployment-types.html#legacy-auto-import-from-s3 Automatically import updates from your S3 bucket>.+ --+ -- This parameter is not supported for file systems with the @Persistent_2@+ -- deployment type. Instead, use @CreateDataRepositoryAssociation@ to+ -- create a data repository association to link your Lustre file system to+ -- a data repository.+ autoImportPolicy :: Prelude.Maybe AutoImportPolicyType,+ automaticBackupRetentionDays :: Prelude.Maybe Prelude.Natural,+ -- | (Optional) Not available for use with file systems that are linked to a+ -- data repository. A boolean flag indicating whether tags for the file+ -- system should be copied to backups. The default value is false. If+ -- @CopyTagsToBackups@ is set to true, all file system tags are copied to+ -- all automatic and user-initiated backups when the user doesn\'t specify+ -- any backup-specific tags. If @CopyTagsToBackups@ is set to true and you+ -- specify one or more backup tags, only the specified tags are copied to+ -- backups. If you specify one or more tags when creating a user-initiated+ -- backup, no tags are copied from the file system, regardless of this+ -- value.+ --+ -- (Default = @false@)+ --+ -- For more information, see+ -- <https://docs.aws.amazon.com/fsx/latest/LustreGuide/using-backups-fsx.html Working with backups>+ -- in the /Amazon FSx for Lustre User Guide/.+ copyTagsToBackups :: Prelude.Maybe Prelude.Bool,+ dailyAutomaticBackupStartTime :: Prelude.Maybe Prelude.Text,+ -- | Sets the data compression configuration for the file system.+ -- @DataCompressionType@ can have the following values:+ --+ -- - @NONE@ - (Default) Data compression is turned off when the file+ -- system is created.+ --+ -- - @LZ4@ - Data compression is turned on with the LZ4 algorithm.+ --+ -- For more information, see+ -- <https://docs.aws.amazon.com/fsx/latest/LustreGuide/data-compression.html Lustre data compression>+ -- in the /Amazon FSx for Lustre User Guide/.+ dataCompressionType :: Prelude.Maybe DataCompressionType,+ -- | (Optional) Choose @SCRATCH_1@ and @SCRATCH_2@ deployment types when you+ -- need temporary storage and shorter-term processing of data. The+ -- @SCRATCH_2@ deployment type provides in-transit encryption of data and+ -- higher burst throughput capacity than @SCRATCH_1@.+ --+ -- Choose @PERSISTENT_1@ for longer-term storage and for throughput-focused+ -- workloads that aren’t latency-sensitive. @PERSISTENT_1@ supports+ -- encryption of data in transit, and is available in all Amazon Web+ -- Services Regions in which FSx for Lustre is available.+ --+ -- Choose @PERSISTENT_2@ for longer-term storage and for latency-sensitive+ -- workloads that require the highest levels of IOPS\/throughput.+ -- @PERSISTENT_2@ supports SSD storage, and offers higher+ -- @PerUnitStorageThroughput@ (up to 1000 MB\/s\/TiB). @PERSISTENT_2@ is+ -- available in a limited number of Amazon Web Services Regions. For more+ -- information, and an up-to-date list of Amazon Web Services Regions in+ -- which @PERSISTENT_2@ is available, see+ -- <https://docs.aws.amazon.com/fsx/latest/LustreGuide/using-fsx-lustre.html#lustre-deployment-types File system deployment options for FSx for Lustre>+ -- in the /Amazon FSx for Lustre User Guide/.+ --+ -- If you choose @PERSISTENT_2@, and you set @FileSystemTypeVersion@ to+ -- @2.10@, the @CreateFileSystem@ operation fails.+ --+ -- Encryption of data in transit is automatically turned on when you access+ -- @SCRATCH_2@, @PERSISTENT_1@ and @PERSISTENT_2@ file systems from Amazon+ -- EC2 instances that+ -- <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/data-%20protection.html support automatic encryption>+ -- in the Amazon Web Services Regions where they are available. For more+ -- information about encryption in transit for FSx for Lustre file systems,+ -- see+ -- <https://docs.aws.amazon.com/fsx/latest/LustreGuide/encryption-in-transit-fsxl.html Encrypting data in transit>+ -- in the /Amazon FSx for Lustre User Guide/.+ --+ -- (Default = @SCRATCH_1@)+ deploymentType :: Prelude.Maybe LustreDeploymentType,+ -- | The type of drive cache used by @PERSISTENT_1@ file systems that are+ -- provisioned with HDD storage devices. This parameter is required when+ -- storage type is HDD. Set this property to @READ@ to improve the+ -- performance for frequently accessed files by caching up to 20% of the+ -- total storage capacity of the file system.+ --+ -- This parameter is required when @StorageType@ is set to @HDD@.+ driveCacheType :: Prelude.Maybe DriveCacheType,+ -- | (Optional) Available with @Scratch@ and @Persistent_1@ deployment types.+ -- Specifies the path in the Amazon S3 bucket where the root of your Amazon+ -- FSx file system is exported. The path must use the same Amazon S3 bucket+ -- as specified in ImportPath. You can provide an optional prefix to which+ -- new and changed data is to be exported from your Amazon FSx for Lustre+ -- file system. If an @ExportPath@ value is not provided, Amazon FSx sets a+ -- default export path,+ -- @s3:\/\/import-bucket\/FSxLustre[creation-timestamp]@. The timestamp is+ -- in UTC format, for example+ -- @s3:\/\/import-bucket\/FSxLustre20181105T222312Z@.+ --+ -- The Amazon S3 export bucket must be the same as the import bucket+ -- specified by @ImportPath@. If you specify only a bucket name, such as+ -- @s3:\/\/import-bucket@, you get a 1:1 mapping of file system objects to+ -- S3 bucket objects. This mapping means that the input data in S3 is+ -- overwritten on export. If you provide a custom prefix in the export+ -- path, such as @s3:\/\/import-bucket\/[custom-optional-prefix]@, Amazon+ -- FSx exports the contents of your file system to that export prefix in+ -- the Amazon S3 bucket.+ --+ -- This parameter is not supported for file systems with the @Persistent_2@+ -- deployment type. Instead, use @CreateDataRepositoryAssociation@ to+ -- create a data repository association to link your Lustre file system to+ -- a data repository.+ exportPath :: Prelude.Maybe Prelude.Text,+ -- | (Optional) The path to the Amazon S3 bucket (including the optional+ -- prefix) that you\'re using as the data repository for your Amazon FSx+ -- for Lustre file system. The root of your FSx for Lustre file system will+ -- be mapped to the root of the Amazon S3 bucket you select. An example is+ -- @s3:\/\/import-bucket\/optional-prefix@. If you specify a prefix after+ -- the Amazon S3 bucket name, only object keys with that prefix are loaded+ -- into the file system.+ --+ -- This parameter is not supported for file systems with the @Persistent_2@+ -- deployment type. Instead, use @CreateDataRepositoryAssociation@ to+ -- create a data repository association to link your Lustre file system to+ -- a data repository.+ importPath :: Prelude.Maybe Prelude.Text,+ -- | (Optional) For files imported from a data repository, this value+ -- determines the stripe count and maximum amount of data per file (in MiB)+ -- stored on a single physical disk. The maximum number of disks that a+ -- single file can be striped across is limited by the total number of+ -- disks that make up the file system.+ --+ -- The default chunk size is 1,024 MiB (1 GiB) and can go as high as+ -- 512,000 MiB (500 GiB). Amazon S3 objects have a maximum size of 5 TB.+ --+ -- This parameter is not supported for file systems with the @Persistent_2@+ -- deployment type. Instead, use @CreateDataRepositoryAssociation@ to+ -- create a data repository association to link your Lustre file system to+ -- a data repository.+ importedFileChunkSize :: Prelude.Maybe Prelude.Natural,+ -- | The Lustre logging configuration used when creating an Amazon FSx for+ -- Lustre file system. When logging is enabled, Lustre logs error and+ -- warning events for data repositories associated with your file system to+ -- Amazon CloudWatch Logs.+ logConfiguration :: Prelude.Maybe LustreLogCreateConfiguration,+ -- | Required with @PERSISTENT_1@ and @PERSISTENT_2@ deployment types,+ -- provisions the amount of read and write throughput for each 1 tebibyte+ -- (TiB) of file system storage capacity, in MB\/s\/TiB. File system+ -- throughput capacity is calculated by multiplying file system storage+ -- capacity (TiB) by the @PerUnitStorageThroughput@ (MB\/s\/TiB). For a+ -- 2.4-TiB file system, provisioning 50 MB\/s\/TiB of+ -- @PerUnitStorageThroughput@ yields 120 MB\/s of file system throughput.+ -- You pay for the amount of throughput that you provision.+ --+ -- Valid values:+ --+ -- - For @PERSISTENT_1@ SSD storage: 50, 100, 200 MB\/s\/TiB.+ --+ -- - For @PERSISTENT_1@ HDD storage: 12, 40 MB\/s\/TiB.+ --+ -- - For @PERSISTENT_2@ SSD storage: 125, 250, 500, 1000 MB\/s\/TiB.+ perUnitStorageThroughput :: Prelude.Maybe Prelude.Natural,+ -- | The Lustre root squash configuration used when creating an Amazon FSx+ -- for Lustre file system. When enabled, root squash restricts root-level+ -- access from clients that try to access your file system as a root user.+ rootSquashConfiguration :: Prelude.Maybe LustreRootSquashConfiguration,+ -- | (Optional) The preferred start time to perform weekly maintenance,+ -- formatted d:HH:MM in the UTC time zone, where d is the weekday number,+ -- from 1 through 7, beginning with Monday and ending with Sunday.+ weeklyMaintenanceStartTime :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateFileSystemLustreConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'autoImportPolicy', 'createFileSystemLustreConfiguration_autoImportPolicy' - (Optional) Available with @Scratch@ and @Persistent_1@ deployment types.+-- When you create your file system, your existing S3 objects appear as+-- file and directory listings. Use this property to choose how Amazon FSx+-- keeps your file and directory listings up to date as you add or modify+-- objects in your linked S3 bucket. @AutoImportPolicy@ can have the+-- following values:+--+-- - @NONE@ - (Default) AutoImport is off. Amazon FSx only updates file+-- and directory listings from the linked S3 bucket when the file+-- system is created. FSx does not update file and directory listings+-- for any new or changed objects after choosing this option.+--+-- - @NEW@ - AutoImport is on. Amazon FSx automatically imports directory+-- listings of any new objects added to the linked S3 bucket that do+-- not currently exist in the FSx file system.+--+-- - @NEW_CHANGED@ - AutoImport is on. Amazon FSx automatically imports+-- file and directory listings of any new objects added to the S3+-- bucket and any existing objects that are changed in the S3 bucket+-- after you choose this option.+--+-- - @NEW_CHANGED_DELETED@ - AutoImport is on. Amazon FSx automatically+-- imports file and directory listings of any new objects added to the+-- S3 bucket, any existing objects that are changed in the S3 bucket,+-- and any objects that were deleted in the S3 bucket.+--+-- For more information, see+-- <https://docs.aws.amazon.com/fsx/latest/LustreGuide/older-deployment-types.html#legacy-auto-import-from-s3 Automatically import updates from your S3 bucket>.+--+-- This parameter is not supported for file systems with the @Persistent_2@+-- deployment type. Instead, use @CreateDataRepositoryAssociation@ to+-- create a data repository association to link your Lustre file system to+-- a data repository.+--+-- 'automaticBackupRetentionDays', 'createFileSystemLustreConfiguration_automaticBackupRetentionDays' - Undocumented member.+--+-- 'copyTagsToBackups', 'createFileSystemLustreConfiguration_copyTagsToBackups' - (Optional) Not available for use with file systems that are linked to a+-- data repository. A boolean flag indicating whether tags for the file+-- system should be copied to backups. The default value is false. If+-- @CopyTagsToBackups@ is set to true, all file system tags are copied to+-- all automatic and user-initiated backups when the user doesn\'t specify+-- any backup-specific tags. If @CopyTagsToBackups@ is set to true and you+-- specify one or more backup tags, only the specified tags are copied to+-- backups. If you specify one or more tags when creating a user-initiated+-- backup, no tags are copied from the file system, regardless of this+-- value.+--+-- (Default = @false@)+--+-- For more information, see+-- <https://docs.aws.amazon.com/fsx/latest/LustreGuide/using-backups-fsx.html Working with backups>+-- in the /Amazon FSx for Lustre User Guide/.+--+-- 'dailyAutomaticBackupStartTime', 'createFileSystemLustreConfiguration_dailyAutomaticBackupStartTime' - Undocumented member.+--+-- 'dataCompressionType', 'createFileSystemLustreConfiguration_dataCompressionType' - Sets the data compression configuration for the file system.+-- @DataCompressionType@ can have the following values:+--+-- - @NONE@ - (Default) Data compression is turned off when the file+-- system is created.+--+-- - @LZ4@ - Data compression is turned on with the LZ4 algorithm.+--+-- For more information, see+-- <https://docs.aws.amazon.com/fsx/latest/LustreGuide/data-compression.html Lustre data compression>+-- in the /Amazon FSx for Lustre User Guide/.+--+-- 'deploymentType', 'createFileSystemLustreConfiguration_deploymentType' - (Optional) Choose @SCRATCH_1@ and @SCRATCH_2@ deployment types when you+-- need temporary storage and shorter-term processing of data. The+-- @SCRATCH_2@ deployment type provides in-transit encryption of data and+-- higher burst throughput capacity than @SCRATCH_1@.+--+-- Choose @PERSISTENT_1@ for longer-term storage and for throughput-focused+-- workloads that aren’t latency-sensitive. @PERSISTENT_1@ supports+-- encryption of data in transit, and is available in all Amazon Web+-- Services Regions in which FSx for Lustre is available.+--+-- Choose @PERSISTENT_2@ for longer-term storage and for latency-sensitive+-- workloads that require the highest levels of IOPS\/throughput.+-- @PERSISTENT_2@ supports SSD storage, and offers higher+-- @PerUnitStorageThroughput@ (up to 1000 MB\/s\/TiB). @PERSISTENT_2@ is+-- available in a limited number of Amazon Web Services Regions. For more+-- information, and an up-to-date list of Amazon Web Services Regions in+-- which @PERSISTENT_2@ is available, see+-- <https://docs.aws.amazon.com/fsx/latest/LustreGuide/using-fsx-lustre.html#lustre-deployment-types File system deployment options for FSx for Lustre>+-- in the /Amazon FSx for Lustre User Guide/.+--+-- If you choose @PERSISTENT_2@, and you set @FileSystemTypeVersion@ to+-- @2.10@, the @CreateFileSystem@ operation fails.+--+-- Encryption of data in transit is automatically turned on when you access+-- @SCRATCH_2@, @PERSISTENT_1@ and @PERSISTENT_2@ file systems from Amazon+-- EC2 instances that+-- <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/data-%20protection.html support automatic encryption>+-- in the Amazon Web Services Regions where they are available. For more+-- information about encryption in transit for FSx for Lustre file systems,+-- see+-- <https://docs.aws.amazon.com/fsx/latest/LustreGuide/encryption-in-transit-fsxl.html Encrypting data in transit>+-- in the /Amazon FSx for Lustre User Guide/.+--+-- (Default = @SCRATCH_1@)+--+-- 'driveCacheType', 'createFileSystemLustreConfiguration_driveCacheType' - The type of drive cache used by @PERSISTENT_1@ file systems that are+-- provisioned with HDD storage devices. This parameter is required when+-- storage type is HDD. Set this property to @READ@ to improve the+-- performance for frequently accessed files by caching up to 20% of the+-- total storage capacity of the file system.+--+-- This parameter is required when @StorageType@ is set to @HDD@.+--+-- 'exportPath', 'createFileSystemLustreConfiguration_exportPath' - (Optional) Available with @Scratch@ and @Persistent_1@ deployment types.+-- Specifies the path in the Amazon S3 bucket where the root of your Amazon+-- FSx file system is exported. The path must use the same Amazon S3 bucket+-- as specified in ImportPath. You can provide an optional prefix to which+-- new and changed data is to be exported from your Amazon FSx for Lustre+-- file system. If an @ExportPath@ value is not provided, Amazon FSx sets a+-- default export path,+-- @s3:\/\/import-bucket\/FSxLustre[creation-timestamp]@. The timestamp is+-- in UTC format, for example+-- @s3:\/\/import-bucket\/FSxLustre20181105T222312Z@.+--+-- The Amazon S3 export bucket must be the same as the import bucket+-- specified by @ImportPath@. If you specify only a bucket name, such as+-- @s3:\/\/import-bucket@, you get a 1:1 mapping of file system objects to+-- S3 bucket objects. This mapping means that the input data in S3 is+-- overwritten on export. If you provide a custom prefix in the export+-- path, such as @s3:\/\/import-bucket\/[custom-optional-prefix]@, Amazon+-- FSx exports the contents of your file system to that export prefix in+-- the Amazon S3 bucket.+--+-- This parameter is not supported for file systems with the @Persistent_2@+-- deployment type. Instead, use @CreateDataRepositoryAssociation@ to+-- create a data repository association to link your Lustre file system to+-- a data repository.+--+-- 'importPath', 'createFileSystemLustreConfiguration_importPath' - (Optional) The path to the Amazon S3 bucket (including the optional+-- prefix) that you\'re using as the data repository for your Amazon FSx+-- for Lustre file system. The root of your FSx for Lustre file system will+-- be mapped to the root of the Amazon S3 bucket you select. An example is+-- @s3:\/\/import-bucket\/optional-prefix@. If you specify a prefix after+-- the Amazon S3 bucket name, only object keys with that prefix are loaded+-- into the file system.+--+-- This parameter is not supported for file systems with the @Persistent_2@+-- deployment type. Instead, use @CreateDataRepositoryAssociation@ to+-- create a data repository association to link your Lustre file system to+-- a data repository.+--+-- 'importedFileChunkSize', 'createFileSystemLustreConfiguration_importedFileChunkSize' - (Optional) For files imported from a data repository, this value+-- determines the stripe count and maximum amount of data per file (in MiB)+-- stored on a single physical disk. The maximum number of disks that a+-- single file can be striped across is limited by the total number of+-- disks that make up the file system.+--+-- The default chunk size is 1,024 MiB (1 GiB) and can go as high as+-- 512,000 MiB (500 GiB). Amazon S3 objects have a maximum size of 5 TB.+--+-- This parameter is not supported for file systems with the @Persistent_2@+-- deployment type. Instead, use @CreateDataRepositoryAssociation@ to+-- create a data repository association to link your Lustre file system to+-- a data repository.+--+-- 'logConfiguration', 'createFileSystemLustreConfiguration_logConfiguration' - The Lustre logging configuration used when creating an Amazon FSx for+-- Lustre file system. When logging is enabled, Lustre logs error and+-- warning events for data repositories associated with your file system to+-- Amazon CloudWatch Logs.+--+-- 'perUnitStorageThroughput', 'createFileSystemLustreConfiguration_perUnitStorageThroughput' - Required with @PERSISTENT_1@ and @PERSISTENT_2@ deployment types,+-- provisions the amount of read and write throughput for each 1 tebibyte+-- (TiB) of file system storage capacity, in MB\/s\/TiB. File system+-- throughput capacity is calculated by multiplying file system storage+-- capacity (TiB) by the @PerUnitStorageThroughput@ (MB\/s\/TiB). For a+-- 2.4-TiB file system, provisioning 50 MB\/s\/TiB of+-- @PerUnitStorageThroughput@ yields 120 MB\/s of file system throughput.+-- You pay for the amount of throughput that you provision.+--+-- Valid values:+--+-- - For @PERSISTENT_1@ SSD storage: 50, 100, 200 MB\/s\/TiB.+--+-- - For @PERSISTENT_1@ HDD storage: 12, 40 MB\/s\/TiB.+--+-- - For @PERSISTENT_2@ SSD storage: 125, 250, 500, 1000 MB\/s\/TiB.+--+-- 'rootSquashConfiguration', 'createFileSystemLustreConfiguration_rootSquashConfiguration' - The Lustre root squash configuration used when creating an Amazon FSx+-- for Lustre file system. When enabled, root squash restricts root-level+-- access from clients that try to access your file system as a root user.+--+-- 'weeklyMaintenanceStartTime', 'createFileSystemLustreConfiguration_weeklyMaintenanceStartTime' - (Optional) The preferred start time to perform weekly maintenance,+-- formatted d:HH:MM in the UTC time zone, where d is the weekday number,+-- from 1 through 7, beginning with Monday and ending with Sunday.+newCreateFileSystemLustreConfiguration ::+ CreateFileSystemLustreConfiguration+newCreateFileSystemLustreConfiguration =+ CreateFileSystemLustreConfiguration'+ { autoImportPolicy =+ Prelude.Nothing,+ automaticBackupRetentionDays =+ Prelude.Nothing,+ copyTagsToBackups = Prelude.Nothing,+ dailyAutomaticBackupStartTime =+ Prelude.Nothing,+ dataCompressionType = Prelude.Nothing,+ deploymentType = Prelude.Nothing,+ driveCacheType = Prelude.Nothing,+ exportPath = Prelude.Nothing,+ importPath = Prelude.Nothing,+ importedFileChunkSize =+ Prelude.Nothing,+ logConfiguration = Prelude.Nothing,+ perUnitStorageThroughput =+ Prelude.Nothing,+ rootSquashConfiguration =+ Prelude.Nothing,+ weeklyMaintenanceStartTime =+ Prelude.Nothing+ }++-- | (Optional) Available with @Scratch@ and @Persistent_1@ deployment types.+-- When you create your file system, your existing S3 objects appear as+-- file and directory listings. Use this property to choose how Amazon FSx+-- keeps your file and directory listings up to date as you add or modify+-- objects in your linked S3 bucket. @AutoImportPolicy@ can have the+-- following values:+--+-- - @NONE@ - (Default) AutoImport is off. Amazon FSx only updates file+-- and directory listings from the linked S3 bucket when the file+-- system is created. FSx does not update file and directory listings+-- for any new or changed objects after choosing this option.+--+-- - @NEW@ - AutoImport is on. Amazon FSx automatically imports directory+-- listings of any new objects added to the linked S3 bucket that do+-- not currently exist in the FSx file system.+--+-- - @NEW_CHANGED@ - AutoImport is on. Amazon FSx automatically imports+-- file and directory listings of any new objects added to the S3+-- bucket and any existing objects that are changed in the S3 bucket+-- after you choose this option.+--+-- - @NEW_CHANGED_DELETED@ - AutoImport is on. Amazon FSx automatically+-- imports file and directory listings of any new objects added to the+-- S3 bucket, any existing objects that are changed in the S3 bucket,+-- and any objects that were deleted in the S3 bucket.+--+-- For more information, see+-- <https://docs.aws.amazon.com/fsx/latest/LustreGuide/older-deployment-types.html#legacy-auto-import-from-s3 Automatically import updates from your S3 bucket>.+--+-- This parameter is not supported for file systems with the @Persistent_2@+-- deployment type. Instead, use @CreateDataRepositoryAssociation@ to+-- create a data repository association to link your Lustre file system to+-- a data repository.+createFileSystemLustreConfiguration_autoImportPolicy :: Lens.Lens' CreateFileSystemLustreConfiguration (Prelude.Maybe AutoImportPolicyType)+createFileSystemLustreConfiguration_autoImportPolicy = Lens.lens (\CreateFileSystemLustreConfiguration' {autoImportPolicy} -> autoImportPolicy) (\s@CreateFileSystemLustreConfiguration' {} a -> s {autoImportPolicy = a} :: CreateFileSystemLustreConfiguration)++-- | Undocumented member.+createFileSystemLustreConfiguration_automaticBackupRetentionDays :: Lens.Lens' CreateFileSystemLustreConfiguration (Prelude.Maybe Prelude.Natural)+createFileSystemLustreConfiguration_automaticBackupRetentionDays = Lens.lens (\CreateFileSystemLustreConfiguration' {automaticBackupRetentionDays} -> automaticBackupRetentionDays) (\s@CreateFileSystemLustreConfiguration' {} a -> s {automaticBackupRetentionDays = a} :: CreateFileSystemLustreConfiguration)++-- | (Optional) Not available for use with file systems that are linked to a+-- data repository. A boolean flag indicating whether tags for the file+-- system should be copied to backups. The default value is false. If+-- @CopyTagsToBackups@ is set to true, all file system tags are copied to+-- all automatic and user-initiated backups when the user doesn\'t specify+-- any backup-specific tags. If @CopyTagsToBackups@ is set to true and you+-- specify one or more backup tags, only the specified tags are copied to+-- backups. If you specify one or more tags when creating a user-initiated+-- backup, no tags are copied from the file system, regardless of this+-- value.+--+-- (Default = @false@)+--+-- For more information, see+-- <https://docs.aws.amazon.com/fsx/latest/LustreGuide/using-backups-fsx.html Working with backups>+-- in the /Amazon FSx for Lustre User Guide/.+createFileSystemLustreConfiguration_copyTagsToBackups :: Lens.Lens' CreateFileSystemLustreConfiguration (Prelude.Maybe Prelude.Bool)+createFileSystemLustreConfiguration_copyTagsToBackups = Lens.lens (\CreateFileSystemLustreConfiguration' {copyTagsToBackups} -> copyTagsToBackups) (\s@CreateFileSystemLustreConfiguration' {} a -> s {copyTagsToBackups = a} :: CreateFileSystemLustreConfiguration)++-- | Undocumented member.+createFileSystemLustreConfiguration_dailyAutomaticBackupStartTime :: Lens.Lens' CreateFileSystemLustreConfiguration (Prelude.Maybe Prelude.Text)+createFileSystemLustreConfiguration_dailyAutomaticBackupStartTime = Lens.lens (\CreateFileSystemLustreConfiguration' {dailyAutomaticBackupStartTime} -> dailyAutomaticBackupStartTime) (\s@CreateFileSystemLustreConfiguration' {} a -> s {dailyAutomaticBackupStartTime = a} :: CreateFileSystemLustreConfiguration)++-- | Sets the data compression configuration for the file system.+-- @DataCompressionType@ can have the following values:+--+-- - @NONE@ - (Default) Data compression is turned off when the file+-- system is created.+--+-- - @LZ4@ - Data compression is turned on with the LZ4 algorithm.+--+-- For more information, see+-- <https://docs.aws.amazon.com/fsx/latest/LustreGuide/data-compression.html Lustre data compression>+-- in the /Amazon FSx for Lustre User Guide/.+createFileSystemLustreConfiguration_dataCompressionType :: Lens.Lens' CreateFileSystemLustreConfiguration (Prelude.Maybe DataCompressionType)+createFileSystemLustreConfiguration_dataCompressionType = Lens.lens (\CreateFileSystemLustreConfiguration' {dataCompressionType} -> dataCompressionType) (\s@CreateFileSystemLustreConfiguration' {} a -> s {dataCompressionType = a} :: CreateFileSystemLustreConfiguration)++-- | (Optional) Choose @SCRATCH_1@ and @SCRATCH_2@ deployment types when you+-- need temporary storage and shorter-term processing of data. The+-- @SCRATCH_2@ deployment type provides in-transit encryption of data and+-- higher burst throughput capacity than @SCRATCH_1@.+--+-- Choose @PERSISTENT_1@ for longer-term storage and for throughput-focused+-- workloads that aren’t latency-sensitive. @PERSISTENT_1@ supports+-- encryption of data in transit, and is available in all Amazon Web+-- Services Regions in which FSx for Lustre is available.+--+-- Choose @PERSISTENT_2@ for longer-term storage and for latency-sensitive+-- workloads that require the highest levels of IOPS\/throughput.+-- @PERSISTENT_2@ supports SSD storage, and offers higher+-- @PerUnitStorageThroughput@ (up to 1000 MB\/s\/TiB). @PERSISTENT_2@ is+-- available in a limited number of Amazon Web Services Regions. For more+-- information, and an up-to-date list of Amazon Web Services Regions in+-- which @PERSISTENT_2@ is available, see+-- <https://docs.aws.amazon.com/fsx/latest/LustreGuide/using-fsx-lustre.html#lustre-deployment-types File system deployment options for FSx for Lustre>+-- in the /Amazon FSx for Lustre User Guide/.+--+-- If you choose @PERSISTENT_2@, and you set @FileSystemTypeVersion@ to+-- @2.10@, the @CreateFileSystem@ operation fails.+--+-- Encryption of data in transit is automatically turned on when you access+-- @SCRATCH_2@, @PERSISTENT_1@ and @PERSISTENT_2@ file systems from Amazon+-- EC2 instances that+-- <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/data-%20protection.html support automatic encryption>+-- in the Amazon Web Services Regions where they are available. For more+-- information about encryption in transit for FSx for Lustre file systems,+-- see+-- <https://docs.aws.amazon.com/fsx/latest/LustreGuide/encryption-in-transit-fsxl.html Encrypting data in transit>+-- in the /Amazon FSx for Lustre User Guide/.+--+-- (Default = @SCRATCH_1@)+createFileSystemLustreConfiguration_deploymentType :: Lens.Lens' CreateFileSystemLustreConfiguration (Prelude.Maybe LustreDeploymentType)+createFileSystemLustreConfiguration_deploymentType = Lens.lens (\CreateFileSystemLustreConfiguration' {deploymentType} -> deploymentType) (\s@CreateFileSystemLustreConfiguration' {} a -> s {deploymentType = a} :: CreateFileSystemLustreConfiguration)++-- | The type of drive cache used by @PERSISTENT_1@ file systems that are+-- provisioned with HDD storage devices. This parameter is required when+-- storage type is HDD. Set this property to @READ@ to improve the+-- performance for frequently accessed files by caching up to 20% of the+-- total storage capacity of the file system.+--+-- This parameter is required when @StorageType@ is set to @HDD@.+createFileSystemLustreConfiguration_driveCacheType :: Lens.Lens' CreateFileSystemLustreConfiguration (Prelude.Maybe DriveCacheType)+createFileSystemLustreConfiguration_driveCacheType = Lens.lens (\CreateFileSystemLustreConfiguration' {driveCacheType} -> driveCacheType) (\s@CreateFileSystemLustreConfiguration' {} a -> s {driveCacheType = a} :: CreateFileSystemLustreConfiguration)++-- | (Optional) Available with @Scratch@ and @Persistent_1@ deployment types.+-- Specifies the path in the Amazon S3 bucket where the root of your Amazon+-- FSx file system is exported. The path must use the same Amazon S3 bucket+-- as specified in ImportPath. You can provide an optional prefix to which+-- new and changed data is to be exported from your Amazon FSx for Lustre+-- file system. If an @ExportPath@ value is not provided, Amazon FSx sets a+-- default export path,+-- @s3:\/\/import-bucket\/FSxLustre[creation-timestamp]@. The timestamp is+-- in UTC format, for example+-- @s3:\/\/import-bucket\/FSxLustre20181105T222312Z@.+--+-- The Amazon S3 export bucket must be the same as the import bucket+-- specified by @ImportPath@. If you specify only a bucket name, such as+-- @s3:\/\/import-bucket@, you get a 1:1 mapping of file system objects to+-- S3 bucket objects. This mapping means that the input data in S3 is+-- overwritten on export. If you provide a custom prefix in the export+-- path, such as @s3:\/\/import-bucket\/[custom-optional-prefix]@, Amazon+-- FSx exports the contents of your file system to that export prefix in+-- the Amazon S3 bucket.+--+-- This parameter is not supported for file systems with the @Persistent_2@+-- deployment type. Instead, use @CreateDataRepositoryAssociation@ to+-- create a data repository association to link your Lustre file system to+-- a data repository.+createFileSystemLustreConfiguration_exportPath :: Lens.Lens' CreateFileSystemLustreConfiguration (Prelude.Maybe Prelude.Text)+createFileSystemLustreConfiguration_exportPath = Lens.lens (\CreateFileSystemLustreConfiguration' {exportPath} -> exportPath) (\s@CreateFileSystemLustreConfiguration' {} a -> s {exportPath = a} :: CreateFileSystemLustreConfiguration)++-- | (Optional) The path to the Amazon S3 bucket (including the optional+-- prefix) that you\'re using as the data repository for your Amazon FSx+-- for Lustre file system. The root of your FSx for Lustre file system will+-- be mapped to the root of the Amazon S3 bucket you select. An example is+-- @s3:\/\/import-bucket\/optional-prefix@. If you specify a prefix after+-- the Amazon S3 bucket name, only object keys with that prefix are loaded+-- into the file system.+--+-- This parameter is not supported for file systems with the @Persistent_2@+-- deployment type. Instead, use @CreateDataRepositoryAssociation@ to+-- create a data repository association to link your Lustre file system to+-- a data repository.+createFileSystemLustreConfiguration_importPath :: Lens.Lens' CreateFileSystemLustreConfiguration (Prelude.Maybe Prelude.Text)+createFileSystemLustreConfiguration_importPath = Lens.lens (\CreateFileSystemLustreConfiguration' {importPath} -> importPath) (\s@CreateFileSystemLustreConfiguration' {} a -> s {importPath = a} :: CreateFileSystemLustreConfiguration)++-- | (Optional) For files imported from a data repository, this value+-- determines the stripe count and maximum amount of data per file (in MiB)+-- stored on a single physical disk. The maximum number of disks that a+-- single file can be striped across is limited by the total number of+-- disks that make up the file system.+--+-- The default chunk size is 1,024 MiB (1 GiB) and can go as high as+-- 512,000 MiB (500 GiB). Amazon S3 objects have a maximum size of 5 TB.+--+-- This parameter is not supported for file systems with the @Persistent_2@+-- deployment type. Instead, use @CreateDataRepositoryAssociation@ to+-- create a data repository association to link your Lustre file system to+-- a data repository.+createFileSystemLustreConfiguration_importedFileChunkSize :: Lens.Lens' CreateFileSystemLustreConfiguration (Prelude.Maybe Prelude.Natural)+createFileSystemLustreConfiguration_importedFileChunkSize = Lens.lens (\CreateFileSystemLustreConfiguration' {importedFileChunkSize} -> importedFileChunkSize) (\s@CreateFileSystemLustreConfiguration' {} a -> s {importedFileChunkSize = a} :: CreateFileSystemLustreConfiguration)++-- | The Lustre logging configuration used when creating an Amazon FSx for+-- Lustre file system. When logging is enabled, Lustre logs error and+-- warning events for data repositories associated with your file system to+-- Amazon CloudWatch Logs.+createFileSystemLustreConfiguration_logConfiguration :: Lens.Lens' CreateFileSystemLustreConfiguration (Prelude.Maybe LustreLogCreateConfiguration)+createFileSystemLustreConfiguration_logConfiguration = Lens.lens (\CreateFileSystemLustreConfiguration' {logConfiguration} -> logConfiguration) (\s@CreateFileSystemLustreConfiguration' {} a -> s {logConfiguration = a} :: CreateFileSystemLustreConfiguration)++-- | Required with @PERSISTENT_1@ and @PERSISTENT_2@ deployment types,+-- provisions the amount of read and write throughput for each 1 tebibyte+-- (TiB) of file system storage capacity, in MB\/s\/TiB. File system+-- throughput capacity is calculated by multiplying file system storage+-- capacity (TiB) by the @PerUnitStorageThroughput@ (MB\/s\/TiB). For a+-- 2.4-TiB file system, provisioning 50 MB\/s\/TiB of+-- @PerUnitStorageThroughput@ yields 120 MB\/s of file system throughput.+-- You pay for the amount of throughput that you provision.+--+-- Valid values:+--+-- - For @PERSISTENT_1@ SSD storage: 50, 100, 200 MB\/s\/TiB.+--+-- - For @PERSISTENT_1@ HDD storage: 12, 40 MB\/s\/TiB.+--+-- - For @PERSISTENT_2@ SSD storage: 125, 250, 500, 1000 MB\/s\/TiB.+createFileSystemLustreConfiguration_perUnitStorageThroughput :: Lens.Lens' CreateFileSystemLustreConfiguration (Prelude.Maybe Prelude.Natural)+createFileSystemLustreConfiguration_perUnitStorageThroughput = Lens.lens (\CreateFileSystemLustreConfiguration' {perUnitStorageThroughput} -> perUnitStorageThroughput) (\s@CreateFileSystemLustreConfiguration' {} a -> s {perUnitStorageThroughput = a} :: CreateFileSystemLustreConfiguration)++-- | The Lustre root squash configuration used when creating an Amazon FSx+-- for Lustre file system. When enabled, root squash restricts root-level+-- access from clients that try to access your file system as a root user.+createFileSystemLustreConfiguration_rootSquashConfiguration :: Lens.Lens' CreateFileSystemLustreConfiguration (Prelude.Maybe LustreRootSquashConfiguration)+createFileSystemLustreConfiguration_rootSquashConfiguration = Lens.lens (\CreateFileSystemLustreConfiguration' {rootSquashConfiguration} -> rootSquashConfiguration) (\s@CreateFileSystemLustreConfiguration' {} a -> s {rootSquashConfiguration = a} :: CreateFileSystemLustreConfiguration)++-- | (Optional) The preferred start time to perform weekly maintenance,+-- formatted d:HH:MM in the UTC time zone, where d is the weekday number,+-- from 1 through 7, beginning with Monday and ending with Sunday.+createFileSystemLustreConfiguration_weeklyMaintenanceStartTime :: Lens.Lens' CreateFileSystemLustreConfiguration (Prelude.Maybe Prelude.Text)+createFileSystemLustreConfiguration_weeklyMaintenanceStartTime = Lens.lens (\CreateFileSystemLustreConfiguration' {weeklyMaintenanceStartTime} -> weeklyMaintenanceStartTime) (\s@CreateFileSystemLustreConfiguration' {} a -> s {weeklyMaintenanceStartTime = a} :: CreateFileSystemLustreConfiguration)++instance+ Prelude.Hashable+ CreateFileSystemLustreConfiguration+ where+ hashWithSalt+ _salt+ CreateFileSystemLustreConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` autoImportPolicy+ `Prelude.hashWithSalt` automaticBackupRetentionDays+ `Prelude.hashWithSalt` copyTagsToBackups+ `Prelude.hashWithSalt` dailyAutomaticBackupStartTime+ `Prelude.hashWithSalt` dataCompressionType+ `Prelude.hashWithSalt` deploymentType+ `Prelude.hashWithSalt` driveCacheType+ `Prelude.hashWithSalt` exportPath+ `Prelude.hashWithSalt` importPath+ `Prelude.hashWithSalt` importedFileChunkSize+ `Prelude.hashWithSalt` logConfiguration+ `Prelude.hashWithSalt` perUnitStorageThroughput+ `Prelude.hashWithSalt` rootSquashConfiguration+ `Prelude.hashWithSalt` weeklyMaintenanceStartTime++instance+ Prelude.NFData+ CreateFileSystemLustreConfiguration+ where+ rnf CreateFileSystemLustreConfiguration' {..} =+ Prelude.rnf autoImportPolicy+ `Prelude.seq` Prelude.rnf automaticBackupRetentionDays+ `Prelude.seq` Prelude.rnf copyTagsToBackups+ `Prelude.seq` Prelude.rnf dailyAutomaticBackupStartTime+ `Prelude.seq` Prelude.rnf dataCompressionType+ `Prelude.seq` Prelude.rnf deploymentType+ `Prelude.seq` Prelude.rnf driveCacheType+ `Prelude.seq` Prelude.rnf exportPath+ `Prelude.seq` Prelude.rnf importPath+ `Prelude.seq` Prelude.rnf importedFileChunkSize+ `Prelude.seq` Prelude.rnf logConfiguration+ `Prelude.seq` Prelude.rnf perUnitStorageThroughput+ `Prelude.seq` Prelude.rnf rootSquashConfiguration+ `Prelude.seq` Prelude.rnf weeklyMaintenanceStartTime++instance+ Data.ToJSON+ CreateFileSystemLustreConfiguration+ where+ toJSON CreateFileSystemLustreConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("AutoImportPolicy" Data..=)+ Prelude.<$> autoImportPolicy,+ ("AutomaticBackupRetentionDays" Data..=)+ Prelude.<$> automaticBackupRetentionDays,+ ("CopyTagsToBackups" Data..=)+ Prelude.<$> copyTagsToBackups,+ ("DailyAutomaticBackupStartTime" Data..=)+ Prelude.<$> dailyAutomaticBackupStartTime,+ ("DataCompressionType" Data..=)+ Prelude.<$> dataCompressionType,+ ("DeploymentType" Data..=)+ Prelude.<$> deploymentType,+ ("DriveCacheType" Data..=)+ Prelude.<$> driveCacheType,+ ("ExportPath" Data..=) Prelude.<$> exportPath,+ ("ImportPath" Data..=) Prelude.<$> importPath,+ ("ImportedFileChunkSize" Data..=)+ Prelude.<$> importedFileChunkSize,+ ("LogConfiguration" Data..=)+ Prelude.<$> logConfiguration,+ ("PerUnitStorageThroughput" Data..=)+ Prelude.<$> perUnitStorageThroughput,+ ("RootSquashConfiguration" Data..=)+ Prelude.<$> rootSquashConfiguration,+ ("WeeklyMaintenanceStartTime" Data..=)+ Prelude.<$> weeklyMaintenanceStartTime+ ]+ )
+ gen/Amazonka/FSx/Types/CreateFileSystemOntapConfiguration.hs view
@@ -0,0 +1,285 @@+{-# 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.FSx.Types.CreateFileSystemOntapConfiguration+-- 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.FSx.Types.CreateFileSystemOntapConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types.DiskIopsConfiguration+import Amazonka.FSx.Types.OntapDeploymentType+import qualified Amazonka.Prelude as Prelude++-- | The ONTAP configuration properties of the FSx for ONTAP file system that+-- you are creating.+--+-- /See:/ 'newCreateFileSystemOntapConfiguration' smart constructor.+data CreateFileSystemOntapConfiguration = CreateFileSystemOntapConfiguration'+ { automaticBackupRetentionDays :: Prelude.Maybe Prelude.Natural,+ dailyAutomaticBackupStartTime :: Prelude.Maybe Prelude.Text,+ -- | The SSD IOPS configuration for the FSx for ONTAP file system.+ diskIopsConfiguration :: Prelude.Maybe DiskIopsConfiguration,+ -- | (Multi-AZ only) Specifies the IP address range in which the endpoints to+ -- access your file system will be created. By default in the Amazon FSx+ -- API, Amazon FSx selects an unused IP address range for you from the+ -- 198.19.* range. By default in the Amazon FSx console, Amazon FSx chooses+ -- the last 64 IP addresses from the VPC’s primary CIDR range to use as the+ -- endpoint IP address range for the file system. You can have overlapping+ -- endpoint IP addresses for file systems deployed in the same VPC\/route+ -- tables.+ endpointIpAddressRange :: Prelude.Maybe Prelude.Text,+ -- | The ONTAP administrative password for the @fsxadmin@ user with which you+ -- administer your file system using the NetApp ONTAP CLI and REST API.+ fsxAdminPassword :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | Required when @DeploymentType@ is set to @MULTI_AZ_1@. This specifies+ -- the subnet in which you want the preferred file server to be located.+ preferredSubnetId :: Prelude.Maybe Prelude.Text,+ -- | (Multi-AZ only) Specifies the virtual private cloud (VPC) route tables+ -- in which your file system\'s endpoints will be created. You should+ -- specify all VPC route tables associated with the subnets in which your+ -- clients are located. By default, Amazon FSx selects your VPC\'s default+ -- route table.+ routeTableIds :: Prelude.Maybe [Prelude.Text],+ weeklyMaintenanceStartTime :: Prelude.Maybe Prelude.Text,+ -- | Specifies the FSx for ONTAP file system deployment type to use in+ -- creating the file system.+ --+ -- - @MULTI_AZ_1@ - (Default) A high availability file system configured+ -- for Multi-AZ redundancy to tolerate temporary Availability Zone (AZ)+ -- unavailability.+ --+ -- - @SINGLE_AZ_1@ - A file system configured for Single-AZ redundancy.+ --+ -- For information about the use cases for Multi-AZ and Single-AZ+ -- deployments, refer to+ -- <https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/high-availability-AZ.html Choosing a file system deployment type>.+ deploymentType :: OntapDeploymentType,+ -- | Sets the throughput capacity for the file system that you\'re creating.+ -- Valid values are 128, 256, 512, 1024, 2048, and 4096 MBps.+ throughputCapacity :: Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateFileSystemOntapConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'automaticBackupRetentionDays', 'createFileSystemOntapConfiguration_automaticBackupRetentionDays' - Undocumented member.+--+-- 'dailyAutomaticBackupStartTime', 'createFileSystemOntapConfiguration_dailyAutomaticBackupStartTime' - Undocumented member.+--+-- 'diskIopsConfiguration', 'createFileSystemOntapConfiguration_diskIopsConfiguration' - The SSD IOPS configuration for the FSx for ONTAP file system.+--+-- 'endpointIpAddressRange', 'createFileSystemOntapConfiguration_endpointIpAddressRange' - (Multi-AZ only) Specifies the IP address range in which the endpoints to+-- access your file system will be created. By default in the Amazon FSx+-- API, Amazon FSx selects an unused IP address range for you from the+-- 198.19.* range. By default in the Amazon FSx console, Amazon FSx chooses+-- the last 64 IP addresses from the VPC’s primary CIDR range to use as the+-- endpoint IP address range for the file system. You can have overlapping+-- endpoint IP addresses for file systems deployed in the same VPC\/route+-- tables.+--+-- 'fsxAdminPassword', 'createFileSystemOntapConfiguration_fsxAdminPassword' - The ONTAP administrative password for the @fsxadmin@ user with which you+-- administer your file system using the NetApp ONTAP CLI and REST API.+--+-- 'preferredSubnetId', 'createFileSystemOntapConfiguration_preferredSubnetId' - Required when @DeploymentType@ is set to @MULTI_AZ_1@. This specifies+-- the subnet in which you want the preferred file server to be located.+--+-- 'routeTableIds', 'createFileSystemOntapConfiguration_routeTableIds' - (Multi-AZ only) Specifies the virtual private cloud (VPC) route tables+-- in which your file system\'s endpoints will be created. You should+-- specify all VPC route tables associated with the subnets in which your+-- clients are located. By default, Amazon FSx selects your VPC\'s default+-- route table.+--+-- 'weeklyMaintenanceStartTime', 'createFileSystemOntapConfiguration_weeklyMaintenanceStartTime' - Undocumented member.+--+-- 'deploymentType', 'createFileSystemOntapConfiguration_deploymentType' - Specifies the FSx for ONTAP file system deployment type to use in+-- creating the file system.+--+-- - @MULTI_AZ_1@ - (Default) A high availability file system configured+-- for Multi-AZ redundancy to tolerate temporary Availability Zone (AZ)+-- unavailability.+--+-- - @SINGLE_AZ_1@ - A file system configured for Single-AZ redundancy.+--+-- For information about the use cases for Multi-AZ and Single-AZ+-- deployments, refer to+-- <https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/high-availability-AZ.html Choosing a file system deployment type>.+--+-- 'throughputCapacity', 'createFileSystemOntapConfiguration_throughputCapacity' - Sets the throughput capacity for the file system that you\'re creating.+-- Valid values are 128, 256, 512, 1024, 2048, and 4096 MBps.+newCreateFileSystemOntapConfiguration ::+ -- | 'deploymentType'+ OntapDeploymentType ->+ -- | 'throughputCapacity'+ Prelude.Natural ->+ CreateFileSystemOntapConfiguration+newCreateFileSystemOntapConfiguration+ pDeploymentType_+ pThroughputCapacity_ =+ CreateFileSystemOntapConfiguration'+ { automaticBackupRetentionDays =+ Prelude.Nothing,+ dailyAutomaticBackupStartTime =+ Prelude.Nothing,+ diskIopsConfiguration = Prelude.Nothing,+ endpointIpAddressRange =+ Prelude.Nothing,+ fsxAdminPassword = Prelude.Nothing,+ preferredSubnetId = Prelude.Nothing,+ routeTableIds = Prelude.Nothing,+ weeklyMaintenanceStartTime =+ Prelude.Nothing,+ deploymentType = pDeploymentType_,+ throughputCapacity =+ pThroughputCapacity_+ }++-- | Undocumented member.+createFileSystemOntapConfiguration_automaticBackupRetentionDays :: Lens.Lens' CreateFileSystemOntapConfiguration (Prelude.Maybe Prelude.Natural)+createFileSystemOntapConfiguration_automaticBackupRetentionDays = Lens.lens (\CreateFileSystemOntapConfiguration' {automaticBackupRetentionDays} -> automaticBackupRetentionDays) (\s@CreateFileSystemOntapConfiguration' {} a -> s {automaticBackupRetentionDays = a} :: CreateFileSystemOntapConfiguration)++-- | Undocumented member.+createFileSystemOntapConfiguration_dailyAutomaticBackupStartTime :: Lens.Lens' CreateFileSystemOntapConfiguration (Prelude.Maybe Prelude.Text)+createFileSystemOntapConfiguration_dailyAutomaticBackupStartTime = Lens.lens (\CreateFileSystemOntapConfiguration' {dailyAutomaticBackupStartTime} -> dailyAutomaticBackupStartTime) (\s@CreateFileSystemOntapConfiguration' {} a -> s {dailyAutomaticBackupStartTime = a} :: CreateFileSystemOntapConfiguration)++-- | The SSD IOPS configuration for the FSx for ONTAP file system.+createFileSystemOntapConfiguration_diskIopsConfiguration :: Lens.Lens' CreateFileSystemOntapConfiguration (Prelude.Maybe DiskIopsConfiguration)+createFileSystemOntapConfiguration_diskIopsConfiguration = Lens.lens (\CreateFileSystemOntapConfiguration' {diskIopsConfiguration} -> diskIopsConfiguration) (\s@CreateFileSystemOntapConfiguration' {} a -> s {diskIopsConfiguration = a} :: CreateFileSystemOntapConfiguration)++-- | (Multi-AZ only) Specifies the IP address range in which the endpoints to+-- access your file system will be created. By default in the Amazon FSx+-- API, Amazon FSx selects an unused IP address range for you from the+-- 198.19.* range. By default in the Amazon FSx console, Amazon FSx chooses+-- the last 64 IP addresses from the VPC’s primary CIDR range to use as the+-- endpoint IP address range for the file system. You can have overlapping+-- endpoint IP addresses for file systems deployed in the same VPC\/route+-- tables.+createFileSystemOntapConfiguration_endpointIpAddressRange :: Lens.Lens' CreateFileSystemOntapConfiguration (Prelude.Maybe Prelude.Text)+createFileSystemOntapConfiguration_endpointIpAddressRange = Lens.lens (\CreateFileSystemOntapConfiguration' {endpointIpAddressRange} -> endpointIpAddressRange) (\s@CreateFileSystemOntapConfiguration' {} a -> s {endpointIpAddressRange = a} :: CreateFileSystemOntapConfiguration)++-- | The ONTAP administrative password for the @fsxadmin@ user with which you+-- administer your file system using the NetApp ONTAP CLI and REST API.+createFileSystemOntapConfiguration_fsxAdminPassword :: Lens.Lens' CreateFileSystemOntapConfiguration (Prelude.Maybe Prelude.Text)+createFileSystemOntapConfiguration_fsxAdminPassword = Lens.lens (\CreateFileSystemOntapConfiguration' {fsxAdminPassword} -> fsxAdminPassword) (\s@CreateFileSystemOntapConfiguration' {} a -> s {fsxAdminPassword = a} :: CreateFileSystemOntapConfiguration) Prelude.. Lens.mapping Data._Sensitive++-- | Required when @DeploymentType@ is set to @MULTI_AZ_1@. This specifies+-- the subnet in which you want the preferred file server to be located.+createFileSystemOntapConfiguration_preferredSubnetId :: Lens.Lens' CreateFileSystemOntapConfiguration (Prelude.Maybe Prelude.Text)+createFileSystemOntapConfiguration_preferredSubnetId = Lens.lens (\CreateFileSystemOntapConfiguration' {preferredSubnetId} -> preferredSubnetId) (\s@CreateFileSystemOntapConfiguration' {} a -> s {preferredSubnetId = a} :: CreateFileSystemOntapConfiguration)++-- | (Multi-AZ only) Specifies the virtual private cloud (VPC) route tables+-- in which your file system\'s endpoints will be created. You should+-- specify all VPC route tables associated with the subnets in which your+-- clients are located. By default, Amazon FSx selects your VPC\'s default+-- route table.+createFileSystemOntapConfiguration_routeTableIds :: Lens.Lens' CreateFileSystemOntapConfiguration (Prelude.Maybe [Prelude.Text])+createFileSystemOntapConfiguration_routeTableIds = Lens.lens (\CreateFileSystemOntapConfiguration' {routeTableIds} -> routeTableIds) (\s@CreateFileSystemOntapConfiguration' {} a -> s {routeTableIds = a} :: CreateFileSystemOntapConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+createFileSystemOntapConfiguration_weeklyMaintenanceStartTime :: Lens.Lens' CreateFileSystemOntapConfiguration (Prelude.Maybe Prelude.Text)+createFileSystemOntapConfiguration_weeklyMaintenanceStartTime = Lens.lens (\CreateFileSystemOntapConfiguration' {weeklyMaintenanceStartTime} -> weeklyMaintenanceStartTime) (\s@CreateFileSystemOntapConfiguration' {} a -> s {weeklyMaintenanceStartTime = a} :: CreateFileSystemOntapConfiguration)++-- | Specifies the FSx for ONTAP file system deployment type to use in+-- creating the file system.+--+-- - @MULTI_AZ_1@ - (Default) A high availability file system configured+-- for Multi-AZ redundancy to tolerate temporary Availability Zone (AZ)+-- unavailability.+--+-- - @SINGLE_AZ_1@ - A file system configured for Single-AZ redundancy.+--+-- For information about the use cases for Multi-AZ and Single-AZ+-- deployments, refer to+-- <https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/high-availability-AZ.html Choosing a file system deployment type>.+createFileSystemOntapConfiguration_deploymentType :: Lens.Lens' CreateFileSystemOntapConfiguration OntapDeploymentType+createFileSystemOntapConfiguration_deploymentType = Lens.lens (\CreateFileSystemOntapConfiguration' {deploymentType} -> deploymentType) (\s@CreateFileSystemOntapConfiguration' {} a -> s {deploymentType = a} :: CreateFileSystemOntapConfiguration)++-- | Sets the throughput capacity for the file system that you\'re creating.+-- Valid values are 128, 256, 512, 1024, 2048, and 4096 MBps.+createFileSystemOntapConfiguration_throughputCapacity :: Lens.Lens' CreateFileSystemOntapConfiguration Prelude.Natural+createFileSystemOntapConfiguration_throughputCapacity = Lens.lens (\CreateFileSystemOntapConfiguration' {throughputCapacity} -> throughputCapacity) (\s@CreateFileSystemOntapConfiguration' {} a -> s {throughputCapacity = a} :: CreateFileSystemOntapConfiguration)++instance+ Prelude.Hashable+ CreateFileSystemOntapConfiguration+ where+ hashWithSalt+ _salt+ CreateFileSystemOntapConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` automaticBackupRetentionDays+ `Prelude.hashWithSalt` dailyAutomaticBackupStartTime+ `Prelude.hashWithSalt` diskIopsConfiguration+ `Prelude.hashWithSalt` endpointIpAddressRange+ `Prelude.hashWithSalt` fsxAdminPassword+ `Prelude.hashWithSalt` preferredSubnetId+ `Prelude.hashWithSalt` routeTableIds+ `Prelude.hashWithSalt` weeklyMaintenanceStartTime+ `Prelude.hashWithSalt` deploymentType+ `Prelude.hashWithSalt` throughputCapacity++instance+ Prelude.NFData+ CreateFileSystemOntapConfiguration+ where+ rnf CreateFileSystemOntapConfiguration' {..} =+ Prelude.rnf automaticBackupRetentionDays+ `Prelude.seq` Prelude.rnf dailyAutomaticBackupStartTime+ `Prelude.seq` Prelude.rnf diskIopsConfiguration+ `Prelude.seq` Prelude.rnf endpointIpAddressRange+ `Prelude.seq` Prelude.rnf fsxAdminPassword+ `Prelude.seq` Prelude.rnf preferredSubnetId+ `Prelude.seq` Prelude.rnf routeTableIds+ `Prelude.seq` Prelude.rnf weeklyMaintenanceStartTime+ `Prelude.seq` Prelude.rnf deploymentType+ `Prelude.seq` Prelude.rnf throughputCapacity++instance+ Data.ToJSON+ CreateFileSystemOntapConfiguration+ where+ toJSON CreateFileSystemOntapConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("AutomaticBackupRetentionDays" Data..=)+ Prelude.<$> automaticBackupRetentionDays,+ ("DailyAutomaticBackupStartTime" Data..=)+ Prelude.<$> dailyAutomaticBackupStartTime,+ ("DiskIopsConfiguration" Data..=)+ Prelude.<$> diskIopsConfiguration,+ ("EndpointIpAddressRange" Data..=)+ Prelude.<$> endpointIpAddressRange,+ ("FsxAdminPassword" Data..=)+ Prelude.<$> fsxAdminPassword,+ ("PreferredSubnetId" Data..=)+ Prelude.<$> preferredSubnetId,+ ("RouteTableIds" Data..=) Prelude.<$> routeTableIds,+ ("WeeklyMaintenanceStartTime" Data..=)+ Prelude.<$> weeklyMaintenanceStartTime,+ Prelude.Just+ ("DeploymentType" Data..= deploymentType),+ Prelude.Just+ ("ThroughputCapacity" Data..= throughputCapacity)+ ]+ )
+ gen/Amazonka/FSx/Types/CreateFileSystemOpenZFSConfiguration.hs view
@@ -0,0 +1,328 @@+{-# 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.FSx.Types.CreateFileSystemOpenZFSConfiguration+-- 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.FSx.Types.CreateFileSystemOpenZFSConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types.DiskIopsConfiguration+import Amazonka.FSx.Types.OpenZFSCreateRootVolumeConfiguration+import Amazonka.FSx.Types.OpenZFSDeploymentType+import qualified Amazonka.Prelude as Prelude++-- | The Amazon FSx for OpenZFS configuration properties for the file system+-- that you are creating.+--+-- /See:/ 'newCreateFileSystemOpenZFSConfiguration' smart constructor.+data CreateFileSystemOpenZFSConfiguration = CreateFileSystemOpenZFSConfiguration'+ { automaticBackupRetentionDays :: Prelude.Maybe Prelude.Natural,+ -- | A Boolean value indicating whether tags for the file system should be+ -- copied to backups. This value defaults to @false@. If it\'s set to+ -- @true@, all tags for the file system are copied to all automatic and+ -- user-initiated backups where the user doesn\'t specify tags. If this+ -- value is @true@, and you specify one or more tags, only the specified+ -- tags are copied to backups. If you specify one or more tags when+ -- creating a user-initiated backup, no tags are copied from the file+ -- system, regardless of this value.+ copyTagsToBackups :: Prelude.Maybe Prelude.Bool,+ -- | A Boolean value indicating whether tags for the file system should be+ -- copied to volumes. This value defaults to @false@. If it\'s set to+ -- @true@, all tags for the file system are copied to volumes where the+ -- user doesn\'t specify tags. If this value is @true@, and you specify one+ -- or more tags, only the specified tags are copied to volumes. If you+ -- specify one or more tags when creating the volume, no tags are copied+ -- from the file system, regardless of this value.+ copyTagsToVolumes :: Prelude.Maybe Prelude.Bool,+ dailyAutomaticBackupStartTime :: Prelude.Maybe Prelude.Text,+ diskIopsConfiguration :: Prelude.Maybe DiskIopsConfiguration,+ -- | The configuration Amazon FSx uses when creating the root value of the+ -- Amazon FSx for OpenZFS file system. All volumes are children of the root+ -- volume.+ rootVolumeConfiguration :: Prelude.Maybe OpenZFSCreateRootVolumeConfiguration,+ weeklyMaintenanceStartTime :: Prelude.Maybe Prelude.Text,+ -- | Specifies the file system deployment type. Single AZ deployment types+ -- are configured for redundancy within a single Availability Zone in an+ -- Amazon Web Services Region . Valid values are the following:+ --+ -- - @SINGLE_AZ_1@- (Default) Creates file systems with throughput+ -- capacities of 64 - 4,096 MB\/s. @Single_AZ_1@ is available in all+ -- Amazon Web Services Regions where Amazon FSx for OpenZFS is+ -- available, except US West (Oregon).+ --+ -- - @SINGLE_AZ_2@- Creates file systems with throughput capacities of+ -- 160 - 10,240 MB\/s using an NVMe L2ARC cache. @Single_AZ_2@ is+ -- available only in the US East (N. Virginia), US East (Ohio), US West+ -- (Oregon), and Europe (Ireland) Amazon Web Services Regions.+ --+ -- For more information, see:+ -- <https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/availability-durability.html#available-aws-regions Deployment type availability>+ -- and+ -- <https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/performance.html#zfs-fs-performance File system performance>+ -- in the /Amazon FSx for OpenZFS User Guide/.+ deploymentType :: OpenZFSDeploymentType,+ -- | Specifies the throughput of an Amazon FSx for OpenZFS file system,+ -- measured in megabytes per second (MB\/s). Valid values depend on the+ -- DeploymentType you choose, as follows:+ --+ -- - For @SINGLE_AZ_1@, valid values are 64, 128, 256, 512, 1024, 2048,+ -- 3072, or 4096 MB\/s.+ --+ -- - For @SINGLE_AZ_2@, valid values are 160, 320, 640, 1280, 2560, 3840,+ -- 5120, 7680, or 10240 MB\/s.+ --+ -- You pay for additional throughput capacity that you provision.+ throughputCapacity :: Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateFileSystemOpenZFSConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'automaticBackupRetentionDays', 'createFileSystemOpenZFSConfiguration_automaticBackupRetentionDays' - Undocumented member.+--+-- 'copyTagsToBackups', 'createFileSystemOpenZFSConfiguration_copyTagsToBackups' - A Boolean value indicating whether tags for the file system should be+-- copied to backups. This value defaults to @false@. If it\'s set to+-- @true@, all tags for the file system are copied to all automatic and+-- user-initiated backups where the user doesn\'t specify tags. If this+-- value is @true@, and you specify one or more tags, only the specified+-- tags are copied to backups. If you specify one or more tags when+-- creating a user-initiated backup, no tags are copied from the file+-- system, regardless of this value.+--+-- 'copyTagsToVolumes', 'createFileSystemOpenZFSConfiguration_copyTagsToVolumes' - A Boolean value indicating whether tags for the file system should be+-- copied to volumes. This value defaults to @false@. If it\'s set to+-- @true@, all tags for the file system are copied to volumes where the+-- user doesn\'t specify tags. If this value is @true@, and you specify one+-- or more tags, only the specified tags are copied to volumes. If you+-- specify one or more tags when creating the volume, no tags are copied+-- from the file system, regardless of this value.+--+-- 'dailyAutomaticBackupStartTime', 'createFileSystemOpenZFSConfiguration_dailyAutomaticBackupStartTime' - Undocumented member.+--+-- 'diskIopsConfiguration', 'createFileSystemOpenZFSConfiguration_diskIopsConfiguration' - Undocumented member.+--+-- 'rootVolumeConfiguration', 'createFileSystemOpenZFSConfiguration_rootVolumeConfiguration' - The configuration Amazon FSx uses when creating the root value of the+-- Amazon FSx for OpenZFS file system. All volumes are children of the root+-- volume.+--+-- 'weeklyMaintenanceStartTime', 'createFileSystemOpenZFSConfiguration_weeklyMaintenanceStartTime' - Undocumented member.+--+-- 'deploymentType', 'createFileSystemOpenZFSConfiguration_deploymentType' - Specifies the file system deployment type. Single AZ deployment types+-- are configured for redundancy within a single Availability Zone in an+-- Amazon Web Services Region . Valid values are the following:+--+-- - @SINGLE_AZ_1@- (Default) Creates file systems with throughput+-- capacities of 64 - 4,096 MB\/s. @Single_AZ_1@ is available in all+-- Amazon Web Services Regions where Amazon FSx for OpenZFS is+-- available, except US West (Oregon).+--+-- - @SINGLE_AZ_2@- Creates file systems with throughput capacities of+-- 160 - 10,240 MB\/s using an NVMe L2ARC cache. @Single_AZ_2@ is+-- available only in the US East (N. Virginia), US East (Ohio), US West+-- (Oregon), and Europe (Ireland) Amazon Web Services Regions.+--+-- For more information, see:+-- <https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/availability-durability.html#available-aws-regions Deployment type availability>+-- and+-- <https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/performance.html#zfs-fs-performance File system performance>+-- in the /Amazon FSx for OpenZFS User Guide/.+--+-- 'throughputCapacity', 'createFileSystemOpenZFSConfiguration_throughputCapacity' - Specifies the throughput of an Amazon FSx for OpenZFS file system,+-- measured in megabytes per second (MB\/s). Valid values depend on the+-- DeploymentType you choose, as follows:+--+-- - For @SINGLE_AZ_1@, valid values are 64, 128, 256, 512, 1024, 2048,+-- 3072, or 4096 MB\/s.+--+-- - For @SINGLE_AZ_2@, valid values are 160, 320, 640, 1280, 2560, 3840,+-- 5120, 7680, or 10240 MB\/s.+--+-- You pay for additional throughput capacity that you provision.+newCreateFileSystemOpenZFSConfiguration ::+ -- | 'deploymentType'+ OpenZFSDeploymentType ->+ -- | 'throughputCapacity'+ Prelude.Natural ->+ CreateFileSystemOpenZFSConfiguration+newCreateFileSystemOpenZFSConfiguration+ pDeploymentType_+ pThroughputCapacity_ =+ CreateFileSystemOpenZFSConfiguration'+ { automaticBackupRetentionDays =+ Prelude.Nothing,+ copyTagsToBackups = Prelude.Nothing,+ copyTagsToVolumes = Prelude.Nothing,+ dailyAutomaticBackupStartTime =+ Prelude.Nothing,+ diskIopsConfiguration =+ Prelude.Nothing,+ rootVolumeConfiguration =+ Prelude.Nothing,+ weeklyMaintenanceStartTime =+ Prelude.Nothing,+ deploymentType = pDeploymentType_,+ throughputCapacity =+ pThroughputCapacity_+ }++-- | Undocumented member.+createFileSystemOpenZFSConfiguration_automaticBackupRetentionDays :: Lens.Lens' CreateFileSystemOpenZFSConfiguration (Prelude.Maybe Prelude.Natural)+createFileSystemOpenZFSConfiguration_automaticBackupRetentionDays = Lens.lens (\CreateFileSystemOpenZFSConfiguration' {automaticBackupRetentionDays} -> automaticBackupRetentionDays) (\s@CreateFileSystemOpenZFSConfiguration' {} a -> s {automaticBackupRetentionDays = a} :: CreateFileSystemOpenZFSConfiguration)++-- | A Boolean value indicating whether tags for the file system should be+-- copied to backups. This value defaults to @false@. If it\'s set to+-- @true@, all tags for the file system are copied to all automatic and+-- user-initiated backups where the user doesn\'t specify tags. If this+-- value is @true@, and you specify one or more tags, only the specified+-- tags are copied to backups. If you specify one or more tags when+-- creating a user-initiated backup, no tags are copied from the file+-- system, regardless of this value.+createFileSystemOpenZFSConfiguration_copyTagsToBackups :: Lens.Lens' CreateFileSystemOpenZFSConfiguration (Prelude.Maybe Prelude.Bool)+createFileSystemOpenZFSConfiguration_copyTagsToBackups = Lens.lens (\CreateFileSystemOpenZFSConfiguration' {copyTagsToBackups} -> copyTagsToBackups) (\s@CreateFileSystemOpenZFSConfiguration' {} a -> s {copyTagsToBackups = a} :: CreateFileSystemOpenZFSConfiguration)++-- | A Boolean value indicating whether tags for the file system should be+-- copied to volumes. This value defaults to @false@. If it\'s set to+-- @true@, all tags for the file system are copied to volumes where the+-- user doesn\'t specify tags. If this value is @true@, and you specify one+-- or more tags, only the specified tags are copied to volumes. If you+-- specify one or more tags when creating the volume, no tags are copied+-- from the file system, regardless of this value.+createFileSystemOpenZFSConfiguration_copyTagsToVolumes :: Lens.Lens' CreateFileSystemOpenZFSConfiguration (Prelude.Maybe Prelude.Bool)+createFileSystemOpenZFSConfiguration_copyTagsToVolumes = Lens.lens (\CreateFileSystemOpenZFSConfiguration' {copyTagsToVolumes} -> copyTagsToVolumes) (\s@CreateFileSystemOpenZFSConfiguration' {} a -> s {copyTagsToVolumes = a} :: CreateFileSystemOpenZFSConfiguration)++-- | Undocumented member.+createFileSystemOpenZFSConfiguration_dailyAutomaticBackupStartTime :: Lens.Lens' CreateFileSystemOpenZFSConfiguration (Prelude.Maybe Prelude.Text)+createFileSystemOpenZFSConfiguration_dailyAutomaticBackupStartTime = Lens.lens (\CreateFileSystemOpenZFSConfiguration' {dailyAutomaticBackupStartTime} -> dailyAutomaticBackupStartTime) (\s@CreateFileSystemOpenZFSConfiguration' {} a -> s {dailyAutomaticBackupStartTime = a} :: CreateFileSystemOpenZFSConfiguration)++-- | Undocumented member.+createFileSystemOpenZFSConfiguration_diskIopsConfiguration :: Lens.Lens' CreateFileSystemOpenZFSConfiguration (Prelude.Maybe DiskIopsConfiguration)+createFileSystemOpenZFSConfiguration_diskIopsConfiguration = Lens.lens (\CreateFileSystemOpenZFSConfiguration' {diskIopsConfiguration} -> diskIopsConfiguration) (\s@CreateFileSystemOpenZFSConfiguration' {} a -> s {diskIopsConfiguration = a} :: CreateFileSystemOpenZFSConfiguration)++-- | The configuration Amazon FSx uses when creating the root value of the+-- Amazon FSx for OpenZFS file system. All volumes are children of the root+-- volume.+createFileSystemOpenZFSConfiguration_rootVolumeConfiguration :: Lens.Lens' CreateFileSystemOpenZFSConfiguration (Prelude.Maybe OpenZFSCreateRootVolumeConfiguration)+createFileSystemOpenZFSConfiguration_rootVolumeConfiguration = Lens.lens (\CreateFileSystemOpenZFSConfiguration' {rootVolumeConfiguration} -> rootVolumeConfiguration) (\s@CreateFileSystemOpenZFSConfiguration' {} a -> s {rootVolumeConfiguration = a} :: CreateFileSystemOpenZFSConfiguration)++-- | Undocumented member.+createFileSystemOpenZFSConfiguration_weeklyMaintenanceStartTime :: Lens.Lens' CreateFileSystemOpenZFSConfiguration (Prelude.Maybe Prelude.Text)+createFileSystemOpenZFSConfiguration_weeklyMaintenanceStartTime = Lens.lens (\CreateFileSystemOpenZFSConfiguration' {weeklyMaintenanceStartTime} -> weeklyMaintenanceStartTime) (\s@CreateFileSystemOpenZFSConfiguration' {} a -> s {weeklyMaintenanceStartTime = a} :: CreateFileSystemOpenZFSConfiguration)++-- | Specifies the file system deployment type. Single AZ deployment types+-- are configured for redundancy within a single Availability Zone in an+-- Amazon Web Services Region . Valid values are the following:+--+-- - @SINGLE_AZ_1@- (Default) Creates file systems with throughput+-- capacities of 64 - 4,096 MB\/s. @Single_AZ_1@ is available in all+-- Amazon Web Services Regions where Amazon FSx for OpenZFS is+-- available, except US West (Oregon).+--+-- - @SINGLE_AZ_2@- Creates file systems with throughput capacities of+-- 160 - 10,240 MB\/s using an NVMe L2ARC cache. @Single_AZ_2@ is+-- available only in the US East (N. Virginia), US East (Ohio), US West+-- (Oregon), and Europe (Ireland) Amazon Web Services Regions.+--+-- For more information, see:+-- <https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/availability-durability.html#available-aws-regions Deployment type availability>+-- and+-- <https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/performance.html#zfs-fs-performance File system performance>+-- in the /Amazon FSx for OpenZFS User Guide/.+createFileSystemOpenZFSConfiguration_deploymentType :: Lens.Lens' CreateFileSystemOpenZFSConfiguration OpenZFSDeploymentType+createFileSystemOpenZFSConfiguration_deploymentType = Lens.lens (\CreateFileSystemOpenZFSConfiguration' {deploymentType} -> deploymentType) (\s@CreateFileSystemOpenZFSConfiguration' {} a -> s {deploymentType = a} :: CreateFileSystemOpenZFSConfiguration)++-- | Specifies the throughput of an Amazon FSx for OpenZFS file system,+-- measured in megabytes per second (MB\/s). Valid values depend on the+-- DeploymentType you choose, as follows:+--+-- - For @SINGLE_AZ_1@, valid values are 64, 128, 256, 512, 1024, 2048,+-- 3072, or 4096 MB\/s.+--+-- - For @SINGLE_AZ_2@, valid values are 160, 320, 640, 1280, 2560, 3840,+-- 5120, 7680, or 10240 MB\/s.+--+-- You pay for additional throughput capacity that you provision.+createFileSystemOpenZFSConfiguration_throughputCapacity :: Lens.Lens' CreateFileSystemOpenZFSConfiguration Prelude.Natural+createFileSystemOpenZFSConfiguration_throughputCapacity = Lens.lens (\CreateFileSystemOpenZFSConfiguration' {throughputCapacity} -> throughputCapacity) (\s@CreateFileSystemOpenZFSConfiguration' {} a -> s {throughputCapacity = a} :: CreateFileSystemOpenZFSConfiguration)++instance+ Prelude.Hashable+ CreateFileSystemOpenZFSConfiguration+ where+ hashWithSalt+ _salt+ CreateFileSystemOpenZFSConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` automaticBackupRetentionDays+ `Prelude.hashWithSalt` copyTagsToBackups+ `Prelude.hashWithSalt` copyTagsToVolumes+ `Prelude.hashWithSalt` dailyAutomaticBackupStartTime+ `Prelude.hashWithSalt` diskIopsConfiguration+ `Prelude.hashWithSalt` rootVolumeConfiguration+ `Prelude.hashWithSalt` weeklyMaintenanceStartTime+ `Prelude.hashWithSalt` deploymentType+ `Prelude.hashWithSalt` throughputCapacity++instance+ Prelude.NFData+ CreateFileSystemOpenZFSConfiguration+ where+ rnf CreateFileSystemOpenZFSConfiguration' {..} =+ Prelude.rnf automaticBackupRetentionDays+ `Prelude.seq` Prelude.rnf copyTagsToBackups+ `Prelude.seq` Prelude.rnf copyTagsToVolumes+ `Prelude.seq` Prelude.rnf dailyAutomaticBackupStartTime+ `Prelude.seq` Prelude.rnf diskIopsConfiguration+ `Prelude.seq` Prelude.rnf rootVolumeConfiguration+ `Prelude.seq` Prelude.rnf weeklyMaintenanceStartTime+ `Prelude.seq` Prelude.rnf deploymentType+ `Prelude.seq` Prelude.rnf throughputCapacity++instance+ Data.ToJSON+ CreateFileSystemOpenZFSConfiguration+ where+ toJSON CreateFileSystemOpenZFSConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("AutomaticBackupRetentionDays" Data..=)+ Prelude.<$> automaticBackupRetentionDays,+ ("CopyTagsToBackups" Data..=)+ Prelude.<$> copyTagsToBackups,+ ("CopyTagsToVolumes" Data..=)+ Prelude.<$> copyTagsToVolumes,+ ("DailyAutomaticBackupStartTime" Data..=)+ Prelude.<$> dailyAutomaticBackupStartTime,+ ("DiskIopsConfiguration" Data..=)+ Prelude.<$> diskIopsConfiguration,+ ("RootVolumeConfiguration" Data..=)+ Prelude.<$> rootVolumeConfiguration,+ ("WeeklyMaintenanceStartTime" Data..=)+ Prelude.<$> weeklyMaintenanceStartTime,+ Prelude.Just+ ("DeploymentType" Data..= deploymentType),+ Prelude.Just+ ("ThroughputCapacity" Data..= throughputCapacity)+ ]+ )
+ gen/Amazonka/FSx/Types/CreateFileSystemWindowsConfiguration.hs view
@@ -0,0 +1,438 @@+{-# 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.FSx.Types.CreateFileSystemWindowsConfiguration+-- 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.FSx.Types.CreateFileSystemWindowsConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types.SelfManagedActiveDirectoryConfiguration+import Amazonka.FSx.Types.WindowsAuditLogCreateConfiguration+import Amazonka.FSx.Types.WindowsDeploymentType+import qualified Amazonka.Prelude as Prelude++-- | The configuration object for the Microsoft Windows file system used in+-- @CreateFileSystem@ and @CreateFileSystemFromBackup@ operations.+--+-- /See:/ 'newCreateFileSystemWindowsConfiguration' smart constructor.+data CreateFileSystemWindowsConfiguration = CreateFileSystemWindowsConfiguration'+ { -- | The ID for an existing Amazon Web Services Managed Microsoft Active+ -- Directory (AD) instance that the file system should join when it\'s+ -- created.+ activeDirectoryId :: Prelude.Maybe Prelude.Text,+ -- | An array of one or more DNS alias names that you want to associate with+ -- the Amazon FSx file system. Aliases allow you to use existing DNS names+ -- to access the data in your Amazon FSx file system. You can associate up+ -- to 50 aliases with a file system at any time. You can associate+ -- additional DNS aliases after you create the file system using the+ -- AssociateFileSystemAliases operation. You can remove DNS aliases from+ -- the file system after it is created using the+ -- DisassociateFileSystemAliases operation. You only need to specify the+ -- alias name in the request payload.+ --+ -- For more information, see+ -- <https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-dns-aliases.html Working with DNS Aliases>+ -- and+ -- <https://docs.aws.amazon.com/fsx/latest/WindowsGuide/walkthrough05-file-system-custom-CNAME.html Walkthrough 5: Using DNS aliases to access your file system>,+ -- including additional steps you must take to be able to access your file+ -- system using a DNS alias.+ --+ -- An alias name has to meet the following requirements:+ --+ -- - Formatted as a fully-qualified domain name (FQDN),+ -- @hostname.domain@, for example, @accounting.example.com@.+ --+ -- - Can contain alphanumeric characters, the underscore (_), and the+ -- hyphen (-).+ --+ -- - Cannot start or end with a hyphen.+ --+ -- - Can start with a numeric.+ --+ -- For DNS alias names, Amazon FSx stores alphabetic characters as+ -- lowercase letters (a-z), regardless of how you specify them: as+ -- uppercase letters, lowercase letters, or the corresponding letters in+ -- escape codes.+ aliases :: Prelude.Maybe [Prelude.Text],+ -- | The configuration that Amazon FSx for Windows File Server uses to audit+ -- and log user accesses of files, folders, and file shares on the Amazon+ -- FSx for Windows File Server file system.+ auditLogConfiguration :: Prelude.Maybe WindowsAuditLogCreateConfiguration,+ -- | The number of days to retain automatic backups. The default is to retain+ -- backups for 7 days. Setting this value to 0 disables the creation of+ -- automatic backups. The maximum retention period for backups is 90 days.+ automaticBackupRetentionDays :: Prelude.Maybe Prelude.Natural,+ -- | A boolean flag indicating whether tags for the file system should be+ -- copied to backups. This value defaults to false. If it\'s set to true,+ -- all tags for the file system are copied to all automatic and+ -- user-initiated backups where the user doesn\'t specify tags. If this+ -- value is true, and you specify one or more tags, only the specified tags+ -- are copied to backups. If you specify one or more tags when creating a+ -- user-initiated backup, no tags are copied from the file system,+ -- regardless of this value.+ copyTagsToBackups :: Prelude.Maybe Prelude.Bool,+ -- | The preferred time to take daily automatic backups, formatted HH:MM in+ -- the UTC time zone.+ dailyAutomaticBackupStartTime :: Prelude.Maybe Prelude.Text,+ -- | Specifies the file system deployment type, valid values are the+ -- following:+ --+ -- - @MULTI_AZ_1@ - Deploys a high availability file system that is+ -- configured for Multi-AZ redundancy to tolerate temporary+ -- Availability Zone (AZ) unavailability. You can only deploy a+ -- Multi-AZ file system in Amazon Web Services Regions that have a+ -- minimum of three Availability Zones. Also supports HDD storage type+ --+ -- - @SINGLE_AZ_1@ - (Default) Choose to deploy a file system that is+ -- configured for single AZ redundancy.+ --+ -- - @SINGLE_AZ_2@ - The latest generation Single AZ file system.+ -- Specifies a file system that is configured for single AZ redundancy+ -- and supports HDD storage type.+ --+ -- For more information, see+ -- <https://docs.aws.amazon.com/fsx/latest/WindowsGuide/high-availability-multiAZ.html Availability and Durability: Single-AZ and Multi-AZ File Systems>.+ deploymentType :: Prelude.Maybe WindowsDeploymentType,+ -- | Required when @DeploymentType@ is set to @MULTI_AZ_1@. This specifies+ -- the subnet in which you want the preferred file server to be located.+ -- For in-Amazon Web Services applications, we recommend that you launch+ -- your clients in the same Availability Zone (AZ) as your preferred file+ -- server to reduce cross-AZ data transfer costs and minimize latency.+ preferredSubnetId :: Prelude.Maybe Prelude.Text,+ selfManagedActiveDirectoryConfiguration :: Prelude.Maybe SelfManagedActiveDirectoryConfiguration,+ -- | The preferred start time to perform weekly maintenance, formatted+ -- d:HH:MM in the UTC time zone, where d is the weekday number, from 1+ -- through 7, beginning with Monday and ending with Sunday.+ weeklyMaintenanceStartTime :: Prelude.Maybe Prelude.Text,+ -- | Sets the throughput capacity of an Amazon FSx file system, measured in+ -- megabytes per second (MB\/s), in 2 to the /n/th increments, between 2^3+ -- (8) and 2^11 (2048).+ throughputCapacity :: Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateFileSystemWindowsConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'activeDirectoryId', 'createFileSystemWindowsConfiguration_activeDirectoryId' - The ID for an existing Amazon Web Services Managed Microsoft Active+-- Directory (AD) instance that the file system should join when it\'s+-- created.+--+-- 'aliases', 'createFileSystemWindowsConfiguration_aliases' - An array of one or more DNS alias names that you want to associate with+-- the Amazon FSx file system. Aliases allow you to use existing DNS names+-- to access the data in your Amazon FSx file system. You can associate up+-- to 50 aliases with a file system at any time. You can associate+-- additional DNS aliases after you create the file system using the+-- AssociateFileSystemAliases operation. You can remove DNS aliases from+-- the file system after it is created using the+-- DisassociateFileSystemAliases operation. You only need to specify the+-- alias name in the request payload.+--+-- For more information, see+-- <https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-dns-aliases.html Working with DNS Aliases>+-- and+-- <https://docs.aws.amazon.com/fsx/latest/WindowsGuide/walkthrough05-file-system-custom-CNAME.html Walkthrough 5: Using DNS aliases to access your file system>,+-- including additional steps you must take to be able to access your file+-- system using a DNS alias.+--+-- An alias name has to meet the following requirements:+--+-- - Formatted as a fully-qualified domain name (FQDN),+-- @hostname.domain@, for example, @accounting.example.com@.+--+-- - Can contain alphanumeric characters, the underscore (_), and the+-- hyphen (-).+--+-- - Cannot start or end with a hyphen.+--+-- - Can start with a numeric.+--+-- For DNS alias names, Amazon FSx stores alphabetic characters as+-- lowercase letters (a-z), regardless of how you specify them: as+-- uppercase letters, lowercase letters, or the corresponding letters in+-- escape codes.+--+-- 'auditLogConfiguration', 'createFileSystemWindowsConfiguration_auditLogConfiguration' - The configuration that Amazon FSx for Windows File Server uses to audit+-- and log user accesses of files, folders, and file shares on the Amazon+-- FSx for Windows File Server file system.+--+-- 'automaticBackupRetentionDays', 'createFileSystemWindowsConfiguration_automaticBackupRetentionDays' - The number of days to retain automatic backups. The default is to retain+-- backups for 7 days. Setting this value to 0 disables the creation of+-- automatic backups. The maximum retention period for backups is 90 days.+--+-- 'copyTagsToBackups', 'createFileSystemWindowsConfiguration_copyTagsToBackups' - A boolean flag indicating whether tags for the file system should be+-- copied to backups. This value defaults to false. If it\'s set to true,+-- all tags for the file system are copied to all automatic and+-- user-initiated backups where the user doesn\'t specify tags. If this+-- value is true, and you specify one or more tags, only the specified tags+-- are copied to backups. If you specify one or more tags when creating a+-- user-initiated backup, no tags are copied from the file system,+-- regardless of this value.+--+-- 'dailyAutomaticBackupStartTime', 'createFileSystemWindowsConfiguration_dailyAutomaticBackupStartTime' - The preferred time to take daily automatic backups, formatted HH:MM in+-- the UTC time zone.+--+-- 'deploymentType', 'createFileSystemWindowsConfiguration_deploymentType' - Specifies the file system deployment type, valid values are the+-- following:+--+-- - @MULTI_AZ_1@ - Deploys a high availability file system that is+-- configured for Multi-AZ redundancy to tolerate temporary+-- Availability Zone (AZ) unavailability. You can only deploy a+-- Multi-AZ file system in Amazon Web Services Regions that have a+-- minimum of three Availability Zones. Also supports HDD storage type+--+-- - @SINGLE_AZ_1@ - (Default) Choose to deploy a file system that is+-- configured for single AZ redundancy.+--+-- - @SINGLE_AZ_2@ - The latest generation Single AZ file system.+-- Specifies a file system that is configured for single AZ redundancy+-- and supports HDD storage type.+--+-- For more information, see+-- <https://docs.aws.amazon.com/fsx/latest/WindowsGuide/high-availability-multiAZ.html Availability and Durability: Single-AZ and Multi-AZ File Systems>.+--+-- 'preferredSubnetId', 'createFileSystemWindowsConfiguration_preferredSubnetId' - Required when @DeploymentType@ is set to @MULTI_AZ_1@. This specifies+-- the subnet in which you want the preferred file server to be located.+-- For in-Amazon Web Services applications, we recommend that you launch+-- your clients in the same Availability Zone (AZ) as your preferred file+-- server to reduce cross-AZ data transfer costs and minimize latency.+--+-- 'selfManagedActiveDirectoryConfiguration', 'createFileSystemWindowsConfiguration_selfManagedActiveDirectoryConfiguration' - Undocumented member.+--+-- 'weeklyMaintenanceStartTime', 'createFileSystemWindowsConfiguration_weeklyMaintenanceStartTime' - The preferred start time to perform weekly maintenance, formatted+-- d:HH:MM in the UTC time zone, where d is the weekday number, from 1+-- through 7, beginning with Monday and ending with Sunday.+--+-- 'throughputCapacity', 'createFileSystemWindowsConfiguration_throughputCapacity' - Sets the throughput capacity of an Amazon FSx file system, measured in+-- megabytes per second (MB\/s), in 2 to the /n/th increments, between 2^3+-- (8) and 2^11 (2048).+newCreateFileSystemWindowsConfiguration ::+ -- | 'throughputCapacity'+ Prelude.Natural ->+ CreateFileSystemWindowsConfiguration+newCreateFileSystemWindowsConfiguration+ pThroughputCapacity_ =+ CreateFileSystemWindowsConfiguration'+ { activeDirectoryId =+ Prelude.Nothing,+ aliases = Prelude.Nothing,+ auditLogConfiguration =+ Prelude.Nothing,+ automaticBackupRetentionDays =+ Prelude.Nothing,+ copyTagsToBackups = Prelude.Nothing,+ dailyAutomaticBackupStartTime =+ Prelude.Nothing,+ deploymentType = Prelude.Nothing,+ preferredSubnetId = Prelude.Nothing,+ selfManagedActiveDirectoryConfiguration =+ Prelude.Nothing,+ weeklyMaintenanceStartTime =+ Prelude.Nothing,+ throughputCapacity =+ pThroughputCapacity_+ }++-- | The ID for an existing Amazon Web Services Managed Microsoft Active+-- Directory (AD) instance that the file system should join when it\'s+-- created.+createFileSystemWindowsConfiguration_activeDirectoryId :: Lens.Lens' CreateFileSystemWindowsConfiguration (Prelude.Maybe Prelude.Text)+createFileSystemWindowsConfiguration_activeDirectoryId = Lens.lens (\CreateFileSystemWindowsConfiguration' {activeDirectoryId} -> activeDirectoryId) (\s@CreateFileSystemWindowsConfiguration' {} a -> s {activeDirectoryId = a} :: CreateFileSystemWindowsConfiguration)++-- | An array of one or more DNS alias names that you want to associate with+-- the Amazon FSx file system. Aliases allow you to use existing DNS names+-- to access the data in your Amazon FSx file system. You can associate up+-- to 50 aliases with a file system at any time. You can associate+-- additional DNS aliases after you create the file system using the+-- AssociateFileSystemAliases operation. You can remove DNS aliases from+-- the file system after it is created using the+-- DisassociateFileSystemAliases operation. You only need to specify the+-- alias name in the request payload.+--+-- For more information, see+-- <https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-dns-aliases.html Working with DNS Aliases>+-- and+-- <https://docs.aws.amazon.com/fsx/latest/WindowsGuide/walkthrough05-file-system-custom-CNAME.html Walkthrough 5: Using DNS aliases to access your file system>,+-- including additional steps you must take to be able to access your file+-- system using a DNS alias.+--+-- An alias name has to meet the following requirements:+--+-- - Formatted as a fully-qualified domain name (FQDN),+-- @hostname.domain@, for example, @accounting.example.com@.+--+-- - Can contain alphanumeric characters, the underscore (_), and the+-- hyphen (-).+--+-- - Cannot start or end with a hyphen.+--+-- - Can start with a numeric.+--+-- For DNS alias names, Amazon FSx stores alphabetic characters as+-- lowercase letters (a-z), regardless of how you specify them: as+-- uppercase letters, lowercase letters, or the corresponding letters in+-- escape codes.+createFileSystemWindowsConfiguration_aliases :: Lens.Lens' CreateFileSystemWindowsConfiguration (Prelude.Maybe [Prelude.Text])+createFileSystemWindowsConfiguration_aliases = Lens.lens (\CreateFileSystemWindowsConfiguration' {aliases} -> aliases) (\s@CreateFileSystemWindowsConfiguration' {} a -> s {aliases = a} :: CreateFileSystemWindowsConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | The configuration that Amazon FSx for Windows File Server uses to audit+-- and log user accesses of files, folders, and file shares on the Amazon+-- FSx for Windows File Server file system.+createFileSystemWindowsConfiguration_auditLogConfiguration :: Lens.Lens' CreateFileSystemWindowsConfiguration (Prelude.Maybe WindowsAuditLogCreateConfiguration)+createFileSystemWindowsConfiguration_auditLogConfiguration = Lens.lens (\CreateFileSystemWindowsConfiguration' {auditLogConfiguration} -> auditLogConfiguration) (\s@CreateFileSystemWindowsConfiguration' {} a -> s {auditLogConfiguration = a} :: CreateFileSystemWindowsConfiguration)++-- | The number of days to retain automatic backups. The default is to retain+-- backups for 7 days. Setting this value to 0 disables the creation of+-- automatic backups. The maximum retention period for backups is 90 days.+createFileSystemWindowsConfiguration_automaticBackupRetentionDays :: Lens.Lens' CreateFileSystemWindowsConfiguration (Prelude.Maybe Prelude.Natural)+createFileSystemWindowsConfiguration_automaticBackupRetentionDays = Lens.lens (\CreateFileSystemWindowsConfiguration' {automaticBackupRetentionDays} -> automaticBackupRetentionDays) (\s@CreateFileSystemWindowsConfiguration' {} a -> s {automaticBackupRetentionDays = a} :: CreateFileSystemWindowsConfiguration)++-- | A boolean flag indicating whether tags for the file system should be+-- copied to backups. This value defaults to false. If it\'s set to true,+-- all tags for the file system are copied to all automatic and+-- user-initiated backups where the user doesn\'t specify tags. If this+-- value is true, and you specify one or more tags, only the specified tags+-- are copied to backups. If you specify one or more tags when creating a+-- user-initiated backup, no tags are copied from the file system,+-- regardless of this value.+createFileSystemWindowsConfiguration_copyTagsToBackups :: Lens.Lens' CreateFileSystemWindowsConfiguration (Prelude.Maybe Prelude.Bool)+createFileSystemWindowsConfiguration_copyTagsToBackups = Lens.lens (\CreateFileSystemWindowsConfiguration' {copyTagsToBackups} -> copyTagsToBackups) (\s@CreateFileSystemWindowsConfiguration' {} a -> s {copyTagsToBackups = a} :: CreateFileSystemWindowsConfiguration)++-- | The preferred time to take daily automatic backups, formatted HH:MM in+-- the UTC time zone.+createFileSystemWindowsConfiguration_dailyAutomaticBackupStartTime :: Lens.Lens' CreateFileSystemWindowsConfiguration (Prelude.Maybe Prelude.Text)+createFileSystemWindowsConfiguration_dailyAutomaticBackupStartTime = Lens.lens (\CreateFileSystemWindowsConfiguration' {dailyAutomaticBackupStartTime} -> dailyAutomaticBackupStartTime) (\s@CreateFileSystemWindowsConfiguration' {} a -> s {dailyAutomaticBackupStartTime = a} :: CreateFileSystemWindowsConfiguration)++-- | Specifies the file system deployment type, valid values are the+-- following:+--+-- - @MULTI_AZ_1@ - Deploys a high availability file system that is+-- configured for Multi-AZ redundancy to tolerate temporary+-- Availability Zone (AZ) unavailability. You can only deploy a+-- Multi-AZ file system in Amazon Web Services Regions that have a+-- minimum of three Availability Zones. Also supports HDD storage type+--+-- - @SINGLE_AZ_1@ - (Default) Choose to deploy a file system that is+-- configured for single AZ redundancy.+--+-- - @SINGLE_AZ_2@ - The latest generation Single AZ file system.+-- Specifies a file system that is configured for single AZ redundancy+-- and supports HDD storage type.+--+-- For more information, see+-- <https://docs.aws.amazon.com/fsx/latest/WindowsGuide/high-availability-multiAZ.html Availability and Durability: Single-AZ and Multi-AZ File Systems>.+createFileSystemWindowsConfiguration_deploymentType :: Lens.Lens' CreateFileSystemWindowsConfiguration (Prelude.Maybe WindowsDeploymentType)+createFileSystemWindowsConfiguration_deploymentType = Lens.lens (\CreateFileSystemWindowsConfiguration' {deploymentType} -> deploymentType) (\s@CreateFileSystemWindowsConfiguration' {} a -> s {deploymentType = a} :: CreateFileSystemWindowsConfiguration)++-- | Required when @DeploymentType@ is set to @MULTI_AZ_1@. This specifies+-- the subnet in which you want the preferred file server to be located.+-- For in-Amazon Web Services applications, we recommend that you launch+-- your clients in the same Availability Zone (AZ) as your preferred file+-- server to reduce cross-AZ data transfer costs and minimize latency.+createFileSystemWindowsConfiguration_preferredSubnetId :: Lens.Lens' CreateFileSystemWindowsConfiguration (Prelude.Maybe Prelude.Text)+createFileSystemWindowsConfiguration_preferredSubnetId = Lens.lens (\CreateFileSystemWindowsConfiguration' {preferredSubnetId} -> preferredSubnetId) (\s@CreateFileSystemWindowsConfiguration' {} a -> s {preferredSubnetId = a} :: CreateFileSystemWindowsConfiguration)++-- | Undocumented member.+createFileSystemWindowsConfiguration_selfManagedActiveDirectoryConfiguration :: Lens.Lens' CreateFileSystemWindowsConfiguration (Prelude.Maybe SelfManagedActiveDirectoryConfiguration)+createFileSystemWindowsConfiguration_selfManagedActiveDirectoryConfiguration = Lens.lens (\CreateFileSystemWindowsConfiguration' {selfManagedActiveDirectoryConfiguration} -> selfManagedActiveDirectoryConfiguration) (\s@CreateFileSystemWindowsConfiguration' {} a -> s {selfManagedActiveDirectoryConfiguration = a} :: CreateFileSystemWindowsConfiguration)++-- | The preferred start time to perform weekly maintenance, formatted+-- d:HH:MM in the UTC time zone, where d is the weekday number, from 1+-- through 7, beginning with Monday and ending with Sunday.+createFileSystemWindowsConfiguration_weeklyMaintenanceStartTime :: Lens.Lens' CreateFileSystemWindowsConfiguration (Prelude.Maybe Prelude.Text)+createFileSystemWindowsConfiguration_weeklyMaintenanceStartTime = Lens.lens (\CreateFileSystemWindowsConfiguration' {weeklyMaintenanceStartTime} -> weeklyMaintenanceStartTime) (\s@CreateFileSystemWindowsConfiguration' {} a -> s {weeklyMaintenanceStartTime = a} :: CreateFileSystemWindowsConfiguration)++-- | Sets the throughput capacity of an Amazon FSx file system, measured in+-- megabytes per second (MB\/s), in 2 to the /n/th increments, between 2^3+-- (8) and 2^11 (2048).+createFileSystemWindowsConfiguration_throughputCapacity :: Lens.Lens' CreateFileSystemWindowsConfiguration Prelude.Natural+createFileSystemWindowsConfiguration_throughputCapacity = Lens.lens (\CreateFileSystemWindowsConfiguration' {throughputCapacity} -> throughputCapacity) (\s@CreateFileSystemWindowsConfiguration' {} a -> s {throughputCapacity = a} :: CreateFileSystemWindowsConfiguration)++instance+ Prelude.Hashable+ CreateFileSystemWindowsConfiguration+ where+ hashWithSalt+ _salt+ CreateFileSystemWindowsConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` activeDirectoryId+ `Prelude.hashWithSalt` aliases+ `Prelude.hashWithSalt` auditLogConfiguration+ `Prelude.hashWithSalt` automaticBackupRetentionDays+ `Prelude.hashWithSalt` copyTagsToBackups+ `Prelude.hashWithSalt` dailyAutomaticBackupStartTime+ `Prelude.hashWithSalt` deploymentType+ `Prelude.hashWithSalt` preferredSubnetId+ `Prelude.hashWithSalt` selfManagedActiveDirectoryConfiguration+ `Prelude.hashWithSalt` weeklyMaintenanceStartTime+ `Prelude.hashWithSalt` throughputCapacity++instance+ Prelude.NFData+ CreateFileSystemWindowsConfiguration+ where+ rnf CreateFileSystemWindowsConfiguration' {..} =+ Prelude.rnf activeDirectoryId+ `Prelude.seq` Prelude.rnf aliases+ `Prelude.seq` Prelude.rnf auditLogConfiguration+ `Prelude.seq` Prelude.rnf automaticBackupRetentionDays+ `Prelude.seq` Prelude.rnf copyTagsToBackups+ `Prelude.seq` Prelude.rnf dailyAutomaticBackupStartTime+ `Prelude.seq` Prelude.rnf deploymentType+ `Prelude.seq` Prelude.rnf preferredSubnetId+ `Prelude.seq` Prelude.rnf selfManagedActiveDirectoryConfiguration+ `Prelude.seq` Prelude.rnf weeklyMaintenanceStartTime+ `Prelude.seq` Prelude.rnf throughputCapacity++instance+ Data.ToJSON+ CreateFileSystemWindowsConfiguration+ where+ toJSON CreateFileSystemWindowsConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("ActiveDirectoryId" Data..=)+ Prelude.<$> activeDirectoryId,+ ("Aliases" Data..=) Prelude.<$> aliases,+ ("AuditLogConfiguration" Data..=)+ Prelude.<$> auditLogConfiguration,+ ("AutomaticBackupRetentionDays" Data..=)+ Prelude.<$> automaticBackupRetentionDays,+ ("CopyTagsToBackups" Data..=)+ Prelude.<$> copyTagsToBackups,+ ("DailyAutomaticBackupStartTime" Data..=)+ Prelude.<$> dailyAutomaticBackupStartTime,+ ("DeploymentType" Data..=)+ Prelude.<$> deploymentType,+ ("PreferredSubnetId" Data..=)+ Prelude.<$> preferredSubnetId,+ ("SelfManagedActiveDirectoryConfiguration" Data..=)+ Prelude.<$> selfManagedActiveDirectoryConfiguration,+ ("WeeklyMaintenanceStartTime" Data..=)+ Prelude.<$> weeklyMaintenanceStartTime,+ Prelude.Just+ ("ThroughputCapacity" Data..= throughputCapacity)+ ]+ )
+ gen/Amazonka/FSx/Types/CreateOntapVolumeConfiguration.hs view
@@ -0,0 +1,370 @@+{-# 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.FSx.Types.CreateOntapVolumeConfiguration+-- 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.FSx.Types.CreateOntapVolumeConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types.InputOntapVolumeType+import Amazonka.FSx.Types.SecurityStyle+import Amazonka.FSx.Types.TieringPolicy+import qualified Amazonka.Prelude as Prelude++-- | Specifies the configuration of the ONTAP volume that you are creating.+--+-- /See:/ 'newCreateOntapVolumeConfiguration' smart constructor.+data CreateOntapVolumeConfiguration = CreateOntapVolumeConfiguration'+ { -- | A boolean flag indicating whether tags for the volume should be copied+ -- to backups. This value defaults to false. If it\'s set to true, all tags+ -- for the volume are copied to all automatic and user-initiated backups+ -- where the user doesn\'t specify tags. If this value is true, and you+ -- specify one or more tags, only the specified tags are copied to backups.+ -- If you specify one or more tags when creating a user-initiated backup,+ -- no tags are copied from the volume, regardless of this value.+ copyTagsToBackups :: Prelude.Maybe Prelude.Bool,+ -- | Specifies the location in the SVM\'s namespace where the volume is+ -- mounted. The @JunctionPath@ must have a leading forward slash, such as+ -- @\/vol3@.+ junctionPath :: Prelude.Maybe Prelude.Text,+ -- | Specifies the type of volume you are creating. Valid values are the+ -- following:+ --+ -- - @RW@ specifies a read\/write volume. @RW@ is the default.+ --+ -- - @DP@ specifies a data-protection volume. A @DP@ volume is read-only+ -- and can be used as the destination of a NetApp SnapMirror+ -- relationship.+ --+ -- For more information, see+ -- <https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/volume-types Volume types>+ -- in the /Amazon FSx for NetApp ONTAP User Guide/.+ ontapVolumeType :: Prelude.Maybe InputOntapVolumeType,+ -- | Specifies the security style for the volume. If a volume\'s security+ -- style is not specified, it is automatically set to the root volume\'s+ -- security style. The security style determines the type of permissions+ -- that FSx for ONTAP uses to control data access. For more information,+ -- see+ -- <https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/managing-volumes.html#volume-security-style Volume security style>+ -- in the /Amazon FSx for NetApp ONTAP User Guide/. Specify one of the+ -- following values:+ --+ -- - @UNIX@ if the file system is managed by a UNIX administrator, the+ -- majority of users are NFS clients, and an application accessing the+ -- data uses a UNIX user as the service account.+ --+ -- - @NTFS@ if the file system is managed by a Windows administrator, the+ -- majority of users are SMB clients, and an application accessing the+ -- data uses a Windows user as the service account.+ --+ -- - @MIXED@ if the file system is managed by both UNIX and Windows+ -- administrators and users consist of both NFS and SMB clients.+ securityStyle :: Prelude.Maybe SecurityStyle,+ -- | Specifies the snapshot policy for the volume. There are three built-in+ -- snapshot policies:+ --+ -- - @default@: This is the default policy. A maximum of six hourly+ -- snapshots taken five minutes past the hour. A maximum of two daily+ -- snapshots taken Monday through Saturday at 10 minutes after+ -- midnight. A maximum of two weekly snapshots taken every Sunday at 15+ -- minutes after midnight.+ --+ -- - @default-1weekly@: This policy is the same as the @default@ policy+ -- except that it only retains one snapshot from the weekly schedule.+ --+ -- - @none@: This policy does not take any snapshots. This policy can be+ -- assigned to volumes to prevent automatic snapshots from being taken.+ --+ -- You can also provide the name of a custom policy that you created with+ -- the ONTAP CLI or REST API.+ --+ -- For more information, see+ -- <https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/snapshots-ontap.html#snapshot-policies Snapshot policies>+ -- in the /Amazon FSx for NetApp ONTAP User Guide/.+ snapshotPolicy :: Prelude.Maybe Prelude.Text,+ -- | Set to true to enable deduplication, compression, and compaction storage+ -- efficiency features on the volume.+ storageEfficiencyEnabled :: Prelude.Maybe Prelude.Bool,+ tieringPolicy :: Prelude.Maybe TieringPolicy,+ -- | Specifies the size of the volume, in megabytes (MB), that you are+ -- creating.+ sizeInMegabytes :: Prelude.Natural,+ -- | Specifies the ONTAP SVM in which to create the volume.+ storageVirtualMachineId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateOntapVolumeConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'copyTagsToBackups', 'createOntapVolumeConfiguration_copyTagsToBackups' - A boolean flag indicating whether tags for the volume should be copied+-- to backups. This value defaults to false. If it\'s set to true, all tags+-- for the volume are copied to all automatic and user-initiated backups+-- where the user doesn\'t specify tags. If this value is true, and you+-- specify one or more tags, only the specified tags are copied to backups.+-- If you specify one or more tags when creating a user-initiated backup,+-- no tags are copied from the volume, regardless of this value.+--+-- 'junctionPath', 'createOntapVolumeConfiguration_junctionPath' - Specifies the location in the SVM\'s namespace where the volume is+-- mounted. The @JunctionPath@ must have a leading forward slash, such as+-- @\/vol3@.+--+-- 'ontapVolumeType', 'createOntapVolumeConfiguration_ontapVolumeType' - Specifies the type of volume you are creating. Valid values are the+-- following:+--+-- - @RW@ specifies a read\/write volume. @RW@ is the default.+--+-- - @DP@ specifies a data-protection volume. A @DP@ volume is read-only+-- and can be used as the destination of a NetApp SnapMirror+-- relationship.+--+-- For more information, see+-- <https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/volume-types Volume types>+-- in the /Amazon FSx for NetApp ONTAP User Guide/.+--+-- 'securityStyle', 'createOntapVolumeConfiguration_securityStyle' - Specifies the security style for the volume. If a volume\'s security+-- style is not specified, it is automatically set to the root volume\'s+-- security style. The security style determines the type of permissions+-- that FSx for ONTAP uses to control data access. For more information,+-- see+-- <https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/managing-volumes.html#volume-security-style Volume security style>+-- in the /Amazon FSx for NetApp ONTAP User Guide/. Specify one of the+-- following values:+--+-- - @UNIX@ if the file system is managed by a UNIX administrator, the+-- majority of users are NFS clients, and an application accessing the+-- data uses a UNIX user as the service account.+--+-- - @NTFS@ if the file system is managed by a Windows administrator, the+-- majority of users are SMB clients, and an application accessing the+-- data uses a Windows user as the service account.+--+-- - @MIXED@ if the file system is managed by both UNIX and Windows+-- administrators and users consist of both NFS and SMB clients.+--+-- 'snapshotPolicy', 'createOntapVolumeConfiguration_snapshotPolicy' - Specifies the snapshot policy for the volume. There are three built-in+-- snapshot policies:+--+-- - @default@: This is the default policy. A maximum of six hourly+-- snapshots taken five minutes past the hour. A maximum of two daily+-- snapshots taken Monday through Saturday at 10 minutes after+-- midnight. A maximum of two weekly snapshots taken every Sunday at 15+-- minutes after midnight.+--+-- - @default-1weekly@: This policy is the same as the @default@ policy+-- except that it only retains one snapshot from the weekly schedule.+--+-- - @none@: This policy does not take any snapshots. This policy can be+-- assigned to volumes to prevent automatic snapshots from being taken.+--+-- You can also provide the name of a custom policy that you created with+-- the ONTAP CLI or REST API.+--+-- For more information, see+-- <https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/snapshots-ontap.html#snapshot-policies Snapshot policies>+-- in the /Amazon FSx for NetApp ONTAP User Guide/.+--+-- 'storageEfficiencyEnabled', 'createOntapVolumeConfiguration_storageEfficiencyEnabled' - Set to true to enable deduplication, compression, and compaction storage+-- efficiency features on the volume.+--+-- 'tieringPolicy', 'createOntapVolumeConfiguration_tieringPolicy' - Undocumented member.+--+-- 'sizeInMegabytes', 'createOntapVolumeConfiguration_sizeInMegabytes' - Specifies the size of the volume, in megabytes (MB), that you are+-- creating.+--+-- 'storageVirtualMachineId', 'createOntapVolumeConfiguration_storageVirtualMachineId' - Specifies the ONTAP SVM in which to create the volume.+newCreateOntapVolumeConfiguration ::+ -- | 'sizeInMegabytes'+ Prelude.Natural ->+ -- | 'storageVirtualMachineId'+ Prelude.Text ->+ CreateOntapVolumeConfiguration+newCreateOntapVolumeConfiguration+ pSizeInMegabytes_+ pStorageVirtualMachineId_ =+ CreateOntapVolumeConfiguration'+ { copyTagsToBackups =+ Prelude.Nothing,+ junctionPath = Prelude.Nothing,+ ontapVolumeType = Prelude.Nothing,+ securityStyle = Prelude.Nothing,+ snapshotPolicy = Prelude.Nothing,+ storageEfficiencyEnabled = Prelude.Nothing,+ tieringPolicy = Prelude.Nothing,+ sizeInMegabytes = pSizeInMegabytes_,+ storageVirtualMachineId =+ pStorageVirtualMachineId_+ }++-- | A boolean flag indicating whether tags for the volume should be copied+-- to backups. This value defaults to false. If it\'s set to true, all tags+-- for the volume are copied to all automatic and user-initiated backups+-- where the user doesn\'t specify tags. If this value is true, and you+-- specify one or more tags, only the specified tags are copied to backups.+-- If you specify one or more tags when creating a user-initiated backup,+-- no tags are copied from the volume, regardless of this value.+createOntapVolumeConfiguration_copyTagsToBackups :: Lens.Lens' CreateOntapVolumeConfiguration (Prelude.Maybe Prelude.Bool)+createOntapVolumeConfiguration_copyTagsToBackups = Lens.lens (\CreateOntapVolumeConfiguration' {copyTagsToBackups} -> copyTagsToBackups) (\s@CreateOntapVolumeConfiguration' {} a -> s {copyTagsToBackups = a} :: CreateOntapVolumeConfiguration)++-- | Specifies the location in the SVM\'s namespace where the volume is+-- mounted. The @JunctionPath@ must have a leading forward slash, such as+-- @\/vol3@.+createOntapVolumeConfiguration_junctionPath :: Lens.Lens' CreateOntapVolumeConfiguration (Prelude.Maybe Prelude.Text)+createOntapVolumeConfiguration_junctionPath = Lens.lens (\CreateOntapVolumeConfiguration' {junctionPath} -> junctionPath) (\s@CreateOntapVolumeConfiguration' {} a -> s {junctionPath = a} :: CreateOntapVolumeConfiguration)++-- | Specifies the type of volume you are creating. Valid values are the+-- following:+--+-- - @RW@ specifies a read\/write volume. @RW@ is the default.+--+-- - @DP@ specifies a data-protection volume. A @DP@ volume is read-only+-- and can be used as the destination of a NetApp SnapMirror+-- relationship.+--+-- For more information, see+-- <https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/volume-types Volume types>+-- in the /Amazon FSx for NetApp ONTAP User Guide/.+createOntapVolumeConfiguration_ontapVolumeType :: Lens.Lens' CreateOntapVolumeConfiguration (Prelude.Maybe InputOntapVolumeType)+createOntapVolumeConfiguration_ontapVolumeType = Lens.lens (\CreateOntapVolumeConfiguration' {ontapVolumeType} -> ontapVolumeType) (\s@CreateOntapVolumeConfiguration' {} a -> s {ontapVolumeType = a} :: CreateOntapVolumeConfiguration)++-- | Specifies the security style for the volume. If a volume\'s security+-- style is not specified, it is automatically set to the root volume\'s+-- security style. The security style determines the type of permissions+-- that FSx for ONTAP uses to control data access. For more information,+-- see+-- <https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/managing-volumes.html#volume-security-style Volume security style>+-- in the /Amazon FSx for NetApp ONTAP User Guide/. Specify one of the+-- following values:+--+-- - @UNIX@ if the file system is managed by a UNIX administrator, the+-- majority of users are NFS clients, and an application accessing the+-- data uses a UNIX user as the service account.+--+-- - @NTFS@ if the file system is managed by a Windows administrator, the+-- majority of users are SMB clients, and an application accessing the+-- data uses a Windows user as the service account.+--+-- - @MIXED@ if the file system is managed by both UNIX and Windows+-- administrators and users consist of both NFS and SMB clients.+createOntapVolumeConfiguration_securityStyle :: Lens.Lens' CreateOntapVolumeConfiguration (Prelude.Maybe SecurityStyle)+createOntapVolumeConfiguration_securityStyle = Lens.lens (\CreateOntapVolumeConfiguration' {securityStyle} -> securityStyle) (\s@CreateOntapVolumeConfiguration' {} a -> s {securityStyle = a} :: CreateOntapVolumeConfiguration)++-- | Specifies the snapshot policy for the volume. There are three built-in+-- snapshot policies:+--+-- - @default@: This is the default policy. A maximum of six hourly+-- snapshots taken five minutes past the hour. A maximum of two daily+-- snapshots taken Monday through Saturday at 10 minutes after+-- midnight. A maximum of two weekly snapshots taken every Sunday at 15+-- minutes after midnight.+--+-- - @default-1weekly@: This policy is the same as the @default@ policy+-- except that it only retains one snapshot from the weekly schedule.+--+-- - @none@: This policy does not take any snapshots. This policy can be+-- assigned to volumes to prevent automatic snapshots from being taken.+--+-- You can also provide the name of a custom policy that you created with+-- the ONTAP CLI or REST API.+--+-- For more information, see+-- <https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/snapshots-ontap.html#snapshot-policies Snapshot policies>+-- in the /Amazon FSx for NetApp ONTAP User Guide/.+createOntapVolumeConfiguration_snapshotPolicy :: Lens.Lens' CreateOntapVolumeConfiguration (Prelude.Maybe Prelude.Text)+createOntapVolumeConfiguration_snapshotPolicy = Lens.lens (\CreateOntapVolumeConfiguration' {snapshotPolicy} -> snapshotPolicy) (\s@CreateOntapVolumeConfiguration' {} a -> s {snapshotPolicy = a} :: CreateOntapVolumeConfiguration)++-- | Set to true to enable deduplication, compression, and compaction storage+-- efficiency features on the volume.+createOntapVolumeConfiguration_storageEfficiencyEnabled :: Lens.Lens' CreateOntapVolumeConfiguration (Prelude.Maybe Prelude.Bool)+createOntapVolumeConfiguration_storageEfficiencyEnabled = Lens.lens (\CreateOntapVolumeConfiguration' {storageEfficiencyEnabled} -> storageEfficiencyEnabled) (\s@CreateOntapVolumeConfiguration' {} a -> s {storageEfficiencyEnabled = a} :: CreateOntapVolumeConfiguration)++-- | Undocumented member.+createOntapVolumeConfiguration_tieringPolicy :: Lens.Lens' CreateOntapVolumeConfiguration (Prelude.Maybe TieringPolicy)+createOntapVolumeConfiguration_tieringPolicy = Lens.lens (\CreateOntapVolumeConfiguration' {tieringPolicy} -> tieringPolicy) (\s@CreateOntapVolumeConfiguration' {} a -> s {tieringPolicy = a} :: CreateOntapVolumeConfiguration)++-- | Specifies the size of the volume, in megabytes (MB), that you are+-- creating.+createOntapVolumeConfiguration_sizeInMegabytes :: Lens.Lens' CreateOntapVolumeConfiguration Prelude.Natural+createOntapVolumeConfiguration_sizeInMegabytes = Lens.lens (\CreateOntapVolumeConfiguration' {sizeInMegabytes} -> sizeInMegabytes) (\s@CreateOntapVolumeConfiguration' {} a -> s {sizeInMegabytes = a} :: CreateOntapVolumeConfiguration)++-- | Specifies the ONTAP SVM in which to create the volume.+createOntapVolumeConfiguration_storageVirtualMachineId :: Lens.Lens' CreateOntapVolumeConfiguration Prelude.Text+createOntapVolumeConfiguration_storageVirtualMachineId = Lens.lens (\CreateOntapVolumeConfiguration' {storageVirtualMachineId} -> storageVirtualMachineId) (\s@CreateOntapVolumeConfiguration' {} a -> s {storageVirtualMachineId = a} :: CreateOntapVolumeConfiguration)++instance+ Prelude.Hashable+ CreateOntapVolumeConfiguration+ where+ hashWithSalt+ _salt+ CreateOntapVolumeConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` copyTagsToBackups+ `Prelude.hashWithSalt` junctionPath+ `Prelude.hashWithSalt` ontapVolumeType+ `Prelude.hashWithSalt` securityStyle+ `Prelude.hashWithSalt` snapshotPolicy+ `Prelude.hashWithSalt` storageEfficiencyEnabled+ `Prelude.hashWithSalt` tieringPolicy+ `Prelude.hashWithSalt` sizeInMegabytes+ `Prelude.hashWithSalt` storageVirtualMachineId++instance+ Prelude.NFData+ CreateOntapVolumeConfiguration+ where+ rnf CreateOntapVolumeConfiguration' {..} =+ Prelude.rnf copyTagsToBackups+ `Prelude.seq` Prelude.rnf junctionPath+ `Prelude.seq` Prelude.rnf ontapVolumeType+ `Prelude.seq` Prelude.rnf securityStyle+ `Prelude.seq` Prelude.rnf snapshotPolicy+ `Prelude.seq` Prelude.rnf storageEfficiencyEnabled+ `Prelude.seq` Prelude.rnf tieringPolicy+ `Prelude.seq` Prelude.rnf sizeInMegabytes+ `Prelude.seq` Prelude.rnf storageVirtualMachineId++instance Data.ToJSON CreateOntapVolumeConfiguration where+ toJSON CreateOntapVolumeConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("CopyTagsToBackups" Data..=)+ Prelude.<$> copyTagsToBackups,+ ("JunctionPath" Data..=) Prelude.<$> junctionPath,+ ("OntapVolumeType" Data..=)+ Prelude.<$> ontapVolumeType,+ ("SecurityStyle" Data..=) Prelude.<$> securityStyle,+ ("SnapshotPolicy" Data..=)+ Prelude.<$> snapshotPolicy,+ ("StorageEfficiencyEnabled" Data..=)+ Prelude.<$> storageEfficiencyEnabled,+ ("TieringPolicy" Data..=) Prelude.<$> tieringPolicy,+ Prelude.Just+ ("SizeInMegabytes" Data..= sizeInMegabytes),+ Prelude.Just+ ( "StorageVirtualMachineId"+ Data..= storageVirtualMachineId+ )+ ]+ )
+ gen/Amazonka/FSx/Types/CreateOpenZFSOriginSnapshotConfiguration.hs view
@@ -0,0 +1,126 @@+{-# 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.FSx.Types.CreateOpenZFSOriginSnapshotConfiguration+-- 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.FSx.Types.CreateOpenZFSOriginSnapshotConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types.OpenZFSCopyStrategy+import qualified Amazonka.Prelude as Prelude++-- | The snapshot configuration to use when creating an OpenZFS volume from a+-- snapshot.+--+-- /See:/ 'newCreateOpenZFSOriginSnapshotConfiguration' smart constructor.+data CreateOpenZFSOriginSnapshotConfiguration = CreateOpenZFSOriginSnapshotConfiguration'+ { snapshotARN :: Prelude.Text,+ -- | The strategy used when copying data from the snapshot to the new volume.+ --+ -- - @CLONE@ - The new volume references the data in the origin snapshot.+ -- Cloning a snapshot is faster than copying data from the snapshot to+ -- a new volume and doesn\'t consume disk throughput. However, the+ -- origin snapshot can\'t be deleted if there is a volume using its+ -- copied data.+ --+ -- - @FULL_COPY@ - Copies all data from the snapshot to the new volume.+ copyStrategy :: OpenZFSCopyStrategy+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateOpenZFSOriginSnapshotConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'snapshotARN', 'createOpenZFSOriginSnapshotConfiguration_snapshotARN' - Undocumented member.+--+-- 'copyStrategy', 'createOpenZFSOriginSnapshotConfiguration_copyStrategy' - The strategy used when copying data from the snapshot to the new volume.+--+-- - @CLONE@ - The new volume references the data in the origin snapshot.+-- Cloning a snapshot is faster than copying data from the snapshot to+-- a new volume and doesn\'t consume disk throughput. However, the+-- origin snapshot can\'t be deleted if there is a volume using its+-- copied data.+--+-- - @FULL_COPY@ - Copies all data from the snapshot to the new volume.+newCreateOpenZFSOriginSnapshotConfiguration ::+ -- | 'snapshotARN'+ Prelude.Text ->+ -- | 'copyStrategy'+ OpenZFSCopyStrategy ->+ CreateOpenZFSOriginSnapshotConfiguration+newCreateOpenZFSOriginSnapshotConfiguration+ pSnapshotARN_+ pCopyStrategy_ =+ CreateOpenZFSOriginSnapshotConfiguration'+ { snapshotARN =+ pSnapshotARN_,+ copyStrategy = pCopyStrategy_+ }++-- | Undocumented member.+createOpenZFSOriginSnapshotConfiguration_snapshotARN :: Lens.Lens' CreateOpenZFSOriginSnapshotConfiguration Prelude.Text+createOpenZFSOriginSnapshotConfiguration_snapshotARN = Lens.lens (\CreateOpenZFSOriginSnapshotConfiguration' {snapshotARN} -> snapshotARN) (\s@CreateOpenZFSOriginSnapshotConfiguration' {} a -> s {snapshotARN = a} :: CreateOpenZFSOriginSnapshotConfiguration)++-- | The strategy used when copying data from the snapshot to the new volume.+--+-- - @CLONE@ - The new volume references the data in the origin snapshot.+-- Cloning a snapshot is faster than copying data from the snapshot to+-- a new volume and doesn\'t consume disk throughput. However, the+-- origin snapshot can\'t be deleted if there is a volume using its+-- copied data.+--+-- - @FULL_COPY@ - Copies all data from the snapshot to the new volume.+createOpenZFSOriginSnapshotConfiguration_copyStrategy :: Lens.Lens' CreateOpenZFSOriginSnapshotConfiguration OpenZFSCopyStrategy+createOpenZFSOriginSnapshotConfiguration_copyStrategy = Lens.lens (\CreateOpenZFSOriginSnapshotConfiguration' {copyStrategy} -> copyStrategy) (\s@CreateOpenZFSOriginSnapshotConfiguration' {} a -> s {copyStrategy = a} :: CreateOpenZFSOriginSnapshotConfiguration)++instance+ Prelude.Hashable+ CreateOpenZFSOriginSnapshotConfiguration+ where+ hashWithSalt+ _salt+ CreateOpenZFSOriginSnapshotConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` snapshotARN+ `Prelude.hashWithSalt` copyStrategy++instance+ Prelude.NFData+ CreateOpenZFSOriginSnapshotConfiguration+ where+ rnf CreateOpenZFSOriginSnapshotConfiguration' {..} =+ Prelude.rnf snapshotARN+ `Prelude.seq` Prelude.rnf copyStrategy++instance+ Data.ToJSON+ CreateOpenZFSOriginSnapshotConfiguration+ where+ toJSON CreateOpenZFSOriginSnapshotConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("SnapshotARN" Data..= snapshotARN),+ Prelude.Just ("CopyStrategy" Data..= copyStrategy)+ ]+ )
+ gen/Amazonka/FSx/Types/CreateOpenZFSVolumeConfiguration.hs view
@@ -0,0 +1,368 @@+{-# 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.FSx.Types.CreateOpenZFSVolumeConfiguration+-- 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.FSx.Types.CreateOpenZFSVolumeConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types.CreateOpenZFSOriginSnapshotConfiguration+import Amazonka.FSx.Types.OpenZFSDataCompressionType+import Amazonka.FSx.Types.OpenZFSNfsExport+import Amazonka.FSx.Types.OpenZFSUserOrGroupQuota+import qualified Amazonka.Prelude as Prelude++-- | Specifies the configuration of the Amazon FSx for OpenZFS volume that+-- you are creating.+--+-- /See:/ 'newCreateOpenZFSVolumeConfiguration' smart constructor.+data CreateOpenZFSVolumeConfiguration = CreateOpenZFSVolumeConfiguration'+ { -- | A Boolean value indicating whether tags for the volume should be copied+ -- to snapshots. This value defaults to @false@. If it\'s set to @true@,+ -- all tags for the volume are copied to snapshots where the user doesn\'t+ -- specify tags. If this value is @true@, and you specify one or more tags,+ -- only the specified tags are copied to snapshots. If you specify one or+ -- more tags when creating the snapshot, no tags are copied from the+ -- volume, regardless of this value.+ copyTagsToSnapshots :: Prelude.Maybe Prelude.Bool,+ -- | Specifies the method used to compress the data on the volume. The+ -- compression type is @NONE@ by default.+ --+ -- - @NONE@ - Doesn\'t compress the data on the volume. @NONE@ is the+ -- default.+ --+ -- - @ZSTD@ - Compresses the data in the volume using the Zstandard+ -- (ZSTD) compression algorithm. ZSTD compression provides a higher+ -- level of data compression and higher read throughput performance+ -- than LZ4 compression.+ --+ -- - @LZ4@ - Compresses the data in the volume using the LZ4 compression+ -- algorithm. LZ4 compression provides a lower level of compression and+ -- higher write throughput performance than ZSTD compression.+ --+ -- For more information about volume compression types and the performance+ -- of your Amazon FSx for OpenZFS file system, see+ -- <https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/performance.html#performance-tips-zfs Tips for maximizing performance>+ -- File system and volume settings in the /Amazon FSx for OpenZFS User+ -- Guide/.+ dataCompressionType :: Prelude.Maybe OpenZFSDataCompressionType,+ -- | The configuration object for mounting a Network File System (NFS) file+ -- system.+ nfsExports :: Prelude.Maybe [OpenZFSNfsExport],+ -- | The configuration object that specifies the snapshot to use as the+ -- origin of the data for the volume.+ originSnapshot :: Prelude.Maybe CreateOpenZFSOriginSnapshotConfiguration,+ -- | A Boolean value indicating whether the volume is read-only.+ readOnly :: Prelude.Maybe Prelude.Bool,+ -- | Specifies the suggested block size for a volume in a ZFS dataset, in+ -- kibibytes (KiB). Valid values are 4, 8, 16, 32, 64, 128, 256, 512, or+ -- 1024 KiB. The default is 128 KiB. We recommend using the default setting+ -- for the majority of use cases. Generally, workloads that write in fixed+ -- small or large record sizes may benefit from setting a custom record+ -- size, like database workloads (small record size) or media streaming+ -- workloads (large record size). For additional guidance on when to set a+ -- custom record size, see+ -- <https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/performance.html#record-size-performance ZFS Record size>+ -- in the /Amazon FSx for OpenZFS User Guide/.+ recordSizeKiB :: Prelude.Maybe Prelude.Natural,+ -- | Sets the maximum storage size in gibibytes (GiB) for the volume. You can+ -- specify a quota that is larger than the storage on the parent volume. A+ -- volume quota limits the amount of storage that the volume can consume to+ -- the configured amount, but does not guarantee the space will be+ -- available on the parent volume. To guarantee quota space, you must also+ -- set @StorageCapacityReservationGiB@. To /not/ specify a storage capacity+ -- quota, set this to @-1@.+ --+ -- For more information, see+ -- <https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/managing-volumes.html#volume-properties Volume properties>+ -- in the /Amazon FSx for OpenZFS User Guide/.+ storageCapacityQuotaGiB :: Prelude.Maybe Prelude.Int,+ -- | Specifies the amount of storage in gibibytes (GiB) to reserve from the+ -- parent volume. Setting @StorageCapacityReservationGiB@ guarantees that+ -- the specified amount of storage space on the parent volume will always+ -- be available for the volume. You can\'t reserve more storage than the+ -- parent volume has. To /not/ specify a storage capacity reservation, set+ -- this to @0@ or @-1@. For more information, see+ -- <https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/managing-volumes.html#volume-properties Volume properties>+ -- in the /Amazon FSx for OpenZFS User Guide/.+ storageCapacityReservationGiB :: Prelude.Maybe Prelude.Int,+ -- | An object specifying how much storage users or groups can use on the+ -- volume.+ userAndGroupQuotas :: Prelude.Maybe [OpenZFSUserOrGroupQuota],+ -- | The ID of the volume to use as the parent volume of the volume that you+ -- are creating.+ parentVolumeId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateOpenZFSVolumeConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'copyTagsToSnapshots', 'createOpenZFSVolumeConfiguration_copyTagsToSnapshots' - A Boolean value indicating whether tags for the volume should be copied+-- to snapshots. This value defaults to @false@. If it\'s set to @true@,+-- all tags for the volume are copied to snapshots where the user doesn\'t+-- specify tags. If this value is @true@, and you specify one or more tags,+-- only the specified tags are copied to snapshots. If you specify one or+-- more tags when creating the snapshot, no tags are copied from the+-- volume, regardless of this value.+--+-- 'dataCompressionType', 'createOpenZFSVolumeConfiguration_dataCompressionType' - Specifies the method used to compress the data on the volume. The+-- compression type is @NONE@ by default.+--+-- - @NONE@ - Doesn\'t compress the data on the volume. @NONE@ is the+-- default.+--+-- - @ZSTD@ - Compresses the data in the volume using the Zstandard+-- (ZSTD) compression algorithm. ZSTD compression provides a higher+-- level of data compression and higher read throughput performance+-- than LZ4 compression.+--+-- - @LZ4@ - Compresses the data in the volume using the LZ4 compression+-- algorithm. LZ4 compression provides a lower level of compression and+-- higher write throughput performance than ZSTD compression.+--+-- For more information about volume compression types and the performance+-- of your Amazon FSx for OpenZFS file system, see+-- <https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/performance.html#performance-tips-zfs Tips for maximizing performance>+-- File system and volume settings in the /Amazon FSx for OpenZFS User+-- Guide/.+--+-- 'nfsExports', 'createOpenZFSVolumeConfiguration_nfsExports' - The configuration object for mounting a Network File System (NFS) file+-- system.+--+-- 'originSnapshot', 'createOpenZFSVolumeConfiguration_originSnapshot' - The configuration object that specifies the snapshot to use as the+-- origin of the data for the volume.+--+-- 'readOnly', 'createOpenZFSVolumeConfiguration_readOnly' - A Boolean value indicating whether the volume is read-only.+--+-- 'recordSizeKiB', 'createOpenZFSVolumeConfiguration_recordSizeKiB' - Specifies the suggested block size for a volume in a ZFS dataset, in+-- kibibytes (KiB). Valid values are 4, 8, 16, 32, 64, 128, 256, 512, or+-- 1024 KiB. The default is 128 KiB. We recommend using the default setting+-- for the majority of use cases. Generally, workloads that write in fixed+-- small or large record sizes may benefit from setting a custom record+-- size, like database workloads (small record size) or media streaming+-- workloads (large record size). For additional guidance on when to set a+-- custom record size, see+-- <https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/performance.html#record-size-performance ZFS Record size>+-- in the /Amazon FSx for OpenZFS User Guide/.+--+-- 'storageCapacityQuotaGiB', 'createOpenZFSVolumeConfiguration_storageCapacityQuotaGiB' - Sets the maximum storage size in gibibytes (GiB) for the volume. You can+-- specify a quota that is larger than the storage on the parent volume. A+-- volume quota limits the amount of storage that the volume can consume to+-- the configured amount, but does not guarantee the space will be+-- available on the parent volume. To guarantee quota space, you must also+-- set @StorageCapacityReservationGiB@. To /not/ specify a storage capacity+-- quota, set this to @-1@.+--+-- For more information, see+-- <https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/managing-volumes.html#volume-properties Volume properties>+-- in the /Amazon FSx for OpenZFS User Guide/.+--+-- 'storageCapacityReservationGiB', 'createOpenZFSVolumeConfiguration_storageCapacityReservationGiB' - Specifies the amount of storage in gibibytes (GiB) to reserve from the+-- parent volume. Setting @StorageCapacityReservationGiB@ guarantees that+-- the specified amount of storage space on the parent volume will always+-- be available for the volume. You can\'t reserve more storage than the+-- parent volume has. To /not/ specify a storage capacity reservation, set+-- this to @0@ or @-1@. For more information, see+-- <https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/managing-volumes.html#volume-properties Volume properties>+-- in the /Amazon FSx for OpenZFS User Guide/.+--+-- 'userAndGroupQuotas', 'createOpenZFSVolumeConfiguration_userAndGroupQuotas' - An object specifying how much storage users or groups can use on the+-- volume.+--+-- 'parentVolumeId', 'createOpenZFSVolumeConfiguration_parentVolumeId' - The ID of the volume to use as the parent volume of the volume that you+-- are creating.+newCreateOpenZFSVolumeConfiguration ::+ -- | 'parentVolumeId'+ Prelude.Text ->+ CreateOpenZFSVolumeConfiguration+newCreateOpenZFSVolumeConfiguration pParentVolumeId_ =+ CreateOpenZFSVolumeConfiguration'+ { copyTagsToSnapshots =+ Prelude.Nothing,+ dataCompressionType = Prelude.Nothing,+ nfsExports = Prelude.Nothing,+ originSnapshot = Prelude.Nothing,+ readOnly = Prelude.Nothing,+ recordSizeKiB = Prelude.Nothing,+ storageCapacityQuotaGiB = Prelude.Nothing,+ storageCapacityReservationGiB =+ Prelude.Nothing,+ userAndGroupQuotas = Prelude.Nothing,+ parentVolumeId = pParentVolumeId_+ }++-- | A Boolean value indicating whether tags for the volume should be copied+-- to snapshots. This value defaults to @false@. If it\'s set to @true@,+-- all tags for the volume are copied to snapshots where the user doesn\'t+-- specify tags. If this value is @true@, and you specify one or more tags,+-- only the specified tags are copied to snapshots. If you specify one or+-- more tags when creating the snapshot, no tags are copied from the+-- volume, regardless of this value.+createOpenZFSVolumeConfiguration_copyTagsToSnapshots :: Lens.Lens' CreateOpenZFSVolumeConfiguration (Prelude.Maybe Prelude.Bool)+createOpenZFSVolumeConfiguration_copyTagsToSnapshots = Lens.lens (\CreateOpenZFSVolumeConfiguration' {copyTagsToSnapshots} -> copyTagsToSnapshots) (\s@CreateOpenZFSVolumeConfiguration' {} a -> s {copyTagsToSnapshots = a} :: CreateOpenZFSVolumeConfiguration)++-- | Specifies the method used to compress the data on the volume. The+-- compression type is @NONE@ by default.+--+-- - @NONE@ - Doesn\'t compress the data on the volume. @NONE@ is the+-- default.+--+-- - @ZSTD@ - Compresses the data in the volume using the Zstandard+-- (ZSTD) compression algorithm. ZSTD compression provides a higher+-- level of data compression and higher read throughput performance+-- than LZ4 compression.+--+-- - @LZ4@ - Compresses the data in the volume using the LZ4 compression+-- algorithm. LZ4 compression provides a lower level of compression and+-- higher write throughput performance than ZSTD compression.+--+-- For more information about volume compression types and the performance+-- of your Amazon FSx for OpenZFS file system, see+-- <https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/performance.html#performance-tips-zfs Tips for maximizing performance>+-- File system and volume settings in the /Amazon FSx for OpenZFS User+-- Guide/.+createOpenZFSVolumeConfiguration_dataCompressionType :: Lens.Lens' CreateOpenZFSVolumeConfiguration (Prelude.Maybe OpenZFSDataCompressionType)+createOpenZFSVolumeConfiguration_dataCompressionType = Lens.lens (\CreateOpenZFSVolumeConfiguration' {dataCompressionType} -> dataCompressionType) (\s@CreateOpenZFSVolumeConfiguration' {} a -> s {dataCompressionType = a} :: CreateOpenZFSVolumeConfiguration)++-- | The configuration object for mounting a Network File System (NFS) file+-- system.+createOpenZFSVolumeConfiguration_nfsExports :: Lens.Lens' CreateOpenZFSVolumeConfiguration (Prelude.Maybe [OpenZFSNfsExport])+createOpenZFSVolumeConfiguration_nfsExports = Lens.lens (\CreateOpenZFSVolumeConfiguration' {nfsExports} -> nfsExports) (\s@CreateOpenZFSVolumeConfiguration' {} a -> s {nfsExports = a} :: CreateOpenZFSVolumeConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | The configuration object that specifies the snapshot to use as the+-- origin of the data for the volume.+createOpenZFSVolumeConfiguration_originSnapshot :: Lens.Lens' CreateOpenZFSVolumeConfiguration (Prelude.Maybe CreateOpenZFSOriginSnapshotConfiguration)+createOpenZFSVolumeConfiguration_originSnapshot = Lens.lens (\CreateOpenZFSVolumeConfiguration' {originSnapshot} -> originSnapshot) (\s@CreateOpenZFSVolumeConfiguration' {} a -> s {originSnapshot = a} :: CreateOpenZFSVolumeConfiguration)++-- | A Boolean value indicating whether the volume is read-only.+createOpenZFSVolumeConfiguration_readOnly :: Lens.Lens' CreateOpenZFSVolumeConfiguration (Prelude.Maybe Prelude.Bool)+createOpenZFSVolumeConfiguration_readOnly = Lens.lens (\CreateOpenZFSVolumeConfiguration' {readOnly} -> readOnly) (\s@CreateOpenZFSVolumeConfiguration' {} a -> s {readOnly = a} :: CreateOpenZFSVolumeConfiguration)++-- | Specifies the suggested block size for a volume in a ZFS dataset, in+-- kibibytes (KiB). Valid values are 4, 8, 16, 32, 64, 128, 256, 512, or+-- 1024 KiB. The default is 128 KiB. We recommend using the default setting+-- for the majority of use cases. Generally, workloads that write in fixed+-- small or large record sizes may benefit from setting a custom record+-- size, like database workloads (small record size) or media streaming+-- workloads (large record size). For additional guidance on when to set a+-- custom record size, see+-- <https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/performance.html#record-size-performance ZFS Record size>+-- in the /Amazon FSx for OpenZFS User Guide/.+createOpenZFSVolumeConfiguration_recordSizeKiB :: Lens.Lens' CreateOpenZFSVolumeConfiguration (Prelude.Maybe Prelude.Natural)+createOpenZFSVolumeConfiguration_recordSizeKiB = Lens.lens (\CreateOpenZFSVolumeConfiguration' {recordSizeKiB} -> recordSizeKiB) (\s@CreateOpenZFSVolumeConfiguration' {} a -> s {recordSizeKiB = a} :: CreateOpenZFSVolumeConfiguration)++-- | Sets the maximum storage size in gibibytes (GiB) for the volume. You can+-- specify a quota that is larger than the storage on the parent volume. A+-- volume quota limits the amount of storage that the volume can consume to+-- the configured amount, but does not guarantee the space will be+-- available on the parent volume. To guarantee quota space, you must also+-- set @StorageCapacityReservationGiB@. To /not/ specify a storage capacity+-- quota, set this to @-1@.+--+-- For more information, see+-- <https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/managing-volumes.html#volume-properties Volume properties>+-- in the /Amazon FSx for OpenZFS User Guide/.+createOpenZFSVolumeConfiguration_storageCapacityQuotaGiB :: Lens.Lens' CreateOpenZFSVolumeConfiguration (Prelude.Maybe Prelude.Int)+createOpenZFSVolumeConfiguration_storageCapacityQuotaGiB = Lens.lens (\CreateOpenZFSVolumeConfiguration' {storageCapacityQuotaGiB} -> storageCapacityQuotaGiB) (\s@CreateOpenZFSVolumeConfiguration' {} a -> s {storageCapacityQuotaGiB = a} :: CreateOpenZFSVolumeConfiguration)++-- | Specifies the amount of storage in gibibytes (GiB) to reserve from the+-- parent volume. Setting @StorageCapacityReservationGiB@ guarantees that+-- the specified amount of storage space on the parent volume will always+-- be available for the volume. You can\'t reserve more storage than the+-- parent volume has. To /not/ specify a storage capacity reservation, set+-- this to @0@ or @-1@. For more information, see+-- <https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/managing-volumes.html#volume-properties Volume properties>+-- in the /Amazon FSx for OpenZFS User Guide/.+createOpenZFSVolumeConfiguration_storageCapacityReservationGiB :: Lens.Lens' CreateOpenZFSVolumeConfiguration (Prelude.Maybe Prelude.Int)+createOpenZFSVolumeConfiguration_storageCapacityReservationGiB = Lens.lens (\CreateOpenZFSVolumeConfiguration' {storageCapacityReservationGiB} -> storageCapacityReservationGiB) (\s@CreateOpenZFSVolumeConfiguration' {} a -> s {storageCapacityReservationGiB = a} :: CreateOpenZFSVolumeConfiguration)++-- | An object specifying how much storage users or groups can use on the+-- volume.+createOpenZFSVolumeConfiguration_userAndGroupQuotas :: Lens.Lens' CreateOpenZFSVolumeConfiguration (Prelude.Maybe [OpenZFSUserOrGroupQuota])+createOpenZFSVolumeConfiguration_userAndGroupQuotas = Lens.lens (\CreateOpenZFSVolumeConfiguration' {userAndGroupQuotas} -> userAndGroupQuotas) (\s@CreateOpenZFSVolumeConfiguration' {} a -> s {userAndGroupQuotas = a} :: CreateOpenZFSVolumeConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | The ID of the volume to use as the parent volume of the volume that you+-- are creating.+createOpenZFSVolumeConfiguration_parentVolumeId :: Lens.Lens' CreateOpenZFSVolumeConfiguration Prelude.Text+createOpenZFSVolumeConfiguration_parentVolumeId = Lens.lens (\CreateOpenZFSVolumeConfiguration' {parentVolumeId} -> parentVolumeId) (\s@CreateOpenZFSVolumeConfiguration' {} a -> s {parentVolumeId = a} :: CreateOpenZFSVolumeConfiguration)++instance+ Prelude.Hashable+ CreateOpenZFSVolumeConfiguration+ where+ hashWithSalt+ _salt+ CreateOpenZFSVolumeConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` copyTagsToSnapshots+ `Prelude.hashWithSalt` dataCompressionType+ `Prelude.hashWithSalt` nfsExports+ `Prelude.hashWithSalt` originSnapshot+ `Prelude.hashWithSalt` readOnly+ `Prelude.hashWithSalt` recordSizeKiB+ `Prelude.hashWithSalt` storageCapacityQuotaGiB+ `Prelude.hashWithSalt` storageCapacityReservationGiB+ `Prelude.hashWithSalt` userAndGroupQuotas+ `Prelude.hashWithSalt` parentVolumeId++instance+ Prelude.NFData+ CreateOpenZFSVolumeConfiguration+ where+ rnf CreateOpenZFSVolumeConfiguration' {..} =+ Prelude.rnf copyTagsToSnapshots+ `Prelude.seq` Prelude.rnf dataCompressionType+ `Prelude.seq` Prelude.rnf nfsExports+ `Prelude.seq` Prelude.rnf originSnapshot+ `Prelude.seq` Prelude.rnf readOnly+ `Prelude.seq` Prelude.rnf recordSizeKiB+ `Prelude.seq` Prelude.rnf storageCapacityQuotaGiB+ `Prelude.seq` Prelude.rnf storageCapacityReservationGiB+ `Prelude.seq` Prelude.rnf userAndGroupQuotas+ `Prelude.seq` Prelude.rnf parentVolumeId++instance Data.ToJSON CreateOpenZFSVolumeConfiguration where+ toJSON CreateOpenZFSVolumeConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("CopyTagsToSnapshots" Data..=)+ Prelude.<$> copyTagsToSnapshots,+ ("DataCompressionType" Data..=)+ Prelude.<$> dataCompressionType,+ ("NfsExports" Data..=) Prelude.<$> nfsExports,+ ("OriginSnapshot" Data..=)+ Prelude.<$> originSnapshot,+ ("ReadOnly" Data..=) Prelude.<$> readOnly,+ ("RecordSizeKiB" Data..=) Prelude.<$> recordSizeKiB,+ ("StorageCapacityQuotaGiB" Data..=)+ Prelude.<$> storageCapacityQuotaGiB,+ ("StorageCapacityReservationGiB" Data..=)+ Prelude.<$> storageCapacityReservationGiB,+ ("UserAndGroupQuotas" Data..=)+ Prelude.<$> userAndGroupQuotas,+ Prelude.Just+ ("ParentVolumeId" Data..= parentVolumeId)+ ]+ )
+ gen/Amazonka/FSx/Types/CreateSvmActiveDirectoryConfiguration.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.FSx.Types.CreateSvmActiveDirectoryConfiguration+-- 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.FSx.Types.CreateSvmActiveDirectoryConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types.SelfManagedActiveDirectoryConfiguration+import qualified Amazonka.Prelude as Prelude++-- | The configuration that Amazon FSx uses to join the ONTAP storage virtual+-- machine (SVM) to your self-managed (including on-premises) Microsoft+-- Active Directory (AD) directory.+--+-- /See:/ 'newCreateSvmActiveDirectoryConfiguration' smart constructor.+data CreateSvmActiveDirectoryConfiguration = CreateSvmActiveDirectoryConfiguration'+ { selfManagedActiveDirectoryConfiguration :: Prelude.Maybe SelfManagedActiveDirectoryConfiguration,+ -- | The NetBIOS name of the Active Directory computer object that will be+ -- created for your SVM.+ netBiosName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateSvmActiveDirectoryConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'selfManagedActiveDirectoryConfiguration', 'createSvmActiveDirectoryConfiguration_selfManagedActiveDirectoryConfiguration' - Undocumented member.+--+-- 'netBiosName', 'createSvmActiveDirectoryConfiguration_netBiosName' - The NetBIOS name of the Active Directory computer object that will be+-- created for your SVM.+newCreateSvmActiveDirectoryConfiguration ::+ -- | 'netBiosName'+ Prelude.Text ->+ CreateSvmActiveDirectoryConfiguration+newCreateSvmActiveDirectoryConfiguration+ pNetBiosName_ =+ CreateSvmActiveDirectoryConfiguration'+ { selfManagedActiveDirectoryConfiguration =+ Prelude.Nothing,+ netBiosName = pNetBiosName_+ }++-- | Undocumented member.+createSvmActiveDirectoryConfiguration_selfManagedActiveDirectoryConfiguration :: Lens.Lens' CreateSvmActiveDirectoryConfiguration (Prelude.Maybe SelfManagedActiveDirectoryConfiguration)+createSvmActiveDirectoryConfiguration_selfManagedActiveDirectoryConfiguration = Lens.lens (\CreateSvmActiveDirectoryConfiguration' {selfManagedActiveDirectoryConfiguration} -> selfManagedActiveDirectoryConfiguration) (\s@CreateSvmActiveDirectoryConfiguration' {} a -> s {selfManagedActiveDirectoryConfiguration = a} :: CreateSvmActiveDirectoryConfiguration)++-- | The NetBIOS name of the Active Directory computer object that will be+-- created for your SVM.+createSvmActiveDirectoryConfiguration_netBiosName :: Lens.Lens' CreateSvmActiveDirectoryConfiguration Prelude.Text+createSvmActiveDirectoryConfiguration_netBiosName = Lens.lens (\CreateSvmActiveDirectoryConfiguration' {netBiosName} -> netBiosName) (\s@CreateSvmActiveDirectoryConfiguration' {} a -> s {netBiosName = a} :: CreateSvmActiveDirectoryConfiguration)++instance+ Prelude.Hashable+ CreateSvmActiveDirectoryConfiguration+ where+ hashWithSalt+ _salt+ CreateSvmActiveDirectoryConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` selfManagedActiveDirectoryConfiguration+ `Prelude.hashWithSalt` netBiosName++instance+ Prelude.NFData+ CreateSvmActiveDirectoryConfiguration+ where+ rnf CreateSvmActiveDirectoryConfiguration' {..} =+ Prelude.rnf selfManagedActiveDirectoryConfiguration+ `Prelude.seq` Prelude.rnf netBiosName++instance+ Data.ToJSON+ CreateSvmActiveDirectoryConfiguration+ where+ toJSON CreateSvmActiveDirectoryConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("SelfManagedActiveDirectoryConfiguration" Data..=)+ Prelude.<$> selfManagedActiveDirectoryConfiguration,+ Prelude.Just ("NetBiosName" Data..= netBiosName)+ ]+ )
+ gen/Amazonka/FSx/Types/DataCompressionType.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.FSx.Types.DataCompressionType+-- 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.FSx.Types.DataCompressionType+ ( DataCompressionType+ ( ..,+ DataCompressionType_LZ4,+ DataCompressionType_NONE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DataCompressionType = DataCompressionType'+ { fromDataCompressionType ::+ 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 DataCompressionType_LZ4 :: DataCompressionType+pattern DataCompressionType_LZ4 = DataCompressionType' "LZ4"++pattern DataCompressionType_NONE :: DataCompressionType+pattern DataCompressionType_NONE = DataCompressionType' "NONE"++{-# COMPLETE+ DataCompressionType_LZ4,+ DataCompressionType_NONE,+ DataCompressionType'+ #-}
+ gen/Amazonka/FSx/Types/DataRepositoryAssociation.hs view
@@ -0,0 +1,561 @@+{-# 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.FSx.Types.DataRepositoryAssociation+-- 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.FSx.Types.DataRepositoryAssociation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types.DataRepositoryFailureDetails+import Amazonka.FSx.Types.DataRepositoryLifecycle+import Amazonka.FSx.Types.NFSDataRepositoryConfiguration+import Amazonka.FSx.Types.S3DataRepositoryConfiguration+import Amazonka.FSx.Types.Tag+import qualified Amazonka.Prelude as Prelude++-- | The configuration of a data repository association that links an Amazon+-- FSx for Lustre file system to an Amazon S3 bucket or an Amazon File+-- Cache resource to an Amazon S3 bucket or an NFS file system. The data+-- repository association configuration object is returned in the response+-- of the following operations:+--+-- - @CreateDataRepositoryAssociation@+--+-- - @UpdateDataRepositoryAssociation@+--+-- - @DescribeDataRepositoryAssociations@+--+-- Data repository associations are supported only for an Amazon FSx for+-- Lustre file system with the @Persistent_2@ deployment type and for an+-- Amazon File Cache resource.+--+-- /See:/ 'newDataRepositoryAssociation' smart constructor.+data DataRepositoryAssociation = DataRepositoryAssociation'+ { -- | The system-generated, unique ID of the data repository association.+ associationId :: Prelude.Maybe Prelude.Text,+ -- | A boolean flag indicating whether an import data repository task to+ -- import metadata should run after the data repository association is+ -- created. The task runs if this flag is set to @true@.+ --+ -- @BatchImportMetaDataOnCreate@ is not supported for data repositories+ -- linked to an Amazon File Cache resource.+ batchImportMetaDataOnCreate :: Prelude.Maybe Prelude.Bool,+ creationTime :: Prelude.Maybe Data.POSIX,+ -- | The path to the data repository that will be linked to the cache or file+ -- system.+ --+ -- - For Amazon File Cache, the path can be an NFS data repository that+ -- will be linked to the cache. The path can be in one of two formats:+ --+ -- - If you are not using the @DataRepositorySubdirectories@+ -- parameter, the path is to an NFS Export directory (or one of its+ -- subdirectories) in the format+ -- @nsf:\/\/nfs-domain-name\/exportpath@. You can therefore link a+ -- single NFS Export to a single data repository association.+ --+ -- - If you are using the @DataRepositorySubdirectories@ parameter,+ -- the path is the domain name of the NFS file system in the format+ -- @nfs:\/\/filer-domain-name@, which indicates the root of the+ -- subdirectories specified with the @DataRepositorySubdirectories@+ -- parameter.+ --+ -- - For Amazon File Cache, the path can be an S3 bucket or prefix in the+ -- format @s3:\/\/myBucket\/myPrefix\/@.+ --+ -- - For Amazon FSx for Lustre, the path can be an S3 bucket or prefix in+ -- the format @s3:\/\/myBucket\/myPrefix\/@.+ dataRepositoryPath :: Prelude.Maybe Prelude.Text,+ -- | For Amazon File Cache, a list of NFS Exports that will be linked with an+ -- NFS data repository association. All the subdirectories must be on a+ -- single NFS file system. The Export paths are in the format+ -- @\/exportpath1@. To use this parameter, you must configure+ -- @DataRepositoryPath@ as the domain name of the NFS file system. The NFS+ -- file system domain name in effect is the root of the subdirectories.+ -- Note that @DataRepositorySubdirectories@ is not supported for S3 data+ -- repositories.+ dataRepositorySubdirectories :: Prelude.Maybe [Prelude.Text],+ failureDetails :: Prelude.Maybe DataRepositoryFailureDetails,+ -- | The globally unique ID of the Amazon File Cache resource.+ fileCacheId :: Prelude.Maybe Prelude.Text,+ -- | A path on the Amazon File Cache that points to a high-level directory+ -- (such as @\/ns1\/@) or subdirectory (such as @\/ns1\/subdir\/@) that+ -- will be mapped 1-1 with @DataRepositoryPath@. The leading forward slash+ -- in the path is required. Two data repository associations cannot have+ -- overlapping cache paths. For example, if a data repository is associated+ -- with cache path @\/ns1\/@, then you cannot link another data repository+ -- with cache path @\/ns1\/ns2@.+ --+ -- This path specifies the directory in your cache where files will be+ -- exported from. This cache directory can be linked to only one data+ -- repository (S3 or NFS) and no other data repository can be linked to the+ -- directory.+ --+ -- The cache path can only be set to root (\/) on an NFS DRA when+ -- @DataRepositorySubdirectories@ is specified. If you specify root (\/) as+ -- the cache path, you can create only one DRA on the cache.+ --+ -- The cache path cannot be set to root (\/) for an S3 DRA.+ fileCachePath :: Prelude.Maybe Prelude.Text,+ fileSystemId :: Prelude.Maybe Prelude.Text,+ -- | A path on the Amazon FSx for Lustre file system that points to a+ -- high-level directory (such as @\/ns1\/@) or subdirectory (such as+ -- @\/ns1\/subdir\/@) that will be mapped 1-1 with @DataRepositoryPath@.+ -- The leading forward slash in the name is required. Two data repository+ -- associations cannot have overlapping file system paths. For example, if+ -- a data repository is associated with file system path @\/ns1\/@, then+ -- you cannot link another data repository with file system path+ -- @\/ns1\/ns2@.+ --+ -- This path specifies where in your file system files will be exported+ -- from or imported to. This file system directory can be linked to only+ -- one Amazon S3 bucket, and no other S3 bucket can be linked to the+ -- directory.+ --+ -- If you specify only a forward slash (@\/@) as the file system path, you+ -- can link only one data repository to the file system. You can only+ -- specify \"\/\" as the file system path for the first data repository+ -- associated with a file system.+ fileSystemPath :: Prelude.Maybe Prelude.Text,+ -- | For files imported from a data repository, this value determines the+ -- stripe count and maximum amount of data per file (in MiB) stored on a+ -- single physical disk. The maximum number of disks that a single file can+ -- be striped across is limited by the total number of disks that make up+ -- the file system or cache.+ --+ -- The default chunk size is 1,024 MiB (1 GiB) and can go as high as+ -- 512,000 MiB (500 GiB). Amazon S3 objects have a maximum size of 5 TB.+ importedFileChunkSize :: Prelude.Maybe Prelude.Natural,+ -- | Describes the state of a data repository association. The lifecycle can+ -- have the following values:+ --+ -- - @CREATING@ - The data repository association between the file system+ -- or cache and the data repository is being created. The data+ -- repository is unavailable.+ --+ -- - @AVAILABLE@ - The data repository association is available for use.+ --+ -- - @MISCONFIGURED@ - The data repository association is misconfigured.+ -- Until the configuration is corrected, automatic import and automatic+ -- export will not work (only for Amazon FSx for Lustre).+ --+ -- - @UPDATING@ - The data repository association is undergoing a+ -- customer initiated update that might affect its availability.+ --+ -- - @DELETING@ - The data repository association is undergoing a+ -- customer initiated deletion.+ --+ -- - @FAILED@ - The data repository association is in a terminal state+ -- that cannot be recovered.+ lifecycle :: Prelude.Maybe DataRepositoryLifecycle,+ -- | The configuration for an NFS data repository linked to an Amazon File+ -- Cache resource with a data repository association.+ nfs :: Prelude.Maybe NFSDataRepositoryConfiguration,+ resourceARN :: Prelude.Maybe Prelude.Text,+ -- | The configuration for an Amazon S3 data repository linked to an Amazon+ -- FSx for Lustre file system with a data repository association.+ s3 :: Prelude.Maybe S3DataRepositoryConfiguration,+ tags :: Prelude.Maybe (Prelude.NonEmpty Tag)+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DataRepositoryAssociation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'associationId', 'dataRepositoryAssociation_associationId' - The system-generated, unique ID of the data repository association.+--+-- 'batchImportMetaDataOnCreate', 'dataRepositoryAssociation_batchImportMetaDataOnCreate' - A boolean flag indicating whether an import data repository task to+-- import metadata should run after the data repository association is+-- created. The task runs if this flag is set to @true@.+--+-- @BatchImportMetaDataOnCreate@ is not supported for data repositories+-- linked to an Amazon File Cache resource.+--+-- 'creationTime', 'dataRepositoryAssociation_creationTime' - Undocumented member.+--+-- 'dataRepositoryPath', 'dataRepositoryAssociation_dataRepositoryPath' - The path to the data repository that will be linked to the cache or file+-- system.+--+-- - For Amazon File Cache, the path can be an NFS data repository that+-- will be linked to the cache. The path can be in one of two formats:+--+-- - If you are not using the @DataRepositorySubdirectories@+-- parameter, the path is to an NFS Export directory (or one of its+-- subdirectories) in the format+-- @nsf:\/\/nfs-domain-name\/exportpath@. You can therefore link a+-- single NFS Export to a single data repository association.+--+-- - If you are using the @DataRepositorySubdirectories@ parameter,+-- the path is the domain name of the NFS file system in the format+-- @nfs:\/\/filer-domain-name@, which indicates the root of the+-- subdirectories specified with the @DataRepositorySubdirectories@+-- parameter.+--+-- - For Amazon File Cache, the path can be an S3 bucket or prefix in the+-- format @s3:\/\/myBucket\/myPrefix\/@.+--+-- - For Amazon FSx for Lustre, the path can be an S3 bucket or prefix in+-- the format @s3:\/\/myBucket\/myPrefix\/@.+--+-- 'dataRepositorySubdirectories', 'dataRepositoryAssociation_dataRepositorySubdirectories' - For Amazon File Cache, a list of NFS Exports that will be linked with an+-- NFS data repository association. All the subdirectories must be on a+-- single NFS file system. The Export paths are in the format+-- @\/exportpath1@. To use this parameter, you must configure+-- @DataRepositoryPath@ as the domain name of the NFS file system. The NFS+-- file system domain name in effect is the root of the subdirectories.+-- Note that @DataRepositorySubdirectories@ is not supported for S3 data+-- repositories.+--+-- 'failureDetails', 'dataRepositoryAssociation_failureDetails' - Undocumented member.+--+-- 'fileCacheId', 'dataRepositoryAssociation_fileCacheId' - The globally unique ID of the Amazon File Cache resource.+--+-- 'fileCachePath', 'dataRepositoryAssociation_fileCachePath' - A path on the Amazon File Cache that points to a high-level directory+-- (such as @\/ns1\/@) or subdirectory (such as @\/ns1\/subdir\/@) that+-- will be mapped 1-1 with @DataRepositoryPath@. The leading forward slash+-- in the path is required. Two data repository associations cannot have+-- overlapping cache paths. For example, if a data repository is associated+-- with cache path @\/ns1\/@, then you cannot link another data repository+-- with cache path @\/ns1\/ns2@.+--+-- This path specifies the directory in your cache where files will be+-- exported from. This cache directory can be linked to only one data+-- repository (S3 or NFS) and no other data repository can be linked to the+-- directory.+--+-- The cache path can only be set to root (\/) on an NFS DRA when+-- @DataRepositorySubdirectories@ is specified. If you specify root (\/) as+-- the cache path, you can create only one DRA on the cache.+--+-- The cache path cannot be set to root (\/) for an S3 DRA.+--+-- 'fileSystemId', 'dataRepositoryAssociation_fileSystemId' - Undocumented member.+--+-- 'fileSystemPath', 'dataRepositoryAssociation_fileSystemPath' - A path on the Amazon FSx for Lustre file system that points to a+-- high-level directory (such as @\/ns1\/@) or subdirectory (such as+-- @\/ns1\/subdir\/@) that will be mapped 1-1 with @DataRepositoryPath@.+-- The leading forward slash in the name is required. Two data repository+-- associations cannot have overlapping file system paths. For example, if+-- a data repository is associated with file system path @\/ns1\/@, then+-- you cannot link another data repository with file system path+-- @\/ns1\/ns2@.+--+-- This path specifies where in your file system files will be exported+-- from or imported to. This file system directory can be linked to only+-- one Amazon S3 bucket, and no other S3 bucket can be linked to the+-- directory.+--+-- If you specify only a forward slash (@\/@) as the file system path, you+-- can link only one data repository to the file system. You can only+-- specify \"\/\" as the file system path for the first data repository+-- associated with a file system.+--+-- 'importedFileChunkSize', 'dataRepositoryAssociation_importedFileChunkSize' - For files imported from a data repository, this value determines the+-- stripe count and maximum amount of data per file (in MiB) stored on a+-- single physical disk. The maximum number of disks that a single file can+-- be striped across is limited by the total number of disks that make up+-- the file system or cache.+--+-- The default chunk size is 1,024 MiB (1 GiB) and can go as high as+-- 512,000 MiB (500 GiB). Amazon S3 objects have a maximum size of 5 TB.+--+-- 'lifecycle', 'dataRepositoryAssociation_lifecycle' - Describes the state of a data repository association. The lifecycle can+-- have the following values:+--+-- - @CREATING@ - The data repository association between the file system+-- or cache and the data repository is being created. The data+-- repository is unavailable.+--+-- - @AVAILABLE@ - The data repository association is available for use.+--+-- - @MISCONFIGURED@ - The data repository association is misconfigured.+-- Until the configuration is corrected, automatic import and automatic+-- export will not work (only for Amazon FSx for Lustre).+--+-- - @UPDATING@ - The data repository association is undergoing a+-- customer initiated update that might affect its availability.+--+-- - @DELETING@ - The data repository association is undergoing a+-- customer initiated deletion.+--+-- - @FAILED@ - The data repository association is in a terminal state+-- that cannot be recovered.+--+-- 'nfs', 'dataRepositoryAssociation_nfs' - The configuration for an NFS data repository linked to an Amazon File+-- Cache resource with a data repository association.+--+-- 'resourceARN', 'dataRepositoryAssociation_resourceARN' - Undocumented member.+--+-- 's3', 'dataRepositoryAssociation_s3' - The configuration for an Amazon S3 data repository linked to an Amazon+-- FSx for Lustre file system with a data repository association.+--+-- 'tags', 'dataRepositoryAssociation_tags' - Undocumented member.+newDataRepositoryAssociation ::+ DataRepositoryAssociation+newDataRepositoryAssociation =+ DataRepositoryAssociation'+ { associationId =+ Prelude.Nothing,+ batchImportMetaDataOnCreate = Prelude.Nothing,+ creationTime = Prelude.Nothing,+ dataRepositoryPath = Prelude.Nothing,+ dataRepositorySubdirectories = Prelude.Nothing,+ failureDetails = Prelude.Nothing,+ fileCacheId = Prelude.Nothing,+ fileCachePath = Prelude.Nothing,+ fileSystemId = Prelude.Nothing,+ fileSystemPath = Prelude.Nothing,+ importedFileChunkSize = Prelude.Nothing,+ lifecycle = Prelude.Nothing,+ nfs = Prelude.Nothing,+ resourceARN = Prelude.Nothing,+ s3 = Prelude.Nothing,+ tags = Prelude.Nothing+ }++-- | The system-generated, unique ID of the data repository association.+dataRepositoryAssociation_associationId :: Lens.Lens' DataRepositoryAssociation (Prelude.Maybe Prelude.Text)+dataRepositoryAssociation_associationId = Lens.lens (\DataRepositoryAssociation' {associationId} -> associationId) (\s@DataRepositoryAssociation' {} a -> s {associationId = a} :: DataRepositoryAssociation)++-- | A boolean flag indicating whether an import data repository task to+-- import metadata should run after the data repository association is+-- created. The task runs if this flag is set to @true@.+--+-- @BatchImportMetaDataOnCreate@ is not supported for data repositories+-- linked to an Amazon File Cache resource.+dataRepositoryAssociation_batchImportMetaDataOnCreate :: Lens.Lens' DataRepositoryAssociation (Prelude.Maybe Prelude.Bool)+dataRepositoryAssociation_batchImportMetaDataOnCreate = Lens.lens (\DataRepositoryAssociation' {batchImportMetaDataOnCreate} -> batchImportMetaDataOnCreate) (\s@DataRepositoryAssociation' {} a -> s {batchImportMetaDataOnCreate = a} :: DataRepositoryAssociation)++-- | Undocumented member.+dataRepositoryAssociation_creationTime :: Lens.Lens' DataRepositoryAssociation (Prelude.Maybe Prelude.UTCTime)+dataRepositoryAssociation_creationTime = Lens.lens (\DataRepositoryAssociation' {creationTime} -> creationTime) (\s@DataRepositoryAssociation' {} a -> s {creationTime = a} :: DataRepositoryAssociation) Prelude.. Lens.mapping Data._Time++-- | The path to the data repository that will be linked to the cache or file+-- system.+--+-- - For Amazon File Cache, the path can be an NFS data repository that+-- will be linked to the cache. The path can be in one of two formats:+--+-- - If you are not using the @DataRepositorySubdirectories@+-- parameter, the path is to an NFS Export directory (or one of its+-- subdirectories) in the format+-- @nsf:\/\/nfs-domain-name\/exportpath@. You can therefore link a+-- single NFS Export to a single data repository association.+--+-- - If you are using the @DataRepositorySubdirectories@ parameter,+-- the path is the domain name of the NFS file system in the format+-- @nfs:\/\/filer-domain-name@, which indicates the root of the+-- subdirectories specified with the @DataRepositorySubdirectories@+-- parameter.+--+-- - For Amazon File Cache, the path can be an S3 bucket or prefix in the+-- format @s3:\/\/myBucket\/myPrefix\/@.+--+-- - For Amazon FSx for Lustre, the path can be an S3 bucket or prefix in+-- the format @s3:\/\/myBucket\/myPrefix\/@.+dataRepositoryAssociation_dataRepositoryPath :: Lens.Lens' DataRepositoryAssociation (Prelude.Maybe Prelude.Text)+dataRepositoryAssociation_dataRepositoryPath = Lens.lens (\DataRepositoryAssociation' {dataRepositoryPath} -> dataRepositoryPath) (\s@DataRepositoryAssociation' {} a -> s {dataRepositoryPath = a} :: DataRepositoryAssociation)++-- | For Amazon File Cache, a list of NFS Exports that will be linked with an+-- NFS data repository association. All the subdirectories must be on a+-- single NFS file system. The Export paths are in the format+-- @\/exportpath1@. To use this parameter, you must configure+-- @DataRepositoryPath@ as the domain name of the NFS file system. The NFS+-- file system domain name in effect is the root of the subdirectories.+-- Note that @DataRepositorySubdirectories@ is not supported for S3 data+-- repositories.+dataRepositoryAssociation_dataRepositorySubdirectories :: Lens.Lens' DataRepositoryAssociation (Prelude.Maybe [Prelude.Text])+dataRepositoryAssociation_dataRepositorySubdirectories = Lens.lens (\DataRepositoryAssociation' {dataRepositorySubdirectories} -> dataRepositorySubdirectories) (\s@DataRepositoryAssociation' {} a -> s {dataRepositorySubdirectories = a} :: DataRepositoryAssociation) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+dataRepositoryAssociation_failureDetails :: Lens.Lens' DataRepositoryAssociation (Prelude.Maybe DataRepositoryFailureDetails)+dataRepositoryAssociation_failureDetails = Lens.lens (\DataRepositoryAssociation' {failureDetails} -> failureDetails) (\s@DataRepositoryAssociation' {} a -> s {failureDetails = a} :: DataRepositoryAssociation)++-- | The globally unique ID of the Amazon File Cache resource.+dataRepositoryAssociation_fileCacheId :: Lens.Lens' DataRepositoryAssociation (Prelude.Maybe Prelude.Text)+dataRepositoryAssociation_fileCacheId = Lens.lens (\DataRepositoryAssociation' {fileCacheId} -> fileCacheId) (\s@DataRepositoryAssociation' {} a -> s {fileCacheId = a} :: DataRepositoryAssociation)++-- | A path on the Amazon File Cache that points to a high-level directory+-- (such as @\/ns1\/@) or subdirectory (such as @\/ns1\/subdir\/@) that+-- will be mapped 1-1 with @DataRepositoryPath@. The leading forward slash+-- in the path is required. Two data repository associations cannot have+-- overlapping cache paths. For example, if a data repository is associated+-- with cache path @\/ns1\/@, then you cannot link another data repository+-- with cache path @\/ns1\/ns2@.+--+-- This path specifies the directory in your cache where files will be+-- exported from. This cache directory can be linked to only one data+-- repository (S3 or NFS) and no other data repository can be linked to the+-- directory.+--+-- The cache path can only be set to root (\/) on an NFS DRA when+-- @DataRepositorySubdirectories@ is specified. If you specify root (\/) as+-- the cache path, you can create only one DRA on the cache.+--+-- The cache path cannot be set to root (\/) for an S3 DRA.+dataRepositoryAssociation_fileCachePath :: Lens.Lens' DataRepositoryAssociation (Prelude.Maybe Prelude.Text)+dataRepositoryAssociation_fileCachePath = Lens.lens (\DataRepositoryAssociation' {fileCachePath} -> fileCachePath) (\s@DataRepositoryAssociation' {} a -> s {fileCachePath = a} :: DataRepositoryAssociation)++-- | Undocumented member.+dataRepositoryAssociation_fileSystemId :: Lens.Lens' DataRepositoryAssociation (Prelude.Maybe Prelude.Text)+dataRepositoryAssociation_fileSystemId = Lens.lens (\DataRepositoryAssociation' {fileSystemId} -> fileSystemId) (\s@DataRepositoryAssociation' {} a -> s {fileSystemId = a} :: DataRepositoryAssociation)++-- | A path on the Amazon FSx for Lustre file system that points to a+-- high-level directory (such as @\/ns1\/@) or subdirectory (such as+-- @\/ns1\/subdir\/@) that will be mapped 1-1 with @DataRepositoryPath@.+-- The leading forward slash in the name is required. Two data repository+-- associations cannot have overlapping file system paths. For example, if+-- a data repository is associated with file system path @\/ns1\/@, then+-- you cannot link another data repository with file system path+-- @\/ns1\/ns2@.+--+-- This path specifies where in your file system files will be exported+-- from or imported to. This file system directory can be linked to only+-- one Amazon S3 bucket, and no other S3 bucket can be linked to the+-- directory.+--+-- If you specify only a forward slash (@\/@) as the file system path, you+-- can link only one data repository to the file system. You can only+-- specify \"\/\" as the file system path for the first data repository+-- associated with a file system.+dataRepositoryAssociation_fileSystemPath :: Lens.Lens' DataRepositoryAssociation (Prelude.Maybe Prelude.Text)+dataRepositoryAssociation_fileSystemPath = Lens.lens (\DataRepositoryAssociation' {fileSystemPath} -> fileSystemPath) (\s@DataRepositoryAssociation' {} a -> s {fileSystemPath = a} :: DataRepositoryAssociation)++-- | For files imported from a data repository, this value determines the+-- stripe count and maximum amount of data per file (in MiB) stored on a+-- single physical disk. The maximum number of disks that a single file can+-- be striped across is limited by the total number of disks that make up+-- the file system or cache.+--+-- The default chunk size is 1,024 MiB (1 GiB) and can go as high as+-- 512,000 MiB (500 GiB). Amazon S3 objects have a maximum size of 5 TB.+dataRepositoryAssociation_importedFileChunkSize :: Lens.Lens' DataRepositoryAssociation (Prelude.Maybe Prelude.Natural)+dataRepositoryAssociation_importedFileChunkSize = Lens.lens (\DataRepositoryAssociation' {importedFileChunkSize} -> importedFileChunkSize) (\s@DataRepositoryAssociation' {} a -> s {importedFileChunkSize = a} :: DataRepositoryAssociation)++-- | Describes the state of a data repository association. The lifecycle can+-- have the following values:+--+-- - @CREATING@ - The data repository association between the file system+-- or cache and the data repository is being created. The data+-- repository is unavailable.+--+-- - @AVAILABLE@ - The data repository association is available for use.+--+-- - @MISCONFIGURED@ - The data repository association is misconfigured.+-- Until the configuration is corrected, automatic import and automatic+-- export will not work (only for Amazon FSx for Lustre).+--+-- - @UPDATING@ - The data repository association is undergoing a+-- customer initiated update that might affect its availability.+--+-- - @DELETING@ - The data repository association is undergoing a+-- customer initiated deletion.+--+-- - @FAILED@ - The data repository association is in a terminal state+-- that cannot be recovered.+dataRepositoryAssociation_lifecycle :: Lens.Lens' DataRepositoryAssociation (Prelude.Maybe DataRepositoryLifecycle)+dataRepositoryAssociation_lifecycle = Lens.lens (\DataRepositoryAssociation' {lifecycle} -> lifecycle) (\s@DataRepositoryAssociation' {} a -> s {lifecycle = a} :: DataRepositoryAssociation)++-- | The configuration for an NFS data repository linked to an Amazon File+-- Cache resource with a data repository association.+dataRepositoryAssociation_nfs :: Lens.Lens' DataRepositoryAssociation (Prelude.Maybe NFSDataRepositoryConfiguration)+dataRepositoryAssociation_nfs = Lens.lens (\DataRepositoryAssociation' {nfs} -> nfs) (\s@DataRepositoryAssociation' {} a -> s {nfs = a} :: DataRepositoryAssociation)++-- | Undocumented member.+dataRepositoryAssociation_resourceARN :: Lens.Lens' DataRepositoryAssociation (Prelude.Maybe Prelude.Text)+dataRepositoryAssociation_resourceARN = Lens.lens (\DataRepositoryAssociation' {resourceARN} -> resourceARN) (\s@DataRepositoryAssociation' {} a -> s {resourceARN = a} :: DataRepositoryAssociation)++-- | The configuration for an Amazon S3 data repository linked to an Amazon+-- FSx for Lustre file system with a data repository association.+dataRepositoryAssociation_s3 :: Lens.Lens' DataRepositoryAssociation (Prelude.Maybe S3DataRepositoryConfiguration)+dataRepositoryAssociation_s3 = Lens.lens (\DataRepositoryAssociation' {s3} -> s3) (\s@DataRepositoryAssociation' {} a -> s {s3 = a} :: DataRepositoryAssociation)++-- | Undocumented member.+dataRepositoryAssociation_tags :: Lens.Lens' DataRepositoryAssociation (Prelude.Maybe (Prelude.NonEmpty Tag))+dataRepositoryAssociation_tags = Lens.lens (\DataRepositoryAssociation' {tags} -> tags) (\s@DataRepositoryAssociation' {} a -> s {tags = a} :: DataRepositoryAssociation) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON DataRepositoryAssociation where+ parseJSON =+ Data.withObject+ "DataRepositoryAssociation"+ ( \x ->+ DataRepositoryAssociation'+ Prelude.<$> (x Data..:? "AssociationId")+ Prelude.<*> (x Data..:? "BatchImportMetaDataOnCreate")+ Prelude.<*> (x Data..:? "CreationTime")+ Prelude.<*> (x Data..:? "DataRepositoryPath")+ Prelude.<*> ( x+ Data..:? "DataRepositorySubdirectories"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "FailureDetails")+ Prelude.<*> (x Data..:? "FileCacheId")+ Prelude.<*> (x Data..:? "FileCachePath")+ Prelude.<*> (x Data..:? "FileSystemId")+ Prelude.<*> (x Data..:? "FileSystemPath")+ Prelude.<*> (x Data..:? "ImportedFileChunkSize")+ Prelude.<*> (x Data..:? "Lifecycle")+ Prelude.<*> (x Data..:? "NFS")+ Prelude.<*> (x Data..:? "ResourceARN")+ Prelude.<*> (x Data..:? "S3")+ Prelude.<*> (x Data..:? "Tags")+ )++instance Prelude.Hashable DataRepositoryAssociation where+ hashWithSalt _salt DataRepositoryAssociation' {..} =+ _salt+ `Prelude.hashWithSalt` associationId+ `Prelude.hashWithSalt` batchImportMetaDataOnCreate+ `Prelude.hashWithSalt` creationTime+ `Prelude.hashWithSalt` dataRepositoryPath+ `Prelude.hashWithSalt` dataRepositorySubdirectories+ `Prelude.hashWithSalt` failureDetails+ `Prelude.hashWithSalt` fileCacheId+ `Prelude.hashWithSalt` fileCachePath+ `Prelude.hashWithSalt` fileSystemId+ `Prelude.hashWithSalt` fileSystemPath+ `Prelude.hashWithSalt` importedFileChunkSize+ `Prelude.hashWithSalt` lifecycle+ `Prelude.hashWithSalt` nfs+ `Prelude.hashWithSalt` resourceARN+ `Prelude.hashWithSalt` s3+ `Prelude.hashWithSalt` tags++instance Prelude.NFData DataRepositoryAssociation where+ rnf DataRepositoryAssociation' {..} =+ Prelude.rnf associationId+ `Prelude.seq` Prelude.rnf batchImportMetaDataOnCreate+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf dataRepositoryPath+ `Prelude.seq` Prelude.rnf dataRepositorySubdirectories+ `Prelude.seq` Prelude.rnf failureDetails+ `Prelude.seq` Prelude.rnf fileCacheId+ `Prelude.seq` Prelude.rnf fileCachePath+ `Prelude.seq` Prelude.rnf fileSystemId+ `Prelude.seq` Prelude.rnf fileSystemPath+ `Prelude.seq` Prelude.rnf importedFileChunkSize+ `Prelude.seq` Prelude.rnf lifecycle+ `Prelude.seq` Prelude.rnf nfs+ `Prelude.seq` Prelude.rnf resourceARN+ `Prelude.seq` Prelude.rnf s3+ `Prelude.seq` Prelude.rnf tags
+ gen/Amazonka/FSx/Types/DataRepositoryConfiguration.hs view
@@ -0,0 +1,301 @@+{-# 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.FSx.Types.DataRepositoryConfiguration+-- 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.FSx.Types.DataRepositoryConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types.AutoImportPolicyType+import Amazonka.FSx.Types.DataRepositoryFailureDetails+import Amazonka.FSx.Types.DataRepositoryLifecycle+import qualified Amazonka.Prelude as Prelude++-- | The data repository configuration object for Lustre file systems+-- returned in the response of the @CreateFileSystem@ operation.+--+-- This data type is not supported for file systems with the @Persistent_2@+-- deployment type. Instead, use .+--+-- /See:/ 'newDataRepositoryConfiguration' smart constructor.+data DataRepositoryConfiguration = DataRepositoryConfiguration'+ { -- | Describes the file system\'s linked S3 data repository\'s+ -- @AutoImportPolicy@. The AutoImportPolicy configures how Amazon FSx keeps+ -- your file and directory listings up to date as you add or modify objects+ -- in your linked S3 bucket. @AutoImportPolicy@ can have the following+ -- values:+ --+ -- - @NONE@ - (Default) AutoImport is off. Amazon FSx only updates file+ -- and directory listings from the linked S3 bucket when the file+ -- system is created. FSx does not update file and directory listings+ -- for any new or changed objects after choosing this option.+ --+ -- - @NEW@ - AutoImport is on. Amazon FSx automatically imports directory+ -- listings of any new objects added to the linked S3 bucket that do+ -- not currently exist in the FSx file system.+ --+ -- - @NEW_CHANGED@ - AutoImport is on. Amazon FSx automatically imports+ -- file and directory listings of any new objects added to the S3+ -- bucket and any existing objects that are changed in the S3 bucket+ -- after you choose this option.+ --+ -- - @NEW_CHANGED_DELETED@ - AutoImport is on. Amazon FSx automatically+ -- imports file and directory listings of any new objects added to the+ -- S3 bucket, any existing objects that are changed in the S3 bucket,+ -- and any objects that were deleted in the S3 bucket.+ autoImportPolicy :: Prelude.Maybe AutoImportPolicyType,+ -- | The export path to the Amazon S3 bucket (and prefix) that you are using+ -- to store new and changed Lustre file system files in S3.+ exportPath :: Prelude.Maybe Prelude.Text,+ failureDetails :: Prelude.Maybe DataRepositoryFailureDetails,+ -- | The import path to the Amazon S3 bucket (and optional prefix) that+ -- you\'re using as the data repository for your FSx for Lustre file+ -- system, for example @s3:\/\/import-bucket\/optional-prefix@. If a prefix+ -- is specified after the Amazon S3 bucket name, only object keys with that+ -- prefix are loaded into the file system.+ importPath :: Prelude.Maybe Prelude.Text,+ -- | For files imported from a data repository, this value determines the+ -- stripe count and maximum amount of data per file (in MiB) stored on a+ -- single physical disk. The maximum number of disks that a single file can+ -- be striped across is limited by the total number of disks that make up+ -- the file system.+ --+ -- The default chunk size is 1,024 MiB (1 GiB) and can go as high as+ -- 512,000 MiB (500 GiB). Amazon S3 objects have a maximum size of 5 TB.+ importedFileChunkSize :: Prelude.Maybe Prelude.Natural,+ -- | Describes the state of the file system\'s S3 durable data repository, if+ -- it is configured with an S3 repository. The lifecycle can have the+ -- following values:+ --+ -- - @CREATING@ - The data repository configuration between the FSx file+ -- system and the linked S3 data repository is being created. The data+ -- repository is unavailable.+ --+ -- - @AVAILABLE@ - The data repository is available for use.+ --+ -- - @MISCONFIGURED@ - Amazon FSx cannot automatically import updates+ -- from the S3 bucket until the data repository configuration is+ -- corrected. For more information, see+ -- <https://docs.aws.amazon.com/fsx/latest/LustreGuide/troubleshooting.html#troubleshooting-misconfigured-data-repository Troubleshooting a Misconfigured linked S3 bucket>.+ --+ -- - @UPDATING@ - The data repository is undergoing a customer initiated+ -- update and availability may be impacted.+ --+ -- - @FAILED@ - The data repository is in a terminal state that cannot be+ -- recovered.+ lifecycle :: Prelude.Maybe DataRepositoryLifecycle+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DataRepositoryConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'autoImportPolicy', 'dataRepositoryConfiguration_autoImportPolicy' - Describes the file system\'s linked S3 data repository\'s+-- @AutoImportPolicy@. The AutoImportPolicy configures how Amazon FSx keeps+-- your file and directory listings up to date as you add or modify objects+-- in your linked S3 bucket. @AutoImportPolicy@ can have the following+-- values:+--+-- - @NONE@ - (Default) AutoImport is off. Amazon FSx only updates file+-- and directory listings from the linked S3 bucket when the file+-- system is created. FSx does not update file and directory listings+-- for any new or changed objects after choosing this option.+--+-- - @NEW@ - AutoImport is on. Amazon FSx automatically imports directory+-- listings of any new objects added to the linked S3 bucket that do+-- not currently exist in the FSx file system.+--+-- - @NEW_CHANGED@ - AutoImport is on. Amazon FSx automatically imports+-- file and directory listings of any new objects added to the S3+-- bucket and any existing objects that are changed in the S3 bucket+-- after you choose this option.+--+-- - @NEW_CHANGED_DELETED@ - AutoImport is on. Amazon FSx automatically+-- imports file and directory listings of any new objects added to the+-- S3 bucket, any existing objects that are changed in the S3 bucket,+-- and any objects that were deleted in the S3 bucket.+--+-- 'exportPath', 'dataRepositoryConfiguration_exportPath' - The export path to the Amazon S3 bucket (and prefix) that you are using+-- to store new and changed Lustre file system files in S3.+--+-- 'failureDetails', 'dataRepositoryConfiguration_failureDetails' - Undocumented member.+--+-- 'importPath', 'dataRepositoryConfiguration_importPath' - The import path to the Amazon S3 bucket (and optional prefix) that+-- you\'re using as the data repository for your FSx for Lustre file+-- system, for example @s3:\/\/import-bucket\/optional-prefix@. If a prefix+-- is specified after the Amazon S3 bucket name, only object keys with that+-- prefix are loaded into the file system.+--+-- 'importedFileChunkSize', 'dataRepositoryConfiguration_importedFileChunkSize' - For files imported from a data repository, this value determines the+-- stripe count and maximum amount of data per file (in MiB) stored on a+-- single physical disk. The maximum number of disks that a single file can+-- be striped across is limited by the total number of disks that make up+-- the file system.+--+-- The default chunk size is 1,024 MiB (1 GiB) and can go as high as+-- 512,000 MiB (500 GiB). Amazon S3 objects have a maximum size of 5 TB.+--+-- 'lifecycle', 'dataRepositoryConfiguration_lifecycle' - Describes the state of the file system\'s S3 durable data repository, if+-- it is configured with an S3 repository. The lifecycle can have the+-- following values:+--+-- - @CREATING@ - The data repository configuration between the FSx file+-- system and the linked S3 data repository is being created. The data+-- repository is unavailable.+--+-- - @AVAILABLE@ - The data repository is available for use.+--+-- - @MISCONFIGURED@ - Amazon FSx cannot automatically import updates+-- from the S3 bucket until the data repository configuration is+-- corrected. For more information, see+-- <https://docs.aws.amazon.com/fsx/latest/LustreGuide/troubleshooting.html#troubleshooting-misconfigured-data-repository Troubleshooting a Misconfigured linked S3 bucket>.+--+-- - @UPDATING@ - The data repository is undergoing a customer initiated+-- update and availability may be impacted.+--+-- - @FAILED@ - The data repository is in a terminal state that cannot be+-- recovered.+newDataRepositoryConfiguration ::+ DataRepositoryConfiguration+newDataRepositoryConfiguration =+ DataRepositoryConfiguration'+ { autoImportPolicy =+ Prelude.Nothing,+ exportPath = Prelude.Nothing,+ failureDetails = Prelude.Nothing,+ importPath = Prelude.Nothing,+ importedFileChunkSize = Prelude.Nothing,+ lifecycle = Prelude.Nothing+ }++-- | Describes the file system\'s linked S3 data repository\'s+-- @AutoImportPolicy@. The AutoImportPolicy configures how Amazon FSx keeps+-- your file and directory listings up to date as you add or modify objects+-- in your linked S3 bucket. @AutoImportPolicy@ can have the following+-- values:+--+-- - @NONE@ - (Default) AutoImport is off. Amazon FSx only updates file+-- and directory listings from the linked S3 bucket when the file+-- system is created. FSx does not update file and directory listings+-- for any new or changed objects after choosing this option.+--+-- - @NEW@ - AutoImport is on. Amazon FSx automatically imports directory+-- listings of any new objects added to the linked S3 bucket that do+-- not currently exist in the FSx file system.+--+-- - @NEW_CHANGED@ - AutoImport is on. Amazon FSx automatically imports+-- file and directory listings of any new objects added to the S3+-- bucket and any existing objects that are changed in the S3 bucket+-- after you choose this option.+--+-- - @NEW_CHANGED_DELETED@ - AutoImport is on. Amazon FSx automatically+-- imports file and directory listings of any new objects added to the+-- S3 bucket, any existing objects that are changed in the S3 bucket,+-- and any objects that were deleted in the S3 bucket.+dataRepositoryConfiguration_autoImportPolicy :: Lens.Lens' DataRepositoryConfiguration (Prelude.Maybe AutoImportPolicyType)+dataRepositoryConfiguration_autoImportPolicy = Lens.lens (\DataRepositoryConfiguration' {autoImportPolicy} -> autoImportPolicy) (\s@DataRepositoryConfiguration' {} a -> s {autoImportPolicy = a} :: DataRepositoryConfiguration)++-- | The export path to the Amazon S3 bucket (and prefix) that you are using+-- to store new and changed Lustre file system files in S3.+dataRepositoryConfiguration_exportPath :: Lens.Lens' DataRepositoryConfiguration (Prelude.Maybe Prelude.Text)+dataRepositoryConfiguration_exportPath = Lens.lens (\DataRepositoryConfiguration' {exportPath} -> exportPath) (\s@DataRepositoryConfiguration' {} a -> s {exportPath = a} :: DataRepositoryConfiguration)++-- | Undocumented member.+dataRepositoryConfiguration_failureDetails :: Lens.Lens' DataRepositoryConfiguration (Prelude.Maybe DataRepositoryFailureDetails)+dataRepositoryConfiguration_failureDetails = Lens.lens (\DataRepositoryConfiguration' {failureDetails} -> failureDetails) (\s@DataRepositoryConfiguration' {} a -> s {failureDetails = a} :: DataRepositoryConfiguration)++-- | The import path to the Amazon S3 bucket (and optional prefix) that+-- you\'re using as the data repository for your FSx for Lustre file+-- system, for example @s3:\/\/import-bucket\/optional-prefix@. If a prefix+-- is specified after the Amazon S3 bucket name, only object keys with that+-- prefix are loaded into the file system.+dataRepositoryConfiguration_importPath :: Lens.Lens' DataRepositoryConfiguration (Prelude.Maybe Prelude.Text)+dataRepositoryConfiguration_importPath = Lens.lens (\DataRepositoryConfiguration' {importPath} -> importPath) (\s@DataRepositoryConfiguration' {} a -> s {importPath = a} :: DataRepositoryConfiguration)++-- | For files imported from a data repository, this value determines the+-- stripe count and maximum amount of data per file (in MiB) stored on a+-- single physical disk. The maximum number of disks that a single file can+-- be striped across is limited by the total number of disks that make up+-- the file system.+--+-- The default chunk size is 1,024 MiB (1 GiB) and can go as high as+-- 512,000 MiB (500 GiB). Amazon S3 objects have a maximum size of 5 TB.+dataRepositoryConfiguration_importedFileChunkSize :: Lens.Lens' DataRepositoryConfiguration (Prelude.Maybe Prelude.Natural)+dataRepositoryConfiguration_importedFileChunkSize = Lens.lens (\DataRepositoryConfiguration' {importedFileChunkSize} -> importedFileChunkSize) (\s@DataRepositoryConfiguration' {} a -> s {importedFileChunkSize = a} :: DataRepositoryConfiguration)++-- | Describes the state of the file system\'s S3 durable data repository, if+-- it is configured with an S3 repository. The lifecycle can have the+-- following values:+--+-- - @CREATING@ - The data repository configuration between the FSx file+-- system and the linked S3 data repository is being created. The data+-- repository is unavailable.+--+-- - @AVAILABLE@ - The data repository is available for use.+--+-- - @MISCONFIGURED@ - Amazon FSx cannot automatically import updates+-- from the S3 bucket until the data repository configuration is+-- corrected. For more information, see+-- <https://docs.aws.amazon.com/fsx/latest/LustreGuide/troubleshooting.html#troubleshooting-misconfigured-data-repository Troubleshooting a Misconfigured linked S3 bucket>.+--+-- - @UPDATING@ - The data repository is undergoing a customer initiated+-- update and availability may be impacted.+--+-- - @FAILED@ - The data repository is in a terminal state that cannot be+-- recovered.+dataRepositoryConfiguration_lifecycle :: Lens.Lens' DataRepositoryConfiguration (Prelude.Maybe DataRepositoryLifecycle)+dataRepositoryConfiguration_lifecycle = Lens.lens (\DataRepositoryConfiguration' {lifecycle} -> lifecycle) (\s@DataRepositoryConfiguration' {} a -> s {lifecycle = a} :: DataRepositoryConfiguration)++instance Data.FromJSON DataRepositoryConfiguration where+ parseJSON =+ Data.withObject+ "DataRepositoryConfiguration"+ ( \x ->+ DataRepositoryConfiguration'+ Prelude.<$> (x Data..:? "AutoImportPolicy")+ Prelude.<*> (x Data..:? "ExportPath")+ Prelude.<*> (x Data..:? "FailureDetails")+ Prelude.<*> (x Data..:? "ImportPath")+ Prelude.<*> (x Data..:? "ImportedFileChunkSize")+ Prelude.<*> (x Data..:? "Lifecycle")+ )++instance Prelude.Hashable DataRepositoryConfiguration where+ hashWithSalt _salt DataRepositoryConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` autoImportPolicy+ `Prelude.hashWithSalt` exportPath+ `Prelude.hashWithSalt` failureDetails+ `Prelude.hashWithSalt` importPath+ `Prelude.hashWithSalt` importedFileChunkSize+ `Prelude.hashWithSalt` lifecycle++instance Prelude.NFData DataRepositoryConfiguration where+ rnf DataRepositoryConfiguration' {..} =+ Prelude.rnf autoImportPolicy+ `Prelude.seq` Prelude.rnf exportPath+ `Prelude.seq` Prelude.rnf failureDetails+ `Prelude.seq` Prelude.rnf importPath+ `Prelude.seq` Prelude.rnf importedFileChunkSize+ `Prelude.seq` Prelude.rnf lifecycle
+ gen/Amazonka/FSx/Types/DataRepositoryFailureDetails.hs view
@@ -0,0 +1,75 @@+{-# 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.FSx.Types.DataRepositoryFailureDetails+-- 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.FSx.Types.DataRepositoryFailureDetails 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++-- | Provides detailed information about the data repository if its+-- @Lifecycle@ is set to @MISCONFIGURED@ or @FAILED@.+--+-- /See:/ 'newDataRepositoryFailureDetails' smart constructor.+data DataRepositoryFailureDetails = DataRepositoryFailureDetails'+ { message :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DataRepositoryFailureDetails' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'message', 'dataRepositoryFailureDetails_message' - Undocumented member.+newDataRepositoryFailureDetails ::+ DataRepositoryFailureDetails+newDataRepositoryFailureDetails =+ DataRepositoryFailureDetails'+ { message =+ Prelude.Nothing+ }++-- | Undocumented member.+dataRepositoryFailureDetails_message :: Lens.Lens' DataRepositoryFailureDetails (Prelude.Maybe Prelude.Text)+dataRepositoryFailureDetails_message = Lens.lens (\DataRepositoryFailureDetails' {message} -> message) (\s@DataRepositoryFailureDetails' {} a -> s {message = a} :: DataRepositoryFailureDetails)++instance Data.FromJSON DataRepositoryFailureDetails where+ parseJSON =+ Data.withObject+ "DataRepositoryFailureDetails"+ ( \x ->+ DataRepositoryFailureDetails'+ Prelude.<$> (x Data..:? "Message")+ )++instance+ Prelude.Hashable+ DataRepositoryFailureDetails+ where+ hashWithSalt _salt DataRepositoryFailureDetails' {..} =+ _salt `Prelude.hashWithSalt` message++instance Prelude.NFData DataRepositoryFailureDetails where+ rnf DataRepositoryFailureDetails' {..} =+ Prelude.rnf message
+ gen/Amazonka/FSx/Types/DataRepositoryLifecycle.hs view
@@ -0,0 +1,91 @@+{-# 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.FSx.Types.DataRepositoryLifecycle+-- 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.FSx.Types.DataRepositoryLifecycle+ ( DataRepositoryLifecycle+ ( ..,+ DataRepositoryLifecycle_AVAILABLE,+ DataRepositoryLifecycle_CREATING,+ DataRepositoryLifecycle_DELETING,+ DataRepositoryLifecycle_FAILED,+ DataRepositoryLifecycle_MISCONFIGURED,+ DataRepositoryLifecycle_UPDATING+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DataRepositoryLifecycle = DataRepositoryLifecycle'+ { fromDataRepositoryLifecycle ::+ 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 DataRepositoryLifecycle_AVAILABLE :: DataRepositoryLifecycle+pattern DataRepositoryLifecycle_AVAILABLE = DataRepositoryLifecycle' "AVAILABLE"++pattern DataRepositoryLifecycle_CREATING :: DataRepositoryLifecycle+pattern DataRepositoryLifecycle_CREATING = DataRepositoryLifecycle' "CREATING"++pattern DataRepositoryLifecycle_DELETING :: DataRepositoryLifecycle+pattern DataRepositoryLifecycle_DELETING = DataRepositoryLifecycle' "DELETING"++pattern DataRepositoryLifecycle_FAILED :: DataRepositoryLifecycle+pattern DataRepositoryLifecycle_FAILED = DataRepositoryLifecycle' "FAILED"++pattern DataRepositoryLifecycle_MISCONFIGURED :: DataRepositoryLifecycle+pattern DataRepositoryLifecycle_MISCONFIGURED = DataRepositoryLifecycle' "MISCONFIGURED"++pattern DataRepositoryLifecycle_UPDATING :: DataRepositoryLifecycle+pattern DataRepositoryLifecycle_UPDATING = DataRepositoryLifecycle' "UPDATING"++{-# COMPLETE+ DataRepositoryLifecycle_AVAILABLE,+ DataRepositoryLifecycle_CREATING,+ DataRepositoryLifecycle_DELETING,+ DataRepositoryLifecycle_FAILED,+ DataRepositoryLifecycle_MISCONFIGURED,+ DataRepositoryLifecycle_UPDATING,+ DataRepositoryLifecycle'+ #-}
+ gen/Amazonka/FSx/Types/DataRepositoryTask.hs view
@@ -0,0 +1,378 @@+{-# 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.FSx.Types.DataRepositoryTask+-- 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.FSx.Types.DataRepositoryTask where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types.CompletionReport+import Amazonka.FSx.Types.DataRepositoryTaskFailureDetails+import Amazonka.FSx.Types.DataRepositoryTaskLifecycle+import Amazonka.FSx.Types.DataRepositoryTaskStatus+import Amazonka.FSx.Types.DataRepositoryTaskType+import Amazonka.FSx.Types.Tag+import qualified Amazonka.Prelude as Prelude++-- | A description of the data repository task. You use data repository tasks+-- to perform bulk transfer operations between an Amazon FSx for Lustre+-- file system and a linked data repository. An Amazon File Cache resource+-- uses a task to automatically release files from the cache.+--+-- /See:/ 'newDataRepositoryTask' smart constructor.+data DataRepositoryTask = DataRepositoryTask'+ { -- | Specifies the amount of data to release, in GiB, by an Amazon File Cache+ -- AUTO_RELEASE_DATA task that automatically releases files from the cache.+ capacityToRelease :: Prelude.Maybe Prelude.Natural,+ -- | The time the system completed processing the task, populated after the+ -- task is complete.+ endTime :: Prelude.Maybe Data.POSIX,+ -- | Failure message describing why the task failed, it is populated only+ -- when @Lifecycle@ is set to @FAILED@.+ failureDetails :: Prelude.Maybe DataRepositoryTaskFailureDetails,+ -- | The system-generated, unique ID of the cache.+ fileCacheId :: Prelude.Maybe Prelude.Text,+ -- | The globally unique ID of the file system.+ fileSystemId :: Prelude.Maybe Prelude.Text,+ -- | An array of paths that specify the data for the data repository task to+ -- process. For example, in an EXPORT_TO_REPOSITORY task, the paths specify+ -- which data to export to the linked data repository.+ --+ -- (Default) If @Paths@ is not specified, Amazon FSx uses the file system+ -- root directory.+ paths :: Prelude.Maybe [Prelude.Text],+ report :: Prelude.Maybe CompletionReport,+ resourceARN :: Prelude.Maybe Prelude.Text,+ -- | The time the system began processing the task.+ startTime :: Prelude.Maybe Data.POSIX,+ -- | Provides the status of the number of files that the task has processed+ -- successfully and failed to process.+ status :: Prelude.Maybe DataRepositoryTaskStatus,+ tags :: Prelude.Maybe (Prelude.NonEmpty Tag),+ -- | The system-generated, unique 17-digit ID of the data repository task.+ taskId :: Prelude.Text,+ -- | The lifecycle status of the data repository task, as follows:+ --+ -- - @PENDING@ - The task has not started.+ --+ -- - @EXECUTING@ - The task is in process.+ --+ -- - @FAILED@ - The task was not able to be completed. For example, there+ -- may be files the task failed to process. The+ -- DataRepositoryTaskFailureDetails property provides more information+ -- about task failures.+ --+ -- - @SUCCEEDED@ - The task has completed successfully.+ --+ -- - @CANCELED@ - The task was canceled and it did not complete.+ --+ -- - @CANCELING@ - The task is in process of being canceled.+ --+ -- You cannot delete an FSx for Lustre file system if there are data+ -- repository tasks for the file system in the @PENDING@ or @EXECUTING@+ -- states. Please retry when the data repository task is finished (with a+ -- status of @CANCELED@, @SUCCEEDED@, or @FAILED@). You can use the+ -- DescribeDataRepositoryTask action to monitor the task status. Contact+ -- the FSx team if you need to delete your file system immediately.+ lifecycle :: DataRepositoryTaskLifecycle,+ -- | The type of data repository task.+ --+ -- - @EXPORT_TO_REPOSITORY@ tasks export from your Amazon FSx for Lustre+ -- file system to a linked data repository.+ --+ -- - @IMPORT_METADATA_FROM_REPOSITORY@ tasks import metadata changes from+ -- a linked S3 bucket to your Amazon FSx for Lustre file system.+ --+ -- - @AUTO_RELEASE_DATA@ tasks automatically release files from an Amazon+ -- File Cache resource.+ type' :: DataRepositoryTaskType,+ creationTime :: Data.POSIX+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DataRepositoryTask' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'capacityToRelease', 'dataRepositoryTask_capacityToRelease' - Specifies the amount of data to release, in GiB, by an Amazon File Cache+-- AUTO_RELEASE_DATA task that automatically releases files from the cache.+--+-- 'endTime', 'dataRepositoryTask_endTime' - The time the system completed processing the task, populated after the+-- task is complete.+--+-- 'failureDetails', 'dataRepositoryTask_failureDetails' - Failure message describing why the task failed, it is populated only+-- when @Lifecycle@ is set to @FAILED@.+--+-- 'fileCacheId', 'dataRepositoryTask_fileCacheId' - The system-generated, unique ID of the cache.+--+-- 'fileSystemId', 'dataRepositoryTask_fileSystemId' - The globally unique ID of the file system.+--+-- 'paths', 'dataRepositoryTask_paths' - An array of paths that specify the data for the data repository task to+-- process. For example, in an EXPORT_TO_REPOSITORY task, the paths specify+-- which data to export to the linked data repository.+--+-- (Default) If @Paths@ is not specified, Amazon FSx uses the file system+-- root directory.+--+-- 'report', 'dataRepositoryTask_report' - Undocumented member.+--+-- 'resourceARN', 'dataRepositoryTask_resourceARN' - Undocumented member.+--+-- 'startTime', 'dataRepositoryTask_startTime' - The time the system began processing the task.+--+-- 'status', 'dataRepositoryTask_status' - Provides the status of the number of files that the task has processed+-- successfully and failed to process.+--+-- 'tags', 'dataRepositoryTask_tags' - Undocumented member.+--+-- 'taskId', 'dataRepositoryTask_taskId' - The system-generated, unique 17-digit ID of the data repository task.+--+-- 'lifecycle', 'dataRepositoryTask_lifecycle' - The lifecycle status of the data repository task, as follows:+--+-- - @PENDING@ - The task has not started.+--+-- - @EXECUTING@ - The task is in process.+--+-- - @FAILED@ - The task was not able to be completed. For example, there+-- may be files the task failed to process. The+-- DataRepositoryTaskFailureDetails property provides more information+-- about task failures.+--+-- - @SUCCEEDED@ - The task has completed successfully.+--+-- - @CANCELED@ - The task was canceled and it did not complete.+--+-- - @CANCELING@ - The task is in process of being canceled.+--+-- You cannot delete an FSx for Lustre file system if there are data+-- repository tasks for the file system in the @PENDING@ or @EXECUTING@+-- states. Please retry when the data repository task is finished (with a+-- status of @CANCELED@, @SUCCEEDED@, or @FAILED@). You can use the+-- DescribeDataRepositoryTask action to monitor the task status. Contact+-- the FSx team if you need to delete your file system immediately.+--+-- 'type'', 'dataRepositoryTask_type' - The type of data repository task.+--+-- - @EXPORT_TO_REPOSITORY@ tasks export from your Amazon FSx for Lustre+-- file system to a linked data repository.+--+-- - @IMPORT_METADATA_FROM_REPOSITORY@ tasks import metadata changes from+-- a linked S3 bucket to your Amazon FSx for Lustre file system.+--+-- - @AUTO_RELEASE_DATA@ tasks automatically release files from an Amazon+-- File Cache resource.+--+-- 'creationTime', 'dataRepositoryTask_creationTime' - Undocumented member.+newDataRepositoryTask ::+ -- | 'taskId'+ Prelude.Text ->+ -- | 'lifecycle'+ DataRepositoryTaskLifecycle ->+ -- | 'type''+ DataRepositoryTaskType ->+ -- | 'creationTime'+ Prelude.UTCTime ->+ DataRepositoryTask+newDataRepositoryTask+ pTaskId_+ pLifecycle_+ pType_+ pCreationTime_ =+ DataRepositoryTask'+ { capacityToRelease =+ Prelude.Nothing,+ endTime = Prelude.Nothing,+ failureDetails = Prelude.Nothing,+ fileCacheId = Prelude.Nothing,+ fileSystemId = Prelude.Nothing,+ paths = Prelude.Nothing,+ report = Prelude.Nothing,+ resourceARN = Prelude.Nothing,+ startTime = Prelude.Nothing,+ status = Prelude.Nothing,+ tags = Prelude.Nothing,+ taskId = pTaskId_,+ lifecycle = pLifecycle_,+ type' = pType_,+ creationTime = Data._Time Lens.# pCreationTime_+ }++-- | Specifies the amount of data to release, in GiB, by an Amazon File Cache+-- AUTO_RELEASE_DATA task that automatically releases files from the cache.+dataRepositoryTask_capacityToRelease :: Lens.Lens' DataRepositoryTask (Prelude.Maybe Prelude.Natural)+dataRepositoryTask_capacityToRelease = Lens.lens (\DataRepositoryTask' {capacityToRelease} -> capacityToRelease) (\s@DataRepositoryTask' {} a -> s {capacityToRelease = a} :: DataRepositoryTask)++-- | The time the system completed processing the task, populated after the+-- task is complete.+dataRepositoryTask_endTime :: Lens.Lens' DataRepositoryTask (Prelude.Maybe Prelude.UTCTime)+dataRepositoryTask_endTime = Lens.lens (\DataRepositoryTask' {endTime} -> endTime) (\s@DataRepositoryTask' {} a -> s {endTime = a} :: DataRepositoryTask) Prelude.. Lens.mapping Data._Time++-- | Failure message describing why the task failed, it is populated only+-- when @Lifecycle@ is set to @FAILED@.+dataRepositoryTask_failureDetails :: Lens.Lens' DataRepositoryTask (Prelude.Maybe DataRepositoryTaskFailureDetails)+dataRepositoryTask_failureDetails = Lens.lens (\DataRepositoryTask' {failureDetails} -> failureDetails) (\s@DataRepositoryTask' {} a -> s {failureDetails = a} :: DataRepositoryTask)++-- | The system-generated, unique ID of the cache.+dataRepositoryTask_fileCacheId :: Lens.Lens' DataRepositoryTask (Prelude.Maybe Prelude.Text)+dataRepositoryTask_fileCacheId = Lens.lens (\DataRepositoryTask' {fileCacheId} -> fileCacheId) (\s@DataRepositoryTask' {} a -> s {fileCacheId = a} :: DataRepositoryTask)++-- | The globally unique ID of the file system.+dataRepositoryTask_fileSystemId :: Lens.Lens' DataRepositoryTask (Prelude.Maybe Prelude.Text)+dataRepositoryTask_fileSystemId = Lens.lens (\DataRepositoryTask' {fileSystemId} -> fileSystemId) (\s@DataRepositoryTask' {} a -> s {fileSystemId = a} :: DataRepositoryTask)++-- | An array of paths that specify the data for the data repository task to+-- process. For example, in an EXPORT_TO_REPOSITORY task, the paths specify+-- which data to export to the linked data repository.+--+-- (Default) If @Paths@ is not specified, Amazon FSx uses the file system+-- root directory.+dataRepositoryTask_paths :: Lens.Lens' DataRepositoryTask (Prelude.Maybe [Prelude.Text])+dataRepositoryTask_paths = Lens.lens (\DataRepositoryTask' {paths} -> paths) (\s@DataRepositoryTask' {} a -> s {paths = a} :: DataRepositoryTask) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+dataRepositoryTask_report :: Lens.Lens' DataRepositoryTask (Prelude.Maybe CompletionReport)+dataRepositoryTask_report = Lens.lens (\DataRepositoryTask' {report} -> report) (\s@DataRepositoryTask' {} a -> s {report = a} :: DataRepositoryTask)++-- | Undocumented member.+dataRepositoryTask_resourceARN :: Lens.Lens' DataRepositoryTask (Prelude.Maybe Prelude.Text)+dataRepositoryTask_resourceARN = Lens.lens (\DataRepositoryTask' {resourceARN} -> resourceARN) (\s@DataRepositoryTask' {} a -> s {resourceARN = a} :: DataRepositoryTask)++-- | The time the system began processing the task.+dataRepositoryTask_startTime :: Lens.Lens' DataRepositoryTask (Prelude.Maybe Prelude.UTCTime)+dataRepositoryTask_startTime = Lens.lens (\DataRepositoryTask' {startTime} -> startTime) (\s@DataRepositoryTask' {} a -> s {startTime = a} :: DataRepositoryTask) Prelude.. Lens.mapping Data._Time++-- | Provides the status of the number of files that the task has processed+-- successfully and failed to process.+dataRepositoryTask_status :: Lens.Lens' DataRepositoryTask (Prelude.Maybe DataRepositoryTaskStatus)+dataRepositoryTask_status = Lens.lens (\DataRepositoryTask' {status} -> status) (\s@DataRepositoryTask' {} a -> s {status = a} :: DataRepositoryTask)++-- | Undocumented member.+dataRepositoryTask_tags :: Lens.Lens' DataRepositoryTask (Prelude.Maybe (Prelude.NonEmpty Tag))+dataRepositoryTask_tags = Lens.lens (\DataRepositoryTask' {tags} -> tags) (\s@DataRepositoryTask' {} a -> s {tags = a} :: DataRepositoryTask) Prelude.. Lens.mapping Lens.coerced++-- | The system-generated, unique 17-digit ID of the data repository task.+dataRepositoryTask_taskId :: Lens.Lens' DataRepositoryTask Prelude.Text+dataRepositoryTask_taskId = Lens.lens (\DataRepositoryTask' {taskId} -> taskId) (\s@DataRepositoryTask' {} a -> s {taskId = a} :: DataRepositoryTask)++-- | The lifecycle status of the data repository task, as follows:+--+-- - @PENDING@ - The task has not started.+--+-- - @EXECUTING@ - The task is in process.+--+-- - @FAILED@ - The task was not able to be completed. For example, there+-- may be files the task failed to process. The+-- DataRepositoryTaskFailureDetails property provides more information+-- about task failures.+--+-- - @SUCCEEDED@ - The task has completed successfully.+--+-- - @CANCELED@ - The task was canceled and it did not complete.+--+-- - @CANCELING@ - The task is in process of being canceled.+--+-- You cannot delete an FSx for Lustre file system if there are data+-- repository tasks for the file system in the @PENDING@ or @EXECUTING@+-- states. Please retry when the data repository task is finished (with a+-- status of @CANCELED@, @SUCCEEDED@, or @FAILED@). You can use the+-- DescribeDataRepositoryTask action to monitor the task status. Contact+-- the FSx team if you need to delete your file system immediately.+dataRepositoryTask_lifecycle :: Lens.Lens' DataRepositoryTask DataRepositoryTaskLifecycle+dataRepositoryTask_lifecycle = Lens.lens (\DataRepositoryTask' {lifecycle} -> lifecycle) (\s@DataRepositoryTask' {} a -> s {lifecycle = a} :: DataRepositoryTask)++-- | The type of data repository task.+--+-- - @EXPORT_TO_REPOSITORY@ tasks export from your Amazon FSx for Lustre+-- file system to a linked data repository.+--+-- - @IMPORT_METADATA_FROM_REPOSITORY@ tasks import metadata changes from+-- a linked S3 bucket to your Amazon FSx for Lustre file system.+--+-- - @AUTO_RELEASE_DATA@ tasks automatically release files from an Amazon+-- File Cache resource.+dataRepositoryTask_type :: Lens.Lens' DataRepositoryTask DataRepositoryTaskType+dataRepositoryTask_type = Lens.lens (\DataRepositoryTask' {type'} -> type') (\s@DataRepositoryTask' {} a -> s {type' = a} :: DataRepositoryTask)++-- | Undocumented member.+dataRepositoryTask_creationTime :: Lens.Lens' DataRepositoryTask Prelude.UTCTime+dataRepositoryTask_creationTime = Lens.lens (\DataRepositoryTask' {creationTime} -> creationTime) (\s@DataRepositoryTask' {} a -> s {creationTime = a} :: DataRepositoryTask) Prelude.. Data._Time++instance Data.FromJSON DataRepositoryTask where+ parseJSON =+ Data.withObject+ "DataRepositoryTask"+ ( \x ->+ DataRepositoryTask'+ Prelude.<$> (x Data..:? "CapacityToRelease")+ Prelude.<*> (x Data..:? "EndTime")+ Prelude.<*> (x Data..:? "FailureDetails")+ Prelude.<*> (x Data..:? "FileCacheId")+ Prelude.<*> (x Data..:? "FileSystemId")+ Prelude.<*> (x Data..:? "Paths" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "Report")+ Prelude.<*> (x Data..:? "ResourceARN")+ Prelude.<*> (x Data..:? "StartTime")+ Prelude.<*> (x Data..:? "Status")+ Prelude.<*> (x Data..:? "Tags")+ Prelude.<*> (x Data..: "TaskId")+ Prelude.<*> (x Data..: "Lifecycle")+ Prelude.<*> (x Data..: "Type")+ Prelude.<*> (x Data..: "CreationTime")+ )++instance Prelude.Hashable DataRepositoryTask where+ hashWithSalt _salt DataRepositoryTask' {..} =+ _salt+ `Prelude.hashWithSalt` capacityToRelease+ `Prelude.hashWithSalt` endTime+ `Prelude.hashWithSalt` failureDetails+ `Prelude.hashWithSalt` fileCacheId+ `Prelude.hashWithSalt` fileSystemId+ `Prelude.hashWithSalt` paths+ `Prelude.hashWithSalt` report+ `Prelude.hashWithSalt` resourceARN+ `Prelude.hashWithSalt` startTime+ `Prelude.hashWithSalt` status+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` taskId+ `Prelude.hashWithSalt` lifecycle+ `Prelude.hashWithSalt` type'+ `Prelude.hashWithSalt` creationTime++instance Prelude.NFData DataRepositoryTask where+ rnf DataRepositoryTask' {..} =+ Prelude.rnf capacityToRelease+ `Prelude.seq` Prelude.rnf endTime+ `Prelude.seq` Prelude.rnf failureDetails+ `Prelude.seq` Prelude.rnf fileCacheId+ `Prelude.seq` Prelude.rnf fileSystemId+ `Prelude.seq` Prelude.rnf paths+ `Prelude.seq` Prelude.rnf report+ `Prelude.seq` Prelude.rnf resourceARN+ `Prelude.seq` Prelude.rnf startTime+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf taskId+ `Prelude.seq` Prelude.rnf lifecycle+ `Prelude.seq` Prelude.rnf type'+ `Prelude.seq` Prelude.rnf creationTime
+ gen/Amazonka/FSx/Types/DataRepositoryTaskFailureDetails.hs view
@@ -0,0 +1,83 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FSx.Types.DataRepositoryTaskFailureDetails+-- 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.FSx.Types.DataRepositoryTaskFailureDetails 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++-- | Provides information about why a data repository task failed. Only+-- populated when the task @Lifecycle@ is set to @FAILED@.+--+-- /See:/ 'newDataRepositoryTaskFailureDetails' smart constructor.+data DataRepositoryTaskFailureDetails = DataRepositoryTaskFailureDetails'+ { message :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DataRepositoryTaskFailureDetails' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'message', 'dataRepositoryTaskFailureDetails_message' - Undocumented member.+newDataRepositoryTaskFailureDetails ::+ DataRepositoryTaskFailureDetails+newDataRepositoryTaskFailureDetails =+ DataRepositoryTaskFailureDetails'+ { message =+ Prelude.Nothing+ }++-- | Undocumented member.+dataRepositoryTaskFailureDetails_message :: Lens.Lens' DataRepositoryTaskFailureDetails (Prelude.Maybe Prelude.Text)+dataRepositoryTaskFailureDetails_message = Lens.lens (\DataRepositoryTaskFailureDetails' {message} -> message) (\s@DataRepositoryTaskFailureDetails' {} a -> s {message = a} :: DataRepositoryTaskFailureDetails)++instance+ Data.FromJSON+ DataRepositoryTaskFailureDetails+ where+ parseJSON =+ Data.withObject+ "DataRepositoryTaskFailureDetails"+ ( \x ->+ DataRepositoryTaskFailureDetails'+ Prelude.<$> (x Data..:? "Message")+ )++instance+ Prelude.Hashable+ DataRepositoryTaskFailureDetails+ where+ hashWithSalt+ _salt+ DataRepositoryTaskFailureDetails' {..} =+ _salt `Prelude.hashWithSalt` message++instance+ Prelude.NFData+ DataRepositoryTaskFailureDetails+ where+ rnf DataRepositoryTaskFailureDetails' {..} =+ Prelude.rnf message
+ gen/Amazonka/FSx/Types/DataRepositoryTaskFilter.hs view
@@ -0,0 +1,114 @@+{-# 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.FSx.Types.DataRepositoryTaskFilter+-- 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.FSx.Types.DataRepositoryTaskFilter where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types.DataRepositoryTaskFilterName+import qualified Amazonka.Prelude as Prelude++-- | (Optional) An array of filter objects you can use to filter the response+-- of data repository tasks you will see in the the response. You can+-- filter the tasks returned in the response by one or more file system+-- IDs, task lifecycles, and by task type. A filter object consists of a+-- filter @Name@, and one or more @Values@ for the filter.+--+-- /See:/ 'newDataRepositoryTaskFilter' smart constructor.+data DataRepositoryTaskFilter = DataRepositoryTaskFilter'+ { -- | Name of the task property to use in filtering the tasks returned in the+ -- response.+ --+ -- - Use @file-system-id@ to retrieve data repository tasks for specific+ -- file systems.+ --+ -- - Use @task-lifecycle@ to retrieve data repository tasks with one or+ -- more specific lifecycle states, as follows: CANCELED, EXECUTING,+ -- FAILED, PENDING, and SUCCEEDED.+ name :: Prelude.Maybe DataRepositoryTaskFilterName,+ -- | Use Values to include the specific file system IDs and task lifecycle+ -- states for the filters you are using.+ values :: Prelude.Maybe [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DataRepositoryTaskFilter' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'dataRepositoryTaskFilter_name' - Name of the task property to use in filtering the tasks returned in the+-- response.+--+-- - Use @file-system-id@ to retrieve data repository tasks for specific+-- file systems.+--+-- - Use @task-lifecycle@ to retrieve data repository tasks with one or+-- more specific lifecycle states, as follows: CANCELED, EXECUTING,+-- FAILED, PENDING, and SUCCEEDED.+--+-- 'values', 'dataRepositoryTaskFilter_values' - Use Values to include the specific file system IDs and task lifecycle+-- states for the filters you are using.+newDataRepositoryTaskFilter ::+ DataRepositoryTaskFilter+newDataRepositoryTaskFilter =+ DataRepositoryTaskFilter'+ { name = Prelude.Nothing,+ values = Prelude.Nothing+ }++-- | Name of the task property to use in filtering the tasks returned in the+-- response.+--+-- - Use @file-system-id@ to retrieve data repository tasks for specific+-- file systems.+--+-- - Use @task-lifecycle@ to retrieve data repository tasks with one or+-- more specific lifecycle states, as follows: CANCELED, EXECUTING,+-- FAILED, PENDING, and SUCCEEDED.+dataRepositoryTaskFilter_name :: Lens.Lens' DataRepositoryTaskFilter (Prelude.Maybe DataRepositoryTaskFilterName)+dataRepositoryTaskFilter_name = Lens.lens (\DataRepositoryTaskFilter' {name} -> name) (\s@DataRepositoryTaskFilter' {} a -> s {name = a} :: DataRepositoryTaskFilter)++-- | Use Values to include the specific file system IDs and task lifecycle+-- states for the filters you are using.+dataRepositoryTaskFilter_values :: Lens.Lens' DataRepositoryTaskFilter (Prelude.Maybe [Prelude.Text])+dataRepositoryTaskFilter_values = Lens.lens (\DataRepositoryTaskFilter' {values} -> values) (\s@DataRepositoryTaskFilter' {} a -> s {values = a} :: DataRepositoryTaskFilter) Prelude.. Lens.mapping Lens.coerced++instance Prelude.Hashable DataRepositoryTaskFilter where+ hashWithSalt _salt DataRepositoryTaskFilter' {..} =+ _salt+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` values++instance Prelude.NFData DataRepositoryTaskFilter where+ rnf DataRepositoryTaskFilter' {..} =+ Prelude.rnf name `Prelude.seq` Prelude.rnf values++instance Data.ToJSON DataRepositoryTaskFilter where+ toJSON DataRepositoryTaskFilter' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Name" Data..=) Prelude.<$> name,+ ("Values" Data..=) Prelude.<$> values+ ]+ )
+ gen/Amazonka/FSx/Types/DataRepositoryTaskFilterName.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.FSx.Types.DataRepositoryTaskFilterName+-- 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.FSx.Types.DataRepositoryTaskFilterName+ ( DataRepositoryTaskFilterName+ ( ..,+ DataRepositoryTaskFilterName_Data_repository_association_id,+ DataRepositoryTaskFilterName_File_cache_id,+ DataRepositoryTaskFilterName_File_system_id,+ DataRepositoryTaskFilterName_Task_lifecycle+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DataRepositoryTaskFilterName = DataRepositoryTaskFilterName'+ { fromDataRepositoryTaskFilterName ::+ 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 DataRepositoryTaskFilterName_Data_repository_association_id :: DataRepositoryTaskFilterName+pattern DataRepositoryTaskFilterName_Data_repository_association_id = DataRepositoryTaskFilterName' "data-repository-association-id"++pattern DataRepositoryTaskFilterName_File_cache_id :: DataRepositoryTaskFilterName+pattern DataRepositoryTaskFilterName_File_cache_id = DataRepositoryTaskFilterName' "file-cache-id"++pattern DataRepositoryTaskFilterName_File_system_id :: DataRepositoryTaskFilterName+pattern DataRepositoryTaskFilterName_File_system_id = DataRepositoryTaskFilterName' "file-system-id"++pattern DataRepositoryTaskFilterName_Task_lifecycle :: DataRepositoryTaskFilterName+pattern DataRepositoryTaskFilterName_Task_lifecycle = DataRepositoryTaskFilterName' "task-lifecycle"++{-# COMPLETE+ DataRepositoryTaskFilterName_Data_repository_association_id,+ DataRepositoryTaskFilterName_File_cache_id,+ DataRepositoryTaskFilterName_File_system_id,+ DataRepositoryTaskFilterName_Task_lifecycle,+ DataRepositoryTaskFilterName'+ #-}
+ gen/Amazonka/FSx/Types/DataRepositoryTaskLifecycle.hs view
@@ -0,0 +1,91 @@+{-# 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.FSx.Types.DataRepositoryTaskLifecycle+-- 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.FSx.Types.DataRepositoryTaskLifecycle+ ( DataRepositoryTaskLifecycle+ ( ..,+ DataRepositoryTaskLifecycle_CANCELED,+ DataRepositoryTaskLifecycle_CANCELING,+ DataRepositoryTaskLifecycle_EXECUTING,+ DataRepositoryTaskLifecycle_FAILED,+ DataRepositoryTaskLifecycle_PENDING,+ DataRepositoryTaskLifecycle_SUCCEEDED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DataRepositoryTaskLifecycle = DataRepositoryTaskLifecycle'+ { fromDataRepositoryTaskLifecycle ::+ 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 DataRepositoryTaskLifecycle_CANCELED :: DataRepositoryTaskLifecycle+pattern DataRepositoryTaskLifecycle_CANCELED = DataRepositoryTaskLifecycle' "CANCELED"++pattern DataRepositoryTaskLifecycle_CANCELING :: DataRepositoryTaskLifecycle+pattern DataRepositoryTaskLifecycle_CANCELING = DataRepositoryTaskLifecycle' "CANCELING"++pattern DataRepositoryTaskLifecycle_EXECUTING :: DataRepositoryTaskLifecycle+pattern DataRepositoryTaskLifecycle_EXECUTING = DataRepositoryTaskLifecycle' "EXECUTING"++pattern DataRepositoryTaskLifecycle_FAILED :: DataRepositoryTaskLifecycle+pattern DataRepositoryTaskLifecycle_FAILED = DataRepositoryTaskLifecycle' "FAILED"++pattern DataRepositoryTaskLifecycle_PENDING :: DataRepositoryTaskLifecycle+pattern DataRepositoryTaskLifecycle_PENDING = DataRepositoryTaskLifecycle' "PENDING"++pattern DataRepositoryTaskLifecycle_SUCCEEDED :: DataRepositoryTaskLifecycle+pattern DataRepositoryTaskLifecycle_SUCCEEDED = DataRepositoryTaskLifecycle' "SUCCEEDED"++{-# COMPLETE+ DataRepositoryTaskLifecycle_CANCELED,+ DataRepositoryTaskLifecycle_CANCELING,+ DataRepositoryTaskLifecycle_EXECUTING,+ DataRepositoryTaskLifecycle_FAILED,+ DataRepositoryTaskLifecycle_PENDING,+ DataRepositoryTaskLifecycle_SUCCEEDED,+ DataRepositoryTaskLifecycle'+ #-}
+ gen/Amazonka/FSx/Types/DataRepositoryTaskStatus.hs view
@@ -0,0 +1,138 @@+{-# 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.FSx.Types.DataRepositoryTaskStatus+-- 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.FSx.Types.DataRepositoryTaskStatus 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++-- | Provides the task status showing a running total of the total number of+-- files to be processed, the number successfully processed, and the number+-- of files the task failed to process.+--+-- /See:/ 'newDataRepositoryTaskStatus' smart constructor.+data DataRepositoryTaskStatus = DataRepositoryTaskStatus'+ { -- | A running total of the number of files that the task failed to process.+ failedCount :: Prelude.Maybe Prelude.Integer,+ -- | The time at which the task status was last updated.+ lastUpdatedTime :: Prelude.Maybe Data.POSIX,+ -- | The total amount of data, in GiB, released by an Amazon File Cache+ -- AUTO_RELEASE_DATA task that automatically releases files from the cache.+ releasedCapacity :: Prelude.Maybe Prelude.Integer,+ -- | A running total of the number of files that the task has successfully+ -- processed.+ succeededCount :: Prelude.Maybe Prelude.Integer,+ -- | The total number of files that the task will process. While a task is+ -- executing, the sum of @SucceededCount@ plus @FailedCount@ may not equal+ -- @TotalCount@. When the task is complete, @TotalCount@ equals the sum of+ -- @SucceededCount@ plus @FailedCount@.+ totalCount :: Prelude.Maybe Prelude.Integer+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DataRepositoryTaskStatus' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'failedCount', 'dataRepositoryTaskStatus_failedCount' - A running total of the number of files that the task failed to process.+--+-- 'lastUpdatedTime', 'dataRepositoryTaskStatus_lastUpdatedTime' - The time at which the task status was last updated.+--+-- 'releasedCapacity', 'dataRepositoryTaskStatus_releasedCapacity' - The total amount of data, in GiB, released by an Amazon File Cache+-- AUTO_RELEASE_DATA task that automatically releases files from the cache.+--+-- 'succeededCount', 'dataRepositoryTaskStatus_succeededCount' - A running total of the number of files that the task has successfully+-- processed.+--+-- 'totalCount', 'dataRepositoryTaskStatus_totalCount' - The total number of files that the task will process. While a task is+-- executing, the sum of @SucceededCount@ plus @FailedCount@ may not equal+-- @TotalCount@. When the task is complete, @TotalCount@ equals the sum of+-- @SucceededCount@ plus @FailedCount@.+newDataRepositoryTaskStatus ::+ DataRepositoryTaskStatus+newDataRepositoryTaskStatus =+ DataRepositoryTaskStatus'+ { failedCount =+ Prelude.Nothing,+ lastUpdatedTime = Prelude.Nothing,+ releasedCapacity = Prelude.Nothing,+ succeededCount = Prelude.Nothing,+ totalCount = Prelude.Nothing+ }++-- | A running total of the number of files that the task failed to process.+dataRepositoryTaskStatus_failedCount :: Lens.Lens' DataRepositoryTaskStatus (Prelude.Maybe Prelude.Integer)+dataRepositoryTaskStatus_failedCount = Lens.lens (\DataRepositoryTaskStatus' {failedCount} -> failedCount) (\s@DataRepositoryTaskStatus' {} a -> s {failedCount = a} :: DataRepositoryTaskStatus)++-- | The time at which the task status was last updated.+dataRepositoryTaskStatus_lastUpdatedTime :: Lens.Lens' DataRepositoryTaskStatus (Prelude.Maybe Prelude.UTCTime)+dataRepositoryTaskStatus_lastUpdatedTime = Lens.lens (\DataRepositoryTaskStatus' {lastUpdatedTime} -> lastUpdatedTime) (\s@DataRepositoryTaskStatus' {} a -> s {lastUpdatedTime = a} :: DataRepositoryTaskStatus) Prelude.. Lens.mapping Data._Time++-- | The total amount of data, in GiB, released by an Amazon File Cache+-- AUTO_RELEASE_DATA task that automatically releases files from the cache.+dataRepositoryTaskStatus_releasedCapacity :: Lens.Lens' DataRepositoryTaskStatus (Prelude.Maybe Prelude.Integer)+dataRepositoryTaskStatus_releasedCapacity = Lens.lens (\DataRepositoryTaskStatus' {releasedCapacity} -> releasedCapacity) (\s@DataRepositoryTaskStatus' {} a -> s {releasedCapacity = a} :: DataRepositoryTaskStatus)++-- | A running total of the number of files that the task has successfully+-- processed.+dataRepositoryTaskStatus_succeededCount :: Lens.Lens' DataRepositoryTaskStatus (Prelude.Maybe Prelude.Integer)+dataRepositoryTaskStatus_succeededCount = Lens.lens (\DataRepositoryTaskStatus' {succeededCount} -> succeededCount) (\s@DataRepositoryTaskStatus' {} a -> s {succeededCount = a} :: DataRepositoryTaskStatus)++-- | The total number of files that the task will process. While a task is+-- executing, the sum of @SucceededCount@ plus @FailedCount@ may not equal+-- @TotalCount@. When the task is complete, @TotalCount@ equals the sum of+-- @SucceededCount@ plus @FailedCount@.+dataRepositoryTaskStatus_totalCount :: Lens.Lens' DataRepositoryTaskStatus (Prelude.Maybe Prelude.Integer)+dataRepositoryTaskStatus_totalCount = Lens.lens (\DataRepositoryTaskStatus' {totalCount} -> totalCount) (\s@DataRepositoryTaskStatus' {} a -> s {totalCount = a} :: DataRepositoryTaskStatus)++instance Data.FromJSON DataRepositoryTaskStatus where+ parseJSON =+ Data.withObject+ "DataRepositoryTaskStatus"+ ( \x ->+ DataRepositoryTaskStatus'+ Prelude.<$> (x Data..:? "FailedCount")+ Prelude.<*> (x Data..:? "LastUpdatedTime")+ Prelude.<*> (x Data..:? "ReleasedCapacity")+ Prelude.<*> (x Data..:? "SucceededCount")+ Prelude.<*> (x Data..:? "TotalCount")+ )++instance Prelude.Hashable DataRepositoryTaskStatus where+ hashWithSalt _salt DataRepositoryTaskStatus' {..} =+ _salt+ `Prelude.hashWithSalt` failedCount+ `Prelude.hashWithSalt` lastUpdatedTime+ `Prelude.hashWithSalt` releasedCapacity+ `Prelude.hashWithSalt` succeededCount+ `Prelude.hashWithSalt` totalCount++instance Prelude.NFData DataRepositoryTaskStatus where+ rnf DataRepositoryTaskStatus' {..} =+ Prelude.rnf failedCount+ `Prelude.seq` Prelude.rnf lastUpdatedTime+ `Prelude.seq` Prelude.rnf releasedCapacity+ `Prelude.seq` Prelude.rnf succeededCount+ `Prelude.seq` Prelude.rnf totalCount
+ gen/Amazonka/FSx/Types/DataRepositoryTaskType.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.FSx.Types.DataRepositoryTaskType+-- 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.FSx.Types.DataRepositoryTaskType+ ( DataRepositoryTaskType+ ( ..,+ DataRepositoryTaskType_AUTO_RELEASE_DATA,+ DataRepositoryTaskType_EXPORT_TO_REPOSITORY,+ DataRepositoryTaskType_IMPORT_METADATA_FROM_REPOSITORY,+ DataRepositoryTaskType_RELEASE_DATA_FROM_FILESYSTEM+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DataRepositoryTaskType = DataRepositoryTaskType'+ { fromDataRepositoryTaskType ::+ 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 DataRepositoryTaskType_AUTO_RELEASE_DATA :: DataRepositoryTaskType+pattern DataRepositoryTaskType_AUTO_RELEASE_DATA = DataRepositoryTaskType' "AUTO_RELEASE_DATA"++pattern DataRepositoryTaskType_EXPORT_TO_REPOSITORY :: DataRepositoryTaskType+pattern DataRepositoryTaskType_EXPORT_TO_REPOSITORY = DataRepositoryTaskType' "EXPORT_TO_REPOSITORY"++pattern DataRepositoryTaskType_IMPORT_METADATA_FROM_REPOSITORY :: DataRepositoryTaskType+pattern DataRepositoryTaskType_IMPORT_METADATA_FROM_REPOSITORY = DataRepositoryTaskType' "IMPORT_METADATA_FROM_REPOSITORY"++pattern DataRepositoryTaskType_RELEASE_DATA_FROM_FILESYSTEM :: DataRepositoryTaskType+pattern DataRepositoryTaskType_RELEASE_DATA_FROM_FILESYSTEM = DataRepositoryTaskType' "RELEASE_DATA_FROM_FILESYSTEM"++{-# COMPLETE+ DataRepositoryTaskType_AUTO_RELEASE_DATA,+ DataRepositoryTaskType_EXPORT_TO_REPOSITORY,+ DataRepositoryTaskType_IMPORT_METADATA_FROM_REPOSITORY,+ DataRepositoryTaskType_RELEASE_DATA_FROM_FILESYSTEM,+ DataRepositoryTaskType'+ #-}
+ gen/Amazonka/FSx/Types/DeleteFileSystemLustreConfiguration.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.FSx.Types.DeleteFileSystemLustreConfiguration+-- 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.FSx.Types.DeleteFileSystemLustreConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types.Tag+import qualified Amazonka.Prelude as Prelude++-- | The configuration object for the Amazon FSx for Lustre file system being+-- deleted in the @DeleteFileSystem@ operation.+--+-- /See:/ 'newDeleteFileSystemLustreConfiguration' smart constructor.+data DeleteFileSystemLustreConfiguration = DeleteFileSystemLustreConfiguration'+ { -- | Use if @SkipFinalBackup@ is set to @false@, and you want to apply an+ -- array of tags to the final backup. If you have set the file system+ -- property @CopyTagsToBackups@ to true, and you specify one or more+ -- @FinalBackupTags@ when deleting a file system, Amazon FSx will not copy+ -- any existing file system tags to the backup.+ finalBackupTags :: Prelude.Maybe (Prelude.NonEmpty Tag),+ -- | Set @SkipFinalBackup@ to false if you want to take a final backup of the+ -- file system you are deleting. By default, Amazon FSx will not take a+ -- final backup on your behalf when the @DeleteFileSystem@ operation is+ -- invoked. (Default = true)+ --+ -- The @fsx:CreateBackup@ permission is required if you set+ -- @SkipFinalBackup@ to @false@ in order to delete the file system and take+ -- a final backup.+ skipFinalBackup :: Prelude.Maybe Prelude.Bool+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteFileSystemLustreConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'finalBackupTags', 'deleteFileSystemLustreConfiguration_finalBackupTags' - Use if @SkipFinalBackup@ is set to @false@, and you want to apply an+-- array of tags to the final backup. If you have set the file system+-- property @CopyTagsToBackups@ to true, and you specify one or more+-- @FinalBackupTags@ when deleting a file system, Amazon FSx will not copy+-- any existing file system tags to the backup.+--+-- 'skipFinalBackup', 'deleteFileSystemLustreConfiguration_skipFinalBackup' - Set @SkipFinalBackup@ to false if you want to take a final backup of the+-- file system you are deleting. By default, Amazon FSx will not take a+-- final backup on your behalf when the @DeleteFileSystem@ operation is+-- invoked. (Default = true)+--+-- The @fsx:CreateBackup@ permission is required if you set+-- @SkipFinalBackup@ to @false@ in order to delete the file system and take+-- a final backup.+newDeleteFileSystemLustreConfiguration ::+ DeleteFileSystemLustreConfiguration+newDeleteFileSystemLustreConfiguration =+ DeleteFileSystemLustreConfiguration'+ { finalBackupTags =+ Prelude.Nothing,+ skipFinalBackup = Prelude.Nothing+ }++-- | Use if @SkipFinalBackup@ is set to @false@, and you want to apply an+-- array of tags to the final backup. If you have set the file system+-- property @CopyTagsToBackups@ to true, and you specify one or more+-- @FinalBackupTags@ when deleting a file system, Amazon FSx will not copy+-- any existing file system tags to the backup.+deleteFileSystemLustreConfiguration_finalBackupTags :: Lens.Lens' DeleteFileSystemLustreConfiguration (Prelude.Maybe (Prelude.NonEmpty Tag))+deleteFileSystemLustreConfiguration_finalBackupTags = Lens.lens (\DeleteFileSystemLustreConfiguration' {finalBackupTags} -> finalBackupTags) (\s@DeleteFileSystemLustreConfiguration' {} a -> s {finalBackupTags = a} :: DeleteFileSystemLustreConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | Set @SkipFinalBackup@ to false if you want to take a final backup of the+-- file system you are deleting. By default, Amazon FSx will not take a+-- final backup on your behalf when the @DeleteFileSystem@ operation is+-- invoked. (Default = true)+--+-- The @fsx:CreateBackup@ permission is required if you set+-- @SkipFinalBackup@ to @false@ in order to delete the file system and take+-- a final backup.+deleteFileSystemLustreConfiguration_skipFinalBackup :: Lens.Lens' DeleteFileSystemLustreConfiguration (Prelude.Maybe Prelude.Bool)+deleteFileSystemLustreConfiguration_skipFinalBackup = Lens.lens (\DeleteFileSystemLustreConfiguration' {skipFinalBackup} -> skipFinalBackup) (\s@DeleteFileSystemLustreConfiguration' {} a -> s {skipFinalBackup = a} :: DeleteFileSystemLustreConfiguration)++instance+ Prelude.Hashable+ DeleteFileSystemLustreConfiguration+ where+ hashWithSalt+ _salt+ DeleteFileSystemLustreConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` finalBackupTags+ `Prelude.hashWithSalt` skipFinalBackup++instance+ Prelude.NFData+ DeleteFileSystemLustreConfiguration+ where+ rnf DeleteFileSystemLustreConfiguration' {..} =+ Prelude.rnf finalBackupTags+ `Prelude.seq` Prelude.rnf skipFinalBackup++instance+ Data.ToJSON+ DeleteFileSystemLustreConfiguration+ where+ toJSON DeleteFileSystemLustreConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("FinalBackupTags" Data..=)+ Prelude.<$> finalBackupTags,+ ("SkipFinalBackup" Data..=)+ Prelude.<$> skipFinalBackup+ ]+ )
+ gen/Amazonka/FSx/Types/DeleteFileSystemLustreResponse.hs view
@@ -0,0 +1,95 @@+{-# 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.FSx.Types.DeleteFileSystemLustreResponse+-- 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.FSx.Types.DeleteFileSystemLustreResponse where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types.Tag+import qualified Amazonka.Prelude as Prelude++-- | The response object for the Amazon FSx for Lustre file system being+-- deleted in the @DeleteFileSystem@ operation.+--+-- /See:/ 'newDeleteFileSystemLustreResponse' smart constructor.+data DeleteFileSystemLustreResponse = DeleteFileSystemLustreResponse'+ { -- | The ID of the final backup for this file system.+ finalBackupId :: Prelude.Maybe Prelude.Text,+ -- | The set of tags applied to the final backup.+ finalBackupTags :: Prelude.Maybe (Prelude.NonEmpty Tag)+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteFileSystemLustreResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'finalBackupId', 'deleteFileSystemLustreResponse_finalBackupId' - The ID of the final backup for this file system.+--+-- 'finalBackupTags', 'deleteFileSystemLustreResponse_finalBackupTags' - The set of tags applied to the final backup.+newDeleteFileSystemLustreResponse ::+ DeleteFileSystemLustreResponse+newDeleteFileSystemLustreResponse =+ DeleteFileSystemLustreResponse'+ { finalBackupId =+ Prelude.Nothing,+ finalBackupTags = Prelude.Nothing+ }++-- | The ID of the final backup for this file system.+deleteFileSystemLustreResponse_finalBackupId :: Lens.Lens' DeleteFileSystemLustreResponse (Prelude.Maybe Prelude.Text)+deleteFileSystemLustreResponse_finalBackupId = Lens.lens (\DeleteFileSystemLustreResponse' {finalBackupId} -> finalBackupId) (\s@DeleteFileSystemLustreResponse' {} a -> s {finalBackupId = a} :: DeleteFileSystemLustreResponse)++-- | The set of tags applied to the final backup.+deleteFileSystemLustreResponse_finalBackupTags :: Lens.Lens' DeleteFileSystemLustreResponse (Prelude.Maybe (Prelude.NonEmpty Tag))+deleteFileSystemLustreResponse_finalBackupTags = Lens.lens (\DeleteFileSystemLustreResponse' {finalBackupTags} -> finalBackupTags) (\s@DeleteFileSystemLustreResponse' {} a -> s {finalBackupTags = a} :: DeleteFileSystemLustreResponse) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON DeleteFileSystemLustreResponse where+ parseJSON =+ Data.withObject+ "DeleteFileSystemLustreResponse"+ ( \x ->+ DeleteFileSystemLustreResponse'+ Prelude.<$> (x Data..:? "FinalBackupId")+ Prelude.<*> (x Data..:? "FinalBackupTags")+ )++instance+ Prelude.Hashable+ DeleteFileSystemLustreResponse+ where+ hashWithSalt+ _salt+ DeleteFileSystemLustreResponse' {..} =+ _salt+ `Prelude.hashWithSalt` finalBackupId+ `Prelude.hashWithSalt` finalBackupTags++instance+ Prelude.NFData+ DeleteFileSystemLustreResponse+ where+ rnf DeleteFileSystemLustreResponse' {..} =+ Prelude.rnf finalBackupId+ `Prelude.seq` Prelude.rnf finalBackupTags
+ gen/Amazonka/FSx/Types/DeleteFileSystemOpenZFSConfiguration.hs view
@@ -0,0 +1,133 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FSx.Types.DeleteFileSystemOpenZFSConfiguration+-- 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.FSx.Types.DeleteFileSystemOpenZFSConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types.DeleteFileSystemOpenZFSOption+import Amazonka.FSx.Types.Tag+import qualified Amazonka.Prelude as Prelude++-- | The configuration object for the Amazon FSx for OpenZFS file system used+-- in the @DeleteFileSystem@ operation.+--+-- /See:/ 'newDeleteFileSystemOpenZFSConfiguration' smart constructor.+data DeleteFileSystemOpenZFSConfiguration = DeleteFileSystemOpenZFSConfiguration'+ { -- | A list of tags to apply to the file system\'s final backup.+ finalBackupTags :: Prelude.Maybe (Prelude.NonEmpty Tag),+ -- | To delete a file system if there are child volumes present below the+ -- root volume, use the string @DELETE_CHILD_VOLUMES_AND_SNAPSHOTS@. If+ -- your file system has child volumes and you don\'t use this option, the+ -- delete request will fail.+ options :: Prelude.Maybe [DeleteFileSystemOpenZFSOption],+ -- | By default, Amazon FSx for OpenZFS takes a final backup on your behalf+ -- when the @DeleteFileSystem@ operation is invoked. Doing this helps+ -- protect you from data loss, and we highly recommend taking the final+ -- backup. If you want to skip taking a final backup, set this value to+ -- @true@.+ skipFinalBackup :: Prelude.Maybe Prelude.Bool+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteFileSystemOpenZFSConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'finalBackupTags', 'deleteFileSystemOpenZFSConfiguration_finalBackupTags' - A list of tags to apply to the file system\'s final backup.+--+-- 'options', 'deleteFileSystemOpenZFSConfiguration_options' - To delete a file system if there are child volumes present below the+-- root volume, use the string @DELETE_CHILD_VOLUMES_AND_SNAPSHOTS@. If+-- your file system has child volumes and you don\'t use this option, the+-- delete request will fail.+--+-- 'skipFinalBackup', 'deleteFileSystemOpenZFSConfiguration_skipFinalBackup' - By default, Amazon FSx for OpenZFS takes a final backup on your behalf+-- when the @DeleteFileSystem@ operation is invoked. Doing this helps+-- protect you from data loss, and we highly recommend taking the final+-- backup. If you want to skip taking a final backup, set this value to+-- @true@.+newDeleteFileSystemOpenZFSConfiguration ::+ DeleteFileSystemOpenZFSConfiguration+newDeleteFileSystemOpenZFSConfiguration =+ DeleteFileSystemOpenZFSConfiguration'+ { finalBackupTags =+ Prelude.Nothing,+ options = Prelude.Nothing,+ skipFinalBackup = Prelude.Nothing+ }++-- | A list of tags to apply to the file system\'s final backup.+deleteFileSystemOpenZFSConfiguration_finalBackupTags :: Lens.Lens' DeleteFileSystemOpenZFSConfiguration (Prelude.Maybe (Prelude.NonEmpty Tag))+deleteFileSystemOpenZFSConfiguration_finalBackupTags = Lens.lens (\DeleteFileSystemOpenZFSConfiguration' {finalBackupTags} -> finalBackupTags) (\s@DeleteFileSystemOpenZFSConfiguration' {} a -> s {finalBackupTags = a} :: DeleteFileSystemOpenZFSConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | To delete a file system if there are child volumes present below the+-- root volume, use the string @DELETE_CHILD_VOLUMES_AND_SNAPSHOTS@. If+-- your file system has child volumes and you don\'t use this option, the+-- delete request will fail.+deleteFileSystemOpenZFSConfiguration_options :: Lens.Lens' DeleteFileSystemOpenZFSConfiguration (Prelude.Maybe [DeleteFileSystemOpenZFSOption])+deleteFileSystemOpenZFSConfiguration_options = Lens.lens (\DeleteFileSystemOpenZFSConfiguration' {options} -> options) (\s@DeleteFileSystemOpenZFSConfiguration' {} a -> s {options = a} :: DeleteFileSystemOpenZFSConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | By default, Amazon FSx for OpenZFS takes a final backup on your behalf+-- when the @DeleteFileSystem@ operation is invoked. Doing this helps+-- protect you from data loss, and we highly recommend taking the final+-- backup. If you want to skip taking a final backup, set this value to+-- @true@.+deleteFileSystemOpenZFSConfiguration_skipFinalBackup :: Lens.Lens' DeleteFileSystemOpenZFSConfiguration (Prelude.Maybe Prelude.Bool)+deleteFileSystemOpenZFSConfiguration_skipFinalBackup = Lens.lens (\DeleteFileSystemOpenZFSConfiguration' {skipFinalBackup} -> skipFinalBackup) (\s@DeleteFileSystemOpenZFSConfiguration' {} a -> s {skipFinalBackup = a} :: DeleteFileSystemOpenZFSConfiguration)++instance+ Prelude.Hashable+ DeleteFileSystemOpenZFSConfiguration+ where+ hashWithSalt+ _salt+ DeleteFileSystemOpenZFSConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` finalBackupTags+ `Prelude.hashWithSalt` options+ `Prelude.hashWithSalt` skipFinalBackup++instance+ Prelude.NFData+ DeleteFileSystemOpenZFSConfiguration+ where+ rnf DeleteFileSystemOpenZFSConfiguration' {..} =+ Prelude.rnf finalBackupTags+ `Prelude.seq` Prelude.rnf options+ `Prelude.seq` Prelude.rnf skipFinalBackup++instance+ Data.ToJSON+ DeleteFileSystemOpenZFSConfiguration+ where+ toJSON DeleteFileSystemOpenZFSConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("FinalBackupTags" Data..=)+ Prelude.<$> finalBackupTags,+ ("Options" Data..=) Prelude.<$> options,+ ("SkipFinalBackup" Data..=)+ Prelude.<$> skipFinalBackup+ ]+ )
+ gen/Amazonka/FSx/Types/DeleteFileSystemOpenZFSOption.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.FSx.Types.DeleteFileSystemOpenZFSOption+-- 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.FSx.Types.DeleteFileSystemOpenZFSOption+ ( DeleteFileSystemOpenZFSOption+ ( ..,+ DeleteFileSystemOpenZFSOption_DELETE_CHILD_VOLUMES_AND_SNAPSHOTS+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DeleteFileSystemOpenZFSOption = DeleteFileSystemOpenZFSOption'+ { fromDeleteFileSystemOpenZFSOption ::+ 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 DeleteFileSystemOpenZFSOption_DELETE_CHILD_VOLUMES_AND_SNAPSHOTS :: DeleteFileSystemOpenZFSOption+pattern DeleteFileSystemOpenZFSOption_DELETE_CHILD_VOLUMES_AND_SNAPSHOTS = DeleteFileSystemOpenZFSOption' "DELETE_CHILD_VOLUMES_AND_SNAPSHOTS"++{-# COMPLETE+ DeleteFileSystemOpenZFSOption_DELETE_CHILD_VOLUMES_AND_SNAPSHOTS,+ DeleteFileSystemOpenZFSOption'+ #-}
+ gen/Amazonka/FSx/Types/DeleteFileSystemOpenZFSResponse.hs view
@@ -0,0 +1,96 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FSx.Types.DeleteFileSystemOpenZFSResponse+-- 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.FSx.Types.DeleteFileSystemOpenZFSResponse where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types.Tag+import qualified Amazonka.Prelude as Prelude++-- | The response object for the Amazon FSx for OpenZFS file system that\'s+-- being deleted in the @DeleteFileSystem@ operation.+--+-- /See:/ 'newDeleteFileSystemOpenZFSResponse' smart constructor.+data DeleteFileSystemOpenZFSResponse = DeleteFileSystemOpenZFSResponse'+ { finalBackupId :: Prelude.Maybe Prelude.Text,+ finalBackupTags :: Prelude.Maybe (Prelude.NonEmpty Tag)+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteFileSystemOpenZFSResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'finalBackupId', 'deleteFileSystemOpenZFSResponse_finalBackupId' - Undocumented member.+--+-- 'finalBackupTags', 'deleteFileSystemOpenZFSResponse_finalBackupTags' - Undocumented member.+newDeleteFileSystemOpenZFSResponse ::+ DeleteFileSystemOpenZFSResponse+newDeleteFileSystemOpenZFSResponse =+ DeleteFileSystemOpenZFSResponse'+ { finalBackupId =+ Prelude.Nothing,+ finalBackupTags = Prelude.Nothing+ }++-- | Undocumented member.+deleteFileSystemOpenZFSResponse_finalBackupId :: Lens.Lens' DeleteFileSystemOpenZFSResponse (Prelude.Maybe Prelude.Text)+deleteFileSystemOpenZFSResponse_finalBackupId = Lens.lens (\DeleteFileSystemOpenZFSResponse' {finalBackupId} -> finalBackupId) (\s@DeleteFileSystemOpenZFSResponse' {} a -> s {finalBackupId = a} :: DeleteFileSystemOpenZFSResponse)++-- | Undocumented member.+deleteFileSystemOpenZFSResponse_finalBackupTags :: Lens.Lens' DeleteFileSystemOpenZFSResponse (Prelude.Maybe (Prelude.NonEmpty Tag))+deleteFileSystemOpenZFSResponse_finalBackupTags = Lens.lens (\DeleteFileSystemOpenZFSResponse' {finalBackupTags} -> finalBackupTags) (\s@DeleteFileSystemOpenZFSResponse' {} a -> s {finalBackupTags = a} :: DeleteFileSystemOpenZFSResponse) Prelude.. Lens.mapping Lens.coerced++instance+ Data.FromJSON+ DeleteFileSystemOpenZFSResponse+ where+ parseJSON =+ Data.withObject+ "DeleteFileSystemOpenZFSResponse"+ ( \x ->+ DeleteFileSystemOpenZFSResponse'+ Prelude.<$> (x Data..:? "FinalBackupId")+ Prelude.<*> (x Data..:? "FinalBackupTags")+ )++instance+ Prelude.Hashable+ DeleteFileSystemOpenZFSResponse+ where+ hashWithSalt+ _salt+ DeleteFileSystemOpenZFSResponse' {..} =+ _salt+ `Prelude.hashWithSalt` finalBackupId+ `Prelude.hashWithSalt` finalBackupTags++instance+ Prelude.NFData+ DeleteFileSystemOpenZFSResponse+ where+ rnf DeleteFileSystemOpenZFSResponse' {..} =+ Prelude.rnf finalBackupId+ `Prelude.seq` Prelude.rnf finalBackupTags
+ gen/Amazonka/FSx/Types/DeleteFileSystemWindowsConfiguration.hs view
@@ -0,0 +1,108 @@+{-# 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.FSx.Types.DeleteFileSystemWindowsConfiguration+-- 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.FSx.Types.DeleteFileSystemWindowsConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types.Tag+import qualified Amazonka.Prelude as Prelude++-- | The configuration object for the Microsoft Windows file system used in+-- the @DeleteFileSystem@ operation.+--+-- /See:/ 'newDeleteFileSystemWindowsConfiguration' smart constructor.+data DeleteFileSystemWindowsConfiguration = DeleteFileSystemWindowsConfiguration'+ { -- | A set of tags for your final backup.+ finalBackupTags :: Prelude.Maybe (Prelude.NonEmpty Tag),+ -- | By default, Amazon FSx for Windows takes a final backup on your behalf+ -- when the @DeleteFileSystem@ operation is invoked. Doing this helps+ -- protect you from data loss, and we highly recommend taking the final+ -- backup. If you want to skip this backup, use this flag to do so.+ skipFinalBackup :: Prelude.Maybe Prelude.Bool+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteFileSystemWindowsConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'finalBackupTags', 'deleteFileSystemWindowsConfiguration_finalBackupTags' - A set of tags for your final backup.+--+-- 'skipFinalBackup', 'deleteFileSystemWindowsConfiguration_skipFinalBackup' - By default, Amazon FSx for Windows takes a final backup on your behalf+-- when the @DeleteFileSystem@ operation is invoked. Doing this helps+-- protect you from data loss, and we highly recommend taking the final+-- backup. If you want to skip this backup, use this flag to do so.+newDeleteFileSystemWindowsConfiguration ::+ DeleteFileSystemWindowsConfiguration+newDeleteFileSystemWindowsConfiguration =+ DeleteFileSystemWindowsConfiguration'+ { finalBackupTags =+ Prelude.Nothing,+ skipFinalBackup = Prelude.Nothing+ }++-- | A set of tags for your final backup.+deleteFileSystemWindowsConfiguration_finalBackupTags :: Lens.Lens' DeleteFileSystemWindowsConfiguration (Prelude.Maybe (Prelude.NonEmpty Tag))+deleteFileSystemWindowsConfiguration_finalBackupTags = Lens.lens (\DeleteFileSystemWindowsConfiguration' {finalBackupTags} -> finalBackupTags) (\s@DeleteFileSystemWindowsConfiguration' {} a -> s {finalBackupTags = a} :: DeleteFileSystemWindowsConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | By default, Amazon FSx for Windows takes a final backup on your behalf+-- when the @DeleteFileSystem@ operation is invoked. Doing this helps+-- protect you from data loss, and we highly recommend taking the final+-- backup. If you want to skip this backup, use this flag to do so.+deleteFileSystemWindowsConfiguration_skipFinalBackup :: Lens.Lens' DeleteFileSystemWindowsConfiguration (Prelude.Maybe Prelude.Bool)+deleteFileSystemWindowsConfiguration_skipFinalBackup = Lens.lens (\DeleteFileSystemWindowsConfiguration' {skipFinalBackup} -> skipFinalBackup) (\s@DeleteFileSystemWindowsConfiguration' {} a -> s {skipFinalBackup = a} :: DeleteFileSystemWindowsConfiguration)++instance+ Prelude.Hashable+ DeleteFileSystemWindowsConfiguration+ where+ hashWithSalt+ _salt+ DeleteFileSystemWindowsConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` finalBackupTags+ `Prelude.hashWithSalt` skipFinalBackup++instance+ Prelude.NFData+ DeleteFileSystemWindowsConfiguration+ where+ rnf DeleteFileSystemWindowsConfiguration' {..} =+ Prelude.rnf finalBackupTags+ `Prelude.seq` Prelude.rnf skipFinalBackup++instance+ Data.ToJSON+ DeleteFileSystemWindowsConfiguration+ where+ toJSON DeleteFileSystemWindowsConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("FinalBackupTags" Data..=)+ Prelude.<$> finalBackupTags,+ ("SkipFinalBackup" Data..=)+ Prelude.<$> skipFinalBackup+ ]+ )
+ gen/Amazonka/FSx/Types/DeleteFileSystemWindowsResponse.hs view
@@ -0,0 +1,98 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FSx.Types.DeleteFileSystemWindowsResponse+-- 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.FSx.Types.DeleteFileSystemWindowsResponse where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types.Tag+import qualified Amazonka.Prelude as Prelude++-- | The response object for the Microsoft Windows file system used in the+-- @DeleteFileSystem@ operation.+--+-- /See:/ 'newDeleteFileSystemWindowsResponse' smart constructor.+data DeleteFileSystemWindowsResponse = DeleteFileSystemWindowsResponse'+ { -- | The ID of the final backup for this file system.+ finalBackupId :: Prelude.Maybe Prelude.Text,+ -- | The set of tags applied to the final backup.+ finalBackupTags :: Prelude.Maybe (Prelude.NonEmpty Tag)+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteFileSystemWindowsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'finalBackupId', 'deleteFileSystemWindowsResponse_finalBackupId' - The ID of the final backup for this file system.+--+-- 'finalBackupTags', 'deleteFileSystemWindowsResponse_finalBackupTags' - The set of tags applied to the final backup.+newDeleteFileSystemWindowsResponse ::+ DeleteFileSystemWindowsResponse+newDeleteFileSystemWindowsResponse =+ DeleteFileSystemWindowsResponse'+ { finalBackupId =+ Prelude.Nothing,+ finalBackupTags = Prelude.Nothing+ }++-- | The ID of the final backup for this file system.+deleteFileSystemWindowsResponse_finalBackupId :: Lens.Lens' DeleteFileSystemWindowsResponse (Prelude.Maybe Prelude.Text)+deleteFileSystemWindowsResponse_finalBackupId = Lens.lens (\DeleteFileSystemWindowsResponse' {finalBackupId} -> finalBackupId) (\s@DeleteFileSystemWindowsResponse' {} a -> s {finalBackupId = a} :: DeleteFileSystemWindowsResponse)++-- | The set of tags applied to the final backup.+deleteFileSystemWindowsResponse_finalBackupTags :: Lens.Lens' DeleteFileSystemWindowsResponse (Prelude.Maybe (Prelude.NonEmpty Tag))+deleteFileSystemWindowsResponse_finalBackupTags = Lens.lens (\DeleteFileSystemWindowsResponse' {finalBackupTags} -> finalBackupTags) (\s@DeleteFileSystemWindowsResponse' {} a -> s {finalBackupTags = a} :: DeleteFileSystemWindowsResponse) Prelude.. Lens.mapping Lens.coerced++instance+ Data.FromJSON+ DeleteFileSystemWindowsResponse+ where+ parseJSON =+ Data.withObject+ "DeleteFileSystemWindowsResponse"+ ( \x ->+ DeleteFileSystemWindowsResponse'+ Prelude.<$> (x Data..:? "FinalBackupId")+ Prelude.<*> (x Data..:? "FinalBackupTags")+ )++instance+ Prelude.Hashable+ DeleteFileSystemWindowsResponse+ where+ hashWithSalt+ _salt+ DeleteFileSystemWindowsResponse' {..} =+ _salt+ `Prelude.hashWithSalt` finalBackupId+ `Prelude.hashWithSalt` finalBackupTags++instance+ Prelude.NFData+ DeleteFileSystemWindowsResponse+ where+ rnf DeleteFileSystemWindowsResponse' {..} =+ Prelude.rnf finalBackupId+ `Prelude.seq` Prelude.rnf finalBackupTags
+ gen/Amazonka/FSx/Types/DeleteOpenZFSVolumeOption.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.FSx.Types.DeleteOpenZFSVolumeOption+-- 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.FSx.Types.DeleteOpenZFSVolumeOption+ ( DeleteOpenZFSVolumeOption+ ( ..,+ DeleteOpenZFSVolumeOption_DELETE_CHILD_VOLUMES_AND_SNAPSHOTS+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DeleteOpenZFSVolumeOption = DeleteOpenZFSVolumeOption'+ { fromDeleteOpenZFSVolumeOption ::+ 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 DeleteOpenZFSVolumeOption_DELETE_CHILD_VOLUMES_AND_SNAPSHOTS :: DeleteOpenZFSVolumeOption+pattern DeleteOpenZFSVolumeOption_DELETE_CHILD_VOLUMES_AND_SNAPSHOTS = DeleteOpenZFSVolumeOption' "DELETE_CHILD_VOLUMES_AND_SNAPSHOTS"++{-# COMPLETE+ DeleteOpenZFSVolumeOption_DELETE_CHILD_VOLUMES_AND_SNAPSHOTS,+ DeleteOpenZFSVolumeOption'+ #-}
+ gen/Amazonka/FSx/Types/DeleteVolumeOntapConfiguration.hs view
@@ -0,0 +1,98 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FSx.Types.DeleteVolumeOntapConfiguration+-- 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.FSx.Types.DeleteVolumeOntapConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types.Tag+import qualified Amazonka.Prelude as Prelude++-- | Use to specify skipping a final backup, or to add tags to a final+-- backup.+--+-- /See:/ 'newDeleteVolumeOntapConfiguration' smart constructor.+data DeleteVolumeOntapConfiguration = DeleteVolumeOntapConfiguration'+ { finalBackupTags :: Prelude.Maybe (Prelude.NonEmpty Tag),+ -- | Set to true if you want to skip taking a final backup of the volume you+ -- are deleting.+ skipFinalBackup :: Prelude.Maybe Prelude.Bool+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteVolumeOntapConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'finalBackupTags', 'deleteVolumeOntapConfiguration_finalBackupTags' - Undocumented member.+--+-- 'skipFinalBackup', 'deleteVolumeOntapConfiguration_skipFinalBackup' - Set to true if you want to skip taking a final backup of the volume you+-- are deleting.+newDeleteVolumeOntapConfiguration ::+ DeleteVolumeOntapConfiguration+newDeleteVolumeOntapConfiguration =+ DeleteVolumeOntapConfiguration'+ { finalBackupTags =+ Prelude.Nothing,+ skipFinalBackup = Prelude.Nothing+ }++-- | Undocumented member.+deleteVolumeOntapConfiguration_finalBackupTags :: Lens.Lens' DeleteVolumeOntapConfiguration (Prelude.Maybe (Prelude.NonEmpty Tag))+deleteVolumeOntapConfiguration_finalBackupTags = Lens.lens (\DeleteVolumeOntapConfiguration' {finalBackupTags} -> finalBackupTags) (\s@DeleteVolumeOntapConfiguration' {} a -> s {finalBackupTags = a} :: DeleteVolumeOntapConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | Set to true if you want to skip taking a final backup of the volume you+-- are deleting.+deleteVolumeOntapConfiguration_skipFinalBackup :: Lens.Lens' DeleteVolumeOntapConfiguration (Prelude.Maybe Prelude.Bool)+deleteVolumeOntapConfiguration_skipFinalBackup = Lens.lens (\DeleteVolumeOntapConfiguration' {skipFinalBackup} -> skipFinalBackup) (\s@DeleteVolumeOntapConfiguration' {} a -> s {skipFinalBackup = a} :: DeleteVolumeOntapConfiguration)++instance+ Prelude.Hashable+ DeleteVolumeOntapConfiguration+ where+ hashWithSalt+ _salt+ DeleteVolumeOntapConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` finalBackupTags+ `Prelude.hashWithSalt` skipFinalBackup++instance+ Prelude.NFData+ DeleteVolumeOntapConfiguration+ where+ rnf DeleteVolumeOntapConfiguration' {..} =+ Prelude.rnf finalBackupTags+ `Prelude.seq` Prelude.rnf skipFinalBackup++instance Data.ToJSON DeleteVolumeOntapConfiguration where+ toJSON DeleteVolumeOntapConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("FinalBackupTags" Data..=)+ Prelude.<$> finalBackupTags,+ ("SkipFinalBackup" Data..=)+ Prelude.<$> skipFinalBackup+ ]+ )
+ gen/Amazonka/FSx/Types/DeleteVolumeOntapResponse.hs view
@@ -0,0 +1,85 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FSx.Types.DeleteVolumeOntapResponse+-- 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.FSx.Types.DeleteVolumeOntapResponse where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types.Tag+import qualified Amazonka.Prelude as Prelude++-- | The response object for the Amazon FSx for NetApp ONTAP volume being+-- deleted in the @DeleteVolume@ operation.+--+-- /See:/ 'newDeleteVolumeOntapResponse' smart constructor.+data DeleteVolumeOntapResponse = DeleteVolumeOntapResponse'+ { finalBackupId :: Prelude.Maybe Prelude.Text,+ finalBackupTags :: Prelude.Maybe (Prelude.NonEmpty Tag)+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteVolumeOntapResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'finalBackupId', 'deleteVolumeOntapResponse_finalBackupId' - Undocumented member.+--+-- 'finalBackupTags', 'deleteVolumeOntapResponse_finalBackupTags' - Undocumented member.+newDeleteVolumeOntapResponse ::+ DeleteVolumeOntapResponse+newDeleteVolumeOntapResponse =+ DeleteVolumeOntapResponse'+ { finalBackupId =+ Prelude.Nothing,+ finalBackupTags = Prelude.Nothing+ }++-- | Undocumented member.+deleteVolumeOntapResponse_finalBackupId :: Lens.Lens' DeleteVolumeOntapResponse (Prelude.Maybe Prelude.Text)+deleteVolumeOntapResponse_finalBackupId = Lens.lens (\DeleteVolumeOntapResponse' {finalBackupId} -> finalBackupId) (\s@DeleteVolumeOntapResponse' {} a -> s {finalBackupId = a} :: DeleteVolumeOntapResponse)++-- | Undocumented member.+deleteVolumeOntapResponse_finalBackupTags :: Lens.Lens' DeleteVolumeOntapResponse (Prelude.Maybe (Prelude.NonEmpty Tag))+deleteVolumeOntapResponse_finalBackupTags = Lens.lens (\DeleteVolumeOntapResponse' {finalBackupTags} -> finalBackupTags) (\s@DeleteVolumeOntapResponse' {} a -> s {finalBackupTags = a} :: DeleteVolumeOntapResponse) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON DeleteVolumeOntapResponse where+ parseJSON =+ Data.withObject+ "DeleteVolumeOntapResponse"+ ( \x ->+ DeleteVolumeOntapResponse'+ Prelude.<$> (x Data..:? "FinalBackupId")+ Prelude.<*> (x Data..:? "FinalBackupTags")+ )++instance Prelude.Hashable DeleteVolumeOntapResponse where+ hashWithSalt _salt DeleteVolumeOntapResponse' {..} =+ _salt+ `Prelude.hashWithSalt` finalBackupId+ `Prelude.hashWithSalt` finalBackupTags++instance Prelude.NFData DeleteVolumeOntapResponse where+ rnf DeleteVolumeOntapResponse' {..} =+ Prelude.rnf finalBackupId+ `Prelude.seq` Prelude.rnf finalBackupTags
+ gen/Amazonka/FSx/Types/DeleteVolumeOpenZFSConfiguration.hs view
@@ -0,0 +1,83 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FSx.Types.DeleteVolumeOpenZFSConfiguration+-- 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.FSx.Types.DeleteVolumeOpenZFSConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types.DeleteOpenZFSVolumeOption+import qualified Amazonka.Prelude as Prelude++-- | A value that specifies whether to delete all child volumes and+-- snapshots.+--+-- /See:/ 'newDeleteVolumeOpenZFSConfiguration' smart constructor.+data DeleteVolumeOpenZFSConfiguration = DeleteVolumeOpenZFSConfiguration'+ { -- | To delete the volume\'s child volumes, snapshots, and clones, use the+ -- string @DELETE_CHILD_VOLUMES_AND_SNAPSHOTS@.+ options :: Prelude.Maybe [DeleteOpenZFSVolumeOption]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteVolumeOpenZFSConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'options', 'deleteVolumeOpenZFSConfiguration_options' - To delete the volume\'s child volumes, snapshots, and clones, use the+-- string @DELETE_CHILD_VOLUMES_AND_SNAPSHOTS@.+newDeleteVolumeOpenZFSConfiguration ::+ DeleteVolumeOpenZFSConfiguration+newDeleteVolumeOpenZFSConfiguration =+ DeleteVolumeOpenZFSConfiguration'+ { options =+ Prelude.Nothing+ }++-- | To delete the volume\'s child volumes, snapshots, and clones, use the+-- string @DELETE_CHILD_VOLUMES_AND_SNAPSHOTS@.+deleteVolumeOpenZFSConfiguration_options :: Lens.Lens' DeleteVolumeOpenZFSConfiguration (Prelude.Maybe [DeleteOpenZFSVolumeOption])+deleteVolumeOpenZFSConfiguration_options = Lens.lens (\DeleteVolumeOpenZFSConfiguration' {options} -> options) (\s@DeleteVolumeOpenZFSConfiguration' {} a -> s {options = a} :: DeleteVolumeOpenZFSConfiguration) Prelude.. Lens.mapping Lens.coerced++instance+ Prelude.Hashable+ DeleteVolumeOpenZFSConfiguration+ where+ hashWithSalt+ _salt+ DeleteVolumeOpenZFSConfiguration' {..} =+ _salt `Prelude.hashWithSalt` options++instance+ Prelude.NFData+ DeleteVolumeOpenZFSConfiguration+ where+ rnf DeleteVolumeOpenZFSConfiguration' {..} =+ Prelude.rnf options++instance Data.ToJSON DeleteVolumeOpenZFSConfiguration where+ toJSON DeleteVolumeOpenZFSConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [("Options" Data..=) Prelude.<$> options]+ )
+ gen/Amazonka/FSx/Types/DiskIopsConfiguration.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.FSx.Types.DiskIopsConfiguration+-- 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.FSx.Types.DiskIopsConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types.DiskIopsConfigurationMode+import qualified Amazonka.Prelude as Prelude++-- | The SSD IOPS (input\/output operations per second) configuration for an+-- Amazon FSx for NetApp ONTAP or Amazon FSx for OpenZFS file system. The+-- default is 3 IOPS per GB of storage capacity, but you can provision+-- additional IOPS per GB of storage. The configuration consists of the+-- total number of provisioned SSD IOPS and how the amount was provisioned+-- (by the customer or by the system).+--+-- /See:/ 'newDiskIopsConfiguration' smart constructor.+data DiskIopsConfiguration = DiskIopsConfiguration'+ { -- | The total number of SSD IOPS provisioned for the file system.+ iops :: Prelude.Maybe Prelude.Natural,+ -- | Specifies whether the number of IOPS for the file system is using the+ -- system default (@AUTOMATIC@) or was provisioned by the customer+ -- (@USER_PROVISIONED@).+ mode :: Prelude.Maybe DiskIopsConfigurationMode+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DiskIopsConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'iops', 'diskIopsConfiguration_iops' - The total number of SSD IOPS provisioned for the file system.+--+-- 'mode', 'diskIopsConfiguration_mode' - Specifies whether the number of IOPS for the file system is using the+-- system default (@AUTOMATIC@) or was provisioned by the customer+-- (@USER_PROVISIONED@).+newDiskIopsConfiguration ::+ DiskIopsConfiguration+newDiskIopsConfiguration =+ DiskIopsConfiguration'+ { iops = Prelude.Nothing,+ mode = Prelude.Nothing+ }++-- | The total number of SSD IOPS provisioned for the file system.+diskIopsConfiguration_iops :: Lens.Lens' DiskIopsConfiguration (Prelude.Maybe Prelude.Natural)+diskIopsConfiguration_iops = Lens.lens (\DiskIopsConfiguration' {iops} -> iops) (\s@DiskIopsConfiguration' {} a -> s {iops = a} :: DiskIopsConfiguration)++-- | Specifies whether the number of IOPS for the file system is using the+-- system default (@AUTOMATIC@) or was provisioned by the customer+-- (@USER_PROVISIONED@).+diskIopsConfiguration_mode :: Lens.Lens' DiskIopsConfiguration (Prelude.Maybe DiskIopsConfigurationMode)+diskIopsConfiguration_mode = Lens.lens (\DiskIopsConfiguration' {mode} -> mode) (\s@DiskIopsConfiguration' {} a -> s {mode = a} :: DiskIopsConfiguration)++instance Data.FromJSON DiskIopsConfiguration where+ parseJSON =+ Data.withObject+ "DiskIopsConfiguration"+ ( \x ->+ DiskIopsConfiguration'+ Prelude.<$> (x Data..:? "Iops")+ Prelude.<*> (x Data..:? "Mode")+ )++instance Prelude.Hashable DiskIopsConfiguration where+ hashWithSalt _salt DiskIopsConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` iops+ `Prelude.hashWithSalt` mode++instance Prelude.NFData DiskIopsConfiguration where+ rnf DiskIopsConfiguration' {..} =+ Prelude.rnf iops `Prelude.seq` Prelude.rnf mode++instance Data.ToJSON DiskIopsConfiguration where+ toJSON DiskIopsConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Iops" Data..=) Prelude.<$> iops,+ ("Mode" Data..=) Prelude.<$> mode+ ]+ )
+ gen/Amazonka/FSx/Types/DiskIopsConfigurationMode.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.FSx.Types.DiskIopsConfigurationMode+-- 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.FSx.Types.DiskIopsConfigurationMode+ ( DiskIopsConfigurationMode+ ( ..,+ DiskIopsConfigurationMode_AUTOMATIC,+ DiskIopsConfigurationMode_USER_PROVISIONED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DiskIopsConfigurationMode = DiskIopsConfigurationMode'+ { fromDiskIopsConfigurationMode ::+ 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 DiskIopsConfigurationMode_AUTOMATIC :: DiskIopsConfigurationMode+pattern DiskIopsConfigurationMode_AUTOMATIC = DiskIopsConfigurationMode' "AUTOMATIC"++pattern DiskIopsConfigurationMode_USER_PROVISIONED :: DiskIopsConfigurationMode+pattern DiskIopsConfigurationMode_USER_PROVISIONED = DiskIopsConfigurationMode' "USER_PROVISIONED"++{-# COMPLETE+ DiskIopsConfigurationMode_AUTOMATIC,+ DiskIopsConfigurationMode_USER_PROVISIONED,+ DiskIopsConfigurationMode'+ #-}
+ gen/Amazonka/FSx/Types/DriveCacheType.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.FSx.Types.DriveCacheType+-- 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.FSx.Types.DriveCacheType+ ( DriveCacheType+ ( ..,+ DriveCacheType_NONE,+ DriveCacheType_READ+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DriveCacheType = DriveCacheType'+ { fromDriveCacheType ::+ 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 DriveCacheType_NONE :: DriveCacheType+pattern DriveCacheType_NONE = DriveCacheType' "NONE"++pattern DriveCacheType_READ :: DriveCacheType+pattern DriveCacheType_READ = DriveCacheType' "READ"++{-# COMPLETE+ DriveCacheType_NONE,+ DriveCacheType_READ,+ DriveCacheType'+ #-}
+ gen/Amazonka/FSx/Types/EventType.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.FSx.Types.EventType+-- 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.FSx.Types.EventType+ ( EventType+ ( ..,+ EventType_CHANGED,+ EventType_DELETED,+ EventType_NEW+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype EventType = EventType'+ { fromEventType ::+ 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 EventType_CHANGED :: EventType+pattern EventType_CHANGED = EventType' "CHANGED"++pattern EventType_DELETED :: EventType+pattern EventType_DELETED = EventType' "DELETED"++pattern EventType_NEW :: EventType+pattern EventType_NEW = EventType' "NEW"++{-# COMPLETE+ EventType_CHANGED,+ EventType_DELETED,+ EventType_NEW,+ EventType'+ #-}
+ gen/Amazonka/FSx/Types/FileCache.hs view
@@ -0,0 +1,317 @@+{-# 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.FSx.Types.FileCache+-- 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.FSx.Types.FileCache where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types.FileCacheFailureDetails+import Amazonka.FSx.Types.FileCacheLifecycle+import Amazonka.FSx.Types.FileCacheLustreConfiguration+import Amazonka.FSx.Types.FileCacheType+import qualified Amazonka.Prelude as Prelude++-- | A description of a specific Amazon File Cache resource, which is a+-- response object from the @DescribeFileCaches@ operation.+--+-- /See:/ 'newFileCache' smart constructor.+data FileCache = FileCache'+ { creationTime :: Prelude.Maybe Data.POSIX,+ -- | The Domain Name System (DNS) name for the cache.+ dNSName :: Prelude.Maybe Prelude.Text,+ -- | A list of IDs of data repository associations that are associated with+ -- this cache.+ dataRepositoryAssociationIds :: Prelude.Maybe [Prelude.Text],+ -- | A structure providing details of any failures that occurred.+ failureDetails :: Prelude.Maybe FileCacheFailureDetails,+ -- | The system-generated, unique ID of the cache.+ fileCacheId :: Prelude.Maybe Prelude.Text,+ -- | The type of cache, which must be @LUSTRE@.+ fileCacheType :: Prelude.Maybe FileCacheType,+ -- | The Lustre version of the cache, which must be @2.12@.+ fileCacheTypeVersion :: Prelude.Maybe Prelude.Text,+ -- | Specifies the ID of the Key Management Service (KMS) key to use for+ -- encrypting data on an Amazon File Cache. If a @KmsKeyId@ isn\'t+ -- specified, the Amazon FSx-managed KMS key for your account is used. For+ -- more information, see+ -- <https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html Encrypt>+ -- in the /Key Management Service API Reference/.+ kmsKeyId :: Prelude.Maybe Prelude.Text,+ -- | The lifecycle status of the cache. The following are the possible values+ -- and what they mean:+ --+ -- - @AVAILABLE@ - The cache is in a healthy state, and is reachable and+ -- available for use.+ --+ -- - @CREATING@ - The new cache is being created.+ --+ -- - @DELETING@ - An existing cache is being deleted.+ --+ -- - @UPDATING@ - The cache is undergoing a customer-initiated update.+ --+ -- - @FAILED@ - An existing cache has experienced an unrecoverable+ -- failure. When creating a new cache, the cache was unable to be+ -- created.+ lifecycle :: Prelude.Maybe FileCacheLifecycle,+ -- | The configuration for the Amazon File Cache resource.+ lustreConfiguration :: Prelude.Maybe FileCacheLustreConfiguration,+ networkInterfaceIds :: Prelude.Maybe [Prelude.Text],+ ownerId :: Prelude.Maybe Prelude.Text,+ resourceARN :: Prelude.Maybe Prelude.Text,+ -- | The storage capacity of the cache in gibibytes (GiB).+ storageCapacity :: Prelude.Maybe Prelude.Natural,+ subnetIds :: Prelude.Maybe [Prelude.Text],+ vpcId :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FileCache' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'fileCache_creationTime' - Undocumented member.+--+-- 'dNSName', 'fileCache_dNSName' - The Domain Name System (DNS) name for the cache.+--+-- 'dataRepositoryAssociationIds', 'fileCache_dataRepositoryAssociationIds' - A list of IDs of data repository associations that are associated with+-- this cache.+--+-- 'failureDetails', 'fileCache_failureDetails' - A structure providing details of any failures that occurred.+--+-- 'fileCacheId', 'fileCache_fileCacheId' - The system-generated, unique ID of the cache.+--+-- 'fileCacheType', 'fileCache_fileCacheType' - The type of cache, which must be @LUSTRE@.+--+-- 'fileCacheTypeVersion', 'fileCache_fileCacheTypeVersion' - The Lustre version of the cache, which must be @2.12@.+--+-- 'kmsKeyId', 'fileCache_kmsKeyId' - Specifies the ID of the Key Management Service (KMS) key to use for+-- encrypting data on an Amazon File Cache. If a @KmsKeyId@ isn\'t+-- specified, the Amazon FSx-managed KMS key for your account is used. For+-- more information, see+-- <https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html Encrypt>+-- in the /Key Management Service API Reference/.+--+-- 'lifecycle', 'fileCache_lifecycle' - The lifecycle status of the cache. The following are the possible values+-- and what they mean:+--+-- - @AVAILABLE@ - The cache is in a healthy state, and is reachable and+-- available for use.+--+-- - @CREATING@ - The new cache is being created.+--+-- - @DELETING@ - An existing cache is being deleted.+--+-- - @UPDATING@ - The cache is undergoing a customer-initiated update.+--+-- - @FAILED@ - An existing cache has experienced an unrecoverable+-- failure. When creating a new cache, the cache was unable to be+-- created.+--+-- 'lustreConfiguration', 'fileCache_lustreConfiguration' - The configuration for the Amazon File Cache resource.+--+-- 'networkInterfaceIds', 'fileCache_networkInterfaceIds' - Undocumented member.+--+-- 'ownerId', 'fileCache_ownerId' - Undocumented member.+--+-- 'resourceARN', 'fileCache_resourceARN' - Undocumented member.+--+-- 'storageCapacity', 'fileCache_storageCapacity' - The storage capacity of the cache in gibibytes (GiB).+--+-- 'subnetIds', 'fileCache_subnetIds' - Undocumented member.+--+-- 'vpcId', 'fileCache_vpcId' - Undocumented member.+newFileCache ::+ FileCache+newFileCache =+ FileCache'+ { creationTime = Prelude.Nothing,+ dNSName = Prelude.Nothing,+ dataRepositoryAssociationIds = Prelude.Nothing,+ failureDetails = Prelude.Nothing,+ fileCacheId = Prelude.Nothing,+ fileCacheType = Prelude.Nothing,+ fileCacheTypeVersion = Prelude.Nothing,+ kmsKeyId = Prelude.Nothing,+ lifecycle = Prelude.Nothing,+ lustreConfiguration = Prelude.Nothing,+ networkInterfaceIds = Prelude.Nothing,+ ownerId = Prelude.Nothing,+ resourceARN = Prelude.Nothing,+ storageCapacity = Prelude.Nothing,+ subnetIds = Prelude.Nothing,+ vpcId = Prelude.Nothing+ }++-- | Undocumented member.+fileCache_creationTime :: Lens.Lens' FileCache (Prelude.Maybe Prelude.UTCTime)+fileCache_creationTime = Lens.lens (\FileCache' {creationTime} -> creationTime) (\s@FileCache' {} a -> s {creationTime = a} :: FileCache) Prelude.. Lens.mapping Data._Time++-- | The Domain Name System (DNS) name for the cache.+fileCache_dNSName :: Lens.Lens' FileCache (Prelude.Maybe Prelude.Text)+fileCache_dNSName = Lens.lens (\FileCache' {dNSName} -> dNSName) (\s@FileCache' {} a -> s {dNSName = a} :: FileCache)++-- | A list of IDs of data repository associations that are associated with+-- this cache.+fileCache_dataRepositoryAssociationIds :: Lens.Lens' FileCache (Prelude.Maybe [Prelude.Text])+fileCache_dataRepositoryAssociationIds = Lens.lens (\FileCache' {dataRepositoryAssociationIds} -> dataRepositoryAssociationIds) (\s@FileCache' {} a -> s {dataRepositoryAssociationIds = a} :: FileCache) Prelude.. Lens.mapping Lens.coerced++-- | A structure providing details of any failures that occurred.+fileCache_failureDetails :: Lens.Lens' FileCache (Prelude.Maybe FileCacheFailureDetails)+fileCache_failureDetails = Lens.lens (\FileCache' {failureDetails} -> failureDetails) (\s@FileCache' {} a -> s {failureDetails = a} :: FileCache)++-- | The system-generated, unique ID of the cache.+fileCache_fileCacheId :: Lens.Lens' FileCache (Prelude.Maybe Prelude.Text)+fileCache_fileCacheId = Lens.lens (\FileCache' {fileCacheId} -> fileCacheId) (\s@FileCache' {} a -> s {fileCacheId = a} :: FileCache)++-- | The type of cache, which must be @LUSTRE@.+fileCache_fileCacheType :: Lens.Lens' FileCache (Prelude.Maybe FileCacheType)+fileCache_fileCacheType = Lens.lens (\FileCache' {fileCacheType} -> fileCacheType) (\s@FileCache' {} a -> s {fileCacheType = a} :: FileCache)++-- | The Lustre version of the cache, which must be @2.12@.+fileCache_fileCacheTypeVersion :: Lens.Lens' FileCache (Prelude.Maybe Prelude.Text)+fileCache_fileCacheTypeVersion = Lens.lens (\FileCache' {fileCacheTypeVersion} -> fileCacheTypeVersion) (\s@FileCache' {} a -> s {fileCacheTypeVersion = a} :: FileCache)++-- | Specifies the ID of the Key Management Service (KMS) key to use for+-- encrypting data on an Amazon File Cache. If a @KmsKeyId@ isn\'t+-- specified, the Amazon FSx-managed KMS key for your account is used. For+-- more information, see+-- <https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html Encrypt>+-- in the /Key Management Service API Reference/.+fileCache_kmsKeyId :: Lens.Lens' FileCache (Prelude.Maybe Prelude.Text)+fileCache_kmsKeyId = Lens.lens (\FileCache' {kmsKeyId} -> kmsKeyId) (\s@FileCache' {} a -> s {kmsKeyId = a} :: FileCache)++-- | The lifecycle status of the cache. The following are the possible values+-- and what they mean:+--+-- - @AVAILABLE@ - The cache is in a healthy state, and is reachable and+-- available for use.+--+-- - @CREATING@ - The new cache is being created.+--+-- - @DELETING@ - An existing cache is being deleted.+--+-- - @UPDATING@ - The cache is undergoing a customer-initiated update.+--+-- - @FAILED@ - An existing cache has experienced an unrecoverable+-- failure. When creating a new cache, the cache was unable to be+-- created.+fileCache_lifecycle :: Lens.Lens' FileCache (Prelude.Maybe FileCacheLifecycle)+fileCache_lifecycle = Lens.lens (\FileCache' {lifecycle} -> lifecycle) (\s@FileCache' {} a -> s {lifecycle = a} :: FileCache)++-- | The configuration for the Amazon File Cache resource.+fileCache_lustreConfiguration :: Lens.Lens' FileCache (Prelude.Maybe FileCacheLustreConfiguration)+fileCache_lustreConfiguration = Lens.lens (\FileCache' {lustreConfiguration} -> lustreConfiguration) (\s@FileCache' {} a -> s {lustreConfiguration = a} :: FileCache)++-- | Undocumented member.+fileCache_networkInterfaceIds :: Lens.Lens' FileCache (Prelude.Maybe [Prelude.Text])+fileCache_networkInterfaceIds = Lens.lens (\FileCache' {networkInterfaceIds} -> networkInterfaceIds) (\s@FileCache' {} a -> s {networkInterfaceIds = a} :: FileCache) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+fileCache_ownerId :: Lens.Lens' FileCache (Prelude.Maybe Prelude.Text)+fileCache_ownerId = Lens.lens (\FileCache' {ownerId} -> ownerId) (\s@FileCache' {} a -> s {ownerId = a} :: FileCache)++-- | Undocumented member.+fileCache_resourceARN :: Lens.Lens' FileCache (Prelude.Maybe Prelude.Text)+fileCache_resourceARN = Lens.lens (\FileCache' {resourceARN} -> resourceARN) (\s@FileCache' {} a -> s {resourceARN = a} :: FileCache)++-- | The storage capacity of the cache in gibibytes (GiB).+fileCache_storageCapacity :: Lens.Lens' FileCache (Prelude.Maybe Prelude.Natural)+fileCache_storageCapacity = Lens.lens (\FileCache' {storageCapacity} -> storageCapacity) (\s@FileCache' {} a -> s {storageCapacity = a} :: FileCache)++-- | Undocumented member.+fileCache_subnetIds :: Lens.Lens' FileCache (Prelude.Maybe [Prelude.Text])+fileCache_subnetIds = Lens.lens (\FileCache' {subnetIds} -> subnetIds) (\s@FileCache' {} a -> s {subnetIds = a} :: FileCache) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+fileCache_vpcId :: Lens.Lens' FileCache (Prelude.Maybe Prelude.Text)+fileCache_vpcId = Lens.lens (\FileCache' {vpcId} -> vpcId) (\s@FileCache' {} a -> s {vpcId = a} :: FileCache)++instance Data.FromJSON FileCache where+ parseJSON =+ Data.withObject+ "FileCache"+ ( \x ->+ FileCache'+ Prelude.<$> (x Data..:? "CreationTime")+ Prelude.<*> (x Data..:? "DNSName")+ Prelude.<*> ( x+ Data..:? "DataRepositoryAssociationIds"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "FailureDetails")+ Prelude.<*> (x Data..:? "FileCacheId")+ Prelude.<*> (x Data..:? "FileCacheType")+ Prelude.<*> (x Data..:? "FileCacheTypeVersion")+ Prelude.<*> (x Data..:? "KmsKeyId")+ Prelude.<*> (x Data..:? "Lifecycle")+ Prelude.<*> (x Data..:? "LustreConfiguration")+ Prelude.<*> ( x+ Data..:? "NetworkInterfaceIds"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "OwnerId")+ Prelude.<*> (x Data..:? "ResourceARN")+ Prelude.<*> (x Data..:? "StorageCapacity")+ Prelude.<*> (x Data..:? "SubnetIds" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "VpcId")+ )++instance Prelude.Hashable FileCache where+ hashWithSalt _salt FileCache' {..} =+ _salt+ `Prelude.hashWithSalt` creationTime+ `Prelude.hashWithSalt` dNSName+ `Prelude.hashWithSalt` dataRepositoryAssociationIds+ `Prelude.hashWithSalt` failureDetails+ `Prelude.hashWithSalt` fileCacheId+ `Prelude.hashWithSalt` fileCacheType+ `Prelude.hashWithSalt` fileCacheTypeVersion+ `Prelude.hashWithSalt` kmsKeyId+ `Prelude.hashWithSalt` lifecycle+ `Prelude.hashWithSalt` lustreConfiguration+ `Prelude.hashWithSalt` networkInterfaceIds+ `Prelude.hashWithSalt` ownerId+ `Prelude.hashWithSalt` resourceARN+ `Prelude.hashWithSalt` storageCapacity+ `Prelude.hashWithSalt` subnetIds+ `Prelude.hashWithSalt` vpcId++instance Prelude.NFData FileCache where+ rnf FileCache' {..} =+ Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf dNSName+ `Prelude.seq` Prelude.rnf dataRepositoryAssociationIds+ `Prelude.seq` Prelude.rnf failureDetails+ `Prelude.seq` Prelude.rnf fileCacheId+ `Prelude.seq` Prelude.rnf fileCacheType+ `Prelude.seq` Prelude.rnf fileCacheTypeVersion+ `Prelude.seq` Prelude.rnf kmsKeyId+ `Prelude.seq` Prelude.rnf lifecycle+ `Prelude.seq` Prelude.rnf lustreConfiguration+ `Prelude.seq` Prelude.rnf networkInterfaceIds+ `Prelude.seq` Prelude.rnf ownerId+ `Prelude.seq` Prelude.rnf resourceARN+ `Prelude.seq` Prelude.rnf storageCapacity+ `Prelude.seq` Prelude.rnf subnetIds+ `Prelude.seq` Prelude.rnf vpcId
+ gen/Amazonka/FSx/Types/FileCacheCreating.hs view
@@ -0,0 +1,345 @@+{-# 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.FSx.Types.FileCacheCreating+-- 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.FSx.Types.FileCacheCreating where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types.FileCacheFailureDetails+import Amazonka.FSx.Types.FileCacheLifecycle+import Amazonka.FSx.Types.FileCacheLustreConfiguration+import Amazonka.FSx.Types.FileCacheType+import Amazonka.FSx.Types.Tag+import qualified Amazonka.Prelude as Prelude++-- | The response object for the Amazon File Cache resource being created in+-- the @CreateFileCache@ operation.+--+-- /See:/ 'newFileCacheCreating' smart constructor.+data FileCacheCreating = FileCacheCreating'+ { -- | A boolean flag indicating whether tags for the cache should be copied to+ -- data repository associations.+ copyTagsToDataRepositoryAssociations :: Prelude.Maybe Prelude.Bool,+ creationTime :: Prelude.Maybe Data.POSIX,+ -- | The Domain Name System (DNS) name for the cache.+ dNSName :: Prelude.Maybe Prelude.Text,+ -- | A list of IDs of data repository associations that are associated with+ -- this cache.+ dataRepositoryAssociationIds :: Prelude.Maybe [Prelude.Text],+ -- | A structure providing details of any failures that occurred.+ failureDetails :: Prelude.Maybe FileCacheFailureDetails,+ -- | The system-generated, unique ID of the cache.+ fileCacheId :: Prelude.Maybe Prelude.Text,+ -- | The type of cache, which must be @LUSTRE@.+ fileCacheType :: Prelude.Maybe FileCacheType,+ -- | The Lustre version of the cache, which must be @2.12@.+ fileCacheTypeVersion :: Prelude.Maybe Prelude.Text,+ -- | Specifies the ID of the Key Management Service (KMS) key to use for+ -- encrypting data on an Amazon File Cache. If a @KmsKeyId@ isn\'t+ -- specified, the Amazon FSx-managed KMS key for your account is used. For+ -- more information, see+ -- <https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html Encrypt>+ -- in the /Key Management Service API Reference/.+ kmsKeyId :: Prelude.Maybe Prelude.Text,+ -- | The lifecycle status of the cache. The following are the possible values+ -- and what they mean:+ --+ -- - @AVAILABLE@ - The cache is in a healthy state, and is reachable and+ -- available for use.+ --+ -- - @CREATING@ - The new cache is being created.+ --+ -- - @DELETING@ - An existing cache is being deleted.+ --+ -- - @UPDATING@ - The cache is undergoing a customer-initiated update.+ --+ -- - @FAILED@ - An existing cache has experienced an unrecoverable+ -- failure. When creating a new cache, the cache was unable to be+ -- created.+ lifecycle :: Prelude.Maybe FileCacheLifecycle,+ -- | The configuration for the Amazon File Cache resource.+ lustreConfiguration :: Prelude.Maybe FileCacheLustreConfiguration,+ networkInterfaceIds :: Prelude.Maybe [Prelude.Text],+ ownerId :: Prelude.Maybe Prelude.Text,+ resourceARN :: Prelude.Maybe Prelude.Text,+ -- | The storage capacity of the cache in gibibytes (GiB).+ storageCapacity :: Prelude.Maybe Prelude.Natural,+ subnetIds :: Prelude.Maybe [Prelude.Text],+ tags :: Prelude.Maybe (Prelude.NonEmpty Tag),+ vpcId :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FileCacheCreating' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'copyTagsToDataRepositoryAssociations', 'fileCacheCreating_copyTagsToDataRepositoryAssociations' - A boolean flag indicating whether tags for the cache should be copied to+-- data repository associations.+--+-- 'creationTime', 'fileCacheCreating_creationTime' - Undocumented member.+--+-- 'dNSName', 'fileCacheCreating_dNSName' - The Domain Name System (DNS) name for the cache.+--+-- 'dataRepositoryAssociationIds', 'fileCacheCreating_dataRepositoryAssociationIds' - A list of IDs of data repository associations that are associated with+-- this cache.+--+-- 'failureDetails', 'fileCacheCreating_failureDetails' - A structure providing details of any failures that occurred.+--+-- 'fileCacheId', 'fileCacheCreating_fileCacheId' - The system-generated, unique ID of the cache.+--+-- 'fileCacheType', 'fileCacheCreating_fileCacheType' - The type of cache, which must be @LUSTRE@.+--+-- 'fileCacheTypeVersion', 'fileCacheCreating_fileCacheTypeVersion' - The Lustre version of the cache, which must be @2.12@.+--+-- 'kmsKeyId', 'fileCacheCreating_kmsKeyId' - Specifies the ID of the Key Management Service (KMS) key to use for+-- encrypting data on an Amazon File Cache. If a @KmsKeyId@ isn\'t+-- specified, the Amazon FSx-managed KMS key for your account is used. For+-- more information, see+-- <https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html Encrypt>+-- in the /Key Management Service API Reference/.+--+-- 'lifecycle', 'fileCacheCreating_lifecycle' - The lifecycle status of the cache. The following are the possible values+-- and what they mean:+--+-- - @AVAILABLE@ - The cache is in a healthy state, and is reachable and+-- available for use.+--+-- - @CREATING@ - The new cache is being created.+--+-- - @DELETING@ - An existing cache is being deleted.+--+-- - @UPDATING@ - The cache is undergoing a customer-initiated update.+--+-- - @FAILED@ - An existing cache has experienced an unrecoverable+-- failure. When creating a new cache, the cache was unable to be+-- created.+--+-- 'lustreConfiguration', 'fileCacheCreating_lustreConfiguration' - The configuration for the Amazon File Cache resource.+--+-- 'networkInterfaceIds', 'fileCacheCreating_networkInterfaceIds' - Undocumented member.+--+-- 'ownerId', 'fileCacheCreating_ownerId' - Undocumented member.+--+-- 'resourceARN', 'fileCacheCreating_resourceARN' - Undocumented member.+--+-- 'storageCapacity', 'fileCacheCreating_storageCapacity' - The storage capacity of the cache in gibibytes (GiB).+--+-- 'subnetIds', 'fileCacheCreating_subnetIds' - Undocumented member.+--+-- 'tags', 'fileCacheCreating_tags' - Undocumented member.+--+-- 'vpcId', 'fileCacheCreating_vpcId' - Undocumented member.+newFileCacheCreating ::+ FileCacheCreating+newFileCacheCreating =+ FileCacheCreating'+ { copyTagsToDataRepositoryAssociations =+ Prelude.Nothing,+ creationTime = Prelude.Nothing,+ dNSName = Prelude.Nothing,+ dataRepositoryAssociationIds = Prelude.Nothing,+ failureDetails = Prelude.Nothing,+ fileCacheId = Prelude.Nothing,+ fileCacheType = Prelude.Nothing,+ fileCacheTypeVersion = Prelude.Nothing,+ kmsKeyId = Prelude.Nothing,+ lifecycle = Prelude.Nothing,+ lustreConfiguration = Prelude.Nothing,+ networkInterfaceIds = Prelude.Nothing,+ ownerId = Prelude.Nothing,+ resourceARN = Prelude.Nothing,+ storageCapacity = Prelude.Nothing,+ subnetIds = Prelude.Nothing,+ tags = Prelude.Nothing,+ vpcId = Prelude.Nothing+ }++-- | A boolean flag indicating whether tags for the cache should be copied to+-- data repository associations.+fileCacheCreating_copyTagsToDataRepositoryAssociations :: Lens.Lens' FileCacheCreating (Prelude.Maybe Prelude.Bool)+fileCacheCreating_copyTagsToDataRepositoryAssociations = Lens.lens (\FileCacheCreating' {copyTagsToDataRepositoryAssociations} -> copyTagsToDataRepositoryAssociations) (\s@FileCacheCreating' {} a -> s {copyTagsToDataRepositoryAssociations = a} :: FileCacheCreating)++-- | Undocumented member.+fileCacheCreating_creationTime :: Lens.Lens' FileCacheCreating (Prelude.Maybe Prelude.UTCTime)+fileCacheCreating_creationTime = Lens.lens (\FileCacheCreating' {creationTime} -> creationTime) (\s@FileCacheCreating' {} a -> s {creationTime = a} :: FileCacheCreating) Prelude.. Lens.mapping Data._Time++-- | The Domain Name System (DNS) name for the cache.+fileCacheCreating_dNSName :: Lens.Lens' FileCacheCreating (Prelude.Maybe Prelude.Text)+fileCacheCreating_dNSName = Lens.lens (\FileCacheCreating' {dNSName} -> dNSName) (\s@FileCacheCreating' {} a -> s {dNSName = a} :: FileCacheCreating)++-- | A list of IDs of data repository associations that are associated with+-- this cache.+fileCacheCreating_dataRepositoryAssociationIds :: Lens.Lens' FileCacheCreating (Prelude.Maybe [Prelude.Text])+fileCacheCreating_dataRepositoryAssociationIds = Lens.lens (\FileCacheCreating' {dataRepositoryAssociationIds} -> dataRepositoryAssociationIds) (\s@FileCacheCreating' {} a -> s {dataRepositoryAssociationIds = a} :: FileCacheCreating) Prelude.. Lens.mapping Lens.coerced++-- | A structure providing details of any failures that occurred.+fileCacheCreating_failureDetails :: Lens.Lens' FileCacheCreating (Prelude.Maybe FileCacheFailureDetails)+fileCacheCreating_failureDetails = Lens.lens (\FileCacheCreating' {failureDetails} -> failureDetails) (\s@FileCacheCreating' {} a -> s {failureDetails = a} :: FileCacheCreating)++-- | The system-generated, unique ID of the cache.+fileCacheCreating_fileCacheId :: Lens.Lens' FileCacheCreating (Prelude.Maybe Prelude.Text)+fileCacheCreating_fileCacheId = Lens.lens (\FileCacheCreating' {fileCacheId} -> fileCacheId) (\s@FileCacheCreating' {} a -> s {fileCacheId = a} :: FileCacheCreating)++-- | The type of cache, which must be @LUSTRE@.+fileCacheCreating_fileCacheType :: Lens.Lens' FileCacheCreating (Prelude.Maybe FileCacheType)+fileCacheCreating_fileCacheType = Lens.lens (\FileCacheCreating' {fileCacheType} -> fileCacheType) (\s@FileCacheCreating' {} a -> s {fileCacheType = a} :: FileCacheCreating)++-- | The Lustre version of the cache, which must be @2.12@.+fileCacheCreating_fileCacheTypeVersion :: Lens.Lens' FileCacheCreating (Prelude.Maybe Prelude.Text)+fileCacheCreating_fileCacheTypeVersion = Lens.lens (\FileCacheCreating' {fileCacheTypeVersion} -> fileCacheTypeVersion) (\s@FileCacheCreating' {} a -> s {fileCacheTypeVersion = a} :: FileCacheCreating)++-- | Specifies the ID of the Key Management Service (KMS) key to use for+-- encrypting data on an Amazon File Cache. If a @KmsKeyId@ isn\'t+-- specified, the Amazon FSx-managed KMS key for your account is used. For+-- more information, see+-- <https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html Encrypt>+-- in the /Key Management Service API Reference/.+fileCacheCreating_kmsKeyId :: Lens.Lens' FileCacheCreating (Prelude.Maybe Prelude.Text)+fileCacheCreating_kmsKeyId = Lens.lens (\FileCacheCreating' {kmsKeyId} -> kmsKeyId) (\s@FileCacheCreating' {} a -> s {kmsKeyId = a} :: FileCacheCreating)++-- | The lifecycle status of the cache. The following are the possible values+-- and what they mean:+--+-- - @AVAILABLE@ - The cache is in a healthy state, and is reachable and+-- available for use.+--+-- - @CREATING@ - The new cache is being created.+--+-- - @DELETING@ - An existing cache is being deleted.+--+-- - @UPDATING@ - The cache is undergoing a customer-initiated update.+--+-- - @FAILED@ - An existing cache has experienced an unrecoverable+-- failure. When creating a new cache, the cache was unable to be+-- created.+fileCacheCreating_lifecycle :: Lens.Lens' FileCacheCreating (Prelude.Maybe FileCacheLifecycle)+fileCacheCreating_lifecycle = Lens.lens (\FileCacheCreating' {lifecycle} -> lifecycle) (\s@FileCacheCreating' {} a -> s {lifecycle = a} :: FileCacheCreating)++-- | The configuration for the Amazon File Cache resource.+fileCacheCreating_lustreConfiguration :: Lens.Lens' FileCacheCreating (Prelude.Maybe FileCacheLustreConfiguration)+fileCacheCreating_lustreConfiguration = Lens.lens (\FileCacheCreating' {lustreConfiguration} -> lustreConfiguration) (\s@FileCacheCreating' {} a -> s {lustreConfiguration = a} :: FileCacheCreating)++-- | Undocumented member.+fileCacheCreating_networkInterfaceIds :: Lens.Lens' FileCacheCreating (Prelude.Maybe [Prelude.Text])+fileCacheCreating_networkInterfaceIds = Lens.lens (\FileCacheCreating' {networkInterfaceIds} -> networkInterfaceIds) (\s@FileCacheCreating' {} a -> s {networkInterfaceIds = a} :: FileCacheCreating) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+fileCacheCreating_ownerId :: Lens.Lens' FileCacheCreating (Prelude.Maybe Prelude.Text)+fileCacheCreating_ownerId = Lens.lens (\FileCacheCreating' {ownerId} -> ownerId) (\s@FileCacheCreating' {} a -> s {ownerId = a} :: FileCacheCreating)++-- | Undocumented member.+fileCacheCreating_resourceARN :: Lens.Lens' FileCacheCreating (Prelude.Maybe Prelude.Text)+fileCacheCreating_resourceARN = Lens.lens (\FileCacheCreating' {resourceARN} -> resourceARN) (\s@FileCacheCreating' {} a -> s {resourceARN = a} :: FileCacheCreating)++-- | The storage capacity of the cache in gibibytes (GiB).+fileCacheCreating_storageCapacity :: Lens.Lens' FileCacheCreating (Prelude.Maybe Prelude.Natural)+fileCacheCreating_storageCapacity = Lens.lens (\FileCacheCreating' {storageCapacity} -> storageCapacity) (\s@FileCacheCreating' {} a -> s {storageCapacity = a} :: FileCacheCreating)++-- | Undocumented member.+fileCacheCreating_subnetIds :: Lens.Lens' FileCacheCreating (Prelude.Maybe [Prelude.Text])+fileCacheCreating_subnetIds = Lens.lens (\FileCacheCreating' {subnetIds} -> subnetIds) (\s@FileCacheCreating' {} a -> s {subnetIds = a} :: FileCacheCreating) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+fileCacheCreating_tags :: Lens.Lens' FileCacheCreating (Prelude.Maybe (Prelude.NonEmpty Tag))+fileCacheCreating_tags = Lens.lens (\FileCacheCreating' {tags} -> tags) (\s@FileCacheCreating' {} a -> s {tags = a} :: FileCacheCreating) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+fileCacheCreating_vpcId :: Lens.Lens' FileCacheCreating (Prelude.Maybe Prelude.Text)+fileCacheCreating_vpcId = Lens.lens (\FileCacheCreating' {vpcId} -> vpcId) (\s@FileCacheCreating' {} a -> s {vpcId = a} :: FileCacheCreating)++instance Data.FromJSON FileCacheCreating where+ parseJSON =+ Data.withObject+ "FileCacheCreating"+ ( \x ->+ FileCacheCreating'+ Prelude.<$> (x Data..:? "CopyTagsToDataRepositoryAssociations")+ Prelude.<*> (x Data..:? "CreationTime")+ Prelude.<*> (x Data..:? "DNSName")+ Prelude.<*> ( x+ Data..:? "DataRepositoryAssociationIds"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "FailureDetails")+ Prelude.<*> (x Data..:? "FileCacheId")+ Prelude.<*> (x Data..:? "FileCacheType")+ Prelude.<*> (x Data..:? "FileCacheTypeVersion")+ Prelude.<*> (x Data..:? "KmsKeyId")+ Prelude.<*> (x Data..:? "Lifecycle")+ Prelude.<*> (x Data..:? "LustreConfiguration")+ Prelude.<*> ( x+ Data..:? "NetworkInterfaceIds"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "OwnerId")+ Prelude.<*> (x Data..:? "ResourceARN")+ Prelude.<*> (x Data..:? "StorageCapacity")+ Prelude.<*> (x Data..:? "SubnetIds" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "Tags")+ Prelude.<*> (x Data..:? "VpcId")+ )++instance Prelude.Hashable FileCacheCreating where+ hashWithSalt _salt FileCacheCreating' {..} =+ _salt+ `Prelude.hashWithSalt` copyTagsToDataRepositoryAssociations+ `Prelude.hashWithSalt` creationTime+ `Prelude.hashWithSalt` dNSName+ `Prelude.hashWithSalt` dataRepositoryAssociationIds+ `Prelude.hashWithSalt` failureDetails+ `Prelude.hashWithSalt` fileCacheId+ `Prelude.hashWithSalt` fileCacheType+ `Prelude.hashWithSalt` fileCacheTypeVersion+ `Prelude.hashWithSalt` kmsKeyId+ `Prelude.hashWithSalt` lifecycle+ `Prelude.hashWithSalt` lustreConfiguration+ `Prelude.hashWithSalt` networkInterfaceIds+ `Prelude.hashWithSalt` ownerId+ `Prelude.hashWithSalt` resourceARN+ `Prelude.hashWithSalt` storageCapacity+ `Prelude.hashWithSalt` subnetIds+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` vpcId++instance Prelude.NFData FileCacheCreating where+ rnf FileCacheCreating' {..} =+ Prelude.rnf copyTagsToDataRepositoryAssociations+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf dNSName+ `Prelude.seq` Prelude.rnf dataRepositoryAssociationIds+ `Prelude.seq` Prelude.rnf failureDetails+ `Prelude.seq` Prelude.rnf fileCacheId+ `Prelude.seq` Prelude.rnf fileCacheType+ `Prelude.seq` Prelude.rnf fileCacheTypeVersion+ `Prelude.seq` Prelude.rnf kmsKeyId+ `Prelude.seq` Prelude.rnf lifecycle+ `Prelude.seq` Prelude.rnf lustreConfiguration+ `Prelude.seq` Prelude.rnf networkInterfaceIds+ `Prelude.seq` Prelude.rnf ownerId+ `Prelude.seq` Prelude.rnf resourceARN+ `Prelude.seq` Prelude.rnf storageCapacity+ `Prelude.seq` Prelude.rnf subnetIds+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf vpcId
+ gen/Amazonka/FSx/Types/FileCacheDataRepositoryAssociation.hs view
@@ -0,0 +1,260 @@+{-# 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.FSx.Types.FileCacheDataRepositoryAssociation+-- 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.FSx.Types.FileCacheDataRepositoryAssociation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types.FileCacheNFSConfiguration+import qualified Amazonka.Prelude as Prelude++-- | The configuration for a data repository association (DRA) to be created+-- during the Amazon File Cache resource creation. The DRA links the cache+-- to either an Amazon S3 bucket or prefix, or a Network File System (NFS)+-- data repository that supports the NFSv3 protocol.+--+-- The DRA does not support automatic import or automatic export.+--+-- /See:/ 'newFileCacheDataRepositoryAssociation' smart constructor.+data FileCacheDataRepositoryAssociation = FileCacheDataRepositoryAssociation'+ { -- | A list of NFS Exports that will be linked with this data repository+ -- association. The Export paths are in the format @\/exportpath1@. To use+ -- this parameter, you must configure @DataRepositoryPath@ as the domain+ -- name of the NFS file system. The NFS file system domain name in effect+ -- is the root of the subdirectories. Note that+ -- @DataRepositorySubdirectories@ is not supported for S3 data+ -- repositories.+ dataRepositorySubdirectories :: Prelude.Maybe [Prelude.Text],+ -- | The configuration for a data repository association that links an Amazon+ -- File Cache resource to an NFS data repository.+ nfs :: Prelude.Maybe FileCacheNFSConfiguration,+ -- | A path on the cache that points to a high-level directory (such as+ -- @\/ns1\/@) or subdirectory (such as @\/ns1\/subdir\/@) that will be+ -- mapped 1-1 with @DataRepositoryPath@. The leading forward slash in the+ -- name is required. Two data repository associations cannot have+ -- overlapping cache paths. For example, if a data repository is associated+ -- with cache path @\/ns1\/@, then you cannot link another data repository+ -- with cache path @\/ns1\/ns2@.+ --+ -- This path specifies where in your cache files will be exported from.+ -- This cache directory can be linked to only one data repository, and no+ -- data repository other can be linked to the directory.+ --+ -- The cache path can only be set to root (\/) on an NFS DRA when+ -- @DataRepositorySubdirectories@ is specified. If you specify root (\/) as+ -- the cache path, you can create only one DRA on the cache.+ --+ -- The cache path cannot be set to root (\/) for an S3 DRA.+ fileCachePath :: Prelude.Text,+ -- | The path to the S3 or NFS data repository that links to the cache. You+ -- must provide one of the following paths:+ --+ -- - The path can be an NFS data repository that links to the cache. The+ -- path can be in one of two formats:+ --+ -- - If you are not using the @DataRepositorySubdirectories@+ -- parameter, the path is to an NFS Export directory (or one of its+ -- subdirectories) in the format+ -- @nsf:\/\/nfs-domain-name\/exportpath@. You can therefore link a+ -- single NFS Export to a single data repository association.+ --+ -- - If you are using the @DataRepositorySubdirectories@ parameter,+ -- the path is the domain name of the NFS file system in the format+ -- @nfs:\/\/filer-domain-name@, which indicates the root of the+ -- subdirectories specified with the @DataRepositorySubdirectories@+ -- parameter.+ --+ -- - The path can be an S3 bucket or prefix in the format+ -- @s3:\/\/myBucket\/myPrefix\/@.+ dataRepositoryPath :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FileCacheDataRepositoryAssociation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataRepositorySubdirectories', 'fileCacheDataRepositoryAssociation_dataRepositorySubdirectories' - A list of NFS Exports that will be linked with this data repository+-- association. The Export paths are in the format @\/exportpath1@. To use+-- this parameter, you must configure @DataRepositoryPath@ as the domain+-- name of the NFS file system. The NFS file system domain name in effect+-- is the root of the subdirectories. Note that+-- @DataRepositorySubdirectories@ is not supported for S3 data+-- repositories.+--+-- 'nfs', 'fileCacheDataRepositoryAssociation_nfs' - The configuration for a data repository association that links an Amazon+-- File Cache resource to an NFS data repository.+--+-- 'fileCachePath', 'fileCacheDataRepositoryAssociation_fileCachePath' - A path on the cache that points to a high-level directory (such as+-- @\/ns1\/@) or subdirectory (such as @\/ns1\/subdir\/@) that will be+-- mapped 1-1 with @DataRepositoryPath@. The leading forward slash in the+-- name is required. Two data repository associations cannot have+-- overlapping cache paths. For example, if a data repository is associated+-- with cache path @\/ns1\/@, then you cannot link another data repository+-- with cache path @\/ns1\/ns2@.+--+-- This path specifies where in your cache files will be exported from.+-- This cache directory can be linked to only one data repository, and no+-- data repository other can be linked to the directory.+--+-- The cache path can only be set to root (\/) on an NFS DRA when+-- @DataRepositorySubdirectories@ is specified. If you specify root (\/) as+-- the cache path, you can create only one DRA on the cache.+--+-- The cache path cannot be set to root (\/) for an S3 DRA.+--+-- 'dataRepositoryPath', 'fileCacheDataRepositoryAssociation_dataRepositoryPath' - The path to the S3 or NFS data repository that links to the cache. You+-- must provide one of the following paths:+--+-- - The path can be an NFS data repository that links to the cache. The+-- path can be in one of two formats:+--+-- - If you are not using the @DataRepositorySubdirectories@+-- parameter, the path is to an NFS Export directory (or one of its+-- subdirectories) in the format+-- @nsf:\/\/nfs-domain-name\/exportpath@. You can therefore link a+-- single NFS Export to a single data repository association.+--+-- - If you are using the @DataRepositorySubdirectories@ parameter,+-- the path is the domain name of the NFS file system in the format+-- @nfs:\/\/filer-domain-name@, which indicates the root of the+-- subdirectories specified with the @DataRepositorySubdirectories@+-- parameter.+--+-- - The path can be an S3 bucket or prefix in the format+-- @s3:\/\/myBucket\/myPrefix\/@.+newFileCacheDataRepositoryAssociation ::+ -- | 'fileCachePath'+ Prelude.Text ->+ -- | 'dataRepositoryPath'+ Prelude.Text ->+ FileCacheDataRepositoryAssociation+newFileCacheDataRepositoryAssociation+ pFileCachePath_+ pDataRepositoryPath_ =+ FileCacheDataRepositoryAssociation'+ { dataRepositorySubdirectories =+ Prelude.Nothing,+ nfs = Prelude.Nothing,+ fileCachePath = pFileCachePath_,+ dataRepositoryPath =+ pDataRepositoryPath_+ }++-- | A list of NFS Exports that will be linked with this data repository+-- association. The Export paths are in the format @\/exportpath1@. To use+-- this parameter, you must configure @DataRepositoryPath@ as the domain+-- name of the NFS file system. The NFS file system domain name in effect+-- is the root of the subdirectories. Note that+-- @DataRepositorySubdirectories@ is not supported for S3 data+-- repositories.+fileCacheDataRepositoryAssociation_dataRepositorySubdirectories :: Lens.Lens' FileCacheDataRepositoryAssociation (Prelude.Maybe [Prelude.Text])+fileCacheDataRepositoryAssociation_dataRepositorySubdirectories = Lens.lens (\FileCacheDataRepositoryAssociation' {dataRepositorySubdirectories} -> dataRepositorySubdirectories) (\s@FileCacheDataRepositoryAssociation' {} a -> s {dataRepositorySubdirectories = a} :: FileCacheDataRepositoryAssociation) Prelude.. Lens.mapping Lens.coerced++-- | The configuration for a data repository association that links an Amazon+-- File Cache resource to an NFS data repository.+fileCacheDataRepositoryAssociation_nfs :: Lens.Lens' FileCacheDataRepositoryAssociation (Prelude.Maybe FileCacheNFSConfiguration)+fileCacheDataRepositoryAssociation_nfs = Lens.lens (\FileCacheDataRepositoryAssociation' {nfs} -> nfs) (\s@FileCacheDataRepositoryAssociation' {} a -> s {nfs = a} :: FileCacheDataRepositoryAssociation)++-- | A path on the cache that points to a high-level directory (such as+-- @\/ns1\/@) or subdirectory (such as @\/ns1\/subdir\/@) that will be+-- mapped 1-1 with @DataRepositoryPath@. The leading forward slash in the+-- name is required. Two data repository associations cannot have+-- overlapping cache paths. For example, if a data repository is associated+-- with cache path @\/ns1\/@, then you cannot link another data repository+-- with cache path @\/ns1\/ns2@.+--+-- This path specifies where in your cache files will be exported from.+-- This cache directory can be linked to only one data repository, and no+-- data repository other can be linked to the directory.+--+-- The cache path can only be set to root (\/) on an NFS DRA when+-- @DataRepositorySubdirectories@ is specified. If you specify root (\/) as+-- the cache path, you can create only one DRA on the cache.+--+-- The cache path cannot be set to root (\/) for an S3 DRA.+fileCacheDataRepositoryAssociation_fileCachePath :: Lens.Lens' FileCacheDataRepositoryAssociation Prelude.Text+fileCacheDataRepositoryAssociation_fileCachePath = Lens.lens (\FileCacheDataRepositoryAssociation' {fileCachePath} -> fileCachePath) (\s@FileCacheDataRepositoryAssociation' {} a -> s {fileCachePath = a} :: FileCacheDataRepositoryAssociation)++-- | The path to the S3 or NFS data repository that links to the cache. You+-- must provide one of the following paths:+--+-- - The path can be an NFS data repository that links to the cache. The+-- path can be in one of two formats:+--+-- - If you are not using the @DataRepositorySubdirectories@+-- parameter, the path is to an NFS Export directory (or one of its+-- subdirectories) in the format+-- @nsf:\/\/nfs-domain-name\/exportpath@. You can therefore link a+-- single NFS Export to a single data repository association.+--+-- - If you are using the @DataRepositorySubdirectories@ parameter,+-- the path is the domain name of the NFS file system in the format+-- @nfs:\/\/filer-domain-name@, which indicates the root of the+-- subdirectories specified with the @DataRepositorySubdirectories@+-- parameter.+--+-- - The path can be an S3 bucket or prefix in the format+-- @s3:\/\/myBucket\/myPrefix\/@.+fileCacheDataRepositoryAssociation_dataRepositoryPath :: Lens.Lens' FileCacheDataRepositoryAssociation Prelude.Text+fileCacheDataRepositoryAssociation_dataRepositoryPath = Lens.lens (\FileCacheDataRepositoryAssociation' {dataRepositoryPath} -> dataRepositoryPath) (\s@FileCacheDataRepositoryAssociation' {} a -> s {dataRepositoryPath = a} :: FileCacheDataRepositoryAssociation)++instance+ Prelude.Hashable+ FileCacheDataRepositoryAssociation+ where+ hashWithSalt+ _salt+ FileCacheDataRepositoryAssociation' {..} =+ _salt+ `Prelude.hashWithSalt` dataRepositorySubdirectories+ `Prelude.hashWithSalt` nfs+ `Prelude.hashWithSalt` fileCachePath+ `Prelude.hashWithSalt` dataRepositoryPath++instance+ Prelude.NFData+ FileCacheDataRepositoryAssociation+ where+ rnf FileCacheDataRepositoryAssociation' {..} =+ Prelude.rnf dataRepositorySubdirectories+ `Prelude.seq` Prelude.rnf nfs+ `Prelude.seq` Prelude.rnf fileCachePath+ `Prelude.seq` Prelude.rnf dataRepositoryPath++instance+ Data.ToJSON+ FileCacheDataRepositoryAssociation+ where+ toJSON FileCacheDataRepositoryAssociation' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("DataRepositorySubdirectories" Data..=)+ Prelude.<$> dataRepositorySubdirectories,+ ("NFS" Data..=) Prelude.<$> nfs,+ Prelude.Just ("FileCachePath" Data..= fileCachePath),+ Prelude.Just+ ("DataRepositoryPath" Data..= dataRepositoryPath)+ ]+ )
+ gen/Amazonka/FSx/Types/FileCacheFailureDetails.hs view
@@ -0,0 +1,69 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FSx.Types.FileCacheFailureDetails+-- 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.FSx.Types.FileCacheFailureDetails where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A structure providing details of any failures that occurred.+--+-- /See:/ 'newFileCacheFailureDetails' smart constructor.+data FileCacheFailureDetails = FileCacheFailureDetails'+ { -- | A message describing any failures that occurred.+ message :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FileCacheFailureDetails' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'message', 'fileCacheFailureDetails_message' - A message describing any failures that occurred.+newFileCacheFailureDetails ::+ FileCacheFailureDetails+newFileCacheFailureDetails =+ FileCacheFailureDetails' {message = Prelude.Nothing}++-- | A message describing any failures that occurred.+fileCacheFailureDetails_message :: Lens.Lens' FileCacheFailureDetails (Prelude.Maybe Prelude.Text)+fileCacheFailureDetails_message = Lens.lens (\FileCacheFailureDetails' {message} -> message) (\s@FileCacheFailureDetails' {} a -> s {message = a} :: FileCacheFailureDetails)++instance Data.FromJSON FileCacheFailureDetails where+ parseJSON =+ Data.withObject+ "FileCacheFailureDetails"+ ( \x ->+ FileCacheFailureDetails'+ Prelude.<$> (x Data..:? "Message")+ )++instance Prelude.Hashable FileCacheFailureDetails where+ hashWithSalt _salt FileCacheFailureDetails' {..} =+ _salt `Prelude.hashWithSalt` message++instance Prelude.NFData FileCacheFailureDetails where+ rnf FileCacheFailureDetails' {..} =+ Prelude.rnf message
+ gen/Amazonka/FSx/Types/FileCacheLifecycle.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.FSx.Types.FileCacheLifecycle+-- 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.FSx.Types.FileCacheLifecycle+ ( FileCacheLifecycle+ ( ..,+ FileCacheLifecycle_AVAILABLE,+ FileCacheLifecycle_CREATING,+ FileCacheLifecycle_DELETING,+ FileCacheLifecycle_FAILED,+ FileCacheLifecycle_UPDATING+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype FileCacheLifecycle = FileCacheLifecycle'+ { fromFileCacheLifecycle ::+ 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 FileCacheLifecycle_AVAILABLE :: FileCacheLifecycle+pattern FileCacheLifecycle_AVAILABLE = FileCacheLifecycle' "AVAILABLE"++pattern FileCacheLifecycle_CREATING :: FileCacheLifecycle+pattern FileCacheLifecycle_CREATING = FileCacheLifecycle' "CREATING"++pattern FileCacheLifecycle_DELETING :: FileCacheLifecycle+pattern FileCacheLifecycle_DELETING = FileCacheLifecycle' "DELETING"++pattern FileCacheLifecycle_FAILED :: FileCacheLifecycle+pattern FileCacheLifecycle_FAILED = FileCacheLifecycle' "FAILED"++pattern FileCacheLifecycle_UPDATING :: FileCacheLifecycle+pattern FileCacheLifecycle_UPDATING = FileCacheLifecycle' "UPDATING"++{-# COMPLETE+ FileCacheLifecycle_AVAILABLE,+ FileCacheLifecycle_CREATING,+ FileCacheLifecycle_DELETING,+ FileCacheLifecycle_FAILED,+ FileCacheLifecycle_UPDATING,+ FileCacheLifecycle'+ #-}
+ gen/Amazonka/FSx/Types/FileCacheLustreConfiguration.hs view
@@ -0,0 +1,162 @@+{-# 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.FSx.Types.FileCacheLustreConfiguration+-- 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.FSx.Types.FileCacheLustreConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types.FileCacheLustreDeploymentType+import Amazonka.FSx.Types.FileCacheLustreMetadataConfiguration+import Amazonka.FSx.Types.LustreLogConfiguration+import qualified Amazonka.Prelude as Prelude++-- | The configuration for the Amazon File Cache resource.+--+-- /See:/ 'newFileCacheLustreConfiguration' smart constructor.+data FileCacheLustreConfiguration = FileCacheLustreConfiguration'+ { -- | The deployment type of the Amazon File Cache resource, which must be+ -- @CACHE_1@.+ deploymentType :: Prelude.Maybe FileCacheLustreDeploymentType,+ -- | The configuration for Lustre logging used to write the enabled logging+ -- events for your Amazon File Cache resource to Amazon CloudWatch Logs.+ logConfiguration :: Prelude.Maybe LustreLogConfiguration,+ -- | The configuration for a Lustre MDT (Metadata Target) storage volume.+ metadataConfiguration :: Prelude.Maybe FileCacheLustreMetadataConfiguration,+ -- | You use the @MountName@ value when mounting the cache. If you pass a+ -- cache ID to the @DescribeFileCaches@ operation, it returns the the+ -- @MountName@ value as part of the cache\'s description.+ mountName :: Prelude.Maybe Prelude.Text,+ -- | Per unit storage throughput represents the megabytes per second of read+ -- or write throughput per 1 tebibyte of storage provisioned. Cache+ -- throughput capacity is equal to Storage capacity (TiB) *+ -- PerUnitStorageThroughput (MB\/s\/TiB). The only supported value is+ -- @1000@.+ perUnitStorageThroughput :: Prelude.Maybe Prelude.Natural,+ weeklyMaintenanceStartTime :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FileCacheLustreConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'deploymentType', 'fileCacheLustreConfiguration_deploymentType' - The deployment type of the Amazon File Cache resource, which must be+-- @CACHE_1@.+--+-- 'logConfiguration', 'fileCacheLustreConfiguration_logConfiguration' - The configuration for Lustre logging used to write the enabled logging+-- events for your Amazon File Cache resource to Amazon CloudWatch Logs.+--+-- 'metadataConfiguration', 'fileCacheLustreConfiguration_metadataConfiguration' - The configuration for a Lustre MDT (Metadata Target) storage volume.+--+-- 'mountName', 'fileCacheLustreConfiguration_mountName' - You use the @MountName@ value when mounting the cache. If you pass a+-- cache ID to the @DescribeFileCaches@ operation, it returns the the+-- @MountName@ value as part of the cache\'s description.+--+-- 'perUnitStorageThroughput', 'fileCacheLustreConfiguration_perUnitStorageThroughput' - Per unit storage throughput represents the megabytes per second of read+-- or write throughput per 1 tebibyte of storage provisioned. Cache+-- throughput capacity is equal to Storage capacity (TiB) *+-- PerUnitStorageThroughput (MB\/s\/TiB). The only supported value is+-- @1000@.+--+-- 'weeklyMaintenanceStartTime', 'fileCacheLustreConfiguration_weeklyMaintenanceStartTime' - Undocumented member.+newFileCacheLustreConfiguration ::+ FileCacheLustreConfiguration+newFileCacheLustreConfiguration =+ FileCacheLustreConfiguration'+ { deploymentType =+ Prelude.Nothing,+ logConfiguration = Prelude.Nothing,+ metadataConfiguration = Prelude.Nothing,+ mountName = Prelude.Nothing,+ perUnitStorageThroughput = Prelude.Nothing,+ weeklyMaintenanceStartTime = Prelude.Nothing+ }++-- | The deployment type of the Amazon File Cache resource, which must be+-- @CACHE_1@.+fileCacheLustreConfiguration_deploymentType :: Lens.Lens' FileCacheLustreConfiguration (Prelude.Maybe FileCacheLustreDeploymentType)+fileCacheLustreConfiguration_deploymentType = Lens.lens (\FileCacheLustreConfiguration' {deploymentType} -> deploymentType) (\s@FileCacheLustreConfiguration' {} a -> s {deploymentType = a} :: FileCacheLustreConfiguration)++-- | The configuration for Lustre logging used to write the enabled logging+-- events for your Amazon File Cache resource to Amazon CloudWatch Logs.+fileCacheLustreConfiguration_logConfiguration :: Lens.Lens' FileCacheLustreConfiguration (Prelude.Maybe LustreLogConfiguration)+fileCacheLustreConfiguration_logConfiguration = Lens.lens (\FileCacheLustreConfiguration' {logConfiguration} -> logConfiguration) (\s@FileCacheLustreConfiguration' {} a -> s {logConfiguration = a} :: FileCacheLustreConfiguration)++-- | The configuration for a Lustre MDT (Metadata Target) storage volume.+fileCacheLustreConfiguration_metadataConfiguration :: Lens.Lens' FileCacheLustreConfiguration (Prelude.Maybe FileCacheLustreMetadataConfiguration)+fileCacheLustreConfiguration_metadataConfiguration = Lens.lens (\FileCacheLustreConfiguration' {metadataConfiguration} -> metadataConfiguration) (\s@FileCacheLustreConfiguration' {} a -> s {metadataConfiguration = a} :: FileCacheLustreConfiguration)++-- | You use the @MountName@ value when mounting the cache. If you pass a+-- cache ID to the @DescribeFileCaches@ operation, it returns the the+-- @MountName@ value as part of the cache\'s description.+fileCacheLustreConfiguration_mountName :: Lens.Lens' FileCacheLustreConfiguration (Prelude.Maybe Prelude.Text)+fileCacheLustreConfiguration_mountName = Lens.lens (\FileCacheLustreConfiguration' {mountName} -> mountName) (\s@FileCacheLustreConfiguration' {} a -> s {mountName = a} :: FileCacheLustreConfiguration)++-- | Per unit storage throughput represents the megabytes per second of read+-- or write throughput per 1 tebibyte of storage provisioned. Cache+-- throughput capacity is equal to Storage capacity (TiB) *+-- PerUnitStorageThroughput (MB\/s\/TiB). The only supported value is+-- @1000@.+fileCacheLustreConfiguration_perUnitStorageThroughput :: Lens.Lens' FileCacheLustreConfiguration (Prelude.Maybe Prelude.Natural)+fileCacheLustreConfiguration_perUnitStorageThroughput = Lens.lens (\FileCacheLustreConfiguration' {perUnitStorageThroughput} -> perUnitStorageThroughput) (\s@FileCacheLustreConfiguration' {} a -> s {perUnitStorageThroughput = a} :: FileCacheLustreConfiguration)++-- | Undocumented member.+fileCacheLustreConfiguration_weeklyMaintenanceStartTime :: Lens.Lens' FileCacheLustreConfiguration (Prelude.Maybe Prelude.Text)+fileCacheLustreConfiguration_weeklyMaintenanceStartTime = Lens.lens (\FileCacheLustreConfiguration' {weeklyMaintenanceStartTime} -> weeklyMaintenanceStartTime) (\s@FileCacheLustreConfiguration' {} a -> s {weeklyMaintenanceStartTime = a} :: FileCacheLustreConfiguration)++instance Data.FromJSON FileCacheLustreConfiguration where+ parseJSON =+ Data.withObject+ "FileCacheLustreConfiguration"+ ( \x ->+ FileCacheLustreConfiguration'+ Prelude.<$> (x Data..:? "DeploymentType")+ Prelude.<*> (x Data..:? "LogConfiguration")+ Prelude.<*> (x Data..:? "MetadataConfiguration")+ Prelude.<*> (x Data..:? "MountName")+ Prelude.<*> (x Data..:? "PerUnitStorageThroughput")+ Prelude.<*> (x Data..:? "WeeklyMaintenanceStartTime")+ )++instance+ Prelude.Hashable+ FileCacheLustreConfiguration+ where+ hashWithSalt _salt FileCacheLustreConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` deploymentType+ `Prelude.hashWithSalt` logConfiguration+ `Prelude.hashWithSalt` metadataConfiguration+ `Prelude.hashWithSalt` mountName+ `Prelude.hashWithSalt` perUnitStorageThroughput+ `Prelude.hashWithSalt` weeklyMaintenanceStartTime++instance Prelude.NFData FileCacheLustreConfiguration where+ rnf FileCacheLustreConfiguration' {..} =+ Prelude.rnf deploymentType+ `Prelude.seq` Prelude.rnf logConfiguration+ `Prelude.seq` Prelude.rnf metadataConfiguration+ `Prelude.seq` Prelude.rnf mountName+ `Prelude.seq` Prelude.rnf perUnitStorageThroughput+ `Prelude.seq` Prelude.rnf weeklyMaintenanceStartTime
+ gen/Amazonka/FSx/Types/FileCacheLustreDeploymentType.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.FSx.Types.FileCacheLustreDeploymentType+-- 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.FSx.Types.FileCacheLustreDeploymentType+ ( FileCacheLustreDeploymentType+ ( ..,+ FileCacheLustreDeploymentType_CACHE_1+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype FileCacheLustreDeploymentType = FileCacheLustreDeploymentType'+ { fromFileCacheLustreDeploymentType ::+ 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 FileCacheLustreDeploymentType_CACHE_1 :: FileCacheLustreDeploymentType+pattern FileCacheLustreDeploymentType_CACHE_1 = FileCacheLustreDeploymentType' "CACHE_1"++{-# COMPLETE+ FileCacheLustreDeploymentType_CACHE_1,+ FileCacheLustreDeploymentType'+ #-}
+ gen/Amazonka/FSx/Types/FileCacheLustreMetadataConfiguration.hs view
@@ -0,0 +1,103 @@+{-# 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.FSx.Types.FileCacheLustreMetadataConfiguration+-- 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.FSx.Types.FileCacheLustreMetadataConfiguration 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 configuration for a Lustre MDT (Metadata Target) storage volume. The+-- metadata on Amazon File Cache is managed by a Lustre Metadata Server+-- (MDS) while the actual metadata is persisted on an MDT.+--+-- /See:/ 'newFileCacheLustreMetadataConfiguration' smart constructor.+data FileCacheLustreMetadataConfiguration = FileCacheLustreMetadataConfiguration'+ { -- | The storage capacity of the Lustre MDT (Metadata Target) storage volume+ -- in gibibytes (GiB). The only supported value is @2400@ GiB.+ storageCapacity :: Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FileCacheLustreMetadataConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'storageCapacity', 'fileCacheLustreMetadataConfiguration_storageCapacity' - The storage capacity of the Lustre MDT (Metadata Target) storage volume+-- in gibibytes (GiB). The only supported value is @2400@ GiB.+newFileCacheLustreMetadataConfiguration ::+ -- | 'storageCapacity'+ Prelude.Natural ->+ FileCacheLustreMetadataConfiguration+newFileCacheLustreMetadataConfiguration+ pStorageCapacity_ =+ FileCacheLustreMetadataConfiguration'+ { storageCapacity =+ pStorageCapacity_+ }++-- | The storage capacity of the Lustre MDT (Metadata Target) storage volume+-- in gibibytes (GiB). The only supported value is @2400@ GiB.+fileCacheLustreMetadataConfiguration_storageCapacity :: Lens.Lens' FileCacheLustreMetadataConfiguration Prelude.Natural+fileCacheLustreMetadataConfiguration_storageCapacity = Lens.lens (\FileCacheLustreMetadataConfiguration' {storageCapacity} -> storageCapacity) (\s@FileCacheLustreMetadataConfiguration' {} a -> s {storageCapacity = a} :: FileCacheLustreMetadataConfiguration)++instance+ Data.FromJSON+ FileCacheLustreMetadataConfiguration+ where+ parseJSON =+ Data.withObject+ "FileCacheLustreMetadataConfiguration"+ ( \x ->+ FileCacheLustreMetadataConfiguration'+ Prelude.<$> (x Data..: "StorageCapacity")+ )++instance+ Prelude.Hashable+ FileCacheLustreMetadataConfiguration+ where+ hashWithSalt+ _salt+ FileCacheLustreMetadataConfiguration' {..} =+ _salt `Prelude.hashWithSalt` storageCapacity++instance+ Prelude.NFData+ FileCacheLustreMetadataConfiguration+ where+ rnf FileCacheLustreMetadataConfiguration' {..} =+ Prelude.rnf storageCapacity++instance+ Data.ToJSON+ FileCacheLustreMetadataConfiguration+ where+ toJSON FileCacheLustreMetadataConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("StorageCapacity" Data..= storageCapacity)+ ]+ )
+ gen/Amazonka/FSx/Types/FileCacheNFSConfiguration.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.FSx.Types.FileCacheNFSConfiguration+-- 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.FSx.Types.FileCacheNFSConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types.NfsVersion+import qualified Amazonka.Prelude as Prelude++-- | The configuration for an NFS data repository association (DRA) created+-- during the creation of the Amazon File Cache resource.+--+-- /See:/ 'newFileCacheNFSConfiguration' smart constructor.+data FileCacheNFSConfiguration = FileCacheNFSConfiguration'+ { -- | A list of up to 2 IP addresses of DNS servers used to resolve the NFS+ -- file system domain name. The provided IP addresses can either be the IP+ -- addresses of a DNS forwarder or resolver that the customer manages and+ -- runs inside the customer VPC, or the IP addresses of the on-premises DNS+ -- servers.+ dnsIps :: Prelude.Maybe [Prelude.Text],+ -- | The version of the NFS (Network File System) protocol of the NFS data+ -- repository. The only supported value is @NFS3@, which indicates that the+ -- data repository must support the NFSv3 protocol.+ version :: NfsVersion+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FileCacheNFSConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dnsIps', 'fileCacheNFSConfiguration_dnsIps' - A list of up to 2 IP addresses of DNS servers used to resolve the NFS+-- file system domain name. The provided IP addresses can either be the IP+-- addresses of a DNS forwarder or resolver that the customer manages and+-- runs inside the customer VPC, or the IP addresses of the on-premises DNS+-- servers.+--+-- 'version', 'fileCacheNFSConfiguration_version' - The version of the NFS (Network File System) protocol of the NFS data+-- repository. The only supported value is @NFS3@, which indicates that the+-- data repository must support the NFSv3 protocol.+newFileCacheNFSConfiguration ::+ -- | 'version'+ NfsVersion ->+ FileCacheNFSConfiguration+newFileCacheNFSConfiguration pVersion_ =+ FileCacheNFSConfiguration'+ { dnsIps =+ Prelude.Nothing,+ version = pVersion_+ }++-- | A list of up to 2 IP addresses of DNS servers used to resolve the NFS+-- file system domain name. The provided IP addresses can either be the IP+-- addresses of a DNS forwarder or resolver that the customer manages and+-- runs inside the customer VPC, or the IP addresses of the on-premises DNS+-- servers.+fileCacheNFSConfiguration_dnsIps :: Lens.Lens' FileCacheNFSConfiguration (Prelude.Maybe [Prelude.Text])+fileCacheNFSConfiguration_dnsIps = Lens.lens (\FileCacheNFSConfiguration' {dnsIps} -> dnsIps) (\s@FileCacheNFSConfiguration' {} a -> s {dnsIps = a} :: FileCacheNFSConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | The version of the NFS (Network File System) protocol of the NFS data+-- repository. The only supported value is @NFS3@, which indicates that the+-- data repository must support the NFSv3 protocol.+fileCacheNFSConfiguration_version :: Lens.Lens' FileCacheNFSConfiguration NfsVersion+fileCacheNFSConfiguration_version = Lens.lens (\FileCacheNFSConfiguration' {version} -> version) (\s@FileCacheNFSConfiguration' {} a -> s {version = a} :: FileCacheNFSConfiguration)++instance Prelude.Hashable FileCacheNFSConfiguration where+ hashWithSalt _salt FileCacheNFSConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` dnsIps+ `Prelude.hashWithSalt` version++instance Prelude.NFData FileCacheNFSConfiguration where+ rnf FileCacheNFSConfiguration' {..} =+ Prelude.rnf dnsIps+ `Prelude.seq` Prelude.rnf version++instance Data.ToJSON FileCacheNFSConfiguration where+ toJSON FileCacheNFSConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("DnsIps" Data..=) Prelude.<$> dnsIps,+ Prelude.Just ("Version" Data..= version)+ ]+ )
+ gen/Amazonka/FSx/Types/FileCacheType.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.FSx.Types.FileCacheType+-- 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.FSx.Types.FileCacheType+ ( FileCacheType+ ( ..,+ FileCacheType_LUSTRE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype FileCacheType = FileCacheType'+ { fromFileCacheType ::+ 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 FileCacheType_LUSTRE :: FileCacheType+pattern FileCacheType_LUSTRE = FileCacheType' "LUSTRE"++{-# COMPLETE+ FileCacheType_LUSTRE,+ FileCacheType'+ #-}
+ gen/Amazonka/FSx/Types/FileSystem.hs view
@@ -0,0 +1,532 @@+{-# 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.FSx.Types.FileSystem+-- 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.FSx.Types.FileSystem where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import {-# SOURCE #-} Amazonka.FSx.Types.AdministrativeAction+import Amazonka.FSx.Types.FileSystemFailureDetails+import Amazonka.FSx.Types.FileSystemLifecycle+import Amazonka.FSx.Types.FileSystemType+import Amazonka.FSx.Types.LustreFileSystemConfiguration+import Amazonka.FSx.Types.OntapFileSystemConfiguration+import Amazonka.FSx.Types.OpenZFSFileSystemConfiguration+import Amazonka.FSx.Types.StorageType+import Amazonka.FSx.Types.Tag+import Amazonka.FSx.Types.WindowsFileSystemConfiguration+import qualified Amazonka.Prelude as Prelude++-- | A description of a specific Amazon FSx file system.+--+-- /See:/ 'newFileSystem' smart constructor.+data FileSystem = FileSystem'+ { -- | A list of administrative actions for the file system that are in process+ -- or waiting to be processed. Administrative actions describe changes to+ -- the Amazon FSx system that you have initiated using the+ -- @UpdateFileSystem@ operation.+ administrativeActions :: Prelude.Maybe [AdministrativeAction],+ -- | The time that the file system was created, in seconds (since+ -- 1970-01-01T00:00:00Z), also known as Unix time.+ creationTime :: Prelude.Maybe Data.POSIX,+ -- | The Domain Name System (DNS) name for the file system.+ dNSName :: Prelude.Maybe Prelude.Text,+ failureDetails :: Prelude.Maybe FileSystemFailureDetails,+ -- | The system-generated, unique 17-digit ID of the file system.+ fileSystemId :: Prelude.Maybe Prelude.Text,+ -- | The type of Amazon FSx file system, which can be @LUSTRE@, @WINDOWS@,+ -- @ONTAP@, or @OPENZFS@.+ fileSystemType :: Prelude.Maybe FileSystemType,+ -- | The Lustre version of the Amazon FSx for Lustre file system, either+ -- @2.10@ or @2.12@.+ fileSystemTypeVersion :: Prelude.Maybe Prelude.Text,+ -- | The ID of the Key Management Service (KMS) key used to encrypt Amazon+ -- FSx file system data. Used as follows with Amazon FSx file system types:+ --+ -- - Amazon FSx for Lustre @PERSISTENT_1@ and @PERSISTENT_2@ deployment+ -- types only.+ --+ -- @SCRATCH_1@ and @SCRATCH_2@ types are encrypted using the Amazon FSx+ -- service KMS key for your account.+ --+ -- - Amazon FSx for NetApp ONTAP+ --+ -- - Amazon FSx for OpenZFS+ --+ -- - Amazon FSx for Windows File Server+ kmsKeyId :: Prelude.Maybe Prelude.Text,+ -- | The lifecycle status of the file system. The following are the possible+ -- values and what they mean:+ --+ -- - @AVAILABLE@ - The file system is in a healthy state, and is+ -- reachable and available for use.+ --+ -- - @CREATING@ - Amazon FSx is creating the new file system.+ --+ -- - @DELETING@ - Amazon FSx is deleting an existing file system.+ --+ -- - @FAILED@ - An existing file system has experienced an unrecoverable+ -- failure. When creating a new file system, Amazon FSx was unable to+ -- create the file system.+ --+ -- - @MISCONFIGURED@ - The file system is in a failed but recoverable+ -- state.+ --+ -- - @MISCONFIGURED_UNAVAILABLE@ - (Amazon FSx for Windows File Server+ -- only) The file system is currently unavailable due to a change in+ -- your Active Directory configuration.+ --+ -- - @UPDATING@ - The file system is undergoing a customer-initiated+ -- update.+ lifecycle :: Prelude.Maybe FileSystemLifecycle,+ lustreConfiguration :: Prelude.Maybe LustreFileSystemConfiguration,+ -- | The IDs of the elastic network interfaces from which a specific file+ -- system is accessible. The elastic network interface is automatically+ -- created in the same virtual private cloud (VPC) that the Amazon FSx file+ -- system was created in. For more information, see+ -- <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html Elastic Network Interfaces>+ -- in the /Amazon EC2 User Guide./+ --+ -- For an Amazon FSx for Windows File Server file system, you can have one+ -- network interface ID. For an Amazon FSx for Lustre file system, you can+ -- have more than one.+ networkInterfaceIds :: Prelude.Maybe [Prelude.Text],+ -- | The configuration for this Amazon FSx for NetApp ONTAP file system.+ ontapConfiguration :: Prelude.Maybe OntapFileSystemConfiguration,+ -- | The configuration for this Amazon FSx for OpenZFS file system.+ openZFSConfiguration :: Prelude.Maybe OpenZFSFileSystemConfiguration,+ -- | The Amazon Web Services account that created the file system. If the+ -- file system was created by an Identity and Access Management (IAM) user,+ -- the Amazon Web Services account to which the IAM user belongs is the+ -- owner.+ ownerId :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the file system resource.+ resourceARN :: Prelude.Maybe Prelude.Text,+ -- | The storage capacity of the file system in gibibytes (GiB).+ storageCapacity :: Prelude.Maybe Prelude.Natural,+ -- | The type of storage the file system is using. If set to @SSD@, the file+ -- system uses solid state drive storage. If set to @HDD@, the file system+ -- uses hard disk drive storage.+ storageType :: Prelude.Maybe StorageType,+ -- | Specifies the IDs of the subnets that the file system is accessible+ -- from. For the Amazon FSx Windows and ONTAP @MULTI_AZ_1@ file system+ -- deployment type, there are two subnet IDs, one for the preferred file+ -- server and one for the standby file server. The preferred file server+ -- subnet identified in the @PreferredSubnetID@ property. All other file+ -- systems have only one subnet ID.+ --+ -- For FSx for Lustre file systems, and Single-AZ Windows file systems,+ -- this is the ID of the subnet that contains the file system\'s endpoint.+ -- For @MULTI_AZ_1@ Windows and ONTAP file systems, the file system+ -- endpoint is available in the @PreferredSubnetID@.+ subnetIds :: Prelude.Maybe [Prelude.Text],+ -- | The tags to associate with the file system. For more information, see+ -- <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html Tagging your Amazon EC2 resources>+ -- in the /Amazon EC2 User Guide/.+ tags :: Prelude.Maybe (Prelude.NonEmpty Tag),+ -- | The ID of the primary virtual private cloud (VPC) for the file system.+ vpcId :: Prelude.Maybe Prelude.Text,+ -- | The configuration for this Amazon FSx for Windows File Server file+ -- system.+ windowsConfiguration :: Prelude.Maybe WindowsFileSystemConfiguration+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FileSystem' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'administrativeActions', 'fileSystem_administrativeActions' - A list of administrative actions for the file system that are in process+-- or waiting to be processed. Administrative actions describe changes to+-- the Amazon FSx system that you have initiated using the+-- @UpdateFileSystem@ operation.+--+-- 'creationTime', 'fileSystem_creationTime' - The time that the file system was created, in seconds (since+-- 1970-01-01T00:00:00Z), also known as Unix time.+--+-- 'dNSName', 'fileSystem_dNSName' - The Domain Name System (DNS) name for the file system.+--+-- 'failureDetails', 'fileSystem_failureDetails' - Undocumented member.+--+-- 'fileSystemId', 'fileSystem_fileSystemId' - The system-generated, unique 17-digit ID of the file system.+--+-- 'fileSystemType', 'fileSystem_fileSystemType' - The type of Amazon FSx file system, which can be @LUSTRE@, @WINDOWS@,+-- @ONTAP@, or @OPENZFS@.+--+-- 'fileSystemTypeVersion', 'fileSystem_fileSystemTypeVersion' - The Lustre version of the Amazon FSx for Lustre file system, either+-- @2.10@ or @2.12@.+--+-- 'kmsKeyId', 'fileSystem_kmsKeyId' - The ID of the Key Management Service (KMS) key used to encrypt Amazon+-- FSx file system data. Used as follows with Amazon FSx file system types:+--+-- - Amazon FSx for Lustre @PERSISTENT_1@ and @PERSISTENT_2@ deployment+-- types only.+--+-- @SCRATCH_1@ and @SCRATCH_2@ types are encrypted using the Amazon FSx+-- service KMS key for your account.+--+-- - Amazon FSx for NetApp ONTAP+--+-- - Amazon FSx for OpenZFS+--+-- - Amazon FSx for Windows File Server+--+-- 'lifecycle', 'fileSystem_lifecycle' - The lifecycle status of the file system. The following are the possible+-- values and what they mean:+--+-- - @AVAILABLE@ - The file system is in a healthy state, and is+-- reachable and available for use.+--+-- - @CREATING@ - Amazon FSx is creating the new file system.+--+-- - @DELETING@ - Amazon FSx is deleting an existing file system.+--+-- - @FAILED@ - An existing file system has experienced an unrecoverable+-- failure. When creating a new file system, Amazon FSx was unable to+-- create the file system.+--+-- - @MISCONFIGURED@ - The file system is in a failed but recoverable+-- state.+--+-- - @MISCONFIGURED_UNAVAILABLE@ - (Amazon FSx for Windows File Server+-- only) The file system is currently unavailable due to a change in+-- your Active Directory configuration.+--+-- - @UPDATING@ - The file system is undergoing a customer-initiated+-- update.+--+-- 'lustreConfiguration', 'fileSystem_lustreConfiguration' - Undocumented member.+--+-- 'networkInterfaceIds', 'fileSystem_networkInterfaceIds' - The IDs of the elastic network interfaces from which a specific file+-- system is accessible. The elastic network interface is automatically+-- created in the same virtual private cloud (VPC) that the Amazon FSx file+-- system was created in. For more information, see+-- <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html Elastic Network Interfaces>+-- in the /Amazon EC2 User Guide./+--+-- For an Amazon FSx for Windows File Server file system, you can have one+-- network interface ID. For an Amazon FSx for Lustre file system, you can+-- have more than one.+--+-- 'ontapConfiguration', 'fileSystem_ontapConfiguration' - The configuration for this Amazon FSx for NetApp ONTAP file system.+--+-- 'openZFSConfiguration', 'fileSystem_openZFSConfiguration' - The configuration for this Amazon FSx for OpenZFS file system.+--+-- 'ownerId', 'fileSystem_ownerId' - The Amazon Web Services account that created the file system. If the+-- file system was created by an Identity and Access Management (IAM) user,+-- the Amazon Web Services account to which the IAM user belongs is the+-- owner.+--+-- 'resourceARN', 'fileSystem_resourceARN' - The Amazon Resource Name (ARN) of the file system resource.+--+-- 'storageCapacity', 'fileSystem_storageCapacity' - The storage capacity of the file system in gibibytes (GiB).+--+-- 'storageType', 'fileSystem_storageType' - The type of storage the file system is using. If set to @SSD@, the file+-- system uses solid state drive storage. If set to @HDD@, the file system+-- uses hard disk drive storage.+--+-- 'subnetIds', 'fileSystem_subnetIds' - Specifies the IDs of the subnets that the file system is accessible+-- from. For the Amazon FSx Windows and ONTAP @MULTI_AZ_1@ file system+-- deployment type, there are two subnet IDs, one for the preferred file+-- server and one for the standby file server. The preferred file server+-- subnet identified in the @PreferredSubnetID@ property. All other file+-- systems have only one subnet ID.+--+-- For FSx for Lustre file systems, and Single-AZ Windows file systems,+-- this is the ID of the subnet that contains the file system\'s endpoint.+-- For @MULTI_AZ_1@ Windows and ONTAP file systems, the file system+-- endpoint is available in the @PreferredSubnetID@.+--+-- 'tags', 'fileSystem_tags' - The tags to associate with the file system. For more information, see+-- <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html Tagging your Amazon EC2 resources>+-- in the /Amazon EC2 User Guide/.+--+-- 'vpcId', 'fileSystem_vpcId' - The ID of the primary virtual private cloud (VPC) for the file system.+--+-- 'windowsConfiguration', 'fileSystem_windowsConfiguration' - The configuration for this Amazon FSx for Windows File Server file+-- system.+newFileSystem ::+ FileSystem+newFileSystem =+ FileSystem'+ { administrativeActions =+ Prelude.Nothing,+ creationTime = Prelude.Nothing,+ dNSName = Prelude.Nothing,+ failureDetails = Prelude.Nothing,+ fileSystemId = Prelude.Nothing,+ fileSystemType = Prelude.Nothing,+ fileSystemTypeVersion = Prelude.Nothing,+ kmsKeyId = Prelude.Nothing,+ lifecycle = Prelude.Nothing,+ lustreConfiguration = Prelude.Nothing,+ networkInterfaceIds = Prelude.Nothing,+ ontapConfiguration = Prelude.Nothing,+ openZFSConfiguration = Prelude.Nothing,+ ownerId = Prelude.Nothing,+ resourceARN = Prelude.Nothing,+ storageCapacity = Prelude.Nothing,+ storageType = Prelude.Nothing,+ subnetIds = Prelude.Nothing,+ tags = Prelude.Nothing,+ vpcId = Prelude.Nothing,+ windowsConfiguration = Prelude.Nothing+ }++-- | A list of administrative actions for the file system that are in process+-- or waiting to be processed. Administrative actions describe changes to+-- the Amazon FSx system that you have initiated using the+-- @UpdateFileSystem@ operation.+fileSystem_administrativeActions :: Lens.Lens' FileSystem (Prelude.Maybe [AdministrativeAction])+fileSystem_administrativeActions = Lens.lens (\FileSystem' {administrativeActions} -> administrativeActions) (\s@FileSystem' {} a -> s {administrativeActions = a} :: FileSystem) Prelude.. Lens.mapping Lens.coerced++-- | The time that the file system was created, in seconds (since+-- 1970-01-01T00:00:00Z), also known as Unix time.+fileSystem_creationTime :: Lens.Lens' FileSystem (Prelude.Maybe Prelude.UTCTime)+fileSystem_creationTime = Lens.lens (\FileSystem' {creationTime} -> creationTime) (\s@FileSystem' {} a -> s {creationTime = a} :: FileSystem) Prelude.. Lens.mapping Data._Time++-- | The Domain Name System (DNS) name for the file system.+fileSystem_dNSName :: Lens.Lens' FileSystem (Prelude.Maybe Prelude.Text)+fileSystem_dNSName = Lens.lens (\FileSystem' {dNSName} -> dNSName) (\s@FileSystem' {} a -> s {dNSName = a} :: FileSystem)++-- | Undocumented member.+fileSystem_failureDetails :: Lens.Lens' FileSystem (Prelude.Maybe FileSystemFailureDetails)+fileSystem_failureDetails = Lens.lens (\FileSystem' {failureDetails} -> failureDetails) (\s@FileSystem' {} a -> s {failureDetails = a} :: FileSystem)++-- | The system-generated, unique 17-digit ID of the file system.+fileSystem_fileSystemId :: Lens.Lens' FileSystem (Prelude.Maybe Prelude.Text)+fileSystem_fileSystemId = Lens.lens (\FileSystem' {fileSystemId} -> fileSystemId) (\s@FileSystem' {} a -> s {fileSystemId = a} :: FileSystem)++-- | The type of Amazon FSx file system, which can be @LUSTRE@, @WINDOWS@,+-- @ONTAP@, or @OPENZFS@.+fileSystem_fileSystemType :: Lens.Lens' FileSystem (Prelude.Maybe FileSystemType)+fileSystem_fileSystemType = Lens.lens (\FileSystem' {fileSystemType} -> fileSystemType) (\s@FileSystem' {} a -> s {fileSystemType = a} :: FileSystem)++-- | The Lustre version of the Amazon FSx for Lustre file system, either+-- @2.10@ or @2.12@.+fileSystem_fileSystemTypeVersion :: Lens.Lens' FileSystem (Prelude.Maybe Prelude.Text)+fileSystem_fileSystemTypeVersion = Lens.lens (\FileSystem' {fileSystemTypeVersion} -> fileSystemTypeVersion) (\s@FileSystem' {} a -> s {fileSystemTypeVersion = a} :: FileSystem)++-- | The ID of the Key Management Service (KMS) key used to encrypt Amazon+-- FSx file system data. Used as follows with Amazon FSx file system types:+--+-- - Amazon FSx for Lustre @PERSISTENT_1@ and @PERSISTENT_2@ deployment+-- types only.+--+-- @SCRATCH_1@ and @SCRATCH_2@ types are encrypted using the Amazon FSx+-- service KMS key for your account.+--+-- - Amazon FSx for NetApp ONTAP+--+-- - Amazon FSx for OpenZFS+--+-- - Amazon FSx for Windows File Server+fileSystem_kmsKeyId :: Lens.Lens' FileSystem (Prelude.Maybe Prelude.Text)+fileSystem_kmsKeyId = Lens.lens (\FileSystem' {kmsKeyId} -> kmsKeyId) (\s@FileSystem' {} a -> s {kmsKeyId = a} :: FileSystem)++-- | The lifecycle status of the file system. The following are the possible+-- values and what they mean:+--+-- - @AVAILABLE@ - The file system is in a healthy state, and is+-- reachable and available for use.+--+-- - @CREATING@ - Amazon FSx is creating the new file system.+--+-- - @DELETING@ - Amazon FSx is deleting an existing file system.+--+-- - @FAILED@ - An existing file system has experienced an unrecoverable+-- failure. When creating a new file system, Amazon FSx was unable to+-- create the file system.+--+-- - @MISCONFIGURED@ - The file system is in a failed but recoverable+-- state.+--+-- - @MISCONFIGURED_UNAVAILABLE@ - (Amazon FSx for Windows File Server+-- only) The file system is currently unavailable due to a change in+-- your Active Directory configuration.+--+-- - @UPDATING@ - The file system is undergoing a customer-initiated+-- update.+fileSystem_lifecycle :: Lens.Lens' FileSystem (Prelude.Maybe FileSystemLifecycle)+fileSystem_lifecycle = Lens.lens (\FileSystem' {lifecycle} -> lifecycle) (\s@FileSystem' {} a -> s {lifecycle = a} :: FileSystem)++-- | Undocumented member.+fileSystem_lustreConfiguration :: Lens.Lens' FileSystem (Prelude.Maybe LustreFileSystemConfiguration)+fileSystem_lustreConfiguration = Lens.lens (\FileSystem' {lustreConfiguration} -> lustreConfiguration) (\s@FileSystem' {} a -> s {lustreConfiguration = a} :: FileSystem)++-- | The IDs of the elastic network interfaces from which a specific file+-- system is accessible. The elastic network interface is automatically+-- created in the same virtual private cloud (VPC) that the Amazon FSx file+-- system was created in. For more information, see+-- <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html Elastic Network Interfaces>+-- in the /Amazon EC2 User Guide./+--+-- For an Amazon FSx for Windows File Server file system, you can have one+-- network interface ID. For an Amazon FSx for Lustre file system, you can+-- have more than one.+fileSystem_networkInterfaceIds :: Lens.Lens' FileSystem (Prelude.Maybe [Prelude.Text])+fileSystem_networkInterfaceIds = Lens.lens (\FileSystem' {networkInterfaceIds} -> networkInterfaceIds) (\s@FileSystem' {} a -> s {networkInterfaceIds = a} :: FileSystem) Prelude.. Lens.mapping Lens.coerced++-- | The configuration for this Amazon FSx for NetApp ONTAP file system.+fileSystem_ontapConfiguration :: Lens.Lens' FileSystem (Prelude.Maybe OntapFileSystemConfiguration)+fileSystem_ontapConfiguration = Lens.lens (\FileSystem' {ontapConfiguration} -> ontapConfiguration) (\s@FileSystem' {} a -> s {ontapConfiguration = a} :: FileSystem)++-- | The configuration for this Amazon FSx for OpenZFS file system.+fileSystem_openZFSConfiguration :: Lens.Lens' FileSystem (Prelude.Maybe OpenZFSFileSystemConfiguration)+fileSystem_openZFSConfiguration = Lens.lens (\FileSystem' {openZFSConfiguration} -> openZFSConfiguration) (\s@FileSystem' {} a -> s {openZFSConfiguration = a} :: FileSystem)++-- | The Amazon Web Services account that created the file system. If the+-- file system was created by an Identity and Access Management (IAM) user,+-- the Amazon Web Services account to which the IAM user belongs is the+-- owner.+fileSystem_ownerId :: Lens.Lens' FileSystem (Prelude.Maybe Prelude.Text)+fileSystem_ownerId = Lens.lens (\FileSystem' {ownerId} -> ownerId) (\s@FileSystem' {} a -> s {ownerId = a} :: FileSystem)++-- | The Amazon Resource Name (ARN) of the file system resource.+fileSystem_resourceARN :: Lens.Lens' FileSystem (Prelude.Maybe Prelude.Text)+fileSystem_resourceARN = Lens.lens (\FileSystem' {resourceARN} -> resourceARN) (\s@FileSystem' {} a -> s {resourceARN = a} :: FileSystem)++-- | The storage capacity of the file system in gibibytes (GiB).+fileSystem_storageCapacity :: Lens.Lens' FileSystem (Prelude.Maybe Prelude.Natural)+fileSystem_storageCapacity = Lens.lens (\FileSystem' {storageCapacity} -> storageCapacity) (\s@FileSystem' {} a -> s {storageCapacity = a} :: FileSystem)++-- | The type of storage the file system is using. If set to @SSD@, the file+-- system uses solid state drive storage. If set to @HDD@, the file system+-- uses hard disk drive storage.+fileSystem_storageType :: Lens.Lens' FileSystem (Prelude.Maybe StorageType)+fileSystem_storageType = Lens.lens (\FileSystem' {storageType} -> storageType) (\s@FileSystem' {} a -> s {storageType = a} :: FileSystem)++-- | Specifies the IDs of the subnets that the file system is accessible+-- from. For the Amazon FSx Windows and ONTAP @MULTI_AZ_1@ file system+-- deployment type, there are two subnet IDs, one for the preferred file+-- server and one for the standby file server. The preferred file server+-- subnet identified in the @PreferredSubnetID@ property. All other file+-- systems have only one subnet ID.+--+-- For FSx for Lustre file systems, and Single-AZ Windows file systems,+-- this is the ID of the subnet that contains the file system\'s endpoint.+-- For @MULTI_AZ_1@ Windows and ONTAP file systems, the file system+-- endpoint is available in the @PreferredSubnetID@.+fileSystem_subnetIds :: Lens.Lens' FileSystem (Prelude.Maybe [Prelude.Text])+fileSystem_subnetIds = Lens.lens (\FileSystem' {subnetIds} -> subnetIds) (\s@FileSystem' {} a -> s {subnetIds = a} :: FileSystem) Prelude.. Lens.mapping Lens.coerced++-- | The tags to associate with the file system. For more information, see+-- <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html Tagging your Amazon EC2 resources>+-- in the /Amazon EC2 User Guide/.+fileSystem_tags :: Lens.Lens' FileSystem (Prelude.Maybe (Prelude.NonEmpty Tag))+fileSystem_tags = Lens.lens (\FileSystem' {tags} -> tags) (\s@FileSystem' {} a -> s {tags = a} :: FileSystem) Prelude.. Lens.mapping Lens.coerced++-- | The ID of the primary virtual private cloud (VPC) for the file system.+fileSystem_vpcId :: Lens.Lens' FileSystem (Prelude.Maybe Prelude.Text)+fileSystem_vpcId = Lens.lens (\FileSystem' {vpcId} -> vpcId) (\s@FileSystem' {} a -> s {vpcId = a} :: FileSystem)++-- | The configuration for this Amazon FSx for Windows File Server file+-- system.+fileSystem_windowsConfiguration :: Lens.Lens' FileSystem (Prelude.Maybe WindowsFileSystemConfiguration)+fileSystem_windowsConfiguration = Lens.lens (\FileSystem' {windowsConfiguration} -> windowsConfiguration) (\s@FileSystem' {} a -> s {windowsConfiguration = a} :: FileSystem)++instance Data.FromJSON FileSystem where+ parseJSON =+ Data.withObject+ "FileSystem"+ ( \x ->+ FileSystem'+ Prelude.<$> ( x+ Data..:? "AdministrativeActions"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "CreationTime")+ Prelude.<*> (x Data..:? "DNSName")+ Prelude.<*> (x Data..:? "FailureDetails")+ Prelude.<*> (x Data..:? "FileSystemId")+ Prelude.<*> (x Data..:? "FileSystemType")+ Prelude.<*> (x Data..:? "FileSystemTypeVersion")+ Prelude.<*> (x Data..:? "KmsKeyId")+ Prelude.<*> (x Data..:? "Lifecycle")+ Prelude.<*> (x Data..:? "LustreConfiguration")+ Prelude.<*> ( x+ Data..:? "NetworkInterfaceIds"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "OntapConfiguration")+ Prelude.<*> (x Data..:? "OpenZFSConfiguration")+ Prelude.<*> (x Data..:? "OwnerId")+ Prelude.<*> (x Data..:? "ResourceARN")+ Prelude.<*> (x Data..:? "StorageCapacity")+ Prelude.<*> (x Data..:? "StorageType")+ Prelude.<*> (x Data..:? "SubnetIds" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "Tags")+ Prelude.<*> (x Data..:? "VpcId")+ Prelude.<*> (x Data..:? "WindowsConfiguration")+ )++instance Prelude.Hashable FileSystem where+ hashWithSalt _salt FileSystem' {..} =+ _salt+ `Prelude.hashWithSalt` administrativeActions+ `Prelude.hashWithSalt` creationTime+ `Prelude.hashWithSalt` dNSName+ `Prelude.hashWithSalt` failureDetails+ `Prelude.hashWithSalt` fileSystemId+ `Prelude.hashWithSalt` fileSystemType+ `Prelude.hashWithSalt` fileSystemTypeVersion+ `Prelude.hashWithSalt` kmsKeyId+ `Prelude.hashWithSalt` lifecycle+ `Prelude.hashWithSalt` lustreConfiguration+ `Prelude.hashWithSalt` networkInterfaceIds+ `Prelude.hashWithSalt` ontapConfiguration+ `Prelude.hashWithSalt` openZFSConfiguration+ `Prelude.hashWithSalt` ownerId+ `Prelude.hashWithSalt` resourceARN+ `Prelude.hashWithSalt` storageCapacity+ `Prelude.hashWithSalt` storageType+ `Prelude.hashWithSalt` subnetIds+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` vpcId+ `Prelude.hashWithSalt` windowsConfiguration++instance Prelude.NFData FileSystem where+ rnf FileSystem' {..} =+ Prelude.rnf administrativeActions+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf dNSName+ `Prelude.seq` Prelude.rnf failureDetails+ `Prelude.seq` Prelude.rnf fileSystemId+ `Prelude.seq` Prelude.rnf fileSystemType+ `Prelude.seq` Prelude.rnf fileSystemTypeVersion+ `Prelude.seq` Prelude.rnf kmsKeyId+ `Prelude.seq` Prelude.rnf lifecycle+ `Prelude.seq` Prelude.rnf lustreConfiguration+ `Prelude.seq` Prelude.rnf networkInterfaceIds+ `Prelude.seq` Prelude.rnf ontapConfiguration+ `Prelude.seq` Prelude.rnf openZFSConfiguration+ `Prelude.seq` Prelude.rnf ownerId+ `Prelude.seq` Prelude.rnf resourceARN+ `Prelude.seq` Prelude.rnf storageCapacity+ `Prelude.seq` Prelude.rnf storageType+ `Prelude.seq` Prelude.rnf subnetIds+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf vpcId+ `Prelude.seq` Prelude.rnf+ windowsConfiguration
+ gen/Amazonka/FSx/Types/FileSystem.hs-boot view
@@ -0,0 +1,31 @@+{-# OPTIONS_GHC -Wno-missing-methods #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FSx.Types.FileSystem+-- 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.FSx.Types.FileSystem where++import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++data FileSystem++instance Prelude.Eq FileSystem++instance Prelude.Read FileSystem++instance Prelude.Show FileSystem++instance Prelude.Generic FileSystem++instance Data.FromJSON FileSystem++instance Prelude.NFData FileSystem++instance Prelude.Hashable FileSystem
+ gen/Amazonka/FSx/Types/FileSystemEndpoint.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.FSx.Types.FileSystemEndpoint+-- 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.FSx.Types.FileSystemEndpoint where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | An Amazon FSx for NetApp ONTAP file system has two endpoints that are+-- used to access data or to manage the file system using the NetApp ONTAP+-- CLI, REST API, or NetApp SnapMirror. They are the @Management@ and+-- @Intercluster@ endpoints.+--+-- /See:/ 'newFileSystemEndpoint' smart constructor.+data FileSystemEndpoint = FileSystemEndpoint'+ { dNSName :: Prelude.Maybe Prelude.Text,+ -- | IP addresses of the file system endpoint.+ ipAddresses :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text)+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FileSystemEndpoint' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dNSName', 'fileSystemEndpoint_dNSName' - Undocumented member.+--+-- 'ipAddresses', 'fileSystemEndpoint_ipAddresses' - IP addresses of the file system endpoint.+newFileSystemEndpoint ::+ FileSystemEndpoint+newFileSystemEndpoint =+ FileSystemEndpoint'+ { dNSName = Prelude.Nothing,+ ipAddresses = Prelude.Nothing+ }++-- | Undocumented member.+fileSystemEndpoint_dNSName :: Lens.Lens' FileSystemEndpoint (Prelude.Maybe Prelude.Text)+fileSystemEndpoint_dNSName = Lens.lens (\FileSystemEndpoint' {dNSName} -> dNSName) (\s@FileSystemEndpoint' {} a -> s {dNSName = a} :: FileSystemEndpoint)++-- | IP addresses of the file system endpoint.+fileSystemEndpoint_ipAddresses :: Lens.Lens' FileSystemEndpoint (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+fileSystemEndpoint_ipAddresses = Lens.lens (\FileSystemEndpoint' {ipAddresses} -> ipAddresses) (\s@FileSystemEndpoint' {} a -> s {ipAddresses = a} :: FileSystemEndpoint) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON FileSystemEndpoint where+ parseJSON =+ Data.withObject+ "FileSystemEndpoint"+ ( \x ->+ FileSystemEndpoint'+ Prelude.<$> (x Data..:? "DNSName")+ Prelude.<*> (x Data..:? "IpAddresses")+ )++instance Prelude.Hashable FileSystemEndpoint where+ hashWithSalt _salt FileSystemEndpoint' {..} =+ _salt+ `Prelude.hashWithSalt` dNSName+ `Prelude.hashWithSalt` ipAddresses++instance Prelude.NFData FileSystemEndpoint where+ rnf FileSystemEndpoint' {..} =+ Prelude.rnf dNSName+ `Prelude.seq` Prelude.rnf ipAddresses
+ gen/Amazonka/FSx/Types/FileSystemEndpoints.hs view
@@ -0,0 +1,94 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FSx.Types.FileSystemEndpoints+-- 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.FSx.Types.FileSystemEndpoints where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types.FileSystemEndpoint+import qualified Amazonka.Prelude as Prelude++-- | An Amazon FSx for NetApp ONTAP file system has the following endpoints+-- that are used to access data or to manage the file system using the+-- NetApp ONTAP CLI, REST API, or NetApp SnapMirror.+--+-- /See:/ 'newFileSystemEndpoints' smart constructor.+data FileSystemEndpoints = FileSystemEndpoints'+ { -- | An endpoint for managing your file system by setting up NetApp+ -- SnapMirror with other ONTAP systems.+ intercluster :: Prelude.Maybe FileSystemEndpoint,+ -- | An endpoint for managing your file system using the NetApp ONTAP CLI and+ -- NetApp ONTAP API.+ management :: Prelude.Maybe FileSystemEndpoint+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FileSystemEndpoints' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'intercluster', 'fileSystemEndpoints_intercluster' - An endpoint for managing your file system by setting up NetApp+-- SnapMirror with other ONTAP systems.+--+-- 'management', 'fileSystemEndpoints_management' - An endpoint for managing your file system using the NetApp ONTAP CLI and+-- NetApp ONTAP API.+newFileSystemEndpoints ::+ FileSystemEndpoints+newFileSystemEndpoints =+ FileSystemEndpoints'+ { intercluster =+ Prelude.Nothing,+ management = Prelude.Nothing+ }++-- | An endpoint for managing your file system by setting up NetApp+-- SnapMirror with other ONTAP systems.+fileSystemEndpoints_intercluster :: Lens.Lens' FileSystemEndpoints (Prelude.Maybe FileSystemEndpoint)+fileSystemEndpoints_intercluster = Lens.lens (\FileSystemEndpoints' {intercluster} -> intercluster) (\s@FileSystemEndpoints' {} a -> s {intercluster = a} :: FileSystemEndpoints)++-- | An endpoint for managing your file system using the NetApp ONTAP CLI and+-- NetApp ONTAP API.+fileSystemEndpoints_management :: Lens.Lens' FileSystemEndpoints (Prelude.Maybe FileSystemEndpoint)+fileSystemEndpoints_management = Lens.lens (\FileSystemEndpoints' {management} -> management) (\s@FileSystemEndpoints' {} a -> s {management = a} :: FileSystemEndpoints)++instance Data.FromJSON FileSystemEndpoints where+ parseJSON =+ Data.withObject+ "FileSystemEndpoints"+ ( \x ->+ FileSystemEndpoints'+ Prelude.<$> (x Data..:? "Intercluster")+ Prelude.<*> (x Data..:? "Management")+ )++instance Prelude.Hashable FileSystemEndpoints where+ hashWithSalt _salt FileSystemEndpoints' {..} =+ _salt+ `Prelude.hashWithSalt` intercluster+ `Prelude.hashWithSalt` management++instance Prelude.NFData FileSystemEndpoints where+ rnf FileSystemEndpoints' {..} =+ Prelude.rnf intercluster+ `Prelude.seq` Prelude.rnf management
+ gen/Amazonka/FSx/Types/FileSystemFailureDetails.hs view
@@ -0,0 +1,72 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FSx.Types.FileSystemFailureDetails+-- 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.FSx.Types.FileSystemFailureDetails where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A structure providing details of any failures that occurred.+--+-- /See:/ 'newFileSystemFailureDetails' smart constructor.+data FileSystemFailureDetails = FileSystemFailureDetails'+ { -- | A message describing any failures that occurred.+ message :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FileSystemFailureDetails' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'message', 'fileSystemFailureDetails_message' - A message describing any failures that occurred.+newFileSystemFailureDetails ::+ FileSystemFailureDetails+newFileSystemFailureDetails =+ FileSystemFailureDetails'+ { message =+ Prelude.Nothing+ }++-- | A message describing any failures that occurred.+fileSystemFailureDetails_message :: Lens.Lens' FileSystemFailureDetails (Prelude.Maybe Prelude.Text)+fileSystemFailureDetails_message = Lens.lens (\FileSystemFailureDetails' {message} -> message) (\s@FileSystemFailureDetails' {} a -> s {message = a} :: FileSystemFailureDetails)++instance Data.FromJSON FileSystemFailureDetails where+ parseJSON =+ Data.withObject+ "FileSystemFailureDetails"+ ( \x ->+ FileSystemFailureDetails'+ Prelude.<$> (x Data..:? "Message")+ )++instance Prelude.Hashable FileSystemFailureDetails where+ hashWithSalt _salt FileSystemFailureDetails' {..} =+ _salt `Prelude.hashWithSalt` message++instance Prelude.NFData FileSystemFailureDetails where+ rnf FileSystemFailureDetails' {..} =+ Prelude.rnf message
+ gen/Amazonka/FSx/Types/FileSystemLifecycle.hs view
@@ -0,0 +1,97 @@+{-# 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.FSx.Types.FileSystemLifecycle+-- 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.FSx.Types.FileSystemLifecycle+ ( FileSystemLifecycle+ ( ..,+ FileSystemLifecycle_AVAILABLE,+ FileSystemLifecycle_CREATING,+ FileSystemLifecycle_DELETING,+ FileSystemLifecycle_FAILED,+ FileSystemLifecycle_MISCONFIGURED,+ FileSystemLifecycle_MISCONFIGURED_UNAVAILABLE,+ FileSystemLifecycle_UPDATING+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The lifecycle status of the file system.+newtype FileSystemLifecycle = FileSystemLifecycle'+ { fromFileSystemLifecycle ::+ 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 FileSystemLifecycle_AVAILABLE :: FileSystemLifecycle+pattern FileSystemLifecycle_AVAILABLE = FileSystemLifecycle' "AVAILABLE"++pattern FileSystemLifecycle_CREATING :: FileSystemLifecycle+pattern FileSystemLifecycle_CREATING = FileSystemLifecycle' "CREATING"++pattern FileSystemLifecycle_DELETING :: FileSystemLifecycle+pattern FileSystemLifecycle_DELETING = FileSystemLifecycle' "DELETING"++pattern FileSystemLifecycle_FAILED :: FileSystemLifecycle+pattern FileSystemLifecycle_FAILED = FileSystemLifecycle' "FAILED"++pattern FileSystemLifecycle_MISCONFIGURED :: FileSystemLifecycle+pattern FileSystemLifecycle_MISCONFIGURED = FileSystemLifecycle' "MISCONFIGURED"++pattern FileSystemLifecycle_MISCONFIGURED_UNAVAILABLE :: FileSystemLifecycle+pattern FileSystemLifecycle_MISCONFIGURED_UNAVAILABLE = FileSystemLifecycle' "MISCONFIGURED_UNAVAILABLE"++pattern FileSystemLifecycle_UPDATING :: FileSystemLifecycle+pattern FileSystemLifecycle_UPDATING = FileSystemLifecycle' "UPDATING"++{-# COMPLETE+ FileSystemLifecycle_AVAILABLE,+ FileSystemLifecycle_CREATING,+ FileSystemLifecycle_DELETING,+ FileSystemLifecycle_FAILED,+ FileSystemLifecycle_MISCONFIGURED,+ FileSystemLifecycle_MISCONFIGURED_UNAVAILABLE,+ FileSystemLifecycle_UPDATING,+ FileSystemLifecycle'+ #-}
+ gen/Amazonka/FSx/Types/FileSystemMaintenanceOperation.hs view
@@ -0,0 +1,72 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FSx.Types.FileSystemMaintenanceOperation+-- 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.FSx.Types.FileSystemMaintenanceOperation+ ( FileSystemMaintenanceOperation+ ( ..,+ FileSystemMaintenanceOperation_BACKING_UP,+ FileSystemMaintenanceOperation_PATCHING+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | An enumeration specifying the currently ongoing maintenance operation.+newtype FileSystemMaintenanceOperation = FileSystemMaintenanceOperation'+ { fromFileSystemMaintenanceOperation ::+ 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 FileSystemMaintenanceOperation_BACKING_UP :: FileSystemMaintenanceOperation+pattern FileSystemMaintenanceOperation_BACKING_UP = FileSystemMaintenanceOperation' "BACKING_UP"++pattern FileSystemMaintenanceOperation_PATCHING :: FileSystemMaintenanceOperation+pattern FileSystemMaintenanceOperation_PATCHING = FileSystemMaintenanceOperation' "PATCHING"++{-# COMPLETE+ FileSystemMaintenanceOperation_BACKING_UP,+ FileSystemMaintenanceOperation_PATCHING,+ FileSystemMaintenanceOperation'+ #-}
+ gen/Amazonka/FSx/Types/FileSystemType.hs view
@@ -0,0 +1,82 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FSx.Types.FileSystemType+-- 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.FSx.Types.FileSystemType+ ( FileSystemType+ ( ..,+ FileSystemType_LUSTRE,+ FileSystemType_ONTAP,+ FileSystemType_OPENZFS,+ FileSystemType_WINDOWS+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The type of file system.+newtype FileSystemType = FileSystemType'+ { fromFileSystemType ::+ 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 FileSystemType_LUSTRE :: FileSystemType+pattern FileSystemType_LUSTRE = FileSystemType' "LUSTRE"++pattern FileSystemType_ONTAP :: FileSystemType+pattern FileSystemType_ONTAP = FileSystemType' "ONTAP"++pattern FileSystemType_OPENZFS :: FileSystemType+pattern FileSystemType_OPENZFS = FileSystemType' "OPENZFS"++pattern FileSystemType_WINDOWS :: FileSystemType+pattern FileSystemType_WINDOWS = FileSystemType' "WINDOWS"++{-# COMPLETE+ FileSystemType_LUSTRE,+ FileSystemType_ONTAP,+ FileSystemType_OPENZFS,+ FileSystemType_WINDOWS,+ FileSystemType'+ #-}
+ gen/Amazonka/FSx/Types/Filter.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.FSx.Types.Filter+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FSx.Types.Filter where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types.FilterName+import qualified Amazonka.Prelude as Prelude++-- | A filter used to restrict the results of describe calls. You can use+-- multiple filters to return results that meet all applied filter+-- requirements.+--+-- /See:/ 'newFilter' smart constructor.+data Filter = Filter'+ { -- | The name for this filter.+ name :: Prelude.Maybe FilterName,+ -- | The values of the filter. These are all the values for any of the+ -- applied filters.+ values :: Prelude.Maybe [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Filter' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'filter_name' - The name for this filter.+--+-- 'values', 'filter_values' - The values of the filter. These are all the values for any of the+-- applied filters.+newFilter ::+ Filter+newFilter =+ Filter'+ { name = Prelude.Nothing,+ values = Prelude.Nothing+ }++-- | The name for this filter.+filter_name :: Lens.Lens' Filter (Prelude.Maybe FilterName)+filter_name = Lens.lens (\Filter' {name} -> name) (\s@Filter' {} a -> s {name = a} :: Filter)++-- | The values of the filter. These are all the values for any of the+-- applied filters.+filter_values :: Lens.Lens' Filter (Prelude.Maybe [Prelude.Text])+filter_values = Lens.lens (\Filter' {values} -> values) (\s@Filter' {} a -> s {values = a} :: Filter) Prelude.. Lens.mapping Lens.coerced++instance Prelude.Hashable Filter where+ hashWithSalt _salt Filter' {..} =+ _salt+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` values++instance Prelude.NFData Filter where+ rnf Filter' {..} =+ Prelude.rnf name `Prelude.seq` Prelude.rnf values++instance Data.ToJSON Filter where+ toJSON Filter' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Name" Data..=) Prelude.<$> name,+ ("Values" Data..=) Prelude.<$> values+ ]+ )
+ gen/Amazonka/FSx/Types/FilterName.hs view
@@ -0,0 +1,97 @@+{-# 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.FSx.Types.FilterName+-- 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.FSx.Types.FilterName+ ( FilterName+ ( ..,+ FilterName_Backup_type,+ FilterName_Data_repository_type,+ FilterName_File_cache_id,+ FilterName_File_cache_type,+ FilterName_File_system_id,+ FilterName_File_system_type,+ FilterName_Volume_id+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The name for a filter.+newtype FilterName = FilterName'+ { fromFilterName ::+ 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 FilterName_Backup_type :: FilterName+pattern FilterName_Backup_type = FilterName' "backup-type"++pattern FilterName_Data_repository_type :: FilterName+pattern FilterName_Data_repository_type = FilterName' "data-repository-type"++pattern FilterName_File_cache_id :: FilterName+pattern FilterName_File_cache_id = FilterName' "file-cache-id"++pattern FilterName_File_cache_type :: FilterName+pattern FilterName_File_cache_type = FilterName' "file-cache-type"++pattern FilterName_File_system_id :: FilterName+pattern FilterName_File_system_id = FilterName' "file-system-id"++pattern FilterName_File_system_type :: FilterName+pattern FilterName_File_system_type = FilterName' "file-system-type"++pattern FilterName_Volume_id :: FilterName+pattern FilterName_Volume_id = FilterName' "volume-id"++{-# COMPLETE+ FilterName_Backup_type,+ FilterName_Data_repository_type,+ FilterName_File_cache_id,+ FilterName_File_cache_type,+ FilterName_File_system_id,+ FilterName_File_system_type,+ FilterName_Volume_id,+ FilterName'+ #-}
+ gen/Amazonka/FSx/Types/FlexCacheEndpointType.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.FSx.Types.FlexCacheEndpointType+-- 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.FSx.Types.FlexCacheEndpointType+ ( FlexCacheEndpointType+ ( ..,+ FlexCacheEndpointType_CACHE,+ FlexCacheEndpointType_NONE,+ FlexCacheEndpointType_ORIGIN+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype FlexCacheEndpointType = FlexCacheEndpointType'+ { fromFlexCacheEndpointType ::+ 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 FlexCacheEndpointType_CACHE :: FlexCacheEndpointType+pattern FlexCacheEndpointType_CACHE = FlexCacheEndpointType' "CACHE"++pattern FlexCacheEndpointType_NONE :: FlexCacheEndpointType+pattern FlexCacheEndpointType_NONE = FlexCacheEndpointType' "NONE"++pattern FlexCacheEndpointType_ORIGIN :: FlexCacheEndpointType+pattern FlexCacheEndpointType_ORIGIN = FlexCacheEndpointType' "ORIGIN"++{-# COMPLETE+ FlexCacheEndpointType_CACHE,+ FlexCacheEndpointType_NONE,+ FlexCacheEndpointType_ORIGIN,+ FlexCacheEndpointType'+ #-}
+ gen/Amazonka/FSx/Types/InputOntapVolumeType.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.FSx.Types.InputOntapVolumeType+-- 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.FSx.Types.InputOntapVolumeType+ ( InputOntapVolumeType+ ( ..,+ InputOntapVolumeType_DP,+ InputOntapVolumeType_RW+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype InputOntapVolumeType = InputOntapVolumeType'+ { fromInputOntapVolumeType ::+ 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 InputOntapVolumeType_DP :: InputOntapVolumeType+pattern InputOntapVolumeType_DP = InputOntapVolumeType' "DP"++pattern InputOntapVolumeType_RW :: InputOntapVolumeType+pattern InputOntapVolumeType_RW = InputOntapVolumeType' "RW"++{-# COMPLETE+ InputOntapVolumeType_DP,+ InputOntapVolumeType_RW,+ InputOntapVolumeType'+ #-}
+ gen/Amazonka/FSx/Types/LifecycleTransitionReason.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FSx.Types.LifecycleTransitionReason+-- 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.FSx.Types.LifecycleTransitionReason where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Describes why a resource lifecycle state changed.+--+-- /See:/ 'newLifecycleTransitionReason' smart constructor.+data LifecycleTransitionReason = LifecycleTransitionReason'+ { message :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LifecycleTransitionReason' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'message', 'lifecycleTransitionReason_message' - Undocumented member.+newLifecycleTransitionReason ::+ LifecycleTransitionReason+newLifecycleTransitionReason =+ LifecycleTransitionReason'+ { message =+ Prelude.Nothing+ }++-- | Undocumented member.+lifecycleTransitionReason_message :: Lens.Lens' LifecycleTransitionReason (Prelude.Maybe Prelude.Text)+lifecycleTransitionReason_message = Lens.lens (\LifecycleTransitionReason' {message} -> message) (\s@LifecycleTransitionReason' {} a -> s {message = a} :: LifecycleTransitionReason)++instance Data.FromJSON LifecycleTransitionReason where+ parseJSON =+ Data.withObject+ "LifecycleTransitionReason"+ ( \x ->+ LifecycleTransitionReason'+ Prelude.<$> (x Data..:? "Message")+ )++instance Prelude.Hashable LifecycleTransitionReason where+ hashWithSalt _salt LifecycleTransitionReason' {..} =+ _salt `Prelude.hashWithSalt` message++instance Prelude.NFData LifecycleTransitionReason where+ rnf LifecycleTransitionReason' {..} =+ Prelude.rnf message
+ gen/Amazonka/FSx/Types/LustreAccessAuditLogLevel.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.FSx.Types.LustreAccessAuditLogLevel+-- 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.FSx.Types.LustreAccessAuditLogLevel+ ( LustreAccessAuditLogLevel+ ( ..,+ LustreAccessAuditLogLevel_DISABLED,+ LustreAccessAuditLogLevel_ERROR_ONLY,+ LustreAccessAuditLogLevel_WARN_ERROR,+ LustreAccessAuditLogLevel_WARN_ONLY+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype LustreAccessAuditLogLevel = LustreAccessAuditLogLevel'+ { fromLustreAccessAuditLogLevel ::+ 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 LustreAccessAuditLogLevel_DISABLED :: LustreAccessAuditLogLevel+pattern LustreAccessAuditLogLevel_DISABLED = LustreAccessAuditLogLevel' "DISABLED"++pattern LustreAccessAuditLogLevel_ERROR_ONLY :: LustreAccessAuditLogLevel+pattern LustreAccessAuditLogLevel_ERROR_ONLY = LustreAccessAuditLogLevel' "ERROR_ONLY"++pattern LustreAccessAuditLogLevel_WARN_ERROR :: LustreAccessAuditLogLevel+pattern LustreAccessAuditLogLevel_WARN_ERROR = LustreAccessAuditLogLevel' "WARN_ERROR"++pattern LustreAccessAuditLogLevel_WARN_ONLY :: LustreAccessAuditLogLevel+pattern LustreAccessAuditLogLevel_WARN_ONLY = LustreAccessAuditLogLevel' "WARN_ONLY"++{-# COMPLETE+ LustreAccessAuditLogLevel_DISABLED,+ LustreAccessAuditLogLevel_ERROR_ONLY,+ LustreAccessAuditLogLevel_WARN_ERROR,+ LustreAccessAuditLogLevel_WARN_ONLY,+ LustreAccessAuditLogLevel'+ #-}
+ gen/Amazonka/FSx/Types/LustreDeploymentType.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.FSx.Types.LustreDeploymentType+-- 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.FSx.Types.LustreDeploymentType+ ( LustreDeploymentType+ ( ..,+ LustreDeploymentType_PERSISTENT_1,+ LustreDeploymentType_PERSISTENT_2,+ LustreDeploymentType_SCRATCH_1,+ LustreDeploymentType_SCRATCH_2+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype LustreDeploymentType = LustreDeploymentType'+ { fromLustreDeploymentType ::+ 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 LustreDeploymentType_PERSISTENT_1 :: LustreDeploymentType+pattern LustreDeploymentType_PERSISTENT_1 = LustreDeploymentType' "PERSISTENT_1"++pattern LustreDeploymentType_PERSISTENT_2 :: LustreDeploymentType+pattern LustreDeploymentType_PERSISTENT_2 = LustreDeploymentType' "PERSISTENT_2"++pattern LustreDeploymentType_SCRATCH_1 :: LustreDeploymentType+pattern LustreDeploymentType_SCRATCH_1 = LustreDeploymentType' "SCRATCH_1"++pattern LustreDeploymentType_SCRATCH_2 :: LustreDeploymentType+pattern LustreDeploymentType_SCRATCH_2 = LustreDeploymentType' "SCRATCH_2"++{-# COMPLETE+ LustreDeploymentType_PERSISTENT_1,+ LustreDeploymentType_PERSISTENT_2,+ LustreDeploymentType_SCRATCH_1,+ LustreDeploymentType_SCRATCH_2,+ LustreDeploymentType'+ #-}
+ gen/Amazonka/FSx/Types/LustreFileSystemConfiguration.hs view
@@ -0,0 +1,390 @@+{-# 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.FSx.Types.LustreFileSystemConfiguration+-- 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.FSx.Types.LustreFileSystemConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types.DataCompressionType+import Amazonka.FSx.Types.DataRepositoryConfiguration+import Amazonka.FSx.Types.DriveCacheType+import Amazonka.FSx.Types.LustreDeploymentType+import Amazonka.FSx.Types.LustreLogConfiguration+import Amazonka.FSx.Types.LustreRootSquashConfiguration+import qualified Amazonka.Prelude as Prelude++-- | The configuration for the Amazon FSx for Lustre file system.+--+-- /See:/ 'newLustreFileSystemConfiguration' smart constructor.+data LustreFileSystemConfiguration = LustreFileSystemConfiguration'+ { automaticBackupRetentionDays :: Prelude.Maybe Prelude.Natural,+ -- | A boolean flag indicating whether tags on the file system are copied to+ -- backups. If it\'s set to true, all tags on the file system are copied to+ -- all automatic backups and any user-initiated backups where the user+ -- doesn\'t specify any tags. If this value is true, and you specify one or+ -- more tags, only the specified tags are copied to backups. If you specify+ -- one or more tags when creating a user-initiated backup, no tags are+ -- copied from the file system, regardless of this value. (Default = false)+ copyTagsToBackups :: Prelude.Maybe Prelude.Bool,+ dailyAutomaticBackupStartTime :: Prelude.Maybe Prelude.Text,+ -- | The data compression configuration for the file system.+ -- @DataCompressionType@ can have the following values:+ --+ -- - @NONE@ - Data compression is turned off for the file system.+ --+ -- - @LZ4@ - Data compression is turned on with the LZ4 algorithm.+ --+ -- For more information, see+ -- <https://docs.aws.amazon.com/fsx/latest/LustreGuide/data-compression.html Lustre data compression>.+ dataCompressionType :: Prelude.Maybe DataCompressionType,+ dataRepositoryConfiguration :: Prelude.Maybe DataRepositoryConfiguration,+ -- | The deployment type of the FSx for Lustre file system. /Scratch+ -- deployment type/ is designed for temporary storage and shorter-term+ -- processing of data.+ --+ -- @SCRATCH_1@ and @SCRATCH_2@ deployment types are best suited for when+ -- you need temporary storage and shorter-term processing of data. The+ -- @SCRATCH_2@ deployment type provides in-transit encryption of data and+ -- higher burst throughput capacity than @SCRATCH_1@.+ --+ -- The @PERSISTENT_1@ and @PERSISTENT_2@ deployment type is used for+ -- longer-term storage and workloads and encryption of data in transit.+ -- @PERSISTENT_2@ is built on Lustre v2.12 and offers higher+ -- @PerUnitStorageThroughput@ (up to 1000 MB\/s\/TiB) along with a lower+ -- minimum storage capacity requirement (600 GiB). To learn more about FSx+ -- for Lustre deployment types, see+ -- <https://docs.aws.amazon.com/fsx/latest/LustreGuide/lustre-deployment-types.html FSx for Lustre deployment options>.+ --+ -- The default is @SCRATCH_1@.+ deploymentType :: Prelude.Maybe LustreDeploymentType,+ -- | The type of drive cache used by @PERSISTENT_1@ file systems that are+ -- provisioned with HDD storage devices. This parameter is required when+ -- @StorageType@ is HDD. When set to @READ@ the file system has an SSD+ -- storage cache that is sized to 20% of the file system\'s storage+ -- capacity. This improves the performance for frequently accessed files by+ -- caching up to 20% of the total storage capacity.+ --+ -- This parameter is required when @StorageType@ is set to HDD.+ driveCacheType :: Prelude.Maybe DriveCacheType,+ -- | The Lustre logging configuration. Lustre logging writes the enabled log+ -- events for your file system to Amazon CloudWatch Logs.+ logConfiguration :: Prelude.Maybe LustreLogConfiguration,+ -- | You use the @MountName@ value when mounting the file system.+ --+ -- For the @SCRATCH_1@ deployment type, this value is always \"@fsx@\". For+ -- @SCRATCH_2@, @PERSISTENT_1@, and @PERSISTENT_2@ deployment types, this+ -- value is a string that is unique within an Amazon Web Services Region.+ mountName :: Prelude.Maybe Prelude.Text,+ -- | Per unit storage throughput represents the megabytes per second of read+ -- or write throughput per 1 tebibyte of storage provisioned. File system+ -- throughput capacity is equal to Storage capacity (TiB) *+ -- PerUnitStorageThroughput (MB\/s\/TiB). This option is only valid for+ -- @PERSISTENT_1@ and @PERSISTENT_2@ deployment types.+ --+ -- Valid values:+ --+ -- - For @PERSISTENT_1@ SSD storage: 50, 100, 200.+ --+ -- - For @PERSISTENT_1@ HDD storage: 12, 40.+ --+ -- - For @PERSISTENT_2@ SSD storage: 125, 250, 500, 1000.+ perUnitStorageThroughput :: Prelude.Maybe Prelude.Natural,+ -- | The Lustre root squash configuration for an Amazon FSx for Lustre file+ -- system. When enabled, root squash restricts root-level access from+ -- clients that try to access your file system as a root user.+ rootSquashConfiguration :: Prelude.Maybe LustreRootSquashConfiguration,+ -- | The preferred start time to perform weekly maintenance, formatted+ -- d:HH:MM in the UTC time zone. Here, @d@ is the weekday number, from 1+ -- through 7, beginning with Monday and ending with Sunday.+ weeklyMaintenanceStartTime :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LustreFileSystemConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'automaticBackupRetentionDays', 'lustreFileSystemConfiguration_automaticBackupRetentionDays' - Undocumented member.+--+-- 'copyTagsToBackups', 'lustreFileSystemConfiguration_copyTagsToBackups' - A boolean flag indicating whether tags on the file system are copied to+-- backups. If it\'s set to true, all tags on the file system are copied to+-- all automatic backups and any user-initiated backups where the user+-- doesn\'t specify any tags. If this value is true, and you specify one or+-- more tags, only the specified tags are copied to backups. If you specify+-- one or more tags when creating a user-initiated backup, no tags are+-- copied from the file system, regardless of this value. (Default = false)+--+-- 'dailyAutomaticBackupStartTime', 'lustreFileSystemConfiguration_dailyAutomaticBackupStartTime' - Undocumented member.+--+-- 'dataCompressionType', 'lustreFileSystemConfiguration_dataCompressionType' - The data compression configuration for the file system.+-- @DataCompressionType@ can have the following values:+--+-- - @NONE@ - Data compression is turned off for the file system.+--+-- - @LZ4@ - Data compression is turned on with the LZ4 algorithm.+--+-- For more information, see+-- <https://docs.aws.amazon.com/fsx/latest/LustreGuide/data-compression.html Lustre data compression>.+--+-- 'dataRepositoryConfiguration', 'lustreFileSystemConfiguration_dataRepositoryConfiguration' - Undocumented member.+--+-- 'deploymentType', 'lustreFileSystemConfiguration_deploymentType' - The deployment type of the FSx for Lustre file system. /Scratch+-- deployment type/ is designed for temporary storage and shorter-term+-- processing of data.+--+-- @SCRATCH_1@ and @SCRATCH_2@ deployment types are best suited for when+-- you need temporary storage and shorter-term processing of data. The+-- @SCRATCH_2@ deployment type provides in-transit encryption of data and+-- higher burst throughput capacity than @SCRATCH_1@.+--+-- The @PERSISTENT_1@ and @PERSISTENT_2@ deployment type is used for+-- longer-term storage and workloads and encryption of data in transit.+-- @PERSISTENT_2@ is built on Lustre v2.12 and offers higher+-- @PerUnitStorageThroughput@ (up to 1000 MB\/s\/TiB) along with a lower+-- minimum storage capacity requirement (600 GiB). To learn more about FSx+-- for Lustre deployment types, see+-- <https://docs.aws.amazon.com/fsx/latest/LustreGuide/lustre-deployment-types.html FSx for Lustre deployment options>.+--+-- The default is @SCRATCH_1@.+--+-- 'driveCacheType', 'lustreFileSystemConfiguration_driveCacheType' - The type of drive cache used by @PERSISTENT_1@ file systems that are+-- provisioned with HDD storage devices. This parameter is required when+-- @StorageType@ is HDD. When set to @READ@ the file system has an SSD+-- storage cache that is sized to 20% of the file system\'s storage+-- capacity. This improves the performance for frequently accessed files by+-- caching up to 20% of the total storage capacity.+--+-- This parameter is required when @StorageType@ is set to HDD.+--+-- 'logConfiguration', 'lustreFileSystemConfiguration_logConfiguration' - The Lustre logging configuration. Lustre logging writes the enabled log+-- events for your file system to Amazon CloudWatch Logs.+--+-- 'mountName', 'lustreFileSystemConfiguration_mountName' - You use the @MountName@ value when mounting the file system.+--+-- For the @SCRATCH_1@ deployment type, this value is always \"@fsx@\". For+-- @SCRATCH_2@, @PERSISTENT_1@, and @PERSISTENT_2@ deployment types, this+-- value is a string that is unique within an Amazon Web Services Region.+--+-- 'perUnitStorageThroughput', 'lustreFileSystemConfiguration_perUnitStorageThroughput' - Per unit storage throughput represents the megabytes per second of read+-- or write throughput per 1 tebibyte of storage provisioned. File system+-- throughput capacity is equal to Storage capacity (TiB) *+-- PerUnitStorageThroughput (MB\/s\/TiB). This option is only valid for+-- @PERSISTENT_1@ and @PERSISTENT_2@ deployment types.+--+-- Valid values:+--+-- - For @PERSISTENT_1@ SSD storage: 50, 100, 200.+--+-- - For @PERSISTENT_1@ HDD storage: 12, 40.+--+-- - For @PERSISTENT_2@ SSD storage: 125, 250, 500, 1000.+--+-- 'rootSquashConfiguration', 'lustreFileSystemConfiguration_rootSquashConfiguration' - The Lustre root squash configuration for an Amazon FSx for Lustre file+-- system. When enabled, root squash restricts root-level access from+-- clients that try to access your file system as a root user.+--+-- 'weeklyMaintenanceStartTime', 'lustreFileSystemConfiguration_weeklyMaintenanceStartTime' - The preferred start time to perform weekly maintenance, formatted+-- d:HH:MM in the UTC time zone. Here, @d@ is the weekday number, from 1+-- through 7, beginning with Monday and ending with Sunday.+newLustreFileSystemConfiguration ::+ LustreFileSystemConfiguration+newLustreFileSystemConfiguration =+ LustreFileSystemConfiguration'+ { automaticBackupRetentionDays =+ Prelude.Nothing,+ copyTagsToBackups = Prelude.Nothing,+ dailyAutomaticBackupStartTime =+ Prelude.Nothing,+ dataCompressionType = Prelude.Nothing,+ dataRepositoryConfiguration =+ Prelude.Nothing,+ deploymentType = Prelude.Nothing,+ driveCacheType = Prelude.Nothing,+ logConfiguration = Prelude.Nothing,+ mountName = Prelude.Nothing,+ perUnitStorageThroughput = Prelude.Nothing,+ rootSquashConfiguration = Prelude.Nothing,+ weeklyMaintenanceStartTime = Prelude.Nothing+ }++-- | Undocumented member.+lustreFileSystemConfiguration_automaticBackupRetentionDays :: Lens.Lens' LustreFileSystemConfiguration (Prelude.Maybe Prelude.Natural)+lustreFileSystemConfiguration_automaticBackupRetentionDays = Lens.lens (\LustreFileSystemConfiguration' {automaticBackupRetentionDays} -> automaticBackupRetentionDays) (\s@LustreFileSystemConfiguration' {} a -> s {automaticBackupRetentionDays = a} :: LustreFileSystemConfiguration)++-- | A boolean flag indicating whether tags on the file system are copied to+-- backups. If it\'s set to true, all tags on the file system are copied to+-- all automatic backups and any user-initiated backups where the user+-- doesn\'t specify any tags. If this value is true, and you specify one or+-- more tags, only the specified tags are copied to backups. If you specify+-- one or more tags when creating a user-initiated backup, no tags are+-- copied from the file system, regardless of this value. (Default = false)+lustreFileSystemConfiguration_copyTagsToBackups :: Lens.Lens' LustreFileSystemConfiguration (Prelude.Maybe Prelude.Bool)+lustreFileSystemConfiguration_copyTagsToBackups = Lens.lens (\LustreFileSystemConfiguration' {copyTagsToBackups} -> copyTagsToBackups) (\s@LustreFileSystemConfiguration' {} a -> s {copyTagsToBackups = a} :: LustreFileSystemConfiguration)++-- | Undocumented member.+lustreFileSystemConfiguration_dailyAutomaticBackupStartTime :: Lens.Lens' LustreFileSystemConfiguration (Prelude.Maybe Prelude.Text)+lustreFileSystemConfiguration_dailyAutomaticBackupStartTime = Lens.lens (\LustreFileSystemConfiguration' {dailyAutomaticBackupStartTime} -> dailyAutomaticBackupStartTime) (\s@LustreFileSystemConfiguration' {} a -> s {dailyAutomaticBackupStartTime = a} :: LustreFileSystemConfiguration)++-- | The data compression configuration for the file system.+-- @DataCompressionType@ can have the following values:+--+-- - @NONE@ - Data compression is turned off for the file system.+--+-- - @LZ4@ - Data compression is turned on with the LZ4 algorithm.+--+-- For more information, see+-- <https://docs.aws.amazon.com/fsx/latest/LustreGuide/data-compression.html Lustre data compression>.+lustreFileSystemConfiguration_dataCompressionType :: Lens.Lens' LustreFileSystemConfiguration (Prelude.Maybe DataCompressionType)+lustreFileSystemConfiguration_dataCompressionType = Lens.lens (\LustreFileSystemConfiguration' {dataCompressionType} -> dataCompressionType) (\s@LustreFileSystemConfiguration' {} a -> s {dataCompressionType = a} :: LustreFileSystemConfiguration)++-- | Undocumented member.+lustreFileSystemConfiguration_dataRepositoryConfiguration :: Lens.Lens' LustreFileSystemConfiguration (Prelude.Maybe DataRepositoryConfiguration)+lustreFileSystemConfiguration_dataRepositoryConfiguration = Lens.lens (\LustreFileSystemConfiguration' {dataRepositoryConfiguration} -> dataRepositoryConfiguration) (\s@LustreFileSystemConfiguration' {} a -> s {dataRepositoryConfiguration = a} :: LustreFileSystemConfiguration)++-- | The deployment type of the FSx for Lustre file system. /Scratch+-- deployment type/ is designed for temporary storage and shorter-term+-- processing of data.+--+-- @SCRATCH_1@ and @SCRATCH_2@ deployment types are best suited for when+-- you need temporary storage and shorter-term processing of data. The+-- @SCRATCH_2@ deployment type provides in-transit encryption of data and+-- higher burst throughput capacity than @SCRATCH_1@.+--+-- The @PERSISTENT_1@ and @PERSISTENT_2@ deployment type is used for+-- longer-term storage and workloads and encryption of data in transit.+-- @PERSISTENT_2@ is built on Lustre v2.12 and offers higher+-- @PerUnitStorageThroughput@ (up to 1000 MB\/s\/TiB) along with a lower+-- minimum storage capacity requirement (600 GiB). To learn more about FSx+-- for Lustre deployment types, see+-- <https://docs.aws.amazon.com/fsx/latest/LustreGuide/lustre-deployment-types.html FSx for Lustre deployment options>.+--+-- The default is @SCRATCH_1@.+lustreFileSystemConfiguration_deploymentType :: Lens.Lens' LustreFileSystemConfiguration (Prelude.Maybe LustreDeploymentType)+lustreFileSystemConfiguration_deploymentType = Lens.lens (\LustreFileSystemConfiguration' {deploymentType} -> deploymentType) (\s@LustreFileSystemConfiguration' {} a -> s {deploymentType = a} :: LustreFileSystemConfiguration)++-- | The type of drive cache used by @PERSISTENT_1@ file systems that are+-- provisioned with HDD storage devices. This parameter is required when+-- @StorageType@ is HDD. When set to @READ@ the file system has an SSD+-- storage cache that is sized to 20% of the file system\'s storage+-- capacity. This improves the performance for frequently accessed files by+-- caching up to 20% of the total storage capacity.+--+-- This parameter is required when @StorageType@ is set to HDD.+lustreFileSystemConfiguration_driveCacheType :: Lens.Lens' LustreFileSystemConfiguration (Prelude.Maybe DriveCacheType)+lustreFileSystemConfiguration_driveCacheType = Lens.lens (\LustreFileSystemConfiguration' {driveCacheType} -> driveCacheType) (\s@LustreFileSystemConfiguration' {} a -> s {driveCacheType = a} :: LustreFileSystemConfiguration)++-- | The Lustre logging configuration. Lustre logging writes the enabled log+-- events for your file system to Amazon CloudWatch Logs.+lustreFileSystemConfiguration_logConfiguration :: Lens.Lens' LustreFileSystemConfiguration (Prelude.Maybe LustreLogConfiguration)+lustreFileSystemConfiguration_logConfiguration = Lens.lens (\LustreFileSystemConfiguration' {logConfiguration} -> logConfiguration) (\s@LustreFileSystemConfiguration' {} a -> s {logConfiguration = a} :: LustreFileSystemConfiguration)++-- | You use the @MountName@ value when mounting the file system.+--+-- For the @SCRATCH_1@ deployment type, this value is always \"@fsx@\". For+-- @SCRATCH_2@, @PERSISTENT_1@, and @PERSISTENT_2@ deployment types, this+-- value is a string that is unique within an Amazon Web Services Region.+lustreFileSystemConfiguration_mountName :: Lens.Lens' LustreFileSystemConfiguration (Prelude.Maybe Prelude.Text)+lustreFileSystemConfiguration_mountName = Lens.lens (\LustreFileSystemConfiguration' {mountName} -> mountName) (\s@LustreFileSystemConfiguration' {} a -> s {mountName = a} :: LustreFileSystemConfiguration)++-- | Per unit storage throughput represents the megabytes per second of read+-- or write throughput per 1 tebibyte of storage provisioned. File system+-- throughput capacity is equal to Storage capacity (TiB) *+-- PerUnitStorageThroughput (MB\/s\/TiB). This option is only valid for+-- @PERSISTENT_1@ and @PERSISTENT_2@ deployment types.+--+-- Valid values:+--+-- - For @PERSISTENT_1@ SSD storage: 50, 100, 200.+--+-- - For @PERSISTENT_1@ HDD storage: 12, 40.+--+-- - For @PERSISTENT_2@ SSD storage: 125, 250, 500, 1000.+lustreFileSystemConfiguration_perUnitStorageThroughput :: Lens.Lens' LustreFileSystemConfiguration (Prelude.Maybe Prelude.Natural)+lustreFileSystemConfiguration_perUnitStorageThroughput = Lens.lens (\LustreFileSystemConfiguration' {perUnitStorageThroughput} -> perUnitStorageThroughput) (\s@LustreFileSystemConfiguration' {} a -> s {perUnitStorageThroughput = a} :: LustreFileSystemConfiguration)++-- | The Lustre root squash configuration for an Amazon FSx for Lustre file+-- system. When enabled, root squash restricts root-level access from+-- clients that try to access your file system as a root user.+lustreFileSystemConfiguration_rootSquashConfiguration :: Lens.Lens' LustreFileSystemConfiguration (Prelude.Maybe LustreRootSquashConfiguration)+lustreFileSystemConfiguration_rootSquashConfiguration = Lens.lens (\LustreFileSystemConfiguration' {rootSquashConfiguration} -> rootSquashConfiguration) (\s@LustreFileSystemConfiguration' {} a -> s {rootSquashConfiguration = a} :: LustreFileSystemConfiguration)++-- | The preferred start time to perform weekly maintenance, formatted+-- d:HH:MM in the UTC time zone. Here, @d@ is the weekday number, from 1+-- through 7, beginning with Monday and ending with Sunday.+lustreFileSystemConfiguration_weeklyMaintenanceStartTime :: Lens.Lens' LustreFileSystemConfiguration (Prelude.Maybe Prelude.Text)+lustreFileSystemConfiguration_weeklyMaintenanceStartTime = Lens.lens (\LustreFileSystemConfiguration' {weeklyMaintenanceStartTime} -> weeklyMaintenanceStartTime) (\s@LustreFileSystemConfiguration' {} a -> s {weeklyMaintenanceStartTime = a} :: LustreFileSystemConfiguration)++instance Data.FromJSON LustreFileSystemConfiguration where+ parseJSON =+ Data.withObject+ "LustreFileSystemConfiguration"+ ( \x ->+ LustreFileSystemConfiguration'+ Prelude.<$> (x Data..:? "AutomaticBackupRetentionDays")+ Prelude.<*> (x Data..:? "CopyTagsToBackups")+ Prelude.<*> (x Data..:? "DailyAutomaticBackupStartTime")+ Prelude.<*> (x Data..:? "DataCompressionType")+ Prelude.<*> (x Data..:? "DataRepositoryConfiguration")+ Prelude.<*> (x Data..:? "DeploymentType")+ Prelude.<*> (x Data..:? "DriveCacheType")+ Prelude.<*> (x Data..:? "LogConfiguration")+ Prelude.<*> (x Data..:? "MountName")+ Prelude.<*> (x Data..:? "PerUnitStorageThroughput")+ Prelude.<*> (x Data..:? "RootSquashConfiguration")+ Prelude.<*> (x Data..:? "WeeklyMaintenanceStartTime")+ )++instance+ Prelude.Hashable+ LustreFileSystemConfiguration+ where+ hashWithSalt _salt LustreFileSystemConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` automaticBackupRetentionDays+ `Prelude.hashWithSalt` copyTagsToBackups+ `Prelude.hashWithSalt` dailyAutomaticBackupStartTime+ `Prelude.hashWithSalt` dataCompressionType+ `Prelude.hashWithSalt` dataRepositoryConfiguration+ `Prelude.hashWithSalt` deploymentType+ `Prelude.hashWithSalt` driveCacheType+ `Prelude.hashWithSalt` logConfiguration+ `Prelude.hashWithSalt` mountName+ `Prelude.hashWithSalt` perUnitStorageThroughput+ `Prelude.hashWithSalt` rootSquashConfiguration+ `Prelude.hashWithSalt` weeklyMaintenanceStartTime++instance Prelude.NFData LustreFileSystemConfiguration where+ rnf LustreFileSystemConfiguration' {..} =+ Prelude.rnf automaticBackupRetentionDays+ `Prelude.seq` Prelude.rnf copyTagsToBackups+ `Prelude.seq` Prelude.rnf dailyAutomaticBackupStartTime+ `Prelude.seq` Prelude.rnf dataCompressionType+ `Prelude.seq` Prelude.rnf dataRepositoryConfiguration+ `Prelude.seq` Prelude.rnf deploymentType+ `Prelude.seq` Prelude.rnf driveCacheType+ `Prelude.seq` Prelude.rnf logConfiguration+ `Prelude.seq` Prelude.rnf mountName+ `Prelude.seq` Prelude.rnf perUnitStorageThroughput+ `Prelude.seq` Prelude.rnf rootSquashConfiguration+ `Prelude.seq` Prelude.rnf weeklyMaintenanceStartTime
+ gen/Amazonka/FSx/Types/LustreLogConfiguration.hs view
@@ -0,0 +1,135 @@+{-# 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.FSx.Types.LustreLogConfiguration+-- 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.FSx.Types.LustreLogConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types.LustreAccessAuditLogLevel+import qualified Amazonka.Prelude as Prelude++-- | The configuration for Lustre logging used to write the enabled logging+-- events for your Amazon FSx for Lustre file system or Amazon File Cache+-- resource to Amazon CloudWatch Logs.+--+-- /See:/ 'newLustreLogConfiguration' smart constructor.+data LustreLogConfiguration = LustreLogConfiguration'+ { -- | The Amazon Resource Name (ARN) that specifies the destination of the+ -- logs. The destination can be any Amazon CloudWatch Logs log group ARN.+ -- The destination ARN must be in the same Amazon Web Services partition,+ -- Amazon Web Services Region, and Amazon Web Services account as your+ -- Amazon FSx file system.+ destination :: Prelude.Maybe Prelude.Text,+ -- | The data repository events that are logged by Amazon FSx.+ --+ -- - @WARN_ONLY@ - only warning events are logged.+ --+ -- - @ERROR_ONLY@ - only error events are logged.+ --+ -- - @WARN_ERROR@ - both warning events and error events are logged.+ --+ -- - @DISABLED@ - logging of data repository events is turned off.+ --+ -- Note that Amazon File Cache uses a default setting of @WARN_ERROR@,+ -- which can\'t be changed.+ level :: LustreAccessAuditLogLevel+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LustreLogConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'destination', 'lustreLogConfiguration_destination' - The Amazon Resource Name (ARN) that specifies the destination of the+-- logs. The destination can be any Amazon CloudWatch Logs log group ARN.+-- The destination ARN must be in the same Amazon Web Services partition,+-- Amazon Web Services Region, and Amazon Web Services account as your+-- Amazon FSx file system.+--+-- 'level', 'lustreLogConfiguration_level' - The data repository events that are logged by Amazon FSx.+--+-- - @WARN_ONLY@ - only warning events are logged.+--+-- - @ERROR_ONLY@ - only error events are logged.+--+-- - @WARN_ERROR@ - both warning events and error events are logged.+--+-- - @DISABLED@ - logging of data repository events is turned off.+--+-- Note that Amazon File Cache uses a default setting of @WARN_ERROR@,+-- which can\'t be changed.+newLustreLogConfiguration ::+ -- | 'level'+ LustreAccessAuditLogLevel ->+ LustreLogConfiguration+newLustreLogConfiguration pLevel_ =+ LustreLogConfiguration'+ { destination =+ Prelude.Nothing,+ level = pLevel_+ }++-- | The Amazon Resource Name (ARN) that specifies the destination of the+-- logs. The destination can be any Amazon CloudWatch Logs log group ARN.+-- The destination ARN must be in the same Amazon Web Services partition,+-- Amazon Web Services Region, and Amazon Web Services account as your+-- Amazon FSx file system.+lustreLogConfiguration_destination :: Lens.Lens' LustreLogConfiguration (Prelude.Maybe Prelude.Text)+lustreLogConfiguration_destination = Lens.lens (\LustreLogConfiguration' {destination} -> destination) (\s@LustreLogConfiguration' {} a -> s {destination = a} :: LustreLogConfiguration)++-- | The data repository events that are logged by Amazon FSx.+--+-- - @WARN_ONLY@ - only warning events are logged.+--+-- - @ERROR_ONLY@ - only error events are logged.+--+-- - @WARN_ERROR@ - both warning events and error events are logged.+--+-- - @DISABLED@ - logging of data repository events is turned off.+--+-- Note that Amazon File Cache uses a default setting of @WARN_ERROR@,+-- which can\'t be changed.+lustreLogConfiguration_level :: Lens.Lens' LustreLogConfiguration LustreAccessAuditLogLevel+lustreLogConfiguration_level = Lens.lens (\LustreLogConfiguration' {level} -> level) (\s@LustreLogConfiguration' {} a -> s {level = a} :: LustreLogConfiguration)++instance Data.FromJSON LustreLogConfiguration where+ parseJSON =+ Data.withObject+ "LustreLogConfiguration"+ ( \x ->+ LustreLogConfiguration'+ Prelude.<$> (x Data..:? "Destination")+ Prelude.<*> (x Data..: "Level")+ )++instance Prelude.Hashable LustreLogConfiguration where+ hashWithSalt _salt LustreLogConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` destination+ `Prelude.hashWithSalt` level++instance Prelude.NFData LustreLogConfiguration where+ rnf LustreLogConfiguration' {..} =+ Prelude.rnf destination+ `Prelude.seq` Prelude.rnf level
+ gen/Amazonka/FSx/Types/LustreLogCreateConfiguration.hs view
@@ -0,0 +1,186 @@+{-# 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.FSx.Types.LustreLogCreateConfiguration+-- 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.FSx.Types.LustreLogCreateConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types.LustreAccessAuditLogLevel+import qualified Amazonka.Prelude as Prelude++-- | The Lustre logging configuration used when creating or updating an+-- Amazon FSx for Lustre file system. An Amazon File Cache is created with+-- Lustre logging enabled by default, with a setting of @WARN_ERROR@ for+-- the logging events. which can\'t be changed.+--+-- Lustre logging writes the enabled logging events for your file system or+-- cache to Amazon CloudWatch Logs.+--+-- /See:/ 'newLustreLogCreateConfiguration' smart constructor.+data LustreLogCreateConfiguration = LustreLogCreateConfiguration'+ { -- | The Amazon Resource Name (ARN) that specifies the destination of the+ -- logs.+ --+ -- The destination can be any Amazon CloudWatch Logs log group ARN, with+ -- the following requirements:+ --+ -- - The destination ARN that you provide must be in the same Amazon Web+ -- Services partition, Amazon Web Services Region, and Amazon Web+ -- Services account as your Amazon FSx file system.+ --+ -- - The name of the Amazon CloudWatch Logs log group must begin with the+ -- @\/aws\/fsx@ prefix.+ --+ -- - If you do not provide a destination, Amazon FSx will create and use+ -- a log stream in the CloudWatch Logs @\/aws\/fsx\/lustre@ log group+ -- (for Amazon FSx for Lustre) or @\/aws\/fsx\/filecache@ (for Amazon+ -- File Cache).+ --+ -- - If @Destination@ is provided and the resource does not exist, the+ -- request will fail with a @BadRequest@ error.+ --+ -- - If @Level@ is set to @DISABLED@, you cannot specify a destination in+ -- @Destination@.+ destination :: Prelude.Maybe Prelude.Text,+ -- | Sets which data repository events are logged by Amazon FSx.+ --+ -- - @WARN_ONLY@ - only warning events are logged.+ --+ -- - @ERROR_ONLY@ - only error events are logged.+ --+ -- - @WARN_ERROR@ - both warning events and error events are logged.+ --+ -- - @DISABLED@ - logging of data repository events is turned off.+ level :: LustreAccessAuditLogLevel+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LustreLogCreateConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'destination', 'lustreLogCreateConfiguration_destination' - The Amazon Resource Name (ARN) that specifies the destination of the+-- logs.+--+-- The destination can be any Amazon CloudWatch Logs log group ARN, with+-- the following requirements:+--+-- - The destination ARN that you provide must be in the same Amazon Web+-- Services partition, Amazon Web Services Region, and Amazon Web+-- Services account as your Amazon FSx file system.+--+-- - The name of the Amazon CloudWatch Logs log group must begin with the+-- @\/aws\/fsx@ prefix.+--+-- - If you do not provide a destination, Amazon FSx will create and use+-- a log stream in the CloudWatch Logs @\/aws\/fsx\/lustre@ log group+-- (for Amazon FSx for Lustre) or @\/aws\/fsx\/filecache@ (for Amazon+-- File Cache).+--+-- - If @Destination@ is provided and the resource does not exist, the+-- request will fail with a @BadRequest@ error.+--+-- - If @Level@ is set to @DISABLED@, you cannot specify a destination in+-- @Destination@.+--+-- 'level', 'lustreLogCreateConfiguration_level' - Sets which data repository events are logged by Amazon FSx.+--+-- - @WARN_ONLY@ - only warning events are logged.+--+-- - @ERROR_ONLY@ - only error events are logged.+--+-- - @WARN_ERROR@ - both warning events and error events are logged.+--+-- - @DISABLED@ - logging of data repository events is turned off.+newLustreLogCreateConfiguration ::+ -- | 'level'+ LustreAccessAuditLogLevel ->+ LustreLogCreateConfiguration+newLustreLogCreateConfiguration pLevel_ =+ LustreLogCreateConfiguration'+ { destination =+ Prelude.Nothing,+ level = pLevel_+ }++-- | The Amazon Resource Name (ARN) that specifies the destination of the+-- logs.+--+-- The destination can be any Amazon CloudWatch Logs log group ARN, with+-- the following requirements:+--+-- - The destination ARN that you provide must be in the same Amazon Web+-- Services partition, Amazon Web Services Region, and Amazon Web+-- Services account as your Amazon FSx file system.+--+-- - The name of the Amazon CloudWatch Logs log group must begin with the+-- @\/aws\/fsx@ prefix.+--+-- - If you do not provide a destination, Amazon FSx will create and use+-- a log stream in the CloudWatch Logs @\/aws\/fsx\/lustre@ log group+-- (for Amazon FSx for Lustre) or @\/aws\/fsx\/filecache@ (for Amazon+-- File Cache).+--+-- - If @Destination@ is provided and the resource does not exist, the+-- request will fail with a @BadRequest@ error.+--+-- - If @Level@ is set to @DISABLED@, you cannot specify a destination in+-- @Destination@.+lustreLogCreateConfiguration_destination :: Lens.Lens' LustreLogCreateConfiguration (Prelude.Maybe Prelude.Text)+lustreLogCreateConfiguration_destination = Lens.lens (\LustreLogCreateConfiguration' {destination} -> destination) (\s@LustreLogCreateConfiguration' {} a -> s {destination = a} :: LustreLogCreateConfiguration)++-- | Sets which data repository events are logged by Amazon FSx.+--+-- - @WARN_ONLY@ - only warning events are logged.+--+-- - @ERROR_ONLY@ - only error events are logged.+--+-- - @WARN_ERROR@ - both warning events and error events are logged.+--+-- - @DISABLED@ - logging of data repository events is turned off.+lustreLogCreateConfiguration_level :: Lens.Lens' LustreLogCreateConfiguration LustreAccessAuditLogLevel+lustreLogCreateConfiguration_level = Lens.lens (\LustreLogCreateConfiguration' {level} -> level) (\s@LustreLogCreateConfiguration' {} a -> s {level = a} :: LustreLogCreateConfiguration)++instance+ Prelude.Hashable+ LustreLogCreateConfiguration+ where+ hashWithSalt _salt LustreLogCreateConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` destination+ `Prelude.hashWithSalt` level++instance Prelude.NFData LustreLogCreateConfiguration where+ rnf LustreLogCreateConfiguration' {..} =+ Prelude.rnf destination+ `Prelude.seq` Prelude.rnf level++instance Data.ToJSON LustreLogCreateConfiguration where+ toJSON LustreLogCreateConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Destination" Data..=) Prelude.<$> destination,+ Prelude.Just ("Level" Data..= level)+ ]+ )
+ gen/Amazonka/FSx/Types/LustreRootSquashConfiguration.hs view
@@ -0,0 +1,168 @@+{-# 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.FSx.Types.LustreRootSquashConfiguration+-- 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.FSx.Types.LustreRootSquashConfiguration 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 configuration for Lustre root squash used to restrict root-level+-- access from clients that try to access your FSx for Lustre file system+-- as root. Use the @RootSquash@ parameter to enable root squash. To learn+-- more about Lustre root squash, see+-- <https://docs.aws.amazon.com/fsx/latest/LustreGuide/root-squash.html Lustre root squash>.+--+-- You can also use the @NoSquashNids@ parameter to provide an array of+-- clients who are not affected by the root squash setting. These clients+-- will access the file system as root, with unrestricted privileges.+--+-- /See:/ 'newLustreRootSquashConfiguration' smart constructor.+data LustreRootSquashConfiguration = LustreRootSquashConfiguration'+ { -- | When root squash is enabled, you can optionally specify an array of NIDs+ -- of clients for which root squash does not apply. A client NID is a+ -- Lustre Network Identifier used to uniquely identify a client. You can+ -- specify the NID as either a single address or a range of addresses:+ --+ -- - A single address is described in standard Lustre NID format by+ -- specifying the client’s IP address followed by the Lustre network ID+ -- (for example, @10.0.1.6\@tcp@).+ --+ -- - An address range is described using a dash to separate the range+ -- (for example, @10.0.[2-10].[1-255]\@tcp@).+ noSquashNids :: Prelude.Maybe [Prelude.Text],+ -- | You enable root squash by setting a user ID (UID) and group ID (GID) for+ -- the file system in the format @UID:GID@ (for example, @365534:65534@).+ -- The UID and GID values can range from @0@ to @4294967294@:+ --+ -- - A non-zero value for UID and GID enables root squash. The UID and+ -- GID values can be different, but each must be a non-zero value.+ --+ -- - A value of @0@ (zero) for UID and GID indicates root, and therefore+ -- disables root squash.+ --+ -- When root squash is enabled, the user ID and group ID of a root user+ -- accessing the file system are re-mapped to the UID and GID you provide.+ rootSquash :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LustreRootSquashConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'noSquashNids', 'lustreRootSquashConfiguration_noSquashNids' - When root squash is enabled, you can optionally specify an array of NIDs+-- of clients for which root squash does not apply. A client NID is a+-- Lustre Network Identifier used to uniquely identify a client. You can+-- specify the NID as either a single address or a range of addresses:+--+-- - A single address is described in standard Lustre NID format by+-- specifying the client’s IP address followed by the Lustre network ID+-- (for example, @10.0.1.6\@tcp@).+--+-- - An address range is described using a dash to separate the range+-- (for example, @10.0.[2-10].[1-255]\@tcp@).+--+-- 'rootSquash', 'lustreRootSquashConfiguration_rootSquash' - You enable root squash by setting a user ID (UID) and group ID (GID) for+-- the file system in the format @UID:GID@ (for example, @365534:65534@).+-- The UID and GID values can range from @0@ to @4294967294@:+--+-- - A non-zero value for UID and GID enables root squash. The UID and+-- GID values can be different, but each must be a non-zero value.+--+-- - A value of @0@ (zero) for UID and GID indicates root, and therefore+-- disables root squash.+--+-- When root squash is enabled, the user ID and group ID of a root user+-- accessing the file system are re-mapped to the UID and GID you provide.+newLustreRootSquashConfiguration ::+ LustreRootSquashConfiguration+newLustreRootSquashConfiguration =+ LustreRootSquashConfiguration'+ { noSquashNids =+ Prelude.Nothing,+ rootSquash = Prelude.Nothing+ }++-- | When root squash is enabled, you can optionally specify an array of NIDs+-- of clients for which root squash does not apply. A client NID is a+-- Lustre Network Identifier used to uniquely identify a client. You can+-- specify the NID as either a single address or a range of addresses:+--+-- - A single address is described in standard Lustre NID format by+-- specifying the client’s IP address followed by the Lustre network ID+-- (for example, @10.0.1.6\@tcp@).+--+-- - An address range is described using a dash to separate the range+-- (for example, @10.0.[2-10].[1-255]\@tcp@).+lustreRootSquashConfiguration_noSquashNids :: Lens.Lens' LustreRootSquashConfiguration (Prelude.Maybe [Prelude.Text])+lustreRootSquashConfiguration_noSquashNids = Lens.lens (\LustreRootSquashConfiguration' {noSquashNids} -> noSquashNids) (\s@LustreRootSquashConfiguration' {} a -> s {noSquashNids = a} :: LustreRootSquashConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | You enable root squash by setting a user ID (UID) and group ID (GID) for+-- the file system in the format @UID:GID@ (for example, @365534:65534@).+-- The UID and GID values can range from @0@ to @4294967294@:+--+-- - A non-zero value for UID and GID enables root squash. The UID and+-- GID values can be different, but each must be a non-zero value.+--+-- - A value of @0@ (zero) for UID and GID indicates root, and therefore+-- disables root squash.+--+-- When root squash is enabled, the user ID and group ID of a root user+-- accessing the file system are re-mapped to the UID and GID you provide.+lustreRootSquashConfiguration_rootSquash :: Lens.Lens' LustreRootSquashConfiguration (Prelude.Maybe Prelude.Text)+lustreRootSquashConfiguration_rootSquash = Lens.lens (\LustreRootSquashConfiguration' {rootSquash} -> rootSquash) (\s@LustreRootSquashConfiguration' {} a -> s {rootSquash = a} :: LustreRootSquashConfiguration)++instance Data.FromJSON LustreRootSquashConfiguration where+ parseJSON =+ Data.withObject+ "LustreRootSquashConfiguration"+ ( \x ->+ LustreRootSquashConfiguration'+ Prelude.<$> (x Data..:? "NoSquashNids" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "RootSquash")+ )++instance+ Prelude.Hashable+ LustreRootSquashConfiguration+ where+ hashWithSalt _salt LustreRootSquashConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` noSquashNids+ `Prelude.hashWithSalt` rootSquash++instance Prelude.NFData LustreRootSquashConfiguration where+ rnf LustreRootSquashConfiguration' {..} =+ Prelude.rnf noSquashNids+ `Prelude.seq` Prelude.rnf rootSquash++instance Data.ToJSON LustreRootSquashConfiguration where+ toJSON LustreRootSquashConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("NoSquashNids" Data..=) Prelude.<$> noSquashNids,+ ("RootSquash" Data..=) Prelude.<$> rootSquash+ ]+ )
+ gen/Amazonka/FSx/Types/NFSDataRepositoryConfiguration.hs view
@@ -0,0 +1,128 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FSx.Types.NFSDataRepositoryConfiguration+-- 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.FSx.Types.NFSDataRepositoryConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types.AutoExportPolicy+import Amazonka.FSx.Types.NfsVersion+import qualified Amazonka.Prelude as Prelude++-- | The configuration for a data repository association that links an Amazon+-- File Cache resource to an NFS data repository.+--+-- /See:/ 'newNFSDataRepositoryConfiguration' smart constructor.+data NFSDataRepositoryConfiguration = NFSDataRepositoryConfiguration'+ { -- | This parameter is not supported for Amazon File Cache.+ autoExportPolicy :: Prelude.Maybe AutoExportPolicy,+ -- | A list of up to 2 IP addresses of DNS servers used to resolve the NFS+ -- file system domain name. The provided IP addresses can either be the IP+ -- addresses of a DNS forwarder or resolver that the customer manages and+ -- runs inside the customer VPC, or the IP addresses of the on-premises DNS+ -- servers.+ dnsIps :: Prelude.Maybe [Prelude.Text],+ -- | The version of the NFS (Network File System) protocol of the NFS data+ -- repository. Currently, the only supported value is @NFS3@, which+ -- indicates that the data repository must support the NFSv3 protocol.+ version :: NfsVersion+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NFSDataRepositoryConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'autoExportPolicy', 'nFSDataRepositoryConfiguration_autoExportPolicy' - This parameter is not supported for Amazon File Cache.+--+-- 'dnsIps', 'nFSDataRepositoryConfiguration_dnsIps' - A list of up to 2 IP addresses of DNS servers used to resolve the NFS+-- file system domain name. The provided IP addresses can either be the IP+-- addresses of a DNS forwarder or resolver that the customer manages and+-- runs inside the customer VPC, or the IP addresses of the on-premises DNS+-- servers.+--+-- 'version', 'nFSDataRepositoryConfiguration_version' - The version of the NFS (Network File System) protocol of the NFS data+-- repository. Currently, the only supported value is @NFS3@, which+-- indicates that the data repository must support the NFSv3 protocol.+newNFSDataRepositoryConfiguration ::+ -- | 'version'+ NfsVersion ->+ NFSDataRepositoryConfiguration+newNFSDataRepositoryConfiguration pVersion_ =+ NFSDataRepositoryConfiguration'+ { autoExportPolicy =+ Prelude.Nothing,+ dnsIps = Prelude.Nothing,+ version = pVersion_+ }++-- | This parameter is not supported for Amazon File Cache.+nFSDataRepositoryConfiguration_autoExportPolicy :: Lens.Lens' NFSDataRepositoryConfiguration (Prelude.Maybe AutoExportPolicy)+nFSDataRepositoryConfiguration_autoExportPolicy = Lens.lens (\NFSDataRepositoryConfiguration' {autoExportPolicy} -> autoExportPolicy) (\s@NFSDataRepositoryConfiguration' {} a -> s {autoExportPolicy = a} :: NFSDataRepositoryConfiguration)++-- | A list of up to 2 IP addresses of DNS servers used to resolve the NFS+-- file system domain name. The provided IP addresses can either be the IP+-- addresses of a DNS forwarder or resolver that the customer manages and+-- runs inside the customer VPC, or the IP addresses of the on-premises DNS+-- servers.+nFSDataRepositoryConfiguration_dnsIps :: Lens.Lens' NFSDataRepositoryConfiguration (Prelude.Maybe [Prelude.Text])+nFSDataRepositoryConfiguration_dnsIps = Lens.lens (\NFSDataRepositoryConfiguration' {dnsIps} -> dnsIps) (\s@NFSDataRepositoryConfiguration' {} a -> s {dnsIps = a} :: NFSDataRepositoryConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | The version of the NFS (Network File System) protocol of the NFS data+-- repository. Currently, the only supported value is @NFS3@, which+-- indicates that the data repository must support the NFSv3 protocol.+nFSDataRepositoryConfiguration_version :: Lens.Lens' NFSDataRepositoryConfiguration NfsVersion+nFSDataRepositoryConfiguration_version = Lens.lens (\NFSDataRepositoryConfiguration' {version} -> version) (\s@NFSDataRepositoryConfiguration' {} a -> s {version = a} :: NFSDataRepositoryConfiguration)++instance Data.FromJSON NFSDataRepositoryConfiguration where+ parseJSON =+ Data.withObject+ "NFSDataRepositoryConfiguration"+ ( \x ->+ NFSDataRepositoryConfiguration'+ Prelude.<$> (x Data..:? "AutoExportPolicy")+ Prelude.<*> (x Data..:? "DnsIps" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..: "Version")+ )++instance+ Prelude.Hashable+ NFSDataRepositoryConfiguration+ where+ hashWithSalt+ _salt+ NFSDataRepositoryConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` autoExportPolicy+ `Prelude.hashWithSalt` dnsIps+ `Prelude.hashWithSalt` version++instance+ Prelude.NFData+ NFSDataRepositoryConfiguration+ where+ rnf NFSDataRepositoryConfiguration' {..} =+ Prelude.rnf autoExportPolicy+ `Prelude.seq` Prelude.rnf dnsIps+ `Prelude.seq` Prelude.rnf version
+ gen/Amazonka/FSx/Types/NfsVersion.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.FSx.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.FSx.Types.NfsVersion+ ( NfsVersion+ ( ..,+ NfsVersion_NFS3+ ),+ )+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_NFS3 :: NfsVersion+pattern NfsVersion_NFS3 = NfsVersion' "NFS3"++{-# COMPLETE+ NfsVersion_NFS3,+ NfsVersion'+ #-}
+ gen/Amazonka/FSx/Types/OntapDeploymentType.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.FSx.Types.OntapDeploymentType+-- 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.FSx.Types.OntapDeploymentType+ ( OntapDeploymentType+ ( ..,+ OntapDeploymentType_MULTI_AZ_1,+ OntapDeploymentType_SINGLE_AZ_1+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype OntapDeploymentType = OntapDeploymentType'+ { fromOntapDeploymentType ::+ 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 OntapDeploymentType_MULTI_AZ_1 :: OntapDeploymentType+pattern OntapDeploymentType_MULTI_AZ_1 = OntapDeploymentType' "MULTI_AZ_1"++pattern OntapDeploymentType_SINGLE_AZ_1 :: OntapDeploymentType+pattern OntapDeploymentType_SINGLE_AZ_1 = OntapDeploymentType' "SINGLE_AZ_1"++{-# COMPLETE+ OntapDeploymentType_MULTI_AZ_1,+ OntapDeploymentType_SINGLE_AZ_1,+ OntapDeploymentType'+ #-}
+ gen/Amazonka/FSx/Types/OntapFileSystemConfiguration.hs view
@@ -0,0 +1,246 @@+{-# 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.FSx.Types.OntapFileSystemConfiguration+-- 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.FSx.Types.OntapFileSystemConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types.DiskIopsConfiguration+import Amazonka.FSx.Types.FileSystemEndpoints+import Amazonka.FSx.Types.OntapDeploymentType+import qualified Amazonka.Prelude as Prelude++-- | Configuration for the FSx for NetApp ONTAP file system.+--+-- /See:/ 'newOntapFileSystemConfiguration' smart constructor.+data OntapFileSystemConfiguration = OntapFileSystemConfiguration'+ { automaticBackupRetentionDays :: Prelude.Maybe Prelude.Natural,+ dailyAutomaticBackupStartTime :: Prelude.Maybe Prelude.Text,+ -- | Specifies the FSx for ONTAP file system deployment type in use in the+ -- file system.+ --+ -- - @MULTI_AZ_1@ - (Default) A high availability file system configured+ -- for Multi-AZ redundancy to tolerate temporary Availability Zone (AZ)+ -- unavailability.+ --+ -- - @SINGLE_AZ_1@ - A file system configured for Single-AZ redundancy.+ --+ -- For information about the use cases for Multi-AZ and Single-AZ+ -- deployments, refer to+ -- <https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/high-availability-multiAZ.html Choosing Multi-AZ or Single-AZ file system deployment>.+ deploymentType :: Prelude.Maybe OntapDeploymentType,+ -- | The SSD IOPS configuration for the ONTAP file system, specifying the+ -- number of provisioned IOPS and the provision mode.+ diskIopsConfiguration :: Prelude.Maybe DiskIopsConfiguration,+ -- | (Multi-AZ only) The IP address range in which the endpoints to access+ -- your file system are created.+ --+ -- The Endpoint IP address range you select for your file system must exist+ -- outside the VPC\'s CIDR range and must be at least \/30 or larger. If+ -- you do not specify this optional parameter, Amazon FSx will+ -- automatically select a CIDR block for you.+ endpointIpAddressRange :: Prelude.Maybe Prelude.Text,+ -- | The @Management@ and @Intercluster@ endpoints that are used to access+ -- data or to manage the file system using the NetApp ONTAP CLI, REST API,+ -- or NetApp SnapMirror.+ endpoints :: Prelude.Maybe FileSystemEndpoints,+ preferredSubnetId :: Prelude.Maybe Prelude.Text,+ -- | (Multi-AZ only) The VPC route tables in which your file system\'s+ -- endpoints are created.+ routeTableIds :: Prelude.Maybe [Prelude.Text],+ throughputCapacity :: Prelude.Maybe Prelude.Natural,+ weeklyMaintenanceStartTime :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'OntapFileSystemConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'automaticBackupRetentionDays', 'ontapFileSystemConfiguration_automaticBackupRetentionDays' - Undocumented member.+--+-- 'dailyAutomaticBackupStartTime', 'ontapFileSystemConfiguration_dailyAutomaticBackupStartTime' - Undocumented member.+--+-- 'deploymentType', 'ontapFileSystemConfiguration_deploymentType' - Specifies the FSx for ONTAP file system deployment type in use in the+-- file system.+--+-- - @MULTI_AZ_1@ - (Default) A high availability file system configured+-- for Multi-AZ redundancy to tolerate temporary Availability Zone (AZ)+-- unavailability.+--+-- - @SINGLE_AZ_1@ - A file system configured for Single-AZ redundancy.+--+-- For information about the use cases for Multi-AZ and Single-AZ+-- deployments, refer to+-- <https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/high-availability-multiAZ.html Choosing Multi-AZ or Single-AZ file system deployment>.+--+-- 'diskIopsConfiguration', 'ontapFileSystemConfiguration_diskIopsConfiguration' - The SSD IOPS configuration for the ONTAP file system, specifying the+-- number of provisioned IOPS and the provision mode.+--+-- 'endpointIpAddressRange', 'ontapFileSystemConfiguration_endpointIpAddressRange' - (Multi-AZ only) The IP address range in which the endpoints to access+-- your file system are created.+--+-- The Endpoint IP address range you select for your file system must exist+-- outside the VPC\'s CIDR range and must be at least \/30 or larger. If+-- you do not specify this optional parameter, Amazon FSx will+-- automatically select a CIDR block for you.+--+-- 'endpoints', 'ontapFileSystemConfiguration_endpoints' - The @Management@ and @Intercluster@ endpoints that are used to access+-- data or to manage the file system using the NetApp ONTAP CLI, REST API,+-- or NetApp SnapMirror.+--+-- 'preferredSubnetId', 'ontapFileSystemConfiguration_preferredSubnetId' - Undocumented member.+--+-- 'routeTableIds', 'ontapFileSystemConfiguration_routeTableIds' - (Multi-AZ only) The VPC route tables in which your file system\'s+-- endpoints are created.+--+-- 'throughputCapacity', 'ontapFileSystemConfiguration_throughputCapacity' - Undocumented member.+--+-- 'weeklyMaintenanceStartTime', 'ontapFileSystemConfiguration_weeklyMaintenanceStartTime' - Undocumented member.+newOntapFileSystemConfiguration ::+ OntapFileSystemConfiguration+newOntapFileSystemConfiguration =+ OntapFileSystemConfiguration'+ { automaticBackupRetentionDays =+ Prelude.Nothing,+ dailyAutomaticBackupStartTime =+ Prelude.Nothing,+ deploymentType = Prelude.Nothing,+ diskIopsConfiguration = Prelude.Nothing,+ endpointIpAddressRange = Prelude.Nothing,+ endpoints = Prelude.Nothing,+ preferredSubnetId = Prelude.Nothing,+ routeTableIds = Prelude.Nothing,+ throughputCapacity = Prelude.Nothing,+ weeklyMaintenanceStartTime = Prelude.Nothing+ }++-- | Undocumented member.+ontapFileSystemConfiguration_automaticBackupRetentionDays :: Lens.Lens' OntapFileSystemConfiguration (Prelude.Maybe Prelude.Natural)+ontapFileSystemConfiguration_automaticBackupRetentionDays = Lens.lens (\OntapFileSystemConfiguration' {automaticBackupRetentionDays} -> automaticBackupRetentionDays) (\s@OntapFileSystemConfiguration' {} a -> s {automaticBackupRetentionDays = a} :: OntapFileSystemConfiguration)++-- | Undocumented member.+ontapFileSystemConfiguration_dailyAutomaticBackupStartTime :: Lens.Lens' OntapFileSystemConfiguration (Prelude.Maybe Prelude.Text)+ontapFileSystemConfiguration_dailyAutomaticBackupStartTime = Lens.lens (\OntapFileSystemConfiguration' {dailyAutomaticBackupStartTime} -> dailyAutomaticBackupStartTime) (\s@OntapFileSystemConfiguration' {} a -> s {dailyAutomaticBackupStartTime = a} :: OntapFileSystemConfiguration)++-- | Specifies the FSx for ONTAP file system deployment type in use in the+-- file system.+--+-- - @MULTI_AZ_1@ - (Default) A high availability file system configured+-- for Multi-AZ redundancy to tolerate temporary Availability Zone (AZ)+-- unavailability.+--+-- - @SINGLE_AZ_1@ - A file system configured for Single-AZ redundancy.+--+-- For information about the use cases for Multi-AZ and Single-AZ+-- deployments, refer to+-- <https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/high-availability-multiAZ.html Choosing Multi-AZ or Single-AZ file system deployment>.+ontapFileSystemConfiguration_deploymentType :: Lens.Lens' OntapFileSystemConfiguration (Prelude.Maybe OntapDeploymentType)+ontapFileSystemConfiguration_deploymentType = Lens.lens (\OntapFileSystemConfiguration' {deploymentType} -> deploymentType) (\s@OntapFileSystemConfiguration' {} a -> s {deploymentType = a} :: OntapFileSystemConfiguration)++-- | The SSD IOPS configuration for the ONTAP file system, specifying the+-- number of provisioned IOPS and the provision mode.+ontapFileSystemConfiguration_diskIopsConfiguration :: Lens.Lens' OntapFileSystemConfiguration (Prelude.Maybe DiskIopsConfiguration)+ontapFileSystemConfiguration_diskIopsConfiguration = Lens.lens (\OntapFileSystemConfiguration' {diskIopsConfiguration} -> diskIopsConfiguration) (\s@OntapFileSystemConfiguration' {} a -> s {diskIopsConfiguration = a} :: OntapFileSystemConfiguration)++-- | (Multi-AZ only) The IP address range in which the endpoints to access+-- your file system are created.+--+-- The Endpoint IP address range you select for your file system must exist+-- outside the VPC\'s CIDR range and must be at least \/30 or larger. If+-- you do not specify this optional parameter, Amazon FSx will+-- automatically select a CIDR block for you.+ontapFileSystemConfiguration_endpointIpAddressRange :: Lens.Lens' OntapFileSystemConfiguration (Prelude.Maybe Prelude.Text)+ontapFileSystemConfiguration_endpointIpAddressRange = Lens.lens (\OntapFileSystemConfiguration' {endpointIpAddressRange} -> endpointIpAddressRange) (\s@OntapFileSystemConfiguration' {} a -> s {endpointIpAddressRange = a} :: OntapFileSystemConfiguration)++-- | The @Management@ and @Intercluster@ endpoints that are used to access+-- data or to manage the file system using the NetApp ONTAP CLI, REST API,+-- or NetApp SnapMirror.+ontapFileSystemConfiguration_endpoints :: Lens.Lens' OntapFileSystemConfiguration (Prelude.Maybe FileSystemEndpoints)+ontapFileSystemConfiguration_endpoints = Lens.lens (\OntapFileSystemConfiguration' {endpoints} -> endpoints) (\s@OntapFileSystemConfiguration' {} a -> s {endpoints = a} :: OntapFileSystemConfiguration)++-- | Undocumented member.+ontapFileSystemConfiguration_preferredSubnetId :: Lens.Lens' OntapFileSystemConfiguration (Prelude.Maybe Prelude.Text)+ontapFileSystemConfiguration_preferredSubnetId = Lens.lens (\OntapFileSystemConfiguration' {preferredSubnetId} -> preferredSubnetId) (\s@OntapFileSystemConfiguration' {} a -> s {preferredSubnetId = a} :: OntapFileSystemConfiguration)++-- | (Multi-AZ only) The VPC route tables in which your file system\'s+-- endpoints are created.+ontapFileSystemConfiguration_routeTableIds :: Lens.Lens' OntapFileSystemConfiguration (Prelude.Maybe [Prelude.Text])+ontapFileSystemConfiguration_routeTableIds = Lens.lens (\OntapFileSystemConfiguration' {routeTableIds} -> routeTableIds) (\s@OntapFileSystemConfiguration' {} a -> s {routeTableIds = a} :: OntapFileSystemConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+ontapFileSystemConfiguration_throughputCapacity :: Lens.Lens' OntapFileSystemConfiguration (Prelude.Maybe Prelude.Natural)+ontapFileSystemConfiguration_throughputCapacity = Lens.lens (\OntapFileSystemConfiguration' {throughputCapacity} -> throughputCapacity) (\s@OntapFileSystemConfiguration' {} a -> s {throughputCapacity = a} :: OntapFileSystemConfiguration)++-- | Undocumented member.+ontapFileSystemConfiguration_weeklyMaintenanceStartTime :: Lens.Lens' OntapFileSystemConfiguration (Prelude.Maybe Prelude.Text)+ontapFileSystemConfiguration_weeklyMaintenanceStartTime = Lens.lens (\OntapFileSystemConfiguration' {weeklyMaintenanceStartTime} -> weeklyMaintenanceStartTime) (\s@OntapFileSystemConfiguration' {} a -> s {weeklyMaintenanceStartTime = a} :: OntapFileSystemConfiguration)++instance Data.FromJSON OntapFileSystemConfiguration where+ parseJSON =+ Data.withObject+ "OntapFileSystemConfiguration"+ ( \x ->+ OntapFileSystemConfiguration'+ Prelude.<$> (x Data..:? "AutomaticBackupRetentionDays")+ Prelude.<*> (x Data..:? "DailyAutomaticBackupStartTime")+ Prelude.<*> (x Data..:? "DeploymentType")+ Prelude.<*> (x Data..:? "DiskIopsConfiguration")+ Prelude.<*> (x Data..:? "EndpointIpAddressRange")+ Prelude.<*> (x Data..:? "Endpoints")+ Prelude.<*> (x Data..:? "PreferredSubnetId")+ Prelude.<*> (x Data..:? "RouteTableIds" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "ThroughputCapacity")+ Prelude.<*> (x Data..:? "WeeklyMaintenanceStartTime")+ )++instance+ Prelude.Hashable+ OntapFileSystemConfiguration+ where+ hashWithSalt _salt OntapFileSystemConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` automaticBackupRetentionDays+ `Prelude.hashWithSalt` dailyAutomaticBackupStartTime+ `Prelude.hashWithSalt` deploymentType+ `Prelude.hashWithSalt` diskIopsConfiguration+ `Prelude.hashWithSalt` endpointIpAddressRange+ `Prelude.hashWithSalt` endpoints+ `Prelude.hashWithSalt` preferredSubnetId+ `Prelude.hashWithSalt` routeTableIds+ `Prelude.hashWithSalt` throughputCapacity+ `Prelude.hashWithSalt` weeklyMaintenanceStartTime++instance Prelude.NFData OntapFileSystemConfiguration where+ rnf OntapFileSystemConfiguration' {..} =+ Prelude.rnf automaticBackupRetentionDays+ `Prelude.seq` Prelude.rnf dailyAutomaticBackupStartTime+ `Prelude.seq` Prelude.rnf deploymentType+ `Prelude.seq` Prelude.rnf diskIopsConfiguration+ `Prelude.seq` Prelude.rnf endpointIpAddressRange+ `Prelude.seq` Prelude.rnf endpoints+ `Prelude.seq` Prelude.rnf preferredSubnetId+ `Prelude.seq` Prelude.rnf routeTableIds+ `Prelude.seq` Prelude.rnf throughputCapacity+ `Prelude.seq` Prelude.rnf weeklyMaintenanceStartTime
+ gen/Amazonka/FSx/Types/OntapVolumeConfiguration.hs view
@@ -0,0 +1,389 @@+{-# 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.FSx.Types.OntapVolumeConfiguration+-- 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.FSx.Types.OntapVolumeConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types.FlexCacheEndpointType+import Amazonka.FSx.Types.OntapVolumeType+import Amazonka.FSx.Types.SecurityStyle+import Amazonka.FSx.Types.TieringPolicy+import qualified Amazonka.Prelude as Prelude++-- | The configuration of an Amazon FSx for NetApp ONTAP volume.+--+-- /See:/ 'newOntapVolumeConfiguration' smart constructor.+data OntapVolumeConfiguration = OntapVolumeConfiguration'+ { -- | A boolean flag indicating whether tags for the volume should be copied+ -- to backups. This value defaults to false. If it\'s set to true, all tags+ -- for the volume are copied to all automatic and user-initiated backups+ -- where the user doesn\'t specify tags. If this value is true, and you+ -- specify one or more tags, only the specified tags are copied to backups.+ -- If you specify one or more tags when creating a user-initiated backup,+ -- no tags are copied from the volume, regardless of this value.+ copyTagsToBackups :: Prelude.Maybe Prelude.Bool,+ -- | Specifies the FlexCache endpoint type of the volume. Valid values are+ -- the following:+ --+ -- - @NONE@ specifies that the volume doesn\'t have a FlexCache+ -- configuration. @NONE@ is the default.+ --+ -- - @ORIGIN@ specifies that the volume is the origin volume for a+ -- FlexCache volume.+ --+ -- - @CACHE@ specifies that the volume is a FlexCache volume.+ flexCacheEndpointType :: Prelude.Maybe FlexCacheEndpointType,+ -- | Specifies the directory that network-attached storage (NAS) clients use+ -- to mount the volume, along with the storage virtual machine (SVM) Domain+ -- Name System (DNS) name or IP address. You can create a @JunctionPath@+ -- directly below a parent volume junction or on a directory within a+ -- volume. A @JunctionPath@ for a volume named @vol3@ might be+ -- @\/vol1\/vol2\/vol3@, or @\/vol1\/dir2\/vol3@, or even+ -- @\/dir1\/dir2\/vol3@.+ junctionPath :: Prelude.Maybe Prelude.Text,+ -- | Specifies the type of volume. Valid values are the following:+ --+ -- - @RW@ specifies a read\/write volume. @RW@ is the default.+ --+ -- - @DP@ specifies a data-protection volume. You can protect data by+ -- replicating it to data-protection mirror copies. If a disaster+ -- occurs, you can use these data-protection mirror copies to recover+ -- data.+ --+ -- - @LS@ specifies a load-sharing mirror volume. A load-sharing mirror+ -- reduces the network traffic to a FlexVol volume by providing+ -- additional read-only access to clients.+ ontapVolumeType :: Prelude.Maybe OntapVolumeType,+ -- | The security style for the volume, which can be @UNIX@, @NTFS@, or+ -- @MIXED@.+ securityStyle :: Prelude.Maybe SecurityStyle,+ -- | The configured size of the volume, in megabytes (MBs).+ sizeInMegabytes :: Prelude.Maybe Prelude.Natural,+ -- | Specifies the snapshot policy for the volume. There are three built-in+ -- snapshot policies:+ --+ -- - @default@: This is the default policy. A maximum of six hourly+ -- snapshots taken five minutes past the hour. A maximum of two daily+ -- snapshots taken Monday through Saturday at 10 minutes after+ -- midnight. A maximum of two weekly snapshots taken every Sunday at 15+ -- minutes after midnight.+ --+ -- - @default-1weekly@: This policy is the same as the @default@ policy+ -- except that it only retains one snapshot from the weekly schedule.+ --+ -- - @none@: This policy does not take any snapshots. This policy can be+ -- assigned to volumes to prevent automatic snapshots from being taken.+ --+ -- You can also provide the name of a custom policy that you created with+ -- the ONTAP CLI or REST API.+ --+ -- For more information, see+ -- <https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/snapshots-ontap.html#snapshot-policies Snapshot policies>+ -- in the /Amazon FSx for NetApp ONTAP User Guide/.+ snapshotPolicy :: Prelude.Maybe Prelude.Text,+ -- | The volume\'s storage efficiency setting.+ storageEfficiencyEnabled :: Prelude.Maybe Prelude.Bool,+ -- | The ID of the volume\'s storage virtual machine.+ storageVirtualMachineId :: Prelude.Maybe Prelude.Text,+ -- | A Boolean flag indicating whether this volume is the root volume for its+ -- storage virtual machine (SVM). Only one volume on an SVM can be the root+ -- volume. This value defaults to @false@. If this value is @true@, then+ -- this is the SVM root volume.+ --+ -- This flag is useful when you\'re deleting an SVM, because you must first+ -- delete all non-root volumes. This flag, when set to @false@, helps you+ -- identify which volumes to delete before you can delete the SVM.+ storageVirtualMachineRoot :: Prelude.Maybe Prelude.Bool,+ -- | The volume\'s @TieringPolicy@ setting.+ tieringPolicy :: Prelude.Maybe TieringPolicy,+ -- | The volume\'s universally unique identifier (UUID).+ uuid :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'OntapVolumeConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'copyTagsToBackups', 'ontapVolumeConfiguration_copyTagsToBackups' - A boolean flag indicating whether tags for the volume should be copied+-- to backups. This value defaults to false. If it\'s set to true, all tags+-- for the volume are copied to all automatic and user-initiated backups+-- where the user doesn\'t specify tags. If this value is true, and you+-- specify one or more tags, only the specified tags are copied to backups.+-- If you specify one or more tags when creating a user-initiated backup,+-- no tags are copied from the volume, regardless of this value.+--+-- 'flexCacheEndpointType', 'ontapVolumeConfiguration_flexCacheEndpointType' - Specifies the FlexCache endpoint type of the volume. Valid values are+-- the following:+--+-- - @NONE@ specifies that the volume doesn\'t have a FlexCache+-- configuration. @NONE@ is the default.+--+-- - @ORIGIN@ specifies that the volume is the origin volume for a+-- FlexCache volume.+--+-- - @CACHE@ specifies that the volume is a FlexCache volume.+--+-- 'junctionPath', 'ontapVolumeConfiguration_junctionPath' - Specifies the directory that network-attached storage (NAS) clients use+-- to mount the volume, along with the storage virtual machine (SVM) Domain+-- Name System (DNS) name or IP address. You can create a @JunctionPath@+-- directly below a parent volume junction or on a directory within a+-- volume. A @JunctionPath@ for a volume named @vol3@ might be+-- @\/vol1\/vol2\/vol3@, or @\/vol1\/dir2\/vol3@, or even+-- @\/dir1\/dir2\/vol3@.+--+-- 'ontapVolumeType', 'ontapVolumeConfiguration_ontapVolumeType' - Specifies the type of volume. Valid values are the following:+--+-- - @RW@ specifies a read\/write volume. @RW@ is the default.+--+-- - @DP@ specifies a data-protection volume. You can protect data by+-- replicating it to data-protection mirror copies. If a disaster+-- occurs, you can use these data-protection mirror copies to recover+-- data.+--+-- - @LS@ specifies a load-sharing mirror volume. A load-sharing mirror+-- reduces the network traffic to a FlexVol volume by providing+-- additional read-only access to clients.+--+-- 'securityStyle', 'ontapVolumeConfiguration_securityStyle' - The security style for the volume, which can be @UNIX@, @NTFS@, or+-- @MIXED@.+--+-- 'sizeInMegabytes', 'ontapVolumeConfiguration_sizeInMegabytes' - The configured size of the volume, in megabytes (MBs).+--+-- 'snapshotPolicy', 'ontapVolumeConfiguration_snapshotPolicy' - Specifies the snapshot policy for the volume. There are three built-in+-- snapshot policies:+--+-- - @default@: This is the default policy. A maximum of six hourly+-- snapshots taken five minutes past the hour. A maximum of two daily+-- snapshots taken Monday through Saturday at 10 minutes after+-- midnight. A maximum of two weekly snapshots taken every Sunday at 15+-- minutes after midnight.+--+-- - @default-1weekly@: This policy is the same as the @default@ policy+-- except that it only retains one snapshot from the weekly schedule.+--+-- - @none@: This policy does not take any snapshots. This policy can be+-- assigned to volumes to prevent automatic snapshots from being taken.+--+-- You can also provide the name of a custom policy that you created with+-- the ONTAP CLI or REST API.+--+-- For more information, see+-- <https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/snapshots-ontap.html#snapshot-policies Snapshot policies>+-- in the /Amazon FSx for NetApp ONTAP User Guide/.+--+-- 'storageEfficiencyEnabled', 'ontapVolumeConfiguration_storageEfficiencyEnabled' - The volume\'s storage efficiency setting.+--+-- 'storageVirtualMachineId', 'ontapVolumeConfiguration_storageVirtualMachineId' - The ID of the volume\'s storage virtual machine.+--+-- 'storageVirtualMachineRoot', 'ontapVolumeConfiguration_storageVirtualMachineRoot' - A Boolean flag indicating whether this volume is the root volume for its+-- storage virtual machine (SVM). Only one volume on an SVM can be the root+-- volume. This value defaults to @false@. If this value is @true@, then+-- this is the SVM root volume.+--+-- This flag is useful when you\'re deleting an SVM, because you must first+-- delete all non-root volumes. This flag, when set to @false@, helps you+-- identify which volumes to delete before you can delete the SVM.+--+-- 'tieringPolicy', 'ontapVolumeConfiguration_tieringPolicy' - The volume\'s @TieringPolicy@ setting.+--+-- 'uuid', 'ontapVolumeConfiguration_uuid' - The volume\'s universally unique identifier (UUID).+newOntapVolumeConfiguration ::+ OntapVolumeConfiguration+newOntapVolumeConfiguration =+ OntapVolumeConfiguration'+ { copyTagsToBackups =+ Prelude.Nothing,+ flexCacheEndpointType = Prelude.Nothing,+ junctionPath = Prelude.Nothing,+ ontapVolumeType = Prelude.Nothing,+ securityStyle = Prelude.Nothing,+ sizeInMegabytes = Prelude.Nothing,+ snapshotPolicy = Prelude.Nothing,+ storageEfficiencyEnabled = Prelude.Nothing,+ storageVirtualMachineId = Prelude.Nothing,+ storageVirtualMachineRoot = Prelude.Nothing,+ tieringPolicy = Prelude.Nothing,+ uuid = Prelude.Nothing+ }++-- | A boolean flag indicating whether tags for the volume should be copied+-- to backups. This value defaults to false. If it\'s set to true, all tags+-- for the volume are copied to all automatic and user-initiated backups+-- where the user doesn\'t specify tags. If this value is true, and you+-- specify one or more tags, only the specified tags are copied to backups.+-- If you specify one or more tags when creating a user-initiated backup,+-- no tags are copied from the volume, regardless of this value.+ontapVolumeConfiguration_copyTagsToBackups :: Lens.Lens' OntapVolumeConfiguration (Prelude.Maybe Prelude.Bool)+ontapVolumeConfiguration_copyTagsToBackups = Lens.lens (\OntapVolumeConfiguration' {copyTagsToBackups} -> copyTagsToBackups) (\s@OntapVolumeConfiguration' {} a -> s {copyTagsToBackups = a} :: OntapVolumeConfiguration)++-- | Specifies the FlexCache endpoint type of the volume. Valid values are+-- the following:+--+-- - @NONE@ specifies that the volume doesn\'t have a FlexCache+-- configuration. @NONE@ is the default.+--+-- - @ORIGIN@ specifies that the volume is the origin volume for a+-- FlexCache volume.+--+-- - @CACHE@ specifies that the volume is a FlexCache volume.+ontapVolumeConfiguration_flexCacheEndpointType :: Lens.Lens' OntapVolumeConfiguration (Prelude.Maybe FlexCacheEndpointType)+ontapVolumeConfiguration_flexCacheEndpointType = Lens.lens (\OntapVolumeConfiguration' {flexCacheEndpointType} -> flexCacheEndpointType) (\s@OntapVolumeConfiguration' {} a -> s {flexCacheEndpointType = a} :: OntapVolumeConfiguration)++-- | Specifies the directory that network-attached storage (NAS) clients use+-- to mount the volume, along with the storage virtual machine (SVM) Domain+-- Name System (DNS) name or IP address. You can create a @JunctionPath@+-- directly below a parent volume junction or on a directory within a+-- volume. A @JunctionPath@ for a volume named @vol3@ might be+-- @\/vol1\/vol2\/vol3@, or @\/vol1\/dir2\/vol3@, or even+-- @\/dir1\/dir2\/vol3@.+ontapVolumeConfiguration_junctionPath :: Lens.Lens' OntapVolumeConfiguration (Prelude.Maybe Prelude.Text)+ontapVolumeConfiguration_junctionPath = Lens.lens (\OntapVolumeConfiguration' {junctionPath} -> junctionPath) (\s@OntapVolumeConfiguration' {} a -> s {junctionPath = a} :: OntapVolumeConfiguration)++-- | Specifies the type of volume. Valid values are the following:+--+-- - @RW@ specifies a read\/write volume. @RW@ is the default.+--+-- - @DP@ specifies a data-protection volume. You can protect data by+-- replicating it to data-protection mirror copies. If a disaster+-- occurs, you can use these data-protection mirror copies to recover+-- data.+--+-- - @LS@ specifies a load-sharing mirror volume. A load-sharing mirror+-- reduces the network traffic to a FlexVol volume by providing+-- additional read-only access to clients.+ontapVolumeConfiguration_ontapVolumeType :: Lens.Lens' OntapVolumeConfiguration (Prelude.Maybe OntapVolumeType)+ontapVolumeConfiguration_ontapVolumeType = Lens.lens (\OntapVolumeConfiguration' {ontapVolumeType} -> ontapVolumeType) (\s@OntapVolumeConfiguration' {} a -> s {ontapVolumeType = a} :: OntapVolumeConfiguration)++-- | The security style for the volume, which can be @UNIX@, @NTFS@, or+-- @MIXED@.+ontapVolumeConfiguration_securityStyle :: Lens.Lens' OntapVolumeConfiguration (Prelude.Maybe SecurityStyle)+ontapVolumeConfiguration_securityStyle = Lens.lens (\OntapVolumeConfiguration' {securityStyle} -> securityStyle) (\s@OntapVolumeConfiguration' {} a -> s {securityStyle = a} :: OntapVolumeConfiguration)++-- | The configured size of the volume, in megabytes (MBs).+ontapVolumeConfiguration_sizeInMegabytes :: Lens.Lens' OntapVolumeConfiguration (Prelude.Maybe Prelude.Natural)+ontapVolumeConfiguration_sizeInMegabytes = Lens.lens (\OntapVolumeConfiguration' {sizeInMegabytes} -> sizeInMegabytes) (\s@OntapVolumeConfiguration' {} a -> s {sizeInMegabytes = a} :: OntapVolumeConfiguration)++-- | Specifies the snapshot policy for the volume. There are three built-in+-- snapshot policies:+--+-- - @default@: This is the default policy. A maximum of six hourly+-- snapshots taken five minutes past the hour. A maximum of two daily+-- snapshots taken Monday through Saturday at 10 minutes after+-- midnight. A maximum of two weekly snapshots taken every Sunday at 15+-- minutes after midnight.+--+-- - @default-1weekly@: This policy is the same as the @default@ policy+-- except that it only retains one snapshot from the weekly schedule.+--+-- - @none@: This policy does not take any snapshots. This policy can be+-- assigned to volumes to prevent automatic snapshots from being taken.+--+-- You can also provide the name of a custom policy that you created with+-- the ONTAP CLI or REST API.+--+-- For more information, see+-- <https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/snapshots-ontap.html#snapshot-policies Snapshot policies>+-- in the /Amazon FSx for NetApp ONTAP User Guide/.+ontapVolumeConfiguration_snapshotPolicy :: Lens.Lens' OntapVolumeConfiguration (Prelude.Maybe Prelude.Text)+ontapVolumeConfiguration_snapshotPolicy = Lens.lens (\OntapVolumeConfiguration' {snapshotPolicy} -> snapshotPolicy) (\s@OntapVolumeConfiguration' {} a -> s {snapshotPolicy = a} :: OntapVolumeConfiguration)++-- | The volume\'s storage efficiency setting.+ontapVolumeConfiguration_storageEfficiencyEnabled :: Lens.Lens' OntapVolumeConfiguration (Prelude.Maybe Prelude.Bool)+ontapVolumeConfiguration_storageEfficiencyEnabled = Lens.lens (\OntapVolumeConfiguration' {storageEfficiencyEnabled} -> storageEfficiencyEnabled) (\s@OntapVolumeConfiguration' {} a -> s {storageEfficiencyEnabled = a} :: OntapVolumeConfiguration)++-- | The ID of the volume\'s storage virtual machine.+ontapVolumeConfiguration_storageVirtualMachineId :: Lens.Lens' OntapVolumeConfiguration (Prelude.Maybe Prelude.Text)+ontapVolumeConfiguration_storageVirtualMachineId = Lens.lens (\OntapVolumeConfiguration' {storageVirtualMachineId} -> storageVirtualMachineId) (\s@OntapVolumeConfiguration' {} a -> s {storageVirtualMachineId = a} :: OntapVolumeConfiguration)++-- | A Boolean flag indicating whether this volume is the root volume for its+-- storage virtual machine (SVM). Only one volume on an SVM can be the root+-- volume. This value defaults to @false@. If this value is @true@, then+-- this is the SVM root volume.+--+-- This flag is useful when you\'re deleting an SVM, because you must first+-- delete all non-root volumes. This flag, when set to @false@, helps you+-- identify which volumes to delete before you can delete the SVM.+ontapVolumeConfiguration_storageVirtualMachineRoot :: Lens.Lens' OntapVolumeConfiguration (Prelude.Maybe Prelude.Bool)+ontapVolumeConfiguration_storageVirtualMachineRoot = Lens.lens (\OntapVolumeConfiguration' {storageVirtualMachineRoot} -> storageVirtualMachineRoot) (\s@OntapVolumeConfiguration' {} a -> s {storageVirtualMachineRoot = a} :: OntapVolumeConfiguration)++-- | The volume\'s @TieringPolicy@ setting.+ontapVolumeConfiguration_tieringPolicy :: Lens.Lens' OntapVolumeConfiguration (Prelude.Maybe TieringPolicy)+ontapVolumeConfiguration_tieringPolicy = Lens.lens (\OntapVolumeConfiguration' {tieringPolicy} -> tieringPolicy) (\s@OntapVolumeConfiguration' {} a -> s {tieringPolicy = a} :: OntapVolumeConfiguration)++-- | The volume\'s universally unique identifier (UUID).+ontapVolumeConfiguration_uuid :: Lens.Lens' OntapVolumeConfiguration (Prelude.Maybe Prelude.Text)+ontapVolumeConfiguration_uuid = Lens.lens (\OntapVolumeConfiguration' {uuid} -> uuid) (\s@OntapVolumeConfiguration' {} a -> s {uuid = a} :: OntapVolumeConfiguration)++instance Data.FromJSON OntapVolumeConfiguration where+ parseJSON =+ Data.withObject+ "OntapVolumeConfiguration"+ ( \x ->+ OntapVolumeConfiguration'+ Prelude.<$> (x Data..:? "CopyTagsToBackups")+ Prelude.<*> (x Data..:? "FlexCacheEndpointType")+ Prelude.<*> (x Data..:? "JunctionPath")+ Prelude.<*> (x Data..:? "OntapVolumeType")+ Prelude.<*> (x Data..:? "SecurityStyle")+ Prelude.<*> (x Data..:? "SizeInMegabytes")+ Prelude.<*> (x Data..:? "SnapshotPolicy")+ Prelude.<*> (x Data..:? "StorageEfficiencyEnabled")+ Prelude.<*> (x Data..:? "StorageVirtualMachineId")+ Prelude.<*> (x Data..:? "StorageVirtualMachineRoot")+ Prelude.<*> (x Data..:? "TieringPolicy")+ Prelude.<*> (x Data..:? "UUID")+ )++instance Prelude.Hashable OntapVolumeConfiguration where+ hashWithSalt _salt OntapVolumeConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` copyTagsToBackups+ `Prelude.hashWithSalt` flexCacheEndpointType+ `Prelude.hashWithSalt` junctionPath+ `Prelude.hashWithSalt` ontapVolumeType+ `Prelude.hashWithSalt` securityStyle+ `Prelude.hashWithSalt` sizeInMegabytes+ `Prelude.hashWithSalt` snapshotPolicy+ `Prelude.hashWithSalt` storageEfficiencyEnabled+ `Prelude.hashWithSalt` storageVirtualMachineId+ `Prelude.hashWithSalt` storageVirtualMachineRoot+ `Prelude.hashWithSalt` tieringPolicy+ `Prelude.hashWithSalt` uuid++instance Prelude.NFData OntapVolumeConfiguration where+ rnf OntapVolumeConfiguration' {..} =+ Prelude.rnf copyTagsToBackups+ `Prelude.seq` Prelude.rnf flexCacheEndpointType+ `Prelude.seq` Prelude.rnf junctionPath+ `Prelude.seq` Prelude.rnf ontapVolumeType+ `Prelude.seq` Prelude.rnf securityStyle+ `Prelude.seq` Prelude.rnf sizeInMegabytes+ `Prelude.seq` Prelude.rnf snapshotPolicy+ `Prelude.seq` Prelude.rnf storageEfficiencyEnabled+ `Prelude.seq` Prelude.rnf storageVirtualMachineId+ `Prelude.seq` Prelude.rnf storageVirtualMachineRoot+ `Prelude.seq` Prelude.rnf tieringPolicy+ `Prelude.seq` Prelude.rnf uuid
+ gen/Amazonka/FSx/Types/OntapVolumeType.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.FSx.Types.OntapVolumeType+-- 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.FSx.Types.OntapVolumeType+ ( OntapVolumeType+ ( ..,+ OntapVolumeType_DP,+ OntapVolumeType_LS,+ OntapVolumeType_RW+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype OntapVolumeType = OntapVolumeType'+ { fromOntapVolumeType ::+ 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 OntapVolumeType_DP :: OntapVolumeType+pattern OntapVolumeType_DP = OntapVolumeType' "DP"++pattern OntapVolumeType_LS :: OntapVolumeType+pattern OntapVolumeType_LS = OntapVolumeType' "LS"++pattern OntapVolumeType_RW :: OntapVolumeType+pattern OntapVolumeType_RW = OntapVolumeType' "RW"++{-# COMPLETE+ OntapVolumeType_DP,+ OntapVolumeType_LS,+ OntapVolumeType_RW,+ OntapVolumeType'+ #-}
+ gen/Amazonka/FSx/Types/OpenZFSClientConfiguration.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.FSx.Types.OpenZFSClientConfiguration+-- 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.FSx.Types.OpenZFSClientConfiguration 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 who can mount an OpenZFS file system and the options available+-- while mounting the file system.+--+-- /See:/ 'newOpenZFSClientConfiguration' smart constructor.+data OpenZFSClientConfiguration = OpenZFSClientConfiguration'+ { -- | A value that specifies who can mount the file system. You can provide a+ -- wildcard character (@*@), an IP address (@0.0.0.0@), or a CIDR address+ -- (@192.0.2.0\/24@). By default, Amazon FSx uses the wildcard character+ -- when specifying the client.+ clients :: Prelude.Text,+ -- | The options to use when mounting the file system. For a list of options+ -- that you can use with Network File System (NFS), see the+ -- <https://linux.die.net/man/5/exports exports(5) - Linux man page>. When+ -- choosing your options, consider the following:+ --+ -- - @crossmnt@ is used by default. If you don\'t specify @crossmnt@ when+ -- changing the client configuration, you won\'t be able to see or+ -- access snapshots in your file system\'s snapshot directory.+ --+ -- - @sync@ is used by default. If you instead specify @async@, the+ -- system acknowledges writes before writing to disk. If the system+ -- crashes before the writes are finished, you lose the unwritten data.+ options :: Prelude.NonEmpty Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'OpenZFSClientConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clients', 'openZFSClientConfiguration_clients' - A value that specifies who can mount the file system. You can provide a+-- wildcard character (@*@), an IP address (@0.0.0.0@), or a CIDR address+-- (@192.0.2.0\/24@). By default, Amazon FSx uses the wildcard character+-- when specifying the client.+--+-- 'options', 'openZFSClientConfiguration_options' - The options to use when mounting the file system. For a list of options+-- that you can use with Network File System (NFS), see the+-- <https://linux.die.net/man/5/exports exports(5) - Linux man page>. When+-- choosing your options, consider the following:+--+-- - @crossmnt@ is used by default. If you don\'t specify @crossmnt@ when+-- changing the client configuration, you won\'t be able to see or+-- access snapshots in your file system\'s snapshot directory.+--+-- - @sync@ is used by default. If you instead specify @async@, the+-- system acknowledges writes before writing to disk. If the system+-- crashes before the writes are finished, you lose the unwritten data.+newOpenZFSClientConfiguration ::+ -- | 'clients'+ Prelude.Text ->+ -- | 'options'+ Prelude.NonEmpty Prelude.Text ->+ OpenZFSClientConfiguration+newOpenZFSClientConfiguration pClients_ pOptions_ =+ OpenZFSClientConfiguration'+ { clients = pClients_,+ options = Lens.coerced Lens.# pOptions_+ }++-- | A value that specifies who can mount the file system. You can provide a+-- wildcard character (@*@), an IP address (@0.0.0.0@), or a CIDR address+-- (@192.0.2.0\/24@). By default, Amazon FSx uses the wildcard character+-- when specifying the client.+openZFSClientConfiguration_clients :: Lens.Lens' OpenZFSClientConfiguration Prelude.Text+openZFSClientConfiguration_clients = Lens.lens (\OpenZFSClientConfiguration' {clients} -> clients) (\s@OpenZFSClientConfiguration' {} a -> s {clients = a} :: OpenZFSClientConfiguration)++-- | The options to use when mounting the file system. For a list of options+-- that you can use with Network File System (NFS), see the+-- <https://linux.die.net/man/5/exports exports(5) - Linux man page>. When+-- choosing your options, consider the following:+--+-- - @crossmnt@ is used by default. If you don\'t specify @crossmnt@ when+-- changing the client configuration, you won\'t be able to see or+-- access snapshots in your file system\'s snapshot directory.+--+-- - @sync@ is used by default. If you instead specify @async@, the+-- system acknowledges writes before writing to disk. If the system+-- crashes before the writes are finished, you lose the unwritten data.+openZFSClientConfiguration_options :: Lens.Lens' OpenZFSClientConfiguration (Prelude.NonEmpty Prelude.Text)+openZFSClientConfiguration_options = Lens.lens (\OpenZFSClientConfiguration' {options} -> options) (\s@OpenZFSClientConfiguration' {} a -> s {options = a} :: OpenZFSClientConfiguration) Prelude.. Lens.coerced++instance Data.FromJSON OpenZFSClientConfiguration where+ parseJSON =+ Data.withObject+ "OpenZFSClientConfiguration"+ ( \x ->+ OpenZFSClientConfiguration'+ Prelude.<$> (x Data..: "Clients")+ Prelude.<*> (x Data..: "Options")+ )++instance Prelude.Hashable OpenZFSClientConfiguration where+ hashWithSalt _salt OpenZFSClientConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` clients+ `Prelude.hashWithSalt` options++instance Prelude.NFData OpenZFSClientConfiguration where+ rnf OpenZFSClientConfiguration' {..} =+ Prelude.rnf clients+ `Prelude.seq` Prelude.rnf options++instance Data.ToJSON OpenZFSClientConfiguration where+ toJSON OpenZFSClientConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("Clients" Data..= clients),+ Prelude.Just ("Options" Data..= options)+ ]+ )
+ gen/Amazonka/FSx/Types/OpenZFSCopyStrategy.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.FSx.Types.OpenZFSCopyStrategy+-- 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.FSx.Types.OpenZFSCopyStrategy+ ( OpenZFSCopyStrategy+ ( ..,+ OpenZFSCopyStrategy_CLONE,+ OpenZFSCopyStrategy_FULL_COPY+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype OpenZFSCopyStrategy = OpenZFSCopyStrategy'+ { fromOpenZFSCopyStrategy ::+ 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 OpenZFSCopyStrategy_CLONE :: OpenZFSCopyStrategy+pattern OpenZFSCopyStrategy_CLONE = OpenZFSCopyStrategy' "CLONE"++pattern OpenZFSCopyStrategy_FULL_COPY :: OpenZFSCopyStrategy+pattern OpenZFSCopyStrategy_FULL_COPY = OpenZFSCopyStrategy' "FULL_COPY"++{-# COMPLETE+ OpenZFSCopyStrategy_CLONE,+ OpenZFSCopyStrategy_FULL_COPY,+ OpenZFSCopyStrategy'+ #-}
+ gen/Amazonka/FSx/Types/OpenZFSCreateRootVolumeConfiguration.hs view
@@ -0,0 +1,233 @@+{-# 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.FSx.Types.OpenZFSCreateRootVolumeConfiguration+-- 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.FSx.Types.OpenZFSCreateRootVolumeConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types.OpenZFSDataCompressionType+import Amazonka.FSx.Types.OpenZFSNfsExport+import Amazonka.FSx.Types.OpenZFSUserOrGroupQuota+import qualified Amazonka.Prelude as Prelude++-- | The configuration of an Amazon FSx for OpenZFS root volume.+--+-- /See:/ 'newOpenZFSCreateRootVolumeConfiguration' smart constructor.+data OpenZFSCreateRootVolumeConfiguration = OpenZFSCreateRootVolumeConfiguration'+ { -- | A Boolean value indicating whether tags for the volume should be copied+ -- to snapshots of the volume. This value defaults to @false@. If it\'s set+ -- to @true@, all tags for the volume are copied to snapshots where the+ -- user doesn\'t specify tags. If this value is @true@ and you specify one+ -- or more tags, only the specified tags are copied to snapshots. If you+ -- specify one or more tags when creating the snapshot, no tags are copied+ -- from the volume, regardless of this value.+ copyTagsToSnapshots :: Prelude.Maybe Prelude.Bool,+ -- | Specifies the method used to compress the data on the volume. The+ -- compression type is @NONE@ by default.+ --+ -- - @NONE@ - Doesn\'t compress the data on the volume. @NONE@ is the+ -- default.+ --+ -- - @ZSTD@ - Compresses the data in the volume using the Zstandard+ -- (ZSTD) compression algorithm. Compared to LZ4, Z-Standard provides a+ -- better compression ratio to minimize on-disk storage utilization.+ --+ -- - @LZ4@ - Compresses the data in the volume using the LZ4 compression+ -- algorithm. Compared to Z-Standard, LZ4 is less compute-intensive and+ -- delivers higher write throughput speeds.+ dataCompressionType :: Prelude.Maybe OpenZFSDataCompressionType,+ -- | The configuration object for mounting a file system.+ nfsExports :: Prelude.Maybe [OpenZFSNfsExport],+ -- | A Boolean value indicating whether the volume is read-only. Setting this+ -- value to @true@ can be useful after you have completed changes to a+ -- volume and no longer want changes to occur.+ readOnly :: Prelude.Maybe Prelude.Bool,+ -- | Specifies the record size of an OpenZFS root volume, in kibibytes (KiB).+ -- Valid values are 4, 8, 16, 32, 64, 128, 256, 512, or 1024 KiB. The+ -- default is 128 KiB. Most workloads should use the default record size.+ -- Database workflows can benefit from a smaller record size, while+ -- streaming workflows can benefit from a larger record size. For+ -- additional guidance on setting a custom record size, see+ -- <https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/performance.html#performance-tips-zfs Tips for maximizing performance>+ -- in the /Amazon FSx for OpenZFS User Guide/.+ recordSizeKiB :: Prelude.Maybe Prelude.Natural,+ -- | An object specifying how much storage users or groups can use on the+ -- volume.+ userAndGroupQuotas :: Prelude.Maybe [OpenZFSUserOrGroupQuota]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'OpenZFSCreateRootVolumeConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'copyTagsToSnapshots', 'openZFSCreateRootVolumeConfiguration_copyTagsToSnapshots' - A Boolean value indicating whether tags for the volume should be copied+-- to snapshots of the volume. This value defaults to @false@. If it\'s set+-- to @true@, all tags for the volume are copied to snapshots where the+-- user doesn\'t specify tags. If this value is @true@ and you specify one+-- or more tags, only the specified tags are copied to snapshots. If you+-- specify one or more tags when creating the snapshot, no tags are copied+-- from the volume, regardless of this value.+--+-- 'dataCompressionType', 'openZFSCreateRootVolumeConfiguration_dataCompressionType' - Specifies the method used to compress the data on the volume. The+-- compression type is @NONE@ by default.+--+-- - @NONE@ - Doesn\'t compress the data on the volume. @NONE@ is the+-- default.+--+-- - @ZSTD@ - Compresses the data in the volume using the Zstandard+-- (ZSTD) compression algorithm. Compared to LZ4, Z-Standard provides a+-- better compression ratio to minimize on-disk storage utilization.+--+-- - @LZ4@ - Compresses the data in the volume using the LZ4 compression+-- algorithm. Compared to Z-Standard, LZ4 is less compute-intensive and+-- delivers higher write throughput speeds.+--+-- 'nfsExports', 'openZFSCreateRootVolumeConfiguration_nfsExports' - The configuration object for mounting a file system.+--+-- 'readOnly', 'openZFSCreateRootVolumeConfiguration_readOnly' - A Boolean value indicating whether the volume is read-only. Setting this+-- value to @true@ can be useful after you have completed changes to a+-- volume and no longer want changes to occur.+--+-- 'recordSizeKiB', 'openZFSCreateRootVolumeConfiguration_recordSizeKiB' - Specifies the record size of an OpenZFS root volume, in kibibytes (KiB).+-- Valid values are 4, 8, 16, 32, 64, 128, 256, 512, or 1024 KiB. The+-- default is 128 KiB. Most workloads should use the default record size.+-- Database workflows can benefit from a smaller record size, while+-- streaming workflows can benefit from a larger record size. For+-- additional guidance on setting a custom record size, see+-- <https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/performance.html#performance-tips-zfs Tips for maximizing performance>+-- in the /Amazon FSx for OpenZFS User Guide/.+--+-- 'userAndGroupQuotas', 'openZFSCreateRootVolumeConfiguration_userAndGroupQuotas' - An object specifying how much storage users or groups can use on the+-- volume.+newOpenZFSCreateRootVolumeConfiguration ::+ OpenZFSCreateRootVolumeConfiguration+newOpenZFSCreateRootVolumeConfiguration =+ OpenZFSCreateRootVolumeConfiguration'+ { copyTagsToSnapshots =+ Prelude.Nothing,+ dataCompressionType = Prelude.Nothing,+ nfsExports = Prelude.Nothing,+ readOnly = Prelude.Nothing,+ recordSizeKiB = Prelude.Nothing,+ userAndGroupQuotas = Prelude.Nothing+ }++-- | A Boolean value indicating whether tags for the volume should be copied+-- to snapshots of the volume. This value defaults to @false@. If it\'s set+-- to @true@, all tags for the volume are copied to snapshots where the+-- user doesn\'t specify tags. If this value is @true@ and you specify one+-- or more tags, only the specified tags are copied to snapshots. If you+-- specify one or more tags when creating the snapshot, no tags are copied+-- from the volume, regardless of this value.+openZFSCreateRootVolumeConfiguration_copyTagsToSnapshots :: Lens.Lens' OpenZFSCreateRootVolumeConfiguration (Prelude.Maybe Prelude.Bool)+openZFSCreateRootVolumeConfiguration_copyTagsToSnapshots = Lens.lens (\OpenZFSCreateRootVolumeConfiguration' {copyTagsToSnapshots} -> copyTagsToSnapshots) (\s@OpenZFSCreateRootVolumeConfiguration' {} a -> s {copyTagsToSnapshots = a} :: OpenZFSCreateRootVolumeConfiguration)++-- | Specifies the method used to compress the data on the volume. The+-- compression type is @NONE@ by default.+--+-- - @NONE@ - Doesn\'t compress the data on the volume. @NONE@ is the+-- default.+--+-- - @ZSTD@ - Compresses the data in the volume using the Zstandard+-- (ZSTD) compression algorithm. Compared to LZ4, Z-Standard provides a+-- better compression ratio to minimize on-disk storage utilization.+--+-- - @LZ4@ - Compresses the data in the volume using the LZ4 compression+-- algorithm. Compared to Z-Standard, LZ4 is less compute-intensive and+-- delivers higher write throughput speeds.+openZFSCreateRootVolumeConfiguration_dataCompressionType :: Lens.Lens' OpenZFSCreateRootVolumeConfiguration (Prelude.Maybe OpenZFSDataCompressionType)+openZFSCreateRootVolumeConfiguration_dataCompressionType = Lens.lens (\OpenZFSCreateRootVolumeConfiguration' {dataCompressionType} -> dataCompressionType) (\s@OpenZFSCreateRootVolumeConfiguration' {} a -> s {dataCompressionType = a} :: OpenZFSCreateRootVolumeConfiguration)++-- | The configuration object for mounting a file system.+openZFSCreateRootVolumeConfiguration_nfsExports :: Lens.Lens' OpenZFSCreateRootVolumeConfiguration (Prelude.Maybe [OpenZFSNfsExport])+openZFSCreateRootVolumeConfiguration_nfsExports = Lens.lens (\OpenZFSCreateRootVolumeConfiguration' {nfsExports} -> nfsExports) (\s@OpenZFSCreateRootVolumeConfiguration' {} a -> s {nfsExports = a} :: OpenZFSCreateRootVolumeConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | A Boolean value indicating whether the volume is read-only. Setting this+-- value to @true@ can be useful after you have completed changes to a+-- volume and no longer want changes to occur.+openZFSCreateRootVolumeConfiguration_readOnly :: Lens.Lens' OpenZFSCreateRootVolumeConfiguration (Prelude.Maybe Prelude.Bool)+openZFSCreateRootVolumeConfiguration_readOnly = Lens.lens (\OpenZFSCreateRootVolumeConfiguration' {readOnly} -> readOnly) (\s@OpenZFSCreateRootVolumeConfiguration' {} a -> s {readOnly = a} :: OpenZFSCreateRootVolumeConfiguration)++-- | Specifies the record size of an OpenZFS root volume, in kibibytes (KiB).+-- Valid values are 4, 8, 16, 32, 64, 128, 256, 512, or 1024 KiB. The+-- default is 128 KiB. Most workloads should use the default record size.+-- Database workflows can benefit from a smaller record size, while+-- streaming workflows can benefit from a larger record size. For+-- additional guidance on setting a custom record size, see+-- <https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/performance.html#performance-tips-zfs Tips for maximizing performance>+-- in the /Amazon FSx for OpenZFS User Guide/.+openZFSCreateRootVolumeConfiguration_recordSizeKiB :: Lens.Lens' OpenZFSCreateRootVolumeConfiguration (Prelude.Maybe Prelude.Natural)+openZFSCreateRootVolumeConfiguration_recordSizeKiB = Lens.lens (\OpenZFSCreateRootVolumeConfiguration' {recordSizeKiB} -> recordSizeKiB) (\s@OpenZFSCreateRootVolumeConfiguration' {} a -> s {recordSizeKiB = a} :: OpenZFSCreateRootVolumeConfiguration)++-- | An object specifying how much storage users or groups can use on the+-- volume.+openZFSCreateRootVolumeConfiguration_userAndGroupQuotas :: Lens.Lens' OpenZFSCreateRootVolumeConfiguration (Prelude.Maybe [OpenZFSUserOrGroupQuota])+openZFSCreateRootVolumeConfiguration_userAndGroupQuotas = Lens.lens (\OpenZFSCreateRootVolumeConfiguration' {userAndGroupQuotas} -> userAndGroupQuotas) (\s@OpenZFSCreateRootVolumeConfiguration' {} a -> s {userAndGroupQuotas = a} :: OpenZFSCreateRootVolumeConfiguration) Prelude.. Lens.mapping Lens.coerced++instance+ Prelude.Hashable+ OpenZFSCreateRootVolumeConfiguration+ where+ hashWithSalt+ _salt+ OpenZFSCreateRootVolumeConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` copyTagsToSnapshots+ `Prelude.hashWithSalt` dataCompressionType+ `Prelude.hashWithSalt` nfsExports+ `Prelude.hashWithSalt` readOnly+ `Prelude.hashWithSalt` recordSizeKiB+ `Prelude.hashWithSalt` userAndGroupQuotas++instance+ Prelude.NFData+ OpenZFSCreateRootVolumeConfiguration+ where+ rnf OpenZFSCreateRootVolumeConfiguration' {..} =+ Prelude.rnf copyTagsToSnapshots+ `Prelude.seq` Prelude.rnf dataCompressionType+ `Prelude.seq` Prelude.rnf nfsExports+ `Prelude.seq` Prelude.rnf readOnly+ `Prelude.seq` Prelude.rnf recordSizeKiB+ `Prelude.seq` Prelude.rnf userAndGroupQuotas++instance+ Data.ToJSON+ OpenZFSCreateRootVolumeConfiguration+ where+ toJSON OpenZFSCreateRootVolumeConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("CopyTagsToSnapshots" Data..=)+ Prelude.<$> copyTagsToSnapshots,+ ("DataCompressionType" Data..=)+ Prelude.<$> dataCompressionType,+ ("NfsExports" Data..=) Prelude.<$> nfsExports,+ ("ReadOnly" Data..=) Prelude.<$> readOnly,+ ("RecordSizeKiB" Data..=) Prelude.<$> recordSizeKiB,+ ("UserAndGroupQuotas" Data..=)+ Prelude.<$> userAndGroupQuotas+ ]+ )
+ gen/Amazonka/FSx/Types/OpenZFSDataCompressionType.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.FSx.Types.OpenZFSDataCompressionType+-- 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.FSx.Types.OpenZFSDataCompressionType+ ( OpenZFSDataCompressionType+ ( ..,+ OpenZFSDataCompressionType_LZ4,+ OpenZFSDataCompressionType_NONE,+ OpenZFSDataCompressionType_ZSTD+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype OpenZFSDataCompressionType = OpenZFSDataCompressionType'+ { fromOpenZFSDataCompressionType ::+ 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 OpenZFSDataCompressionType_LZ4 :: OpenZFSDataCompressionType+pattern OpenZFSDataCompressionType_LZ4 = OpenZFSDataCompressionType' "LZ4"++pattern OpenZFSDataCompressionType_NONE :: OpenZFSDataCompressionType+pattern OpenZFSDataCompressionType_NONE = OpenZFSDataCompressionType' "NONE"++pattern OpenZFSDataCompressionType_ZSTD :: OpenZFSDataCompressionType+pattern OpenZFSDataCompressionType_ZSTD = OpenZFSDataCompressionType' "ZSTD"++{-# COMPLETE+ OpenZFSDataCompressionType_LZ4,+ OpenZFSDataCompressionType_NONE,+ OpenZFSDataCompressionType_ZSTD,+ OpenZFSDataCompressionType'+ #-}
+ gen/Amazonka/FSx/Types/OpenZFSDeploymentType.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.FSx.Types.OpenZFSDeploymentType+-- 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.FSx.Types.OpenZFSDeploymentType+ ( OpenZFSDeploymentType+ ( ..,+ OpenZFSDeploymentType_SINGLE_AZ_1,+ OpenZFSDeploymentType_SINGLE_AZ_2+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype OpenZFSDeploymentType = OpenZFSDeploymentType'+ { fromOpenZFSDeploymentType ::+ 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 OpenZFSDeploymentType_SINGLE_AZ_1 :: OpenZFSDeploymentType+pattern OpenZFSDeploymentType_SINGLE_AZ_1 = OpenZFSDeploymentType' "SINGLE_AZ_1"++pattern OpenZFSDeploymentType_SINGLE_AZ_2 :: OpenZFSDeploymentType+pattern OpenZFSDeploymentType_SINGLE_AZ_2 = OpenZFSDeploymentType' "SINGLE_AZ_2"++{-# COMPLETE+ OpenZFSDeploymentType_SINGLE_AZ_1,+ OpenZFSDeploymentType_SINGLE_AZ_2,+ OpenZFSDeploymentType'+ #-}
+ gen/Amazonka/FSx/Types/OpenZFSFileSystemConfiguration.hs view
@@ -0,0 +1,219 @@+{-# 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.FSx.Types.OpenZFSFileSystemConfiguration+-- 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.FSx.Types.OpenZFSFileSystemConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types.DiskIopsConfiguration+import Amazonka.FSx.Types.OpenZFSDeploymentType+import qualified Amazonka.Prelude as Prelude++-- | The configuration for the Amazon FSx for OpenZFS file system.+--+-- /See:/ 'newOpenZFSFileSystemConfiguration' smart constructor.+data OpenZFSFileSystemConfiguration = OpenZFSFileSystemConfiguration'+ { automaticBackupRetentionDays :: Prelude.Maybe Prelude.Natural,+ -- | A Boolean value indicating whether tags on the file system should be+ -- copied to backups. If it\'s set to @true@, all tags on the file system+ -- are copied to all automatic backups and any user-initiated backups where+ -- the user doesn\'t specify any tags. If this value is @true@ and you+ -- specify one or more tags, only the specified tags are copied to backups.+ -- If you specify one or more tags when creating a user-initiated backup,+ -- no tags are copied from the file system, regardless of this value.+ copyTagsToBackups :: Prelude.Maybe Prelude.Bool,+ -- | A Boolean value indicating whether tags for the volume should be copied+ -- to snapshots. This value defaults to @false@. If it\'s set to @true@,+ -- all tags for the volume are copied to snapshots where the user doesn\'t+ -- specify tags. If this value is @true@ and you specify one or more tags,+ -- only the specified tags are copied to snapshots. If you specify one or+ -- more tags when creating the snapshot, no tags are copied from the+ -- volume, regardless of this value.+ copyTagsToVolumes :: Prelude.Maybe Prelude.Bool,+ dailyAutomaticBackupStartTime :: Prelude.Maybe Prelude.Text,+ -- | Specifies the file-system deployment type. Amazon FSx for OpenZFS+ -- supports @SINGLE_AZ_1@ and @SINGLE_AZ_2@.+ deploymentType :: Prelude.Maybe OpenZFSDeploymentType,+ diskIopsConfiguration :: Prelude.Maybe DiskIopsConfiguration,+ -- | The ID of the root volume of the OpenZFS file system.+ rootVolumeId :: Prelude.Maybe Prelude.Text,+ -- | The throughput of an Amazon FSx file system, measured in megabytes per+ -- second (MBps).+ throughputCapacity :: Prelude.Maybe Prelude.Natural,+ weeklyMaintenanceStartTime :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'OpenZFSFileSystemConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'automaticBackupRetentionDays', 'openZFSFileSystemConfiguration_automaticBackupRetentionDays' - Undocumented member.+--+-- 'copyTagsToBackups', 'openZFSFileSystemConfiguration_copyTagsToBackups' - A Boolean value indicating whether tags on the file system should be+-- copied to backups. If it\'s set to @true@, all tags on the file system+-- are copied to all automatic backups and any user-initiated backups where+-- the user doesn\'t specify any tags. If this value is @true@ and you+-- specify one or more tags, only the specified tags are copied to backups.+-- If you specify one or more tags when creating a user-initiated backup,+-- no tags are copied from the file system, regardless of this value.+--+-- 'copyTagsToVolumes', 'openZFSFileSystemConfiguration_copyTagsToVolumes' - A Boolean value indicating whether tags for the volume should be copied+-- to snapshots. This value defaults to @false@. If it\'s set to @true@,+-- all tags for the volume are copied to snapshots where the user doesn\'t+-- specify tags. If this value is @true@ and you specify one or more tags,+-- only the specified tags are copied to snapshots. If you specify one or+-- more tags when creating the snapshot, no tags are copied from the+-- volume, regardless of this value.+--+-- 'dailyAutomaticBackupStartTime', 'openZFSFileSystemConfiguration_dailyAutomaticBackupStartTime' - Undocumented member.+--+-- 'deploymentType', 'openZFSFileSystemConfiguration_deploymentType' - Specifies the file-system deployment type. Amazon FSx for OpenZFS+-- supports @SINGLE_AZ_1@ and @SINGLE_AZ_2@.+--+-- 'diskIopsConfiguration', 'openZFSFileSystemConfiguration_diskIopsConfiguration' - Undocumented member.+--+-- 'rootVolumeId', 'openZFSFileSystemConfiguration_rootVolumeId' - The ID of the root volume of the OpenZFS file system.+--+-- 'throughputCapacity', 'openZFSFileSystemConfiguration_throughputCapacity' - The throughput of an Amazon FSx file system, measured in megabytes per+-- second (MBps).+--+-- 'weeklyMaintenanceStartTime', 'openZFSFileSystemConfiguration_weeklyMaintenanceStartTime' - Undocumented member.+newOpenZFSFileSystemConfiguration ::+ OpenZFSFileSystemConfiguration+newOpenZFSFileSystemConfiguration =+ OpenZFSFileSystemConfiguration'+ { automaticBackupRetentionDays =+ Prelude.Nothing,+ copyTagsToBackups = Prelude.Nothing,+ copyTagsToVolumes = Prelude.Nothing,+ dailyAutomaticBackupStartTime =+ Prelude.Nothing,+ deploymentType = Prelude.Nothing,+ diskIopsConfiguration = Prelude.Nothing,+ rootVolumeId = Prelude.Nothing,+ throughputCapacity = Prelude.Nothing,+ weeklyMaintenanceStartTime =+ Prelude.Nothing+ }++-- | Undocumented member.+openZFSFileSystemConfiguration_automaticBackupRetentionDays :: Lens.Lens' OpenZFSFileSystemConfiguration (Prelude.Maybe Prelude.Natural)+openZFSFileSystemConfiguration_automaticBackupRetentionDays = Lens.lens (\OpenZFSFileSystemConfiguration' {automaticBackupRetentionDays} -> automaticBackupRetentionDays) (\s@OpenZFSFileSystemConfiguration' {} a -> s {automaticBackupRetentionDays = a} :: OpenZFSFileSystemConfiguration)++-- | A Boolean value indicating whether tags on the file system should be+-- copied to backups. If it\'s set to @true@, all tags on the file system+-- are copied to all automatic backups and any user-initiated backups where+-- the user doesn\'t specify any tags. If this value is @true@ and you+-- specify one or more tags, only the specified tags are copied to backups.+-- If you specify one or more tags when creating a user-initiated backup,+-- no tags are copied from the file system, regardless of this value.+openZFSFileSystemConfiguration_copyTagsToBackups :: Lens.Lens' OpenZFSFileSystemConfiguration (Prelude.Maybe Prelude.Bool)+openZFSFileSystemConfiguration_copyTagsToBackups = Lens.lens (\OpenZFSFileSystemConfiguration' {copyTagsToBackups} -> copyTagsToBackups) (\s@OpenZFSFileSystemConfiguration' {} a -> s {copyTagsToBackups = a} :: OpenZFSFileSystemConfiguration)++-- | A Boolean value indicating whether tags for the volume should be copied+-- to snapshots. This value defaults to @false@. If it\'s set to @true@,+-- all tags for the volume are copied to snapshots where the user doesn\'t+-- specify tags. If this value is @true@ and you specify one or more tags,+-- only the specified tags are copied to snapshots. If you specify one or+-- more tags when creating the snapshot, no tags are copied from the+-- volume, regardless of this value.+openZFSFileSystemConfiguration_copyTagsToVolumes :: Lens.Lens' OpenZFSFileSystemConfiguration (Prelude.Maybe Prelude.Bool)+openZFSFileSystemConfiguration_copyTagsToVolumes = Lens.lens (\OpenZFSFileSystemConfiguration' {copyTagsToVolumes} -> copyTagsToVolumes) (\s@OpenZFSFileSystemConfiguration' {} a -> s {copyTagsToVolumes = a} :: OpenZFSFileSystemConfiguration)++-- | Undocumented member.+openZFSFileSystemConfiguration_dailyAutomaticBackupStartTime :: Lens.Lens' OpenZFSFileSystemConfiguration (Prelude.Maybe Prelude.Text)+openZFSFileSystemConfiguration_dailyAutomaticBackupStartTime = Lens.lens (\OpenZFSFileSystemConfiguration' {dailyAutomaticBackupStartTime} -> dailyAutomaticBackupStartTime) (\s@OpenZFSFileSystemConfiguration' {} a -> s {dailyAutomaticBackupStartTime = a} :: OpenZFSFileSystemConfiguration)++-- | Specifies the file-system deployment type. Amazon FSx for OpenZFS+-- supports @SINGLE_AZ_1@ and @SINGLE_AZ_2@.+openZFSFileSystemConfiguration_deploymentType :: Lens.Lens' OpenZFSFileSystemConfiguration (Prelude.Maybe OpenZFSDeploymentType)+openZFSFileSystemConfiguration_deploymentType = Lens.lens (\OpenZFSFileSystemConfiguration' {deploymentType} -> deploymentType) (\s@OpenZFSFileSystemConfiguration' {} a -> s {deploymentType = a} :: OpenZFSFileSystemConfiguration)++-- | Undocumented member.+openZFSFileSystemConfiguration_diskIopsConfiguration :: Lens.Lens' OpenZFSFileSystemConfiguration (Prelude.Maybe DiskIopsConfiguration)+openZFSFileSystemConfiguration_diskIopsConfiguration = Lens.lens (\OpenZFSFileSystemConfiguration' {diskIopsConfiguration} -> diskIopsConfiguration) (\s@OpenZFSFileSystemConfiguration' {} a -> s {diskIopsConfiguration = a} :: OpenZFSFileSystemConfiguration)++-- | The ID of the root volume of the OpenZFS file system.+openZFSFileSystemConfiguration_rootVolumeId :: Lens.Lens' OpenZFSFileSystemConfiguration (Prelude.Maybe Prelude.Text)+openZFSFileSystemConfiguration_rootVolumeId = Lens.lens (\OpenZFSFileSystemConfiguration' {rootVolumeId} -> rootVolumeId) (\s@OpenZFSFileSystemConfiguration' {} a -> s {rootVolumeId = a} :: OpenZFSFileSystemConfiguration)++-- | The throughput of an Amazon FSx file system, measured in megabytes per+-- second (MBps).+openZFSFileSystemConfiguration_throughputCapacity :: Lens.Lens' OpenZFSFileSystemConfiguration (Prelude.Maybe Prelude.Natural)+openZFSFileSystemConfiguration_throughputCapacity = Lens.lens (\OpenZFSFileSystemConfiguration' {throughputCapacity} -> throughputCapacity) (\s@OpenZFSFileSystemConfiguration' {} a -> s {throughputCapacity = a} :: OpenZFSFileSystemConfiguration)++-- | Undocumented member.+openZFSFileSystemConfiguration_weeklyMaintenanceStartTime :: Lens.Lens' OpenZFSFileSystemConfiguration (Prelude.Maybe Prelude.Text)+openZFSFileSystemConfiguration_weeklyMaintenanceStartTime = Lens.lens (\OpenZFSFileSystemConfiguration' {weeklyMaintenanceStartTime} -> weeklyMaintenanceStartTime) (\s@OpenZFSFileSystemConfiguration' {} a -> s {weeklyMaintenanceStartTime = a} :: OpenZFSFileSystemConfiguration)++instance Data.FromJSON OpenZFSFileSystemConfiguration where+ parseJSON =+ Data.withObject+ "OpenZFSFileSystemConfiguration"+ ( \x ->+ OpenZFSFileSystemConfiguration'+ Prelude.<$> (x Data..:? "AutomaticBackupRetentionDays")+ Prelude.<*> (x Data..:? "CopyTagsToBackups")+ Prelude.<*> (x Data..:? "CopyTagsToVolumes")+ Prelude.<*> (x Data..:? "DailyAutomaticBackupStartTime")+ Prelude.<*> (x Data..:? "DeploymentType")+ Prelude.<*> (x Data..:? "DiskIopsConfiguration")+ Prelude.<*> (x Data..:? "RootVolumeId")+ Prelude.<*> (x Data..:? "ThroughputCapacity")+ Prelude.<*> (x Data..:? "WeeklyMaintenanceStartTime")+ )++instance+ Prelude.Hashable+ OpenZFSFileSystemConfiguration+ where+ hashWithSalt+ _salt+ OpenZFSFileSystemConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` automaticBackupRetentionDays+ `Prelude.hashWithSalt` copyTagsToBackups+ `Prelude.hashWithSalt` copyTagsToVolumes+ `Prelude.hashWithSalt` dailyAutomaticBackupStartTime+ `Prelude.hashWithSalt` deploymentType+ `Prelude.hashWithSalt` diskIopsConfiguration+ `Prelude.hashWithSalt` rootVolumeId+ `Prelude.hashWithSalt` throughputCapacity+ `Prelude.hashWithSalt` weeklyMaintenanceStartTime++instance+ Prelude.NFData+ OpenZFSFileSystemConfiguration+ where+ rnf OpenZFSFileSystemConfiguration' {..} =+ Prelude.rnf automaticBackupRetentionDays+ `Prelude.seq` Prelude.rnf copyTagsToBackups+ `Prelude.seq` Prelude.rnf copyTagsToVolumes+ `Prelude.seq` Prelude.rnf dailyAutomaticBackupStartTime+ `Prelude.seq` Prelude.rnf deploymentType+ `Prelude.seq` Prelude.rnf diskIopsConfiguration+ `Prelude.seq` Prelude.rnf rootVolumeId+ `Prelude.seq` Prelude.rnf throughputCapacity+ `Prelude.seq` Prelude.rnf weeklyMaintenanceStartTime
+ gen/Amazonka/FSx/Types/OpenZFSNfsExport.hs view
@@ -0,0 +1,91 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FSx.Types.OpenZFSNfsExport+-- 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.FSx.Types.OpenZFSNfsExport where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types.OpenZFSClientConfiguration+import qualified Amazonka.Prelude as Prelude++-- | The Network File System (NFS) configurations for mounting an Amazon FSx+-- for OpenZFS file system.+--+-- /See:/ 'newOpenZFSNfsExport' smart constructor.+data OpenZFSNfsExport = OpenZFSNfsExport'+ { -- | A list of configuration objects that contain the client and options for+ -- mounting the OpenZFS file system.+ clientConfigurations :: [OpenZFSClientConfiguration]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'OpenZFSNfsExport' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientConfigurations', 'openZFSNfsExport_clientConfigurations' - A list of configuration objects that contain the client and options for+-- mounting the OpenZFS file system.+newOpenZFSNfsExport ::+ OpenZFSNfsExport+newOpenZFSNfsExport =+ OpenZFSNfsExport'+ { clientConfigurations =+ Prelude.mempty+ }++-- | A list of configuration objects that contain the client and options for+-- mounting the OpenZFS file system.+openZFSNfsExport_clientConfigurations :: Lens.Lens' OpenZFSNfsExport [OpenZFSClientConfiguration]+openZFSNfsExport_clientConfigurations = Lens.lens (\OpenZFSNfsExport' {clientConfigurations} -> clientConfigurations) (\s@OpenZFSNfsExport' {} a -> s {clientConfigurations = a} :: OpenZFSNfsExport) Prelude.. Lens.coerced++instance Data.FromJSON OpenZFSNfsExport where+ parseJSON =+ Data.withObject+ "OpenZFSNfsExport"+ ( \x ->+ OpenZFSNfsExport'+ Prelude.<$> ( x+ Data..:? "ClientConfigurations"+ Data..!= Prelude.mempty+ )+ )++instance Prelude.Hashable OpenZFSNfsExport where+ hashWithSalt _salt OpenZFSNfsExport' {..} =+ _salt `Prelude.hashWithSalt` clientConfigurations++instance Prelude.NFData OpenZFSNfsExport where+ rnf OpenZFSNfsExport' {..} =+ Prelude.rnf clientConfigurations++instance Data.ToJSON OpenZFSNfsExport where+ toJSON OpenZFSNfsExport' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ( "ClientConfigurations"+ Data..= clientConfigurations+ )+ ]+ )
+ gen/Amazonka/FSx/Types/OpenZFSOriginSnapshotConfiguration.hs view
@@ -0,0 +1,121 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FSx.Types.OpenZFSOriginSnapshotConfiguration+-- 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.FSx.Types.OpenZFSOriginSnapshotConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types.OpenZFSCopyStrategy+import qualified Amazonka.Prelude as Prelude++-- | The snapshot configuration to use when creating an OpenZFS volume from a+-- snapshot.+--+-- /See:/ 'newOpenZFSOriginSnapshotConfiguration' smart constructor.+data OpenZFSOriginSnapshotConfiguration = OpenZFSOriginSnapshotConfiguration'+ { -- | The strategy used when copying data from the snapshot to the new volume.+ --+ -- - @CLONE@ - The new volume references the data in the origin snapshot.+ -- Cloning a snapshot is faster than copying the data from a snapshot+ -- to a new volume and doesn\'t consume disk throughput. However, the+ -- origin snapshot can\'t be deleted if there is a volume using its+ -- copied data.+ --+ -- - @FULL_COPY@ - Copies all data from the snapshot to the new volume.+ copyStrategy :: Prelude.Maybe OpenZFSCopyStrategy,+ snapshotARN :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'OpenZFSOriginSnapshotConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'copyStrategy', 'openZFSOriginSnapshotConfiguration_copyStrategy' - The strategy used when copying data from the snapshot to the new volume.+--+-- - @CLONE@ - The new volume references the data in the origin snapshot.+-- Cloning a snapshot is faster than copying the data from a snapshot+-- to a new volume and doesn\'t consume disk throughput. However, the+-- origin snapshot can\'t be deleted if there is a volume using its+-- copied data.+--+-- - @FULL_COPY@ - Copies all data from the snapshot to the new volume.+--+-- 'snapshotARN', 'openZFSOriginSnapshotConfiguration_snapshotARN' - Undocumented member.+newOpenZFSOriginSnapshotConfiguration ::+ OpenZFSOriginSnapshotConfiguration+newOpenZFSOriginSnapshotConfiguration =+ OpenZFSOriginSnapshotConfiguration'+ { copyStrategy =+ Prelude.Nothing,+ snapshotARN = Prelude.Nothing+ }++-- | The strategy used when copying data from the snapshot to the new volume.+--+-- - @CLONE@ - The new volume references the data in the origin snapshot.+-- Cloning a snapshot is faster than copying the data from a snapshot+-- to a new volume and doesn\'t consume disk throughput. However, the+-- origin snapshot can\'t be deleted if there is a volume using its+-- copied data.+--+-- - @FULL_COPY@ - Copies all data from the snapshot to the new volume.+openZFSOriginSnapshotConfiguration_copyStrategy :: Lens.Lens' OpenZFSOriginSnapshotConfiguration (Prelude.Maybe OpenZFSCopyStrategy)+openZFSOriginSnapshotConfiguration_copyStrategy = Lens.lens (\OpenZFSOriginSnapshotConfiguration' {copyStrategy} -> copyStrategy) (\s@OpenZFSOriginSnapshotConfiguration' {} a -> s {copyStrategy = a} :: OpenZFSOriginSnapshotConfiguration)++-- | Undocumented member.+openZFSOriginSnapshotConfiguration_snapshotARN :: Lens.Lens' OpenZFSOriginSnapshotConfiguration (Prelude.Maybe Prelude.Text)+openZFSOriginSnapshotConfiguration_snapshotARN = Lens.lens (\OpenZFSOriginSnapshotConfiguration' {snapshotARN} -> snapshotARN) (\s@OpenZFSOriginSnapshotConfiguration' {} a -> s {snapshotARN = a} :: OpenZFSOriginSnapshotConfiguration)++instance+ Data.FromJSON+ OpenZFSOriginSnapshotConfiguration+ where+ parseJSON =+ Data.withObject+ "OpenZFSOriginSnapshotConfiguration"+ ( \x ->+ OpenZFSOriginSnapshotConfiguration'+ Prelude.<$> (x Data..:? "CopyStrategy")+ Prelude.<*> (x Data..:? "SnapshotARN")+ )++instance+ Prelude.Hashable+ OpenZFSOriginSnapshotConfiguration+ where+ hashWithSalt+ _salt+ OpenZFSOriginSnapshotConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` copyStrategy+ `Prelude.hashWithSalt` snapshotARN++instance+ Prelude.NFData+ OpenZFSOriginSnapshotConfiguration+ where+ rnf OpenZFSOriginSnapshotConfiguration' {..} =+ Prelude.rnf copyStrategy+ `Prelude.seq` Prelude.rnf snapshotARN
+ gen/Amazonka/FSx/Types/OpenZFSQuotaType.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.FSx.Types.OpenZFSQuotaType+-- 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.FSx.Types.OpenZFSQuotaType+ ( OpenZFSQuotaType+ ( ..,+ OpenZFSQuotaType_GROUP,+ OpenZFSQuotaType_USER+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype OpenZFSQuotaType = OpenZFSQuotaType'+ { fromOpenZFSQuotaType ::+ 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 OpenZFSQuotaType_GROUP :: OpenZFSQuotaType+pattern OpenZFSQuotaType_GROUP = OpenZFSQuotaType' "GROUP"++pattern OpenZFSQuotaType_USER :: OpenZFSQuotaType+pattern OpenZFSQuotaType_USER = OpenZFSQuotaType' "USER"++{-# COMPLETE+ OpenZFSQuotaType_GROUP,+ OpenZFSQuotaType_USER,+ OpenZFSQuotaType'+ #-}
+ gen/Amazonka/FSx/Types/OpenZFSUserOrGroupQuota.hs view
@@ -0,0 +1,121 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FSx.Types.OpenZFSUserOrGroupQuota+-- 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.FSx.Types.OpenZFSUserOrGroupQuota where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types.OpenZFSQuotaType+import qualified Amazonka.Prelude as Prelude++-- | The configuration for how much storage a user or group can use on the+-- volume.+--+-- /See:/ 'newOpenZFSUserOrGroupQuota' smart constructor.+data OpenZFSUserOrGroupQuota = OpenZFSUserOrGroupQuota'+ { -- | A value that specifies whether the quota applies to a user or group.+ type' :: OpenZFSQuotaType,+ -- | The ID of the user or group.+ id :: Prelude.Natural,+ -- | The amount of storage that the user or group can use in gibibytes (GiB).+ storageCapacityQuotaGiB :: Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'OpenZFSUserOrGroupQuota' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'type'', 'openZFSUserOrGroupQuota_type' - A value that specifies whether the quota applies to a user or group.+--+-- 'id', 'openZFSUserOrGroupQuota_id' - The ID of the user or group.+--+-- 'storageCapacityQuotaGiB', 'openZFSUserOrGroupQuota_storageCapacityQuotaGiB' - The amount of storage that the user or group can use in gibibytes (GiB).+newOpenZFSUserOrGroupQuota ::+ -- | 'type''+ OpenZFSQuotaType ->+ -- | 'id'+ Prelude.Natural ->+ -- | 'storageCapacityQuotaGiB'+ Prelude.Natural ->+ OpenZFSUserOrGroupQuota+newOpenZFSUserOrGroupQuota+ pType_+ pId_+ pStorageCapacityQuotaGiB_ =+ OpenZFSUserOrGroupQuota'+ { type' = pType_,+ id = pId_,+ storageCapacityQuotaGiB =+ pStorageCapacityQuotaGiB_+ }++-- | A value that specifies whether the quota applies to a user or group.+openZFSUserOrGroupQuota_type :: Lens.Lens' OpenZFSUserOrGroupQuota OpenZFSQuotaType+openZFSUserOrGroupQuota_type = Lens.lens (\OpenZFSUserOrGroupQuota' {type'} -> type') (\s@OpenZFSUserOrGroupQuota' {} a -> s {type' = a} :: OpenZFSUserOrGroupQuota)++-- | The ID of the user or group.+openZFSUserOrGroupQuota_id :: Lens.Lens' OpenZFSUserOrGroupQuota Prelude.Natural+openZFSUserOrGroupQuota_id = Lens.lens (\OpenZFSUserOrGroupQuota' {id} -> id) (\s@OpenZFSUserOrGroupQuota' {} a -> s {id = a} :: OpenZFSUserOrGroupQuota)++-- | The amount of storage that the user or group can use in gibibytes (GiB).+openZFSUserOrGroupQuota_storageCapacityQuotaGiB :: Lens.Lens' OpenZFSUserOrGroupQuota Prelude.Natural+openZFSUserOrGroupQuota_storageCapacityQuotaGiB = Lens.lens (\OpenZFSUserOrGroupQuota' {storageCapacityQuotaGiB} -> storageCapacityQuotaGiB) (\s@OpenZFSUserOrGroupQuota' {} a -> s {storageCapacityQuotaGiB = a} :: OpenZFSUserOrGroupQuota)++instance Data.FromJSON OpenZFSUserOrGroupQuota where+ parseJSON =+ Data.withObject+ "OpenZFSUserOrGroupQuota"+ ( \x ->+ OpenZFSUserOrGroupQuota'+ Prelude.<$> (x Data..: "Type")+ Prelude.<*> (x Data..: "Id")+ Prelude.<*> (x Data..: "StorageCapacityQuotaGiB")+ )++instance Prelude.Hashable OpenZFSUserOrGroupQuota where+ hashWithSalt _salt OpenZFSUserOrGroupQuota' {..} =+ _salt+ `Prelude.hashWithSalt` type'+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` storageCapacityQuotaGiB++instance Prelude.NFData OpenZFSUserOrGroupQuota where+ rnf OpenZFSUserOrGroupQuota' {..} =+ Prelude.rnf type'+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf storageCapacityQuotaGiB++instance Data.ToJSON OpenZFSUserOrGroupQuota where+ toJSON OpenZFSUserOrGroupQuota' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("Type" Data..= type'),+ Prelude.Just ("Id" Data..= id),+ Prelude.Just+ ( "StorageCapacityQuotaGiB"+ Data..= storageCapacityQuotaGiB+ )+ ]+ )
+ gen/Amazonka/FSx/Types/OpenZFSVolumeConfiguration.hs view
@@ -0,0 +1,338 @@+{-# 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.FSx.Types.OpenZFSVolumeConfiguration+-- 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.FSx.Types.OpenZFSVolumeConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types.OpenZFSDataCompressionType+import Amazonka.FSx.Types.OpenZFSNfsExport+import Amazonka.FSx.Types.OpenZFSOriginSnapshotConfiguration+import Amazonka.FSx.Types.OpenZFSUserOrGroupQuota+import qualified Amazonka.Prelude as Prelude++-- | The configuration of an Amazon FSx for OpenZFS volume.+--+-- /See:/ 'newOpenZFSVolumeConfiguration' smart constructor.+data OpenZFSVolumeConfiguration = OpenZFSVolumeConfiguration'+ { -- | A Boolean value indicating whether tags for the volume should be copied+ -- to snapshots. This value defaults to @false@. If it\'s set to @true@,+ -- all tags for the volume are copied to snapshots where the user doesn\'t+ -- specify tags. If this value is @true@ and you specify one or more tags,+ -- only the specified tags are copied to snapshots. If you specify one or+ -- more tags when creating the snapshot, no tags are copied from the+ -- volume, regardless of this value.+ copyTagsToSnapshots :: Prelude.Maybe Prelude.Bool,+ -- | Specifies the method used to compress the data on the volume. The+ -- compression type is @NONE@ by default.+ --+ -- - @NONE@ - Doesn\'t compress the data on the volume. @NONE@ is the+ -- default.+ --+ -- - @ZSTD@ - Compresses the data in the volume using the Zstandard+ -- (ZSTD) compression algorithm. Compared to LZ4, Z-Standard provides a+ -- better compression ratio to minimize on-disk storage utilization.+ --+ -- - @LZ4@ - Compresses the data in the volume using the LZ4 compression+ -- algorithm. Compared to Z-Standard, LZ4 is less compute-intensive and+ -- delivers higher write throughput speeds.+ dataCompressionType :: Prelude.Maybe OpenZFSDataCompressionType,+ -- | A Boolean value indicating whether dependent clone volumes created from+ -- intermediate snapshots should be deleted when a volume is restored from+ -- snapshot.+ deleteClonedVolumes :: Prelude.Maybe Prelude.Bool,+ -- | A Boolean value indicating whether snapshots between the current state+ -- and the specified snapshot should be deleted when a volume is restored+ -- from snapshot.+ deleteIntermediateSnaphots :: Prelude.Maybe Prelude.Bool,+ -- | The configuration object for mounting a Network File System (NFS) file+ -- system.+ nfsExports :: Prelude.Maybe [OpenZFSNfsExport],+ -- | The configuration object that specifies the snapshot to use as the+ -- origin of the data for the volume.+ originSnapshot :: Prelude.Maybe OpenZFSOriginSnapshotConfiguration,+ -- | The ID of the parent volume.+ parentVolumeId :: Prelude.Maybe Prelude.Text,+ -- | A Boolean value indicating whether the volume is read-only.+ readOnly :: Prelude.Maybe Prelude.Bool,+ -- | The record size of an OpenZFS volume, in kibibytes (KiB). Valid values+ -- are 4, 8, 16, 32, 64, 128, 256, 512, or 1024 KiB. The default is 128+ -- KiB. Most workloads should use the default record size. For guidance on+ -- when to set a custom record size, see the /Amazon FSx for OpenZFS User+ -- Guide/.+ recordSizeKiB :: Prelude.Maybe Prelude.Natural,+ -- | Specifies the ID of the snapshot to which the volume was restored.+ restoreToSnapshot :: Prelude.Maybe Prelude.Text,+ -- | The maximum amount of storage in gibibtyes (GiB) that the volume can use+ -- from its parent. You can specify a quota larger than the storage on the+ -- parent volume.+ storageCapacityQuotaGiB :: Prelude.Maybe Prelude.Natural,+ -- | The amount of storage in gibibytes (GiB) to reserve from the parent+ -- volume. You can\'t reserve more storage than the parent volume has+ -- reserved.+ storageCapacityReservationGiB :: Prelude.Maybe Prelude.Natural,+ -- | An object specifying how much storage users or groups can use on the+ -- volume.+ userAndGroupQuotas :: Prelude.Maybe [OpenZFSUserOrGroupQuota],+ -- | The path to the volume from the root volume. For example,+ -- @fsx\/parentVolume\/volume1@.+ volumePath :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'OpenZFSVolumeConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'copyTagsToSnapshots', 'openZFSVolumeConfiguration_copyTagsToSnapshots' - A Boolean value indicating whether tags for the volume should be copied+-- to snapshots. This value defaults to @false@. If it\'s set to @true@,+-- all tags for the volume are copied to snapshots where the user doesn\'t+-- specify tags. If this value is @true@ and you specify one or more tags,+-- only the specified tags are copied to snapshots. If you specify one or+-- more tags when creating the snapshot, no tags are copied from the+-- volume, regardless of this value.+--+-- 'dataCompressionType', 'openZFSVolumeConfiguration_dataCompressionType' - Specifies the method used to compress the data on the volume. The+-- compression type is @NONE@ by default.+--+-- - @NONE@ - Doesn\'t compress the data on the volume. @NONE@ is the+-- default.+--+-- - @ZSTD@ - Compresses the data in the volume using the Zstandard+-- (ZSTD) compression algorithm. Compared to LZ4, Z-Standard provides a+-- better compression ratio to minimize on-disk storage utilization.+--+-- - @LZ4@ - Compresses the data in the volume using the LZ4 compression+-- algorithm. Compared to Z-Standard, LZ4 is less compute-intensive and+-- delivers higher write throughput speeds.+--+-- 'deleteClonedVolumes', 'openZFSVolumeConfiguration_deleteClonedVolumes' - A Boolean value indicating whether dependent clone volumes created from+-- intermediate snapshots should be deleted when a volume is restored from+-- snapshot.+--+-- 'deleteIntermediateSnaphots', 'openZFSVolumeConfiguration_deleteIntermediateSnaphots' - A Boolean value indicating whether snapshots between the current state+-- and the specified snapshot should be deleted when a volume is restored+-- from snapshot.+--+-- 'nfsExports', 'openZFSVolumeConfiguration_nfsExports' - The configuration object for mounting a Network File System (NFS) file+-- system.+--+-- 'originSnapshot', 'openZFSVolumeConfiguration_originSnapshot' - The configuration object that specifies the snapshot to use as the+-- origin of the data for the volume.+--+-- 'parentVolumeId', 'openZFSVolumeConfiguration_parentVolumeId' - The ID of the parent volume.+--+-- 'readOnly', 'openZFSVolumeConfiguration_readOnly' - A Boolean value indicating whether the volume is read-only.+--+-- 'recordSizeKiB', 'openZFSVolumeConfiguration_recordSizeKiB' - The record size of an OpenZFS volume, in kibibytes (KiB). Valid values+-- are 4, 8, 16, 32, 64, 128, 256, 512, or 1024 KiB. The default is 128+-- KiB. Most workloads should use the default record size. For guidance on+-- when to set a custom record size, see the /Amazon FSx for OpenZFS User+-- Guide/.+--+-- 'restoreToSnapshot', 'openZFSVolumeConfiguration_restoreToSnapshot' - Specifies the ID of the snapshot to which the volume was restored.+--+-- 'storageCapacityQuotaGiB', 'openZFSVolumeConfiguration_storageCapacityQuotaGiB' - The maximum amount of storage in gibibtyes (GiB) that the volume can use+-- from its parent. You can specify a quota larger than the storage on the+-- parent volume.+--+-- 'storageCapacityReservationGiB', 'openZFSVolumeConfiguration_storageCapacityReservationGiB' - The amount of storage in gibibytes (GiB) to reserve from the parent+-- volume. You can\'t reserve more storage than the parent volume has+-- reserved.+--+-- 'userAndGroupQuotas', 'openZFSVolumeConfiguration_userAndGroupQuotas' - An object specifying how much storage users or groups can use on the+-- volume.+--+-- 'volumePath', 'openZFSVolumeConfiguration_volumePath' - The path to the volume from the root volume. For example,+-- @fsx\/parentVolume\/volume1@.+newOpenZFSVolumeConfiguration ::+ OpenZFSVolumeConfiguration+newOpenZFSVolumeConfiguration =+ OpenZFSVolumeConfiguration'+ { copyTagsToSnapshots =+ Prelude.Nothing,+ dataCompressionType = Prelude.Nothing,+ deleteClonedVolumes = Prelude.Nothing,+ deleteIntermediateSnaphots = Prelude.Nothing,+ nfsExports = Prelude.Nothing,+ originSnapshot = Prelude.Nothing,+ parentVolumeId = Prelude.Nothing,+ readOnly = Prelude.Nothing,+ recordSizeKiB = Prelude.Nothing,+ restoreToSnapshot = Prelude.Nothing,+ storageCapacityQuotaGiB = Prelude.Nothing,+ storageCapacityReservationGiB = Prelude.Nothing,+ userAndGroupQuotas = Prelude.Nothing,+ volumePath = Prelude.Nothing+ }++-- | A Boolean value indicating whether tags for the volume should be copied+-- to snapshots. This value defaults to @false@. If it\'s set to @true@,+-- all tags for the volume are copied to snapshots where the user doesn\'t+-- specify tags. If this value is @true@ and you specify one or more tags,+-- only the specified tags are copied to snapshots. If you specify one or+-- more tags when creating the snapshot, no tags are copied from the+-- volume, regardless of this value.+openZFSVolumeConfiguration_copyTagsToSnapshots :: Lens.Lens' OpenZFSVolumeConfiguration (Prelude.Maybe Prelude.Bool)+openZFSVolumeConfiguration_copyTagsToSnapshots = Lens.lens (\OpenZFSVolumeConfiguration' {copyTagsToSnapshots} -> copyTagsToSnapshots) (\s@OpenZFSVolumeConfiguration' {} a -> s {copyTagsToSnapshots = a} :: OpenZFSVolumeConfiguration)++-- | Specifies the method used to compress the data on the volume. The+-- compression type is @NONE@ by default.+--+-- - @NONE@ - Doesn\'t compress the data on the volume. @NONE@ is the+-- default.+--+-- - @ZSTD@ - Compresses the data in the volume using the Zstandard+-- (ZSTD) compression algorithm. Compared to LZ4, Z-Standard provides a+-- better compression ratio to minimize on-disk storage utilization.+--+-- - @LZ4@ - Compresses the data in the volume using the LZ4 compression+-- algorithm. Compared to Z-Standard, LZ4 is less compute-intensive and+-- delivers higher write throughput speeds.+openZFSVolumeConfiguration_dataCompressionType :: Lens.Lens' OpenZFSVolumeConfiguration (Prelude.Maybe OpenZFSDataCompressionType)+openZFSVolumeConfiguration_dataCompressionType = Lens.lens (\OpenZFSVolumeConfiguration' {dataCompressionType} -> dataCompressionType) (\s@OpenZFSVolumeConfiguration' {} a -> s {dataCompressionType = a} :: OpenZFSVolumeConfiguration)++-- | A Boolean value indicating whether dependent clone volumes created from+-- intermediate snapshots should be deleted when a volume is restored from+-- snapshot.+openZFSVolumeConfiguration_deleteClonedVolumes :: Lens.Lens' OpenZFSVolumeConfiguration (Prelude.Maybe Prelude.Bool)+openZFSVolumeConfiguration_deleteClonedVolumes = Lens.lens (\OpenZFSVolumeConfiguration' {deleteClonedVolumes} -> deleteClonedVolumes) (\s@OpenZFSVolumeConfiguration' {} a -> s {deleteClonedVolumes = a} :: OpenZFSVolumeConfiguration)++-- | A Boolean value indicating whether snapshots between the current state+-- and the specified snapshot should be deleted when a volume is restored+-- from snapshot.+openZFSVolumeConfiguration_deleteIntermediateSnaphots :: Lens.Lens' OpenZFSVolumeConfiguration (Prelude.Maybe Prelude.Bool)+openZFSVolumeConfiguration_deleteIntermediateSnaphots = Lens.lens (\OpenZFSVolumeConfiguration' {deleteIntermediateSnaphots} -> deleteIntermediateSnaphots) (\s@OpenZFSVolumeConfiguration' {} a -> s {deleteIntermediateSnaphots = a} :: OpenZFSVolumeConfiguration)++-- | The configuration object for mounting a Network File System (NFS) file+-- system.+openZFSVolumeConfiguration_nfsExports :: Lens.Lens' OpenZFSVolumeConfiguration (Prelude.Maybe [OpenZFSNfsExport])+openZFSVolumeConfiguration_nfsExports = Lens.lens (\OpenZFSVolumeConfiguration' {nfsExports} -> nfsExports) (\s@OpenZFSVolumeConfiguration' {} a -> s {nfsExports = a} :: OpenZFSVolumeConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | The configuration object that specifies the snapshot to use as the+-- origin of the data for the volume.+openZFSVolumeConfiguration_originSnapshot :: Lens.Lens' OpenZFSVolumeConfiguration (Prelude.Maybe OpenZFSOriginSnapshotConfiguration)+openZFSVolumeConfiguration_originSnapshot = Lens.lens (\OpenZFSVolumeConfiguration' {originSnapshot} -> originSnapshot) (\s@OpenZFSVolumeConfiguration' {} a -> s {originSnapshot = a} :: OpenZFSVolumeConfiguration)++-- | The ID of the parent volume.+openZFSVolumeConfiguration_parentVolumeId :: Lens.Lens' OpenZFSVolumeConfiguration (Prelude.Maybe Prelude.Text)+openZFSVolumeConfiguration_parentVolumeId = Lens.lens (\OpenZFSVolumeConfiguration' {parentVolumeId} -> parentVolumeId) (\s@OpenZFSVolumeConfiguration' {} a -> s {parentVolumeId = a} :: OpenZFSVolumeConfiguration)++-- | A Boolean value indicating whether the volume is read-only.+openZFSVolumeConfiguration_readOnly :: Lens.Lens' OpenZFSVolumeConfiguration (Prelude.Maybe Prelude.Bool)+openZFSVolumeConfiguration_readOnly = Lens.lens (\OpenZFSVolumeConfiguration' {readOnly} -> readOnly) (\s@OpenZFSVolumeConfiguration' {} a -> s {readOnly = a} :: OpenZFSVolumeConfiguration)++-- | The record size of an OpenZFS volume, in kibibytes (KiB). Valid values+-- are 4, 8, 16, 32, 64, 128, 256, 512, or 1024 KiB. The default is 128+-- KiB. Most workloads should use the default record size. For guidance on+-- when to set a custom record size, see the /Amazon FSx for OpenZFS User+-- Guide/.+openZFSVolumeConfiguration_recordSizeKiB :: Lens.Lens' OpenZFSVolumeConfiguration (Prelude.Maybe Prelude.Natural)+openZFSVolumeConfiguration_recordSizeKiB = Lens.lens (\OpenZFSVolumeConfiguration' {recordSizeKiB} -> recordSizeKiB) (\s@OpenZFSVolumeConfiguration' {} a -> s {recordSizeKiB = a} :: OpenZFSVolumeConfiguration)++-- | Specifies the ID of the snapshot to which the volume was restored.+openZFSVolumeConfiguration_restoreToSnapshot :: Lens.Lens' OpenZFSVolumeConfiguration (Prelude.Maybe Prelude.Text)+openZFSVolumeConfiguration_restoreToSnapshot = Lens.lens (\OpenZFSVolumeConfiguration' {restoreToSnapshot} -> restoreToSnapshot) (\s@OpenZFSVolumeConfiguration' {} a -> s {restoreToSnapshot = a} :: OpenZFSVolumeConfiguration)++-- | The maximum amount of storage in gibibtyes (GiB) that the volume can use+-- from its parent. You can specify a quota larger than the storage on the+-- parent volume.+openZFSVolumeConfiguration_storageCapacityQuotaGiB :: Lens.Lens' OpenZFSVolumeConfiguration (Prelude.Maybe Prelude.Natural)+openZFSVolumeConfiguration_storageCapacityQuotaGiB = Lens.lens (\OpenZFSVolumeConfiguration' {storageCapacityQuotaGiB} -> storageCapacityQuotaGiB) (\s@OpenZFSVolumeConfiguration' {} a -> s {storageCapacityQuotaGiB = a} :: OpenZFSVolumeConfiguration)++-- | The amount of storage in gibibytes (GiB) to reserve from the parent+-- volume. You can\'t reserve more storage than the parent volume has+-- reserved.+openZFSVolumeConfiguration_storageCapacityReservationGiB :: Lens.Lens' OpenZFSVolumeConfiguration (Prelude.Maybe Prelude.Natural)+openZFSVolumeConfiguration_storageCapacityReservationGiB = Lens.lens (\OpenZFSVolumeConfiguration' {storageCapacityReservationGiB} -> storageCapacityReservationGiB) (\s@OpenZFSVolumeConfiguration' {} a -> s {storageCapacityReservationGiB = a} :: OpenZFSVolumeConfiguration)++-- | An object specifying how much storage users or groups can use on the+-- volume.+openZFSVolumeConfiguration_userAndGroupQuotas :: Lens.Lens' OpenZFSVolumeConfiguration (Prelude.Maybe [OpenZFSUserOrGroupQuota])+openZFSVolumeConfiguration_userAndGroupQuotas = Lens.lens (\OpenZFSVolumeConfiguration' {userAndGroupQuotas} -> userAndGroupQuotas) (\s@OpenZFSVolumeConfiguration' {} a -> s {userAndGroupQuotas = a} :: OpenZFSVolumeConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | The path to the volume from the root volume. For example,+-- @fsx\/parentVolume\/volume1@.+openZFSVolumeConfiguration_volumePath :: Lens.Lens' OpenZFSVolumeConfiguration (Prelude.Maybe Prelude.Text)+openZFSVolumeConfiguration_volumePath = Lens.lens (\OpenZFSVolumeConfiguration' {volumePath} -> volumePath) (\s@OpenZFSVolumeConfiguration' {} a -> s {volumePath = a} :: OpenZFSVolumeConfiguration)++instance Data.FromJSON OpenZFSVolumeConfiguration where+ parseJSON =+ Data.withObject+ "OpenZFSVolumeConfiguration"+ ( \x ->+ OpenZFSVolumeConfiguration'+ Prelude.<$> (x Data..:? "CopyTagsToSnapshots")+ Prelude.<*> (x Data..:? "DataCompressionType")+ Prelude.<*> (x Data..:? "DeleteClonedVolumes")+ Prelude.<*> (x Data..:? "DeleteIntermediateSnaphots")+ Prelude.<*> (x Data..:? "NfsExports" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "OriginSnapshot")+ Prelude.<*> (x Data..:? "ParentVolumeId")+ Prelude.<*> (x Data..:? "ReadOnly")+ Prelude.<*> (x Data..:? "RecordSizeKiB")+ Prelude.<*> (x Data..:? "RestoreToSnapshot")+ Prelude.<*> (x Data..:? "StorageCapacityQuotaGiB")+ Prelude.<*> (x Data..:? "StorageCapacityReservationGiB")+ Prelude.<*> ( x+ Data..:? "UserAndGroupQuotas"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "VolumePath")+ )++instance Prelude.Hashable OpenZFSVolumeConfiguration where+ hashWithSalt _salt OpenZFSVolumeConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` copyTagsToSnapshots+ `Prelude.hashWithSalt` dataCompressionType+ `Prelude.hashWithSalt` deleteClonedVolumes+ `Prelude.hashWithSalt` deleteIntermediateSnaphots+ `Prelude.hashWithSalt` nfsExports+ `Prelude.hashWithSalt` originSnapshot+ `Prelude.hashWithSalt` parentVolumeId+ `Prelude.hashWithSalt` readOnly+ `Prelude.hashWithSalt` recordSizeKiB+ `Prelude.hashWithSalt` restoreToSnapshot+ `Prelude.hashWithSalt` storageCapacityQuotaGiB+ `Prelude.hashWithSalt` storageCapacityReservationGiB+ `Prelude.hashWithSalt` userAndGroupQuotas+ `Prelude.hashWithSalt` volumePath++instance Prelude.NFData OpenZFSVolumeConfiguration where+ rnf OpenZFSVolumeConfiguration' {..} =+ Prelude.rnf copyTagsToSnapshots+ `Prelude.seq` Prelude.rnf dataCompressionType+ `Prelude.seq` Prelude.rnf deleteClonedVolumes+ `Prelude.seq` Prelude.rnf deleteIntermediateSnaphots+ `Prelude.seq` Prelude.rnf nfsExports+ `Prelude.seq` Prelude.rnf originSnapshot+ `Prelude.seq` Prelude.rnf parentVolumeId+ `Prelude.seq` Prelude.rnf readOnly+ `Prelude.seq` Prelude.rnf recordSizeKiB+ `Prelude.seq` Prelude.rnf restoreToSnapshot+ `Prelude.seq` Prelude.rnf storageCapacityQuotaGiB+ `Prelude.seq` Prelude.rnf storageCapacityReservationGiB+ `Prelude.seq` Prelude.rnf userAndGroupQuotas+ `Prelude.seq` Prelude.rnf volumePath
+ gen/Amazonka/FSx/Types/ReportFormat.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.FSx.Types.ReportFormat+-- 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.FSx.Types.ReportFormat+ ( ReportFormat+ ( ..,+ ReportFormat_REPORT_CSV_20191124+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ReportFormat = ReportFormat'+ { fromReportFormat ::+ 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 ReportFormat_REPORT_CSV_20191124 :: ReportFormat+pattern ReportFormat_REPORT_CSV_20191124 = ReportFormat' "REPORT_CSV_20191124"++{-# COMPLETE+ ReportFormat_REPORT_CSV_20191124,+ ReportFormat'+ #-}
+ gen/Amazonka/FSx/Types/ReportScope.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.FSx.Types.ReportScope+-- 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.FSx.Types.ReportScope+ ( ReportScope+ ( ..,+ ReportScope_FAILED_FILES_ONLY+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ReportScope = ReportScope'+ { fromReportScope ::+ 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 ReportScope_FAILED_FILES_ONLY :: ReportScope+pattern ReportScope_FAILED_FILES_ONLY = ReportScope' "FAILED_FILES_ONLY"++{-# COMPLETE+ ReportScope_FAILED_FILES_ONLY,+ ReportScope'+ #-}
+ gen/Amazonka/FSx/Types/ResourceType.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.FSx.Types.ResourceType+-- 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.FSx.Types.ResourceType+ ( ResourceType+ ( ..,+ ResourceType_FILE_SYSTEM,+ ResourceType_VOLUME+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ResourceType = ResourceType'+ { fromResourceType ::+ 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 ResourceType_FILE_SYSTEM :: ResourceType+pattern ResourceType_FILE_SYSTEM = ResourceType' "FILE_SYSTEM"++pattern ResourceType_VOLUME :: ResourceType+pattern ResourceType_VOLUME = ResourceType' "VOLUME"++{-# COMPLETE+ ResourceType_FILE_SYSTEM,+ ResourceType_VOLUME,+ ResourceType'+ #-}
+ gen/Amazonka/FSx/Types/RestoreOpenZFSVolumeOption.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.FSx.Types.RestoreOpenZFSVolumeOption+-- 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.FSx.Types.RestoreOpenZFSVolumeOption+ ( RestoreOpenZFSVolumeOption+ ( ..,+ RestoreOpenZFSVolumeOption_DELETE_CLONED_VOLUMES,+ RestoreOpenZFSVolumeOption_DELETE_INTERMEDIATE_SNAPSHOTS+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype RestoreOpenZFSVolumeOption = RestoreOpenZFSVolumeOption'+ { fromRestoreOpenZFSVolumeOption ::+ 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 RestoreOpenZFSVolumeOption_DELETE_CLONED_VOLUMES :: RestoreOpenZFSVolumeOption+pattern RestoreOpenZFSVolumeOption_DELETE_CLONED_VOLUMES = RestoreOpenZFSVolumeOption' "DELETE_CLONED_VOLUMES"++pattern RestoreOpenZFSVolumeOption_DELETE_INTERMEDIATE_SNAPSHOTS :: RestoreOpenZFSVolumeOption+pattern RestoreOpenZFSVolumeOption_DELETE_INTERMEDIATE_SNAPSHOTS = RestoreOpenZFSVolumeOption' "DELETE_INTERMEDIATE_SNAPSHOTS"++{-# COMPLETE+ RestoreOpenZFSVolumeOption_DELETE_CLONED_VOLUMES,+ RestoreOpenZFSVolumeOption_DELETE_INTERMEDIATE_SNAPSHOTS,+ RestoreOpenZFSVolumeOption'+ #-}
+ gen/Amazonka/FSx/Types/S3DataRepositoryConfiguration.hs view
@@ -0,0 +1,118 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FSx.Types.S3DataRepositoryConfiguration+-- 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.FSx.Types.S3DataRepositoryConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types.AutoExportPolicy+import Amazonka.FSx.Types.AutoImportPolicy+import qualified Amazonka.Prelude as Prelude++-- | The configuration for an Amazon S3 data repository linked to an Amazon+-- FSx for Lustre file system with a data repository association. The+-- configuration consists of an @AutoImportPolicy@ that defines which file+-- events on the data repository are automatically imported to the file+-- system and an @AutoExportPolicy@ that defines which file events on the+-- file system are automatically exported to the data repository. File+-- events are when files or directories are added, changed, or deleted on+-- the file system or the data repository.+--+-- Data repository associations on Amazon File Cache don\'t use+-- @S3DataRepositoryConfiguration@ because they don\'t support automatic+-- import or automatic export.+--+-- /See:/ 'newS3DataRepositoryConfiguration' smart constructor.+data S3DataRepositoryConfiguration = S3DataRepositoryConfiguration'+ { -- | Specifies the type of updated objects (new, changed, deleted) that will+ -- be automatically exported from your file system to the linked S3 bucket.+ autoExportPolicy :: Prelude.Maybe AutoExportPolicy,+ -- | Specifies the type of updated objects (new, changed, deleted) that will+ -- be automatically imported from the linked S3 bucket to your file system.+ autoImportPolicy :: Prelude.Maybe AutoImportPolicy+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'S3DataRepositoryConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'autoExportPolicy', 's3DataRepositoryConfiguration_autoExportPolicy' - Specifies the type of updated objects (new, changed, deleted) that will+-- be automatically exported from your file system to the linked S3 bucket.+--+-- 'autoImportPolicy', 's3DataRepositoryConfiguration_autoImportPolicy' - Specifies the type of updated objects (new, changed, deleted) that will+-- be automatically imported from the linked S3 bucket to your file system.+newS3DataRepositoryConfiguration ::+ S3DataRepositoryConfiguration+newS3DataRepositoryConfiguration =+ S3DataRepositoryConfiguration'+ { autoExportPolicy =+ Prelude.Nothing,+ autoImportPolicy = Prelude.Nothing+ }++-- | Specifies the type of updated objects (new, changed, deleted) that will+-- be automatically exported from your file system to the linked S3 bucket.+s3DataRepositoryConfiguration_autoExportPolicy :: Lens.Lens' S3DataRepositoryConfiguration (Prelude.Maybe AutoExportPolicy)+s3DataRepositoryConfiguration_autoExportPolicy = Lens.lens (\S3DataRepositoryConfiguration' {autoExportPolicy} -> autoExportPolicy) (\s@S3DataRepositoryConfiguration' {} a -> s {autoExportPolicy = a} :: S3DataRepositoryConfiguration)++-- | Specifies the type of updated objects (new, changed, deleted) that will+-- be automatically imported from the linked S3 bucket to your file system.+s3DataRepositoryConfiguration_autoImportPolicy :: Lens.Lens' S3DataRepositoryConfiguration (Prelude.Maybe AutoImportPolicy)+s3DataRepositoryConfiguration_autoImportPolicy = Lens.lens (\S3DataRepositoryConfiguration' {autoImportPolicy} -> autoImportPolicy) (\s@S3DataRepositoryConfiguration' {} a -> s {autoImportPolicy = a} :: S3DataRepositoryConfiguration)++instance Data.FromJSON S3DataRepositoryConfiguration where+ parseJSON =+ Data.withObject+ "S3DataRepositoryConfiguration"+ ( \x ->+ S3DataRepositoryConfiguration'+ Prelude.<$> (x Data..:? "AutoExportPolicy")+ Prelude.<*> (x Data..:? "AutoImportPolicy")+ )++instance+ Prelude.Hashable+ S3DataRepositoryConfiguration+ where+ hashWithSalt _salt S3DataRepositoryConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` autoExportPolicy+ `Prelude.hashWithSalt` autoImportPolicy++instance Prelude.NFData S3DataRepositoryConfiguration where+ rnf S3DataRepositoryConfiguration' {..} =+ Prelude.rnf autoExportPolicy+ `Prelude.seq` Prelude.rnf autoImportPolicy++instance Data.ToJSON S3DataRepositoryConfiguration where+ toJSON S3DataRepositoryConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("AutoExportPolicy" Data..=)+ Prelude.<$> autoExportPolicy,+ ("AutoImportPolicy" Data..=)+ Prelude.<$> autoImportPolicy+ ]+ )
+ gen/Amazonka/FSx/Types/SecurityStyle.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.FSx.Types.SecurityStyle+-- 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.FSx.Types.SecurityStyle+ ( SecurityStyle+ ( ..,+ SecurityStyle_MIXED,+ SecurityStyle_NTFS,+ SecurityStyle_UNIX+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SecurityStyle = SecurityStyle'+ { fromSecurityStyle ::+ 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 SecurityStyle_MIXED :: SecurityStyle+pattern SecurityStyle_MIXED = SecurityStyle' "MIXED"++pattern SecurityStyle_NTFS :: SecurityStyle+pattern SecurityStyle_NTFS = SecurityStyle' "NTFS"++pattern SecurityStyle_UNIX :: SecurityStyle+pattern SecurityStyle_UNIX = SecurityStyle' "UNIX"++{-# COMPLETE+ SecurityStyle_MIXED,+ SecurityStyle_NTFS,+ SecurityStyle_UNIX,+ SecurityStyle'+ #-}
+ gen/Amazonka/FSx/Types/SelfManagedActiveDirectoryAttributes.hs view
@@ -0,0 +1,151 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FSx.Types.SelfManagedActiveDirectoryAttributes+-- 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.FSx.Types.SelfManagedActiveDirectoryAttributes 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 configuration of the self-managed Microsoft Active Directory (AD)+-- directory to which the Windows File Server or ONTAP storage virtual+-- machine (SVM) instance is joined.+--+-- /See:/ 'newSelfManagedActiveDirectoryAttributes' smart constructor.+data SelfManagedActiveDirectoryAttributes = SelfManagedActiveDirectoryAttributes'+ { -- | A list of up to three IP addresses of DNS servers or domain controllers+ -- in the self-managed AD directory.+ dnsIps :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+ -- | The fully qualified domain name of the self-managed AD directory.+ domainName :: Prelude.Maybe Prelude.Text,+ -- | The name of the domain group whose members have administrative+ -- privileges for the FSx file system.+ fileSystemAdministratorsGroup :: Prelude.Maybe Prelude.Text,+ -- | The fully qualified distinguished name of the organizational unit within+ -- the self-managed AD directory to which the Windows File Server or ONTAP+ -- storage virtual machine (SVM) instance is joined.+ organizationalUnitDistinguishedName :: Prelude.Maybe Prelude.Text,+ -- | The user name for the service account on your self-managed AD domain+ -- that FSx uses to join to your AD domain.+ userName :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SelfManagedActiveDirectoryAttributes' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dnsIps', 'selfManagedActiveDirectoryAttributes_dnsIps' - A list of up to three IP addresses of DNS servers or domain controllers+-- in the self-managed AD directory.+--+-- 'domainName', 'selfManagedActiveDirectoryAttributes_domainName' - The fully qualified domain name of the self-managed AD directory.+--+-- 'fileSystemAdministratorsGroup', 'selfManagedActiveDirectoryAttributes_fileSystemAdministratorsGroup' - The name of the domain group whose members have administrative+-- privileges for the FSx file system.+--+-- 'organizationalUnitDistinguishedName', 'selfManagedActiveDirectoryAttributes_organizationalUnitDistinguishedName' - The fully qualified distinguished name of the organizational unit within+-- the self-managed AD directory to which the Windows File Server or ONTAP+-- storage virtual machine (SVM) instance is joined.+--+-- 'userName', 'selfManagedActiveDirectoryAttributes_userName' - The user name for the service account on your self-managed AD domain+-- that FSx uses to join to your AD domain.+newSelfManagedActiveDirectoryAttributes ::+ SelfManagedActiveDirectoryAttributes+newSelfManagedActiveDirectoryAttributes =+ SelfManagedActiveDirectoryAttributes'+ { dnsIps =+ Prelude.Nothing,+ domainName = Prelude.Nothing,+ fileSystemAdministratorsGroup =+ Prelude.Nothing,+ organizationalUnitDistinguishedName =+ Prelude.Nothing,+ userName = Prelude.Nothing+ }++-- | A list of up to three IP addresses of DNS servers or domain controllers+-- in the self-managed AD directory.+selfManagedActiveDirectoryAttributes_dnsIps :: Lens.Lens' SelfManagedActiveDirectoryAttributes (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+selfManagedActiveDirectoryAttributes_dnsIps = Lens.lens (\SelfManagedActiveDirectoryAttributes' {dnsIps} -> dnsIps) (\s@SelfManagedActiveDirectoryAttributes' {} a -> s {dnsIps = a} :: SelfManagedActiveDirectoryAttributes) Prelude.. Lens.mapping Lens.coerced++-- | The fully qualified domain name of the self-managed AD directory.+selfManagedActiveDirectoryAttributes_domainName :: Lens.Lens' SelfManagedActiveDirectoryAttributes (Prelude.Maybe Prelude.Text)+selfManagedActiveDirectoryAttributes_domainName = Lens.lens (\SelfManagedActiveDirectoryAttributes' {domainName} -> domainName) (\s@SelfManagedActiveDirectoryAttributes' {} a -> s {domainName = a} :: SelfManagedActiveDirectoryAttributes)++-- | The name of the domain group whose members have administrative+-- privileges for the FSx file system.+selfManagedActiveDirectoryAttributes_fileSystemAdministratorsGroup :: Lens.Lens' SelfManagedActiveDirectoryAttributes (Prelude.Maybe Prelude.Text)+selfManagedActiveDirectoryAttributes_fileSystemAdministratorsGroup = Lens.lens (\SelfManagedActiveDirectoryAttributes' {fileSystemAdministratorsGroup} -> fileSystemAdministratorsGroup) (\s@SelfManagedActiveDirectoryAttributes' {} a -> s {fileSystemAdministratorsGroup = a} :: SelfManagedActiveDirectoryAttributes)++-- | The fully qualified distinguished name of the organizational unit within+-- the self-managed AD directory to which the Windows File Server or ONTAP+-- storage virtual machine (SVM) instance is joined.+selfManagedActiveDirectoryAttributes_organizationalUnitDistinguishedName :: Lens.Lens' SelfManagedActiveDirectoryAttributes (Prelude.Maybe Prelude.Text)+selfManagedActiveDirectoryAttributes_organizationalUnitDistinguishedName = Lens.lens (\SelfManagedActiveDirectoryAttributes' {organizationalUnitDistinguishedName} -> organizationalUnitDistinguishedName) (\s@SelfManagedActiveDirectoryAttributes' {} a -> s {organizationalUnitDistinguishedName = a} :: SelfManagedActiveDirectoryAttributes)++-- | The user name for the service account on your self-managed AD domain+-- that FSx uses to join to your AD domain.+selfManagedActiveDirectoryAttributes_userName :: Lens.Lens' SelfManagedActiveDirectoryAttributes (Prelude.Maybe Prelude.Text)+selfManagedActiveDirectoryAttributes_userName = Lens.lens (\SelfManagedActiveDirectoryAttributes' {userName} -> userName) (\s@SelfManagedActiveDirectoryAttributes' {} a -> s {userName = a} :: SelfManagedActiveDirectoryAttributes)++instance+ Data.FromJSON+ SelfManagedActiveDirectoryAttributes+ where+ parseJSON =+ Data.withObject+ "SelfManagedActiveDirectoryAttributes"+ ( \x ->+ SelfManagedActiveDirectoryAttributes'+ Prelude.<$> (x Data..:? "DnsIps")+ Prelude.<*> (x Data..:? "DomainName")+ Prelude.<*> (x Data..:? "FileSystemAdministratorsGroup")+ Prelude.<*> (x Data..:? "OrganizationalUnitDistinguishedName")+ Prelude.<*> (x Data..:? "UserName")+ )++instance+ Prelude.Hashable+ SelfManagedActiveDirectoryAttributes+ where+ hashWithSalt+ _salt+ SelfManagedActiveDirectoryAttributes' {..} =+ _salt+ `Prelude.hashWithSalt` dnsIps+ `Prelude.hashWithSalt` domainName+ `Prelude.hashWithSalt` fileSystemAdministratorsGroup+ `Prelude.hashWithSalt` organizationalUnitDistinguishedName+ `Prelude.hashWithSalt` userName++instance+ Prelude.NFData+ SelfManagedActiveDirectoryAttributes+ where+ rnf SelfManagedActiveDirectoryAttributes' {..} =+ Prelude.rnf dnsIps+ `Prelude.seq` Prelude.rnf domainName+ `Prelude.seq` Prelude.rnf fileSystemAdministratorsGroup+ `Prelude.seq` Prelude.rnf organizationalUnitDistinguishedName+ `Prelude.seq` Prelude.rnf userName
+ gen/Amazonka/FSx/Types/SelfManagedActiveDirectoryConfiguration.hs view
@@ -0,0 +1,233 @@+{-# 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.FSx.Types.SelfManagedActiveDirectoryConfiguration+-- 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.FSx.Types.SelfManagedActiveDirectoryConfiguration 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 configuration that Amazon FSx uses to join a FSx for Windows File+-- Server file system or an ONTAP storage virtual machine (SVM) to a+-- self-managed (including on-premises) Microsoft Active Directory (AD)+-- directory. For more information, see+-- <https://docs.aws.amazon.com/fsx/latest/WindowsGuide/self-managed-AD.html Using Amazon FSx with your self-managed Microsoft Active Directory>+-- or+-- <https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/managing-svms.html Managing SVMs>.+--+-- /See:/ 'newSelfManagedActiveDirectoryConfiguration' smart constructor.+data SelfManagedActiveDirectoryConfiguration = SelfManagedActiveDirectoryConfiguration'+ { -- | (Optional) The name of the domain group whose members are granted+ -- administrative privileges for the file system. Administrative privileges+ -- include taking ownership of files and folders, setting audit controls+ -- (audit ACLs) on files and folders, and administering the file system+ -- remotely by using the FSx Remote PowerShell. The group that you specify+ -- must already exist in your domain. If you don\'t provide one, your AD+ -- domain\'s Domain Admins group is used.+ fileSystemAdministratorsGroup :: Prelude.Maybe Prelude.Text,+ -- | (Optional) The fully qualified distinguished name of the organizational+ -- unit within your self-managed AD directory. Amazon FSx only accepts OU+ -- as the direct parent of the file system. An example is+ -- @OU=FSx,DC=yourdomain,DC=corp,DC=com@. To learn more, see+ -- <https://tools.ietf.org/html/rfc2253 RFC 2253>. If none is provided, the+ -- FSx file system is created in the default location of your self-managed+ -- AD directory.+ --+ -- Only Organizational Unit (OU) objects can be the direct parent of the+ -- file system that you\'re creating.+ organizationalUnitDistinguishedName :: Prelude.Maybe Prelude.Text,+ -- | The fully qualified domain name of the self-managed AD directory, such+ -- as @corp.example.com@.+ domainName :: Prelude.Text,+ -- | The user name for the service account on your self-managed AD domain+ -- that Amazon FSx will use to join to your AD domain. This account must+ -- have the permission to join computers to the domain in the+ -- organizational unit provided in @OrganizationalUnitDistinguishedName@,+ -- or in the default location of your AD domain.+ userName :: Prelude.Text,+ -- | The password for the service account on your self-managed AD domain that+ -- Amazon FSx will use to join to your AD domain.+ password :: Data.Sensitive Prelude.Text,+ -- | A list of up to three IP addresses of DNS servers or domain controllers+ -- in the self-managed AD directory.+ dnsIps :: Prelude.NonEmpty Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SelfManagedActiveDirectoryConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fileSystemAdministratorsGroup', 'selfManagedActiveDirectoryConfiguration_fileSystemAdministratorsGroup' - (Optional) The name of the domain group whose members are granted+-- administrative privileges for the file system. Administrative privileges+-- include taking ownership of files and folders, setting audit controls+-- (audit ACLs) on files and folders, and administering the file system+-- remotely by using the FSx Remote PowerShell. The group that you specify+-- must already exist in your domain. If you don\'t provide one, your AD+-- domain\'s Domain Admins group is used.+--+-- 'organizationalUnitDistinguishedName', 'selfManagedActiveDirectoryConfiguration_organizationalUnitDistinguishedName' - (Optional) The fully qualified distinguished name of the organizational+-- unit within your self-managed AD directory. Amazon FSx only accepts OU+-- as the direct parent of the file system. An example is+-- @OU=FSx,DC=yourdomain,DC=corp,DC=com@. To learn more, see+-- <https://tools.ietf.org/html/rfc2253 RFC 2253>. If none is provided, the+-- FSx file system is created in the default location of your self-managed+-- AD directory.+--+-- Only Organizational Unit (OU) objects can be the direct parent of the+-- file system that you\'re creating.+--+-- 'domainName', 'selfManagedActiveDirectoryConfiguration_domainName' - The fully qualified domain name of the self-managed AD directory, such+-- as @corp.example.com@.+--+-- 'userName', 'selfManagedActiveDirectoryConfiguration_userName' - The user name for the service account on your self-managed AD domain+-- that Amazon FSx will use to join to your AD domain. This account must+-- have the permission to join computers to the domain in the+-- organizational unit provided in @OrganizationalUnitDistinguishedName@,+-- or in the default location of your AD domain.+--+-- 'password', 'selfManagedActiveDirectoryConfiguration_password' - The password for the service account on your self-managed AD domain that+-- Amazon FSx will use to join to your AD domain.+--+-- 'dnsIps', 'selfManagedActiveDirectoryConfiguration_dnsIps' - A list of up to three IP addresses of DNS servers or domain controllers+-- in the self-managed AD directory.+newSelfManagedActiveDirectoryConfiguration ::+ -- | 'domainName'+ Prelude.Text ->+ -- | 'userName'+ Prelude.Text ->+ -- | 'password'+ Prelude.Text ->+ -- | 'dnsIps'+ Prelude.NonEmpty Prelude.Text ->+ SelfManagedActiveDirectoryConfiguration+newSelfManagedActiveDirectoryConfiguration+ pDomainName_+ pUserName_+ pPassword_+ pDnsIps_ =+ SelfManagedActiveDirectoryConfiguration'+ { fileSystemAdministratorsGroup =+ Prelude.Nothing,+ organizationalUnitDistinguishedName =+ Prelude.Nothing,+ domainName = pDomainName_,+ userName = pUserName_,+ password =+ Data._Sensitive+ Lens.# pPassword_,+ dnsIps =+ Lens.coerced Lens.# pDnsIps_+ }++-- | (Optional) The name of the domain group whose members are granted+-- administrative privileges for the file system. Administrative privileges+-- include taking ownership of files and folders, setting audit controls+-- (audit ACLs) on files and folders, and administering the file system+-- remotely by using the FSx Remote PowerShell. The group that you specify+-- must already exist in your domain. If you don\'t provide one, your AD+-- domain\'s Domain Admins group is used.+selfManagedActiveDirectoryConfiguration_fileSystemAdministratorsGroup :: Lens.Lens' SelfManagedActiveDirectoryConfiguration (Prelude.Maybe Prelude.Text)+selfManagedActiveDirectoryConfiguration_fileSystemAdministratorsGroup = Lens.lens (\SelfManagedActiveDirectoryConfiguration' {fileSystemAdministratorsGroup} -> fileSystemAdministratorsGroup) (\s@SelfManagedActiveDirectoryConfiguration' {} a -> s {fileSystemAdministratorsGroup = a} :: SelfManagedActiveDirectoryConfiguration)++-- | (Optional) The fully qualified distinguished name of the organizational+-- unit within your self-managed AD directory. Amazon FSx only accepts OU+-- as the direct parent of the file system. An example is+-- @OU=FSx,DC=yourdomain,DC=corp,DC=com@. To learn more, see+-- <https://tools.ietf.org/html/rfc2253 RFC 2253>. If none is provided, the+-- FSx file system is created in the default location of your self-managed+-- AD directory.+--+-- Only Organizational Unit (OU) objects can be the direct parent of the+-- file system that you\'re creating.+selfManagedActiveDirectoryConfiguration_organizationalUnitDistinguishedName :: Lens.Lens' SelfManagedActiveDirectoryConfiguration (Prelude.Maybe Prelude.Text)+selfManagedActiveDirectoryConfiguration_organizationalUnitDistinguishedName = Lens.lens (\SelfManagedActiveDirectoryConfiguration' {organizationalUnitDistinguishedName} -> organizationalUnitDistinguishedName) (\s@SelfManagedActiveDirectoryConfiguration' {} a -> s {organizationalUnitDistinguishedName = a} :: SelfManagedActiveDirectoryConfiguration)++-- | The fully qualified domain name of the self-managed AD directory, such+-- as @corp.example.com@.+selfManagedActiveDirectoryConfiguration_domainName :: Lens.Lens' SelfManagedActiveDirectoryConfiguration Prelude.Text+selfManagedActiveDirectoryConfiguration_domainName = Lens.lens (\SelfManagedActiveDirectoryConfiguration' {domainName} -> domainName) (\s@SelfManagedActiveDirectoryConfiguration' {} a -> s {domainName = a} :: SelfManagedActiveDirectoryConfiguration)++-- | The user name for the service account on your self-managed AD domain+-- that Amazon FSx will use to join to your AD domain. This account must+-- have the permission to join computers to the domain in the+-- organizational unit provided in @OrganizationalUnitDistinguishedName@,+-- or in the default location of your AD domain.+selfManagedActiveDirectoryConfiguration_userName :: Lens.Lens' SelfManagedActiveDirectoryConfiguration Prelude.Text+selfManagedActiveDirectoryConfiguration_userName = Lens.lens (\SelfManagedActiveDirectoryConfiguration' {userName} -> userName) (\s@SelfManagedActiveDirectoryConfiguration' {} a -> s {userName = a} :: SelfManagedActiveDirectoryConfiguration)++-- | The password for the service account on your self-managed AD domain that+-- Amazon FSx will use to join to your AD domain.+selfManagedActiveDirectoryConfiguration_password :: Lens.Lens' SelfManagedActiveDirectoryConfiguration Prelude.Text+selfManagedActiveDirectoryConfiguration_password = Lens.lens (\SelfManagedActiveDirectoryConfiguration' {password} -> password) (\s@SelfManagedActiveDirectoryConfiguration' {} a -> s {password = a} :: SelfManagedActiveDirectoryConfiguration) Prelude.. Data._Sensitive++-- | A list of up to three IP addresses of DNS servers or domain controllers+-- in the self-managed AD directory.+selfManagedActiveDirectoryConfiguration_dnsIps :: Lens.Lens' SelfManagedActiveDirectoryConfiguration (Prelude.NonEmpty Prelude.Text)+selfManagedActiveDirectoryConfiguration_dnsIps = Lens.lens (\SelfManagedActiveDirectoryConfiguration' {dnsIps} -> dnsIps) (\s@SelfManagedActiveDirectoryConfiguration' {} a -> s {dnsIps = a} :: SelfManagedActiveDirectoryConfiguration) Prelude.. Lens.coerced++instance+ Prelude.Hashable+ SelfManagedActiveDirectoryConfiguration+ where+ hashWithSalt+ _salt+ SelfManagedActiveDirectoryConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` fileSystemAdministratorsGroup+ `Prelude.hashWithSalt` organizationalUnitDistinguishedName+ `Prelude.hashWithSalt` domainName+ `Prelude.hashWithSalt` userName+ `Prelude.hashWithSalt` password+ `Prelude.hashWithSalt` dnsIps++instance+ Prelude.NFData+ SelfManagedActiveDirectoryConfiguration+ where+ rnf SelfManagedActiveDirectoryConfiguration' {..} =+ Prelude.rnf fileSystemAdministratorsGroup+ `Prelude.seq` Prelude.rnf organizationalUnitDistinguishedName+ `Prelude.seq` Prelude.rnf domainName+ `Prelude.seq` Prelude.rnf userName+ `Prelude.seq` Prelude.rnf password+ `Prelude.seq` Prelude.rnf dnsIps++instance+ Data.ToJSON+ SelfManagedActiveDirectoryConfiguration+ where+ toJSON SelfManagedActiveDirectoryConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("FileSystemAdministratorsGroup" Data..=)+ Prelude.<$> fileSystemAdministratorsGroup,+ ("OrganizationalUnitDistinguishedName" Data..=)+ Prelude.<$> organizationalUnitDistinguishedName,+ Prelude.Just ("DomainName" Data..= domainName),+ Prelude.Just ("UserName" Data..= userName),+ Prelude.Just ("Password" Data..= password),+ Prelude.Just ("DnsIps" Data..= dnsIps)+ ]+ )
+ gen/Amazonka/FSx/Types/SelfManagedActiveDirectoryConfigurationUpdates.hs view
@@ -0,0 +1,125 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FSx.Types.SelfManagedActiveDirectoryConfigurationUpdates+-- 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.FSx.Types.SelfManagedActiveDirectoryConfigurationUpdates 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 configuration that Amazon FSx uses to join the Windows File Server+-- instance to a self-managed Microsoft Active Directory (AD) directory.+--+-- /See:/ 'newSelfManagedActiveDirectoryConfigurationUpdates' smart constructor.+data SelfManagedActiveDirectoryConfigurationUpdates = SelfManagedActiveDirectoryConfigurationUpdates'+ { -- | A list of up to three IP addresses of DNS servers or domain controllers+ -- in the self-managed AD directory.+ dnsIps :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+ -- | The password for the service account on your self-managed AD domain that+ -- Amazon FSx will use to join to your AD domain.+ password :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The user name for the service account on your self-managed AD domain+ -- that Amazon FSx will use to join to your AD domain. This account must+ -- have the permission to join computers to the domain in the+ -- organizational unit provided in @OrganizationalUnitDistinguishedName@.+ userName :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SelfManagedActiveDirectoryConfigurationUpdates' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dnsIps', 'selfManagedActiveDirectoryConfigurationUpdates_dnsIps' - A list of up to three IP addresses of DNS servers or domain controllers+-- in the self-managed AD directory.+--+-- 'password', 'selfManagedActiveDirectoryConfigurationUpdates_password' - The password for the service account on your self-managed AD domain that+-- Amazon FSx will use to join to your AD domain.+--+-- 'userName', 'selfManagedActiveDirectoryConfigurationUpdates_userName' - The user name for the service account on your self-managed AD domain+-- that Amazon FSx will use to join to your AD domain. This account must+-- have the permission to join computers to the domain in the+-- organizational unit provided in @OrganizationalUnitDistinguishedName@.+newSelfManagedActiveDirectoryConfigurationUpdates ::+ SelfManagedActiveDirectoryConfigurationUpdates+newSelfManagedActiveDirectoryConfigurationUpdates =+ SelfManagedActiveDirectoryConfigurationUpdates'+ { dnsIps =+ Prelude.Nothing,+ password = Prelude.Nothing,+ userName = Prelude.Nothing+ }++-- | A list of up to three IP addresses of DNS servers or domain controllers+-- in the self-managed AD directory.+selfManagedActiveDirectoryConfigurationUpdates_dnsIps :: Lens.Lens' SelfManagedActiveDirectoryConfigurationUpdates (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+selfManagedActiveDirectoryConfigurationUpdates_dnsIps = Lens.lens (\SelfManagedActiveDirectoryConfigurationUpdates' {dnsIps} -> dnsIps) (\s@SelfManagedActiveDirectoryConfigurationUpdates' {} a -> s {dnsIps = a} :: SelfManagedActiveDirectoryConfigurationUpdates) Prelude.. Lens.mapping Lens.coerced++-- | The password for the service account on your self-managed AD domain that+-- Amazon FSx will use to join to your AD domain.+selfManagedActiveDirectoryConfigurationUpdates_password :: Lens.Lens' SelfManagedActiveDirectoryConfigurationUpdates (Prelude.Maybe Prelude.Text)+selfManagedActiveDirectoryConfigurationUpdates_password = Lens.lens (\SelfManagedActiveDirectoryConfigurationUpdates' {password} -> password) (\s@SelfManagedActiveDirectoryConfigurationUpdates' {} a -> s {password = a} :: SelfManagedActiveDirectoryConfigurationUpdates) Prelude.. Lens.mapping Data._Sensitive++-- | The user name for the service account on your self-managed AD domain+-- that Amazon FSx will use to join to your AD domain. This account must+-- have the permission to join computers to the domain in the+-- organizational unit provided in @OrganizationalUnitDistinguishedName@.+selfManagedActiveDirectoryConfigurationUpdates_userName :: Lens.Lens' SelfManagedActiveDirectoryConfigurationUpdates (Prelude.Maybe Prelude.Text)+selfManagedActiveDirectoryConfigurationUpdates_userName = Lens.lens (\SelfManagedActiveDirectoryConfigurationUpdates' {userName} -> userName) (\s@SelfManagedActiveDirectoryConfigurationUpdates' {} a -> s {userName = a} :: SelfManagedActiveDirectoryConfigurationUpdates)++instance+ Prelude.Hashable+ SelfManagedActiveDirectoryConfigurationUpdates+ where+ hashWithSalt+ _salt+ SelfManagedActiveDirectoryConfigurationUpdates' {..} =+ _salt+ `Prelude.hashWithSalt` dnsIps+ `Prelude.hashWithSalt` password+ `Prelude.hashWithSalt` userName++instance+ Prelude.NFData+ SelfManagedActiveDirectoryConfigurationUpdates+ where+ rnf+ SelfManagedActiveDirectoryConfigurationUpdates' {..} =+ Prelude.rnf dnsIps+ `Prelude.seq` Prelude.rnf password+ `Prelude.seq` Prelude.rnf userName++instance+ Data.ToJSON+ SelfManagedActiveDirectoryConfigurationUpdates+ where+ toJSON+ SelfManagedActiveDirectoryConfigurationUpdates' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("DnsIps" Data..=) Prelude.<$> dnsIps,+ ("Password" Data..=) Prelude.<$> password,+ ("UserName" Data..=) Prelude.<$> userName+ ]+ )
+ gen/Amazonka/FSx/Types/Snapshot.hs view
@@ -0,0 +1,201 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FSx.Types.Snapshot+-- 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.FSx.Types.Snapshot where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import {-# SOURCE #-} Amazonka.FSx.Types.AdministrativeAction+import Amazonka.FSx.Types.LifecycleTransitionReason+import Amazonka.FSx.Types.SnapshotLifecycle+import Amazonka.FSx.Types.Tag+import qualified Amazonka.Prelude as Prelude++-- | A snapshot of an Amazon FSx for OpenZFS volume.+--+-- /See:/ 'newSnapshot' smart constructor.+data Snapshot = Snapshot'+ { -- | A list of administrative actions for the file system that are in process+ -- or waiting to be processed. Administrative actions describe changes to+ -- the Amazon FSx system.+ administrativeActions :: Prelude.Maybe [AdministrativeAction],+ creationTime :: Prelude.Maybe Data.POSIX,+ -- | The lifecycle status of the snapshot.+ --+ -- - @PENDING@ - Amazon FSx hasn\'t started creating the snapshot.+ --+ -- - @CREATING@ - Amazon FSx is creating the snapshot.+ --+ -- - @DELETING@ - Amazon FSx is deleting the snapshot.+ --+ -- - @AVAILABLE@ - The snapshot is fully available.+ lifecycle :: Prelude.Maybe SnapshotLifecycle,+ lifecycleTransitionReason :: Prelude.Maybe LifecycleTransitionReason,+ -- | The name of the snapshot.+ name :: Prelude.Maybe Prelude.Text,+ resourceARN :: Prelude.Maybe Prelude.Text,+ -- | The ID of the snapshot.+ snapshotId :: Prelude.Maybe Prelude.Text,+ tags :: Prelude.Maybe (Prelude.NonEmpty Tag),+ -- | The ID of the volume that the snapshot is of.+ volumeId :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Snapshot' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'administrativeActions', 'snapshot_administrativeActions' - A list of administrative actions for the file system that are in process+-- or waiting to be processed. Administrative actions describe changes to+-- the Amazon FSx system.+--+-- 'creationTime', 'snapshot_creationTime' - Undocumented member.+--+-- 'lifecycle', 'snapshot_lifecycle' - The lifecycle status of the snapshot.+--+-- - @PENDING@ - Amazon FSx hasn\'t started creating the snapshot.+--+-- - @CREATING@ - Amazon FSx is creating the snapshot.+--+-- - @DELETING@ - Amazon FSx is deleting the snapshot.+--+-- - @AVAILABLE@ - The snapshot is fully available.+--+-- 'lifecycleTransitionReason', 'snapshot_lifecycleTransitionReason' - Undocumented member.+--+-- 'name', 'snapshot_name' - The name of the snapshot.+--+-- 'resourceARN', 'snapshot_resourceARN' - Undocumented member.+--+-- 'snapshotId', 'snapshot_snapshotId' - The ID of the snapshot.+--+-- 'tags', 'snapshot_tags' - Undocumented member.+--+-- 'volumeId', 'snapshot_volumeId' - The ID of the volume that the snapshot is of.+newSnapshot ::+ Snapshot+newSnapshot =+ Snapshot'+ { administrativeActions = Prelude.Nothing,+ creationTime = Prelude.Nothing,+ lifecycle = Prelude.Nothing,+ lifecycleTransitionReason = Prelude.Nothing,+ name = Prelude.Nothing,+ resourceARN = Prelude.Nothing,+ snapshotId = Prelude.Nothing,+ tags = Prelude.Nothing,+ volumeId = Prelude.Nothing+ }++-- | A list of administrative actions for the file system that are in process+-- or waiting to be processed. Administrative actions describe changes to+-- the Amazon FSx system.+snapshot_administrativeActions :: Lens.Lens' Snapshot (Prelude.Maybe [AdministrativeAction])+snapshot_administrativeActions = Lens.lens (\Snapshot' {administrativeActions} -> administrativeActions) (\s@Snapshot' {} a -> s {administrativeActions = a} :: Snapshot) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+snapshot_creationTime :: Lens.Lens' Snapshot (Prelude.Maybe Prelude.UTCTime)+snapshot_creationTime = Lens.lens (\Snapshot' {creationTime} -> creationTime) (\s@Snapshot' {} a -> s {creationTime = a} :: Snapshot) Prelude.. Lens.mapping Data._Time++-- | The lifecycle status of the snapshot.+--+-- - @PENDING@ - Amazon FSx hasn\'t started creating the snapshot.+--+-- - @CREATING@ - Amazon FSx is creating the snapshot.+--+-- - @DELETING@ - Amazon FSx is deleting the snapshot.+--+-- - @AVAILABLE@ - The snapshot is fully available.+snapshot_lifecycle :: Lens.Lens' Snapshot (Prelude.Maybe SnapshotLifecycle)+snapshot_lifecycle = Lens.lens (\Snapshot' {lifecycle} -> lifecycle) (\s@Snapshot' {} a -> s {lifecycle = a} :: Snapshot)++-- | Undocumented member.+snapshot_lifecycleTransitionReason :: Lens.Lens' Snapshot (Prelude.Maybe LifecycleTransitionReason)+snapshot_lifecycleTransitionReason = Lens.lens (\Snapshot' {lifecycleTransitionReason} -> lifecycleTransitionReason) (\s@Snapshot' {} a -> s {lifecycleTransitionReason = a} :: Snapshot)++-- | The name of the snapshot.+snapshot_name :: Lens.Lens' Snapshot (Prelude.Maybe Prelude.Text)+snapshot_name = Lens.lens (\Snapshot' {name} -> name) (\s@Snapshot' {} a -> s {name = a} :: Snapshot)++-- | Undocumented member.+snapshot_resourceARN :: Lens.Lens' Snapshot (Prelude.Maybe Prelude.Text)+snapshot_resourceARN = Lens.lens (\Snapshot' {resourceARN} -> resourceARN) (\s@Snapshot' {} a -> s {resourceARN = a} :: Snapshot)++-- | The ID of the snapshot.+snapshot_snapshotId :: Lens.Lens' Snapshot (Prelude.Maybe Prelude.Text)+snapshot_snapshotId = Lens.lens (\Snapshot' {snapshotId} -> snapshotId) (\s@Snapshot' {} a -> s {snapshotId = a} :: Snapshot)++-- | Undocumented member.+snapshot_tags :: Lens.Lens' Snapshot (Prelude.Maybe (Prelude.NonEmpty Tag))+snapshot_tags = Lens.lens (\Snapshot' {tags} -> tags) (\s@Snapshot' {} a -> s {tags = a} :: Snapshot) Prelude.. Lens.mapping Lens.coerced++-- | The ID of the volume that the snapshot is of.+snapshot_volumeId :: Lens.Lens' Snapshot (Prelude.Maybe Prelude.Text)+snapshot_volumeId = Lens.lens (\Snapshot' {volumeId} -> volumeId) (\s@Snapshot' {} a -> s {volumeId = a} :: Snapshot)++instance Data.FromJSON Snapshot where+ parseJSON =+ Data.withObject+ "Snapshot"+ ( \x ->+ Snapshot'+ Prelude.<$> ( x+ Data..:? "AdministrativeActions"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "CreationTime")+ Prelude.<*> (x Data..:? "Lifecycle")+ Prelude.<*> (x Data..:? "LifecycleTransitionReason")+ Prelude.<*> (x Data..:? "Name")+ Prelude.<*> (x Data..:? "ResourceARN")+ Prelude.<*> (x Data..:? "SnapshotId")+ Prelude.<*> (x Data..:? "Tags")+ Prelude.<*> (x Data..:? "VolumeId")+ )++instance Prelude.Hashable Snapshot where+ hashWithSalt _salt Snapshot' {..} =+ _salt+ `Prelude.hashWithSalt` administrativeActions+ `Prelude.hashWithSalt` creationTime+ `Prelude.hashWithSalt` lifecycle+ `Prelude.hashWithSalt` lifecycleTransitionReason+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` resourceARN+ `Prelude.hashWithSalt` snapshotId+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` volumeId++instance Prelude.NFData Snapshot where+ rnf Snapshot' {..} =+ Prelude.rnf administrativeActions+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf lifecycle+ `Prelude.seq` Prelude.rnf lifecycleTransitionReason+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf resourceARN+ `Prelude.seq` Prelude.rnf snapshotId+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf volumeId
+ gen/Amazonka/FSx/Types/Snapshot.hs-boot view
@@ -0,0 +1,31 @@+{-# OPTIONS_GHC -Wno-missing-methods #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FSx.Types.Snapshot+-- 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.FSx.Types.Snapshot where++import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++data Snapshot++instance Prelude.Eq Snapshot++instance Prelude.Read Snapshot++instance Prelude.Show Snapshot++instance Prelude.Generic Snapshot++instance Data.FromJSON Snapshot++instance Prelude.NFData Snapshot++instance Prelude.Hashable Snapshot
+ gen/Amazonka/FSx/Types/SnapshotFilter.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.FSx.Types.SnapshotFilter+-- 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.FSx.Types.SnapshotFilter where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types.SnapshotFilterName+import qualified Amazonka.Prelude as Prelude++-- | A filter used to restrict the results of @DescribeSnapshots@ calls. You+-- can use multiple filters to return results that meet all applied filter+-- requirements.+--+-- /See:/ 'newSnapshotFilter' smart constructor.+data SnapshotFilter = SnapshotFilter'+ { -- | The name of the filter to use. You can filter by the @file-system-id@ or+ -- by @volume-id@.+ name :: Prelude.Maybe SnapshotFilterName,+ -- | The @file-system-id@ or @volume-id@ that you are filtering for.+ values :: Prelude.Maybe [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SnapshotFilter' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'snapshotFilter_name' - The name of the filter to use. You can filter by the @file-system-id@ or+-- by @volume-id@.+--+-- 'values', 'snapshotFilter_values' - The @file-system-id@ or @volume-id@ that you are filtering for.+newSnapshotFilter ::+ SnapshotFilter+newSnapshotFilter =+ SnapshotFilter'+ { name = Prelude.Nothing,+ values = Prelude.Nothing+ }++-- | The name of the filter to use. You can filter by the @file-system-id@ or+-- by @volume-id@.+snapshotFilter_name :: Lens.Lens' SnapshotFilter (Prelude.Maybe SnapshotFilterName)+snapshotFilter_name = Lens.lens (\SnapshotFilter' {name} -> name) (\s@SnapshotFilter' {} a -> s {name = a} :: SnapshotFilter)++-- | The @file-system-id@ or @volume-id@ that you are filtering for.+snapshotFilter_values :: Lens.Lens' SnapshotFilter (Prelude.Maybe [Prelude.Text])+snapshotFilter_values = Lens.lens (\SnapshotFilter' {values} -> values) (\s@SnapshotFilter' {} a -> s {values = a} :: SnapshotFilter) Prelude.. Lens.mapping Lens.coerced++instance Prelude.Hashable SnapshotFilter where+ hashWithSalt _salt SnapshotFilter' {..} =+ _salt+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` values++instance Prelude.NFData SnapshotFilter where+ rnf SnapshotFilter' {..} =+ Prelude.rnf name `Prelude.seq` Prelude.rnf values++instance Data.ToJSON SnapshotFilter where+ toJSON SnapshotFilter' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Name" Data..=) Prelude.<$> name,+ ("Values" Data..=) Prelude.<$> values+ ]+ )
+ gen/Amazonka/FSx/Types/SnapshotFilterName.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.FSx.Types.SnapshotFilterName+-- 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.FSx.Types.SnapshotFilterName+ ( SnapshotFilterName+ ( ..,+ SnapshotFilterName_File_system_id,+ SnapshotFilterName_Volume_id+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SnapshotFilterName = SnapshotFilterName'+ { fromSnapshotFilterName ::+ 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 SnapshotFilterName_File_system_id :: SnapshotFilterName+pattern SnapshotFilterName_File_system_id = SnapshotFilterName' "file-system-id"++pattern SnapshotFilterName_Volume_id :: SnapshotFilterName+pattern SnapshotFilterName_Volume_id = SnapshotFilterName' "volume-id"++{-# COMPLETE+ SnapshotFilterName_File_system_id,+ SnapshotFilterName_Volume_id,+ SnapshotFilterName'+ #-}
+ gen/Amazonka/FSx/Types/SnapshotLifecycle.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.FSx.Types.SnapshotLifecycle+-- 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.FSx.Types.SnapshotLifecycle+ ( SnapshotLifecycle+ ( ..,+ SnapshotLifecycle_AVAILABLE,+ SnapshotLifecycle_CREATING,+ SnapshotLifecycle_DELETING,+ SnapshotLifecycle_PENDING+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SnapshotLifecycle = SnapshotLifecycle'+ { fromSnapshotLifecycle ::+ 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 SnapshotLifecycle_AVAILABLE :: SnapshotLifecycle+pattern SnapshotLifecycle_AVAILABLE = SnapshotLifecycle' "AVAILABLE"++pattern SnapshotLifecycle_CREATING :: SnapshotLifecycle+pattern SnapshotLifecycle_CREATING = SnapshotLifecycle' "CREATING"++pattern SnapshotLifecycle_DELETING :: SnapshotLifecycle+pattern SnapshotLifecycle_DELETING = SnapshotLifecycle' "DELETING"++pattern SnapshotLifecycle_PENDING :: SnapshotLifecycle+pattern SnapshotLifecycle_PENDING = SnapshotLifecycle' "PENDING"++{-# COMPLETE+ SnapshotLifecycle_AVAILABLE,+ SnapshotLifecycle_CREATING,+ SnapshotLifecycle_DELETING,+ SnapshotLifecycle_PENDING,+ SnapshotLifecycle'+ #-}
+ gen/Amazonka/FSx/Types/Status.hs view
@@ -0,0 +1,83 @@+{-# 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.FSx.Types.Status+-- 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.FSx.Types.Status+ ( Status+ ( ..,+ Status_COMPLETED,+ Status_FAILED,+ Status_IN_PROGRESS,+ Status_PENDING,+ Status_UPDATED_OPTIMIZING+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype Status = Status' {fromStatus :: 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 Status_COMPLETED :: Status+pattern Status_COMPLETED = Status' "COMPLETED"++pattern Status_FAILED :: Status+pattern Status_FAILED = Status' "FAILED"++pattern Status_IN_PROGRESS :: Status+pattern Status_IN_PROGRESS = Status' "IN_PROGRESS"++pattern Status_PENDING :: Status+pattern Status_PENDING = Status' "PENDING"++pattern Status_UPDATED_OPTIMIZING :: Status+pattern Status_UPDATED_OPTIMIZING = Status' "UPDATED_OPTIMIZING"++{-# COMPLETE+ Status_COMPLETED,+ Status_FAILED,+ Status_IN_PROGRESS,+ Status_PENDING,+ Status_UPDATED_OPTIMIZING,+ Status'+ #-}
+ gen/Amazonka/FSx/Types/StorageType.hs view
@@ -0,0 +1,72 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FSx.Types.StorageType+-- 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.FSx.Types.StorageType+ ( StorageType+ ( ..,+ StorageType_HDD,+ StorageType_SSD+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The storage type for your Amazon FSx file system.+newtype StorageType = StorageType'+ { fromStorageType ::+ 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 StorageType_HDD :: StorageType+pattern StorageType_HDD = StorageType' "HDD"++pattern StorageType_SSD :: StorageType+pattern StorageType_SSD = StorageType' "SSD"++{-# COMPLETE+ StorageType_HDD,+ StorageType_SSD,+ StorageType'+ #-}
+ gen/Amazonka/FSx/Types/StorageVirtualMachine.hs view
@@ -0,0 +1,266 @@+{-# 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.FSx.Types.StorageVirtualMachine+-- 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.FSx.Types.StorageVirtualMachine where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types.LifecycleTransitionReason+import Amazonka.FSx.Types.StorageVirtualMachineLifecycle+import Amazonka.FSx.Types.StorageVirtualMachineRootVolumeSecurityStyle+import Amazonka.FSx.Types.StorageVirtualMachineSubtype+import Amazonka.FSx.Types.SvmActiveDirectoryConfiguration+import Amazonka.FSx.Types.SvmEndpoints+import Amazonka.FSx.Types.Tag+import qualified Amazonka.Prelude as Prelude++-- | Describes the Amazon FSx for NetApp ONTAP storage virtual machine (SVM)+-- configuration.+--+-- /See:/ 'newStorageVirtualMachine' smart constructor.+data StorageVirtualMachine = StorageVirtualMachine'+ { -- | Describes the Microsoft Active Directory configuration to which the SVM+ -- is joined, if applicable.+ activeDirectoryConfiguration :: Prelude.Maybe SvmActiveDirectoryConfiguration,+ creationTime :: Prelude.Maybe Data.POSIX,+ -- | The endpoints that are used to access data or to manage the SVM using+ -- the NetApp ONTAP CLI, REST API, or NetApp CloudManager. They are the+ -- @Iscsi@, @Management@, @Nfs@, and @Smb@ endpoints.+ endpoints :: Prelude.Maybe SvmEndpoints,+ fileSystemId :: Prelude.Maybe Prelude.Text,+ -- | Describes the SVM\'s lifecycle status.+ --+ -- - @CREATED@ - The SVM is fully available for use.+ --+ -- - @CREATING@ - Amazon FSx is creating the new SVM.+ --+ -- - @DELETING@ - Amazon FSx is deleting an existing SVM.+ --+ -- - @FAILED@ - Amazon FSx was unable to create the SVM.+ --+ -- - @MISCONFIGURED@ - The SVM is in a failed but recoverable state.+ --+ -- - @PENDING@ - Amazon FSx has not started creating the SVM.+ lifecycle :: Prelude.Maybe StorageVirtualMachineLifecycle,+ -- | Describes why the SVM lifecycle state changed.+ lifecycleTransitionReason :: Prelude.Maybe LifecycleTransitionReason,+ -- | The name of the SVM, if provisioned.+ name :: Prelude.Maybe Prelude.Text,+ resourceARN :: Prelude.Maybe Prelude.Text,+ -- | The security style of the root volume of the SVM.+ rootVolumeSecurityStyle :: Prelude.Maybe StorageVirtualMachineRootVolumeSecurityStyle,+ -- | The SVM\'s system generated unique ID.+ storageVirtualMachineId :: Prelude.Maybe Prelude.Text,+ -- | Describes the SVM\'s subtype.+ subtype :: Prelude.Maybe StorageVirtualMachineSubtype,+ tags :: Prelude.Maybe (Prelude.NonEmpty Tag),+ -- | The SVM\'s UUID (universally unique identifier).+ uuid :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StorageVirtualMachine' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'activeDirectoryConfiguration', 'storageVirtualMachine_activeDirectoryConfiguration' - Describes the Microsoft Active Directory configuration to which the SVM+-- is joined, if applicable.+--+-- 'creationTime', 'storageVirtualMachine_creationTime' - Undocumented member.+--+-- 'endpoints', 'storageVirtualMachine_endpoints' - The endpoints that are used to access data or to manage the SVM using+-- the NetApp ONTAP CLI, REST API, or NetApp CloudManager. They are the+-- @Iscsi@, @Management@, @Nfs@, and @Smb@ endpoints.+--+-- 'fileSystemId', 'storageVirtualMachine_fileSystemId' - Undocumented member.+--+-- 'lifecycle', 'storageVirtualMachine_lifecycle' - Describes the SVM\'s lifecycle status.+--+-- - @CREATED@ - The SVM is fully available for use.+--+-- - @CREATING@ - Amazon FSx is creating the new SVM.+--+-- - @DELETING@ - Amazon FSx is deleting an existing SVM.+--+-- - @FAILED@ - Amazon FSx was unable to create the SVM.+--+-- - @MISCONFIGURED@ - The SVM is in a failed but recoverable state.+--+-- - @PENDING@ - Amazon FSx has not started creating the SVM.+--+-- 'lifecycleTransitionReason', 'storageVirtualMachine_lifecycleTransitionReason' - Describes why the SVM lifecycle state changed.+--+-- 'name', 'storageVirtualMachine_name' - The name of the SVM, if provisioned.+--+-- 'resourceARN', 'storageVirtualMachine_resourceARN' - Undocumented member.+--+-- 'rootVolumeSecurityStyle', 'storageVirtualMachine_rootVolumeSecurityStyle' - The security style of the root volume of the SVM.+--+-- 'storageVirtualMachineId', 'storageVirtualMachine_storageVirtualMachineId' - The SVM\'s system generated unique ID.+--+-- 'subtype', 'storageVirtualMachine_subtype' - Describes the SVM\'s subtype.+--+-- 'tags', 'storageVirtualMachine_tags' - Undocumented member.+--+-- 'uuid', 'storageVirtualMachine_uuid' - The SVM\'s UUID (universally unique identifier).+newStorageVirtualMachine ::+ StorageVirtualMachine+newStorageVirtualMachine =+ StorageVirtualMachine'+ { activeDirectoryConfiguration =+ Prelude.Nothing,+ creationTime = Prelude.Nothing,+ endpoints = Prelude.Nothing,+ fileSystemId = Prelude.Nothing,+ lifecycle = Prelude.Nothing,+ lifecycleTransitionReason = Prelude.Nothing,+ name = Prelude.Nothing,+ resourceARN = Prelude.Nothing,+ rootVolumeSecurityStyle = Prelude.Nothing,+ storageVirtualMachineId = Prelude.Nothing,+ subtype = Prelude.Nothing,+ tags = Prelude.Nothing,+ uuid = Prelude.Nothing+ }++-- | Describes the Microsoft Active Directory configuration to which the SVM+-- is joined, if applicable.+storageVirtualMachine_activeDirectoryConfiguration :: Lens.Lens' StorageVirtualMachine (Prelude.Maybe SvmActiveDirectoryConfiguration)+storageVirtualMachine_activeDirectoryConfiguration = Lens.lens (\StorageVirtualMachine' {activeDirectoryConfiguration} -> activeDirectoryConfiguration) (\s@StorageVirtualMachine' {} a -> s {activeDirectoryConfiguration = a} :: StorageVirtualMachine)++-- | Undocumented member.+storageVirtualMachine_creationTime :: Lens.Lens' StorageVirtualMachine (Prelude.Maybe Prelude.UTCTime)+storageVirtualMachine_creationTime = Lens.lens (\StorageVirtualMachine' {creationTime} -> creationTime) (\s@StorageVirtualMachine' {} a -> s {creationTime = a} :: StorageVirtualMachine) Prelude.. Lens.mapping Data._Time++-- | The endpoints that are used to access data or to manage the SVM using+-- the NetApp ONTAP CLI, REST API, or NetApp CloudManager. They are the+-- @Iscsi@, @Management@, @Nfs@, and @Smb@ endpoints.+storageVirtualMachine_endpoints :: Lens.Lens' StorageVirtualMachine (Prelude.Maybe SvmEndpoints)+storageVirtualMachine_endpoints = Lens.lens (\StorageVirtualMachine' {endpoints} -> endpoints) (\s@StorageVirtualMachine' {} a -> s {endpoints = a} :: StorageVirtualMachine)++-- | Undocumented member.+storageVirtualMachine_fileSystemId :: Lens.Lens' StorageVirtualMachine (Prelude.Maybe Prelude.Text)+storageVirtualMachine_fileSystemId = Lens.lens (\StorageVirtualMachine' {fileSystemId} -> fileSystemId) (\s@StorageVirtualMachine' {} a -> s {fileSystemId = a} :: StorageVirtualMachine)++-- | Describes the SVM\'s lifecycle status.+--+-- - @CREATED@ - The SVM is fully available for use.+--+-- - @CREATING@ - Amazon FSx is creating the new SVM.+--+-- - @DELETING@ - Amazon FSx is deleting an existing SVM.+--+-- - @FAILED@ - Amazon FSx was unable to create the SVM.+--+-- - @MISCONFIGURED@ - The SVM is in a failed but recoverable state.+--+-- - @PENDING@ - Amazon FSx has not started creating the SVM.+storageVirtualMachine_lifecycle :: Lens.Lens' StorageVirtualMachine (Prelude.Maybe StorageVirtualMachineLifecycle)+storageVirtualMachine_lifecycle = Lens.lens (\StorageVirtualMachine' {lifecycle} -> lifecycle) (\s@StorageVirtualMachine' {} a -> s {lifecycle = a} :: StorageVirtualMachine)++-- | Describes why the SVM lifecycle state changed.+storageVirtualMachine_lifecycleTransitionReason :: Lens.Lens' StorageVirtualMachine (Prelude.Maybe LifecycleTransitionReason)+storageVirtualMachine_lifecycleTransitionReason = Lens.lens (\StorageVirtualMachine' {lifecycleTransitionReason} -> lifecycleTransitionReason) (\s@StorageVirtualMachine' {} a -> s {lifecycleTransitionReason = a} :: StorageVirtualMachine)++-- | The name of the SVM, if provisioned.+storageVirtualMachine_name :: Lens.Lens' StorageVirtualMachine (Prelude.Maybe Prelude.Text)+storageVirtualMachine_name = Lens.lens (\StorageVirtualMachine' {name} -> name) (\s@StorageVirtualMachine' {} a -> s {name = a} :: StorageVirtualMachine)++-- | Undocumented member.+storageVirtualMachine_resourceARN :: Lens.Lens' StorageVirtualMachine (Prelude.Maybe Prelude.Text)+storageVirtualMachine_resourceARN = Lens.lens (\StorageVirtualMachine' {resourceARN} -> resourceARN) (\s@StorageVirtualMachine' {} a -> s {resourceARN = a} :: StorageVirtualMachine)++-- | The security style of the root volume of the SVM.+storageVirtualMachine_rootVolumeSecurityStyle :: Lens.Lens' StorageVirtualMachine (Prelude.Maybe StorageVirtualMachineRootVolumeSecurityStyle)+storageVirtualMachine_rootVolumeSecurityStyle = Lens.lens (\StorageVirtualMachine' {rootVolumeSecurityStyle} -> rootVolumeSecurityStyle) (\s@StorageVirtualMachine' {} a -> s {rootVolumeSecurityStyle = a} :: StorageVirtualMachine)++-- | The SVM\'s system generated unique ID.+storageVirtualMachine_storageVirtualMachineId :: Lens.Lens' StorageVirtualMachine (Prelude.Maybe Prelude.Text)+storageVirtualMachine_storageVirtualMachineId = Lens.lens (\StorageVirtualMachine' {storageVirtualMachineId} -> storageVirtualMachineId) (\s@StorageVirtualMachine' {} a -> s {storageVirtualMachineId = a} :: StorageVirtualMachine)++-- | Describes the SVM\'s subtype.+storageVirtualMachine_subtype :: Lens.Lens' StorageVirtualMachine (Prelude.Maybe StorageVirtualMachineSubtype)+storageVirtualMachine_subtype = Lens.lens (\StorageVirtualMachine' {subtype} -> subtype) (\s@StorageVirtualMachine' {} a -> s {subtype = a} :: StorageVirtualMachine)++-- | Undocumented member.+storageVirtualMachine_tags :: Lens.Lens' StorageVirtualMachine (Prelude.Maybe (Prelude.NonEmpty Tag))+storageVirtualMachine_tags = Lens.lens (\StorageVirtualMachine' {tags} -> tags) (\s@StorageVirtualMachine' {} a -> s {tags = a} :: StorageVirtualMachine) Prelude.. Lens.mapping Lens.coerced++-- | The SVM\'s UUID (universally unique identifier).+storageVirtualMachine_uuid :: Lens.Lens' StorageVirtualMachine (Prelude.Maybe Prelude.Text)+storageVirtualMachine_uuid = Lens.lens (\StorageVirtualMachine' {uuid} -> uuid) (\s@StorageVirtualMachine' {} a -> s {uuid = a} :: StorageVirtualMachine)++instance Data.FromJSON StorageVirtualMachine where+ parseJSON =+ Data.withObject+ "StorageVirtualMachine"+ ( \x ->+ StorageVirtualMachine'+ Prelude.<$> (x Data..:? "ActiveDirectoryConfiguration")+ Prelude.<*> (x Data..:? "CreationTime")+ Prelude.<*> (x Data..:? "Endpoints")+ Prelude.<*> (x Data..:? "FileSystemId")+ Prelude.<*> (x Data..:? "Lifecycle")+ Prelude.<*> (x Data..:? "LifecycleTransitionReason")+ Prelude.<*> (x Data..:? "Name")+ Prelude.<*> (x Data..:? "ResourceARN")+ Prelude.<*> (x Data..:? "RootVolumeSecurityStyle")+ Prelude.<*> (x Data..:? "StorageVirtualMachineId")+ Prelude.<*> (x Data..:? "Subtype")+ Prelude.<*> (x Data..:? "Tags")+ Prelude.<*> (x Data..:? "UUID")+ )++instance Prelude.Hashable StorageVirtualMachine where+ hashWithSalt _salt StorageVirtualMachine' {..} =+ _salt+ `Prelude.hashWithSalt` activeDirectoryConfiguration+ `Prelude.hashWithSalt` creationTime+ `Prelude.hashWithSalt` endpoints+ `Prelude.hashWithSalt` fileSystemId+ `Prelude.hashWithSalt` lifecycle+ `Prelude.hashWithSalt` lifecycleTransitionReason+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` resourceARN+ `Prelude.hashWithSalt` rootVolumeSecurityStyle+ `Prelude.hashWithSalt` storageVirtualMachineId+ `Prelude.hashWithSalt` subtype+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` uuid++instance Prelude.NFData StorageVirtualMachine where+ rnf StorageVirtualMachine' {..} =+ Prelude.rnf activeDirectoryConfiguration+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf endpoints+ `Prelude.seq` Prelude.rnf fileSystemId+ `Prelude.seq` Prelude.rnf lifecycle+ `Prelude.seq` Prelude.rnf lifecycleTransitionReason+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf resourceARN+ `Prelude.seq` Prelude.rnf rootVolumeSecurityStyle+ `Prelude.seq` Prelude.rnf storageVirtualMachineId+ `Prelude.seq` Prelude.rnf subtype+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf uuid
+ gen/Amazonka/FSx/Types/StorageVirtualMachineFilter.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.FSx.Types.StorageVirtualMachineFilter+-- 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.FSx.Types.StorageVirtualMachineFilter where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types.StorageVirtualMachineFilterName+import qualified Amazonka.Prelude as Prelude++-- | A filter used to restrict the results of describe calls for Amazon FSx+-- for NetApp ONTAP storage virtual machines (SVMs). You can use multiple+-- filters to return results that meet all applied filter requirements.+--+-- /See:/ 'newStorageVirtualMachineFilter' smart constructor.+data StorageVirtualMachineFilter = StorageVirtualMachineFilter'+ { -- | The name for this filter.+ name :: Prelude.Maybe StorageVirtualMachineFilterName,+ -- | The values of the filter. These are all the values for any of the+ -- applied filters.+ values :: Prelude.Maybe [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StorageVirtualMachineFilter' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'storageVirtualMachineFilter_name' - The name for this filter.+--+-- 'values', 'storageVirtualMachineFilter_values' - The values of the filter. These are all the values for any of the+-- applied filters.+newStorageVirtualMachineFilter ::+ StorageVirtualMachineFilter+newStorageVirtualMachineFilter =+ StorageVirtualMachineFilter'+ { name =+ Prelude.Nothing,+ values = Prelude.Nothing+ }++-- | The name for this filter.+storageVirtualMachineFilter_name :: Lens.Lens' StorageVirtualMachineFilter (Prelude.Maybe StorageVirtualMachineFilterName)+storageVirtualMachineFilter_name = Lens.lens (\StorageVirtualMachineFilter' {name} -> name) (\s@StorageVirtualMachineFilter' {} a -> s {name = a} :: StorageVirtualMachineFilter)++-- | The values of the filter. These are all the values for any of the+-- applied filters.+storageVirtualMachineFilter_values :: Lens.Lens' StorageVirtualMachineFilter (Prelude.Maybe [Prelude.Text])+storageVirtualMachineFilter_values = Lens.lens (\StorageVirtualMachineFilter' {values} -> values) (\s@StorageVirtualMachineFilter' {} a -> s {values = a} :: StorageVirtualMachineFilter) Prelude.. Lens.mapping Lens.coerced++instance Prelude.Hashable StorageVirtualMachineFilter where+ hashWithSalt _salt StorageVirtualMachineFilter' {..} =+ _salt+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` values++instance Prelude.NFData StorageVirtualMachineFilter where+ rnf StorageVirtualMachineFilter' {..} =+ Prelude.rnf name `Prelude.seq` Prelude.rnf values++instance Data.ToJSON StorageVirtualMachineFilter where+ toJSON StorageVirtualMachineFilter' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Name" Data..=) Prelude.<$> name,+ ("Values" Data..=) Prelude.<$> values+ ]+ )
+ gen/Amazonka/FSx/Types/StorageVirtualMachineFilterName.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.FSx.Types.StorageVirtualMachineFilterName+-- 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.FSx.Types.StorageVirtualMachineFilterName+ ( StorageVirtualMachineFilterName+ ( ..,+ StorageVirtualMachineFilterName_File_system_id+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype StorageVirtualMachineFilterName = StorageVirtualMachineFilterName'+ { fromStorageVirtualMachineFilterName ::+ 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 StorageVirtualMachineFilterName_File_system_id :: StorageVirtualMachineFilterName+pattern StorageVirtualMachineFilterName_File_system_id = StorageVirtualMachineFilterName' "file-system-id"++{-# COMPLETE+ StorageVirtualMachineFilterName_File_system_id,+ StorageVirtualMachineFilterName'+ #-}
+ gen/Amazonka/FSx/Types/StorageVirtualMachineLifecycle.hs view
@@ -0,0 +1,91 @@+{-# 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.FSx.Types.StorageVirtualMachineLifecycle+-- 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.FSx.Types.StorageVirtualMachineLifecycle+ ( StorageVirtualMachineLifecycle+ ( ..,+ StorageVirtualMachineLifecycle_CREATED,+ StorageVirtualMachineLifecycle_CREATING,+ StorageVirtualMachineLifecycle_DELETING,+ StorageVirtualMachineLifecycle_FAILED,+ StorageVirtualMachineLifecycle_MISCONFIGURED,+ StorageVirtualMachineLifecycle_PENDING+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype StorageVirtualMachineLifecycle = StorageVirtualMachineLifecycle'+ { fromStorageVirtualMachineLifecycle ::+ 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 StorageVirtualMachineLifecycle_CREATED :: StorageVirtualMachineLifecycle+pattern StorageVirtualMachineLifecycle_CREATED = StorageVirtualMachineLifecycle' "CREATED"++pattern StorageVirtualMachineLifecycle_CREATING :: StorageVirtualMachineLifecycle+pattern StorageVirtualMachineLifecycle_CREATING = StorageVirtualMachineLifecycle' "CREATING"++pattern StorageVirtualMachineLifecycle_DELETING :: StorageVirtualMachineLifecycle+pattern StorageVirtualMachineLifecycle_DELETING = StorageVirtualMachineLifecycle' "DELETING"++pattern StorageVirtualMachineLifecycle_FAILED :: StorageVirtualMachineLifecycle+pattern StorageVirtualMachineLifecycle_FAILED = StorageVirtualMachineLifecycle' "FAILED"++pattern StorageVirtualMachineLifecycle_MISCONFIGURED :: StorageVirtualMachineLifecycle+pattern StorageVirtualMachineLifecycle_MISCONFIGURED = StorageVirtualMachineLifecycle' "MISCONFIGURED"++pattern StorageVirtualMachineLifecycle_PENDING :: StorageVirtualMachineLifecycle+pattern StorageVirtualMachineLifecycle_PENDING = StorageVirtualMachineLifecycle' "PENDING"++{-# COMPLETE+ StorageVirtualMachineLifecycle_CREATED,+ StorageVirtualMachineLifecycle_CREATING,+ StorageVirtualMachineLifecycle_DELETING,+ StorageVirtualMachineLifecycle_FAILED,+ StorageVirtualMachineLifecycle_MISCONFIGURED,+ StorageVirtualMachineLifecycle_PENDING,+ StorageVirtualMachineLifecycle'+ #-}
+ gen/Amazonka/FSx/Types/StorageVirtualMachineRootVolumeSecurityStyle.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.FSx.Types.StorageVirtualMachineRootVolumeSecurityStyle+-- 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.FSx.Types.StorageVirtualMachineRootVolumeSecurityStyle+ ( StorageVirtualMachineRootVolumeSecurityStyle+ ( ..,+ StorageVirtualMachineRootVolumeSecurityStyle_MIXED,+ StorageVirtualMachineRootVolumeSecurityStyle_NTFS,+ StorageVirtualMachineRootVolumeSecurityStyle_UNIX+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype StorageVirtualMachineRootVolumeSecurityStyle = StorageVirtualMachineRootVolumeSecurityStyle'+ { fromStorageVirtualMachineRootVolumeSecurityStyle ::+ 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 StorageVirtualMachineRootVolumeSecurityStyle_MIXED :: StorageVirtualMachineRootVolumeSecurityStyle+pattern StorageVirtualMachineRootVolumeSecurityStyle_MIXED = StorageVirtualMachineRootVolumeSecurityStyle' "MIXED"++pattern StorageVirtualMachineRootVolumeSecurityStyle_NTFS :: StorageVirtualMachineRootVolumeSecurityStyle+pattern StorageVirtualMachineRootVolumeSecurityStyle_NTFS = StorageVirtualMachineRootVolumeSecurityStyle' "NTFS"++pattern StorageVirtualMachineRootVolumeSecurityStyle_UNIX :: StorageVirtualMachineRootVolumeSecurityStyle+pattern StorageVirtualMachineRootVolumeSecurityStyle_UNIX = StorageVirtualMachineRootVolumeSecurityStyle' "UNIX"++{-# COMPLETE+ StorageVirtualMachineRootVolumeSecurityStyle_MIXED,+ StorageVirtualMachineRootVolumeSecurityStyle_NTFS,+ StorageVirtualMachineRootVolumeSecurityStyle_UNIX,+ StorageVirtualMachineRootVolumeSecurityStyle'+ #-}
+ gen/Amazonka/FSx/Types/StorageVirtualMachineSubtype.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.FSx.Types.StorageVirtualMachineSubtype+-- 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.FSx.Types.StorageVirtualMachineSubtype+ ( StorageVirtualMachineSubtype+ ( ..,+ StorageVirtualMachineSubtype_DEFAULT,+ StorageVirtualMachineSubtype_DP_DESTINATION,+ StorageVirtualMachineSubtype_SYNC_DESTINATION,+ StorageVirtualMachineSubtype_SYNC_SOURCE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype StorageVirtualMachineSubtype = StorageVirtualMachineSubtype'+ { fromStorageVirtualMachineSubtype ::+ 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 StorageVirtualMachineSubtype_DEFAULT :: StorageVirtualMachineSubtype+pattern StorageVirtualMachineSubtype_DEFAULT = StorageVirtualMachineSubtype' "DEFAULT"++pattern StorageVirtualMachineSubtype_DP_DESTINATION :: StorageVirtualMachineSubtype+pattern StorageVirtualMachineSubtype_DP_DESTINATION = StorageVirtualMachineSubtype' "DP_DESTINATION"++pattern StorageVirtualMachineSubtype_SYNC_DESTINATION :: StorageVirtualMachineSubtype+pattern StorageVirtualMachineSubtype_SYNC_DESTINATION = StorageVirtualMachineSubtype' "SYNC_DESTINATION"++pattern StorageVirtualMachineSubtype_SYNC_SOURCE :: StorageVirtualMachineSubtype+pattern StorageVirtualMachineSubtype_SYNC_SOURCE = StorageVirtualMachineSubtype' "SYNC_SOURCE"++{-# COMPLETE+ StorageVirtualMachineSubtype_DEFAULT,+ StorageVirtualMachineSubtype_DP_DESTINATION,+ StorageVirtualMachineSubtype_SYNC_DESTINATION,+ StorageVirtualMachineSubtype_SYNC_SOURCE,+ StorageVirtualMachineSubtype'+ #-}
+ gen/Amazonka/FSx/Types/SvmActiveDirectoryConfiguration.hs view
@@ -0,0 +1,105 @@+{-# 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.FSx.Types.SvmActiveDirectoryConfiguration+-- 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.FSx.Types.SvmActiveDirectoryConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types.SelfManagedActiveDirectoryAttributes+import qualified Amazonka.Prelude as Prelude++-- | Describes the configuration of the Microsoft Active Directory (AD)+-- directory to which the Amazon FSx for ONTAP storage virtual machine+-- (SVM) is joined. Pleae note, account credentials are not returned in the+-- response payload.+--+-- /See:/ 'newSvmActiveDirectoryConfiguration' smart constructor.+data SvmActiveDirectoryConfiguration = SvmActiveDirectoryConfiguration'+ { -- | The NetBIOS name of the Active Directory computer object that is joined+ -- to your SVM.+ netBiosName :: Prelude.Maybe Prelude.Text,+ selfManagedActiveDirectoryConfiguration :: Prelude.Maybe SelfManagedActiveDirectoryAttributes+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SvmActiveDirectoryConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'netBiosName', 'svmActiveDirectoryConfiguration_netBiosName' - The NetBIOS name of the Active Directory computer object that is joined+-- to your SVM.+--+-- 'selfManagedActiveDirectoryConfiguration', 'svmActiveDirectoryConfiguration_selfManagedActiveDirectoryConfiguration' - Undocumented member.+newSvmActiveDirectoryConfiguration ::+ SvmActiveDirectoryConfiguration+newSvmActiveDirectoryConfiguration =+ SvmActiveDirectoryConfiguration'+ { netBiosName =+ Prelude.Nothing,+ selfManagedActiveDirectoryConfiguration =+ Prelude.Nothing+ }++-- | The NetBIOS name of the Active Directory computer object that is joined+-- to your SVM.+svmActiveDirectoryConfiguration_netBiosName :: Lens.Lens' SvmActiveDirectoryConfiguration (Prelude.Maybe Prelude.Text)+svmActiveDirectoryConfiguration_netBiosName = Lens.lens (\SvmActiveDirectoryConfiguration' {netBiosName} -> netBiosName) (\s@SvmActiveDirectoryConfiguration' {} a -> s {netBiosName = a} :: SvmActiveDirectoryConfiguration)++-- | Undocumented member.+svmActiveDirectoryConfiguration_selfManagedActiveDirectoryConfiguration :: Lens.Lens' SvmActiveDirectoryConfiguration (Prelude.Maybe SelfManagedActiveDirectoryAttributes)+svmActiveDirectoryConfiguration_selfManagedActiveDirectoryConfiguration = Lens.lens (\SvmActiveDirectoryConfiguration' {selfManagedActiveDirectoryConfiguration} -> selfManagedActiveDirectoryConfiguration) (\s@SvmActiveDirectoryConfiguration' {} a -> s {selfManagedActiveDirectoryConfiguration = a} :: SvmActiveDirectoryConfiguration)++instance+ Data.FromJSON+ SvmActiveDirectoryConfiguration+ where+ parseJSON =+ Data.withObject+ "SvmActiveDirectoryConfiguration"+ ( \x ->+ SvmActiveDirectoryConfiguration'+ Prelude.<$> (x Data..:? "NetBiosName")+ Prelude.<*> ( x+ Data..:? "SelfManagedActiveDirectoryConfiguration"+ )+ )++instance+ Prelude.Hashable+ SvmActiveDirectoryConfiguration+ where+ hashWithSalt+ _salt+ SvmActiveDirectoryConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` netBiosName+ `Prelude.hashWithSalt` selfManagedActiveDirectoryConfiguration++instance+ Prelude.NFData+ SvmActiveDirectoryConfiguration+ where+ rnf SvmActiveDirectoryConfiguration' {..} =+ Prelude.rnf netBiosName+ `Prelude.seq` Prelude.rnf selfManagedActiveDirectoryConfiguration
+ gen/Amazonka/FSx/Types/SvmEndpoint.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.FSx.Types.SvmEndpoint+-- 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.FSx.Types.SvmEndpoint where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | An Amazon FSx for NetApp ONTAP storage virtual machine (SVM) has four+-- endpoints that are used to access data or to manage the SVM using the+-- NetApp ONTAP CLI, REST API, or NetApp CloudManager. They are the+-- @Iscsi@, @Management@, @Nfs@, and @Smb@ endpoints.+--+-- /See:/ 'newSvmEndpoint' smart constructor.+data SvmEndpoint = SvmEndpoint'+ { dNSName :: Prelude.Maybe Prelude.Text,+ -- | The SVM endpoint\'s IP addresses.+ ipAddresses :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text)+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SvmEndpoint' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dNSName', 'svmEndpoint_dNSName' - Undocumented member.+--+-- 'ipAddresses', 'svmEndpoint_ipAddresses' - The SVM endpoint\'s IP addresses.+newSvmEndpoint ::+ SvmEndpoint+newSvmEndpoint =+ SvmEndpoint'+ { dNSName = Prelude.Nothing,+ ipAddresses = Prelude.Nothing+ }++-- | Undocumented member.+svmEndpoint_dNSName :: Lens.Lens' SvmEndpoint (Prelude.Maybe Prelude.Text)+svmEndpoint_dNSName = Lens.lens (\SvmEndpoint' {dNSName} -> dNSName) (\s@SvmEndpoint' {} a -> s {dNSName = a} :: SvmEndpoint)++-- | The SVM endpoint\'s IP addresses.+svmEndpoint_ipAddresses :: Lens.Lens' SvmEndpoint (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+svmEndpoint_ipAddresses = Lens.lens (\SvmEndpoint' {ipAddresses} -> ipAddresses) (\s@SvmEndpoint' {} a -> s {ipAddresses = a} :: SvmEndpoint) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON SvmEndpoint where+ parseJSON =+ Data.withObject+ "SvmEndpoint"+ ( \x ->+ SvmEndpoint'+ Prelude.<$> (x Data..:? "DNSName")+ Prelude.<*> (x Data..:? "IpAddresses")+ )++instance Prelude.Hashable SvmEndpoint where+ hashWithSalt _salt SvmEndpoint' {..} =+ _salt+ `Prelude.hashWithSalt` dNSName+ `Prelude.hashWithSalt` ipAddresses++instance Prelude.NFData SvmEndpoint where+ rnf SvmEndpoint' {..} =+ Prelude.rnf dNSName+ `Prelude.seq` Prelude.rnf ipAddresses
+ gen/Amazonka/FSx/Types/SvmEndpoints.hs view
@@ -0,0 +1,120 @@+{-# 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.FSx.Types.SvmEndpoints+-- 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.FSx.Types.SvmEndpoints where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types.SvmEndpoint+import qualified Amazonka.Prelude as Prelude++-- | An Amazon FSx for NetApp ONTAP storage virtual machine (SVM) has the+-- following endpoints that are used to access data or to manage the SVM+-- using the NetApp ONTAP CLI, REST API, or NetApp CloudManager.+--+-- /See:/ 'newSvmEndpoints' smart constructor.+data SvmEndpoints = SvmEndpoints'+ { -- | An endpoint for connecting using the Internet Small Computer Systems+ -- Interface (iSCSI) protocol.+ iscsi :: Prelude.Maybe SvmEndpoint,+ -- | An endpoint for managing SVMs using the NetApp ONTAP CLI, NetApp ONTAP+ -- API, or NetApp CloudManager.+ management :: Prelude.Maybe SvmEndpoint,+ -- | An endpoint for connecting using the Network File System (NFS) protocol.+ nfs :: Prelude.Maybe SvmEndpoint,+ -- | An endpoint for connecting using the Server Message Block (SMB)+ -- protocol.+ smb :: Prelude.Maybe SvmEndpoint+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SvmEndpoints' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'iscsi', 'svmEndpoints_iscsi' - An endpoint for connecting using the Internet Small Computer Systems+-- Interface (iSCSI) protocol.+--+-- 'management', 'svmEndpoints_management' - An endpoint for managing SVMs using the NetApp ONTAP CLI, NetApp ONTAP+-- API, or NetApp CloudManager.+--+-- 'nfs', 'svmEndpoints_nfs' - An endpoint for connecting using the Network File System (NFS) protocol.+--+-- 'smb', 'svmEndpoints_smb' - An endpoint for connecting using the Server Message Block (SMB)+-- protocol.+newSvmEndpoints ::+ SvmEndpoints+newSvmEndpoints =+ SvmEndpoints'+ { iscsi = Prelude.Nothing,+ management = Prelude.Nothing,+ nfs = Prelude.Nothing,+ smb = Prelude.Nothing+ }++-- | An endpoint for connecting using the Internet Small Computer Systems+-- Interface (iSCSI) protocol.+svmEndpoints_iscsi :: Lens.Lens' SvmEndpoints (Prelude.Maybe SvmEndpoint)+svmEndpoints_iscsi = Lens.lens (\SvmEndpoints' {iscsi} -> iscsi) (\s@SvmEndpoints' {} a -> s {iscsi = a} :: SvmEndpoints)++-- | An endpoint for managing SVMs using the NetApp ONTAP CLI, NetApp ONTAP+-- API, or NetApp CloudManager.+svmEndpoints_management :: Lens.Lens' SvmEndpoints (Prelude.Maybe SvmEndpoint)+svmEndpoints_management = Lens.lens (\SvmEndpoints' {management} -> management) (\s@SvmEndpoints' {} a -> s {management = a} :: SvmEndpoints)++-- | An endpoint for connecting using the Network File System (NFS) protocol.+svmEndpoints_nfs :: Lens.Lens' SvmEndpoints (Prelude.Maybe SvmEndpoint)+svmEndpoints_nfs = Lens.lens (\SvmEndpoints' {nfs} -> nfs) (\s@SvmEndpoints' {} a -> s {nfs = a} :: SvmEndpoints)++-- | An endpoint for connecting using the Server Message Block (SMB)+-- protocol.+svmEndpoints_smb :: Lens.Lens' SvmEndpoints (Prelude.Maybe SvmEndpoint)+svmEndpoints_smb = Lens.lens (\SvmEndpoints' {smb} -> smb) (\s@SvmEndpoints' {} a -> s {smb = a} :: SvmEndpoints)++instance Data.FromJSON SvmEndpoints where+ parseJSON =+ Data.withObject+ "SvmEndpoints"+ ( \x ->+ SvmEndpoints'+ Prelude.<$> (x Data..:? "Iscsi")+ Prelude.<*> (x Data..:? "Management")+ Prelude.<*> (x Data..:? "Nfs")+ Prelude.<*> (x Data..:? "Smb")+ )++instance Prelude.Hashable SvmEndpoints where+ hashWithSalt _salt SvmEndpoints' {..} =+ _salt+ `Prelude.hashWithSalt` iscsi+ `Prelude.hashWithSalt` management+ `Prelude.hashWithSalt` nfs+ `Prelude.hashWithSalt` smb++instance Prelude.NFData SvmEndpoints where+ rnf SvmEndpoints' {..} =+ Prelude.rnf iscsi+ `Prelude.seq` Prelude.rnf management+ `Prelude.seq` Prelude.rnf nfs+ `Prelude.seq` Prelude.rnf smb
+ gen/Amazonka/FSx/Types/Tag.hs view
@@ -0,0 +1,105 @@+{-# 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.FSx.Types.Tag+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.FSx.Types.Tag where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specifies a key-value pair for a resource tag.+--+-- /See:/ 'newTag' smart constructor.+data Tag = Tag'+ { -- | A value that specifies the @TagKey@, the name of the tag. Tag keys must+ -- be unique for the resource to which they are attached.+ key :: Prelude.Text,+ -- | A value that specifies the @TagValue@, the value assigned to the+ -- corresponding tag key. Tag values can be null and don\'t have to be+ -- unique in a tag set. For example, you can have a key-value pair in a tag+ -- set of @finances : April@ and also of @payroll : April@.+ value :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Tag' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'key', 'tag_key' - A value that specifies the @TagKey@, the name of the tag. Tag keys must+-- be unique for the resource to which they are attached.+--+-- 'value', 'tag_value' - A value that specifies the @TagValue@, the value assigned to the+-- corresponding tag key. Tag values can be null and don\'t have to be+-- unique in a tag set. For example, you can have a key-value pair in a tag+-- set of @finances : April@ and also of @payroll : April@.+newTag ::+ -- | 'key'+ Prelude.Text ->+ -- | 'value'+ Prelude.Text ->+ Tag+newTag pKey_ pValue_ =+ Tag' {key = pKey_, value = pValue_}++-- | A value that specifies the @TagKey@, the name of the tag. Tag keys must+-- be unique for the resource to which they are attached.+tag_key :: Lens.Lens' Tag Prelude.Text+tag_key = Lens.lens (\Tag' {key} -> key) (\s@Tag' {} a -> s {key = a} :: Tag)++-- | A value that specifies the @TagValue@, the value assigned to the+-- corresponding tag key. Tag values can be null and don\'t have to be+-- unique in a tag set. For example, you can have a key-value pair in a tag+-- set of @finances : April@ and also of @payroll : April@.+tag_value :: Lens.Lens' Tag Prelude.Text+tag_value = Lens.lens (\Tag' {value} -> value) (\s@Tag' {} a -> s {value = a} :: Tag)++instance Data.FromJSON Tag where+ parseJSON =+ Data.withObject+ "Tag"+ ( \x ->+ Tag'+ Prelude.<$> (x Data..: "Key")+ Prelude.<*> (x Data..: "Value")+ )++instance Prelude.Hashable Tag where+ hashWithSalt _salt Tag' {..} =+ _salt+ `Prelude.hashWithSalt` key+ `Prelude.hashWithSalt` value++instance Prelude.NFData Tag where+ rnf Tag' {..} =+ Prelude.rnf key `Prelude.seq` Prelude.rnf value++instance Data.ToJSON Tag where+ toJSON Tag' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("Key" Data..= key),+ Prelude.Just ("Value" Data..= value)+ ]+ )
+ gen/Amazonka/FSx/Types/TieringPolicy.hs view
@@ -0,0 +1,162 @@+{-# 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.FSx.Types.TieringPolicy+-- 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.FSx.Types.TieringPolicy where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types.TieringPolicyName+import qualified Amazonka.Prelude as Prelude++-- | Describes the data tiering policy for an ONTAP volume. When enabled,+-- Amazon FSx for ONTAP\'s intelligent tiering automatically transitions a+-- volume\'s data between the file system\'s primary storage and capacity+-- pool storage based on your access patterns.+--+-- Valid tiering policies are the following:+--+-- - @SNAPSHOT_ONLY@ - (Default value) moves cold snapshots to the+-- capacity pool storage tier.+--+-- - @AUTO@ - moves cold user data and snapshots to the capacity pool+-- storage tier based on your access patterns.+--+-- - @ALL@ - moves all user data blocks in both the active file system+-- and Snapshot copies to the storage pool tier.+--+-- - @NONE@ - keeps a volume\'s data in the primary storage tier,+-- preventing it from being moved to the capacity pool tier.+--+-- /See:/ 'newTieringPolicy' smart constructor.+data TieringPolicy = TieringPolicy'+ { -- | Specifies the number of days that user data in a volume must remain+ -- inactive before it is considered \"cold\" and moved to the capacity+ -- pool. Used with the @AUTO@ and @SNAPSHOT_ONLY@ tiering policies. Enter a+ -- whole number between 2 and 183. Default values are 31 days for @AUTO@+ -- and 2 days for @SNAPSHOT_ONLY@.+ coolingPeriod :: Prelude.Maybe Prelude.Natural,+ -- | Specifies the tiering policy used to transition data. Default value is+ -- @SNAPSHOT_ONLY@.+ --+ -- - @SNAPSHOT_ONLY@ - moves cold snapshots to the capacity pool storage+ -- tier.+ --+ -- - @AUTO@ - moves cold user data and snapshots to the capacity pool+ -- storage tier based on your access patterns.+ --+ -- - @ALL@ - moves all user data blocks in both the active file system+ -- and Snapshot copies to the storage pool tier.+ --+ -- - @NONE@ - keeps a volume\'s data in the primary storage tier,+ -- preventing it from being moved to the capacity pool tier.+ name :: Prelude.Maybe TieringPolicyName+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TieringPolicy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'coolingPeriod', 'tieringPolicy_coolingPeriod' - Specifies the number of days that user data in a volume must remain+-- inactive before it is considered \"cold\" and moved to the capacity+-- pool. Used with the @AUTO@ and @SNAPSHOT_ONLY@ tiering policies. Enter a+-- whole number between 2 and 183. Default values are 31 days for @AUTO@+-- and 2 days for @SNAPSHOT_ONLY@.+--+-- 'name', 'tieringPolicy_name' - Specifies the tiering policy used to transition data. Default value is+-- @SNAPSHOT_ONLY@.+--+-- - @SNAPSHOT_ONLY@ - moves cold snapshots to the capacity pool storage+-- tier.+--+-- - @AUTO@ - moves cold user data and snapshots to the capacity pool+-- storage tier based on your access patterns.+--+-- - @ALL@ - moves all user data blocks in both the active file system+-- and Snapshot copies to the storage pool tier.+--+-- - @NONE@ - keeps a volume\'s data in the primary storage tier,+-- preventing it from being moved to the capacity pool tier.+newTieringPolicy ::+ TieringPolicy+newTieringPolicy =+ TieringPolicy'+ { coolingPeriod = Prelude.Nothing,+ name = Prelude.Nothing+ }++-- | Specifies the number of days that user data in a volume must remain+-- inactive before it is considered \"cold\" and moved to the capacity+-- pool. Used with the @AUTO@ and @SNAPSHOT_ONLY@ tiering policies. Enter a+-- whole number between 2 and 183. Default values are 31 days for @AUTO@+-- and 2 days for @SNAPSHOT_ONLY@.+tieringPolicy_coolingPeriod :: Lens.Lens' TieringPolicy (Prelude.Maybe Prelude.Natural)+tieringPolicy_coolingPeriod = Lens.lens (\TieringPolicy' {coolingPeriod} -> coolingPeriod) (\s@TieringPolicy' {} a -> s {coolingPeriod = a} :: TieringPolicy)++-- | Specifies the tiering policy used to transition data. Default value is+-- @SNAPSHOT_ONLY@.+--+-- - @SNAPSHOT_ONLY@ - moves cold snapshots to the capacity pool storage+-- tier.+--+-- - @AUTO@ - moves cold user data and snapshots to the capacity pool+-- storage tier based on your access patterns.+--+-- - @ALL@ - moves all user data blocks in both the active file system+-- and Snapshot copies to the storage pool tier.+--+-- - @NONE@ - keeps a volume\'s data in the primary storage tier,+-- preventing it from being moved to the capacity pool tier.+tieringPolicy_name :: Lens.Lens' TieringPolicy (Prelude.Maybe TieringPolicyName)+tieringPolicy_name = Lens.lens (\TieringPolicy' {name} -> name) (\s@TieringPolicy' {} a -> s {name = a} :: TieringPolicy)++instance Data.FromJSON TieringPolicy where+ parseJSON =+ Data.withObject+ "TieringPolicy"+ ( \x ->+ TieringPolicy'+ Prelude.<$> (x Data..:? "CoolingPeriod")+ Prelude.<*> (x Data..:? "Name")+ )++instance Prelude.Hashable TieringPolicy where+ hashWithSalt _salt TieringPolicy' {..} =+ _salt+ `Prelude.hashWithSalt` coolingPeriod+ `Prelude.hashWithSalt` name++instance Prelude.NFData TieringPolicy where+ rnf TieringPolicy' {..} =+ Prelude.rnf coolingPeriod+ `Prelude.seq` Prelude.rnf name++instance Data.ToJSON TieringPolicy where+ toJSON TieringPolicy' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("CoolingPeriod" Data..=) Prelude.<$> coolingPeriod,+ ("Name" Data..=) Prelude.<$> name+ ]+ )
+ gen/Amazonka/FSx/Types/TieringPolicyName.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.FSx.Types.TieringPolicyName+-- 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.FSx.Types.TieringPolicyName+ ( TieringPolicyName+ ( ..,+ TieringPolicyName_ALL,+ TieringPolicyName_AUTO,+ TieringPolicyName_NONE,+ TieringPolicyName_SNAPSHOT_ONLY+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype TieringPolicyName = TieringPolicyName'+ { fromTieringPolicyName ::+ 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 TieringPolicyName_ALL :: TieringPolicyName+pattern TieringPolicyName_ALL = TieringPolicyName' "ALL"++pattern TieringPolicyName_AUTO :: TieringPolicyName+pattern TieringPolicyName_AUTO = TieringPolicyName' "AUTO"++pattern TieringPolicyName_NONE :: TieringPolicyName+pattern TieringPolicyName_NONE = TieringPolicyName' "NONE"++pattern TieringPolicyName_SNAPSHOT_ONLY :: TieringPolicyName+pattern TieringPolicyName_SNAPSHOT_ONLY = TieringPolicyName' "SNAPSHOT_ONLY"++{-# COMPLETE+ TieringPolicyName_ALL,+ TieringPolicyName_AUTO,+ TieringPolicyName_NONE,+ TieringPolicyName_SNAPSHOT_ONLY,+ TieringPolicyName'+ #-}
+ gen/Amazonka/FSx/Types/UpdateFileCacheLustreConfiguration.hs view
@@ -0,0 +1,83 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FSx.Types.UpdateFileCacheLustreConfiguration+-- 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.FSx.Types.UpdateFileCacheLustreConfiguration 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 configuration update for an Amazon File Cache resource.+--+-- /See:/ 'newUpdateFileCacheLustreConfiguration' smart constructor.+data UpdateFileCacheLustreConfiguration = UpdateFileCacheLustreConfiguration'+ { weeklyMaintenanceStartTime :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateFileCacheLustreConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'weeklyMaintenanceStartTime', 'updateFileCacheLustreConfiguration_weeklyMaintenanceStartTime' - Undocumented member.+newUpdateFileCacheLustreConfiguration ::+ UpdateFileCacheLustreConfiguration+newUpdateFileCacheLustreConfiguration =+ UpdateFileCacheLustreConfiguration'+ { weeklyMaintenanceStartTime =+ Prelude.Nothing+ }++-- | Undocumented member.+updateFileCacheLustreConfiguration_weeklyMaintenanceStartTime :: Lens.Lens' UpdateFileCacheLustreConfiguration (Prelude.Maybe Prelude.Text)+updateFileCacheLustreConfiguration_weeklyMaintenanceStartTime = Lens.lens (\UpdateFileCacheLustreConfiguration' {weeklyMaintenanceStartTime} -> weeklyMaintenanceStartTime) (\s@UpdateFileCacheLustreConfiguration' {} a -> s {weeklyMaintenanceStartTime = a} :: UpdateFileCacheLustreConfiguration)++instance+ Prelude.Hashable+ UpdateFileCacheLustreConfiguration+ where+ hashWithSalt+ _salt+ UpdateFileCacheLustreConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` weeklyMaintenanceStartTime++instance+ Prelude.NFData+ UpdateFileCacheLustreConfiguration+ where+ rnf UpdateFileCacheLustreConfiguration' {..} =+ Prelude.rnf weeklyMaintenanceStartTime++instance+ Data.ToJSON+ UpdateFileCacheLustreConfiguration+ where+ toJSON UpdateFileCacheLustreConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("WeeklyMaintenanceStartTime" Data..=)+ Prelude.<$> weeklyMaintenanceStartTime+ ]+ )
+ gen/Amazonka/FSx/Types/UpdateFileSystemLustreConfiguration.hs view
@@ -0,0 +1,304 @@+{-# 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.FSx.Types.UpdateFileSystemLustreConfiguration+-- 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.FSx.Types.UpdateFileSystemLustreConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types.AutoImportPolicyType+import Amazonka.FSx.Types.DataCompressionType+import Amazonka.FSx.Types.LustreLogCreateConfiguration+import Amazonka.FSx.Types.LustreRootSquashConfiguration+import qualified Amazonka.Prelude as Prelude++-- | The configuration object for Amazon FSx for Lustre file systems used in+-- the @UpdateFileSystem@ operation.+--+-- /See:/ 'newUpdateFileSystemLustreConfiguration' smart constructor.+data UpdateFileSystemLustreConfiguration = UpdateFileSystemLustreConfiguration'+ { -- | (Optional) When you create your file system, your existing S3 objects+ -- appear as file and directory listings. Use this property to choose how+ -- Amazon FSx keeps your file and directory listing up to date as you add+ -- or modify objects in your linked S3 bucket. @AutoImportPolicy@ can have+ -- the following values:+ --+ -- - @NONE@ - (Default) AutoImport is off. Amazon FSx only updates file+ -- and directory listings from the linked S3 bucket when the file+ -- system is created. FSx does not update the file and directory+ -- listing for any new or changed objects after choosing this option.+ --+ -- - @NEW@ - AutoImport is on. Amazon FSx automatically imports directory+ -- listings of any new objects added to the linked S3 bucket that do+ -- not currently exist in the FSx file system.+ --+ -- - @NEW_CHANGED@ - AutoImport is on. Amazon FSx automatically imports+ -- file and directory listings of any new objects added to the S3+ -- bucket and any existing objects that are changed in the S3 bucket+ -- after you choose this option.+ --+ -- - @NEW_CHANGED_DELETED@ - AutoImport is on. Amazon FSx automatically+ -- imports file and directory listings of any new objects added to the+ -- S3 bucket, any existing objects that are changed in the S3 bucket,+ -- and any objects that were deleted in the S3 bucket.+ --+ -- The @AutoImportPolicy@ parameter is not supported for Lustre file+ -- systems with the @Persistent_2@ deployment type. Instead, use to update+ -- a data repository association on your @Persistent_2@ file system.+ autoImportPolicy :: Prelude.Maybe AutoImportPolicyType,+ automaticBackupRetentionDays :: Prelude.Maybe Prelude.Natural,+ dailyAutomaticBackupStartTime :: Prelude.Maybe Prelude.Text,+ -- | Sets the data compression configuration for the file system.+ -- @DataCompressionType@ can have the following values:+ --+ -- - @NONE@ - Data compression is turned off for the file system.+ --+ -- - @LZ4@ - Data compression is turned on with the LZ4 algorithm.+ --+ -- If you don\'t use @DataCompressionType@, the file system retains its+ -- current data compression configuration.+ --+ -- For more information, see+ -- <https://docs.aws.amazon.com/fsx/latest/LustreGuide/data-compression.html Lustre data compression>.+ dataCompressionType :: Prelude.Maybe DataCompressionType,+ -- | The Lustre logging configuration used when updating an Amazon FSx for+ -- Lustre file system. When logging is enabled, Lustre logs error and+ -- warning events for data repositories associated with your file system to+ -- Amazon CloudWatch Logs.+ logConfiguration :: Prelude.Maybe LustreLogCreateConfiguration,+ -- | The Lustre root squash configuration used when updating an Amazon FSx+ -- for Lustre file system. When enabled, root squash restricts root-level+ -- access from clients that try to access your file system as a root user.+ rootSquashConfiguration :: Prelude.Maybe LustreRootSquashConfiguration,+ -- | (Optional) The preferred start time to perform weekly maintenance,+ -- formatted d:HH:MM in the UTC time zone. d is the weekday number, from 1+ -- through 7, beginning with Monday and ending with Sunday.+ weeklyMaintenanceStartTime :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateFileSystemLustreConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'autoImportPolicy', 'updateFileSystemLustreConfiguration_autoImportPolicy' - (Optional) When you create your file system, your existing S3 objects+-- appear as file and directory listings. Use this property to choose how+-- Amazon FSx keeps your file and directory listing up to date as you add+-- or modify objects in your linked S3 bucket. @AutoImportPolicy@ can have+-- the following values:+--+-- - @NONE@ - (Default) AutoImport is off. Amazon FSx only updates file+-- and directory listings from the linked S3 bucket when the file+-- system is created. FSx does not update the file and directory+-- listing for any new or changed objects after choosing this option.+--+-- - @NEW@ - AutoImport is on. Amazon FSx automatically imports directory+-- listings of any new objects added to the linked S3 bucket that do+-- not currently exist in the FSx file system.+--+-- - @NEW_CHANGED@ - AutoImport is on. Amazon FSx automatically imports+-- file and directory listings of any new objects added to the S3+-- bucket and any existing objects that are changed in the S3 bucket+-- after you choose this option.+--+-- - @NEW_CHANGED_DELETED@ - AutoImport is on. Amazon FSx automatically+-- imports file and directory listings of any new objects added to the+-- S3 bucket, any existing objects that are changed in the S3 bucket,+-- and any objects that were deleted in the S3 bucket.+--+-- The @AutoImportPolicy@ parameter is not supported for Lustre file+-- systems with the @Persistent_2@ deployment type. Instead, use to update+-- a data repository association on your @Persistent_2@ file system.+--+-- 'automaticBackupRetentionDays', 'updateFileSystemLustreConfiguration_automaticBackupRetentionDays' - Undocumented member.+--+-- 'dailyAutomaticBackupStartTime', 'updateFileSystemLustreConfiguration_dailyAutomaticBackupStartTime' - Undocumented member.+--+-- 'dataCompressionType', 'updateFileSystemLustreConfiguration_dataCompressionType' - Sets the data compression configuration for the file system.+-- @DataCompressionType@ can have the following values:+--+-- - @NONE@ - Data compression is turned off for the file system.+--+-- - @LZ4@ - Data compression is turned on with the LZ4 algorithm.+--+-- If you don\'t use @DataCompressionType@, the file system retains its+-- current data compression configuration.+--+-- For more information, see+-- <https://docs.aws.amazon.com/fsx/latest/LustreGuide/data-compression.html Lustre data compression>.+--+-- 'logConfiguration', 'updateFileSystemLustreConfiguration_logConfiguration' - The Lustre logging configuration used when updating an Amazon FSx for+-- Lustre file system. When logging is enabled, Lustre logs error and+-- warning events for data repositories associated with your file system to+-- Amazon CloudWatch Logs.+--+-- 'rootSquashConfiguration', 'updateFileSystemLustreConfiguration_rootSquashConfiguration' - The Lustre root squash configuration used when updating an Amazon FSx+-- for Lustre file system. When enabled, root squash restricts root-level+-- access from clients that try to access your file system as a root user.+--+-- 'weeklyMaintenanceStartTime', 'updateFileSystemLustreConfiguration_weeklyMaintenanceStartTime' - (Optional) The preferred start time to perform weekly maintenance,+-- formatted d:HH:MM in the UTC time zone. d is the weekday number, from 1+-- through 7, beginning with Monday and ending with Sunday.+newUpdateFileSystemLustreConfiguration ::+ UpdateFileSystemLustreConfiguration+newUpdateFileSystemLustreConfiguration =+ UpdateFileSystemLustreConfiguration'+ { autoImportPolicy =+ Prelude.Nothing,+ automaticBackupRetentionDays =+ Prelude.Nothing,+ dailyAutomaticBackupStartTime =+ Prelude.Nothing,+ dataCompressionType = Prelude.Nothing,+ logConfiguration = Prelude.Nothing,+ rootSquashConfiguration =+ Prelude.Nothing,+ weeklyMaintenanceStartTime =+ Prelude.Nothing+ }++-- | (Optional) When you create your file system, your existing S3 objects+-- appear as file and directory listings. Use this property to choose how+-- Amazon FSx keeps your file and directory listing up to date as you add+-- or modify objects in your linked S3 bucket. @AutoImportPolicy@ can have+-- the following values:+--+-- - @NONE@ - (Default) AutoImport is off. Amazon FSx only updates file+-- and directory listings from the linked S3 bucket when the file+-- system is created. FSx does not update the file and directory+-- listing for any new or changed objects after choosing this option.+--+-- - @NEW@ - AutoImport is on. Amazon FSx automatically imports directory+-- listings of any new objects added to the linked S3 bucket that do+-- not currently exist in the FSx file system.+--+-- - @NEW_CHANGED@ - AutoImport is on. Amazon FSx automatically imports+-- file and directory listings of any new objects added to the S3+-- bucket and any existing objects that are changed in the S3 bucket+-- after you choose this option.+--+-- - @NEW_CHANGED_DELETED@ - AutoImport is on. Amazon FSx automatically+-- imports file and directory listings of any new objects added to the+-- S3 bucket, any existing objects that are changed in the S3 bucket,+-- and any objects that were deleted in the S3 bucket.+--+-- The @AutoImportPolicy@ parameter is not supported for Lustre file+-- systems with the @Persistent_2@ deployment type. Instead, use to update+-- a data repository association on your @Persistent_2@ file system.+updateFileSystemLustreConfiguration_autoImportPolicy :: Lens.Lens' UpdateFileSystemLustreConfiguration (Prelude.Maybe AutoImportPolicyType)+updateFileSystemLustreConfiguration_autoImportPolicy = Lens.lens (\UpdateFileSystemLustreConfiguration' {autoImportPolicy} -> autoImportPolicy) (\s@UpdateFileSystemLustreConfiguration' {} a -> s {autoImportPolicy = a} :: UpdateFileSystemLustreConfiguration)++-- | Undocumented member.+updateFileSystemLustreConfiguration_automaticBackupRetentionDays :: Lens.Lens' UpdateFileSystemLustreConfiguration (Prelude.Maybe Prelude.Natural)+updateFileSystemLustreConfiguration_automaticBackupRetentionDays = Lens.lens (\UpdateFileSystemLustreConfiguration' {automaticBackupRetentionDays} -> automaticBackupRetentionDays) (\s@UpdateFileSystemLustreConfiguration' {} a -> s {automaticBackupRetentionDays = a} :: UpdateFileSystemLustreConfiguration)++-- | Undocumented member.+updateFileSystemLustreConfiguration_dailyAutomaticBackupStartTime :: Lens.Lens' UpdateFileSystemLustreConfiguration (Prelude.Maybe Prelude.Text)+updateFileSystemLustreConfiguration_dailyAutomaticBackupStartTime = Lens.lens (\UpdateFileSystemLustreConfiguration' {dailyAutomaticBackupStartTime} -> dailyAutomaticBackupStartTime) (\s@UpdateFileSystemLustreConfiguration' {} a -> s {dailyAutomaticBackupStartTime = a} :: UpdateFileSystemLustreConfiguration)++-- | Sets the data compression configuration for the file system.+-- @DataCompressionType@ can have the following values:+--+-- - @NONE@ - Data compression is turned off for the file system.+--+-- - @LZ4@ - Data compression is turned on with the LZ4 algorithm.+--+-- If you don\'t use @DataCompressionType@, the file system retains its+-- current data compression configuration.+--+-- For more information, see+-- <https://docs.aws.amazon.com/fsx/latest/LustreGuide/data-compression.html Lustre data compression>.+updateFileSystemLustreConfiguration_dataCompressionType :: Lens.Lens' UpdateFileSystemLustreConfiguration (Prelude.Maybe DataCompressionType)+updateFileSystemLustreConfiguration_dataCompressionType = Lens.lens (\UpdateFileSystemLustreConfiguration' {dataCompressionType} -> dataCompressionType) (\s@UpdateFileSystemLustreConfiguration' {} a -> s {dataCompressionType = a} :: UpdateFileSystemLustreConfiguration)++-- | The Lustre logging configuration used when updating an Amazon FSx for+-- Lustre file system. When logging is enabled, Lustre logs error and+-- warning events for data repositories associated with your file system to+-- Amazon CloudWatch Logs.+updateFileSystemLustreConfiguration_logConfiguration :: Lens.Lens' UpdateFileSystemLustreConfiguration (Prelude.Maybe LustreLogCreateConfiguration)+updateFileSystemLustreConfiguration_logConfiguration = Lens.lens (\UpdateFileSystemLustreConfiguration' {logConfiguration} -> logConfiguration) (\s@UpdateFileSystemLustreConfiguration' {} a -> s {logConfiguration = a} :: UpdateFileSystemLustreConfiguration)++-- | The Lustre root squash configuration used when updating an Amazon FSx+-- for Lustre file system. When enabled, root squash restricts root-level+-- access from clients that try to access your file system as a root user.+updateFileSystemLustreConfiguration_rootSquashConfiguration :: Lens.Lens' UpdateFileSystemLustreConfiguration (Prelude.Maybe LustreRootSquashConfiguration)+updateFileSystemLustreConfiguration_rootSquashConfiguration = Lens.lens (\UpdateFileSystemLustreConfiguration' {rootSquashConfiguration} -> rootSquashConfiguration) (\s@UpdateFileSystemLustreConfiguration' {} a -> s {rootSquashConfiguration = a} :: UpdateFileSystemLustreConfiguration)++-- | (Optional) The preferred start time to perform weekly maintenance,+-- formatted d:HH:MM in the UTC time zone. d is the weekday number, from 1+-- through 7, beginning with Monday and ending with Sunday.+updateFileSystemLustreConfiguration_weeklyMaintenanceStartTime :: Lens.Lens' UpdateFileSystemLustreConfiguration (Prelude.Maybe Prelude.Text)+updateFileSystemLustreConfiguration_weeklyMaintenanceStartTime = Lens.lens (\UpdateFileSystemLustreConfiguration' {weeklyMaintenanceStartTime} -> weeklyMaintenanceStartTime) (\s@UpdateFileSystemLustreConfiguration' {} a -> s {weeklyMaintenanceStartTime = a} :: UpdateFileSystemLustreConfiguration)++instance+ Prelude.Hashable+ UpdateFileSystemLustreConfiguration+ where+ hashWithSalt+ _salt+ UpdateFileSystemLustreConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` autoImportPolicy+ `Prelude.hashWithSalt` automaticBackupRetentionDays+ `Prelude.hashWithSalt` dailyAutomaticBackupStartTime+ `Prelude.hashWithSalt` dataCompressionType+ `Prelude.hashWithSalt` logConfiguration+ `Prelude.hashWithSalt` rootSquashConfiguration+ `Prelude.hashWithSalt` weeklyMaintenanceStartTime++instance+ Prelude.NFData+ UpdateFileSystemLustreConfiguration+ where+ rnf UpdateFileSystemLustreConfiguration' {..} =+ Prelude.rnf autoImportPolicy+ `Prelude.seq` Prelude.rnf automaticBackupRetentionDays+ `Prelude.seq` Prelude.rnf dailyAutomaticBackupStartTime+ `Prelude.seq` Prelude.rnf dataCompressionType+ `Prelude.seq` Prelude.rnf logConfiguration+ `Prelude.seq` Prelude.rnf rootSquashConfiguration+ `Prelude.seq` Prelude.rnf weeklyMaintenanceStartTime++instance+ Data.ToJSON+ UpdateFileSystemLustreConfiguration+ where+ toJSON UpdateFileSystemLustreConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("AutoImportPolicy" Data..=)+ Prelude.<$> autoImportPolicy,+ ("AutomaticBackupRetentionDays" Data..=)+ Prelude.<$> automaticBackupRetentionDays,+ ("DailyAutomaticBackupStartTime" Data..=)+ Prelude.<$> dailyAutomaticBackupStartTime,+ ("DataCompressionType" Data..=)+ Prelude.<$> dataCompressionType,+ ("LogConfiguration" Data..=)+ Prelude.<$> logConfiguration,+ ("RootSquashConfiguration" Data..=)+ Prelude.<$> rootSquashConfiguration,+ ("WeeklyMaintenanceStartTime" Data..=)+ Prelude.<$> weeklyMaintenanceStartTime+ ]+ )
+ gen/Amazonka/FSx/Types/UpdateFileSystemOntapConfiguration.hs view
@@ -0,0 +1,213 @@+{-# 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.FSx.Types.UpdateFileSystemOntapConfiguration+-- 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.FSx.Types.UpdateFileSystemOntapConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types.DiskIopsConfiguration+import qualified Amazonka.Prelude as Prelude++-- | The configuration updates for an Amazon FSx for NetApp ONTAP file+-- system.+--+-- /See:/ 'newUpdateFileSystemOntapConfiguration' smart constructor.+data UpdateFileSystemOntapConfiguration = UpdateFileSystemOntapConfiguration'+ { -- | (Multi-AZ only) A list of IDs of new virtual private cloud (VPC) route+ -- tables to associate (add) with your Amazon FSx for NetApp ONTAP file+ -- system.+ addRouteTableIds :: Prelude.Maybe [Prelude.Text],+ automaticBackupRetentionDays :: Prelude.Maybe Prelude.Natural,+ dailyAutomaticBackupStartTime :: Prelude.Maybe Prelude.Text,+ -- | The SSD IOPS (input\/output operations per second) configuration for an+ -- Amazon FSx for NetApp ONTAP file system. The default is 3 IOPS per GB of+ -- storage capacity, but you can provision additional IOPS per GB of+ -- storage. The configuration consists of an IOPS mode (@AUTOMATIC@ or+ -- @USER_PROVISIONED@), and in the case of @USER_PROVISIONED@ IOPS, the+ -- total number of SSD IOPS provisioned.+ diskIopsConfiguration :: Prelude.Maybe DiskIopsConfiguration,+ -- | The ONTAP administrative password for the @fsxadmin@ user.+ fsxAdminPassword :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | (Multi-AZ only) A list of IDs of existing virtual private cloud (VPC)+ -- route tables to disassociate (remove) from your Amazon FSx for NetApp+ -- ONTAP file system. You can use the API operation to retrieve the list of+ -- VPC route table IDs for a file system.+ removeRouteTableIds :: Prelude.Maybe [Prelude.Text],+ -- | Specifies the throughput of an FSx for NetApp ONTAP file system,+ -- measured in megabytes per second (MBps). Valid values are 128, 256, 512,+ -- 1024, 2048, and 4096 MBps.+ throughputCapacity :: Prelude.Maybe Prelude.Natural,+ weeklyMaintenanceStartTime :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateFileSystemOntapConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'addRouteTableIds', 'updateFileSystemOntapConfiguration_addRouteTableIds' - (Multi-AZ only) A list of IDs of new virtual private cloud (VPC) route+-- tables to associate (add) with your Amazon FSx for NetApp ONTAP file+-- system.+--+-- 'automaticBackupRetentionDays', 'updateFileSystemOntapConfiguration_automaticBackupRetentionDays' - Undocumented member.+--+-- 'dailyAutomaticBackupStartTime', 'updateFileSystemOntapConfiguration_dailyAutomaticBackupStartTime' - Undocumented member.+--+-- 'diskIopsConfiguration', 'updateFileSystemOntapConfiguration_diskIopsConfiguration' - The SSD IOPS (input\/output operations per second) configuration for an+-- Amazon FSx for NetApp ONTAP file system. The default is 3 IOPS per GB of+-- storage capacity, but you can provision additional IOPS per GB of+-- storage. The configuration consists of an IOPS mode (@AUTOMATIC@ or+-- @USER_PROVISIONED@), and in the case of @USER_PROVISIONED@ IOPS, the+-- total number of SSD IOPS provisioned.+--+-- 'fsxAdminPassword', 'updateFileSystemOntapConfiguration_fsxAdminPassword' - The ONTAP administrative password for the @fsxadmin@ user.+--+-- 'removeRouteTableIds', 'updateFileSystemOntapConfiguration_removeRouteTableIds' - (Multi-AZ only) A list of IDs of existing virtual private cloud (VPC)+-- route tables to disassociate (remove) from your Amazon FSx for NetApp+-- ONTAP file system. You can use the API operation to retrieve the list of+-- VPC route table IDs for a file system.+--+-- 'throughputCapacity', 'updateFileSystemOntapConfiguration_throughputCapacity' - Specifies the throughput of an FSx for NetApp ONTAP file system,+-- measured in megabytes per second (MBps). Valid values are 128, 256, 512,+-- 1024, 2048, and 4096 MBps.+--+-- 'weeklyMaintenanceStartTime', 'updateFileSystemOntapConfiguration_weeklyMaintenanceStartTime' - Undocumented member.+newUpdateFileSystemOntapConfiguration ::+ UpdateFileSystemOntapConfiguration+newUpdateFileSystemOntapConfiguration =+ UpdateFileSystemOntapConfiguration'+ { addRouteTableIds =+ Prelude.Nothing,+ automaticBackupRetentionDays =+ Prelude.Nothing,+ dailyAutomaticBackupStartTime =+ Prelude.Nothing,+ diskIopsConfiguration = Prelude.Nothing,+ fsxAdminPassword = Prelude.Nothing,+ removeRouteTableIds = Prelude.Nothing,+ throughputCapacity = Prelude.Nothing,+ weeklyMaintenanceStartTime =+ Prelude.Nothing+ }++-- | (Multi-AZ only) A list of IDs of new virtual private cloud (VPC) route+-- tables to associate (add) with your Amazon FSx for NetApp ONTAP file+-- system.+updateFileSystemOntapConfiguration_addRouteTableIds :: Lens.Lens' UpdateFileSystemOntapConfiguration (Prelude.Maybe [Prelude.Text])+updateFileSystemOntapConfiguration_addRouteTableIds = Lens.lens (\UpdateFileSystemOntapConfiguration' {addRouteTableIds} -> addRouteTableIds) (\s@UpdateFileSystemOntapConfiguration' {} a -> s {addRouteTableIds = a} :: UpdateFileSystemOntapConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+updateFileSystemOntapConfiguration_automaticBackupRetentionDays :: Lens.Lens' UpdateFileSystemOntapConfiguration (Prelude.Maybe Prelude.Natural)+updateFileSystemOntapConfiguration_automaticBackupRetentionDays = Lens.lens (\UpdateFileSystemOntapConfiguration' {automaticBackupRetentionDays} -> automaticBackupRetentionDays) (\s@UpdateFileSystemOntapConfiguration' {} a -> s {automaticBackupRetentionDays = a} :: UpdateFileSystemOntapConfiguration)++-- | Undocumented member.+updateFileSystemOntapConfiguration_dailyAutomaticBackupStartTime :: Lens.Lens' UpdateFileSystemOntapConfiguration (Prelude.Maybe Prelude.Text)+updateFileSystemOntapConfiguration_dailyAutomaticBackupStartTime = Lens.lens (\UpdateFileSystemOntapConfiguration' {dailyAutomaticBackupStartTime} -> dailyAutomaticBackupStartTime) (\s@UpdateFileSystemOntapConfiguration' {} a -> s {dailyAutomaticBackupStartTime = a} :: UpdateFileSystemOntapConfiguration)++-- | The SSD IOPS (input\/output operations per second) configuration for an+-- Amazon FSx for NetApp ONTAP file system. The default is 3 IOPS per GB of+-- storage capacity, but you can provision additional IOPS per GB of+-- storage. The configuration consists of an IOPS mode (@AUTOMATIC@ or+-- @USER_PROVISIONED@), and in the case of @USER_PROVISIONED@ IOPS, the+-- total number of SSD IOPS provisioned.+updateFileSystemOntapConfiguration_diskIopsConfiguration :: Lens.Lens' UpdateFileSystemOntapConfiguration (Prelude.Maybe DiskIopsConfiguration)+updateFileSystemOntapConfiguration_diskIopsConfiguration = Lens.lens (\UpdateFileSystemOntapConfiguration' {diskIopsConfiguration} -> diskIopsConfiguration) (\s@UpdateFileSystemOntapConfiguration' {} a -> s {diskIopsConfiguration = a} :: UpdateFileSystemOntapConfiguration)++-- | The ONTAP administrative password for the @fsxadmin@ user.+updateFileSystemOntapConfiguration_fsxAdminPassword :: Lens.Lens' UpdateFileSystemOntapConfiguration (Prelude.Maybe Prelude.Text)+updateFileSystemOntapConfiguration_fsxAdminPassword = Lens.lens (\UpdateFileSystemOntapConfiguration' {fsxAdminPassword} -> fsxAdminPassword) (\s@UpdateFileSystemOntapConfiguration' {} a -> s {fsxAdminPassword = a} :: UpdateFileSystemOntapConfiguration) Prelude.. Lens.mapping Data._Sensitive++-- | (Multi-AZ only) A list of IDs of existing virtual private cloud (VPC)+-- route tables to disassociate (remove) from your Amazon FSx for NetApp+-- ONTAP file system. You can use the API operation to retrieve the list of+-- VPC route table IDs for a file system.+updateFileSystemOntapConfiguration_removeRouteTableIds :: Lens.Lens' UpdateFileSystemOntapConfiguration (Prelude.Maybe [Prelude.Text])+updateFileSystemOntapConfiguration_removeRouteTableIds = Lens.lens (\UpdateFileSystemOntapConfiguration' {removeRouteTableIds} -> removeRouteTableIds) (\s@UpdateFileSystemOntapConfiguration' {} a -> s {removeRouteTableIds = a} :: UpdateFileSystemOntapConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | Specifies the throughput of an FSx for NetApp ONTAP file system,+-- measured in megabytes per second (MBps). Valid values are 128, 256, 512,+-- 1024, 2048, and 4096 MBps.+updateFileSystemOntapConfiguration_throughputCapacity :: Lens.Lens' UpdateFileSystemOntapConfiguration (Prelude.Maybe Prelude.Natural)+updateFileSystemOntapConfiguration_throughputCapacity = Lens.lens (\UpdateFileSystemOntapConfiguration' {throughputCapacity} -> throughputCapacity) (\s@UpdateFileSystemOntapConfiguration' {} a -> s {throughputCapacity = a} :: UpdateFileSystemOntapConfiguration)++-- | Undocumented member.+updateFileSystemOntapConfiguration_weeklyMaintenanceStartTime :: Lens.Lens' UpdateFileSystemOntapConfiguration (Prelude.Maybe Prelude.Text)+updateFileSystemOntapConfiguration_weeklyMaintenanceStartTime = Lens.lens (\UpdateFileSystemOntapConfiguration' {weeklyMaintenanceStartTime} -> weeklyMaintenanceStartTime) (\s@UpdateFileSystemOntapConfiguration' {} a -> s {weeklyMaintenanceStartTime = a} :: UpdateFileSystemOntapConfiguration)++instance+ Prelude.Hashable+ UpdateFileSystemOntapConfiguration+ where+ hashWithSalt+ _salt+ UpdateFileSystemOntapConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` addRouteTableIds+ `Prelude.hashWithSalt` automaticBackupRetentionDays+ `Prelude.hashWithSalt` dailyAutomaticBackupStartTime+ `Prelude.hashWithSalt` diskIopsConfiguration+ `Prelude.hashWithSalt` fsxAdminPassword+ `Prelude.hashWithSalt` removeRouteTableIds+ `Prelude.hashWithSalt` throughputCapacity+ `Prelude.hashWithSalt` weeklyMaintenanceStartTime++instance+ Prelude.NFData+ UpdateFileSystemOntapConfiguration+ where+ rnf UpdateFileSystemOntapConfiguration' {..} =+ Prelude.rnf addRouteTableIds+ `Prelude.seq` Prelude.rnf automaticBackupRetentionDays+ `Prelude.seq` Prelude.rnf dailyAutomaticBackupStartTime+ `Prelude.seq` Prelude.rnf diskIopsConfiguration+ `Prelude.seq` Prelude.rnf fsxAdminPassword+ `Prelude.seq` Prelude.rnf removeRouteTableIds+ `Prelude.seq` Prelude.rnf throughputCapacity+ `Prelude.seq` Prelude.rnf weeklyMaintenanceStartTime++instance+ Data.ToJSON+ UpdateFileSystemOntapConfiguration+ where+ toJSON UpdateFileSystemOntapConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("AddRouteTableIds" Data..=)+ Prelude.<$> addRouteTableIds,+ ("AutomaticBackupRetentionDays" Data..=)+ Prelude.<$> automaticBackupRetentionDays,+ ("DailyAutomaticBackupStartTime" Data..=)+ Prelude.<$> dailyAutomaticBackupStartTime,+ ("DiskIopsConfiguration" Data..=)+ Prelude.<$> diskIopsConfiguration,+ ("FsxAdminPassword" Data..=)+ Prelude.<$> fsxAdminPassword,+ ("RemoveRouteTableIds" Data..=)+ Prelude.<$> removeRouteTableIds,+ ("ThroughputCapacity" Data..=)+ Prelude.<$> throughputCapacity,+ ("WeeklyMaintenanceStartTime" Data..=)+ Prelude.<$> weeklyMaintenanceStartTime+ ]+ )
+ gen/Amazonka/FSx/Types/UpdateFileSystemOpenZFSConfiguration.hs view
@@ -0,0 +1,225 @@+{-# 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.FSx.Types.UpdateFileSystemOpenZFSConfiguration+-- 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.FSx.Types.UpdateFileSystemOpenZFSConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types.DiskIopsConfiguration+import qualified Amazonka.Prelude as Prelude++-- | The configuration updates for an Amazon FSx for OpenZFS file system.+--+-- /See:/ 'newUpdateFileSystemOpenZFSConfiguration' smart constructor.+data UpdateFileSystemOpenZFSConfiguration = UpdateFileSystemOpenZFSConfiguration'+ { automaticBackupRetentionDays :: Prelude.Maybe Prelude.Natural,+ -- | A Boolean value indicating whether tags for the file system should be+ -- copied to backups. This value defaults to @false@. If it\'s set to+ -- @true@, all tags for the file system are copied to all automatic and+ -- user-initiated backups where the user doesn\'t specify tags. If this+ -- value is @true@ and you specify one or more tags, only the specified+ -- tags are copied to backups. If you specify one or more tags when+ -- creating a user-initiated backup, no tags are copied from the file+ -- system, regardless of this value.+ copyTagsToBackups :: Prelude.Maybe Prelude.Bool,+ -- | A Boolean value indicating whether tags for the volume should be copied+ -- to snapshots. This value defaults to @false@. If it\'s set to @true@,+ -- all tags for the volume are copied to snapshots where the user doesn\'t+ -- specify tags. If this value is @true@ and you specify one or more tags,+ -- only the specified tags are copied to snapshots. If you specify one or+ -- more tags when creating the snapshot, no tags are copied from the+ -- volume, regardless of this value.+ copyTagsToVolumes :: Prelude.Maybe Prelude.Bool,+ dailyAutomaticBackupStartTime :: Prelude.Maybe Prelude.Text,+ diskIopsConfiguration :: Prelude.Maybe DiskIopsConfiguration,+ -- | The throughput of an Amazon FSx for OpenZFS file system, measured in+ -- megabytes per second (MB\/s). Valid values depend on the DeploymentType+ -- you choose, as follows:+ --+ -- - For @SINGLE_AZ_1@, valid values are 64, 128, 256, 512, 1024, 2048,+ -- 3072, or 4096 MB\/s.+ --+ -- - For @SINGLE_AZ_2@, valid values are 160, 320, 640, 1280, 2560, 3840,+ -- 5120, 7680, or 10240 MB\/s.+ throughputCapacity :: Prelude.Maybe Prelude.Natural,+ weeklyMaintenanceStartTime :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateFileSystemOpenZFSConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'automaticBackupRetentionDays', 'updateFileSystemOpenZFSConfiguration_automaticBackupRetentionDays' - Undocumented member.+--+-- 'copyTagsToBackups', 'updateFileSystemOpenZFSConfiguration_copyTagsToBackups' - A Boolean value indicating whether tags for the file system should be+-- copied to backups. This value defaults to @false@. If it\'s set to+-- @true@, all tags for the file system are copied to all automatic and+-- user-initiated backups where the user doesn\'t specify tags. If this+-- value is @true@ and you specify one or more tags, only the specified+-- tags are copied to backups. If you specify one or more tags when+-- creating a user-initiated backup, no tags are copied from the file+-- system, regardless of this value.+--+-- 'copyTagsToVolumes', 'updateFileSystemOpenZFSConfiguration_copyTagsToVolumes' - A Boolean value indicating whether tags for the volume should be copied+-- to snapshots. This value defaults to @false@. If it\'s set to @true@,+-- all tags for the volume are copied to snapshots where the user doesn\'t+-- specify tags. If this value is @true@ and you specify one or more tags,+-- only the specified tags are copied to snapshots. If you specify one or+-- more tags when creating the snapshot, no tags are copied from the+-- volume, regardless of this value.+--+-- 'dailyAutomaticBackupStartTime', 'updateFileSystemOpenZFSConfiguration_dailyAutomaticBackupStartTime' - Undocumented member.+--+-- 'diskIopsConfiguration', 'updateFileSystemOpenZFSConfiguration_diskIopsConfiguration' - Undocumented member.+--+-- 'throughputCapacity', 'updateFileSystemOpenZFSConfiguration_throughputCapacity' - The throughput of an Amazon FSx for OpenZFS file system, measured in+-- megabytes per second (MB\/s). Valid values depend on the DeploymentType+-- you choose, as follows:+--+-- - For @SINGLE_AZ_1@, valid values are 64, 128, 256, 512, 1024, 2048,+-- 3072, or 4096 MB\/s.+--+-- - For @SINGLE_AZ_2@, valid values are 160, 320, 640, 1280, 2560, 3840,+-- 5120, 7680, or 10240 MB\/s.+--+-- 'weeklyMaintenanceStartTime', 'updateFileSystemOpenZFSConfiguration_weeklyMaintenanceStartTime' - Undocumented member.+newUpdateFileSystemOpenZFSConfiguration ::+ UpdateFileSystemOpenZFSConfiguration+newUpdateFileSystemOpenZFSConfiguration =+ UpdateFileSystemOpenZFSConfiguration'+ { automaticBackupRetentionDays =+ Prelude.Nothing,+ copyTagsToBackups = Prelude.Nothing,+ copyTagsToVolumes = Prelude.Nothing,+ dailyAutomaticBackupStartTime =+ Prelude.Nothing,+ diskIopsConfiguration =+ Prelude.Nothing,+ throughputCapacity = Prelude.Nothing,+ weeklyMaintenanceStartTime =+ Prelude.Nothing+ }++-- | Undocumented member.+updateFileSystemOpenZFSConfiguration_automaticBackupRetentionDays :: Lens.Lens' UpdateFileSystemOpenZFSConfiguration (Prelude.Maybe Prelude.Natural)+updateFileSystemOpenZFSConfiguration_automaticBackupRetentionDays = Lens.lens (\UpdateFileSystemOpenZFSConfiguration' {automaticBackupRetentionDays} -> automaticBackupRetentionDays) (\s@UpdateFileSystemOpenZFSConfiguration' {} a -> s {automaticBackupRetentionDays = a} :: UpdateFileSystemOpenZFSConfiguration)++-- | A Boolean value indicating whether tags for the file system should be+-- copied to backups. This value defaults to @false@. If it\'s set to+-- @true@, all tags for the file system are copied to all automatic and+-- user-initiated backups where the user doesn\'t specify tags. If this+-- value is @true@ and you specify one or more tags, only the specified+-- tags are copied to backups. If you specify one or more tags when+-- creating a user-initiated backup, no tags are copied from the file+-- system, regardless of this value.+updateFileSystemOpenZFSConfiguration_copyTagsToBackups :: Lens.Lens' UpdateFileSystemOpenZFSConfiguration (Prelude.Maybe Prelude.Bool)+updateFileSystemOpenZFSConfiguration_copyTagsToBackups = Lens.lens (\UpdateFileSystemOpenZFSConfiguration' {copyTagsToBackups} -> copyTagsToBackups) (\s@UpdateFileSystemOpenZFSConfiguration' {} a -> s {copyTagsToBackups = a} :: UpdateFileSystemOpenZFSConfiguration)++-- | A Boolean value indicating whether tags for the volume should be copied+-- to snapshots. This value defaults to @false@. If it\'s set to @true@,+-- all tags for the volume are copied to snapshots where the user doesn\'t+-- specify tags. If this value is @true@ and you specify one or more tags,+-- only the specified tags are copied to snapshots. If you specify one or+-- more tags when creating the snapshot, no tags are copied from the+-- volume, regardless of this value.+updateFileSystemOpenZFSConfiguration_copyTagsToVolumes :: Lens.Lens' UpdateFileSystemOpenZFSConfiguration (Prelude.Maybe Prelude.Bool)+updateFileSystemOpenZFSConfiguration_copyTagsToVolumes = Lens.lens (\UpdateFileSystemOpenZFSConfiguration' {copyTagsToVolumes} -> copyTagsToVolumes) (\s@UpdateFileSystemOpenZFSConfiguration' {} a -> s {copyTagsToVolumes = a} :: UpdateFileSystemOpenZFSConfiguration)++-- | Undocumented member.+updateFileSystemOpenZFSConfiguration_dailyAutomaticBackupStartTime :: Lens.Lens' UpdateFileSystemOpenZFSConfiguration (Prelude.Maybe Prelude.Text)+updateFileSystemOpenZFSConfiguration_dailyAutomaticBackupStartTime = Lens.lens (\UpdateFileSystemOpenZFSConfiguration' {dailyAutomaticBackupStartTime} -> dailyAutomaticBackupStartTime) (\s@UpdateFileSystemOpenZFSConfiguration' {} a -> s {dailyAutomaticBackupStartTime = a} :: UpdateFileSystemOpenZFSConfiguration)++-- | Undocumented member.+updateFileSystemOpenZFSConfiguration_diskIopsConfiguration :: Lens.Lens' UpdateFileSystemOpenZFSConfiguration (Prelude.Maybe DiskIopsConfiguration)+updateFileSystemOpenZFSConfiguration_diskIopsConfiguration = Lens.lens (\UpdateFileSystemOpenZFSConfiguration' {diskIopsConfiguration} -> diskIopsConfiguration) (\s@UpdateFileSystemOpenZFSConfiguration' {} a -> s {diskIopsConfiguration = a} :: UpdateFileSystemOpenZFSConfiguration)++-- | The throughput of an Amazon FSx for OpenZFS file system, measured in+-- megabytes per second (MB\/s). Valid values depend on the DeploymentType+-- you choose, as follows:+--+-- - For @SINGLE_AZ_1@, valid values are 64, 128, 256, 512, 1024, 2048,+-- 3072, or 4096 MB\/s.+--+-- - For @SINGLE_AZ_2@, valid values are 160, 320, 640, 1280, 2560, 3840,+-- 5120, 7680, or 10240 MB\/s.+updateFileSystemOpenZFSConfiguration_throughputCapacity :: Lens.Lens' UpdateFileSystemOpenZFSConfiguration (Prelude.Maybe Prelude.Natural)+updateFileSystemOpenZFSConfiguration_throughputCapacity = Lens.lens (\UpdateFileSystemOpenZFSConfiguration' {throughputCapacity} -> throughputCapacity) (\s@UpdateFileSystemOpenZFSConfiguration' {} a -> s {throughputCapacity = a} :: UpdateFileSystemOpenZFSConfiguration)++-- | Undocumented member.+updateFileSystemOpenZFSConfiguration_weeklyMaintenanceStartTime :: Lens.Lens' UpdateFileSystemOpenZFSConfiguration (Prelude.Maybe Prelude.Text)+updateFileSystemOpenZFSConfiguration_weeklyMaintenanceStartTime = Lens.lens (\UpdateFileSystemOpenZFSConfiguration' {weeklyMaintenanceStartTime} -> weeklyMaintenanceStartTime) (\s@UpdateFileSystemOpenZFSConfiguration' {} a -> s {weeklyMaintenanceStartTime = a} :: UpdateFileSystemOpenZFSConfiguration)++instance+ Prelude.Hashable+ UpdateFileSystemOpenZFSConfiguration+ where+ hashWithSalt+ _salt+ UpdateFileSystemOpenZFSConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` automaticBackupRetentionDays+ `Prelude.hashWithSalt` copyTagsToBackups+ `Prelude.hashWithSalt` copyTagsToVolumes+ `Prelude.hashWithSalt` dailyAutomaticBackupStartTime+ `Prelude.hashWithSalt` diskIopsConfiguration+ `Prelude.hashWithSalt` throughputCapacity+ `Prelude.hashWithSalt` weeklyMaintenanceStartTime++instance+ Prelude.NFData+ UpdateFileSystemOpenZFSConfiguration+ where+ rnf UpdateFileSystemOpenZFSConfiguration' {..} =+ Prelude.rnf automaticBackupRetentionDays+ `Prelude.seq` Prelude.rnf copyTagsToBackups+ `Prelude.seq` Prelude.rnf copyTagsToVolumes+ `Prelude.seq` Prelude.rnf dailyAutomaticBackupStartTime+ `Prelude.seq` Prelude.rnf diskIopsConfiguration+ `Prelude.seq` Prelude.rnf throughputCapacity+ `Prelude.seq` Prelude.rnf weeklyMaintenanceStartTime++instance+ Data.ToJSON+ UpdateFileSystemOpenZFSConfiguration+ where+ toJSON UpdateFileSystemOpenZFSConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("AutomaticBackupRetentionDays" Data..=)+ Prelude.<$> automaticBackupRetentionDays,+ ("CopyTagsToBackups" Data..=)+ Prelude.<$> copyTagsToBackups,+ ("CopyTagsToVolumes" Data..=)+ Prelude.<$> copyTagsToVolumes,+ ("DailyAutomaticBackupStartTime" Data..=)+ Prelude.<$> dailyAutomaticBackupStartTime,+ ("DiskIopsConfiguration" Data..=)+ Prelude.<$> diskIopsConfiguration,+ ("ThroughputCapacity" Data..=)+ Prelude.<$> throughputCapacity,+ ("WeeklyMaintenanceStartTime" Data..=)+ Prelude.<$> weeklyMaintenanceStartTime+ ]+ )
+ gen/Amazonka/FSx/Types/UpdateFileSystemWindowsConfiguration.hs view
@@ -0,0 +1,205 @@+{-# 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.FSx.Types.UpdateFileSystemWindowsConfiguration+-- 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.FSx.Types.UpdateFileSystemWindowsConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types.SelfManagedActiveDirectoryConfigurationUpdates+import Amazonka.FSx.Types.WindowsAuditLogCreateConfiguration+import qualified Amazonka.Prelude as Prelude++-- | Updates the configuration for an existing Amazon FSx for Windows File+-- Server file system. Amazon FSx only overwrites existing properties with+-- non-null values provided in the request.+--+-- /See:/ 'newUpdateFileSystemWindowsConfiguration' smart constructor.+data UpdateFileSystemWindowsConfiguration = UpdateFileSystemWindowsConfiguration'+ { -- | The configuration that Amazon FSx for Windows File Server uses to audit+ -- and log user accesses of files, folders, and file shares on the Amazon+ -- FSx for Windows File Server file system..+ auditLogConfiguration :: Prelude.Maybe WindowsAuditLogCreateConfiguration,+ -- | The number of days to retain automatic daily backups. Setting this to+ -- zero (0) disables automatic daily backups. You can retain automatic+ -- daily backups for a maximum of 90 days. For more information, see+ -- <https://docs.aws.amazon.com/fsx/latest/WindowsGuide/using-backups.html#automatic-backups Working with Automatic Daily Backups>.+ automaticBackupRetentionDays :: Prelude.Maybe Prelude.Natural,+ -- | The preferred time to start the daily automatic backup, in the UTC time+ -- zone, for example, @02:00@+ dailyAutomaticBackupStartTime :: Prelude.Maybe Prelude.Text,+ -- | The configuration Amazon FSx uses to join the Windows File Server+ -- instance to the self-managed Microsoft AD directory. You cannot make a+ -- self-managed Microsoft AD update request if there is an existing+ -- self-managed Microsoft AD update request in progress.+ selfManagedActiveDirectoryConfiguration :: Prelude.Maybe SelfManagedActiveDirectoryConfigurationUpdates,+ -- | Sets the target value for a file system\'s throughput capacity, in+ -- MB\/s, that you are updating the file system to. Valid values are 8, 16,+ -- 32, 64, 128, 256, 512, 1024, 2048. You cannot make a throughput capacity+ -- update request if there is an existing throughput capacity update+ -- request in progress. For more information, see+ -- <https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-throughput-capacity.html Managing Throughput Capacity>.+ throughputCapacity :: Prelude.Maybe Prelude.Natural,+ -- | The preferred start time to perform weekly maintenance, formatted+ -- d:HH:MM in the UTC time zone. Where d is the weekday number, from 1+ -- through 7, with 1 = Monday and 7 = Sunday.+ weeklyMaintenanceStartTime :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateFileSystemWindowsConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'auditLogConfiguration', 'updateFileSystemWindowsConfiguration_auditLogConfiguration' - The configuration that Amazon FSx for Windows File Server uses to audit+-- and log user accesses of files, folders, and file shares on the Amazon+-- FSx for Windows File Server file system..+--+-- 'automaticBackupRetentionDays', 'updateFileSystemWindowsConfiguration_automaticBackupRetentionDays' - The number of days to retain automatic daily backups. Setting this to+-- zero (0) disables automatic daily backups. You can retain automatic+-- daily backups for a maximum of 90 days. For more information, see+-- <https://docs.aws.amazon.com/fsx/latest/WindowsGuide/using-backups.html#automatic-backups Working with Automatic Daily Backups>.+--+-- 'dailyAutomaticBackupStartTime', 'updateFileSystemWindowsConfiguration_dailyAutomaticBackupStartTime' - The preferred time to start the daily automatic backup, in the UTC time+-- zone, for example, @02:00@+--+-- 'selfManagedActiveDirectoryConfiguration', 'updateFileSystemWindowsConfiguration_selfManagedActiveDirectoryConfiguration' - The configuration Amazon FSx uses to join the Windows File Server+-- instance to the self-managed Microsoft AD directory. You cannot make a+-- self-managed Microsoft AD update request if there is an existing+-- self-managed Microsoft AD update request in progress.+--+-- 'throughputCapacity', 'updateFileSystemWindowsConfiguration_throughputCapacity' - Sets the target value for a file system\'s throughput capacity, in+-- MB\/s, that you are updating the file system to. Valid values are 8, 16,+-- 32, 64, 128, 256, 512, 1024, 2048. You cannot make a throughput capacity+-- update request if there is an existing throughput capacity update+-- request in progress. For more information, see+-- <https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-throughput-capacity.html Managing Throughput Capacity>.+--+-- 'weeklyMaintenanceStartTime', 'updateFileSystemWindowsConfiguration_weeklyMaintenanceStartTime' - The preferred start time to perform weekly maintenance, formatted+-- d:HH:MM in the UTC time zone. Where d is the weekday number, from 1+-- through 7, with 1 = Monday and 7 = Sunday.+newUpdateFileSystemWindowsConfiguration ::+ UpdateFileSystemWindowsConfiguration+newUpdateFileSystemWindowsConfiguration =+ UpdateFileSystemWindowsConfiguration'+ { auditLogConfiguration =+ Prelude.Nothing,+ automaticBackupRetentionDays =+ Prelude.Nothing,+ dailyAutomaticBackupStartTime =+ Prelude.Nothing,+ selfManagedActiveDirectoryConfiguration =+ Prelude.Nothing,+ throughputCapacity = Prelude.Nothing,+ weeklyMaintenanceStartTime =+ Prelude.Nothing+ }++-- | The configuration that Amazon FSx for Windows File Server uses to audit+-- and log user accesses of files, folders, and file shares on the Amazon+-- FSx for Windows File Server file system..+updateFileSystemWindowsConfiguration_auditLogConfiguration :: Lens.Lens' UpdateFileSystemWindowsConfiguration (Prelude.Maybe WindowsAuditLogCreateConfiguration)+updateFileSystemWindowsConfiguration_auditLogConfiguration = Lens.lens (\UpdateFileSystemWindowsConfiguration' {auditLogConfiguration} -> auditLogConfiguration) (\s@UpdateFileSystemWindowsConfiguration' {} a -> s {auditLogConfiguration = a} :: UpdateFileSystemWindowsConfiguration)++-- | The number of days to retain automatic daily backups. Setting this to+-- zero (0) disables automatic daily backups. You can retain automatic+-- daily backups for a maximum of 90 days. For more information, see+-- <https://docs.aws.amazon.com/fsx/latest/WindowsGuide/using-backups.html#automatic-backups Working with Automatic Daily Backups>.+updateFileSystemWindowsConfiguration_automaticBackupRetentionDays :: Lens.Lens' UpdateFileSystemWindowsConfiguration (Prelude.Maybe Prelude.Natural)+updateFileSystemWindowsConfiguration_automaticBackupRetentionDays = Lens.lens (\UpdateFileSystemWindowsConfiguration' {automaticBackupRetentionDays} -> automaticBackupRetentionDays) (\s@UpdateFileSystemWindowsConfiguration' {} a -> s {automaticBackupRetentionDays = a} :: UpdateFileSystemWindowsConfiguration)++-- | The preferred time to start the daily automatic backup, in the UTC time+-- zone, for example, @02:00@+updateFileSystemWindowsConfiguration_dailyAutomaticBackupStartTime :: Lens.Lens' UpdateFileSystemWindowsConfiguration (Prelude.Maybe Prelude.Text)+updateFileSystemWindowsConfiguration_dailyAutomaticBackupStartTime = Lens.lens (\UpdateFileSystemWindowsConfiguration' {dailyAutomaticBackupStartTime} -> dailyAutomaticBackupStartTime) (\s@UpdateFileSystemWindowsConfiguration' {} a -> s {dailyAutomaticBackupStartTime = a} :: UpdateFileSystemWindowsConfiguration)++-- | The configuration Amazon FSx uses to join the Windows File Server+-- instance to the self-managed Microsoft AD directory. You cannot make a+-- self-managed Microsoft AD update request if there is an existing+-- self-managed Microsoft AD update request in progress.+updateFileSystemWindowsConfiguration_selfManagedActiveDirectoryConfiguration :: Lens.Lens' UpdateFileSystemWindowsConfiguration (Prelude.Maybe SelfManagedActiveDirectoryConfigurationUpdates)+updateFileSystemWindowsConfiguration_selfManagedActiveDirectoryConfiguration = Lens.lens (\UpdateFileSystemWindowsConfiguration' {selfManagedActiveDirectoryConfiguration} -> selfManagedActiveDirectoryConfiguration) (\s@UpdateFileSystemWindowsConfiguration' {} a -> s {selfManagedActiveDirectoryConfiguration = a} :: UpdateFileSystemWindowsConfiguration)++-- | Sets the target value for a file system\'s throughput capacity, in+-- MB\/s, that you are updating the file system to. Valid values are 8, 16,+-- 32, 64, 128, 256, 512, 1024, 2048. You cannot make a throughput capacity+-- update request if there is an existing throughput capacity update+-- request in progress. For more information, see+-- <https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-throughput-capacity.html Managing Throughput Capacity>.+updateFileSystemWindowsConfiguration_throughputCapacity :: Lens.Lens' UpdateFileSystemWindowsConfiguration (Prelude.Maybe Prelude.Natural)+updateFileSystemWindowsConfiguration_throughputCapacity = Lens.lens (\UpdateFileSystemWindowsConfiguration' {throughputCapacity} -> throughputCapacity) (\s@UpdateFileSystemWindowsConfiguration' {} a -> s {throughputCapacity = a} :: UpdateFileSystemWindowsConfiguration)++-- | The preferred start time to perform weekly maintenance, formatted+-- d:HH:MM in the UTC time zone. Where d is the weekday number, from 1+-- through 7, with 1 = Monday and 7 = Sunday.+updateFileSystemWindowsConfiguration_weeklyMaintenanceStartTime :: Lens.Lens' UpdateFileSystemWindowsConfiguration (Prelude.Maybe Prelude.Text)+updateFileSystemWindowsConfiguration_weeklyMaintenanceStartTime = Lens.lens (\UpdateFileSystemWindowsConfiguration' {weeklyMaintenanceStartTime} -> weeklyMaintenanceStartTime) (\s@UpdateFileSystemWindowsConfiguration' {} a -> s {weeklyMaintenanceStartTime = a} :: UpdateFileSystemWindowsConfiguration)++instance+ Prelude.Hashable+ UpdateFileSystemWindowsConfiguration+ where+ hashWithSalt+ _salt+ UpdateFileSystemWindowsConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` auditLogConfiguration+ `Prelude.hashWithSalt` automaticBackupRetentionDays+ `Prelude.hashWithSalt` dailyAutomaticBackupStartTime+ `Prelude.hashWithSalt` selfManagedActiveDirectoryConfiguration+ `Prelude.hashWithSalt` throughputCapacity+ `Prelude.hashWithSalt` weeklyMaintenanceStartTime++instance+ Prelude.NFData+ UpdateFileSystemWindowsConfiguration+ where+ rnf UpdateFileSystemWindowsConfiguration' {..} =+ Prelude.rnf auditLogConfiguration+ `Prelude.seq` Prelude.rnf automaticBackupRetentionDays+ `Prelude.seq` Prelude.rnf dailyAutomaticBackupStartTime+ `Prelude.seq` Prelude.rnf selfManagedActiveDirectoryConfiguration+ `Prelude.seq` Prelude.rnf throughputCapacity+ `Prelude.seq` Prelude.rnf weeklyMaintenanceStartTime++instance+ Data.ToJSON+ UpdateFileSystemWindowsConfiguration+ where+ toJSON UpdateFileSystemWindowsConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("AuditLogConfiguration" Data..=)+ Prelude.<$> auditLogConfiguration,+ ("AutomaticBackupRetentionDays" Data..=)+ Prelude.<$> automaticBackupRetentionDays,+ ("DailyAutomaticBackupStartTime" Data..=)+ Prelude.<$> dailyAutomaticBackupStartTime,+ ("SelfManagedActiveDirectoryConfiguration" Data..=)+ Prelude.<$> selfManagedActiveDirectoryConfiguration,+ ("ThroughputCapacity" Data..=)+ Prelude.<$> throughputCapacity,+ ("WeeklyMaintenanceStartTime" Data..=)+ Prelude.<$> weeklyMaintenanceStartTime+ ]+ )
+ gen/Amazonka/FSx/Types/UpdateOntapVolumeConfiguration.hs view
@@ -0,0 +1,249 @@+{-# 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.FSx.Types.UpdateOntapVolumeConfiguration+-- 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.FSx.Types.UpdateOntapVolumeConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types.SecurityStyle+import Amazonka.FSx.Types.TieringPolicy+import qualified Amazonka.Prelude as Prelude++-- | Used to specify changes to the ONTAP configuration for the volume you+-- are updating.+--+-- /See:/ 'newUpdateOntapVolumeConfiguration' smart constructor.+data UpdateOntapVolumeConfiguration = UpdateOntapVolumeConfiguration'+ { -- | A boolean flag indicating whether tags for the volume should be copied+ -- to backups. This value defaults to false. If it\'s set to true, all tags+ -- for the volume are copied to all automatic and user-initiated backups+ -- where the user doesn\'t specify tags. If this value is true, and you+ -- specify one or more tags, only the specified tags are copied to backups.+ -- If you specify one or more tags when creating a user-initiated backup,+ -- no tags are copied from the volume, regardless of this value.+ copyTagsToBackups :: Prelude.Maybe Prelude.Bool,+ -- | Specifies the location in the SVM\'s namespace where the volume is+ -- mounted. The @JunctionPath@ must have a leading forward slash, such as+ -- @\/vol3@.+ junctionPath :: Prelude.Maybe Prelude.Text,+ -- | The security style for the volume, which can be @UNIX@. @NTFS@, or+ -- @MIXED@.+ securityStyle :: Prelude.Maybe SecurityStyle,+ -- | Specifies the size of the volume in megabytes.+ sizeInMegabytes :: Prelude.Maybe Prelude.Natural,+ -- | Specifies the snapshot policy for the volume. There are three built-in+ -- snapshot policies:+ --+ -- - @default@: This is the default policy. A maximum of six hourly+ -- snapshots taken five minutes past the hour. A maximum of two daily+ -- snapshots taken Monday through Saturday at 10 minutes after+ -- midnight. A maximum of two weekly snapshots taken every Sunday at 15+ -- minutes after midnight.+ --+ -- - @default-1weekly@: This policy is the same as the @default@ policy+ -- except that it only retains one snapshot from the weekly schedule.+ --+ -- - @none@: This policy does not take any snapshots. This policy can be+ -- assigned to volumes to prevent automatic snapshots from being taken.+ --+ -- You can also provide the name of a custom policy that you created with+ -- the ONTAP CLI or REST API.+ --+ -- For more information, see+ -- <https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/snapshots-ontap.html#snapshot-policies Snapshot policies>+ -- in the /Amazon FSx for NetApp ONTAP User Guide/.+ snapshotPolicy :: Prelude.Maybe Prelude.Text,+ -- | Default is @false@. Set to true to enable the deduplication,+ -- compression, and compaction storage efficiency features on the volume.+ storageEfficiencyEnabled :: Prelude.Maybe Prelude.Bool,+ -- | Update the volume\'s data tiering policy.+ tieringPolicy :: Prelude.Maybe TieringPolicy+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateOntapVolumeConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'copyTagsToBackups', 'updateOntapVolumeConfiguration_copyTagsToBackups' - A boolean flag indicating whether tags for the volume should be copied+-- to backups. This value defaults to false. If it\'s set to true, all tags+-- for the volume are copied to all automatic and user-initiated backups+-- where the user doesn\'t specify tags. If this value is true, and you+-- specify one or more tags, only the specified tags are copied to backups.+-- If you specify one or more tags when creating a user-initiated backup,+-- no tags are copied from the volume, regardless of this value.+--+-- 'junctionPath', 'updateOntapVolumeConfiguration_junctionPath' - Specifies the location in the SVM\'s namespace where the volume is+-- mounted. The @JunctionPath@ must have a leading forward slash, such as+-- @\/vol3@.+--+-- 'securityStyle', 'updateOntapVolumeConfiguration_securityStyle' - The security style for the volume, which can be @UNIX@. @NTFS@, or+-- @MIXED@.+--+-- 'sizeInMegabytes', 'updateOntapVolumeConfiguration_sizeInMegabytes' - Specifies the size of the volume in megabytes.+--+-- 'snapshotPolicy', 'updateOntapVolumeConfiguration_snapshotPolicy' - Specifies the snapshot policy for the volume. There are three built-in+-- snapshot policies:+--+-- - @default@: This is the default policy. A maximum of six hourly+-- snapshots taken five minutes past the hour. A maximum of two daily+-- snapshots taken Monday through Saturday at 10 minutes after+-- midnight. A maximum of two weekly snapshots taken every Sunday at 15+-- minutes after midnight.+--+-- - @default-1weekly@: This policy is the same as the @default@ policy+-- except that it only retains one snapshot from the weekly schedule.+--+-- - @none@: This policy does not take any snapshots. This policy can be+-- assigned to volumes to prevent automatic snapshots from being taken.+--+-- You can also provide the name of a custom policy that you created with+-- the ONTAP CLI or REST API.+--+-- For more information, see+-- <https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/snapshots-ontap.html#snapshot-policies Snapshot policies>+-- in the /Amazon FSx for NetApp ONTAP User Guide/.+--+-- 'storageEfficiencyEnabled', 'updateOntapVolumeConfiguration_storageEfficiencyEnabled' - Default is @false@. Set to true to enable the deduplication,+-- compression, and compaction storage efficiency features on the volume.+--+-- 'tieringPolicy', 'updateOntapVolumeConfiguration_tieringPolicy' - Update the volume\'s data tiering policy.+newUpdateOntapVolumeConfiguration ::+ UpdateOntapVolumeConfiguration+newUpdateOntapVolumeConfiguration =+ UpdateOntapVolumeConfiguration'+ { copyTagsToBackups =+ Prelude.Nothing,+ junctionPath = Prelude.Nothing,+ securityStyle = Prelude.Nothing,+ sizeInMegabytes = Prelude.Nothing,+ snapshotPolicy = Prelude.Nothing,+ storageEfficiencyEnabled = Prelude.Nothing,+ tieringPolicy = Prelude.Nothing+ }++-- | A boolean flag indicating whether tags for the volume should be copied+-- to backups. This value defaults to false. If it\'s set to true, all tags+-- for the volume are copied to all automatic and user-initiated backups+-- where the user doesn\'t specify tags. If this value is true, and you+-- specify one or more tags, only the specified tags are copied to backups.+-- If you specify one or more tags when creating a user-initiated backup,+-- no tags are copied from the volume, regardless of this value.+updateOntapVolumeConfiguration_copyTagsToBackups :: Lens.Lens' UpdateOntapVolumeConfiguration (Prelude.Maybe Prelude.Bool)+updateOntapVolumeConfiguration_copyTagsToBackups = Lens.lens (\UpdateOntapVolumeConfiguration' {copyTagsToBackups} -> copyTagsToBackups) (\s@UpdateOntapVolumeConfiguration' {} a -> s {copyTagsToBackups = a} :: UpdateOntapVolumeConfiguration)++-- | Specifies the location in the SVM\'s namespace where the volume is+-- mounted. The @JunctionPath@ must have a leading forward slash, such as+-- @\/vol3@.+updateOntapVolumeConfiguration_junctionPath :: Lens.Lens' UpdateOntapVolumeConfiguration (Prelude.Maybe Prelude.Text)+updateOntapVolumeConfiguration_junctionPath = Lens.lens (\UpdateOntapVolumeConfiguration' {junctionPath} -> junctionPath) (\s@UpdateOntapVolumeConfiguration' {} a -> s {junctionPath = a} :: UpdateOntapVolumeConfiguration)++-- | The security style for the volume, which can be @UNIX@. @NTFS@, or+-- @MIXED@.+updateOntapVolumeConfiguration_securityStyle :: Lens.Lens' UpdateOntapVolumeConfiguration (Prelude.Maybe SecurityStyle)+updateOntapVolumeConfiguration_securityStyle = Lens.lens (\UpdateOntapVolumeConfiguration' {securityStyle} -> securityStyle) (\s@UpdateOntapVolumeConfiguration' {} a -> s {securityStyle = a} :: UpdateOntapVolumeConfiguration)++-- | Specifies the size of the volume in megabytes.+updateOntapVolumeConfiguration_sizeInMegabytes :: Lens.Lens' UpdateOntapVolumeConfiguration (Prelude.Maybe Prelude.Natural)+updateOntapVolumeConfiguration_sizeInMegabytes = Lens.lens (\UpdateOntapVolumeConfiguration' {sizeInMegabytes} -> sizeInMegabytes) (\s@UpdateOntapVolumeConfiguration' {} a -> s {sizeInMegabytes = a} :: UpdateOntapVolumeConfiguration)++-- | Specifies the snapshot policy for the volume. There are three built-in+-- snapshot policies:+--+-- - @default@: This is the default policy. A maximum of six hourly+-- snapshots taken five minutes past the hour. A maximum of two daily+-- snapshots taken Monday through Saturday at 10 minutes after+-- midnight. A maximum of two weekly snapshots taken every Sunday at 15+-- minutes after midnight.+--+-- - @default-1weekly@: This policy is the same as the @default@ policy+-- except that it only retains one snapshot from the weekly schedule.+--+-- - @none@: This policy does not take any snapshots. This policy can be+-- assigned to volumes to prevent automatic snapshots from being taken.+--+-- You can also provide the name of a custom policy that you created with+-- the ONTAP CLI or REST API.+--+-- For more information, see+-- <https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/snapshots-ontap.html#snapshot-policies Snapshot policies>+-- in the /Amazon FSx for NetApp ONTAP User Guide/.+updateOntapVolumeConfiguration_snapshotPolicy :: Lens.Lens' UpdateOntapVolumeConfiguration (Prelude.Maybe Prelude.Text)+updateOntapVolumeConfiguration_snapshotPolicy = Lens.lens (\UpdateOntapVolumeConfiguration' {snapshotPolicy} -> snapshotPolicy) (\s@UpdateOntapVolumeConfiguration' {} a -> s {snapshotPolicy = a} :: UpdateOntapVolumeConfiguration)++-- | Default is @false@. Set to true to enable the deduplication,+-- compression, and compaction storage efficiency features on the volume.+updateOntapVolumeConfiguration_storageEfficiencyEnabled :: Lens.Lens' UpdateOntapVolumeConfiguration (Prelude.Maybe Prelude.Bool)+updateOntapVolumeConfiguration_storageEfficiencyEnabled = Lens.lens (\UpdateOntapVolumeConfiguration' {storageEfficiencyEnabled} -> storageEfficiencyEnabled) (\s@UpdateOntapVolumeConfiguration' {} a -> s {storageEfficiencyEnabled = a} :: UpdateOntapVolumeConfiguration)++-- | Update the volume\'s data tiering policy.+updateOntapVolumeConfiguration_tieringPolicy :: Lens.Lens' UpdateOntapVolumeConfiguration (Prelude.Maybe TieringPolicy)+updateOntapVolumeConfiguration_tieringPolicy = Lens.lens (\UpdateOntapVolumeConfiguration' {tieringPolicy} -> tieringPolicy) (\s@UpdateOntapVolumeConfiguration' {} a -> s {tieringPolicy = a} :: UpdateOntapVolumeConfiguration)++instance+ Prelude.Hashable+ UpdateOntapVolumeConfiguration+ where+ hashWithSalt+ _salt+ UpdateOntapVolumeConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` copyTagsToBackups+ `Prelude.hashWithSalt` junctionPath+ `Prelude.hashWithSalt` securityStyle+ `Prelude.hashWithSalt` sizeInMegabytes+ `Prelude.hashWithSalt` snapshotPolicy+ `Prelude.hashWithSalt` storageEfficiencyEnabled+ `Prelude.hashWithSalt` tieringPolicy++instance+ Prelude.NFData+ UpdateOntapVolumeConfiguration+ where+ rnf UpdateOntapVolumeConfiguration' {..} =+ Prelude.rnf copyTagsToBackups+ `Prelude.seq` Prelude.rnf junctionPath+ `Prelude.seq` Prelude.rnf securityStyle+ `Prelude.seq` Prelude.rnf sizeInMegabytes+ `Prelude.seq` Prelude.rnf snapshotPolicy+ `Prelude.seq` Prelude.rnf storageEfficiencyEnabled+ `Prelude.seq` Prelude.rnf tieringPolicy++instance Data.ToJSON UpdateOntapVolumeConfiguration where+ toJSON UpdateOntapVolumeConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("CopyTagsToBackups" Data..=)+ Prelude.<$> copyTagsToBackups,+ ("JunctionPath" Data..=) Prelude.<$> junctionPath,+ ("SecurityStyle" Data..=) Prelude.<$> securityStyle,+ ("SizeInMegabytes" Data..=)+ Prelude.<$> sizeInMegabytes,+ ("SnapshotPolicy" Data..=)+ Prelude.<$> snapshotPolicy,+ ("StorageEfficiencyEnabled" Data..=)+ Prelude.<$> storageEfficiencyEnabled,+ ("TieringPolicy" Data..=) Prelude.<$> tieringPolicy+ ]+ )
+ gen/Amazonka/FSx/Types/UpdateOpenZFSVolumeConfiguration.hs view
@@ -0,0 +1,242 @@+{-# 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.FSx.Types.UpdateOpenZFSVolumeConfiguration+-- 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.FSx.Types.UpdateOpenZFSVolumeConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types.OpenZFSDataCompressionType+import Amazonka.FSx.Types.OpenZFSNfsExport+import Amazonka.FSx.Types.OpenZFSUserOrGroupQuota+import qualified Amazonka.Prelude as Prelude++-- | Used to specify changes to the OpenZFS configuration for the volume that+-- you are updating.+--+-- /See:/ 'newUpdateOpenZFSVolumeConfiguration' smart constructor.+data UpdateOpenZFSVolumeConfiguration = UpdateOpenZFSVolumeConfiguration'+ { -- | Specifies the method used to compress the data on the volume. The+ -- compression type is @NONE@ by default.+ --+ -- - @NONE@ - Doesn\'t compress the data on the volume. @NONE@ is the+ -- default.+ --+ -- - @ZSTD@ - Compresses the data in the volume using the Zstandard+ -- (ZSTD) compression algorithm. Compared to LZ4, Z-Standard provides a+ -- better compression ratio to minimize on-disk storage utilization.+ --+ -- - @LZ4@ - Compresses the data in the volume using the LZ4 compression+ -- algorithm. Compared to Z-Standard, LZ4 is less compute-intensive and+ -- delivers higher write throughput speeds.+ dataCompressionType :: Prelude.Maybe OpenZFSDataCompressionType,+ -- | The configuration object for mounting a Network File System (NFS) file+ -- system.+ nfsExports :: Prelude.Maybe [OpenZFSNfsExport],+ -- | A Boolean value indicating whether the volume is read-only.+ readOnly :: Prelude.Maybe Prelude.Bool,+ -- | Specifies the record size of an OpenZFS volume, in kibibytes (KiB).+ -- Valid values are 4, 8, 16, 32, 64, 128, 256, 512, or 1024 KiB. The+ -- default is 128 KiB. Most workloads should use the default record size.+ -- Database workflows can benefit from a smaller record size, while+ -- streaming workflows can benefit from a larger record size. For+ -- additional guidance on when to set a custom record size, see+ -- <https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/performance.html#performance-tips-zfs Tips for maximizing performance>+ -- in the /Amazon FSx for OpenZFS User Guide/.+ recordSizeKiB :: Prelude.Maybe Prelude.Natural,+ -- | The maximum amount of storage in gibibytes (GiB) that the volume can use+ -- from its parent. You can specify a quota larger than the storage on the+ -- parent volume. You can specify a value of @-1@ to unset a volume\'s+ -- storage capacity quota.+ storageCapacityQuotaGiB :: Prelude.Maybe Prelude.Int,+ -- | The amount of storage in gibibytes (GiB) to reserve from the parent+ -- volume. You can\'t reserve more storage than the parent volume has+ -- reserved. You can specify a value of @-1@ to unset a volume\'s storage+ -- capacity reservation.+ storageCapacityReservationGiB :: Prelude.Maybe Prelude.Int,+ -- | An object specifying how much storage users or groups can use on the+ -- volume.+ userAndGroupQuotas :: Prelude.Maybe [OpenZFSUserOrGroupQuota]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateOpenZFSVolumeConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataCompressionType', 'updateOpenZFSVolumeConfiguration_dataCompressionType' - Specifies the method used to compress the data on the volume. The+-- compression type is @NONE@ by default.+--+-- - @NONE@ - Doesn\'t compress the data on the volume. @NONE@ is the+-- default.+--+-- - @ZSTD@ - Compresses the data in the volume using the Zstandard+-- (ZSTD) compression algorithm. Compared to LZ4, Z-Standard provides a+-- better compression ratio to minimize on-disk storage utilization.+--+-- - @LZ4@ - Compresses the data in the volume using the LZ4 compression+-- algorithm. Compared to Z-Standard, LZ4 is less compute-intensive and+-- delivers higher write throughput speeds.+--+-- 'nfsExports', 'updateOpenZFSVolumeConfiguration_nfsExports' - The configuration object for mounting a Network File System (NFS) file+-- system.+--+-- 'readOnly', 'updateOpenZFSVolumeConfiguration_readOnly' - A Boolean value indicating whether the volume is read-only.+--+-- 'recordSizeKiB', 'updateOpenZFSVolumeConfiguration_recordSizeKiB' - Specifies the record size of an OpenZFS volume, in kibibytes (KiB).+-- Valid values are 4, 8, 16, 32, 64, 128, 256, 512, or 1024 KiB. The+-- default is 128 KiB. Most workloads should use the default record size.+-- Database workflows can benefit from a smaller record size, while+-- streaming workflows can benefit from a larger record size. For+-- additional guidance on when to set a custom record size, see+-- <https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/performance.html#performance-tips-zfs Tips for maximizing performance>+-- in the /Amazon FSx for OpenZFS User Guide/.+--+-- 'storageCapacityQuotaGiB', 'updateOpenZFSVolumeConfiguration_storageCapacityQuotaGiB' - The maximum amount of storage in gibibytes (GiB) that the volume can use+-- from its parent. You can specify a quota larger than the storage on the+-- parent volume. You can specify a value of @-1@ to unset a volume\'s+-- storage capacity quota.+--+-- 'storageCapacityReservationGiB', 'updateOpenZFSVolumeConfiguration_storageCapacityReservationGiB' - The amount of storage in gibibytes (GiB) to reserve from the parent+-- volume. You can\'t reserve more storage than the parent volume has+-- reserved. You can specify a value of @-1@ to unset a volume\'s storage+-- capacity reservation.+--+-- 'userAndGroupQuotas', 'updateOpenZFSVolumeConfiguration_userAndGroupQuotas' - An object specifying how much storage users or groups can use on the+-- volume.+newUpdateOpenZFSVolumeConfiguration ::+ UpdateOpenZFSVolumeConfiguration+newUpdateOpenZFSVolumeConfiguration =+ UpdateOpenZFSVolumeConfiguration'+ { dataCompressionType =+ Prelude.Nothing,+ nfsExports = Prelude.Nothing,+ readOnly = Prelude.Nothing,+ recordSizeKiB = Prelude.Nothing,+ storageCapacityQuotaGiB = Prelude.Nothing,+ storageCapacityReservationGiB =+ Prelude.Nothing,+ userAndGroupQuotas = Prelude.Nothing+ }++-- | Specifies the method used to compress the data on the volume. The+-- compression type is @NONE@ by default.+--+-- - @NONE@ - Doesn\'t compress the data on the volume. @NONE@ is the+-- default.+--+-- - @ZSTD@ - Compresses the data in the volume using the Zstandard+-- (ZSTD) compression algorithm. Compared to LZ4, Z-Standard provides a+-- better compression ratio to minimize on-disk storage utilization.+--+-- - @LZ4@ - Compresses the data in the volume using the LZ4 compression+-- algorithm. Compared to Z-Standard, LZ4 is less compute-intensive and+-- delivers higher write throughput speeds.+updateOpenZFSVolumeConfiguration_dataCompressionType :: Lens.Lens' UpdateOpenZFSVolumeConfiguration (Prelude.Maybe OpenZFSDataCompressionType)+updateOpenZFSVolumeConfiguration_dataCompressionType = Lens.lens (\UpdateOpenZFSVolumeConfiguration' {dataCompressionType} -> dataCompressionType) (\s@UpdateOpenZFSVolumeConfiguration' {} a -> s {dataCompressionType = a} :: UpdateOpenZFSVolumeConfiguration)++-- | The configuration object for mounting a Network File System (NFS) file+-- system.+updateOpenZFSVolumeConfiguration_nfsExports :: Lens.Lens' UpdateOpenZFSVolumeConfiguration (Prelude.Maybe [OpenZFSNfsExport])+updateOpenZFSVolumeConfiguration_nfsExports = Lens.lens (\UpdateOpenZFSVolumeConfiguration' {nfsExports} -> nfsExports) (\s@UpdateOpenZFSVolumeConfiguration' {} a -> s {nfsExports = a} :: UpdateOpenZFSVolumeConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | A Boolean value indicating whether the volume is read-only.+updateOpenZFSVolumeConfiguration_readOnly :: Lens.Lens' UpdateOpenZFSVolumeConfiguration (Prelude.Maybe Prelude.Bool)+updateOpenZFSVolumeConfiguration_readOnly = Lens.lens (\UpdateOpenZFSVolumeConfiguration' {readOnly} -> readOnly) (\s@UpdateOpenZFSVolumeConfiguration' {} a -> s {readOnly = a} :: UpdateOpenZFSVolumeConfiguration)++-- | Specifies the record size of an OpenZFS volume, in kibibytes (KiB).+-- Valid values are 4, 8, 16, 32, 64, 128, 256, 512, or 1024 KiB. The+-- default is 128 KiB. Most workloads should use the default record size.+-- Database workflows can benefit from a smaller record size, while+-- streaming workflows can benefit from a larger record size. For+-- additional guidance on when to set a custom record size, see+-- <https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/performance.html#performance-tips-zfs Tips for maximizing performance>+-- in the /Amazon FSx for OpenZFS User Guide/.+updateOpenZFSVolumeConfiguration_recordSizeKiB :: Lens.Lens' UpdateOpenZFSVolumeConfiguration (Prelude.Maybe Prelude.Natural)+updateOpenZFSVolumeConfiguration_recordSizeKiB = Lens.lens (\UpdateOpenZFSVolumeConfiguration' {recordSizeKiB} -> recordSizeKiB) (\s@UpdateOpenZFSVolumeConfiguration' {} a -> s {recordSizeKiB = a} :: UpdateOpenZFSVolumeConfiguration)++-- | The maximum amount of storage in gibibytes (GiB) that the volume can use+-- from its parent. You can specify a quota larger than the storage on the+-- parent volume. You can specify a value of @-1@ to unset a volume\'s+-- storage capacity quota.+updateOpenZFSVolumeConfiguration_storageCapacityQuotaGiB :: Lens.Lens' UpdateOpenZFSVolumeConfiguration (Prelude.Maybe Prelude.Int)+updateOpenZFSVolumeConfiguration_storageCapacityQuotaGiB = Lens.lens (\UpdateOpenZFSVolumeConfiguration' {storageCapacityQuotaGiB} -> storageCapacityQuotaGiB) (\s@UpdateOpenZFSVolumeConfiguration' {} a -> s {storageCapacityQuotaGiB = a} :: UpdateOpenZFSVolumeConfiguration)++-- | The amount of storage in gibibytes (GiB) to reserve from the parent+-- volume. You can\'t reserve more storage than the parent volume has+-- reserved. You can specify a value of @-1@ to unset a volume\'s storage+-- capacity reservation.+updateOpenZFSVolumeConfiguration_storageCapacityReservationGiB :: Lens.Lens' UpdateOpenZFSVolumeConfiguration (Prelude.Maybe Prelude.Int)+updateOpenZFSVolumeConfiguration_storageCapacityReservationGiB = Lens.lens (\UpdateOpenZFSVolumeConfiguration' {storageCapacityReservationGiB} -> storageCapacityReservationGiB) (\s@UpdateOpenZFSVolumeConfiguration' {} a -> s {storageCapacityReservationGiB = a} :: UpdateOpenZFSVolumeConfiguration)++-- | An object specifying how much storage users or groups can use on the+-- volume.+updateOpenZFSVolumeConfiguration_userAndGroupQuotas :: Lens.Lens' UpdateOpenZFSVolumeConfiguration (Prelude.Maybe [OpenZFSUserOrGroupQuota])+updateOpenZFSVolumeConfiguration_userAndGroupQuotas = Lens.lens (\UpdateOpenZFSVolumeConfiguration' {userAndGroupQuotas} -> userAndGroupQuotas) (\s@UpdateOpenZFSVolumeConfiguration' {} a -> s {userAndGroupQuotas = a} :: UpdateOpenZFSVolumeConfiguration) Prelude.. Lens.mapping Lens.coerced++instance+ Prelude.Hashable+ UpdateOpenZFSVolumeConfiguration+ where+ hashWithSalt+ _salt+ UpdateOpenZFSVolumeConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` dataCompressionType+ `Prelude.hashWithSalt` nfsExports+ `Prelude.hashWithSalt` readOnly+ `Prelude.hashWithSalt` recordSizeKiB+ `Prelude.hashWithSalt` storageCapacityQuotaGiB+ `Prelude.hashWithSalt` storageCapacityReservationGiB+ `Prelude.hashWithSalt` userAndGroupQuotas++instance+ Prelude.NFData+ UpdateOpenZFSVolumeConfiguration+ where+ rnf UpdateOpenZFSVolumeConfiguration' {..} =+ Prelude.rnf dataCompressionType+ `Prelude.seq` Prelude.rnf nfsExports+ `Prelude.seq` Prelude.rnf readOnly+ `Prelude.seq` Prelude.rnf recordSizeKiB+ `Prelude.seq` Prelude.rnf storageCapacityQuotaGiB+ `Prelude.seq` Prelude.rnf storageCapacityReservationGiB+ `Prelude.seq` Prelude.rnf userAndGroupQuotas++instance Data.ToJSON UpdateOpenZFSVolumeConfiguration where+ toJSON UpdateOpenZFSVolumeConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("DataCompressionType" Data..=)+ Prelude.<$> dataCompressionType,+ ("NfsExports" Data..=) Prelude.<$> nfsExports,+ ("ReadOnly" Data..=) Prelude.<$> readOnly,+ ("RecordSizeKiB" Data..=) Prelude.<$> recordSizeKiB,+ ("StorageCapacityQuotaGiB" Data..=)+ Prelude.<$> storageCapacityQuotaGiB,+ ("StorageCapacityReservationGiB" Data..=)+ Prelude.<$> storageCapacityReservationGiB,+ ("UserAndGroupQuotas" Data..=)+ Prelude.<$> userAndGroupQuotas+ ]+ )
+ gen/Amazonka/FSx/Types/UpdateSvmActiveDirectoryConfiguration.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.FSx.Types.UpdateSvmActiveDirectoryConfiguration+-- 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.FSx.Types.UpdateSvmActiveDirectoryConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types.SelfManagedActiveDirectoryConfigurationUpdates+import qualified Amazonka.Prelude as Prelude++-- | Updates the Microsoft Active Directory (AD) configuration of an SVM+-- joined to an AD. Please note, account credentials are not returned in+-- the response payload.+--+-- /See:/ 'newUpdateSvmActiveDirectoryConfiguration' smart constructor.+data UpdateSvmActiveDirectoryConfiguration = UpdateSvmActiveDirectoryConfiguration'+ { selfManagedActiveDirectoryConfiguration :: Prelude.Maybe SelfManagedActiveDirectoryConfigurationUpdates+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateSvmActiveDirectoryConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'selfManagedActiveDirectoryConfiguration', 'updateSvmActiveDirectoryConfiguration_selfManagedActiveDirectoryConfiguration' - Undocumented member.+newUpdateSvmActiveDirectoryConfiguration ::+ UpdateSvmActiveDirectoryConfiguration+newUpdateSvmActiveDirectoryConfiguration =+ UpdateSvmActiveDirectoryConfiguration'+ { selfManagedActiveDirectoryConfiguration =+ Prelude.Nothing+ }++-- | Undocumented member.+updateSvmActiveDirectoryConfiguration_selfManagedActiveDirectoryConfiguration :: Lens.Lens' UpdateSvmActiveDirectoryConfiguration (Prelude.Maybe SelfManagedActiveDirectoryConfigurationUpdates)+updateSvmActiveDirectoryConfiguration_selfManagedActiveDirectoryConfiguration = Lens.lens (\UpdateSvmActiveDirectoryConfiguration' {selfManagedActiveDirectoryConfiguration} -> selfManagedActiveDirectoryConfiguration) (\s@UpdateSvmActiveDirectoryConfiguration' {} a -> s {selfManagedActiveDirectoryConfiguration = a} :: UpdateSvmActiveDirectoryConfiguration)++instance+ Prelude.Hashable+ UpdateSvmActiveDirectoryConfiguration+ where+ hashWithSalt+ _salt+ UpdateSvmActiveDirectoryConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` selfManagedActiveDirectoryConfiguration++instance+ Prelude.NFData+ UpdateSvmActiveDirectoryConfiguration+ where+ rnf UpdateSvmActiveDirectoryConfiguration' {..} =+ Prelude.rnf selfManagedActiveDirectoryConfiguration++instance+ Data.ToJSON+ UpdateSvmActiveDirectoryConfiguration+ where+ toJSON UpdateSvmActiveDirectoryConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("SelfManagedActiveDirectoryConfiguration" Data..=)+ Prelude.<$> selfManagedActiveDirectoryConfiguration+ ]+ )
+ gen/Amazonka/FSx/Types/Volume.hs view
@@ -0,0 +1,258 @@+{-# 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.FSx.Types.Volume+-- 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.FSx.Types.Volume where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import {-# SOURCE #-} Amazonka.FSx.Types.AdministrativeAction+import Amazonka.FSx.Types.LifecycleTransitionReason+import Amazonka.FSx.Types.OntapVolumeConfiguration+import Amazonka.FSx.Types.OpenZFSVolumeConfiguration+import Amazonka.FSx.Types.Tag+import Amazonka.FSx.Types.VolumeLifecycle+import Amazonka.FSx.Types.VolumeType+import qualified Amazonka.Prelude as Prelude++-- | Describes an Amazon FSx for NetApp ONTAP or Amazon FSx for OpenZFS+-- volume.+--+-- /See:/ 'newVolume' smart constructor.+data Volume = Volume'+ { -- | A list of administrative actions for the volume that are in process or+ -- waiting to be processed. Administrative actions describe changes to the+ -- volume that you have initiated using the @UpdateVolume@ action.+ administrativeActions :: Prelude.Maybe [AdministrativeAction],+ creationTime :: Prelude.Maybe Data.POSIX,+ fileSystemId :: Prelude.Maybe Prelude.Text,+ -- | The lifecycle status of the volume.+ --+ -- - @AVAILABLE@ - The volume is fully available for use.+ --+ -- - @CREATED@ - The volume has been created.+ --+ -- - @CREATING@ - Amazon FSx is creating the new volume.+ --+ -- - @DELETING@ - Amazon FSx is deleting an existing volume.+ --+ -- - @FAILED@ - Amazon FSx was unable to create the volume.+ --+ -- - @MISCONFIGURED@ - The volume is in a failed but recoverable state.+ --+ -- - @PENDING@ - Amazon FSx hasn\'t started creating the volume.+ lifecycle :: Prelude.Maybe VolumeLifecycle,+ -- | The reason why the volume lifecycle status changed.+ lifecycleTransitionReason :: Prelude.Maybe LifecycleTransitionReason,+ -- | The name of the volume.+ name :: Prelude.Maybe Prelude.Text,+ ontapConfiguration :: Prelude.Maybe OntapVolumeConfiguration,+ -- | The configuration of an Amazon FSx for OpenZFS volume.+ openZFSConfiguration :: Prelude.Maybe OpenZFSVolumeConfiguration,+ resourceARN :: Prelude.Maybe Prelude.Text,+ tags :: Prelude.Maybe (Prelude.NonEmpty Tag),+ -- | The system-generated, unique ID of the volume.+ volumeId :: Prelude.Maybe Prelude.Text,+ -- | The type of the volume.+ volumeType :: Prelude.Maybe VolumeType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Volume' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'administrativeActions', 'volume_administrativeActions' - A list of administrative actions for the volume that are in process or+-- waiting to be processed. Administrative actions describe changes to the+-- volume that you have initiated using the @UpdateVolume@ action.+--+-- 'creationTime', 'volume_creationTime' - Undocumented member.+--+-- 'fileSystemId', 'volume_fileSystemId' - Undocumented member.+--+-- 'lifecycle', 'volume_lifecycle' - The lifecycle status of the volume.+--+-- - @AVAILABLE@ - The volume is fully available for use.+--+-- - @CREATED@ - The volume has been created.+--+-- - @CREATING@ - Amazon FSx is creating the new volume.+--+-- - @DELETING@ - Amazon FSx is deleting an existing volume.+--+-- - @FAILED@ - Amazon FSx was unable to create the volume.+--+-- - @MISCONFIGURED@ - The volume is in a failed but recoverable state.+--+-- - @PENDING@ - Amazon FSx hasn\'t started creating the volume.+--+-- 'lifecycleTransitionReason', 'volume_lifecycleTransitionReason' - The reason why the volume lifecycle status changed.+--+-- 'name', 'volume_name' - The name of the volume.+--+-- 'ontapConfiguration', 'volume_ontapConfiguration' - Undocumented member.+--+-- 'openZFSConfiguration', 'volume_openZFSConfiguration' - The configuration of an Amazon FSx for OpenZFS volume.+--+-- 'resourceARN', 'volume_resourceARN' - Undocumented member.+--+-- 'tags', 'volume_tags' - Undocumented member.+--+-- 'volumeId', 'volume_volumeId' - The system-generated, unique ID of the volume.+--+-- 'volumeType', 'volume_volumeType' - The type of the volume.+newVolume ::+ Volume+newVolume =+ Volume'+ { administrativeActions = Prelude.Nothing,+ creationTime = Prelude.Nothing,+ fileSystemId = Prelude.Nothing,+ lifecycle = Prelude.Nothing,+ lifecycleTransitionReason = Prelude.Nothing,+ name = Prelude.Nothing,+ ontapConfiguration = Prelude.Nothing,+ openZFSConfiguration = Prelude.Nothing,+ resourceARN = Prelude.Nothing,+ tags = Prelude.Nothing,+ volumeId = Prelude.Nothing,+ volumeType = Prelude.Nothing+ }++-- | A list of administrative actions for the volume that are in process or+-- waiting to be processed. Administrative actions describe changes to the+-- volume that you have initiated using the @UpdateVolume@ action.+volume_administrativeActions :: Lens.Lens' Volume (Prelude.Maybe [AdministrativeAction])+volume_administrativeActions = Lens.lens (\Volume' {administrativeActions} -> administrativeActions) (\s@Volume' {} a -> s {administrativeActions = a} :: Volume) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+volume_creationTime :: Lens.Lens' Volume (Prelude.Maybe Prelude.UTCTime)+volume_creationTime = Lens.lens (\Volume' {creationTime} -> creationTime) (\s@Volume' {} a -> s {creationTime = a} :: Volume) Prelude.. Lens.mapping Data._Time++-- | Undocumented member.+volume_fileSystemId :: Lens.Lens' Volume (Prelude.Maybe Prelude.Text)+volume_fileSystemId = Lens.lens (\Volume' {fileSystemId} -> fileSystemId) (\s@Volume' {} a -> s {fileSystemId = a} :: Volume)++-- | The lifecycle status of the volume.+--+-- - @AVAILABLE@ - The volume is fully available for use.+--+-- - @CREATED@ - The volume has been created.+--+-- - @CREATING@ - Amazon FSx is creating the new volume.+--+-- - @DELETING@ - Amazon FSx is deleting an existing volume.+--+-- - @FAILED@ - Amazon FSx was unable to create the volume.+--+-- - @MISCONFIGURED@ - The volume is in a failed but recoverable state.+--+-- - @PENDING@ - Amazon FSx hasn\'t started creating the volume.+volume_lifecycle :: Lens.Lens' Volume (Prelude.Maybe VolumeLifecycle)+volume_lifecycle = Lens.lens (\Volume' {lifecycle} -> lifecycle) (\s@Volume' {} a -> s {lifecycle = a} :: Volume)++-- | The reason why the volume lifecycle status changed.+volume_lifecycleTransitionReason :: Lens.Lens' Volume (Prelude.Maybe LifecycleTransitionReason)+volume_lifecycleTransitionReason = Lens.lens (\Volume' {lifecycleTransitionReason} -> lifecycleTransitionReason) (\s@Volume' {} a -> s {lifecycleTransitionReason = a} :: Volume)++-- | The name of the volume.+volume_name :: Lens.Lens' Volume (Prelude.Maybe Prelude.Text)+volume_name = Lens.lens (\Volume' {name} -> name) (\s@Volume' {} a -> s {name = a} :: Volume)++-- | Undocumented member.+volume_ontapConfiguration :: Lens.Lens' Volume (Prelude.Maybe OntapVolumeConfiguration)+volume_ontapConfiguration = Lens.lens (\Volume' {ontapConfiguration} -> ontapConfiguration) (\s@Volume' {} a -> s {ontapConfiguration = a} :: Volume)++-- | The configuration of an Amazon FSx for OpenZFS volume.+volume_openZFSConfiguration :: Lens.Lens' Volume (Prelude.Maybe OpenZFSVolumeConfiguration)+volume_openZFSConfiguration = Lens.lens (\Volume' {openZFSConfiguration} -> openZFSConfiguration) (\s@Volume' {} a -> s {openZFSConfiguration = a} :: Volume)++-- | Undocumented member.+volume_resourceARN :: Lens.Lens' Volume (Prelude.Maybe Prelude.Text)+volume_resourceARN = Lens.lens (\Volume' {resourceARN} -> resourceARN) (\s@Volume' {} a -> s {resourceARN = a} :: Volume)++-- | Undocumented member.+volume_tags :: Lens.Lens' Volume (Prelude.Maybe (Prelude.NonEmpty Tag))+volume_tags = Lens.lens (\Volume' {tags} -> tags) (\s@Volume' {} a -> s {tags = a} :: Volume) Prelude.. Lens.mapping Lens.coerced++-- | The system-generated, unique ID of the volume.+volume_volumeId :: Lens.Lens' Volume (Prelude.Maybe Prelude.Text)+volume_volumeId = Lens.lens (\Volume' {volumeId} -> volumeId) (\s@Volume' {} a -> s {volumeId = a} :: Volume)++-- | The type of the volume.+volume_volumeType :: Lens.Lens' Volume (Prelude.Maybe VolumeType)+volume_volumeType = Lens.lens (\Volume' {volumeType} -> volumeType) (\s@Volume' {} a -> s {volumeType = a} :: Volume)++instance Data.FromJSON Volume where+ parseJSON =+ Data.withObject+ "Volume"+ ( \x ->+ Volume'+ Prelude.<$> ( x+ Data..:? "AdministrativeActions"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "CreationTime")+ Prelude.<*> (x Data..:? "FileSystemId")+ Prelude.<*> (x Data..:? "Lifecycle")+ Prelude.<*> (x Data..:? "LifecycleTransitionReason")+ Prelude.<*> (x Data..:? "Name")+ Prelude.<*> (x Data..:? "OntapConfiguration")+ Prelude.<*> (x Data..:? "OpenZFSConfiguration")+ Prelude.<*> (x Data..:? "ResourceARN")+ Prelude.<*> (x Data..:? "Tags")+ Prelude.<*> (x Data..:? "VolumeId")+ Prelude.<*> (x Data..:? "VolumeType")+ )++instance Prelude.Hashable Volume where+ hashWithSalt _salt Volume' {..} =+ _salt+ `Prelude.hashWithSalt` administrativeActions+ `Prelude.hashWithSalt` creationTime+ `Prelude.hashWithSalt` fileSystemId+ `Prelude.hashWithSalt` lifecycle+ `Prelude.hashWithSalt` lifecycleTransitionReason+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` ontapConfiguration+ `Prelude.hashWithSalt` openZFSConfiguration+ `Prelude.hashWithSalt` resourceARN+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` volumeId+ `Prelude.hashWithSalt` volumeType++instance Prelude.NFData Volume where+ rnf Volume' {..} =+ Prelude.rnf administrativeActions+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf fileSystemId+ `Prelude.seq` Prelude.rnf lifecycle+ `Prelude.seq` Prelude.rnf lifecycleTransitionReason+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf ontapConfiguration+ `Prelude.seq` Prelude.rnf openZFSConfiguration+ `Prelude.seq` Prelude.rnf resourceARN+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf volumeId+ `Prelude.seq` Prelude.rnf volumeType
+ gen/Amazonka/FSx/Types/Volume.hs-boot view
@@ -0,0 +1,31 @@+{-# OPTIONS_GHC -Wno-missing-methods #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FSx.Types.Volume+-- 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.FSx.Types.Volume where++import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++data Volume++instance Prelude.Eq Volume++instance Prelude.Read Volume++instance Prelude.Show Volume++instance Prelude.Generic Volume++instance Data.FromJSON Volume++instance Prelude.NFData Volume++instance Prelude.Hashable Volume
+ gen/Amazonka/FSx/Types/VolumeFilter.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.FSx.Types.VolumeFilter+-- 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.FSx.Types.VolumeFilter where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types.VolumeFilterName+import qualified Amazonka.Prelude as Prelude++-- | A filter used to restrict the results of describe calls for Amazon FSx+-- for NetApp ONTAP or Amazon FSx for OpenZFS volumes. You can use multiple+-- filters to return results that meet all applied filter requirements.+--+-- /See:/ 'newVolumeFilter' smart constructor.+data VolumeFilter = VolumeFilter'+ { -- | The name for this filter.+ name :: Prelude.Maybe VolumeFilterName,+ -- | The values of the filter. These are all the values for any of the+ -- applied filters.+ values :: Prelude.Maybe [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'VolumeFilter' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'volumeFilter_name' - The name for this filter.+--+-- 'values', 'volumeFilter_values' - The values of the filter. These are all the values for any of the+-- applied filters.+newVolumeFilter ::+ VolumeFilter+newVolumeFilter =+ VolumeFilter'+ { name = Prelude.Nothing,+ values = Prelude.Nothing+ }++-- | The name for this filter.+volumeFilter_name :: Lens.Lens' VolumeFilter (Prelude.Maybe VolumeFilterName)+volumeFilter_name = Lens.lens (\VolumeFilter' {name} -> name) (\s@VolumeFilter' {} a -> s {name = a} :: VolumeFilter)++-- | The values of the filter. These are all the values for any of the+-- applied filters.+volumeFilter_values :: Lens.Lens' VolumeFilter (Prelude.Maybe [Prelude.Text])+volumeFilter_values = Lens.lens (\VolumeFilter' {values} -> values) (\s@VolumeFilter' {} a -> s {values = a} :: VolumeFilter) Prelude.. Lens.mapping Lens.coerced++instance Prelude.Hashable VolumeFilter where+ hashWithSalt _salt VolumeFilter' {..} =+ _salt+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` values++instance Prelude.NFData VolumeFilter where+ rnf VolumeFilter' {..} =+ Prelude.rnf name `Prelude.seq` Prelude.rnf values++instance Data.ToJSON VolumeFilter where+ toJSON VolumeFilter' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Name" Data..=) Prelude.<$> name,+ ("Values" Data..=) Prelude.<$> values+ ]+ )
+ gen/Amazonka/FSx/Types/VolumeFilterName.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.FSx.Types.VolumeFilterName+-- 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.FSx.Types.VolumeFilterName+ ( VolumeFilterName+ ( ..,+ VolumeFilterName_File_system_id,+ VolumeFilterName_Storage_virtual_machine_id+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype VolumeFilterName = VolumeFilterName'+ { fromVolumeFilterName ::+ 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 VolumeFilterName_File_system_id :: VolumeFilterName+pattern VolumeFilterName_File_system_id = VolumeFilterName' "file-system-id"++pattern VolumeFilterName_Storage_virtual_machine_id :: VolumeFilterName+pattern VolumeFilterName_Storage_virtual_machine_id = VolumeFilterName' "storage-virtual-machine-id"++{-# COMPLETE+ VolumeFilterName_File_system_id,+ VolumeFilterName_Storage_virtual_machine_id,+ VolumeFilterName'+ #-}
+ gen/Amazonka/FSx/Types/VolumeLifecycle.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.FSx.Types.VolumeLifecycle+-- 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.FSx.Types.VolumeLifecycle+ ( VolumeLifecycle+ ( ..,+ VolumeLifecycle_AVAILABLE,+ VolumeLifecycle_CREATED,+ VolumeLifecycle_CREATING,+ VolumeLifecycle_DELETING,+ VolumeLifecycle_FAILED,+ VolumeLifecycle_MISCONFIGURED,+ VolumeLifecycle_PENDING+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype VolumeLifecycle = VolumeLifecycle'+ { fromVolumeLifecycle ::+ 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 VolumeLifecycle_AVAILABLE :: VolumeLifecycle+pattern VolumeLifecycle_AVAILABLE = VolumeLifecycle' "AVAILABLE"++pattern VolumeLifecycle_CREATED :: VolumeLifecycle+pattern VolumeLifecycle_CREATED = VolumeLifecycle' "CREATED"++pattern VolumeLifecycle_CREATING :: VolumeLifecycle+pattern VolumeLifecycle_CREATING = VolumeLifecycle' "CREATING"++pattern VolumeLifecycle_DELETING :: VolumeLifecycle+pattern VolumeLifecycle_DELETING = VolumeLifecycle' "DELETING"++pattern VolumeLifecycle_FAILED :: VolumeLifecycle+pattern VolumeLifecycle_FAILED = VolumeLifecycle' "FAILED"++pattern VolumeLifecycle_MISCONFIGURED :: VolumeLifecycle+pattern VolumeLifecycle_MISCONFIGURED = VolumeLifecycle' "MISCONFIGURED"++pattern VolumeLifecycle_PENDING :: VolumeLifecycle+pattern VolumeLifecycle_PENDING = VolumeLifecycle' "PENDING"++{-# COMPLETE+ VolumeLifecycle_AVAILABLE,+ VolumeLifecycle_CREATED,+ VolumeLifecycle_CREATING,+ VolumeLifecycle_DELETING,+ VolumeLifecycle_FAILED,+ VolumeLifecycle_MISCONFIGURED,+ VolumeLifecycle_PENDING,+ VolumeLifecycle'+ #-}
+ gen/Amazonka/FSx/Types/VolumeType.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.FSx.Types.VolumeType+-- 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.FSx.Types.VolumeType+ ( VolumeType+ ( ..,+ VolumeType_ONTAP,+ VolumeType_OPENZFS+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype VolumeType = VolumeType'+ { fromVolumeType ::+ 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 VolumeType_ONTAP :: VolumeType+pattern VolumeType_ONTAP = VolumeType' "ONTAP"++pattern VolumeType_OPENZFS :: VolumeType+pattern VolumeType_OPENZFS = VolumeType' "OPENZFS"++{-# COMPLETE+ VolumeType_ONTAP,+ VolumeType_OPENZFS,+ VolumeType'+ #-}
+ gen/Amazonka/FSx/Types/WindowsAccessAuditLogLevel.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.FSx.Types.WindowsAccessAuditLogLevel+-- 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.FSx.Types.WindowsAccessAuditLogLevel+ ( WindowsAccessAuditLogLevel+ ( ..,+ WindowsAccessAuditLogLevel_DISABLED,+ WindowsAccessAuditLogLevel_FAILURE_ONLY,+ WindowsAccessAuditLogLevel_SUCCESS_AND_FAILURE,+ WindowsAccessAuditLogLevel_SUCCESS_ONLY+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype WindowsAccessAuditLogLevel = WindowsAccessAuditLogLevel'+ { fromWindowsAccessAuditLogLevel ::+ 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 WindowsAccessAuditLogLevel_DISABLED :: WindowsAccessAuditLogLevel+pattern WindowsAccessAuditLogLevel_DISABLED = WindowsAccessAuditLogLevel' "DISABLED"++pattern WindowsAccessAuditLogLevel_FAILURE_ONLY :: WindowsAccessAuditLogLevel+pattern WindowsAccessAuditLogLevel_FAILURE_ONLY = WindowsAccessAuditLogLevel' "FAILURE_ONLY"++pattern WindowsAccessAuditLogLevel_SUCCESS_AND_FAILURE :: WindowsAccessAuditLogLevel+pattern WindowsAccessAuditLogLevel_SUCCESS_AND_FAILURE = WindowsAccessAuditLogLevel' "SUCCESS_AND_FAILURE"++pattern WindowsAccessAuditLogLevel_SUCCESS_ONLY :: WindowsAccessAuditLogLevel+pattern WindowsAccessAuditLogLevel_SUCCESS_ONLY = WindowsAccessAuditLogLevel' "SUCCESS_ONLY"++{-# COMPLETE+ WindowsAccessAuditLogLevel_DISABLED,+ WindowsAccessAuditLogLevel_FAILURE_ONLY,+ WindowsAccessAuditLogLevel_SUCCESS_AND_FAILURE,+ WindowsAccessAuditLogLevel_SUCCESS_ONLY,+ WindowsAccessAuditLogLevel'+ #-}
+ gen/Amazonka/FSx/Types/WindowsAuditLogConfiguration.hs view
@@ -0,0 +1,214 @@+{-# 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.FSx.Types.WindowsAuditLogConfiguration+-- 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.FSx.Types.WindowsAuditLogConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types.WindowsAccessAuditLogLevel+import qualified Amazonka.Prelude as Prelude++-- | The configuration that Amazon FSx for Windows File Server uses to audit+-- and log user accesses of files, folders, and file shares on the Amazon+-- FSx for Windows File Server file system. For more information, see+-- <https://docs.aws.amazon.com/fsx/latest/WindowsGuide/file-access-auditing.html File access auditing>.+--+-- /See:/ 'newWindowsAuditLogConfiguration' smart constructor.+data WindowsAuditLogConfiguration = WindowsAuditLogConfiguration'+ { -- | The Amazon Resource Name (ARN) for the destination of the audit logs.+ -- The destination can be any Amazon CloudWatch Logs log group ARN or+ -- Amazon Kinesis Data Firehose delivery stream ARN.+ --+ -- The name of the Amazon CloudWatch Logs log group must begin with the+ -- @\/aws\/fsx@ prefix. The name of the Amazon Kinesis Data Firehouse+ -- delivery stream must begin with the @aws-fsx@ prefix.+ --+ -- The destination ARN (either CloudWatch Logs log group or Kinesis Data+ -- Firehose delivery stream) must be in the same Amazon Web Services+ -- partition, Amazon Web Services Region, and Amazon Web Services account+ -- as your Amazon FSx file system.+ auditLogDestination :: Prelude.Maybe Prelude.Text,+ -- | Sets which attempt type is logged by Amazon FSx for file and folder+ -- accesses.+ --+ -- - @SUCCESS_ONLY@ - only successful attempts to access files or folders+ -- are logged.+ --+ -- - @FAILURE_ONLY@ - only failed attempts to access files or folders are+ -- logged.+ --+ -- - @SUCCESS_AND_FAILURE@ - both successful attempts and failed attempts+ -- to access files or folders are logged.+ --+ -- - @DISABLED@ - access auditing of files and folders is turned off.+ fileAccessAuditLogLevel :: WindowsAccessAuditLogLevel,+ -- | Sets which attempt type is logged by Amazon FSx for file share accesses.+ --+ -- - @SUCCESS_ONLY@ - only successful attempts to access file shares are+ -- logged.+ --+ -- - @FAILURE_ONLY@ - only failed attempts to access file shares are+ -- logged.+ --+ -- - @SUCCESS_AND_FAILURE@ - both successful attempts and failed attempts+ -- to access file shares are logged.+ --+ -- - @DISABLED@ - access auditing of file shares is turned off.+ fileShareAccessAuditLogLevel :: WindowsAccessAuditLogLevel+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'WindowsAuditLogConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'auditLogDestination', 'windowsAuditLogConfiguration_auditLogDestination' - The Amazon Resource Name (ARN) for the destination of the audit logs.+-- The destination can be any Amazon CloudWatch Logs log group ARN or+-- Amazon Kinesis Data Firehose delivery stream ARN.+--+-- The name of the Amazon CloudWatch Logs log group must begin with the+-- @\/aws\/fsx@ prefix. The name of the Amazon Kinesis Data Firehouse+-- delivery stream must begin with the @aws-fsx@ prefix.+--+-- The destination ARN (either CloudWatch Logs log group or Kinesis Data+-- Firehose delivery stream) must be in the same Amazon Web Services+-- partition, Amazon Web Services Region, and Amazon Web Services account+-- as your Amazon FSx file system.+--+-- 'fileAccessAuditLogLevel', 'windowsAuditLogConfiguration_fileAccessAuditLogLevel' - Sets which attempt type is logged by Amazon FSx for file and folder+-- accesses.+--+-- - @SUCCESS_ONLY@ - only successful attempts to access files or folders+-- are logged.+--+-- - @FAILURE_ONLY@ - only failed attempts to access files or folders are+-- logged.+--+-- - @SUCCESS_AND_FAILURE@ - both successful attempts and failed attempts+-- to access files or folders are logged.+--+-- - @DISABLED@ - access auditing of files and folders is turned off.+--+-- 'fileShareAccessAuditLogLevel', 'windowsAuditLogConfiguration_fileShareAccessAuditLogLevel' - Sets which attempt type is logged by Amazon FSx for file share accesses.+--+-- - @SUCCESS_ONLY@ - only successful attempts to access file shares are+-- logged.+--+-- - @FAILURE_ONLY@ - only failed attempts to access file shares are+-- logged.+--+-- - @SUCCESS_AND_FAILURE@ - both successful attempts and failed attempts+-- to access file shares are logged.+--+-- - @DISABLED@ - access auditing of file shares is turned off.+newWindowsAuditLogConfiguration ::+ -- | 'fileAccessAuditLogLevel'+ WindowsAccessAuditLogLevel ->+ -- | 'fileShareAccessAuditLogLevel'+ WindowsAccessAuditLogLevel ->+ WindowsAuditLogConfiguration+newWindowsAuditLogConfiguration+ pFileAccessAuditLogLevel_+ pFileShareAccessAuditLogLevel_ =+ WindowsAuditLogConfiguration'+ { auditLogDestination =+ Prelude.Nothing,+ fileAccessAuditLogLevel =+ pFileAccessAuditLogLevel_,+ fileShareAccessAuditLogLevel =+ pFileShareAccessAuditLogLevel_+ }++-- | The Amazon Resource Name (ARN) for the destination of the audit logs.+-- The destination can be any Amazon CloudWatch Logs log group ARN or+-- Amazon Kinesis Data Firehose delivery stream ARN.+--+-- The name of the Amazon CloudWatch Logs log group must begin with the+-- @\/aws\/fsx@ prefix. The name of the Amazon Kinesis Data Firehouse+-- delivery stream must begin with the @aws-fsx@ prefix.+--+-- The destination ARN (either CloudWatch Logs log group or Kinesis Data+-- Firehose delivery stream) must be in the same Amazon Web Services+-- partition, Amazon Web Services Region, and Amazon Web Services account+-- as your Amazon FSx file system.+windowsAuditLogConfiguration_auditLogDestination :: Lens.Lens' WindowsAuditLogConfiguration (Prelude.Maybe Prelude.Text)+windowsAuditLogConfiguration_auditLogDestination = Lens.lens (\WindowsAuditLogConfiguration' {auditLogDestination} -> auditLogDestination) (\s@WindowsAuditLogConfiguration' {} a -> s {auditLogDestination = a} :: WindowsAuditLogConfiguration)++-- | Sets which attempt type is logged by Amazon FSx for file and folder+-- accesses.+--+-- - @SUCCESS_ONLY@ - only successful attempts to access files or folders+-- are logged.+--+-- - @FAILURE_ONLY@ - only failed attempts to access files or folders are+-- logged.+--+-- - @SUCCESS_AND_FAILURE@ - both successful attempts and failed attempts+-- to access files or folders are logged.+--+-- - @DISABLED@ - access auditing of files and folders is turned off.+windowsAuditLogConfiguration_fileAccessAuditLogLevel :: Lens.Lens' WindowsAuditLogConfiguration WindowsAccessAuditLogLevel+windowsAuditLogConfiguration_fileAccessAuditLogLevel = Lens.lens (\WindowsAuditLogConfiguration' {fileAccessAuditLogLevel} -> fileAccessAuditLogLevel) (\s@WindowsAuditLogConfiguration' {} a -> s {fileAccessAuditLogLevel = a} :: WindowsAuditLogConfiguration)++-- | Sets which attempt type is logged by Amazon FSx for file share accesses.+--+-- - @SUCCESS_ONLY@ - only successful attempts to access file shares are+-- logged.+--+-- - @FAILURE_ONLY@ - only failed attempts to access file shares are+-- logged.+--+-- - @SUCCESS_AND_FAILURE@ - both successful attempts and failed attempts+-- to access file shares are logged.+--+-- - @DISABLED@ - access auditing of file shares is turned off.+windowsAuditLogConfiguration_fileShareAccessAuditLogLevel :: Lens.Lens' WindowsAuditLogConfiguration WindowsAccessAuditLogLevel+windowsAuditLogConfiguration_fileShareAccessAuditLogLevel = Lens.lens (\WindowsAuditLogConfiguration' {fileShareAccessAuditLogLevel} -> fileShareAccessAuditLogLevel) (\s@WindowsAuditLogConfiguration' {} a -> s {fileShareAccessAuditLogLevel = a} :: WindowsAuditLogConfiguration)++instance Data.FromJSON WindowsAuditLogConfiguration where+ parseJSON =+ Data.withObject+ "WindowsAuditLogConfiguration"+ ( \x ->+ WindowsAuditLogConfiguration'+ Prelude.<$> (x Data..:? "AuditLogDestination")+ Prelude.<*> (x Data..: "FileAccessAuditLogLevel")+ Prelude.<*> (x Data..: "FileShareAccessAuditLogLevel")+ )++instance+ Prelude.Hashable+ WindowsAuditLogConfiguration+ where+ hashWithSalt _salt WindowsAuditLogConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` auditLogDestination+ `Prelude.hashWithSalt` fileAccessAuditLogLevel+ `Prelude.hashWithSalt` fileShareAccessAuditLogLevel++instance Prelude.NFData WindowsAuditLogConfiguration where+ rnf WindowsAuditLogConfiguration' {..} =+ Prelude.rnf auditLogDestination+ `Prelude.seq` Prelude.rnf fileAccessAuditLogLevel+ `Prelude.seq` Prelude.rnf fileShareAccessAuditLogLevel
+ gen/Amazonka/FSx/Types/WindowsAuditLogCreateConfiguration.hs view
@@ -0,0 +1,268 @@+{-# 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.FSx.Types.WindowsAuditLogCreateConfiguration+-- 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.FSx.Types.WindowsAuditLogCreateConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types.WindowsAccessAuditLogLevel+import qualified Amazonka.Prelude as Prelude++-- | The Windows file access auditing configuration used when creating or+-- updating an Amazon FSx for Windows File Server file system.+--+-- /See:/ 'newWindowsAuditLogCreateConfiguration' smart constructor.+data WindowsAuditLogCreateConfiguration = WindowsAuditLogCreateConfiguration'+ { -- | The Amazon Resource Name (ARN) that specifies the destination of the+ -- audit logs.+ --+ -- The destination can be any Amazon CloudWatch Logs log group ARN or+ -- Amazon Kinesis Data Firehose delivery stream ARN, with the following+ -- requirements:+ --+ -- - The destination ARN that you provide (either CloudWatch Logs log+ -- group or Kinesis Data Firehose delivery stream) must be in the same+ -- Amazon Web Services partition, Amazon Web Services Region, and+ -- Amazon Web Services account as your Amazon FSx file system.+ --+ -- - The name of the Amazon CloudWatch Logs log group must begin with the+ -- @\/aws\/fsx@ prefix. The name of the Amazon Kinesis Data Firehouse+ -- delivery stream must begin with the @aws-fsx@ prefix.+ --+ -- - If you do not provide a destination in @AuditLogDestination@, Amazon+ -- FSx will create and use a log stream in the CloudWatch Logs+ -- @\/aws\/fsx\/windows@ log group.+ --+ -- - If @AuditLogDestination@ is provided and the resource does not+ -- exist, the request will fail with a @BadRequest@ error.+ --+ -- - If @FileAccessAuditLogLevel@ and @FileShareAccessAuditLogLevel@ are+ -- both set to @DISABLED@, you cannot specify a destination in+ -- @AuditLogDestination@.+ auditLogDestination :: Prelude.Maybe Prelude.Text,+ -- | Sets which attempt type is logged by Amazon FSx for file and folder+ -- accesses.+ --+ -- - @SUCCESS_ONLY@ - only successful attempts to access files or folders+ -- are logged.+ --+ -- - @FAILURE_ONLY@ - only failed attempts to access files or folders are+ -- logged.+ --+ -- - @SUCCESS_AND_FAILURE@ - both successful attempts and failed attempts+ -- to access files or folders are logged.+ --+ -- - @DISABLED@ - access auditing of files and folders is turned off.+ fileAccessAuditLogLevel :: WindowsAccessAuditLogLevel,+ -- | Sets which attempt type is logged by Amazon FSx for file share accesses.+ --+ -- - @SUCCESS_ONLY@ - only successful attempts to access file shares are+ -- logged.+ --+ -- - @FAILURE_ONLY@ - only failed attempts to access file shares are+ -- logged.+ --+ -- - @SUCCESS_AND_FAILURE@ - both successful attempts and failed attempts+ -- to access file shares are logged.+ --+ -- - @DISABLED@ - access auditing of file shares is turned off.+ fileShareAccessAuditLogLevel :: WindowsAccessAuditLogLevel+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'WindowsAuditLogCreateConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'auditLogDestination', 'windowsAuditLogCreateConfiguration_auditLogDestination' - The Amazon Resource Name (ARN) that specifies the destination of the+-- audit logs.+--+-- The destination can be any Amazon CloudWatch Logs log group ARN or+-- Amazon Kinesis Data Firehose delivery stream ARN, with the following+-- requirements:+--+-- - The destination ARN that you provide (either CloudWatch Logs log+-- group or Kinesis Data Firehose delivery stream) must be in the same+-- Amazon Web Services partition, Amazon Web Services Region, and+-- Amazon Web Services account as your Amazon FSx file system.+--+-- - The name of the Amazon CloudWatch Logs log group must begin with the+-- @\/aws\/fsx@ prefix. The name of the Amazon Kinesis Data Firehouse+-- delivery stream must begin with the @aws-fsx@ prefix.+--+-- - If you do not provide a destination in @AuditLogDestination@, Amazon+-- FSx will create and use a log stream in the CloudWatch Logs+-- @\/aws\/fsx\/windows@ log group.+--+-- - If @AuditLogDestination@ is provided and the resource does not+-- exist, the request will fail with a @BadRequest@ error.+--+-- - If @FileAccessAuditLogLevel@ and @FileShareAccessAuditLogLevel@ are+-- both set to @DISABLED@, you cannot specify a destination in+-- @AuditLogDestination@.+--+-- 'fileAccessAuditLogLevel', 'windowsAuditLogCreateConfiguration_fileAccessAuditLogLevel' - Sets which attempt type is logged by Amazon FSx for file and folder+-- accesses.+--+-- - @SUCCESS_ONLY@ - only successful attempts to access files or folders+-- are logged.+--+-- - @FAILURE_ONLY@ - only failed attempts to access files or folders are+-- logged.+--+-- - @SUCCESS_AND_FAILURE@ - both successful attempts and failed attempts+-- to access files or folders are logged.+--+-- - @DISABLED@ - access auditing of files and folders is turned off.+--+-- 'fileShareAccessAuditLogLevel', 'windowsAuditLogCreateConfiguration_fileShareAccessAuditLogLevel' - Sets which attempt type is logged by Amazon FSx for file share accesses.+--+-- - @SUCCESS_ONLY@ - only successful attempts to access file shares are+-- logged.+--+-- - @FAILURE_ONLY@ - only failed attempts to access file shares are+-- logged.+--+-- - @SUCCESS_AND_FAILURE@ - both successful attempts and failed attempts+-- to access file shares are logged.+--+-- - @DISABLED@ - access auditing of file shares is turned off.+newWindowsAuditLogCreateConfiguration ::+ -- | 'fileAccessAuditLogLevel'+ WindowsAccessAuditLogLevel ->+ -- | 'fileShareAccessAuditLogLevel'+ WindowsAccessAuditLogLevel ->+ WindowsAuditLogCreateConfiguration+newWindowsAuditLogCreateConfiguration+ pFileAccessAuditLogLevel_+ pFileShareAccessAuditLogLevel_ =+ WindowsAuditLogCreateConfiguration'+ { auditLogDestination =+ Prelude.Nothing,+ fileAccessAuditLogLevel =+ pFileAccessAuditLogLevel_,+ fileShareAccessAuditLogLevel =+ pFileShareAccessAuditLogLevel_+ }++-- | The Amazon Resource Name (ARN) that specifies the destination of the+-- audit logs.+--+-- The destination can be any Amazon CloudWatch Logs log group ARN or+-- Amazon Kinesis Data Firehose delivery stream ARN, with the following+-- requirements:+--+-- - The destination ARN that you provide (either CloudWatch Logs log+-- group or Kinesis Data Firehose delivery stream) must be in the same+-- Amazon Web Services partition, Amazon Web Services Region, and+-- Amazon Web Services account as your Amazon FSx file system.+--+-- - The name of the Amazon CloudWatch Logs log group must begin with the+-- @\/aws\/fsx@ prefix. The name of the Amazon Kinesis Data Firehouse+-- delivery stream must begin with the @aws-fsx@ prefix.+--+-- - If you do not provide a destination in @AuditLogDestination@, Amazon+-- FSx will create and use a log stream in the CloudWatch Logs+-- @\/aws\/fsx\/windows@ log group.+--+-- - If @AuditLogDestination@ is provided and the resource does not+-- exist, the request will fail with a @BadRequest@ error.+--+-- - If @FileAccessAuditLogLevel@ and @FileShareAccessAuditLogLevel@ are+-- both set to @DISABLED@, you cannot specify a destination in+-- @AuditLogDestination@.+windowsAuditLogCreateConfiguration_auditLogDestination :: Lens.Lens' WindowsAuditLogCreateConfiguration (Prelude.Maybe Prelude.Text)+windowsAuditLogCreateConfiguration_auditLogDestination = Lens.lens (\WindowsAuditLogCreateConfiguration' {auditLogDestination} -> auditLogDestination) (\s@WindowsAuditLogCreateConfiguration' {} a -> s {auditLogDestination = a} :: WindowsAuditLogCreateConfiguration)++-- | Sets which attempt type is logged by Amazon FSx for file and folder+-- accesses.+--+-- - @SUCCESS_ONLY@ - only successful attempts to access files or folders+-- are logged.+--+-- - @FAILURE_ONLY@ - only failed attempts to access files or folders are+-- logged.+--+-- - @SUCCESS_AND_FAILURE@ - both successful attempts and failed attempts+-- to access files or folders are logged.+--+-- - @DISABLED@ - access auditing of files and folders is turned off.+windowsAuditLogCreateConfiguration_fileAccessAuditLogLevel :: Lens.Lens' WindowsAuditLogCreateConfiguration WindowsAccessAuditLogLevel+windowsAuditLogCreateConfiguration_fileAccessAuditLogLevel = Lens.lens (\WindowsAuditLogCreateConfiguration' {fileAccessAuditLogLevel} -> fileAccessAuditLogLevel) (\s@WindowsAuditLogCreateConfiguration' {} a -> s {fileAccessAuditLogLevel = a} :: WindowsAuditLogCreateConfiguration)++-- | Sets which attempt type is logged by Amazon FSx for file share accesses.+--+-- - @SUCCESS_ONLY@ - only successful attempts to access file shares are+-- logged.+--+-- - @FAILURE_ONLY@ - only failed attempts to access file shares are+-- logged.+--+-- - @SUCCESS_AND_FAILURE@ - both successful attempts and failed attempts+-- to access file shares are logged.+--+-- - @DISABLED@ - access auditing of file shares is turned off.+windowsAuditLogCreateConfiguration_fileShareAccessAuditLogLevel :: Lens.Lens' WindowsAuditLogCreateConfiguration WindowsAccessAuditLogLevel+windowsAuditLogCreateConfiguration_fileShareAccessAuditLogLevel = Lens.lens (\WindowsAuditLogCreateConfiguration' {fileShareAccessAuditLogLevel} -> fileShareAccessAuditLogLevel) (\s@WindowsAuditLogCreateConfiguration' {} a -> s {fileShareAccessAuditLogLevel = a} :: WindowsAuditLogCreateConfiguration)++instance+ Prelude.Hashable+ WindowsAuditLogCreateConfiguration+ where+ hashWithSalt+ _salt+ WindowsAuditLogCreateConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` auditLogDestination+ `Prelude.hashWithSalt` fileAccessAuditLogLevel+ `Prelude.hashWithSalt` fileShareAccessAuditLogLevel++instance+ Prelude.NFData+ WindowsAuditLogCreateConfiguration+ where+ rnf WindowsAuditLogCreateConfiguration' {..} =+ Prelude.rnf auditLogDestination+ `Prelude.seq` Prelude.rnf fileAccessAuditLogLevel+ `Prelude.seq` Prelude.rnf fileShareAccessAuditLogLevel++instance+ Data.ToJSON+ WindowsAuditLogCreateConfiguration+ where+ toJSON WindowsAuditLogCreateConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("AuditLogDestination" Data..=)+ Prelude.<$> auditLogDestination,+ Prelude.Just+ ( "FileAccessAuditLogLevel"+ Data..= fileAccessAuditLogLevel+ ),+ Prelude.Just+ ( "FileShareAccessAuditLogLevel"+ Data..= fileShareAccessAuditLogLevel+ )+ ]+ )
+ gen/Amazonka/FSx/Types/WindowsDeploymentType.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.FSx.Types.WindowsDeploymentType+-- 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.FSx.Types.WindowsDeploymentType+ ( WindowsDeploymentType+ ( ..,+ WindowsDeploymentType_MULTI_AZ_1,+ WindowsDeploymentType_SINGLE_AZ_1,+ WindowsDeploymentType_SINGLE_AZ_2+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype WindowsDeploymentType = WindowsDeploymentType'+ { fromWindowsDeploymentType ::+ 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 WindowsDeploymentType_MULTI_AZ_1 :: WindowsDeploymentType+pattern WindowsDeploymentType_MULTI_AZ_1 = WindowsDeploymentType' "MULTI_AZ_1"++pattern WindowsDeploymentType_SINGLE_AZ_1 :: WindowsDeploymentType+pattern WindowsDeploymentType_SINGLE_AZ_1 = WindowsDeploymentType' "SINGLE_AZ_1"++pattern WindowsDeploymentType_SINGLE_AZ_2 :: WindowsDeploymentType+pattern WindowsDeploymentType_SINGLE_AZ_2 = WindowsDeploymentType' "SINGLE_AZ_2"++{-# COMPLETE+ WindowsDeploymentType_MULTI_AZ_1,+ WindowsDeploymentType_SINGLE_AZ_1,+ WindowsDeploymentType_SINGLE_AZ_2,+ WindowsDeploymentType'+ #-}
+ gen/Amazonka/FSx/Types/WindowsFileSystemConfiguration.hs view
@@ -0,0 +1,426 @@+{-# 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.FSx.Types.WindowsFileSystemConfiguration+-- 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.FSx.Types.WindowsFileSystemConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types.Alias+import Amazonka.FSx.Types.FileSystemMaintenanceOperation+import Amazonka.FSx.Types.SelfManagedActiveDirectoryAttributes+import Amazonka.FSx.Types.WindowsAuditLogConfiguration+import Amazonka.FSx.Types.WindowsDeploymentType+import qualified Amazonka.Prelude as Prelude++-- | The configuration for this Microsoft Windows file system.+--+-- /See:/ 'newWindowsFileSystemConfiguration' smart constructor.+data WindowsFileSystemConfiguration = WindowsFileSystemConfiguration'+ { -- | The ID for an existing Amazon Web Services Managed Microsoft Active+ -- Directory instance that the file system is joined to.+ activeDirectoryId :: Prelude.Maybe Prelude.Text,+ aliases :: Prelude.Maybe [Alias],+ -- | The configuration that Amazon FSx for Windows File Server uses to audit+ -- and log user accesses of files, folders, and file shares on the Amazon+ -- FSx for Windows File Server file system.+ auditLogConfiguration :: Prelude.Maybe WindowsAuditLogConfiguration,+ -- | The number of days to retain automatic backups. Setting this to 0+ -- disables automatic backups. You can retain automatic backups for a+ -- maximum of 90 days.+ automaticBackupRetentionDays :: Prelude.Maybe Prelude.Natural,+ -- | A boolean flag indicating whether tags on the file system should be+ -- copied to backups. This value defaults to false. If it\'s set to true,+ -- all tags on the file system are copied to all automatic backups and any+ -- user-initiated backups where the user doesn\'t specify any tags. If this+ -- value is true, and you specify one or more tags, only the specified tags+ -- are copied to backups. If you specify one or more tags when creating a+ -- user-initiated backup, no tags are copied from the file system,+ -- regardless of this value.+ copyTagsToBackups :: Prelude.Maybe Prelude.Bool,+ -- | The preferred time to take daily automatic backups, in the UTC time+ -- zone.+ dailyAutomaticBackupStartTime :: Prelude.Maybe Prelude.Text,+ -- | Specifies the file system deployment type, valid values are the+ -- following:+ --+ -- - @MULTI_AZ_1@ - Specifies a high availability file system that is+ -- configured for Multi-AZ redundancy to tolerate temporary+ -- Availability Zone (AZ) unavailability, and supports SSD and HDD+ -- storage.+ --+ -- - @SINGLE_AZ_1@ - (Default) Specifies a file system that is configured+ -- for single AZ redundancy, only supports SSD storage.+ --+ -- - @SINGLE_AZ_2@ - Latest generation Single AZ file system. Specifies a+ -- file system that is configured for single AZ redundancy and supports+ -- SSD and HDD storage.+ --+ -- For more information, see+ -- <https://docs.aws.amazon.com/fsx/latest/WindowsGuide/high-availability-multiAZ.html Single-AZ and Multi-AZ File Systems>.+ deploymentType :: Prelude.Maybe WindowsDeploymentType,+ -- | The list of maintenance operations in progress for this file system.+ maintenanceOperationsInProgress :: Prelude.Maybe [FileSystemMaintenanceOperation],+ -- | For @MULTI_AZ_1@ deployment types, the IP address of the primary, or+ -- preferred, file server.+ --+ -- Use this IP address when mounting the file system on Linux SMB clients+ -- or Windows SMB clients that are not joined to a Microsoft Active+ -- Directory. Applicable for all Windows file system deployment types. This+ -- IP address is temporarily unavailable when the file system is undergoing+ -- maintenance. For Linux and Windows SMB clients that are joined to an+ -- Active Directory, use the file system\'s DNSName instead. For more+ -- information on mapping and mounting file shares, see+ -- <https://docs.aws.amazon.com/fsx/latest/WindowsGuide/accessing-file-shares.html Accessing File Shares>.+ preferredFileServerIp :: Prelude.Maybe Prelude.Text,+ -- | For @MULTI_AZ_1@ deployment types, it specifies the ID of the subnet+ -- where the preferred file server is located. Must be one of the two+ -- subnet IDs specified in @SubnetIds@ property. Amazon FSx serves traffic+ -- from this subnet except in the event of a failover to the secondary file+ -- server.+ --+ -- For @SINGLE_AZ_1@ and @SINGLE_AZ_2@ deployment types, this value is the+ -- same as that for @SubnetIDs@. For more information, see+ -- <https://docs.aws.amazon.com/fsx/latest/WindowsGuide/high-availability-multiAZ.html#single-multi-az-resources Availability and durability: Single-AZ and Multi-AZ file systems>.+ preferredSubnetId :: Prelude.Maybe Prelude.Text,+ -- | For @MULTI_AZ_1@ deployment types, use this endpoint when performing+ -- administrative tasks on the file system using Amazon FSx Remote+ -- PowerShell.+ --+ -- For @SINGLE_AZ_1@ and @SINGLE_AZ_2@ deployment types, this is the DNS+ -- name of the file system.+ --+ -- This endpoint is temporarily unavailable when the file system is+ -- undergoing maintenance.+ remoteAdministrationEndpoint :: Prelude.Maybe Prelude.Text,+ selfManagedActiveDirectoryConfiguration :: Prelude.Maybe SelfManagedActiveDirectoryAttributes,+ -- | The throughput of the Amazon FSx file system, measured in megabytes per+ -- second.+ throughputCapacity :: Prelude.Maybe Prelude.Natural,+ -- | The preferred start time to perform weekly maintenance, formatted+ -- d:HH:MM in the UTC time zone. d is the weekday number, from 1 through 7,+ -- beginning with Monday and ending with Sunday.+ weeklyMaintenanceStartTime :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'WindowsFileSystemConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'activeDirectoryId', 'windowsFileSystemConfiguration_activeDirectoryId' - The ID for an existing Amazon Web Services Managed Microsoft Active+-- Directory instance that the file system is joined to.+--+-- 'aliases', 'windowsFileSystemConfiguration_aliases' - Undocumented member.+--+-- 'auditLogConfiguration', 'windowsFileSystemConfiguration_auditLogConfiguration' - The configuration that Amazon FSx for Windows File Server uses to audit+-- and log user accesses of files, folders, and file shares on the Amazon+-- FSx for Windows File Server file system.+--+-- 'automaticBackupRetentionDays', 'windowsFileSystemConfiguration_automaticBackupRetentionDays' - The number of days to retain automatic backups. Setting this to 0+-- disables automatic backups. You can retain automatic backups for a+-- maximum of 90 days.+--+-- 'copyTagsToBackups', 'windowsFileSystemConfiguration_copyTagsToBackups' - A boolean flag indicating whether tags on the file system should be+-- copied to backups. This value defaults to false. If it\'s set to true,+-- all tags on the file system are copied to all automatic backups and any+-- user-initiated backups where the user doesn\'t specify any tags. If this+-- value is true, and you specify one or more tags, only the specified tags+-- are copied to backups. If you specify one or more tags when creating a+-- user-initiated backup, no tags are copied from the file system,+-- regardless of this value.+--+-- 'dailyAutomaticBackupStartTime', 'windowsFileSystemConfiguration_dailyAutomaticBackupStartTime' - The preferred time to take daily automatic backups, in the UTC time+-- zone.+--+-- 'deploymentType', 'windowsFileSystemConfiguration_deploymentType' - Specifies the file system deployment type, valid values are the+-- following:+--+-- - @MULTI_AZ_1@ - Specifies a high availability file system that is+-- configured for Multi-AZ redundancy to tolerate temporary+-- Availability Zone (AZ) unavailability, and supports SSD and HDD+-- storage.+--+-- - @SINGLE_AZ_1@ - (Default) Specifies a file system that is configured+-- for single AZ redundancy, only supports SSD storage.+--+-- - @SINGLE_AZ_2@ - Latest generation Single AZ file system. Specifies a+-- file system that is configured for single AZ redundancy and supports+-- SSD and HDD storage.+--+-- For more information, see+-- <https://docs.aws.amazon.com/fsx/latest/WindowsGuide/high-availability-multiAZ.html Single-AZ and Multi-AZ File Systems>.+--+-- 'maintenanceOperationsInProgress', 'windowsFileSystemConfiguration_maintenanceOperationsInProgress' - The list of maintenance operations in progress for this file system.+--+-- 'preferredFileServerIp', 'windowsFileSystemConfiguration_preferredFileServerIp' - For @MULTI_AZ_1@ deployment types, the IP address of the primary, or+-- preferred, file server.+--+-- Use this IP address when mounting the file system on Linux SMB clients+-- or Windows SMB clients that are not joined to a Microsoft Active+-- Directory. Applicable for all Windows file system deployment types. This+-- IP address is temporarily unavailable when the file system is undergoing+-- maintenance. For Linux and Windows SMB clients that are joined to an+-- Active Directory, use the file system\'s DNSName instead. For more+-- information on mapping and mounting file shares, see+-- <https://docs.aws.amazon.com/fsx/latest/WindowsGuide/accessing-file-shares.html Accessing File Shares>.+--+-- 'preferredSubnetId', 'windowsFileSystemConfiguration_preferredSubnetId' - For @MULTI_AZ_1@ deployment types, it specifies the ID of the subnet+-- where the preferred file server is located. Must be one of the two+-- subnet IDs specified in @SubnetIds@ property. Amazon FSx serves traffic+-- from this subnet except in the event of a failover to the secondary file+-- server.+--+-- For @SINGLE_AZ_1@ and @SINGLE_AZ_2@ deployment types, this value is the+-- same as that for @SubnetIDs@. For more information, see+-- <https://docs.aws.amazon.com/fsx/latest/WindowsGuide/high-availability-multiAZ.html#single-multi-az-resources Availability and durability: Single-AZ and Multi-AZ file systems>.+--+-- 'remoteAdministrationEndpoint', 'windowsFileSystemConfiguration_remoteAdministrationEndpoint' - For @MULTI_AZ_1@ deployment types, use this endpoint when performing+-- administrative tasks on the file system using Amazon FSx Remote+-- PowerShell.+--+-- For @SINGLE_AZ_1@ and @SINGLE_AZ_2@ deployment types, this is the DNS+-- name of the file system.+--+-- This endpoint is temporarily unavailable when the file system is+-- undergoing maintenance.+--+-- 'selfManagedActiveDirectoryConfiguration', 'windowsFileSystemConfiguration_selfManagedActiveDirectoryConfiguration' - Undocumented member.+--+-- 'throughputCapacity', 'windowsFileSystemConfiguration_throughputCapacity' - The throughput of the Amazon FSx file system, measured in megabytes per+-- second.+--+-- 'weeklyMaintenanceStartTime', 'windowsFileSystemConfiguration_weeklyMaintenanceStartTime' - The preferred start time to perform weekly maintenance, formatted+-- d:HH:MM in the UTC time zone. d is the weekday number, from 1 through 7,+-- beginning with Monday and ending with Sunday.+newWindowsFileSystemConfiguration ::+ WindowsFileSystemConfiguration+newWindowsFileSystemConfiguration =+ WindowsFileSystemConfiguration'+ { activeDirectoryId =+ Prelude.Nothing,+ aliases = Prelude.Nothing,+ auditLogConfiguration = Prelude.Nothing,+ automaticBackupRetentionDays =+ Prelude.Nothing,+ copyTagsToBackups = Prelude.Nothing,+ dailyAutomaticBackupStartTime =+ Prelude.Nothing,+ deploymentType = Prelude.Nothing,+ maintenanceOperationsInProgress =+ Prelude.Nothing,+ preferredFileServerIp = Prelude.Nothing,+ preferredSubnetId = Prelude.Nothing,+ remoteAdministrationEndpoint =+ Prelude.Nothing,+ selfManagedActiveDirectoryConfiguration =+ Prelude.Nothing,+ throughputCapacity = Prelude.Nothing,+ weeklyMaintenanceStartTime =+ Prelude.Nothing+ }++-- | The ID for an existing Amazon Web Services Managed Microsoft Active+-- Directory instance that the file system is joined to.+windowsFileSystemConfiguration_activeDirectoryId :: Lens.Lens' WindowsFileSystemConfiguration (Prelude.Maybe Prelude.Text)+windowsFileSystemConfiguration_activeDirectoryId = Lens.lens (\WindowsFileSystemConfiguration' {activeDirectoryId} -> activeDirectoryId) (\s@WindowsFileSystemConfiguration' {} a -> s {activeDirectoryId = a} :: WindowsFileSystemConfiguration)++-- | Undocumented member.+windowsFileSystemConfiguration_aliases :: Lens.Lens' WindowsFileSystemConfiguration (Prelude.Maybe [Alias])+windowsFileSystemConfiguration_aliases = Lens.lens (\WindowsFileSystemConfiguration' {aliases} -> aliases) (\s@WindowsFileSystemConfiguration' {} a -> s {aliases = a} :: WindowsFileSystemConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | The configuration that Amazon FSx for Windows File Server uses to audit+-- and log user accesses of files, folders, and file shares on the Amazon+-- FSx for Windows File Server file system.+windowsFileSystemConfiguration_auditLogConfiguration :: Lens.Lens' WindowsFileSystemConfiguration (Prelude.Maybe WindowsAuditLogConfiguration)+windowsFileSystemConfiguration_auditLogConfiguration = Lens.lens (\WindowsFileSystemConfiguration' {auditLogConfiguration} -> auditLogConfiguration) (\s@WindowsFileSystemConfiguration' {} a -> s {auditLogConfiguration = a} :: WindowsFileSystemConfiguration)++-- | The number of days to retain automatic backups. Setting this to 0+-- disables automatic backups. You can retain automatic backups for a+-- maximum of 90 days.+windowsFileSystemConfiguration_automaticBackupRetentionDays :: Lens.Lens' WindowsFileSystemConfiguration (Prelude.Maybe Prelude.Natural)+windowsFileSystemConfiguration_automaticBackupRetentionDays = Lens.lens (\WindowsFileSystemConfiguration' {automaticBackupRetentionDays} -> automaticBackupRetentionDays) (\s@WindowsFileSystemConfiguration' {} a -> s {automaticBackupRetentionDays = a} :: WindowsFileSystemConfiguration)++-- | A boolean flag indicating whether tags on the file system should be+-- copied to backups. This value defaults to false. If it\'s set to true,+-- all tags on the file system are copied to all automatic backups and any+-- user-initiated backups where the user doesn\'t specify any tags. If this+-- value is true, and you specify one or more tags, only the specified tags+-- are copied to backups. If you specify one or more tags when creating a+-- user-initiated backup, no tags are copied from the file system,+-- regardless of this value.+windowsFileSystemConfiguration_copyTagsToBackups :: Lens.Lens' WindowsFileSystemConfiguration (Prelude.Maybe Prelude.Bool)+windowsFileSystemConfiguration_copyTagsToBackups = Lens.lens (\WindowsFileSystemConfiguration' {copyTagsToBackups} -> copyTagsToBackups) (\s@WindowsFileSystemConfiguration' {} a -> s {copyTagsToBackups = a} :: WindowsFileSystemConfiguration)++-- | The preferred time to take daily automatic backups, in the UTC time+-- zone.+windowsFileSystemConfiguration_dailyAutomaticBackupStartTime :: Lens.Lens' WindowsFileSystemConfiguration (Prelude.Maybe Prelude.Text)+windowsFileSystemConfiguration_dailyAutomaticBackupStartTime = Lens.lens (\WindowsFileSystemConfiguration' {dailyAutomaticBackupStartTime} -> dailyAutomaticBackupStartTime) (\s@WindowsFileSystemConfiguration' {} a -> s {dailyAutomaticBackupStartTime = a} :: WindowsFileSystemConfiguration)++-- | Specifies the file system deployment type, valid values are the+-- following:+--+-- - @MULTI_AZ_1@ - Specifies a high availability file system that is+-- configured for Multi-AZ redundancy to tolerate temporary+-- Availability Zone (AZ) unavailability, and supports SSD and HDD+-- storage.+--+-- - @SINGLE_AZ_1@ - (Default) Specifies a file system that is configured+-- for single AZ redundancy, only supports SSD storage.+--+-- - @SINGLE_AZ_2@ - Latest generation Single AZ file system. Specifies a+-- file system that is configured for single AZ redundancy and supports+-- SSD and HDD storage.+--+-- For more information, see+-- <https://docs.aws.amazon.com/fsx/latest/WindowsGuide/high-availability-multiAZ.html Single-AZ and Multi-AZ File Systems>.+windowsFileSystemConfiguration_deploymentType :: Lens.Lens' WindowsFileSystemConfiguration (Prelude.Maybe WindowsDeploymentType)+windowsFileSystemConfiguration_deploymentType = Lens.lens (\WindowsFileSystemConfiguration' {deploymentType} -> deploymentType) (\s@WindowsFileSystemConfiguration' {} a -> s {deploymentType = a} :: WindowsFileSystemConfiguration)++-- | The list of maintenance operations in progress for this file system.+windowsFileSystemConfiguration_maintenanceOperationsInProgress :: Lens.Lens' WindowsFileSystemConfiguration (Prelude.Maybe [FileSystemMaintenanceOperation])+windowsFileSystemConfiguration_maintenanceOperationsInProgress = Lens.lens (\WindowsFileSystemConfiguration' {maintenanceOperationsInProgress} -> maintenanceOperationsInProgress) (\s@WindowsFileSystemConfiguration' {} a -> s {maintenanceOperationsInProgress = a} :: WindowsFileSystemConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | For @MULTI_AZ_1@ deployment types, the IP address of the primary, or+-- preferred, file server.+--+-- Use this IP address when mounting the file system on Linux SMB clients+-- or Windows SMB clients that are not joined to a Microsoft Active+-- Directory. Applicable for all Windows file system deployment types. This+-- IP address is temporarily unavailable when the file system is undergoing+-- maintenance. For Linux and Windows SMB clients that are joined to an+-- Active Directory, use the file system\'s DNSName instead. For more+-- information on mapping and mounting file shares, see+-- <https://docs.aws.amazon.com/fsx/latest/WindowsGuide/accessing-file-shares.html Accessing File Shares>.+windowsFileSystemConfiguration_preferredFileServerIp :: Lens.Lens' WindowsFileSystemConfiguration (Prelude.Maybe Prelude.Text)+windowsFileSystemConfiguration_preferredFileServerIp = Lens.lens (\WindowsFileSystemConfiguration' {preferredFileServerIp} -> preferredFileServerIp) (\s@WindowsFileSystemConfiguration' {} a -> s {preferredFileServerIp = a} :: WindowsFileSystemConfiguration)++-- | For @MULTI_AZ_1@ deployment types, it specifies the ID of the subnet+-- where the preferred file server is located. Must be one of the two+-- subnet IDs specified in @SubnetIds@ property. Amazon FSx serves traffic+-- from this subnet except in the event of a failover to the secondary file+-- server.+--+-- For @SINGLE_AZ_1@ and @SINGLE_AZ_2@ deployment types, this value is the+-- same as that for @SubnetIDs@. For more information, see+-- <https://docs.aws.amazon.com/fsx/latest/WindowsGuide/high-availability-multiAZ.html#single-multi-az-resources Availability and durability: Single-AZ and Multi-AZ file systems>.+windowsFileSystemConfiguration_preferredSubnetId :: Lens.Lens' WindowsFileSystemConfiguration (Prelude.Maybe Prelude.Text)+windowsFileSystemConfiguration_preferredSubnetId = Lens.lens (\WindowsFileSystemConfiguration' {preferredSubnetId} -> preferredSubnetId) (\s@WindowsFileSystemConfiguration' {} a -> s {preferredSubnetId = a} :: WindowsFileSystemConfiguration)++-- | For @MULTI_AZ_1@ deployment types, use this endpoint when performing+-- administrative tasks on the file system using Amazon FSx Remote+-- PowerShell.+--+-- For @SINGLE_AZ_1@ and @SINGLE_AZ_2@ deployment types, this is the DNS+-- name of the file system.+--+-- This endpoint is temporarily unavailable when the file system is+-- undergoing maintenance.+windowsFileSystemConfiguration_remoteAdministrationEndpoint :: Lens.Lens' WindowsFileSystemConfiguration (Prelude.Maybe Prelude.Text)+windowsFileSystemConfiguration_remoteAdministrationEndpoint = Lens.lens (\WindowsFileSystemConfiguration' {remoteAdministrationEndpoint} -> remoteAdministrationEndpoint) (\s@WindowsFileSystemConfiguration' {} a -> s {remoteAdministrationEndpoint = a} :: WindowsFileSystemConfiguration)++-- | Undocumented member.+windowsFileSystemConfiguration_selfManagedActiveDirectoryConfiguration :: Lens.Lens' WindowsFileSystemConfiguration (Prelude.Maybe SelfManagedActiveDirectoryAttributes)+windowsFileSystemConfiguration_selfManagedActiveDirectoryConfiguration = Lens.lens (\WindowsFileSystemConfiguration' {selfManagedActiveDirectoryConfiguration} -> selfManagedActiveDirectoryConfiguration) (\s@WindowsFileSystemConfiguration' {} a -> s {selfManagedActiveDirectoryConfiguration = a} :: WindowsFileSystemConfiguration)++-- | The throughput of the Amazon FSx file system, measured in megabytes per+-- second.+windowsFileSystemConfiguration_throughputCapacity :: Lens.Lens' WindowsFileSystemConfiguration (Prelude.Maybe Prelude.Natural)+windowsFileSystemConfiguration_throughputCapacity = Lens.lens (\WindowsFileSystemConfiguration' {throughputCapacity} -> throughputCapacity) (\s@WindowsFileSystemConfiguration' {} a -> s {throughputCapacity = a} :: WindowsFileSystemConfiguration)++-- | The preferred start time to perform weekly maintenance, formatted+-- d:HH:MM in the UTC time zone. d is the weekday number, from 1 through 7,+-- beginning with Monday and ending with Sunday.+windowsFileSystemConfiguration_weeklyMaintenanceStartTime :: Lens.Lens' WindowsFileSystemConfiguration (Prelude.Maybe Prelude.Text)+windowsFileSystemConfiguration_weeklyMaintenanceStartTime = Lens.lens (\WindowsFileSystemConfiguration' {weeklyMaintenanceStartTime} -> weeklyMaintenanceStartTime) (\s@WindowsFileSystemConfiguration' {} a -> s {weeklyMaintenanceStartTime = a} :: WindowsFileSystemConfiguration)++instance Data.FromJSON WindowsFileSystemConfiguration where+ parseJSON =+ Data.withObject+ "WindowsFileSystemConfiguration"+ ( \x ->+ WindowsFileSystemConfiguration'+ Prelude.<$> (x Data..:? "ActiveDirectoryId")+ Prelude.<*> (x Data..:? "Aliases" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "AuditLogConfiguration")+ Prelude.<*> (x Data..:? "AutomaticBackupRetentionDays")+ Prelude.<*> (x Data..:? "CopyTagsToBackups")+ Prelude.<*> (x Data..:? "DailyAutomaticBackupStartTime")+ Prelude.<*> (x Data..:? "DeploymentType")+ Prelude.<*> ( x+ Data..:? "MaintenanceOperationsInProgress"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "PreferredFileServerIp")+ Prelude.<*> (x Data..:? "PreferredSubnetId")+ Prelude.<*> (x Data..:? "RemoteAdministrationEndpoint")+ Prelude.<*> ( x+ Data..:? "SelfManagedActiveDirectoryConfiguration"+ )+ Prelude.<*> (x Data..:? "ThroughputCapacity")+ Prelude.<*> (x Data..:? "WeeklyMaintenanceStartTime")+ )++instance+ Prelude.Hashable+ WindowsFileSystemConfiguration+ where+ hashWithSalt+ _salt+ WindowsFileSystemConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` activeDirectoryId+ `Prelude.hashWithSalt` aliases+ `Prelude.hashWithSalt` auditLogConfiguration+ `Prelude.hashWithSalt` automaticBackupRetentionDays+ `Prelude.hashWithSalt` copyTagsToBackups+ `Prelude.hashWithSalt` dailyAutomaticBackupStartTime+ `Prelude.hashWithSalt` deploymentType+ `Prelude.hashWithSalt` maintenanceOperationsInProgress+ `Prelude.hashWithSalt` preferredFileServerIp+ `Prelude.hashWithSalt` preferredSubnetId+ `Prelude.hashWithSalt` remoteAdministrationEndpoint+ `Prelude.hashWithSalt` selfManagedActiveDirectoryConfiguration+ `Prelude.hashWithSalt` throughputCapacity+ `Prelude.hashWithSalt` weeklyMaintenanceStartTime++instance+ Prelude.NFData+ WindowsFileSystemConfiguration+ where+ rnf WindowsFileSystemConfiguration' {..} =+ Prelude.rnf activeDirectoryId+ `Prelude.seq` Prelude.rnf aliases+ `Prelude.seq` Prelude.rnf auditLogConfiguration+ `Prelude.seq` Prelude.rnf automaticBackupRetentionDays+ `Prelude.seq` Prelude.rnf copyTagsToBackups+ `Prelude.seq` Prelude.rnf dailyAutomaticBackupStartTime+ `Prelude.seq` Prelude.rnf deploymentType+ `Prelude.seq` Prelude.rnf maintenanceOperationsInProgress+ `Prelude.seq` Prelude.rnf preferredFileServerIp+ `Prelude.seq` Prelude.rnf preferredSubnetId+ `Prelude.seq` Prelude.rnf remoteAdministrationEndpoint+ `Prelude.seq` Prelude.rnf+ selfManagedActiveDirectoryConfiguration+ `Prelude.seq` Prelude.rnf throughputCapacity+ `Prelude.seq` Prelude.rnf weeklyMaintenanceStartTime
+ gen/Amazonka/FSx/UntagResource.hs view
@@ -0,0 +1,180 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FSx.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)+--+-- This action removes a tag from an Amazon FSx resource.+module Amazonka.FSx.UntagResource+ ( -- * Creating a Request+ UntagResource (..),+ newUntagResource,++ -- * Request Lenses+ untagResource_resourceARN,+ untagResource_tagKeys,++ -- * Destructuring the Response+ UntagResourceResponse (..),+ newUntagResourceResponse,++ -- * Response Lenses+ untagResourceResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | The request object for @UntagResource@ action.+--+-- /See:/ 'newUntagResource' smart constructor.+data UntagResource = UntagResource'+ { -- | The ARN of the Amazon FSx resource to untag.+ resourceARN :: Prelude.Text,+ -- | A list of keys of tags on the resource to untag. In case the tag key+ -- doesn\'t exist, the call will still succeed to be idempotent.+ tagKeys :: 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' - The ARN of the Amazon FSx resource to untag.+--+-- 'tagKeys', 'untagResource_tagKeys' - A list of keys of tags on the resource to untag. In case the tag key+-- doesn\'t exist, the call will still succeed to be idempotent.+newUntagResource ::+ -- | 'resourceARN'+ Prelude.Text ->+ -- | 'tagKeys'+ Prelude.NonEmpty Prelude.Text ->+ UntagResource+newUntagResource pResourceARN_ pTagKeys_ =+ UntagResource'+ { resourceARN = pResourceARN_,+ tagKeys = Lens.coerced Lens.# pTagKeys_+ }++-- | The ARN of the Amazon FSx resource to untag.+untagResource_resourceARN :: Lens.Lens' UntagResource Prelude.Text+untagResource_resourceARN = Lens.lens (\UntagResource' {resourceARN} -> resourceARN) (\s@UntagResource' {} a -> s {resourceARN = a} :: UntagResource)++-- | A list of keys of tags on the resource to untag. In case the tag key+-- doesn\'t exist, the call will still succeed to be idempotent.+untagResource_tagKeys :: Lens.Lens' UntagResource (Prelude.NonEmpty Prelude.Text)+untagResource_tagKeys = Lens.lens (\UntagResource' {tagKeys} -> tagKeys) (\s@UntagResource' {} a -> s {tagKeys = a} :: UntagResource) Prelude.. Lens.coerced++instance Core.AWSRequest UntagResource where+ type+ AWSResponse UntagResource =+ UntagResourceResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ UntagResourceResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UntagResource where+ hashWithSalt _salt UntagResource' {..} =+ _salt+ `Prelude.hashWithSalt` resourceARN+ `Prelude.hashWithSalt` tagKeys++instance Prelude.NFData UntagResource where+ rnf UntagResource' {..} =+ Prelude.rnf resourceARN+ `Prelude.seq` Prelude.rnf tagKeys++instance Data.ToHeaders UntagResource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSSimbaAPIService_v20180301.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 ("TagKeys" Data..= tagKeys)+ ]+ )++instance Data.ToPath UntagResource where+ toPath = Prelude.const "/"++instance Data.ToQuery UntagResource where+ toQuery = Prelude.const Prelude.mempty++-- | The response object for @UntagResource@ action.+--+-- /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/FSx/UpdateDataRepositoryAssociation.hs view
@@ -0,0 +1,274 @@+{-# 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.FSx.UpdateDataRepositoryAssociation+-- 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 configuration of an existing data repository association on+-- an Amazon FSx for Lustre file system. Data repository associations are+-- supported only for file systems with the @Persistent_2@ deployment type.+module Amazonka.FSx.UpdateDataRepositoryAssociation+ ( -- * Creating a Request+ UpdateDataRepositoryAssociation (..),+ newUpdateDataRepositoryAssociation,++ -- * Request Lenses+ updateDataRepositoryAssociation_clientRequestToken,+ updateDataRepositoryAssociation_importedFileChunkSize,+ updateDataRepositoryAssociation_s3,+ updateDataRepositoryAssociation_associationId,++ -- * Destructuring the Response+ UpdateDataRepositoryAssociationResponse (..),+ newUpdateDataRepositoryAssociationResponse,++ -- * Response Lenses+ updateDataRepositoryAssociationResponse_association,+ updateDataRepositoryAssociationResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateDataRepositoryAssociation' smart constructor.+data UpdateDataRepositoryAssociation = UpdateDataRepositoryAssociation'+ { clientRequestToken :: Prelude.Maybe Prelude.Text,+ -- | For files imported from a data repository, this value determines the+ -- stripe count and maximum amount of data per file (in MiB) stored on a+ -- single physical disk. The maximum number of disks that a single file can+ -- be striped across is limited by the total number of disks that make up+ -- the file system.+ --+ -- The default chunk size is 1,024 MiB (1 GiB) and can go as high as+ -- 512,000 MiB (500 GiB). Amazon S3 objects have a maximum size of 5 TB.+ importedFileChunkSize :: Prelude.Maybe Prelude.Natural,+ -- | The configuration for an Amazon S3 data repository linked to an Amazon+ -- FSx Lustre file system with a data repository association. The+ -- configuration defines which file events (new, changed, or deleted files+ -- or directories) are automatically imported from the linked data+ -- repository to the file system or automatically exported from the file+ -- system to the data repository.+ s3 :: Prelude.Maybe S3DataRepositoryConfiguration,+ -- | The ID of the data repository association that you are updating.+ associationId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateDataRepositoryAssociation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientRequestToken', 'updateDataRepositoryAssociation_clientRequestToken' - Undocumented member.+--+-- 'importedFileChunkSize', 'updateDataRepositoryAssociation_importedFileChunkSize' - For files imported from a data repository, this value determines the+-- stripe count and maximum amount of data per file (in MiB) stored on a+-- single physical disk. The maximum number of disks that a single file can+-- be striped across is limited by the total number of disks that make up+-- the file system.+--+-- The default chunk size is 1,024 MiB (1 GiB) and can go as high as+-- 512,000 MiB (500 GiB). Amazon S3 objects have a maximum size of 5 TB.+--+-- 's3', 'updateDataRepositoryAssociation_s3' - The configuration for an Amazon S3 data repository linked to an Amazon+-- FSx Lustre file system with a data repository association. The+-- configuration defines which file events (new, changed, or deleted files+-- or directories) are automatically imported from the linked data+-- repository to the file system or automatically exported from the file+-- system to the data repository.+--+-- 'associationId', 'updateDataRepositoryAssociation_associationId' - The ID of the data repository association that you are updating.+newUpdateDataRepositoryAssociation ::+ -- | 'associationId'+ Prelude.Text ->+ UpdateDataRepositoryAssociation+newUpdateDataRepositoryAssociation pAssociationId_ =+ UpdateDataRepositoryAssociation'+ { clientRequestToken =+ Prelude.Nothing,+ importedFileChunkSize = Prelude.Nothing,+ s3 = Prelude.Nothing,+ associationId = pAssociationId_+ }++-- | Undocumented member.+updateDataRepositoryAssociation_clientRequestToken :: Lens.Lens' UpdateDataRepositoryAssociation (Prelude.Maybe Prelude.Text)+updateDataRepositoryAssociation_clientRequestToken = Lens.lens (\UpdateDataRepositoryAssociation' {clientRequestToken} -> clientRequestToken) (\s@UpdateDataRepositoryAssociation' {} a -> s {clientRequestToken = a} :: UpdateDataRepositoryAssociation)++-- | For files imported from a data repository, this value determines the+-- stripe count and maximum amount of data per file (in MiB) stored on a+-- single physical disk. The maximum number of disks that a single file can+-- be striped across is limited by the total number of disks that make up+-- the file system.+--+-- The default chunk size is 1,024 MiB (1 GiB) and can go as high as+-- 512,000 MiB (500 GiB). Amazon S3 objects have a maximum size of 5 TB.+updateDataRepositoryAssociation_importedFileChunkSize :: Lens.Lens' UpdateDataRepositoryAssociation (Prelude.Maybe Prelude.Natural)+updateDataRepositoryAssociation_importedFileChunkSize = Lens.lens (\UpdateDataRepositoryAssociation' {importedFileChunkSize} -> importedFileChunkSize) (\s@UpdateDataRepositoryAssociation' {} a -> s {importedFileChunkSize = a} :: UpdateDataRepositoryAssociation)++-- | The configuration for an Amazon S3 data repository linked to an Amazon+-- FSx Lustre file system with a data repository association. The+-- configuration defines which file events (new, changed, or deleted files+-- or directories) are automatically imported from the linked data+-- repository to the file system or automatically exported from the file+-- system to the data repository.+updateDataRepositoryAssociation_s3 :: Lens.Lens' UpdateDataRepositoryAssociation (Prelude.Maybe S3DataRepositoryConfiguration)+updateDataRepositoryAssociation_s3 = Lens.lens (\UpdateDataRepositoryAssociation' {s3} -> s3) (\s@UpdateDataRepositoryAssociation' {} a -> s {s3 = a} :: UpdateDataRepositoryAssociation)++-- | The ID of the data repository association that you are updating.+updateDataRepositoryAssociation_associationId :: Lens.Lens' UpdateDataRepositoryAssociation Prelude.Text+updateDataRepositoryAssociation_associationId = Lens.lens (\UpdateDataRepositoryAssociation' {associationId} -> associationId) (\s@UpdateDataRepositoryAssociation' {} a -> s {associationId = a} :: UpdateDataRepositoryAssociation)++instance+ Core.AWSRequest+ UpdateDataRepositoryAssociation+ where+ type+ AWSResponse UpdateDataRepositoryAssociation =+ UpdateDataRepositoryAssociationResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateDataRepositoryAssociationResponse'+ Prelude.<$> (x Data..?> "Association")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ UpdateDataRepositoryAssociation+ where+ hashWithSalt+ _salt+ UpdateDataRepositoryAssociation' {..} =+ _salt+ `Prelude.hashWithSalt` clientRequestToken+ `Prelude.hashWithSalt` importedFileChunkSize+ `Prelude.hashWithSalt` s3+ `Prelude.hashWithSalt` associationId++instance+ Prelude.NFData+ UpdateDataRepositoryAssociation+ where+ rnf UpdateDataRepositoryAssociation' {..} =+ Prelude.rnf clientRequestToken+ `Prelude.seq` Prelude.rnf importedFileChunkSize+ `Prelude.seq` Prelude.rnf s3+ `Prelude.seq` Prelude.rnf associationId++instance+ Data.ToHeaders+ UpdateDataRepositoryAssociation+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSSimbaAPIService_v20180301.UpdateDataRepositoryAssociation" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateDataRepositoryAssociation where+ toJSON UpdateDataRepositoryAssociation' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("ClientRequestToken" Data..=)+ Prelude.<$> clientRequestToken,+ ("ImportedFileChunkSize" Data..=)+ Prelude.<$> importedFileChunkSize,+ ("S3" Data..=) Prelude.<$> s3,+ Prelude.Just+ ("AssociationId" Data..= associationId)+ ]+ )++instance Data.ToPath UpdateDataRepositoryAssociation where+ toPath = Prelude.const "/"++instance Data.ToQuery UpdateDataRepositoryAssociation where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateDataRepositoryAssociationResponse' smart constructor.+data UpdateDataRepositoryAssociationResponse = UpdateDataRepositoryAssociationResponse'+ { -- | The response object returned after the data repository association is+ -- updated.+ association :: Prelude.Maybe DataRepositoryAssociation,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateDataRepositoryAssociationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'association', 'updateDataRepositoryAssociationResponse_association' - The response object returned after the data repository association is+-- updated.+--+-- 'httpStatus', 'updateDataRepositoryAssociationResponse_httpStatus' - The response's http status code.+newUpdateDataRepositoryAssociationResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateDataRepositoryAssociationResponse+newUpdateDataRepositoryAssociationResponse+ pHttpStatus_ =+ UpdateDataRepositoryAssociationResponse'+ { association =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The response object returned after the data repository association is+-- updated.+updateDataRepositoryAssociationResponse_association :: Lens.Lens' UpdateDataRepositoryAssociationResponse (Prelude.Maybe DataRepositoryAssociation)+updateDataRepositoryAssociationResponse_association = Lens.lens (\UpdateDataRepositoryAssociationResponse' {association} -> association) (\s@UpdateDataRepositoryAssociationResponse' {} a -> s {association = a} :: UpdateDataRepositoryAssociationResponse)++-- | The response's http status code.+updateDataRepositoryAssociationResponse_httpStatus :: Lens.Lens' UpdateDataRepositoryAssociationResponse Prelude.Int+updateDataRepositoryAssociationResponse_httpStatus = Lens.lens (\UpdateDataRepositoryAssociationResponse' {httpStatus} -> httpStatus) (\s@UpdateDataRepositoryAssociationResponse' {} a -> s {httpStatus = a} :: UpdateDataRepositoryAssociationResponse)++instance+ Prelude.NFData+ UpdateDataRepositoryAssociationResponse+ where+ rnf UpdateDataRepositoryAssociationResponse' {..} =+ Prelude.rnf association+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FSx/UpdateFileCache.hs view
@@ -0,0 +1,202 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FSx.UpdateFileCache+-- 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 configuration of an existing Amazon File Cache resource. You+-- can update multiple properties in a single request.+module Amazonka.FSx.UpdateFileCache+ ( -- * Creating a Request+ UpdateFileCache (..),+ newUpdateFileCache,++ -- * Request Lenses+ updateFileCache_clientRequestToken,+ updateFileCache_lustreConfiguration,+ updateFileCache_fileCacheId,++ -- * Destructuring the Response+ UpdateFileCacheResponse (..),+ newUpdateFileCacheResponse,++ -- * Response Lenses+ updateFileCacheResponse_fileCache,+ updateFileCacheResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateFileCache' smart constructor.+data UpdateFileCache = UpdateFileCache'+ { clientRequestToken :: Prelude.Maybe Prelude.Text,+ -- | The configuration updates for an Amazon File Cache resource.+ lustreConfiguration :: Prelude.Maybe UpdateFileCacheLustreConfiguration,+ -- | The ID of the cache that you are updating.+ fileCacheId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateFileCache' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientRequestToken', 'updateFileCache_clientRequestToken' - Undocumented member.+--+-- 'lustreConfiguration', 'updateFileCache_lustreConfiguration' - The configuration updates for an Amazon File Cache resource.+--+-- 'fileCacheId', 'updateFileCache_fileCacheId' - The ID of the cache that you are updating.+newUpdateFileCache ::+ -- | 'fileCacheId'+ Prelude.Text ->+ UpdateFileCache+newUpdateFileCache pFileCacheId_ =+ UpdateFileCache'+ { clientRequestToken =+ Prelude.Nothing,+ lustreConfiguration = Prelude.Nothing,+ fileCacheId = pFileCacheId_+ }++-- | Undocumented member.+updateFileCache_clientRequestToken :: Lens.Lens' UpdateFileCache (Prelude.Maybe Prelude.Text)+updateFileCache_clientRequestToken = Lens.lens (\UpdateFileCache' {clientRequestToken} -> clientRequestToken) (\s@UpdateFileCache' {} a -> s {clientRequestToken = a} :: UpdateFileCache)++-- | The configuration updates for an Amazon File Cache resource.+updateFileCache_lustreConfiguration :: Lens.Lens' UpdateFileCache (Prelude.Maybe UpdateFileCacheLustreConfiguration)+updateFileCache_lustreConfiguration = Lens.lens (\UpdateFileCache' {lustreConfiguration} -> lustreConfiguration) (\s@UpdateFileCache' {} a -> s {lustreConfiguration = a} :: UpdateFileCache)++-- | The ID of the cache that you are updating.+updateFileCache_fileCacheId :: Lens.Lens' UpdateFileCache Prelude.Text+updateFileCache_fileCacheId = Lens.lens (\UpdateFileCache' {fileCacheId} -> fileCacheId) (\s@UpdateFileCache' {} a -> s {fileCacheId = a} :: UpdateFileCache)++instance Core.AWSRequest UpdateFileCache where+ type+ AWSResponse UpdateFileCache =+ UpdateFileCacheResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateFileCacheResponse'+ Prelude.<$> (x Data..?> "FileCache")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateFileCache where+ hashWithSalt _salt UpdateFileCache' {..} =+ _salt+ `Prelude.hashWithSalt` clientRequestToken+ `Prelude.hashWithSalt` lustreConfiguration+ `Prelude.hashWithSalt` fileCacheId++instance Prelude.NFData UpdateFileCache where+ rnf UpdateFileCache' {..} =+ Prelude.rnf clientRequestToken+ `Prelude.seq` Prelude.rnf lustreConfiguration+ `Prelude.seq` Prelude.rnf fileCacheId++instance Data.ToHeaders UpdateFileCache where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSSimbaAPIService_v20180301.UpdateFileCache" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateFileCache where+ toJSON UpdateFileCache' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("ClientRequestToken" Data..=)+ Prelude.<$> clientRequestToken,+ ("LustreConfiguration" Data..=)+ Prelude.<$> lustreConfiguration,+ Prelude.Just ("FileCacheId" Data..= fileCacheId)+ ]+ )++instance Data.ToPath UpdateFileCache where+ toPath = Prelude.const "/"++instance Data.ToQuery UpdateFileCache where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateFileCacheResponse' smart constructor.+data UpdateFileCacheResponse = UpdateFileCacheResponse'+ { -- | A description of the cache that was updated.+ fileCache :: Prelude.Maybe FileCache,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateFileCacheResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fileCache', 'updateFileCacheResponse_fileCache' - A description of the cache that was updated.+--+-- 'httpStatus', 'updateFileCacheResponse_httpStatus' - The response's http status code.+newUpdateFileCacheResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateFileCacheResponse+newUpdateFileCacheResponse pHttpStatus_ =+ UpdateFileCacheResponse'+ { fileCache =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A description of the cache that was updated.+updateFileCacheResponse_fileCache :: Lens.Lens' UpdateFileCacheResponse (Prelude.Maybe FileCache)+updateFileCacheResponse_fileCache = Lens.lens (\UpdateFileCacheResponse' {fileCache} -> fileCache) (\s@UpdateFileCacheResponse' {} a -> s {fileCache = a} :: UpdateFileCacheResponse)++-- | The response's http status code.+updateFileCacheResponse_httpStatus :: Lens.Lens' UpdateFileCacheResponse Prelude.Int+updateFileCacheResponse_httpStatus = Lens.lens (\UpdateFileCacheResponse' {httpStatus} -> httpStatus) (\s@UpdateFileCacheResponse' {} a -> s {httpStatus = a} :: UpdateFileCacheResponse)++instance Prelude.NFData UpdateFileCacheResponse where+ rnf UpdateFileCacheResponse' {..} =+ Prelude.rnf fileCache+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FSx/UpdateFileSystem.hs view
@@ -0,0 +1,456 @@+{-# 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.FSx.UpdateFileSystem+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Use this operation to update the configuration of an existing Amazon FSx+-- file system. You can update multiple properties in a single request.+--+-- For Amazon FSx for Windows File Server file systems, you can update the+-- following properties:+--+-- - @AuditLogConfiguration@+--+-- - @AutomaticBackupRetentionDays@+--+-- - @DailyAutomaticBackupStartTime@+--+-- - @SelfManagedActiveDirectoryConfiguration@+--+-- - @StorageCapacity@+--+-- - @ThroughputCapacity@+--+-- - @WeeklyMaintenanceStartTime@+--+-- For Amazon FSx for Lustre file systems, you can update the following+-- properties:+--+-- - @AutoImportPolicy@+--+-- - @AutomaticBackupRetentionDays@+--+-- - @DailyAutomaticBackupStartTime@+--+-- - @DataCompressionType@+--+-- - @LustreRootSquashConfiguration@+--+-- - @StorageCapacity@+--+-- - @WeeklyMaintenanceStartTime@+--+-- For Amazon FSx for NetApp ONTAP file systems, you can update the+-- following properties:+--+-- - @AutomaticBackupRetentionDays@+--+-- - @DailyAutomaticBackupStartTime@+--+-- - @DiskIopsConfiguration@+--+-- - @FsxAdminPassword@+--+-- - @StorageCapacity@+--+-- - @ThroughputCapacity@+--+-- - @WeeklyMaintenanceStartTime@+--+-- For the Amazon FSx for OpenZFS file systems, you can update the+-- following properties:+--+-- - @AutomaticBackupRetentionDays@+--+-- - @CopyTagsToBackups@+--+-- - @CopyTagsToVolumes@+--+-- - @DailyAutomaticBackupStartTime@+--+-- - @ThroughputCapacity@+--+-- - @WeeklyMaintenanceStartTime@+module Amazonka.FSx.UpdateFileSystem+ ( -- * Creating a Request+ UpdateFileSystem (..),+ newUpdateFileSystem,++ -- * Request Lenses+ updateFileSystem_clientRequestToken,+ updateFileSystem_lustreConfiguration,+ updateFileSystem_ontapConfiguration,+ updateFileSystem_openZFSConfiguration,+ updateFileSystem_storageCapacity,+ updateFileSystem_windowsConfiguration,+ updateFileSystem_fileSystemId,++ -- * Destructuring the Response+ UpdateFileSystemResponse (..),+ newUpdateFileSystemResponse,++ -- * Response Lenses+ updateFileSystemResponse_fileSystem,+ updateFileSystemResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | The request object for the @UpdateFileSystem@ operation.+--+-- /See:/ 'newUpdateFileSystem' smart constructor.+data UpdateFileSystem = UpdateFileSystem'+ { -- | A string of up to 64 ASCII characters that Amazon FSx uses to ensure+ -- idempotent updates. This string is automatically filled on your behalf+ -- when you use the Command Line Interface (CLI) or an Amazon Web Services+ -- SDK.+ clientRequestToken :: Prelude.Maybe Prelude.Text,+ lustreConfiguration :: Prelude.Maybe UpdateFileSystemLustreConfiguration,+ ontapConfiguration :: Prelude.Maybe UpdateFileSystemOntapConfiguration,+ -- | The configuration updates for an Amazon FSx for OpenZFS file system.+ openZFSConfiguration :: Prelude.Maybe UpdateFileSystemOpenZFSConfiguration,+ -- | Use this parameter to increase the storage capacity of an Amazon FSx for+ -- Windows File Server, Amazon FSx for Lustre, or Amazon FSx for NetApp+ -- ONTAP file system. Specifies the storage capacity target value, in GiB,+ -- to increase the storage capacity for the file system that you\'re+ -- updating.+ --+ -- You can\'t make a storage capacity increase request if there is an+ -- existing storage capacity increase request in progress.+ --+ -- For Windows file systems, the storage capacity target value must be at+ -- least 10 percent greater than the current storage capacity value. To+ -- increase storage capacity, the file system must have at least 16 MBps of+ -- throughput capacity. For more information, see+ -- <https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-storage-capacity.html Managing storage capacity>+ -- in the /Amazon FSx for Windows File Server User Guide/.+ --+ -- For Lustre file systems, the storage capacity target value can be the+ -- following:+ --+ -- - For @SCRATCH_2@, @PERSISTENT_1@, and @PERSISTENT_2 SSD@ deployment+ -- types, valid values are in multiples of 2400 GiB. The value must be+ -- greater than the current storage capacity.+ --+ -- - For @PERSISTENT HDD@ file systems, valid values are multiples of+ -- 6000 GiB for 12-MBps throughput per TiB file systems and multiples+ -- of 1800 GiB for 40-MBps throughput per TiB file systems. The values+ -- must be greater than the current storage capacity.+ --+ -- - For @SCRATCH_1@ file systems, you can\'t increase the storage+ -- capacity.+ --+ -- For more information, see+ -- <https://docs.aws.amazon.com/fsx/latest/LustreGuide/managing-storage-capacity.html Managing storage and throughput capacity>+ -- in the /Amazon FSx for Lustre User Guide/.+ --+ -- For ONTAP file systems, the storage capacity target value must be at+ -- least 10 percent greater than the current storage capacity value. For+ -- more information, see+ -- <https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/managing-storage-capacity.html Managing storage capacity and provisioned IOPS>+ -- in the /Amazon FSx for NetApp ONTAP User Guide/.+ storageCapacity :: Prelude.Maybe Prelude.Natural,+ -- | The configuration updates for an Amazon FSx for Windows File Server file+ -- system.+ windowsConfiguration :: Prelude.Maybe UpdateFileSystemWindowsConfiguration,+ -- | The ID of the file system that you are updating.+ fileSystemId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateFileSystem' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientRequestToken', 'updateFileSystem_clientRequestToken' - A string of up to 64 ASCII characters that Amazon FSx uses to ensure+-- idempotent updates. This string is automatically filled on your behalf+-- when you use the Command Line Interface (CLI) or an Amazon Web Services+-- SDK.+--+-- 'lustreConfiguration', 'updateFileSystem_lustreConfiguration' - Undocumented member.+--+-- 'ontapConfiguration', 'updateFileSystem_ontapConfiguration' - Undocumented member.+--+-- 'openZFSConfiguration', 'updateFileSystem_openZFSConfiguration' - The configuration updates for an Amazon FSx for OpenZFS file system.+--+-- 'storageCapacity', 'updateFileSystem_storageCapacity' - Use this parameter to increase the storage capacity of an Amazon FSx for+-- Windows File Server, Amazon FSx for Lustre, or Amazon FSx for NetApp+-- ONTAP file system. Specifies the storage capacity target value, in GiB,+-- to increase the storage capacity for the file system that you\'re+-- updating.+--+-- You can\'t make a storage capacity increase request if there is an+-- existing storage capacity increase request in progress.+--+-- For Windows file systems, the storage capacity target value must be at+-- least 10 percent greater than the current storage capacity value. To+-- increase storage capacity, the file system must have at least 16 MBps of+-- throughput capacity. For more information, see+-- <https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-storage-capacity.html Managing storage capacity>+-- in the /Amazon FSx for Windows File Server User Guide/.+--+-- For Lustre file systems, the storage capacity target value can be the+-- following:+--+-- - For @SCRATCH_2@, @PERSISTENT_1@, and @PERSISTENT_2 SSD@ deployment+-- types, valid values are in multiples of 2400 GiB. The value must be+-- greater than the current storage capacity.+--+-- - For @PERSISTENT HDD@ file systems, valid values are multiples of+-- 6000 GiB for 12-MBps throughput per TiB file systems and multiples+-- of 1800 GiB for 40-MBps throughput per TiB file systems. The values+-- must be greater than the current storage capacity.+--+-- - For @SCRATCH_1@ file systems, you can\'t increase the storage+-- capacity.+--+-- For more information, see+-- <https://docs.aws.amazon.com/fsx/latest/LustreGuide/managing-storage-capacity.html Managing storage and throughput capacity>+-- in the /Amazon FSx for Lustre User Guide/.+--+-- For ONTAP file systems, the storage capacity target value must be at+-- least 10 percent greater than the current storage capacity value. For+-- more information, see+-- <https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/managing-storage-capacity.html Managing storage capacity and provisioned IOPS>+-- in the /Amazon FSx for NetApp ONTAP User Guide/.+--+-- 'windowsConfiguration', 'updateFileSystem_windowsConfiguration' - The configuration updates for an Amazon FSx for Windows File Server file+-- system.+--+-- 'fileSystemId', 'updateFileSystem_fileSystemId' - The ID of the file system that you are updating.+newUpdateFileSystem ::+ -- | 'fileSystemId'+ Prelude.Text ->+ UpdateFileSystem+newUpdateFileSystem pFileSystemId_ =+ UpdateFileSystem'+ { clientRequestToken =+ Prelude.Nothing,+ lustreConfiguration = Prelude.Nothing,+ ontapConfiguration = Prelude.Nothing,+ openZFSConfiguration = Prelude.Nothing,+ storageCapacity = Prelude.Nothing,+ windowsConfiguration = Prelude.Nothing,+ fileSystemId = pFileSystemId_+ }++-- | A string of up to 64 ASCII characters that Amazon FSx uses to ensure+-- idempotent updates. This string is automatically filled on your behalf+-- when you use the Command Line Interface (CLI) or an Amazon Web Services+-- SDK.+updateFileSystem_clientRequestToken :: Lens.Lens' UpdateFileSystem (Prelude.Maybe Prelude.Text)+updateFileSystem_clientRequestToken = Lens.lens (\UpdateFileSystem' {clientRequestToken} -> clientRequestToken) (\s@UpdateFileSystem' {} a -> s {clientRequestToken = a} :: UpdateFileSystem)++-- | Undocumented member.+updateFileSystem_lustreConfiguration :: Lens.Lens' UpdateFileSystem (Prelude.Maybe UpdateFileSystemLustreConfiguration)+updateFileSystem_lustreConfiguration = Lens.lens (\UpdateFileSystem' {lustreConfiguration} -> lustreConfiguration) (\s@UpdateFileSystem' {} a -> s {lustreConfiguration = a} :: UpdateFileSystem)++-- | Undocumented member.+updateFileSystem_ontapConfiguration :: Lens.Lens' UpdateFileSystem (Prelude.Maybe UpdateFileSystemOntapConfiguration)+updateFileSystem_ontapConfiguration = Lens.lens (\UpdateFileSystem' {ontapConfiguration} -> ontapConfiguration) (\s@UpdateFileSystem' {} a -> s {ontapConfiguration = a} :: UpdateFileSystem)++-- | The configuration updates for an Amazon FSx for OpenZFS file system.+updateFileSystem_openZFSConfiguration :: Lens.Lens' UpdateFileSystem (Prelude.Maybe UpdateFileSystemOpenZFSConfiguration)+updateFileSystem_openZFSConfiguration = Lens.lens (\UpdateFileSystem' {openZFSConfiguration} -> openZFSConfiguration) (\s@UpdateFileSystem' {} a -> s {openZFSConfiguration = a} :: UpdateFileSystem)++-- | Use this parameter to increase the storage capacity of an Amazon FSx for+-- Windows File Server, Amazon FSx for Lustre, or Amazon FSx for NetApp+-- ONTAP file system. Specifies the storage capacity target value, in GiB,+-- to increase the storage capacity for the file system that you\'re+-- updating.+--+-- You can\'t make a storage capacity increase request if there is an+-- existing storage capacity increase request in progress.+--+-- For Windows file systems, the storage capacity target value must be at+-- least 10 percent greater than the current storage capacity value. To+-- increase storage capacity, the file system must have at least 16 MBps of+-- throughput capacity. For more information, see+-- <https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-storage-capacity.html Managing storage capacity>+-- in the /Amazon FSx for Windows File Server User Guide/.+--+-- For Lustre file systems, the storage capacity target value can be the+-- following:+--+-- - For @SCRATCH_2@, @PERSISTENT_1@, and @PERSISTENT_2 SSD@ deployment+-- types, valid values are in multiples of 2400 GiB. The value must be+-- greater than the current storage capacity.+--+-- - For @PERSISTENT HDD@ file systems, valid values are multiples of+-- 6000 GiB for 12-MBps throughput per TiB file systems and multiples+-- of 1800 GiB for 40-MBps throughput per TiB file systems. The values+-- must be greater than the current storage capacity.+--+-- - For @SCRATCH_1@ file systems, you can\'t increase the storage+-- capacity.+--+-- For more information, see+-- <https://docs.aws.amazon.com/fsx/latest/LustreGuide/managing-storage-capacity.html Managing storage and throughput capacity>+-- in the /Amazon FSx for Lustre User Guide/.+--+-- For ONTAP file systems, the storage capacity target value must be at+-- least 10 percent greater than the current storage capacity value. For+-- more information, see+-- <https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/managing-storage-capacity.html Managing storage capacity and provisioned IOPS>+-- in the /Amazon FSx for NetApp ONTAP User Guide/.+updateFileSystem_storageCapacity :: Lens.Lens' UpdateFileSystem (Prelude.Maybe Prelude.Natural)+updateFileSystem_storageCapacity = Lens.lens (\UpdateFileSystem' {storageCapacity} -> storageCapacity) (\s@UpdateFileSystem' {} a -> s {storageCapacity = a} :: UpdateFileSystem)++-- | The configuration updates for an Amazon FSx for Windows File Server file+-- system.+updateFileSystem_windowsConfiguration :: Lens.Lens' UpdateFileSystem (Prelude.Maybe UpdateFileSystemWindowsConfiguration)+updateFileSystem_windowsConfiguration = Lens.lens (\UpdateFileSystem' {windowsConfiguration} -> windowsConfiguration) (\s@UpdateFileSystem' {} a -> s {windowsConfiguration = a} :: UpdateFileSystem)++-- | The ID of the file system that you are updating.+updateFileSystem_fileSystemId :: Lens.Lens' UpdateFileSystem Prelude.Text+updateFileSystem_fileSystemId = Lens.lens (\UpdateFileSystem' {fileSystemId} -> fileSystemId) (\s@UpdateFileSystem' {} a -> s {fileSystemId = a} :: UpdateFileSystem)++instance Core.AWSRequest UpdateFileSystem where+ type+ AWSResponse UpdateFileSystem =+ UpdateFileSystemResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateFileSystemResponse'+ Prelude.<$> (x Data..?> "FileSystem")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateFileSystem where+ hashWithSalt _salt UpdateFileSystem' {..} =+ _salt+ `Prelude.hashWithSalt` clientRequestToken+ `Prelude.hashWithSalt` lustreConfiguration+ `Prelude.hashWithSalt` ontapConfiguration+ `Prelude.hashWithSalt` openZFSConfiguration+ `Prelude.hashWithSalt` storageCapacity+ `Prelude.hashWithSalt` windowsConfiguration+ `Prelude.hashWithSalt` fileSystemId++instance Prelude.NFData UpdateFileSystem where+ rnf UpdateFileSystem' {..} =+ Prelude.rnf clientRequestToken+ `Prelude.seq` Prelude.rnf lustreConfiguration+ `Prelude.seq` Prelude.rnf ontapConfiguration+ `Prelude.seq` Prelude.rnf openZFSConfiguration+ `Prelude.seq` Prelude.rnf storageCapacity+ `Prelude.seq` Prelude.rnf windowsConfiguration+ `Prelude.seq` Prelude.rnf fileSystemId++instance Data.ToHeaders UpdateFileSystem where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSSimbaAPIService_v20180301.UpdateFileSystem" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateFileSystem where+ toJSON UpdateFileSystem' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("ClientRequestToken" Data..=)+ Prelude.<$> clientRequestToken,+ ("LustreConfiguration" Data..=)+ Prelude.<$> lustreConfiguration,+ ("OntapConfiguration" Data..=)+ Prelude.<$> ontapConfiguration,+ ("OpenZFSConfiguration" Data..=)+ Prelude.<$> openZFSConfiguration,+ ("StorageCapacity" Data..=)+ Prelude.<$> storageCapacity,+ ("WindowsConfiguration" Data..=)+ Prelude.<$> windowsConfiguration,+ Prelude.Just ("FileSystemId" Data..= fileSystemId)+ ]+ )++instance Data.ToPath UpdateFileSystem where+ toPath = Prelude.const "/"++instance Data.ToQuery UpdateFileSystem where+ toQuery = Prelude.const Prelude.mempty++-- | The response object for the @UpdateFileSystem@ operation.+--+-- /See:/ 'newUpdateFileSystemResponse' smart constructor.+data UpdateFileSystemResponse = UpdateFileSystemResponse'+ { -- | A description of the file system that was updated.+ fileSystem :: Prelude.Maybe FileSystem,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateFileSystemResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fileSystem', 'updateFileSystemResponse_fileSystem' - A description of the file system that was updated.+--+-- 'httpStatus', 'updateFileSystemResponse_httpStatus' - The response's http status code.+newUpdateFileSystemResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateFileSystemResponse+newUpdateFileSystemResponse pHttpStatus_ =+ UpdateFileSystemResponse'+ { fileSystem =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A description of the file system that was updated.+updateFileSystemResponse_fileSystem :: Lens.Lens' UpdateFileSystemResponse (Prelude.Maybe FileSystem)+updateFileSystemResponse_fileSystem = Lens.lens (\UpdateFileSystemResponse' {fileSystem} -> fileSystem) (\s@UpdateFileSystemResponse' {} a -> s {fileSystem = a} :: UpdateFileSystemResponse)++-- | The response's http status code.+updateFileSystemResponse_httpStatus :: Lens.Lens' UpdateFileSystemResponse Prelude.Int+updateFileSystemResponse_httpStatus = Lens.lens (\UpdateFileSystemResponse' {httpStatus} -> httpStatus) (\s@UpdateFileSystemResponse' {} a -> s {httpStatus = a} :: UpdateFileSystemResponse)++instance Prelude.NFData UpdateFileSystemResponse where+ rnf UpdateFileSystemResponse' {..} =+ Prelude.rnf fileSystem+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FSx/UpdateSnapshot.hs view
@@ -0,0 +1,207 @@+{-# 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.FSx.UpdateSnapshot+-- 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 Amazon FSx for OpenZFS snapshot.+module Amazonka.FSx.UpdateSnapshot+ ( -- * Creating a Request+ UpdateSnapshot (..),+ newUpdateSnapshot,++ -- * Request Lenses+ updateSnapshot_clientRequestToken,+ updateSnapshot_name,+ updateSnapshot_snapshotId,++ -- * Destructuring the Response+ UpdateSnapshotResponse (..),+ newUpdateSnapshotResponse,++ -- * Response Lenses+ updateSnapshotResponse_snapshot,+ updateSnapshotResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateSnapshot' smart constructor.+data UpdateSnapshot = UpdateSnapshot'+ { clientRequestToken :: Prelude.Maybe Prelude.Text,+ -- | The name of the snapshot to update.+ name :: Prelude.Text,+ -- | The ID of the snapshot that you want to update, in the format+ -- @fsvolsnap-0123456789abcdef0@.+ snapshotId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateSnapshot' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientRequestToken', 'updateSnapshot_clientRequestToken' - Undocumented member.+--+-- 'name', 'updateSnapshot_name' - The name of the snapshot to update.+--+-- 'snapshotId', 'updateSnapshot_snapshotId' - The ID of the snapshot that you want to update, in the format+-- @fsvolsnap-0123456789abcdef0@.+newUpdateSnapshot ::+ -- | 'name'+ Prelude.Text ->+ -- | 'snapshotId'+ Prelude.Text ->+ UpdateSnapshot+newUpdateSnapshot pName_ pSnapshotId_ =+ UpdateSnapshot'+ { clientRequestToken =+ Prelude.Nothing,+ name = pName_,+ snapshotId = pSnapshotId_+ }++-- | Undocumented member.+updateSnapshot_clientRequestToken :: Lens.Lens' UpdateSnapshot (Prelude.Maybe Prelude.Text)+updateSnapshot_clientRequestToken = Lens.lens (\UpdateSnapshot' {clientRequestToken} -> clientRequestToken) (\s@UpdateSnapshot' {} a -> s {clientRequestToken = a} :: UpdateSnapshot)++-- | The name of the snapshot to update.+updateSnapshot_name :: Lens.Lens' UpdateSnapshot Prelude.Text+updateSnapshot_name = Lens.lens (\UpdateSnapshot' {name} -> name) (\s@UpdateSnapshot' {} a -> s {name = a} :: UpdateSnapshot)++-- | The ID of the snapshot that you want to update, in the format+-- @fsvolsnap-0123456789abcdef0@.+updateSnapshot_snapshotId :: Lens.Lens' UpdateSnapshot Prelude.Text+updateSnapshot_snapshotId = Lens.lens (\UpdateSnapshot' {snapshotId} -> snapshotId) (\s@UpdateSnapshot' {} a -> s {snapshotId = a} :: UpdateSnapshot)++instance Core.AWSRequest UpdateSnapshot where+ type+ AWSResponse UpdateSnapshot =+ UpdateSnapshotResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateSnapshotResponse'+ Prelude.<$> (x Data..?> "Snapshot")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateSnapshot where+ hashWithSalt _salt UpdateSnapshot' {..} =+ _salt+ `Prelude.hashWithSalt` clientRequestToken+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` snapshotId++instance Prelude.NFData UpdateSnapshot where+ rnf UpdateSnapshot' {..} =+ Prelude.rnf clientRequestToken+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf snapshotId++instance Data.ToHeaders UpdateSnapshot where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSSimbaAPIService_v20180301.UpdateSnapshot" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateSnapshot where+ toJSON UpdateSnapshot' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("ClientRequestToken" Data..=)+ Prelude.<$> clientRequestToken,+ Prelude.Just ("Name" Data..= name),+ Prelude.Just ("SnapshotId" Data..= snapshotId)+ ]+ )++instance Data.ToPath UpdateSnapshot where+ toPath = Prelude.const "/"++instance Data.ToQuery UpdateSnapshot where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateSnapshotResponse' smart constructor.+data UpdateSnapshotResponse = UpdateSnapshotResponse'+ { -- | Returned after a successful @UpdateSnapshot@ operation, describing the+ -- snapshot that you updated.+ snapshot :: Prelude.Maybe Snapshot,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateSnapshotResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'snapshot', 'updateSnapshotResponse_snapshot' - Returned after a successful @UpdateSnapshot@ operation, describing the+-- snapshot that you updated.+--+-- 'httpStatus', 'updateSnapshotResponse_httpStatus' - The response's http status code.+newUpdateSnapshotResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateSnapshotResponse+newUpdateSnapshotResponse pHttpStatus_ =+ UpdateSnapshotResponse'+ { snapshot = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Returned after a successful @UpdateSnapshot@ operation, describing the+-- snapshot that you updated.+updateSnapshotResponse_snapshot :: Lens.Lens' UpdateSnapshotResponse (Prelude.Maybe Snapshot)+updateSnapshotResponse_snapshot = Lens.lens (\UpdateSnapshotResponse' {snapshot} -> snapshot) (\s@UpdateSnapshotResponse' {} a -> s {snapshot = a} :: UpdateSnapshotResponse)++-- | The response's http status code.+updateSnapshotResponse_httpStatus :: Lens.Lens' UpdateSnapshotResponse Prelude.Int+updateSnapshotResponse_httpStatus = Lens.lens (\UpdateSnapshotResponse' {httpStatus} -> httpStatus) (\s@UpdateSnapshotResponse' {} a -> s {httpStatus = a} :: UpdateSnapshotResponse)++instance Prelude.NFData UpdateSnapshotResponse where+ rnf UpdateSnapshotResponse' {..} =+ Prelude.rnf snapshot+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FSx/UpdateStorageVirtualMachine.hs view
@@ -0,0 +1,228 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FSx.UpdateStorageVirtualMachine+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an Amazon FSx for ONTAP storage virtual machine (SVM).+module Amazonka.FSx.UpdateStorageVirtualMachine+ ( -- * Creating a Request+ UpdateStorageVirtualMachine (..),+ newUpdateStorageVirtualMachine,++ -- * Request Lenses+ updateStorageVirtualMachine_activeDirectoryConfiguration,+ updateStorageVirtualMachine_clientRequestToken,+ updateStorageVirtualMachine_svmAdminPassword,+ updateStorageVirtualMachine_storageVirtualMachineId,++ -- * Destructuring the Response+ UpdateStorageVirtualMachineResponse (..),+ newUpdateStorageVirtualMachineResponse,++ -- * Response Lenses+ updateStorageVirtualMachineResponse_storageVirtualMachine,+ updateStorageVirtualMachineResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateStorageVirtualMachine' smart constructor.+data UpdateStorageVirtualMachine = UpdateStorageVirtualMachine'+ { -- | Updates the Microsoft Active Directory (AD) configuration for an SVM+ -- that is joined to an AD.+ activeDirectoryConfiguration :: Prelude.Maybe UpdateSvmActiveDirectoryConfiguration,+ clientRequestToken :: Prelude.Maybe Prelude.Text,+ -- | Enter a new SvmAdminPassword if you are updating it.+ svmAdminPassword :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The ID of the SVM that you want to update, in the format+ -- @svm-0123456789abcdef0@.+ storageVirtualMachineId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateStorageVirtualMachine' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'activeDirectoryConfiguration', 'updateStorageVirtualMachine_activeDirectoryConfiguration' - Updates the Microsoft Active Directory (AD) configuration for an SVM+-- that is joined to an AD.+--+-- 'clientRequestToken', 'updateStorageVirtualMachine_clientRequestToken' - Undocumented member.+--+-- 'svmAdminPassword', 'updateStorageVirtualMachine_svmAdminPassword' - Enter a new SvmAdminPassword if you are updating it.+--+-- 'storageVirtualMachineId', 'updateStorageVirtualMachine_storageVirtualMachineId' - The ID of the SVM that you want to update, in the format+-- @svm-0123456789abcdef0@.+newUpdateStorageVirtualMachine ::+ -- | 'storageVirtualMachineId'+ Prelude.Text ->+ UpdateStorageVirtualMachine+newUpdateStorageVirtualMachine+ pStorageVirtualMachineId_ =+ UpdateStorageVirtualMachine'+ { activeDirectoryConfiguration =+ Prelude.Nothing,+ clientRequestToken = Prelude.Nothing,+ svmAdminPassword = Prelude.Nothing,+ storageVirtualMachineId =+ pStorageVirtualMachineId_+ }++-- | Updates the Microsoft Active Directory (AD) configuration for an SVM+-- that is joined to an AD.+updateStorageVirtualMachine_activeDirectoryConfiguration :: Lens.Lens' UpdateStorageVirtualMachine (Prelude.Maybe UpdateSvmActiveDirectoryConfiguration)+updateStorageVirtualMachine_activeDirectoryConfiguration = Lens.lens (\UpdateStorageVirtualMachine' {activeDirectoryConfiguration} -> activeDirectoryConfiguration) (\s@UpdateStorageVirtualMachine' {} a -> s {activeDirectoryConfiguration = a} :: UpdateStorageVirtualMachine)++-- | Undocumented member.+updateStorageVirtualMachine_clientRequestToken :: Lens.Lens' UpdateStorageVirtualMachine (Prelude.Maybe Prelude.Text)+updateStorageVirtualMachine_clientRequestToken = Lens.lens (\UpdateStorageVirtualMachine' {clientRequestToken} -> clientRequestToken) (\s@UpdateStorageVirtualMachine' {} a -> s {clientRequestToken = a} :: UpdateStorageVirtualMachine)++-- | Enter a new SvmAdminPassword if you are updating it.+updateStorageVirtualMachine_svmAdminPassword :: Lens.Lens' UpdateStorageVirtualMachine (Prelude.Maybe Prelude.Text)+updateStorageVirtualMachine_svmAdminPassword = Lens.lens (\UpdateStorageVirtualMachine' {svmAdminPassword} -> svmAdminPassword) (\s@UpdateStorageVirtualMachine' {} a -> s {svmAdminPassword = a} :: UpdateStorageVirtualMachine) Prelude.. Lens.mapping Data._Sensitive++-- | The ID of the SVM that you want to update, in the format+-- @svm-0123456789abcdef0@.+updateStorageVirtualMachine_storageVirtualMachineId :: Lens.Lens' UpdateStorageVirtualMachine Prelude.Text+updateStorageVirtualMachine_storageVirtualMachineId = Lens.lens (\UpdateStorageVirtualMachine' {storageVirtualMachineId} -> storageVirtualMachineId) (\s@UpdateStorageVirtualMachine' {} a -> s {storageVirtualMachineId = a} :: UpdateStorageVirtualMachine)++instance Core.AWSRequest UpdateStorageVirtualMachine where+ type+ AWSResponse UpdateStorageVirtualMachine =+ UpdateStorageVirtualMachineResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateStorageVirtualMachineResponse'+ Prelude.<$> (x Data..?> "StorageVirtualMachine")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateStorageVirtualMachine where+ hashWithSalt _salt UpdateStorageVirtualMachine' {..} =+ _salt+ `Prelude.hashWithSalt` activeDirectoryConfiguration+ `Prelude.hashWithSalt` clientRequestToken+ `Prelude.hashWithSalt` svmAdminPassword+ `Prelude.hashWithSalt` storageVirtualMachineId++instance Prelude.NFData UpdateStorageVirtualMachine where+ rnf UpdateStorageVirtualMachine' {..} =+ Prelude.rnf activeDirectoryConfiguration+ `Prelude.seq` Prelude.rnf clientRequestToken+ `Prelude.seq` Prelude.rnf svmAdminPassword+ `Prelude.seq` Prelude.rnf storageVirtualMachineId++instance Data.ToHeaders UpdateStorageVirtualMachine where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSSimbaAPIService_v20180301.UpdateStorageVirtualMachine" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateStorageVirtualMachine where+ toJSON UpdateStorageVirtualMachine' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("ActiveDirectoryConfiguration" Data..=)+ Prelude.<$> activeDirectoryConfiguration,+ ("ClientRequestToken" Data..=)+ Prelude.<$> clientRequestToken,+ ("SvmAdminPassword" Data..=)+ Prelude.<$> svmAdminPassword,+ Prelude.Just+ ( "StorageVirtualMachineId"+ Data..= storageVirtualMachineId+ )+ ]+ )++instance Data.ToPath UpdateStorageVirtualMachine where+ toPath = Prelude.const "/"++instance Data.ToQuery UpdateStorageVirtualMachine where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateStorageVirtualMachineResponse' smart constructor.+data UpdateStorageVirtualMachineResponse = UpdateStorageVirtualMachineResponse'+ { storageVirtualMachine :: Prelude.Maybe StorageVirtualMachine,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateStorageVirtualMachineResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'storageVirtualMachine', 'updateStorageVirtualMachineResponse_storageVirtualMachine' - Undocumented member.+--+-- 'httpStatus', 'updateStorageVirtualMachineResponse_httpStatus' - The response's http status code.+newUpdateStorageVirtualMachineResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateStorageVirtualMachineResponse+newUpdateStorageVirtualMachineResponse pHttpStatus_ =+ UpdateStorageVirtualMachineResponse'+ { storageVirtualMachine =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Undocumented member.+updateStorageVirtualMachineResponse_storageVirtualMachine :: Lens.Lens' UpdateStorageVirtualMachineResponse (Prelude.Maybe StorageVirtualMachine)+updateStorageVirtualMachineResponse_storageVirtualMachine = Lens.lens (\UpdateStorageVirtualMachineResponse' {storageVirtualMachine} -> storageVirtualMachine) (\s@UpdateStorageVirtualMachineResponse' {} a -> s {storageVirtualMachine = a} :: UpdateStorageVirtualMachineResponse)++-- | The response's http status code.+updateStorageVirtualMachineResponse_httpStatus :: Lens.Lens' UpdateStorageVirtualMachineResponse Prelude.Int+updateStorageVirtualMachineResponse_httpStatus = Lens.lens (\UpdateStorageVirtualMachineResponse' {httpStatus} -> httpStatus) (\s@UpdateStorageVirtualMachineResponse' {} a -> s {httpStatus = a} :: UpdateStorageVirtualMachineResponse)++instance+ Prelude.NFData+ UpdateStorageVirtualMachineResponse+ where+ rnf UpdateStorageVirtualMachineResponse' {..} =+ Prelude.rnf storageVirtualMachine+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FSx/UpdateVolume.hs view
@@ -0,0 +1,240 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.FSx.UpdateVolume+-- 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 configuration of an Amazon FSx for NetApp ONTAP or Amazon+-- FSx for OpenZFS volume.+module Amazonka.FSx.UpdateVolume+ ( -- * Creating a Request+ UpdateVolume (..),+ newUpdateVolume,++ -- * Request Lenses+ updateVolume_clientRequestToken,+ updateVolume_name,+ updateVolume_ontapConfiguration,+ updateVolume_openZFSConfiguration,+ updateVolume_volumeId,++ -- * Destructuring the Response+ UpdateVolumeResponse (..),+ newUpdateVolumeResponse,++ -- * Response Lenses+ updateVolumeResponse_volume,+ updateVolumeResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateVolume' smart constructor.+data UpdateVolume = UpdateVolume'+ { clientRequestToken :: Prelude.Maybe Prelude.Text,+ -- | The name of the OpenZFS volume. OpenZFS root volumes are automatically+ -- named @FSX@. Child volume names must be unique among their parent+ -- volume\'s children. The name of the volume is part of the mount string+ -- for the OpenZFS volume.+ name :: Prelude.Maybe Prelude.Text,+ -- | The configuration of the ONTAP volume that you are updating.+ ontapConfiguration :: Prelude.Maybe UpdateOntapVolumeConfiguration,+ -- | The configuration of the OpenZFS volume that you are updating.+ openZFSConfiguration :: Prelude.Maybe UpdateOpenZFSVolumeConfiguration,+ -- | The ID of the volume that you want to update, in the format+ -- @fsvol-0123456789abcdef0@.+ volumeId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateVolume' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientRequestToken', 'updateVolume_clientRequestToken' - Undocumented member.+--+-- 'name', 'updateVolume_name' - The name of the OpenZFS volume. OpenZFS root volumes are automatically+-- named @FSX@. Child volume names must be unique among their parent+-- volume\'s children. The name of the volume is part of the mount string+-- for the OpenZFS volume.+--+-- 'ontapConfiguration', 'updateVolume_ontapConfiguration' - The configuration of the ONTAP volume that you are updating.+--+-- 'openZFSConfiguration', 'updateVolume_openZFSConfiguration' - The configuration of the OpenZFS volume that you are updating.+--+-- 'volumeId', 'updateVolume_volumeId' - The ID of the volume that you want to update, in the format+-- @fsvol-0123456789abcdef0@.+newUpdateVolume ::+ -- | 'volumeId'+ Prelude.Text ->+ UpdateVolume+newUpdateVolume pVolumeId_ =+ UpdateVolume'+ { clientRequestToken = Prelude.Nothing,+ name = Prelude.Nothing,+ ontapConfiguration = Prelude.Nothing,+ openZFSConfiguration = Prelude.Nothing,+ volumeId = pVolumeId_+ }++-- | Undocumented member.+updateVolume_clientRequestToken :: Lens.Lens' UpdateVolume (Prelude.Maybe Prelude.Text)+updateVolume_clientRequestToken = Lens.lens (\UpdateVolume' {clientRequestToken} -> clientRequestToken) (\s@UpdateVolume' {} a -> s {clientRequestToken = a} :: UpdateVolume)++-- | The name of the OpenZFS volume. OpenZFS root volumes are automatically+-- named @FSX@. Child volume names must be unique among their parent+-- volume\'s children. The name of the volume is part of the mount string+-- for the OpenZFS volume.+updateVolume_name :: Lens.Lens' UpdateVolume (Prelude.Maybe Prelude.Text)+updateVolume_name = Lens.lens (\UpdateVolume' {name} -> name) (\s@UpdateVolume' {} a -> s {name = a} :: UpdateVolume)++-- | The configuration of the ONTAP volume that you are updating.+updateVolume_ontapConfiguration :: Lens.Lens' UpdateVolume (Prelude.Maybe UpdateOntapVolumeConfiguration)+updateVolume_ontapConfiguration = Lens.lens (\UpdateVolume' {ontapConfiguration} -> ontapConfiguration) (\s@UpdateVolume' {} a -> s {ontapConfiguration = a} :: UpdateVolume)++-- | The configuration of the OpenZFS volume that you are updating.+updateVolume_openZFSConfiguration :: Lens.Lens' UpdateVolume (Prelude.Maybe UpdateOpenZFSVolumeConfiguration)+updateVolume_openZFSConfiguration = Lens.lens (\UpdateVolume' {openZFSConfiguration} -> openZFSConfiguration) (\s@UpdateVolume' {} a -> s {openZFSConfiguration = a} :: UpdateVolume)++-- | The ID of the volume that you want to update, in the format+-- @fsvol-0123456789abcdef0@.+updateVolume_volumeId :: Lens.Lens' UpdateVolume Prelude.Text+updateVolume_volumeId = Lens.lens (\UpdateVolume' {volumeId} -> volumeId) (\s@UpdateVolume' {} a -> s {volumeId = a} :: UpdateVolume)++instance Core.AWSRequest UpdateVolume where+ type AWSResponse UpdateVolume = UpdateVolumeResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateVolumeResponse'+ Prelude.<$> (x Data..?> "Volume")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateVolume where+ hashWithSalt _salt UpdateVolume' {..} =+ _salt+ `Prelude.hashWithSalt` clientRequestToken+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` ontapConfiguration+ `Prelude.hashWithSalt` openZFSConfiguration+ `Prelude.hashWithSalt` volumeId++instance Prelude.NFData UpdateVolume where+ rnf UpdateVolume' {..} =+ Prelude.rnf clientRequestToken+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf ontapConfiguration+ `Prelude.seq` Prelude.rnf openZFSConfiguration+ `Prelude.seq` Prelude.rnf volumeId++instance Data.ToHeaders UpdateVolume where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSSimbaAPIService_v20180301.UpdateVolume" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateVolume where+ toJSON UpdateVolume' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("ClientRequestToken" Data..=)+ Prelude.<$> clientRequestToken,+ ("Name" Data..=) Prelude.<$> name,+ ("OntapConfiguration" Data..=)+ Prelude.<$> ontapConfiguration,+ ("OpenZFSConfiguration" Data..=)+ Prelude.<$> openZFSConfiguration,+ Prelude.Just ("VolumeId" Data..= volumeId)+ ]+ )++instance Data.ToPath UpdateVolume where+ toPath = Prelude.const "/"++instance Data.ToQuery UpdateVolume where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateVolumeResponse' smart constructor.+data UpdateVolumeResponse = UpdateVolumeResponse'+ { -- | A description of the volume just updated. Returned after a successful+ -- @UpdateVolume@ API operation.+ volume :: Prelude.Maybe Volume,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateVolumeResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'volume', 'updateVolumeResponse_volume' - A description of the volume just updated. Returned after a successful+-- @UpdateVolume@ API operation.+--+-- 'httpStatus', 'updateVolumeResponse_httpStatus' - The response's http status code.+newUpdateVolumeResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateVolumeResponse+newUpdateVolumeResponse pHttpStatus_ =+ UpdateVolumeResponse'+ { volume = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A description of the volume just updated. Returned after a successful+-- @UpdateVolume@ API operation.+updateVolumeResponse_volume :: Lens.Lens' UpdateVolumeResponse (Prelude.Maybe Volume)+updateVolumeResponse_volume = Lens.lens (\UpdateVolumeResponse' {volume} -> volume) (\s@UpdateVolumeResponse' {} a -> s {volume = a} :: UpdateVolumeResponse)++-- | The response's http status code.+updateVolumeResponse_httpStatus :: Lens.Lens' UpdateVolumeResponse Prelude.Int+updateVolumeResponse_httpStatus = Lens.lens (\UpdateVolumeResponse' {httpStatus} -> httpStatus) (\s@UpdateVolumeResponse' {} a -> s {httpStatus = a} :: UpdateVolumeResponse)++instance Prelude.NFData UpdateVolumeResponse where+ rnf UpdateVolumeResponse' {..} =+ Prelude.rnf volume+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/FSx/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.FSx.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.FSx.Waiters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.FSx.Lens+import Amazonka.FSx.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.FSx+import Test.Amazonka.FSx.Internal+import Test.Tasty++main :: IO ()+main =+ defaultMain $+ testGroup+ "FSx"+ [ testGroup "tests" tests,+ testGroup "fixtures" fixtures+ ]
+ test/Test/Amazonka/FSx.hs view
@@ -0,0 +1,20 @@+-- |+-- Module : Test.Amazonka.FSx+-- 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.FSx+ ( tests,+ fixtures,+ )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/FSx/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module : Test.Amazonka.FSx.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.FSx.Internal where
+ test/Test/Amazonka/Gen/FSx.hs view
@@ -0,0 +1,858 @@+{-# 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.FSx+-- 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.FSx where++import Amazonka.FSx+import qualified Data.Proxy as Proxy+import Test.Amazonka.FSx.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"+-- [ requestAssociateFileSystemAliases $+-- newAssociateFileSystemAliases+--+-- , requestCancelDataRepositoryTask $+-- newCancelDataRepositoryTask+--+-- , requestCopyBackup $+-- newCopyBackup+--+-- , requestCreateBackup $+-- newCreateBackup+--+-- , requestCreateDataRepositoryAssociation $+-- newCreateDataRepositoryAssociation+--+-- , requestCreateDataRepositoryTask $+-- newCreateDataRepositoryTask+--+-- , requestCreateFileCache $+-- newCreateFileCache+--+-- , requestCreateFileSystem $+-- newCreateFileSystem+--+-- , requestCreateFileSystemFromBackup $+-- newCreateFileSystemFromBackup+--+-- , requestCreateSnapshot $+-- newCreateSnapshot+--+-- , requestCreateStorageVirtualMachine $+-- newCreateStorageVirtualMachine+--+-- , requestCreateVolume $+-- newCreateVolume+--+-- , requestCreateVolumeFromBackup $+-- newCreateVolumeFromBackup+--+-- , requestDeleteBackup $+-- newDeleteBackup+--+-- , requestDeleteDataRepositoryAssociation $+-- newDeleteDataRepositoryAssociation+--+-- , requestDeleteFileCache $+-- newDeleteFileCache+--+-- , requestDeleteFileSystem $+-- newDeleteFileSystem+--+-- , requestDeleteSnapshot $+-- newDeleteSnapshot+--+-- , requestDeleteStorageVirtualMachine $+-- newDeleteStorageVirtualMachine+--+-- , requestDeleteVolume $+-- newDeleteVolume+--+-- , requestDescribeBackups $+-- newDescribeBackups+--+-- , requestDescribeDataRepositoryAssociations $+-- newDescribeDataRepositoryAssociations+--+-- , requestDescribeDataRepositoryTasks $+-- newDescribeDataRepositoryTasks+--+-- , requestDescribeFileCaches $+-- newDescribeFileCaches+--+-- , requestDescribeFileSystemAliases $+-- newDescribeFileSystemAliases+--+-- , requestDescribeFileSystems $+-- newDescribeFileSystems+--+-- , requestDescribeSnapshots $+-- newDescribeSnapshots+--+-- , requestDescribeStorageVirtualMachines $+-- newDescribeStorageVirtualMachines+--+-- , requestDescribeVolumes $+-- newDescribeVolumes+--+-- , requestDisassociateFileSystemAliases $+-- newDisassociateFileSystemAliases+--+-- , requestListTagsForResource $+-- newListTagsForResource+--+-- , requestReleaseFileSystemNfsV3Locks $+-- newReleaseFileSystemNfsV3Locks+--+-- , requestRestoreVolumeFromSnapshot $+-- newRestoreVolumeFromSnapshot+--+-- , requestTagResource $+-- newTagResource+--+-- , requestUntagResource $+-- newUntagResource+--+-- , requestUpdateDataRepositoryAssociation $+-- newUpdateDataRepositoryAssociation+--+-- , requestUpdateFileCache $+-- newUpdateFileCache+--+-- , requestUpdateFileSystem $+-- newUpdateFileSystem+--+-- , requestUpdateSnapshot $+-- newUpdateSnapshot+--+-- , requestUpdateStorageVirtualMachine $+-- newUpdateStorageVirtualMachine+--+-- , requestUpdateVolume $+-- newUpdateVolume+--+-- ]++-- , testGroup "response"+-- [ responseAssociateFileSystemAliases $+-- newAssociateFileSystemAliasesResponse+--+-- , responseCancelDataRepositoryTask $+-- newCancelDataRepositoryTaskResponse+--+-- , responseCopyBackup $+-- newCopyBackupResponse+--+-- , responseCreateBackup $+-- newCreateBackupResponse+--+-- , responseCreateDataRepositoryAssociation $+-- newCreateDataRepositoryAssociationResponse+--+-- , responseCreateDataRepositoryTask $+-- newCreateDataRepositoryTaskResponse+--+-- , responseCreateFileCache $+-- newCreateFileCacheResponse+--+-- , responseCreateFileSystem $+-- newCreateFileSystemResponse+--+-- , responseCreateFileSystemFromBackup $+-- newCreateFileSystemFromBackupResponse+--+-- , responseCreateSnapshot $+-- newCreateSnapshotResponse+--+-- , responseCreateStorageVirtualMachine $+-- newCreateStorageVirtualMachineResponse+--+-- , responseCreateVolume $+-- newCreateVolumeResponse+--+-- , responseCreateVolumeFromBackup $+-- newCreateVolumeFromBackupResponse+--+-- , responseDeleteBackup $+-- newDeleteBackupResponse+--+-- , responseDeleteDataRepositoryAssociation $+-- newDeleteDataRepositoryAssociationResponse+--+-- , responseDeleteFileCache $+-- newDeleteFileCacheResponse+--+-- , responseDeleteFileSystem $+-- newDeleteFileSystemResponse+--+-- , responseDeleteSnapshot $+-- newDeleteSnapshotResponse+--+-- , responseDeleteStorageVirtualMachine $+-- newDeleteStorageVirtualMachineResponse+--+-- , responseDeleteVolume $+-- newDeleteVolumeResponse+--+-- , responseDescribeBackups $+-- newDescribeBackupsResponse+--+-- , responseDescribeDataRepositoryAssociations $+-- newDescribeDataRepositoryAssociationsResponse+--+-- , responseDescribeDataRepositoryTasks $+-- newDescribeDataRepositoryTasksResponse+--+-- , responseDescribeFileCaches $+-- newDescribeFileCachesResponse+--+-- , responseDescribeFileSystemAliases $+-- newDescribeFileSystemAliasesResponse+--+-- , responseDescribeFileSystems $+-- newDescribeFileSystemsResponse+--+-- , responseDescribeSnapshots $+-- newDescribeSnapshotsResponse+--+-- , responseDescribeStorageVirtualMachines $+-- newDescribeStorageVirtualMachinesResponse+--+-- , responseDescribeVolumes $+-- newDescribeVolumesResponse+--+-- , responseDisassociateFileSystemAliases $+-- newDisassociateFileSystemAliasesResponse+--+-- , responseListTagsForResource $+-- newListTagsForResourceResponse+--+-- , responseReleaseFileSystemNfsV3Locks $+-- newReleaseFileSystemNfsV3LocksResponse+--+-- , responseRestoreVolumeFromSnapshot $+-- newRestoreVolumeFromSnapshotResponse+--+-- , responseTagResource $+-- newTagResourceResponse+--+-- , responseUntagResource $+-- newUntagResourceResponse+--+-- , responseUpdateDataRepositoryAssociation $+-- newUpdateDataRepositoryAssociationResponse+--+-- , responseUpdateFileCache $+-- newUpdateFileCacheResponse+--+-- , responseUpdateFileSystem $+-- newUpdateFileSystemResponse+--+-- , responseUpdateSnapshot $+-- newUpdateSnapshotResponse+--+-- , responseUpdateStorageVirtualMachine $+-- newUpdateStorageVirtualMachineResponse+--+-- , responseUpdateVolume $+-- newUpdateVolumeResponse+--+-- ]+-- ]++-- Requests++requestAssociateFileSystemAliases :: AssociateFileSystemAliases -> TestTree+requestAssociateFileSystemAliases =+ req+ "AssociateFileSystemAliases"+ "fixture/AssociateFileSystemAliases.yaml"++requestCancelDataRepositoryTask :: CancelDataRepositoryTask -> TestTree+requestCancelDataRepositoryTask =+ req+ "CancelDataRepositoryTask"+ "fixture/CancelDataRepositoryTask.yaml"++requestCopyBackup :: CopyBackup -> TestTree+requestCopyBackup =+ req+ "CopyBackup"+ "fixture/CopyBackup.yaml"++requestCreateBackup :: CreateBackup -> TestTree+requestCreateBackup =+ req+ "CreateBackup"+ "fixture/CreateBackup.yaml"++requestCreateDataRepositoryAssociation :: CreateDataRepositoryAssociation -> TestTree+requestCreateDataRepositoryAssociation =+ req+ "CreateDataRepositoryAssociation"+ "fixture/CreateDataRepositoryAssociation.yaml"++requestCreateDataRepositoryTask :: CreateDataRepositoryTask -> TestTree+requestCreateDataRepositoryTask =+ req+ "CreateDataRepositoryTask"+ "fixture/CreateDataRepositoryTask.yaml"++requestCreateFileCache :: CreateFileCache -> TestTree+requestCreateFileCache =+ req+ "CreateFileCache"+ "fixture/CreateFileCache.yaml"++requestCreateFileSystem :: CreateFileSystem -> TestTree+requestCreateFileSystem =+ req+ "CreateFileSystem"+ "fixture/CreateFileSystem.yaml"++requestCreateFileSystemFromBackup :: CreateFileSystemFromBackup -> TestTree+requestCreateFileSystemFromBackup =+ req+ "CreateFileSystemFromBackup"+ "fixture/CreateFileSystemFromBackup.yaml"++requestCreateSnapshot :: CreateSnapshot -> TestTree+requestCreateSnapshot =+ req+ "CreateSnapshot"+ "fixture/CreateSnapshot.yaml"++requestCreateStorageVirtualMachine :: CreateStorageVirtualMachine -> TestTree+requestCreateStorageVirtualMachine =+ req+ "CreateStorageVirtualMachine"+ "fixture/CreateStorageVirtualMachine.yaml"++requestCreateVolume :: CreateVolume -> TestTree+requestCreateVolume =+ req+ "CreateVolume"+ "fixture/CreateVolume.yaml"++requestCreateVolumeFromBackup :: CreateVolumeFromBackup -> TestTree+requestCreateVolumeFromBackup =+ req+ "CreateVolumeFromBackup"+ "fixture/CreateVolumeFromBackup.yaml"++requestDeleteBackup :: DeleteBackup -> TestTree+requestDeleteBackup =+ req+ "DeleteBackup"+ "fixture/DeleteBackup.yaml"++requestDeleteDataRepositoryAssociation :: DeleteDataRepositoryAssociation -> TestTree+requestDeleteDataRepositoryAssociation =+ req+ "DeleteDataRepositoryAssociation"+ "fixture/DeleteDataRepositoryAssociation.yaml"++requestDeleteFileCache :: DeleteFileCache -> TestTree+requestDeleteFileCache =+ req+ "DeleteFileCache"+ "fixture/DeleteFileCache.yaml"++requestDeleteFileSystem :: DeleteFileSystem -> TestTree+requestDeleteFileSystem =+ req+ "DeleteFileSystem"+ "fixture/DeleteFileSystem.yaml"++requestDeleteSnapshot :: DeleteSnapshot -> TestTree+requestDeleteSnapshot =+ req+ "DeleteSnapshot"+ "fixture/DeleteSnapshot.yaml"++requestDeleteStorageVirtualMachine :: DeleteStorageVirtualMachine -> TestTree+requestDeleteStorageVirtualMachine =+ req+ "DeleteStorageVirtualMachine"+ "fixture/DeleteStorageVirtualMachine.yaml"++requestDeleteVolume :: DeleteVolume -> TestTree+requestDeleteVolume =+ req+ "DeleteVolume"+ "fixture/DeleteVolume.yaml"++requestDescribeBackups :: DescribeBackups -> TestTree+requestDescribeBackups =+ req+ "DescribeBackups"+ "fixture/DescribeBackups.yaml"++requestDescribeDataRepositoryAssociations :: DescribeDataRepositoryAssociations -> TestTree+requestDescribeDataRepositoryAssociations =+ req+ "DescribeDataRepositoryAssociations"+ "fixture/DescribeDataRepositoryAssociations.yaml"++requestDescribeDataRepositoryTasks :: DescribeDataRepositoryTasks -> TestTree+requestDescribeDataRepositoryTasks =+ req+ "DescribeDataRepositoryTasks"+ "fixture/DescribeDataRepositoryTasks.yaml"++requestDescribeFileCaches :: DescribeFileCaches -> TestTree+requestDescribeFileCaches =+ req+ "DescribeFileCaches"+ "fixture/DescribeFileCaches.yaml"++requestDescribeFileSystemAliases :: DescribeFileSystemAliases -> TestTree+requestDescribeFileSystemAliases =+ req+ "DescribeFileSystemAliases"+ "fixture/DescribeFileSystemAliases.yaml"++requestDescribeFileSystems :: DescribeFileSystems -> TestTree+requestDescribeFileSystems =+ req+ "DescribeFileSystems"+ "fixture/DescribeFileSystems.yaml"++requestDescribeSnapshots :: DescribeSnapshots -> TestTree+requestDescribeSnapshots =+ req+ "DescribeSnapshots"+ "fixture/DescribeSnapshots.yaml"++requestDescribeStorageVirtualMachines :: DescribeStorageVirtualMachines -> TestTree+requestDescribeStorageVirtualMachines =+ req+ "DescribeStorageVirtualMachines"+ "fixture/DescribeStorageVirtualMachines.yaml"++requestDescribeVolumes :: DescribeVolumes -> TestTree+requestDescribeVolumes =+ req+ "DescribeVolumes"+ "fixture/DescribeVolumes.yaml"++requestDisassociateFileSystemAliases :: DisassociateFileSystemAliases -> TestTree+requestDisassociateFileSystemAliases =+ req+ "DisassociateFileSystemAliases"+ "fixture/DisassociateFileSystemAliases.yaml"++requestListTagsForResource :: ListTagsForResource -> TestTree+requestListTagsForResource =+ req+ "ListTagsForResource"+ "fixture/ListTagsForResource.yaml"++requestReleaseFileSystemNfsV3Locks :: ReleaseFileSystemNfsV3Locks -> TestTree+requestReleaseFileSystemNfsV3Locks =+ req+ "ReleaseFileSystemNfsV3Locks"+ "fixture/ReleaseFileSystemNfsV3Locks.yaml"++requestRestoreVolumeFromSnapshot :: RestoreVolumeFromSnapshot -> TestTree+requestRestoreVolumeFromSnapshot =+ req+ "RestoreVolumeFromSnapshot"+ "fixture/RestoreVolumeFromSnapshot.yaml"++requestTagResource :: TagResource -> TestTree+requestTagResource =+ req+ "TagResource"+ "fixture/TagResource.yaml"++requestUntagResource :: UntagResource -> TestTree+requestUntagResource =+ req+ "UntagResource"+ "fixture/UntagResource.yaml"++requestUpdateDataRepositoryAssociation :: UpdateDataRepositoryAssociation -> TestTree+requestUpdateDataRepositoryAssociation =+ req+ "UpdateDataRepositoryAssociation"+ "fixture/UpdateDataRepositoryAssociation.yaml"++requestUpdateFileCache :: UpdateFileCache -> TestTree+requestUpdateFileCache =+ req+ "UpdateFileCache"+ "fixture/UpdateFileCache.yaml"++requestUpdateFileSystem :: UpdateFileSystem -> TestTree+requestUpdateFileSystem =+ req+ "UpdateFileSystem"+ "fixture/UpdateFileSystem.yaml"++requestUpdateSnapshot :: UpdateSnapshot -> TestTree+requestUpdateSnapshot =+ req+ "UpdateSnapshot"+ "fixture/UpdateSnapshot.yaml"++requestUpdateStorageVirtualMachine :: UpdateStorageVirtualMachine -> TestTree+requestUpdateStorageVirtualMachine =+ req+ "UpdateStorageVirtualMachine"+ "fixture/UpdateStorageVirtualMachine.yaml"++requestUpdateVolume :: UpdateVolume -> TestTree+requestUpdateVolume =+ req+ "UpdateVolume"+ "fixture/UpdateVolume.yaml"++-- Responses++responseAssociateFileSystemAliases :: AssociateFileSystemAliasesResponse -> TestTree+responseAssociateFileSystemAliases =+ res+ "AssociateFileSystemAliasesResponse"+ "fixture/AssociateFileSystemAliasesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy AssociateFileSystemAliases)++responseCancelDataRepositoryTask :: CancelDataRepositoryTaskResponse -> TestTree+responseCancelDataRepositoryTask =+ res+ "CancelDataRepositoryTaskResponse"+ "fixture/CancelDataRepositoryTaskResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CancelDataRepositoryTask)++responseCopyBackup :: CopyBackupResponse -> TestTree+responseCopyBackup =+ res+ "CopyBackupResponse"+ "fixture/CopyBackupResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CopyBackup)++responseCreateBackup :: CreateBackupResponse -> TestTree+responseCreateBackup =+ res+ "CreateBackupResponse"+ "fixture/CreateBackupResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateBackup)++responseCreateDataRepositoryAssociation :: CreateDataRepositoryAssociationResponse -> TestTree+responseCreateDataRepositoryAssociation =+ res+ "CreateDataRepositoryAssociationResponse"+ "fixture/CreateDataRepositoryAssociationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateDataRepositoryAssociation)++responseCreateDataRepositoryTask :: CreateDataRepositoryTaskResponse -> TestTree+responseCreateDataRepositoryTask =+ res+ "CreateDataRepositoryTaskResponse"+ "fixture/CreateDataRepositoryTaskResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateDataRepositoryTask)++responseCreateFileCache :: CreateFileCacheResponse -> TestTree+responseCreateFileCache =+ res+ "CreateFileCacheResponse"+ "fixture/CreateFileCacheResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateFileCache)++responseCreateFileSystem :: CreateFileSystemResponse -> TestTree+responseCreateFileSystem =+ res+ "CreateFileSystemResponse"+ "fixture/CreateFileSystemResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateFileSystem)++responseCreateFileSystemFromBackup :: CreateFileSystemFromBackupResponse -> TestTree+responseCreateFileSystemFromBackup =+ res+ "CreateFileSystemFromBackupResponse"+ "fixture/CreateFileSystemFromBackupResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateFileSystemFromBackup)++responseCreateSnapshot :: CreateSnapshotResponse -> TestTree+responseCreateSnapshot =+ res+ "CreateSnapshotResponse"+ "fixture/CreateSnapshotResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateSnapshot)++responseCreateStorageVirtualMachine :: CreateStorageVirtualMachineResponse -> TestTree+responseCreateStorageVirtualMachine =+ res+ "CreateStorageVirtualMachineResponse"+ "fixture/CreateStorageVirtualMachineResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateStorageVirtualMachine)++responseCreateVolume :: CreateVolumeResponse -> TestTree+responseCreateVolume =+ res+ "CreateVolumeResponse"+ "fixture/CreateVolumeResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateVolume)++responseCreateVolumeFromBackup :: CreateVolumeFromBackupResponse -> TestTree+responseCreateVolumeFromBackup =+ res+ "CreateVolumeFromBackupResponse"+ "fixture/CreateVolumeFromBackupResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateVolumeFromBackup)++responseDeleteBackup :: DeleteBackupResponse -> TestTree+responseDeleteBackup =+ res+ "DeleteBackupResponse"+ "fixture/DeleteBackupResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteBackup)++responseDeleteDataRepositoryAssociation :: DeleteDataRepositoryAssociationResponse -> TestTree+responseDeleteDataRepositoryAssociation =+ res+ "DeleteDataRepositoryAssociationResponse"+ "fixture/DeleteDataRepositoryAssociationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteDataRepositoryAssociation)++responseDeleteFileCache :: DeleteFileCacheResponse -> TestTree+responseDeleteFileCache =+ res+ "DeleteFileCacheResponse"+ "fixture/DeleteFileCacheResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteFileCache)++responseDeleteFileSystem :: DeleteFileSystemResponse -> TestTree+responseDeleteFileSystem =+ res+ "DeleteFileSystemResponse"+ "fixture/DeleteFileSystemResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteFileSystem)++responseDeleteSnapshot :: DeleteSnapshotResponse -> TestTree+responseDeleteSnapshot =+ res+ "DeleteSnapshotResponse"+ "fixture/DeleteSnapshotResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteSnapshot)++responseDeleteStorageVirtualMachine :: DeleteStorageVirtualMachineResponse -> TestTree+responseDeleteStorageVirtualMachine =+ res+ "DeleteStorageVirtualMachineResponse"+ "fixture/DeleteStorageVirtualMachineResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteStorageVirtualMachine)++responseDeleteVolume :: DeleteVolumeResponse -> TestTree+responseDeleteVolume =+ res+ "DeleteVolumeResponse"+ "fixture/DeleteVolumeResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteVolume)++responseDescribeBackups :: DescribeBackupsResponse -> TestTree+responseDescribeBackups =+ res+ "DescribeBackupsResponse"+ "fixture/DescribeBackupsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeBackups)++responseDescribeDataRepositoryAssociations :: DescribeDataRepositoryAssociationsResponse -> TestTree+responseDescribeDataRepositoryAssociations =+ res+ "DescribeDataRepositoryAssociationsResponse"+ "fixture/DescribeDataRepositoryAssociationsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeDataRepositoryAssociations)++responseDescribeDataRepositoryTasks :: DescribeDataRepositoryTasksResponse -> TestTree+responseDescribeDataRepositoryTasks =+ res+ "DescribeDataRepositoryTasksResponse"+ "fixture/DescribeDataRepositoryTasksResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeDataRepositoryTasks)++responseDescribeFileCaches :: DescribeFileCachesResponse -> TestTree+responseDescribeFileCaches =+ res+ "DescribeFileCachesResponse"+ "fixture/DescribeFileCachesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeFileCaches)++responseDescribeFileSystemAliases :: DescribeFileSystemAliasesResponse -> TestTree+responseDescribeFileSystemAliases =+ res+ "DescribeFileSystemAliasesResponse"+ "fixture/DescribeFileSystemAliasesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeFileSystemAliases)++responseDescribeFileSystems :: DescribeFileSystemsResponse -> TestTree+responseDescribeFileSystems =+ res+ "DescribeFileSystemsResponse"+ "fixture/DescribeFileSystemsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeFileSystems)++responseDescribeSnapshots :: DescribeSnapshotsResponse -> TestTree+responseDescribeSnapshots =+ res+ "DescribeSnapshotsResponse"+ "fixture/DescribeSnapshotsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeSnapshots)++responseDescribeStorageVirtualMachines :: DescribeStorageVirtualMachinesResponse -> TestTree+responseDescribeStorageVirtualMachines =+ res+ "DescribeStorageVirtualMachinesResponse"+ "fixture/DescribeStorageVirtualMachinesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeStorageVirtualMachines)++responseDescribeVolumes :: DescribeVolumesResponse -> TestTree+responseDescribeVolumes =+ res+ "DescribeVolumesResponse"+ "fixture/DescribeVolumesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeVolumes)++responseDisassociateFileSystemAliases :: DisassociateFileSystemAliasesResponse -> TestTree+responseDisassociateFileSystemAliases =+ res+ "DisassociateFileSystemAliasesResponse"+ "fixture/DisassociateFileSystemAliasesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DisassociateFileSystemAliases)++responseListTagsForResource :: ListTagsForResourceResponse -> TestTree+responseListTagsForResource =+ res+ "ListTagsForResourceResponse"+ "fixture/ListTagsForResourceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListTagsForResource)++responseReleaseFileSystemNfsV3Locks :: ReleaseFileSystemNfsV3LocksResponse -> TestTree+responseReleaseFileSystemNfsV3Locks =+ res+ "ReleaseFileSystemNfsV3LocksResponse"+ "fixture/ReleaseFileSystemNfsV3LocksResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ReleaseFileSystemNfsV3Locks)++responseRestoreVolumeFromSnapshot :: RestoreVolumeFromSnapshotResponse -> TestTree+responseRestoreVolumeFromSnapshot =+ res+ "RestoreVolumeFromSnapshotResponse"+ "fixture/RestoreVolumeFromSnapshotResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy RestoreVolumeFromSnapshot)++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)++responseUpdateDataRepositoryAssociation :: UpdateDataRepositoryAssociationResponse -> TestTree+responseUpdateDataRepositoryAssociation =+ res+ "UpdateDataRepositoryAssociationResponse"+ "fixture/UpdateDataRepositoryAssociationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateDataRepositoryAssociation)++responseUpdateFileCache :: UpdateFileCacheResponse -> TestTree+responseUpdateFileCache =+ res+ "UpdateFileCacheResponse"+ "fixture/UpdateFileCacheResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateFileCache)++responseUpdateFileSystem :: UpdateFileSystemResponse -> TestTree+responseUpdateFileSystem =+ res+ "UpdateFileSystemResponse"+ "fixture/UpdateFileSystemResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateFileSystem)++responseUpdateSnapshot :: UpdateSnapshotResponse -> TestTree+responseUpdateSnapshot =+ res+ "UpdateSnapshotResponse"+ "fixture/UpdateSnapshotResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateSnapshot)++responseUpdateStorageVirtualMachine :: UpdateStorageVirtualMachineResponse -> TestTree+responseUpdateStorageVirtualMachine =+ res+ "UpdateStorageVirtualMachineResponse"+ "fixture/UpdateStorageVirtualMachineResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateStorageVirtualMachine)++responseUpdateVolume :: UpdateVolumeResponse -> TestTree+responseUpdateVolume =+ res+ "UpdateVolumeResponse"+ "fixture/UpdateVolumeResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateVolume)