/* * 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 { /// /// Container for the parameters to the CreateFileSystem operation. /// Creates a new, empty Amazon FSx file system. You can create the following supported /// Amazon FSx file systems using the CreateFileSystem API operation: /// /// /// /// This operation requires a client request token in the request that Amazon FSx uses /// to ensure idempotent creation. This means that calling the operation multiple times /// with the same client request token has no effect. By using the idempotent operation, /// you can retry a CreateFileSystem operation without the risk of creating /// an extra file system. This approach can be useful when an initial call fails in a /// way that makes it unclear whether a file system was created. Examples are if a transport /// level timeout occurred, or your connection was reset. If you use the same client request /// token and the initial call created a file system, the client receives success as long /// as the parameters are the same. /// /// /// /// If a file system with the specified client request token exists and the parameters /// match, CreateFileSystem returns the description of the existing file /// system. If a file system with the specified client request token exists and the parameters /// don't match, this call returns IncompatibleParameterError. If a file /// system with the specified client request token doesn't exist, CreateFileSystem /// does the following: /// /// /// /// The CreateFileSystem call returns while the file system's lifecycle state /// is still CREATING. You can check the file-system creation status by calling /// the DescribeFileSystems /// operation, which returns the file system state along with other information. /// /// /// public partial class CreateFileSystemRequest : AmazonFSxRequest { private string _clientRequestToken; private FileSystemType _fileSystemType; private string _fileSystemTypeVersion; private string _kmsKeyId; private CreateFileSystemLustreConfiguration _lustreConfiguration; private CreateFileSystemOntapConfiguration _ontapConfiguration; private CreateFileSystemOpenZFSConfiguration _openZFSConfiguration; private List _securityGroupIds = new List(); private int? _storageCapacity; private StorageType _storageType; private List _subnetIds = new List(); private List _tags = new List(); private CreateFileSystemWindowsConfiguration _windowsConfiguration; /// /// Gets and sets the property ClientRequestToken. /// /// A string of up to 63 ASCII characters that Amazon FSx uses to ensure idempotent creation. /// This string is automatically filled on your behalf when you use the Command Line Interface /// (CLI) or an Amazon Web Services SDK. /// /// [AWSProperty(Min=1, Max=63)] public string ClientRequestToken { get { return this._clientRequestToken; } set { this._clientRequestToken = value; } } // Check to see if ClientRequestToken property is set internal bool IsSetClientRequestToken() { return this._clientRequestToken != null; } /// /// Gets and sets the property FileSystemType. /// /// The type of Amazon FSx file system to create. Valid values are WINDOWS, /// LUSTRE, ONTAP, and OPENZFS. /// /// [AWSProperty(Required=true)] public FileSystemType FileSystemType { get { return this._fileSystemType; } set { this._fileSystemType = value; } } // Check to see if FileSystemType property is set internal bool IsSetFileSystemType() { return this._fileSystemType != null; } /// /// Gets and sets the property FileSystemTypeVersion. /// /// (Optional) For FSx for Lustre file systems, sets the Lustre version for the file system /// that you're creating. Valid values are 2.10 and 2.12: /// ///
  • /// /// 2.10 is supported by the Scratch and Persistent_1 Lustre deployment types. /// ///
  • /// /// 2.12 is supported by all Lustre deployment types. 2.12 is required when /// setting FSx for Lustre DeploymentType to PERSISTENT_2. /// ///
/// /// Default value = 2.10, except when DeploymentType is set /// to PERSISTENT_2, then the default is 2.12. /// /// /// /// If you set FileSystemTypeVersion to 2.10 for a PERSISTENT_2 /// Lustre deployment type, the CreateFileSystem operation fails. /// /// ///
[AWSProperty(Min=1, Max=20)] public string FileSystemTypeVersion { get { return this._fileSystemTypeVersion; } set { this._fileSystemTypeVersion = value; } } // Check to see if FileSystemTypeVersion property is set internal bool IsSetFileSystemTypeVersion() { return this._fileSystemTypeVersion != null; } /// /// Gets and sets the property KmsKeyId. /// [AWSProperty(Min=1, Max=2048)] public string KmsKeyId { get { return this._kmsKeyId; } set { this._kmsKeyId = value; } } // Check to see if KmsKeyId property is set internal bool IsSetKmsKeyId() { return this._kmsKeyId != null; } /// /// Gets and sets the property LustreConfiguration. /// public CreateFileSystemLustreConfiguration LustreConfiguration { get { return this._lustreConfiguration; } set { this._lustreConfiguration = value; } } // Check to see if LustreConfiguration property is set internal bool IsSetLustreConfiguration() { return this._lustreConfiguration != null; } /// /// Gets and sets the property OntapConfiguration. /// public CreateFileSystemOntapConfiguration OntapConfiguration { get { return this._ontapConfiguration; } set { this._ontapConfiguration = value; } } // Check to see if OntapConfiguration property is set internal bool IsSetOntapConfiguration() { return this._ontapConfiguration != null; } /// /// Gets and sets the property OpenZFSConfiguration. /// /// The OpenZFS configuration for the file system that's being created. /// /// public CreateFileSystemOpenZFSConfiguration OpenZFSConfiguration { get { return this._openZFSConfiguration; } set { this._openZFSConfiguration = value; } } // Check to see if OpenZFSConfiguration property is set internal bool IsSetOpenZFSConfiguration() { return this._openZFSConfiguration != null; } /// /// Gets and sets the property SecurityGroupIds. /// /// A list of IDs specifying the security groups to apply to all network interfaces created /// for file system access. This list isn't returned in later requests to describe the /// file system. /// /// [AWSProperty(Max=50)] public List SecurityGroupIds { get { return this._securityGroupIds; } set { this._securityGroupIds = value; } } // Check to see if SecurityGroupIds property is set internal bool IsSetSecurityGroupIds() { return this._securityGroupIds != null && this._securityGroupIds.Count > 0; } /// /// Gets and sets the property StorageCapacity. /// /// Sets the storage capacity of the file system that you're creating, in gibibytes (GiB). /// /// /// /// FSx for Lustre file systems - The amount of storage capacity that you can /// configure depends on the value that you set for StorageType and the Lustre /// DeploymentType, as follows: /// ///
  • /// /// For SCRATCH_2, PERSISTENT_2 and PERSISTENT_1 /// deployment types using SSD storage type, the valid values are 1200 GiB, 2400 GiB, /// and increments of 2400 GiB. /// ///
  • /// /// For PERSISTENT_1 HDD file systems, valid values are increments of 6000 /// GiB for 12 MB/s/TiB file systems and increments of 1800 GiB for 40 MB/s/TiB file systems. /// ///
  • /// /// For SCRATCH_1 deployment type, valid values are 1200 GiB, 2400 GiB, and /// increments of 3600 GiB. /// ///
/// /// FSx for ONTAP file systems - The amount of storage capacity that you can configure /// is from 1024 GiB up to 196,608 GiB (192 TiB). /// /// /// /// FSx for OpenZFS file systems - The amount of storage capacity that you can /// configure is from 64 GiB up to 524,288 GiB (512 TiB). /// /// /// /// FSx for Windows File Server file systems - The amount of storage capacity /// that you can configure depends on the value that you set for StorageType /// as follows: /// ///
  • /// /// For SSD storage, valid values are 32 GiB-65,536 GiB (64 TiB). /// ///
  • /// /// For HDD storage, valid values are 2000 GiB-65,536 GiB (64 TiB). /// ///
///
[AWSProperty(Required=true, Min=0, Max=2147483647)] public int StorageCapacity { get { return this._storageCapacity.GetValueOrDefault(); } set { this._storageCapacity = value; } } // Check to see if StorageCapacity property is set internal bool IsSetStorageCapacity() { return this._storageCapacity.HasValue; } /// /// Gets and sets the property StorageType. /// /// Sets the storage type for the file system that you're creating. Valid values are SSD /// and HDD. /// ///
  • /// /// Set to SSD to use solid state drive storage. SSD is supported on all /// Windows, Lustre, ONTAP, and OpenZFS deployment types. /// ///
  • /// /// Set to HDD to use hard disk drive storage. HDD is supported on SINGLE_AZ_2 /// and MULTI_AZ_1 Windows file system deployment types, and on PERSISTENT_1 /// Lustre file system deployment types. /// ///
/// /// Default value is SSD. For more information, see /// Storage type options in the FSx for Windows File Server User Guide and /// Multiple /// storage options in the FSx for Lustre User Guide. /// ///
public StorageType StorageType { get { return this._storageType; } set { this._storageType = value; } } // Check to see if StorageType property is set internal bool IsSetStorageType() { return this._storageType != null; } /// /// Gets and sets the property SubnetIds. /// /// Specifies the IDs of the subnets that the file system will be accessible from. For /// Windows and ONTAP MULTI_AZ_1 deployment types,provide exactly two subnet /// IDs, one for the preferred file server and one for the standby file server. You specify /// one of these subnets as the preferred subnet using the WindowsConfiguration /// > PreferredSubnetID or OntapConfiguration > PreferredSubnetID /// properties. For more information about Multi-AZ file system configuration, see /// Availability and durability: Single-AZ and Multi-AZ file systems in the Amazon /// FSx for Windows User Guide and /// Availability and durability in the Amazon FSx for ONTAP User Guide. /// /// /// /// For Windows SINGLE_AZ_1 and SINGLE_AZ_2 and all Lustre deployment /// types, provide exactly one subnet ID. The file server is launched in that subnet's /// Availability Zone. /// /// [AWSProperty(Required=true, Max=50)] public List SubnetIds { get { return this._subnetIds; } set { this._subnetIds = value; } } // Check to see if SubnetIds property is set internal bool IsSetSubnetIds() { return this._subnetIds != null && this._subnetIds.Count > 0; } /// /// Gets and sets the property Tags. /// /// The tags to apply to the file system that's being created. The key value of the Name /// tag appears in the console as the file system name. /// /// [AWSProperty(Min=1, Max=50)] public List Tags { get { return this._tags; } set { this._tags = value; } } // Check to see if Tags property is set internal bool IsSetTags() { return this._tags != null && this._tags.Count > 0; } /// /// Gets and sets the property WindowsConfiguration. /// /// The Microsoft Windows configuration for the file system that's being created. /// /// public CreateFileSystemWindowsConfiguration WindowsConfiguration { get { return this._windowsConfiguration; } set { this._windowsConfiguration = value; } } // Check to see if WindowsConfiguration property is set internal bool IsSetWindowsConfiguration() { return this._windowsConfiguration != null; } } }