Class CreateClusterRequest

java.lang.Object
com.google.cloud.bigtable.admin.v2.models.CreateClusterRequest

public final class CreateClusterRequest extends Object
Parameters for creating a new Bigtable cluster.

A cluster represents the actual Cloud Bigtable service. Each cluster belongs to a single Cloud Bigtable instance. When your application sends requests to a Cloud Bigtable instance, those requests are actually handled by one of the clusters in the instance.

Each cluster is located in a single zone. An instance's clusters must be in unique zones that are within the same region. For example, if the first cluster is in us-east1-b, then us-east1-c is a valid zone for the second cluster. For a list of zones and regions where Cloud Bigtable is available, see Cloud Bigtable Locations.

Examples:


 // Small production instance:
 CreateClusterRequest clusterRequest = CreateClusterRequest.of("my-existing-instance", "my-cluster")
   .setZone("us-east1-c")
   .setServeNodes(3)
   .setStorageType(StorageType.SSD);
 
See Also:
  • Method Details

    • of

      public static CreateClusterRequest of(String instanceId, String clusterId)
      Builds a new request to create a new cluster to the specified instance with the specified cluster id.
    • setZone

      public CreateClusterRequest setZone(String zone)
      Sets the zone where the new cluster will be located. Must be different from the existing cluster.
    • setServeNodes

      @Deprecated public CreateClusterRequest setServeNodes(int numNodes)
      Deprecated.
      Please use CreateClusterRequest#setScalingMode instead
      Sets the number of nodes allocated to this cluster. More nodes enable higher throughput and more consistent performance.
    • setScalingMode

      public CreateClusterRequest setScalingMode(@Nonnull StaticClusterSize staticClusterSize)
      Sets the scaling node to manual and sets the number of nodes allocated to this cluster. More nodes enable higher throughput and more consistent performance.
    • setScalingMode

      public CreateClusterRequest setScalingMode(@Nonnull ClusterAutoscalingConfig autoscalingConfig)
      Sets the scaling mode to autoscaling by accepting an AutoscalingConfig where min nodes, max nodes, CPU utilization percent target, and storage utilization gib per node are set.
    • setStorageType

      public CreateClusterRequest setStorageType(@Nonnull StorageType storageType)
      Sets the type of storage used by this cluster to serve its parent instance's tables. Defaults to SSD.
    • setKmsKeyName

      public CreateClusterRequest setKmsKeyName(@Nonnull String kmsKeyName)
      Sets the Google Cloud Key Management Service (KMS) key for a CMEK-protected Bigtable. This requires the full resource name of the Cloud KMS key, in the format `projects/{key_project_id}/locations/{location}/keyRings/{ring_name}/cryptoKeys/{key_name}`
    • toProto

      @InternalApi public CreateClusterRequest toProto(String projectId)
      Creates the request protobuf. This method is considered an internal implementation detail and not meant to be used by applications.