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

__all__ = [
    'GetConfigsConfigResult',
    'GetDataLimitsLimitResult',
    'GetInstancesInstanceResult',
    'GetRulesRuleResult',
]

@pulumi.output_type
class GetConfigsConfigResult(dict):
    def __init__(__self__, *,
                 code: str,
                 config_id: str,
                 default_value: str,
                 description: str,
                 id: str,
                 value: str):
        """
        :param str code: Abnormal Alarm General Configuration Module by Using the Encoding.Valid values: `access_failed_cnt`, `access_permission_exprie_max_days`, `log_datasize_avg_days`.
        :param str config_id: Configure the Number.
        :param str default_value: Default Value.
        :param str description: Abnormal Alarm General Description of the Configuration Item.
        :param str id: The ID of the Config.
        :param str value: The Specified Exception Alarm Generic by Using the Value. Code Different Values for This Parameter the Specific Meaning of Different.
        """
        pulumi.set(__self__, "code", code)
        pulumi.set(__self__, "config_id", config_id)
        pulumi.set(__self__, "default_value", default_value)
        pulumi.set(__self__, "description", description)
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def code(self) -> str:
        """
        Abnormal Alarm General Configuration Module by Using the Encoding.Valid values: `access_failed_cnt`, `access_permission_exprie_max_days`, `log_datasize_avg_days`.
        """
        return pulumi.get(self, "code")

    @property
    @pulumi.getter(name="configId")
    def config_id(self) -> str:
        """
        Configure the Number.
        """
        return pulumi.get(self, "config_id")

    @property
    @pulumi.getter(name="defaultValue")
    def default_value(self) -> str:
        """
        Default Value.
        """
        return pulumi.get(self, "default_value")

    @property
    @pulumi.getter
    def description(self) -> str:
        """
        Abnormal Alarm General Description of the Configuration Item.
        """
        return pulumi.get(self, "description")

    @property
    @pulumi.getter
    def id(self) -> str:
        """
        The ID of the Config.
        """
        return pulumi.get(self, "id")

    @property
    @pulumi.getter
    def value(self) -> str:
        """
        The Specified Exception Alarm Generic by Using the Value. Code Different Values for This Parameter the Specific Meaning of Different.
        """
        return pulumi.get(self, "value")


@pulumi.output_type
class GetDataLimitsLimitResult(dict):
    def __init__(__self__, *,
                 audit_status: int,
                 check_status: int,
                 data_limit_id: str,
                 engine_type: str,
                 id: str,
                 local_name: str,
                 log_store_day: int,
                 parent_id: str,
                 port: int,
                 resource_type: str,
                 user_name: str):
        """
        :param int audit_status: Whether to enable the log auditing feature.
        :param int check_status: The status of the connectivity test between the data asset and SDDP.
        :param str data_limit_id: The first ID of the resource.
        :param str engine_type: The type of the database.
        :param str id: The ID of the Data Limit.
        :param str local_name: The name of the service to which the data asset belongs.
        :param int log_store_day: The retention period of raw logs after you enable the log auditing feature.
        :param str parent_id: The ID of the data asset.
        :param int port: The port that is used to connect to the database.
        :param str resource_type: The type of the service to which the data asset belongs.
        :param str user_name: The name of the user who owns the data asset.
        """
        pulumi.set(__self__, "audit_status", audit_status)
        pulumi.set(__self__, "check_status", check_status)
        pulumi.set(__self__, "data_limit_id", data_limit_id)
        pulumi.set(__self__, "engine_type", engine_type)
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "local_name", local_name)
        pulumi.set(__self__, "log_store_day", log_store_day)
        pulumi.set(__self__, "parent_id", parent_id)
        pulumi.set(__self__, "port", port)
        pulumi.set(__self__, "resource_type", resource_type)
        pulumi.set(__self__, "user_name", user_name)

    @property
    @pulumi.getter(name="auditStatus")
    def audit_status(self) -> int:
        """
        Whether to enable the log auditing feature.
        """
        return pulumi.get(self, "audit_status")

    @property
    @pulumi.getter(name="checkStatus")
    def check_status(self) -> int:
        """
        The status of the connectivity test between the data asset and SDDP.
        """
        return pulumi.get(self, "check_status")

    @property
    @pulumi.getter(name="dataLimitId")
    def data_limit_id(self) -> str:
        """
        The first ID of the resource.
        """
        return pulumi.get(self, "data_limit_id")

    @property
    @pulumi.getter(name="engineType")
    def engine_type(self) -> str:
        """
        The type of the database.
        """
        return pulumi.get(self, "engine_type")

    @property
    @pulumi.getter
    def id(self) -> str:
        """
        The ID of the Data Limit.
        """
        return pulumi.get(self, "id")

    @property
    @pulumi.getter(name="localName")
    def local_name(self) -> str:
        """
        The name of the service to which the data asset belongs.
        """
        return pulumi.get(self, "local_name")

    @property
    @pulumi.getter(name="logStoreDay")
    def log_store_day(self) -> int:
        """
        The retention period of raw logs after you enable the log auditing feature.
        """
        return pulumi.get(self, "log_store_day")

    @property
    @pulumi.getter(name="parentId")
    def parent_id(self) -> str:
        """
        The ID of the data asset.
        """
        return pulumi.get(self, "parent_id")

    @property
    @pulumi.getter
    def port(self) -> int:
        """
        The port that is used to connect to the database.
        """
        return pulumi.get(self, "port")

    @property
    @pulumi.getter(name="resourceType")
    def resource_type(self) -> str:
        """
        The type of the service to which the data asset belongs.
        """
        return pulumi.get(self, "resource_type")

    @property
    @pulumi.getter(name="userName")
    def user_name(self) -> str:
        """
        The name of the user who owns the data asset.
        """
        return pulumi.get(self, "user_name")


