# 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 warnings
import pulumi
import pulumi.runtime
from typing import Any, Mapping, Optional, Sequence, Union, overload
from .. import _utilities
from . import outputs

__all__ = [
    'GetClustersClusterResult',
    'GetClustersClusterInstanceModelResult',
]

@pulumi.output_type
class GetClustersClusterResult(dict):
    def __init__(__self__, *,
                 acl_id: str,
                 app_version: str,
                 cluster_id: str,
                 cluster_name: str,
                 cluster_type: str,
                 cpu: int,
                 health_status: str,
                 id: str,
                 init_cost_time: int,
                 instance_count: int,
                 instance_id: str,
                 instance_models: Sequence['outputs.GetClustersClusterInstanceModelResult'],
                 internet_address: str,
                 internet_domain: str,
                 internet_port: str,
                 intranet_address: str,
                 intranet_domain: str,
                 intranet_port: str,
                 memory_capacity: int,
                 pay_info: str,
                 pub_network_flow: str,
                 status: str):
        """
        :param str acl_id: The id of acl.
        :param str app_version: The version of app.
        :param str cluster_id: ID of the MSE Cluster.
        :param str cluster_name: ID of the OOS Executions.
        :param str cluster_type: The type of MSE Cluster.
        :param int cpu: The num of cpu.
        :param str health_status: The health status of MSE Cluster.
        :param str id: ID of the MSE Cluster.
        :param int init_cost_time: Time-consuming to create.
        :param int instance_count: The count of instance.
        :param str instance_id: ID of the MSE Cluster.
        :param Sequence['GetClustersClusterInstanceModelArgs'] instance_models: The list of instances.
        :param str internet_address: The address of public network.
        :param str internet_domain: The domain of public network.
        :param str internet_port: The port of public network.
        :param str intranet_address: The address of private network.
        :param str intranet_domain: The domain of private network.
        :param str intranet_port: The port of private network.
        :param int memory_capacity: The memory size.
        :param str pay_info: The type of payment.
        :param str pub_network_flow: The public network bandwidth.
        :param str status: The status of MSE Cluster. Valid: `DESTROY_FAILED`, `DESTROY_ING`, `DESTROY_SUCCESS`, `INIT_FAILED`, `INIT_ING`, `INIT_SUCCESS`, `INIT_TIME_OUT`, `RESTART_FAILED`, `RESTART_ING`, `RESTART_SUCCESS`, `SCALE_FAILED`, `SCALE_ING`, `SCALE_SUCCESS`
        """
        pulumi.set(__self__, "acl_id", acl_id)
        pulumi.set(__self__, "app_version", app_version)
        pulumi.set(__self__, "cluster_id", cluster_id)
        pulumi.set(__self__, "cluster_name", cluster_name)
        pulumi.set(__self__, "cluster_type", cluster_type)
        pulumi.set(__self__, "cpu", cpu)
        pulumi.set(__self__, "health_status", health_status)
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "init_cost_time", init_cost_time)
        pulumi.set(__self__, "instance_count", instance_count)
        pulumi.set(__self__, "instance_id", instance_id)
        pulumi.set(__self__, "instance_models", instance_models)
        pulumi.set(__self__, "internet_address", internet_address)
        pulumi.set(__self__, "internet_domain", internet_domain)
        pulumi.set(__self__, "internet_port", internet_port)
        pulumi.set(__self__, "intranet_address", intranet_address)
        pulumi.set(__self__, "intranet_domain", intranet_domain)
        pulumi.set(__self__, "intranet_port", intranet_port)
        pulumi.set(__self__, "memory_capacity", memory_capacity)
        pulumi.set(__self__, "pay_info", pay_info)
        pulumi.set(__self__, "pub_network_flow", pub_network_flow)
        pulumi.set(__self__, "status", status)

    @property
    @pulumi.getter(name="aclId")
    def acl_id(self) -> str:
        """
        The id of acl.
        """
        return pulumi.get(self, "acl_id")

    @property
    @pulumi.getter(name="appVersion")
    def app_version(self) -> str:
        """
        The version of app.
        """
        return pulumi.get(self, "app_version")

    @property
    @pulumi.getter(name="clusterId")
    def cluster_id(self) -> str:
        """
        ID of the MSE Cluster.
        """
        return pulumi.get(self, "cluster_id")

    @property
    @pulumi.getter(name="clusterName")
    def cluster_name(self) -> str:
        """
        ID of the OOS Executions.
        """
        return pulumi.get(self, "cluster_name")

    @property
    @pulumi.getter(name="clusterType")
    def cluster_type(self) -> str:
        """
        The type of MSE Cluster.
        """
        return pulumi.get(self, "cluster_type")

    @property
    @pulumi.getter
    def cpu(self) -> int:
        """
        The num of cpu.
        """
        return pulumi.get(self, "cpu")

    @property
    @pulumi.getter(name="healthStatus")
    def health_status(self) -> str:
        """
        The health status of MSE Cluster.
        """
        return pulumi.get(self, "health_status")

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

    @property
    @pulumi.getter(name="initCostTime")
    def init_cost_time(self) -> int:
        """
        Time-consuming to create.
        """
        return pulumi.get(self, "init_cost_time")

    @property
    @pulumi.getter(name="instanceCount")
    def instance_count(self) -> int:
        """
        The count of instance.
        """
        return pulumi.get(self, "instance_count")

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

    @property
    @pulumi.getter(name="instanceModels")
    def instance_models(self) -> Sequence['outputs.GetClustersClusterInstanceModelResult']:
        """
        The list of instances.
        """
        return pulumi.get(self, "instance_models")

    @property
    @pulumi.getter(name="internetAddress")
    def internet_address(self) -> str:
        """
        The address of public network.
        """
        return pulumi.get(self, "internet_address")

    @property
    @pulumi.getter(name="internetDomain")
    def internet_domain(self) -> str:
        """
        The domain of public network.
        """
        return pulumi.get(self, "internet_domain")

    @property
    @pulumi.getter(name="internetPort")
    def internet_port(self) -> str:
        """
        The port of public network.
        """
        return pulumi.get(self, "internet_port")

    @property
    @pulumi.getter(name="intranetAddress")
    def intranet_address(self) -> str:
        """
        The address of private network.
        """
        return pulumi.get(self, "intranet_address")

    @property
    @pulumi.getter(name="intranetDomain")
    def intranet_domain(self) -> str:
        """
        The domain of private network.
        """
        return pulumi.get(self, "intranet_domain")

    @property
    @pulumi.getter(name="intranetPort")
    def intranet_port(self) -> str:
        """
        The port of private network.
        """
        return pulumi.get(self, "intranet_port")

    @property
    @pulumi.getter(name="memoryCapacity")
    def memory_capacity(self) -> int:
        """
        The memory size.
        """
        return pulumi.get(self, "memory_capacity")

    @property
    @pulumi.getter(name="payInfo")
    def pay_info(self) -> str:
        """
        The type of payment.
        """
        return pulumi.get(self, "pay_info")

    @property
    @pulumi.getter(name="pubNetworkFlow")
    def pub_network_flow(self) -> str:
        """
        The public network bandwidth.
        """
        return pulumi.get(self, "pub_network_flow")

    @property
    @pulumi.getter
    def status(self) -> str:
        """
        The status of MSE Cluster. Valid: `DESTROY_FAILED`, `DESTROY_ING`, `DESTROY_SUCCESS`, `INIT_FAILED`, `INIT_ING`, `INIT_SUCCESS`, `INIT_TIME_OUT`, `RESTART_FAILED`, `RESTART_ING`, `RESTART_SUCCESS`, `SCALE_FAILED`, `SCALE_ING`, `SCALE_SUCCESS`
        """
        return pulumi.get(self, "status")


