diff --git a/README.md b/README.md index 3756b7602..f998339b0 100644 --- a/README.md +++ b/README.md @@ -51,7 +51,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.76.0') +implementation platform('com.google.cloud:libraries-bom:26.77.0') implementation 'com.google.cloud:google-cloud-pubsub' ``` diff --git a/generation_config.yaml b/generation_config.yaml index 86168938d..486fefa6a 100644 --- a/generation_config.yaml +++ b/generation_config.yaml @@ -1,6 +1,6 @@ gapic_generator_version: 2.67.0 -googleapis_commitish: 9637e50bc0ff6a5e8944980aaf6a2b7f34a90910 -libraries_bom_version: 26.76.0 +googleapis_commitish: 8f70147e819ed25cc75c73c4037ce64f9cbb68db +libraries_bom_version: 26.77.0 libraries: - api_shortname: pubsub name_pretty: Cloud Pub/Sub diff --git a/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/v1/SubscriptionAdminClient.java b/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/v1/SubscriptionAdminClient.java index d82b6afa4..26a764dab 100644 --- a/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/v1/SubscriptionAdminClient.java +++ b/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/v1/SubscriptionAdminClient.java @@ -866,6 +866,7 @@ public final Subscription createSubscription( * .setPushConfig(PushConfig.newBuilder().build()) * .setBigqueryConfig(BigQueryConfig.newBuilder().build()) * .setCloudStorageConfig(CloudStorageConfig.newBuilder().build()) + * .setBigtableConfig(BigtableConfig.newBuilder().build()) * .setAckDeadlineSeconds(2135351438) * .setRetainAckedMessages(true) * .setMessageRetentionDuration(Duration.newBuilder().build()) @@ -1133,6 +1134,7 @@ public final Subscription createSubscription( * .setPushConfig(PushConfig.newBuilder().build()) * .setBigqueryConfig(BigQueryConfig.newBuilder().build()) * .setCloudStorageConfig(CloudStorageConfig.newBuilder().build()) + * .setBigtableConfig(BigtableConfig.newBuilder().build()) * .setAckDeadlineSeconds(2135351438) * .setRetainAckedMessages(true) * .setMessageRetentionDuration(Duration.newBuilder().build()) diff --git a/google-cloud-pubsub/src/main/resources/META-INF/native-image/com.google.cloud.pubsub.v1/reflect-config.json b/google-cloud-pubsub/src/main/resources/META-INF/native-image/com.google.cloud.pubsub.v1/reflect-config.json index 885e01e89..e3938470a 100644 --- a/google-cloud-pubsub/src/main/resources/META-INF/native-image/com.google.cloud.pubsub.v1/reflect-config.json +++ b/google-cloud-pubsub/src/main/resources/META-INF/native-image/com.google.cloud.pubsub.v1/reflect-config.json @@ -1664,6 +1664,33 @@ "allDeclaredClasses": true, "allPublicClasses": true }, + { + "name": "com.google.pubsub.v1.BigtableConfig", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.pubsub.v1.BigtableConfig$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.pubsub.v1.BigtableConfig$State", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, { "name": "com.google.pubsub.v1.CloudStorageConfig", "queryAllDeclaredConstructors": true, diff --git a/google-cloud-pubsub/src/test/java/com/google/cloud/pubsub/v1/SubscriptionAdminClientHttpJsonTest.java b/google-cloud-pubsub/src/test/java/com/google/cloud/pubsub/v1/SubscriptionAdminClientHttpJsonTest.java index 128e6e2f6..8ec2cdfab 100644 --- a/google-cloud-pubsub/src/test/java/com/google/cloud/pubsub/v1/SubscriptionAdminClientHttpJsonTest.java +++ b/google-cloud-pubsub/src/test/java/com/google/cloud/pubsub/v1/SubscriptionAdminClientHttpJsonTest.java @@ -44,6 +44,7 @@ import com.google.protobuf.FieldMask; import com.google.protobuf.Timestamp; import com.google.pubsub.v1.BigQueryConfig; +import com.google.pubsub.v1.BigtableConfig; import com.google.pubsub.v1.CloudStorageConfig; import com.google.pubsub.v1.DeadLetterPolicy; import com.google.pubsub.v1.ExpirationPolicy; @@ -120,6 +121,7 @@ public void createSubscriptionTest() throws Exception { .setPushConfig(PushConfig.newBuilder().build()) .setBigqueryConfig(BigQueryConfig.newBuilder().build()) .setCloudStorageConfig(CloudStorageConfig.newBuilder().build()) + .setBigtableConfig(BigtableConfig.newBuilder().build()) .setAckDeadlineSeconds(2135351438) .setRetainAckedMessages(true) .setMessageRetentionDuration(Duration.newBuilder().build()) @@ -191,6 +193,7 @@ public void createSubscriptionTest2() throws Exception { .setPushConfig(PushConfig.newBuilder().build()) .setBigqueryConfig(BigQueryConfig.newBuilder().build()) .setCloudStorageConfig(CloudStorageConfig.newBuilder().build()) + .setBigtableConfig(BigtableConfig.newBuilder().build()) .setAckDeadlineSeconds(2135351438) .setRetainAckedMessages(true) .setMessageRetentionDuration(Duration.newBuilder().build()) @@ -262,6 +265,7 @@ public void createSubscriptionTest3() throws Exception { .setPushConfig(PushConfig.newBuilder().build()) .setBigqueryConfig(BigQueryConfig.newBuilder().build()) .setCloudStorageConfig(CloudStorageConfig.newBuilder().build()) + .setBigtableConfig(BigtableConfig.newBuilder().build()) .setAckDeadlineSeconds(2135351438) .setRetainAckedMessages(true) .setMessageRetentionDuration(Duration.newBuilder().build()) @@ -333,6 +337,7 @@ public void createSubscriptionTest4() throws Exception { .setPushConfig(PushConfig.newBuilder().build()) .setBigqueryConfig(BigQueryConfig.newBuilder().build()) .setCloudStorageConfig(CloudStorageConfig.newBuilder().build()) + .setBigtableConfig(BigtableConfig.newBuilder().build()) .setAckDeadlineSeconds(2135351438) .setRetainAckedMessages(true) .setMessageRetentionDuration(Duration.newBuilder().build()) @@ -404,6 +409,7 @@ public void getSubscriptionTest() throws Exception { .setPushConfig(PushConfig.newBuilder().build()) .setBigqueryConfig(BigQueryConfig.newBuilder().build()) .setCloudStorageConfig(CloudStorageConfig.newBuilder().build()) + .setBigtableConfig(BigtableConfig.newBuilder().build()) .setAckDeadlineSeconds(2135351438) .setRetainAckedMessages(true) .setMessageRetentionDuration(Duration.newBuilder().build()) @@ -468,6 +474,7 @@ public void getSubscriptionTest2() throws Exception { .setPushConfig(PushConfig.newBuilder().build()) .setBigqueryConfig(BigQueryConfig.newBuilder().build()) .setCloudStorageConfig(CloudStorageConfig.newBuilder().build()) + .setBigtableConfig(BigtableConfig.newBuilder().build()) .setAckDeadlineSeconds(2135351438) .setRetainAckedMessages(true) .setMessageRetentionDuration(Duration.newBuilder().build()) @@ -532,6 +539,7 @@ public void updateSubscriptionTest() throws Exception { .setPushConfig(PushConfig.newBuilder().build()) .setBigqueryConfig(BigQueryConfig.newBuilder().build()) .setCloudStorageConfig(CloudStorageConfig.newBuilder().build()) + .setBigtableConfig(BigtableConfig.newBuilder().build()) .setAckDeadlineSeconds(2135351438) .setRetainAckedMessages(true) .setMessageRetentionDuration(Duration.newBuilder().build()) @@ -558,6 +566,7 @@ public void updateSubscriptionTest() throws Exception { .setPushConfig(PushConfig.newBuilder().build()) .setBigqueryConfig(BigQueryConfig.newBuilder().build()) .setCloudStorageConfig(CloudStorageConfig.newBuilder().build()) + .setBigtableConfig(BigtableConfig.newBuilder().build()) .setAckDeadlineSeconds(2135351438) .setRetainAckedMessages(true) .setMessageRetentionDuration(Duration.newBuilder().build()) @@ -610,6 +619,7 @@ public void updateSubscriptionExceptionTest() throws Exception { .setPushConfig(PushConfig.newBuilder().build()) .setBigqueryConfig(BigQueryConfig.newBuilder().build()) .setCloudStorageConfig(CloudStorageConfig.newBuilder().build()) + .setBigtableConfig(BigtableConfig.newBuilder().build()) .setAckDeadlineSeconds(2135351438) .setRetainAckedMessages(true) .setMessageRetentionDuration(Duration.newBuilder().build()) diff --git a/google-cloud-pubsub/src/test/java/com/google/cloud/pubsub/v1/SubscriptionAdminClientTest.java b/google-cloud-pubsub/src/test/java/com/google/cloud/pubsub/v1/SubscriptionAdminClientTest.java index 552249455..7df554b6d 100644 --- a/google-cloud-pubsub/src/test/java/com/google/cloud/pubsub/v1/SubscriptionAdminClientTest.java +++ b/google-cloud-pubsub/src/test/java/com/google/cloud/pubsub/v1/SubscriptionAdminClientTest.java @@ -47,6 +47,7 @@ import com.google.protobuf.Timestamp; import com.google.pubsub.v1.AcknowledgeRequest; import com.google.pubsub.v1.BigQueryConfig; +import com.google.pubsub.v1.BigtableConfig; import com.google.pubsub.v1.CloudStorageConfig; import com.google.pubsub.v1.CreateSnapshotRequest; import com.google.pubsub.v1.DeadLetterPolicy; @@ -146,6 +147,7 @@ public void createSubscriptionTest() throws Exception { .setPushConfig(PushConfig.newBuilder().build()) .setBigqueryConfig(BigQueryConfig.newBuilder().build()) .setCloudStorageConfig(CloudStorageConfig.newBuilder().build()) + .setBigtableConfig(BigtableConfig.newBuilder().build()) .setAckDeadlineSeconds(2135351438) .setRetainAckedMessages(true) .setMessageRetentionDuration(Duration.newBuilder().build()) @@ -214,6 +216,7 @@ public void createSubscriptionTest2() throws Exception { .setPushConfig(PushConfig.newBuilder().build()) .setBigqueryConfig(BigQueryConfig.newBuilder().build()) .setCloudStorageConfig(CloudStorageConfig.newBuilder().build()) + .setBigtableConfig(BigtableConfig.newBuilder().build()) .setAckDeadlineSeconds(2135351438) .setRetainAckedMessages(true) .setMessageRetentionDuration(Duration.newBuilder().build()) @@ -282,6 +285,7 @@ public void createSubscriptionTest3() throws Exception { .setPushConfig(PushConfig.newBuilder().build()) .setBigqueryConfig(BigQueryConfig.newBuilder().build()) .setCloudStorageConfig(CloudStorageConfig.newBuilder().build()) + .setBigtableConfig(BigtableConfig.newBuilder().build()) .setAckDeadlineSeconds(2135351438) .setRetainAckedMessages(true) .setMessageRetentionDuration(Duration.newBuilder().build()) @@ -350,6 +354,7 @@ public void createSubscriptionTest4() throws Exception { .setPushConfig(PushConfig.newBuilder().build()) .setBigqueryConfig(BigQueryConfig.newBuilder().build()) .setCloudStorageConfig(CloudStorageConfig.newBuilder().build()) + .setBigtableConfig(BigtableConfig.newBuilder().build()) .setAckDeadlineSeconds(2135351438) .setRetainAckedMessages(true) .setMessageRetentionDuration(Duration.newBuilder().build()) @@ -418,6 +423,7 @@ public void getSubscriptionTest() throws Exception { .setPushConfig(PushConfig.newBuilder().build()) .setBigqueryConfig(BigQueryConfig.newBuilder().build()) .setCloudStorageConfig(CloudStorageConfig.newBuilder().build()) + .setBigtableConfig(BigtableConfig.newBuilder().build()) .setAckDeadlineSeconds(2135351438) .setRetainAckedMessages(true) .setMessageRetentionDuration(Duration.newBuilder().build()) @@ -476,6 +482,7 @@ public void getSubscriptionTest2() throws Exception { .setPushConfig(PushConfig.newBuilder().build()) .setBigqueryConfig(BigQueryConfig.newBuilder().build()) .setCloudStorageConfig(CloudStorageConfig.newBuilder().build()) + .setBigtableConfig(BigtableConfig.newBuilder().build()) .setAckDeadlineSeconds(2135351438) .setRetainAckedMessages(true) .setMessageRetentionDuration(Duration.newBuilder().build()) @@ -534,6 +541,7 @@ public void updateSubscriptionTest() throws Exception { .setPushConfig(PushConfig.newBuilder().build()) .setBigqueryConfig(BigQueryConfig.newBuilder().build()) .setCloudStorageConfig(CloudStorageConfig.newBuilder().build()) + .setBigtableConfig(BigtableConfig.newBuilder().build()) .setAckDeadlineSeconds(2135351438) .setRetainAckedMessages(true) .setMessageRetentionDuration(Duration.newBuilder().build()) diff --git a/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/BigtableConfig.java b/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/BigtableConfig.java new file mode 100644 index 000000000..38cafb2e0 --- /dev/null +++ b/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/BigtableConfig.java @@ -0,0 +1,1650 @@ +/* + * 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/pubsub/v1/pubsub.proto +// Protobuf Java Version: 4.33.2 + +package com.google.pubsub.v1; + +/** + * + * + *
+ * Configuration for a Bigtable subscription. The Pub/Sub message will be + * written to a Bigtable row as follows: + * - row key: subscription name and message ID delimited by #. + * - columns: message bytes written to a single column family "data" with an + * empty-string column qualifier. + * - cell timestamp: the message publish timestamp. + *+ * + * Protobuf type {@code google.pubsub.v1.BigtableConfig} + */ +@com.google.protobuf.Generated +public final class BigtableConfig extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.pubsub.v1.BigtableConfig) + BigtableConfigOrBuilder { + 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= */ "", + "BigtableConfig"); + } + + // Use BigtableConfig.newBuilder() to construct. + private BigtableConfig(com.google.protobuf.GeneratedMessage.Builder> builder) { + super(builder); + } + + private BigtableConfig() { + table_ = ""; + appProfileId_ = ""; + serviceAccountEmail_ = ""; + state_ = 0; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.pubsub.v1.PubsubProto + .internal_static_google_pubsub_v1_BigtableConfig_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.pubsub.v1.PubsubProto + .internal_static_google_pubsub_v1_BigtableConfig_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.pubsub.v1.BigtableConfig.class, + com.google.pubsub.v1.BigtableConfig.Builder.class); + } + + /** + * + * + *
+ * Possible states for a Bigtable subscription. + * Note: more states could be added in the future. Please code accordingly. + *+ * + * Protobuf enum {@code google.pubsub.v1.BigtableConfig.State} + */ + public enum State implements com.google.protobuf.ProtocolMessageEnum { + /** + * + * + *
+ * Default value. This value is unused. + *+ * + *
STATE_UNSPECIFIED = 0;
+ */
+ STATE_UNSPECIFIED(0),
+ /**
+ *
+ *
+ * + * The subscription can actively send messages to Bigtable. + *+ * + *
ACTIVE = 1;
+ */
+ ACTIVE(1),
+ /**
+ *
+ *
+ * + * Cannot write to Bigtable because the instance, table, or app profile + * does not exist. + *+ * + *
NOT_FOUND = 2;
+ */
+ NOT_FOUND(2),
+ /**
+ *
+ *
+ * + * Cannot write to Bigtable because the app profile is not configured for + * single-cluster routing. + *+ * + *
APP_PROFILE_MISCONFIGURED = 3;
+ */
+ APP_PROFILE_MISCONFIGURED(3),
+ /**
+ *
+ *
+ *
+ * Cannot write to Bigtable because of permission denied errors.
+ * This can happen if:
+ * - The Pub/Sub service agent has not been granted the
+ * [appropriate Bigtable IAM permission
+ * bigtable.tables.mutateRows]({$universe.dns_names.final_documentation_domain}/bigtable/docs/access-control#permissions)
+ * - The bigtable.googleapis.com API is not enabled for the project
+ * ([instructions]({$universe.dns_names.final_documentation_domain}/service-usage/docs/enable-disable))
+ *
+ *
+ * PERMISSION_DENIED = 4;
+ */
+ PERMISSION_DENIED(4),
+ /**
+ *
+ *
+ *
+ * Cannot write to Bigtable because of a missing column family ("data") or
+ * if there is no structured row key for the subscription name + message ID.
+ *
+ *
+ * SCHEMA_MISMATCH = 5;
+ */
+ SCHEMA_MISMATCH(5),
+ /**
+ *
+ *
+ * + * Cannot write to the destination because enforce_in_transit is set to true + * and the destination locations are not in the allowed regions. + *+ * + *
IN_TRANSIT_LOCATION_RESTRICTION = 6;
+ */
+ IN_TRANSIT_LOCATION_RESTRICTION(6),
+ /**
+ *
+ *
+ * + * Cannot write to Bigtable because the table is not in the same location as + * where Vertex AI models used in `message_transform`s are deployed. + *+ * + *
VERTEX_AI_LOCATION_RESTRICTION = 7;
+ */
+ VERTEX_AI_LOCATION_RESTRICTION(7),
+ UNRECOGNIZED(-1),
+ ;
+
+ static {
+ com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
+ com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
+ /* major= */ 4,
+ /* minor= */ 33,
+ /* patch= */ 2,
+ /* suffix= */ "",
+ "State");
+ }
+
+ /**
+ *
+ *
+ * + * Default value. This value is unused. + *+ * + *
STATE_UNSPECIFIED = 0;
+ */
+ public static final int STATE_UNSPECIFIED_VALUE = 0;
+
+ /**
+ *
+ *
+ * + * The subscription can actively send messages to Bigtable. + *+ * + *
ACTIVE = 1;
+ */
+ public static final int ACTIVE_VALUE = 1;
+
+ /**
+ *
+ *
+ * + * Cannot write to Bigtable because the instance, table, or app profile + * does not exist. + *+ * + *
NOT_FOUND = 2;
+ */
+ public static final int NOT_FOUND_VALUE = 2;
+
+ /**
+ *
+ *
+ * + * Cannot write to Bigtable because the app profile is not configured for + * single-cluster routing. + *+ * + *
APP_PROFILE_MISCONFIGURED = 3;
+ */
+ public static final int APP_PROFILE_MISCONFIGURED_VALUE = 3;
+
+ /**
+ *
+ *
+ *
+ * Cannot write to Bigtable because of permission denied errors.
+ * This can happen if:
+ * - The Pub/Sub service agent has not been granted the
+ * [appropriate Bigtable IAM permission
+ * bigtable.tables.mutateRows]({$universe.dns_names.final_documentation_domain}/bigtable/docs/access-control#permissions)
+ * - The bigtable.googleapis.com API is not enabled for the project
+ * ([instructions]({$universe.dns_names.final_documentation_domain}/service-usage/docs/enable-disable))
+ *
+ *
+ * PERMISSION_DENIED = 4;
+ */
+ public static final int PERMISSION_DENIED_VALUE = 4;
+
+ /**
+ *
+ *
+ *
+ * Cannot write to Bigtable because of a missing column family ("data") or
+ * if there is no structured row key for the subscription name + message ID.
+ *
+ *
+ * SCHEMA_MISMATCH = 5;
+ */
+ public static final int SCHEMA_MISMATCH_VALUE = 5;
+
+ /**
+ *
+ *
+ * + * Cannot write to the destination because enforce_in_transit is set to true + * and the destination locations are not in the allowed regions. + *+ * + *
IN_TRANSIT_LOCATION_RESTRICTION = 6;
+ */
+ public static final int IN_TRANSIT_LOCATION_RESTRICTION_VALUE = 6;
+
+ /**
+ *
+ *
+ * + * Cannot write to Bigtable because the table is not in the same location as + * where Vertex AI models used in `message_transform`s are deployed. + *+ * + *
VERTEX_AI_LOCATION_RESTRICTION = 7;
+ */
+ public static final int VERTEX_AI_LOCATION_RESTRICTION_VALUE = 7;
+
+ public final int getNumber() {
+ if (this == UNRECOGNIZED) {
+ throw new java.lang.IllegalArgumentException(
+ "Can't get the number of an unknown enum value.");
+ }
+ return value;
+ }
+
+ /**
+ * @param value The numeric wire value of the corresponding enum entry.
+ * @return The enum associated with the given numeric wire value.
+ * @deprecated Use {@link #forNumber(int)} instead.
+ */
+ @java.lang.Deprecated
+ public static State valueOf(int value) {
+ return forNumber(value);
+ }
+
+ /**
+ * @param value The numeric wire value of the corresponding enum entry.
+ * @return The enum associated with the given numeric wire value.
+ */
+ public static State forNumber(int value) {
+ switch (value) {
+ case 0:
+ return STATE_UNSPECIFIED;
+ case 1:
+ return ACTIVE;
+ case 2:
+ return NOT_FOUND;
+ case 3:
+ return APP_PROFILE_MISCONFIGURED;
+ case 4:
+ return PERMISSION_DENIED;
+ case 5:
+ return SCHEMA_MISMATCH;
+ case 6:
+ return IN_TRANSIT_LOCATION_RESTRICTION;
+ case 7:
+ return VERTEX_AI_LOCATION_RESTRICTION;
+ default:
+ return null;
+ }
+ }
+
+ public static com.google.protobuf.Internal.EnumLiteMap+ * Optional. The unique name of the table to write messages to. + * + * Values are of the form + * `projects/<project>/instances/<instance>/tables/<table>`. + *+ * + *
string table = 1 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return The table.
+ */
+ @java.lang.Override
+ public java.lang.String getTable() {
+ java.lang.Object ref = table_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ table_ = s;
+ return s;
+ }
+ }
+
+ /**
+ *
+ *
+ * + * Optional. The unique name of the table to write messages to. + * + * Values are of the form + * `projects/<project>/instances/<instance>/tables/<table>`. + *+ * + *
string table = 1 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return The bytes for table.
+ */
+ @java.lang.Override
+ public com.google.protobuf.ByteString getTableBytes() {
+ java.lang.Object ref = table_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
+ table_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int APP_PROFILE_ID_FIELD_NUMBER = 2;
+
+ @SuppressWarnings("serial")
+ private volatile java.lang.Object appProfileId_ = "";
+
+ /**
+ *
+ *
+ * + * Optional. The app profile to use for the Bigtable writes. If not specified, + * the "default" application profile will be used. The app profile must use + * single-cluster routing. + *+ * + *
string app_profile_id = 2 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return The appProfileId.
+ */
+ @java.lang.Override
+ public java.lang.String getAppProfileId() {
+ java.lang.Object ref = appProfileId_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ appProfileId_ = s;
+ return s;
+ }
+ }
+
+ /**
+ *
+ *
+ * + * Optional. The app profile to use for the Bigtable writes. If not specified, + * the "default" application profile will be used. The app profile must use + * single-cluster routing. + *+ * + *
string app_profile_id = 2 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return The bytes for appProfileId.
+ */
+ @java.lang.Override
+ public com.google.protobuf.ByteString getAppProfileIdBytes() {
+ java.lang.Object ref = appProfileId_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
+ appProfileId_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int SERVICE_ACCOUNT_EMAIL_FIELD_NUMBER = 3;
+
+ @SuppressWarnings("serial")
+ private volatile java.lang.Object serviceAccountEmail_ = "";
+
+ /**
+ *
+ *
+ *
+ * Optional. The service account to use to write to Bigtable. The subscription
+ * creator or updater that specifies this field must have
+ * `iam.serviceAccounts.actAs` permission on the service account. If not
+ * specified, the Pub/Sub [service
+ * agent](https://cloud.google.com/iam/docs/service-agents),
+ * service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com, is used.
+ *
+ *
+ * string service_account_email = 3 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return The serviceAccountEmail.
+ */
+ @java.lang.Override
+ public java.lang.String getServiceAccountEmail() {
+ java.lang.Object ref = serviceAccountEmail_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ serviceAccountEmail_ = s;
+ return s;
+ }
+ }
+
+ /**
+ *
+ *
+ *
+ * Optional. The service account to use to write to Bigtable. The subscription
+ * creator or updater that specifies this field must have
+ * `iam.serviceAccounts.actAs` permission on the service account. If not
+ * specified, the Pub/Sub [service
+ * agent](https://cloud.google.com/iam/docs/service-agents),
+ * service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com, is used.
+ *
+ *
+ * string service_account_email = 3 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return The bytes for serviceAccountEmail.
+ */
+ @java.lang.Override
+ public com.google.protobuf.ByteString getServiceAccountEmailBytes() {
+ java.lang.Object ref = serviceAccountEmail_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
+ serviceAccountEmail_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int WRITE_METADATA_FIELD_NUMBER = 5;
+ private boolean writeMetadata_ = false;
+
+ /**
+ *
+ *
+ * + * Optional. When true, write the subscription name, message_id, publish_time, + * attributes, and ordering_key to additional columns in the table under the + * pubsub_metadata column family. The subscription name, message_id, and + * publish_time fields are put in their own columns while all other message + * properties (other than data) are written to a JSON object in the attributes + * column. + *+ * + *
bool write_metadata = 5 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return The writeMetadata.
+ */
+ @java.lang.Override
+ public boolean getWriteMetadata() {
+ return writeMetadata_;
+ }
+
+ public static final int STATE_FIELD_NUMBER = 4;
+ private int state_ = 0;
+
+ /**
+ *
+ *
+ * + * Output only. An output-only field that indicates whether or not the + * subscription can receive messages. + *+ * + *
+ * .google.pubsub.v1.BigtableConfig.State state = 4 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ *
+ * @return The enum numeric value on the wire for state.
+ */
+ @java.lang.Override
+ public int getStateValue() {
+ return state_;
+ }
+
+ /**
+ *
+ *
+ * + * Output only. An output-only field that indicates whether or not the + * subscription can receive messages. + *+ * + *
+ * .google.pubsub.v1.BigtableConfig.State state = 4 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ *
+ * @return The state.
+ */
+ @java.lang.Override
+ public com.google.pubsub.v1.BigtableConfig.State getState() {
+ com.google.pubsub.v1.BigtableConfig.State result =
+ com.google.pubsub.v1.BigtableConfig.State.forNumber(state_);
+ return result == null ? com.google.pubsub.v1.BigtableConfig.State.UNRECOGNIZED : result;
+ }
+
+ 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 (!com.google.protobuf.GeneratedMessage.isStringEmpty(table_)) {
+ com.google.protobuf.GeneratedMessage.writeString(output, 1, table_);
+ }
+ if (!com.google.protobuf.GeneratedMessage.isStringEmpty(appProfileId_)) {
+ com.google.protobuf.GeneratedMessage.writeString(output, 2, appProfileId_);
+ }
+ if (!com.google.protobuf.GeneratedMessage.isStringEmpty(serviceAccountEmail_)) {
+ com.google.protobuf.GeneratedMessage.writeString(output, 3, serviceAccountEmail_);
+ }
+ if (state_ != com.google.pubsub.v1.BigtableConfig.State.STATE_UNSPECIFIED.getNumber()) {
+ output.writeEnum(4, state_);
+ }
+ if (writeMetadata_ != false) {
+ output.writeBool(5, writeMetadata_);
+ }
+ getUnknownFields().writeTo(output);
+ }
+
+ @java.lang.Override
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (!com.google.protobuf.GeneratedMessage.isStringEmpty(table_)) {
+ size += com.google.protobuf.GeneratedMessage.computeStringSize(1, table_);
+ }
+ if (!com.google.protobuf.GeneratedMessage.isStringEmpty(appProfileId_)) {
+ size += com.google.protobuf.GeneratedMessage.computeStringSize(2, appProfileId_);
+ }
+ if (!com.google.protobuf.GeneratedMessage.isStringEmpty(serviceAccountEmail_)) {
+ size += com.google.protobuf.GeneratedMessage.computeStringSize(3, serviceAccountEmail_);
+ }
+ if (state_ != com.google.pubsub.v1.BigtableConfig.State.STATE_UNSPECIFIED.getNumber()) {
+ size += com.google.protobuf.CodedOutputStream.computeEnumSize(4, state_);
+ }
+ if (writeMetadata_ != false) {
+ size += com.google.protobuf.CodedOutputStream.computeBoolSize(5, writeMetadata_);
+ }
+ 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.pubsub.v1.BigtableConfig)) {
+ return super.equals(obj);
+ }
+ com.google.pubsub.v1.BigtableConfig other = (com.google.pubsub.v1.BigtableConfig) obj;
+
+ if (!getTable().equals(other.getTable())) return false;
+ if (!getAppProfileId().equals(other.getAppProfileId())) return false;
+ if (!getServiceAccountEmail().equals(other.getServiceAccountEmail())) return false;
+ if (getWriteMetadata() != other.getWriteMetadata()) return false;
+ if (state_ != other.state_) 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();
+ hash = (37 * hash) + TABLE_FIELD_NUMBER;
+ hash = (53 * hash) + getTable().hashCode();
+ hash = (37 * hash) + APP_PROFILE_ID_FIELD_NUMBER;
+ hash = (53 * hash) + getAppProfileId().hashCode();
+ hash = (37 * hash) + SERVICE_ACCOUNT_EMAIL_FIELD_NUMBER;
+ hash = (53 * hash) + getServiceAccountEmail().hashCode();
+ hash = (37 * hash) + WRITE_METADATA_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getWriteMetadata());
+ hash = (37 * hash) + STATE_FIELD_NUMBER;
+ hash = (53 * hash) + state_;
+ hash = (29 * hash) + getUnknownFields().hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static com.google.pubsub.v1.BigtableConfig parseFrom(java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.pubsub.v1.BigtableConfig parseFrom(
+ java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.pubsub.v1.BigtableConfig parseFrom(com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.pubsub.v1.BigtableConfig 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.pubsub.v1.BigtableConfig parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.pubsub.v1.BigtableConfig parseFrom(
+ byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.pubsub.v1.BigtableConfig parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input);
+ }
+
+ public static com.google.pubsub.v1.BigtableConfig 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.pubsub.v1.BigtableConfig parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input);
+ }
+
+ public static com.google.pubsub.v1.BigtableConfig 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.pubsub.v1.BigtableConfig parseFrom(
+ com.google.protobuf.CodedInputStream input) throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input);
+ }
+
+ public static com.google.pubsub.v1.BigtableConfig 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.pubsub.v1.BigtableConfig 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;
+ }
+
+ /**
+ *
+ *
+ * + * Configuration for a Bigtable subscription. The Pub/Sub message will be + * written to a Bigtable row as follows: + * - row key: subscription name and message ID delimited by #. + * - columns: message bytes written to a single column family "data" with an + * empty-string column qualifier. + * - cell timestamp: the message publish timestamp. + *+ * + * Protobuf type {@code google.pubsub.v1.BigtableConfig} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder
+ * Optional. The unique name of the table to write messages to. + * + * Values are of the form + * `projects/<project>/instances/<instance>/tables/<table>`. + *+ * + *
string table = 1 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return The table.
+ */
+ public java.lang.String getTable() {
+ java.lang.Object ref = table_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ table_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+
+ /**
+ *
+ *
+ * + * Optional. The unique name of the table to write messages to. + * + * Values are of the form + * `projects/<project>/instances/<instance>/tables/<table>`. + *+ * + *
string table = 1 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return The bytes for table.
+ */
+ public com.google.protobuf.ByteString getTableBytes() {
+ java.lang.Object ref = table_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
+ table_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ /**
+ *
+ *
+ * + * Optional. The unique name of the table to write messages to. + * + * Values are of the form + * `projects/<project>/instances/<instance>/tables/<table>`. + *+ * + *
string table = 1 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @param value The table to set.
+ * @return This builder for chaining.
+ */
+ public Builder setTable(java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ table_ = value;
+ bitField0_ |= 0x00000001;
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ * + * Optional. The unique name of the table to write messages to. + * + * Values are of the form + * `projects/<project>/instances/<instance>/tables/<table>`. + *+ * + *
string table = 1 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return This builder for chaining.
+ */
+ public Builder clearTable() {
+ table_ = getDefaultInstance().getTable();
+ bitField0_ = (bitField0_ & ~0x00000001);
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ * + * Optional. The unique name of the table to write messages to. + * + * Values are of the form + * `projects/<project>/instances/<instance>/tables/<table>`. + *+ * + *
string table = 1 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @param value The bytes for table to set.
+ * @return This builder for chaining.
+ */
+ public Builder setTableBytes(com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+ table_ = value;
+ bitField0_ |= 0x00000001;
+ onChanged();
+ return this;
+ }
+
+ private java.lang.Object appProfileId_ = "";
+
+ /**
+ *
+ *
+ * + * Optional. The app profile to use for the Bigtable writes. If not specified, + * the "default" application profile will be used. The app profile must use + * single-cluster routing. + *+ * + *
string app_profile_id = 2 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return The appProfileId.
+ */
+ public java.lang.String getAppProfileId() {
+ java.lang.Object ref = appProfileId_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ appProfileId_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+
+ /**
+ *
+ *
+ * + * Optional. The app profile to use for the Bigtable writes. If not specified, + * the "default" application profile will be used. The app profile must use + * single-cluster routing. + *+ * + *
string app_profile_id = 2 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return The bytes for appProfileId.
+ */
+ public com.google.protobuf.ByteString getAppProfileIdBytes() {
+ java.lang.Object ref = appProfileId_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
+ appProfileId_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ /**
+ *
+ *
+ * + * Optional. The app profile to use for the Bigtable writes. If not specified, + * the "default" application profile will be used. The app profile must use + * single-cluster routing. + *+ * + *
string app_profile_id = 2 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @param value The appProfileId to set.
+ * @return This builder for chaining.
+ */
+ public Builder setAppProfileId(java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ appProfileId_ = value;
+ bitField0_ |= 0x00000002;
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ * + * Optional. The app profile to use for the Bigtable writes. If not specified, + * the "default" application profile will be used. The app profile must use + * single-cluster routing. + *+ * + *
string app_profile_id = 2 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return This builder for chaining.
+ */
+ public Builder clearAppProfileId() {
+ appProfileId_ = getDefaultInstance().getAppProfileId();
+ bitField0_ = (bitField0_ & ~0x00000002);
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ * + * Optional. The app profile to use for the Bigtable writes. If not specified, + * the "default" application profile will be used. The app profile must use + * single-cluster routing. + *+ * + *
string app_profile_id = 2 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @param value The bytes for appProfileId to set.
+ * @return This builder for chaining.
+ */
+ public Builder setAppProfileIdBytes(com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+ appProfileId_ = value;
+ bitField0_ |= 0x00000002;
+ onChanged();
+ return this;
+ }
+
+ private java.lang.Object serviceAccountEmail_ = "";
+
+ /**
+ *
+ *
+ *
+ * Optional. The service account to use to write to Bigtable. The subscription
+ * creator or updater that specifies this field must have
+ * `iam.serviceAccounts.actAs` permission on the service account. If not
+ * specified, the Pub/Sub [service
+ * agent](https://cloud.google.com/iam/docs/service-agents),
+ * service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com, is used.
+ *
+ *
+ * string service_account_email = 3 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return The serviceAccountEmail.
+ */
+ public java.lang.String getServiceAccountEmail() {
+ java.lang.Object ref = serviceAccountEmail_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ serviceAccountEmail_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+
+ /**
+ *
+ *
+ *
+ * Optional. The service account to use to write to Bigtable. The subscription
+ * creator or updater that specifies this field must have
+ * `iam.serviceAccounts.actAs` permission on the service account. If not
+ * specified, the Pub/Sub [service
+ * agent](https://cloud.google.com/iam/docs/service-agents),
+ * service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com, is used.
+ *
+ *
+ * string service_account_email = 3 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return The bytes for serviceAccountEmail.
+ */
+ public com.google.protobuf.ByteString getServiceAccountEmailBytes() {
+ java.lang.Object ref = serviceAccountEmail_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
+ serviceAccountEmail_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ /**
+ *
+ *
+ *
+ * Optional. The service account to use to write to Bigtable. The subscription
+ * creator or updater that specifies this field must have
+ * `iam.serviceAccounts.actAs` permission on the service account. If not
+ * specified, the Pub/Sub [service
+ * agent](https://cloud.google.com/iam/docs/service-agents),
+ * service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com, is used.
+ *
+ *
+ * string service_account_email = 3 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @param value The serviceAccountEmail to set.
+ * @return This builder for chaining.
+ */
+ public Builder setServiceAccountEmail(java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ serviceAccountEmail_ = value;
+ bitField0_ |= 0x00000004;
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ *
+ * Optional. The service account to use to write to Bigtable. The subscription
+ * creator or updater that specifies this field must have
+ * `iam.serviceAccounts.actAs` permission on the service account. If not
+ * specified, the Pub/Sub [service
+ * agent](https://cloud.google.com/iam/docs/service-agents),
+ * service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com, is used.
+ *
+ *
+ * string service_account_email = 3 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return This builder for chaining.
+ */
+ public Builder clearServiceAccountEmail() {
+ serviceAccountEmail_ = getDefaultInstance().getServiceAccountEmail();
+ bitField0_ = (bitField0_ & ~0x00000004);
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ *
+ * Optional. The service account to use to write to Bigtable. The subscription
+ * creator or updater that specifies this field must have
+ * `iam.serviceAccounts.actAs` permission on the service account. If not
+ * specified, the Pub/Sub [service
+ * agent](https://cloud.google.com/iam/docs/service-agents),
+ * service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com, is used.
+ *
+ *
+ * string service_account_email = 3 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @param value The bytes for serviceAccountEmail to set.
+ * @return This builder for chaining.
+ */
+ public Builder setServiceAccountEmailBytes(com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+ serviceAccountEmail_ = value;
+ bitField0_ |= 0x00000004;
+ onChanged();
+ return this;
+ }
+
+ private boolean writeMetadata_;
+
+ /**
+ *
+ *
+ * + * Optional. When true, write the subscription name, message_id, publish_time, + * attributes, and ordering_key to additional columns in the table under the + * pubsub_metadata column family. The subscription name, message_id, and + * publish_time fields are put in their own columns while all other message + * properties (other than data) are written to a JSON object in the attributes + * column. + *+ * + *
bool write_metadata = 5 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return The writeMetadata.
+ */
+ @java.lang.Override
+ public boolean getWriteMetadata() {
+ return writeMetadata_;
+ }
+
+ /**
+ *
+ *
+ * + * Optional. When true, write the subscription name, message_id, publish_time, + * attributes, and ordering_key to additional columns in the table under the + * pubsub_metadata column family. The subscription name, message_id, and + * publish_time fields are put in their own columns while all other message + * properties (other than data) are written to a JSON object in the attributes + * column. + *+ * + *
bool write_metadata = 5 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @param value The writeMetadata to set.
+ * @return This builder for chaining.
+ */
+ public Builder setWriteMetadata(boolean value) {
+
+ writeMetadata_ = value;
+ bitField0_ |= 0x00000008;
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ * + * Optional. When true, write the subscription name, message_id, publish_time, + * attributes, and ordering_key to additional columns in the table under the + * pubsub_metadata column family. The subscription name, message_id, and + * publish_time fields are put in their own columns while all other message + * properties (other than data) are written to a JSON object in the attributes + * column. + *+ * + *
bool write_metadata = 5 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return This builder for chaining.
+ */
+ public Builder clearWriteMetadata() {
+ bitField0_ = (bitField0_ & ~0x00000008);
+ writeMetadata_ = false;
+ onChanged();
+ return this;
+ }
+
+ private int state_ = 0;
+
+ /**
+ *
+ *
+ * + * Output only. An output-only field that indicates whether or not the + * subscription can receive messages. + *+ * + *
+ * .google.pubsub.v1.BigtableConfig.State state = 4 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ *
+ * @return The enum numeric value on the wire for state.
+ */
+ @java.lang.Override
+ public int getStateValue() {
+ return state_;
+ }
+
+ /**
+ *
+ *
+ * + * Output only. An output-only field that indicates whether or not the + * subscription can receive messages. + *+ * + *
+ * .google.pubsub.v1.BigtableConfig.State state = 4 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ *
+ * @param value The enum numeric value on the wire for state to set.
+ * @return This builder for chaining.
+ */
+ public Builder setStateValue(int value) {
+ state_ = value;
+ bitField0_ |= 0x00000010;
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ * + * Output only. An output-only field that indicates whether or not the + * subscription can receive messages. + *+ * + *
+ * .google.pubsub.v1.BigtableConfig.State state = 4 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ *
+ * @return The state.
+ */
+ @java.lang.Override
+ public com.google.pubsub.v1.BigtableConfig.State getState() {
+ com.google.pubsub.v1.BigtableConfig.State result =
+ com.google.pubsub.v1.BigtableConfig.State.forNumber(state_);
+ return result == null ? com.google.pubsub.v1.BigtableConfig.State.UNRECOGNIZED : result;
+ }
+
+ /**
+ *
+ *
+ * + * Output only. An output-only field that indicates whether or not the + * subscription can receive messages. + *+ * + *
+ * .google.pubsub.v1.BigtableConfig.State state = 4 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ *
+ * @param value The state to set.
+ * @return This builder for chaining.
+ */
+ public Builder setState(com.google.pubsub.v1.BigtableConfig.State value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000010;
+ state_ = value.getNumber();
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ * + * Output only. An output-only field that indicates whether or not the + * subscription can receive messages. + *+ * + *
+ * .google.pubsub.v1.BigtableConfig.State state = 4 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ *
+ * @return This builder for chaining.
+ */
+ public Builder clearState() {
+ bitField0_ = (bitField0_ & ~0x00000010);
+ state_ = 0;
+ onChanged();
+ return this;
+ }
+
+ // @@protoc_insertion_point(builder_scope:google.pubsub.v1.BigtableConfig)
+ }
+
+ // @@protoc_insertion_point(class_scope:google.pubsub.v1.BigtableConfig)
+ private static final com.google.pubsub.v1.BigtableConfig DEFAULT_INSTANCE;
+
+ static {
+ DEFAULT_INSTANCE = new com.google.pubsub.v1.BigtableConfig();
+ }
+
+ public static com.google.pubsub.v1.BigtableConfig getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser+ * Optional. The unique name of the table to write messages to. + * + * Values are of the form + * `projects/<project>/instances/<instance>/tables/<table>`. + *+ * + *
string table = 1 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return The table.
+ */
+ java.lang.String getTable();
+
+ /**
+ *
+ *
+ * + * Optional. The unique name of the table to write messages to. + * + * Values are of the form + * `projects/<project>/instances/<instance>/tables/<table>`. + *+ * + *
string table = 1 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return The bytes for table.
+ */
+ com.google.protobuf.ByteString getTableBytes();
+
+ /**
+ *
+ *
+ * + * Optional. The app profile to use for the Bigtable writes. If not specified, + * the "default" application profile will be used. The app profile must use + * single-cluster routing. + *+ * + *
string app_profile_id = 2 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return The appProfileId.
+ */
+ java.lang.String getAppProfileId();
+
+ /**
+ *
+ *
+ * + * Optional. The app profile to use for the Bigtable writes. If not specified, + * the "default" application profile will be used. The app profile must use + * single-cluster routing. + *+ * + *
string app_profile_id = 2 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return The bytes for appProfileId.
+ */
+ com.google.protobuf.ByteString getAppProfileIdBytes();
+
+ /**
+ *
+ *
+ *
+ * Optional. The service account to use to write to Bigtable. The subscription
+ * creator or updater that specifies this field must have
+ * `iam.serviceAccounts.actAs` permission on the service account. If not
+ * specified, the Pub/Sub [service
+ * agent](https://cloud.google.com/iam/docs/service-agents),
+ * service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com, is used.
+ *
+ *
+ * string service_account_email = 3 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return The serviceAccountEmail.
+ */
+ java.lang.String getServiceAccountEmail();
+
+ /**
+ *
+ *
+ *
+ * Optional. The service account to use to write to Bigtable. The subscription
+ * creator or updater that specifies this field must have
+ * `iam.serviceAccounts.actAs` permission on the service account. If not
+ * specified, the Pub/Sub [service
+ * agent](https://cloud.google.com/iam/docs/service-agents),
+ * service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com, is used.
+ *
+ *
+ * string service_account_email = 3 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return The bytes for serviceAccountEmail.
+ */
+ com.google.protobuf.ByteString getServiceAccountEmailBytes();
+
+ /**
+ *
+ *
+ * + * Optional. When true, write the subscription name, message_id, publish_time, + * attributes, and ordering_key to additional columns in the table under the + * pubsub_metadata column family. The subscription name, message_id, and + * publish_time fields are put in their own columns while all other message + * properties (other than data) are written to a JSON object in the attributes + * column. + *+ * + *
bool write_metadata = 5 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return The writeMetadata.
+ */
+ boolean getWriteMetadata();
+
+ /**
+ *
+ *
+ * + * Output only. An output-only field that indicates whether or not the + * subscription can receive messages. + *+ * + *
+ * .google.pubsub.v1.BigtableConfig.State state = 4 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ *
+ * @return The enum numeric value on the wire for state.
+ */
+ int getStateValue();
+
+ /**
+ *
+ *
+ * + * Output only. An output-only field that indicates whether or not the + * subscription can receive messages. + *+ * + *
+ * .google.pubsub.v1.BigtableConfig.State state = 4 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ *
+ * @return The state.
+ */
+ com.google.pubsub.v1.BigtableConfig.State getState();
+}
diff --git a/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/PubsubProto.java b/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/PubsubProto.java
index 4717d7ebf..10ab7cdd2 100644
--- a/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/PubsubProto.java
+++ b/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/PubsubProto.java
@@ -268,6 +268,10 @@ public static void registerAllExtensions(com.google.protobuf.ExtensionRegistry r
internal_static_google_pubsub_v1_BigQueryConfig_descriptor;
static final com.google.protobuf.GeneratedMessage.FieldAccessorTable
internal_static_google_pubsub_v1_BigQueryConfig_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_google_pubsub_v1_BigtableConfig_descriptor;
+ static final com.google.protobuf.GeneratedMessage.FieldAccessorTable
+ internal_static_google_pubsub_v1_BigtableConfig_fieldAccessorTable;
static final com.google.protobuf.Descriptors.Descriptor
internal_static_google_pubsub_v1_CloudStorageConfig_descriptor;
static final com.google.protobuf.GeneratedMessage.FieldAccessorTable
@@ -718,7 +722,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "\031DetachSubscriptionRequest\022@\n"
+ "\014subscription\030\001 \001(\tB*\340A\002\372A$\n"
+ "\"pubsub.googleapis.com/Subscription\"\034\n"
- + "\032DetachSubscriptionResponse\"\250\014\n"
+ + "\032DetachSubscriptionResponse\"\350\014\n"
+ "\014Subscription\022\024\n"
+ "\004name\030\001 \001(\tB\006\340A\002\340A\010\0222\n"
+ "\005topic\030\002 \001(\tB#\340A\002\372A\035\n"
@@ -728,13 +732,15 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "\017bigquery_config\030\022 \001(\0132"
+ " .google.pubsub.v1.BigQueryConfigB\003\340A\001\022G\n"
+ "\024cloud_storage_config\030\026"
- + " \001(\0132$.google.pubsub.v1.CloudStorageConfigB\003\340A\001\022!\n"
+ + " \001(\0132$.google.pubsub.v1.CloudStorageConfigB\003\340A\001\022>\n"
+ + "\017bigtable_config\030\033 \001(\0132"
+ + " .google.pubsub.v1.BigtableConfigB\003\340A\001\022!\n"
+ "\024ack_deadline_seconds\030\005 \001(\005B\003\340A\001\022\"\n"
+ "\025retain_acked_messages\030\007 \001(\010B\003\340A\001\022B\n"
+ "\032message_retention_duration\030\010"
+ " \001(\0132\031.google.protobuf.DurationB\003\340A\001\022?\n"
- + "\006labels\030\t"
- + " \003(\0132*.google.pubsub.v1.Subscription.LabelsEntryB\003\340A\001\022$\n"
+ + "\006labels\030\t \003(\0132*.g"
+ + "oogle.pubsub.v1.Subscription.LabelsEntryB\003\340A\001\022$\n"
+ "\027enable_message_ordering\030\n"
+ " \001(\010B\003\340A\001\022B\n"
+ "\021expiration_policy\030\013"
@@ -749,8 +755,8 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ " topic_message_retention_duration\030\021"
+ " \001(\0132\031.google.protobuf.DurationB\003\340A\003\0228\n"
+ "\005state\030\023 \001(\0162$.google.pubsub.v1.Subscription.StateB\003\340A\003\022i\n"
- + "\037analytics_hub_subscription_info\030\027 \001(\0132;.goo"
- + "gle.pubsub.v1.Subscription.AnalyticsHubSubscriptionInfoB\003\340A\003\022C\n"
+ + "\037analytics_hub_subscription_info\030\027 \001(\0132;.google.pubsub.v1.Su"
+ + "bscription.AnalyticsHubSubscriptionInfoB\003\340A\003\022C\n"
+ "\022message_transforms\030\031"
+ " \003(\0132\".google.pubsub.v1.MessageTransformB\003\340A\001\022A\n"
+ "\004tags\030\032 \003(\0132(.google.pubsub.v1.Subscription.TagsEntryB"
@@ -769,8 +775,8 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "\021STATE_UNSPECIFIED\020\000\022\n\n"
+ "\006ACTIVE\020\001\022\022\n"
+ "\016RESOURCE_ERROR\020\002:u\352Ar\n"
- + "\"pubsub.googleapis.com/Subscription\022/proj"
- + "ects/{project}/subscriptions/{subscription}*\r"
+ + "\"pubsub.googleapi"
+ + "s.com/Subscription\022/projects/{project}/subscriptions/{subscription}*\r"
+ "subscriptions2\014subscription\"\177\n"
+ "\013RetryPolicy\0227\n"
+ "\017minimum_backoff\030\001"
@@ -784,12 +790,12 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "\003ttl\030\001 \001(\0132\031.google.protobuf.DurationB\003\340A\001\"\232\004\n\n"
+ "PushConfig\022\032\n\r"
+ "push_endpoint\030\001 \001(\tB\003\340A\001\022E\n\n"
- + "attributes\030\002"
- + " \003(\0132,.google.pubsub.v1.PushConfig.AttributesEntryB\003\340A\001\022A\n\n"
- + "oidc_token\030\003 \001(\013"
- + "2&.google.pubsub.v1.PushConfig.OidcTokenB\003\340A\001H\000\022I\n"
- + "\016pubsub_wrapper\030\004 \001(\0132*.google"
- + ".pubsub.v1.PushConfig.PubsubWrapperB\003\340A\001H\001\022A\n\n"
+ + "attributes\030\002 \003(\0132,.goog"
+ + "le.pubsub.v1.PushConfig.AttributesEntryB\003\340A\001\022A\n\n"
+ + "oidc_token\030\003"
+ + " \001(\0132&.google.pubsub.v1.PushConfig.OidcTokenB\003\340A\001H\000\022I\n"
+ + "\016pubsub_wrapper\030\004"
+ + " \001(\0132*.google.pubsub.v1.PushConfig.PubsubWrapperB\003\340A\001H\001\022A\n\n"
+ "no_wrapper\030\005"
+ " \001(\0132&.google.pubsub.v1.PushConfig.NoWrapperB\003\340A\001H\001\032F\n"
+ "\tOidcToken\022\"\n"
@@ -808,8 +814,8 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "\020use_topic_schema\030\002 \001(\010B\003\340A\001\022\033\n"
+ "\016write_metadata\030\003 \001(\010B\003\340A\001\022 \n"
+ "\023drop_unknown_fields\030\004 \001(\010B\003\340A\001\022:\n"
- + "\005state\030\005 \001(\0162&.go"
- + "ogle.pubsub.v1.BigQueryConfig.StateB\003\340A\003\022\035\n"
+ + "\005state\030\005"
+ + " \001(\0162&.google.pubsub.v1.BigQueryConfig.StateB\003\340A\003\022\035\n"
+ "\020use_table_schema\030\006 \001(\010B\003\340A\001\022\"\n"
+ "\025service_account_email\030\007 \001(\tB\003\340A\001\"\256\001\n"
+ "\005State\022\025\n"
@@ -819,17 +825,33 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "\tNOT_FOUND\020\003\022\023\n"
+ "\017SCHEMA_MISMATCH\020\004\022#\n"
+ "\037IN_TRANSIT_LOCATION_RESTRICTION\020\005\022\"\n"
- + "\036VERTEX_AI_LOCATION_RESTRICTION\020\006\"\215\006\n"
+ + "\036VERTEX_AI_LOCATION_RESTRICTION\020\006\"\216\003\n"
+ + "\016BigtableConfig\022\022\n"
+ + "\005table\030\001 \001(\tB\003\340A\001\022\033\n"
+ + "\016app_profile_id\030\002 \001(\tB\003\340A\001\022\"\n"
+ + "\025service_account_email\030\003 \001(\tB\003\340A\001\022\033\n"
+ + "\016write_metadata\030\005 \001(\010B\003\340A\001\022:\n"
+ + "\005state\030\004"
+ + " \001(\0162&.google.pubsub.v1.BigtableConfig.StateB\003\340A\003\"\315\001\n"
+ + "\005State\022\025\n"
+ + "\021STATE_UNSPECIFIED\020\000\022\n\n"
+ + "\006ACTIVE\020\001\022\r\n"
+ + "\tNOT_FOUND\020\002\022\035\n"
+ + "\031APP_PROFILE_MISCONFIGURED\020\003\022\025\n"
+ + "\021PERMISSION_DENIED\020\004\022\023\n"
+ + "\017SCHEMA_MISMATCH\020\005\022#\n"
+ + "\037IN_TRANSIT_LOCATION_RESTRICTION\020\006\022\"\n"
+ + "\036VERTEX_AI_LOCATION_RESTRICTION\020\007\"\215\006\n"
+ "\022CloudStorageConfig\022\023\n"
+ "\006bucket\030\001 \001(\tB\003\340A\002\022\034\n"
+ "\017filename_prefix\030\002 \001(\tB\003\340A\001\022\034\n"
+ "\017filename_suffix\030\003 \001(\tB\003\340A\001\022%\n"
+ "\030filename_datetime_format\030\n"
+ " \001(\tB\003\340A\001\022K\n"
- + "\013text_config\030\004"
- + " \001(\0132/.google.pubsub.v1.CloudStorageConfig.TextConfigB\003\340A\001H\000\022K\n"
- + "\013avro_config\030\005"
- + " \001(\0132/.google.pubsub.v1.CloudStorageConfig.AvroConfigB\003\340A\001H\000\0224\n"
+ + "\013text_config\030\004 \001(\0132/.goog"
+ + "le.pubsub.v1.CloudStorageConfig.TextConfigB\003\340A\001H\000\022K\n"
+ + "\013avro_config\030\005 \001(\0132/.google."
+ + "pubsub.v1.CloudStorageConfig.AvroConfigB\003\340A\001H\000\0224\n"
+ "\014max_duration\030\006"
+ " \001(\0132\031.google.protobuf.DurationB\003\340A\001\022\026\n"
+ "\tmax_bytes\030\007 \001(\003B\003\340A\001\022\031\n"
@@ -859,8 +881,8 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "\014subscription\030\001 \001(\tB*\340A\002\372A$\n"
+ "\"pubsub.googleapis.com/Subscription\"\214\001\n"
+ "\031UpdateSubscriptionRequest\0229\n"
- + "\014subscription\030\001"
- + " \001(\0132\036.google.pubsub.v1.SubscriptionB\003\340A\002\0224\n"
+ + "\014subscription\030\001 "
+ + "\001(\0132\036.google.pubsub.v1.SubscriptionB\003\340A\002\0224\n"
+ "\013update_mask\030\002"
+ " \001(\0132\032.google.protobuf.FieldMaskB\003\340A\002\"\221\001\n"
+ "\030ListSubscriptionsRequest\022D\n"
@@ -912,168 +934,179 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "\025StreamingPullResponse\022A\n"
+ "\021received_messages\030\001"
+ " \003(\0132!.google.pubsub.v1.ReceivedMessageB\003\340A\001\022f\n"
- + "\030acknowledge_confirmation\030\005 \001(\0132?"
- + ".google.pubsub.v1.StreamingPullResponse.AcknowledgeConfirmationB\003\340A\001\022t\n"
- + " modify_ack_deadline_confirmation\030\003 \001(\0132E.google."
- + "pubsub.v1.StreamingPullResponse.ModifyAckDeadlineConfirmationB\003\340A\001\022d\n"
- + "\027subscription_properties\030\004 \001(\0132>.google.pubsub.v1.S"
- + "treamingPullResponse.SubscriptionPropertiesB\003\340A\001\032\224\001\n"
- + "\027AcknowledgeConfirmation\022\024\n"
- + "\007ack_ids\030\001 \003(\tB\003\340A\001\022\034\n"
- + "\017invalid_ack_ids\030\002 \003(\tB\003\340A\001\022\036\n"
- + "\021unordered_ack_ids\030\003 \003(\tB\003\340A\001\022%\n"
- + "\030temporary_failed_ack_ids\030\004 \003(\tB\003\340A\001\032",
- "z\n"
- + "\035ModifyAckDeadlineConfirmation\022\024\n"
- + "\007ack_ids\030\001 \003(\tB\003\340A\001\022\034\n"
- + "\017invalid_ack_ids\030\002 \003(\tB\003\340A\001\022%\n"
- + "\030temporary_failed_ack_ids\030\003 \003(\tB\003\340A\001\032k\n"
- + "\026SubscriptionProperties\022*\n"
- + "\035exactly_once_delivery_enabled\030\001 \001(\010B\003\340A\001\022%\n"
- + "\030message_ordering_enabled\030\002 \001(\010B\003\340A\001\"\201\003\n"
- + "\025CreateSnapshotRequest\0224\n"
- + "\004name\030\001 \001(\tB&\340A\002\372A \n"
- + "\036pubsub.googleapis.com/Snapshot\022@\n"
- + "\014subscription\030\002 \001(\tB*\340A\002\372A$\n"
- + "\"pubsub.googleapis.com/Subscription\022H\n"
- + "\006labels\030\003 \003(\01323.goo"
- + "gle.pubsub.v1.CreateSnapshotRequest.LabelsEntryB\003\340A\001\022J\n"
- + "\004tags\030\004 \003(\01321.google.pubsub.v1.CreateSnapshotRequest.TagsEntryB"
- + "\t\340A\004\340A\005\340A\001\032-\n"
- + "\013LabelsEntry\022\013\n"
- + "\003key\030\001 \001(\t\022\r\n"
- + "\005value\030\002 \001(\t:\0028\001\032+\n"
- + "\tTagsEntry\022\013\n"
- + "\003key\030\001 \001(\t\022\r\n"
- + "\005value\030\002 \001(\t:\0028\001\"\200\001\n"
- + "\025UpdateSnapshotRequest\0221\n"
- + "\010snapshot\030\001 \001(\0132\032.google.pubsub.v1.SnapshotB\003\340A\002\0224\n"
- + "\013update_mask\030\002"
- + " \001(\0132\032.google.protobuf.FieldMaskB\003\340A\002\"\326\002\n"
- + "\010Snapshot\022\021\n"
- + "\004name\030\001 \001(\tB\003\340A\001\0222\n"
- + "\005topic\030\002 \001(\tB#\340A\001\372A\035\n"
- + "\033pubsub.googleapis.com/Topic\0224\n"
- + "\013expire_time\030\003 \001(\0132\032.google.protobuf.TimestampB\003\340A\001\022;\n"
- + "\006labels\030\004"
- + " \003(\0132&.google.pubsub.v1.Snapshot.LabelsEntryB\003\340A\001\032-\n"
- + "\013LabelsEntry\022\013\n"
- + "\003key\030\001 \001(\t\022\r\n"
- + "\005value\030\002 \001(\t:\0028\001:a\352A^\n"
- + "\036pubsub.googleapis.com/Snapshot\022\'projects/{project}/snapshots/{snapshot}*"
- + "\tsnapshots2\010snapshot\"N\n"
- + "\022GetSnapshotRequest\0228\n"
- + "\010snapshot\030\001 \001(\tB&\340A\002\372A \n"
- + "\036pubsub.googleapis.com/Snapshot\"\215\001\n"
- + "\024ListSnapshotsRequest\022D\n"
- + "\007project\030\001 \001(\tB3\340A\002\372A-\n"
- + "+cloudresourcemanager.googleapis.com/Project\022\026\n"
- + "\tpage_size\030\002 \001(\005B\003\340A\001\022\027\n\n"
- + "page_token\030\003 \001(\tB\003\340A\001\"i\n"
- + "\025ListSnapshotsResponse\0222\n"
- + "\tsnapshots\030\001 \003(\0132\032.google.pubsub.v1.SnapshotB\003\340A\001\022\034\n"
- + "\017next_page_token\030\002 \001(\tB\003\340A\001\"Q\n"
- + "\025DeleteSnapshotRequest\0228\n"
- + "\010snapshot\030\001 \001(\tB&\340A\002\372A \n"
- + "\036pubsub.googleapis.com/Snapshot\"\306\001\n"
- + "\013SeekRequest\022@\n"
- + "\014subscription\030\001 \001(\tB*\340A\002\372A$\n"
- + "\"pubsub.googleapis.com/Subscription\022/\n"
- + "\004time\030\002 \001(\0132\032.google.protobuf.TimestampB\003\340A\001H\000\022:\n"
- + "\010snapshot\030\003 \001(\tB&\340A\001\372A \n"
- + "\036pubsub.googleapis.com/SnapshotH\000B\010\n"
- + "\006target\"\016\n"
- + "\014SeekResponse2\270\013\n"
- + "\tPublisher\022q\n"
- + "\013CreateTopic\022\027.google.pubsub.v1.Topic\032\027.google.pubsub.v1"
- + ".Topic\"0\332A\004name\202\323\344\223\002#\032\036/v1/{name=projects/*/topics/*}:\001*\022\221\001\n"
- + "\013UpdateTopic\022$.google.pubsub.v1.UpdateTopicRequest\032\027.google."
- + "pubsub.v1.Topic\"C\332A\021topic,update_mask\202\323\344"
- + "\223\002)2$/v1/{topic.name=projects/*/topics/*}:\001*\022\223\001\n"
- + "\007Publish\022 .google.pubsub.v1.PublishRequest\032!.google.pubsub.v1.PublishRes"
- + "ponse\"C\332A\016topic,messages\202\323\344\223\002,\"\'/v1/{topic=projects/*/topics/*}:publish:\001*\022w\n"
- + "\010GetTopic\022!.google.pubsub.v1.GetTopicReques"
- + "t\032\027.google.pubsub.v1.Topic\"/\332A\005topic\202\323\344\223\002!\022\037/v1/{topic=projects/*/topics/*}\022\212\001\n\n"
- + "ListTopics\022#.google.pubsub.v1.ListTopicsRequest\032$.google.pubsub.v1.ListTopicsRes"
- + "ponse\"1\332A\007project\202\323\344\223\002!\022\037/v1/{project=projects/*}/topics\022\272\001\n"
- + "\026ListTopicSubscriptions\022/.google.pubsub.v1.ListTopicSubscrip"
- + "tionsRequest\0320.google.pubsub.v1.ListTopi"
- + "cSubscriptionsResponse\"=\332A\005topic\202\323\344\223\002/\022-"
- + "/v1/{topic=projects/*/topics/*}/subscriptions\022\252\001\n"
- + "\022ListTopicSnapshots\022+.google.pubsub.v1.ListTopicSnapshotsRequest\032,.goog"
- + "le.pubsub.v1.ListTopicSnapshotsResponse\""
- + "9\332A\005topic\202\323\344\223\002+\022)/v1/{topic=projects/*/topics/*}/snapshots\022|\n"
- + "\013DeleteTopic\022$.google.pubsub.v1.DeleteTopicRequest\032\026.google"
- + ".protobuf.Empty\"/\332A\005topic\202\323\344\223\002!*\037/v1/{topic=projects/*/topics/*}\022\255\001\n"
- + "\022DetachSubscription\022+.google.pubsub.v1.DetachSubscri"
- + "ptionRequest\032,.google.pubsub.v1.DetachSu"
- + "bscriptionResponse\"<\202\323\344\223\0026\"4/v1/{subscri"
- + "ption=projects/*/subscriptions/*}:detach"
- + "\032p\312A\025pubsub.googleapis.com\322AUhttps://www"
- + ".googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/pubsub2\322\025\n\n"
- + "Subscriber\022\264\001\n"
- + "\022CreateSubscription\022\036.google.pubsub.v1.Subscription\032\036.google.pubsub"
- + ".v1.Subscription\"^\332A+name,topic,push_con"
- + "fig,ack_deadline_seconds\202\323\344\223\002*\032%/v1/{name=projects/*/subscriptions/*}:\001*\022\241\001\n"
- + "\017GetSubscription\022(.google.pubsub.v1.GetSubsc"
- + "riptionRequest\032\036.google.pubsub.v1.Subscr"
- + "iption\"D\332A\014subscription\202\323\344\223\002/\022-/v1/{subscription=projects/*/subscriptions/*}\022\273\001\n"
- + "\022UpdateSubscription\022+.google.pubsub.v1.U"
- + "pdateSubscriptionRequest\032\036.google.pubsub"
- + ".v1.Subscription\"X\332A\030subscription,update"
- + "_mask\202\323\344\223\002722/v1/{subscription.name=projects/*/subscriptions/*}:\001*\022\246\001\n"
- + "\021ListSubscriptions\022*.google.pubsub.v1.ListSubscrip"
- + "tionsRequest\032+.google.pubsub.v1.ListSubs"
- + "criptionsResponse\"8\332A\007project\202\323\344\223\002(\022&/v1/{project=projects/*}/subscriptions\022\237\001\n"
- + "\022DeleteSubscription\022+.google.pubsub.v1.De"
- + "leteSubscriptionRequest\032\026.google.protobu"
- + "f.Empty\"D\332A\014subscription\202\323\344\223\002/*-/v1/{sub"
- + "scription=projects/*/subscriptions/*}\022\317\001\n"
- + "\021ModifyAckDeadline\022*.google.pubsub.v1.M"
- + "odifyAckDeadlineRequest\032\026.google.protobu"
- + "f.Empty\"v\332A)subscription,ack_ids,ack_dea"
- + "dline_seconds\202\323\344\223\002D\"?/v1/{subscription=p"
- + "rojects/*/subscriptions/*}:modifyAckDeadline:\001*\022\250\001\n"
- + "\013Acknowledge\022$.google.pubsub.v1.AcknowledgeRequest\032\026.google.protobuf."
- + "Empty\"[\332A\024subscription,ack_ids\202\323\344\223\002>\"9/v"
- + "1/{subscription=projects/*/subscriptions/*}:acknowledge:\001*\022\320\001\n"
- + "\004Pull\022\035.google.pubsub.v1.PullRequest\032\036.google.pubsub.v1.Pu"
- + "llResponse\"\210\001\332A,subscription,return_imme"
- + "diately,max_messages\332A\031subscription,max_"
- + "messages\202\323\344\223\0027\"2/v1/{subscription=projects/*/subscriptions/*}:pull:\001*\022f\n\r"
- + "StreamingPull\022&.google.pubsub.v1.StreamingPullR"
- + "equest\032\'.google.pubsub.v1.StreamingPullResponse\"\000(\0010\001\022\273\001\n"
- + "\020ModifyPushConfig\022).google.pubsub.v1.ModifyPushConfigRequest\032\026."
- + "google.protobuf.Empty\"d\332A\030subscription,p"
- + "ush_config\202\323\344\223\002C\">/v1/{subscription=proj"
- + "ects/*/subscriptions/*}:modifyPushConfig:\001*\022\211\001\n"
- + "\013GetSnapshot\022$.google.pubsub.v1.GetSnapshotRequest\032\032.google.pubsub.v1.Sna"
- + "pshot\"8\332A\010snapshot\202\323\344\223\002\'\022%/v1/{snapshot=projects/*/snapshots/*}\022\226\001\n\r"
- + "ListSnapshots\022&.google.pubsub.v1.ListSnapshotsReques"
- + "t\032\'.google.pubsub.v1.ListSnapshotsRespon"
- + "se\"4\332A\007project\202\323\344\223\002$\022\"/v1/{project=projects/*}/snapshots\022\227\001\n"
- + "\016CreateSnapshot\022\'.google.pubsub.v1.CreateSnapshotRequest\032\032.g"
- + "oogle.pubsub.v1.Snapshot\"@\332A\021name,subscr"
- + "iption\202\323\344\223\002&\032!/v1/{name=projects/*/snapshots/*}:\001*\022\243\001\n"
- + "\016UpdateSnapshot\022\'.google.pubsub.v1.UpdateSnapshotRequest\032\032.google."
- + "pubsub.v1.Snapshot\"L\332A\024snapshot,update_m"
- + "ask\202\323\344\223\002/2*/v1/{snapshot.name=projects/*/snapshots/*}:\001*\022\213\001\n"
- + "\016DeleteSnapshot\022\'.google.pubsub.v1.DeleteSnapshotRequest\032\026.g"
- + "oogle.protobuf.Empty\"8\332A\010snapshot\202\323\344\223\002\'*"
- + "%/v1/{snapshot=projects/*/snapshots/*}\022\204\001\n"
- + "\004Seek\022\035.google.pubsub.v1.SeekRequest\032\036"
- + ".google.pubsub.v1.SeekResponse\"=\202\323\344\223\0027\"2"
- + "/v1/{subscription=projects/*/subscriptio"
- + "ns/*}:seek:\001*\032p\312A\025pubsub.googleapis.com\322"
- + "AUhttps://www.googleapis.com/auth/cloud-"
- + "platform,https://www.googleapis.com/auth/pubsubB\247\003\n"
- + "\024com.google.pubsub.v1B\013PubsubProtoP\001Z5cloud.google.com/go/pubsub/v2/a"
- + "piv1/pubsubpb;pubsubpb\252\002\026Google.Cloud.Pu"
- + "bSub.V1\312\002\026Google\\Cloud\\PubSub\\V1\352\002\031Google::Cloud::PubSub::V1\352Ax\n"
- + "!cloudkms.googleapis.com/CryptoKey\022Sprojects/{project}/l"
- + "ocations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}\352A\177\n"
- + "#analyticshub.googleapis.com/Listing\022Xprojects/{proje"
- + "ct}/locations/{location}/dataExchanges/{data_exchange}/listings/{listing}b\006proto3"
+ + "\030acknowl",
+ "edge_confirmation\030\005 \001(\0132?.google.pubsub."
+ + "v1.StreamingPullResponse.AcknowledgeConf"
+ + "irmationB\003\340A\001\022t\n modify_ack_deadline_con"
+ + "firmation\030\003 \001(\0132E.google.pubsub.v1.Strea"
+ + "mingPullResponse.ModifyAckDeadlineConfir"
+ + "mationB\003\340A\001\022d\n\027subscription_properties\030\004"
+ + " \001(\0132>.google.pubsub.v1.StreamingPullRes"
+ + "ponse.SubscriptionPropertiesB\003\340A\001\032\224\001\n\027Ac"
+ + "knowledgeConfirmation\022\024\n\007ack_ids\030\001 \003(\tB\003"
+ + "\340A\001\022\034\n\017invalid_ack_ids\030\002 \003(\tB\003\340A\001\022\036\n\021uno"
+ + "rdered_ack_ids\030\003 \003(\tB\003\340A\001\022%\n\030temporary_f"
+ + "ailed_ack_ids\030\004 \003(\tB\003\340A\001\032z\n\035ModifyAckDea"
+ + "dlineConfirmation\022\024\n\007ack_ids\030\001 \003(\tB\003\340A\001\022"
+ + "\034\n\017invalid_ack_ids\030\002 \003(\tB\003\340A\001\022%\n\030tempora"
+ + "ry_failed_ack_ids\030\003 \003(\tB\003\340A\001\032k\n\026Subscrip"
+ + "tionProperties\022*\n\035exactly_once_delivery_"
+ + "enabled\030\001 \001(\010B\003\340A\001\022%\n\030message_ordering_e"
+ + "nabled\030\002 \001(\010B\003\340A\001\"\201\003\n\025CreateSnapshotRequ"
+ + "est\0224\n\004name\030\001 \001(\tB&\340A\002\372A \n\036pubsub.google"
+ + "apis.com/Snapshot\022@\n\014subscription\030\002 \001(\tB"
+ + "*\340A\002\372A$\n\"pubsub.googleapis.com/Subscript"
+ + "ion\022H\n\006labels\030\003 \003(\01323.google.pubsub.v1.C"
+ + "reateSnapshotRequest.LabelsEntryB\003\340A\001\022J\n"
+ + "\004tags\030\004 \003(\01321.google.pubsub.v1.CreateSna"
+ + "pshotRequest.TagsEntryB\t\340A\004\340A\005\340A\001\032-\n\013Lab"
+ + "elsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001"
+ + "\032+\n\tTagsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001("
+ + "\t:\0028\001\"\200\001\n\025UpdateSnapshotRequest\0221\n\010snaps"
+ + "hot\030\001 \001(\0132\032.google.pubsub.v1.SnapshotB\003\340"
+ + "A\002\0224\n\013update_mask\030\002 \001(\0132\032.google.protobu"
+ + "f.FieldMaskB\003\340A\002\"\326\002\n\010Snapshot\022\021\n\004name\030\001 "
+ + "\001(\tB\003\340A\001\0222\n\005topic\030\002 \001(\tB#\340A\001\372A\035\n\033pubsub."
+ + "googleapis.com/Topic\0224\n\013expire_time\030\003 \001("
+ + "\0132\032.google.protobuf.TimestampB\003\340A\001\022;\n\006la"
+ + "bels\030\004 \003(\0132&.google.pubsub.v1.Snapshot.L"
+ + "abelsEntryB\003\340A\001\032-\n\013LabelsEntry\022\013\n\003key\030\001 "
+ + "\001(\t\022\r\n\005value\030\002 \001(\t:\0028\001:a\352A^\n\036pubsub.goog"
+ + "leapis.com/Snapshot\022\'projects/{project}/"
+ + "snapshots/{snapshot}*\tsnapshots2\010snapsho"
+ + "t\"N\n\022GetSnapshotRequest\0228\n\010snapshot\030\001 \001("
+ + "\tB&\340A\002\372A \n\036pubsub.googleapis.com/Snapsho"
+ + "t\"\215\001\n\024ListSnapshotsRequest\022D\n\007project\030\001 "
+ + "\001(\tB3\340A\002\372A-\n+cloudresourcemanager.google"
+ + "apis.com/Project\022\026\n\tpage_size\030\002 \001(\005B\003\340A\001"
+ + "\022\027\n\npage_token\030\003 \001(\tB\003\340A\001\"i\n\025ListSnapsho"
+ + "tsResponse\0222\n\tsnapshots\030\001 \003(\0132\032.google.p"
+ + "ubsub.v1.SnapshotB\003\340A\001\022\034\n\017next_page_toke"
+ + "n\030\002 \001(\tB\003\340A\001\"Q\n\025DeleteSnapshotRequest\0228\n"
+ + "\010snapshot\030\001 \001(\tB&\340A\002\372A \n\036pubsub.googleap"
+ + "is.com/Snapshot\"\306\001\n\013SeekRequest\022@\n\014subsc"
+ + "ription\030\001 \001(\tB*\340A\002\372A$\n\"pubsub.googleapis"
+ + ".com/Subscription\022/\n\004time\030\002 \001(\0132\032.google"
+ + ".protobuf.TimestampB\003\340A\001H\000\022:\n\010snapshot\030\003"
+ + " \001(\tB&\340A\001\372A \n\036pubsub.googleapis.com/Snap"
+ + "shotH\000B\010\n\006target\"\016\n\014SeekResponse2\270\013\n\tPub"
+ + "lisher\022q\n\013CreateTopic\022\027.google.pubsub.v1"
+ + ".Topic\032\027.google.pubsub.v1.Topic\"0\332A\004name"
+ + "\202\323\344\223\002#\032\036/v1/{name=projects/*/topics/*}:\001"
+ + "*\022\221\001\n\013UpdateTopic\022$.google.pubsub.v1.Upd"
+ + "ateTopicRequest\032\027.google.pubsub.v1.Topic"
+ + "\"C\332A\021topic,update_mask\202\323\344\223\002)2$/v1/{topic"
+ + ".name=projects/*/topics/*}:\001*\022\223\001\n\007Publis"
+ + "h\022 .google.pubsub.v1.PublishRequest\032!.go"
+ + "ogle.pubsub.v1.PublishResponse\"C\332A\016topic"
+ + ",messages\202\323\344\223\002,\"\'/v1/{topic=projects/*/t"
+ + "opics/*}:publish:\001*\022w\n\010GetTopic\022!.google"
+ + ".pubsub.v1.GetTopicRequest\032\027.google.pubs"
+ + "ub.v1.Topic\"/\332A\005topic\202\323\344\223\002!\022\037/v1/{topic="
+ + "projects/*/topics/*}\022\212\001\n\nListTopics\022#.go"
+ + "ogle.pubsub.v1.ListTopicsRequest\032$.googl"
+ + "e.pubsub.v1.ListTopicsResponse\"1\332A\007proje"
+ + "ct\202\323\344\223\002!\022\037/v1/{project=projects/*}/topic"
+ + "s\022\272\001\n\026ListTopicSubscriptions\022/.google.pu"
+ + "bsub.v1.ListTopicSubscriptionsRequest\0320."
+ + "google.pubsub.v1.ListTopicSubscriptionsR"
+ + "esponse\"=\332A\005topic\202\323\344\223\002/\022-/v1/{topic=proj"
+ + "ects/*/topics/*}/subscriptions\022\252\001\n\022ListT"
+ + "opicSnapshots\022+.google.pubsub.v1.ListTop"
+ + "icSnapshotsRequest\032,.google.pubsub.v1.Li"
+ + "stTopicSnapshotsResponse\"9\332A\005topic\202\323\344\223\002+"
+ + "\022)/v1/{topic=projects/*/topics/*}/snapsh"
+ + "ots\022|\n\013DeleteTopic\022$.google.pubsub.v1.De"
+ + "leteTopicRequest\032\026.google.protobuf.Empty"
+ + "\"/\332A\005topic\202\323\344\223\002!*\037/v1/{topic=projects/*/"
+ + "topics/*}\022\255\001\n\022DetachSubscription\022+.googl"
+ + "e.pubsub.v1.DetachSubscriptionRequest\032,."
+ + "google.pubsub.v1.DetachSubscriptionRespo"
+ + "nse\"<\202\323\344\223\0026\"4/v1/{subscription=projects/"
+ + "*/subscriptions/*}:detach\032p\312A\025pubsub.goo"
+ + "gleapis.com\322AUhttps://www.googleapis.com"
+ + "/auth/cloud-platform,https://www.googlea"
+ + "pis.com/auth/pubsub2\322\025\n\nSubscriber\022\264\001\n\022C"
+ + "reateSubscription\022\036.google.pubsub.v1.Sub"
+ + "scription\032\036.google.pubsub.v1.Subscriptio"
+ + "n\"^\332A+name,topic,push_config,ack_deadlin"
+ + "e_seconds\202\323\344\223\002*\032%/v1/{name=projects/*/su"
+ + "bscriptions/*}:\001*\022\241\001\n\017GetSubscription\022(."
+ + "google.pubsub.v1.GetSubscriptionRequest\032"
+ + "\036.google.pubsub.v1.Subscription\"D\332A\014subs"
+ + "cription\202\323\344\223\002/\022-/v1/{subscription=projec"
+ + "ts/*/subscriptions/*}\022\273\001\n\022UpdateSubscrip"
+ + "tion\022+.google.pubsub.v1.UpdateSubscripti"
+ + "onRequest\032\036.google.pubsub.v1.Subscriptio"
+ + "n\"X\332A\030subscription,update_mask\202\323\344\223\002722/v"
+ + "1/{subscription.name=projects/*/subscrip"
+ + "tions/*}:\001*\022\246\001\n\021ListSubscriptions\022*.goog"
+ + "le.pubsub.v1.ListSubscriptionsRequest\032+."
+ + "google.pubsub.v1.ListSubscriptionsRespon"
+ + "se\"8\332A\007project\202\323\344\223\002(\022&/v1/{project=proje"
+ + "cts/*}/subscriptions\022\237\001\n\022DeleteSubscript"
+ + "ion\022+.google.pubsub.v1.DeleteSubscriptio"
+ + "nRequest\032\026.google.protobuf.Empty\"D\332A\014sub"
+ + "scription\202\323\344\223\002/*-/v1/{subscription=proje"
+ + "cts/*/subscriptions/*}\022\317\001\n\021ModifyAckDead"
+ + "line\022*.google.pubsub.v1.ModifyAckDeadlin"
+ + "eRequest\032\026.google.protobuf.Empty\"v\332A)sub"
+ + "scription,ack_ids,ack_deadline_seconds\202\323"
+ + "\344\223\002D\"?/v1/{subscription=projects/*/subsc"
+ + "riptions/*}:modifyAckDeadline:\001*\022\250\001\n\013Ack"
+ + "nowledge\022$.google.pubsub.v1.AcknowledgeR"
+ + "equest\032\026.google.protobuf.Empty\"[\332A\024subsc"
+ + "ription,ack_ids\202\323\344\223\002>\"9/v1/{subscription"
+ + "=projects/*/subscriptions/*}:acknowledge"
+ + ":\001*\022\320\001\n\004Pull\022\035.google.pubsub.v1.PullRequ"
+ + "est\032\036.google.pubsub.v1.PullResponse\"\210\001\332A"
+ + ",subscription,return_immediately,max_mes"
+ + "sages\332A\031subscription,max_messages\202\323\344\223\0027\""
+ + "2/v1/{subscription=projects/*/subscripti"
+ + "ons/*}:pull:\001*\022f\n\rStreamingPull\022&.google"
+ + ".pubsub.v1.StreamingPullRequest\032\'.google"
+ + ".pubsub.v1.StreamingPullResponse\"\000(\0010\001\022\273"
+ + "\001\n\020ModifyPushConfig\022).google.pubsub.v1.M"
+ + "odifyPushConfigRequest\032\026.google.protobuf"
+ + ".Empty\"d\332A\030subscription,push_config\202\323\344\223\002"
+ + "C\">/v1/{subscription=projects/*/subscrip"
+ + "tions/*}:modifyPushConfig:\001*\022\211\001\n\013GetSnap"
+ + "shot\022$.google.pubsub.v1.GetSnapshotReque"
+ + "st\032\032.google.pubsub.v1.Snapshot\"8\332A\010snaps"
+ + "hot\202\323\344\223\002\'\022%/v1/{snapshot=projects/*/snap"
+ + "shots/*}\022\226\001\n\rListSnapshots\022&.google.pubs"
+ + "ub.v1.ListSnapshotsRequest\032\'.google.pubs"
+ + "ub.v1.ListSnapshotsResponse\"4\332A\007project\202"
+ + "\323\344\223\002$\022\"/v1/{project=projects/*}/snapshot"
+ + "s\022\227\001\n\016CreateSnapshot\022\'.google.pubsub.v1."
+ + "CreateSnapshotRequest\032\032.google.pubsub.v1"
+ + ".Snapshot\"@\332A\021name,subscription\202\323\344\223\002&\032!/"
+ + "v1/{name=projects/*/snapshots/*}:\001*\022\243\001\n\016"
+ + "UpdateSnapshot\022\'.google.pubsub.v1.Update"
+ + "SnapshotRequest\032\032.google.pubsub.v1.Snaps"
+ + "hot\"L\332A\024snapshot,update_mask\202\323\344\223\002/2*/v1/"
+ + "{snapshot.name=projects/*/snapshots/*}:\001"
+ + "*\022\213\001\n\016DeleteSnapshot\022\'.google.pubsub.v1."
+ + "DeleteSnapshotRequest\032\026.google.protobuf."
+ + "Empty\"8\332A\010snapshot\202\323\344\223\002\'*%/v1/{snapshot="
+ + "projects/*/snapshots/*}\022\204\001\n\004Seek\022\035.googl"
+ + "e.pubsub.v1.SeekRequest\032\036.google.pubsub."
+ + "v1.SeekResponse\"=\202\323\344\223\0027\"2/v1/{subscripti"
+ + "on=projects/*/subscriptions/*}:seek:\001*\032p"
+ + "\312A\025pubsub.googleapis.com\322AUhttps://www.g"
+ + "oogleapis.com/auth/cloud-platform,https:"
+ + "//www.googleapis.com/auth/pubsubB\247\003\n\024com"
+ + ".google.pubsub.v1B\013PubsubProtoP\001Z5cloud."
+ + "google.com/go/pubsub/v2/apiv1/pubsubpb;p"
+ + "ubsubpb\252\002\026Google.Cloud.PubSub.V1\312\002\026Googl"
+ + "e\\Cloud\\PubSub\\V1\352\002\031Google::Cloud::PubSu"
+ + "b::V1\352Ax\n!cloudkms.googleapis.com/Crypto"
+ + "Key\022Sprojects/{project}/locations/{locat"
+ + "ion}/keyRings/{key_ring}/cryptoKeys/{cry"
+ + "pto_key}\352A\177\n#analyticshub.googleapis.com"
+ + "/Listing\022Xprojects/{project}/locations/{"
+ + "location}/dataExchanges/{data_exchange}/"
+ + "listings/{listing}b\006proto3"
};
descriptor =
com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom(
@@ -1511,6 +1544,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
"PushConfig",
"BigqueryConfig",
"CloudStorageConfig",
+ "BigtableConfig",
"AckDeadlineSeconds",
"RetainAckedMessages",
"MessageRetentionDuration",
@@ -1631,8 +1665,15 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
"UseTableSchema",
"ServiceAccountEmail",
});
+ internal_static_google_pubsub_v1_BigtableConfig_descriptor = getDescriptor().getMessageType(29);
+ internal_static_google_pubsub_v1_BigtableConfig_fieldAccessorTable =
+ new com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+ internal_static_google_pubsub_v1_BigtableConfig_descriptor,
+ new java.lang.String[] {
+ "Table", "AppProfileId", "ServiceAccountEmail", "WriteMetadata", "State",
+ });
internal_static_google_pubsub_v1_CloudStorageConfig_descriptor =
- getDescriptor().getMessageType(29);
+ getDescriptor().getMessageType(30);
internal_static_google_pubsub_v1_CloudStorageConfig_fieldAccessorTable =
new com.google.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_google_pubsub_v1_CloudStorageConfig_descriptor,
@@ -1665,7 +1706,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
"WriteMetadata", "UseTopicSchema",
});
internal_static_google_pubsub_v1_ReceivedMessage_descriptor =
- getDescriptor().getMessageType(30);
+ getDescriptor().getMessageType(31);
internal_static_google_pubsub_v1_ReceivedMessage_fieldAccessorTable =
new com.google.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_google_pubsub_v1_ReceivedMessage_descriptor,
@@ -1673,7 +1714,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
"AckId", "Message", "DeliveryAttempt",
});
internal_static_google_pubsub_v1_GetSubscriptionRequest_descriptor =
- getDescriptor().getMessageType(31);
+ getDescriptor().getMessageType(32);
internal_static_google_pubsub_v1_GetSubscriptionRequest_fieldAccessorTable =
new com.google.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_google_pubsub_v1_GetSubscriptionRequest_descriptor,
@@ -1681,7 +1722,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
"Subscription",
});
internal_static_google_pubsub_v1_UpdateSubscriptionRequest_descriptor =
- getDescriptor().getMessageType(32);
+ getDescriptor().getMessageType(33);
internal_static_google_pubsub_v1_UpdateSubscriptionRequest_fieldAccessorTable =
new com.google.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_google_pubsub_v1_UpdateSubscriptionRequest_descriptor,
@@ -1689,7 +1730,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
"Subscription", "UpdateMask",
});
internal_static_google_pubsub_v1_ListSubscriptionsRequest_descriptor =
- getDescriptor().getMessageType(33);
+ getDescriptor().getMessageType(34);
internal_static_google_pubsub_v1_ListSubscriptionsRequest_fieldAccessorTable =
new com.google.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_google_pubsub_v1_ListSubscriptionsRequest_descriptor,
@@ -1697,7 +1738,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
"Project", "PageSize", "PageToken",
});
internal_static_google_pubsub_v1_ListSubscriptionsResponse_descriptor =
- getDescriptor().getMessageType(34);
+ getDescriptor().getMessageType(35);
internal_static_google_pubsub_v1_ListSubscriptionsResponse_fieldAccessorTable =
new com.google.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_google_pubsub_v1_ListSubscriptionsResponse_descriptor,
@@ -1705,7 +1746,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
"Subscriptions", "NextPageToken",
});
internal_static_google_pubsub_v1_DeleteSubscriptionRequest_descriptor =
- getDescriptor().getMessageType(35);
+ getDescriptor().getMessageType(36);
internal_static_google_pubsub_v1_DeleteSubscriptionRequest_fieldAccessorTable =
new com.google.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_google_pubsub_v1_DeleteSubscriptionRequest_descriptor,
@@ -1713,21 +1754,21 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
"Subscription",
});
internal_static_google_pubsub_v1_ModifyPushConfigRequest_descriptor =
- getDescriptor().getMessageType(36);
+ getDescriptor().getMessageType(37);
internal_static_google_pubsub_v1_ModifyPushConfigRequest_fieldAccessorTable =
new com.google.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_google_pubsub_v1_ModifyPushConfigRequest_descriptor,
new java.lang.String[] {
"Subscription", "PushConfig",
});
- internal_static_google_pubsub_v1_PullRequest_descriptor = getDescriptor().getMessageType(37);
+ internal_static_google_pubsub_v1_PullRequest_descriptor = getDescriptor().getMessageType(38);
internal_static_google_pubsub_v1_PullRequest_fieldAccessorTable =
new com.google.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_google_pubsub_v1_PullRequest_descriptor,
new java.lang.String[] {
"Subscription", "ReturnImmediately", "MaxMessages",
});
- internal_static_google_pubsub_v1_PullResponse_descriptor = getDescriptor().getMessageType(38);
+ internal_static_google_pubsub_v1_PullResponse_descriptor = getDescriptor().getMessageType(39);
internal_static_google_pubsub_v1_PullResponse_fieldAccessorTable =
new com.google.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_google_pubsub_v1_PullResponse_descriptor,
@@ -1735,7 +1776,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
"ReceivedMessages",
});
internal_static_google_pubsub_v1_ModifyAckDeadlineRequest_descriptor =
- getDescriptor().getMessageType(39);
+ getDescriptor().getMessageType(40);
internal_static_google_pubsub_v1_ModifyAckDeadlineRequest_fieldAccessorTable =
new com.google.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_google_pubsub_v1_ModifyAckDeadlineRequest_descriptor,
@@ -1743,7 +1784,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
"Subscription", "AckIds", "AckDeadlineSeconds",
});
internal_static_google_pubsub_v1_AcknowledgeRequest_descriptor =
- getDescriptor().getMessageType(40);
+ getDescriptor().getMessageType(41);
internal_static_google_pubsub_v1_AcknowledgeRequest_fieldAccessorTable =
new com.google.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_google_pubsub_v1_AcknowledgeRequest_descriptor,
@@ -1751,7 +1792,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
"Subscription", "AckIds",
});
internal_static_google_pubsub_v1_StreamingPullRequest_descriptor =
- getDescriptor().getMessageType(41);
+ getDescriptor().getMessageType(42);
internal_static_google_pubsub_v1_StreamingPullRequest_fieldAccessorTable =
new com.google.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_google_pubsub_v1_StreamingPullRequest_descriptor,
@@ -1767,7 +1808,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
"ProtocolVersion",
});
internal_static_google_pubsub_v1_StreamingPullResponse_descriptor =
- getDescriptor().getMessageType(42);
+ getDescriptor().getMessageType(43);
internal_static_google_pubsub_v1_StreamingPullResponse_fieldAccessorTable =
new com.google.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_google_pubsub_v1_StreamingPullResponse_descriptor,
@@ -1802,7 +1843,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
"ExactlyOnceDeliveryEnabled", "MessageOrderingEnabled",
});
internal_static_google_pubsub_v1_CreateSnapshotRequest_descriptor =
- getDescriptor().getMessageType(43);
+ getDescriptor().getMessageType(44);
internal_static_google_pubsub_v1_CreateSnapshotRequest_fieldAccessorTable =
new com.google.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_google_pubsub_v1_CreateSnapshotRequest_descriptor,
@@ -1826,14 +1867,14 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
"Key", "Value",
});
internal_static_google_pubsub_v1_UpdateSnapshotRequest_descriptor =
- getDescriptor().getMessageType(44);
+ getDescriptor().getMessageType(45);
internal_static_google_pubsub_v1_UpdateSnapshotRequest_fieldAccessorTable =
new com.google.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_google_pubsub_v1_UpdateSnapshotRequest_descriptor,
new java.lang.String[] {
"Snapshot", "UpdateMask",
});
- internal_static_google_pubsub_v1_Snapshot_descriptor = getDescriptor().getMessageType(45);
+ internal_static_google_pubsub_v1_Snapshot_descriptor = getDescriptor().getMessageType(46);
internal_static_google_pubsub_v1_Snapshot_fieldAccessorTable =
new com.google.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_google_pubsub_v1_Snapshot_descriptor,
@@ -1849,7 +1890,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
"Key", "Value",
});
internal_static_google_pubsub_v1_GetSnapshotRequest_descriptor =
- getDescriptor().getMessageType(46);
+ getDescriptor().getMessageType(47);
internal_static_google_pubsub_v1_GetSnapshotRequest_fieldAccessorTable =
new com.google.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_google_pubsub_v1_GetSnapshotRequest_descriptor,
@@ -1857,7 +1898,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
"Snapshot",
});
internal_static_google_pubsub_v1_ListSnapshotsRequest_descriptor =
- getDescriptor().getMessageType(47);
+ getDescriptor().getMessageType(48);
internal_static_google_pubsub_v1_ListSnapshotsRequest_fieldAccessorTable =
new com.google.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_google_pubsub_v1_ListSnapshotsRequest_descriptor,
@@ -1865,7 +1906,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
"Project", "PageSize", "PageToken",
});
internal_static_google_pubsub_v1_ListSnapshotsResponse_descriptor =
- getDescriptor().getMessageType(48);
+ getDescriptor().getMessageType(49);
internal_static_google_pubsub_v1_ListSnapshotsResponse_fieldAccessorTable =
new com.google.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_google_pubsub_v1_ListSnapshotsResponse_descriptor,
@@ -1873,21 +1914,21 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
"Snapshots", "NextPageToken",
});
internal_static_google_pubsub_v1_DeleteSnapshotRequest_descriptor =
- getDescriptor().getMessageType(49);
+ getDescriptor().getMessageType(50);
internal_static_google_pubsub_v1_DeleteSnapshotRequest_fieldAccessorTable =
new com.google.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_google_pubsub_v1_DeleteSnapshotRequest_descriptor,
new java.lang.String[] {
"Snapshot",
});
- internal_static_google_pubsub_v1_SeekRequest_descriptor = getDescriptor().getMessageType(50);
+ internal_static_google_pubsub_v1_SeekRequest_descriptor = getDescriptor().getMessageType(51);
internal_static_google_pubsub_v1_SeekRequest_fieldAccessorTable =
new com.google.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_google_pubsub_v1_SeekRequest_descriptor,
new java.lang.String[] {
"Subscription", "Time", "Snapshot", "Target",
});
- internal_static_google_pubsub_v1_SeekResponse_descriptor = getDescriptor().getMessageType(51);
+ internal_static_google_pubsub_v1_SeekResponse_descriptor = getDescriptor().getMessageType(52);
internal_static_google_pubsub_v1_SeekResponse_fieldAccessorTable =
new com.google.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_google_pubsub_v1_SeekResponse_descriptor, new java.lang.String[] {});
diff --git a/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/PullRequest.java b/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/PullRequest.java
index 54de83b87..79c5b0775 100644
--- a/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/PullRequest.java
+++ b/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/PullRequest.java
@@ -147,7 +147,7 @@ public com.google.protobuf.ByteString getSubscriptionBytes() {
*
*
* @deprecated google.pubsub.v1.PullRequest.return_immediately is deprecated. See
- * google/pubsub/v1/pubsub.proto;l=2098
+ * google/pubsub/v1/pubsub.proto;l=2180
* @return The returnImmediately.
*/
@java.lang.Override
@@ -673,7 +673,7 @@ public Builder setSubscriptionBytes(com.google.protobuf.ByteString value) {
*
*
* @deprecated google.pubsub.v1.PullRequest.return_immediately is deprecated. See
- * google/pubsub/v1/pubsub.proto;l=2098
+ * google/pubsub/v1/pubsub.proto;l=2180
* @return The returnImmediately.
*/
@java.lang.Override
@@ -700,7 +700,7 @@ public boolean getReturnImmediately() {
*
*
* @deprecated google.pubsub.v1.PullRequest.return_immediately is deprecated. See
- * google/pubsub/v1/pubsub.proto;l=2098
+ * google/pubsub/v1/pubsub.proto;l=2180
* @param value The returnImmediately to set.
* @return This builder for chaining.
*/
@@ -731,7 +731,7 @@ public Builder setReturnImmediately(boolean value) {
*
*
* @deprecated google.pubsub.v1.PullRequest.return_immediately is deprecated. See
- * google/pubsub/v1/pubsub.proto;l=2098
+ * google/pubsub/v1/pubsub.proto;l=2180
* @return This builder for chaining.
*/
@java.lang.Deprecated
diff --git a/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/PullRequestOrBuilder.java b/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/PullRequestOrBuilder.java
index ab3fd9f9d..1346ad309 100644
--- a/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/PullRequestOrBuilder.java
+++ b/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/PullRequestOrBuilder.java
@@ -75,7 +75,7 @@ public interface PullRequestOrBuilder
*
*
* @deprecated google.pubsub.v1.PullRequest.return_immediately is deprecated. See
- * google/pubsub/v1/pubsub.proto;l=2098
+ * google/pubsub/v1/pubsub.proto;l=2180
* @return The returnImmediately.
*/
@java.lang.Deprecated
diff --git a/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/Subscription.java b/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/Subscription.java
index 867496f2f..ab7ef789d 100644
--- a/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/Subscription.java
+++ b/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/Subscription.java
@@ -1458,6 +1458,68 @@ public com.google.pubsub.v1.CloudStorageConfigOrBuilder getCloudStorageConfigOrB
: cloudStorageConfig_;
}
+ public static final int BIGTABLE_CONFIG_FIELD_NUMBER = 27;
+ private com.google.pubsub.v1.BigtableConfig bigtableConfig_;
+
+ /**
+ *
+ *
+ * + * Optional. If delivery to Bigtable is used with this subscription, this + * field is used to configure it. + *+ * + *
+ * .google.pubsub.v1.BigtableConfig bigtable_config = 27 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ *
+ * @return Whether the bigtableConfig field is set.
+ */
+ @java.lang.Override
+ public boolean hasBigtableConfig() {
+ return ((bitField0_ & 0x00000008) != 0);
+ }
+
+ /**
+ *
+ *
+ * + * Optional. If delivery to Bigtable is used with this subscription, this + * field is used to configure it. + *+ * + *
+ * .google.pubsub.v1.BigtableConfig bigtable_config = 27 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ *
+ * @return The bigtableConfig.
+ */
+ @java.lang.Override
+ public com.google.pubsub.v1.BigtableConfig getBigtableConfig() {
+ return bigtableConfig_ == null
+ ? com.google.pubsub.v1.BigtableConfig.getDefaultInstance()
+ : bigtableConfig_;
+ }
+
+ /**
+ *
+ *
+ * + * Optional. If delivery to Bigtable is used with this subscription, this + * field is used to configure it. + *+ * + *
+ * .google.pubsub.v1.BigtableConfig bigtable_config = 27 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ @java.lang.Override
+ public com.google.pubsub.v1.BigtableConfigOrBuilder getBigtableConfigOrBuilder() {
+ return bigtableConfig_ == null
+ ? com.google.pubsub.v1.BigtableConfig.getDefaultInstance()
+ : bigtableConfig_;
+ }
+
public static final int ACK_DEADLINE_SECONDS_FIELD_NUMBER = 5;
private int ackDeadlineSeconds_ = 0;
@@ -1542,7 +1604,7 @@ public boolean getRetainAckedMessages() {
*/
@java.lang.Override
public boolean hasMessageRetentionDuration() {
- return ((bitField0_ & 0x00000008) != 0);
+ return ((bitField0_ & 0x00000010) != 0);
}
/**
@@ -1748,7 +1810,7 @@ public boolean getEnableMessageOrdering() {
*/
@java.lang.Override
public boolean hasExpirationPolicy() {
- return ((bitField0_ & 0x00000010) != 0);
+ return ((bitField0_ & 0x00000020) != 0);
}
/**
@@ -1887,7 +1949,7 @@ public com.google.protobuf.ByteString getFilterBytes() {
*/
@java.lang.Override
public boolean hasDeadLetterPolicy() {
- return ((bitField0_ & 0x00000020) != 0);
+ return ((bitField0_ & 0x00000040) != 0);
}
/**
@@ -1966,7 +2028,7 @@ public com.google.pubsub.v1.DeadLetterPolicyOrBuilder getDeadLetterPolicyOrBuild
*/
@java.lang.Override
public boolean hasRetryPolicy() {
- return ((bitField0_ & 0x00000040) != 0);
+ return ((bitField0_ & 0x00000080) != 0);
}
/**
@@ -2095,7 +2157,7 @@ public boolean getEnableExactlyOnceDelivery() {
*/
@java.lang.Override
public boolean hasTopicMessageRetentionDuration() {
- return ((bitField0_ & 0x00000080) != 0);
+ return ((bitField0_ & 0x00000100) != 0);
}
/**
@@ -2209,7 +2271,7 @@ public com.google.pubsub.v1.Subscription.State getState() {
*/
@java.lang.Override
public boolean hasAnalyticsHubSubscriptionInfo() {
- return ((bitField0_ & 0x00000100) != 0);
+ return ((bitField0_ & 0x00000200) != 0);
}
/**
@@ -2509,7 +2571,7 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io
if (retainAckedMessages_ != false) {
output.writeBool(7, retainAckedMessages_);
}
- if (((bitField0_ & 0x00000008) != 0)) {
+ if (((bitField0_ & 0x00000010) != 0)) {
output.writeMessage(8, getMessageRetentionDuration());
}
com.google.protobuf.GeneratedMessage.serializeStringMapTo(
@@ -2517,16 +2579,16 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io
if (enableMessageOrdering_ != false) {
output.writeBool(10, enableMessageOrdering_);
}
- if (((bitField0_ & 0x00000010) != 0)) {
+ if (((bitField0_ & 0x00000020) != 0)) {
output.writeMessage(11, getExpirationPolicy());
}
if (!com.google.protobuf.GeneratedMessage.isStringEmpty(filter_)) {
com.google.protobuf.GeneratedMessage.writeString(output, 12, filter_);
}
- if (((bitField0_ & 0x00000020) != 0)) {
+ if (((bitField0_ & 0x00000040) != 0)) {
output.writeMessage(13, getDeadLetterPolicy());
}
- if (((bitField0_ & 0x00000040) != 0)) {
+ if (((bitField0_ & 0x00000080) != 0)) {
output.writeMessage(14, getRetryPolicy());
}
if (detached_ != false) {
@@ -2535,7 +2597,7 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io
if (enableExactlyOnceDelivery_ != false) {
output.writeBool(16, enableExactlyOnceDelivery_);
}
- if (((bitField0_ & 0x00000080) != 0)) {
+ if (((bitField0_ & 0x00000100) != 0)) {
output.writeMessage(17, getTopicMessageRetentionDuration());
}
if (((bitField0_ & 0x00000002) != 0)) {
@@ -2547,7 +2609,7 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io
if (((bitField0_ & 0x00000004) != 0)) {
output.writeMessage(22, getCloudStorageConfig());
}
- if (((bitField0_ & 0x00000100) != 0)) {
+ if (((bitField0_ & 0x00000200) != 0)) {
output.writeMessage(23, getAnalyticsHubSubscriptionInfo());
}
for (int i = 0; i < messageTransforms_.size(); i++) {
@@ -2555,6 +2617,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io
}
com.google.protobuf.GeneratedMessage.serializeStringMapTo(
output, internalGetTags(), TagsDefaultEntryHolder.defaultEntry, 26);
+ if (((bitField0_ & 0x00000008) != 0)) {
+ output.writeMessage(27, getBigtableConfig());
+ }
getUnknownFields().writeTo(output);
}
@@ -2579,7 +2644,7 @@ public int getSerializedSize() {
if (retainAckedMessages_ != false) {
size += com.google.protobuf.CodedOutputStream.computeBoolSize(7, retainAckedMessages_);
}
- if (((bitField0_ & 0x00000008) != 0)) {
+ if (((bitField0_ & 0x00000010) != 0)) {
size +=
com.google.protobuf.CodedOutputStream.computeMessageSize(
8, getMessageRetentionDuration());
@@ -2597,16 +2662,16 @@ public int getSerializedSize() {
if (enableMessageOrdering_ != false) {
size += com.google.protobuf.CodedOutputStream.computeBoolSize(10, enableMessageOrdering_);
}
- if (((bitField0_ & 0x00000010) != 0)) {
+ if (((bitField0_ & 0x00000020) != 0)) {
size += com.google.protobuf.CodedOutputStream.computeMessageSize(11, getExpirationPolicy());
}
if (!com.google.protobuf.GeneratedMessage.isStringEmpty(filter_)) {
size += com.google.protobuf.GeneratedMessage.computeStringSize(12, filter_);
}
- if (((bitField0_ & 0x00000020) != 0)) {
+ if (((bitField0_ & 0x00000040) != 0)) {
size += com.google.protobuf.CodedOutputStream.computeMessageSize(13, getDeadLetterPolicy());
}
- if (((bitField0_ & 0x00000040) != 0)) {
+ if (((bitField0_ & 0x00000080) != 0)) {
size += com.google.protobuf.CodedOutputStream.computeMessageSize(14, getRetryPolicy());
}
if (detached_ != false) {
@@ -2615,7 +2680,7 @@ public int getSerializedSize() {
if (enableExactlyOnceDelivery_ != false) {
size += com.google.protobuf.CodedOutputStream.computeBoolSize(16, enableExactlyOnceDelivery_);
}
- if (((bitField0_ & 0x00000080) != 0)) {
+ if (((bitField0_ & 0x00000100) != 0)) {
size +=
com.google.protobuf.CodedOutputStream.computeMessageSize(
17, getTopicMessageRetentionDuration());
@@ -2629,7 +2694,7 @@ public int getSerializedSize() {
if (((bitField0_ & 0x00000004) != 0)) {
size += com.google.protobuf.CodedOutputStream.computeMessageSize(22, getCloudStorageConfig());
}
- if (((bitField0_ & 0x00000100) != 0)) {
+ if (((bitField0_ & 0x00000200) != 0)) {
size +=
com.google.protobuf.CodedOutputStream.computeMessageSize(
23, getAnalyticsHubSubscriptionInfo());
@@ -2648,6 +2713,9 @@ public int getSerializedSize() {
.build();
size += com.google.protobuf.CodedOutputStream.computeMessageSize(26, tags__);
}
+ if (((bitField0_ & 0x00000008) != 0)) {
+ size += com.google.protobuf.CodedOutputStream.computeMessageSize(27, getBigtableConfig());
+ }
size += getUnknownFields().getSerializedSize();
memoizedSize = size;
return size;
@@ -2677,6 +2745,10 @@ public boolean equals(final java.lang.Object obj) {
if (hasCloudStorageConfig()) {
if (!getCloudStorageConfig().equals(other.getCloudStorageConfig())) return false;
}
+ if (hasBigtableConfig() != other.hasBigtableConfig()) return false;
+ if (hasBigtableConfig()) {
+ if (!getBigtableConfig().equals(other.getBigtableConfig())) return false;
+ }
if (getAckDeadlineSeconds() != other.getAckDeadlineSeconds()) return false;
if (getRetainAckedMessages() != other.getRetainAckedMessages()) return false;
if (hasMessageRetentionDuration() != other.hasMessageRetentionDuration()) return false;
@@ -2741,6 +2813,10 @@ public int hashCode() {
hash = (37 * hash) + CLOUD_STORAGE_CONFIG_FIELD_NUMBER;
hash = (53 * hash) + getCloudStorageConfig().hashCode();
}
+ if (hasBigtableConfig()) {
+ hash = (37 * hash) + BIGTABLE_CONFIG_FIELD_NUMBER;
+ hash = (53 * hash) + getBigtableConfig().hashCode();
+ }
hash = (37 * hash) + ACK_DEADLINE_SECONDS_FIELD_NUMBER;
hash = (53 * hash) + getAckDeadlineSeconds();
hash = (37 * hash) + RETAIN_ACKED_MESSAGES_FIELD_NUMBER;
@@ -2962,6 +3038,7 @@ private void maybeForceBuilderInitialization() {
internalGetPushConfigFieldBuilder();
internalGetBigqueryConfigFieldBuilder();
internalGetCloudStorageConfigFieldBuilder();
+ internalGetBigtableConfigFieldBuilder();
internalGetMessageRetentionDurationFieldBuilder();
internalGetExpirationPolicyFieldBuilder();
internalGetDeadLetterPolicyFieldBuilder();
@@ -2993,6 +3070,11 @@ public Builder clear() {
cloudStorageConfigBuilder_.dispose();
cloudStorageConfigBuilder_ = null;
}
+ bigtableConfig_ = null;
+ if (bigtableConfigBuilder_ != null) {
+ bigtableConfigBuilder_.dispose();
+ bigtableConfigBuilder_ = null;
+ }
ackDeadlineSeconds_ = 0;
retainAckedMessages_ = false;
messageRetentionDuration_ = null;
@@ -3037,7 +3119,7 @@ public Builder clear() {
messageTransforms_ = null;
messageTransformsBuilder_.clear();
}
- bitField0_ = (bitField0_ & ~0x00080000);
+ bitField0_ = (bitField0_ & ~0x00100000);
internalGetMutableTags().clear();
return this;
}
@@ -3075,9 +3157,9 @@ public com.google.pubsub.v1.Subscription buildPartial() {
private void buildPartialRepeatedFields(com.google.pubsub.v1.Subscription result) {
if (messageTransformsBuilder_ == null) {
- if (((bitField0_ & 0x00080000) != 0)) {
+ if (((bitField0_ & 0x00100000) != 0)) {
messageTransforms_ = java.util.Collections.unmodifiableList(messageTransforms_);
- bitField0_ = (bitField0_ & ~0x00080000);
+ bitField0_ = (bitField0_ & ~0x00100000);
}
result.messageTransforms_ = messageTransforms_;
} else {
@@ -3111,67 +3193,72 @@ private void buildPartial0(com.google.pubsub.v1.Subscription result) {
to_bitField0_ |= 0x00000004;
}
if (((from_bitField0_ & 0x00000020) != 0)) {
- result.ackDeadlineSeconds_ = ackDeadlineSeconds_;
+ result.bigtableConfig_ =
+ bigtableConfigBuilder_ == null ? bigtableConfig_ : bigtableConfigBuilder_.build();
+ to_bitField0_ |= 0x00000008;
}
if (((from_bitField0_ & 0x00000040) != 0)) {
- result.retainAckedMessages_ = retainAckedMessages_;
+ result.ackDeadlineSeconds_ = ackDeadlineSeconds_;
}
if (((from_bitField0_ & 0x00000080) != 0)) {
+ result.retainAckedMessages_ = retainAckedMessages_;
+ }
+ if (((from_bitField0_ & 0x00000100) != 0)) {
result.messageRetentionDuration_ =
messageRetentionDurationBuilder_ == null
? messageRetentionDuration_
: messageRetentionDurationBuilder_.build();
- to_bitField0_ |= 0x00000008;
+ to_bitField0_ |= 0x00000010;
}
- if (((from_bitField0_ & 0x00000100) != 0)) {
+ if (((from_bitField0_ & 0x00000200) != 0)) {
result.labels_ = internalGetLabels();
result.labels_.makeImmutable();
}
- if (((from_bitField0_ & 0x00000200) != 0)) {
+ if (((from_bitField0_ & 0x00000400) != 0)) {
result.enableMessageOrdering_ = enableMessageOrdering_;
}
- if (((from_bitField0_ & 0x00000400) != 0)) {
+ if (((from_bitField0_ & 0x00000800) != 0)) {
result.expirationPolicy_ =
expirationPolicyBuilder_ == null ? expirationPolicy_ : expirationPolicyBuilder_.build();
- to_bitField0_ |= 0x00000010;
+ to_bitField0_ |= 0x00000020;
}
- if (((from_bitField0_ & 0x00000800) != 0)) {
+ if (((from_bitField0_ & 0x00001000) != 0)) {
result.filter_ = filter_;
}
- if (((from_bitField0_ & 0x00001000) != 0)) {
+ if (((from_bitField0_ & 0x00002000) != 0)) {
result.deadLetterPolicy_ =
deadLetterPolicyBuilder_ == null ? deadLetterPolicy_ : deadLetterPolicyBuilder_.build();
- to_bitField0_ |= 0x00000020;
+ to_bitField0_ |= 0x00000040;
}
- if (((from_bitField0_ & 0x00002000) != 0)) {
+ if (((from_bitField0_ & 0x00004000) != 0)) {
result.retryPolicy_ =
retryPolicyBuilder_ == null ? retryPolicy_ : retryPolicyBuilder_.build();
- to_bitField0_ |= 0x00000040;
+ to_bitField0_ |= 0x00000080;
}
- if (((from_bitField0_ & 0x00004000) != 0)) {
+ if (((from_bitField0_ & 0x00008000) != 0)) {
result.detached_ = detached_;
}
- if (((from_bitField0_ & 0x00008000) != 0)) {
+ if (((from_bitField0_ & 0x00010000) != 0)) {
result.enableExactlyOnceDelivery_ = enableExactlyOnceDelivery_;
}
- if (((from_bitField0_ & 0x00010000) != 0)) {
+ if (((from_bitField0_ & 0x00020000) != 0)) {
result.topicMessageRetentionDuration_ =
topicMessageRetentionDurationBuilder_ == null
? topicMessageRetentionDuration_
: topicMessageRetentionDurationBuilder_.build();
- to_bitField0_ |= 0x00000080;
+ to_bitField0_ |= 0x00000100;
}
- if (((from_bitField0_ & 0x00020000) != 0)) {
+ if (((from_bitField0_ & 0x00040000) != 0)) {
result.state_ = state_;
}
- if (((from_bitField0_ & 0x00040000) != 0)) {
+ if (((from_bitField0_ & 0x00080000) != 0)) {
result.analyticsHubSubscriptionInfo_ =
analyticsHubSubscriptionInfoBuilder_ == null
? analyticsHubSubscriptionInfo_
: analyticsHubSubscriptionInfoBuilder_.build();
- to_bitField0_ |= 0x00000100;
+ to_bitField0_ |= 0x00000200;
}
- if (((from_bitField0_ & 0x00100000) != 0)) {
+ if (((from_bitField0_ & 0x00200000) != 0)) {
result.tags_ = internalGetTags();
result.tags_.makeImmutable();
}
@@ -3209,6 +3296,9 @@ public Builder mergeFrom(com.google.pubsub.v1.Subscription other) {
if (other.hasCloudStorageConfig()) {
mergeCloudStorageConfig(other.getCloudStorageConfig());
}
+ if (other.hasBigtableConfig()) {
+ mergeBigtableConfig(other.getBigtableConfig());
+ }
if (other.getAckDeadlineSeconds() != 0) {
setAckDeadlineSeconds(other.getAckDeadlineSeconds());
}
@@ -3219,7 +3309,7 @@ public Builder mergeFrom(com.google.pubsub.v1.Subscription other) {
mergeMessageRetentionDuration(other.getMessageRetentionDuration());
}
internalGetMutableLabels().mergeFrom(other.internalGetLabels());
- bitField0_ |= 0x00000100;
+ bitField0_ |= 0x00000200;
if (other.getEnableMessageOrdering() != false) {
setEnableMessageOrdering(other.getEnableMessageOrdering());
}
@@ -3228,7 +3318,7 @@ public Builder mergeFrom(com.google.pubsub.v1.Subscription other) {
}
if (!other.getFilter().isEmpty()) {
filter_ = other.filter_;
- bitField0_ |= 0x00000800;
+ bitField0_ |= 0x00001000;
onChanged();
}
if (other.hasDeadLetterPolicy()) {
@@ -3256,7 +3346,7 @@ public Builder mergeFrom(com.google.pubsub.v1.Subscription other) {
if (!other.messageTransforms_.isEmpty()) {
if (messageTransforms_.isEmpty()) {
messageTransforms_ = other.messageTransforms_;
- bitField0_ = (bitField0_ & ~0x00080000);
+ bitField0_ = (bitField0_ & ~0x00100000);
} else {
ensureMessageTransformsIsMutable();
messageTransforms_.addAll(other.messageTransforms_);
@@ -3269,7 +3359,7 @@ public Builder mergeFrom(com.google.pubsub.v1.Subscription other) {
messageTransformsBuilder_.dispose();
messageTransformsBuilder_ = null;
messageTransforms_ = other.messageTransforms_;
- bitField0_ = (bitField0_ & ~0x00080000);
+ bitField0_ = (bitField0_ & ~0x00100000);
messageTransformsBuilder_ =
com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders
? internalGetMessageTransformsFieldBuilder()
@@ -3280,7 +3370,7 @@ public Builder mergeFrom(com.google.pubsub.v1.Subscription other) {
}
}
internalGetMutableTags().mergeFrom(other.internalGetTags());
- bitField0_ |= 0x00100000;
+ bitField0_ |= 0x00200000;
this.mergeUnknownFields(other.getUnknownFields());
onChanged();
return this;
@@ -3329,13 +3419,13 @@ public Builder mergeFrom(
case 40:
{
ackDeadlineSeconds_ = input.readInt32();
- bitField0_ |= 0x00000020;
+ bitField0_ |= 0x00000040;
break;
} // case 40
case 56:
{
retainAckedMessages_ = input.readBool();
- bitField0_ |= 0x00000040;
+ bitField0_ |= 0x00000080;
break;
} // case 56
case 66:
@@ -3343,7 +3433,7 @@ public Builder mergeFrom(
input.readMessage(
internalGetMessageRetentionDurationFieldBuilder().getBuilder(),
extensionRegistry);
- bitField0_ |= 0x00000080;
+ bitField0_ |= 0x00000100;
break;
} // case 66
case 74:
@@ -3355,52 +3445,52 @@ public Builder mergeFrom(
internalGetMutableLabels()
.getMutableMap()
.put(labels__.getKey(), labels__.getValue());
- bitField0_ |= 0x00000100;
+ bitField0_ |= 0x00000200;
break;
} // case 74
case 80:
{
enableMessageOrdering_ = input.readBool();
- bitField0_ |= 0x00000200;
+ bitField0_ |= 0x00000400;
break;
} // case 80
case 90:
{
input.readMessage(
internalGetExpirationPolicyFieldBuilder().getBuilder(), extensionRegistry);
- bitField0_ |= 0x00000400;
+ bitField0_ |= 0x00000800;
break;
} // case 90
case 98:
{
filter_ = input.readStringRequireUtf8();
- bitField0_ |= 0x00000800;
+ bitField0_ |= 0x00001000;
break;
} // case 98
case 106:
{
input.readMessage(
internalGetDeadLetterPolicyFieldBuilder().getBuilder(), extensionRegistry);
- bitField0_ |= 0x00001000;
+ bitField0_ |= 0x00002000;
break;
} // case 106
case 114:
{
input.readMessage(
internalGetRetryPolicyFieldBuilder().getBuilder(), extensionRegistry);
- bitField0_ |= 0x00002000;
+ bitField0_ |= 0x00004000;
break;
} // case 114
case 120:
{
detached_ = input.readBool();
- bitField0_ |= 0x00004000;
+ bitField0_ |= 0x00008000;
break;
} // case 120
case 128:
{
enableExactlyOnceDelivery_ = input.readBool();
- bitField0_ |= 0x00008000;
+ bitField0_ |= 0x00010000;
break;
} // case 128
case 138:
@@ -3408,7 +3498,7 @@ public Builder mergeFrom(
input.readMessage(
internalGetTopicMessageRetentionDurationFieldBuilder().getBuilder(),
extensionRegistry);
- bitField0_ |= 0x00010000;
+ bitField0_ |= 0x00020000;
break;
} // case 138
case 146:
@@ -3421,7 +3511,7 @@ public Builder mergeFrom(
case 152:
{
state_ = input.readEnum();
- bitField0_ |= 0x00020000;
+ bitField0_ |= 0x00040000;
break;
} // case 152
case 178:
@@ -3436,7 +3526,7 @@ public Builder mergeFrom(
input.readMessage(
internalGetAnalyticsHubSubscriptionInfoFieldBuilder().getBuilder(),
extensionRegistry);
- bitField0_ |= 0x00040000;
+ bitField0_ |= 0x00080000;
break;
} // case 186
case 202:
@@ -3458,9 +3548,16 @@ public Builder mergeFrom(
input.readMessage(
TagsDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry);
internalGetMutableTags().getMutableMap().put(tags__.getKey(), tags__.getValue());
- bitField0_ |= 0x00100000;
+ bitField0_ |= 0x00200000;
break;
} // case 210
+ case 218:
+ {
+ input.readMessage(
+ internalGetBigtableConfigFieldBuilder().getBuilder(), extensionRegistry);
+ bitField0_ |= 0x00000020;
+ break;
+ } // case 218
default:
{
if (!super.parseUnknownField(input, extensionRegistry, tag)) {
@@ -4413,6 +4510,227 @@ public com.google.pubsub.v1.CloudStorageConfigOrBuilder getCloudStorageConfigOrB
return cloudStorageConfigBuilder_;
}
+ private com.google.pubsub.v1.BigtableConfig bigtableConfig_;
+ private com.google.protobuf.SingleFieldBuilder<
+ com.google.pubsub.v1.BigtableConfig,
+ com.google.pubsub.v1.BigtableConfig.Builder,
+ com.google.pubsub.v1.BigtableConfigOrBuilder>
+ bigtableConfigBuilder_;
+
+ /**
+ *
+ *
+ * + * Optional. If delivery to Bigtable is used with this subscription, this + * field is used to configure it. + *+ * + *
+ * .google.pubsub.v1.BigtableConfig bigtable_config = 27 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ *
+ * @return Whether the bigtableConfig field is set.
+ */
+ public boolean hasBigtableConfig() {
+ return ((bitField0_ & 0x00000020) != 0);
+ }
+
+ /**
+ *
+ *
+ * + * Optional. If delivery to Bigtable is used with this subscription, this + * field is used to configure it. + *+ * + *
+ * .google.pubsub.v1.BigtableConfig bigtable_config = 27 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ *
+ * @return The bigtableConfig.
+ */
+ public com.google.pubsub.v1.BigtableConfig getBigtableConfig() {
+ if (bigtableConfigBuilder_ == null) {
+ return bigtableConfig_ == null
+ ? com.google.pubsub.v1.BigtableConfig.getDefaultInstance()
+ : bigtableConfig_;
+ } else {
+ return bigtableConfigBuilder_.getMessage();
+ }
+ }
+
+ /**
+ *
+ *
+ * + * Optional. If delivery to Bigtable is used with this subscription, this + * field is used to configure it. + *+ * + *
+ * .google.pubsub.v1.BigtableConfig bigtable_config = 27 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public Builder setBigtableConfig(com.google.pubsub.v1.BigtableConfig value) {
+ if (bigtableConfigBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bigtableConfig_ = value;
+ } else {
+ bigtableConfigBuilder_.setMessage(value);
+ }
+ bitField0_ |= 0x00000020;
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ * + * Optional. If delivery to Bigtable is used with this subscription, this + * field is used to configure it. + *+ * + *
+ * .google.pubsub.v1.BigtableConfig bigtable_config = 27 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public Builder setBigtableConfig(com.google.pubsub.v1.BigtableConfig.Builder builderForValue) {
+ if (bigtableConfigBuilder_ == null) {
+ bigtableConfig_ = builderForValue.build();
+ } else {
+ bigtableConfigBuilder_.setMessage(builderForValue.build());
+ }
+ bitField0_ |= 0x00000020;
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ * + * Optional. If delivery to Bigtable is used with this subscription, this + * field is used to configure it. + *+ * + *
+ * .google.pubsub.v1.BigtableConfig bigtable_config = 27 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public Builder mergeBigtableConfig(com.google.pubsub.v1.BigtableConfig value) {
+ if (bigtableConfigBuilder_ == null) {
+ if (((bitField0_ & 0x00000020) != 0)
+ && bigtableConfig_ != null
+ && bigtableConfig_ != com.google.pubsub.v1.BigtableConfig.getDefaultInstance()) {
+ getBigtableConfigBuilder().mergeFrom(value);
+ } else {
+ bigtableConfig_ = value;
+ }
+ } else {
+ bigtableConfigBuilder_.mergeFrom(value);
+ }
+ if (bigtableConfig_ != null) {
+ bitField0_ |= 0x00000020;
+ onChanged();
+ }
+ return this;
+ }
+
+ /**
+ *
+ *
+ * + * Optional. If delivery to Bigtable is used with this subscription, this + * field is used to configure it. + *+ * + *
+ * .google.pubsub.v1.BigtableConfig bigtable_config = 27 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public Builder clearBigtableConfig() {
+ bitField0_ = (bitField0_ & ~0x00000020);
+ bigtableConfig_ = null;
+ if (bigtableConfigBuilder_ != null) {
+ bigtableConfigBuilder_.dispose();
+ bigtableConfigBuilder_ = null;
+ }
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ * + * Optional. If delivery to Bigtable is used with this subscription, this + * field is used to configure it. + *+ * + *
+ * .google.pubsub.v1.BigtableConfig bigtable_config = 27 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public com.google.pubsub.v1.BigtableConfig.Builder getBigtableConfigBuilder() {
+ bitField0_ |= 0x00000020;
+ onChanged();
+ return internalGetBigtableConfigFieldBuilder().getBuilder();
+ }
+
+ /**
+ *
+ *
+ * + * Optional. If delivery to Bigtable is used with this subscription, this + * field is used to configure it. + *+ * + *
+ * .google.pubsub.v1.BigtableConfig bigtable_config = 27 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public com.google.pubsub.v1.BigtableConfigOrBuilder getBigtableConfigOrBuilder() {
+ if (bigtableConfigBuilder_ != null) {
+ return bigtableConfigBuilder_.getMessageOrBuilder();
+ } else {
+ return bigtableConfig_ == null
+ ? com.google.pubsub.v1.BigtableConfig.getDefaultInstance()
+ : bigtableConfig_;
+ }
+ }
+
+ /**
+ *
+ *
+ * + * Optional. If delivery to Bigtable is used with this subscription, this + * field is used to configure it. + *+ * + *
+ * .google.pubsub.v1.BigtableConfig bigtable_config = 27 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ private com.google.protobuf.SingleFieldBuilder<
+ com.google.pubsub.v1.BigtableConfig,
+ com.google.pubsub.v1.BigtableConfig.Builder,
+ com.google.pubsub.v1.BigtableConfigOrBuilder>
+ internalGetBigtableConfigFieldBuilder() {
+ if (bigtableConfigBuilder_ == null) {
+ bigtableConfigBuilder_ =
+ new com.google.protobuf.SingleFieldBuilder<
+ com.google.pubsub.v1.BigtableConfig,
+ com.google.pubsub.v1.BigtableConfig.Builder,
+ com.google.pubsub.v1.BigtableConfigOrBuilder>(
+ getBigtableConfig(), getParentForChildren(), isClean());
+ bigtableConfig_ = null;
+ }
+ return bigtableConfigBuilder_;
+ }
+
private int ackDeadlineSeconds_;
/**
@@ -4484,7 +4802,7 @@ public int getAckDeadlineSeconds() {
public Builder setAckDeadlineSeconds(int value) {
ackDeadlineSeconds_ = value;
- bitField0_ |= 0x00000020;
+ bitField0_ |= 0x00000040;
onChanged();
return this;
}
@@ -4520,7 +4838,7 @@ public Builder setAckDeadlineSeconds(int value) {
* @return This builder for chaining.
*/
public Builder clearAckDeadlineSeconds() {
- bitField0_ = (bitField0_ & ~0x00000020);
+ bitField0_ = (bitField0_ & ~0x00000040);
ackDeadlineSeconds_ = 0;
onChanged();
return this;
@@ -4569,7 +4887,7 @@ public boolean getRetainAckedMessages() {
public Builder setRetainAckedMessages(boolean value) {
retainAckedMessages_ = value;
- bitField0_ |= 0x00000040;
+ bitField0_ |= 0x00000080;
onChanged();
return this;
}
@@ -4591,7 +4909,7 @@ public Builder setRetainAckedMessages(boolean value) {
* @return This builder for chaining.
*/
public Builder clearRetainAckedMessages() {
- bitField0_ = (bitField0_ & ~0x00000040);
+ bitField0_ = (bitField0_ & ~0x00000080);
retainAckedMessages_ = false;
onChanged();
return this;
@@ -4622,7 +4940,7 @@ public Builder clearRetainAckedMessages() {
* @return Whether the messageRetentionDuration field is set.
*/
public boolean hasMessageRetentionDuration() {
- return ((bitField0_ & 0x00000080) != 0);
+ return ((bitField0_ & 0x00000100) != 0);
}
/**
@@ -4676,7 +4994,7 @@ public Builder setMessageRetentionDuration(com.google.protobuf.Duration value) {
} else {
messageRetentionDurationBuilder_.setMessage(value);
}
- bitField0_ |= 0x00000080;
+ bitField0_ |= 0x00000100;
onChanged();
return this;
}
@@ -4703,7 +5021,7 @@ public Builder setMessageRetentionDuration(
} else {
messageRetentionDurationBuilder_.setMessage(builderForValue.build());
}
- bitField0_ |= 0x00000080;
+ bitField0_ |= 0x00000100;
onChanged();
return this;
}
@@ -4725,7 +5043,7 @@ public Builder setMessageRetentionDuration(
*/
public Builder mergeMessageRetentionDuration(com.google.protobuf.Duration value) {
if (messageRetentionDurationBuilder_ == null) {
- if (((bitField0_ & 0x00000080) != 0)
+ if (((bitField0_ & 0x00000100) != 0)
&& messageRetentionDuration_ != null
&& messageRetentionDuration_ != com.google.protobuf.Duration.getDefaultInstance()) {
getMessageRetentionDurationBuilder().mergeFrom(value);
@@ -4736,7 +5054,7 @@ public Builder mergeMessageRetentionDuration(com.google.protobuf.Duration value)
messageRetentionDurationBuilder_.mergeFrom(value);
}
if (messageRetentionDuration_ != null) {
- bitField0_ |= 0x00000080;
+ bitField0_ |= 0x00000100;
onChanged();
}
return this;
@@ -4758,7 +5076,7 @@ public Builder mergeMessageRetentionDuration(com.google.protobuf.Duration value)
*
*/
public Builder clearMessageRetentionDuration() {
- bitField0_ = (bitField0_ & ~0x00000080);
+ bitField0_ = (bitField0_ & ~0x00000100);
messageRetentionDuration_ = null;
if (messageRetentionDurationBuilder_ != null) {
messageRetentionDurationBuilder_.dispose();
@@ -4784,7 +5102,7 @@ public Builder clearMessageRetentionDuration() {
*
*/
public com.google.protobuf.Duration.Builder getMessageRetentionDurationBuilder() {
- bitField0_ |= 0x00000080;
+ bitField0_ |= 0x00000100;
onChanged();
return internalGetMessageRetentionDurationFieldBuilder().getBuilder();
}
@@ -4863,7 +5181,7 @@ private com.google.protobuf.MapField+ * Optional. If delivery to Bigtable is used with this subscription, this + * field is used to configure it. + *+ * + *
+ * .google.pubsub.v1.BigtableConfig bigtable_config = 27 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ *
+ * @return Whether the bigtableConfig field is set.
+ */
+ boolean hasBigtableConfig();
+
+ /**
+ *
+ *
+ * + * Optional. If delivery to Bigtable is used with this subscription, this + * field is used to configure it. + *+ * + *
+ * .google.pubsub.v1.BigtableConfig bigtable_config = 27 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ *
+ * @return The bigtableConfig.
+ */
+ com.google.pubsub.v1.BigtableConfig getBigtableConfig();
+
+ /**
+ *
+ *
+ * + * Optional. If delivery to Bigtable is used with this subscription, this + * field is used to configure it. + *+ * + *
+ * .google.pubsub.v1.BigtableConfig bigtable_config = 27 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ com.google.pubsub.v1.BigtableConfigOrBuilder getBigtableConfigOrBuilder();
+
/**
*
*
diff --git a/proto-google-cloud-pubsub-v1/src/main/proto/google/pubsub/v1/pubsub.proto b/proto-google-cloud-pubsub-v1/src/main/proto/google/pubsub/v1/pubsub.proto
index 9a24bc1d4..3f07ec45c 100644
--- a/proto-google-cloud-pubsub-v1/src/main/proto/google/pubsub/v1/pubsub.proto
+++ b/proto-google-cloud-pubsub-v1/src/main/proto/google/pubsub/v1/pubsub.proto
@@ -1475,6 +1475,10 @@ message Subscription {
CloudStorageConfig cloud_storage_config = 22
[(google.api.field_behavior) = OPTIONAL];
+ // Optional. If delivery to Bigtable is used with this subscription, this
+ // field is used to configure it.
+ BigtableConfig bigtable_config = 27 [(google.api.field_behavior) = OPTIONAL];
+
// Optional. The approximate amount of time (on a best-effort basis) Pub/Sub
// waits for the subscriber to acknowledge receipt before resending the
// message. In the interval after the message is delivered and before it is
@@ -1853,6 +1857,84 @@ message BigQueryConfig {
string service_account_email = 7 [(google.api.field_behavior) = OPTIONAL];
}
+// Configuration for a Bigtable subscription. The Pub/Sub message will be
+// written to a Bigtable row as follows:
+// - row key: subscription name and message ID delimited by #.
+// - columns: message bytes written to a single column family "data" with an
+// empty-string column qualifier.
+// - cell timestamp: the message publish timestamp.
+message BigtableConfig {
+ // Possible states for a Bigtable subscription.
+ // Note: more states could be added in the future. Please code accordingly.
+ enum State {
+ // Default value. This value is unused.
+ STATE_UNSPECIFIED = 0;
+
+ // The subscription can actively send messages to Bigtable.
+ ACTIVE = 1;
+
+ // Cannot write to Bigtable because the instance, table, or app profile
+ // does not exist.
+ NOT_FOUND = 2;
+
+ // Cannot write to Bigtable because the app profile is not configured for
+ // single-cluster routing.
+ APP_PROFILE_MISCONFIGURED = 3;
+
+ // Cannot write to Bigtable because of permission denied errors.
+ // This can happen if:
+ // - The Pub/Sub service agent has not been granted the
+ // [appropriate Bigtable IAM permission
+ // bigtable.tables.mutateRows]({$universe.dns_names.final_documentation_domain}/bigtable/docs/access-control#permissions)
+ // - The bigtable.googleapis.com API is not enabled for the project
+ // ([instructions]({$universe.dns_names.final_documentation_domain}/service-usage/docs/enable-disable))
+ PERMISSION_DENIED = 4;
+
+ // Cannot write to Bigtable because of a missing column family ("data") or
+ // if there is no structured row key for the subscription name + message ID.
+ SCHEMA_MISMATCH = 5;
+
+ // Cannot write to the destination because enforce_in_transit is set to true
+ // and the destination locations are not in the allowed regions.
+ IN_TRANSIT_LOCATION_RESTRICTION = 6;
+
+ // Cannot write to Bigtable because the table is not in the same location as
+ // where Vertex AI models used in `message_transform`s are deployed.
+ VERTEX_AI_LOCATION_RESTRICTION = 7;
+ }
+
+ // Optional. The unique name of the table to write messages to.
+ //
+ // Values are of the form
+ // `projects/