/* * 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; /** *
* The configuration of an Amazon FSx for OpenZFS volume. *
* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class OpenZFSVolumeConfiguration implements Serializable, Cloneable, StructuredPojo { /** ** The ID of the parent volume. *
*/ private String parentVolumeId; /** *
* The path to the volume from the root volume. For example, fsx/parentVolume/volume1
.
*
* 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. *
*/ private Integer storageCapacityReservationGiB; /** ** 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. *
*/ private Integer storageCapacityQuotaGiB; /** ** 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. *
*/ 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. 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.
*
* 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 OpenZFSOriginSnapshotConfiguration 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* Specifies the ID of the snapshot to which the volume was restored. *
*/ private String restoreToSnapshot; /** ** A Boolean value indicating whether snapshots between the current state and the specified snapshot should be * deleted when a volume is restored from snapshot. *
*/ private Boolean deleteIntermediateSnaphots; /** ** A Boolean value indicating whether dependent clone volumes created from intermediate snapshots should be deleted * when a volume is restored from snapshot. *
*/ private Boolean deleteClonedVolumes; /** ** The ID of the parent volume. *
* * @param parentVolumeId * The ID of the parent volume. */ public void setParentVolumeId(String parentVolumeId) { this.parentVolumeId = parentVolumeId; } /** ** The ID of the parent volume. *
* * @return The ID of the parent volume. */ public String getParentVolumeId() { return this.parentVolumeId; } /** ** The ID of the parent volume. *
* * @param parentVolumeId * The ID of the parent volume. * @return Returns a reference to this object so that method calls can be chained together. */ public OpenZFSVolumeConfiguration withParentVolumeId(String parentVolumeId) { setParentVolumeId(parentVolumeId); return this; } /** *
* The path to the volume from the root volume. For example, fsx/parentVolume/volume1
.
*
fsx/parentVolume/volume1
.
*/
public void setVolumePath(String volumePath) {
this.volumePath = volumePath;
}
/**
*
* The path to the volume from the root volume. For example, fsx/parentVolume/volume1
.
*
fsx/parentVolume/volume1
.
*/
public String getVolumePath() {
return this.volumePath;
}
/**
*
* The path to the volume from the root volume. For example, fsx/parentVolume/volume1
.
*
fsx/parentVolume/volume1
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public OpenZFSVolumeConfiguration withVolumePath(String volumePath) {
setVolumePath(volumePath);
return this;
}
/**
* * 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. *
* * @param 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. */ public void setStorageCapacityReservationGiB(Integer storageCapacityReservationGiB) { this.storageCapacityReservationGiB = 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. *
* * @return 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. */ public Integer getStorageCapacityReservationGiB() { return this.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. *
* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public OpenZFSVolumeConfiguration withStorageCapacityReservationGiB(Integer storageCapacityReservationGiB) { setStorageCapacityReservationGiB(storageCapacityReservationGiB); return this; } /** ** 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. *
* * @param 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. */ public void setStorageCapacityQuotaGiB(Integer storageCapacityQuotaGiB) { this.storageCapacityQuotaGiB = 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. *
* * @return 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. */ public Integer getStorageCapacityQuotaGiB() { return this.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. *
* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public OpenZFSVolumeConfiguration withStorageCapacityQuotaGiB(Integer storageCapacityQuotaGiB) { setStorageCapacityQuotaGiB(storageCapacityQuotaGiB); return this; } /** ** 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. *
* * @param 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. */ public void setRecordSizeKiB(Integer recordSizeKiB) { this.recordSizeKiB = 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. *
* * @return 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. */ public Integer getRecordSizeKiB() { return this.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. *
* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public OpenZFSVolumeConfiguration 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. 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.
*
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.
*
* 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.
*
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.
*
* 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.
*
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.
*
* 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.
*
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.
*
* 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 OpenZFSVolumeConfiguration 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(OpenZFSOriginSnapshotConfiguration 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 OpenZFSOriginSnapshotConfiguration 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 OpenZFSVolumeConfiguration withOriginSnapshot(OpenZFSOriginSnapshotConfiguration 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 OpenZFSVolumeConfiguration 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 OpenZFSVolumeConfiguration 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 OpenZFSVolumeConfiguration 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 OpenZFSVolumeConfiguration 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 OpenZFSVolumeConfiguration withUserAndGroupQuotas(java.util.Collection* Specifies the ID of the snapshot to which the volume was restored. *
* * @param restoreToSnapshot * Specifies the ID of the snapshot to which the volume was restored. */ public void setRestoreToSnapshot(String restoreToSnapshot) { this.restoreToSnapshot = restoreToSnapshot; } /** ** Specifies the ID of the snapshot to which the volume was restored. *
* * @return Specifies the ID of the snapshot to which the volume was restored. */ public String getRestoreToSnapshot() { return this.restoreToSnapshot; } /** ** Specifies the ID of the snapshot to which the volume was restored. *
* * @param restoreToSnapshot * Specifies the ID of the snapshot to which the volume was restored. * @return Returns a reference to this object so that method calls can be chained together. */ public OpenZFSVolumeConfiguration withRestoreToSnapshot(String restoreToSnapshot) { setRestoreToSnapshot(restoreToSnapshot); return this; } /** ** A Boolean value indicating whether snapshots between the current state and the specified snapshot should be * deleted when a volume is restored from snapshot. *
* * @param 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. */ public void setDeleteIntermediateSnaphots(Boolean deleteIntermediateSnaphots) { this.deleteIntermediateSnaphots = 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. *
* * @return A Boolean value indicating whether snapshots between the current state and the specified snapshot should * be deleted when a volume is restored from snapshot. */ public Boolean getDeleteIntermediateSnaphots() { return this.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. *
* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public OpenZFSVolumeConfiguration withDeleteIntermediateSnaphots(Boolean deleteIntermediateSnaphots) { setDeleteIntermediateSnaphots(deleteIntermediateSnaphots); return this; } /** ** A Boolean value indicating whether snapshots between the current state and the specified snapshot should be * deleted when a volume is restored from snapshot. *
* * @return A Boolean value indicating whether snapshots between the current state and the specified snapshot should * be deleted when a volume is restored from snapshot. */ public Boolean isDeleteIntermediateSnaphots() { return this.deleteIntermediateSnaphots; } /** ** A Boolean value indicating whether dependent clone volumes created from intermediate snapshots should be deleted * when a volume is restored from snapshot. *
* * @param deleteClonedVolumes * A Boolean value indicating whether dependent clone volumes created from intermediate snapshots should be * deleted when a volume is restored from snapshot. */ public void setDeleteClonedVolumes(Boolean deleteClonedVolumes) { this.deleteClonedVolumes = deleteClonedVolumes; } /** ** A Boolean value indicating whether dependent clone volumes created from intermediate snapshots should be deleted * when a volume is restored from snapshot. *
* * @return A Boolean value indicating whether dependent clone volumes created from intermediate snapshots should be * deleted when a volume is restored from snapshot. */ public Boolean getDeleteClonedVolumes() { return this.deleteClonedVolumes; } /** ** A Boolean value indicating whether dependent clone volumes created from intermediate snapshots should be deleted * when a volume is restored from snapshot. *
* * @param deleteClonedVolumes * A Boolean value indicating whether dependent clone volumes created from intermediate snapshots should be * deleted when a volume is restored from snapshot. * @return Returns a reference to this object so that method calls can be chained together. */ public OpenZFSVolumeConfiguration withDeleteClonedVolumes(Boolean deleteClonedVolumes) { setDeleteClonedVolumes(deleteClonedVolumes); return this; } /** ** A Boolean value indicating whether dependent clone volumes created from intermediate snapshots should be deleted * when a volume is restored from snapshot. *
* * @return A Boolean value indicating whether dependent clone volumes created from intermediate snapshots should be * deleted when a volume is restored from snapshot. */ public Boolean isDeleteClonedVolumes() { return this.deleteClonedVolumes; } /** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getParentVolumeId() != null) sb.append("ParentVolumeId: ").append(getParentVolumeId()).append(","); if (getVolumePath() != null) sb.append("VolumePath: ").append(getVolumePath()).append(","); if (getStorageCapacityReservationGiB() != null) sb.append("StorageCapacityReservationGiB: ").append(getStorageCapacityReservationGiB()).append(","); if (getStorageCapacityQuotaGiB() != null) sb.append("StorageCapacityQuotaGiB: ").append(getStorageCapacityQuotaGiB()).append(","); if (getRecordSizeKiB() != null) sb.append("RecordSizeKiB: ").append(getRecordSizeKiB()).append(","); if (getDataCompressionType() != null) sb.append("DataCompressionType: ").append(getDataCompressionType()).append(","); if (getCopyTagsToSnapshots() != null) sb.append("CopyTagsToSnapshots: ").append(getCopyTagsToSnapshots()).append(","); if (getOriginSnapshot() != null) sb.append("OriginSnapshot: ").append(getOriginSnapshot()).append(","); if (getReadOnly() != null) sb.append("ReadOnly: ").append(getReadOnly()).append(","); if (getNfsExports() != null) sb.append("NfsExports: ").append(getNfsExports()).append(","); if (getUserAndGroupQuotas() != null) sb.append("UserAndGroupQuotas: ").append(getUserAndGroupQuotas()).append(","); if (getRestoreToSnapshot() != null) sb.append("RestoreToSnapshot: ").append(getRestoreToSnapshot()).append(","); if (getDeleteIntermediateSnaphots() != null) sb.append("DeleteIntermediateSnaphots: ").append(getDeleteIntermediateSnaphots()).append(","); if (getDeleteClonedVolumes() != null) sb.append("DeleteClonedVolumes: ").append(getDeleteClonedVolumes()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof OpenZFSVolumeConfiguration == false) return false; OpenZFSVolumeConfiguration other = (OpenZFSVolumeConfiguration) obj; if (other.getParentVolumeId() == null ^ this.getParentVolumeId() == null) return false; if (other.getParentVolumeId() != null && other.getParentVolumeId().equals(this.getParentVolumeId()) == false) return false; if (other.getVolumePath() == null ^ this.getVolumePath() == null) return false; if (other.getVolumePath() != null && other.getVolumePath().equals(this.getVolumePath()) == false) return false; if (other.getStorageCapacityReservationGiB() == null ^ this.getStorageCapacityReservationGiB() == null) return false; if (other.getStorageCapacityReservationGiB() != null && other.getStorageCapacityReservationGiB().equals(this.getStorageCapacityReservationGiB()) == false) return false; if (other.getStorageCapacityQuotaGiB() == null ^ this.getStorageCapacityQuotaGiB() == null) return false; if (other.getStorageCapacityQuotaGiB() != null && other.getStorageCapacityQuotaGiB().equals(this.getStorageCapacityQuotaGiB()) == false) return false; if (other.getRecordSizeKiB() == null ^ this.getRecordSizeKiB() == null) return false; if (other.getRecordSizeKiB() != null && other.getRecordSizeKiB().equals(this.getRecordSizeKiB()) == false) return false; if (other.getDataCompressionType() == null ^ this.getDataCompressionType() == null) return false; if (other.getDataCompressionType() != null && other.getDataCompressionType().equals(this.getDataCompressionType()) == false) return false; if (other.getCopyTagsToSnapshots() == null ^ this.getCopyTagsToSnapshots() == null) return false; if (other.getCopyTagsToSnapshots() != null && other.getCopyTagsToSnapshots().equals(this.getCopyTagsToSnapshots()) == false) return false; if (other.getOriginSnapshot() == null ^ this.getOriginSnapshot() == null) return false; if (other.getOriginSnapshot() != null && other.getOriginSnapshot().equals(this.getOriginSnapshot()) == false) return false; if (other.getReadOnly() == null ^ this.getReadOnly() == null) return false; if (other.getReadOnly() != null && other.getReadOnly().equals(this.getReadOnly()) == false) return false; if (other.getNfsExports() == null ^ this.getNfsExports() == null) return false; if (other.getNfsExports() != null && other.getNfsExports().equals(this.getNfsExports()) == false) return false; if (other.getUserAndGroupQuotas() == null ^ this.getUserAndGroupQuotas() == null) return false; if (other.getUserAndGroupQuotas() != null && other.getUserAndGroupQuotas().equals(this.getUserAndGroupQuotas()) == false) return false; if (other.getRestoreToSnapshot() == null ^ this.getRestoreToSnapshot() == null) return false; if (other.getRestoreToSnapshot() != null && other.getRestoreToSnapshot().equals(this.getRestoreToSnapshot()) == false) return false; if (other.getDeleteIntermediateSnaphots() == null ^ this.getDeleteIntermediateSnaphots() == null) return false; if (other.getDeleteIntermediateSnaphots() != null && other.getDeleteIntermediateSnaphots().equals(this.getDeleteIntermediateSnaphots()) == false) return false; if (other.getDeleteClonedVolumes() == null ^ this.getDeleteClonedVolumes() == null) return false; if (other.getDeleteClonedVolumes() != null && other.getDeleteClonedVolumes().equals(this.getDeleteClonedVolumes()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getParentVolumeId() == null) ? 0 : getParentVolumeId().hashCode()); hashCode = prime * hashCode + ((getVolumePath() == null) ? 0 : getVolumePath().hashCode()); hashCode = prime * hashCode + ((getStorageCapacityReservationGiB() == null) ? 0 : getStorageCapacityReservationGiB().hashCode()); hashCode = prime * hashCode + ((getStorageCapacityQuotaGiB() == null) ? 0 : getStorageCapacityQuotaGiB().hashCode()); hashCode = prime * hashCode + ((getRecordSizeKiB() == null) ? 0 : getRecordSizeKiB().hashCode()); hashCode = prime * hashCode + ((getDataCompressionType() == null) ? 0 : getDataCompressionType().hashCode()); hashCode = prime * hashCode + ((getCopyTagsToSnapshots() == null) ? 0 : getCopyTagsToSnapshots().hashCode()); hashCode = prime * hashCode + ((getOriginSnapshot() == null) ? 0 : getOriginSnapshot().hashCode()); hashCode = prime * hashCode + ((getReadOnly() == null) ? 0 : getReadOnly().hashCode()); hashCode = prime * hashCode + ((getNfsExports() == null) ? 0 : getNfsExports().hashCode()); hashCode = prime * hashCode + ((getUserAndGroupQuotas() == null) ? 0 : getUserAndGroupQuotas().hashCode()); hashCode = prime * hashCode + ((getRestoreToSnapshot() == null) ? 0 : getRestoreToSnapshot().hashCode()); hashCode = prime * hashCode + ((getDeleteIntermediateSnaphots() == null) ? 0 : getDeleteIntermediateSnaphots().hashCode()); hashCode = prime * hashCode + ((getDeleteClonedVolumes() == null) ? 0 : getDeleteClonedVolumes().hashCode()); return hashCode; } @Override public OpenZFSVolumeConfiguration clone() { try { return (OpenZFSVolumeConfiguration) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } @com.amazonaws.annotation.SdkInternalApi @Override public void marshall(ProtocolMarshaller protocolMarshaller) { com.amazonaws.services.fsx.model.transform.OpenZFSVolumeConfigurationMarshaller.getInstance().marshall(this, protocolMarshaller); } }