import * as pulumi from "@pulumi/pulumi";
/**
 * Manages a CloudTable cluster resource within HuaweiCloud.
 *
 * ## Import
 *
 * Clusters can be imported by their `id`. e.g.bash
 *
 * ```sh
 *  $ pulumi import huaweicloud:CloudTable/cluster:Cluster test 4c2d38b6-6fb0-480c-8813-5f536b5ba6a4
 * ```
 *
 *  Note that the imported state may not be identical to your resource definition, due to some attributes missing from the API response, security or some other reason. The missing attributes include`availability_zone`, `network_id`. It is generally recommended running `terraform plan` after importing a cluster. You can then decide if changes should be applied to the cluster, or the resource definition should be updated to align with the cluster. Also you can ignore changes as below. hcl resource "huaweicloud_cloudtable_cluster" "test" {
 *
 *  ...
 *
 *  lifecycle {
 *
 *  ignore_changes = [
 *
 *  availability_zone, network_id,
 *
 *  ]
 *
 *  } }
 */
export declare class Cluster extends pulumi.CustomResource {
    /**
     * Get an existing Cluster resource's state with the given name, ID, and optional extra
     * properties used to qualify the lookup.
     *
     * @param name The _unique_ name of the resulting resource.
     * @param id The _unique_ provider ID of the resource to lookup.
     * @param state Any extra arguments used during the lookup.
     * @param opts Optional settings to control the behavior of the CustomResource.
     */
    static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ClusterState, opts?: pulumi.CustomResourceOptions): Cluster;
    /**
     * Returns true if the given object is an instance of Cluster.  This is designed to work even
     * when multiple copies of the Pulumi SDK have been loaded into the same process.
     */
    static isInstance(obj: any): obj is Cluster;
    /**
     * Specifies the availability zone in which to create the cluster.
     * Please following [reference](https://developer.huaweicloud.com/en-us/endpoint/?CloudTable) for the values.
     * Changing this parameter will create a new resource.
     */
    readonly availabilityZone: pulumi.Output<string>;
    /**
     * The time (UTC) when the cluster was created.
     */
    readonly createdAt: pulumi.Output<string>;
    /**
     * The HBase public network endpoint address.
     */
    readonly hbasePublicEndpoint: pulumi.Output<string>;
    /**
     * Specifies the version of HBase datastore.
     */
    readonly hbaseVersion: pulumi.Output<string>;
    /**
     * Specifies whether IAM authorization is enabled.
     * Changing this parameter will create a new resource.
     */
    readonly iamAuthEnabled: pulumi.Output<boolean>;
    /**
     * Specifies the cluster name.
     * The name consists of `4` to `64` characters, including lowercase letters, numbers and hyphens (-).
     * Changing this parameter will create a new resource.
     */
    readonly name: pulumi.Output<string>;
    /**
     * Specifies the ID of the network to which the cluster belongs.
     * Changing this parameter will create a new resource.
     */
    readonly networkId: pulumi.Output<string>;
    /**
     * The intranet OpenTSDB connection access address.
     */
    readonly openTsdbLink: pulumi.Output<string>;
    /**
     * Specifies the TSD nodes number of the cluster.
     * Changing this parameter will create a new resource.
     */
    readonly opentsdbNum: pulumi.Output<number>;
    /**
     * The OpenTSDB public network endpoint address.
     */
    readonly opentsdbPublicEndpoint: pulumi.Output<string>;
    /**
     * Specifies the region in which to create the cluster.
     * If omitted, the provider-level region will be used. Changing this parameter will create a new resource.
     */
    readonly region: pulumi.Output<string>;
    /**
     * Specifies the compute nodes number of the cluster.
     * The valid values must be at least `2`. Defaults to `2`.
     * Changing this parameter will create a new resource.
     */
    readonly rsNum: pulumi.Output<number | undefined>;
    /**
     * Specifies the security group ID of the cluster.
     * Changing this parameter will create a new resource.
     */
    readonly securityGroupId: pulumi.Output<string>;
    /**
     * The cluster status.
     */
    readonly status: pulumi.Output<string>;
    /**
     * The storage size, in GB.
     */
    readonly storageSize: pulumi.Output<number>;
    /**
     * The currently used storage, in GB.
     */
    readonly storageSizeUsed: pulumi.Output<number>;
    /**
     * Specifies the storage type.
     * The valid values are **COMMON** and **ULTRAHIGH**. Changing this parameter will create a new resource.
     */
    readonly storageType: pulumi.Output<string>;
    /**
     * Specifies the VPC ID to which the cluster belongs.
     * Changing this parameter will create a new resource.
     */
    readonly vpcId: pulumi.Output<string>;
    /**
     * The intranet zookeeper connection access address.
     */
    readonly zookeeperLink: pulumi.Output<string>;
    /**
     * Create a Cluster resource with the given unique name, arguments, and options.
     *
     * @param name The _unique_ name of the resource.
     * @param args The arguments to use to populate this resource's properties.
     * @param opts A bag of options that control this resource's behavior.
     */
    constructor(name: string, args: ClusterArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering Cluster resources.
 */
export interface ClusterState {
    /**
     * Specifies the availability zone in which to create the cluster.
     * Please following [reference](https://developer.huaweicloud.com/en-us/endpoint/?CloudTable) for the values.
     * Changing this parameter will create a new resource.
     */
    availabilityZone?: pulumi.Input<string>;
    /**
     * The time (UTC) when the cluster was created.
     */
    createdAt?: pulumi.Input<string>;
    /**
     * The HBase public network endpoint address.
     */
    hbasePublicEndpoint?: pulumi.Input<string>;
    /**
     * Specifies the version of HBase datastore.
     */
    hbaseVersion?: pulumi.Input<string>;
    /**
     * Specifies whether IAM authorization is enabled.
     * Changing this parameter will create a new resource.
     */
    iamAuthEnabled?: pulumi.Input<boolean>;
    /**
     * Specifies the cluster name.
     * The name consists of `4` to `64` characters, including lowercase letters, numbers and hyphens (-).
     * Changing this parameter will create a new resource.
     */
    name?: pulumi.Input<string>;
    /**
     * Specifies the ID of the network to which the cluster belongs.
     * Changing this parameter will create a new resource.
     */
    networkId?: pulumi.Input<string>;
    /**
     * The intranet OpenTSDB connection access address.
     */
    openTsdbLink?: pulumi.Input<string>;
    /**
     * Specifies the TSD nodes number of the cluster.
     * Changing this parameter will create a new resource.
     */
    opentsdbNum?: pulumi.Input<number>;
    /**
     * The OpenTSDB public network endpoint address.
     */
    opentsdbPublicEndpoint?: pulumi.Input<string>;
    /**
     * Specifies the region in which to create the cluster.
     * If omitted, the provider-level region will be used. Changing this parameter will create a new resource.
     */
    region?: pulumi.Input<string>;
    /**
     * Specifies the compute nodes number of the cluster.
     * The valid values must be at least `2`. Defaults to `2`.
     * Changing this parameter will create a new resource.
     */
    rsNum?: pulumi.Input<number>;
    /**
     * Specifies the security group ID of the cluster.
     * Changing this parameter will create a new resource.
     */
    securityGroupId?: pulumi.Input<string>;
    /**
     * The cluster status.
     */
    status?: pulumi.Input<string>;
    /**
     * The storage size, in GB.
     */
    storageSize?: pulumi.Input<number>;
    /**
     * The currently used storage, in GB.
     */
    storageSizeUsed?: pulumi.Input<number>;
    /**
     * Specifies the storage type.
     * The valid values are **COMMON** and **ULTRAHIGH**. Changing this parameter will create a new resource.
     */
    storageType?: pulumi.Input<string>;
    /**
     * Specifies the VPC ID to which the cluster belongs.
     * Changing this parameter will create a new resource.
     */
    vpcId?: pulumi.Input<string>;
    /**
     * The intranet zookeeper connection access address.
     */
    zookeeperLink?: pulumi.Input<string>;
}
/**
 * The set of arguments for constructing a Cluster resource.
 */
export interface ClusterArgs {
    /**
     * Specifies the availability zone in which to create the cluster.
     * Please following [reference](https://developer.huaweicloud.com/en-us/endpoint/?CloudTable) for the values.
     * Changing this parameter will create a new resource.
     */
    availabilityZone: pulumi.Input<string>;
    /**
     * Specifies the version of HBase datastore.
     */
    hbaseVersion: pulumi.Input<string>;
    /**
     * Specifies whether IAM authorization is enabled.
     * Changing this parameter will create a new resource.
     */
    iamAuthEnabled?: pulumi.Input<boolean>;
    /**
     * Specifies the cluster name.
     * The name consists of `4` to `64` characters, including lowercase letters, numbers and hyphens (-).
     * Changing this parameter will create a new resource.
     */
    name?: pulumi.Input<string>;
    /**
     * Specifies the ID of the network to which the cluster belongs.
     * Changing this parameter will create a new resource.
     */
    networkId: pulumi.Input<string>;
    /**
     * Specifies the TSD nodes number of the cluster.
     * Changing this parameter will create a new resource.
     */
    opentsdbNum?: pulumi.Input<number>;
    /**
     * Specifies the region in which to create the cluster.
     * If omitted, the provider-level region will be used. Changing this parameter will create a new resource.
     */
    region?: pulumi.Input<string>;
    /**
     * Specifies the compute nodes number of the cluster.
     * The valid values must be at least `2`. Defaults to `2`.
     * Changing this parameter will create a new resource.
     */
    rsNum?: pulumi.Input<number>;
    /**
     * Specifies the security group ID of the cluster.
     * Changing this parameter will create a new resource.
     */
    securityGroupId: pulumi.Input<string>;
    /**
     * Specifies the storage type.
     * The valid values are **COMMON** and **ULTRAHIGH**. Changing this parameter will create a new resource.
     */
    storageType: pulumi.Input<string>;
    /**
     * Specifies the VPC ID to which the cluster belongs.
     * Changing this parameter will create a new resource.
     */
    vpcId: pulumi.Input<string>;
}
