/*
* 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 ds-2015-04-16.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.DirectoryService.Model
{
///
/// Contains information about an Directory Service directory.
///
public partial class DirectoryDescription
{
private string _accessUrl;
private string _alias;
private DirectoryConnectSettingsDescription _connectSettings;
private string _description;
private int? _desiredNumberOfDomainControllers;
private string _directoryId;
private List _dnsIpAddrs = new List();
private DirectoryEdition _edition;
private DateTime? _launchTime;
private string _name;
private OSVersion _osVersion;
private OwnerDirectoryDescription _ownerDirectoryDescription;
private RadiusSettings _radiusSettings;
private RadiusStatus _radiusStatus;
private RegionsInfo _regionsInfo;
private ShareMethod _shareMethod;
private string _shareNotes;
private ShareStatus _shareStatus;
private string _shortName;
private DirectorySize _size;
private bool? _ssoEnabled;
private DirectoryStage _stage;
private DateTime? _stageLastUpdatedDateTime;
private string _stageReason;
private DirectoryType _type;
private DirectoryVpcSettingsDescription _vpcSettings;
///
/// Gets and sets the property AccessUrl.
///
/// The access URL for the directory, such as http://<alias>.awsapps.com
.
/// If no alias has been created for the directory, <alias>
is the
/// directory identifier, such as d-XXXXXXXXXX
.
///
///
[AWSProperty(Min=1, Max=128)]
public string AccessUrl
{
get { return this._accessUrl; }
set { this._accessUrl = value; }
}
// Check to see if AccessUrl property is set
internal bool IsSetAccessUrl()
{
return this._accessUrl != null;
}
///
/// Gets and sets the property Alias.
///
/// The alias for the directory. If no alias has been created for the directory, the alias
/// is the directory identifier, such as d-XXXXXXXXXX
.
///
///
[AWSProperty(Min=1, Max=62)]
public string Alias
{
get { return this._alias; }
set { this._alias = value; }
}
// Check to see if Alias property is set
internal bool IsSetAlias()
{
return this._alias != null;
}
///
/// Gets and sets the property ConnectSettings.
///
/// A DirectoryConnectSettingsDescription object that contains additional information
/// about an AD Connector directory. This member is only present if the directory is an
/// AD Connector directory.
///
///
public DirectoryConnectSettingsDescription ConnectSettings
{
get { return this._connectSettings; }
set { this._connectSettings = value; }
}
// Check to see if ConnectSettings property is set
internal bool IsSetConnectSettings()
{
return this._connectSettings != null;
}
///
/// Gets and sets the property Description.
///
/// The description for the directory.
///
///
[AWSProperty(Min=0, Max=128)]
public string Description
{
get { return this._description; }
set { this._description = value; }
}
// Check to see if Description property is set
internal bool IsSetDescription()
{
return this._description != null;
}
///
/// Gets and sets the property DesiredNumberOfDomainControllers.
///
/// The desired number of domain controllers in the directory if the directory is Microsoft
/// AD.
///
///
[AWSProperty(Min=2)]
public int DesiredNumberOfDomainControllers
{
get { return this._desiredNumberOfDomainControllers.GetValueOrDefault(); }
set { this._desiredNumberOfDomainControllers = value; }
}
// Check to see if DesiredNumberOfDomainControllers property is set
internal bool IsSetDesiredNumberOfDomainControllers()
{
return this._desiredNumberOfDomainControllers.HasValue;
}
///
/// Gets and sets the property DirectoryId.
///
/// The directory identifier.
///
///
public string DirectoryId
{
get { return this._directoryId; }
set { this._directoryId = value; }
}
// Check to see if DirectoryId property is set
internal bool IsSetDirectoryId()
{
return this._directoryId != null;
}
///
/// Gets and sets the property DnsIpAddrs.
///
/// The IP addresses of the DNS servers for the directory. For a Simple AD or Microsoft
/// AD directory, these are the IP addresses of the Simple AD or Microsoft AD directory
/// servers. For an AD Connector directory, these are the IP addresses of the DNS servers
/// or domain controllers in your self-managed directory to which the AD Connector is
/// connected.
///
///
public List DnsIpAddrs
{
get { return this._dnsIpAddrs; }
set { this._dnsIpAddrs = value; }
}
// Check to see if DnsIpAddrs property is set
internal bool IsSetDnsIpAddrs()
{
return this._dnsIpAddrs != null && this._dnsIpAddrs.Count > 0;
}
///
/// Gets and sets the property Edition.
///
/// The edition associated with this directory.
///
///
public DirectoryEdition Edition
{
get { return this._edition; }
set { this._edition = value; }
}
// Check to see if Edition property is set
internal bool IsSetEdition()
{
return this._edition != null;
}
///
/// Gets and sets the property LaunchTime.
///
/// Specifies when the directory was created.
///
///
public DateTime LaunchTime
{
get { return this._launchTime.GetValueOrDefault(); }
set { this._launchTime = value; }
}
// Check to see if LaunchTime property is set
internal bool IsSetLaunchTime()
{
return this._launchTime.HasValue;
}
///
/// Gets and sets the property Name.
///
/// The fully qualified name of the directory.
///
///
public string Name
{
get { return this._name; }
set { this._name = value; }
}
// Check to see if Name property is set
internal bool IsSetName()
{
return this._name != null;
}
///
/// Gets and sets the property OsVersion.
///
/// The operating system (OS) version of the directory.
///
///
public OSVersion OsVersion
{
get { return this._osVersion; }
set { this._osVersion = value; }
}
// Check to see if OsVersion property is set
internal bool IsSetOsVersion()
{
return this._osVersion != null;
}
///
/// Gets and sets the property OwnerDirectoryDescription.
///
/// Describes the Managed Microsoft AD directory in the directory owner account.
///
///
public OwnerDirectoryDescription OwnerDirectoryDescription
{
get { return this._ownerDirectoryDescription; }
set { this._ownerDirectoryDescription = value; }
}
// Check to see if OwnerDirectoryDescription property is set
internal bool IsSetOwnerDirectoryDescription()
{
return this._ownerDirectoryDescription != null;
}
///
/// Gets and sets the property RadiusSettings.
///
/// A RadiusSettings object that contains information about the RADIUS server configured
/// for this directory.
///
///
public RadiusSettings RadiusSettings
{
get { return this._radiusSettings; }
set { this._radiusSettings = value; }
}
// Check to see if RadiusSettings property is set
internal bool IsSetRadiusSettings()
{
return this._radiusSettings != null;
}
///
/// Gets and sets the property RadiusStatus.
///
/// The status of the RADIUS MFA server connection.
///
///
public RadiusStatus RadiusStatus
{
get { return this._radiusStatus; }
set { this._radiusStatus = value; }
}
// Check to see if RadiusStatus property is set
internal bool IsSetRadiusStatus()
{
return this._radiusStatus != null;
}
///
/// Gets and sets the property RegionsInfo.
///
/// Lists the Regions where the directory has replicated.
///
///
public RegionsInfo RegionsInfo
{
get { return this._regionsInfo; }
set { this._regionsInfo = value; }
}
// Check to see if RegionsInfo property is set
internal bool IsSetRegionsInfo()
{
return this._regionsInfo != null;
}
///
/// Gets and sets the property ShareMethod.
///
/// The method used when sharing a directory to determine whether the directory should
/// be shared within your Amazon Web Services organization (ORGANIZATIONS
)
/// or with any Amazon Web Services account by sending a shared directory request (HANDSHAKE
).
///
///
public ShareMethod ShareMethod
{
get { return this._shareMethod; }
set { this._shareMethod = value; }
}
// Check to see if ShareMethod property is set
internal bool IsSetShareMethod()
{
return this._shareMethod != null;
}
///
/// Gets and sets the property ShareNotes.
///
/// A directory share request that is sent by the directory owner to the directory consumer.
/// The request includes a typed message to help the directory consumer administrator
/// determine whether to approve or reject the share invitation.
///
///
[AWSProperty(Sensitive=true, Max=1024)]
public string ShareNotes
{
get { return this._shareNotes; }
set { this._shareNotes = value; }
}
// Check to see if ShareNotes property is set
internal bool IsSetShareNotes()
{
return this._shareNotes != null;
}
///
/// Gets and sets the property ShareStatus.
///
/// Current directory status of the shared Managed Microsoft AD directory.
///
///
public ShareStatus ShareStatus
{
get { return this._shareStatus; }
set { this._shareStatus = value; }
}
// Check to see if ShareStatus property is set
internal bool IsSetShareStatus()
{
return this._shareStatus != null;
}
///
/// Gets and sets the property ShortName.
///
/// The short name of the directory.
///
///
public string ShortName
{
get { return this._shortName; }
set { this._shortName = value; }
}
// Check to see if ShortName property is set
internal bool IsSetShortName()
{
return this._shortName != null;
}
///
/// Gets and sets the property Size.
///
/// The directory size.
///
///
public DirectorySize Size
{
get { return this._size; }
set { this._size = value; }
}
// Check to see if Size property is set
internal bool IsSetSize()
{
return this._size != null;
}
///
/// Gets and sets the property SsoEnabled.
///
/// Indicates if single sign-on is enabled for the directory. For more information, see
/// EnableSso and DisableSso.
///
///
public bool SsoEnabled
{
get { return this._ssoEnabled.GetValueOrDefault(); }
set { this._ssoEnabled = value; }
}
// Check to see if SsoEnabled property is set
internal bool IsSetSsoEnabled()
{
return this._ssoEnabled.HasValue;
}
///
/// Gets and sets the property Stage.
///
/// The current stage of the directory.
///
///
public DirectoryStage Stage
{
get { return this._stage; }
set { this._stage = value; }
}
// Check to see if Stage property is set
internal bool IsSetStage()
{
return this._stage != null;
}
///
/// Gets and sets the property StageLastUpdatedDateTime.
///
/// The date and time that the stage was last updated.
///
///
public DateTime StageLastUpdatedDateTime
{
get { return this._stageLastUpdatedDateTime.GetValueOrDefault(); }
set { this._stageLastUpdatedDateTime = value; }
}
// Check to see if StageLastUpdatedDateTime property is set
internal bool IsSetStageLastUpdatedDateTime()
{
return this._stageLastUpdatedDateTime.HasValue;
}
///
/// Gets and sets the property StageReason.
///
/// Additional information about the directory stage.
///
///
public string StageReason
{
get { return this._stageReason; }
set { this._stageReason = value; }
}
// Check to see if StageReason property is set
internal bool IsSetStageReason()
{
return this._stageReason != null;
}
///
/// Gets and sets the property Type.
///
/// The directory size.
///
///
public DirectoryType Type
{
get { return this._type; }
set { this._type = value; }
}
// Check to see if Type property is set
internal bool IsSetType()
{
return this._type != null;
}
///
/// Gets and sets the property VpcSettings.
///
/// A DirectoryVpcSettingsDescription object that contains additional information
/// about a directory. This member is only present if the directory is a Simple AD or
/// Managed Microsoft AD directory.
///
///
public DirectoryVpcSettingsDescription VpcSettings
{
get { return this._vpcSettings; }
set { this._vpcSettings = value; }
}
// Check to see if VpcSettings property is set
internal bool IsSetVpcSettings()
{
return this._vpcSettings != null;
}
}
}