Class CreateInstanceRequest
java.lang.Object
com.google.cloud.bigtable.admin.v2.models.CreateInstanceRequest
Parameters 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.
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:
-
Method Summary
Modifier and TypeMethodDescriptionaddCluster
(String clusterId, String zone, int serveNodes, StorageType storageType) Adds a cluster to the instance request with manual scaling enabled.addCluster
(String clusterId, String zone, ClusterAutoscalingConfig clusterAutoscalingConfig, StorageType storageType) Adds a cluster to the instance request with autoscaling enabled.addCmekCluster
(String clusterId, String zone, int serveNodes, StorageType storageType, String kmsKeyName) Adds a CMEK protected cluster using the specified KMS key name.addDevelopmentCluster
(String clusterId, String zone, StorageType storageType) Adds a DEVELOPMENT cluster to the instance request.Adds an arbitrary label to the instance.static CreateInstanceRequest
Builds a new request to create a new instance with the specified id.setDisplayName
(String displayName) Sets the friendly display name of the instance.setType
(Instance.Type type) Sets the type of instance.com.google.bigtable.admin.v2.CreateInstanceRequest
Creates the request protobuf.
-
Method Details
-
of
Builds a new request to create a new instance with the specified id. -
setDisplayName
Sets the friendly display name of the instance. If left unspecified, it will default to the id -
setType
Sets the type of instance.Can be either DEVELOPMENT or PRODUCTION. Defaults to PRODUCTION. Please see class javadoc for details.
-
addLabel
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:
-
addCluster
public CreateInstanceRequest addCluster(@Nonnull String clusterId, @Nonnull String zone, int serveNodes, @Nonnull 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:
clusterId
- the name of the cluster.zone
- the zone where the cluster will be created.serveNodes
- the number of nodes that cluster will contain. DEVELOPMENT instance clusters must have exactly one node.storageType
- the type of storage used by this cluster to serve its parent instance's tables.
-
addCluster
public CreateInstanceRequest addCluster(@Nonnull String clusterId, @Nonnull String zone, @Nonnull ClusterAutoscalingConfig clusterAutoscalingConfig, @Nonnull 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:
clusterId
- the name of the cluster.zone
- the zone where the cluster will be created.clusterAutoscalingConfig
- the autoscaling config that sets the min serve nodes, max serve nodes, and CPU utilization percentagestorageType
- the type of storage used by this cluster to serve its parent instance's tables.
-
addCmekCluster
public CreateInstanceRequest addCmekCluster(@Nonnull String clusterId, @Nonnull String zone, int serveNodes, @Nonnull StorageType storageType, @Nonnull String kmsKeyName) Adds a CMEK protected cluster using the specified KMS key name.- Parameters:
clusterId
- the name of the cluster.zone
- the zone where the cluster will be created.serveNodes
- the number of nodes that cluster will contain. DEVELOPMENT instance clusters must have exactly one node.storageType
- the type of storage used by this cluster to serve its parent instance's tables.kmsKeyName
- the full name of the KMS key name to use in the format `projects/{key_project_id}/locations/{location}/keyRings/{ring_name}/cryptoKeys/{key_name}`
-
addDevelopmentCluster
public CreateInstanceRequest addDevelopmentCluster(@Nonnull String clusterId, @Nonnull String zone, @Nonnull StorageType storageType) Adds a DEVELOPMENT cluster to the instance request.This instance will have exactly one node cluster.
- Parameters:
clusterId
- the name of the cluster.zone
- the zone where the cluster will be created.storageType
- the type of storage used by this cluster to serve its parent instance's tables.
-
toProto
Creates the request protobuf. This method is considered an internal implementation detail and not meant to be used by applications.
-