/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.fsx.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *
* Specifies the configuration of the Amazon FSx for OpenZFS volume that you are creating. *
* * @see AWS API Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class CreateOpenZFSVolumeConfiguration implements Serializable, Cloneable, StructuredPojo { /** ** The ID of the volume to use as the parent volume of the volume that you are creating. *
*/ private String parentVolumeId; /** *
* 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.
*
* 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. *
*/ private Integer storageCapacityQuotaGiB; /** ** 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. *
*/ private Integer recordSizeKiB; /** *
* 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. *
*/ private String dataCompressionType; /** *
* 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.
*
* The configuration object that specifies the snapshot to use as the origin of the data for the volume. *
*/ private CreateOpenZFSOriginSnapshotConfiguration originSnapshot; /** ** A Boolean value indicating whether the volume is read-only. *
*/ private Boolean readOnly; /** ** The configuration object for mounting a Network File System (NFS) file system. *
*/ private java.util.List* An object specifying how much storage users or groups can use on the volume. *
*/ private java.util.List* The ID of the volume to use as the parent volume of the volume that you are creating. *
* * @param parentVolumeId * The ID of the volume to use as the parent volume of the volume that you are creating. */ public void setParentVolumeId(String parentVolumeId) { this.parentVolumeId = parentVolumeId; } /** ** The ID of the volume to use as the parent volume of the volume that you are creating. *
* * @return The ID of the volume to use as the parent volume of the volume that you are creating. */ public String getParentVolumeId() { return this.parentVolumeId; } /** ** The ID of the volume to use as the parent volume of the volume that you are creating. *
* * @param parentVolumeId * The ID of the volume to use as the parent volume of the volume that you are creating. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateOpenZFSVolumeConfiguration withParentVolumeId(String parentVolumeId) { setParentVolumeId(parentVolumeId); return this; } /** *
* 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.
*
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.
*/
public void setStorageCapacityReservationGiB(Integer storageCapacityReservationGiB) {
this.storageCapacityReservationGiB = 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.
*
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.
*/
public Integer getStorageCapacityReservationGiB() {
return this.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.
*
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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateOpenZFSVolumeConfiguration withStorageCapacityReservationGiB(Integer storageCapacityReservationGiB) {
setStorageCapacityReservationGiB(storageCapacityReservationGiB);
return this;
}
/**
*
* 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. *
* * @param 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. */ public void setStorageCapacityQuotaGiB(Integer storageCapacityQuotaGiB) { this.storageCapacityQuotaGiB = 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. *
* * @return 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. */ public Integer getStorageCapacityQuotaGiB() { return this.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. *
* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateOpenZFSVolumeConfiguration withStorageCapacityQuotaGiB(Integer storageCapacityQuotaGiB) { setStorageCapacityQuotaGiB(storageCapacityQuotaGiB); return this; } /** *
* 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. *
* * @param 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. */ public void setRecordSizeKiB(Integer recordSizeKiB) { this.recordSizeKiB = 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. *
* * @return 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. */ public Integer getRecordSizeKiB() { return this.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. *
* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateOpenZFSVolumeConfiguration withRecordSizeKiB(Integer recordSizeKiB) { setRecordSizeKiB(recordSizeKiB); return this; } /** *
* 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. *
* * @param 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.
* 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. * @see OpenZFSDataCompressionType */ public void setDataCompressionType(String dataCompressionType) { this.dataCompressionType = 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. *
* * @return 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.
* 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. * @see OpenZFSDataCompressionType */ public String getDataCompressionType() { return this.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. *
* * @param 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.
* 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. * @return Returns a reference to this object so that method calls can be chained together. * @see OpenZFSDataCompressionType */ public CreateOpenZFSVolumeConfiguration withDataCompressionType(String dataCompressionType) { setDataCompressionType(dataCompressionType); return this; } /** *
* 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. *
* * @param 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.
* 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. * @return Returns a reference to this object so that method calls can be chained together. * @see OpenZFSDataCompressionType */ public CreateOpenZFSVolumeConfiguration withDataCompressionType(OpenZFSDataCompressionType dataCompressionType) { this.dataCompressionType = dataCompressionType.toString(); return this; } /** *
* 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.
*
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.
*/
public void setCopyTagsToSnapshots(Boolean copyTagsToSnapshots) {
this.copyTagsToSnapshots = 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.
*
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.
*/
public Boolean getCopyTagsToSnapshots() {
return this.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.
*
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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateOpenZFSVolumeConfiguration withCopyTagsToSnapshots(Boolean copyTagsToSnapshots) {
setCopyTagsToSnapshots(copyTagsToSnapshots);
return this;
}
/**
*
* 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.
*
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.
*/
public Boolean isCopyTagsToSnapshots() {
return this.copyTagsToSnapshots;
}
/**
* * The configuration object that specifies the snapshot to use as the origin of the data for the volume. *
* * @param originSnapshot * The configuration object that specifies the snapshot to use as the origin of the data for the volume. */ public void setOriginSnapshot(CreateOpenZFSOriginSnapshotConfiguration originSnapshot) { this.originSnapshot = originSnapshot; } /** ** The configuration object that specifies the snapshot to use as the origin of the data for the volume. *
* * @return The configuration object that specifies the snapshot to use as the origin of the data for the volume. */ public CreateOpenZFSOriginSnapshotConfiguration getOriginSnapshot() { return this.originSnapshot; } /** ** The configuration object that specifies the snapshot to use as the origin of the data for the volume. *
* * @param originSnapshot * The configuration object that specifies the snapshot to use as the origin of the data for the volume. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateOpenZFSVolumeConfiguration withOriginSnapshot(CreateOpenZFSOriginSnapshotConfiguration originSnapshot) { setOriginSnapshot(originSnapshot); return this; } /** ** A Boolean value indicating whether the volume is read-only. *
* * @param readOnly * A Boolean value indicating whether the volume is read-only. */ public void setReadOnly(Boolean readOnly) { this.readOnly = readOnly; } /** ** A Boolean value indicating whether the volume is read-only. *
* * @return A Boolean value indicating whether the volume is read-only. */ public Boolean getReadOnly() { return this.readOnly; } /** ** A Boolean value indicating whether the volume is read-only. *
* * @param readOnly * A Boolean value indicating whether the volume is read-only. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateOpenZFSVolumeConfiguration withReadOnly(Boolean readOnly) { setReadOnly(readOnly); return this; } /** ** A Boolean value indicating whether the volume is read-only. *
* * @return A Boolean value indicating whether the volume is read-only. */ public Boolean isReadOnly() { return this.readOnly; } /** ** The configuration object for mounting a Network File System (NFS) file system. *
* * @return The configuration object for mounting a Network File System (NFS) file system. */ public java.util.List* The configuration object for mounting a Network File System (NFS) file system. *
* * @param nfsExports * The configuration object for mounting a Network File System (NFS) file system. */ public void setNfsExports(java.util.Collection* The configuration object for mounting a Network File System (NFS) file system. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setNfsExports(java.util.Collection)} or {@link #withNfsExports(java.util.Collection)} if you want to * override the existing values. *
* * @param nfsExports * The configuration object for mounting a Network File System (NFS) file system. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateOpenZFSVolumeConfiguration withNfsExports(OpenZFSNfsExport... nfsExports) { if (this.nfsExports == null) { setNfsExports(new java.util.ArrayList* The configuration object for mounting a Network File System (NFS) file system. *
* * @param nfsExports * The configuration object for mounting a Network File System (NFS) file system. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateOpenZFSVolumeConfiguration withNfsExports(java.util.Collection* An object specifying how much storage users or groups can use on the volume. *
* * @return An object specifying how much storage users or groups can use on the volume. */ public java.util.List* An object specifying how much storage users or groups can use on the volume. *
* * @param userAndGroupQuotas * An object specifying how much storage users or groups can use on the volume. */ public void setUserAndGroupQuotas(java.util.Collection* An object specifying how much storage users or groups can use on the volume. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setUserAndGroupQuotas(java.util.Collection)} or {@link #withUserAndGroupQuotas(java.util.Collection)} if * you want to override the existing values. *
* * @param userAndGroupQuotas * An object specifying how much storage users or groups can use on the volume. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateOpenZFSVolumeConfiguration withUserAndGroupQuotas(OpenZFSUserOrGroupQuota... userAndGroupQuotas) { if (this.userAndGroupQuotas == null) { setUserAndGroupQuotas(new java.util.ArrayList* An object specifying how much storage users or groups can use on the volume. *
* * @param userAndGroupQuotas * An object specifying how much storage users or groups can use on the volume. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateOpenZFSVolumeConfiguration withUserAndGroupQuotas(java.util.Collection