Interface OpenZFSVolumeConfiguration.Builder

  • Method Details

    • parentVolumeId

      OpenZFSVolumeConfiguration.Builder parentVolumeId(String parentVolumeId)

      The ID of the parent volume.

      Parameters:
      parentVolumeId - The ID of the parent volume.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • volumePath

      The path to the volume from the root volume. For example, fsx/parentVolume/volume1.

      Parameters:
      volumePath - The path to the volume from the root volume. For example, fsx/parentVolume/volume1.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • storageCapacityReservationGiB

      OpenZFSVolumeConfiguration.Builder storageCapacityReservationGiB(Integer 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.

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

      OpenZFSVolumeConfiguration.Builder storageCapacityQuotaGiB(Integer 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.

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

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

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

      OpenZFSVolumeConfiguration.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. 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.

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

      OpenZFSVolumeConfiguration.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. 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.

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

      OpenZFSVolumeConfiguration.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 OpenZFSOriginSnapshotConfiguration.Builder avoiding the need to create one manually via OpenZFSOriginSnapshotConfiguration.builder().

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

      Parameters:
      originSnapshot - a consumer that will call methods on OpenZFSOriginSnapshotConfiguration.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

      An object specifying how much storage users or groups can use on the volume.

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

      OpenZFSVolumeConfiguration.Builder userAndGroupQuotas(OpenZFSUserOrGroupQuota... userAndGroupQuotas)

      An object specifying how much storage users or groups can use on the volume.

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

      An object specifying how much storage users or 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:
    • restoreToSnapshot

      OpenZFSVolumeConfiguration.Builder restoreToSnapshot(String restoreToSnapshot)

      Specifies the ID of the snapshot to which the volume was restored.

      Parameters:
      restoreToSnapshot - Specifies the ID of the snapshot to which the volume was restored.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • deleteIntermediateSnaphots

      OpenZFSVolumeConfiguration.Builder deleteIntermediateSnaphots(Boolean 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.

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

      OpenZFSVolumeConfiguration.Builder deleteClonedVolumes(Boolean deleteClonedVolumes)

      A Boolean value indicating whether dependent clone volumes created from intermediate snapshots should be deleted when a volume is restored from snapshot.

      Parameters:
      deleteClonedVolumes - A Boolean value indicating whether dependent clone volumes created from intermediate snapshots should be deleted when a volume is restored from snapshot.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • deleteIntermediateData

      OpenZFSVolumeConfiguration.Builder deleteIntermediateData(Boolean deleteIntermediateData)

      A Boolean value indicating whether snapshot data that differs between the current state and the specified snapshot should be overwritten when a volume is restored from a snapshot.

      Parameters:
      deleteIntermediateData - A Boolean value indicating whether snapshot data that differs between the current state and the specified snapshot should be overwritten when a volume is restored from a snapshot.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • sourceSnapshotARN

      OpenZFSVolumeConfiguration.Builder sourceSnapshotARN(String sourceSnapshotARN)
      Sets the value of the SourceSnapshotARN property for this object.
      Parameters:
      sourceSnapshotARN - The new value for the SourceSnapshotARN property for this object.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • destinationSnapshot

      OpenZFSVolumeConfiguration.Builder destinationSnapshot(String destinationSnapshot)

      The ID of the snapshot that's being copied or was most recently copied to the destination volume.

      Parameters:
      destinationSnapshot - The ID of the snapshot that's being copied or was most recently copied to the destination volume.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • copyStrategy

      OpenZFSVolumeConfiguration.Builder copyStrategy(String copyStrategy)

      Specifies 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.

        Specify this option to create the volume from a snapshot on another FSx for OpenZFS file system.

      The INCREMENTAL_COPY option is only for updating an existing volume by using a snapshot from another FSx for OpenZFS file system. For more information, see CopySnapshotAndUpdateVolume.

      Parameters:
      copyStrategy - Specifies 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.

        Specify this option to create the volume from a snapshot on another FSx for OpenZFS file system.

      The INCREMENTAL_COPY option is only for updating an existing volume by using a snapshot from another FSx for OpenZFS file system. For more information, see CopySnapshotAndUpdateVolume.

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

      Specifies 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.

        Specify this option to create the volume from a snapshot on another FSx for OpenZFS file system.

      The INCREMENTAL_COPY option is only for updating an existing volume by using a snapshot from another FSx for OpenZFS file system. For more information, see CopySnapshotAndUpdateVolume.

      Parameters:
      copyStrategy - Specifies 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.

        Specify this option to create the volume from a snapshot on another FSx for OpenZFS file system.

      The INCREMENTAL_COPY option is only for updating an existing volume by using a snapshot from another FSx for OpenZFS file system. For more information, see CopySnapshotAndUpdateVolume.

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