# 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__ = [
    'EndpointServicePrivateDnsNameConfiguration',
    'EndpointServiceResource',
    'EndpointServiceTag',
    'GetEndpointServicePrivateDnsNameConfigurationResult',
    'GetEndpointServiceResourceResult',
    'GetEndpointServiceTagResult',
]

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

    @property
    @pulumi.getter
    def status(self) -> Optional[builtins.str]:
        """
        域验证状态。PendingVerification：待验证Verifying：验证中Verified：验证通过Failed：验证失败
        """
        return pulumi.get(self, "status")

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

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


@pulumi.output_type
class EndpointServiceResource(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "instanceId":
            suggest = "instance_id"
        elif key == "resourceId":
            suggest = "resource_id"
        elif key == "zoneIds":
            suggest = "zone_ids"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in EndpointServiceResource. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        EndpointServiceResource.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        EndpointServiceResource.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 instance_id: Optional[builtins.str] = None,
                 resource_id: Optional[builtins.str] = None,
                 zone_ids: Optional[Sequence[builtins.str]] = None):
        """
        :param builtins.str instance_id: 终端节点服务ID。
        :param builtins.str resource_id: 待添加到终端节点服务中的服务资源ID。
        :param Sequence[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[builtins.str]:
        """
        终端节点服务ID。
        """
        return pulumi.get(self, "instance_id")

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

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


@pulumi.output_type
class EndpointServiceTag(dict):
    def __init__(__self__, *,
                 key: Optional[builtins.str] = None,
                 value: Optional[builtins.str] = None):
        """
        :param builtins.str key: 终端节点服务标签的标签键。
        :param 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[builtins.str]:
        """
        终端节点服务标签的标签键。
        """
        return pulumi.get(self, "key")

    @property
    @pulumi.getter
    def value(self) -> Optional[builtins.str]:
        """
        终端节点服务标签的标签值。
        """
        return pulumi.get(self, "value")


@pulumi.output_type
class GetEndpointServicePrivateDnsNameConfigurationResult(dict):
    def __init__(__self__, *,
                 name: builtins.str,
                 status: builtins.str,
                 type: builtins.str,
                 value: builtins.str):
        """
        :param builtins.str name: 域验证名称。
        :param builtins.str status: 域验证状态。PendingVerification：待验证Verifying：验证中Verified：验证通过Failed：验证失败
        :param builtins.str type: 域验证类型。TXT：TXT记录。
        :param builtins.str value: 域验证值。
        """
        pulumi.set(__self__, "name", name)
        pulumi.set(__self__, "status", status)
        pulumi.set(__self__, "type", type)
        pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def name(self) -> builtins.str:
        """
        域验证名称。
        """
        return pulumi.get(self, "name")

    @property
    @pulumi.getter
    def status(self) -> builtins.str:
        """
        域验证状态。PendingVerification：待验证Verifying：验证中Verified：验证通过Failed：验证失败
        """
        return pulumi.get(self, "status")

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

    @property
    @pulumi.getter
    def value(self) -> builtins.str:
        """
        域验证值。
        """
        return pulumi.get(self, "value")


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

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

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

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


@pulumi.output_type
class GetEndpointServiceTagResult(dict):
    def __init__(__self__, *,
                 key: builtins.str,
                 value: builtins.str):
        """
        :param builtins.str key: 终端节点服务标签的标签键。
        :param builtins.str value: 终端节点服务标签的标签值。
        """
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def key(self) -> builtins.str:
        """
        终端节点服务标签的标签键。
        """
        return pulumi.get(self, "key")

    @property
    @pulumi.getter
    def value(self) -> builtins.str:
        """
        终端节点服务标签的标签值。
        """
        return pulumi.get(self, "value")


