Interface CreateOpenZFSVolumeConfiguration.Builder

All Superinterfaces:
Buildable, CopyableBuilder<CreateOpenZFSVolumeConfiguration.Builder,CreateOpenZFSVolumeConfiguration>, SdkBuilder<CreateOpenZFSVolumeConfiguration.Builder,CreateOpenZFSVolumeConfiguration>, SdkPojo
Enclosing class:
CreateOpenZFSVolumeConfiguration

public static interface CreateOpenZFSVolumeConfiguration.Builder extends SdkPojo, CopyableBuilder<CreateOpenZFSVolumeConfiguration.Builder,CreateOpenZFSVolumeConfiguration>
  • Method Details

    • parentVolumeId

      CreateOpenZFSVolumeConfiguration.Builder parentVolumeId(String parentVolumeId)

      The ID of the volume to use as the parent volume of the volume that you are creating.

      Parameters:
      parentVolumeId - The ID of the volume to use as the parent volume of the volume that you are creating.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • storageCapacityReservationGiB

      CreateOpenZFSVolumeConfiguration.Builder storageCapacityReservationGiB(Integer 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 Volume properties in the Amazon FSx for OpenZFS User Guide.

      Parameters:
      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 Volume properties in the Amazon FSx for OpenZFS User Guide.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • storageCapacityQuotaGiB

      CreateOpenZFSVolumeConfiguration.Builder storageCapacityQuotaGiB(Integer 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 Volume properties in the Amazon FSx for OpenZFS User Guide.

      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 set StorageCapacityReservationGiB. 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:
      Returns a reference to this object so that method calls can be chained together.
    • recordSizeKiB

      CreateOpenZFSVolumeConfiguration.Builder recordSizeKiB(Integer 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.

      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:
      Returns a reference to this object so that method calls can be chained together.
    • dataCompressionType

      CreateOpenZFSVolumeConfiguration.Builder dataCompressionType(String 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 Tips for maximizing performance File system and volume settings in the Amazon FSx for OpenZFS User Guide.

      Parameters:
      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 Tips for maximizing performance File system and volume settings in the Amazon FSx for OpenZFS User Guide.

      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • dataCompressionType

      CreateOpenZFSVolumeConfiguration.Builder dataCompressionType(OpenZFSDataCompressionType 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 Tips for maximizing performance File system and volume settings in the Amazon FSx for OpenZFS User Guide.

      Parameters:
      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 Tips for maximizing performance File system and volume settings in the Amazon FSx for OpenZFS User Guide.

      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • copyTagsToSnapshots

      CreateOpenZFSVolumeConfiguration.Builder copyTagsToSnapshots(Boolean 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.

      Parameters:
      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.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • originSnapshot

      The configuration object that specifies the snapshot to use as the origin of the data for the volume.

      Parameters:
      originSnapshot - The configuration object that specifies the snapshot to use as the origin of the data for the volume.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • originSnapshot

      The configuration object that specifies the snapshot to use as the origin of the data for the volume.

      This is a convenience method that creates an instance of the CreateOpenZFSOriginSnapshotConfiguration.Builder avoiding the need to create one manually via CreateOpenZFSOriginSnapshotConfiguration.builder().

      When the Consumer completes, SdkBuilder.build() is called immediately and its result is passed to originSnapshot(CreateOpenZFSOriginSnapshotConfiguration).

      Parameters:
      originSnapshot - a consumer that will call methods on CreateOpenZFSOriginSnapshotConfiguration.Builder
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • readOnly

      A Boolean value indicating whether the volume is read-only.

      Parameters:
      readOnly - A Boolean value indicating whether the volume is read-only.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • nfsExports

      The configuration object for mounting a Network File System (NFS) file system.

      Parameters:
      nfsExports - The configuration object for mounting a Network File System (NFS) file system.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • nfsExports

      The configuration object for mounting a Network File System (NFS) file system.

      Parameters:
      nfsExports - The configuration object for mounting a Network File System (NFS) file system.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • nfsExports

      The configuration object for mounting a Network File System (NFS) file system.

      This is a convenience method that creates an instance of the OpenZFSNfsExport.Builder avoiding the need to create one manually via OpenZFSNfsExport.builder().

      When the Consumer completes, SdkBuilder.build() is called immediately and its result is passed to nfsExports(List<OpenZFSNfsExport>).

      Parameters:
      nfsExports - a consumer that will call methods on OpenZFSNfsExport.Builder
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • userAndGroupQuotas

      Configures how much storage users and groups can use on the volume.

      Parameters:
      userAndGroupQuotas - Configures how much storage users and groups can use on the volume.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • userAndGroupQuotas

      CreateOpenZFSVolumeConfiguration.Builder userAndGroupQuotas(OpenZFSUserOrGroupQuota... userAndGroupQuotas)

      Configures how much storage users and groups can use on the volume.

      Parameters:
      userAndGroupQuotas - Configures how much storage users and groups can use on the volume.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • userAndGroupQuotas

      Configures how much storage users and groups can use on the volume.

      This is a convenience method that creates an instance of the OpenZFSUserOrGroupQuota.Builder avoiding the need to create one manually via OpenZFSUserOrGroupQuota.builder().

      When the Consumer completes, SdkBuilder.build() is called immediately and its result is passed to userAndGroupQuotas(List<OpenZFSUserOrGroupQuota>).

      Parameters:
      userAndGroupQuotas - a consumer that will call methods on OpenZFSUserOrGroupQuota.Builder
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also: