// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;

namespace Pulumi.AliCloud.Eds.Outputs
{

    [OutputType]
    public sealed class GetAdConnectorDirectoriesDirectoryResult
    {
        /// <summary>
        /// The ID of the ad connector directory.
        /// </summary>
        public readonly string AdConnectorDirectoryId;
        /// <summary>
        /// The AD connectors.
        /// </summary>
        public readonly ImmutableArray<Outputs.GetAdConnectorDirectoriesDirectoryAdConnectorResult> AdConnectors;
        /// <summary>
        /// The CreateTime of resource.
        /// </summary>
        public readonly string CreateTime;
        /// <summary>
        /// The ID of the security group.
        /// </summary>
        public readonly string CustomSecurityGroupId;
        /// <summary>
        /// The name of directory.
        /// </summary>
        public readonly string DirectoryName;
        /// <summary>
        /// The name of the domain.
        /// </summary>
        public readonly string DirectoryType;
        /// <summary>
        /// The address of DNSAddress.
        /// </summary>
        public readonly ImmutableArray<string> DnsAddresses;
        /// <summary>
        /// The username of DNS.
        /// </summary>
        public readonly string DnsUserName;
        /// <summary>
        /// The name of the domain.
        /// </summary>
        public readonly string DomainName;
        /// <summary>
        /// domain admin user name.
        /// </summary>
        public readonly string DomainUserName;
        /// <summary>
        /// Whether to grant local administrator rights to users who use cloud desktops.
        /// </summary>
        public readonly bool EnableAdminAccess;
        /// <summary>
        /// The ID of the Ad Connector Directory.
        /// </summary>
        public readonly string Id;
        /// <summary>
        /// Whether MFA authentication is enabled. After all AD users in this directory log on to the cloud desktop, enter the correct password and then enter the dynamic verification code generated by the MFA device.
        /// </summary>
        public readonly bool MfaEnabled;
        /// <summary>
        /// The status of directory.
        /// </summary>
        public readonly string Status;
        /// <summary>
        /// The Enterprise already has the DNS address of the AD subdomain.
        /// </summary>
        public readonly ImmutableArray<string> SubDnsAddresses;
        /// <summary>
        /// The Enterprise already has a fully qualified domain name (FQDN) of an AD subdomain, with both a host name and a domain name.
        /// </summary>
        public readonly string SubDomainName;
        /// <summary>
        /// The trust password.
        /// </summary>
        public readonly string TrustPassword;
        /// <summary>
        /// The ID of the vpc.
        /// </summary>
        public readonly string VpcId;
        /// <summary>
        /// List of VSwitch IDs in the directory.
        /// </summary>
        public readonly ImmutableArray<string> VswitchIds;

        [OutputConstructor]
        private GetAdConnectorDirectoriesDirectoryResult(
            string adConnectorDirectoryId,

            ImmutableArray<Outputs.GetAdConnectorDirectoriesDirectoryAdConnectorResult> adConnectors,

            string createTime,

            string customSecurityGroupId,

            string directoryName,

            string directoryType,

            ImmutableArray<string> dnsAddresses,

            string dnsUserName,

            string domainName,

            string domainUserName,

            bool enableAdminAccess,

            string id,

            bool mfaEnabled,

            string status,

            ImmutableArray<string> subDnsAddresses,

            string subDomainName,

            string trustPassword,

            string vpcId,

            ImmutableArray<string> vswitchIds)
        {
            AdConnectorDirectoryId = adConnectorDirectoryId;
            AdConnectors = adConnectors;
            CreateTime = createTime;
            CustomSecurityGroupId = customSecurityGroupId;
            DirectoryName = directoryName;
            DirectoryType = directoryType;
            DnsAddresses = dnsAddresses;
            DnsUserName = dnsUserName;
            DomainName = domainName;
            DomainUserName = domainUserName;
            EnableAdminAccess = enableAdminAccess;
            Id = id;
            MfaEnabled = mfaEnabled;
            Status = status;
            SubDnsAddresses = subDnsAddresses;
            SubDomainName = subDomainName;
            TrustPassword = trustPassword;
            VpcId = vpcId;
            VswitchIds = vswitchIds;
        }
    }
}
