/* * 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 root volume. *

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

* Specifies the record size of an OpenZFS root 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 setting 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 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 tags for the volume should be copied to snapshots of the volume. 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. *

*/ private Boolean copyTagsToSnapshots; /** *

* A Boolean value indicating whether the volume is read-only. Setting this value to true can be useful * after you have completed changes to a volume and no longer want changes to occur. *

*/ private Boolean readOnly; /** *

* Specifies the record size of an OpenZFS root 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 setting 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 root 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 setting 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 root 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 setting 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 root 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 setting 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 root 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 setting 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 root 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 setting 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 OpenZFSCreateRootVolumeConfiguration 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.

*