From 7d9877ea4b769c0e91d121e8022843c4619338f2 Mon Sep 17 00:00:00 2001 From: cloud-java-bot Date: Sat, 31 Jan 2026 02:58:39 +0000 Subject: [PATCH 1/6] chore: Update generation configuration at Sat Jan 31 02:58:32 UTC 2026 --- generation_config.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/generation_config.yaml b/generation_config.yaml index 85cd8004ea..1f727ab6fb 100644 --- a/generation_config.yaml +++ b/generation_config.yaml @@ -1,6 +1,6 @@ gapic_generator_version: 2.66.0 -googleapis_commitish: fa4dc54cf123a351f3215b384a7dc7c9f36005b7 -libraries_bom_version: 26.74.0 +googleapis_commitish: f0e6fd9528d522d7165ecabafc1f202f2fafdead +libraries_bom_version: 26.75.0 template_excludes: - .gitignore - .kokoro/presubmit/integration.cfg From efc797c458786f40cf70b20ca4a9f5ea136c4b96 Mon Sep 17 00:00:00 2001 From: cloud-java-bot Date: Sat, 31 Jan 2026 03:01:32 +0000 Subject: [PATCH 2/6] chore: generate libraries at Sat Jan 31 02:59:04 UTC 2026 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 84a7556298..946711b5b5 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.74.0') +implementation platform('com.google.cloud:libraries-bom:26.75.0') implementation 'com.google.cloud:google-cloud-bigtable' ``` From 656339e2fe381da03cc482c8b5425cf6e67cefb0 Mon Sep 17 00:00:00 2001 From: cloud-java-bot Date: Sun, 1 Feb 2026 03:09:13 +0000 Subject: [PATCH 3/6] chore: Update generation configuration at Sun Feb 1 03:09:05 UTC 2026 --- generation_config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/generation_config.yaml b/generation_config.yaml index 1f727ab6fb..ca70a8f3a1 100644 --- a/generation_config.yaml +++ b/generation_config.yaml @@ -1,5 +1,5 @@ gapic_generator_version: 2.66.0 -googleapis_commitish: f0e6fd9528d522d7165ecabafc1f202f2fafdead +googleapis_commitish: c0fcb35628690e9eb15dcefae41c651c67cd050b libraries_bom_version: 26.75.0 template_excludes: - .gitignore From f49d0fd897b0acb590a99815ea6e13a389c427f2 Mon Sep 17 00:00:00 2001 From: cloud-java-bot Date: Sun, 1 Feb 2026 03:12:04 +0000 Subject: [PATCH 4/6] chore: generate libraries at Sun Feb 1 03:09:38 UTC 2026 --- .../reflect-config.json | 36 + .../v2/BaseBigtableTableAdminClientTest.java | 15 + .../com/google/bigtable/admin/v2/Table.java | 383 ++++++++- .../bigtable/admin/v2/TableOrBuilder.java | 55 ++ .../google/bigtable/admin/v2/TableProto.java | 103 ++- .../admin/v2/TieredStorageConfig.java | 721 ++++++++++++++++ .../v2/TieredStorageConfigOrBuilder.java | 68 ++ .../bigtable/admin/v2/TieredStorageRule.java | 801 ++++++++++++++++++ .../admin/v2/TieredStorageRuleOrBuilder.java | 70 ++ .../google/bigtable/admin/v2/table.proto | 32 +- 10 files changed, 2238 insertions(+), 46 deletions(-) create mode 100644 proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/TieredStorageConfig.java create mode 100644 proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/TieredStorageConfigOrBuilder.java create mode 100644 proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/TieredStorageRule.java create mode 100644 proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/TieredStorageRuleOrBuilder.java 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 a7f4f88e42..edfd3eed0c 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 @@ -2654,6 +2654,42 @@ "allDeclaredClasses": true, "allPublicClasses": true }, + { + "name": "com.google.bigtable.admin.v2.TieredStorageConfig", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.bigtable.admin.v2.TieredStorageConfig$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.bigtable.admin.v2.TieredStorageRule", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.bigtable.admin.v2.TieredStorageRule$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, { "name": "com.google.bigtable.admin.v2.Type", "queryAllDeclaredConstructors": true, diff --git a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/BaseBigtableTableAdminClientTest.java b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/BaseBigtableTableAdminClientTest.java index 3477fc053d..9f5a50c41e 100644 --- a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/BaseBigtableTableAdminClientTest.java +++ b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/BaseBigtableTableAdminClientTest.java @@ -81,6 +81,7 @@ import com.google.bigtable.admin.v2.SnapshotTableRequest; import com.google.bigtable.admin.v2.Table; import com.google.bigtable.admin.v2.TableName; +import com.google.bigtable.admin.v2.TieredStorageConfig; import com.google.bigtable.admin.v2.Type; import com.google.bigtable.admin.v2.UndeleteTableRequest; import com.google.bigtable.admin.v2.UpdateAuthorizedViewRequest; @@ -166,6 +167,7 @@ public void createTableTest() throws Exception { .setRestoreInfo(RestoreInfo.newBuilder().build()) .setChangeStreamConfig(ChangeStreamConfig.newBuilder().build()) .setDeletionProtection(true) + .setTieredStorageConfig(TieredStorageConfig.newBuilder().build()) .setRowKeySchema(Type.Struct.newBuilder().build()) .build(); mockBigtableTableAdmin.addResponse(expectedResponse); @@ -216,6 +218,7 @@ public void createTableTest2() throws Exception { .setRestoreInfo(RestoreInfo.newBuilder().build()) .setChangeStreamConfig(ChangeStreamConfig.newBuilder().build()) .setDeletionProtection(true) + .setTieredStorageConfig(TieredStorageConfig.newBuilder().build()) .setRowKeySchema(Type.Struct.newBuilder().build()) .build(); mockBigtableTableAdmin.addResponse(expectedResponse); @@ -266,6 +269,7 @@ public void createTableFromSnapshotTest() throws Exception { .setRestoreInfo(RestoreInfo.newBuilder().build()) .setChangeStreamConfig(ChangeStreamConfig.newBuilder().build()) .setDeletionProtection(true) + .setTieredStorageConfig(TieredStorageConfig.newBuilder().build()) .setRowKeySchema(Type.Struct.newBuilder().build()) .build(); Operation resultOperation = @@ -328,6 +332,7 @@ public void createTableFromSnapshotTest2() throws Exception { .setRestoreInfo(RestoreInfo.newBuilder().build()) .setChangeStreamConfig(ChangeStreamConfig.newBuilder().build()) .setDeletionProtection(true) + .setTieredStorageConfig(TieredStorageConfig.newBuilder().build()) .setRowKeySchema(Type.Struct.newBuilder().build()) .build(); Operation resultOperation = @@ -388,6 +393,7 @@ public void createTableFromSnapshotTest3() throws Exception { .setRestoreInfo(RestoreInfo.newBuilder().build()) .setChangeStreamConfig(ChangeStreamConfig.newBuilder().build()) .setDeletionProtection(true) + .setTieredStorageConfig(TieredStorageConfig.newBuilder().build()) .setRowKeySchema(Type.Struct.newBuilder().build()) .build(); Operation resultOperation = @@ -450,6 +456,7 @@ public void createTableFromSnapshotTest4() throws Exception { .setRestoreInfo(RestoreInfo.newBuilder().build()) .setChangeStreamConfig(ChangeStreamConfig.newBuilder().build()) .setDeletionProtection(true) + .setTieredStorageConfig(TieredStorageConfig.newBuilder().build()) .setRowKeySchema(Type.Struct.newBuilder().build()) .build(); Operation resultOperation = @@ -598,6 +605,7 @@ public void getTableTest() throws Exception { .setRestoreInfo(RestoreInfo.newBuilder().build()) .setChangeStreamConfig(ChangeStreamConfig.newBuilder().build()) .setDeletionProtection(true) + .setTieredStorageConfig(TieredStorageConfig.newBuilder().build()) .setRowKeySchema(Type.Struct.newBuilder().build()) .build(); mockBigtableTableAdmin.addResponse(expectedResponse); @@ -642,6 +650,7 @@ public void getTableTest2() throws Exception { .setRestoreInfo(RestoreInfo.newBuilder().build()) .setChangeStreamConfig(ChangeStreamConfig.newBuilder().build()) .setDeletionProtection(true) + .setTieredStorageConfig(TieredStorageConfig.newBuilder().build()) .setRowKeySchema(Type.Struct.newBuilder().build()) .build(); mockBigtableTableAdmin.addResponse(expectedResponse); @@ -686,6 +695,7 @@ public void updateTableTest() throws Exception { .setRestoreInfo(RestoreInfo.newBuilder().build()) .setChangeStreamConfig(ChangeStreamConfig.newBuilder().build()) .setDeletionProtection(true) + .setTieredStorageConfig(TieredStorageConfig.newBuilder().build()) .setRowKeySchema(Type.Struct.newBuilder().build()) .build(); Operation resultOperation = @@ -809,6 +819,7 @@ public void undeleteTableTest() throws Exception { .setRestoreInfo(RestoreInfo.newBuilder().build()) .setChangeStreamConfig(ChangeStreamConfig.newBuilder().build()) .setDeletionProtection(true) + .setTieredStorageConfig(TieredStorageConfig.newBuilder().build()) .setRowKeySchema(Type.Struct.newBuilder().build()) .build(); Operation resultOperation = @@ -861,6 +872,7 @@ public void undeleteTableTest2() throws Exception { .setRestoreInfo(RestoreInfo.newBuilder().build()) .setChangeStreamConfig(ChangeStreamConfig.newBuilder().build()) .setDeletionProtection(true) + .setTieredStorageConfig(TieredStorageConfig.newBuilder().build()) .setRowKeySchema(Type.Struct.newBuilder().build()) .build(); Operation resultOperation = @@ -1330,6 +1342,7 @@ public void modifyColumnFamiliesTest() throws Exception { .setRestoreInfo(RestoreInfo.newBuilder().build()) .setChangeStreamConfig(ChangeStreamConfig.newBuilder().build()) .setDeletionProtection(true) + .setTieredStorageConfig(TieredStorageConfig.newBuilder().build()) .setRowKeySchema(Type.Struct.newBuilder().build()) .build(); mockBigtableTableAdmin.addResponse(expectedResponse); @@ -1378,6 +1391,7 @@ public void modifyColumnFamiliesTest2() throws Exception { .setRestoreInfo(RestoreInfo.newBuilder().build()) .setChangeStreamConfig(ChangeStreamConfig.newBuilder().build()) .setDeletionProtection(true) + .setTieredStorageConfig(TieredStorageConfig.newBuilder().build()) .setRowKeySchema(Type.Struct.newBuilder().build()) .build(); mockBigtableTableAdmin.addResponse(expectedResponse); @@ -2534,6 +2548,7 @@ public void restoreTableTest() throws Exception { .setRestoreInfo(RestoreInfo.newBuilder().build()) .setChangeStreamConfig(ChangeStreamConfig.newBuilder().build()) .setDeletionProtection(true) + .setTieredStorageConfig(TieredStorageConfig.newBuilder().build()) .setRowKeySchema(Type.Struct.newBuilder().build()) .build(); Operation resultOperation = diff --git a/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/Table.java b/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/Table.java index e305d9af2b..caed2b904e 100644 --- a/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/Table.java +++ b/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/Table.java @@ -3829,6 +3829,78 @@ public com.google.bigtable.admin.v2.Table.AutomatedBackupPolicy getAutomatedBack return com.google.bigtable.admin.v2.Table.AutomatedBackupPolicy.getDefaultInstance(); } + public static final int TIERED_STORAGE_CONFIG_FIELD_NUMBER = 14; + private com.google.bigtable.admin.v2.TieredStorageConfig tieredStorageConfig_; + + /** + * + * + *
+   * Rules to specify what data is stored in each storage tier.
+   * Different tiers store data differently, providing different trade-offs
+   * between cost and performance. Different parts of a table can be stored
+   * separately on different tiers.
+   * If a config is specified, tiered storage is enabled for this table.
+   * Otherwise, tiered storage is disabled.
+   * Only SSD instances can configure tiered storage.
+   * 
+ * + * .google.bigtable.admin.v2.TieredStorageConfig tiered_storage_config = 14; + * + * @return Whether the tieredStorageConfig field is set. + */ + @java.lang.Override + public boolean hasTieredStorageConfig() { + return ((bitField0_ & 0x00000004) != 0); + } + + /** + * + * + *
+   * Rules to specify what data is stored in each storage tier.
+   * Different tiers store data differently, providing different trade-offs
+   * between cost and performance. Different parts of a table can be stored
+   * separately on different tiers.
+   * If a config is specified, tiered storage is enabled for this table.
+   * Otherwise, tiered storage is disabled.
+   * Only SSD instances can configure tiered storage.
+   * 
+ * + * .google.bigtable.admin.v2.TieredStorageConfig tiered_storage_config = 14; + * + * @return The tieredStorageConfig. + */ + @java.lang.Override + public com.google.bigtable.admin.v2.TieredStorageConfig getTieredStorageConfig() { + return tieredStorageConfig_ == null + ? com.google.bigtable.admin.v2.TieredStorageConfig.getDefaultInstance() + : tieredStorageConfig_; + } + + /** + * + * + *
+   * Rules to specify what data is stored in each storage tier.
+   * Different tiers store data differently, providing different trade-offs
+   * between cost and performance. Different parts of a table can be stored
+   * separately on different tiers.
+   * If a config is specified, tiered storage is enabled for this table.
+   * Otherwise, tiered storage is disabled.
+   * Only SSD instances can configure tiered storage.
+   * 
+ * + * .google.bigtable.admin.v2.TieredStorageConfig tiered_storage_config = 14; + */ + @java.lang.Override + public com.google.bigtable.admin.v2.TieredStorageConfigOrBuilder + getTieredStorageConfigOrBuilder() { + return tieredStorageConfig_ == null + ? com.google.bigtable.admin.v2.TieredStorageConfig.getDefaultInstance() + : tieredStorageConfig_; + } + public static final int ROW_KEY_SCHEMA_FIELD_NUMBER = 15; private com.google.bigtable.admin.v2.Type.Struct rowKeySchema_; @@ -3900,7 +3972,7 @@ public com.google.bigtable.admin.v2.Table.AutomatedBackupPolicy getAutomatedBack */ @java.lang.Override public boolean hasRowKeySchema() { - return ((bitField0_ & 0x00000004) != 0); + return ((bitField0_ & 0x00000008) != 0); } /** @@ -4087,6 +4159,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io 13, (com.google.bigtable.admin.v2.Table.AutomatedBackupPolicy) automatedBackupConfig_); } if (((bitField0_ & 0x00000004) != 0)) { + output.writeMessage(14, getTieredStorageConfig()); + } + if (((bitField0_ & 0x00000008) != 0)) { output.writeMessage(15, getRowKeySchema()); } getUnknownFields().writeTo(output); @@ -4145,6 +4220,10 @@ public int getSerializedSize() { (com.google.bigtable.admin.v2.Table.AutomatedBackupPolicy) automatedBackupConfig_); } if (((bitField0_ & 0x00000004) != 0)) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize(14, getTieredStorageConfig()); + } + if (((bitField0_ & 0x00000008) != 0)) { size += com.google.protobuf.CodedOutputStream.computeMessageSize(15, getRowKeySchema()); } size += getUnknownFields().getSerializedSize(); @@ -4175,6 +4254,10 @@ public boolean equals(final java.lang.Object obj) { if (!getChangeStreamConfig().equals(other.getChangeStreamConfig())) return false; } if (getDeletionProtection() != other.getDeletionProtection()) return false; + if (hasTieredStorageConfig() != other.hasTieredStorageConfig()) return false; + if (hasTieredStorageConfig()) { + if (!getTieredStorageConfig().equals(other.getTieredStorageConfig())) return false; + } if (hasRowKeySchema() != other.hasRowKeySchema()) return false; if (hasRowKeySchema()) { if (!getRowKeySchema().equals(other.getRowKeySchema())) return false; @@ -4220,6 +4303,10 @@ public int hashCode() { } hash = (37 * hash) + DELETION_PROTECTION_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getDeletionProtection()); + if (hasTieredStorageConfig()) { + hash = (37 * hash) + TIERED_STORAGE_CONFIG_FIELD_NUMBER; + hash = (53 * hash) + getTieredStorageConfig().hashCode(); + } if (hasRowKeySchema()) { hash = (37 * hash) + ROW_KEY_SCHEMA_FIELD_NUMBER; hash = (53 * hash) + getRowKeySchema().hashCode(); @@ -4401,6 +4488,7 @@ private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { internalGetRestoreInfoFieldBuilder(); internalGetChangeStreamConfigFieldBuilder(); + internalGetTieredStorageConfigFieldBuilder(); internalGetRowKeySchemaFieldBuilder(); } } @@ -4427,6 +4515,11 @@ public Builder clear() { if (automatedBackupPolicyBuilder_ != null) { automatedBackupPolicyBuilder_.clear(); } + tieredStorageConfig_ = null; + if (tieredStorageConfigBuilder_ != null) { + tieredStorageConfigBuilder_.dispose(); + tieredStorageConfigBuilder_ = null; + } rowKeySchema_ = null; if (rowKeySchemaBuilder_ != null) { rowKeySchemaBuilder_.dispose(); @@ -4501,9 +4594,16 @@ private void buildPartial0(com.google.bigtable.admin.v2.Table result) { result.deletionProtection_ = deletionProtection_; } if (((from_bitField0_ & 0x00000100) != 0)) { + result.tieredStorageConfig_ = + tieredStorageConfigBuilder_ == null + ? tieredStorageConfig_ + : tieredStorageConfigBuilder_.build(); + to_bitField0_ |= 0x00000004; + } + if (((from_bitField0_ & 0x00000200) != 0)) { result.rowKeySchema_ = rowKeySchemaBuilder_ == null ? rowKeySchema_ : rowKeySchemaBuilder_.build(); - to_bitField0_ |= 0x00000004; + to_bitField0_ |= 0x00000008; } result.bitField0_ |= to_bitField0_; } @@ -4549,6 +4649,9 @@ public Builder mergeFrom(com.google.bigtable.admin.v2.Table other) { if (other.getDeletionProtection() != false) { setDeletionProtection(other.getDeletionProtection()); } + if (other.hasTieredStorageConfig()) { + mergeTieredStorageConfig(other.getTieredStorageConfig()); + } if (other.hasRowKeySchema()) { mergeRowKeySchema(other.getRowKeySchema()); } @@ -4656,11 +4759,18 @@ public Builder mergeFrom( automatedBackupConfigCase_ = 13; break; } // case 106 + case 114: + { + input.readMessage( + internalGetTieredStorageConfigFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000100; + break; + } // case 114 case 122: { input.readMessage( internalGetRowKeySchemaFieldBuilder().getBuilder(), extensionRegistry); - bitField0_ |= 0x00000100; + bitField0_ |= 0x00000200; break; } // case 122 default: @@ -6248,6 +6358,259 @@ public Builder clearAutomatedBackupPolicy() { return automatedBackupPolicyBuilder_; } + private com.google.bigtable.admin.v2.TieredStorageConfig tieredStorageConfig_; + private com.google.protobuf.SingleFieldBuilder< + com.google.bigtable.admin.v2.TieredStorageConfig, + com.google.bigtable.admin.v2.TieredStorageConfig.Builder, + com.google.bigtable.admin.v2.TieredStorageConfigOrBuilder> + tieredStorageConfigBuilder_; + + /** + * + * + *
+     * Rules to specify what data is stored in each storage tier.
+     * Different tiers store data differently, providing different trade-offs
+     * between cost and performance. Different parts of a table can be stored
+     * separately on different tiers.
+     * If a config is specified, tiered storage is enabled for this table.
+     * Otherwise, tiered storage is disabled.
+     * Only SSD instances can configure tiered storage.
+     * 
+ * + * .google.bigtable.admin.v2.TieredStorageConfig tiered_storage_config = 14; + * + * @return Whether the tieredStorageConfig field is set. + */ + public boolean hasTieredStorageConfig() { + return ((bitField0_ & 0x00000100) != 0); + } + + /** + * + * + *
+     * Rules to specify what data is stored in each storage tier.
+     * Different tiers store data differently, providing different trade-offs
+     * between cost and performance. Different parts of a table can be stored
+     * separately on different tiers.
+     * If a config is specified, tiered storage is enabled for this table.
+     * Otherwise, tiered storage is disabled.
+     * Only SSD instances can configure tiered storage.
+     * 
+ * + * .google.bigtable.admin.v2.TieredStorageConfig tiered_storage_config = 14; + * + * @return The tieredStorageConfig. + */ + public com.google.bigtable.admin.v2.TieredStorageConfig getTieredStorageConfig() { + if (tieredStorageConfigBuilder_ == null) { + return tieredStorageConfig_ == null + ? com.google.bigtable.admin.v2.TieredStorageConfig.getDefaultInstance() + : tieredStorageConfig_; + } else { + return tieredStorageConfigBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Rules to specify what data is stored in each storage tier.
+     * Different tiers store data differently, providing different trade-offs
+     * between cost and performance. Different parts of a table can be stored
+     * separately on different tiers.
+     * If a config is specified, tiered storage is enabled for this table.
+     * Otherwise, tiered storage is disabled.
+     * Only SSD instances can configure tiered storage.
+     * 
+ * + * .google.bigtable.admin.v2.TieredStorageConfig tiered_storage_config = 14; + */ + public Builder setTieredStorageConfig(com.google.bigtable.admin.v2.TieredStorageConfig value) { + if (tieredStorageConfigBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + tieredStorageConfig_ = value; + } else { + tieredStorageConfigBuilder_.setMessage(value); + } + bitField0_ |= 0x00000100; + onChanged(); + return this; + } + + /** + * + * + *
+     * Rules to specify what data is stored in each storage tier.
+     * Different tiers store data differently, providing different trade-offs
+     * between cost and performance. Different parts of a table can be stored
+     * separately on different tiers.
+     * If a config is specified, tiered storage is enabled for this table.
+     * Otherwise, tiered storage is disabled.
+     * Only SSD instances can configure tiered storage.
+     * 
+ * + * .google.bigtable.admin.v2.TieredStorageConfig tiered_storage_config = 14; + */ + public Builder setTieredStorageConfig( + com.google.bigtable.admin.v2.TieredStorageConfig.Builder builderForValue) { + if (tieredStorageConfigBuilder_ == null) { + tieredStorageConfig_ = builderForValue.build(); + } else { + tieredStorageConfigBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000100; + onChanged(); + return this; + } + + /** + * + * + *
+     * Rules to specify what data is stored in each storage tier.
+     * Different tiers store data differently, providing different trade-offs
+     * between cost and performance. Different parts of a table can be stored
+     * separately on different tiers.
+     * If a config is specified, tiered storage is enabled for this table.
+     * Otherwise, tiered storage is disabled.
+     * Only SSD instances can configure tiered storage.
+     * 
+ * + * .google.bigtable.admin.v2.TieredStorageConfig tiered_storage_config = 14; + */ + public Builder mergeTieredStorageConfig( + com.google.bigtable.admin.v2.TieredStorageConfig value) { + if (tieredStorageConfigBuilder_ == null) { + if (((bitField0_ & 0x00000100) != 0) + && tieredStorageConfig_ != null + && tieredStorageConfig_ + != com.google.bigtable.admin.v2.TieredStorageConfig.getDefaultInstance()) { + getTieredStorageConfigBuilder().mergeFrom(value); + } else { + tieredStorageConfig_ = value; + } + } else { + tieredStorageConfigBuilder_.mergeFrom(value); + } + if (tieredStorageConfig_ != null) { + bitField0_ |= 0x00000100; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Rules to specify what data is stored in each storage tier.
+     * Different tiers store data differently, providing different trade-offs
+     * between cost and performance. Different parts of a table can be stored
+     * separately on different tiers.
+     * If a config is specified, tiered storage is enabled for this table.
+     * Otherwise, tiered storage is disabled.
+     * Only SSD instances can configure tiered storage.
+     * 
+ * + * .google.bigtable.admin.v2.TieredStorageConfig tiered_storage_config = 14; + */ + public Builder clearTieredStorageConfig() { + bitField0_ = (bitField0_ & ~0x00000100); + tieredStorageConfig_ = null; + if (tieredStorageConfigBuilder_ != null) { + tieredStorageConfigBuilder_.dispose(); + tieredStorageConfigBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Rules to specify what data is stored in each storage tier.
+     * Different tiers store data differently, providing different trade-offs
+     * between cost and performance. Different parts of a table can be stored
+     * separately on different tiers.
+     * If a config is specified, tiered storage is enabled for this table.
+     * Otherwise, tiered storage is disabled.
+     * Only SSD instances can configure tiered storage.
+     * 
+ * + * .google.bigtable.admin.v2.TieredStorageConfig tiered_storage_config = 14; + */ + public com.google.bigtable.admin.v2.TieredStorageConfig.Builder + getTieredStorageConfigBuilder() { + bitField0_ |= 0x00000100; + onChanged(); + return internalGetTieredStorageConfigFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Rules to specify what data is stored in each storage tier.
+     * Different tiers store data differently, providing different trade-offs
+     * between cost and performance. Different parts of a table can be stored
+     * separately on different tiers.
+     * If a config is specified, tiered storage is enabled for this table.
+     * Otherwise, tiered storage is disabled.
+     * Only SSD instances can configure tiered storage.
+     * 
+ * + * .google.bigtable.admin.v2.TieredStorageConfig tiered_storage_config = 14; + */ + public com.google.bigtable.admin.v2.TieredStorageConfigOrBuilder + getTieredStorageConfigOrBuilder() { + if (tieredStorageConfigBuilder_ != null) { + return tieredStorageConfigBuilder_.getMessageOrBuilder(); + } else { + return tieredStorageConfig_ == null + ? com.google.bigtable.admin.v2.TieredStorageConfig.getDefaultInstance() + : tieredStorageConfig_; + } + } + + /** + * + * + *
+     * Rules to specify what data is stored in each storage tier.
+     * Different tiers store data differently, providing different trade-offs
+     * between cost and performance. Different parts of a table can be stored
+     * separately on different tiers.
+     * If a config is specified, tiered storage is enabled for this table.
+     * Otherwise, tiered storage is disabled.
+     * Only SSD instances can configure tiered storage.
+     * 
+ * + * .google.bigtable.admin.v2.TieredStorageConfig tiered_storage_config = 14; + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.bigtable.admin.v2.TieredStorageConfig, + com.google.bigtable.admin.v2.TieredStorageConfig.Builder, + com.google.bigtable.admin.v2.TieredStorageConfigOrBuilder> + internalGetTieredStorageConfigFieldBuilder() { + if (tieredStorageConfigBuilder_ == null) { + tieredStorageConfigBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.bigtable.admin.v2.TieredStorageConfig, + com.google.bigtable.admin.v2.TieredStorageConfig.Builder, + com.google.bigtable.admin.v2.TieredStorageConfigOrBuilder>( + getTieredStorageConfig(), getParentForChildren(), isClean()); + tieredStorageConfig_ = null; + } + return tieredStorageConfigBuilder_; + } + private com.google.bigtable.admin.v2.Type.Struct rowKeySchema_; private com.google.protobuf.SingleFieldBuilder< com.google.bigtable.admin.v2.Type.Struct, @@ -6322,7 +6685,7 @@ public Builder clearAutomatedBackupPolicy() { * @return Whether the rowKeySchema field is set. */ public boolean hasRowKeySchema() { - return ((bitField0_ & 0x00000100) != 0); + return ((bitField0_ & 0x00000200) != 0); } /** @@ -6474,7 +6837,7 @@ public Builder setRowKeySchema(com.google.bigtable.admin.v2.Type.Struct value) { } else { rowKeySchemaBuilder_.setMessage(value); } - bitField0_ |= 0x00000100; + bitField0_ |= 0x00000200; onChanged(); return this; } @@ -6550,7 +6913,7 @@ public Builder setRowKeySchema( } else { rowKeySchemaBuilder_.setMessage(builderForValue.build()); } - bitField0_ |= 0x00000100; + bitField0_ |= 0x00000200; onChanged(); return this; } @@ -6621,7 +6984,7 @@ public Builder setRowKeySchema( */ public Builder mergeRowKeySchema(com.google.bigtable.admin.v2.Type.Struct value) { if (rowKeySchemaBuilder_ == null) { - if (((bitField0_ & 0x00000100) != 0) + if (((bitField0_ & 0x00000200) != 0) && rowKeySchema_ != null && rowKeySchema_ != com.google.bigtable.admin.v2.Type.Struct.getDefaultInstance()) { getRowKeySchemaBuilder().mergeFrom(value); @@ -6632,7 +6995,7 @@ public Builder mergeRowKeySchema(com.google.bigtable.admin.v2.Type.Struct value) rowKeySchemaBuilder_.mergeFrom(value); } if (rowKeySchema_ != null) { - bitField0_ |= 0x00000100; + bitField0_ |= 0x00000200; onChanged(); } return this; @@ -6703,7 +7066,7 @@ public Builder mergeRowKeySchema(com.google.bigtable.admin.v2.Type.Struct value) * .google.bigtable.admin.v2.Type.Struct row_key_schema = 15; */ public Builder clearRowKeySchema() { - bitField0_ = (bitField0_ & ~0x00000100); + bitField0_ = (bitField0_ & ~0x00000200); rowKeySchema_ = null; if (rowKeySchemaBuilder_ != null) { rowKeySchemaBuilder_.dispose(); @@ -6778,7 +7141,7 @@ public Builder clearRowKeySchema() { * .google.bigtable.admin.v2.Type.Struct row_key_schema = 15; */ public com.google.bigtable.admin.v2.Type.Struct.Builder getRowKeySchemaBuilder() { - bitField0_ |= 0x00000100; + bitField0_ |= 0x00000200; onChanged(); return internalGetRowKeySchemaFieldBuilder().getBuilder(); } diff --git a/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/TableOrBuilder.java b/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/TableOrBuilder.java index 722205040e..f82f216bfa 100644 --- a/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/TableOrBuilder.java +++ b/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/TableOrBuilder.java @@ -408,6 +408,61 @@ com.google.bigtable.admin.v2.ColumnFamily getColumnFamiliesOrDefault( com.google.bigtable.admin.v2.Table.AutomatedBackupPolicyOrBuilder getAutomatedBackupPolicyOrBuilder(); + /** + * + * + *
+   * Rules to specify what data is stored in each storage tier.
+   * Different tiers store data differently, providing different trade-offs
+   * between cost and performance. Different parts of a table can be stored
+   * separately on different tiers.
+   * If a config is specified, tiered storage is enabled for this table.
+   * Otherwise, tiered storage is disabled.
+   * Only SSD instances can configure tiered storage.
+   * 
+ * + * .google.bigtable.admin.v2.TieredStorageConfig tiered_storage_config = 14; + * + * @return Whether the tieredStorageConfig field is set. + */ + boolean hasTieredStorageConfig(); + + /** + * + * + *
+   * Rules to specify what data is stored in each storage tier.
+   * Different tiers store data differently, providing different trade-offs
+   * between cost and performance. Different parts of a table can be stored
+   * separately on different tiers.
+   * If a config is specified, tiered storage is enabled for this table.
+   * Otherwise, tiered storage is disabled.
+   * Only SSD instances can configure tiered storage.
+   * 
+ * + * .google.bigtable.admin.v2.TieredStorageConfig tiered_storage_config = 14; + * + * @return The tieredStorageConfig. + */ + com.google.bigtable.admin.v2.TieredStorageConfig getTieredStorageConfig(); + + /** + * + * + *
+   * Rules to specify what data is stored in each storage tier.
+   * Different tiers store data differently, providing different trade-offs
+   * between cost and performance. Different parts of a table can be stored
+   * separately on different tiers.
+   * If a config is specified, tiered storage is enabled for this table.
+   * Otherwise, tiered storage is disabled.
+   * Only SSD instances can configure tiered storage.
+   * 
+ * + * .google.bigtable.admin.v2.TieredStorageConfig tiered_storage_config = 14; + */ + com.google.bigtable.admin.v2.TieredStorageConfigOrBuilder getTieredStorageConfigOrBuilder(); + /** * * diff --git a/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/TableProto.java b/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/TableProto.java index 30caaee768..c013ea2ed5 100644 --- a/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/TableProto.java +++ b/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/TableProto.java @@ -116,6 +116,14 @@ public static void registerAllExtensions(com.google.protobuf.ExtensionRegistry r internal_static_google_bigtable_admin_v2_BackupInfo_descriptor; static final com.google.protobuf.GeneratedMessage.FieldAccessorTable internal_static_google_bigtable_admin_v2_BackupInfo_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_bigtable_admin_v2_TieredStorageConfig_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_bigtable_admin_v2_TieredStorageConfig_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_bigtable_admin_v2_TieredStorageRule_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_bigtable_admin_v2_TieredStorageRule_fieldAccessorTable; static final com.google.protobuf.Descriptors.Descriptor internal_static_google_bigtable_admin_v2_ProtoSchema_descriptor; static final com.google.protobuf.GeneratedMessage.FieldAccessorTable @@ -145,7 +153,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\013backup_info\030\002 \001(\0132$.google.bigtable.admin.v2.BackupInfoH\000B\r\n" + "\013source_info\"I\n" + "\022ChangeStreamConfig\0223\n" - + "\020retention_period\030\001 \001(\0132\031.google.protobuf.Duration\"\225\014\n" + + "\020retention_period\030\001 \001(\0132\031.google.protobuf.Duration\"\343\014\n" + "\005Table\022\014\n" + "\004name\030\001 \001(\t\022O\n" + "\016cluster_states\030\002" @@ -160,12 +168,14 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + " \001(\0132,.google.bigtable.admin.v2.ChangeStreamConfig\022\033\n" + "\023deletion_protection\030\t \001(\010\022X\n" + "\027automated_backup_policy\030\r" - + " \001(\01325.google.bigtable.admin.v2.Table.AutomatedBackupPolicyH\000\022=\n" + + " \001(\01325.google.bigtable.admin.v2.Table.AutomatedBackupPolicyH\000\022L\n" + + "\025tiered_storage_config\030\016 \001(\013" + + "2-.google.bigtable.admin.v2.TieredStorageConfig\022=\n" + "\016row_key_schema\030\017" + " \001(\0132%.google.bigtable.admin.v2.Type.Struct\032\306\002\n" + "\014ClusterState\022]\n" - + "\021replication_state\030\001 \001(\0162=.g" - + "oogle.bigtable.admin.v2.Table.ClusterState.ReplicationStateB\003\340A\003\022F\n" + + "\021replication_state\030\001 \001(\0162=.goo" + + "gle.bigtable.admin.v2.Table.ClusterState.ReplicationStateB\003\340A\003\022F\n" + "\017encryption_info\030\002" + " \003(\0132(.google.bigtable.admin.v2.EncryptionInfoB\003\340A\003\"\216\001\n" + "\020ReplicationState\022\023\n" @@ -196,13 +206,13 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\020REPLICATION_VIEW\020\003\022\023\n" + "\017ENCRYPTION_VIEW\020\005\022\010\n" + "\004FULL\020\004:_\352A\\\n" - + "\"bigtableadmin.googleapis.com/Tab" - + "le\0226projects/{project}/instances/{instance}/tables/{table}B\031\n" + + "\"bigtableadmin.googleapis.com/Table" + + "\0226projects/{project}/instances/{instance}/tables/{table}B\031\n" + "\027automated_backup_config\"\343\005\n" + "\016AuthorizedView\022\021\n" + "\004name\030\001 \001(\tB\003\340A\010\022J\n" - + "\013subset_view\030\002 \001(\01323.google.bigtab" - + "le.admin.v2.AuthorizedView.SubsetViewH\000\022\014\n" + + "\013subset_view\030\002" + + " \001(\01323.google.bigtable.admin.v2.AuthorizedView.SubsetViewH\000\022\014\n" + "\004etag\030\003 \001(\t\022\033\n" + "\023deletion_protection\030\004 \001(\010\032?\n\r" + "FamilySubsets\022\022\n\n" @@ -210,8 +220,8 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\022qualifier_prefixes\030\002 \003(\014\032\360\001\n\n" + "SubsetView\022\024\n" + "\014row_prefixes\030\001 \003(\014\022^\n" - + "\016family_subsets\030\002 \003(\0132F.google.bigtable.admin.v2.Auth" - + "orizedView.SubsetView.FamilySubsetsEntry\032l\n" + + "\016family_subsets\030\002 \003(\0132F.google.bigtable.admin.v2.Author" + + "izedView.SubsetView.FamilySubsetsEntry\032l\n" + "\022FamilySubsetsEntry\022\013\n" + "\003key\030\001 \001(\t\022E\n" + "\005value\030\002" @@ -221,9 +231,9 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\tNAME_ONLY\020\001\022\t\n" + "\005BASIC\020\002\022\010\n" + "\004FULL\020\003:\254\001\352A\250\001\n" - + "+bigtableadmin.googleapis.com/AuthorizedView\022Xprojects/{project}/instances/{ins" - + "tance}/tables/{table}/authorizedViews/{a" - + "uthorized_view}*\017authorizedViews2\016authorizedViewB\021\n" + + "+bigtableadmin.googleapis.com/AuthorizedView\022Xprojects/{project}/instances/{insta" + + "nce}/tables/{table}/authorizedViews/{aut" + + "horized_view}*\017authorizedViews2\016authorizedViewB\021\n" + "\017authorized_view\"u\n" + "\014ColumnFamily\0221\n" + "\007gc_rule\030\001 \001(\0132 .google.bigtable.admin.v2.GcRule\0222\n\n" @@ -256,15 +266,15 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\017data_size_bytes\030\003 \001(\003B\003\340A\003\0224\n" + "\013create_time\030\004 \001(\0132\032.google.protobuf.TimestampB\003\340A\003\022/\n" + "\013delete_time\030\005 \001(\0132\032.google.protobuf.Timestamp\022<\n" - + "\005state\030\006 \001(\0162(.goog" - + "le.bigtable.admin.v2.Snapshot.StateB\003\340A\003\022\023\n" + + "\005state\030\006 \001(\0162(.google" + + ".bigtable.admin.v2.Snapshot.StateB\003\340A\003\022\023\n" + "\013description\030\007 \001(\t\"5\n" + "\005State\022\023\n" + "\017STATE_NOT_KNOWN\020\000\022\t\n" + "\005READY\020\001\022\014\n" + "\010CREATING\020\002:{\352Ax\n" - + "%bigtableadmin.googleapis.com/Snapshot\022Oprojects/{project}/instances/{instance" - + "}/clusters/{cluster}/snapshots/{snapshot}\"\371\005\n" + + "%bigtableadmin.googleapis.com/Snapshot\022Oprojects/{project}/instances/{instance}/" + + "clusters/{cluster}/snapshots/{snapshot}\"\371\005\n" + "\006Backup\022\014\n" + "\004name\030\001 \001(\t\022\034\n" + "\014source_table\030\002 \001(\tB\006\340A\005\340A\002\022\032\n\r" @@ -276,10 +286,10 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\010end_time\030\005" + " \001(\0132\032.google.protobuf.TimestampB\003\340A\003\022\027\n\n" + "size_bytes\030\006 \001(\003B\003\340A\003\022:\n" - + "\005state\030\007 \001" - + "(\0162&.google.bigtable.admin.v2.Backup.StateB\003\340A\003\022F\n" - + "\017encryption_info\030\t \001(\0132(.googl" - + "e.bigtable.admin.v2.EncryptionInfoB\003\340A\003\022@\n" + + "\005state\030\007 \001(\016" + + "2&.google.bigtable.admin.v2.Backup.StateB\003\340A\003\022F\n" + + "\017encryption_info\030\t" + + " \001(\0132(.google.bigtable.admin.v2.EncryptionInfoB\003\340A\003\022@\n" + "\013backup_type\030\013 \001(\0162+.google.bigtable.admin.v2.Backup.BackupType\0228\n" + "\024hot_to_standard_time\030\014 \001(\0132\032.google.protobuf.Timestamp\"7\n" + "\005State\022\025\n" @@ -290,15 +300,21 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\027BACKUP_TYPE_UNSPECIFIED\020\000\022\014\n" + "\010STANDARD\020\001\022\007\n" + "\003HOT\020\002:u\352Ar\n" - + "#bigtableadmin.googleapis.com/Backup\022Kprojects/{project}/instances/{" - + "instance}/clusters/{cluster}/backups/{backup}\"\300\001\n\n" + + "#bigtableadmin.googleapis.com/Backup\022Kprojects/{project}/instances/{in" + + "stance}/clusters/{cluster}/backups/{backup}\"\300\001\n\n" + "BackupInfo\022\023\n" + "\006backup\030\001 \001(\tB\003\340A\003\0223\n\n" + "start_time\030\002 \001(\0132\032.google.protobuf.TimestampB\003\340A\003\0221\n" + "\010end_time\030\003 \001(\0132\032.google.protobuf.TimestampB\003\340A\003\022\031\n" + "\014source_table\030\004 \001(\tB\003\340A\003\022\032\n\r" + "source_backup\030\n" - + " \001(\tB\003\340A\003\"-\n" + + " \001(\tB\003\340A\003\"]\n" + + "\023TieredStorageConfig\022F\n" + + "\021infrequent_access\030\001" + + " \001(\0132+.google.bigtable.admin.v2.TieredStorageRule\"W\n" + + "\021TieredStorageRule\022:\n" + + "\025include_if_older_than\030\001 \001(\0132\031.google.protobuf.DurationH\000B\006\n" + + "\004rule\"-\n" + "\013ProtoSchema\022\036\n" + "\021proto_descriptors\030\002 \001(\014B\003\340A\002\"\240\002\n" + "\014SchemaBundle\022\021\n" @@ -306,21 +322,21 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\014proto_schema\030\002" + " \001(\0132%.google.bigtable.admin.v2.ProtoSchemaH\000\022\021\n" + "\004etag\030\003 \001(\tB\003\340A\001:\242\001\352A\236\001\n" - + ")bigtableadmin.googleapis.com/SchemaBundle\022Tprojects/{project}/inst" - + "ances/{instance}/tables/{table}/schemaBundles/{schema_bundle}*\r" + + ")bigtableadmin.googleapis.com/SchemaBundle\022Tp" + + "rojects/{project}/instances/{instance}/tables/{table}/schemaBundles/{schema_bundle}*\r" + "schemaBundles2\014schemaBundleB\006\n" + "\004type*D\n" + "\021RestoreSourceType\022#\n" + "\037RESTORE_SOURCE_TYPE_UNSPECIFIED\020\000\022\n\n" + "\006BACKUP\020\001B\367\002\n" + "\034com.google.bigtable.admin.v2B\n" - + "TableProtoP\001Z8cloud.google.com/go/big" - + "table/admin/apiv2/adminpb;adminpb\252\002\036Goog" - + "le.Cloud.Bigtable.Admin.V2\312\002\036Google\\Clou" - + "d\\Bigtable\\Admin\\V2\352\002\"Google::Cloud::Bigtable::Admin::V2\352A\246\001\n" - + "(cloudkms.googleapis.com/CryptoKeyVersion\022zprojects/{projec" - + "t}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVer" - + "sions/{crypto_key_version}b\006proto3" + + "TableProtoP\001Z8cloud.google.com/go/bigtable/admin/apiv2/" + + "adminpb;adminpb\252\002\036Google.Cloud.Bigtable." + + "Admin.V2\312\002\036Google\\Cloud\\Bigtable\\Admin\\V" + + "2\352\002\"Google::Cloud::Bigtable::Admin::V2\352A\246\001\n" + + "(cloudkms.googleapis.com/CryptoKeyVersion\022zprojects/{project}/locations/{loca" + + "tion}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVersions/{crypto_key_" + + "version}b\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( @@ -362,6 +378,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "ChangeStreamConfig", "DeletionProtection", "AutomatedBackupPolicy", + "TieredStorageConfig", "RowKeySchema", "AutomatedBackupConfig", }); @@ -508,8 +525,24 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { new java.lang.String[] { "Backup", "StartTime", "EndTime", "SourceTable", "SourceBackup", }); - internal_static_google_bigtable_admin_v2_ProtoSchema_descriptor = + internal_static_google_bigtable_admin_v2_TieredStorageConfig_descriptor = getDescriptor().getMessageType(10); + internal_static_google_bigtable_admin_v2_TieredStorageConfig_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_bigtable_admin_v2_TieredStorageConfig_descriptor, + new java.lang.String[] { + "InfrequentAccess", + }); + internal_static_google_bigtable_admin_v2_TieredStorageRule_descriptor = + getDescriptor().getMessageType(11); + internal_static_google_bigtable_admin_v2_TieredStorageRule_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_bigtable_admin_v2_TieredStorageRule_descriptor, + new java.lang.String[] { + "IncludeIfOlderThan", "Rule", + }); + internal_static_google_bigtable_admin_v2_ProtoSchema_descriptor = + getDescriptor().getMessageType(12); internal_static_google_bigtable_admin_v2_ProtoSchema_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_google_bigtable_admin_v2_ProtoSchema_descriptor, @@ -517,7 +550,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "ProtoDescriptors", }); internal_static_google_bigtable_admin_v2_SchemaBundle_descriptor = - getDescriptor().getMessageType(11); + getDescriptor().getMessageType(13); internal_static_google_bigtable_admin_v2_SchemaBundle_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_google_bigtable_admin_v2_SchemaBundle_descriptor, diff --git a/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/TieredStorageConfig.java b/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/TieredStorageConfig.java new file mode 100644 index 0000000000..e54e3440fb --- /dev/null +++ b/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/TieredStorageConfig.java @@ -0,0 +1,721 @@ +/* + * 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. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/bigtable/admin/v2/table.proto +// Protobuf Java Version: 4.33.2 + +package com.google.bigtable.admin.v2; + +/** + * + * + *
+ * Config for tiered storage.
+ * A valid config must have a valid TieredStorageRule. Otherwise the whole
+ * TieredStorageConfig must be unset.
+ * By default all data is stored in the SSD tier (only SSD instances can
+ * configure tiered storage).
+ * 
+ * + * Protobuf type {@code google.bigtable.admin.v2.TieredStorageConfig} + */ +@com.google.protobuf.Generated +public final class TieredStorageConfig extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.bigtable.admin.v2.TieredStorageConfig) + TieredStorageConfigOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "TieredStorageConfig"); + } + + // Use TieredStorageConfig.newBuilder() to construct. + private TieredStorageConfig(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private TieredStorageConfig() {} + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.bigtable.admin.v2.TableProto + .internal_static_google_bigtable_admin_v2_TieredStorageConfig_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.bigtable.admin.v2.TableProto + .internal_static_google_bigtable_admin_v2_TieredStorageConfig_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.bigtable.admin.v2.TieredStorageConfig.class, + com.google.bigtable.admin.v2.TieredStorageConfig.Builder.class); + } + + private int bitField0_; + public static final int INFREQUENT_ACCESS_FIELD_NUMBER = 1; + private com.google.bigtable.admin.v2.TieredStorageRule infrequentAccess_; + + /** + * + * + *
+   * Rule to specify what data is stored in the infrequent access(IA) tier.
+   * The IA tier allows storing more data per node with reduced performance.
+   * 
+ * + * .google.bigtable.admin.v2.TieredStorageRule infrequent_access = 1; + * + * @return Whether the infrequentAccess field is set. + */ + @java.lang.Override + public boolean hasInfrequentAccess() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+   * Rule to specify what data is stored in the infrequent access(IA) tier.
+   * The IA tier allows storing more data per node with reduced performance.
+   * 
+ * + * .google.bigtable.admin.v2.TieredStorageRule infrequent_access = 1; + * + * @return The infrequentAccess. + */ + @java.lang.Override + public com.google.bigtable.admin.v2.TieredStorageRule getInfrequentAccess() { + return infrequentAccess_ == null + ? com.google.bigtable.admin.v2.TieredStorageRule.getDefaultInstance() + : infrequentAccess_; + } + + /** + * + * + *
+   * Rule to specify what data is stored in the infrequent access(IA) tier.
+   * The IA tier allows storing more data per node with reduced performance.
+   * 
+ * + * .google.bigtable.admin.v2.TieredStorageRule infrequent_access = 1; + */ + @java.lang.Override + public com.google.bigtable.admin.v2.TieredStorageRuleOrBuilder getInfrequentAccessOrBuilder() { + return infrequentAccess_ == null + ? com.google.bigtable.admin.v2.TieredStorageRule.getDefaultInstance() + : infrequentAccess_; + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(1, getInfrequentAccess()); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getInfrequentAccess()); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.bigtable.admin.v2.TieredStorageConfig)) { + return super.equals(obj); + } + com.google.bigtable.admin.v2.TieredStorageConfig other = + (com.google.bigtable.admin.v2.TieredStorageConfig) obj; + + if (hasInfrequentAccess() != other.hasInfrequentAccess()) return false; + if (hasInfrequentAccess()) { + if (!getInfrequentAccess().equals(other.getInfrequentAccess())) return false; + } + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasInfrequentAccess()) { + hash = (37 * hash) + INFREQUENT_ACCESS_FIELD_NUMBER; + hash = (53 * hash) + getInfrequentAccess().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.bigtable.admin.v2.TieredStorageConfig parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.bigtable.admin.v2.TieredStorageConfig parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.bigtable.admin.v2.TieredStorageConfig parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.bigtable.admin.v2.TieredStorageConfig parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.bigtable.admin.v2.TieredStorageConfig parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.bigtable.admin.v2.TieredStorageConfig parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.bigtable.admin.v2.TieredStorageConfig parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.bigtable.admin.v2.TieredStorageConfig parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.bigtable.admin.v2.TieredStorageConfig parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.bigtable.admin.v2.TieredStorageConfig parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.bigtable.admin.v2.TieredStorageConfig parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.bigtable.admin.v2.TieredStorageConfig parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder(com.google.bigtable.admin.v2.TieredStorageConfig prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Config for tiered storage.
+   * A valid config must have a valid TieredStorageRule. Otherwise the whole
+   * TieredStorageConfig must be unset.
+   * By default all data is stored in the SSD tier (only SSD instances can
+   * configure tiered storage).
+   * 
+ * + * Protobuf type {@code google.bigtable.admin.v2.TieredStorageConfig} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.bigtable.admin.v2.TieredStorageConfig) + com.google.bigtable.admin.v2.TieredStorageConfigOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.bigtable.admin.v2.TableProto + .internal_static_google_bigtable_admin_v2_TieredStorageConfig_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.bigtable.admin.v2.TableProto + .internal_static_google_bigtable_admin_v2_TieredStorageConfig_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.bigtable.admin.v2.TieredStorageConfig.class, + com.google.bigtable.admin.v2.TieredStorageConfig.Builder.class); + } + + // Construct using com.google.bigtable.admin.v2.TieredStorageConfig.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + internalGetInfrequentAccessFieldBuilder(); + } + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + infrequentAccess_ = null; + if (infrequentAccessBuilder_ != null) { + infrequentAccessBuilder_.dispose(); + infrequentAccessBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.bigtable.admin.v2.TableProto + .internal_static_google_bigtable_admin_v2_TieredStorageConfig_descriptor; + } + + @java.lang.Override + public com.google.bigtable.admin.v2.TieredStorageConfig getDefaultInstanceForType() { + return com.google.bigtable.admin.v2.TieredStorageConfig.getDefaultInstance(); + } + + @java.lang.Override + public com.google.bigtable.admin.v2.TieredStorageConfig build() { + com.google.bigtable.admin.v2.TieredStorageConfig result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.bigtable.admin.v2.TieredStorageConfig buildPartial() { + com.google.bigtable.admin.v2.TieredStorageConfig result = + new com.google.bigtable.admin.v2.TieredStorageConfig(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0(com.google.bigtable.admin.v2.TieredStorageConfig result) { + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.infrequentAccess_ = + infrequentAccessBuilder_ == null ? infrequentAccess_ : infrequentAccessBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.bigtable.admin.v2.TieredStorageConfig) { + return mergeFrom((com.google.bigtable.admin.v2.TieredStorageConfig) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.bigtable.admin.v2.TieredStorageConfig other) { + if (other == com.google.bigtable.admin.v2.TieredStorageConfig.getDefaultInstance()) + return this; + if (other.hasInfrequentAccess()) { + mergeInfrequentAccess(other.getInfrequentAccess()); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + input.readMessage( + internalGetInfrequentAccessFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000001; + break; + } // case 10 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private com.google.bigtable.admin.v2.TieredStorageRule infrequentAccess_; + private com.google.protobuf.SingleFieldBuilder< + com.google.bigtable.admin.v2.TieredStorageRule, + com.google.bigtable.admin.v2.TieredStorageRule.Builder, + com.google.bigtable.admin.v2.TieredStorageRuleOrBuilder> + infrequentAccessBuilder_; + + /** + * + * + *
+     * Rule to specify what data is stored in the infrequent access(IA) tier.
+     * The IA tier allows storing more data per node with reduced performance.
+     * 
+ * + * .google.bigtable.admin.v2.TieredStorageRule infrequent_access = 1; + * + * @return Whether the infrequentAccess field is set. + */ + public boolean hasInfrequentAccess() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+     * Rule to specify what data is stored in the infrequent access(IA) tier.
+     * The IA tier allows storing more data per node with reduced performance.
+     * 
+ * + * .google.bigtable.admin.v2.TieredStorageRule infrequent_access = 1; + * + * @return The infrequentAccess. + */ + public com.google.bigtable.admin.v2.TieredStorageRule getInfrequentAccess() { + if (infrequentAccessBuilder_ == null) { + return infrequentAccess_ == null + ? com.google.bigtable.admin.v2.TieredStorageRule.getDefaultInstance() + : infrequentAccess_; + } else { + return infrequentAccessBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Rule to specify what data is stored in the infrequent access(IA) tier.
+     * The IA tier allows storing more data per node with reduced performance.
+     * 
+ * + * .google.bigtable.admin.v2.TieredStorageRule infrequent_access = 1; + */ + public Builder setInfrequentAccess(com.google.bigtable.admin.v2.TieredStorageRule value) { + if (infrequentAccessBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + infrequentAccess_ = value; + } else { + infrequentAccessBuilder_.setMessage(value); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Rule to specify what data is stored in the infrequent access(IA) tier.
+     * The IA tier allows storing more data per node with reduced performance.
+     * 
+ * + * .google.bigtable.admin.v2.TieredStorageRule infrequent_access = 1; + */ + public Builder setInfrequentAccess( + com.google.bigtable.admin.v2.TieredStorageRule.Builder builderForValue) { + if (infrequentAccessBuilder_ == null) { + infrequentAccess_ = builderForValue.build(); + } else { + infrequentAccessBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Rule to specify what data is stored in the infrequent access(IA) tier.
+     * The IA tier allows storing more data per node with reduced performance.
+     * 
+ * + * .google.bigtable.admin.v2.TieredStorageRule infrequent_access = 1; + */ + public Builder mergeInfrequentAccess(com.google.bigtable.admin.v2.TieredStorageRule value) { + if (infrequentAccessBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0) + && infrequentAccess_ != null + && infrequentAccess_ + != com.google.bigtable.admin.v2.TieredStorageRule.getDefaultInstance()) { + getInfrequentAccessBuilder().mergeFrom(value); + } else { + infrequentAccess_ = value; + } + } else { + infrequentAccessBuilder_.mergeFrom(value); + } + if (infrequentAccess_ != null) { + bitField0_ |= 0x00000001; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Rule to specify what data is stored in the infrequent access(IA) tier.
+     * The IA tier allows storing more data per node with reduced performance.
+     * 
+ * + * .google.bigtable.admin.v2.TieredStorageRule infrequent_access = 1; + */ + public Builder clearInfrequentAccess() { + bitField0_ = (bitField0_ & ~0x00000001); + infrequentAccess_ = null; + if (infrequentAccessBuilder_ != null) { + infrequentAccessBuilder_.dispose(); + infrequentAccessBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Rule to specify what data is stored in the infrequent access(IA) tier.
+     * The IA tier allows storing more data per node with reduced performance.
+     * 
+ * + * .google.bigtable.admin.v2.TieredStorageRule infrequent_access = 1; + */ + public com.google.bigtable.admin.v2.TieredStorageRule.Builder getInfrequentAccessBuilder() { + bitField0_ |= 0x00000001; + onChanged(); + return internalGetInfrequentAccessFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Rule to specify what data is stored in the infrequent access(IA) tier.
+     * The IA tier allows storing more data per node with reduced performance.
+     * 
+ * + * .google.bigtable.admin.v2.TieredStorageRule infrequent_access = 1; + */ + public com.google.bigtable.admin.v2.TieredStorageRuleOrBuilder getInfrequentAccessOrBuilder() { + if (infrequentAccessBuilder_ != null) { + return infrequentAccessBuilder_.getMessageOrBuilder(); + } else { + return infrequentAccess_ == null + ? com.google.bigtable.admin.v2.TieredStorageRule.getDefaultInstance() + : infrequentAccess_; + } + } + + /** + * + * + *
+     * Rule to specify what data is stored in the infrequent access(IA) tier.
+     * The IA tier allows storing more data per node with reduced performance.
+     * 
+ * + * .google.bigtable.admin.v2.TieredStorageRule infrequent_access = 1; + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.bigtable.admin.v2.TieredStorageRule, + com.google.bigtable.admin.v2.TieredStorageRule.Builder, + com.google.bigtable.admin.v2.TieredStorageRuleOrBuilder> + internalGetInfrequentAccessFieldBuilder() { + if (infrequentAccessBuilder_ == null) { + infrequentAccessBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.bigtable.admin.v2.TieredStorageRule, + com.google.bigtable.admin.v2.TieredStorageRule.Builder, + com.google.bigtable.admin.v2.TieredStorageRuleOrBuilder>( + getInfrequentAccess(), getParentForChildren(), isClean()); + infrequentAccess_ = null; + } + return infrequentAccessBuilder_; + } + + // @@protoc_insertion_point(builder_scope:google.bigtable.admin.v2.TieredStorageConfig) + } + + // @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.TieredStorageConfig) + private static final com.google.bigtable.admin.v2.TieredStorageConfig DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.bigtable.admin.v2.TieredStorageConfig(); + } + + public static com.google.bigtable.admin.v2.TieredStorageConfig getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public TieredStorageConfig parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.bigtable.admin.v2.TieredStorageConfig getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/TieredStorageConfigOrBuilder.java b/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/TieredStorageConfigOrBuilder.java new file mode 100644 index 0000000000..380f53080d --- /dev/null +++ b/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/TieredStorageConfigOrBuilder.java @@ -0,0 +1,68 @@ +/* + * 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. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/bigtable/admin/v2/table.proto +// Protobuf Java Version: 4.33.2 + +package com.google.bigtable.admin.v2; + +@com.google.protobuf.Generated +public interface TieredStorageConfigOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.bigtable.admin.v2.TieredStorageConfig) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Rule to specify what data is stored in the infrequent access(IA) tier.
+   * The IA tier allows storing more data per node with reduced performance.
+   * 
+ * + * .google.bigtable.admin.v2.TieredStorageRule infrequent_access = 1; + * + * @return Whether the infrequentAccess field is set. + */ + boolean hasInfrequentAccess(); + + /** + * + * + *
+   * Rule to specify what data is stored in the infrequent access(IA) tier.
+   * The IA tier allows storing more data per node with reduced performance.
+   * 
+ * + * .google.bigtable.admin.v2.TieredStorageRule infrequent_access = 1; + * + * @return The infrequentAccess. + */ + com.google.bigtable.admin.v2.TieredStorageRule getInfrequentAccess(); + + /** + * + * + *
+   * Rule to specify what data is stored in the infrequent access(IA) tier.
+   * The IA tier allows storing more data per node with reduced performance.
+   * 
+ * + * .google.bigtable.admin.v2.TieredStorageRule infrequent_access = 1; + */ + com.google.bigtable.admin.v2.TieredStorageRuleOrBuilder getInfrequentAccessOrBuilder(); +} diff --git a/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/TieredStorageRule.java b/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/TieredStorageRule.java new file mode 100644 index 0000000000..2a78390f88 --- /dev/null +++ b/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/TieredStorageRule.java @@ -0,0 +1,801 @@ +/* + * 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. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/bigtable/admin/v2/table.proto +// Protobuf Java Version: 4.33.2 + +package com.google.bigtable.admin.v2; + +/** + * + * + *
+ * Rule to specify what data is stored in a storage tier.
+ * 
+ * + * Protobuf type {@code google.bigtable.admin.v2.TieredStorageRule} + */ +@com.google.protobuf.Generated +public final class TieredStorageRule extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.bigtable.admin.v2.TieredStorageRule) + TieredStorageRuleOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "TieredStorageRule"); + } + + // Use TieredStorageRule.newBuilder() to construct. + private TieredStorageRule(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private TieredStorageRule() {} + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.bigtable.admin.v2.TableProto + .internal_static_google_bigtable_admin_v2_TieredStorageRule_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.bigtable.admin.v2.TableProto + .internal_static_google_bigtable_admin_v2_TieredStorageRule_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.bigtable.admin.v2.TieredStorageRule.class, + com.google.bigtable.admin.v2.TieredStorageRule.Builder.class); + } + + private int ruleCase_ = 0; + + @SuppressWarnings("serial") + private java.lang.Object rule_; + + public enum RuleCase + implements + com.google.protobuf.Internal.EnumLite, + com.google.protobuf.AbstractMessage.InternalOneOfEnum { + INCLUDE_IF_OLDER_THAN(1), + RULE_NOT_SET(0); + private final int value; + + private RuleCase(int value) { + this.value = value; + } + + /** + * @param value The number of the enum to look for. + * @return The enum associated with the given number. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static RuleCase valueOf(int value) { + return forNumber(value); + } + + public static RuleCase forNumber(int value) { + switch (value) { + case 1: + return INCLUDE_IF_OLDER_THAN; + case 0: + return RULE_NOT_SET; + default: + return null; + } + } + + public int getNumber() { + return this.value; + } + }; + + public RuleCase getRuleCase() { + return RuleCase.forNumber(ruleCase_); + } + + public static final int INCLUDE_IF_OLDER_THAN_FIELD_NUMBER = 1; + + /** + * + * + *
+   * Include cells older than the given age.
+   * For the infrequent access tier, this value must be at least 30 days.
+   * 
+ * + * .google.protobuf.Duration include_if_older_than = 1; + * + * @return Whether the includeIfOlderThan field is set. + */ + @java.lang.Override + public boolean hasIncludeIfOlderThan() { + return ruleCase_ == 1; + } + + /** + * + * + *
+   * Include cells older than the given age.
+   * For the infrequent access tier, this value must be at least 30 days.
+   * 
+ * + * .google.protobuf.Duration include_if_older_than = 1; + * + * @return The includeIfOlderThan. + */ + @java.lang.Override + public com.google.protobuf.Duration getIncludeIfOlderThan() { + if (ruleCase_ == 1) { + return (com.google.protobuf.Duration) rule_; + } + return com.google.protobuf.Duration.getDefaultInstance(); + } + + /** + * + * + *
+   * Include cells older than the given age.
+   * For the infrequent access tier, this value must be at least 30 days.
+   * 
+ * + * .google.protobuf.Duration include_if_older_than = 1; + */ + @java.lang.Override + public com.google.protobuf.DurationOrBuilder getIncludeIfOlderThanOrBuilder() { + if (ruleCase_ == 1) { + return (com.google.protobuf.Duration) rule_; + } + return com.google.protobuf.Duration.getDefaultInstance(); + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (ruleCase_ == 1) { + output.writeMessage(1, (com.google.protobuf.Duration) rule_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (ruleCase_ == 1) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize( + 1, (com.google.protobuf.Duration) rule_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.bigtable.admin.v2.TieredStorageRule)) { + return super.equals(obj); + } + com.google.bigtable.admin.v2.TieredStorageRule other = + (com.google.bigtable.admin.v2.TieredStorageRule) obj; + + if (!getRuleCase().equals(other.getRuleCase())) return false; + switch (ruleCase_) { + case 1: + if (!getIncludeIfOlderThan().equals(other.getIncludeIfOlderThan())) return false; + break; + case 0: + default: + } + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + switch (ruleCase_) { + case 1: + hash = (37 * hash) + INCLUDE_IF_OLDER_THAN_FIELD_NUMBER; + hash = (53 * hash) + getIncludeIfOlderThan().hashCode(); + break; + case 0: + default: + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.bigtable.admin.v2.TieredStorageRule parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.bigtable.admin.v2.TieredStorageRule parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.bigtable.admin.v2.TieredStorageRule parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.bigtable.admin.v2.TieredStorageRule parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.bigtable.admin.v2.TieredStorageRule parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.bigtable.admin.v2.TieredStorageRule parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.bigtable.admin.v2.TieredStorageRule parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.bigtable.admin.v2.TieredStorageRule parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.bigtable.admin.v2.TieredStorageRule parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.bigtable.admin.v2.TieredStorageRule parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.bigtable.admin.v2.TieredStorageRule parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.bigtable.admin.v2.TieredStorageRule parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder(com.google.bigtable.admin.v2.TieredStorageRule prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Rule to specify what data is stored in a storage tier.
+   * 
+ * + * Protobuf type {@code google.bigtable.admin.v2.TieredStorageRule} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.bigtable.admin.v2.TieredStorageRule) + com.google.bigtable.admin.v2.TieredStorageRuleOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.bigtable.admin.v2.TableProto + .internal_static_google_bigtable_admin_v2_TieredStorageRule_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.bigtable.admin.v2.TableProto + .internal_static_google_bigtable_admin_v2_TieredStorageRule_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.bigtable.admin.v2.TieredStorageRule.class, + com.google.bigtable.admin.v2.TieredStorageRule.Builder.class); + } + + // Construct using com.google.bigtable.admin.v2.TieredStorageRule.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + if (includeIfOlderThanBuilder_ != null) { + includeIfOlderThanBuilder_.clear(); + } + ruleCase_ = 0; + rule_ = null; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.bigtable.admin.v2.TableProto + .internal_static_google_bigtable_admin_v2_TieredStorageRule_descriptor; + } + + @java.lang.Override + public com.google.bigtable.admin.v2.TieredStorageRule getDefaultInstanceForType() { + return com.google.bigtable.admin.v2.TieredStorageRule.getDefaultInstance(); + } + + @java.lang.Override + public com.google.bigtable.admin.v2.TieredStorageRule build() { + com.google.bigtable.admin.v2.TieredStorageRule result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.bigtable.admin.v2.TieredStorageRule buildPartial() { + com.google.bigtable.admin.v2.TieredStorageRule result = + new com.google.bigtable.admin.v2.TieredStorageRule(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + buildPartialOneofs(result); + onBuilt(); + return result; + } + + private void buildPartial0(com.google.bigtable.admin.v2.TieredStorageRule result) { + int from_bitField0_ = bitField0_; + } + + private void buildPartialOneofs(com.google.bigtable.admin.v2.TieredStorageRule result) { + result.ruleCase_ = ruleCase_; + result.rule_ = this.rule_; + if (ruleCase_ == 1 && includeIfOlderThanBuilder_ != null) { + result.rule_ = includeIfOlderThanBuilder_.build(); + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.bigtable.admin.v2.TieredStorageRule) { + return mergeFrom((com.google.bigtable.admin.v2.TieredStorageRule) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.bigtable.admin.v2.TieredStorageRule other) { + if (other == com.google.bigtable.admin.v2.TieredStorageRule.getDefaultInstance()) return this; + switch (other.getRuleCase()) { + case INCLUDE_IF_OLDER_THAN: + { + mergeIncludeIfOlderThan(other.getIncludeIfOlderThan()); + break; + } + case RULE_NOT_SET: + { + break; + } + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + input.readMessage( + internalGetIncludeIfOlderThanFieldBuilder().getBuilder(), extensionRegistry); + ruleCase_ = 1; + break; + } // case 10 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int ruleCase_ = 0; + private java.lang.Object rule_; + + public RuleCase getRuleCase() { + return RuleCase.forNumber(ruleCase_); + } + + public Builder clearRule() { + ruleCase_ = 0; + rule_ = null; + onChanged(); + return this; + } + + private int bitField0_; + + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Duration, + com.google.protobuf.Duration.Builder, + com.google.protobuf.DurationOrBuilder> + includeIfOlderThanBuilder_; + + /** + * + * + *
+     * Include cells older than the given age.
+     * For the infrequent access tier, this value must be at least 30 days.
+     * 
+ * + * .google.protobuf.Duration include_if_older_than = 1; + * + * @return Whether the includeIfOlderThan field is set. + */ + @java.lang.Override + public boolean hasIncludeIfOlderThan() { + return ruleCase_ == 1; + } + + /** + * + * + *
+     * Include cells older than the given age.
+     * For the infrequent access tier, this value must be at least 30 days.
+     * 
+ * + * .google.protobuf.Duration include_if_older_than = 1; + * + * @return The includeIfOlderThan. + */ + @java.lang.Override + public com.google.protobuf.Duration getIncludeIfOlderThan() { + if (includeIfOlderThanBuilder_ == null) { + if (ruleCase_ == 1) { + return (com.google.protobuf.Duration) rule_; + } + return com.google.protobuf.Duration.getDefaultInstance(); + } else { + if (ruleCase_ == 1) { + return includeIfOlderThanBuilder_.getMessage(); + } + return com.google.protobuf.Duration.getDefaultInstance(); + } + } + + /** + * + * + *
+     * Include cells older than the given age.
+     * For the infrequent access tier, this value must be at least 30 days.
+     * 
+ * + * .google.protobuf.Duration include_if_older_than = 1; + */ + public Builder setIncludeIfOlderThan(com.google.protobuf.Duration value) { + if (includeIfOlderThanBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + rule_ = value; + onChanged(); + } else { + includeIfOlderThanBuilder_.setMessage(value); + } + ruleCase_ = 1; + return this; + } + + /** + * + * + *
+     * Include cells older than the given age.
+     * For the infrequent access tier, this value must be at least 30 days.
+     * 
+ * + * .google.protobuf.Duration include_if_older_than = 1; + */ + public Builder setIncludeIfOlderThan(com.google.protobuf.Duration.Builder builderForValue) { + if (includeIfOlderThanBuilder_ == null) { + rule_ = builderForValue.build(); + onChanged(); + } else { + includeIfOlderThanBuilder_.setMessage(builderForValue.build()); + } + ruleCase_ = 1; + return this; + } + + /** + * + * + *
+     * Include cells older than the given age.
+     * For the infrequent access tier, this value must be at least 30 days.
+     * 
+ * + * .google.protobuf.Duration include_if_older_than = 1; + */ + public Builder mergeIncludeIfOlderThan(com.google.protobuf.Duration value) { + if (includeIfOlderThanBuilder_ == null) { + if (ruleCase_ == 1 && rule_ != com.google.protobuf.Duration.getDefaultInstance()) { + rule_ = + com.google.protobuf.Duration.newBuilder((com.google.protobuf.Duration) rule_) + .mergeFrom(value) + .buildPartial(); + } else { + rule_ = value; + } + onChanged(); + } else { + if (ruleCase_ == 1) { + includeIfOlderThanBuilder_.mergeFrom(value); + } else { + includeIfOlderThanBuilder_.setMessage(value); + } + } + ruleCase_ = 1; + return this; + } + + /** + * + * + *
+     * Include cells older than the given age.
+     * For the infrequent access tier, this value must be at least 30 days.
+     * 
+ * + * .google.protobuf.Duration include_if_older_than = 1; + */ + public Builder clearIncludeIfOlderThan() { + if (includeIfOlderThanBuilder_ == null) { + if (ruleCase_ == 1) { + ruleCase_ = 0; + rule_ = null; + onChanged(); + } + } else { + if (ruleCase_ == 1) { + ruleCase_ = 0; + rule_ = null; + } + includeIfOlderThanBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+     * Include cells older than the given age.
+     * For the infrequent access tier, this value must be at least 30 days.
+     * 
+ * + * .google.protobuf.Duration include_if_older_than = 1; + */ + public com.google.protobuf.Duration.Builder getIncludeIfOlderThanBuilder() { + return internalGetIncludeIfOlderThanFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Include cells older than the given age.
+     * For the infrequent access tier, this value must be at least 30 days.
+     * 
+ * + * .google.protobuf.Duration include_if_older_than = 1; + */ + @java.lang.Override + public com.google.protobuf.DurationOrBuilder getIncludeIfOlderThanOrBuilder() { + if ((ruleCase_ == 1) && (includeIfOlderThanBuilder_ != null)) { + return includeIfOlderThanBuilder_.getMessageOrBuilder(); + } else { + if (ruleCase_ == 1) { + return (com.google.protobuf.Duration) rule_; + } + return com.google.protobuf.Duration.getDefaultInstance(); + } + } + + /** + * + * + *
+     * Include cells older than the given age.
+     * For the infrequent access tier, this value must be at least 30 days.
+     * 
+ * + * .google.protobuf.Duration include_if_older_than = 1; + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Duration, + com.google.protobuf.Duration.Builder, + com.google.protobuf.DurationOrBuilder> + internalGetIncludeIfOlderThanFieldBuilder() { + if (includeIfOlderThanBuilder_ == null) { + if (!(ruleCase_ == 1)) { + rule_ = com.google.protobuf.Duration.getDefaultInstance(); + } + includeIfOlderThanBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Duration, + com.google.protobuf.Duration.Builder, + com.google.protobuf.DurationOrBuilder>( + (com.google.protobuf.Duration) rule_, getParentForChildren(), isClean()); + rule_ = null; + } + ruleCase_ = 1; + onChanged(); + return includeIfOlderThanBuilder_; + } + + // @@protoc_insertion_point(builder_scope:google.bigtable.admin.v2.TieredStorageRule) + } + + // @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.TieredStorageRule) + private static final com.google.bigtable.admin.v2.TieredStorageRule DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.bigtable.admin.v2.TieredStorageRule(); + } + + public static com.google.bigtable.admin.v2.TieredStorageRule getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public TieredStorageRule parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.bigtable.admin.v2.TieredStorageRule getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/TieredStorageRuleOrBuilder.java b/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/TieredStorageRuleOrBuilder.java new file mode 100644 index 0000000000..642ec6aac2 --- /dev/null +++ b/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/TieredStorageRuleOrBuilder.java @@ -0,0 +1,70 @@ +/* + * 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. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/bigtable/admin/v2/table.proto +// Protobuf Java Version: 4.33.2 + +package com.google.bigtable.admin.v2; + +@com.google.protobuf.Generated +public interface TieredStorageRuleOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.bigtable.admin.v2.TieredStorageRule) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Include cells older than the given age.
+   * For the infrequent access tier, this value must be at least 30 days.
+   * 
+ * + * .google.protobuf.Duration include_if_older_than = 1; + * + * @return Whether the includeIfOlderThan field is set. + */ + boolean hasIncludeIfOlderThan(); + + /** + * + * + *
+   * Include cells older than the given age.
+   * For the infrequent access tier, this value must be at least 30 days.
+   * 
+ * + * .google.protobuf.Duration include_if_older_than = 1; + * + * @return The includeIfOlderThan. + */ + com.google.protobuf.Duration getIncludeIfOlderThan(); + + /** + * + * + *
+   * Include cells older than the given age.
+   * For the infrequent access tier, this value must be at least 30 days.
+   * 
+ * + * .google.protobuf.Duration include_if_older_than = 1; + */ + com.google.protobuf.DurationOrBuilder getIncludeIfOlderThanOrBuilder(); + + com.google.bigtable.admin.v2.TieredStorageRule.RuleCase getRuleCase(); +} diff --git a/proto-google-cloud-bigtable-admin-v2/src/main/proto/google/bigtable/admin/v2/table.proto b/proto-google-cloud-bigtable-admin-v2/src/main/proto/google/bigtable/admin/v2/table.proto index 68913d057a..4ce692f860 100644 --- a/proto-google-cloud-bigtable-admin-v2/src/main/proto/google/bigtable/admin/v2/table.proto +++ b/proto-google-cloud-bigtable-admin-v2/src/main/proto/google/bigtable/admin/v2/table.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. @@ -205,6 +205,15 @@ message Table { AutomatedBackupPolicy automated_backup_policy = 13; } + // Rules to specify what data is stored in each storage tier. + // Different tiers store data differently, providing different trade-offs + // between cost and performance. Different parts of a table can be stored + // separately on different tiers. + // If a config is specified, tiered storage is enabled for this table. + // Otherwise, tiered storage is disabled. + // Only SSD instances can configure tiered storage. + TieredStorageConfig tiered_storage_config = 14; + // The row key schema for this table. The schema is used to decode the raw row // key bytes into a structured format. The order of field declarations in this // schema is important, as it reflects how the raw row key bytes are @@ -638,6 +647,27 @@ enum RestoreSourceType { BACKUP = 1; } +// Config for tiered storage. +// A valid config must have a valid TieredStorageRule. Otherwise the whole +// TieredStorageConfig must be unset. +// By default all data is stored in the SSD tier (only SSD instances can +// configure tiered storage). +message TieredStorageConfig { + // Rule to specify what data is stored in the infrequent access(IA) tier. + // The IA tier allows storing more data per node with reduced performance. + TieredStorageRule infrequent_access = 1; +} + +// Rule to specify what data is stored in a storage tier. +message TieredStorageRule { + // Rules to specify what data is stored in this tier. + oneof rule { + // Include cells older than the given age. + // For the infrequent access tier, this value must be at least 30 days. + google.protobuf.Duration include_if_older_than = 1; + } +} + // Represents a protobuf schema. message ProtoSchema { // Required. Contains a protobuf-serialized From 75912be4e8c376d53ea598e8df274e5236b56c17 Mon Sep 17 00:00:00 2001 From: cloud-java-bot Date: Tue, 3 Feb 2026 03:05:41 +0000 Subject: [PATCH 5/6] chore: Update generation configuration at Tue Feb 3 03:05:33 UTC 2026 --- generation_config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/generation_config.yaml b/generation_config.yaml index ca70a8f3a1..d5e6f4a04f 100644 --- a/generation_config.yaml +++ b/generation_config.yaml @@ -1,5 +1,5 @@ gapic_generator_version: 2.66.0 -googleapis_commitish: c0fcb35628690e9eb15dcefae41c651c67cd050b +googleapis_commitish: 85b3f459f91cd08669c27da47d07bb57f6d9aa4d libraries_bom_version: 26.75.0 template_excludes: - .gitignore From e2c73228c763338f43f279876104085fa90e40bc Mon Sep 17 00:00:00 2001 From: cloud-java-bot Date: Wed, 4 Feb 2026 03:03:37 +0000 Subject: [PATCH 6/6] chore: Update generation configuration at Wed Feb 4 03:03:29 UTC 2026 --- generation_config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/generation_config.yaml b/generation_config.yaml index d5e6f4a04f..d993c60a3d 100644 --- a/generation_config.yaml +++ b/generation_config.yaml @@ -1,5 +1,5 @@ gapic_generator_version: 2.66.0 -googleapis_commitish: 85b3f459f91cd08669c27da47d07bb57f6d9aa4d +googleapis_commitish: 7a5706618f42f482acf583febcc7b977b66c25b2 libraries_bom_version: 26.75.0 template_excludes: - .gitignore