# 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
from . import outputs

__all__ = [
    'AllowListAssociatedInstance',
    'InstanceConfigServer',
    'InstanceMongo',
    'InstanceNode',
    'InstanceNodeAvailabilityZone',
    'InstanceShard',
    'InstanceShardNode',
    'InstanceTag',
    'GetAllowListAssociatedInstanceResult',
    'GetInstanceConfigServerResult',
    'GetInstanceMongoResult',
    'GetInstanceNodeResult',
    'GetInstanceNodeAvailabilityZoneResult',
    'GetInstanceShardResult',
    'GetInstanceShardNodeResult',
    'GetInstanceTagResult',
]

@pulumi.output_type
class AllowListAssociatedInstance(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "instanceId":
            suggest = "instance_id"
        elif key == "instanceName":
            suggest = "instance_name"
        elif key == "projectName":
            suggest = "project_name"

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

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

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

    def __init__(__self__, *,
                 instance_id: Optional[builtins.str] = None,
                 instance_name: Optional[builtins.str] = None,
                 project_name: Optional[builtins.str] = None,
                 vpc: Optional[builtins.str] = None):
        """
        :param builtins.str instance_id: 已绑定当前白名单的实例 ID。
        :param builtins.str instance_name: 已绑定当前白名单的实例名称。
        :param builtins.str project_name: 实例所属的项目名称。
        :param builtins.str vpc: 实例所属的私有网络 ID。
        """
        if instance_id is not None:
            pulumi.set(__self__, "instance_id", instance_id)
        if instance_name is not None:
            pulumi.set(__self__, "instance_name", instance_name)
        if project_name is not None:
            pulumi.set(__self__, "project_name", project_name)
        if vpc is not None:
            pulumi.set(__self__, "vpc", vpc)

    @property
    @pulumi.getter(name="instanceId")
    def instance_id(self) -> Optional[builtins.str]:
        """
        已绑定当前白名单的实例 ID。
        """
        return pulumi.get(self, "instance_id")

    @property
    @pulumi.getter(name="instanceName")
    def instance_name(self) -> Optional[builtins.str]:
        """
        已绑定当前白名单的实例名称。
        """
        return pulumi.get(self, "instance_name")

    @property
    @pulumi.getter(name="projectName")
    def project_name(self) -> Optional[builtins.str]:
        """
        实例所属的项目名称。
        """
        return pulumi.get(self, "project_name")

    @property
    @pulumi.getter
    def vpc(self) -> Optional[builtins.str]:
        """
        实例所属的私有网络 ID。
        """
        return pulumi.get(self, "vpc")


@pulumi.output_type
class InstanceConfigServer(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "configServerNodeId":
            suggest = "config_server_node_id"
        elif key == "nodeRole":
            suggest = "node_role"
        elif key == "nodeStatus":
            suggest = "node_status"
        elif key == "totalMemoryGb":
            suggest = "total_memory_gb"
        elif key == "totalvCpu":
            suggest = "totalv_cpu"
        elif key == "usedMemoryGb":
            suggest = "used_memory_gb"
        elif key == "usedvCpu":
            suggest = "usedv_cpu"
        elif key == "zoneId":
            suggest = "zone_id"

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

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

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

    def __init__(__self__, *,
                 config_server_node_id: Optional[builtins.str] = None,
                 node_role: Optional[builtins.str] = None,
                 node_status: Optional[builtins.str] = None,
                 total_memory_gb: Optional[builtins.float] = None,
                 totalv_cpu: Optional[builtins.float] = None,
                 used_memory_gb: Optional[builtins.float] = None,
                 usedv_cpu: Optional[builtins.float] = None,
                 zone_id: Optional[builtins.str] = None):
        """
        :param builtins.str config_server_node_id: ConfigServer 的节点 ID。
        :param builtins.str node_role: 节点角色，取值范围如下：Primary：主节点。Secondary：从节点。Hidden：隐藏节点。
        :param builtins.str node_status: 节点状态。
        :param builtins.float total_memory_gb: 总内存。单位：GiB。
        :param builtins.float totalv_cpu: 总核数。
        :param builtins.float used_memory_gb: 已用内存。单位：GiB。
        :param builtins.float usedv_cpu: 已用核数。
        :param builtins.str zone_id: 当前节点所属的可用区 ID。
        """
        if config_server_node_id is not None:
            pulumi.set(__self__, "config_server_node_id", config_server_node_id)
        if node_role is not None:
            pulumi.set(__self__, "node_role", node_role)
        if node_status is not None:
            pulumi.set(__self__, "node_status", node_status)
        if total_memory_gb is not None:
            pulumi.set(__self__, "total_memory_gb", total_memory_gb)
        if totalv_cpu is not None:
            pulumi.set(__self__, "totalv_cpu", totalv_cpu)
        if used_memory_gb is not None:
            pulumi.set(__self__, "used_memory_gb", used_memory_gb)
        if usedv_cpu is not None:
            pulumi.set(__self__, "usedv_cpu", usedv_cpu)
        if zone_id is not None:
            pulumi.set(__self__, "zone_id", zone_id)

    @property
    @pulumi.getter(name="configServerNodeId")
    def config_server_node_id(self) -> Optional[builtins.str]:
        """
        ConfigServer 的节点 ID。
        """
        return pulumi.get(self, "config_server_node_id")

    @property
    @pulumi.getter(name="nodeRole")
    def node_role(self) -> Optional[builtins.str]:
        """
        节点角色，取值范围如下：Primary：主节点。Secondary：从节点。Hidden：隐藏节点。
        """
        return pulumi.get(self, "node_role")

    @property
    @pulumi.getter(name="nodeStatus")
    def node_status(self) -> Optional[builtins.str]:
        """
        节点状态。
        """
        return pulumi.get(self, "node_status")

    @property
    @pulumi.getter(name="totalMemoryGb")
    def total_memory_gb(self) -> Optional[builtins.float]:
        """
        总内存。单位：GiB。
        """
        return pulumi.get(self, "total_memory_gb")

    @property
    @pulumi.getter(name="totalvCpu")
    def totalv_cpu(self) -> Optional[builtins.float]:
        """
        总核数。
        """
        return pulumi.get(self, "totalv_cpu")

    @property
    @pulumi.getter(name="usedMemoryGb")
    def used_memory_gb(self) -> Optional[builtins.float]:
        """
        已用内存。单位：GiB。
        """
        return pulumi.get(self, "used_memory_gb")

    @property
    @pulumi.getter(name="usedvCpu")
    def usedv_cpu(self) -> Optional[builtins.float]:
        """
        已用核数。
        """
        return pulumi.get(self, "usedv_cpu")

    @property
    @pulumi.getter(name="zoneId")
    def zone_id(self) -> Optional[builtins.str]:
        """
        当前节点所属的可用区 ID。
        """
        return pulumi.get(self, "zone_id")


@pulumi.output_type
class InstanceMongo(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "mongosNodeId":
            suggest = "mongos_node_id"
        elif key == "nodeSpec":
            suggest = "node_spec"
        elif key == "nodeStatus":
            suggest = "node_status"
        elif key == "totalMemoryGb":
            suggest = "total_memory_gb"
        elif key == "totalvCpu":
            suggest = "totalv_cpu"
        elif key == "usedMemoryGb":
            suggest = "used_memory_gb"
        elif key == "usedvCpu":
            suggest = "usedv_cpu"
        elif key == "zoneId":
            suggest = "zone_id"

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

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

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

    def __init__(__self__, *,
                 mongos_node_id: Optional[builtins.str] = None,
                 node_spec: Optional[builtins.str] = None,
                 node_status: Optional[builtins.str] = None,
                 total_memory_gb: Optional[builtins.float] = None,
                 totalv_cpu: Optional[builtins.float] = None,
                 used_memory_gb: Optional[builtins.float] = None,
                 usedv_cpu: Optional[builtins.float] = None,
                 zone_id: Optional[builtins.str] = None):
        """
        :param builtins.str mongos_node_id: Mongos 的节点 ID。
        :param builtins.str node_spec: 节点规格。
        :param builtins.str node_status: 节点状态。
        :param builtins.float total_memory_gb: 总内存。单位：GiB。
        :param builtins.float totalv_cpu: 总核数。
        :param builtins.float used_memory_gb: 已用内存。单位：GiB。
        :param builtins.float usedv_cpu: 已用核数。
        :param builtins.str zone_id: 当前节点所属的可用区 ID。
        """
        if mongos_node_id is not None:
            pulumi.set(__self__, "mongos_node_id", mongos_node_id)
        if node_spec is not None:
            pulumi.set(__self__, "node_spec", node_spec)
        if node_status is not None:
            pulumi.set(__self__, "node_status", node_status)
        if total_memory_gb is not None:
            pulumi.set(__self__, "total_memory_gb", total_memory_gb)
        if totalv_cpu is not None:
            pulumi.set(__self__, "totalv_cpu", totalv_cpu)
        if used_memory_gb is not None:
            pulumi.set(__self__, "used_memory_gb", used_memory_gb)
        if usedv_cpu is not None:
            pulumi.set(__self__, "usedv_cpu", usedv_cpu)
        if zone_id is not None:
            pulumi.set(__self__, "zone_id", zone_id)

    @property
    @pulumi.getter(name="mongosNodeId")
    def mongos_node_id(self) -> Optional[builtins.str]:
        """
        Mongos 的节点 ID。
        """
        return pulumi.get(self, "mongos_node_id")

    @property
    @pulumi.getter(name="nodeSpec")
    def node_spec(self) -> Optional[builtins.str]:
        """
        节点规格。
        """
        return pulumi.get(self, "node_spec")

    @property
    @pulumi.getter(name="nodeStatus")
    def node_status(self) -> Optional[builtins.str]:
        """
        节点状态。
        """
        return pulumi.get(self, "node_status")

    @property
    @pulumi.getter(name="totalMemoryGb")
    def total_memory_gb(self) -> Optional[builtins.float]:
        """
        总内存。单位：GiB。
        """
        return pulumi.get(self, "total_memory_gb")

    @property
    @pulumi.getter(name="totalvCpu")
    def totalv_cpu(self) -> Optional[builtins.float]:
        """
        总核数。
        """
        return pulumi.get(self, "totalv_cpu")

    @property
    @pulumi.getter(name="usedMemoryGb")
    def used_memory_gb(self) -> Optional[builtins.float]:
        """
        已用内存。单位：GiB。
        """
        return pulumi.get(self, "used_memory_gb")

    @property
    @pulumi.getter(name="usedvCpu")
    def usedv_cpu(self) -> Optional[builtins.float]:
        """
        已用核数。
        """
        return pulumi.get(self, "usedv_cpu")

    @property
    @pulumi.getter(name="zoneId")
    def zone_id(self) -> Optional[builtins.str]:
        """
        当前节点所属的可用区 ID。
        """
        return pulumi.get(self, "zone_id")


@pulumi.output_type
class InstanceNode(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "nodeDelayTime":
            suggest = "node_delay_time"
        elif key == "nodeId":
            suggest = "node_id"
        elif key == "nodeRole":
            suggest = "node_role"
        elif key == "nodeSpec":
            suggest = "node_spec"
        elif key == "nodeStatus":
            suggest = "node_status"
        elif key == "totalMemoryGb":
            suggest = "total_memory_gb"
        elif key == "totalStorageGb":
            suggest = "total_storage_gb"
        elif key == "totalvCpu":
            suggest = "totalv_cpu"
        elif key == "usedMemoryGb":
            suggest = "used_memory_gb"
        elif key == "usedStorageGb":
            suggest = "used_storage_gb"
        elif key == "usedvCpu":
            suggest = "usedv_cpu"
        elif key == "zoneId":
            suggest = "zone_id"

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

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

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

    def __init__(__self__, *,
                 node_delay_time: Optional[builtins.int] = None,
                 node_id: Optional[builtins.str] = None,
                 node_role: Optional[builtins.str] = None,
                 node_spec: Optional[builtins.str] = None,
                 node_status: Optional[builtins.str] = None,
                 total_memory_gb: Optional[builtins.float] = None,
                 total_storage_gb: Optional[builtins.float] = None,
                 totalv_cpu: Optional[builtins.float] = None,
                 used_memory_gb: Optional[builtins.float] = None,
                 used_storage_gb: Optional[builtins.float] = None,
                 usedv_cpu: Optional[builtins.float] = None,
                 zone_id: Optional[builtins.str] = None):
        """
        :param builtins.int node_delay_time: 节点延迟时间。单位：秒。
        :param builtins.str node_id: 节点 ID。
        :param builtins.str node_role: 节点角色，取值范围如下：Primary：主节点。Secondary：从节点。Hidden：隐藏节点。ReadOnly：只读节点。
        :param builtins.str node_spec: 节点规格。
        :param builtins.str node_status: 节点状态。
        :param builtins.float total_memory_gb: 总内存。单位：GiB。
        :param builtins.float total_storage_gb: 该节点的总存储空间。单位：GiB。
        :param builtins.float totalv_cpu: 总核数。
        :param builtins.float used_memory_gb: 已用内存。单位：GiB。
        :param builtins.float used_storage_gb: 该节点已用的存储空间。单位：GiB。
        :param builtins.float usedv_cpu: 已用核数。
        :param builtins.str zone_id: 当前节点所属的可用区 ID。
        """
        if node_delay_time is not None:
            pulumi.set(__self__, "node_delay_time", node_delay_time)
        if node_id is not None:
            pulumi.set(__self__, "node_id", node_id)
        if node_role is not None:
            pulumi.set(__self__, "node_role", node_role)
        if node_spec is not None:
            pulumi.set(__self__, "node_spec", node_spec)
        if node_status is not None:
            pulumi.set(__self__, "node_status", node_status)
        if total_memory_gb is not None:
            pulumi.set(__self__, "total_memory_gb", total_memory_gb)
        if total_storage_gb is not None:
            pulumi.set(__self__, "total_storage_gb", total_storage_gb)
        if totalv_cpu is not None:
            pulumi.set(__self__, "totalv_cpu", totalv_cpu)
        if used_memory_gb is not None:
            pulumi.set(__self__, "used_memory_gb", used_memory_gb)
        if used_storage_gb is not None:
            pulumi.set(__self__, "used_storage_gb", used_storage_gb)
        if usedv_cpu is not None:
            pulumi.set(__self__, "usedv_cpu", usedv_cpu)
        if zone_id is not None:
            pulumi.set(__self__, "zone_id", zone_id)

    @property
    @pulumi.getter(name="nodeDelayTime")
    def node_delay_time(self) -> Optional[builtins.int]:
        """
        节点延迟时间。单位：秒。
        """
        return pulumi.get(self, "node_delay_time")

    @property
    @pulumi.getter(name="nodeId")
    def node_id(self) -> Optional[builtins.str]:
        """
        节点 ID。
        """
        return pulumi.get(self, "node_id")

    @property
    @pulumi.getter(name="nodeRole")
    def node_role(self) -> Optional[builtins.str]:
        """
        节点角色，取值范围如下：Primary：主节点。Secondary：从节点。Hidden：隐藏节点。ReadOnly：只读节点。
        """
        return pulumi.get(self, "node_role")

    @property
    @pulumi.getter(name="nodeSpec")
    def node_spec(self) -> Optional[builtins.str]:
        """
        节点规格。
        """
        return pulumi.get(self, "node_spec")

    @property
    @pulumi.getter(name="nodeStatus")
    def node_status(self) -> Optional[builtins.str]:
        """
        节点状态。
        """
        return pulumi.get(self, "node_status")

    @property
    @pulumi.getter(name="totalMemoryGb")
    def total_memory_gb(self) -> Optional[builtins.float]:
        """
        总内存。单位：GiB。
        """
        return pulumi.get(self, "total_memory_gb")

    @property
    @pulumi.getter(name="totalStorageGb")
    def total_storage_gb(self) -> Optional[builtins.float]:
        """
        该节点的总存储空间。单位：GiB。
        """
        return pulumi.get(self, "total_storage_gb")

    @property
    @pulumi.getter(name="totalvCpu")
    def totalv_cpu(self) -> Optional[builtins.float]:
        """
        总核数。
        """
        return pulumi.get(self, "totalv_cpu")

    @property
    @pulumi.getter(name="usedMemoryGb")
    def used_memory_gb(self) -> Optional[builtins.float]:
        """
        已用内存。单位：GiB。
        """
        return pulumi.get(self, "used_memory_gb")

    @property
    @pulumi.getter(name="usedStorageGb")
    def used_storage_gb(self) -> Optional[builtins.float]:
        """
        该节点已用的存储空间。单位：GiB。
        """
        return pulumi.get(self, "used_storage_gb")

    @property
    @pulumi.getter(name="usedvCpu")
    def usedv_cpu(self) -> Optional[builtins.float]:
        """
        已用核数。
        """
        return pulumi.get(self, "usedv_cpu")

    @property
    @pulumi.getter(name="zoneId")
    def zone_id(self) -> Optional[builtins.str]:
        """
        当前节点所属的可用区 ID。
        """
        return pulumi.get(self, "zone_id")


@pulumi.output_type
class InstanceNodeAvailabilityZone(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "nodeNumber":
            suggest = "node_number"
        elif key == "zoneId":
            suggest = "zone_id"

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

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

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

    def __init__(__self__, *,
                 node_number: Optional[builtins.int] = None,
                 zone_id: Optional[builtins.str] = None):
        """
        :param builtins.int node_number: 当前可用区中需要添加的只读节点数量。当前仅副本集实例和分片集群实例中 Shard 分片支持添加只读节点。其中：当实例类型为副本集（即 InstanceType 取值为 ReplicaSet）时，该值表示单个副本集实例中的只读节点总数量。每个副本集实例最多支持添加 5 个只读节点。当实例类型为分片集群（即 InstanceType 取值为 ShardedCluster）时，该值表示每个 Shard 分片中的只读节点数量。每个 Shard 分片最多添加 5 个只读节点。
        :param builtins.str zone_id: 只读节点所在的可用区。
        """
        if node_number is not None:
            pulumi.set(__self__, "node_number", node_number)
        if zone_id is not None:
            pulumi.set(__self__, "zone_id", zone_id)

    @property
    @pulumi.getter(name="nodeNumber")
    def node_number(self) -> Optional[builtins.int]:
        """
        当前可用区中需要添加的只读节点数量。当前仅副本集实例和分片集群实例中 Shard 分片支持添加只读节点。其中：当实例类型为副本集（即 InstanceType 取值为 ReplicaSet）时，该值表示单个副本集实例中的只读节点总数量。每个副本集实例最多支持添加 5 个只读节点。当实例类型为分片集群（即 InstanceType 取值为 ShardedCluster）时，该值表示每个 Shard 分片中的只读节点数量。每个 Shard 分片最多添加 5 个只读节点。
        """
        return pulumi.get(self, "node_number")

    @property
    @pulumi.getter(name="zoneId")
    def zone_id(self) -> Optional[builtins.str]:
        """
        只读节点所在的可用区。
        """
        return pulumi.get(self, "zone_id")


@pulumi.output_type
class InstanceShard(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "shardId":
            suggest = "shard_id"

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

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

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

    def __init__(__self__, *,
                 nodes: Optional[Sequence['outputs.InstanceShardNode']] = None,
                 shard_id: Optional[builtins.str] = None):
        """
        :param builtins.str shard_id: Shard 节点的 ID。
        """
        if nodes is not None:
            pulumi.set(__self__, "nodes", nodes)
        if shard_id is not None:
            pulumi.set(__self__, "shard_id", shard_id)

    @property
    @pulumi.getter
    def nodes(self) -> Optional[Sequence['outputs.InstanceShardNode']]:
        return pulumi.get(self, "nodes")

    @property
    @pulumi.getter(name="shardId")
    def shard_id(self) -> Optional[builtins.str]:
        """
        Shard 节点的 ID。
        """
        return pulumi.get(self, "shard_id")


@pulumi.output_type
class InstanceShardNode(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "nodeDelayTime":
            suggest = "node_delay_time"
        elif key == "nodeId":
            suggest = "node_id"
        elif key == "nodeRole":
            suggest = "node_role"
        elif key == "nodeSpec":
            suggest = "node_spec"
        elif key == "nodeStatus":
            suggest = "node_status"
        elif key == "totalMemoryGb":
            suggest = "total_memory_gb"
        elif key == "totalStorageGb":
            suggest = "total_storage_gb"
        elif key == "totalvCpu":
            suggest = "totalv_cpu"
        elif key == "usedMemoryGb":
            suggest = "used_memory_gb"
        elif key == "usedStorageGb":
            suggest = "used_storage_gb"
        elif key == "usedvCpu":
            suggest = "usedv_cpu"
        elif key == "zoneId":
            suggest = "zone_id"

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

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

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

    def __init__(__self__, *,
                 node_delay_time: Optional[builtins.int] = None,
                 node_id: Optional[builtins.str] = None,
                 node_role: Optional[builtins.str] = None,
                 node_spec: Optional[builtins.str] = None,
                 node_status: Optional[builtins.str] = None,
                 total_memory_gb: Optional[builtins.float] = None,
                 total_storage_gb: Optional[builtins.float] = None,
                 totalv_cpu: Optional[builtins.float] = None,
                 used_memory_gb: Optional[builtins.float] = None,
                 used_storage_gb: Optional[builtins.float] = None,
                 usedv_cpu: Optional[builtins.float] = None,
                 zone_id: Optional[builtins.str] = None):
        """
        :param builtins.int node_delay_time: 节点延迟时间。单位：秒。
        :param builtins.str node_id: 节点 ID。
        :param builtins.str node_role: 节点角色，取值范围如下：Primary：主节点。Secondary：从节点。Hidden：隐藏节点。ReadOnly：只读节点。
        :param builtins.str node_spec: 节点规格。
        :param builtins.str node_status: 节点状态。
        :param builtins.float total_memory_gb: 总内存。单位：GiB。
        :param builtins.float total_storage_gb: 该节点的总存储空间。单位：GiB。
        :param builtins.float totalv_cpu: 总核数。
        :param builtins.float used_memory_gb: 已用内存。单位：GiB。
        :param builtins.float used_storage_gb: 该节点已用的存储空间。单位：GiB。
        :param builtins.float usedv_cpu: 已用核数。
        :param builtins.str zone_id: 当前节点所属的可用区 ID。
        """
        if node_delay_time is not None:
            pulumi.set(__self__, "node_delay_time", node_delay_time)
        if node_id is not None:
            pulumi.set(__self__, "node_id", node_id)
        if node_role is not None:
            pulumi.set(__self__, "node_role", node_role)
        if node_spec is not None:
            pulumi.set(__self__, "node_spec", node_spec)
        if node_status is not None:
            pulumi.set(__self__, "node_status", node_status)
        if total_memory_gb is not None:
            pulumi.set(__self__, "total_memory_gb", total_memory_gb)
        if total_storage_gb is not None:
            pulumi.set(__self__, "total_storage_gb", total_storage_gb)
        if totalv_cpu is not None:
            pulumi.set(__self__, "totalv_cpu", totalv_cpu)
        if used_memory_gb is not None:
            pulumi.set(__self__, "used_memory_gb", used_memory_gb)
        if used_storage_gb is not None:
            pulumi.set(__self__, "used_storage_gb", used_storage_gb)
        if usedv_cpu is not None:
            pulumi.set(__self__, "usedv_cpu", usedv_cpu)
        if zone_id is not None:
            pulumi.set(__self__, "zone_id", zone_id)

    @property
    @pulumi.getter(name="nodeDelayTime")
    def node_delay_time(self) -> Optional[builtins.int]:
        """
        节点延迟时间。单位：秒。
        """
        return pulumi.get(self, "node_delay_time")

    @property
    @pulumi.getter(name="nodeId")
    def node_id(self) -> Optional[builtins.str]:
        """
        节点 ID。
        """
        return pulumi.get(self, "node_id")

    @property
    @pulumi.getter(name="nodeRole")
    def node_role(self) -> Optional[builtins.str]:
        """
        节点角色，取值范围如下：Primary：主节点。Secondary：从节点。Hidden：隐藏节点。ReadOnly：只读节点。
        """
        return pulumi.get(self, "node_role")

    @property
    @pulumi.getter(name="nodeSpec")
    def node_spec(self) -> Optional[builtins.str]:
        """
        节点规格。
        """
        return pulumi.get(self, "node_spec")

    @property
    @pulumi.getter(name="nodeStatus")
    def node_status(self) -> Optional[builtins.str]:
        """
        节点状态。
        """
        return pulumi.get(self, "node_status")

    @property
    @pulumi.getter(name="totalMemoryGb")
    def total_memory_gb(self) -> Optional[builtins.float]:
        """
        总内存。单位：GiB。
        """
        return pulumi.get(self, "total_memory_gb")

    @property
    @pulumi.getter(name="totalStorageGb")
    def total_storage_gb(self) -> Optional[builtins.float]:
        """
        该节点的总存储空间。单位：GiB。
        """
        return pulumi.get(self, "total_storage_gb")

    @property
    @pulumi.getter(name="totalvCpu")
    def totalv_cpu(self) -> Optional[builtins.float]:
        """
        总核数。
        """
        return pulumi.get(self, "totalv_cpu")

    @property
    @pulumi.getter(name="usedMemoryGb")
    def used_memory_gb(self) -> Optional[builtins.float]:
        """
        已用内存。单位：GiB。
        """
        return pulumi.get(self, "used_memory_gb")

    @property
    @pulumi.getter(name="usedStorageGb")
    def used_storage_gb(self) -> Optional[builtins.float]:
        """
        该节点已用的存储空间。单位：GiB。
        """
        return pulumi.get(self, "used_storage_gb")

    @property
    @pulumi.getter(name="usedvCpu")
    def usedv_cpu(self) -> Optional[builtins.float]:
        """
        已用核数。
        """
        return pulumi.get(self, "usedv_cpu")

    @property
    @pulumi.getter(name="zoneId")
    def zone_id(self) -> Optional[builtins.str]:
        """
        当前节点所属的可用区 ID。
        """
        return pulumi.get(self, "zone_id")


@pulumi.output_type
class InstanceTag(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 GetAllowListAssociatedInstanceResult(dict):
    def __init__(__self__, *,
                 instance_id: builtins.str,
                 instance_name: builtins.str,
                 project_name: builtins.str,
                 vpc: builtins.str):
        """
        :param builtins.str instance_id: 已绑定当前白名单的实例 ID。
        :param builtins.str instance_name: 已绑定当前白名单的实例名称。
        :param builtins.str project_name: 实例所属的项目名称。
        :param builtins.str vpc: 实例所属的私有网络 ID。
        """
        pulumi.set(__self__, "instance_id", instance_id)
        pulumi.set(__self__, "instance_name", instance_name)
        pulumi.set(__self__, "project_name", project_name)
        pulumi.set(__self__, "vpc", vpc)

    @property
    @pulumi.getter(name="instanceId")
    def instance_id(self) -> builtins.str:
        """
        已绑定当前白名单的实例 ID。
        """
        return pulumi.get(self, "instance_id")

    @property
    @pulumi.getter(name="instanceName")
    def instance_name(self) -> builtins.str:
        """
        已绑定当前白名单的实例名称。
        """
        return pulumi.get(self, "instance_name")

    @property
    @pulumi.getter(name="projectName")
    def project_name(self) -> builtins.str:
        """
        实例所属的项目名称。
        """
        return pulumi.get(self, "project_name")

    @property
    @pulumi.getter
    def vpc(self) -> builtins.str:
        """
        实例所属的私有网络 ID。
        """
        return pulumi.get(self, "vpc")


@pulumi.output_type
class GetInstanceConfigServerResult(dict):
    def __init__(__self__, *,
                 config_server_node_id: builtins.str,
                 node_role: builtins.str,
                 node_status: builtins.str,
                 total_memory_gb: builtins.float,
                 totalv_cpu: builtins.float,
                 used_memory_gb: builtins.float,
                 usedv_cpu: builtins.float,
                 zone_id: builtins.str):
        """
        :param builtins.str config_server_node_id: ConfigServer 的节点 ID。
        :param builtins.str node_role: 节点角色，取值范围如下：Primary：主节点。Secondary：从节点。Hidden：隐藏节点。
        :param builtins.str node_status: 节点状态。
        :param builtins.float total_memory_gb: 总内存。单位：GiB。
        :param builtins.float totalv_cpu: 总核数。
        :param builtins.float used_memory_gb: 已用内存。单位：GiB。
        :param builtins.float usedv_cpu: 已用核数。
        :param builtins.str zone_id: 当前节点所属的可用区 ID。
        """
        pulumi.set(__self__, "config_server_node_id", config_server_node_id)
        pulumi.set(__self__, "node_role", node_role)
        pulumi.set(__self__, "node_status", node_status)
        pulumi.set(__self__, "total_memory_gb", total_memory_gb)
        pulumi.set(__self__, "totalv_cpu", totalv_cpu)
        pulumi.set(__self__, "used_memory_gb", used_memory_gb)
        pulumi.set(__self__, "usedv_cpu", usedv_cpu)
        pulumi.set(__self__, "zone_id", zone_id)

    @property
    @pulumi.getter(name="configServerNodeId")
    def config_server_node_id(self) -> builtins.str:
        """
        ConfigServer 的节点 ID。
        """
        return pulumi.get(self, "config_server_node_id")

    @property
    @pulumi.getter(name="nodeRole")
    def node_role(self) -> builtins.str:
        """
        节点角色，取值范围如下：Primary：主节点。Secondary：从节点。Hidden：隐藏节点。
        """
        return pulumi.get(self, "node_role")

    @property
    @pulumi.getter(name="nodeStatus")
    def node_status(self) -> builtins.str:
        """
        节点状态。
        """
        return pulumi.get(self, "node_status")

    @property
    @pulumi.getter(name="totalMemoryGb")
    def total_memory_gb(self) -> builtins.float:
        """
        总内存。单位：GiB。
        """
        return pulumi.get(self, "total_memory_gb")

    @property
    @pulumi.getter(name="totalvCpu")
    def totalv_cpu(self) -> builtins.float:
        """
        总核数。
        """
        return pulumi.get(self, "totalv_cpu")

    @property
    @pulumi.getter(name="usedMemoryGb")
    def used_memory_gb(self) -> builtins.float:
        """
        已用内存。单位：GiB。
        """
        return pulumi.get(self, "used_memory_gb")

    @property
    @pulumi.getter(name="usedvCpu")
    def usedv_cpu(self) -> builtins.float:
        """
        已用核数。
        """
        return pulumi.get(self, "usedv_cpu")

    @property
    @pulumi.getter(name="zoneId")
    def zone_id(self) -> builtins.str:
        """
        当前节点所属的可用区 ID。
        """
        return pulumi.get(self, "zone_id")


@pulumi.output_type
class GetInstanceMongoResult(dict):
    def __init__(__self__, *,
                 mongos_node_id: builtins.str,
                 node_spec: builtins.str,
                 node_status: builtins.str,
                 total_memory_gb: builtins.float,
                 totalv_cpu: builtins.float,
                 used_memory_gb: builtins.float,
                 usedv_cpu: builtins.float,
                 zone_id: builtins.str):
        """
        :param builtins.str mongos_node_id: Mongos 的节点 ID。
        :param builtins.str node_spec: 节点规格。
        :param builtins.str node_status: 节点状态。
        :param builtins.float total_memory_gb: 总内存。单位：GiB。
        :param builtins.float totalv_cpu: 总核数。
        :param builtins.float used_memory_gb: 已用内存。单位：GiB。
        :param builtins.float usedv_cpu: 已用核数。
        :param builtins.str zone_id: 当前节点所属的可用区 ID。
        """
        pulumi.set(__self__, "mongos_node_id", mongos_node_id)
        pulumi.set(__self__, "node_spec", node_spec)
        pulumi.set(__self__, "node_status", node_status)
        pulumi.set(__self__, "total_memory_gb", total_memory_gb)
        pulumi.set(__self__, "totalv_cpu", totalv_cpu)
        pulumi.set(__self__, "used_memory_gb", used_memory_gb)
        pulumi.set(__self__, "usedv_cpu", usedv_cpu)
        pulumi.set(__self__, "zone_id", zone_id)

    @property
    @pulumi.getter(name="mongosNodeId")
    def mongos_node_id(self) -> builtins.str:
        """
        Mongos 的节点 ID。
        """
        return pulumi.get(self, "mongos_node_id")

    @property
    @pulumi.getter(name="nodeSpec")
    def node_spec(self) -> builtins.str:
        """
        节点规格。
        """
        return pulumi.get(self, "node_spec")

    @property
    @pulumi.getter(name="nodeStatus")
    def node_status(self) -> builtins.str:
        """
        节点状态。
        """
        return pulumi.get(self, "node_status")

    @property
    @pulumi.getter(name="totalMemoryGb")
    def total_memory_gb(self) -> builtins.float:
        """
        总内存。单位：GiB。
        """
        return pulumi.get(self, "total_memory_gb")

    @property
    @pulumi.getter(name="totalvCpu")
    def totalv_cpu(self) -> builtins.float:
        """
        总核数。
        """
        return pulumi.get(self, "totalv_cpu")

    @property
    @pulumi.getter(name="usedMemoryGb")
    def used_memory_gb(self) -> builtins.float:
        """
        已用内存。单位：GiB。
        """
        return pulumi.get(self, "used_memory_gb")

    @property
    @pulumi.getter(name="usedvCpu")
    def usedv_cpu(self) -> builtins.float:
        """
        已用核数。
        """
        return pulumi.get(self, "usedv_cpu")

    @property
    @pulumi.getter(name="zoneId")
    def zone_id(self) -> builtins.str:
        """
        当前节点所属的可用区 ID。
        """
        return pulumi.get(self, "zone_id")


@pulumi.output_type
class GetInstanceNodeResult(dict):
    def __init__(__self__, *,
                 node_delay_time: builtins.int,
                 node_id: builtins.str,
                 node_role: builtins.str,
                 node_spec: builtins.str,
                 node_status: builtins.str,
                 total_memory_gb: builtins.float,
                 total_storage_gb: builtins.float,
                 totalv_cpu: builtins.float,
                 used_memory_gb: builtins.float,
                 used_storage_gb: builtins.float,
                 usedv_cpu: builtins.float,
                 zone_id: builtins.str):
        """
        :param builtins.int node_delay_time: 节点延迟时间。单位：秒。
        :param builtins.str node_id: 节点 ID。
        :param builtins.str node_role: 节点角色，取值范围如下：Primary：主节点。Secondary：从节点。Hidden：隐藏节点。ReadOnly：只读节点。
        :param builtins.str node_spec: 节点规格。
        :param builtins.str node_status: 节点状态。
        :param builtins.float total_memory_gb: 总内存。单位：GiB。
        :param builtins.float total_storage_gb: 该节点的总存储空间。单位：GiB。
        :param builtins.float totalv_cpu: 总核数。
        :param builtins.float used_memory_gb: 已用内存。单位：GiB。
        :param builtins.float used_storage_gb: 该节点已用的存储空间。单位：GiB。
        :param builtins.float usedv_cpu: 已用核数。
        :param builtins.str zone_id: 当前节点所属的可用区 ID。
        """
        pulumi.set(__self__, "node_delay_time", node_delay_time)
        pulumi.set(__self__, "node_id", node_id)
        pulumi.set(__self__, "node_role", node_role)
        pulumi.set(__self__, "node_spec", node_spec)
        pulumi.set(__self__, "node_status", node_status)
        pulumi.set(__self__, "total_memory_gb", total_memory_gb)
        pulumi.set(__self__, "total_storage_gb", total_storage_gb)
        pulumi.set(__self__, "totalv_cpu", totalv_cpu)
        pulumi.set(__self__, "used_memory_gb", used_memory_gb)
        pulumi.set(__self__, "used_storage_gb", used_storage_gb)
        pulumi.set(__self__, "usedv_cpu", usedv_cpu)
        pulumi.set(__self__, "zone_id", zone_id)

    @property
    @pulumi.getter(name="nodeDelayTime")
    def node_delay_time(self) -> builtins.int:
        """
        节点延迟时间。单位：秒。
        """
        return pulumi.get(self, "node_delay_time")

    @property
    @pulumi.getter(name="nodeId")
    def node_id(self) -> builtins.str:
        """
        节点 ID。
        """
        return pulumi.get(self, "node_id")

    @property
    @pulumi.getter(name="nodeRole")
    def node_role(self) -> builtins.str:
        """
        节点角色，取值范围如下：Primary：主节点。Secondary：从节点。Hidden：隐藏节点。ReadOnly：只读节点。
        """
        return pulumi.get(self, "node_role")

    @property
    @pulumi.getter(name="nodeSpec")
    def node_spec(self) -> builtins.str:
        """
        节点规格。
        """
        return pulumi.get(self, "node_spec")

    @property
    @pulumi.getter(name="nodeStatus")
    def node_status(self) -> builtins.str:
        """
        节点状态。
        """
        return pulumi.get(self, "node_status")

    @property
    @pulumi.getter(name="totalMemoryGb")
    def total_memory_gb(self) -> builtins.float:
        """
        总内存。单位：GiB。
        """
        return pulumi.get(self, "total_memory_gb")

    @property
    @pulumi.getter(name="totalStorageGb")
    def total_storage_gb(self) -> builtins.float:
        """
        该节点的总存储空间。单位：GiB。
        """
        return pulumi.get(self, "total_storage_gb")

    @property
    @pulumi.getter(name="totalvCpu")
    def totalv_cpu(self) -> builtins.float:
        """
        总核数。
        """
        return pulumi.get(self, "totalv_cpu")

    @property
    @pulumi.getter(name="usedMemoryGb")
    def used_memory_gb(self) -> builtins.float:
        """
        已用内存。单位：GiB。
        """
        return pulumi.get(self, "used_memory_gb")

    @property
    @pulumi.getter(name="usedStorageGb")
    def used_storage_gb(self) -> builtins.float:
        """
        该节点已用的存储空间。单位：GiB。
        """
        return pulumi.get(self, "used_storage_gb")

    @property
    @pulumi.getter(name="usedvCpu")
    def usedv_cpu(self) -> builtins.float:
        """
        已用核数。
        """
        return pulumi.get(self, "usedv_cpu")

    @property
    @pulumi.getter(name="zoneId")
    def zone_id(self) -> builtins.str:
        """
        当前节点所属的可用区 ID。
        """
        return pulumi.get(self, "zone_id")


@pulumi.output_type
class GetInstanceNodeAvailabilityZoneResult(dict):
    def __init__(__self__, *,
                 node_number: builtins.int,
                 zone_id: builtins.str):
        """
        :param builtins.int node_number: 当前可用区中需要添加的只读节点数量。当前仅副本集实例和分片集群实例中 Shard 分片支持添加只读节点。其中：当实例类型为副本集（即 InstanceType 取值为 ReplicaSet）时，该值表示单个副本集实例中的只读节点总数量。每个副本集实例最多支持添加 5 个只读节点。当实例类型为分片集群（即 InstanceType 取值为 ShardedCluster）时，该值表示每个 Shard 分片中的只读节点数量。每个 Shard 分片最多添加 5 个只读节点。
        :param builtins.str zone_id: 只读节点所在的可用区。
        """
        pulumi.set(__self__, "node_number", node_number)
        pulumi.set(__self__, "zone_id", zone_id)

    @property
    @pulumi.getter(name="nodeNumber")
    def node_number(self) -> builtins.int:
        """
        当前可用区中需要添加的只读节点数量。当前仅副本集实例和分片集群实例中 Shard 分片支持添加只读节点。其中：当实例类型为副本集（即 InstanceType 取值为 ReplicaSet）时，该值表示单个副本集实例中的只读节点总数量。每个副本集实例最多支持添加 5 个只读节点。当实例类型为分片集群（即 InstanceType 取值为 ShardedCluster）时，该值表示每个 Shard 分片中的只读节点数量。每个 Shard 分片最多添加 5 个只读节点。
        """
        return pulumi.get(self, "node_number")

    @property
    @pulumi.getter(name="zoneId")
    def zone_id(self) -> builtins.str:
        """
        只读节点所在的可用区。
        """
        return pulumi.get(self, "zone_id")


@pulumi.output_type
class GetInstanceShardResult(dict):
    def __init__(__self__, *,
                 nodes: Sequence['outputs.GetInstanceShardNodeResult'],
                 shard_id: builtins.str):
        """
        :param Sequence['GetInstanceShardNodeArgs'] nodes: Shard 分片中各节点的信息列表。
        :param builtins.str shard_id: Shard 节点的 ID。
        """
        pulumi.set(__self__, "nodes", nodes)
        pulumi.set(__self__, "shard_id", shard_id)

    @property
    @pulumi.getter
    def nodes(self) -> Sequence['outputs.GetInstanceShardNodeResult']:
        """
        Shard 分片中各节点的信息列表。
        """
        return pulumi.get(self, "nodes")

    @property
    @pulumi.getter(name="shardId")
    def shard_id(self) -> builtins.str:
        """
        Shard 节点的 ID。
        """
        return pulumi.get(self, "shard_id")


@pulumi.output_type
class GetInstanceShardNodeResult(dict):
    def __init__(__self__, *,
                 node_delay_time: builtins.int,
                 node_id: builtins.str,
                 node_role: builtins.str,
                 node_spec: builtins.str,
                 node_status: builtins.str,
                 total_memory_gb: builtins.float,
                 total_storage_gb: builtins.float,
                 totalv_cpu: builtins.float,
                 used_memory_gb: builtins.float,
                 used_storage_gb: builtins.float,
                 usedv_cpu: builtins.float,
                 zone_id: builtins.str):
        """
        :param builtins.int node_delay_time: 节点延迟时间。单位：秒。
        :param builtins.str node_id: 节点 ID。
        :param builtins.str node_role: 节点角色，取值范围如下：Primary：主节点。Secondary：从节点。Hidden：隐藏节点。ReadOnly：只读节点。
        :param builtins.str node_spec: 节点规格。
        :param builtins.str node_status: 节点状态。
        :param builtins.float total_memory_gb: 总内存。单位：GiB。
        :param builtins.float total_storage_gb: 该节点的总存储空间。单位：GiB。
        :param builtins.float totalv_cpu: 总核数。
        :param builtins.float used_memory_gb: 已用内存。单位：GiB。
        :param builtins.float used_storage_gb: 该节点已用的存储空间。单位：GiB。
        :param builtins.float usedv_cpu: 已用核数。
        :param builtins.str zone_id: 当前节点所属的可用区 ID。
        """
        pulumi.set(__self__, "node_delay_time", node_delay_time)
        pulumi.set(__self__, "node_id", node_id)
        pulumi.set(__self__, "node_role", node_role)
        pulumi.set(__self__, "node_spec", node_spec)
        pulumi.set(__self__, "node_status", node_status)
        pulumi.set(__self__, "total_memory_gb", total_memory_gb)
        pulumi.set(__self__, "total_storage_gb", total_storage_gb)
        pulumi.set(__self__, "totalv_cpu", totalv_cpu)
        pulumi.set(__self__, "used_memory_gb", used_memory_gb)
        pulumi.set(__self__, "used_storage_gb", used_storage_gb)
        pulumi.set(__self__, "usedv_cpu", usedv_cpu)
        pulumi.set(__self__, "zone_id", zone_id)

    @property
    @pulumi.getter(name="nodeDelayTime")
    def node_delay_time(self) -> builtins.int:
        """
        节点延迟时间。单位：秒。
        """
        return pulumi.get(self, "node_delay_time")

    @property
    @pulumi.getter(name="nodeId")
    def node_id(self) -> builtins.str:
        """
        节点 ID。
        """
        return pulumi.get(self, "node_id")

    @property
    @pulumi.getter(name="nodeRole")
    def node_role(self) -> builtins.str:
        """
        节点角色，取值范围如下：Primary：主节点。Secondary：从节点。Hidden：隐藏节点。ReadOnly：只读节点。
        """
        return pulumi.get(self, "node_role")

    @property
    @pulumi.getter(name="nodeSpec")
    def node_spec(self) -> builtins.str:
        """
        节点规格。
        """
        return pulumi.get(self, "node_spec")

    @property
    @pulumi.getter(name="nodeStatus")
    def node_status(self) -> builtins.str:
        """
        节点状态。
        """
        return pulumi.get(self, "node_status")

    @property
    @pulumi.getter(name="totalMemoryGb")
    def total_memory_gb(self) -> builtins.float:
        """
        总内存。单位：GiB。
        """
        return pulumi.get(self, "total_memory_gb")

    @property
    @pulumi.getter(name="totalStorageGb")
    def total_storage_gb(self) -> builtins.float:
        """
        该节点的总存储空间。单位：GiB。
        """
        return pulumi.get(self, "total_storage_gb")

    @property
    @pulumi.getter(name="totalvCpu")
    def totalv_cpu(self) -> builtins.float:
        """
        总核数。
        """
        return pulumi.get(self, "totalv_cpu")

    @property
    @pulumi.getter(name="usedMemoryGb")
    def used_memory_gb(self) -> builtins.float:
        """
        已用内存。单位：GiB。
        """
        return pulumi.get(self, "used_memory_gb")

    @property
    @pulumi.getter(name="usedStorageGb")
    def used_storage_gb(self) -> builtins.float:
        """
        该节点已用的存储空间。单位：GiB。
        """
        return pulumi.get(self, "used_storage_gb")

    @property
    @pulumi.getter(name="usedvCpu")
    def usedv_cpu(self) -> builtins.float:
        """
        已用核数。
        """
        return pulumi.get(self, "usedv_cpu")

    @property
    @pulumi.getter(name="zoneId")
    def zone_id(self) -> builtins.str:
        """
        当前节点所属的可用区 ID。
        """
        return pulumi.get(self, "zone_id")


@pulumi.output_type
class GetInstanceTagResult(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")


