Class CfnVolumePropsMixin.OpenZFSConfigurationProperty.Builder
java.lang.Object
software.amazon.awscdk.cfnpropertymixins.services.fsx.CfnVolumePropsMixin.OpenZFSConfigurationProperty.Builder
- All Implemented Interfaces:
software.amazon.jsii.Builder<CfnVolumePropsMixin.OpenZFSConfigurationProperty>
- Enclosing interface:
CfnVolumePropsMixin.OpenZFSConfigurationProperty
@Stability(Stable)
public static final class CfnVolumePropsMixin.OpenZFSConfigurationProperty.Builder
extends Object
implements software.amazon.jsii.Builder<CfnVolumePropsMixin.OpenZFSConfigurationProperty>
A builder for
CfnVolumePropsMixin.OpenZFSConfigurationProperty-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbuild()Builds the configured instance.copyTagsToSnapshots(Boolean copyTagsToSnapshots) copyTagsToSnapshots(IResolvable copyTagsToSnapshots) dataCompressionType(String dataCompressionType) nfsExports(List<? extends Object> nfsExports) Sets the value ofCfnVolumePropsMixin.OpenZFSConfigurationProperty.getNfsExports()nfsExports(IResolvable nfsExports) Sets the value ofCfnVolumePropsMixin.OpenZFSConfigurationProperty.getNfsExports()Sets the value ofCfnVolumePropsMixin.OpenZFSConfigurationProperty.getOptions()originSnapshot(CfnVolumePropsMixin.OriginSnapshotProperty originSnapshot) Sets the value ofCfnVolumePropsMixin.OpenZFSConfigurationProperty.getOriginSnapshot()originSnapshot(IResolvable originSnapshot) Sets the value ofCfnVolumePropsMixin.OpenZFSConfigurationProperty.getOriginSnapshot()parentVolumeId(String parentVolumeId) Sets the value ofCfnVolumePropsMixin.OpenZFSConfigurationProperty.getParentVolumeId()Sets the value ofCfnVolumePropsMixin.OpenZFSConfigurationProperty.getReadOnly()readOnly(IResolvable readOnly) Sets the value ofCfnVolumePropsMixin.OpenZFSConfigurationProperty.getReadOnly()recordSizeKiB(Number recordSizeKiB) Sets the value ofCfnVolumePropsMixin.OpenZFSConfigurationProperty.getRecordSizeKiB()storageCapacityQuotaGiB(Number storageCapacityQuotaGiB) storageCapacityReservationGiB(Number storageCapacityReservationGiB) userAndGroupQuotas(List<? extends Object> userAndGroupQuotas) Sets the value ofCfnVolumePropsMixin.OpenZFSConfigurationProperty.getUserAndGroupQuotas()userAndGroupQuotas(IResolvable userAndGroupQuotas) Sets the value ofCfnVolumePropsMixin.OpenZFSConfigurationProperty.getUserAndGroupQuotas()
-
Constructor Details
-
Builder
public Builder()
-
-
Method Details
-
copyTagsToSnapshots
@Stability(Stable) public CfnVolumePropsMixin.OpenZFSConfigurationProperty.Builder copyTagsToSnapshots(Boolean copyTagsToSnapshots) - Parameters:
copyTagsToSnapshots- A Boolean value indicating whether tags for the volume should be copied to snapshots. This value defaults tofalse. If this value is set totrue, and you do not specify any tags, all tags for the original volume are copied over to snapshots. If this value is set totrue, and you do specify one or more tags, only the specified tags for the original volume are copied over to snapshots. If you specify one or more tags when creating a new snapshot, no tags are copied over from the original volume, regardless of this value.- Returns:
this
-
copyTagsToSnapshots
@Stability(Stable) public CfnVolumePropsMixin.OpenZFSConfigurationProperty.Builder copyTagsToSnapshots(IResolvable copyTagsToSnapshots) - Parameters:
copyTagsToSnapshots- A Boolean value indicating whether tags for the volume should be copied to snapshots. This value defaults tofalse. If this value is set totrue, and you do not specify any tags, all tags for the original volume are copied over to snapshots. If this value is set totrue, and you do specify one or more tags, only the specified tags for the original volume are copied over to snapshots. If you specify one or more tags when creating a new snapshot, no tags are copied over from the original volume, regardless of this value.- Returns:
this
-
dataCompressionType
@Stability(Stable) public CfnVolumePropsMixin.OpenZFSConfigurationProperty.Builder dataCompressionType(String dataCompressionType) - Parameters:
dataCompressionType- Specifies the method used to compress the data on the volume. The compression type isNONEby default.NONE- Doesn't compress the data on the volume.NONEis 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 CfnVolumePropsMixin.OpenZFSConfigurationProperty.Builder nfsExports(IResolvable nfsExports) Sets the value ofCfnVolumePropsMixin.OpenZFSConfigurationProperty.getNfsExports()- Parameters:
nfsExports- The configuration object for mounting a Network File System (NFS) file system.- Returns:
this
-
nfsExports
@Stability(Stable) public CfnVolumePropsMixin.OpenZFSConfigurationProperty.Builder nfsExports(List<? extends Object> nfsExports) Sets the value ofCfnVolumePropsMixin.OpenZFSConfigurationProperty.getNfsExports()- Parameters:
nfsExports- The configuration object for mounting a Network File System (NFS) file system.- Returns:
this
-
options
@Stability(Stable) public CfnVolumePropsMixin.OpenZFSConfigurationProperty.Builder options(List<String> options) Sets the value ofCfnVolumePropsMixin.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 CfnVolumePropsMixin.OpenZFSConfigurationProperty.Builder originSnapshot(IResolvable originSnapshot) Sets the value ofCfnVolumePropsMixin.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 CfnVolumePropsMixin.OpenZFSConfigurationProperty.Builder originSnapshot(CfnVolumePropsMixin.OriginSnapshotProperty originSnapshot) Sets the value ofCfnVolumePropsMixin.OpenZFSConfigurationProperty.getOriginSnapshot()- Parameters:
originSnapshot- The configuration object that specifies the snapshot to use as the origin of the data for the volume.- Returns:
this
-
parentVolumeId
@Stability(Stable) public CfnVolumePropsMixin.OpenZFSConfigurationProperty.Builder parentVolumeId(String parentVolumeId) Sets the value ofCfnVolumePropsMixin.OpenZFSConfigurationProperty.getParentVolumeId()- Parameters:
parentVolumeId- The ID of the volume to use as the parent volume of the volume that you are creating.- Returns:
this
-
readOnly
@Stability(Stable) public CfnVolumePropsMixin.OpenZFSConfigurationProperty.Builder readOnly(Boolean readOnly) Sets the value ofCfnVolumePropsMixin.OpenZFSConfigurationProperty.getReadOnly()- Parameters:
readOnly- A Boolean value indicating whether the volume is read-only.- Returns:
this
-
readOnly
@Stability(Stable) public CfnVolumePropsMixin.OpenZFSConfigurationProperty.Builder readOnly(IResolvable readOnly) Sets the value ofCfnVolumePropsMixin.OpenZFSConfigurationProperty.getReadOnly()- Parameters:
readOnly- A Boolean value indicating whether the volume is read-only.- Returns:
this
-
recordSizeKiB
@Stability(Stable) public CfnVolumePropsMixin.OpenZFSConfigurationProperty.Builder recordSizeKiB(Number recordSizeKiB) Sets the value ofCfnVolumePropsMixin.OpenZFSConfigurationProperty.getRecordSizeKiB()- Parameters:
recordSizeKiB- Specifies the suggested block size for a volume in a ZFS dataset, in kibibytes (KiB). For file systems using the Intelligent-Tiering storage class, valid values are 128, 256, 512, 1024, 2048, or 4096 KiB, with a default of 1024 KiB. For all other file systems, valid values are 4, 8, 16, 32, 64, 128, 256, 512, or 1024 KiB, with a default of 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 CfnVolumePropsMixin.OpenZFSConfigurationProperty.Builder storageCapacityQuotaGiB(Number storageCapacityQuotaGiB) - 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 CfnVolumePropsMixin.OpenZFSConfigurationProperty.Builder storageCapacityReservationGiB(Number storageCapacityReservationGiB) Sets the value ofCfnVolumePropsMixin.OpenZFSConfigurationProperty.getStorageCapacityReservationGiB()- Parameters:
storageCapacityReservationGiB- Specifies the amount of storage in gibibytes (GiB) to reserve from the parent volume. SettingStorageCapacityReservationGiBguarantees 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 to0or-1. For more information, see Volume properties in the Amazon FSx for OpenZFS User Guide .- Returns:
this
-
userAndGroupQuotas
@Stability(Stable) public CfnVolumePropsMixin.OpenZFSConfigurationProperty.Builder userAndGroupQuotas(IResolvable userAndGroupQuotas) Sets the value ofCfnVolumePropsMixin.OpenZFSConfigurationProperty.getUserAndGroupQuotas()- Parameters:
userAndGroupQuotas- Configures how much storage users and groups can use on the volume.- Returns:
this
-
userAndGroupQuotas
@Stability(Stable) public CfnVolumePropsMixin.OpenZFSConfigurationProperty.Builder userAndGroupQuotas(List<? extends Object> userAndGroupQuotas) Sets the value ofCfnVolumePropsMixin.OpenZFSConfigurationProperty.getUserAndGroupQuotas()- Parameters:
userAndGroupQuotas- Configures how much storage users and groups can use on the volume.- Returns:
this
-
build
Builds the configured instance.- Specified by:
buildin interfacesoftware.amazon.jsii.Builder<CfnVolumePropsMixin.OpenZFSConfigurationProperty>- Returns:
- a new instance of
CfnVolumePropsMixin.OpenZFSConfigurationProperty - Throws:
NullPointerException- if any required attribute was not provided
-