# 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__ = [
    'EndpointServicePrivateDnsNameConfigurationArgs',
    'EndpointServicePrivateDnsNameConfigurationArgsDict',
    'EndpointServiceResourceArgs',
    'EndpointServiceResourceArgsDict',
    'EndpointServiceTagArgs',
    'EndpointServiceTagArgsDict',
]

MYPY = False

if not MYPY:
    class EndpointServicePrivateDnsNameConfigurationArgsDict(TypedDict):
        name: NotRequired[pulumi.Input[builtins.str]]
        """
        域验证名称。
        """
        status: NotRequired[pulumi.Input[builtins.str]]
        """
        域验证状态。PendingVerification：待验证Verifying：验证中Verified：验证通过Failed：验证失败
        """
        type: NotRequired[pulumi.Input[builtins.str]]
        """
        域验证类型。TXT：TXT记录。
        """
        value: NotRequired[pulumi.Input[builtins.str]]
        """
        域验证值。
        """
elif False:
    EndpointServicePrivateDnsNameConfigurationArgsDict: TypeAlias = Mapping[str, Any]

@pulumi.input_type
class EndpointServicePrivateDnsNameConfigurationArgs:
    def __init__(__self__, *,
                 name: Optional[pulumi.Input[builtins.str]] = None,
                 status: Optional[pulumi.Input[builtins.str]] = None,
                 type: Optional[pulumi.Input[builtins.str]] = None,
                 value: Optional[pulumi.Input[builtins.str]] = None):
        """
        :param pulumi.Input[builtins.str] name: 域验证名称。
        :param pulumi.Input[builtins.str] status: 域验证状态。PendingVerification：待验证Verifying：验证中Verified：验证通过Failed：验证失败
        :param pulumi.Input[builtins.str] type: 域验证类型。TXT：TXT记录。
        :param pulumi.Input[builtins.str] value: 域验证值。
        """
        if name is not None:
            pulumi.set(__self__, "name", name)
        if status is not None:
            pulumi.set(__self__, "status", status)
        if type is not None:
            pulumi.set(__self__, "type", type)
        if value is not None:
            pulumi.set(__self__, "value", 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 status(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        域验证状态。PendingVerification：待验证Verifying：验证中Verified：验证通过Failed：验证失败
        """
        return pulumi.get(self, "status")

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

    @property
    @pulumi.getter
    def type(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        域验证类型。TXT：TXT记录。
        """
        return pulumi.get(self, "type")

    @type.setter
    def type(self, value: Optional[pulumi.Input[builtins.str]]):
        pulumi.set(self, "type", 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 EndpointServiceResourceArgsDict(TypedDict):
        instance_id: NotRequired[pulumi.Input[builtins.str]]
        """
        终端节点服务ID。
        """
        resource_id: NotRequired[pulumi.Input[builtins.str]]
        """
        待添加到终端节点服务中的服务资源ID。
        """
        zone_ids: NotRequired[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]
        """
        负载均衡提供服务的可用区。
        """
elif False:
    EndpointServiceResourceArgsDict: TypeAlias = Mapping[str, Any]

@pulumi.input_type
class EndpointServiceResourceArgs:
    def __init__(__self__, *,
                 instance_id: Optional[pulumi.Input[builtins.str]] = None,
                 resource_id: Optional[pulumi.Input[builtins.str]] = None,
                 zone_ids: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None):
        """
        :param pulumi.Input[builtins.str] instance_id: 终端节点服务ID。
        :param pulumi.Input[builtins.str] resource_id: 待添加到终端节点服务中的服务资源ID。
        :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] zone_ids: 负载均衡提供服务的可用区。
        """
        if instance_id is not None:
            pulumi.set(__self__, "instance_id", instance_id)
        if resource_id is not None:
            pulumi.set(__self__, "resource_id", resource_id)
        if zone_ids is not None:
            pulumi.set(__self__, "zone_ids", zone_ids)

    @property
    @pulumi.getter(name="instanceId")
    def instance_id(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        终端节点服务ID。
        """
        return pulumi.get(self, "instance_id")

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

    @property
    @pulumi.getter(name="resourceId")
    def resource_id(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        待添加到终端节点服务中的服务资源ID。
        """
        return pulumi.get(self, "resource_id")

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

    @property
    @pulumi.getter(name="zoneIds")
    def zone_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
        """
        负载均衡提供服务的可用区。
        """
        return pulumi.get(self, "zone_ids")

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


if not MYPY:
    class EndpointServiceTagArgsDict(TypedDict):
        key: NotRequired[pulumi.Input[builtins.str]]
        """
        终端节点服务标签的标签键。
        """
        value: NotRequired[pulumi.Input[builtins.str]]
        """
        终端节点服务标签的标签值。
        """
elif False:
    EndpointServiceTagArgsDict: TypeAlias = Mapping[str, Any]

@pulumi.input_type
class EndpointServiceTagArgs:
    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)


