/* * Copyright 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. */ /* * Do not modify this file. This file is generated from the fsx-2018-03-01.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using System.Net; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.FSx.Model { /// /// The Lustre configuration for the file system being created. /// /// /// /// The following parameters are not supported for file systems with a data repository /// association created with . /// /// /// public partial class CreateFileSystemLustreConfiguration { private AutoImportPolicyType _autoImportPolicy; private int? _automaticBackupRetentionDays; private bool? _copyTagsToBackups; private string _dailyAutomaticBackupStartTime; private DataCompressionType _dataCompressionType; private LustreDeploymentType _deploymentType; private DriveCacheType _driveCacheType; private string _exportPath; private int? _importedFileChunkSize; private string _importPath; private LustreLogCreateConfiguration _logConfiguration; private int? _perUnitStorageThroughput; private LustreRootSquashConfiguration _rootSquashConfiguration; private string _weeklyMaintenanceStartTime; /// /// Gets and sets the property AutoImportPolicy. /// /// (Optional) When you create your file system, your existing S3 objects appear as file /// and directory listings. Use this parameter to choose how Amazon FSx keeps your file /// and directory listings up to date as you add or modify objects in your linked S3 bucket. /// AutoImportPolicy can have the following values: /// /// /// /// For more information, see /// Automatically import updates from your S3 bucket. /// /// /// /// This parameter is not supported for file systems with a data repository association. /// /// /// public AutoImportPolicyType AutoImportPolicy { get { return this._autoImportPolicy; } set { this._autoImportPolicy = value; } } // Check to see if AutoImportPolicy property is set internal bool IsSetAutoImportPolicy() { return this._autoImportPolicy != null; } /// /// Gets and sets the property AutomaticBackupRetentionDays. /// /// The number of days to retain automatic backups. Setting this property to 0 /// disables automatic backups. You can retain automatic backups for a maximum of 90 days. /// The default is 0. /// /// [AWSProperty(Min=0, Max=90)] public int AutomaticBackupRetentionDays { get { return this._automaticBackupRetentionDays.GetValueOrDefault(); } set { this._automaticBackupRetentionDays = value; } } // Check to see if AutomaticBackupRetentionDays property is set internal bool IsSetAutomaticBackupRetentionDays() { return this._automaticBackupRetentionDays.HasValue; } /// /// Gets and sets the property CopyTagsToBackups. /// /// (Optional) Not available for use with file systems that are linked to a data repository. /// A boolean flag indicating whether tags for the file system should be copied to backups. /// The default value is false. If CopyTagsToBackups is set to true, all /// file system tags are copied to all automatic and user-initiated backups when the user /// doesn't specify any backup-specific tags. If CopyTagsToBackups is set /// to true and you specify one or more backup 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. /// /// /// /// (Default = false) /// /// /// /// For more information, see /// Working with backups in the Amazon FSx for Lustre User Guide. /// /// public bool CopyTagsToBackups { get { return this._copyTagsToBackups.GetValueOrDefault(); } set { this._copyTagsToBackups = value; } } // Check to see if CopyTagsToBackups property is set internal bool IsSetCopyTagsToBackups() { return this._copyTagsToBackups.HasValue; } /// /// Gets and sets the property DailyAutomaticBackupStartTime. /// [AWSProperty(Min=5, Max=5)] public string DailyAutomaticBackupStartTime { get { return this._dailyAutomaticBackupStartTime; } set { this._dailyAutomaticBackupStartTime = value; } } // Check to see if DailyAutomaticBackupStartTime property is set internal bool IsSetDailyAutomaticBackupStartTime() { return this._dailyAutomaticBackupStartTime != null; } /// /// Gets and sets the property DataCompressionType. /// /// Sets the data compression configuration for the file system. DataCompressionType /// can have the following values: /// /// /// /// For more information, see Lustre /// data compression in the Amazon FSx for Lustre User Guide. /// /// public DataCompressionType DataCompressionType { get { return this._dataCompressionType; } set { this._dataCompressionType = value; } } // Check to see if DataCompressionType property is set internal bool IsSetDataCompressionType() { return this._dataCompressionType != null; } /// /// Gets and sets the property DeploymentType. /// /// (Optional) Choose SCRATCH_1 and SCRATCH_2 deployment types /// when you need temporary storage and shorter-term processing of data. The SCRATCH_2 /// deployment type provides in-transit encryption of data and higher burst throughput /// capacity than SCRATCH_1. /// /// /// /// Choose PERSISTENT_1 for longer-term storage and for throughput-focused /// workloads that aren’t latency-sensitive. PERSISTENT_1 supports encryption /// of data in transit, and is available in all Amazon Web Services Regions in which FSx /// for Lustre is available. /// /// /// /// Choose PERSISTENT_2 for longer-term storage and for latency-sensitive /// workloads that require the highest levels of IOPS/throughput. PERSISTENT_2 /// supports SSD storage, and offers higher PerUnitStorageThroughput (up /// to 1000 MB/s/TiB). PERSISTENT_2 is available in a limited number of Amazon /// Web Services Regions. For more information, and an up-to-date list of Amazon Web Services /// Regions in which PERSISTENT_2 is available, see File /// system deployment options for FSx for Lustre in the Amazon FSx for Lustre User /// Guide. /// /// /// /// If you choose PERSISTENT_2, and you set FileSystemTypeVersion /// to 2.10, the CreateFileSystem operation fails. /// /// /// /// Encryption of data in transit is automatically turned on when you access SCRATCH_2, /// PERSISTENT_1 and PERSISTENT_2 file systems from Amazon EC2 /// instances that support automatic encryption in the Amazon Web Services Regions where /// they are available. For more information about encryption in transit for FSx for Lustre /// file systems, see Encrypting /// data in transit in the Amazon FSx for Lustre User Guide. /// /// /// /// (Default = SCRATCH_1) /// /// public LustreDeploymentType DeploymentType { get { return this._deploymentType; } set { this._deploymentType = value; } } // Check to see if DeploymentType property is set internal bool IsSetDeploymentType() { return this._deploymentType != null; } /// /// Gets and sets the property DriveCacheType. /// /// The type of drive cache used by PERSISTENT_1 file systems that are provisioned /// with HDD storage devices. This parameter is required when storage type is HDD. Set /// this property to READ to improve the performance for frequently accessed /// files by caching up to 20% of the total storage capacity of the file system. /// /// /// /// This parameter is required when StorageType is set to HDD. /// /// public DriveCacheType DriveCacheType { get { return this._driveCacheType; } set { this._driveCacheType = value; } } // Check to see if DriveCacheType property is set internal bool IsSetDriveCacheType() { return this._driveCacheType != null; } /// /// Gets and sets the property ExportPath. /// /// (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 ExportPath /// value is not provided, Amazon FSx sets a default export path, s3://import-bucket/FSxLustre[creation-timestamp]. /// The timestamp is in UTC format, for example s3://import-bucket/FSxLustre20181105T222312Z. /// /// /// /// The Amazon S3 export bucket must be the same as the import bucket specified by ImportPath. /// If you specify only a bucket name, such as s3://import-bucket, 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 s3://import-bucket/[custom-optional-prefix], Amazon /// FSx exports the contents of your file system to that export prefix in the Amazon S3 /// bucket. /// /// /// /// This parameter is not supported for file systems with a data repository association. /// /// /// [AWSProperty(Min=3, Max=4357)] public string ExportPath { get { return this._exportPath; } set { this._exportPath = value; } } // Check to see if ExportPath property is set internal bool IsSetExportPath() { return this._exportPath != null; } /// /// Gets and sets the property ImportedFileChunkSize. /// /// (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. /// /// /// /// 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. /// /// /// /// This parameter is not supported for file systems with a data repository association. /// /// /// [AWSProperty(Min=1, Max=512000)] public int ImportedFileChunkSize { get { return this._importedFileChunkSize.GetValueOrDefault(); } set { this._importedFileChunkSize = value; } } // Check to see if ImportedFileChunkSize property is set internal bool IsSetImportedFileChunkSize() { return this._importedFileChunkSize.HasValue; } /// /// Gets and sets the property ImportPath. /// /// (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 s3://import-bucket/optional-prefix. If you /// specify a prefix after the Amazon S3 bucket name, only object keys with that prefix /// are loaded into the file system. /// /// /// /// This parameter is not supported for file systems with a data repository association. /// /// /// [AWSProperty(Min=3, Max=4357)] public string ImportPath { get { return this._importPath; } set { this._importPath = value; } } // Check to see if ImportPath property is set internal bool IsSetImportPath() { return this._importPath != null; } /// /// Gets and sets the property LogConfiguration. /// /// The Lustre logging configuration used when creating an Amazon FSx for Lustre file /// system. When logging is enabled, Lustre logs error and warning events for data repositories /// associated with your file system to Amazon CloudWatch Logs. /// /// public LustreLogCreateConfiguration LogConfiguration { get { return this._logConfiguration; } set { this._logConfiguration = value; } } // Check to see if LogConfiguration property is set internal bool IsSetLogConfiguration() { return this._logConfiguration != null; } /// /// Gets and sets the property PerUnitStorageThroughput. /// /// Required with PERSISTENT_1 and PERSISTENT_2 deployment types, /// provisions the amount of read and write throughput for each 1 tebibyte (TiB) of file /// system storage capacity, in MB/s/TiB. File system throughput capacity is calculated /// by multiplying file system storage capacity (TiB) by the PerUnitStorageThroughput /// (MB/s/TiB). For a 2.4-TiB file system, provisioning 50 MB/s/TiB of PerUnitStorageThroughput /// yields 120 MB/s of file system throughput. You pay for the amount of throughput that /// you provision. /// /// /// /// Valid values: /// /// /// [AWSProperty(Min=12, Max=1000)] public int PerUnitStorageThroughput { get { return this._perUnitStorageThroughput.GetValueOrDefault(); } set { this._perUnitStorageThroughput = value; } } // Check to see if PerUnitStorageThroughput property is set internal bool IsSetPerUnitStorageThroughput() { return this._perUnitStorageThroughput.HasValue; } /// /// Gets and sets the property RootSquashConfiguration. /// /// The Lustre root squash configuration used when creating an Amazon FSx for Lustre file /// system. When enabled, root squash restricts root-level access from clients that try /// to access your file system as a root user. /// /// public LustreRootSquashConfiguration RootSquashConfiguration { get { return this._rootSquashConfiguration; } set { this._rootSquashConfiguration = value; } } // Check to see if RootSquashConfiguration property is set internal bool IsSetRootSquashConfiguration() { return this._rootSquashConfiguration != null; } /// /// Gets and sets the property WeeklyMaintenanceStartTime. /// /// (Optional) The preferred start time to perform weekly maintenance, formatted d:HH:MM /// in the UTC time zone, where d is the weekday number, from 1 through 7, beginning with /// Monday and ending with Sunday. /// /// [AWSProperty(Min=7, Max=7)] public string WeeklyMaintenanceStartTime { get { return this._weeklyMaintenanceStartTime; } set { this._weeklyMaintenanceStartTime = value; } } // Check to see if WeeklyMaintenanceStartTime property is set internal bool IsSetWeeklyMaintenanceStartTime() { return this._weeklyMaintenanceStartTime != null; } } }