diff --git a/google-cloud-bigtable/src/main/resources/META-INF/native-image/com.google.cloud.bigtable.admin.v2/reflect-config.json b/google-cloud-bigtable/src/main/resources/META-INF/native-image/com.google.cloud.bigtable.admin.v2/reflect-config.json
index e1850e5cb6..5b9d183faa 100644
--- a/google-cloud-bigtable/src/main/resources/META-INF/native-image/com.google.cloud.bigtable.admin.v2/reflect-config.json
+++ b/google-cloud-bigtable/src/main/resources/META-INF/native-image/com.google.cloud.bigtable.admin.v2/reflect-config.json
@@ -800,6 +800,15 @@
"allDeclaredClasses": true,
"allPublicClasses": true
},
+ {
+ "name": "com.google.bigtable.admin.v2.Cluster$NodeScalingFactor",
+ "queryAllDeclaredConstructors": true,
+ "queryAllPublicConstructors": true,
+ "queryAllDeclaredMethods": true,
+ "allPublicMethods": true,
+ "allDeclaredClasses": true,
+ "allPublicClasses": true
+ },
{
"name": "com.google.bigtable.admin.v2.Cluster$State",
"queryAllDeclaredConstructors": true,
diff --git a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/BaseBigtableInstanceAdminClientTest.java b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/BaseBigtableInstanceAdminClientTest.java
index 777f0f7cbd..4e5ab28356 100644
--- a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/BaseBigtableInstanceAdminClientTest.java
+++ b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/BaseBigtableInstanceAdminClientTest.java
@@ -911,6 +911,7 @@ public void updateClusterTest() throws Exception {
Assert.assertEquals(request.getLocation(), actualRequest.getLocation());
Assert.assertEquals(request.getState(), actualRequest.getState());
Assert.assertEquals(request.getServeNodes(), actualRequest.getServeNodes());
+ Assert.assertEquals(request.getNodeScalingFactor(), actualRequest.getNodeScalingFactor());
Assert.assertEquals(request.getClusterConfig(), actualRequest.getClusterConfig());
Assert.assertEquals(request.getDefaultStorageType(), actualRequest.getDefaultStorageType());
Assert.assertEquals(request.getEncryptionConfig(), actualRequest.getEncryptionConfig());
diff --git a/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/AppProfile.java b/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/AppProfile.java
index ea18670a4e..8fc3847340 100644
--- a/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/AppProfile.java
+++ b/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/AppProfile.java
@@ -4624,7 +4624,7 @@ public com.google.bigtable.admin.v2.AppProfile.SingleClusterRouting getSingleClu
* .google.bigtable.admin.v2.AppProfile.Priority priority = 7 [deprecated = true];
*
* @deprecated google.bigtable.admin.v2.AppProfile.priority is deprecated. See
- * google/bigtable/admin/v2/instance.proto;l=386
+ * google/bigtable/admin/v2/instance.proto;l=405
* @return Whether the priority field is set.
*/
@java.lang.Deprecated
@@ -4644,7 +4644,7 @@ public boolean hasPriority() {
* .google.bigtable.admin.v2.AppProfile.Priority priority = 7 [deprecated = true];
*
* @deprecated google.bigtable.admin.v2.AppProfile.priority is deprecated. See
- * google/bigtable/admin/v2/instance.proto;l=386
+ * google/bigtable/admin/v2/instance.proto;l=405
* @return The enum numeric value on the wire for priority.
*/
@java.lang.Deprecated
@@ -4667,7 +4667,7 @@ public int getPriorityValue() {
* .google.bigtable.admin.v2.AppProfile.Priority priority = 7 [deprecated = true];
*
* @deprecated google.bigtable.admin.v2.AppProfile.priority is deprecated. See
- * google/bigtable/admin/v2/instance.proto;l=386
+ * google/bigtable/admin/v2/instance.proto;l=405
* @return The priority.
*/
@java.lang.Deprecated
@@ -6261,7 +6261,7 @@ public Builder clearSingleClusterRouting() {
* .google.bigtable.admin.v2.AppProfile.Priority priority = 7 [deprecated = true];
*
* @deprecated google.bigtable.admin.v2.AppProfile.priority is deprecated. See
- * google/bigtable/admin/v2/instance.proto;l=386
+ * google/bigtable/admin/v2/instance.proto;l=405
* @return Whether the priority field is set.
*/
@java.lang.Override
@@ -6282,7 +6282,7 @@ public boolean hasPriority() {
* .google.bigtable.admin.v2.AppProfile.Priority priority = 7 [deprecated = true];
*
* @deprecated google.bigtable.admin.v2.AppProfile.priority is deprecated. See
- * google/bigtable/admin/v2/instance.proto;l=386
+ * google/bigtable/admin/v2/instance.proto;l=405
* @return The enum numeric value on the wire for priority.
*/
@java.lang.Override
@@ -6306,7 +6306,7 @@ public int getPriorityValue() {
* .google.bigtable.admin.v2.AppProfile.Priority priority = 7 [deprecated = true];
*
* @deprecated google.bigtable.admin.v2.AppProfile.priority is deprecated. See
- * google/bigtable/admin/v2/instance.proto;l=386
+ * google/bigtable/admin/v2/instance.proto;l=405
* @param value The enum numeric value on the wire for priority to set.
* @return This builder for chaining.
*/
@@ -6330,7 +6330,7 @@ public Builder setPriorityValue(int value) {
* .google.bigtable.admin.v2.AppProfile.Priority priority = 7 [deprecated = true];
*
* @deprecated google.bigtable.admin.v2.AppProfile.priority is deprecated. See
- * google/bigtable/admin/v2/instance.proto;l=386
+ * google/bigtable/admin/v2/instance.proto;l=405
* @return The priority.
*/
@java.lang.Override
@@ -6359,7 +6359,7 @@ public com.google.bigtable.admin.v2.AppProfile.Priority getPriority() {
* .google.bigtable.admin.v2.AppProfile.Priority priority = 7 [deprecated = true];
*
* @deprecated google.bigtable.admin.v2.AppProfile.priority is deprecated. See
- * google/bigtable/admin/v2/instance.proto;l=386
+ * google/bigtable/admin/v2/instance.proto;l=405
* @param value The priority to set.
* @return This builder for chaining.
*/
@@ -6386,7 +6386,7 @@ public Builder setPriority(com.google.bigtable.admin.v2.AppProfile.Priority valu
* .google.bigtable.admin.v2.AppProfile.Priority priority = 7 [deprecated = true];
*
* @deprecated google.bigtable.admin.v2.AppProfile.priority is deprecated. See
- * google/bigtable/admin/v2/instance.proto;l=386
+ * google/bigtable/admin/v2/instance.proto;l=405
* @return This builder for chaining.
*/
@java.lang.Deprecated
diff --git a/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/AppProfileOrBuilder.java b/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/AppProfileOrBuilder.java
index 755b39e365..8ed01ca53c 100644
--- a/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/AppProfileOrBuilder.java
+++ b/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/AppProfileOrBuilder.java
@@ -209,7 +209,7 @@ public interface AppProfileOrBuilder
* .google.bigtable.admin.v2.AppProfile.Priority priority = 7 [deprecated = true];
*
* @deprecated google.bigtable.admin.v2.AppProfile.priority is deprecated. See
- * google/bigtable/admin/v2/instance.proto;l=386
+ * google/bigtable/admin/v2/instance.proto;l=405
* @return Whether the priority field is set.
*/
@java.lang.Deprecated
@@ -227,7 +227,7 @@ public interface AppProfileOrBuilder
* .google.bigtable.admin.v2.AppProfile.Priority priority = 7 [deprecated = true];
*
* @deprecated google.bigtable.admin.v2.AppProfile.priority is deprecated. See
- * google/bigtable/admin/v2/instance.proto;l=386
+ * google/bigtable/admin/v2/instance.proto;l=405
* @return The enum numeric value on the wire for priority.
*/
@java.lang.Deprecated
@@ -245,7 +245,7 @@ public interface AppProfileOrBuilder
* .google.bigtable.admin.v2.AppProfile.Priority priority = 7 [deprecated = true];
*
* @deprecated google.bigtable.admin.v2.AppProfile.priority is deprecated. See
- * google/bigtable/admin/v2/instance.proto;l=386
+ * google/bigtable/admin/v2/instance.proto;l=405
* @return The priority.
*/
@java.lang.Deprecated
diff --git a/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/Cluster.java b/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/Cluster.java
index 665c3778df..c3e56767d0 100644
--- a/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/Cluster.java
+++ b/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/Cluster.java
@@ -44,6 +44,7 @@ private Cluster() {
name_ = "";
location_ = "";
state_ = 0;
+ nodeScalingFactor_ = 0;
defaultStorageType_ = 0;
}
@@ -283,6 +284,171 @@ private State(int value) {
// @@protoc_insertion_point(enum_scope:google.bigtable.admin.v2.Cluster.State)
}
+ /**
+ *
+ *
+ *
+ * Possible node scaling factors of the clusters. Node scaling delivers better + * latency and more throughput by removing node boundaries. + *+ * + * Protobuf enum {@code google.bigtable.admin.v2.Cluster.NodeScalingFactor} + */ + public enum NodeScalingFactor implements com.google.protobuf.ProtocolMessageEnum { + /** + * + * + *
+ * No node scaling specified. Defaults to NODE_SCALING_FACTOR_1X. + *+ * + *
NODE_SCALING_FACTOR_UNSPECIFIED = 0;
+ */
+ NODE_SCALING_FACTOR_UNSPECIFIED(0),
+ /**
+ *
+ *
+ * + * The cluster is running with a scaling factor of 1. + *+ * + *
NODE_SCALING_FACTOR_1X = 1;
+ */
+ NODE_SCALING_FACTOR_1X(1),
+ /**
+ *
+ *
+ * + * The cluster is running with a scaling factor of 2. + * All node count values must be in increments of 2 with this scaling factor + * enabled, otherwise an INVALID_ARGUMENT error will be returned. + *+ * + *
NODE_SCALING_FACTOR_2X = 2;
+ */
+ NODE_SCALING_FACTOR_2X(2),
+ UNRECOGNIZED(-1),
+ ;
+
+ /**
+ *
+ *
+ * + * No node scaling specified. Defaults to NODE_SCALING_FACTOR_1X. + *+ * + *
NODE_SCALING_FACTOR_UNSPECIFIED = 0;
+ */
+ public static final int NODE_SCALING_FACTOR_UNSPECIFIED_VALUE = 0;
+ /**
+ *
+ *
+ * + * The cluster is running with a scaling factor of 1. + *+ * + *
NODE_SCALING_FACTOR_1X = 1;
+ */
+ public static final int NODE_SCALING_FACTOR_1X_VALUE = 1;
+ /**
+ *
+ *
+ * + * The cluster is running with a scaling factor of 2. + * All node count values must be in increments of 2 with this scaling factor + * enabled, otherwise an INVALID_ARGUMENT error will be returned. + *+ * + *
NODE_SCALING_FACTOR_2X = 2;
+ */
+ public static final int NODE_SCALING_FACTOR_2X_VALUE = 2;
+
+ public final int getNumber() {
+ if (this == UNRECOGNIZED) {
+ throw new java.lang.IllegalArgumentException(
+ "Can't get the number of an unknown enum value.");
+ }
+ return value;
+ }
+
+ /**
+ * @param value The numeric wire value of the corresponding enum entry.
+ * @return The enum associated with the given numeric wire value.
+ * @deprecated Use {@link #forNumber(int)} instead.
+ */
+ @java.lang.Deprecated
+ public static NodeScalingFactor valueOf(int value) {
+ return forNumber(value);
+ }
+
+ /**
+ * @param value The numeric wire value of the corresponding enum entry.
+ * @return The enum associated with the given numeric wire value.
+ */
+ public static NodeScalingFactor forNumber(int value) {
+ switch (value) {
+ case 0:
+ return NODE_SCALING_FACTOR_UNSPECIFIED;
+ case 1:
+ return NODE_SCALING_FACTOR_1X;
+ case 2:
+ return NODE_SCALING_FACTOR_2X;
+ default:
+ return null;
+ }
+ }
+
+ public static com.google.protobuf.Internal.EnumLiteMap+ * Immutable. The node scaling factor of this cluster. + *+ * + *
+ * .google.bigtable.admin.v2.Cluster.NodeScalingFactor node_scaling_factor = 9 [(.google.api.field_behavior) = IMMUTABLE];
+ *
+ *
+ * @return The enum numeric value on the wire for nodeScalingFactor.
+ */
+ @java.lang.Override
+ public int getNodeScalingFactorValue() {
+ return nodeScalingFactor_;
+ }
+ /**
+ *
+ *
+ * + * Immutable. The node scaling factor of this cluster. + *+ * + *
+ * .google.bigtable.admin.v2.Cluster.NodeScalingFactor node_scaling_factor = 9 [(.google.api.field_behavior) = IMMUTABLE];
+ *
+ *
+ * @return The nodeScalingFactor.
+ */
+ @java.lang.Override
+ public com.google.bigtable.admin.v2.Cluster.NodeScalingFactor getNodeScalingFactor() {
+ com.google.bigtable.admin.v2.Cluster.NodeScalingFactor result =
+ com.google.bigtable.admin.v2.Cluster.NodeScalingFactor.forNumber(nodeScalingFactor_);
+ return result == null
+ ? com.google.bigtable.admin.v2.Cluster.NodeScalingFactor.UNRECOGNIZED
+ : result;
+ }
+
public static final int CLUSTER_CONFIG_FIELD_NUMBER = 7;
/**
*
@@ -3344,6 +3551,11 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io
if (configCase_ == 7) {
output.writeMessage(7, (com.google.bigtable.admin.v2.Cluster.ClusterConfig) config_);
}
+ if (nodeScalingFactor_
+ != com.google.bigtable.admin.v2.Cluster.NodeScalingFactor.NODE_SCALING_FACTOR_UNSPECIFIED
+ .getNumber()) {
+ output.writeEnum(9, nodeScalingFactor_);
+ }
getUnknownFields().writeTo(output);
}
@@ -3377,6 +3589,11 @@ public int getSerializedSize() {
com.google.protobuf.CodedOutputStream.computeMessageSize(
7, (com.google.bigtable.admin.v2.Cluster.ClusterConfig) config_);
}
+ if (nodeScalingFactor_
+ != com.google.bigtable.admin.v2.Cluster.NodeScalingFactor.NODE_SCALING_FACTOR_UNSPECIFIED
+ .getNumber()) {
+ size += com.google.protobuf.CodedOutputStream.computeEnumSize(9, nodeScalingFactor_);
+ }
size += getUnknownFields().getSerializedSize();
memoizedSize = size;
return size;
@@ -3396,6 +3613,7 @@ public boolean equals(final java.lang.Object obj) {
if (!getLocation().equals(other.getLocation())) return false;
if (state_ != other.state_) return false;
if (getServeNodes() != other.getServeNodes()) return false;
+ if (nodeScalingFactor_ != other.nodeScalingFactor_) return false;
if (defaultStorageType_ != other.defaultStorageType_) return false;
if (hasEncryptionConfig() != other.hasEncryptionConfig()) return false;
if (hasEncryptionConfig()) {
@@ -3428,6 +3646,8 @@ public int hashCode() {
hash = (53 * hash) + state_;
hash = (37 * hash) + SERVE_NODES_FIELD_NUMBER;
hash = (53 * hash) + getServeNodes();
+ hash = (37 * hash) + NODE_SCALING_FACTOR_FIELD_NUMBER;
+ hash = (53 * hash) + nodeScalingFactor_;
hash = (37 * hash) + DEFAULT_STORAGE_TYPE_FIELD_NUMBER;
hash = (53 * hash) + defaultStorageType_;
if (hasEncryptionConfig()) {
@@ -3595,6 +3815,7 @@ public Builder clear() {
location_ = "";
state_ = 0;
serveNodes_ = 0;
+ nodeScalingFactor_ = 0;
if (clusterConfigBuilder_ != null) {
clusterConfigBuilder_.clear();
}
@@ -3654,11 +3875,14 @@ private void buildPartial0(com.google.bigtable.admin.v2.Cluster result) {
if (((from_bitField0_ & 0x00000008) != 0)) {
result.serveNodes_ = serveNodes_;
}
- if (((from_bitField0_ & 0x00000020) != 0)) {
+ if (((from_bitField0_ & 0x00000010) != 0)) {
+ result.nodeScalingFactor_ = nodeScalingFactor_;
+ }
+ if (((from_bitField0_ & 0x00000040) != 0)) {
result.defaultStorageType_ = defaultStorageType_;
}
int to_bitField0_ = 0;
- if (((from_bitField0_ & 0x00000040) != 0)) {
+ if (((from_bitField0_ & 0x00000080) != 0)) {
result.encryptionConfig_ =
encryptionConfigBuilder_ == null ? encryptionConfig_ : encryptionConfigBuilder_.build();
to_bitField0_ |= 0x00000001;
@@ -3735,6 +3959,9 @@ public Builder mergeFrom(com.google.bigtable.admin.v2.Cluster other) {
if (other.getServeNodes() != 0) {
setServeNodes(other.getServeNodes());
}
+ if (other.nodeScalingFactor_ != 0) {
+ setNodeScalingFactorValue(other.getNodeScalingFactorValue());
+ }
if (other.defaultStorageType_ != 0) {
setDefaultStorageTypeValue(other.getDefaultStorageTypeValue());
}
@@ -3805,14 +4032,14 @@ public Builder mergeFrom(
case 40:
{
defaultStorageType_ = input.readEnum();
- bitField0_ |= 0x00000020;
+ bitField0_ |= 0x00000040;
break;
} // case 40
case 50:
{
input.readMessage(
getEncryptionConfigFieldBuilder().getBuilder(), extensionRegistry);
- bitField0_ |= 0x00000040;
+ bitField0_ |= 0x00000080;
break;
} // case 50
case 58:
@@ -3821,6 +4048,12 @@ public Builder mergeFrom(
configCase_ = 7;
break;
} // case 58
+ case 72:
+ {
+ nodeScalingFactor_ = input.readEnum();
+ bitField0_ |= 0x00000010;
+ break;
+ } // case 72
default:
{
if (!super.parseUnknownField(input, extensionRegistry, tag)) {
@@ -4252,6 +4485,109 @@ public Builder clearServeNodes() {
return this;
}
+ private int nodeScalingFactor_ = 0;
+ /**
+ *
+ *
+ * + * Immutable. The node scaling factor of this cluster. + *+ * + *
+ * .google.bigtable.admin.v2.Cluster.NodeScalingFactor node_scaling_factor = 9 [(.google.api.field_behavior) = IMMUTABLE];
+ *
+ *
+ * @return The enum numeric value on the wire for nodeScalingFactor.
+ */
+ @java.lang.Override
+ public int getNodeScalingFactorValue() {
+ return nodeScalingFactor_;
+ }
+ /**
+ *
+ *
+ * + * Immutable. The node scaling factor of this cluster. + *+ * + *
+ * .google.bigtable.admin.v2.Cluster.NodeScalingFactor node_scaling_factor = 9 [(.google.api.field_behavior) = IMMUTABLE];
+ *
+ *
+ * @param value The enum numeric value on the wire for nodeScalingFactor to set.
+ * @return This builder for chaining.
+ */
+ public Builder setNodeScalingFactorValue(int value) {
+ nodeScalingFactor_ = value;
+ bitField0_ |= 0x00000010;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Immutable. The node scaling factor of this cluster. + *+ * + *
+ * .google.bigtable.admin.v2.Cluster.NodeScalingFactor node_scaling_factor = 9 [(.google.api.field_behavior) = IMMUTABLE];
+ *
+ *
+ * @return The nodeScalingFactor.
+ */
+ @java.lang.Override
+ public com.google.bigtable.admin.v2.Cluster.NodeScalingFactor getNodeScalingFactor() {
+ com.google.bigtable.admin.v2.Cluster.NodeScalingFactor result =
+ com.google.bigtable.admin.v2.Cluster.NodeScalingFactor.forNumber(nodeScalingFactor_);
+ return result == null
+ ? com.google.bigtable.admin.v2.Cluster.NodeScalingFactor.UNRECOGNIZED
+ : result;
+ }
+ /**
+ *
+ *
+ * + * Immutable. The node scaling factor of this cluster. + *+ * + *
+ * .google.bigtable.admin.v2.Cluster.NodeScalingFactor node_scaling_factor = 9 [(.google.api.field_behavior) = IMMUTABLE];
+ *
+ *
+ * @param value The nodeScalingFactor to set.
+ * @return This builder for chaining.
+ */
+ public Builder setNodeScalingFactor(
+ com.google.bigtable.admin.v2.Cluster.NodeScalingFactor value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000010;
+ nodeScalingFactor_ = value.getNumber();
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Immutable. The node scaling factor of this cluster. + *+ * + *
+ * .google.bigtable.admin.v2.Cluster.NodeScalingFactor node_scaling_factor = 9 [(.google.api.field_behavior) = IMMUTABLE];
+ *
+ *
+ * @return This builder for chaining.
+ */
+ public Builder clearNodeScalingFactor() {
+ bitField0_ = (bitField0_ & ~0x00000010);
+ nodeScalingFactor_ = 0;
+ onChanged();
+ return this;
+ }
+
private com.google.protobuf.SingleFieldBuilderV3<
com.google.bigtable.admin.v2.Cluster.ClusterConfig,
com.google.bigtable.admin.v2.Cluster.ClusterConfig.Builder,
@@ -4497,7 +4833,7 @@ public int getDefaultStorageTypeValue() {
*/
public Builder setDefaultStorageTypeValue(int value) {
defaultStorageType_ = value;
- bitField0_ |= 0x00000020;
+ bitField0_ |= 0x00000040;
onChanged();
return this;
}
@@ -4540,7 +4876,7 @@ public Builder setDefaultStorageType(com.google.bigtable.admin.v2.StorageType va
if (value == null) {
throw new NullPointerException();
}
- bitField0_ |= 0x00000020;
+ bitField0_ |= 0x00000040;
defaultStorageType_ = value.getNumber();
onChanged();
return this;
@@ -4560,7 +4896,7 @@ public Builder setDefaultStorageType(com.google.bigtable.admin.v2.StorageType va
* @return This builder for chaining.
*/
public Builder clearDefaultStorageType() {
- bitField0_ = (bitField0_ & ~0x00000020);
+ bitField0_ = (bitField0_ & ~0x00000040);
defaultStorageType_ = 0;
onChanged();
return this;
@@ -4586,7 +4922,7 @@ public Builder clearDefaultStorageType() {
* @return Whether the encryptionConfig field is set.
*/
public boolean hasEncryptionConfig() {
- return ((bitField0_ & 0x00000040) != 0);
+ return ((bitField0_ & 0x00000080) != 0);
}
/**
*
@@ -4631,7 +4967,7 @@ public Builder setEncryptionConfig(
} else {
encryptionConfigBuilder_.setMessage(value);
}
- bitField0_ |= 0x00000040;
+ bitField0_ |= 0x00000080;
onChanged();
return this;
}
@@ -4653,7 +4989,7 @@ public Builder setEncryptionConfig(
} else {
encryptionConfigBuilder_.setMessage(builderForValue.build());
}
- bitField0_ |= 0x00000040;
+ bitField0_ |= 0x00000080;
onChanged();
return this;
}
@@ -4671,7 +5007,7 @@ public Builder setEncryptionConfig(
public Builder mergeEncryptionConfig(
com.google.bigtable.admin.v2.Cluster.EncryptionConfig value) {
if (encryptionConfigBuilder_ == null) {
- if (((bitField0_ & 0x00000040) != 0)
+ if (((bitField0_ & 0x00000080) != 0)
&& encryptionConfig_ != null
&& encryptionConfig_
!= com.google.bigtable.admin.v2.Cluster.EncryptionConfig.getDefaultInstance()) {
@@ -4683,7 +5019,7 @@ public Builder mergeEncryptionConfig(
encryptionConfigBuilder_.mergeFrom(value);
}
if (encryptionConfig_ != null) {
- bitField0_ |= 0x00000040;
+ bitField0_ |= 0x00000080;
onChanged();
}
return this;
@@ -4700,7 +5036,7 @@ public Builder mergeEncryptionConfig(
*
*/
public Builder clearEncryptionConfig() {
- bitField0_ = (bitField0_ & ~0x00000040);
+ bitField0_ = (bitField0_ & ~0x00000080);
encryptionConfig_ = null;
if (encryptionConfigBuilder_ != null) {
encryptionConfigBuilder_.dispose();
@@ -4722,7 +5058,7 @@ public Builder clearEncryptionConfig() {
*/
public com.google.bigtable.admin.v2.Cluster.EncryptionConfig.Builder
getEncryptionConfigBuilder() {
- bitField0_ |= 0x00000040;
+ bitField0_ |= 0x00000080;
onChanged();
return getEncryptionConfigFieldBuilder().getBuilder();
}
diff --git a/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/ClusterOrBuilder.java b/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/ClusterOrBuilder.java
index 6cc1480ea7..722a45d300 100644
--- a/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/ClusterOrBuilder.java
+++ b/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/ClusterOrBuilder.java
@@ -129,6 +129,35 @@ public interface ClusterOrBuilder
*/
int getServeNodes();
+ /**
+ *
+ *
+ * + * Immutable. The node scaling factor of this cluster. + *+ * + *
+ * .google.bigtable.admin.v2.Cluster.NodeScalingFactor node_scaling_factor = 9 [(.google.api.field_behavior) = IMMUTABLE];
+ *
+ *
+ * @return The enum numeric value on the wire for nodeScalingFactor.
+ */
+ int getNodeScalingFactorValue();
+ /**
+ *
+ *
+ * + * Immutable. The node scaling factor of this cluster. + *+ * + *
+ * .google.bigtable.admin.v2.Cluster.NodeScalingFactor node_scaling_factor = 9 [(.google.api.field_behavior) = IMMUTABLE];
+ *
+ *
+ * @return The nodeScalingFactor.
+ */
+ com.google.bigtable.admin.v2.Cluster.NodeScalingFactor getNodeScalingFactor();
+
/**
*
*
diff --git a/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/InstanceProto.java b/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/InstanceProto.java
index 0043a822e8..a44c59db66 100644
--- a/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/InstanceProto.java
+++ b/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/InstanceProto.java
@@ -121,84 +121,89 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "(\n storage_utilization_gib_per_node\030\003 \001("
+ "\005\"O\n\021AutoscalingLimits\022\034\n\017min_serve_node"
+ "s\030\001 \001(\005B\003\340A\002\022\034\n\017max_serve_nodes\030\002 \001(\005B\003\340"
- + "A\002\"\321\007\n\007Cluster\022\014\n\004name\030\001 \001(\t\022;\n\010location"
+ + "A\002\"\232\t\n\007Cluster\022\014\n\004name\030\001 \001(\t\022;\n\010location"
+ "\030\002 \001(\tB)\340A\005\372A#\n!locations.googleapis.com"
+ "/Location\022;\n\005state\030\003 \001(\0162\'.google.bigtab"
+ "le.admin.v2.Cluster.StateB\003\340A\003\022\023\n\013serve_"
- + "nodes\030\004 \001(\005\022I\n\016cluster_config\030\007 \001(\0132/.go"
- + "ogle.bigtable.admin.v2.Cluster.ClusterCo"
- + "nfigH\000\022H\n\024default_storage_type\030\005 \001(\0162%.g"
- + "oogle.bigtable.admin.v2.StorageTypeB\003\340A\005"
- + "\022R\n\021encryption_config\030\006 \001(\01322.google.big"
- + "table.admin.v2.Cluster.EncryptionConfigB"
- + "\003\340A\005\032\270\001\n\030ClusterAutoscalingConfig\022L\n\022aut"
- + "oscaling_limits\030\001 \001(\0132+.google.bigtable."
- + "admin.v2.AutoscalingLimitsB\003\340A\002\022N\n\023autos"
- + "caling_targets\030\002 \001(\0132,.google.bigtable.a"
- + "dmin.v2.AutoscalingTargetsB\003\340A\002\032o\n\rClust"
- + "erConfig\022^\n\032cluster_autoscaling_config\030\001"
- + " \001(\0132:.google.bigtable.admin.v2.Cluster."
- + "ClusterAutoscalingConfig\032P\n\020EncryptionCo"
- + "nfig\022<\n\014kms_key_name\030\001 \001(\tB&\372A#\n!cloudkm"
- + "s.googleapis.com/CryptoKey\"Q\n\005State\022\023\n\017S"
- + "TATE_NOT_KNOWN\020\000\022\t\n\005READY\020\001\022\014\n\010CREATING\020"
- + "\002\022\014\n\010RESIZING\020\003\022\014\n\010DISABLED\020\004:e\352Ab\n$bigt"
- + "ableadmin.googleapis.com/Cluster\022:projec"
- + "ts/{project}/instances/{instance}/cluste"
- + "rs/{cluster}B\010\n\006config\"\322\n\n\nAppProfile\022\014\n"
- + "\004name\030\001 \001(\t\022\014\n\004etag\030\002 \001(\t\022\023\n\013description"
- + "\030\003 \001(\t\022g\n\035multi_cluster_routing_use_any\030"
- + "\005 \001(\0132>.google.bigtable.admin.v2.AppProf"
- + "ile.MultiClusterRoutingUseAnyH\000\022[\n\026singl"
- + "e_cluster_routing\030\006 \001(\01329.google.bigtabl"
- + "e.admin.v2.AppProfile.SingleClusterRouti"
- + "ngH\000\022E\n\010priority\030\007 \001(\0162-.google.bigtable"
- + ".admin.v2.AppProfile.PriorityB\002\030\001H\001\022T\n\022s"
- + "tandard_isolation\030\013 \001(\01326.google.bigtabl"
- + "e.admin.v2.AppProfile.StandardIsolationH"
- + "\001\022i\n\036data_boost_isolation_read_only\030\n \001("
- + "\0132?.google.bigtable.admin.v2.AppProfile."
- + "DataBoostIsolationReadOnlyH\001\032\257\001\n\031MultiCl"
- + "usterRoutingUseAny\022\023\n\013cluster_ids\030\001 \003(\t\022"
- + "b\n\014row_affinity\030\003 \001(\0132J.google.bigtable."
- + "admin.v2.AppProfile.MultiClusterRoutingU"
- + "seAny.RowAffinityH\000\032\r\n\013RowAffinityB\n\n\010af"
- + "finity\032N\n\024SingleClusterRouting\022\022\n\ncluste"
- + "r_id\030\001 \001(\t\022\"\n\032allow_transactional_writes"
- + "\030\002 \001(\010\032T\n\021StandardIsolation\022?\n\010priority\030"
- + "\001 \001(\0162-.google.bigtable.admin.v2.AppProf"
- + "ile.Priority\032\374\001\n\032DataBoostIsolationReadO"
- + "nly\022w\n\025compute_billing_owner\030\001 \001(\0162S.goo"
- + "gle.bigtable.admin.v2.AppProfile.DataBoo"
- + "stIsolationReadOnly.ComputeBillingOwnerH"
- + "\000\210\001\001\"K\n\023ComputeBillingOwner\022%\n!COMPUTE_B"
- + "ILLING_OWNER_UNSPECIFIED\020\000\022\r\n\tHOST_PAYS\020"
- + "\001B\030\n\026_compute_billing_owner\"^\n\010Priority\022"
- + "\030\n\024PRIORITY_UNSPECIFIED\020\000\022\020\n\014PRIORITY_LO"
- + "W\020\001\022\023\n\017PRIORITY_MEDIUM\020\002\022\021\n\rPRIORITY_HIG"
- + "H\020\003:o\352Al\n\'bigtableadmin.googleapis.com/A"
- + "ppProfile\022Aprojects/{project}/instances/"
- + "{instance}/appProfiles/{app_profile}B\020\n\016"
- + "routing_policyB\013\n\tisolation\"\210\003\n\tHotTable"
- + "t\022\014\n\004name\030\001 \001(\t\022;\n\ntable_name\030\002 \001(\tB\'\372A$"
- + "\n\"bigtableadmin.googleapis.com/Table\0223\n\n"
- + "start_time\030\003 \001(\0132\032.google.protobuf.Times"
- + "tampB\003\340A\003\0221\n\010end_time\030\004 \001(\0132\032.google.pro"
- + "tobuf.TimestampB\003\340A\003\022\021\n\tstart_key\030\005 \001(\t\022"
- + "\017\n\007end_key\030\006 \001(\t\022#\n\026node_cpu_usage_perce"
- + "nt\030\007 \001(\002B\003\340A\003:\177\352A|\n&bigtableadmin.google"
- + "apis.com/HotTablet\022Rprojects/{project}/i"
- + "nstances/{instance}/clusters/{cluster}/h"
- + "otTablets/{hot_tablet}B\313\002\n\034com.google.bi"
- + "gtable.admin.v2B\rInstanceProtoP\001Z8cloud."
- + "google.com/go/bigtable/admin/apiv2/admin"
- + "pb;adminpb\252\002\036Google.Cloud.Bigtable.Admin"
- + ".V2\312\002\036Google\\Cloud\\Bigtable\\Admin\\V2\352\002\"G"
- + "oogle::Cloud::Bigtable::Admin::V2\352Ax\n!cl"
- + "oudkms.googleapis.com/CryptoKey\022Sproject"
- + "s/{project}/locations/{location}/keyRing"
- + "s/{key_ring}/cryptoKeys/{crypto_key}b\006pr"
- + "oto3"
+ + "nodes\030\004 \001(\005\022U\n\023node_scaling_factor\030\t \001(\016"
+ + "23.google.bigtable.admin.v2.Cluster.Node"
+ + "ScalingFactorB\003\340A\005\022I\n\016cluster_config\030\007 \001"
+ + "(\0132/.google.bigtable.admin.v2.Cluster.Cl"
+ + "usterConfigH\000\022H\n\024default_storage_type\030\005 "
+ + "\001(\0162%.google.bigtable.admin.v2.StorageTy"
+ + "peB\003\340A\005\022R\n\021encryption_config\030\006 \001(\01322.goo"
+ + "gle.bigtable.admin.v2.Cluster.Encryption"
+ + "ConfigB\003\340A\005\032\270\001\n\030ClusterAutoscalingConfig"
+ + "\022L\n\022autoscaling_limits\030\001 \001(\0132+.google.bi"
+ + "gtable.admin.v2.AutoscalingLimitsB\003\340A\002\022N"
+ + "\n\023autoscaling_targets\030\002 \001(\0132,.google.big"
+ + "table.admin.v2.AutoscalingTargetsB\003\340A\002\032o"
+ + "\n\rClusterConfig\022^\n\032cluster_autoscaling_c"
+ + "onfig\030\001 \001(\0132:.google.bigtable.admin.v2.C"
+ + "luster.ClusterAutoscalingConfig\032P\n\020Encry"
+ + "ptionConfig\022<\n\014kms_key_name\030\001 \001(\tB&\372A#\n!"
+ + "cloudkms.googleapis.com/CryptoKey\"Q\n\005Sta"
+ + "te\022\023\n\017STATE_NOT_KNOWN\020\000\022\t\n\005READY\020\001\022\014\n\010CR"
+ + "EATING\020\002\022\014\n\010RESIZING\020\003\022\014\n\010DISABLED\020\004\"p\n\021"
+ + "NodeScalingFactor\022#\n\037NODE_SCALING_FACTOR"
+ + "_UNSPECIFIED\020\000\022\032\n\026NODE_SCALING_FACTOR_1X"
+ + "\020\001\022\032\n\026NODE_SCALING_FACTOR_2X\020\002:e\352Ab\n$big"
+ + "tableadmin.googleapis.com/Cluster\022:proje"
+ + "cts/{project}/instances/{instance}/clust"
+ + "ers/{cluster}B\010\n\006config\"\322\n\n\nAppProfile\022\014"
+ + "\n\004name\030\001 \001(\t\022\014\n\004etag\030\002 \001(\t\022\023\n\013descriptio"
+ + "n\030\003 \001(\t\022g\n\035multi_cluster_routing_use_any"
+ + "\030\005 \001(\0132>.google.bigtable.admin.v2.AppPro"
+ + "file.MultiClusterRoutingUseAnyH\000\022[\n\026sing"
+ + "le_cluster_routing\030\006 \001(\01329.google.bigtab"
+ + "le.admin.v2.AppProfile.SingleClusterRout"
+ + "ingH\000\022E\n\010priority\030\007 \001(\0162-.google.bigtabl"
+ + "e.admin.v2.AppProfile.PriorityB\002\030\001H\001\022T\n\022"
+ + "standard_isolation\030\013 \001(\01326.google.bigtab"
+ + "le.admin.v2.AppProfile.StandardIsolation"
+ + "H\001\022i\n\036data_boost_isolation_read_only\030\n \001"
+ + "(\0132?.google.bigtable.admin.v2.AppProfile"
+ + ".DataBoostIsolationReadOnlyH\001\032\257\001\n\031MultiC"
+ + "lusterRoutingUseAny\022\023\n\013cluster_ids\030\001 \003(\t"
+ + "\022b\n\014row_affinity\030\003 \001(\0132J.google.bigtable"
+ + ".admin.v2.AppProfile.MultiClusterRouting"
+ + "UseAny.RowAffinityH\000\032\r\n\013RowAffinityB\n\n\010a"
+ + "ffinity\032N\n\024SingleClusterRouting\022\022\n\nclust"
+ + "er_id\030\001 \001(\t\022\"\n\032allow_transactional_write"
+ + "s\030\002 \001(\010\032T\n\021StandardIsolation\022?\n\010priority"
+ + "\030\001 \001(\0162-.google.bigtable.admin.v2.AppPro"
+ + "file.Priority\032\374\001\n\032DataBoostIsolationRead"
+ + "Only\022w\n\025compute_billing_owner\030\001 \001(\0162S.go"
+ + "ogle.bigtable.admin.v2.AppProfile.DataBo"
+ + "ostIsolationReadOnly.ComputeBillingOwner"
+ + "H\000\210\001\001\"K\n\023ComputeBillingOwner\022%\n!COMPUTE_"
+ + "BILLING_OWNER_UNSPECIFIED\020\000\022\r\n\tHOST_PAYS"
+ + "\020\001B\030\n\026_compute_billing_owner\"^\n\010Priority"
+ + "\022\030\n\024PRIORITY_UNSPECIFIED\020\000\022\020\n\014PRIORITY_L"
+ + "OW\020\001\022\023\n\017PRIORITY_MEDIUM\020\002\022\021\n\rPRIORITY_HI"
+ + "GH\020\003:o\352Al\n\'bigtableadmin.googleapis.com/"
+ + "AppProfile\022Aprojects/{project}/instances"
+ + "/{instance}/appProfiles/{app_profile}B\020\n"
+ + "\016routing_policyB\013\n\tisolation\"\210\003\n\tHotTabl"
+ + "et\022\014\n\004name\030\001 \001(\t\022;\n\ntable_name\030\002 \001(\tB\'\372A"
+ + "$\n\"bigtableadmin.googleapis.com/Table\0223\n"
+ + "\nstart_time\030\003 \001(\0132\032.google.protobuf.Time"
+ + "stampB\003\340A\003\0221\n\010end_time\030\004 \001(\0132\032.google.pr"
+ + "otobuf.TimestampB\003\340A\003\022\021\n\tstart_key\030\005 \001(\t"
+ + "\022\017\n\007end_key\030\006 \001(\t\022#\n\026node_cpu_usage_perc"
+ + "ent\030\007 \001(\002B\003\340A\003:\177\352A|\n&bigtableadmin.googl"
+ + "eapis.com/HotTablet\022Rprojects/{project}/"
+ + "instances/{instance}/clusters/{cluster}/"
+ + "hotTablets/{hot_tablet}B\313\002\n\034com.google.b"
+ + "igtable.admin.v2B\rInstanceProtoP\001Z8cloud"
+ + ".google.com/go/bigtable/admin/apiv2/admi"
+ + "npb;adminpb\252\002\036Google.Cloud.Bigtable.Admi"
+ + "n.V2\312\002\036Google\\Cloud\\Bigtable\\Admin\\V2\352\002\""
+ + "Google::Cloud::Bigtable::Admin::V2\352Ax\n!c"
+ + "loudkms.googleapis.com/CryptoKey\022Sprojec"
+ + "ts/{project}/locations/{location}/keyRin"
+ + "gs/{key_ring}/cryptoKeys/{crypto_key}b\006p"
+ + "roto3"
};
descriptor =
com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom(
@@ -251,6 +256,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
"Location",
"State",
"ServeNodes",
+ "NodeScalingFactor",
"ClusterConfig",
"DefaultStorageType",
"EncryptionConfig",
diff --git a/proto-google-cloud-bigtable-admin-v2/src/main/proto/google/bigtable/admin/v2/instance.proto b/proto-google-cloud-bigtable-admin-v2/src/main/proto/google/bigtable/admin/v2/instance.proto
index cb3abbb1c9..d6a3c861a3 100644
--- a/proto-google-cloud-bigtable-admin-v2/src/main/proto/google/bigtable/admin/v2/instance.proto
+++ b/proto-google-cloud-bigtable-admin-v2/src/main/proto/google/bigtable/admin/v2/instance.proto
@@ -172,6 +172,21 @@ message Cluster {
DISABLED = 4;
}
+ // Possible node scaling factors of the clusters. Node scaling delivers better
+ // latency and more throughput by removing node boundaries.
+ enum NodeScalingFactor {
+ // No node scaling specified. Defaults to NODE_SCALING_FACTOR_1X.
+ NODE_SCALING_FACTOR_UNSPECIFIED = 0;
+
+ // The cluster is running with a scaling factor of 1.
+ NODE_SCALING_FACTOR_1X = 1;
+
+ // The cluster is running with a scaling factor of 2.
+ // All node count values must be in increments of 2 with this scaling factor
+ // enabled, otherwise an INVALID_ARGUMENT error will be returned.
+ NODE_SCALING_FACTOR_2X = 2;
+ }
+
// Autoscaling config for a cluster.
message ClusterAutoscalingConfig {
// Required. Autoscaling limits for this cluster.
@@ -229,6 +244,10 @@ message Cluster {
// throughput and more consistent performance.
int32 serve_nodes = 4;
+ // Immutable. The node scaling factor of this cluster.
+ NodeScalingFactor node_scaling_factor = 9
+ [(google.api.field_behavior) = IMMUTABLE];
+
oneof config {
// Configuration for this cluster.
ClusterConfig cluster_config = 7;