public final class CreateInstanceRequestParameters for creating a new Bigtable Instance.
A Cloud Bigtable instance is mostly just a container for your clusters and nodes, which do all of the real work. Instances come in 2 flavors:
- Production
- A standard instance with either 1 or 2 clusters, as well as 3 or more nodes in each cluster. You cannot downgrade a production instance to a development instance.
- Development
- A low-cost instance for development and testing, with performance limited to the equivalent of a 1-node cluster. Development instances only support a single 1 node cluster. At any point this can be upgraded to a production instance.
When creating an Instance, you must create at least one cluster in it.
Examples:
 // Small production instance:
 CreateInstanceRequest smallProdInstanceRequest = CreateInstanceRequest.of("my-small-instance")
   .addCluster("cluster1", "us-east1-c", 3, StorageType.SSD);
 // Development instance:
 CreateInstanceRequest smallProdInstanceRequest = CreateInstanceRequest.of("my-dev-instance")
   .setType(Type.DEVELOPMENT)
   .addDevelopmentCluster("cluster1", "us-east1-c", StorageType.SSD);
 See Also: For more details
Static Methods
of(String instanceId)
public static CreateInstanceRequest of(String instanceId)Builds a new request to create a new instance with the specified id.
| Parameter | |
|---|---|
| Name | Description | 
| instanceId | String | 
| Returns | |
|---|---|
| Type | Description | 
| CreateInstanceRequest | |
Methods
addCluster(String clusterId, String zone, ClusterAutoscalingConfig clusterAutoscalingConfig, StorageType storageType)
public CreateInstanceRequest addCluster(String clusterId, String zone, ClusterAutoscalingConfig clusterAutoscalingConfig, StorageType storageType)Adds a cluster to the instance request with autoscaling enabled.
All new instances must have at least one cluster. DEVELOPMENT instances must have exactly one cluster.
| Parameters | |
|---|---|
| Name | Description | 
| clusterId | Stringthe name of the cluster. | 
| zone | Stringthe zone where the cluster will be created. | 
| clusterAutoscalingConfig | ClusterAutoscalingConfigthe autoscaling config that sets the min serve nodes, max serve nodes, and CPU utilization percentage | 
| storageType | StorageTypethe type of storage used by this cluster to serve its parent instance's tables. | 
| Returns | |
|---|---|
| Type | Description | 
| CreateInstanceRequest | |
addCluster(String clusterId, String zone, int serveNodes, StorageType storageType)
public CreateInstanceRequest addCluster(String clusterId, String zone, int serveNodes, StorageType storageType)Adds a cluster to the instance request with manual scaling enabled.
All new instances must have at least one cluster. DEVELOPMENT instances must have exactly one cluster.
| Parameters | |
|---|---|
| Name | Description | 
| clusterId | Stringthe name of the cluster. | 
| zone | Stringthe zone where the cluster will be created. | 
| serveNodes | intthe number of nodes that cluster will contain. DEVELOPMENT instance clusters must have exactly one node. | 
| storageType | StorageTypethe type of storage used by this cluster to serve its parent instance's tables. | 
| Returns | |
|---|---|
| Type | Description | 
| CreateInstanceRequest | |
addCmekCluster(String clusterId, String zone, int serveNodes, StorageType storageType, String kmsKeyName)
public CreateInstanceRequest addCmekCluster(String clusterId, String zone, int serveNodes, StorageType storageType, String kmsKeyName)Adds a CMEK protected cluster using the specified KMS key name.
| Parameters | |
|---|---|
| Name | Description | 
| clusterId | Stringthe name of the cluster. | 
| zone | Stringthe zone where the cluster will be created. | 
| serveNodes | intthe number of nodes that cluster will contain. DEVELOPMENT instance clusters must have exactly one node. | 
| storageType | StorageTypethe type of storage used by this cluster to serve its parent instance's tables. | 
| kmsKeyName | Stringthe full name of the KMS key name to use in the format
      | 
| Returns | |
|---|---|
| Type | Description | 
| CreateInstanceRequest | |
addDevelopmentCluster(String clusterId, String zone, StorageType storageType)
public CreateInstanceRequest addDevelopmentCluster(String clusterId, String zone, StorageType storageType)Adds a DEVELOPMENT cluster to the instance request.
This instance will have exactly one node cluster.
| Parameters | |
|---|---|
| Name | Description | 
| clusterId | Stringthe name of the cluster. | 
| zone | Stringthe zone where the cluster will be created. | 
| storageType | StorageTypethe type of storage used by this cluster to serve its parent instance's tables. | 
| Returns | |
|---|---|
| Type | Description | 
| CreateInstanceRequest | |
addLabel(String key, String value)
public CreateInstanceRequest addLabel(String key, String value)Adds an arbitrary label to the instance.
Labels are key-value pairs that you can use to group related instances and store metadata about an instance. See Also: For more details
| Parameters | |
|---|---|
| Name | Description | 
| key | String | 
| value | String | 
| Returns | |
|---|---|
| Type | Description | 
| CreateInstanceRequest | |
setDisplayName(String displayName)
public CreateInstanceRequest setDisplayName(String displayName)Sets the friendly display name of the instance. If left unspecified, it will default to the id
| Parameter | |
|---|---|
| Name | Description | 
| displayName | String | 
| Returns | |
|---|---|
| Type | Description | 
| CreateInstanceRequest | |
setType(Instance.Type type)
public CreateInstanceRequest setType(Instance.Type type)Sets the type of instance.
Can be either DEVELOPMENT or PRODUCTION. Defaults to PRODUCTION. Please see class javadoc for details.
| Parameter | |
|---|---|
| Name | Description | 
| type | Instance.Type | 
| Returns | |
|---|---|
| Type | Description | 
| CreateInstanceRequest | |
toProto(String projectId)
public CreateInstanceRequest toProto(String projectId)Creates the request protobuf. This method is considered an internal implementation detail and not meant to be used by applications.
| Parameter | |
|---|---|
| Name | Description | 
| projectId | String | 
| Returns | |
|---|---|
| Type | Description | 
| com.google.bigtable.admin.v2.CreateInstanceRequest | |