import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../../types/input"; import * as outputs from "../../types/output"; import * as enums from "../../types/enums"; /** * Creates a cluster within an instance. Note that exactly one of Cluster.serve_nodes and Cluster.cluster_config.cluster_autoscaling_config can be set. If serve_nodes is set to non-zero, then the cluster is manually scaled. If cluster_config.cluster_autoscaling_config is non-empty, then autoscaling is enabled. */ 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 opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, 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; /** * Configuration for this cluster. */ readonly clusterConfig: pulumi.Output; /** * Required. The ID to be used when referring to the new cluster within its instance, e.g., just `mycluster` rather than `projects/myproject/instances/myinstance/clusters/mycluster`. */ readonly clusterId: pulumi.Output; /** * Immutable. The type of storage used by this cluster to serve its parent instance's tables, unless explicitly overridden. */ readonly defaultStorageType: pulumi.Output; /** * Immutable. The encryption configuration for CMEK-protected clusters. */ readonly encryptionConfig: pulumi.Output; readonly instanceId: pulumi.Output; /** * Immutable. The location where this cluster's nodes and storage reside. For best performance, clients should be located as close as possible to this cluster. Currently only zones are supported, so values should be of the form `projects/{project}/locations/{zone}`. */ readonly location: pulumi.Output; /** * The unique name of the cluster. Values are of the form `projects/{project}/instances/{instance}/clusters/a-z*`. */ readonly name: pulumi.Output; readonly project: pulumi.Output; /** * The number of nodes in the cluster. If no value is set, Cloud Bigtable automatically allocates nodes based on your data footprint and optimized for 50% storage utilization. */ readonly serveNodes: pulumi.Output; /** * The current state of the cluster. */ readonly state: pulumi.Output; /** * 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); } /** * The set of arguments for constructing a Cluster resource. */ export interface ClusterArgs { /** * Configuration for this cluster. */ clusterConfig?: pulumi.Input; /** * Required. The ID to be used when referring to the new cluster within its instance, e.g., just `mycluster` rather than `projects/myproject/instances/myinstance/clusters/mycluster`. */ clusterId: pulumi.Input; /** * Immutable. The type of storage used by this cluster to serve its parent instance's tables, unless explicitly overridden. */ defaultStorageType?: pulumi.Input; /** * Immutable. The encryption configuration for CMEK-protected clusters. */ encryptionConfig?: pulumi.Input; instanceId: pulumi.Input; /** * Immutable. The location where this cluster's nodes and storage reside. For best performance, clients should be located as close as possible to this cluster. Currently only zones are supported, so values should be of the form `projects/{project}/locations/{zone}`. */ location?: pulumi.Input; /** * The unique name of the cluster. Values are of the form `projects/{project}/instances/{instance}/clusters/a-z*`. */ name?: pulumi.Input; project?: pulumi.Input; /** * The number of nodes in the cluster. If no value is set, Cloud Bigtable automatically allocates nodes based on your data footprint and optimized for 50% storage utilization. */ serveNodes?: pulumi.Input; }