/* * 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 CreateFileSystemFromBackup operation. /// Creates a new Amazon FSx for Lustre, Amazon FSx for Windows File Server, or Amazon /// FSx for OpenZFS file system from an existing Amazon FSx backup. /// /// /// /// If a file system with the specified client request token exists and the parameters /// match, this operation returns the description of the file system. If a file system /// with the specified client request token exists but the parameters don't match, this /// call returns IncompatibleParameterError. If a file system with the specified /// client request token doesn't exist, this operation does the following: /// /// /// /// Parameters like the Active Directory, default share name, automatic backup, and backup /// settings default to the parameters of the file system that was backed up, unless overridden. /// You can explicitly supply other settings. /// /// /// /// By using the idempotent operation, you can retry a CreateFileSystemFromBackup /// call 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 a success message as long as the parameters are the same. /// /// /// /// The CreateFileSystemFromBackup 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 CreateFileSystemFromBackupRequest : AmazonFSxRequest { private string _backupId; private string _clientRequestToken; private string _fileSystemTypeVersion; private string _kmsKeyId; private CreateFileSystemLustreConfiguration _lustreConfiguration; 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 BackupId. /// [AWSProperty(Required=true, Min=12, Max=128)] public string BackupId { get { return this._backupId; } set { this._backupId = value; } } // Check to see if BackupId property is set internal bool IsSetBackupId() { return this._backupId != null; } /// /// 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 FileSystemTypeVersion. /// /// Sets the version for the Amazon FSx for Lustre file system that you're creating from /// a backup. Valid values are 2.10 and 2.12. /// /// /// /// You don't need to specify FileSystemTypeVersion because it will be applied /// using the backup's FileSystemTypeVersion setting. If you choose to specify /// FileSystemTypeVersion when creating from backup, the value must match /// the backup's FileSystemTypeVersion setting. /// /// [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 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 for the security groups that apply to the specified network interfaces /// created for file system access. These security groups apply to all network interfaces. /// This value isn't returned in later DescribeFileSystem requests. /// /// [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 OpenZFS file system that you're creating from a backup, /// in gibibytes (GiB). Valid values are from 64 GiB up to 524,288 GiB (512 TiB). However, /// the value that you specify must be equal to or greater than the backup's storage capacity /// value. If you don't use the StorageCapacity parameter, the default is /// the backup's StorageCapacity value. /// /// /// /// If used to create a file system other than OpenZFS, you must provide a value that /// matches the backup's StorageCapacity value. If you provide any other /// value, Amazon FSx responds with a 400 Bad Request. /// /// [AWSProperty(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 Windows or OpenZFS file system that you're creating /// from a backup. Valid values are SSD and HDD. /// ///
  • /// /// Set to SSD to use solid state drive storage. SSD is supported on all /// Windows and OpenZFS deployment types. /// ///
  • /// /// Set to HDD to use hard disk drive storage. HDD is supported on SINGLE_AZ_2 /// and MULTI_AZ_1 FSx for Windows File Server file system deployment types. /// ///
/// /// The default value is SSD. /// /// /// /// HDD and SSD storage types have different minimum storage capacity requirements. A /// restored file system's storage capacity is tied to the file system that was backed /// up. You can create a file system that uses HDD storage from a backup of a file system /// that used SSD storage if the original SSD file system had a storage capacity of at /// least 2000 GiB. /// /// ///
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 MULTI_AZ_1 file system 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 property. /// /// /// /// Windows SINGLE_AZ_1 and SINGLE_AZ_2 file system deployment /// types, Lustre file systems, and OpenZFS file systems 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 be applied to the file system at file system creation. 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 configuration for this Microsoft Windows file system. /// /// 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; } } }