/* * 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; /** *

* Used to specify changes to the OpenZFS configuration for the volume that you are updating. *

* * @see AWS API Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class UpdateOpenZFSVolumeConfiguration implements Serializable, Cloneable, StructuredPojo { /** *

* 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. You can specify a value of -1 to unset a volume's storage capacity * reservation. *

*/ private Integer storageCapacityReservationGiB; /** *

* The maximum amount of storage in gibibytes (GiB) that the volume can use from its parent. You can specify a quota * larger than the storage on the parent volume. You can specify a value of -1 to unset a volume's * storage capacity quota. *

*/ private Integer storageCapacityQuotaGiB; /** *

* Specifies 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. Database workflows * can benefit from a smaller record size, while streaming workflows can benefit from a larger record size. For * additional guidance on when to set a custom record size, see Tips for * maximizing performance 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. *

* */ private String dataCompressionType; /** *

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

*/ private java.util.List nfsExports; /** *

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

*/ private java.util.List userAndGroupQuotas; /** *

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

*/ private Boolean readOnly; /** *

* 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. You can specify a value of -1 to unset a volume's storage capacity * reservation. *

* * @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. You can specify a value of -1 to unset a volume's * storage capacity reservation. */ 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. You can specify a value of -1 to unset a volume's storage capacity * reservation. *

* * @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. You can specify a value of -1 to unset a * volume's storage capacity reservation. */ 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. You can specify a value of -1 to unset a volume's storage capacity * reservation. *

* * @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. You can specify a value of -1 to unset a volume's * storage capacity reservation. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateOpenZFSVolumeConfiguration withStorageCapacityReservationGiB(Integer storageCapacityReservationGiB) { setStorageCapacityReservationGiB(storageCapacityReservationGiB); return this; } /** *

* The maximum amount of storage in gibibytes (GiB) that the volume can use from its parent. You can specify a quota * larger than the storage on the parent volume. You can specify a value of -1 to unset a volume's * storage capacity quota. *

* * @param storageCapacityQuotaGiB * The maximum amount of storage in gibibytes (GiB) that the volume can use from its parent. You can specify * a quota larger than the storage on the parent volume. You can specify a value of -1 to unset * a volume's storage capacity quota. */ public void setStorageCapacityQuotaGiB(Integer storageCapacityQuotaGiB) { this.storageCapacityQuotaGiB = storageCapacityQuotaGiB; } /** *

* The maximum amount of storage in gibibytes (GiB) that the volume can use from its parent. You can specify a quota * larger than the storage on the parent volume. You can specify a value of -1 to unset a volume's * storage capacity quota. *

* * @return The maximum amount of storage in gibibytes (GiB) that the volume can use from its parent. You can specify * a quota larger than the storage on the parent volume. You can specify a value of -1 to unset * a volume's storage capacity quota. */ public Integer getStorageCapacityQuotaGiB() { return this.storageCapacityQuotaGiB; } /** *

* The maximum amount of storage in gibibytes (GiB) that the volume can use from its parent. You can specify a quota * larger than the storage on the parent volume. You can specify a value of -1 to unset a volume's * storage capacity quota. *

* * @param storageCapacityQuotaGiB * The maximum amount of storage in gibibytes (GiB) that the volume can use from its parent. You can specify * a quota larger than the storage on the parent volume. You can specify a value of -1 to unset * a volume's storage capacity quota. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateOpenZFSVolumeConfiguration withStorageCapacityQuotaGiB(Integer storageCapacityQuotaGiB) { setStorageCapacityQuotaGiB(storageCapacityQuotaGiB); return this; } /** *

* Specifies 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. Database workflows * can benefit from a smaller record size, while streaming workflows can benefit from a larger record size. For * additional guidance on when to set a custom record size, see Tips for * maximizing performance in the Amazon FSx for OpenZFS User Guide. *

* * @param recordSizeKiB * Specifies 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. * Database workflows can benefit from a smaller record size, while streaming workflows can benefit from a * larger record size. For additional guidance on when to set a custom record size, see Tips for * maximizing performance in the Amazon FSx for OpenZFS User Guide. */ public void setRecordSizeKiB(Integer recordSizeKiB) { this.recordSizeKiB = recordSizeKiB; } /** *

* Specifies 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. Database workflows * can benefit from a smaller record size, while streaming workflows can benefit from a larger record size. For * additional guidance on when to set a custom record size, see Tips for * maximizing performance in the Amazon FSx for OpenZFS User Guide. *

* * @return Specifies 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. * Database workflows can benefit from a smaller record size, while streaming workflows can benefit from a * larger record size. For additional guidance on when to set a custom record size, see Tips * for maximizing performance in the Amazon FSx for OpenZFS User Guide. */ public Integer getRecordSizeKiB() { return this.recordSizeKiB; } /** *

* Specifies 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. Database workflows * can benefit from a smaller record size, while streaming workflows can benefit from a larger record size. For * additional guidance on when to set a custom record size, see Tips for * maximizing performance in the Amazon FSx for OpenZFS User Guide. *

* * @param recordSizeKiB * Specifies 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. * Database workflows can benefit from a smaller record size, while streaming workflows can benefit from a * larger record size. For additional guidance on when to set a custom record size, see Tips for * maximizing performance in the Amazon FSx for OpenZFS User Guide. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateOpenZFSVolumeConfiguration 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. *

* * * @param dataCompressionType * Specifies the method used to compress the data on the volume. The compression type is NONE by * default.

*