# coding=utf-8
# *** 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! ***

import copy
import warnings
import pulumi
import pulumi.runtime
from typing import Any, Mapping, Optional, Sequence, Union, overload
from .. import _utilities

__all__ = [
    'BastionHostInstanceAdAuthServerArgs',
    'BastionHostInstanceLdapAuthServerArgs',
]

@pulumi.input_type
class BastionHostInstanceAdAuthServerArgs:
    def __init__(__self__, *,
                 account: pulumi.Input[str],
                 base_dn: pulumi.Input[str],
                 domain: pulumi.Input[str],
                 is_ssl: pulumi.Input[bool],
                 password: pulumi.Input[str],
                 port: pulumi.Input[int],
                 server: pulumi.Input[str],
                 email_mapping: Optional[pulumi.Input[str]] = None,
                 filter: Optional[pulumi.Input[str]] = None,
                 mobile_mapping: Optional[pulumi.Input[str]] = None,
                 name_mapping: Optional[pulumi.Input[str]] = None,
                 standby_server: Optional[pulumi.Input[str]] = None):
        pulumi.set(__self__, "account", account)
        pulumi.set(__self__, "base_dn", base_dn)
        pulumi.set(__self__, "domain", domain)
        pulumi.set(__self__, "is_ssl", is_ssl)
        pulumi.set(__self__, "password", password)
        pulumi.set(__self__, "port", port)
        pulumi.set(__self__, "server", server)
        if email_mapping is not None:
            pulumi.set(__self__, "email_mapping", email_mapping)
        if filter is not None:
            pulumi.set(__self__, "filter", filter)
        if mobile_mapping is not None:
            pulumi.set(__self__, "mobile_mapping", mobile_mapping)
        if name_mapping is not None:
            pulumi.set(__self__, "name_mapping", name_mapping)
        if standby_server is not None:
            pulumi.set(__self__, "standby_server", standby_server)

    @property
    @pulumi.getter
    def account(self) -> pulumi.Input[str]:
        return pulumi.get(self, "account")

    @account.setter
    def account(self, value: pulumi.Input[str]):
        pulumi.set(self, "account", value)

    @property
    @pulumi.getter(name="baseDn")
    def base_dn(self) -> pulumi.Input[str]:
        return pulumi.get(self, "base_dn")

    @base_dn.setter
    def base_dn(self, value: pulumi.Input[str]):
        pulumi.set(self, "base_dn", value)

    @property
    @pulumi.getter
    def domain(self) -> pulumi.Input[str]:
        return pulumi.get(self, "domain")

    @domain.setter
    def domain(self, value: pulumi.Input[str]):
        pulumi.set(self, "domain", value)

    @property
    @pulumi.getter(name="isSsl")
    def is_ssl(self) -> pulumi.Input[bool]:
        return pulumi.get(self, "is_ssl")

    @is_ssl.setter
    def is_ssl(self, value: pulumi.Input[bool]):
        pulumi.set(self, "is_ssl", value)

    @property
    @pulumi.getter
    def password(self) -> pulumi.Input[str]:
        return pulumi.get(self, "password")

    @password.setter
    def password(self, value: pulumi.Input[str]):
        pulumi.set(self, "password", value)

    @property
    @pulumi.getter
    def port(self) -> pulumi.Input[int]:
        return pulumi.get(self, "port")

    @port.setter
    def port(self, value: pulumi.Input[int]):
        pulumi.set(self, "port", value)

    @property
    @pulumi.getter
    def server(self) -> pulumi.Input[str]:
        return pulumi.get(self, "server")

    @server.setter
    def server(self, value: pulumi.Input[str]):
        pulumi.set(self, "server", value)

    @property
    @pulumi.getter(name="emailMapping")
    def email_mapping(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "email_mapping")

    @email_mapping.setter
    def email_mapping(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "email_mapping", value)

    @property
    @pulumi.getter
    def filter(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "filter")

    @filter.setter
    def filter(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "filter", value)

    @property
    @pulumi.getter(name="mobileMapping")
    def mobile_mapping(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "mobile_mapping")

    @mobile_mapping.setter
    def mobile_mapping(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "mobile_mapping", value)

    @property
    @pulumi.getter(name="nameMapping")
    def name_mapping(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "name_mapping")

    @name_mapping.setter
    def name_mapping(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "name_mapping", value)

    @property
    @pulumi.getter(name="standbyServer")
    def standby_server(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "standby_server")

    @standby_server.setter
    def standby_server(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "standby_server", value)


