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

__all__ = ['InstanceArgs', 'Instance']

@pulumi.input_type
class InstanceArgs:
    def __init__(__self__, *,
                 charge_type: pulumi.Input[builtins.str],
                 engine_version: pulumi.Input[builtins.str],
                 master_spec: pulumi.Input[builtins.str],
                 region_id: pulumi.Input[builtins.str],
                 rs_count: pulumi.Input[builtins.int],
                 rs_spec: pulumi.Input[builtins.str],
                 storage_capacity: pulumi.Input[builtins.int],
                 storage_type: pulumi.Input[builtins.str],
                 subnet_id: pulumi.Input[builtins.str],
                 vpc_id: pulumi.Input[builtins.str],
                 zone_id: pulumi.Input[builtins.str],
                 auto_renew: Optional[pulumi.Input[builtins.bool]] = None,
                 cold_storage: Optional[pulumi.Input[builtins.int]] = None,
                 deletion_protection: Optional[pulumi.Input[builtins.str]] = None,
                 enable_auth: Optional[pulumi.Input[builtins.bool]] = None,
                 enable_cloud_storage: Optional[pulumi.Input[builtins.bool]] = None,
                 endpoints: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceEndpointArgs']]]] = None,
                 instance_name: Optional[pulumi.Input[builtins.str]] = None,
                 instance_type: Optional[pulumi.Input[builtins.str]] = None,
                 multi_az: Optional[pulumi.Input[builtins.bool]] = None,
                 project_name: Optional[pulumi.Input[builtins.str]] = None,
                 purchase_months: Optional[pulumi.Input[builtins.int]] = None,
                 tags: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceTagArgs']]]] = None):
        """
        The set of arguments for constructing a Instance resource.
        :param pulumi.Input[builtins.str] charge_type: 计费类型，取值：PostPaid：按量计费（后付费）。PrePaid：包年包月（预付费）。
        :param pulumi.Input[builtins.str] engine_version: HBase 数据库引擎版本。当前仅支持 HBase 2.0 版本，取值默认为 HBase_2.0。
        :param pulumi.Input[builtins.str] master_spec: Master 节点的规格码。说明关于 Master 节点所支持的规格信息，请参见实例规格。Master 节点数量为固定值，不支持增减。
        :param pulumi.Input[builtins.str] region_id: 实例所属的地域 ID。
        :param pulumi.Input[builtins.int] rs_count: RegionServer 节点的数量。
        :param pulumi.Input[builtins.str] rs_spec: RegionServer 节点的规格码。
        :param pulumi.Input[builtins.int] storage_capacity: 实例总存储容量，单位：GiB。
        :param pulumi.Input[builtins.str] storage_type: 实例的存储类型，取值：HdfsHdd：HDD 文件存储。HdfsSsd：SSD 文件存储。
        :param pulumi.Input[builtins.str] subnet_id: 实例所属的子网 ID。单可用区实例，仅包含一个可用区的子网 ID。
        :param pulumi.Input[builtins.str] vpc_id: 私有网络 ID。说明您可以调用 DescribeVpcs 接口查询可创建 HBase 实例的私有网络信息，包括私有网络 ID。
        :param pulumi.Input[builtins.str] zone_id: 实例所属的可用区 ID。
        :param pulumi.Input[builtins.bool] auto_renew: 预付费场景下是否自动续费。取值：true：自动续费。false：不自动续费。
        :param pulumi.Input[builtins.int] cold_storage: 实例总容量型存储空间大小，单位 GiB。
        :param pulumi.Input[builtins.str] deletion_protection: 实例删除保护功能开关状态。取值范围：enabled：已开启。disabled：未开启。说明关于实例删除保护的更多信息，请参见实例删除保护。
        :param pulumi.Input[builtins.bool] enable_auth: 是否开启登录认证。取值：true：已开启登录认证。false：未开启登录认证。
        :param pulumi.Input[builtins.bool] enable_cloud_storage: 是否开通存储型容量，取值：true：开通容量型存储。false：不开通容量型存储。说明容量型存储的详细介绍，请参见冷热分离介绍。仅当 MultiAZ（部署方式）取值为 false（单可用区部署）时，支持冷热分离功能。
        :param pulumi.Input[builtins.str] instance_name: 实例名称。
        :param pulumi.Input[builtins.str] instance_type: 实例类型。当前仅支持标准型，取值默认为 Standard。
        :param pulumi.Input[builtins.bool] multi_az: 实例的部署方式，取值：true：多可用区部署。false：单可用区部署。目前仅支持单可用区部署。
        :param pulumi.Input[builtins.str] project_name: 实例所属的项目名称。
        :param pulumi.Input[builtins.int] purchase_months: 购买时长，单位：月。取值范围如下：1，2，3，4，5，6，7，8，9，12，24，36。说明当 ChargeType 为 PrePaid时，该参数必填。
        """
        pulumi.set(__self__, "charge_type", charge_type)
        pulumi.set(__self__, "engine_version", engine_version)
        pulumi.set(__self__, "master_spec", master_spec)
        pulumi.set(__self__, "region_id", region_id)
        pulumi.set(__self__, "rs_count", rs_count)
        pulumi.set(__self__, "rs_spec", rs_spec)
        pulumi.set(__self__, "storage_capacity", storage_capacity)
        pulumi.set(__self__, "storage_type", storage_type)
        pulumi.set(__self__, "subnet_id", subnet_id)
        pulumi.set(__self__, "vpc_id", vpc_id)
        pulumi.set(__self__, "zone_id", zone_id)
        if auto_renew is not None:
            pulumi.set(__self__, "auto_renew", auto_renew)
        if cold_storage is not None:
            pulumi.set(__self__, "cold_storage", cold_storage)
        if deletion_protection is not None:
            pulumi.set(__self__, "deletion_protection", deletion_protection)
        if enable_auth is not None:
            pulumi.set(__self__, "enable_auth", enable_auth)
        if enable_cloud_storage is not None:
            pulumi.set(__self__, "enable_cloud_storage", enable_cloud_storage)
        if endpoints is not None:
            pulumi.set(__self__, "endpoints", endpoints)
        if instance_name is not None:
            pulumi.set(__self__, "instance_name", instance_name)
        if instance_type is not None:
            pulumi.set(__self__, "instance_type", instance_type)
        if multi_az is not None:
            pulumi.set(__self__, "multi_az", multi_az)
        if project_name is not None:
            pulumi.set(__self__, "project_name", project_name)
        if purchase_months is not None:
            pulumi.set(__self__, "purchase_months", purchase_months)
        if tags is not None:
            pulumi.set(__self__, "tags", tags)

    @property
    @pulumi.getter(name="chargeType")
    def charge_type(self) -> pulumi.Input[builtins.str]:
        """
        计费类型，取值：PostPaid：按量计费（后付费）。PrePaid：包年包月（预付费）。
        """
        return pulumi.get(self, "charge_type")

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

    @property
    @pulumi.getter(name="engineVersion")
    def engine_version(self) -> pulumi.Input[builtins.str]:
        """
        HBase 数据库引擎版本。当前仅支持 HBase 2.0 版本，取值默认为 HBase_2.0。
        """
        return pulumi.get(self, "engine_version")

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

    @property
    @pulumi.getter(name="masterSpec")
    def master_spec(self) -> pulumi.Input[builtins.str]:
        """
        Master 节点的规格码。说明关于 Master 节点所支持的规格信息，请参见实例规格。Master 节点数量为固定值，不支持增减。
        """
        return pulumi.get(self, "master_spec")

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

    @property
    @pulumi.getter(name="regionId")
    def region_id(self) -> pulumi.Input[builtins.str]:
        """
        实例所属的地域 ID。
        """
        return pulumi.get(self, "region_id")

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

    @property
    @pulumi.getter(name="rsCount")
    def rs_count(self) -> pulumi.Input[builtins.int]:
        """
        RegionServer 节点的数量。
        """
        return pulumi.get(self, "rs_count")

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

    @property
    @pulumi.getter(name="rsSpec")
    def rs_spec(self) -> pulumi.Input[builtins.str]:
        """
        RegionServer 节点的规格码。
        """
        return pulumi.get(self, "rs_spec")

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

    @property
    @pulumi.getter(name="storageCapacity")
    def storage_capacity(self) -> pulumi.Input[builtins.int]:
        """
        实例总存储容量，单位：GiB。
        """
        return pulumi.get(self, "storage_capacity")

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

    @property
    @pulumi.getter(name="storageType")
    def storage_type(self) -> pulumi.Input[builtins.str]:
        """
        实例的存储类型，取值：HdfsHdd：HDD 文件存储。HdfsSsd：SSD 文件存储。
        """
        return pulumi.get(self, "storage_type")

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

    @property
    @pulumi.getter(name="subnetId")
    def subnet_id(self) -> pulumi.Input[builtins.str]:
        """
        实例所属的子网 ID。单可用区实例，仅包含一个可用区的子网 ID。
        """
        return pulumi.get(self, "subnet_id")

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

    @property
    @pulumi.getter(name="vpcId")
    def vpc_id(self) -> pulumi.Input[builtins.str]:
        """
        私有网络 ID。说明您可以调用 DescribeVpcs 接口查询可创建 HBase 实例的私有网络信息，包括私有网络 ID。
        """
        return pulumi.get(self, "vpc_id")

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

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

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

    @property
    @pulumi.getter(name="autoRenew")
    def auto_renew(self) -> Optional[pulumi.Input[builtins.bool]]:
        """
        预付费场景下是否自动续费。取值：true：自动续费。false：不自动续费。
        """
        return pulumi.get(self, "auto_renew")

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

    @property
    @pulumi.getter(name="coldStorage")
    def cold_storage(self) -> Optional[pulumi.Input[builtins.int]]:
        """
        实例总容量型存储空间大小，单位 GiB。
        """
        return pulumi.get(self, "cold_storage")

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

    @property
    @pulumi.getter(name="deletionProtection")
    def deletion_protection(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        实例删除保护功能开关状态。取值范围：enabled：已开启。disabled：未开启。说明关于实例删除保护的更多信息，请参见实例删除保护。
        """
        return pulumi.get(self, "deletion_protection")

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

    @property
    @pulumi.getter(name="enableAuth")
    def enable_auth(self) -> Optional[pulumi.Input[builtins.bool]]:
        """
        是否开启登录认证。取值：true：已开启登录认证。false：未开启登录认证。
        """
        return pulumi.get(self, "enable_auth")

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

    @property
    @pulumi.getter(name="enableCloudStorage")
    def enable_cloud_storage(self) -> Optional[pulumi.Input[builtins.bool]]:
        """
        是否开通存储型容量，取值：true：开通容量型存储。false：不开通容量型存储。说明容量型存储的详细介绍，请参见冷热分离介绍。仅当 MultiAZ（部署方式）取值为 false（单可用区部署）时，支持冷热分离功能。
        """
        return pulumi.get(self, "enable_cloud_storage")

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

    @property
    @pulumi.getter
    def endpoints(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InstanceEndpointArgs']]]]:
        return pulumi.get(self, "endpoints")

    @endpoints.setter
    def endpoints(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceEndpointArgs']]]]):
        pulumi.set(self, "endpoints", value)

    @property
    @pulumi.getter(name="instanceName")
    def instance_name(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        实例名称。
        """
        return pulumi.get(self, "instance_name")

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

    @property
    @pulumi.getter(name="instanceType")
    def instance_type(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        实例类型。当前仅支持标准型，取值默认为 Standard。
        """
        return pulumi.get(self, "instance_type")

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

    @property
    @pulumi.getter(name="multiAz")
    def multi_az(self) -> Optional[pulumi.Input[builtins.bool]]:
        """
        实例的部署方式，取值：true：多可用区部署。false：单可用区部署。目前仅支持单可用区部署。
        """
        return pulumi.get(self, "multi_az")

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

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

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

    @property
    @pulumi.getter(name="purchaseMonths")
    def purchase_months(self) -> Optional[pulumi.Input[builtins.int]]:
        """
        购买时长，单位：月。取值范围如下：1，2，3，4，5，6，7，8，9，12，24，36。说明当 ChargeType 为 PrePaid时，该参数必填。
        """
        return pulumi.get(self, "purchase_months")

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

    @property
    @pulumi.getter
    def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InstanceTagArgs']]]]:
        return pulumi.get(self, "tags")

    @tags.setter
    def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceTagArgs']]]]):
        pulumi.set(self, "tags", value)


@pulumi.input_type
class _InstanceState:
    def __init__(__self__, *,
                 auto_renew: Optional[pulumi.Input[builtins.bool]] = None,
                 charge_status: Optional[pulumi.Input[builtins.str]] = None,
                 charge_type: Optional[pulumi.Input[builtins.str]] = None,
                 cold_storage: Optional[pulumi.Input[builtins.int]] = None,
                 create_time: Optional[pulumi.Input[builtins.str]] = None,
                 deletion_protection: Optional[pulumi.Input[builtins.str]] = None,
                 enable_auth: Optional[pulumi.Input[builtins.bool]] = None,
                 enable_cloud_storage: Optional[pulumi.Input[builtins.bool]] = None,
                 endpoints: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceEndpointArgs']]]] = None,
                 engine_version: Optional[pulumi.Input[builtins.str]] = None,
                 instance_id: Optional[pulumi.Input[builtins.str]] = None,
                 instance_name: Optional[pulumi.Input[builtins.str]] = None,
                 instance_type: Optional[pulumi.Input[builtins.str]] = None,
                 master_count: Optional[pulumi.Input[builtins.int]] = None,
                 master_spec: Optional[pulumi.Input[builtins.str]] = None,
                 multi_az: Optional[pulumi.Input[builtins.bool]] = None,
                 primary_subnet_id: Optional[pulumi.Input[builtins.str]] = None,
                 primary_zone_id: Optional[pulumi.Input[builtins.str]] = None,
                 project_name: Optional[pulumi.Input[builtins.str]] = None,
                 purchase_months: Optional[pulumi.Input[builtins.int]] = None,
                 region_id: Optional[pulumi.Input[builtins.str]] = None,
                 rs_count: Optional[pulumi.Input[builtins.int]] = None,
                 rs_spec: Optional[pulumi.Input[builtins.str]] = None,
                 standby_subnet_id: Optional[pulumi.Input[builtins.str]] = None,
                 standby_zone_id: Optional[pulumi.Input[builtins.str]] = None,
                 status: Optional[pulumi.Input[builtins.str]] = None,
                 storage_capacity: Optional[pulumi.Input[builtins.int]] = None,
                 storage_type: Optional[pulumi.Input[builtins.str]] = None,
                 subnet_id: Optional[pulumi.Input[builtins.str]] = None,
                 tags: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceTagArgs']]]] = None,
                 used_cold_storage: Optional[pulumi.Input[builtins.int]] = None,
                 used_storage: Optional[pulumi.Input[builtins.float]] = None,
                 vpc_id: Optional[pulumi.Input[builtins.str]] = None,
                 vpc_name: Optional[pulumi.Input[builtins.str]] = None,
                 zone_id: Optional[pulumi.Input[builtins.str]] = None,
                 zone_name: Optional[pulumi.Input[builtins.str]] = None):
        """
        Input properties used for looking up and filtering Instance resources.
        :param pulumi.Input[builtins.bool] auto_renew: 预付费场景下是否自动续费。取值：true：自动续费。false：不自动续费。
        :param pulumi.Input[builtins.str] charge_status: 计费状态。取值：Normal：正常。Overdue：欠费。Shutdown：关停。
        :param pulumi.Input[builtins.str] charge_type: 计费类型，取值：PostPaid：按量计费（后付费）。PrePaid：包年包月（预付费）。
        :param pulumi.Input[builtins.int] cold_storage: 实例总容量型存储空间大小，单位 GiB。
        :param pulumi.Input[builtins.str] create_time: 实例创建时间（UTC 时间）。
        :param pulumi.Input[builtins.str] deletion_protection: 实例删除保护功能开关状态。取值范围：enabled：已开启。disabled：未开启。说明关于实例删除保护的更多信息，请参见实例删除保护。
        :param pulumi.Input[builtins.bool] enable_auth: 是否开启登录认证。取值：true：已开启登录认证。false：未开启登录认证。
        :param pulumi.Input[builtins.bool] enable_cloud_storage: 是否开通存储型容量，取值：true：开通容量型存储。false：不开通容量型存储。说明容量型存储的详细介绍，请参见冷热分离介绍。仅当 MultiAZ（部署方式）取值为 false（单可用区部署）时，支持冷热分离功能。
        :param pulumi.Input[builtins.str] engine_version: HBase 数据库引擎版本。当前仅支持 HBase 2.0 版本，取值默认为 HBase_2.0。
        :param pulumi.Input[builtins.str] instance_id: 实例 ID。
        :param pulumi.Input[builtins.str] instance_name: 实例名称。
        :param pulumi.Input[builtins.str] instance_type: 实例类型。当前仅支持标准型，取值默认为 Standard。
        :param pulumi.Input[builtins.int] master_count: Master 节点个数。单可用区部署，默认包含 2 个 Master 节点。
        :param pulumi.Input[builtins.str] master_spec: Master 节点的规格码。说明关于 Master 节点所支持的规格信息，请参见实例规格。Master 节点数量为固定值，不支持增减。
        :param pulumi.Input[builtins.bool] multi_az: 实例的部署方式，取值：true：多可用区部署。false：单可用区部署。目前仅支持单可用区部署。
        :param pulumi.Input[builtins.str] primary_subnet_id: 实时主可用区子网 ID。
        :param pulumi.Input[builtins.str] primary_zone_id: 实时主可用区 ID。
        :param pulumi.Input[builtins.str] project_name: 实例所属的项目名称。
        :param pulumi.Input[builtins.int] purchase_months: 购买时长，单位：月。取值范围如下：1，2，3，4，5，6，7，8，9，12，24，36。说明当 ChargeType 为 PrePaid时，该参数必填。
        :param pulumi.Input[builtins.str] region_id: 实例所属的地域 ID。
        :param pulumi.Input[builtins.int] rs_count: RegionServer 节点的数量。
        :param pulumi.Input[builtins.str] rs_spec: RegionServer 节点的规格码。
        :param pulumi.Input[builtins.str] standby_subnet_id: 实时备可用区子网 ID。
        :param pulumi.Input[builtins.str] standby_zone_id: 实时备可用区 ID。
        :param pulumi.Input[builtins.str] status: 实例当前状态。关于实例状态的更多说明，请参见实例状态说明。
        :param pulumi.Input[builtins.int] storage_capacity: 实例总存储容量，单位：GiB。
        :param pulumi.Input[builtins.str] storage_type: 实例的存储类型，取值：HdfsHdd：HDD 文件存储。HdfsSsd：SSD 文件存储。
        :param pulumi.Input[builtins.str] subnet_id: 实例所属的子网 ID。单可用区实例，仅包含一个可用区的子网 ID。
        :param pulumi.Input[builtins.int] used_cold_storage: 实例已使用的容量型存储空间大小，单位 MiB。
        :param pulumi.Input[builtins.float] used_storage: 主实例已使用的存储容量，单位：MiB。
        :param pulumi.Input[builtins.str] vpc_id: 私有网络 ID。说明您可以调用 DescribeVpcs 接口查询可创建 HBase 实例的私有网络信息，包括私有网络 ID。
        :param pulumi.Input[builtins.str] vpc_name: 实例所属的私有网络名称。
        :param pulumi.Input[builtins.str] zone_id: 实例所属的可用区 ID。
        :param pulumi.Input[builtins.str] zone_name: 实例所属的可用区名称。
        """
        if auto_renew is not None:
            pulumi.set(__self__, "auto_renew", auto_renew)
        if charge_status is not None:
            pulumi.set(__self__, "charge_status", charge_status)
        if charge_type is not None:
            pulumi.set(__self__, "charge_type", charge_type)
        if cold_storage is not None:
            pulumi.set(__self__, "cold_storage", cold_storage)
        if create_time is not None:
            pulumi.set(__self__, "create_time", create_time)
        if deletion_protection is not None:
            pulumi.set(__self__, "deletion_protection", deletion_protection)
        if enable_auth is not None:
            pulumi.set(__self__, "enable_auth", enable_auth)
        if enable_cloud_storage is not None:
            pulumi.set(__self__, "enable_cloud_storage", enable_cloud_storage)
        if endpoints is not None:
            pulumi.set(__self__, "endpoints", endpoints)
        if engine_version is not None:
            pulumi.set(__self__, "engine_version", engine_version)
        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 instance_type is not None:
            pulumi.set(__self__, "instance_type", instance_type)
        if master_count is not None:
            pulumi.set(__self__, "master_count", master_count)
        if master_spec is not None:
            pulumi.set(__self__, "master_spec", master_spec)
        if multi_az is not None:
            pulumi.set(__self__, "multi_az", multi_az)
        if primary_subnet_id is not None:
            pulumi.set(__self__, "primary_subnet_id", primary_subnet_id)
        if primary_zone_id is not None:
            pulumi.set(__self__, "primary_zone_id", primary_zone_id)
        if project_name is not None:
            pulumi.set(__self__, "project_name", project_name)
        if purchase_months is not None:
            pulumi.set(__self__, "purchase_months", purchase_months)
        if region_id is not None:
            pulumi.set(__self__, "region_id", region_id)
        if rs_count is not None:
            pulumi.set(__self__, "rs_count", rs_count)
        if rs_spec is not None:
            pulumi.set(__self__, "rs_spec", rs_spec)
        if standby_subnet_id is not None:
            pulumi.set(__self__, "standby_subnet_id", standby_subnet_id)
        if standby_zone_id is not None:
            pulumi.set(__self__, "standby_zone_id", standby_zone_id)
        if status is not None:
            pulumi.set(__self__, "status", status)
        if storage_capacity is not None:
            pulumi.set(__self__, "storage_capacity", storage_capacity)
        if storage_type is not None:
            pulumi.set(__self__, "storage_type", storage_type)
        if subnet_id is not None:
            pulumi.set(__self__, "subnet_id", subnet_id)
        if tags is not None:
            pulumi.set(__self__, "tags", tags)
        if used_cold_storage is not None:
            pulumi.set(__self__, "used_cold_storage", used_cold_storage)
        if used_storage is not None:
            pulumi.set(__self__, "used_storage", used_storage)
        if vpc_id is not None:
            pulumi.set(__self__, "vpc_id", vpc_id)
        if vpc_name is not None:
            pulumi.set(__self__, "vpc_name", vpc_name)
        if zone_id is not None:
            pulumi.set(__self__, "zone_id", zone_id)
        if zone_name is not None:
            pulumi.set(__self__, "zone_name", zone_name)

    @property
    @pulumi.getter(name="autoRenew")
    def auto_renew(self) -> Optional[pulumi.Input[builtins.bool]]:
        """
        预付费场景下是否自动续费。取值：true：自动续费。false：不自动续费。
        """
        return pulumi.get(self, "auto_renew")

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

    @property
    @pulumi.getter(name="chargeStatus")
    def charge_status(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        计费状态。取值：Normal：正常。Overdue：欠费。Shutdown：关停。
        """
        return pulumi.get(self, "charge_status")

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

    @property
    @pulumi.getter(name="chargeType")
    def charge_type(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        计费类型，取值：PostPaid：按量计费（后付费）。PrePaid：包年包月（预付费）。
        """
        return pulumi.get(self, "charge_type")

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

    @property
    @pulumi.getter(name="coldStorage")
    def cold_storage(self) -> Optional[pulumi.Input[builtins.int]]:
        """
        实例总容量型存储空间大小，单位 GiB。
        """
        return pulumi.get(self, "cold_storage")

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

    @property
    @pulumi.getter(name="createTime")
    def create_time(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        实例创建时间（UTC 时间）。
        """
        return pulumi.get(self, "create_time")

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

    @property
    @pulumi.getter(name="deletionProtection")
    def deletion_protection(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        实例删除保护功能开关状态。取值范围：enabled：已开启。disabled：未开启。说明关于实例删除保护的更多信息，请参见实例删除保护。
        """
        return pulumi.get(self, "deletion_protection")

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

    @property
    @pulumi.getter(name="enableAuth")
    def enable_auth(self) -> Optional[pulumi.Input[builtins.bool]]:
        """
        是否开启登录认证。取值：true：已开启登录认证。false：未开启登录认证。
        """
        return pulumi.get(self, "enable_auth")

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

    @property
    @pulumi.getter(name="enableCloudStorage")
    def enable_cloud_storage(self) -> Optional[pulumi.Input[builtins.bool]]:
        """
        是否开通存储型容量，取值：true：开通容量型存储。false：不开通容量型存储。说明容量型存储的详细介绍，请参见冷热分离介绍。仅当 MultiAZ（部署方式）取值为 false（单可用区部署）时，支持冷热分离功能。
        """
        return pulumi.get(self, "enable_cloud_storage")

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

    @property
    @pulumi.getter
    def endpoints(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InstanceEndpointArgs']]]]:
        return pulumi.get(self, "endpoints")

    @endpoints.setter
    def endpoints(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceEndpointArgs']]]]):
        pulumi.set(self, "endpoints", value)

    @property
    @pulumi.getter(name="engineVersion")
    def engine_version(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        HBase 数据库引擎版本。当前仅支持 HBase 2.0 版本，取值默认为 HBase_2.0。
        """
        return pulumi.get(self, "engine_version")

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

    @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="instanceName")
    def instance_name(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        实例名称。
        """
        return pulumi.get(self, "instance_name")

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

    @property
    @pulumi.getter(name="instanceType")
    def instance_type(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        实例类型。当前仅支持标准型，取值默认为 Standard。
        """
        return pulumi.get(self, "instance_type")

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

    @property
    @pulumi.getter(name="masterCount")
    def master_count(self) -> Optional[pulumi.Input[builtins.int]]:
        """
        Master 节点个数。单可用区部署，默认包含 2 个 Master 节点。
        """
        return pulumi.get(self, "master_count")

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

    @property
    @pulumi.getter(name="masterSpec")
    def master_spec(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        Master 节点的规格码。说明关于 Master 节点所支持的规格信息，请参见实例规格。Master 节点数量为固定值，不支持增减。
        """
        return pulumi.get(self, "master_spec")

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

    @property
    @pulumi.getter(name="multiAz")
    def multi_az(self) -> Optional[pulumi.Input[builtins.bool]]:
        """
        实例的部署方式，取值：true：多可用区部署。false：单可用区部署。目前仅支持单可用区部署。
        """
        return pulumi.get(self, "multi_az")

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

    @property
    @pulumi.getter(name="primarySubnetId")
    def primary_subnet_id(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        实时主可用区子网 ID。
        """
        return pulumi.get(self, "primary_subnet_id")

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

    @property
    @pulumi.getter(name="primaryZoneId")
    def primary_zone_id(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        实时主可用区 ID。
        """
        return pulumi.get(self, "primary_zone_id")

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

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

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

    @property
    @pulumi.getter(name="purchaseMonths")
    def purchase_months(self) -> Optional[pulumi.Input[builtins.int]]:
        """
        购买时长，单位：月。取值范围如下：1，2，3，4，5，6，7，8，9，12，24，36。说明当 ChargeType 为 PrePaid时，该参数必填。
        """
        return pulumi.get(self, "purchase_months")

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

    @property
    @pulumi.getter(name="regionId")
    def region_id(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        实例所属的地域 ID。
        """
        return pulumi.get(self, "region_id")

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

    @property
    @pulumi.getter(name="rsCount")
    def rs_count(self) -> Optional[pulumi.Input[builtins.int]]:
        """
        RegionServer 节点的数量。
        """
        return pulumi.get(self, "rs_count")

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

    @property
    @pulumi.getter(name="rsSpec")
    def rs_spec(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        RegionServer 节点的规格码。
        """
        return pulumi.get(self, "rs_spec")

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

    @property
    @pulumi.getter(name="standbySubnetId")
    def standby_subnet_id(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        实时备可用区子网 ID。
        """
        return pulumi.get(self, "standby_subnet_id")

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

    @property
    @pulumi.getter(name="standbyZoneId")
    def standby_zone_id(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        实时备可用区 ID。
        """
        return pulumi.get(self, "standby_zone_id")

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

    @property
    @pulumi.getter
    def status(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        实例当前状态。关于实例状态的更多说明，请参见实例状态说明。
        """
        return pulumi.get(self, "status")

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

    @property
    @pulumi.getter(name="storageCapacity")
    def storage_capacity(self) -> Optional[pulumi.Input[builtins.int]]:
        """
        实例总存储容量，单位：GiB。
        """
        return pulumi.get(self, "storage_capacity")

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

    @property
    @pulumi.getter(name="storageType")
    def storage_type(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        实例的存储类型，取值：HdfsHdd：HDD 文件存储。HdfsSsd：SSD 文件存储。
        """
        return pulumi.get(self, "storage_type")

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

    @property
    @pulumi.getter(name="subnetId")
    def subnet_id(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        实例所属的子网 ID。单可用区实例，仅包含一个可用区的子网 ID。
        """
        return pulumi.get(self, "subnet_id")

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

    @property
    @pulumi.getter
    def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InstanceTagArgs']]]]:
        return pulumi.get(self, "tags")

    @tags.setter
    def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceTagArgs']]]]):
        pulumi.set(self, "tags", value)

    @property
    @pulumi.getter(name="usedColdStorage")
    def used_cold_storage(self) -> Optional[pulumi.Input[builtins.int]]:
        """
        实例已使用的容量型存储空间大小，单位 MiB。
        """
        return pulumi.get(self, "used_cold_storage")

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

    @property
    @pulumi.getter(name="usedStorage")
    def used_storage(self) -> Optional[pulumi.Input[builtins.float]]:
        """
        主实例已使用的存储容量，单位：MiB。
        """
        return pulumi.get(self, "used_storage")

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

    @property
    @pulumi.getter(name="vpcId")
    def vpc_id(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        私有网络 ID。说明您可以调用 DescribeVpcs 接口查询可创建 HBase 实例的私有网络信息，包括私有网络 ID。
        """
        return pulumi.get(self, "vpc_id")

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

    @property
    @pulumi.getter(name="vpcName")
    def vpc_name(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        实例所属的私有网络名称。
        """
        return pulumi.get(self, "vpc_name")

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

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

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

    @property
    @pulumi.getter(name="zoneName")
    def zone_name(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        实例所属的可用区名称。
        """
        return pulumi.get(self, "zone_name")

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


@pulumi.type_token("bytepluscc:hbase/instance:Instance")
class Instance(pulumi.CustomResource):
    @overload
    def __init__(__self__,
                 resource_name: str,
                 opts: Optional[pulumi.ResourceOptions] = None,
                 auto_renew: Optional[pulumi.Input[builtins.bool]] = None,
                 charge_type: Optional[pulumi.Input[builtins.str]] = None,
                 cold_storage: Optional[pulumi.Input[builtins.int]] = None,
                 deletion_protection: Optional[pulumi.Input[builtins.str]] = None,
                 enable_auth: Optional[pulumi.Input[builtins.bool]] = None,
                 enable_cloud_storage: Optional[pulumi.Input[builtins.bool]] = None,
                 endpoints: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstanceEndpointArgs', 'InstanceEndpointArgsDict']]]]] = None,
                 engine_version: Optional[pulumi.Input[builtins.str]] = None,
                 instance_name: Optional[pulumi.Input[builtins.str]] = None,
                 instance_type: Optional[pulumi.Input[builtins.str]] = None,
                 master_spec: Optional[pulumi.Input[builtins.str]] = None,
                 multi_az: Optional[pulumi.Input[builtins.bool]] = None,
                 project_name: Optional[pulumi.Input[builtins.str]] = None,
                 purchase_months: Optional[pulumi.Input[builtins.int]] = None,
                 region_id: Optional[pulumi.Input[builtins.str]] = None,
                 rs_count: Optional[pulumi.Input[builtins.int]] = None,
                 rs_spec: Optional[pulumi.Input[builtins.str]] = None,
                 storage_capacity: Optional[pulumi.Input[builtins.int]] = None,
                 storage_type: Optional[pulumi.Input[builtins.str]] = None,
                 subnet_id: Optional[pulumi.Input[builtins.str]] = None,
                 tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstanceTagArgs', 'InstanceTagArgsDict']]]]] = None,
                 vpc_id: Optional[pulumi.Input[builtins.str]] = None,
                 zone_id: Optional[pulumi.Input[builtins.str]] = None,
                 __props__=None):
        """
        表格数据库 HBase 版是基于 Apache HBase 提供的全托管 NoSQL 服务，兼容标准 HBase 访问协议，具备低成本存储、高扩展吞吐等优势。

        ## Example Usage

        ```python
        import pulumi
        import pulumi_bytepluscc as bytepluscc

        h_base_instance_demo = bytepluscc.hbase.Instance("HBaseInstanceDemo",
            region_id="cn-beijing",
            multi_az=False,
            zone_id="cn-beijing-a",
            instance_name="HBaseInstanceDemo",
            engine_version="HBase_2.0",
            instance_type="Standard",
            master_spec="hbase.x1.medium",
            rs_count=2,
            rs_spec="hbase.x1.large",
            storage_capacity=20000,
            vpc_id="vpc-rrco37ovjq4gv0x5xxxxx",
            project_name="default",
            charge_type="PrePaid",
            purchase_months=1,
            auto_renew=False,
            subnet_id="subnet-rrwqhg3qzxfkv0x57xxxxx",
            deletion_protection="disabled",
            enable_cloud_storage=False,
            tags=[{
                "key": "env",
                "value": "test",
            }],
            storage_type="HdfsSsd",
            enable_auth=True)
        ```

        ## Import

        ```sh
        $ pulumi import bytepluscc:hbase/instance:Instance example "instance_id"
        ```

        :param str resource_name: The name of the resource.
        :param pulumi.ResourceOptions opts: Options for the resource.
        :param pulumi.Input[builtins.bool] auto_renew: 预付费场景下是否自动续费。取值：true：自动续费。false：不自动续费。
        :param pulumi.Input[builtins.str] charge_type: 计费类型，取值：PostPaid：按量计费（后付费）。PrePaid：包年包月（预付费）。
        :param pulumi.Input[builtins.int] cold_storage: 实例总容量型存储空间大小，单位 GiB。
        :param pulumi.Input[builtins.str] deletion_protection: 实例删除保护功能开关状态。取值范围：enabled：已开启。disabled：未开启。说明关于实例删除保护的更多信息，请参见实例删除保护。
        :param pulumi.Input[builtins.bool] enable_auth: 是否开启登录认证。取值：true：已开启登录认证。false：未开启登录认证。
        :param pulumi.Input[builtins.bool] enable_cloud_storage: 是否开通存储型容量，取值：true：开通容量型存储。false：不开通容量型存储。说明容量型存储的详细介绍，请参见冷热分离介绍。仅当 MultiAZ（部署方式）取值为 false（单可用区部署）时，支持冷热分离功能。
        :param pulumi.Input[builtins.str] engine_version: HBase 数据库引擎版本。当前仅支持 HBase 2.0 版本，取值默认为 HBase_2.0。
        :param pulumi.Input[builtins.str] instance_name: 实例名称。
        :param pulumi.Input[builtins.str] instance_type: 实例类型。当前仅支持标准型，取值默认为 Standard。
        :param pulumi.Input[builtins.str] master_spec: Master 节点的规格码。说明关于 Master 节点所支持的规格信息，请参见实例规格。Master 节点数量为固定值，不支持增减。
        :param pulumi.Input[builtins.bool] multi_az: 实例的部署方式，取值：true：多可用区部署。false：单可用区部署。目前仅支持单可用区部署。
        :param pulumi.Input[builtins.str] project_name: 实例所属的项目名称。
        :param pulumi.Input[builtins.int] purchase_months: 购买时长，单位：月。取值范围如下：1，2，3，4，5，6，7，8，9，12，24，36。说明当 ChargeType 为 PrePaid时，该参数必填。
        :param pulumi.Input[builtins.str] region_id: 实例所属的地域 ID。
        :param pulumi.Input[builtins.int] rs_count: RegionServer 节点的数量。
        :param pulumi.Input[builtins.str] rs_spec: RegionServer 节点的规格码。
        :param pulumi.Input[builtins.int] storage_capacity: 实例总存储容量，单位：GiB。
        :param pulumi.Input[builtins.str] storage_type: 实例的存储类型，取值：HdfsHdd：HDD 文件存储。HdfsSsd：SSD 文件存储。
        :param pulumi.Input[builtins.str] subnet_id: 实例所属的子网 ID。单可用区实例，仅包含一个可用区的子网 ID。
        :param pulumi.Input[builtins.str] vpc_id: 私有网络 ID。说明您可以调用 DescribeVpcs 接口查询可创建 HBase 实例的私有网络信息，包括私有网络 ID。
        :param pulumi.Input[builtins.str] zone_id: 实例所属的可用区 ID。
        """
        ...
    @overload
    def __init__(__self__,
                 resource_name: str,
                 args: InstanceArgs,
                 opts: Optional[pulumi.ResourceOptions] = None):
        """
        表格数据库 HBase 版是基于 Apache HBase 提供的全托管 NoSQL 服务，兼容标准 HBase 访问协议，具备低成本存储、高扩展吞吐等优势。

        ## Example Usage

        ```python
        import pulumi
        import pulumi_bytepluscc as bytepluscc

        h_base_instance_demo = bytepluscc.hbase.Instance("HBaseInstanceDemo",
            region_id="cn-beijing",
            multi_az=False,
            zone_id="cn-beijing-a",
            instance_name="HBaseInstanceDemo",
            engine_version="HBase_2.0",
            instance_type="Standard",
            master_spec="hbase.x1.medium",
            rs_count=2,
            rs_spec="hbase.x1.large",
            storage_capacity=20000,
            vpc_id="vpc-rrco37ovjq4gv0x5xxxxx",
            project_name="default",
            charge_type="PrePaid",
            purchase_months=1,
            auto_renew=False,
            subnet_id="subnet-rrwqhg3qzxfkv0x57xxxxx",
            deletion_protection="disabled",
            enable_cloud_storage=False,
            tags=[{
                "key": "env",
                "value": "test",
            }],
            storage_type="HdfsSsd",
            enable_auth=True)
        ```

        ## Import

        ```sh
        $ pulumi import bytepluscc:hbase/instance:Instance example "instance_id"
        ```

        :param str resource_name: The name of the resource.
        :param InstanceArgs args: The arguments to use to populate this resource's properties.
        :param pulumi.ResourceOptions opts: Options for the resource.
        """
        ...
    def __init__(__self__, resource_name: str, *args, **kwargs):
        resource_args, opts = _utilities.get_resource_args_opts(InstanceArgs, pulumi.ResourceOptions, *args, **kwargs)
        if resource_args is not None:
            __self__._internal_init(resource_name, opts, **resource_args.__dict__)
        else:
            __self__._internal_init(resource_name, *args, **kwargs)

    def _internal_init(__self__,
                 resource_name: str,
                 opts: Optional[pulumi.ResourceOptions] = None,
                 auto_renew: Optional[pulumi.Input[builtins.bool]] = None,
                 charge_type: Optional[pulumi.Input[builtins.str]] = None,
                 cold_storage: Optional[pulumi.Input[builtins.int]] = None,
                 deletion_protection: Optional[pulumi.Input[builtins.str]] = None,
                 enable_auth: Optional[pulumi.Input[builtins.bool]] = None,
                 enable_cloud_storage: Optional[pulumi.Input[builtins.bool]] = None,
                 endpoints: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstanceEndpointArgs', 'InstanceEndpointArgsDict']]]]] = None,
                 engine_version: Optional[pulumi.Input[builtins.str]] = None,
                 instance_name: Optional[pulumi.Input[builtins.str]] = None,
                 instance_type: Optional[pulumi.Input[builtins.str]] = None,
                 master_spec: Optional[pulumi.Input[builtins.str]] = None,
                 multi_az: Optional[pulumi.Input[builtins.bool]] = None,
                 project_name: Optional[pulumi.Input[builtins.str]] = None,
                 purchase_months: Optional[pulumi.Input[builtins.int]] = None,
                 region_id: Optional[pulumi.Input[builtins.str]] = None,
                 rs_count: Optional[pulumi.Input[builtins.int]] = None,
                 rs_spec: Optional[pulumi.Input[builtins.str]] = None,
                 storage_capacity: Optional[pulumi.Input[builtins.int]] = None,
                 storage_type: Optional[pulumi.Input[builtins.str]] = None,
                 subnet_id: Optional[pulumi.Input[builtins.str]] = None,
                 tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstanceTagArgs', 'InstanceTagArgsDict']]]]] = None,
                 vpc_id: Optional[pulumi.Input[builtins.str]] = None,
                 zone_id: Optional[pulumi.Input[builtins.str]] = None,
                 __props__=None):
        opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
        if not isinstance(opts, pulumi.ResourceOptions):
            raise TypeError('Expected resource options to be a ResourceOptions instance')
        if opts.id is None:
            if __props__ is not None:
                raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
            __props__ = InstanceArgs.__new__(InstanceArgs)

            __props__.__dict__["auto_renew"] = auto_renew
            if charge_type is None and not opts.urn:
                raise TypeError("Missing required property 'charge_type'")
            __props__.__dict__["charge_type"] = charge_type
            __props__.__dict__["cold_storage"] = cold_storage
            __props__.__dict__["deletion_protection"] = deletion_protection
            __props__.__dict__["enable_auth"] = enable_auth
            __props__.__dict__["enable_cloud_storage"] = enable_cloud_storage
            __props__.__dict__["endpoints"] = endpoints
            if engine_version is None and not opts.urn:
                raise TypeError("Missing required property 'engine_version'")
            __props__.__dict__["engine_version"] = engine_version
            __props__.__dict__["instance_name"] = instance_name
            __props__.__dict__["instance_type"] = instance_type
            if master_spec is None and not opts.urn:
                raise TypeError("Missing required property 'master_spec'")
            __props__.__dict__["master_spec"] = master_spec
            __props__.__dict__["multi_az"] = multi_az
            __props__.__dict__["project_name"] = project_name
            __props__.__dict__["purchase_months"] = purchase_months
            if region_id is None and not opts.urn:
                raise TypeError("Missing required property 'region_id'")
            __props__.__dict__["region_id"] = region_id
            if rs_count is None and not opts.urn:
                raise TypeError("Missing required property 'rs_count'")
            __props__.__dict__["rs_count"] = rs_count
            if rs_spec is None and not opts.urn:
                raise TypeError("Missing required property 'rs_spec'")
            __props__.__dict__["rs_spec"] = rs_spec
            if storage_capacity is None and not opts.urn:
                raise TypeError("Missing required property 'storage_capacity'")
            __props__.__dict__["storage_capacity"] = storage_capacity
            if storage_type is None and not opts.urn:
                raise TypeError("Missing required property 'storage_type'")
            __props__.__dict__["storage_type"] = storage_type
            if subnet_id is None and not opts.urn:
                raise TypeError("Missing required property 'subnet_id'")
            __props__.__dict__["subnet_id"] = subnet_id
            __props__.__dict__["tags"] = tags
            if vpc_id is None and not opts.urn:
                raise TypeError("Missing required property 'vpc_id'")
            __props__.__dict__["vpc_id"] = vpc_id
            if zone_id is None and not opts.urn:
                raise TypeError("Missing required property 'zone_id'")
            __props__.__dict__["zone_id"] = zone_id
            __props__.__dict__["charge_status"] = None
            __props__.__dict__["create_time"] = None
            __props__.__dict__["instance_id"] = None
            __props__.__dict__["master_count"] = None
            __props__.__dict__["primary_subnet_id"] = None
            __props__.__dict__["primary_zone_id"] = None
            __props__.__dict__["standby_subnet_id"] = None
            __props__.__dict__["standby_zone_id"] = None
            __props__.__dict__["status"] = None
            __props__.__dict__["used_cold_storage"] = None
            __props__.__dict__["used_storage"] = None
            __props__.__dict__["vpc_name"] = None
            __props__.__dict__["zone_name"] = None
        super(Instance, __self__).__init__(
            'bytepluscc:hbase/instance:Instance',
            resource_name,
            __props__,
            opts)

    @staticmethod
    def get(resource_name: str,
            id: pulumi.Input[str],
            opts: Optional[pulumi.ResourceOptions] = None,
            auto_renew: Optional[pulumi.Input[builtins.bool]] = None,
            charge_status: Optional[pulumi.Input[builtins.str]] = None,
            charge_type: Optional[pulumi.Input[builtins.str]] = None,
            cold_storage: Optional[pulumi.Input[builtins.int]] = None,
            create_time: Optional[pulumi.Input[builtins.str]] = None,
            deletion_protection: Optional[pulumi.Input[builtins.str]] = None,
            enable_auth: Optional[pulumi.Input[builtins.bool]] = None,
            enable_cloud_storage: Optional[pulumi.Input[builtins.bool]] = None,
            endpoints: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstanceEndpointArgs', 'InstanceEndpointArgsDict']]]]] = None,
            engine_version: Optional[pulumi.Input[builtins.str]] = None,
            instance_id: Optional[pulumi.Input[builtins.str]] = None,
            instance_name: Optional[pulumi.Input[builtins.str]] = None,
            instance_type: Optional[pulumi.Input[builtins.str]] = None,
            master_count: Optional[pulumi.Input[builtins.int]] = None,
            master_spec: Optional[pulumi.Input[builtins.str]] = None,
            multi_az: Optional[pulumi.Input[builtins.bool]] = None,
            primary_subnet_id: Optional[pulumi.Input[builtins.str]] = None,
            primary_zone_id: Optional[pulumi.Input[builtins.str]] = None,
            project_name: Optional[pulumi.Input[builtins.str]] = None,
            purchase_months: Optional[pulumi.Input[builtins.int]] = None,
            region_id: Optional[pulumi.Input[builtins.str]] = None,
            rs_count: Optional[pulumi.Input[builtins.int]] = None,
            rs_spec: Optional[pulumi.Input[builtins.str]] = None,
            standby_subnet_id: Optional[pulumi.Input[builtins.str]] = None,
            standby_zone_id: Optional[pulumi.Input[builtins.str]] = None,
            status: Optional[pulumi.Input[builtins.str]] = None,
            storage_capacity: Optional[pulumi.Input[builtins.int]] = None,
            storage_type: Optional[pulumi.Input[builtins.str]] = None,
            subnet_id: Optional[pulumi.Input[builtins.str]] = None,
            tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstanceTagArgs', 'InstanceTagArgsDict']]]]] = None,
            used_cold_storage: Optional[pulumi.Input[builtins.int]] = None,
            used_storage: Optional[pulumi.Input[builtins.float]] = None,
            vpc_id: Optional[pulumi.Input[builtins.str]] = None,
            vpc_name: Optional[pulumi.Input[builtins.str]] = None,
            zone_id: Optional[pulumi.Input[builtins.str]] = None,
            zone_name: Optional[pulumi.Input[builtins.str]] = None) -> 'Instance':
        """
        Get an existing Instance resource's state with the given name, id, and optional extra
        properties used to qualify the lookup.

        :param str resource_name: The unique name of the resulting resource.
        :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
        :param pulumi.ResourceOptions opts: Options for the resource.
        :param pulumi.Input[builtins.bool] auto_renew: 预付费场景下是否自动续费。取值：true：自动续费。false：不自动续费。
        :param pulumi.Input[builtins.str] charge_status: 计费状态。取值：Normal：正常。Overdue：欠费。Shutdown：关停。
        :param pulumi.Input[builtins.str] charge_type: 计费类型，取值：PostPaid：按量计费（后付费）。PrePaid：包年包月（预付费）。
        :param pulumi.Input[builtins.int] cold_storage: 实例总容量型存储空间大小，单位 GiB。
        :param pulumi.Input[builtins.str] create_time: 实例创建时间（UTC 时间）。
        :param pulumi.Input[builtins.str] deletion_protection: 实例删除保护功能开关状态。取值范围：enabled：已开启。disabled：未开启。说明关于实例删除保护的更多信息，请参见实例删除保护。
        :param pulumi.Input[builtins.bool] enable_auth: 是否开启登录认证。取值：true：已开启登录认证。false：未开启登录认证。
        :param pulumi.Input[builtins.bool] enable_cloud_storage: 是否开通存储型容量，取值：true：开通容量型存储。false：不开通容量型存储。说明容量型存储的详细介绍，请参见冷热分离介绍。仅当 MultiAZ（部署方式）取值为 false（单可用区部署）时，支持冷热分离功能。
        :param pulumi.Input[builtins.str] engine_version: HBase 数据库引擎版本。当前仅支持 HBase 2.0 版本，取值默认为 HBase_2.0。
        :param pulumi.Input[builtins.str] instance_id: 实例 ID。
        :param pulumi.Input[builtins.str] instance_name: 实例名称。
        :param pulumi.Input[builtins.str] instance_type: 实例类型。当前仅支持标准型，取值默认为 Standard。
        :param pulumi.Input[builtins.int] master_count: Master 节点个数。单可用区部署，默认包含 2 个 Master 节点。
        :param pulumi.Input[builtins.str] master_spec: Master 节点的规格码。说明关于 Master 节点所支持的规格信息，请参见实例规格。Master 节点数量为固定值，不支持增减。
        :param pulumi.Input[builtins.bool] multi_az: 实例的部署方式，取值：true：多可用区部署。false：单可用区部署。目前仅支持单可用区部署。
        :param pulumi.Input[builtins.str] primary_subnet_id: 实时主可用区子网 ID。
        :param pulumi.Input[builtins.str] primary_zone_id: 实时主可用区 ID。
        :param pulumi.Input[builtins.str] project_name: 实例所属的项目名称。
        :param pulumi.Input[builtins.int] purchase_months: 购买时长，单位：月。取值范围如下：1，2，3，4，5，6，7，8，9，12，24，36。说明当 ChargeType 为 PrePaid时，该参数必填。
        :param pulumi.Input[builtins.str] region_id: 实例所属的地域 ID。
        :param pulumi.Input[builtins.int] rs_count: RegionServer 节点的数量。
        :param pulumi.Input[builtins.str] rs_spec: RegionServer 节点的规格码。
        :param pulumi.Input[builtins.str] standby_subnet_id: 实时备可用区子网 ID。
        :param pulumi.Input[builtins.str] standby_zone_id: 实时备可用区 ID。
        :param pulumi.Input[builtins.str] status: 实例当前状态。关于实例状态的更多说明，请参见实例状态说明。
        :param pulumi.Input[builtins.int] storage_capacity: 实例总存储容量，单位：GiB。
        :param pulumi.Input[builtins.str] storage_type: 实例的存储类型，取值：HdfsHdd：HDD 文件存储。HdfsSsd：SSD 文件存储。
        :param pulumi.Input[builtins.str] subnet_id: 实例所属的子网 ID。单可用区实例，仅包含一个可用区的子网 ID。
        :param pulumi.Input[builtins.int] used_cold_storage: 实例已使用的容量型存储空间大小，单位 MiB。
        :param pulumi.Input[builtins.float] used_storage: 主实例已使用的存储容量，单位：MiB。
        :param pulumi.Input[builtins.str] vpc_id: 私有网络 ID。说明您可以调用 DescribeVpcs 接口查询可创建 HBase 实例的私有网络信息，包括私有网络 ID。
        :param pulumi.Input[builtins.str] vpc_name: 实例所属的私有网络名称。
        :param pulumi.Input[builtins.str] zone_id: 实例所属的可用区 ID。
        :param pulumi.Input[builtins.str] zone_name: 实例所属的可用区名称。
        """
        opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))

        __props__ = _InstanceState.__new__(_InstanceState)

        __props__.__dict__["auto_renew"] = auto_renew
        __props__.__dict__["charge_status"] = charge_status
        __props__.__dict__["charge_type"] = charge_type
        __props__.__dict__["cold_storage"] = cold_storage
        __props__.__dict__["create_time"] = create_time
        __props__.__dict__["deletion_protection"] = deletion_protection
        __props__.__dict__["enable_auth"] = enable_auth
        __props__.__dict__["enable_cloud_storage"] = enable_cloud_storage
        __props__.__dict__["endpoints"] = endpoints
        __props__.__dict__["engine_version"] = engine_version
        __props__.__dict__["instance_id"] = instance_id
        __props__.__dict__["instance_name"] = instance_name
        __props__.__dict__["instance_type"] = instance_type
        __props__.__dict__["master_count"] = master_count
        __props__.__dict__["master_spec"] = master_spec
        __props__.__dict__["multi_az"] = multi_az
        __props__.__dict__["primary_subnet_id"] = primary_subnet_id
        __props__.__dict__["primary_zone_id"] = primary_zone_id
        __props__.__dict__["project_name"] = project_name
        __props__.__dict__["purchase_months"] = purchase_months
        __props__.__dict__["region_id"] = region_id
        __props__.__dict__["rs_count"] = rs_count
        __props__.__dict__["rs_spec"] = rs_spec
        __props__.__dict__["standby_subnet_id"] = standby_subnet_id
        __props__.__dict__["standby_zone_id"] = standby_zone_id
        __props__.__dict__["status"] = status
        __props__.__dict__["storage_capacity"] = storage_capacity
        __props__.__dict__["storage_type"] = storage_type
        __props__.__dict__["subnet_id"] = subnet_id
        __props__.__dict__["tags"] = tags
        __props__.__dict__["used_cold_storage"] = used_cold_storage
        __props__.__dict__["used_storage"] = used_storage
        __props__.__dict__["vpc_id"] = vpc_id
        __props__.__dict__["vpc_name"] = vpc_name
        __props__.__dict__["zone_id"] = zone_id
        __props__.__dict__["zone_name"] = zone_name
        return Instance(resource_name, opts=opts, __props__=__props__)

    @property
    @pulumi.getter(name="autoRenew")
    def auto_renew(self) -> pulumi.Output[builtins.bool]:
        """
        预付费场景下是否自动续费。取值：true：自动续费。false：不自动续费。
        """
        return pulumi.get(self, "auto_renew")

    @property
    @pulumi.getter(name="chargeStatus")
    def charge_status(self) -> pulumi.Output[builtins.str]:
        """
        计费状态。取值：Normal：正常。Overdue：欠费。Shutdown：关停。
        """
        return pulumi.get(self, "charge_status")

    @property
    @pulumi.getter(name="chargeType")
    def charge_type(self) -> pulumi.Output[builtins.str]:
        """
        计费类型，取值：PostPaid：按量计费（后付费）。PrePaid：包年包月（预付费）。
        """
        return pulumi.get(self, "charge_type")

    @property
    @pulumi.getter(name="coldStorage")
    def cold_storage(self) -> pulumi.Output[builtins.int]:
        """
        实例总容量型存储空间大小，单位 GiB。
        """
        return pulumi.get(self, "cold_storage")

    @property
    @pulumi.getter(name="createTime")
    def create_time(self) -> pulumi.Output[builtins.str]:
        """
        实例创建时间（UTC 时间）。
        """
        return pulumi.get(self, "create_time")

    @property
    @pulumi.getter(name="deletionProtection")
    def deletion_protection(self) -> pulumi.Output[builtins.str]:
        """
        实例删除保护功能开关状态。取值范围：enabled：已开启。disabled：未开启。说明关于实例删除保护的更多信息，请参见实例删除保护。
        """
        return pulumi.get(self, "deletion_protection")

    @property
    @pulumi.getter(name="enableAuth")
    def enable_auth(self) -> pulumi.Output[builtins.bool]:
        """
        是否开启登录认证。取值：true：已开启登录认证。false：未开启登录认证。
        """
        return pulumi.get(self, "enable_auth")

    @property
    @pulumi.getter(name="enableCloudStorage")
    def enable_cloud_storage(self) -> pulumi.Output[builtins.bool]:
        """
        是否开通存储型容量，取值：true：开通容量型存储。false：不开通容量型存储。说明容量型存储的详细介绍，请参见冷热分离介绍。仅当 MultiAZ（部署方式）取值为 false（单可用区部署）时，支持冷热分离功能。
        """
        return pulumi.get(self, "enable_cloud_storage")

    @property
    @pulumi.getter
    def endpoints(self) -> pulumi.Output[Sequence['outputs.InstanceEndpoint']]:
        return pulumi.get(self, "endpoints")

    @property
    @pulumi.getter(name="engineVersion")
    def engine_version(self) -> pulumi.Output[builtins.str]:
        """
        HBase 数据库引擎版本。当前仅支持 HBase 2.0 版本，取值默认为 HBase_2.0。
        """
        return pulumi.get(self, "engine_version")

    @property
    @pulumi.getter(name="instanceId")
    def instance_id(self) -> pulumi.Output[builtins.str]:
        """
        实例 ID。
        """
        return pulumi.get(self, "instance_id")

    @property
    @pulumi.getter(name="instanceName")
    def instance_name(self) -> pulumi.Output[builtins.str]:
        """
        实例名称。
        """
        return pulumi.get(self, "instance_name")

    @property
    @pulumi.getter(name="instanceType")
    def instance_type(self) -> pulumi.Output[builtins.str]:
        """
        实例类型。当前仅支持标准型，取值默认为 Standard。
        """
        return pulumi.get(self, "instance_type")

    @property
    @pulumi.getter(name="masterCount")
    def master_count(self) -> pulumi.Output[builtins.int]:
        """
        Master 节点个数。单可用区部署，默认包含 2 个 Master 节点。
        """
        return pulumi.get(self, "master_count")

    @property
    @pulumi.getter(name="masterSpec")
    def master_spec(self) -> pulumi.Output[builtins.str]:
        """
        Master 节点的规格码。说明关于 Master 节点所支持的规格信息，请参见实例规格。Master 节点数量为固定值，不支持增减。
        """
        return pulumi.get(self, "master_spec")

    @property
    @pulumi.getter(name="multiAz")
    def multi_az(self) -> pulumi.Output[builtins.bool]:
        """
        实例的部署方式，取值：true：多可用区部署。false：单可用区部署。目前仅支持单可用区部署。
        """
        return pulumi.get(self, "multi_az")

    @property
    @pulumi.getter(name="primarySubnetId")
    def primary_subnet_id(self) -> pulumi.Output[builtins.str]:
        """
        实时主可用区子网 ID。
        """
        return pulumi.get(self, "primary_subnet_id")

    @property
    @pulumi.getter(name="primaryZoneId")
    def primary_zone_id(self) -> pulumi.Output[builtins.str]:
        """
        实时主可用区 ID。
        """
        return pulumi.get(self, "primary_zone_id")

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

    @property
    @pulumi.getter(name="purchaseMonths")
    def purchase_months(self) -> pulumi.Output[builtins.int]:
        """
        购买时长，单位：月。取值范围如下：1，2，3，4，5，6，7，8，9，12，24，36。说明当 ChargeType 为 PrePaid时，该参数必填。
        """
        return pulumi.get(self, "purchase_months")

    @property
    @pulumi.getter(name="regionId")
    def region_id(self) -> pulumi.Output[builtins.str]:
        """
        实例所属的地域 ID。
        """
        return pulumi.get(self, "region_id")

    @property
    @pulumi.getter(name="rsCount")
    def rs_count(self) -> pulumi.Output[builtins.int]:
        """
        RegionServer 节点的数量。
        """
        return pulumi.get(self, "rs_count")

    @property
    @pulumi.getter(name="rsSpec")
    def rs_spec(self) -> pulumi.Output[builtins.str]:
        """
        RegionServer 节点的规格码。
        """
        return pulumi.get(self, "rs_spec")

    @property
    @pulumi.getter(name="standbySubnetId")
    def standby_subnet_id(self) -> pulumi.Output[builtins.str]:
        """
        实时备可用区子网 ID。
        """
        return pulumi.get(self, "standby_subnet_id")

    @property
    @pulumi.getter(name="standbyZoneId")
    def standby_zone_id(self) -> pulumi.Output[builtins.str]:
        """
        实时备可用区 ID。
        """
        return pulumi.get(self, "standby_zone_id")

    @property
    @pulumi.getter
    def status(self) -> pulumi.Output[builtins.str]:
        """
        实例当前状态。关于实例状态的更多说明，请参见实例状态说明。
        """
        return pulumi.get(self, "status")

    @property
    @pulumi.getter(name="storageCapacity")
    def storage_capacity(self) -> pulumi.Output[builtins.int]:
        """
        实例总存储容量，单位：GiB。
        """
        return pulumi.get(self, "storage_capacity")

    @property
    @pulumi.getter(name="storageType")
    def storage_type(self) -> pulumi.Output[builtins.str]:
        """
        实例的存储类型，取值：HdfsHdd：HDD 文件存储。HdfsSsd：SSD 文件存储。
        """
        return pulumi.get(self, "storage_type")

    @property
    @pulumi.getter(name="subnetId")
    def subnet_id(self) -> pulumi.Output[builtins.str]:
        """
        实例所属的子网 ID。单可用区实例，仅包含一个可用区的子网 ID。
        """
        return pulumi.get(self, "subnet_id")

    @property
    @pulumi.getter
    def tags(self) -> pulumi.Output[Sequence['outputs.InstanceTag']]:
        return pulumi.get(self, "tags")

    @property
    @pulumi.getter(name="usedColdStorage")
    def used_cold_storage(self) -> pulumi.Output[builtins.int]:
        """
        实例已使用的容量型存储空间大小，单位 MiB。
        """
        return pulumi.get(self, "used_cold_storage")

    @property
    @pulumi.getter(name="usedStorage")
    def used_storage(self) -> pulumi.Output[builtins.float]:
        """
        主实例已使用的存储容量，单位：MiB。
        """
        return pulumi.get(self, "used_storage")

    @property
    @pulumi.getter(name="vpcId")
    def vpc_id(self) -> pulumi.Output[builtins.str]:
        """
        私有网络 ID。说明您可以调用 DescribeVpcs 接口查询可创建 HBase 实例的私有网络信息，包括私有网络 ID。
        """
        return pulumi.get(self, "vpc_id")

    @property
    @pulumi.getter(name="vpcName")
    def vpc_name(self) -> pulumi.Output[builtins.str]:
        """
        实例所属的私有网络名称。
        """
        return pulumi.get(self, "vpc_name")

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

    @property
    @pulumi.getter(name="zoneName")
    def zone_name(self) -> pulumi.Output[builtins.str]:
        """
        实例所属的可用区名称。
        """
        return pulumi.get(self, "zone_name")