@pulumi.output_type
class GetClustersClusterInstanceModelResult(dict):
    def __init__(__self__, *,
                 health_status: str,
                 instance_type: str,
                 internet_ip: str,
                 ip: str,
                 pod_name: str,
                 role: str,
                 single_tunnel_vip: str,
                 vip: str):
        """
        :param str health_status: The health status of MSE Cluster.
        """
        pulumi.set(__self__, "health_status", health_status)
        pulumi.set(__self__, "instance_type", instance_type)
        pulumi.set(__self__, "internet_ip", internet_ip)
        pulumi.set(__self__, "ip", ip)
        pulumi.set(__self__, "pod_name", pod_name)
        pulumi.set(__self__, "role", role)
        pulumi.set(__self__, "single_tunnel_vip", single_tunnel_vip)
        pulumi.set(__self__, "vip", vip)

    @property
    @pulumi.getter(name="healthStatus")
    def health_status(self) -> str:
        """
        The health status of MSE Cluster.
        """
        return pulumi.get(self, "health_status")

    @property
    @pulumi.getter(name="instanceType")
    def instance_type(self) -> str:
        return pulumi.get(self, "instance_type")

    @property
    @pulumi.getter(name="internetIp")
    def internet_ip(self) -> str:
        return pulumi.get(self, "internet_ip")

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

    @property
    @pulumi.getter(name="podName")
    def pod_name(self) -> str:
        return pulumi.get(self, "pod_name")

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

    @property
    @pulumi.getter(name="singleTunnelVip")
    def single_tunnel_vip(self) -> str:
        return pulumi.get(self, "single_tunnel_vip")

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


