import { Value } from '../../../cloudformation/Value';
import { TieringPolicyProps } from './TieringPolicyProps';
import { SnaplockConfigurationProps } from './SnaplockConfigurationProps';
/**
  Specifies the configuration of the ONTAP volume that you are creating.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-volume-ontapconfiguration.html">the AWS Docs</a>
*/
export interface OntapConfigurationProps {
    /** <code>JunctionPath</code>  <a name="cfn-fsx-volume-ontapconfiguration-junctionpath"></a>
  Specifies the location in the SVM’s namespace where the volume is mounted. This parameter is required. The <code>JunctionPath</code> must have a leading forward slash, such as <code>/vol3</code>.<br />
  
  Required: No<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>255</code><br />
  
  Pattern: <code>^[^\u0000\u0085\u2028\u2029\r\n]{1,255}$</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    junctionPath?: Value<string>;
    /** <code>StorageVirtualMachineId</code>  <a name="cfn-fsx-volume-ontapconfiguration-storagevirtualmachineid"></a>
  Specifies the ONTAP SVM in which to create the volume.<br />
  
  Required: Yes<br />
  
  Minimum: <code>21</code><br />
  
  Maximum: <code>21</code><br />
  
  Pattern: <code>^(svm-[0-9a-f]{17,})$</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> */
    storageVirtualMachineId: Value<string>;
    /** <p> */
    snapshotPolicy?: Value<string>;
    /** <p> */
    tieringPolicy?: TieringPolicyProps;
    /** <code>StorageEfficiencyEnabled</code>  <a name="cfn-fsx-volume-ontapconfiguration-storageefficiencyenabled"></a>
  Set to true to enable deduplication, compression, and compaction storage efficiency features on the volume, or set to false to disable them. This parameter is required.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    storageEfficiencyEnabled?: Value<string>;
    /** <code>SizeInMegabytes</code>  <a name="cfn-fsx-volume-ontapconfiguration-sizeinmegabytes"></a>
  Specifies the size of the volume, in megabytes (MB), that you are creating.<br />
  
  Required: Yes<br />
  
  Minimum: <code>0</code><br />
  
  Maximum: <code>314572800</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    sizeInMegabytes: Value<string>;
    /** <code>CopyTagsToBackups</code>  <a name="cfn-fsx-volume-ontapconfiguration-copytagstobackups"></a>
  A boolean flag indicating whether tags for the volume should be copied to backups. This value defaults to false. If it’s set to true, all tags for the volume are copied to all automatic and user-initiated backups 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 backups. If you specify one or more tags when creating a user-initiated backup, 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-no-interrupt">No interruption</a> */
    copyTagsToBackups?: Value<string>;
    /** <code>SecurityStyle</code>  <a name="cfn-fsx-volume-ontapconfiguration-securitystyle"></a>
  Specifies the security style for the volume. If a volume’s security style is not specified, it is automatically set to the root volume’s security style. The security style determines the type of permissions that FSx for ONTAP uses to control data access. For more information, see <a href="https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/managing-volumes.html#volume-security-style">Volume security style</a> in the
  Amazon FSx for NetApp ONTAP User Guide: Specify one of the following values: */
    securityStyle?: Value<string>;
    /** <code>SnaplockConfiguration</code>  <a name="cfn-fsx-volume-ontapconfiguration-snaplockconfiguration"></a>
  The SnapLock configuration object for an FSx for ONTAP SnapLock volume.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    snaplockConfiguration?: SnaplockConfigurationProps;
    /** <p> */
    ontapVolumeType?: Value<string>;
}
