/*
* 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 object for the Microsoft Windows file system used in CreateFileSystem
/// and CreateFileSystemFromBackup
operations.
///
public partial class CreateFileSystemWindowsConfiguration
{
private string _activeDirectoryId;
private List _aliases = new List();
private WindowsAuditLogCreateConfiguration _auditLogConfiguration;
private int? _automaticBackupRetentionDays;
private bool? _copyTagsToBackups;
private string _dailyAutomaticBackupStartTime;
private WindowsDeploymentType _deploymentType;
private string _preferredSubnetId;
private SelfManagedActiveDirectoryConfiguration _selfManagedActiveDirectoryConfiguration;
private int? _throughputCapacity;
private string _weeklyMaintenanceStartTime;
///
/// Gets and sets the property ActiveDirectoryId.
///
/// The ID for an existing Amazon Web Services Managed Microsoft Active Directory (AD)
/// instance that the file system should join when it's created.
///
///
[AWSProperty(Min=12, Max=12)]
public string ActiveDirectoryId
{
get { return this._activeDirectoryId; }
set { this._activeDirectoryId = value; }
}
// Check to see if ActiveDirectoryId property is set
internal bool IsSetActiveDirectoryId()
{
return this._activeDirectoryId != null;
}
///
/// Gets and sets the property Aliases.
///
/// An array of one or more DNS alias names that you want to associate with the Amazon
/// FSx file system. Aliases allow you to use existing DNS names to access the data in
/// your Amazon FSx file system. You can associate up to 50 aliases with a file system
/// at any time. You can associate additional DNS aliases after you create the file system
/// using the AssociateFileSystemAliases operation. You can remove DNS aliases from the
/// file system after it is created using the DisassociateFileSystemAliases operation.
/// You only need to specify the alias name in the request payload.
///
///
///
/// For more information, see Working
/// with DNS Aliases and Walkthrough
/// 5: Using DNS aliases to access your file system, including additional steps you
/// must take to be able to access your file system using a DNS alias.
///
///
///
/// An alias name has to meet the following requirements:
///
/// -
///
/// Formatted as a fully-qualified domain name (FQDN),
hostname.domain
, for
/// example, accounting.example.com
.
///
/// -
///
/// Can contain alphanumeric characters, the underscore (_), and the hyphen (-).
///
///
-
///
/// Cannot start or end with a hyphen.
///
///
-
///
/// Can start with a numeric.
///
///
///
/// For DNS alias names, Amazon FSx stores alphabetic characters as lowercase letters
/// (a-z), regardless of how you specify them: as uppercase letters, lowercase letters,
/// or the corresponding letters in escape codes.
///
///
[AWSProperty(Max=50)]
public List Aliases
{
get { return this._aliases; }
set { this._aliases = value; }
}
// Check to see if Aliases property is set
internal bool IsSetAliases()
{
return this._aliases != null && this._aliases.Count > 0;
}
///
/// Gets and sets the property AuditLogConfiguration.
///
/// The configuration that Amazon FSx for Windows File Server uses to audit and log user
/// accesses of files, folders, and file shares on the Amazon FSx for Windows File Server
/// file system.
///
///
public WindowsAuditLogCreateConfiguration AuditLogConfiguration
{
get { return this._auditLogConfiguration; }
set { this._auditLogConfiguration = value; }
}
// Check to see if AuditLogConfiguration property is set
internal bool IsSetAuditLogConfiguration()
{
return this._auditLogConfiguration != 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 30
.
///
///
[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 for the file system should be copied to backups.
/// This value defaults to false. If it's set to true, all tags for the file system are
/// copied to all automatic and user-initiated backups where the user doesn't specify
/// 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.
///
///
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.
///
/// The preferred time to take daily automatic backups, formatted HH:MM in the UTC time
/// zone.
///
///
[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 DeploymentType.
///
/// Specifies the file system deployment type, valid values are the following:
///
/// -
///
///
MULTI_AZ_1
- Deploys a high availability file system that is configured
/// for Multi-AZ redundancy to tolerate temporary Availability Zone (AZ) unavailability.
/// You can only deploy a Multi-AZ file system in Amazon Web Services Regions that have
/// a minimum of three Availability Zones. Also supports HDD storage type
///
/// -
///
///
SINGLE_AZ_1
- (Default) Choose to deploy a file system that is configured
/// for single AZ redundancy.
///
/// -
///
///
SINGLE_AZ_2
- The latest generation Single AZ file system. Specifies
/// a file system that is configured for single AZ redundancy and supports HDD storage
/// type.
///
///
///
/// For more information, see
/// Availability and Durability: Single-AZ and Multi-AZ File Systems.
///
///
public WindowsDeploymentType 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 PreferredSubnetId.
///
/// Required when DeploymentType
is set to MULTI_AZ_1
. This
/// specifies the subnet in which you want the preferred file server to be located. For
/// in-Amazon Web Services applications, we recommend that you launch your clients in
/// the same Availability Zone (AZ) as your preferred file server to reduce cross-AZ data
/// transfer costs and minimize latency.
///
///
[AWSProperty(Min=15, Max=24)]
public string PreferredSubnetId
{
get { return this._preferredSubnetId; }
set { this._preferredSubnetId = value; }
}
// Check to see if PreferredSubnetId property is set
internal bool IsSetPreferredSubnetId()
{
return this._preferredSubnetId != null;
}
///
/// Gets and sets the property SelfManagedActiveDirectoryConfiguration.
///
public SelfManagedActiveDirectoryConfiguration SelfManagedActiveDirectoryConfiguration
{
get { return this._selfManagedActiveDirectoryConfiguration; }
set { this._selfManagedActiveDirectoryConfiguration = value; }
}
// Check to see if SelfManagedActiveDirectoryConfiguration property is set
internal bool IsSetSelfManagedActiveDirectoryConfiguration()
{
return this._selfManagedActiveDirectoryConfiguration != null;
}
///
/// Gets and sets the property ThroughputCapacity.
///
/// Sets the throughput capacity of an Amazon FSx file system, measured in megabytes per
/// second (MB/s), in 2 to the nth increments, between 2^3 (8) and 2^11 (2048).
///
///
[AWSProperty(Required=true, Min=8, Max=100000)]
public int ThroughputCapacity
{
get { return this._throughputCapacity.GetValueOrDefault(); }
set { this._throughputCapacity = value; }
}
// Check to see if ThroughputCapacity property is set
internal bool IsSetThroughputCapacity()
{
return this._throughputCapacity.HasValue;
}
///
/// Gets and sets the property WeeklyMaintenanceStartTime.
///
/// 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;
}
}
}