# 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 builtins
import copy
import warnings
import sys
import pulumi
import pulumi.runtime
from typing import Any, Mapping, Optional, Sequence, Union, overload
if sys.version_info >= (3, 11):
    from typing import NotRequired, TypedDict, TypeAlias
else:
    from typing_extensions import NotRequired, TypedDict, TypeAlias
from .. import _utilities

__all__ = [
    'AccountSecureContactInfoArgs',
    'AccountSecureContactInfoArgsDict',
    'AccountTagArgs',
    'AccountTagArgsDict',
    'OrganizationOrganizationArgs',
    'OrganizationOrganizationArgsDict',
    'OrganizationOwnerArgs',
    'OrganizationOwnerArgsDict',
]

MYPY = False

if not MYPY:
    class AccountSecureContactInfoArgsDict(TypedDict):
        email: NotRequired[pulumi.Input[builtins.str]]
        """
        安全邮箱。
        """
        email_verified: NotRequired[pulumi.Input[builtins.int]]
        """
        安全邮箱是否验证，1: 未验证，2: 已验证。
        """
        new_email: NotRequired[pulumi.Input[builtins.str]]
        """
        变更中的新邮箱。
        """
        new_phone: NotRequired[pulumi.Input[builtins.str]]
        """
        变更中的新手机号。
        """
        phone: NotRequired[pulumi.Input[builtins.str]]
        """
        安全手机号。
        """
        phone_verified: NotRequired[pulumi.Input[builtins.int]]
        """
        安全手机号是否验证，1: 未验证，2: 已验证。
        """
elif False:
    AccountSecureContactInfoArgsDict: TypeAlias = Mapping[str, Any]