@pulumi.output_type
class GetInstancesInstanceResult(dict):
    def __init__(__self__, *,
                 authed: bool,
                 id: str,
                 instance_id: str,
                 instance_num: str,
                 odps_set: bool,
                 oss_bucket_set: bool,
                 oss_size: str,
                 payment_type: str,
                 rds_set: bool,
                 status: str):
        """
        :param bool authed: Whether the required RAM authorization is configured.
        :param str instance_id: The ID of the instance.
        :param str instance_num: The number of instances.
        :param bool odps_set: Whether the authorized MaxCompute (ODPS) assets.
        :param bool oss_bucket_set: Whether the authorized oss assets.
        :param str oss_size: The OSS size of the instance.
        :param str payment_type: The payment type of the resource. Valid values: `Subscription`.
        :param bool rds_set: Whether the authorized rds assets.
        :param str status: The status of the resource.
        """
        pulumi.set(__self__, "authed", authed)
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "instance_id", instance_id)
        pulumi.set(__self__, "instance_num", instance_num)
        pulumi.set(__self__, "odps_set", odps_set)
        pulumi.set(__self__, "oss_bucket_set", oss_bucket_set)
        pulumi.set(__self__, "oss_size", oss_size)
        pulumi.set(__self__, "payment_type", payment_type)
        pulumi.set(__self__, "rds_set", rds_set)
        pulumi.set(__self__, "status", status)

    @property
    @pulumi.getter
    def authed(self) -> bool:
        """
        Whether the required RAM authorization is configured.
        """
        return pulumi.get(self, "authed")

    @property
    @pulumi.getter
    def id(self) -> str:
        return pulumi.get(self, "id")

    @property
    @pulumi.getter(name="instanceId")
    def instance_id(self) -> str:
        """
        The ID of the instance.
        """
        return pulumi.get(self, "instance_id")

    @property
    @pulumi.getter(name="instanceNum")
    def instance_num(self) -> str:
        """
        The number of instances.
        """
        return pulumi.get(self, "instance_num")

    @property
    @pulumi.getter(name="odpsSet")
    def odps_set(self) -> bool:
        """
        Whether the authorized MaxCompute (ODPS) assets.
        """
        return pulumi.get(self, "odps_set")

    @property
    @pulumi.getter(name="ossBucketSet")
    def oss_bucket_set(self) -> bool:
        """
        Whether the authorized oss assets.
        """
        return pulumi.get(self, "oss_bucket_set")

    @property
    @pulumi.getter(name="ossSize")
    def oss_size(self) -> str:
        """
        The OSS size of the instance.
        """
        return pulumi.get(self, "oss_size")

    @property
    @pulumi.getter(name="paymentType")
    def payment_type(self) -> str:
        """
        The payment type of the resource. Valid values: `Subscription`.
        """
        return pulumi.get(self, "payment_type")

    @property
    @pulumi.getter(name="rdsSet")
    def rds_set(self) -> bool:
        """
        Whether the authorized rds assets.
        """
        return pulumi.get(self, "rds_set")

    @property
    @pulumi.getter
    def status(self) -> str:
        """
        The status of the resource.
        """
        return pulumi.get(self, "status")


