/*
* 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 workspaces-2015-04-08.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.WorkSpaces.Model
{
///
/// Describes a directory that is used with Amazon WorkSpaces.
///
public partial class WorkspaceDirectory
{
private string _alias;
private CertificateBasedAuthProperties _certificateBasedAuthProperties;
private string _customerUserName;
private string _directoryId;
private string _directoryName;
private WorkspaceDirectoryType _directoryType;
private List _dnsIpAddresses = new List();
private string _iamRoleId;
private List _ipGroupIds = new List();
private string _registrationCode;
private SamlProperties _samlProperties;
private SelfservicePermissions _selfservicePermissions;
private WorkspaceDirectoryState _state;
private List _subnetIds = new List();
private Tenancy _tenancy;
private WorkspaceAccessProperties _workspaceAccessProperties;
private DefaultWorkspaceCreationProperties _workspaceCreationProperties;
private string _workspaceSecurityGroupId;
///
/// Gets and sets the property Alias.
///
/// The directory alias.
///
///
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 CertificateBasedAuthProperties.
///
/// The certificate-based authentication properties used to authenticate SAML 2.0 Identity
/// Provider (IdP) user identities to Active Directory for WorkSpaces login.
///
///
public CertificateBasedAuthProperties CertificateBasedAuthProperties
{
get { return this._certificateBasedAuthProperties; }
set { this._certificateBasedAuthProperties = value; }
}
// Check to see if CertificateBasedAuthProperties property is set
internal bool IsSetCertificateBasedAuthProperties()
{
return this._certificateBasedAuthProperties != null;
}
///
/// Gets and sets the property CustomerUserName.
///
/// The user name for the service account.
///
///
[AWSProperty(Min=1, Max=63)]
public string CustomerUserName
{
get { return this._customerUserName; }
set { this._customerUserName = value; }
}
// Check to see if CustomerUserName property is set
internal bool IsSetCustomerUserName()
{
return this._customerUserName != null;
}
///
/// Gets and sets the property DirectoryId.
///
/// The directory identifier.
///
///
[AWSProperty(Min=10, Max=65)]
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 DirectoryName.
///
/// The name of the directory.
///
///
public string DirectoryName
{
get { return this._directoryName; }
set { this._directoryName = value; }
}
// Check to see if DirectoryName property is set
internal bool IsSetDirectoryName()
{
return this._directoryName != null;
}
///
/// Gets and sets the property DirectoryType.
///
/// The directory type.
///
///
public WorkspaceDirectoryType DirectoryType
{
get { return this._directoryType; }
set { this._directoryType = value; }
}
// Check to see if DirectoryType property is set
internal bool IsSetDirectoryType()
{
return this._directoryType != null;
}
///
/// Gets and sets the property DnsIpAddresses.
///
/// The IP addresses of the DNS servers for the directory.
///
///
public List DnsIpAddresses
{
get { return this._dnsIpAddresses; }
set { this._dnsIpAddresses = value; }
}
// Check to see if DnsIpAddresses property is set
internal bool IsSetDnsIpAddresses()
{
return this._dnsIpAddresses != null && this._dnsIpAddresses.Count > 0;
}
///
/// Gets and sets the property IamRoleId.
///
/// The identifier of the IAM role. This is the role that allows Amazon WorkSpaces to
/// make calls to other services, such as Amazon EC2, on your behalf.
///
///
public string IamRoleId
{
get { return this._iamRoleId; }
set { this._iamRoleId = value; }
}
// Check to see if IamRoleId property is set
internal bool IsSetIamRoleId()
{
return this._iamRoleId != null;
}
///
/// Gets and sets the property IpGroupIds.
///
/// The identifiers of the IP access control groups associated with the directory.
///
///
public List IpGroupIds
{
get { return this._ipGroupIds; }
set { this._ipGroupIds = value; }
}
// Check to see if IpGroupIds property is set
internal bool IsSetIpGroupIds()
{
return this._ipGroupIds != null && this._ipGroupIds.Count > 0;
}
///
/// Gets and sets the property RegistrationCode.
///
/// The registration code for the directory. This is the code that users enter in their
/// Amazon WorkSpaces client application to connect to the directory.
///
///
[AWSProperty(Min=1, Max=20)]
public string RegistrationCode
{
get { return this._registrationCode; }
set { this._registrationCode = value; }
}
// Check to see if RegistrationCode property is set
internal bool IsSetRegistrationCode()
{
return this._registrationCode != null;
}
///
/// Gets and sets the property SamlProperties.
///
/// Describes the enablement status, user access URL, and relay state parameter name that
/// are used for configuring federation with an SAML 2.0 identity provider.
///
///
public SamlProperties SamlProperties
{
get { return this._samlProperties; }
set { this._samlProperties = value; }
}
// Check to see if SamlProperties property is set
internal bool IsSetSamlProperties()
{
return this._samlProperties != null;
}
///
/// Gets and sets the property SelfservicePermissions.
///
/// The default self-service permissions for WorkSpaces in the directory.
///
///
public SelfservicePermissions SelfservicePermissions
{
get { return this._selfservicePermissions; }
set { this._selfservicePermissions = value; }
}
// Check to see if SelfservicePermissions property is set
internal bool IsSetSelfservicePermissions()
{
return this._selfservicePermissions != null;
}
///
/// Gets and sets the property State.
///
/// The state of the directory's registration with Amazon WorkSpaces. After a directory
/// is deregistered, the DEREGISTERED
state is returned very briefly before
/// the directory metadata is cleaned up, so this state is rarely returned. To confirm
/// that a directory is deregistered, check for the directory ID by using
/// DescribeWorkspaceDirectories. If the directory ID isn't returned, then the directory
/// has been successfully deregistered.
///
///
public WorkspaceDirectoryState State
{
get { return this._state; }
set { this._state = value; }
}
// Check to see if State property is set
internal bool IsSetState()
{
return this._state != null;
}
///
/// Gets and sets the property SubnetIds.
///
/// The identifiers of the subnets used with the directory.
///
///
[AWSProperty(Max=2)]
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 Tenancy.
///
/// Specifies whether the directory is dedicated or shared. To use Bring Your Own License
/// (BYOL), this value must be set to DEDICATED
. For more information, see
/// Bring
/// Your Own Windows Desktop Images.
///
///
public Tenancy Tenancy
{
get { return this._tenancy; }
set { this._tenancy = value; }
}
// Check to see if Tenancy property is set
internal bool IsSetTenancy()
{
return this._tenancy != null;
}
///
/// Gets and sets the property WorkspaceAccessProperties.
///
/// The devices and operating systems that users can use to access WorkSpaces.
///
///
public WorkspaceAccessProperties WorkspaceAccessProperties
{
get { return this._workspaceAccessProperties; }
set { this._workspaceAccessProperties = value; }
}
// Check to see if WorkspaceAccessProperties property is set
internal bool IsSetWorkspaceAccessProperties()
{
return this._workspaceAccessProperties != null;
}
///
/// Gets and sets the property WorkspaceCreationProperties.
///
/// The default creation properties for all WorkSpaces in the directory.
///
///
public DefaultWorkspaceCreationProperties WorkspaceCreationProperties
{
get { return this._workspaceCreationProperties; }
set { this._workspaceCreationProperties = value; }
}
// Check to see if WorkspaceCreationProperties property is set
internal bool IsSetWorkspaceCreationProperties()
{
return this._workspaceCreationProperties != null;
}
///
/// Gets and sets the property WorkspaceSecurityGroupId.
///
/// The identifier of the security group that is assigned to new WorkSpaces.
///
///
[AWSProperty(Min=11, Max=20)]
public string WorkspaceSecurityGroupId
{
get { return this._workspaceSecurityGroupId; }
set { this._workspaceSecurityGroupId = value; }
}
// Check to see if WorkspaceSecurityGroupId property is set
internal bool IsSetWorkspaceSecurityGroupId()
{
return this._workspaceSecurityGroupId != null;
}
}
}