import { Value } from '../../../cloudformation/Value';
/**
  The configuration for the Amazon FSx for Lustre file system.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-lustreconfiguration.html">the AWS Docs</a>
*/
export interface LustreConfigurationProps {
    /** <p> */
    dataCompressionType?: Value<string>;
    /** <code>DriveCacheType</code>  <a name="cfn-fsx-filesystem-lustreconfiguration-drivecachetype"></a>
  The type of drive cache used by <code>PERSISTENT_1</code> file systems that are provisioned with HDD storage devices. This parameter is required when storage type is HDD. Set this property to <code>READ</code> to improve the performance for frequently accessed files by caching up to 20% of the total storage capacity of the file system.<br />
  This parameter is required when <code>StorageType</code> is set to <code>HDD</code> and <code>DeploymentType</code> is <code>PERSISTENT_1</code>.<br />
  
  Required: Conditional<br />
  
  Allowed values: <code>NONE | READ</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> */
    driveCacheType?: Value<'NONE' | 'READ'>;
    /** <code>ImportPath</code>  <a name="cfn-fsx-filesystem-lustreconfiguration-importpath"></a>
  (Optional) The path to the Amazon S3 bucket (including the optional prefix) that you’re using as the data repository for your Amazon FSx for Lustre file system. The root of your FSx for Lustre file system will be mapped to the root of the Amazon S3 bucket you select. An example is <code>s3://import-bucket/optional-prefix</code>. If you specify a prefix after the Amazon S3 bucket name, only object keys with that prefix are loaded into the file system.<br />
  This parameter is not supported for Lustre file systems with a data repository association.
  
  Required: No<br />
  
  Minimum: <code>3</code><br />
  
  Maximum: <code>4357</code><br />
  
  Pattern: <code>^[^\u0000\u0085\u2028\u2029\r\n]{3,4357}$</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> */
    importPath?: Value<string>;
    /** <code>WeeklyMaintenanceStartTime</code>  <a name="cfn-fsx-filesystem-lustreconfiguration-weeklymaintenancestarttime"></a>
  A recurring weekly time, in the format <code>D:HH:MM</code>.<br />
  <code>D</code> is the day of the week, for which 1 represents Monday and 7 represents Sunday. For further details, see <a href="https://en.wikipedia.org/wiki/ISO_week_date">the ISO-8601 spec as described on Wikipedia</a>.<br />
  <code>HH</code> is the zero-padded hour of the day (0-23), and <code>MM</code> is the zero-padded minute of the hour.<br />
  For example, <code>1:05:00</code> specifies maintenance at 5 AM Monday.<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> */
    weeklyMaintenanceStartTime?: Value<string>;
    /** <p> */
    autoImportPolicy?: Value<string>;
    /** <code>ImportedFileChunkSize</code>  <a name="cfn-fsx-filesystem-lustreconfiguration-importedfilechunksize"></a>
  (Optional) For files imported from a data repository, this value determines the stripe count and maximum amount of data per file (in MiB) stored on a single physical disk. The maximum number of disks that a single file can be striped across is limited by the total number of disks that make up the file system.<br />
  The default chunk size is 1,024 MiB (1 GiB) and can go as high as 512,000 MiB (500 GiB). Amazon S3 objects have a maximum size of 5 TB.<br />
  This parameter is not supported for Lustre file systems with a data repository association.
  
  Required: No<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>512000</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> */
    importedFileChunkSize?: Value<number>;
    /** <code>DeploymentType</code>  <a name="cfn-fsx-filesystem-lustreconfiguration-deploymenttype"></a>
  (Optional) Choose <code>SCRATCH_1</code> and <code>SCRATCH_2</code> deployment types when you need temporary storage and shorter-term processing of data. The <code>SCRATCH_2</code> deployment type provides in-transit encryption of data and higher burst throughput capacity than <code>SCRATCH_1</code>.<br />
  Choose <code>PERSISTENT_1</code> for longer-term storage and for throughput-focused workloads that aren’t latency-sensitive. <code>PERSISTENT_1</code> supports encryption of data in transit, and is available in all AWS Regions in which FSx for Lustre is available.<br />
  Choose <code>PERSISTENT_2</code> for longer-term storage and for latency-sensitive workloads that require the highest levels of IOPS/throughput. <code>PERSISTENT_2</code> supports SSD storage, and offers higher <code>PerUnitStorageThroughput</code> (up to 1000 MB/s/TiB). <code>PERSISTENT_2</code> is available in a limited number of AWS Regions. For more information, and an up-to-date list of AWS Regions in which <code>PERSISTENT_2</code> is available, see <a href="https://docs.aws.amazon.com/fsx/latest/LustreGuide/using-fsx-lustre.html#lustre-deployment-types">File system deployment options for FSx for Lustre</a> in the
  Amazon FSx for Lustre User Guide: br />
  (Default = <code>SCRATCH_1</code>)<br />
  
  Required: No<br />
  
  Allowed values: <code>PERSISTENT_1 | PERSISTENT_2 | SCRATCH_1 | SCRATCH_2</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> */
    deploymentType?: Value<'PERSISTENT_1' | 'PERSISTENT_2' | 'SCRATCH_1' | 'SCRATCH_2'>;
    /** <code>DailyAutomaticBackupStartTime</code>  <a name="cfn-fsx-filesystem-lustreconfiguration-dailyautomaticbackupstarttime"></a>
  A recurring daily time, in the format <code>HH:MM</code>. <code>HH</code> is the zero-padded hour of the day (0-23), and <code>MM</code> is the zero-padded minute of the hour. For example, <code>05:00</code> specifies 5 AM daily.<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> */
    dailyAutomaticBackupStartTime?: Value<string>;
    /** <code>CopyTagsToBackups</code>  <a name="cfn-fsx-filesystem-lustreconfiguration-copytagstobackups"></a>
  A Boolean flag indicating whether tags for the file system should be copied to backups. This value defaults to false. If it’s set to true, all tags for the file system 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 file system, regardless of this value. Only valid for use with <code>PERSISTENT_1</code> deployment types.<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> */
    copyTagsToBackups?: Value<boolean>;
    /** <code>ExportPath</code>  <a name="cfn-fsx-filesystem-lustreconfiguration-exportpath"></a>
  (Optional) Specifies the path in the Amazon S3 bucket where the root of your Amazon FSx file system is exported. The path must use the same Amazon S3 bucket as specified in ImportPath. You can provide an optional prefix to which new and changed data is to be exported from your Amazon FSx for Lustre file system. If an <code>ExportPath</code> value is not provided, Amazon FSx sets a default export path, <code>s3://import-bucket/FSxLustre[creation-timestamp]</code>. The timestamp is in UTC format, for example <code>s3://import-bucket/FSxLustre20181105T222312Z</code>.<br />
  The Amazon S3 export bucket must be the same as the import bucket specified by <code>ImportPath</code>. If you specify only a bucket name, such as <code>s3://import-bucket</code>, you get a 1:1 mapping of file system objects to S3 bucket objects. This mapping means that the input data in S3 is overwritten on export. If you provide a custom prefix in the export path, such as <code>s3://import-bucket/[custom-optional-prefix]</code>, Amazon FSx exports the contents of your file system to that export prefix in the Amazon S3 bucket.<br />
  This parameter is not supported for file systems with a data repository association.
  
  Required: No<br />
  
  Minimum: <code>3</code><br />
  
  Maximum: <code>4357</code><br />
  
  Pattern: <code>^[^\u0000\u0085\u2028\u2029\r\n]{3,4357}$</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> */
    exportPath?: Value<string>;
    /** <p> */
    perUnitStorageThroughput?: Value<number>;
    /** <code>AutomaticBackupRetentionDays</code>  <a name="cfn-fsx-filesystem-lustreconfiguration-automaticbackupretentiondays"></a>
  The number of days to retain automatic backups. Setting this property to <code>0</code> disables automatic backups. You can retain automatic backups for a maximum of 90 days. The default is <code>0</code>.<br />
  
  Required: No<br />
  
  Minimum: <code>0</code><br />
  
  Maximum: <code>90</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> */
    automaticBackupRetentionDays?: Value<number>;
}
