diff --git a/.github/scripts/update_generation_config.sh b/.github/scripts/update_generation_config.sh
index 24d97abee3..f448fafd7d 100644
--- a/.github/scripts/update_generation_config.sh
+++ b/.github/scripts/update_generation_config.sh
@@ -48,13 +48,14 @@ function update_config() {
}
# Update an action to a new version in GitHub action.
+# the second argument must have the git tag (including "v").
function update_action() {
local key_word=$1
local new_value=$2
local file=$3
echo "Update ${key_word} to ${new_value} in ${file}"
# use a different delimiter because the key_word contains "/".
- sed -i -e "s|${key_word}@v.*$|${key_word}@v${new_value}|" "${file}"
+ sed -i -e "s|${key_word}@[^ ]*$|${key_word}@${new_value}|" "${file}"
}
# The parameters of this script is:
@@ -143,12 +144,16 @@ rm -rf tmp-googleapis
update_config "googleapis_commitish" "${latest_commit}" "${generation_config}"
# Update gapic-generator-java version to the latest
-latest_version=$(get_latest_released_version "com.google.api" "gapic-generator-java")
-update_config "gapic_generator_version" "${latest_version}" "${generation_config}"
-
-# Update composite action version to latest gapic-generator-java version
+latest_gapic_generator_version=$(get_latest_released_version "com.google.api" "gapic-generator-java")
+update_config "gapic_generator_version" "${latest_gapic_generator_version}" "${generation_config}"
+
+# Update the GitHub Actions reference to the latest.
+# After the google-cloud-java monorepo migration of sdk-platform-java,
+# we cannot rely on the gapic-generator-java version tag. Let's use
+# the gapic-libraries-bom version
+latest_gapic_libraries_bom_version=$(get_latest_released_version "com.google.cloud" "gapic-libraries-bom")
update_action "googleapis/google-cloud-java/sdk-platform-java/.github/scripts" \
- "${latest_version}" \
+ "v${latest_gapic_libraries_bom_version}" \
"${workflow}"
# Update libraries-bom version to the latest
diff --git a/.github/workflows/hermetic_library_generation.yaml b/.github/workflows/hermetic_library_generation.yaml
index 8e78bf600d..55b191345e 100644
--- a/.github/workflows/hermetic_library_generation.yaml
+++ b/.github/workflows/hermetic_library_generation.yaml
@@ -37,7 +37,7 @@ jobs:
with:
fetch-depth: 0
token: ${{ secrets.CLOUD_JAVA_BOT_TOKEN }}
- - uses: googleapis/google-cloud-java/sdk-platform-java/.github/scripts@v1.85.0
+ - uses: googleapis/google-cloud-java/sdk-platform-java/.github/scripts@google-cloud-shared-dependencies/v3.61.0
if: env.SHOULD_RUN == 'true'
with:
image_tag: latest
diff --git a/.github/workflows/renovate_config_check.yaml b/.github/workflows/renovate_config_check.yaml
index 47b9e87c98..8c922936b9 100644
--- a/.github/workflows/renovate_config_check.yaml
+++ b/.github/workflows/renovate_config_check.yaml
@@ -4,6 +4,7 @@ on:
pull_request:
paths:
- 'renovate.json'
+ - '.github/workflows/renovate_config_check.yaml'
jobs:
renovate_bot_config_validation:
@@ -18,8 +19,6 @@ jobs:
with:
node-version: '22'
- - name: Install Renovate and Config Validator
+ - name: Run Renovate Config Validator
run: |
- npm install -g npm@latest
- npm install --global renovate
- renovate-config-validator
+ npx --package renovate@43.136.0 renovate-config-validator
diff --git a/README.md b/README.md
index eacdf8b4b1..25dc1ce119 100644
--- a/README.md
+++ b/README.md
@@ -49,7 +49,7 @@ If you are using Maven without the BOM, add this to your dependencies:
If you are using Gradle 5.x or later, add this to your dependencies:
```Groovy
-implementation platform('com.google.cloud:libraries-bom:26.79.0')
+implementation platform('com.google.cloud:libraries-bom:26.80.0')
implementation 'com.google.cloud:google-cloud-bigtable'
```
diff --git a/generation_config.yaml b/generation_config.yaml
index 656e9053e3..e0d896e850 100644
--- a/generation_config.yaml
+++ b/generation_config.yaml
@@ -1,6 +1,6 @@
-gapic_generator_version: 2.69.0
-googleapis_commitish: 9a832ccde3f3ca4d4e1c39593b1cbf9aa62a75b3
-libraries_bom_version: 26.79.0
+gapic_generator_version: 2.71.0
+googleapis_commitish: 939ba3bf8408af83f0f73ae35c76c4b11a8c8c8d
+libraries_bom_version: 26.80.0
template_excludes:
- .gitignore
- .kokoro/presubmit/integration.cfg
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 7194bc2752..a2699060d1 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
@@ -1871,6 +1871,15 @@
"allDeclaredClasses": true,
"allPublicClasses": true
},
+ {
+ "name": "com.google.bigtable.admin.v2.Instance$Edition",
+ "queryAllDeclaredConstructors": true,
+ "queryAllPublicConstructors": true,
+ "queryAllDeclaredMethods": true,
+ "allPublicMethods": true,
+ "allDeclaredClasses": true,
+ "allPublicClasses": true
+ },
{
"name": "com.google.bigtable.admin.v2.Instance$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 d99725029d..843e1a4926 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
@@ -475,6 +475,7 @@ public void updateInstanceTest() throws Exception {
Assert.assertEquals(request.getDisplayName(), actualRequest.getDisplayName());
Assert.assertEquals(request.getState(), actualRequest.getState());
Assert.assertEquals(request.getType(), actualRequest.getType());
+ Assert.assertEquals(request.getEdition(), actualRequest.getEdition());
Assert.assertEquals(request.getLabelsMap(), actualRequest.getLabelsMap());
Assert.assertEquals(request.getCreateTime(), actualRequest.getCreateTime());
Assert.assertEquals(request.getSatisfiesPzs(), actualRequest.getSatisfiesPzs());
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 bb01b15b95..4d28d82aac 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
@@ -4510,7 +4510,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=421
+ * google/bigtable/admin/v2/instance.proto;l=448
* @return Whether the priority field is set.
*/
@java.lang.Deprecated
@@ -4531,7 +4531,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=421
+ * google/bigtable/admin/v2/instance.proto;l=448
* @return The enum numeric value on the wire for priority.
*/
@java.lang.Deprecated
@@ -4555,7 +4555,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=421
+ * google/bigtable/admin/v2/instance.proto;l=448
* @return The priority.
*/
@java.lang.Deprecated
@@ -6158,7 +6158,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=421
+ * google/bigtable/admin/v2/instance.proto;l=448
* @return Whether the priority field is set.
*/
@java.lang.Override
@@ -6180,7 +6180,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=421
+ * google/bigtable/admin/v2/instance.proto;l=448
* @return The enum numeric value on the wire for priority.
*/
@java.lang.Override
@@ -6205,7 +6205,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=421
+ * google/bigtable/admin/v2/instance.proto;l=448
* @param value The enum numeric value on the wire for priority to set.
* @return This builder for chaining.
*/
@@ -6230,7 +6230,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=421
+ * google/bigtable/admin/v2/instance.proto;l=448
* @return The priority.
*/
@java.lang.Override
@@ -6260,7 +6260,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=421
+ * google/bigtable/admin/v2/instance.proto;l=448
* @param value The priority to set.
* @return This builder for chaining.
*/
@@ -6288,7 +6288,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=421
+ * google/bigtable/admin/v2/instance.proto;l=448
* @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 cc859c4516..3bb0f90a5d 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
@@ -218,7 +218,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=421
+ * google/bigtable/admin/v2/instance.proto;l=448
* @return Whether the priority field is set.
*/
@java.lang.Deprecated
@@ -237,7 +237,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=421
+ * google/bigtable/admin/v2/instance.proto;l=448
* @return The enum numeric value on the wire for priority.
*/
@java.lang.Deprecated
@@ -256,7 +256,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=421
+ * google/bigtable/admin/v2/instance.proto;l=448
* @return The priority.
*/
@java.lang.Deprecated
diff --git a/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/Instance.java b/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/Instance.java
index f82d1ab9f7..860b58841d 100644
--- a/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/Instance.java
+++ b/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/Instance.java
@@ -59,6 +59,7 @@ private Instance() {
displayName_ = "";
state_ = 0;
type_ = 0;
+ edition_ = 0;
}
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
@@ -440,6 +441,193 @@ private Type(int value) {
// @@protoc_insertion_point(enum_scope:google.bigtable.admin.v2.Instance.Type)
}
+ /**
+ *
+ *
+ *
+ * Possible editions of an instance. + * + * An edition is a specific tier of Cloud Bigtable. Each edition is tailored + * to different customer needs. Higher tiers offer more features and better + * performance. + *+ * + * Protobuf enum {@code google.bigtable.admin.v2.Instance.Edition} + */ + public enum Edition implements com.google.protobuf.ProtocolMessageEnum { + /** + * + * + *
+ * The edition is unspecified. This is treated as `ENTERPRISE`. + *+ * + *
EDITION_UNSPECIFIED = 0;
+ */
+ EDITION_UNSPECIFIED(0),
+ /**
+ *
+ *
+ * + * The Enterprise edition. This is the default offering that is designed to + * meet the needs of most enterprise workloads. + *+ * + *
ENTERPRISE = 1;
+ */
+ ENTERPRISE(1),
+ /**
+ *
+ *
+ * + * The Enterprise Plus edition. This is a premium tier that is designed for + * demanding, multi-tenant workloads requiring the highest levels of + * performance, scale, and global availability. + * + * The nodes in the Enterprise Plus tier come at a higher cost than the + * Enterprise tier. Any Enterprise Plus features must be disabled before + * downgrading to Enterprise. + *+ * + *
ENTERPRISE_PLUS = 2;
+ */
+ ENTERPRISE_PLUS(2),
+ UNRECOGNIZED(-1),
+ ;
+
+ static {
+ com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
+ com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
+ /* major= */ 4,
+ /* minor= */ 33,
+ /* patch= */ 2,
+ /* suffix= */ "",
+ "Edition");
+ }
+
+ /**
+ *
+ *
+ * + * The edition is unspecified. This is treated as `ENTERPRISE`. + *+ * + *
EDITION_UNSPECIFIED = 0;
+ */
+ public static final int EDITION_UNSPECIFIED_VALUE = 0;
+
+ /**
+ *
+ *
+ * + * The Enterprise edition. This is the default offering that is designed to + * meet the needs of most enterprise workloads. + *+ * + *
ENTERPRISE = 1;
+ */
+ public static final int ENTERPRISE_VALUE = 1;
+
+ /**
+ *
+ *
+ * + * The Enterprise Plus edition. This is a premium tier that is designed for + * demanding, multi-tenant workloads requiring the highest levels of + * performance, scale, and global availability. + * + * The nodes in the Enterprise Plus tier come at a higher cost than the + * Enterprise tier. Any Enterprise Plus features must be disabled before + * downgrading to Enterprise. + *+ * + *
ENTERPRISE_PLUS = 2;
+ */
+ public static final int ENTERPRISE_PLUS_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 Edition 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 Edition forNumber(int value) {
+ switch (value) {
+ case 0:
+ return EDITION_UNSPECIFIED;
+ case 1:
+ return ENTERPRISE;
+ case 2:
+ return ENTERPRISE_PLUS;
+ default:
+ return null;
+ }
+ }
+
+ public static com.google.protobuf.Internal.EnumLiteMap+ * Optional. The edition of the instance. See + * [Edition][google.bigtable.admin.v2.Instance.Edition] for details. + *+ * + *
+ * .google.bigtable.admin.v2.Instance.Edition edition = 14 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ *
+ * @return The enum numeric value on the wire for edition.
+ */
+ @java.lang.Override
+ public int getEditionValue() {
+ return edition_;
+ }
+
+ /**
+ *
+ *
+ * + * Optional. The edition of the instance. See + * [Edition][google.bigtable.admin.v2.Instance.Edition] for details. + *+ * + *
+ * .google.bigtable.admin.v2.Instance.Edition edition = 14 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ *
+ * @return The edition.
+ */
+ @java.lang.Override
+ public com.google.bigtable.admin.v2.Instance.Edition getEdition() {
+ com.google.bigtable.admin.v2.Instance.Edition result =
+ com.google.bigtable.admin.v2.Instance.Edition.forNumber(edition_);
+ return result == null ? com.google.bigtable.admin.v2.Instance.Edition.UNRECOGNIZED : result;
+ }
+
public static final int LABELS_FIELD_NUMBER = 5;
private static final class LabelsDefaultEntryHolder {
@@ -1092,6 +1323,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io
}
com.google.protobuf.GeneratedMessage.serializeStringMapTo(
output, internalGetTags(), TagsDefaultEntryHolder.defaultEntry, 12);
+ if (edition_ != com.google.bigtable.admin.v2.Instance.Edition.EDITION_UNSPECIFIED.getNumber()) {
+ output.writeEnum(14, edition_);
+ }
getUnknownFields().writeTo(output);
}
@@ -1142,6 +1376,9 @@ public int getSerializedSize() {
.build();
size += com.google.protobuf.CodedOutputStream.computeMessageSize(12, tags__);
}
+ if (edition_ != com.google.bigtable.admin.v2.Instance.Edition.EDITION_UNSPECIFIED.getNumber()) {
+ size += com.google.protobuf.CodedOutputStream.computeEnumSize(14, edition_);
+ }
size += getUnknownFields().getSerializedSize();
memoizedSize = size;
return size;
@@ -1161,6 +1398,7 @@ public boolean equals(final java.lang.Object obj) {
if (!getDisplayName().equals(other.getDisplayName())) return false;
if (state_ != other.state_) return false;
if (type_ != other.type_) return false;
+ if (edition_ != other.edition_) return false;
if (!internalGetLabels().equals(other.internalGetLabels())) return false;
if (hasCreateTime() != other.hasCreateTime()) return false;
if (hasCreateTime()) {
@@ -1194,6 +1432,8 @@ public int hashCode() {
hash = (53 * hash) + state_;
hash = (37 * hash) + TYPE_FIELD_NUMBER;
hash = (53 * hash) + type_;
+ hash = (37 * hash) + EDITION_FIELD_NUMBER;
+ hash = (53 * hash) + edition_;
if (!internalGetLabels().getMap().isEmpty()) {
hash = (37 * hash) + LABELS_FIELD_NUMBER;
hash = (53 * hash) + internalGetLabels().hashCode();
@@ -1395,6 +1635,7 @@ public Builder clear() {
displayName_ = "";
state_ = 0;
type_ = 0;
+ edition_ = 0;
internalGetMutableLabels().clear();
createTime_ = null;
if (createTimeBuilder_ != null) {
@@ -1453,23 +1694,26 @@ private void buildPartial0(com.google.bigtable.admin.v2.Instance result) {
result.type_ = type_;
}
if (((from_bitField0_ & 0x00000010) != 0)) {
+ result.edition_ = edition_;
+ }
+ if (((from_bitField0_ & 0x00000020) != 0)) {
result.labels_ = internalGetLabels();
result.labels_.makeImmutable();
}
int to_bitField0_ = 0;
- if (((from_bitField0_ & 0x00000020) != 0)) {
+ if (((from_bitField0_ & 0x00000040) != 0)) {
result.createTime_ = createTimeBuilder_ == null ? createTime_ : createTimeBuilder_.build();
to_bitField0_ |= 0x00000001;
}
- if (((from_bitField0_ & 0x00000040) != 0)) {
+ if (((from_bitField0_ & 0x00000080) != 0)) {
result.satisfiesPzs_ = satisfiesPzs_;
to_bitField0_ |= 0x00000002;
}
- if (((from_bitField0_ & 0x00000080) != 0)) {
+ if (((from_bitField0_ & 0x00000100) != 0)) {
result.satisfiesPzi_ = satisfiesPzi_;
to_bitField0_ |= 0x00000004;
}
- if (((from_bitField0_ & 0x00000100) != 0)) {
+ if (((from_bitField0_ & 0x00000200) != 0)) {
result.tags_ = internalGetTags();
result.tags_.makeImmutable();
}
@@ -1504,8 +1748,11 @@ public Builder mergeFrom(com.google.bigtable.admin.v2.Instance other) {
if (other.type_ != 0) {
setTypeValue(other.getTypeValue());
}
+ if (other.edition_ != 0) {
+ setEditionValue(other.getEditionValue());
+ }
internalGetMutableLabels().mergeFrom(other.internalGetLabels());
- bitField0_ |= 0x00000010;
+ bitField0_ |= 0x00000020;
if (other.hasCreateTime()) {
mergeCreateTime(other.getCreateTime());
}
@@ -1516,7 +1763,7 @@ public Builder mergeFrom(com.google.bigtable.admin.v2.Instance other) {
setSatisfiesPzi(other.getSatisfiesPzi());
}
internalGetMutableTags().mergeFrom(other.internalGetTags());
- bitField0_ |= 0x00000100;
+ bitField0_ |= 0x00000200;
this.mergeUnknownFields(other.getUnknownFields());
onChanged();
return this;
@@ -1576,26 +1823,26 @@ public Builder mergeFrom(
internalGetMutableLabels()
.getMutableMap()
.put(labels__.getKey(), labels__.getValue());
- bitField0_ |= 0x00000010;
+ bitField0_ |= 0x00000020;
break;
} // case 42
case 58:
{
input.readMessage(
internalGetCreateTimeFieldBuilder().getBuilder(), extensionRegistry);
- bitField0_ |= 0x00000020;
+ bitField0_ |= 0x00000040;
break;
} // case 58
case 64:
{
satisfiesPzs_ = input.readBool();
- bitField0_ |= 0x00000040;
+ bitField0_ |= 0x00000080;
break;
} // case 64
case 88:
{
satisfiesPzi_ = input.readBool();
- bitField0_ |= 0x00000080;
+ bitField0_ |= 0x00000100;
break;
} // case 88
case 98:
@@ -1604,9 +1851,15 @@ public Builder mergeFrom(
input.readMessage(
TagsDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry);
internalGetMutableTags().getMutableMap().put(tags__.getKey(), tags__.getValue());
- bitField0_ |= 0x00000100;
+ bitField0_ |= 0x00000200;
break;
} // case 98
+ case 112:
+ {
+ edition_ = input.readEnum();
+ bitField0_ |= 0x00000010;
+ break;
+ } // case 112
default:
{
if (!super.parseUnknownField(input, extensionRegistry, tag)) {
@@ -2063,6 +2316,116 @@ public Builder clearType() {
return this;
}
+ private int edition_ = 0;
+
+ /**
+ *
+ *
+ * + * Optional. The edition of the instance. See + * [Edition][google.bigtable.admin.v2.Instance.Edition] for details. + *+ * + *
+ * .google.bigtable.admin.v2.Instance.Edition edition = 14 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ *
+ * @return The enum numeric value on the wire for edition.
+ */
+ @java.lang.Override
+ public int getEditionValue() {
+ return edition_;
+ }
+
+ /**
+ *
+ *
+ * + * Optional. The edition of the instance. See + * [Edition][google.bigtable.admin.v2.Instance.Edition] for details. + *+ * + *
+ * .google.bigtable.admin.v2.Instance.Edition edition = 14 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ *
+ * @param value The enum numeric value on the wire for edition to set.
+ * @return This builder for chaining.
+ */
+ public Builder setEditionValue(int value) {
+ edition_ = value;
+ bitField0_ |= 0x00000010;
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ * + * Optional. The edition of the instance. See + * [Edition][google.bigtable.admin.v2.Instance.Edition] for details. + *+ * + *
+ * .google.bigtable.admin.v2.Instance.Edition edition = 14 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ *
+ * @return The edition.
+ */
+ @java.lang.Override
+ public com.google.bigtable.admin.v2.Instance.Edition getEdition() {
+ com.google.bigtable.admin.v2.Instance.Edition result =
+ com.google.bigtable.admin.v2.Instance.Edition.forNumber(edition_);
+ return result == null ? com.google.bigtable.admin.v2.Instance.Edition.UNRECOGNIZED : result;
+ }
+
+ /**
+ *
+ *
+ * + * Optional. The edition of the instance. See + * [Edition][google.bigtable.admin.v2.Instance.Edition] for details. + *+ * + *
+ * .google.bigtable.admin.v2.Instance.Edition edition = 14 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ *
+ * @param value The edition to set.
+ * @return This builder for chaining.
+ */
+ public Builder setEdition(com.google.bigtable.admin.v2.Instance.Edition value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000010;
+ edition_ = value.getNumber();
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ * + * Optional. The edition of the instance. See + * [Edition][google.bigtable.admin.v2.Instance.Edition] for details. + *+ * + *
+ * .google.bigtable.admin.v2.Instance.Edition edition = 14 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ *
+ * @return This builder for chaining.
+ */
+ public Builder clearEdition() {
+ bitField0_ = (bitField0_ & ~0x00000010);
+ edition_ = 0;
+ onChanged();
+ return this;
+ }
+
private com.google.protobuf.MapField+ * Optional. The edition of the instance. See + * [Edition][google.bigtable.admin.v2.Instance.Edition] for details. + *+ * + *
+ * .google.bigtable.admin.v2.Instance.Edition edition = 14 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ *
+ * @return The enum numeric value on the wire for edition.
+ */
+ int getEditionValue();
+
+ /**
+ *
+ *
+ * + * Optional. The edition of the instance. See + * [Edition][google.bigtable.admin.v2.Instance.Edition] for details. + *+ * + *
+ * .google.bigtable.admin.v2.Instance.Edition edition = 14 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ *
+ * @return The edition.
+ */
+ com.google.bigtable.admin.v2.Instance.Edition getEdition();
+
/**
*
*
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 18e496bcc7..253c359b5e 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
@@ -126,13 +126,15 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "o\022\030google.bigtable.admin.v2\032\037google/api/"
+ "field_behavior.proto\032\031google/api/resourc"
+ "e.proto\032%google/bigtable/admin/v2/common"
- + ".proto\032\037google/protobuf/timestamp.proto\"\207\006\n"
+ + ".proto\032\037google/protobuf/timestamp.proto\"\222\007\n"
+ "\010Instance\022\014\n"
+ "\004name\030\001 \001(\t\022\031\n"
+ "\014display_name\030\002 \001(\tB\003\340A\002\022<\n"
+ "\005state\030\003"
+ " \001(\0162(.google.bigtable.admin.v2.Instance.StateB\003\340A\003\0225\n"
- + "\004type\030\004 \001(\0162\'.google.bigtable.admin.v2.Instance.Type\022>\n"
+ + "\004type\030\004 \001(\0162\'.google.bigtable.admin.v2.Instance.Type\022@\n"
+ + "\007edition\030\016"
+ + " \001(\0162*.google.bigtable.admin.v2.Instance.EditionB\003\340A\001\022>\n"
+ "\006labels\030\005 \003(\0132..google.bigtable.admin.v2.Instance.LabelsEntry\0224\n"
+ "\013create_time\030\007"
+ " \001(\0132\032.google.protobuf.TimestampB\003\340A\003\022\037\n\r"
@@ -153,7 +155,11 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "\004Type\022\024\n"
+ "\020TYPE_UNSPECIFIED\020\000\022\016\n\n"
+ "PRODUCTION\020\001\022\017\n"
- + "\013DEVELOPMENT\020\002:h\352Ae\n"
+ + "\013DEVELOPMENT\020\002\"G\n"
+ + "\007Edition\022\027\n"
+ + "\023EDITION_UNSPECIFIED\020\000\022\016\n\n"
+ + "ENTERPRISE\020\001\022\023\n"
+ + "\017ENTERPRISE_PLUS\020\002:h\352Ae\n"
+ "%bigtableadmin.googleapis.com/Instance\022\'projects/{project}/instances/{instance}*"
+ "\tinstances2\010instanceB\020\n"
+ "\016_satisfies_pzsB\020\n"
@@ -168,25 +174,25 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "\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.bigtable.admin.v2.Cluster.StateB\003\340A\003\022\023\n"
+ + "\005state\030\003 \001(\0162\'.g"
+ + "oogle.bigtable.admin.v2.Cluster.StateB\003\340A\003\022\023\n"
+ "\013serve_nodes\030\004 \001(\005\022U\n"
- + "\023node_scaling_factor\030\t \001(\01623.goog"
- + "le.bigtable.admin.v2.Cluster.NodeScalingFactorB\003\340A\005\022I\n"
- + "\016cluster_config\030\007 \001(\0132/.go"
- + "ogle.bigtable.admin.v2.Cluster.ClusterConfigH\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"
+ + "\023node_scaling_factor\030\t"
+ + " \001(\01623.google.bigtable.admin.v2.Cluster.NodeScalingFactorB\003\340A\005\022I\n"
+ + "\016cluster_config\030\007"
+ + " \001(\0132/.google.bigtable.admin.v2.Cluster.ClusterConfigH\000\022H\n"
+ + "\024default_storage_type\030\005"
+ + " \001(\0162%.google.bigtable.admin.v2.StorageTypeB\003\340A\005\022R\n"
+ + "\021encryption_config\030\006"
+ + " \001(\01322.google.bigtable.admin.v2.Cluster.EncryptionConfigB\003\340A\005\032\270\001\n"
+ "\030ClusterAutoscalingConfig\022L\n"
- + "\022autoscaling_limits\030\001"
- + " \001(\0132+.google.bigtable.admin.v2.AutoscalingLimitsB\003\340A\002\022N\n"
- + "\023autoscaling_targets\030\002"
- + " \001(\0132,.google.bigtable.admin.v2.AutoscalingTargetsB\003\340A\002\032o\n\r"
+ + "\022autoscaling_limits\030\001 \001(\013"
+ + "2+.google.bigtable.admin.v2.AutoscalingLimitsB\003\340A\002\022N\n"
+ + "\023autoscaling_targets\030\002 \001(\0132"
+ + ",.google.bigtable.admin.v2.AutoscalingTargetsB\003\340A\002\032o\n\r"
+ "ClusterConfig\022^\n"
- + "\032cluster_autoscaling_config\030\001"
- + " \001(\0132:.google.bigtable.admin.v2.Cluster.ClusterAutoscalingConfig\032P\n"
+ + "\032cluster_autoscaling_config\030\001 \001(\0132:.google.bigtabl"
+ + "e.admin.v2.Cluster.ClusterAutoscalingConfig\032P\n"
+ "\020EncryptionConfig\022<\n"
+ "\014kms_key_name\030\001 \001(\tB&\372A#\n"
+ "!cloudkms.googleapis.com/CryptoKey\"Q\n"
@@ -200,39 +206,39 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "\037NODE_SCALING_FACTOR_UNSPECIFIED\020\000\022\032\n"
+ "\026NODE_SCALING_FACTOR_1X\020\001\022\032\n"
+ "\026NODE_SCALING_FACTOR_2X\020\002:x\352Au\n"
- + "$bigtableadmin.googleapis.com/Cluster\022:projects/{pr"
- + "oject}/instances/{instance}/clusters/{cluster}*\010clusters2\007clusterB\010\n"
+ + "$bigtableadmin.googleapis.com/Cluster\022:projects/{project}/instances/{ins"
+ + "tance}/clusters/{cluster}*\010clusters2\007clusterB\010\n"
+ "\006config\"\355\n\n\n"
+ "AppProfile\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.adm"
- + "in.v2.AppProfile.MultiClusterRoutingUseAnyH\000\022[\n"
- + "\026single_cluster_routing\030\006 \001(\01329.g"
- + "oogle.bigtable.admin.v2.AppProfile.SingleClusterRoutingH\000\022E\n"
- + "\010priority\030\007 \001(\0162-.go"
- + "ogle.bigtable.admin.v2.AppProfile.PriorityB\002\030\001H\001\022T\n"
- + "\022standard_isolation\030\013 \001(\01326.g"
- + "oogle.bigtable.admin.v2.AppProfile.StandardIsolationH\001\022i\n"
+ + "\035multi_cluster_routing_use_any\030\005 \001(\0132>."
+ + "google.bigtable.admin.v2.AppProfile.MultiClusterRoutingUseAnyH\000\022[\n"
+ + "\026single_cluster_routing\030\006"
+ + " \001(\01329.google.bigtable.admin.v2.AppProfile.SingleClusterRoutingH\000\022E\n"
+ + "\010priority\030\007"
+ + " \001(\0162-.google.bigtable.admin.v2.AppProfile.PriorityB\002\030\001H\001\022T\n"
+ + "\022standard_isolation\030\013"
+ + " \001(\01326.google.bigtable.admin.v2.AppProfile.StandardIsolationH\001\022i\n"
+ "\036data_boost_isolation_read_only\030\n"
- + " \001(\0132?.google.bigtable.admin.v"
- + "2.AppProfile.DataBoostIsolationReadOnlyH\001\032\257\001\n"
+ + " \001(\0132?.goog"
+ + "le.bigtable.admin.v2.AppProfile.DataBoostIsolationReadOnlyH\001\032\257\001\n"
+ "\031MultiClusterRoutingUseAny\022\023\n"
+ "\013cluster_ids\030\001 \003(\t\022b\n"
- + "\014row_affinity\030\003 \001(\0132J.goo"
- + "gle.bigtable.admin.v2.AppProfile.MultiClusterRoutingUseAny.RowAffinityH\000\032\r\n"
+ + "\014row_affinity\030\003 \001(\0132J.google.bigtable.admin.v2"
+ + ".AppProfile.MultiClusterRoutingUseAny.RowAffinityH\000\032\r\n"
+ "\013RowAffinityB\n\n"
+ "\010affinity\032N\n"
+ "\024SingleClusterRouting\022\022\n\n"
+ "cluster_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.AppProfile.Priority\032\374\001\n"
+ + "\010priority\030\001 \001(\0162-."
+ + "google.bigtable.admin.v2.AppProfile.Priority\032\374\001\n"
+ "\032DataBoostIsolationReadOnly\022w\n"
- + "\025compute_billing_owner\030\001 \001(\0162S.google.bigtable.admin.v2.AppPr"
- + "ofile.DataBoostIsolationReadOnly.ComputeBillingOwnerH\000\210\001\001\"K\n"
+ + "\025compute_billing_owner\030\001 \001(\0162S.google.bigt"
+ + "able.admin.v2.AppProfile.DataBoostIsolationReadOnly.ComputeBillingOwnerH\000\210\001\001\"K\n"
+ "\023ComputeBillingOwner\022%\n"
+ "!COMPUTE_BILLING_OWNER_UNSPECIFIED\020\000\022\r\n"
+ "\tHOST_PAYS\020\001B\030\n"
@@ -240,11 +246,10 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "\010Priority\022\030\n"
+ "\024PRIORITY_UNSPECIFIED\020\000\022\020\n"
+ "\014PRIORITY_LOW\020\001\022\023\n"
- + "\017PRIORITY_MEDIUM\020\002\022\021\n"
- + "\r"
+ + "\017PRIORITY_MEDIUM\020\002\022\021\n\r"
+ "PRIORITY_HIGH\020\003:\211\001\352A\205\001\n"
- + "\'bigtableadmin.googleapis.com/AppProfile\022Aprojects/{proj"
- + "ect}/instances/{instance}/appProfiles/{app_profile}*\013appProfiles2\n"
+ + "\'bigtableadmin.googleapis.com/AppProfile\022Aprojects/{project}/instances/{insta"
+ + "nce}/appProfiles/{app_profile}*\013appProfiles2\n"
+ "appProfileB\020\n"
+ "\016routing_policyB\013\n"
+ "\tisolation\"\241\003\n"
@@ -257,30 +262,32 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "\tstart_key\030\005 \001(\t\022\017\n"
+ "\007end_key\030\006 \001(\t\022#\n"
+ "\026node_cpu_usage_percent\030\007 \001(\002B\003\340A\003:\227\001\352A\223\001\n"
- + "&bigtableadmin.googleapis.com/HotTablet\022Rprojects/{project}"
- + "/instances/{instance}/clusters/{cluster}/hotTablets/{hot_tablet}*\n"
+ + "&bigtableadmin.googleapis.com/HotTablet\022Rprojects/{project}/instances/{instance}"
+ + "/clusters/{cluster}/hotTablets/{hot_tablet}*\n"
+ "hotTablets2\thotTablet\"\372\001\n"
+ "\013LogicalView\022\021\n"
+ "\004name\030\001 \001(\tB\003\340A\010\022\022\n"
+ "\005query\030\002 \001(\tB\003\340A\002\022\021\n"
+ "\004etag\030\003 \001(\tB\003\340A\001\022 \n"
+ "\023deletion_protection\030\006 \001(\010B\003\340A\001:\216\001\352A\212\001\n"
- + "(bigtableadmin.googleapis.com/LogicalView\022Cprojects/{project}/instances/{inst"
- + "ance}/logicalViews/{logical_view}*\014logicalViews2\013logicalView\"\226\002\n"
+ + "(bigtableadmin.googleapis.com/LogicalView\022Cprojects/{proje"
+ + "ct}/instances/{instance}/logicalViews/{l"
+ + "ogical_view}*\014logicalViews2\013logicalView\"\226\002\n"
+ "\020MaterializedView\022\021\n"
+ "\004name\030\001 \001(\tB\003\340A\010\022\025\n"
+ "\005query\030\002 \001(\tB\006\340A\002\340A\005\022\021\n"
+ "\004etag\030\003 \001(\tB\003\340A\001\022\033\n"
+ "\023deletion_protection\030\006 \001(\010:\247\001\352A\243\001\n"
- + "-bigtableadmin.googleapis.com/MaterializedView\022Mprojects/{pro"
- + "ject}/instances/{instance}/materializedV"
- + "iews/{materialized_view}*\021materializedViews2\020materializedViewB\313\002\n"
+ + "-bigtableadmin.googleapis.com/MaterializedView\022Mprojects/{project}/instances/{inst"
+ + "ance}/materializedViews/{materialized_vi"
+ + "ew}*\021materializedViews2\020materializedViewB\313\002\n"
+ "\034com.google.bigtable.admin.v2B\r"
- + "InstanceProtoP\001Z8cloud.google.com/go/bigtable/admin/apiv2/adminp"
- + "b;adminpb\252\002\036Google.Cloud.Bigtable.Admin."
- + "V2\312\002\036Google\\Cloud\\Bigtable\\Admin\\V2\352\002\"Google::Cloud::Bigtable::Admin::V2\352Ax\n"
- + "!cloudkms.googleapis.com/CryptoKey\022Sprojects"
- + "/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}b\006proto3"
+ + "InstanceProtoP\001Z8cloud.google.com/go/bigtable"
+ + "/admin/apiv2/adminpb;adminpb\252\002\036Google.Cl"
+ + "oud.Bigtable.Admin.V2\312\002\036Google\\Cloud\\Big"
+ + "table\\Admin\\V2\352\002\"Google::Cloud::Bigtable::Admin::V2\352Ax\n"
+ + "!cloudkms.googleapis.com/CryptoKey\022Sprojects/{project}/locations/"
+ + "{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}b\006proto3"
};
descriptor =
com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom(
@@ -301,6 +308,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
"DisplayName",
"State",
"Type",
+ "Edition",
"Labels",
"CreateTime",
"SatisfiesPzs",
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 5baa006a9c..d0a1c028e1 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
@@ -1,4 +1,4 @@
-// Copyright 2025 Google LLC
+// Copyright 2026 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -75,6 +75,29 @@ message Instance {
DEVELOPMENT = 2;
}
+ // Possible editions of an instance.
+ //
+ // An edition is a specific tier of Cloud Bigtable. Each edition is tailored
+ // to different customer needs. Higher tiers offer more features and better
+ // performance.
+ enum Edition {
+ // The edition is unspecified. This is treated as `ENTERPRISE`.
+ EDITION_UNSPECIFIED = 0;
+
+ // The Enterprise edition. This is the default offering that is designed to
+ // meet the needs of most enterprise workloads.
+ ENTERPRISE = 1;
+
+ // The Enterprise Plus edition. This is a premium tier that is designed for
+ // demanding, multi-tenant workloads requiring the highest levels of
+ // performance, scale, and global availability.
+ //
+ // The nodes in the Enterprise Plus tier come at a higher cost than the
+ // Enterprise tier. Any Enterprise Plus features must be disabled before
+ // downgrading to Enterprise.
+ ENTERPRISE_PLUS = 2;
+ }
+
// The unique name of the instance. Values are of the form
// `projects/{project}/instances/[a-z][a-z0-9\\-]+[a-z0-9]`.
string name = 1;
@@ -90,6 +113,10 @@ message Instance {
// The type of the instance. Defaults to `PRODUCTION`.
Type type = 4;
+ // Optional. The edition of the instance. See
+ // [Edition][google.bigtable.admin.v2.Instance.Edition] for details.
+ Edition edition = 14 [(google.api.field_behavior) = OPTIONAL];
+
// Labels are a flexible and lightweight mechanism for organizing cloud
// resources into groups that reflect a customer's organizational needs and
// deployment strategies. They can be used to filter resources and aggregate