Class CfnVolume.OpenZFSConfigurationProperty.Builder
java.lang.Object
software.amazon.awscdk.services.fsx.CfnVolume.OpenZFSConfigurationProperty.Builder
- All Implemented Interfaces:
software.amazon.jsii.Builder<CfnVolume.OpenZFSConfigurationProperty>
- Enclosing interface:
CfnVolume.OpenZFSConfigurationProperty
@Stability(Stable)
public static final class CfnVolume.OpenZFSConfigurationProperty.Builder
extends Object
implements software.amazon.jsii.Builder<CfnVolume.OpenZFSConfigurationProperty>
A builder for
CfnVolume.OpenZFSConfigurationProperty
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionbuild()
Builds the configured instance.copyTagsToSnapshots
(Boolean copyTagsToSnapshots) Sets the value ofCfnVolume.OpenZFSConfigurationProperty.getCopyTagsToSnapshots()
copyTagsToSnapshots
(IResolvable copyTagsToSnapshots) Sets the value ofCfnVolume.OpenZFSConfigurationProperty.getCopyTagsToSnapshots()
dataCompressionType
(String dataCompressionType) Sets the value ofCfnVolume.OpenZFSConfigurationProperty.getDataCompressionType()
nfsExports
(List<? extends Object> nfsExports) Sets the value ofCfnVolume.OpenZFSConfigurationProperty.getNfsExports()
nfsExports
(IResolvable nfsExports) Sets the value ofCfnVolume.OpenZFSConfigurationProperty.getNfsExports()
Sets the value ofCfnVolume.OpenZFSConfigurationProperty.getOptions()
originSnapshot
(IResolvable originSnapshot) Sets the value ofCfnVolume.OpenZFSConfigurationProperty.getOriginSnapshot()
originSnapshot
(CfnVolume.OriginSnapshotProperty originSnapshot) Sets the value ofCfnVolume.OpenZFSConfigurationProperty.getOriginSnapshot()
parentVolumeId
(String parentVolumeId) Sets the value ofCfnVolume.OpenZFSConfigurationProperty.getParentVolumeId()
Sets the value ofCfnVolume.OpenZFSConfigurationProperty.getReadOnly()
readOnly
(IResolvable readOnly) Sets the value ofCfnVolume.OpenZFSConfigurationProperty.getReadOnly()
recordSizeKiB
(Number recordSizeKiB) Sets the value ofCfnVolume.OpenZFSConfigurationProperty.getRecordSizeKiB()
storageCapacityQuotaGiB
(Number storageCapacityQuotaGiB) Sets the value ofCfnVolume.OpenZFSConfigurationProperty.getStorageCapacityQuotaGiB()
storageCapacityReservationGiB
(Number storageCapacityReservationGiB) userAndGroupQuotas
(List<? extends Object> userAndGroupQuotas) Sets the value ofCfnVolume.OpenZFSConfigurationProperty.getUserAndGroupQuotas()
userAndGroupQuotas
(IResolvable userAndGroupQuotas) Sets the value ofCfnVolume.OpenZFSConfigurationProperty.getUserAndGroupQuotas()
-
Constructor Details
-
Builder
public Builder()
-
-
Method Details
-
parentVolumeId
@Stability(Stable) public CfnVolume.OpenZFSConfigurationProperty.Builder parentVolumeId(String parentVolumeId) Sets the value ofCfnVolume.OpenZFSConfigurationProperty.getParentVolumeId()
- Parameters:
parentVolumeId
- The ID of the volume to use as the parent volume of the volume that you are creating. This parameter is required.- Returns:
this
-
copyTagsToSnapshots
@Stability(Stable) public CfnVolume.OpenZFSConfigurationProperty.Builder copyTagsToSnapshots(Boolean copyTagsToSnapshots) Sets the value ofCfnVolume.OpenZFSConfigurationProperty.getCopyTagsToSnapshots()
- Parameters:
copyTagsToSnapshots
- A Boolean value indicating whether tags for the volume should be copied to snapshots. This value defaults tofalse
. If it's set totrue
, all tags for the volume are copied to snapshots where the user doesn't specify tags. If this value istrue
, 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.- Returns:
this
-
copyTagsToSnapshots
@Stability(Stable) public CfnVolume.OpenZFSConfigurationProperty.Builder copyTagsToSnapshots(IResolvable copyTagsToSnapshots) Sets the value ofCfnVolume.OpenZFSConfigurationProperty.getCopyTagsToSnapshots()
- Parameters:
copyTagsToSnapshots
- A Boolean value indicating whether tags for the volume should be copied to snapshots. This value defaults tofalse
. If it's set totrue
, all tags for the volume are copied to snapshots where the user doesn't specify tags. If this value istrue
, 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.- Returns:
this
-
dataCompressionType
@Stability(Stable) public CfnVolume.OpenZFSConfigurationProperty.Builder dataCompressionType(String dataCompressionType) Sets the value ofCfnVolume.OpenZFSConfigurationProperty.getDataCompressionType()
- Parameters:
dataCompressionType
- Specifies the method used to compress the data on the volume. The compression type isNONE
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.
- Returns:
this
-
nfsExports
@Stability(Stable) public CfnVolume.OpenZFSConfigurationProperty.Builder nfsExports(IResolvable nfsExports) Sets the value ofCfnVolume.OpenZFSConfigurationProperty.getNfsExports()
- Parameters:
nfsExports
- The configuration object for mounting a Network File System (NFS) file system.- Returns:
this
-
nfsExports
@Stability(Stable) public CfnVolume.OpenZFSConfigurationProperty.Builder nfsExports(List<? extends Object> nfsExports) Sets the value ofCfnVolume.OpenZFSConfigurationProperty.getNfsExports()
- Parameters:
nfsExports
- The configuration object for mounting a Network File System (NFS) file system.- Returns:
this
-
options
@Stability(Stable) public CfnVolume.OpenZFSConfigurationProperty.Builder options(List<String> options) Sets the value ofCfnVolume.OpenZFSConfigurationProperty.getOptions()
- Parameters:
options
- To delete the volume's child volumes, snapshots, and clones, use the stringDELETE_CHILD_VOLUMES_AND_SNAPSHOTS
.- Returns:
this
-
originSnapshot
@Stability(Stable) public CfnVolume.OpenZFSConfigurationProperty.Builder originSnapshot(IResolvable originSnapshot) Sets the value ofCfnVolume.OpenZFSConfigurationProperty.getOriginSnapshot()
- Parameters:
originSnapshot
- The configuration object that specifies the snapshot to use as the origin of the data for the volume.- Returns:
this
-
originSnapshot
@Stability(Stable) public CfnVolume.OpenZFSConfigurationProperty.Builder originSnapshot(CfnVolume.OriginSnapshotProperty originSnapshot) Sets the value ofCfnVolume.OpenZFSConfigurationProperty.getOriginSnapshot()
- Parameters:
originSnapshot
- The configuration object that specifies the snapshot to use as the origin of the data for the volume.- Returns:
this
-
readOnly
Sets the value ofCfnVolume.OpenZFSConfigurationProperty.getReadOnly()
- Parameters:
readOnly
- A Boolean value indicating whether the volume is read-only.- Returns:
this
-
readOnly
@Stability(Stable) public CfnVolume.OpenZFSConfigurationProperty.Builder readOnly(IResolvable readOnly) Sets the value ofCfnVolume.OpenZFSConfigurationProperty.getReadOnly()
- Parameters:
readOnly
- A Boolean value indicating whether the volume is read-only.- Returns:
this
-
recordSizeKiB
@Stability(Stable) public CfnVolume.OpenZFSConfigurationProperty.Builder recordSizeKiB(Number recordSizeKiB) Sets the value ofCfnVolume.OpenZFSConfigurationProperty.getRecordSizeKiB()
- Parameters:
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 ZFS Record size in the Amazon FSx for OpenZFS User Guide .- Returns:
this
-
storageCapacityQuotaGiB
@Stability(Stable) public CfnVolume.OpenZFSConfigurationProperty.Builder storageCapacityQuotaGiB(Number storageCapacityQuotaGiB) Sets the value ofCfnVolume.OpenZFSConfigurationProperty.getStorageCapacityQuotaGiB()
- Parameters:
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 setStorageCapacityReservationGiB
. To not specify a storage capacity quota, set this to-1
.For more information, see Volume properties in the Amazon FSx for OpenZFS User Guide .
- Returns:
this
-
storageCapacityReservationGiB
@Stability(Stable) public CfnVolume.OpenZFSConfigurationProperty.Builder storageCapacityReservationGiB(Number storageCapacityReservationGiB) - Parameters:
storageCapacityReservationGiB
- Specifies the amount of storage in gibibytes (GiB) to reserve from the parent volume. SettingStorageCapacityReservationGiB
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 to0
or-1
. For more information, see Volume properties in the Amazon FSx for OpenZFS User Guide .- Returns:
this
-
userAndGroupQuotas
@Stability(Stable) public CfnVolume.OpenZFSConfigurationProperty.Builder userAndGroupQuotas(IResolvable userAndGroupQuotas) Sets the value ofCfnVolume.OpenZFSConfigurationProperty.getUserAndGroupQuotas()
- Parameters:
userAndGroupQuotas
- An object specifying how much storage users or groups can use on the volume.- Returns:
this
-
userAndGroupQuotas
@Stability(Stable) public CfnVolume.OpenZFSConfigurationProperty.Builder userAndGroupQuotas(List<? extends Object> userAndGroupQuotas) Sets the value ofCfnVolume.OpenZFSConfigurationProperty.getUserAndGroupQuotas()
- Parameters:
userAndGroupQuotas
- An object specifying how much storage users or groups can use on the volume.- Returns:
this
-
build
Builds the configured instance.- Specified by:
build
in interfacesoftware.amazon.jsii.Builder<CfnVolume.OpenZFSConfigurationProperty>
- Returns:
- a new instance of
CfnVolume.OpenZFSConfigurationProperty
- Throws:
NullPointerException
- if any required attribute was not provided
-