/* * 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 configuration for the Amazon FSx for Lustre file system. /// public partial class LustreFileSystemConfiguration { private int? _automaticBackupRetentionDays; private bool? _copyTagsToBackups; private string _dailyAutomaticBackupStartTime; private DataCompressionType _dataCompressionType; private DataRepositoryConfiguration _dataRepositoryConfiguration; private LustreDeploymentType _deploymentType; private DriveCacheType _driveCacheType; private LustreLogConfiguration _logConfiguration; private string _mountName; private int? _perUnitStorageThroughput; private LustreRootSquashConfiguration _rootSquashConfiguration; private string _weeklyMaintenanceStartTime; /// /// Gets and sets the property AutomaticBackupRetentionDays. /// [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. /// /// A boolean flag indicating whether tags on the file system are copied to backups. If /// it's set to true, all tags on the file system are copied to all automatic backups /// and any user-initiated backups where the user doesn't specify any 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. (Default = false) /// /// 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. /// /// The data compression configuration for the file system. DataCompressionType /// can have the following values: /// /// /// /// For more information, see Lustre /// data compression. /// /// 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 DataRepositoryConfiguration. /// public DataRepositoryConfiguration DataRepositoryConfiguration { get { return this._dataRepositoryConfiguration; } set { this._dataRepositoryConfiguration = value; } } // Check to see if DataRepositoryConfiguration property is set internal bool IsSetDataRepositoryConfiguration() { return this._dataRepositoryConfiguration != null; } /// /// Gets and sets the property DeploymentType. /// /// The deployment type of the FSx for Lustre file system. Scratch deployment type /// is designed for temporary storage and shorter-term processing of data. /// /// /// /// SCRATCH_1 and SCRATCH_2 deployment types are best suited /// for 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. /// /// /// /// The PERSISTENT_1 and PERSISTENT_2 deployment type is used /// for longer-term storage and workloads and encryption of data in transit. PERSISTENT_2 /// is built on Lustre v2.12 and offers higher PerUnitStorageThroughput (up /// to 1000 MB/s/TiB) along with a lower minimum storage capacity requirement (600 GiB). /// To learn more about FSx for Lustre deployment types, see /// FSx for Lustre deployment options. /// /// /// /// The default is 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 StorageType /// is HDD. When set to READ the file system has an SSD storage cache that /// is sized to 20% of the file system's storage capacity. This improves the performance /// for frequently accessed files by caching up to 20% of the total storage capacity. /// /// /// /// 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 LogConfiguration. /// /// The Lustre logging configuration. Lustre logging writes the enabled log events for /// your file system to Amazon CloudWatch Logs. /// /// public LustreLogConfiguration 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 MountName. /// /// You use the MountName value when mounting the file system. /// /// /// /// For the SCRATCH_1 deployment type, this value is always "fsx". /// For SCRATCH_2, PERSISTENT_1, and PERSISTENT_2 /// deployment types, this value is a string that is unique within an Amazon Web Services /// Region. /// /// [AWSProperty(Min=1, Max=8)] public string MountName { get { return this._mountName; } set { this._mountName = value; } } // Check to see if MountName property is set internal bool IsSetMountName() { return this._mountName != null; } /// /// Gets and sets the property PerUnitStorageThroughput. /// /// Per unit storage throughput represents the megabytes per second of read or write throughput /// per 1 tebibyte of storage provisioned. File system throughput capacity is equal to /// Storage capacity (TiB) * PerUnitStorageThroughput (MB/s/TiB). This option is only /// valid for PERSISTENT_1 and PERSISTENT_2 deployment types. /// /// /// /// /// 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 for 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. /// /// The preferred start time to perform weekly maintenance, formatted d:HH:MM in the UTC /// time zone. Here, 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; } } }