Instance

Creates a Google Bigtable instance. For more information see:

Example Usage

Production Instance

using Pulumi;
using Gcp = Pulumi.Gcp;

class MyStack : Stack
{
    public MyStack()
    {
        var production_instance = new Gcp.BigTable.Instance("production-instance", new Gcp.BigTable.InstanceArgs
        {
            Clusters = 
            {
                new Gcp.BigTable.Inputs.InstanceClusterArgs
                {
                    ClusterId = "tf-instance-cluster",
                    NumNodes = 1,
                    StorageType = "HDD",
                },
            },
            Labels = 
            {
                { "my-label", "prod-label" },
            },
        });
    }

}
package main

import (
	"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/bigtable"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := bigtable.NewInstance(ctx, "production_instance", &bigtable.InstanceArgs{
			Clusters: bigtable.InstanceClusterArray{
				&bigtable.InstanceClusterArgs{
					ClusterId:   pulumi.String("tf-instance-cluster"),
					NumNodes:    pulumi.Int(1),
					StorageType: pulumi.String("HDD"),
				},
			},
			Labels: pulumi.StringMap{
				"my-label": pulumi.String("prod-label"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
import pulumi
import pulumi_gcp as gcp

production_instance = gcp.bigtable.Instance("production-instance",
    clusters=[gcp.bigtable.InstanceClusterArgs(
        cluster_id="tf-instance-cluster",
        num_nodes=1,
        storage_type="HDD",
    )],
    labels={
        "my-label": "prod-label",
    })
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const production_instance = new gcp.bigtable.Instance("production-instance", {
    clusters: [{
        clusterId: "tf-instance-cluster",
        numNodes: 1,
        storageType: "HDD",
    }],
    labels: {
        "my-label": "prod-label",
    },
});

Create a Instance Resource

new Instance(name: string, args?: InstanceArgs, opts?: CustomResourceOptions);
@overload
def Instance(resource_name: str,
             opts: Optional[ResourceOptions] = None,
             clusters: Optional[Sequence[InstanceClusterArgs]] = None,
             deletion_protection: Optional[bool] = None,
             display_name: Optional[str] = None,
             instance_type: Optional[str] = None,
             labels: Optional[Mapping[str, str]] = None,
             name: Optional[str] = None,
             project: Optional[str] = None)
@overload
def Instance(resource_name: str,
             args: Optional[InstanceArgs] = None,
             opts: Optional[ResourceOptions] = None)
func NewInstance(ctx *Context, name string, args *InstanceArgs, opts ...ResourceOption) (*Instance, error)
public Instance(string name, InstanceArgs? args = null, CustomResourceOptions? opts = null)
name string
The unique name of the resource.
args InstanceArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name str
The unique name of the resource.
args InstanceArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name string
The unique name of the resource.
args InstanceArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args InstanceArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.

Instance Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Programming Model docs.

Inputs

The Instance resource accepts the following input properties:

Clusters List<InstanceClusterArgs>
A block of cluster configuration options. This can be specified at least once, and up to 4 times. See structure below.
DeletionProtection bool
Whether or not to allow this provider to destroy the instance. Unless this field is set to false in the statefile, a pulumi destroy or pulumi up that would delete the instance will fail.
DisplayName string
The human-readable display name of the Bigtable instance. Defaults to the instance name.
InstanceType string
The instance type to create. One of "DEVELOPMENT" or "PRODUCTION". Defaults to "PRODUCTION". It is recommended to leave this field unspecified since the distinction between "DEVELOPMENT" and "PRODUCTION" instances is going away, and all instances will become "PRODUCTION" instances. This means that new and existing "DEVELOPMENT" instances will be converted to "PRODUCTION" instances. It is recommended for users to use "PRODUCTION" instances in any case, since a 1-node "PRODUCTION" instance is functionally identical to a "DEVELOPMENT" instance, but without the accompanying restrictions.

Deprecated: It is recommended to leave this field unspecified since the distinction between "DEVELOPMENT" and "PRODUCTION" instances is going away, and all instances will become "PRODUCTION" instances. This means that new and existing "DEVELOPMENT" instances will be converted to "PRODUCTION" instances. It is recommended for users to use "PRODUCTION" instances in any case, since a 1-node "PRODUCTION" instance is functionally identical to a "DEVELOPMENT" instance, but without the accompanying restrictions.

Labels Dictionary<string, string>
A set of key/value label pairs to assign to the resource. Label keys must follow the requirements at https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements.
Name string
The name (also called Instance Id in the Cloud Console) of the Cloud Bigtable instance.
Project string
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
Clusters []InstanceCluster
A block of cluster configuration options. This can be specified at least once, and up to 4 times. See structure below.
DeletionProtection bool
Whether or not to allow this provider to destroy the instance. Unless this field is set to false in the statefile, a pulumi destroy or pulumi up that would delete the instance will fail.
DisplayName string
The human-readable display name of the Bigtable instance. Defaults to the instance name.
InstanceType string
The instance type to create. One of "DEVELOPMENT" or "PRODUCTION". Defaults to "PRODUCTION". It is recommended to leave this field unspecified since the distinction between "DEVELOPMENT" and "PRODUCTION" instances is going away, and all instances will become "PRODUCTION" instances. This means that new and existing "DEVELOPMENT" instances will be converted to "PRODUCTION" instances. It is recommended for users to use "PRODUCTION" instances in any case, since a 1-node "PRODUCTION" instance is functionally identical to a "DEVELOPMENT" instance, but without the accompanying restrictions.

Deprecated: It is recommended to leave this field unspecified since the distinction between "DEVELOPMENT" and "PRODUCTION" instances is going away, and all instances will become "PRODUCTION" instances. This means that new and existing "DEVELOPMENT" instances will be converted to "PRODUCTION" instances. It is recommended for users to use "PRODUCTION" instances in any case, since a 1-node "PRODUCTION" instance is functionally identical to a "DEVELOPMENT" instance, but without the accompanying restrictions.

Labels map[string]string
A set of key/value label pairs to assign to the resource. Label keys must follow the requirements at https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements.
Name string
The name (also called Instance Id in the Cloud Console) of the Cloud Bigtable instance.
Project string
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
clusters InstanceClusterArgs[]
A block of cluster configuration options. This can be specified at least once, and up to 4 times. See structure below.
deletionProtection boolean
Whether or not to allow this provider to destroy the instance. Unless this field is set to false in the statefile, a pulumi destroy or pulumi up that would delete the instance will fail.
displayName string
The human-readable display name of the Bigtable instance. Defaults to the instance name.
instanceType string
The instance type to create. One of "DEVELOPMENT" or "PRODUCTION". Defaults to "PRODUCTION". It is recommended to leave this field unspecified since the distinction between "DEVELOPMENT" and "PRODUCTION" instances is going away, and all instances will become "PRODUCTION" instances. This means that new and existing "DEVELOPMENT" instances will be converted to "PRODUCTION" instances. It is recommended for users to use "PRODUCTION" instances in any case, since a 1-node "PRODUCTION" instance is functionally identical to a "DEVELOPMENT" instance, but without the accompanying restrictions.

Deprecated: It is recommended to leave this field unspecified since the distinction between "DEVELOPMENT" and "PRODUCTION" instances is going away, and all instances will become "PRODUCTION" instances. This means that new and existing "DEVELOPMENT" instances will be converted to "PRODUCTION" instances. It is recommended for users to use "PRODUCTION" instances in any case, since a 1-node "PRODUCTION" instance is functionally identical to a "DEVELOPMENT" instance, but without the accompanying restrictions.

labels {[key: string]: string}
A set of key/value label pairs to assign to the resource. Label keys must follow the requirements at https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements.
name string
The name (also called Instance Id in the Cloud Console) of the Cloud Bigtable instance.
project string
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
clusters Sequence[InstanceClusterArgs]
A block of cluster configuration options. This can be specified at least once, and up to 4 times. See structure below.
deletion_protection bool
Whether or not to allow this provider to destroy the instance. Unless this field is set to false in the statefile, a pulumi destroy or pulumi up that would delete the instance will fail.
display_name str
The human-readable display name of the Bigtable instance. Defaults to the instance name.
instance_type str
The instance type to create. One of "DEVELOPMENT" or "PRODUCTION". Defaults to "PRODUCTION". It is recommended to leave this field unspecified since the distinction between "DEVELOPMENT" and "PRODUCTION" instances is going away, and all instances will become "PRODUCTION" instances. This means that new and existing "DEVELOPMENT" instances will be converted to "PRODUCTION" instances. It is recommended for users to use "PRODUCTION" instances in any case, since a 1-node "PRODUCTION" instance is functionally identical to a "DEVELOPMENT" instance, but without the accompanying restrictions.

Deprecated: It is recommended to leave this field unspecified since the distinction between "DEVELOPMENT" and "PRODUCTION" instances is going away, and all instances will become "PRODUCTION" instances. This means that new and existing "DEVELOPMENT" instances will be converted to "PRODUCTION" instances. It is recommended for users to use "PRODUCTION" instances in any case, since a 1-node "PRODUCTION" instance is functionally identical to a "DEVELOPMENT" instance, but without the accompanying restrictions.

labels Mapping[str, str]
A set of key/value label pairs to assign to the resource. Label keys must follow the requirements at https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements.
name str
The name (also called Instance Id in the Cloud Console) of the Cloud Bigtable instance.
project str
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

Outputs

All input properties are implicitly available as output properties. Additionally, the Instance resource produces the following output properties:

Id string
The provider-assigned unique ID for this managed resource.
Id string
The provider-assigned unique ID for this managed resource.
id string
The provider-assigned unique ID for this managed resource.
id str
The provider-assigned unique ID for this managed resource.

Look up an Existing Instance Resource

Get an existing Instance resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

public static get(name: string, id: Input<ID>, state?: InstanceState, opts?: CustomResourceOptions): Instance
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        clusters: Optional[Sequence[InstanceClusterArgs]] = None,
        deletion_protection: Optional[bool] = None,
        display_name: Optional[str] = None,
        instance_type: Optional[str] = None,
        labels: Optional[Mapping[str, str]] = None,
        name: Optional[str] = None,
        project: Optional[str] = None) -> Instance
func GetInstance(ctx *Context, name string, id IDInput, state *InstanceState, opts ...ResourceOption) (*Instance, error)
public static Instance Get(string name, Input<string> id, InstanceState? state, CustomResourceOptions? opts = null)
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.

The following state arguments are supported:

Clusters List<InstanceClusterArgs>
A block of cluster configuration options. This can be specified at least once, and up to 4 times. See structure below.
DeletionProtection bool
Whether or not to allow this provider to destroy the instance. Unless this field is set to false in the statefile, a pulumi destroy or pulumi up that would delete the instance will fail.
DisplayName string
The human-readable display name of the Bigtable instance. Defaults to the instance name.
InstanceType string
The instance type to create. One of "DEVELOPMENT" or "PRODUCTION". Defaults to "PRODUCTION". It is recommended to leave this field unspecified since the distinction between "DEVELOPMENT" and "PRODUCTION" instances is going away, and all instances will become "PRODUCTION" instances. This means that new and existing "DEVELOPMENT" instances will be converted to "PRODUCTION" instances. It is recommended for users to use "PRODUCTION" instances in any case, since a 1-node "PRODUCTION" instance is functionally identical to a "DEVELOPMENT" instance, but without the accompanying restrictions.

Deprecated: It is recommended to leave this field unspecified since the distinction between "DEVELOPMENT" and "PRODUCTION" instances is going away, and all instances will become "PRODUCTION" instances. This means that new and existing "DEVELOPMENT" instances will be converted to "PRODUCTION" instances. It is recommended for users to use "PRODUCTION" instances in any case, since a 1-node "PRODUCTION" instance is functionally identical to a "DEVELOPMENT" instance, but without the accompanying restrictions.

Labels Dictionary<string, string>
A set of key/value label pairs to assign to the resource. Label keys must follow the requirements at https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements.
Name string
The name (also called Instance Id in the Cloud Console) of the Cloud Bigtable instance.
Project string
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
Clusters []InstanceCluster
A block of cluster configuration options. This can be specified at least once, and up to 4 times. See structure below.
DeletionProtection bool
Whether or not to allow this provider to destroy the instance. Unless this field is set to false in the statefile, a pulumi destroy or pulumi up that would delete the instance will fail.
DisplayName string
The human-readable display name of the Bigtable instance. Defaults to the instance name.
InstanceType string
The instance type to create. One of "DEVELOPMENT" or "PRODUCTION". Defaults to "PRODUCTION". It is recommended to leave this field unspecified since the distinction between "DEVELOPMENT" and "PRODUCTION" instances is going away, and all instances will become "PRODUCTION" instances. This means that new and existing "DEVELOPMENT" instances will be converted to "PRODUCTION" instances. It is recommended for users to use "PRODUCTION" instances in any case, since a 1-node "PRODUCTION" instance is functionally identical to a "DEVELOPMENT" instance, but without the accompanying restrictions.

Deprecated: It is recommended to leave this field unspecified since the distinction between "DEVELOPMENT" and "PRODUCTION" instances is going away, and all instances will become "PRODUCTION" instances. This means that new and existing "DEVELOPMENT" instances will be converted to "PRODUCTION" instances. It is recommended for users to use "PRODUCTION" instances in any case, since a 1-node "PRODUCTION" instance is functionally identical to a "DEVELOPMENT" instance, but without the accompanying restrictions.

Labels map[string]string
A set of key/value label pairs to assign to the resource. Label keys must follow the requirements at https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements.
Name string
The name (also called Instance Id in the Cloud Console) of the Cloud Bigtable instance.
Project string
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
clusters InstanceClusterArgs[]
A block of cluster configuration options. This can be specified at least once, and up to 4 times. See structure below.
deletionProtection boolean
Whether or not to allow this provider to destroy the instance. Unless this field is set to false in the statefile, a pulumi destroy or pulumi up that would delete the instance will fail.
displayName string
The human-readable display name of the Bigtable instance. Defaults to the instance name.
instanceType string
The instance type to create. One of "DEVELOPMENT" or "PRODUCTION". Defaults to "PRODUCTION". It is recommended to leave this field unspecified since the distinction between "DEVELOPMENT" and "PRODUCTION" instances is going away, and all instances will become "PRODUCTION" instances. This means that new and existing "DEVELOPMENT" instances will be converted to "PRODUCTION" instances. It is recommended for users to use "PRODUCTION" instances in any case, since a 1-node "PRODUCTION" instance is functionally identical to a "DEVELOPMENT" instance, but without the accompanying restrictions.

Deprecated: It is recommended to leave this field unspecified since the distinction between "DEVELOPMENT" and "PRODUCTION" instances is going away, and all instances will become "PRODUCTION" instances. This means that new and existing "DEVELOPMENT" instances will be converted to "PRODUCTION" instances. It is recommended for users to use "PRODUCTION" instances in any case, since a 1-node "PRODUCTION" instance is functionally identical to a "DEVELOPMENT" instance, but without the accompanying restrictions.

labels {[key: string]: string}
A set of key/value label pairs to assign to the resource. Label keys must follow the requirements at https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements.
name string
The name (also called Instance Id in the Cloud Console) of the Cloud Bigtable instance.
project string
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
clusters Sequence[InstanceClusterArgs]
A block of cluster configuration options. This can be specified at least once, and up to 4 times. See structure below.
deletion_protection bool
Whether or not to allow this provider to destroy the instance. Unless this field is set to false in the statefile, a pulumi destroy or pulumi up that would delete the instance will fail.
display_name str
The human-readable display name of the Bigtable instance. Defaults to the instance name.
instance_type str
The instance type to create. One of "DEVELOPMENT" or "PRODUCTION". Defaults to "PRODUCTION". It is recommended to leave this field unspecified since the distinction between "DEVELOPMENT" and "PRODUCTION" instances is going away, and all instances will become "PRODUCTION" instances. This means that new and existing "DEVELOPMENT" instances will be converted to "PRODUCTION" instances. It is recommended for users to use "PRODUCTION" instances in any case, since a 1-node "PRODUCTION" instance is functionally identical to a "DEVELOPMENT" instance, but without the accompanying restrictions.

Deprecated: It is recommended to leave this field unspecified since the distinction between "DEVELOPMENT" and "PRODUCTION" instances is going away, and all instances will become "PRODUCTION" instances. This means that new and existing "DEVELOPMENT" instances will be converted to "PRODUCTION" instances. It is recommended for users to use "PRODUCTION" instances in any case, since a 1-node "PRODUCTION" instance is functionally identical to a "DEVELOPMENT" instance, but without the accompanying restrictions.

labels Mapping[str, str]
A set of key/value label pairs to assign to the resource. Label keys must follow the requirements at https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements.
name str
The name (also called Instance Id in the Cloud Console) of the Cloud Bigtable instance.
project str
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

Supporting Types

InstanceCluster

ClusterId string
The ID of the Cloud Bigtable cluster.
NumNodes int
The number of nodes in your Cloud Bigtable cluster. Required, with a minimum of 1 for a PRODUCTION instance. Must be left unset for a DEVELOPMENT instance.
StorageType string
The storage type to use. One of "SSD" or "HDD". Defaults to "SSD".
Zone string
The zone to create the Cloud Bigtable cluster in. If it not specified, the provider zone is used. Each cluster must have a different zone in the same region. Zones that support Bigtable instances are noted on the Cloud Bigtable locations page.
ClusterId string
The ID of the Cloud Bigtable cluster.
NumNodes int
The number of nodes in your Cloud Bigtable cluster. Required, with a minimum of 1 for a PRODUCTION instance. Must be left unset for a DEVELOPMENT instance.
StorageType string
The storage type to use. One of "SSD" or "HDD". Defaults to "SSD".
Zone string
The zone to create the Cloud Bigtable cluster in. If it not specified, the provider zone is used. Each cluster must have a different zone in the same region. Zones that support Bigtable instances are noted on the Cloud Bigtable locations page.
clusterId string
The ID of the Cloud Bigtable cluster.
numNodes number
The number of nodes in your Cloud Bigtable cluster. Required, with a minimum of 1 for a PRODUCTION instance. Must be left unset for a DEVELOPMENT instance.
storageType string
The storage type to use. One of "SSD" or "HDD". Defaults to "SSD".
zone string
The zone to create the Cloud Bigtable cluster in. If it not specified, the provider zone is used. Each cluster must have a different zone in the same region. Zones that support Bigtable instances are noted on the Cloud Bigtable locations page.
cluster_id str
The ID of the Cloud Bigtable cluster.
num_nodes int
The number of nodes in your Cloud Bigtable cluster. Required, with a minimum of 1 for a PRODUCTION instance. Must be left unset for a DEVELOPMENT instance.
storage_type str
The storage type to use. One of "SSD" or "HDD". Defaults to "SSD".
zone str
The zone to create the Cloud Bigtable cluster in. If it not specified, the provider zone is used. Each cluster must have a different zone in the same region. Zones that support Bigtable instances are noted on the Cloud Bigtable locations page.

Import

Bigtable Instances can be imported using any of these accepted formats

 $ pulumi import gcp:bigtable/instance:Instance default projects/{{project}}/instances/{{name}}
 $ pulumi import gcp:bigtable/instance:Instance default {{project}}/{{name}}
 $ pulumi import gcp:bigtable/instance:Instance default {{name}}

Package Details

Repository
https://github.com/pulumi/pulumi-gcp
License
Apache-2.0
Notes
This Pulumi package is based on the google-beta Terraform Provider.