import { Value } from '../../../cloudformation/Value';
import { NfsExportsProps } from './NfsExportsProps';
import { UserAndGroupQuotasProps } from './UserAndGroupQuotasProps';
/**
  The configuration of an Amazon FSx for OpenZFS root volume.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-openzfsconfiguration-rootvolumeconfiguration.html">the AWS Docs</a>
*/
export interface RootVolumeConfigurationProps {
    /** <code>ReadOnly</code>  <a name="cfn-fsx-filesystem-openzfsconfiguration-rootvolumeconfiguration-readonly"></a>
  A Boolean value indicating whether the volume is read-only. Setting this value to <code>true</code> can be useful after you have completed changes to a volume and no longer want changes to occur.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    readOnly?: Value<boolean>;
    /** <p> */
    dataCompressionType?: Value<string>;
    /** <code>NfsExports</code>  <a name="cfn-fsx-filesystem-openzfsconfiguration-rootvolumeconfiguration-nfsexports"></a>
  The configuration object for mounting a file system.<br />
  
  Required: No<br />
  
  Maximum: <code>1</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    nfsExports?: NfsExportsProps[];
    /** <code>CopyTagsToSnapshots</code>  <a name="cfn-fsx-filesystem-openzfsconfiguration-rootvolumeconfiguration-copytagstosnapshots"></a>
  A Boolean value indicating whether tags for the volume should be copied to snapshots of the volume. This value defaults to <code>false</code>. If it’s set to <code>true</code>, all tags for the volume are copied to snapshots where the user doesn’t specify tags. If this value is <code>true</code> 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.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    copyTagsToSnapshots?: Value<boolean>;
    /** <code>RecordSizeKiB</code>  <a name="cfn-fsx-filesystem-openzfsconfiguration-rootvolumeconfiguration-recordsizekib"></a>
  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 <a href="https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/performance.html#performance-tips-zfs"> Tips for maximizing performance</a> in the
  Amazon FSx for OpenZFS User Guide: br />
  
  Required: No<br />
  
  Minimum: <code>4</code><br />
  
  Maximum: <code>1024</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    recordSizeKiB?: Value<number>;
    /** <code>UserAndGroupQuotas</code>  <a name="cfn-fsx-filesystem-openzfsconfiguration-rootvolumeconfiguration-userandgroupquotas"></a>
  An object specifying how much storage users or groups can use on the volume.<br />
  
  Required: No<br />
  
  Maximum: <code>500</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    userAndGroupQuotas?: UserAndGroupQuotasProps[];
}