@pulumi.output_type
class GetRulesRuleResult(dict):
    def __init__(__self__, *,
                 category: int,
                 category_name: str,
                 content: str,
                 content_category: str,
                 create_time: str,
                 custom_type: int,
                 description: str,
                 display_name: str,
                 gmt_modified: str,
                 id: str,
                 login_name: str,
                 major_key: str,
                 name: str,
                 product_code: str,
                 product_id: str,
                 risk_level_id: str,
                 risk_level_name: str,
                 rule_id: str,
                 stat_express: str,
                 status: int,
                 target: str,
                 user_id: str,
                 warn_level: int):
        """
        :param int category: Sensitive Data Identification Rules for the Type of.
        :param str category_name: Sensitive Data Identification Rules Belongs Type Name.
        :param str content: Sensitive Data Identification Rules the Content.
        :param str content_category: The Content Classification.
        :param str create_time: Sensitive Data Identification Rules the Creation Time of the Number of Milliseconds.
        :param int custom_type: Sensitive Data Identification Rules of Type. 0: the Built-in 1: The User-Defined.
        :param str description: Sensitive Data Identification a Description of the Rule Information.
        :param str display_name: Sensitive Data Identification Rules, Founder of Account Display Name.
        :param str gmt_modified: Sensitive Data Identification Rules to the Modified Time of the Number of Milliseconds.
        :param str id: The ID of the Rule.
        :param str login_name: Sensitive Data Identification Rules, Founder Of Account Login.
        :param str major_key: The Primary Key.
        :param str name: The name of rule.
        :param str product_code: Product Code.
        :param str product_id: Product ID.
        :param str risk_level_id: Sensitive Data Identification Rules of Risk Level ID. Valid values:1:S1, Weak Risk Level. 2:S2, Medium Risk Level. 3:S3 High Risk Level. 4:S4, the Highest Risk Level.
        :param str risk_level_name: Sensitive Data Identification Rules the Risk Level of. S1: Weak Risk Level S2: Moderate Risk Level S3: High Risk Level S4: the Highest Risk Level.
        :param str rule_id: The first ID of the resource.
        :param str stat_express: Triggered the Alarm Conditions.
        :param int status: Sensitive Data Identification Rules Detection State of.
        :param str target: The Target.
        :param str user_id: The User ID.
        :param int warn_level: The Level of Risk.
        """
        pulumi.set(__self__, "category", category)
        pulumi.set(__self__, "category_name", category_name)
        pulumi.set(__self__, "content", content)
        pulumi.set(__self__, "content_category", content_category)
        pulumi.set(__self__, "create_time", create_time)
        pulumi.set(__self__, "custom_type", custom_type)
        pulumi.set(__self__, "description", description)
        pulumi.set(__self__, "display_name", display_name)
        pulumi.set(__self__, "gmt_modified", gmt_modified)
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "login_name", login_name)
        pulumi.set(__self__, "major_key", major_key)
        pulumi.set(__self__, "name", name)
        pulumi.set(__self__, "product_code", product_code)
        pulumi.set(__self__, "product_id", product_id)
        pulumi.set(__self__, "risk_level_id", risk_level_id)
        pulumi.set(__self__, "risk_level_name", risk_level_name)
        pulumi.set(__self__, "rule_id", rule_id)
        pulumi.set(__self__, "stat_express", stat_express)
        pulumi.set(__self__, "status", status)
        pulumi.set(__self__, "target", target)
        pulumi.set(__self__, "user_id", user_id)
        pulumi.set(__self__, "warn_level", warn_level)

    @property
    @pulumi.getter
    def category(self) -> int:
        """
        Sensitive Data Identification Rules for the Type of.
        """
        return pulumi.get(self, "category")

    @property
    @pulumi.getter(name="categoryName")
    def category_name(self) -> str:
        """
        Sensitive Data Identification Rules Belongs Type Name.
        """
        return pulumi.get(self, "category_name")

    @property
    @pulumi.getter
    def content(self) -> str:
        """
        Sensitive Data Identification Rules the Content.
        """
        return pulumi.get(self, "content")

    @property
    @pulumi.getter(name="contentCategory")
    def content_category(self) -> str:
        """
        The Content Classification.
        """
        return pulumi.get(self, "content_category")

    @property
    @pulumi.getter(name="createTime")
    def create_time(self) -> str:
        """
        Sensitive Data Identification Rules the Creation Time of the Number of Milliseconds.
        """
        return pulumi.get(self, "create_time")

    @property
    @pulumi.getter(name="customType")
    def custom_type(self) -> int:
        """
        Sensitive Data Identification Rules of Type. 0: the Built-in 1: The User-Defined.
        """
        return pulumi.get(self, "custom_type")

    @property
    @pulumi.getter
    def description(self) -> str:
        """
        Sensitive Data Identification a Description of the Rule Information.
        """
        return pulumi.get(self, "description")

    @property
    @pulumi.getter(name="displayName")
    def display_name(self) -> str:
        """
        Sensitive Data Identification Rules, Founder of Account Display Name.
        """
        return pulumi.get(self, "display_name")

    @property
    @pulumi.getter(name="gmtModified")
    def gmt_modified(self) -> str:
        """
        Sensitive Data Identification Rules to the Modified Time of the Number of Milliseconds.
        """
        return pulumi.get(self, "gmt_modified")

    @property
    @pulumi.getter
    def id(self) -> str:
        """
        The ID of the Rule.
        """
        return pulumi.get(self, "id")

    @property
    @pulumi.getter(name="loginName")
    def login_name(self) -> str:
        """
        Sensitive Data Identification Rules, Founder Of Account Login.
        """
        return pulumi.get(self, "login_name")

    @property
    @pulumi.getter(name="majorKey")
    def major_key(self) -> str:
        """
        The Primary Key.
        """
        return pulumi.get(self, "major_key")

    @property
    @pulumi.getter
    def name(self) -> str:
        """
        The name of rule.
        """
        return pulumi.get(self, "name")

    @property
    @pulumi.getter(name="productCode")
    def product_code(self) -> str:
        """
        Product Code.
        """
        return pulumi.get(self, "product_code")

    @property
    @pulumi.getter(name="productId")
    def product_id(self) -> str:
        """
        Product ID.
        """
        return pulumi.get(self, "product_id")

    @property
    @pulumi.getter(name="riskLevelId")
    def risk_level_id(self) -> str:
        """
        Sensitive Data Identification Rules of Risk Level ID. Valid values:1:S1, Weak Risk Level. 2:S2, Medium Risk Level. 3:S3 High Risk Level. 4:S4, the Highest Risk Level.
        """
        return pulumi.get(self, "risk_level_id")

    @property
    @pulumi.getter(name="riskLevelName")
    def risk_level_name(self) -> str:
        """
        Sensitive Data Identification Rules the Risk Level of. S1: Weak Risk Level S2: Moderate Risk Level S3: High Risk Level S4: the Highest Risk Level.
        """
        return pulumi.get(self, "risk_level_name")

    @property
    @pulumi.getter(name="ruleId")
    def rule_id(self) -> str:
        """
        The first ID of the resource.
        """
        return pulumi.get(self, "rule_id")

    @property
    @pulumi.getter(name="statExpress")
    def stat_express(self) -> str:
        """
        Triggered the Alarm Conditions.
        """
        return pulumi.get(self, "stat_express")

    @property
    @pulumi.getter
    def status(self) -> int:
        """
        Sensitive Data Identification Rules Detection State of.
        """
        return pulumi.get(self, "status")

    @property
    @pulumi.getter
    def target(self) -> str:
        """
        The Target.
        """
        return pulumi.get(self, "target")

    @property
    @pulumi.getter(name="userId")
    def user_id(self) -> str:
        """
        The User ID.
        """
        return pulumi.get(self, "user_id")

    @property
    @pulumi.getter(name="warnLevel")
    def warn_level(self) -> int:
        """
        The Level of Risk.
        """
        return pulumi.get(self, "warn_level")