@pulumi.input_type
class BastionHostInstanceLdapAuthServerArgs:
    def __init__(__self__, *,
                 account: pulumi.Input[str],
                 base_dn: pulumi.Input[str],
                 password: pulumi.Input[str],
                 port: pulumi.Input[int],
                 server: pulumi.Input[str],
                 email_mapping: Optional[pulumi.Input[str]] = None,
                 filter: Optional[pulumi.Input[str]] = None,
                 is_ssl: Optional[pulumi.Input[bool]] = None,
                 login_name_mapping: Optional[pulumi.Input[str]] = None,
                 mobile_mapping: Optional[pulumi.Input[str]] = None,
                 name_mapping: Optional[pulumi.Input[str]] = None,
                 standby_server: Optional[pulumi.Input[str]] = None):
        pulumi.set(__self__, "account", account)
        pulumi.set(__self__, "base_dn", base_dn)
        pulumi.set(__self__, "password", password)
        pulumi.set(__self__, "port", port)
        pulumi.set(__self__, "server", server)
        if email_mapping is not None:
            pulumi.set(__self__, "email_mapping", email_mapping)
        if filter is not None:
            pulumi.set(__self__, "filter", filter)
        if is_ssl is not None:
            pulumi.set(__self__, "is_ssl", is_ssl)
        if login_name_mapping is not None:
            pulumi.set(__self__, "login_name_mapping", login_name_mapping)
        if mobile_mapping is not None:
            pulumi.set(__self__, "mobile_mapping", mobile_mapping)
        if name_mapping is not None:
            pulumi.set(__self__, "name_mapping", name_mapping)
        if standby_server is not None:
            pulumi.set(__self__, "standby_server", standby_server)

    @property
    @pulumi.getter
    def account(self) -> pulumi.Input[str]:
        return pulumi.get(self, "account")

    @account.setter
    def account(self, value: pulumi.Input[str]):
        pulumi.set(self, "account", value)

    @property
    @pulumi.getter(name="baseDn")
    def base_dn(self) -> pulumi.Input[str]:
        return pulumi.get(self, "base_dn")

    @base_dn.setter
    def base_dn(self, value: pulumi.Input[str]):
        pulumi.set(self, "base_dn", value)

    @property
    @pulumi.getter
    def password(self) -> pulumi.Input[str]:
        return pulumi.get(self, "password")

    @password.setter
    def password(self, value: pulumi.Input[str]):
        pulumi.set(self, "password", value)

    @property
    @pulumi.getter
    def port(self) -> pulumi.Input[int]:
        return pulumi.get(self, "port")

    @port.setter
    def port(self, value: pulumi.Input[int]):
        pulumi.set(self, "port", value)

    @property
    @pulumi.getter
    def server(self) -> pulumi.Input[str]:
        return pulumi.get(self, "server")

    @server.setter
    def server(self, value: pulumi.Input[str]):
        pulumi.set(self, "server", value)

    @property
    @pulumi.getter(name="emailMapping")
    def email_mapping(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "email_mapping")

    @email_mapping.setter
    def email_mapping(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "email_mapping", value)

    @property
    @pulumi.getter
    def filter(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "filter")

    @filter.setter
    def filter(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "filter", value)

    @property
    @pulumi.getter(name="isSsl")
    def is_ssl(self) -> Optional[pulumi.Input[bool]]:
        return pulumi.get(self, "is_ssl")

    @is_ssl.setter
    def is_ssl(self, value: Optional[pulumi.Input[bool]]):
        pulumi.set(self, "is_ssl", value)

    @property
    @pulumi.getter(name="loginNameMapping")
    def login_name_mapping(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "login_name_mapping")

    @login_name_mapping.setter
    def login_name_mapping(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "login_name_mapping", value)

    @property
    @pulumi.getter(name="mobileMapping")
    def mobile_mapping(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "mobile_mapping")

    @mobile_mapping.setter
    def mobile_mapping(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "mobile_mapping", value)

    @property
    @pulumi.getter(name="nameMapping")
    def name_mapping(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "name_mapping")

    @name_mapping.setter
    def name_mapping(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "name_mapping", value)

    @property
    @pulumi.getter(name="standbyServer")
    def standby_server(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "standby_server")

    @standby_server.setter
    def standby_server(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "standby_server", value)


