/*
* 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
{
///
/// A description of a specific Amazon FSx file system.
///
public partial class FileSystem
{
private List _administrativeActions = new List();
private DateTime? _creationTime;
private string _dnsName;
private FileSystemFailureDetails _failureDetails;
private string _fileSystemId;
private FileSystemType _fileSystemType;
private string _fileSystemTypeVersion;
private string _kmsKeyId;
private FileSystemLifecycle _lifecycle;
private LustreFileSystemConfiguration _lustreConfiguration;
private List _networkInterfaceIds = new List();
private OntapFileSystemConfiguration _ontapConfiguration;
private OpenZFSFileSystemConfiguration _openZFSConfiguration;
private string _ownerId;
private string _resourceARN;
private int? _storageCapacity;
private StorageType _storageType;
private List _subnetIds = new List();
private List _tags = new List();
private string _vpcId;
private WindowsFileSystemConfiguration _windowsConfiguration;
///
/// Gets and sets the property AdministrativeActions.
///
/// A list of administrative actions for the file system that are in process or waiting
/// to be processed. Administrative actions describe changes to the Amazon FSx system
/// that you have initiated using the UpdateFileSystem
operation.
///
///
[AWSProperty(Max=50)]
public List AdministrativeActions
{
get { return this._administrativeActions; }
set { this._administrativeActions = value; }
}
// Check to see if AdministrativeActions property is set
internal bool IsSetAdministrativeActions()
{
return this._administrativeActions != null && this._administrativeActions.Count > 0;
}
///
/// Gets and sets the property CreationTime.
///
/// The time that the file system was created, in seconds (since 1970-01-01T00:00:00Z),
/// also known as Unix time.
///
///
public DateTime CreationTime
{
get { return this._creationTime.GetValueOrDefault(); }
set { this._creationTime = value; }
}
// Check to see if CreationTime property is set
internal bool IsSetCreationTime()
{
return this._creationTime.HasValue;
}
///
/// Gets and sets the property DNSName.
///
/// The Domain Name System (DNS) name for the file system.
///
///
[AWSProperty(Min=16, Max=275)]
public string DNSName
{
get { return this._dnsName; }
set { this._dnsName = value; }
}
// Check to see if DNSName property is set
internal bool IsSetDNSName()
{
return this._dnsName != null;
}
///
/// Gets and sets the property FailureDetails.
///
public FileSystemFailureDetails FailureDetails
{
get { return this._failureDetails; }
set { this._failureDetails = value; }
}
// Check to see if FailureDetails property is set
internal bool IsSetFailureDetails()
{
return this._failureDetails != null;
}
///
/// Gets and sets the property FileSystemId.
///
/// The system-generated, unique 17-digit ID of the file system.
///
///
[AWSProperty(Min=11, Max=21)]
public string FileSystemId
{
get { return this._fileSystemId; }
set { this._fileSystemId = value; }
}
// Check to see if FileSystemId property is set
internal bool IsSetFileSystemId()
{
return this._fileSystemId != null;
}
///
/// Gets and sets the property FileSystemType.
///
/// The type of Amazon FSx file system, which can be LUSTRE
, WINDOWS
,
/// ONTAP
, or OPENZFS
.
///
///
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.
///
/// The Lustre version of the Amazon FSx for Lustre file system, either 2.10
/// or 2.12
.
///
///
[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.
///
/// The ID of the Key Management Service (KMS) key used to encrypt Amazon FSx file system
/// data. Used as follows with Amazon FSx file system types:
///
/// -
///
/// Amazon FSx for Lustre
PERSISTENT_1
and PERSISTENT_2
deployment
/// types only.
///
///
///
/// SCRATCH_1
and SCRATCH_2
types are encrypted using the Amazon
/// FSx service KMS key for your account.
///
/// -
///
/// Amazon FSx for NetApp ONTAP
///
///
-
///
/// Amazon FSx for OpenZFS
///
///
-
///
/// Amazon FSx for Windows File Server
///
///
///
[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 Lifecycle.
///
/// The lifecycle status of the file system. The following are the possible values and
/// what they mean:
///
/// -
///
///
AVAILABLE
- The file system is in a healthy state, and is reachable
/// and available for use.
///
/// -
///
///
CREATING
- Amazon FSx is creating the new file system.
///
/// -
///
///
DELETING
- Amazon FSx is deleting an existing file system.
///
/// -
///
///
FAILED
- An existing file system has experienced an unrecoverable failure.
/// When creating a new file system, Amazon FSx was unable to create the file system.
///
/// -
///
///
MISCONFIGURED
- The file system is in a failed but recoverable state.
///
/// -
///
///
MISCONFIGURED_UNAVAILABLE
- (Amazon FSx for Windows File Server only)
/// The file system is currently unavailable due to a change in your Active Directory
/// configuration.
///
/// -
///
///
UPDATING
- The file system is undergoing a customer-initiated update.
///
///
///
public FileSystemLifecycle Lifecycle
{
get { return this._lifecycle; }
set { this._lifecycle = value; }
}
// Check to see if Lifecycle property is set
internal bool IsSetLifecycle()
{
return this._lifecycle != null;
}
///
/// Gets and sets the property LustreConfiguration.
///
public LustreFileSystemConfiguration 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 NetworkInterfaceIds.
///
/// The IDs of the elastic network interfaces from which a specific file system is accessible.
/// The elastic network interface is automatically created in the same virtual private
/// cloud (VPC) that the Amazon FSx file system was created in. For more information,
/// see Elastic
/// Network Interfaces in the Amazon EC2 User Guide.
///
///
///
/// For an Amazon FSx for Windows File Server file system, you can have one network interface
/// ID. For an Amazon FSx for Lustre file system, you can have more than one.
///
///
[AWSProperty(Max=50)]
public List NetworkInterfaceIds
{
get { return this._networkInterfaceIds; }
set { this._networkInterfaceIds = value; }
}
// Check to see if NetworkInterfaceIds property is set
internal bool IsSetNetworkInterfaceIds()
{
return this._networkInterfaceIds != null && this._networkInterfaceIds.Count > 0;
}
///
/// Gets and sets the property OntapConfiguration.
///
/// The configuration for this Amazon FSx for NetApp ONTAP file system.
///
///
public OntapFileSystemConfiguration 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 configuration for this Amazon FSx for OpenZFS file system.
///
///
public OpenZFSFileSystemConfiguration 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 OwnerId.
///
/// The Amazon Web Services account that created the file system. If the file system was
/// created by a user in IAM Identity Center, the Amazon Web Services account to which
/// the IAM user belongs is the owner.
///
///
[AWSProperty(Min=12, Max=12)]
public string OwnerId
{
get { return this._ownerId; }
set { this._ownerId = value; }
}
// Check to see if OwnerId property is set
internal bool IsSetOwnerId()
{
return this._ownerId != null;
}
///
/// Gets and sets the property ResourceARN.
///
/// The Amazon Resource Name (ARN) of the file system resource.
///
///
[AWSProperty(Min=8, Max=512)]
public string ResourceARN
{
get { return this._resourceARN; }
set { this._resourceARN = value; }
}
// Check to see if ResourceARN property is set
internal bool IsSetResourceARN()
{
return this._resourceARN != null;
}
///
/// Gets and sets the property StorageCapacity.
///
/// The storage capacity of the file system in gibibytes (GiB).
///
///
[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.
///
/// The type of storage the file system is using. If set to SSD
, the file
/// system uses solid state drive storage. If set to HDD
, the file system
/// uses hard disk drive storage.
///
///
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 is accessible from. For the
/// Amazon FSx Windows and ONTAP MULTI_AZ_1
file system deployment type,
/// there are two subnet IDs, one for the preferred file server and one for the standby
/// file server. The preferred file server subnet identified in the PreferredSubnetID
/// property. All other file systems have only one subnet ID.
///
///
///
/// For FSx for Lustre file systems, and Single-AZ Windows file systems, this is the ID
/// of the subnet that contains the file system's endpoint. For MULTI_AZ_1
/// Windows and ONTAP file systems, the file system endpoint is available in the PreferredSubnetID
.
///
///
[AWSProperty(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 associate with the file system. For more information, see Tagging
/// your Amazon EC2 resources in the Amazon EC2 User Guide.
///
///
[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 VpcId.
///
/// The ID of the primary virtual private cloud (VPC) for the file system.
///
///
[AWSProperty(Min=12, Max=21)]
public string VpcId
{
get { return this._vpcId; }
set { this._vpcId = value; }
}
// Check to see if VpcId property is set
internal bool IsSetVpcId()
{
return this._vpcId != null;
}
///
/// Gets and sets the property WindowsConfiguration.
///
/// The configuration for this Amazon FSx for Windows File Server file system.
///
///
public WindowsFileSystemConfiguration WindowsConfiguration
{
get { return this._windowsConfiguration; }
set { this._windowsConfiguration = value; }
}
// Check to see if WindowsConfiguration property is set
internal bool IsSetWindowsConfiguration()
{
return this._windowsConfiguration != null;
}
}
}