@pulumi.input_type
class AccountSecureContactInfoArgs:
    def __init__(__self__, *,
                 email: Optional[pulumi.Input[builtins.str]] = None,
                 email_verified: Optional[pulumi.Input[builtins.int]] = None,
                 new_email: Optional[pulumi.Input[builtins.str]] = None,
                 new_phone: Optional[pulumi.Input[builtins.str]] = None,
                 phone: Optional[pulumi.Input[builtins.str]] = None,
                 phone_verified: Optional[pulumi.Input[builtins.int]] = None):
        """
        :param pulumi.Input[builtins.str] email: 安全邮箱。
        :param pulumi.Input[builtins.int] email_verified: 安全邮箱是否验证，1: 未验证，2: 已验证。
        :param pulumi.Input[builtins.str] new_email: 变更中的新邮箱。
        :param pulumi.Input[builtins.str] new_phone: 变更中的新手机号。
        :param pulumi.Input[builtins.str] phone: 安全手机号。
        :param pulumi.Input[builtins.int] phone_verified: 安全手机号是否验证，1: 未验证，2: 已验证。
        """
        if email is not None:
            pulumi.set(__self__, "email", email)
        if email_verified is not None:
            pulumi.set(__self__, "email_verified", email_verified)
        if new_email is not None:
            pulumi.set(__self__, "new_email", new_email)
        if new_phone is not None:
            pulumi.set(__self__, "new_phone", new_phone)
        if phone is not None:
            pulumi.set(__self__, "phone", phone)
        if phone_verified is not None:
            pulumi.set(__self__, "phone_verified", phone_verified)

    @property
    @pulumi.getter
    def email(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        安全邮箱。
        """
        return pulumi.get(self, "email")

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

    @property
    @pulumi.getter(name="emailVerified")
    def email_verified(self) -> Optional[pulumi.Input[builtins.int]]:
        """
        安全邮箱是否验证，1: 未验证，2: 已验证。
        """
        return pulumi.get(self, "email_verified")

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

    @property
    @pulumi.getter(name="newEmail")
    def new_email(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        变更中的新邮箱。
        """
        return pulumi.get(self, "new_email")

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

    @property
    @pulumi.getter(name="newPhone")
    def new_phone(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        变更中的新手机号。
        """
        return pulumi.get(self, "new_phone")

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

    @property
    @pulumi.getter
    def phone(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        安全手机号。
        """
        return pulumi.get(self, "phone")

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

    @property
    @pulumi.getter(name="phoneVerified")
    def phone_verified(self) -> Optional[pulumi.Input[builtins.int]]:
        """
        安全手机号是否验证，1: 未验证，2: 已验证。
        """
        return pulumi.get(self, "phone_verified")

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


if not MYPY:
    class AccountTagArgsDict(TypedDict):
        key: NotRequired[pulumi.Input[builtins.str]]
        """
        标签键。
        """
        value: NotRequired[pulumi.Input[builtins.str]]
        """
        标签值。
        """
elif False:
    AccountTagArgsDict: TypeAlias = Mapping[str, Any]

@pulumi.input_type
class AccountTagArgs:
    def __init__(__self__, *,
                 key: Optional[pulumi.Input[builtins.str]] = None,
                 value: Optional[pulumi.Input[builtins.str]] = None):
        """
        :param pulumi.Input[builtins.str] key: 标签键。
        :param pulumi.Input[builtins.str] value: 标签值。
        """
        if key is not None:
            pulumi.set(__self__, "key", key)
        if value is not None:
            pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def key(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        标签键。
        """
        return pulumi.get(self, "key")

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

    @property
    @pulumi.getter
    def value(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        标签值。
        """
        return pulumi.get(self, "value")

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


if not MYPY:
    class OrganizationOrganizationArgsDict(TypedDict):
        created_time: NotRequired[pulumi.Input[builtins.str]]
        """
        创建时间
        """
        description: NotRequired[pulumi.Input[builtins.str]]
        """
        描述
        """
        name: NotRequired[pulumi.Input[builtins.str]]
        """
        组织名称
        """
        owner: NotRequired[pulumi.Input[builtins.str]]
        """
        管理员ID
        """
        status: NotRequired[pulumi.Input[builtins.int]]
        """
        状态
        """
        type: NotRequired[pulumi.Input[builtins.int]]
        """
        组织类型，企业组织固定是 1
        """
        updated_time: NotRequired[pulumi.Input[builtins.str]]
        """
        更新时间
        """
elif False:
    OrganizationOrganizationArgsDict: TypeAlias = Mapping[str, Any]

@pulumi.input_type
class OrganizationOrganizationArgs:
    def __init__(__self__, *,
                 created_time: Optional[pulumi.Input[builtins.str]] = None,
                 description: Optional[pulumi.Input[builtins.str]] = None,
                 name: Optional[pulumi.Input[builtins.str]] = None,
                 owner: Optional[pulumi.Input[builtins.str]] = None,
                 status: Optional[pulumi.Input[builtins.int]] = None,
                 type: Optional[pulumi.Input[builtins.int]] = None,
                 updated_time: Optional[pulumi.Input[builtins.str]] = None):
        """
        :param pulumi.Input[builtins.str] created_time: 创建时间
        :param pulumi.Input[builtins.str] description: 描述
        :param pulumi.Input[builtins.str] name: 组织名称
        :param pulumi.Input[builtins.str] owner: 管理员ID
        :param pulumi.Input[builtins.int] status: 状态
        :param pulumi.Input[builtins.int] type: 组织类型，企业组织固定是 1
        :param pulumi.Input[builtins.str] updated_time: 更新时间
        """
        if created_time is not None:
            pulumi.set(__self__, "created_time", created_time)
        if description is not None:
            pulumi.set(__self__, "description", description)
        if name is not None:
            pulumi.set(__self__, "name", name)
        if owner is not None:
            pulumi.set(__self__, "owner", owner)
        if status is not None:
            pulumi.set(__self__, "status", status)
        if type is not None:
            pulumi.set(__self__, "type", type)
        if updated_time is not None:
            pulumi.set(__self__, "updated_time", updated_time)

    @property
    @pulumi.getter(name="createdTime")
    def created_time(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        创建时间
        """
        return pulumi.get(self, "created_time")

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

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

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

    @property
    @pulumi.getter
    def name(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        组织名称
        """
        return pulumi.get(self, "name")

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

    @property
    @pulumi.getter
    def owner(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        管理员ID
        """
        return pulumi.get(self, "owner")

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

    @property
    @pulumi.getter
    def status(self) -> Optional[pulumi.Input[builtins.int]]:
        """
        状态
        """
        return pulumi.get(self, "status")

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

    @property
    @pulumi.getter
    def type(self) -> Optional[pulumi.Input[builtins.int]]:
        """
        组织类型，企业组织固定是 1
        """
        return pulumi.get(self, "type")

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

    @property
    @pulumi.getter(name="updatedTime")
    def updated_time(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        更新时间
        """
        return pulumi.get(self, "updated_time")

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


if not MYPY:
    class OrganizationOwnerArgsDict(TypedDict):
        account_id: NotRequired[pulumi.Input[builtins.int]]
        """
        账号ID
        """
        account_name: NotRequired[pulumi.Input[builtins.str]]
        """
        账号名称
        """
        main_name: NotRequired[pulumi.Input[builtins.str]]
        """
        主体名称
        """
elif False:
    OrganizationOwnerArgsDict: TypeAlias = Mapping[str, Any]

@pulumi.input_type
class OrganizationOwnerArgs:
    def __init__(__self__, *,
                 account_id: Optional[pulumi.Input[builtins.int]] = None,
                 account_name: Optional[pulumi.Input[builtins.str]] = None,
                 main_name: Optional[pulumi.Input[builtins.str]] = None):
        """
        :param pulumi.Input[builtins.int] account_id: 账号ID
        :param pulumi.Input[builtins.str] account_name: 账号名称
        :param pulumi.Input[builtins.str] main_name: 主体名称
        """
        if account_id is not None:
            pulumi.set(__self__, "account_id", account_id)
        if account_name is not None:
            pulumi.set(__self__, "account_name", account_name)
        if main_name is not None:
            pulumi.set(__self__, "main_name", main_name)

    @property
    @pulumi.getter(name="accountId")
    def account_id(self) -> Optional[pulumi.Input[builtins.int]]:
        """
        账号ID
        """
        return pulumi.get(self, "account_id")

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

    @property
    @pulumi.getter(name="accountName")
    def account_name(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        账号名称
        """
        return pulumi.get(self, "account_name")

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

    @property
    @pulumi.getter(name="mainName")
    def main_name(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        主体名称
        """
        return pulumi.get(self, "main_name")

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


