<gh_stars>0// *** 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.BastionHost.Inputs
{

    public sealed class InstanceAdAuthServerArgs : global::Pulumi.ResourceArgs
    {
        /// <summary>
        /// The username of the account that is used for the LDAP server.
        /// </summary>
        [Input("account", required: true)]
        public Input<string> Account { get; set; } = null!;

        /// <summary>
        /// The Base distinguished name (DN).
        /// </summary>
        [Input("baseDn", required: true)]
        public Input<string> BaseDn { get; set; } = null!;

        /// <summary>
        /// The domain on the AD server.
        /// </summary>
        [Input("domain", required: true)]
        public Input<string> Domain { get; set; } = null!;

        /// <summary>
        /// The field that is used to indicate the email address of a user on the LDAP server.
        /// </summary>
        [Input("emailMapping")]
        public Input<string>? EmailMapping { get; set; }

        /// <summary>
        /// The condition that is used to filter users.
        /// </summary>
        [Input("filter")]
        public Input<string>? Filter { get; set; }

        /// <summary>
        /// Specifies whether to support SSL.
        /// </summary>
        [Input("isSsl", required: true)]
        public Input<bool> IsSsl { get; set; } = null!;

        /// <summary>
        /// The field that is used to indicate the mobile phone number of a user on the LDAP server.
        /// </summary>
        [Input("mobileMapping")]
        public Input<string>? MobileMapping { get; set; }

        /// <summary>
        /// The field that is used to indicate the name of a user on the LDAP server.
        /// </summary>
        [Input("nameMapping")]
        public Input<string>? NameMapping { get; set; }

        /// <summary>
        /// The password of the account that is used for the LDAP server.
        /// </summary>
        [Input("password", required: true)]
        public Input<string> Password { get; set; } = null!;

        /// <summary>
        /// The port that is used to access the LDAP server.
        /// </summary>
        [Input("port", required: true)]
        public Input<int> Port { get; set; } = null!;

        /// <summary>
        /// The address of the LDAP server.
        /// </summary>
        [Input("server", required: true)]
        public Input<string> Server { get; set; } = null!;

        /// <summary>
        /// The address of the secondary LDAP server.
        /// </summary>
        [Input("standbyServer")]
        public Input<string>? StandbyServer { get; set; }

        public InstanceAdAuthServerArgs()
        {
        }
        public static new InstanceAdAuthServerArgs Empty => new InstanceAdAuthServerArgs();
    }
}
