diff --git a/generation_config.yaml b/generation_config.yaml index 1463b4e076..e7a52c35a2 100644 --- a/generation_config.yaml +++ b/generation_config.yaml @@ -1,4 +1,4 @@ -googleapis_commitish: 5f6048b0222ddc57826fbbd254ea3197e2db82f3 +googleapis_commitish: 77c78e90aeeb1c4612e9ab772c90bc40748a7a19 # the libraries are ordered with respect to library name, which is # java-{library.library_name} or java-{library.api-shortname} when # library.library_name is not defined. diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/BackendProto.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/BackendProto.java index d6c715f9db..6f2797ece9 100644 --- a/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/BackendProto.java +++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/BackendProto.java @@ -65,7 +65,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\030google/api/backend.proto\022\n" + "google.api\"1\n" + "\007Backend\022&\n" - + "\005rules\030\001 \003(\0132\027.google.api.BackendRule\"\262\004\n" + + "\005rules\030\001 \003(\0132\027.google.api.BackendRule\"\321\004\n" + "\013BackendRule\022\020\n" + "\010selector\030\001 \001(\t\022\017\n" + "\007address\030\002 \001(\t\022\020\n" @@ -78,7 +78,8 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\014disable_auth\030\010 \001(\010H\000\022\020\n" + "\010protocol\030\t \001(\t\022^\n" + "\035overrides_by_request_protocol\030\n" - + " \003(\01327.google.api.BackendRule.OverridesByRequestProtocolEntry\032Z\n" + + " \003(\01327.google.api.BackendRule.OverridesByRequestProtocolEntry\022\035\n" + + "\025load_balancing_policy\030\013 \001(\t\032Z\n" + "\037OverridesByRequestProtocolEntry\022\013\n" + "\003key\030\001 \001(\t\022&\n" + "\005value\030\002 \001(\0132\027.google.api.BackendRule:\0028\001\"e\n" @@ -87,8 +88,8 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\020CONSTANT_ADDRESS\020\001\022\032\n" + "\026APPEND_PATH_TO_ADDRESS\020\002B\020\n" + "\016authenticationBn\n" - + "\016com.google.apiB\014BackendProtoP\001ZEgoogle.golang.org/genproto/goo" - + "gleapis/api/serviceconfig;serviceconfig\242\002\004GAPIb\006proto3" + + "\016com.google.apiB\014BackendProtoP\001ZEgoogle.golang.org/genproto/googleapis/a" + + "pi/serviceconfig;serviceconfig\242\002\004GAPIb\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( @@ -115,6 +116,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "DisableAuth", "Protocol", "OverridesByRequestProtocol", + "LoadBalancingPolicy", "Authentication", }); internal_static_google_api_BackendRule_OverridesByRequestProtocolEntry_descriptor = diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/BackendRule.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/BackendRule.java index f21406c92a..627149be5e 100644 --- a/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/BackendRule.java +++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/BackendRule.java @@ -56,6 +56,7 @@ private BackendRule() { address_ = ""; pathTranslation_ = 0; protocol_ = ""; + loadBalancingPolicy_ = ""; } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { @@ -589,6 +590,15 @@ public double getOperationDeadline() { private int pathTranslation_ = 0; /** + * + * + *
+ * Path translation specifies how to combine the backend address with the + * request path in order to produce the appropriate forwarding URL for the + * request. See [PathTranslation][google.api.BackendRule.PathTranslation] for + * more details. + *+ * *
.google.api.BackendRule.PathTranslation path_translation = 6;
*
* @return The enum numeric value on the wire for pathTranslation.
@@ -599,6 +609,15 @@ public int getPathTranslationValue() {
}
/**
+ *
+ *
+ * + * Path translation specifies how to combine the backend address with the + * request path in order to produce the appropriate forwarding URL for the + * request. See [PathTranslation][google.api.BackendRule.PathTranslation] for + * more details. + *+ * *
.google.api.BackendRule.PathTranslation path_translation = 6;
*
* @return The pathTranslation.
@@ -941,6 +960,67 @@ public com.google.api.BackendRule getOverridesByRequestProtocolOrThrow(java.lang
return map.get(key);
}
+ public static final int LOAD_BALANCING_POLICY_FIELD_NUMBER = 11;
+
+ @SuppressWarnings("serial")
+ private volatile java.lang.Object loadBalancingPolicy_ = "";
+
+ /**
+ *
+ *
+ * + * The load balancing policy used for connection to the application backend. + * + * Defined as an arbitrary string to accomondate custom load balancing + * policies supported by the underlying channel, but suggest most users use + * one of the standard policies, such as the default, "RoundRobin". + *+ * + *
string load_balancing_policy = 11;
+ *
+ * @return The loadBalancingPolicy.
+ */
+ @java.lang.Override
+ public java.lang.String getLoadBalancingPolicy() {
+ java.lang.Object ref = loadBalancingPolicy_;
+ 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();
+ loadBalancingPolicy_ = s;
+ return s;
+ }
+ }
+
+ /**
+ *
+ *
+ * + * The load balancing policy used for connection to the application backend. + * + * Defined as an arbitrary string to accomondate custom load balancing + * policies supported by the underlying channel, but suggest most users use + * one of the standard policies, such as the default, "RoundRobin". + *+ * + *
string load_balancing_policy = 11;
+ *
+ * @return The bytes for loadBalancingPolicy.
+ */
+ @java.lang.Override
+ public com.google.protobuf.ByteString getLoadBalancingPolicyBytes() {
+ java.lang.Object ref = loadBalancingPolicy_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
+ loadBalancingPolicy_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
private byte memoizedIsInitialized = -1;
@java.lang.Override
@@ -988,6 +1068,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io
internalGetOverridesByRequestProtocol(),
OverridesByRequestProtocolDefaultEntryHolder.defaultEntry,
10);
+ if (!com.google.protobuf.GeneratedMessage.isStringEmpty(loadBalancingPolicy_)) {
+ com.google.protobuf.GeneratedMessage.writeString(output, 11, loadBalancingPolicy_);
+ }
getUnknownFields().writeTo(output);
}
@@ -1040,6 +1123,9 @@ public int getSerializedSize() {
com.google.protobuf.CodedOutputStream.computeMessageSize(
10, overridesByRequestProtocol__);
}
+ if (!com.google.protobuf.GeneratedMessage.isStringEmpty(loadBalancingPolicy_)) {
+ size += com.google.protobuf.GeneratedMessage.computeStringSize(11, loadBalancingPolicy_);
+ }
size += getUnknownFields().getSerializedSize();
memoizedSize = size;
return size;
@@ -1067,6 +1153,7 @@ public boolean equals(final java.lang.Object obj) {
if (!getProtocol().equals(other.getProtocol())) return false;
if (!internalGetOverridesByRequestProtocol()
.equals(other.internalGetOverridesByRequestProtocol())) return false;
+ if (!getLoadBalancingPolicy().equals(other.getLoadBalancingPolicy())) return false;
if (!getAuthenticationCase().equals(other.getAuthenticationCase())) return false;
switch (authenticationCase_) {
case 7:
@@ -1116,6 +1203,8 @@ public int hashCode() {
hash = (37 * hash) + OVERRIDES_BY_REQUEST_PROTOCOL_FIELD_NUMBER;
hash = (53 * hash) + internalGetOverridesByRequestProtocol().hashCode();
}
+ hash = (37 * hash) + LOAD_BALANCING_POLICY_FIELD_NUMBER;
+ hash = (53 * hash) + getLoadBalancingPolicy().hashCode();
switch (authenticationCase_) {
case 7:
hash = (37 * hash) + JWT_AUDIENCE_FIELD_NUMBER;
@@ -1294,6 +1383,7 @@ public Builder clear() {
pathTranslation_ = 0;
protocol_ = "";
internalGetMutableOverridesByRequestProtocol().clear();
+ loadBalancingPolicy_ = "";
authenticationCase_ = 0;
authentication_ = null;
return this;
@@ -1357,6 +1447,9 @@ private void buildPartial0(com.google.api.BackendRule result) {
internalGetOverridesByRequestProtocol()
.build(OverridesByRequestProtocolDefaultEntryHolder.defaultEntry);
}
+ if (((from_bitField0_ & 0x00000400) != 0)) {
+ result.loadBalancingPolicy_ = loadBalancingPolicy_;
+ }
}
private void buildPartialOneofs(com.google.api.BackendRule result) {
@@ -1406,6 +1499,11 @@ public Builder mergeFrom(com.google.api.BackendRule other) {
internalGetMutableOverridesByRequestProtocol()
.mergeFrom(other.internalGetOverridesByRequestProtocol());
bitField0_ |= 0x00000200;
+ if (!other.getLoadBalancingPolicy().isEmpty()) {
+ loadBalancingPolicy_ = other.loadBalancingPolicy_;
+ bitField0_ |= 0x00000400;
+ onChanged();
+ }
switch (other.getAuthenticationCase()) {
case JWT_AUDIENCE:
{
@@ -1521,6 +1619,12 @@ public Builder mergeFrom(
bitField0_ |= 0x00000200;
break;
} // case 82
+ case 90:
+ {
+ loadBalancingPolicy_ = input.readStringRequireUtf8();
+ bitField0_ |= 0x00000400;
+ break;
+ } // case 90
default:
{
if (!super.parseUnknownField(input, extensionRegistry, tag)) {
@@ -2072,6 +2176,15 @@ public Builder clearOperationDeadline() {
private int pathTranslation_ = 0;
/**
+ *
+ *
+ * + * Path translation specifies how to combine the backend address with the + * request path in order to produce the appropriate forwarding URL for the + * request. See [PathTranslation][google.api.BackendRule.PathTranslation] for + * more details. + *+ * *
.google.api.BackendRule.PathTranslation path_translation = 6;
*
* @return The enum numeric value on the wire for pathTranslation.
@@ -2082,6 +2195,15 @@ public int getPathTranslationValue() {
}
/**
+ *
+ *
+ * + * Path translation specifies how to combine the backend address with the + * request path in order to produce the appropriate forwarding URL for the + * request. See [PathTranslation][google.api.BackendRule.PathTranslation] for + * more details. + *+ * *
.google.api.BackendRule.PathTranslation path_translation = 6;
*
* @param value The enum numeric value on the wire for pathTranslation to set.
@@ -2095,6 +2217,15 @@ public Builder setPathTranslationValue(int value) {
}
/**
+ *
+ *
+ * + * Path translation specifies how to combine the backend address with the + * request path in order to produce the appropriate forwarding URL for the + * request. See [PathTranslation][google.api.BackendRule.PathTranslation] for + * more details. + *+ * *
.google.api.BackendRule.PathTranslation path_translation = 6;
*
* @return The pathTranslation.
@@ -2107,6 +2238,15 @@ public com.google.api.BackendRule.PathTranslation getPathTranslation() {
}
/**
+ *
+ *
+ * + * Path translation specifies how to combine the backend address with the + * request path in order to produce the appropriate forwarding URL for the + * request. See [PathTranslation][google.api.BackendRule.PathTranslation] for + * more details. + *+ * *
.google.api.BackendRule.PathTranslation path_translation = 6;
*
* @param value The pathTranslation to set.
@@ -2123,6 +2263,15 @@ public Builder setPathTranslation(com.google.api.BackendRule.PathTranslation val
}
/**
+ *
+ *
+ * + * Path translation specifies how to combine the backend address with the + * request path in order to produce the appropriate forwarding URL for the + * request. See [PathTranslation][google.api.BackendRule.PathTranslation] for + * more details. + *+ * *
.google.api.BackendRule.PathTranslation path_translation = 6;
*
* @return This builder for chaining.
@@ -2827,6 +2976,137 @@ public com.google.api.BackendRule.Builder putOverridesByRequestProtocolBuilderIf
return (com.google.api.BackendRule.Builder) entry;
}
+ private java.lang.Object loadBalancingPolicy_ = "";
+
+ /**
+ *
+ *
+ * + * The load balancing policy used for connection to the application backend. + * + * Defined as an arbitrary string to accomondate custom load balancing + * policies supported by the underlying channel, but suggest most users use + * one of the standard policies, such as the default, "RoundRobin". + *+ * + *
string load_balancing_policy = 11;
+ *
+ * @return The loadBalancingPolicy.
+ */
+ public java.lang.String getLoadBalancingPolicy() {
+ java.lang.Object ref = loadBalancingPolicy_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ loadBalancingPolicy_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+
+ /**
+ *
+ *
+ * + * The load balancing policy used for connection to the application backend. + * + * Defined as an arbitrary string to accomondate custom load balancing + * policies supported by the underlying channel, but suggest most users use + * one of the standard policies, such as the default, "RoundRobin". + *+ * + *
string load_balancing_policy = 11;
+ *
+ * @return The bytes for loadBalancingPolicy.
+ */
+ public com.google.protobuf.ByteString getLoadBalancingPolicyBytes() {
+ java.lang.Object ref = loadBalancingPolicy_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
+ loadBalancingPolicy_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ /**
+ *
+ *
+ * + * The load balancing policy used for connection to the application backend. + * + * Defined as an arbitrary string to accomondate custom load balancing + * policies supported by the underlying channel, but suggest most users use + * one of the standard policies, such as the default, "RoundRobin". + *+ * + *
string load_balancing_policy = 11;
+ *
+ * @param value The loadBalancingPolicy to set.
+ * @return This builder for chaining.
+ */
+ public Builder setLoadBalancingPolicy(java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ loadBalancingPolicy_ = value;
+ bitField0_ |= 0x00000400;
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ * + * The load balancing policy used for connection to the application backend. + * + * Defined as an arbitrary string to accomondate custom load balancing + * policies supported by the underlying channel, but suggest most users use + * one of the standard policies, such as the default, "RoundRobin". + *+ * + *
string load_balancing_policy = 11;
+ *
+ * @return This builder for chaining.
+ */
+ public Builder clearLoadBalancingPolicy() {
+ loadBalancingPolicy_ = getDefaultInstance().getLoadBalancingPolicy();
+ bitField0_ = (bitField0_ & ~0x00000400);
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ * + * The load balancing policy used for connection to the application backend. + * + * Defined as an arbitrary string to accomondate custom load balancing + * policies supported by the underlying channel, but suggest most users use + * one of the standard policies, such as the default, "RoundRobin". + *+ * + *
string load_balancing_policy = 11;
+ *
+ * @param value The bytes for loadBalancingPolicy to set.
+ * @return This builder for chaining.
+ */
+ public Builder setLoadBalancingPolicyBytes(com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+ loadBalancingPolicy_ = value;
+ bitField0_ |= 0x00000400;
+ onChanged();
+ return this;
+ }
+
// @@protoc_insertion_point(builder_scope:google.api.BackendRule)
}
diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/BackendRuleOrBuilder.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/BackendRuleOrBuilder.java
index 1adcf011da..6017784e63 100644
--- a/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/BackendRuleOrBuilder.java
+++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/BackendRuleOrBuilder.java
@@ -167,6 +167,15 @@ public interface BackendRuleOrBuilder
double getOperationDeadline();
/**
+ *
+ *
+ * + * Path translation specifies how to combine the backend address with the + * request path in order to produce the appropriate forwarding URL for the + * request. See [PathTranslation][google.api.BackendRule.PathTranslation] for + * more details. + *+ * *
.google.api.BackendRule.PathTranslation path_translation = 6;
*
* @return The enum numeric value on the wire for pathTranslation.
@@ -174,6 +183,15 @@ public interface BackendRuleOrBuilder
int getPathTranslationValue();
/**
+ *
+ *
+ * + * Path translation specifies how to combine the backend address with the + * request path in order to produce the appropriate forwarding URL for the + * request. See [PathTranslation][google.api.BackendRule.PathTranslation] for + * more details. + *+ * *
.google.api.BackendRule.PathTranslation path_translation = 6;
*
* @return The pathTranslation.
@@ -386,5 +404,39 @@ com.google.api.BackendRule getOverridesByRequestProtocolOrDefault(
*/
com.google.api.BackendRule getOverridesByRequestProtocolOrThrow(java.lang.String key);
+ /**
+ *
+ *
+ * + * The load balancing policy used for connection to the application backend. + * + * Defined as an arbitrary string to accomondate custom load balancing + * policies supported by the underlying channel, but suggest most users use + * one of the standard policies, such as the default, "RoundRobin". + *+ * + *
string load_balancing_policy = 11;
+ *
+ * @return The loadBalancingPolicy.
+ */
+ java.lang.String getLoadBalancingPolicy();
+
+ /**
+ *
+ *
+ * + * The load balancing policy used for connection to the application backend. + * + * Defined as an arbitrary string to accomondate custom load balancing + * policies supported by the underlying channel, but suggest most users use + * one of the standard policies, such as the default, "RoundRobin". + *+ * + *
string load_balancing_policy = 11;
+ *
+ * @return The bytes for loadBalancingPolicy.
+ */
+ com.google.protobuf.ByteString getLoadBalancingPolicyBytes();
+
com.google.api.BackendRule.AuthenticationCase getAuthenticationCase();
}
diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/BatchingConfigProto.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/BatchingConfigProto.java
new file mode 100644
index 0000000000..109cd1e0fe
--- /dev/null
+++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/BatchingConfigProto.java
@@ -0,0 +1,974 @@
+/*
+ * 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/api/client.proto
+// Protobuf Java Version: 4.33.2
+
+package com.google.api;
+
+/**
+ *
+ *
+ * + * `BatchingConfigProto` defines the batching configuration for an API method. + *+ * + * Protobuf type {@code google.api.BatchingConfigProto} + */ +@com.google.protobuf.Generated +public final class BatchingConfigProto extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.api.BatchingConfigProto) + BatchingConfigProtoOrBuilder { + 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= */ "", + "BatchingConfigProto"); + } + + // Use BatchingConfigProto.newBuilder() to construct. + private BatchingConfigProto(com.google.protobuf.GeneratedMessage.Builder> builder) { + super(builder); + } + + private BatchingConfigProto() {} + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.api.ClientProto.internal_static_google_api_BatchingConfigProto_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.api.ClientProto + .internal_static_google_api_BatchingConfigProto_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.api.BatchingConfigProto.class, + com.google.api.BatchingConfigProto.Builder.class); + } + + private int bitField0_; + public static final int THRESHOLDS_FIELD_NUMBER = 1; + private com.google.api.BatchingSettingsProto thresholds_; + + /** + * + * + *
+ * The thresholds which trigger a batched request to be sent. + *+ * + *
.google.api.BatchingSettingsProto thresholds = 1;
+ *
+ * @return Whether the thresholds field is set.
+ */
+ @java.lang.Override
+ public boolean hasThresholds() {
+ return ((bitField0_ & 0x00000001) != 0);
+ }
+
+ /**
+ *
+ *
+ * + * The thresholds which trigger a batched request to be sent. + *+ * + *
.google.api.BatchingSettingsProto thresholds = 1;
+ *
+ * @return The thresholds.
+ */
+ @java.lang.Override
+ public com.google.api.BatchingSettingsProto getThresholds() {
+ return thresholds_ == null
+ ? com.google.api.BatchingSettingsProto.getDefaultInstance()
+ : thresholds_;
+ }
+
+ /**
+ *
+ *
+ * + * The thresholds which trigger a batched request to be sent. + *+ * + *
.google.api.BatchingSettingsProto thresholds = 1;
+ */
+ @java.lang.Override
+ public com.google.api.BatchingSettingsProtoOrBuilder getThresholdsOrBuilder() {
+ return thresholds_ == null
+ ? com.google.api.BatchingSettingsProto.getDefaultInstance()
+ : thresholds_;
+ }
+
+ public static final int BATCH_DESCRIPTOR_FIELD_NUMBER = 2;
+ private com.google.api.BatchingDescriptorProto batchDescriptor_;
+
+ /**
+ *
+ *
+ * + * The request and response fields used in batching. + *+ * + *
.google.api.BatchingDescriptorProto batch_descriptor = 2;
+ *
+ * @return Whether the batchDescriptor field is set.
+ */
+ @java.lang.Override
+ public boolean hasBatchDescriptor() {
+ return ((bitField0_ & 0x00000002) != 0);
+ }
+
+ /**
+ *
+ *
+ * + * The request and response fields used in batching. + *+ * + *
.google.api.BatchingDescriptorProto batch_descriptor = 2;
+ *
+ * @return The batchDescriptor.
+ */
+ @java.lang.Override
+ public com.google.api.BatchingDescriptorProto getBatchDescriptor() {
+ return batchDescriptor_ == null
+ ? com.google.api.BatchingDescriptorProto.getDefaultInstance()
+ : batchDescriptor_;
+ }
+
+ /**
+ *
+ *
+ * + * The request and response fields used in batching. + *+ * + *
.google.api.BatchingDescriptorProto batch_descriptor = 2;
+ */
+ @java.lang.Override
+ public com.google.api.BatchingDescriptorProtoOrBuilder getBatchDescriptorOrBuilder() {
+ return batchDescriptor_ == null
+ ? com.google.api.BatchingDescriptorProto.getDefaultInstance()
+ : batchDescriptor_;
+ }
+
+ private byte memoizedIsInitialized = -1;
+
+ @java.lang.Override
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ @java.lang.Override
+ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
+ if (((bitField0_ & 0x00000001) != 0)) {
+ output.writeMessage(1, getThresholds());
+ }
+ if (((bitField0_ & 0x00000002) != 0)) {
+ output.writeMessage(2, getBatchDescriptor());
+ }
+ getUnknownFields().writeTo(output);
+ }
+
+ @java.lang.Override
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (((bitField0_ & 0x00000001) != 0)) {
+ size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getThresholds());
+ }
+ if (((bitField0_ & 0x00000002) != 0)) {
+ size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getBatchDescriptor());
+ }
+ 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.api.BatchingConfigProto)) {
+ return super.equals(obj);
+ }
+ com.google.api.BatchingConfigProto other = (com.google.api.BatchingConfigProto) obj;
+
+ if (hasThresholds() != other.hasThresholds()) return false;
+ if (hasThresholds()) {
+ if (!getThresholds().equals(other.getThresholds())) return false;
+ }
+ if (hasBatchDescriptor() != other.hasBatchDescriptor()) return false;
+ if (hasBatchDescriptor()) {
+ if (!getBatchDescriptor().equals(other.getBatchDescriptor())) return false;
+ }
+ if (!getUnknownFields().equals(other.getUnknownFields())) return false;
+ return true;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (hasThresholds()) {
+ hash = (37 * hash) + THRESHOLDS_FIELD_NUMBER;
+ hash = (53 * hash) + getThresholds().hashCode();
+ }
+ if (hasBatchDescriptor()) {
+ hash = (37 * hash) + BATCH_DESCRIPTOR_FIELD_NUMBER;
+ hash = (53 * hash) + getBatchDescriptor().hashCode();
+ }
+ hash = (29 * hash) + getUnknownFields().hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static com.google.api.BatchingConfigProto parseFrom(java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.api.BatchingConfigProto parseFrom(
+ java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.api.BatchingConfigProto parseFrom(com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.api.BatchingConfigProto 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.api.BatchingConfigProto parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.api.BatchingConfigProto parseFrom(
+ byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.api.BatchingConfigProto parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input);
+ }
+
+ public static com.google.api.BatchingConfigProto 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.api.BatchingConfigProto parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input);
+ }
+
+ public static com.google.api.BatchingConfigProto 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.api.BatchingConfigProto parseFrom(
+ com.google.protobuf.CodedInputStream input) throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input);
+ }
+
+ public static com.google.api.BatchingConfigProto 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.api.BatchingConfigProto 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;
+ }
+
+ /**
+ *
+ *
+ * + * `BatchingConfigProto` defines the batching configuration for an API method. + *+ * + * Protobuf type {@code google.api.BatchingConfigProto} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder
+ * The thresholds which trigger a batched request to be sent. + *+ * + *
.google.api.BatchingSettingsProto thresholds = 1;
+ *
+ * @return Whether the thresholds field is set.
+ */
+ public boolean hasThresholds() {
+ return ((bitField0_ & 0x00000001) != 0);
+ }
+
+ /**
+ *
+ *
+ * + * The thresholds which trigger a batched request to be sent. + *+ * + *
.google.api.BatchingSettingsProto thresholds = 1;
+ *
+ * @return The thresholds.
+ */
+ public com.google.api.BatchingSettingsProto getThresholds() {
+ if (thresholdsBuilder_ == null) {
+ return thresholds_ == null
+ ? com.google.api.BatchingSettingsProto.getDefaultInstance()
+ : thresholds_;
+ } else {
+ return thresholdsBuilder_.getMessage();
+ }
+ }
+
+ /**
+ *
+ *
+ * + * The thresholds which trigger a batched request to be sent. + *+ * + *
.google.api.BatchingSettingsProto thresholds = 1;
+ */
+ public Builder setThresholds(com.google.api.BatchingSettingsProto value) {
+ if (thresholdsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ thresholds_ = value;
+ } else {
+ thresholdsBuilder_.setMessage(value);
+ }
+ bitField0_ |= 0x00000001;
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ * + * The thresholds which trigger a batched request to be sent. + *+ * + *
.google.api.BatchingSettingsProto thresholds = 1;
+ */
+ public Builder setThresholds(com.google.api.BatchingSettingsProto.Builder builderForValue) {
+ if (thresholdsBuilder_ == null) {
+ thresholds_ = builderForValue.build();
+ } else {
+ thresholdsBuilder_.setMessage(builderForValue.build());
+ }
+ bitField0_ |= 0x00000001;
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ * + * The thresholds which trigger a batched request to be sent. + *+ * + *
.google.api.BatchingSettingsProto thresholds = 1;
+ */
+ public Builder mergeThresholds(com.google.api.BatchingSettingsProto value) {
+ if (thresholdsBuilder_ == null) {
+ if (((bitField0_ & 0x00000001) != 0)
+ && thresholds_ != null
+ && thresholds_ != com.google.api.BatchingSettingsProto.getDefaultInstance()) {
+ getThresholdsBuilder().mergeFrom(value);
+ } else {
+ thresholds_ = value;
+ }
+ } else {
+ thresholdsBuilder_.mergeFrom(value);
+ }
+ if (thresholds_ != null) {
+ bitField0_ |= 0x00000001;
+ onChanged();
+ }
+ return this;
+ }
+
+ /**
+ *
+ *
+ * + * The thresholds which trigger a batched request to be sent. + *+ * + *
.google.api.BatchingSettingsProto thresholds = 1;
+ */
+ public Builder clearThresholds() {
+ bitField0_ = (bitField0_ & ~0x00000001);
+ thresholds_ = null;
+ if (thresholdsBuilder_ != null) {
+ thresholdsBuilder_.dispose();
+ thresholdsBuilder_ = null;
+ }
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ * + * The thresholds which trigger a batched request to be sent. + *+ * + *
.google.api.BatchingSettingsProto thresholds = 1;
+ */
+ public com.google.api.BatchingSettingsProto.Builder getThresholdsBuilder() {
+ bitField0_ |= 0x00000001;
+ onChanged();
+ return internalGetThresholdsFieldBuilder().getBuilder();
+ }
+
+ /**
+ *
+ *
+ * + * The thresholds which trigger a batched request to be sent. + *+ * + *
.google.api.BatchingSettingsProto thresholds = 1;
+ */
+ public com.google.api.BatchingSettingsProtoOrBuilder getThresholdsOrBuilder() {
+ if (thresholdsBuilder_ != null) {
+ return thresholdsBuilder_.getMessageOrBuilder();
+ } else {
+ return thresholds_ == null
+ ? com.google.api.BatchingSettingsProto.getDefaultInstance()
+ : thresholds_;
+ }
+ }
+
+ /**
+ *
+ *
+ * + * The thresholds which trigger a batched request to be sent. + *+ * + *
.google.api.BatchingSettingsProto thresholds = 1;
+ */
+ private com.google.protobuf.SingleFieldBuilder<
+ com.google.api.BatchingSettingsProto,
+ com.google.api.BatchingSettingsProto.Builder,
+ com.google.api.BatchingSettingsProtoOrBuilder>
+ internalGetThresholdsFieldBuilder() {
+ if (thresholdsBuilder_ == null) {
+ thresholdsBuilder_ =
+ new com.google.protobuf.SingleFieldBuilder<
+ com.google.api.BatchingSettingsProto,
+ com.google.api.BatchingSettingsProto.Builder,
+ com.google.api.BatchingSettingsProtoOrBuilder>(
+ getThresholds(), getParentForChildren(), isClean());
+ thresholds_ = null;
+ }
+ return thresholdsBuilder_;
+ }
+
+ private com.google.api.BatchingDescriptorProto batchDescriptor_;
+ private com.google.protobuf.SingleFieldBuilder<
+ com.google.api.BatchingDescriptorProto,
+ com.google.api.BatchingDescriptorProto.Builder,
+ com.google.api.BatchingDescriptorProtoOrBuilder>
+ batchDescriptorBuilder_;
+
+ /**
+ *
+ *
+ * + * The request and response fields used in batching. + *+ * + *
.google.api.BatchingDescriptorProto batch_descriptor = 2;
+ *
+ * @return Whether the batchDescriptor field is set.
+ */
+ public boolean hasBatchDescriptor() {
+ return ((bitField0_ & 0x00000002) != 0);
+ }
+
+ /**
+ *
+ *
+ * + * The request and response fields used in batching. + *+ * + *
.google.api.BatchingDescriptorProto batch_descriptor = 2;
+ *
+ * @return The batchDescriptor.
+ */
+ public com.google.api.BatchingDescriptorProto getBatchDescriptor() {
+ if (batchDescriptorBuilder_ == null) {
+ return batchDescriptor_ == null
+ ? com.google.api.BatchingDescriptorProto.getDefaultInstance()
+ : batchDescriptor_;
+ } else {
+ return batchDescriptorBuilder_.getMessage();
+ }
+ }
+
+ /**
+ *
+ *
+ * + * The request and response fields used in batching. + *+ * + *
.google.api.BatchingDescriptorProto batch_descriptor = 2;
+ */
+ public Builder setBatchDescriptor(com.google.api.BatchingDescriptorProto value) {
+ if (batchDescriptorBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ batchDescriptor_ = value;
+ } else {
+ batchDescriptorBuilder_.setMessage(value);
+ }
+ bitField0_ |= 0x00000002;
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ * + * The request and response fields used in batching. + *+ * + *
.google.api.BatchingDescriptorProto batch_descriptor = 2;
+ */
+ public Builder setBatchDescriptor(
+ com.google.api.BatchingDescriptorProto.Builder builderForValue) {
+ if (batchDescriptorBuilder_ == null) {
+ batchDescriptor_ = builderForValue.build();
+ } else {
+ batchDescriptorBuilder_.setMessage(builderForValue.build());
+ }
+ bitField0_ |= 0x00000002;
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ * + * The request and response fields used in batching. + *+ * + *
.google.api.BatchingDescriptorProto batch_descriptor = 2;
+ */
+ public Builder mergeBatchDescriptor(com.google.api.BatchingDescriptorProto value) {
+ if (batchDescriptorBuilder_ == null) {
+ if (((bitField0_ & 0x00000002) != 0)
+ && batchDescriptor_ != null
+ && batchDescriptor_ != com.google.api.BatchingDescriptorProto.getDefaultInstance()) {
+ getBatchDescriptorBuilder().mergeFrom(value);
+ } else {
+ batchDescriptor_ = value;
+ }
+ } else {
+ batchDescriptorBuilder_.mergeFrom(value);
+ }
+ if (batchDescriptor_ != null) {
+ bitField0_ |= 0x00000002;
+ onChanged();
+ }
+ return this;
+ }
+
+ /**
+ *
+ *
+ * + * The request and response fields used in batching. + *+ * + *
.google.api.BatchingDescriptorProto batch_descriptor = 2;
+ */
+ public Builder clearBatchDescriptor() {
+ bitField0_ = (bitField0_ & ~0x00000002);
+ batchDescriptor_ = null;
+ if (batchDescriptorBuilder_ != null) {
+ batchDescriptorBuilder_.dispose();
+ batchDescriptorBuilder_ = null;
+ }
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ * + * The request and response fields used in batching. + *+ * + *
.google.api.BatchingDescriptorProto batch_descriptor = 2;
+ */
+ public com.google.api.BatchingDescriptorProto.Builder getBatchDescriptorBuilder() {
+ bitField0_ |= 0x00000002;
+ onChanged();
+ return internalGetBatchDescriptorFieldBuilder().getBuilder();
+ }
+
+ /**
+ *
+ *
+ * + * The request and response fields used in batching. + *+ * + *
.google.api.BatchingDescriptorProto batch_descriptor = 2;
+ */
+ public com.google.api.BatchingDescriptorProtoOrBuilder getBatchDescriptorOrBuilder() {
+ if (batchDescriptorBuilder_ != null) {
+ return batchDescriptorBuilder_.getMessageOrBuilder();
+ } else {
+ return batchDescriptor_ == null
+ ? com.google.api.BatchingDescriptorProto.getDefaultInstance()
+ : batchDescriptor_;
+ }
+ }
+
+ /**
+ *
+ *
+ * + * The request and response fields used in batching. + *+ * + *
.google.api.BatchingDescriptorProto batch_descriptor = 2;
+ */
+ private com.google.protobuf.SingleFieldBuilder<
+ com.google.api.BatchingDescriptorProto,
+ com.google.api.BatchingDescriptorProto.Builder,
+ com.google.api.BatchingDescriptorProtoOrBuilder>
+ internalGetBatchDescriptorFieldBuilder() {
+ if (batchDescriptorBuilder_ == null) {
+ batchDescriptorBuilder_ =
+ new com.google.protobuf.SingleFieldBuilder<
+ com.google.api.BatchingDescriptorProto,
+ com.google.api.BatchingDescriptorProto.Builder,
+ com.google.api.BatchingDescriptorProtoOrBuilder>(
+ getBatchDescriptor(), getParentForChildren(), isClean());
+ batchDescriptor_ = null;
+ }
+ return batchDescriptorBuilder_;
+ }
+
+ // @@protoc_insertion_point(builder_scope:google.api.BatchingConfigProto)
+ }
+
+ // @@protoc_insertion_point(class_scope:google.api.BatchingConfigProto)
+ private static final com.google.api.BatchingConfigProto DEFAULT_INSTANCE;
+
+ static {
+ DEFAULT_INSTANCE = new com.google.api.BatchingConfigProto();
+ }
+
+ public static com.google.api.BatchingConfigProto getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser+ * The thresholds which trigger a batched request to be sent. + *+ * + *
.google.api.BatchingSettingsProto thresholds = 1;
+ *
+ * @return Whether the thresholds field is set.
+ */
+ boolean hasThresholds();
+
+ /**
+ *
+ *
+ * + * The thresholds which trigger a batched request to be sent. + *+ * + *
.google.api.BatchingSettingsProto thresholds = 1;
+ *
+ * @return The thresholds.
+ */
+ com.google.api.BatchingSettingsProto getThresholds();
+
+ /**
+ *
+ *
+ * + * The thresholds which trigger a batched request to be sent. + *+ * + *
.google.api.BatchingSettingsProto thresholds = 1;
+ */
+ com.google.api.BatchingSettingsProtoOrBuilder getThresholdsOrBuilder();
+
+ /**
+ *
+ *
+ * + * The request and response fields used in batching. + *+ * + *
.google.api.BatchingDescriptorProto batch_descriptor = 2;
+ *
+ * @return Whether the batchDescriptor field is set.
+ */
+ boolean hasBatchDescriptor();
+
+ /**
+ *
+ *
+ * + * The request and response fields used in batching. + *+ * + *
.google.api.BatchingDescriptorProto batch_descriptor = 2;
+ *
+ * @return The batchDescriptor.
+ */
+ com.google.api.BatchingDescriptorProto getBatchDescriptor();
+
+ /**
+ *
+ *
+ * + * The request and response fields used in batching. + *+ * + *
.google.api.BatchingDescriptorProto batch_descriptor = 2;
+ */
+ com.google.api.BatchingDescriptorProtoOrBuilder getBatchDescriptorOrBuilder();
+}
diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/BatchingDescriptorProto.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/BatchingDescriptorProto.java
new file mode 100644
index 0000000000..103fc198ef
--- /dev/null
+++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/BatchingDescriptorProto.java
@@ -0,0 +1,1123 @@
+/*
+ * 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/api/client.proto
+// Protobuf Java Version: 4.33.2
+
+package com.google.api;
+
+/**
+ *
+ *
+ * + * `BatchingDescriptorProto` specifies the fields of the request message to be + * used for batching, and, optionally, the fields of the response message to be + * used for demultiplexing. + *+ * + * Protobuf type {@code google.api.BatchingDescriptorProto} + */ +@com.google.protobuf.Generated +public final class BatchingDescriptorProto extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.api.BatchingDescriptorProto) + BatchingDescriptorProtoOrBuilder { + 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= */ "", + "BatchingDescriptorProto"); + } + + // Use BatchingDescriptorProto.newBuilder() to construct. + private BatchingDescriptorProto(com.google.protobuf.GeneratedMessage.Builder> builder) { + super(builder); + } + + private BatchingDescriptorProto() { + batchedField_ = ""; + discriminatorFields_ = com.google.protobuf.LazyStringArrayList.emptyList(); + subresponseField_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.api.ClientProto.internal_static_google_api_BatchingDescriptorProto_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.api.ClientProto + .internal_static_google_api_BatchingDescriptorProto_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.api.BatchingDescriptorProto.class, + com.google.api.BatchingDescriptorProto.Builder.class); + } + + public static final int BATCHED_FIELD_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object batchedField_ = ""; + + /** + * + * + *
+ * The repeated field in the request message to be aggregated by batching. + *+ * + *
string batched_field = 1;
+ *
+ * @return The batchedField.
+ */
+ @java.lang.Override
+ public java.lang.String getBatchedField() {
+ java.lang.Object ref = batchedField_;
+ 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();
+ batchedField_ = s;
+ return s;
+ }
+ }
+
+ /**
+ *
+ *
+ * + * The repeated field in the request message to be aggregated by batching. + *+ * + *
string batched_field = 1;
+ *
+ * @return The bytes for batchedField.
+ */
+ @java.lang.Override
+ public com.google.protobuf.ByteString getBatchedFieldBytes() {
+ java.lang.Object ref = batchedField_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
+ batchedField_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int DISCRIMINATOR_FIELDS_FIELD_NUMBER = 2;
+
+ @SuppressWarnings("serial")
+ private com.google.protobuf.LazyStringArrayList discriminatorFields_ =
+ com.google.protobuf.LazyStringArrayList.emptyList();
+
+ /**
+ *
+ *
+ * + * A list of the fields in the request message. Two requests will be batched + * together only if the values of every field specified in + * `request_discriminator_fields` is equal between the two requests. + *+ * + *
repeated string discriminator_fields = 2;
+ *
+ * @return A list containing the discriminatorFields.
+ */
+ public com.google.protobuf.ProtocolStringList getDiscriminatorFieldsList() {
+ return discriminatorFields_;
+ }
+
+ /**
+ *
+ *
+ * + * A list of the fields in the request message. Two requests will be batched + * together only if the values of every field specified in + * `request_discriminator_fields` is equal between the two requests. + *+ * + *
repeated string discriminator_fields = 2;
+ *
+ * @return The count of discriminatorFields.
+ */
+ public int getDiscriminatorFieldsCount() {
+ return discriminatorFields_.size();
+ }
+
+ /**
+ *
+ *
+ * + * A list of the fields in the request message. Two requests will be batched + * together only if the values of every field specified in + * `request_discriminator_fields` is equal between the two requests. + *+ * + *
repeated string discriminator_fields = 2;
+ *
+ * @param index The index of the element to return.
+ * @return The discriminatorFields at the given index.
+ */
+ public java.lang.String getDiscriminatorFields(int index) {
+ return discriminatorFields_.get(index);
+ }
+
+ /**
+ *
+ *
+ * + * A list of the fields in the request message. Two requests will be batched + * together only if the values of every field specified in + * `request_discriminator_fields` is equal between the two requests. + *+ * + *
repeated string discriminator_fields = 2;
+ *
+ * @param index The index of the value to return.
+ * @return The bytes of the discriminatorFields at the given index.
+ */
+ public com.google.protobuf.ByteString getDiscriminatorFieldsBytes(int index) {
+ return discriminatorFields_.getByteString(index);
+ }
+
+ public static final int SUBRESPONSE_FIELD_FIELD_NUMBER = 3;
+
+ @SuppressWarnings("serial")
+ private volatile java.lang.Object subresponseField_ = "";
+
+ /**
+ *
+ *
+ * + * Optional. When present, indicates the field in the response message to be + * used to demultiplex the response into multiple response messages, in + * correspondence with the multiple request messages originally batched + * together. + *+ * + *
string subresponse_field = 3;
+ *
+ * @return The subresponseField.
+ */
+ @java.lang.Override
+ public java.lang.String getSubresponseField() {
+ java.lang.Object ref = subresponseField_;
+ 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();
+ subresponseField_ = s;
+ return s;
+ }
+ }
+
+ /**
+ *
+ *
+ * + * Optional. When present, indicates the field in the response message to be + * used to demultiplex the response into multiple response messages, in + * correspondence with the multiple request messages originally batched + * together. + *+ * + *
string subresponse_field = 3;
+ *
+ * @return The bytes for subresponseField.
+ */
+ @java.lang.Override
+ public com.google.protobuf.ByteString getSubresponseFieldBytes() {
+ java.lang.Object ref = subresponseField_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
+ subresponseField_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ 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(batchedField_)) {
+ com.google.protobuf.GeneratedMessage.writeString(output, 1, batchedField_);
+ }
+ for (int i = 0; i < discriminatorFields_.size(); i++) {
+ com.google.protobuf.GeneratedMessage.writeString(output, 2, discriminatorFields_.getRaw(i));
+ }
+ if (!com.google.protobuf.GeneratedMessage.isStringEmpty(subresponseField_)) {
+ com.google.protobuf.GeneratedMessage.writeString(output, 3, subresponseField_);
+ }
+ 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(batchedField_)) {
+ size += com.google.protobuf.GeneratedMessage.computeStringSize(1, batchedField_);
+ }
+ {
+ int dataSize = 0;
+ for (int i = 0; i < discriminatorFields_.size(); i++) {
+ dataSize += computeStringSizeNoTag(discriminatorFields_.getRaw(i));
+ }
+ size += dataSize;
+ size += 1 * getDiscriminatorFieldsList().size();
+ }
+ if (!com.google.protobuf.GeneratedMessage.isStringEmpty(subresponseField_)) {
+ size += com.google.protobuf.GeneratedMessage.computeStringSize(3, subresponseField_);
+ }
+ 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.api.BatchingDescriptorProto)) {
+ return super.equals(obj);
+ }
+ com.google.api.BatchingDescriptorProto other = (com.google.api.BatchingDescriptorProto) obj;
+
+ if (!getBatchedField().equals(other.getBatchedField())) return false;
+ if (!getDiscriminatorFieldsList().equals(other.getDiscriminatorFieldsList())) return false;
+ if (!getSubresponseField().equals(other.getSubresponseField())) 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) + BATCHED_FIELD_FIELD_NUMBER;
+ hash = (53 * hash) + getBatchedField().hashCode();
+ if (getDiscriminatorFieldsCount() > 0) {
+ hash = (37 * hash) + DISCRIMINATOR_FIELDS_FIELD_NUMBER;
+ hash = (53 * hash) + getDiscriminatorFieldsList().hashCode();
+ }
+ hash = (37 * hash) + SUBRESPONSE_FIELD_FIELD_NUMBER;
+ hash = (53 * hash) + getSubresponseField().hashCode();
+ hash = (29 * hash) + getUnknownFields().hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static com.google.api.BatchingDescriptorProto parseFrom(java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.api.BatchingDescriptorProto parseFrom(
+ java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.api.BatchingDescriptorProto parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.api.BatchingDescriptorProto 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.api.BatchingDescriptorProto parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.api.BatchingDescriptorProto parseFrom(
+ byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.api.BatchingDescriptorProto parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input);
+ }
+
+ public static com.google.api.BatchingDescriptorProto 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.api.BatchingDescriptorProto parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input);
+ }
+
+ public static com.google.api.BatchingDescriptorProto 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.api.BatchingDescriptorProto parseFrom(
+ com.google.protobuf.CodedInputStream input) throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input);
+ }
+
+ public static com.google.api.BatchingDescriptorProto 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.api.BatchingDescriptorProto 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;
+ }
+
+ /**
+ *
+ *
+ * + * `BatchingDescriptorProto` specifies the fields of the request message to be + * used for batching, and, optionally, the fields of the response message to be + * used for demultiplexing. + *+ * + * Protobuf type {@code google.api.BatchingDescriptorProto} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder
+ * The repeated field in the request message to be aggregated by batching. + *+ * + *
string batched_field = 1;
+ *
+ * @return The batchedField.
+ */
+ public java.lang.String getBatchedField() {
+ java.lang.Object ref = batchedField_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ batchedField_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+
+ /**
+ *
+ *
+ * + * The repeated field in the request message to be aggregated by batching. + *+ * + *
string batched_field = 1;
+ *
+ * @return The bytes for batchedField.
+ */
+ public com.google.protobuf.ByteString getBatchedFieldBytes() {
+ java.lang.Object ref = batchedField_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
+ batchedField_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ /**
+ *
+ *
+ * + * The repeated field in the request message to be aggregated by batching. + *+ * + *
string batched_field = 1;
+ *
+ * @param value The batchedField to set.
+ * @return This builder for chaining.
+ */
+ public Builder setBatchedField(java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ batchedField_ = value;
+ bitField0_ |= 0x00000001;
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ * + * The repeated field in the request message to be aggregated by batching. + *+ * + *
string batched_field = 1;
+ *
+ * @return This builder for chaining.
+ */
+ public Builder clearBatchedField() {
+ batchedField_ = getDefaultInstance().getBatchedField();
+ bitField0_ = (bitField0_ & ~0x00000001);
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ * + * The repeated field in the request message to be aggregated by batching. + *+ * + *
string batched_field = 1;
+ *
+ * @param value The bytes for batchedField to set.
+ * @return This builder for chaining.
+ */
+ public Builder setBatchedFieldBytes(com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+ batchedField_ = value;
+ bitField0_ |= 0x00000001;
+ onChanged();
+ return this;
+ }
+
+ private com.google.protobuf.LazyStringArrayList discriminatorFields_ =
+ com.google.protobuf.LazyStringArrayList.emptyList();
+
+ private void ensureDiscriminatorFieldsIsMutable() {
+ if (!discriminatorFields_.isModifiable()) {
+ discriminatorFields_ = new com.google.protobuf.LazyStringArrayList(discriminatorFields_);
+ }
+ bitField0_ |= 0x00000002;
+ }
+
+ /**
+ *
+ *
+ * + * A list of the fields in the request message. Two requests will be batched + * together only if the values of every field specified in + * `request_discriminator_fields` is equal between the two requests. + *+ * + *
repeated string discriminator_fields = 2;
+ *
+ * @return A list containing the discriminatorFields.
+ */
+ public com.google.protobuf.ProtocolStringList getDiscriminatorFieldsList() {
+ discriminatorFields_.makeImmutable();
+ return discriminatorFields_;
+ }
+
+ /**
+ *
+ *
+ * + * A list of the fields in the request message. Two requests will be batched + * together only if the values of every field specified in + * `request_discriminator_fields` is equal between the two requests. + *+ * + *
repeated string discriminator_fields = 2;
+ *
+ * @return The count of discriminatorFields.
+ */
+ public int getDiscriminatorFieldsCount() {
+ return discriminatorFields_.size();
+ }
+
+ /**
+ *
+ *
+ * + * A list of the fields in the request message. Two requests will be batched + * together only if the values of every field specified in + * `request_discriminator_fields` is equal between the two requests. + *+ * + *
repeated string discriminator_fields = 2;
+ *
+ * @param index The index of the element to return.
+ * @return The discriminatorFields at the given index.
+ */
+ public java.lang.String getDiscriminatorFields(int index) {
+ return discriminatorFields_.get(index);
+ }
+
+ /**
+ *
+ *
+ * + * A list of the fields in the request message. Two requests will be batched + * together only if the values of every field specified in + * `request_discriminator_fields` is equal between the two requests. + *+ * + *
repeated string discriminator_fields = 2;
+ *
+ * @param index The index of the value to return.
+ * @return The bytes of the discriminatorFields at the given index.
+ */
+ public com.google.protobuf.ByteString getDiscriminatorFieldsBytes(int index) {
+ return discriminatorFields_.getByteString(index);
+ }
+
+ /**
+ *
+ *
+ * + * A list of the fields in the request message. Two requests will be batched + * together only if the values of every field specified in + * `request_discriminator_fields` is equal between the two requests. + *+ * + *
repeated string discriminator_fields = 2;
+ *
+ * @param index The index to set the value at.
+ * @param value The discriminatorFields to set.
+ * @return This builder for chaining.
+ */
+ public Builder setDiscriminatorFields(int index, java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureDiscriminatorFieldsIsMutable();
+ discriminatorFields_.set(index, value);
+ bitField0_ |= 0x00000002;
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ * + * A list of the fields in the request message. Two requests will be batched + * together only if the values of every field specified in + * `request_discriminator_fields` is equal between the two requests. + *+ * + *
repeated string discriminator_fields = 2;
+ *
+ * @param value The discriminatorFields to add.
+ * @return This builder for chaining.
+ */
+ public Builder addDiscriminatorFields(java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureDiscriminatorFieldsIsMutable();
+ discriminatorFields_.add(value);
+ bitField0_ |= 0x00000002;
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ * + * A list of the fields in the request message. Two requests will be batched + * together only if the values of every field specified in + * `request_discriminator_fields` is equal between the two requests. + *+ * + *
repeated string discriminator_fields = 2;
+ *
+ * @param values The discriminatorFields to add.
+ * @return This builder for chaining.
+ */
+ public Builder addAllDiscriminatorFields(java.lang.Iterable+ * A list of the fields in the request message. Two requests will be batched + * together only if the values of every field specified in + * `request_discriminator_fields` is equal between the two requests. + *+ * + *
repeated string discriminator_fields = 2;
+ *
+ * @return This builder for chaining.
+ */
+ public Builder clearDiscriminatorFields() {
+ discriminatorFields_ = com.google.protobuf.LazyStringArrayList.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000002);
+ ;
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ * + * A list of the fields in the request message. Two requests will be batched + * together only if the values of every field specified in + * `request_discriminator_fields` is equal between the two requests. + *+ * + *
repeated string discriminator_fields = 2;
+ *
+ * @param value The bytes of the discriminatorFields to add.
+ * @return This builder for chaining.
+ */
+ public Builder addDiscriminatorFieldsBytes(com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+ ensureDiscriminatorFieldsIsMutable();
+ discriminatorFields_.add(value);
+ bitField0_ |= 0x00000002;
+ onChanged();
+ return this;
+ }
+
+ private java.lang.Object subresponseField_ = "";
+
+ /**
+ *
+ *
+ * + * Optional. When present, indicates the field in the response message to be + * used to demultiplex the response into multiple response messages, in + * correspondence with the multiple request messages originally batched + * together. + *+ * + *
string subresponse_field = 3;
+ *
+ * @return The subresponseField.
+ */
+ public java.lang.String getSubresponseField() {
+ java.lang.Object ref = subresponseField_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ subresponseField_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+
+ /**
+ *
+ *
+ * + * Optional. When present, indicates the field in the response message to be + * used to demultiplex the response into multiple response messages, in + * correspondence with the multiple request messages originally batched + * together. + *+ * + *
string subresponse_field = 3;
+ *
+ * @return The bytes for subresponseField.
+ */
+ public com.google.protobuf.ByteString getSubresponseFieldBytes() {
+ java.lang.Object ref = subresponseField_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
+ subresponseField_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ /**
+ *
+ *
+ * + * Optional. When present, indicates the field in the response message to be + * used to demultiplex the response into multiple response messages, in + * correspondence with the multiple request messages originally batched + * together. + *+ * + *
string subresponse_field = 3;
+ *
+ * @param value The subresponseField to set.
+ * @return This builder for chaining.
+ */
+ public Builder setSubresponseField(java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ subresponseField_ = value;
+ bitField0_ |= 0x00000004;
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ * + * Optional. When present, indicates the field in the response message to be + * used to demultiplex the response into multiple response messages, in + * correspondence with the multiple request messages originally batched + * together. + *+ * + *
string subresponse_field = 3;
+ *
+ * @return This builder for chaining.
+ */
+ public Builder clearSubresponseField() {
+ subresponseField_ = getDefaultInstance().getSubresponseField();
+ bitField0_ = (bitField0_ & ~0x00000004);
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ * + * Optional. When present, indicates the field in the response message to be + * used to demultiplex the response into multiple response messages, in + * correspondence with the multiple request messages originally batched + * together. + *+ * + *
string subresponse_field = 3;
+ *
+ * @param value The bytes for subresponseField to set.
+ * @return This builder for chaining.
+ */
+ public Builder setSubresponseFieldBytes(com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+ subresponseField_ = value;
+ bitField0_ |= 0x00000004;
+ onChanged();
+ return this;
+ }
+
+ // @@protoc_insertion_point(builder_scope:google.api.BatchingDescriptorProto)
+ }
+
+ // @@protoc_insertion_point(class_scope:google.api.BatchingDescriptorProto)
+ private static final com.google.api.BatchingDescriptorProto DEFAULT_INSTANCE;
+
+ static {
+ DEFAULT_INSTANCE = new com.google.api.BatchingDescriptorProto();
+ }
+
+ public static com.google.api.BatchingDescriptorProto getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser+ * The repeated field in the request message to be aggregated by batching. + *+ * + *
string batched_field = 1;
+ *
+ * @return The batchedField.
+ */
+ java.lang.String getBatchedField();
+
+ /**
+ *
+ *
+ * + * The repeated field in the request message to be aggregated by batching. + *+ * + *
string batched_field = 1;
+ *
+ * @return The bytes for batchedField.
+ */
+ com.google.protobuf.ByteString getBatchedFieldBytes();
+
+ /**
+ *
+ *
+ * + * A list of the fields in the request message. Two requests will be batched + * together only if the values of every field specified in + * `request_discriminator_fields` is equal between the two requests. + *+ * + *
repeated string discriminator_fields = 2;
+ *
+ * @return A list containing the discriminatorFields.
+ */
+ java.util.List+ * A list of the fields in the request message. Two requests will be batched + * together only if the values of every field specified in + * `request_discriminator_fields` is equal between the two requests. + *+ * + *
repeated string discriminator_fields = 2;
+ *
+ * @return The count of discriminatorFields.
+ */
+ int getDiscriminatorFieldsCount();
+
+ /**
+ *
+ *
+ * + * A list of the fields in the request message. Two requests will be batched + * together only if the values of every field specified in + * `request_discriminator_fields` is equal between the two requests. + *+ * + *
repeated string discriminator_fields = 2;
+ *
+ * @param index The index of the element to return.
+ * @return The discriminatorFields at the given index.
+ */
+ java.lang.String getDiscriminatorFields(int index);
+
+ /**
+ *
+ *
+ * + * A list of the fields in the request message. Two requests will be batched + * together only if the values of every field specified in + * `request_discriminator_fields` is equal between the two requests. + *+ * + *
repeated string discriminator_fields = 2;
+ *
+ * @param index The index of the value to return.
+ * @return The bytes of the discriminatorFields at the given index.
+ */
+ com.google.protobuf.ByteString getDiscriminatorFieldsBytes(int index);
+
+ /**
+ *
+ *
+ * + * Optional. When present, indicates the field in the response message to be + * used to demultiplex the response into multiple response messages, in + * correspondence with the multiple request messages originally batched + * together. + *+ * + *
string subresponse_field = 3;
+ *
+ * @return The subresponseField.
+ */
+ java.lang.String getSubresponseField();
+
+ /**
+ *
+ *
+ * + * Optional. When present, indicates the field in the response message to be + * used to demultiplex the response into multiple response messages, in + * correspondence with the multiple request messages originally batched + * together. + *+ * + *
string subresponse_field = 3;
+ *
+ * @return The bytes for subresponseField.
+ */
+ com.google.protobuf.ByteString getSubresponseFieldBytes();
+}
diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/BatchingSettingsProto.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/BatchingSettingsProto.java
new file mode 100644
index 0000000000..02a3cd17a9
--- /dev/null
+++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/BatchingSettingsProto.java
@@ -0,0 +1,1489 @@
+/*
+ * 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/api/client.proto
+// Protobuf Java Version: 4.33.2
+
+package com.google.api;
+
+/**
+ *
+ *
+ * + * `BatchingSettingsProto` specifies a set of batching thresholds, each of + * which acts as a trigger to send a batch of messages as a request. At least + * one threshold must be positive nonzero. + *+ * + * Protobuf type {@code google.api.BatchingSettingsProto} + */ +@com.google.protobuf.Generated +public final class BatchingSettingsProto extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.api.BatchingSettingsProto) + BatchingSettingsProtoOrBuilder { + 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= */ "", + "BatchingSettingsProto"); + } + + // Use BatchingSettingsProto.newBuilder() to construct. + private BatchingSettingsProto(com.google.protobuf.GeneratedMessage.Builder> builder) { + super(builder); + } + + private BatchingSettingsProto() { + flowControlLimitExceededBehavior_ = 0; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.api.ClientProto.internal_static_google_api_BatchingSettingsProto_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.api.ClientProto + .internal_static_google_api_BatchingSettingsProto_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.api.BatchingSettingsProto.class, + com.google.api.BatchingSettingsProto.Builder.class); + } + + private int bitField0_; + public static final int ELEMENT_COUNT_THRESHOLD_FIELD_NUMBER = 1; + private int elementCountThreshold_ = 0; + + /** + * + * + *
+ * The number of elements of a field collected into a batch which, if + * exceeded, causes the batch to be sent. + *+ * + *
int32 element_count_threshold = 1;
+ *
+ * @return The elementCountThreshold.
+ */
+ @java.lang.Override
+ public int getElementCountThreshold() {
+ return elementCountThreshold_;
+ }
+
+ public static final int REQUEST_BYTE_THRESHOLD_FIELD_NUMBER = 2;
+ private long requestByteThreshold_ = 0L;
+
+ /**
+ *
+ *
+ * + * The aggregated size of the batched field which, if exceeded, causes the + * batch to be sent. This size is computed by aggregating the sizes of the + * request field to be batched, not of the entire request message. + *+ * + *
int64 request_byte_threshold = 2;
+ *
+ * @return The requestByteThreshold.
+ */
+ @java.lang.Override
+ public long getRequestByteThreshold() {
+ return requestByteThreshold_;
+ }
+
+ public static final int DELAY_THRESHOLD_FIELD_NUMBER = 3;
+ private com.google.protobuf.Duration delayThreshold_;
+
+ /**
+ *
+ *
+ * + * The duration after which a batch should be sent, starting from the addition + * of the first message to that batch. + *+ * + *
.google.protobuf.Duration delay_threshold = 3;
+ *
+ * @return Whether the delayThreshold field is set.
+ */
+ @java.lang.Override
+ public boolean hasDelayThreshold() {
+ return ((bitField0_ & 0x00000001) != 0);
+ }
+
+ /**
+ *
+ *
+ * + * The duration after which a batch should be sent, starting from the addition + * of the first message to that batch. + *+ * + *
.google.protobuf.Duration delay_threshold = 3;
+ *
+ * @return The delayThreshold.
+ */
+ @java.lang.Override
+ public com.google.protobuf.Duration getDelayThreshold() {
+ return delayThreshold_ == null
+ ? com.google.protobuf.Duration.getDefaultInstance()
+ : delayThreshold_;
+ }
+
+ /**
+ *
+ *
+ * + * The duration after which a batch should be sent, starting from the addition + * of the first message to that batch. + *+ * + *
.google.protobuf.Duration delay_threshold = 3;
+ */
+ @java.lang.Override
+ public com.google.protobuf.DurationOrBuilder getDelayThresholdOrBuilder() {
+ return delayThreshold_ == null
+ ? com.google.protobuf.Duration.getDefaultInstance()
+ : delayThreshold_;
+ }
+
+ public static final int ELEMENT_COUNT_LIMIT_FIELD_NUMBER = 4;
+ private int elementCountLimit_ = 0;
+
+ /**
+ *
+ *
+ * + * The maximum number of elements collected in a batch that could be accepted + * by server. + *+ * + *
int32 element_count_limit = 4;
+ *
+ * @return The elementCountLimit.
+ */
+ @java.lang.Override
+ public int getElementCountLimit() {
+ return elementCountLimit_;
+ }
+
+ public static final int REQUEST_BYTE_LIMIT_FIELD_NUMBER = 5;
+ private int requestByteLimit_ = 0;
+
+ /**
+ *
+ *
+ * + * The maximum size of the request that could be accepted by server. + *+ * + *
int32 request_byte_limit = 5;
+ *
+ * @return The requestByteLimit.
+ */
+ @java.lang.Override
+ public int getRequestByteLimit() {
+ return requestByteLimit_;
+ }
+
+ public static final int FLOW_CONTROL_ELEMENT_LIMIT_FIELD_NUMBER = 6;
+ private int flowControlElementLimit_ = 0;
+
+ /**
+ *
+ *
+ * + * The maximum number of elements allowed by flow control. + *+ * + *
int32 flow_control_element_limit = 6;
+ *
+ * @return The flowControlElementLimit.
+ */
+ @java.lang.Override
+ public int getFlowControlElementLimit() {
+ return flowControlElementLimit_;
+ }
+
+ public static final int FLOW_CONTROL_BYTE_LIMIT_FIELD_NUMBER = 7;
+ private int flowControlByteLimit_ = 0;
+
+ /**
+ *
+ *
+ * + * The maximum size of data allowed by flow control. + *+ * + *
int32 flow_control_byte_limit = 7;
+ *
+ * @return The flowControlByteLimit.
+ */
+ @java.lang.Override
+ public int getFlowControlByteLimit() {
+ return flowControlByteLimit_;
+ }
+
+ public static final int FLOW_CONTROL_LIMIT_EXCEEDED_BEHAVIOR_FIELD_NUMBER = 8;
+ private int flowControlLimitExceededBehavior_ = 0;
+
+ /**
+ *
+ *
+ * + * The behavior to take when the flow control limit is exceeded. + *+ * + *
+ * .google.api.FlowControlLimitExceededBehaviorProto flow_control_limit_exceeded_behavior = 8;
+ *
+ *
+ * @return The enum numeric value on the wire for flowControlLimitExceededBehavior.
+ */
+ @java.lang.Override
+ public int getFlowControlLimitExceededBehaviorValue() {
+ return flowControlLimitExceededBehavior_;
+ }
+
+ /**
+ *
+ *
+ * + * The behavior to take when the flow control limit is exceeded. + *+ * + *
+ * .google.api.FlowControlLimitExceededBehaviorProto flow_control_limit_exceeded_behavior = 8;
+ *
+ *
+ * @return The flowControlLimitExceededBehavior.
+ */
+ @java.lang.Override
+ public com.google.api.FlowControlLimitExceededBehaviorProto
+ getFlowControlLimitExceededBehavior() {
+ com.google.api.FlowControlLimitExceededBehaviorProto result =
+ com.google.api.FlowControlLimitExceededBehaviorProto.forNumber(
+ flowControlLimitExceededBehavior_);
+ return result == null
+ ? com.google.api.FlowControlLimitExceededBehaviorProto.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 (elementCountThreshold_ != 0) {
+ output.writeInt32(1, elementCountThreshold_);
+ }
+ if (requestByteThreshold_ != 0L) {
+ output.writeInt64(2, requestByteThreshold_);
+ }
+ if (((bitField0_ & 0x00000001) != 0)) {
+ output.writeMessage(3, getDelayThreshold());
+ }
+ if (elementCountLimit_ != 0) {
+ output.writeInt32(4, elementCountLimit_);
+ }
+ if (requestByteLimit_ != 0) {
+ output.writeInt32(5, requestByteLimit_);
+ }
+ if (flowControlElementLimit_ != 0) {
+ output.writeInt32(6, flowControlElementLimit_);
+ }
+ if (flowControlByteLimit_ != 0) {
+ output.writeInt32(7, flowControlByteLimit_);
+ }
+ if (flowControlLimitExceededBehavior_
+ != com.google.api.FlowControlLimitExceededBehaviorProto.UNSET_BEHAVIOR.getNumber()) {
+ output.writeEnum(8, flowControlLimitExceededBehavior_);
+ }
+ getUnknownFields().writeTo(output);
+ }
+
+ @java.lang.Override
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (elementCountThreshold_ != 0) {
+ size += com.google.protobuf.CodedOutputStream.computeInt32Size(1, elementCountThreshold_);
+ }
+ if (requestByteThreshold_ != 0L) {
+ size += com.google.protobuf.CodedOutputStream.computeInt64Size(2, requestByteThreshold_);
+ }
+ if (((bitField0_ & 0x00000001) != 0)) {
+ size += com.google.protobuf.CodedOutputStream.computeMessageSize(3, getDelayThreshold());
+ }
+ if (elementCountLimit_ != 0) {
+ size += com.google.protobuf.CodedOutputStream.computeInt32Size(4, elementCountLimit_);
+ }
+ if (requestByteLimit_ != 0) {
+ size += com.google.protobuf.CodedOutputStream.computeInt32Size(5, requestByteLimit_);
+ }
+ if (flowControlElementLimit_ != 0) {
+ size += com.google.protobuf.CodedOutputStream.computeInt32Size(6, flowControlElementLimit_);
+ }
+ if (flowControlByteLimit_ != 0) {
+ size += com.google.protobuf.CodedOutputStream.computeInt32Size(7, flowControlByteLimit_);
+ }
+ if (flowControlLimitExceededBehavior_
+ != com.google.api.FlowControlLimitExceededBehaviorProto.UNSET_BEHAVIOR.getNumber()) {
+ size +=
+ com.google.protobuf.CodedOutputStream.computeEnumSize(
+ 8, flowControlLimitExceededBehavior_);
+ }
+ 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.api.BatchingSettingsProto)) {
+ return super.equals(obj);
+ }
+ com.google.api.BatchingSettingsProto other = (com.google.api.BatchingSettingsProto) obj;
+
+ if (getElementCountThreshold() != other.getElementCountThreshold()) return false;
+ if (getRequestByteThreshold() != other.getRequestByteThreshold()) return false;
+ if (hasDelayThreshold() != other.hasDelayThreshold()) return false;
+ if (hasDelayThreshold()) {
+ if (!getDelayThreshold().equals(other.getDelayThreshold())) return false;
+ }
+ if (getElementCountLimit() != other.getElementCountLimit()) return false;
+ if (getRequestByteLimit() != other.getRequestByteLimit()) return false;
+ if (getFlowControlElementLimit() != other.getFlowControlElementLimit()) return false;
+ if (getFlowControlByteLimit() != other.getFlowControlByteLimit()) return false;
+ if (flowControlLimitExceededBehavior_ != other.flowControlLimitExceededBehavior_) 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) + ELEMENT_COUNT_THRESHOLD_FIELD_NUMBER;
+ hash = (53 * hash) + getElementCountThreshold();
+ hash = (37 * hash) + REQUEST_BYTE_THRESHOLD_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(getRequestByteThreshold());
+ if (hasDelayThreshold()) {
+ hash = (37 * hash) + DELAY_THRESHOLD_FIELD_NUMBER;
+ hash = (53 * hash) + getDelayThreshold().hashCode();
+ }
+ hash = (37 * hash) + ELEMENT_COUNT_LIMIT_FIELD_NUMBER;
+ hash = (53 * hash) + getElementCountLimit();
+ hash = (37 * hash) + REQUEST_BYTE_LIMIT_FIELD_NUMBER;
+ hash = (53 * hash) + getRequestByteLimit();
+ hash = (37 * hash) + FLOW_CONTROL_ELEMENT_LIMIT_FIELD_NUMBER;
+ hash = (53 * hash) + getFlowControlElementLimit();
+ hash = (37 * hash) + FLOW_CONTROL_BYTE_LIMIT_FIELD_NUMBER;
+ hash = (53 * hash) + getFlowControlByteLimit();
+ hash = (37 * hash) + FLOW_CONTROL_LIMIT_EXCEEDED_BEHAVIOR_FIELD_NUMBER;
+ hash = (53 * hash) + flowControlLimitExceededBehavior_;
+ hash = (29 * hash) + getUnknownFields().hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static com.google.api.BatchingSettingsProto parseFrom(java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.api.BatchingSettingsProto parseFrom(
+ java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.api.BatchingSettingsProto parseFrom(com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.api.BatchingSettingsProto 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.api.BatchingSettingsProto parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.api.BatchingSettingsProto parseFrom(
+ byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.api.BatchingSettingsProto parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input);
+ }
+
+ public static com.google.api.BatchingSettingsProto 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.api.BatchingSettingsProto parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input);
+ }
+
+ public static com.google.api.BatchingSettingsProto 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.api.BatchingSettingsProto parseFrom(
+ com.google.protobuf.CodedInputStream input) throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input);
+ }
+
+ public static com.google.api.BatchingSettingsProto 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.api.BatchingSettingsProto 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;
+ }
+
+ /**
+ *
+ *
+ * + * `BatchingSettingsProto` specifies a set of batching thresholds, each of + * which acts as a trigger to send a batch of messages as a request. At least + * one threshold must be positive nonzero. + *+ * + * Protobuf type {@code google.api.BatchingSettingsProto} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder
+ * The number of elements of a field collected into a batch which, if + * exceeded, causes the batch to be sent. + *+ * + *
int32 element_count_threshold = 1;
+ *
+ * @return The elementCountThreshold.
+ */
+ @java.lang.Override
+ public int getElementCountThreshold() {
+ return elementCountThreshold_;
+ }
+
+ /**
+ *
+ *
+ * + * The number of elements of a field collected into a batch which, if + * exceeded, causes the batch to be sent. + *+ * + *
int32 element_count_threshold = 1;
+ *
+ * @param value The elementCountThreshold to set.
+ * @return This builder for chaining.
+ */
+ public Builder setElementCountThreshold(int value) {
+
+ elementCountThreshold_ = value;
+ bitField0_ |= 0x00000001;
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ * + * The number of elements of a field collected into a batch which, if + * exceeded, causes the batch to be sent. + *+ * + *
int32 element_count_threshold = 1;
+ *
+ * @return This builder for chaining.
+ */
+ public Builder clearElementCountThreshold() {
+ bitField0_ = (bitField0_ & ~0x00000001);
+ elementCountThreshold_ = 0;
+ onChanged();
+ return this;
+ }
+
+ private long requestByteThreshold_;
+
+ /**
+ *
+ *
+ * + * The aggregated size of the batched field which, if exceeded, causes the + * batch to be sent. This size is computed by aggregating the sizes of the + * request field to be batched, not of the entire request message. + *+ * + *
int64 request_byte_threshold = 2;
+ *
+ * @return The requestByteThreshold.
+ */
+ @java.lang.Override
+ public long getRequestByteThreshold() {
+ return requestByteThreshold_;
+ }
+
+ /**
+ *
+ *
+ * + * The aggregated size of the batched field which, if exceeded, causes the + * batch to be sent. This size is computed by aggregating the sizes of the + * request field to be batched, not of the entire request message. + *+ * + *
int64 request_byte_threshold = 2;
+ *
+ * @param value The requestByteThreshold to set.
+ * @return This builder for chaining.
+ */
+ public Builder setRequestByteThreshold(long value) {
+
+ requestByteThreshold_ = value;
+ bitField0_ |= 0x00000002;
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ * + * The aggregated size of the batched field which, if exceeded, causes the + * batch to be sent. This size is computed by aggregating the sizes of the + * request field to be batched, not of the entire request message. + *+ * + *
int64 request_byte_threshold = 2;
+ *
+ * @return This builder for chaining.
+ */
+ public Builder clearRequestByteThreshold() {
+ bitField0_ = (bitField0_ & ~0x00000002);
+ requestByteThreshold_ = 0L;
+ onChanged();
+ return this;
+ }
+
+ private com.google.protobuf.Duration delayThreshold_;
+ private com.google.protobuf.SingleFieldBuilder<
+ com.google.protobuf.Duration,
+ com.google.protobuf.Duration.Builder,
+ com.google.protobuf.DurationOrBuilder>
+ delayThresholdBuilder_;
+
+ /**
+ *
+ *
+ * + * The duration after which a batch should be sent, starting from the addition + * of the first message to that batch. + *+ * + *
.google.protobuf.Duration delay_threshold = 3;
+ *
+ * @return Whether the delayThreshold field is set.
+ */
+ public boolean hasDelayThreshold() {
+ return ((bitField0_ & 0x00000004) != 0);
+ }
+
+ /**
+ *
+ *
+ * + * The duration after which a batch should be sent, starting from the addition + * of the first message to that batch. + *+ * + *
.google.protobuf.Duration delay_threshold = 3;
+ *
+ * @return The delayThreshold.
+ */
+ public com.google.protobuf.Duration getDelayThreshold() {
+ if (delayThresholdBuilder_ == null) {
+ return delayThreshold_ == null
+ ? com.google.protobuf.Duration.getDefaultInstance()
+ : delayThreshold_;
+ } else {
+ return delayThresholdBuilder_.getMessage();
+ }
+ }
+
+ /**
+ *
+ *
+ * + * The duration after which a batch should be sent, starting from the addition + * of the first message to that batch. + *+ * + *
.google.protobuf.Duration delay_threshold = 3;
+ */
+ public Builder setDelayThreshold(com.google.protobuf.Duration value) {
+ if (delayThresholdBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ delayThreshold_ = value;
+ } else {
+ delayThresholdBuilder_.setMessage(value);
+ }
+ bitField0_ |= 0x00000004;
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ * + * The duration after which a batch should be sent, starting from the addition + * of the first message to that batch. + *+ * + *
.google.protobuf.Duration delay_threshold = 3;
+ */
+ public Builder setDelayThreshold(com.google.protobuf.Duration.Builder builderForValue) {
+ if (delayThresholdBuilder_ == null) {
+ delayThreshold_ = builderForValue.build();
+ } else {
+ delayThresholdBuilder_.setMessage(builderForValue.build());
+ }
+ bitField0_ |= 0x00000004;
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ * + * The duration after which a batch should be sent, starting from the addition + * of the first message to that batch. + *+ * + *
.google.protobuf.Duration delay_threshold = 3;
+ */
+ public Builder mergeDelayThreshold(com.google.protobuf.Duration value) {
+ if (delayThresholdBuilder_ == null) {
+ if (((bitField0_ & 0x00000004) != 0)
+ && delayThreshold_ != null
+ && delayThreshold_ != com.google.protobuf.Duration.getDefaultInstance()) {
+ getDelayThresholdBuilder().mergeFrom(value);
+ } else {
+ delayThreshold_ = value;
+ }
+ } else {
+ delayThresholdBuilder_.mergeFrom(value);
+ }
+ if (delayThreshold_ != null) {
+ bitField0_ |= 0x00000004;
+ onChanged();
+ }
+ return this;
+ }
+
+ /**
+ *
+ *
+ * + * The duration after which a batch should be sent, starting from the addition + * of the first message to that batch. + *+ * + *
.google.protobuf.Duration delay_threshold = 3;
+ */
+ public Builder clearDelayThreshold() {
+ bitField0_ = (bitField0_ & ~0x00000004);
+ delayThreshold_ = null;
+ if (delayThresholdBuilder_ != null) {
+ delayThresholdBuilder_.dispose();
+ delayThresholdBuilder_ = null;
+ }
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ * + * The duration after which a batch should be sent, starting from the addition + * of the first message to that batch. + *+ * + *
.google.protobuf.Duration delay_threshold = 3;
+ */
+ public com.google.protobuf.Duration.Builder getDelayThresholdBuilder() {
+ bitField0_ |= 0x00000004;
+ onChanged();
+ return internalGetDelayThresholdFieldBuilder().getBuilder();
+ }
+
+ /**
+ *
+ *
+ * + * The duration after which a batch should be sent, starting from the addition + * of the first message to that batch. + *+ * + *
.google.protobuf.Duration delay_threshold = 3;
+ */
+ public com.google.protobuf.DurationOrBuilder getDelayThresholdOrBuilder() {
+ if (delayThresholdBuilder_ != null) {
+ return delayThresholdBuilder_.getMessageOrBuilder();
+ } else {
+ return delayThreshold_ == null
+ ? com.google.protobuf.Duration.getDefaultInstance()
+ : delayThreshold_;
+ }
+ }
+
+ /**
+ *
+ *
+ * + * The duration after which a batch should be sent, starting from the addition + * of the first message to that batch. + *+ * + *
.google.protobuf.Duration delay_threshold = 3;
+ */
+ private com.google.protobuf.SingleFieldBuilder<
+ com.google.protobuf.Duration,
+ com.google.protobuf.Duration.Builder,
+ com.google.protobuf.DurationOrBuilder>
+ internalGetDelayThresholdFieldBuilder() {
+ if (delayThresholdBuilder_ == null) {
+ delayThresholdBuilder_ =
+ new com.google.protobuf.SingleFieldBuilder<
+ com.google.protobuf.Duration,
+ com.google.protobuf.Duration.Builder,
+ com.google.protobuf.DurationOrBuilder>(
+ getDelayThreshold(), getParentForChildren(), isClean());
+ delayThreshold_ = null;
+ }
+ return delayThresholdBuilder_;
+ }
+
+ private int elementCountLimit_;
+
+ /**
+ *
+ *
+ * + * The maximum number of elements collected in a batch that could be accepted + * by server. + *+ * + *
int32 element_count_limit = 4;
+ *
+ * @return The elementCountLimit.
+ */
+ @java.lang.Override
+ public int getElementCountLimit() {
+ return elementCountLimit_;
+ }
+
+ /**
+ *
+ *
+ * + * The maximum number of elements collected in a batch that could be accepted + * by server. + *+ * + *
int32 element_count_limit = 4;
+ *
+ * @param value The elementCountLimit to set.
+ * @return This builder for chaining.
+ */
+ public Builder setElementCountLimit(int value) {
+
+ elementCountLimit_ = value;
+ bitField0_ |= 0x00000008;
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ * + * The maximum number of elements collected in a batch that could be accepted + * by server. + *+ * + *
int32 element_count_limit = 4;
+ *
+ * @return This builder for chaining.
+ */
+ public Builder clearElementCountLimit() {
+ bitField0_ = (bitField0_ & ~0x00000008);
+ elementCountLimit_ = 0;
+ onChanged();
+ return this;
+ }
+
+ private int requestByteLimit_;
+
+ /**
+ *
+ *
+ * + * The maximum size of the request that could be accepted by server. + *+ * + *
int32 request_byte_limit = 5;
+ *
+ * @return The requestByteLimit.
+ */
+ @java.lang.Override
+ public int getRequestByteLimit() {
+ return requestByteLimit_;
+ }
+
+ /**
+ *
+ *
+ * + * The maximum size of the request that could be accepted by server. + *+ * + *
int32 request_byte_limit = 5;
+ *
+ * @param value The requestByteLimit to set.
+ * @return This builder for chaining.
+ */
+ public Builder setRequestByteLimit(int value) {
+
+ requestByteLimit_ = value;
+ bitField0_ |= 0x00000010;
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ * + * The maximum size of the request that could be accepted by server. + *+ * + *
int32 request_byte_limit = 5;
+ *
+ * @return This builder for chaining.
+ */
+ public Builder clearRequestByteLimit() {
+ bitField0_ = (bitField0_ & ~0x00000010);
+ requestByteLimit_ = 0;
+ onChanged();
+ return this;
+ }
+
+ private int flowControlElementLimit_;
+
+ /**
+ *
+ *
+ * + * The maximum number of elements allowed by flow control. + *+ * + *
int32 flow_control_element_limit = 6;
+ *
+ * @return The flowControlElementLimit.
+ */
+ @java.lang.Override
+ public int getFlowControlElementLimit() {
+ return flowControlElementLimit_;
+ }
+
+ /**
+ *
+ *
+ * + * The maximum number of elements allowed by flow control. + *+ * + *
int32 flow_control_element_limit = 6;
+ *
+ * @param value The flowControlElementLimit to set.
+ * @return This builder for chaining.
+ */
+ public Builder setFlowControlElementLimit(int value) {
+
+ flowControlElementLimit_ = value;
+ bitField0_ |= 0x00000020;
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ * + * The maximum number of elements allowed by flow control. + *+ * + *
int32 flow_control_element_limit = 6;
+ *
+ * @return This builder for chaining.
+ */
+ public Builder clearFlowControlElementLimit() {
+ bitField0_ = (bitField0_ & ~0x00000020);
+ flowControlElementLimit_ = 0;
+ onChanged();
+ return this;
+ }
+
+ private int flowControlByteLimit_;
+
+ /**
+ *
+ *
+ * + * The maximum size of data allowed by flow control. + *+ * + *
int32 flow_control_byte_limit = 7;
+ *
+ * @return The flowControlByteLimit.
+ */
+ @java.lang.Override
+ public int getFlowControlByteLimit() {
+ return flowControlByteLimit_;
+ }
+
+ /**
+ *
+ *
+ * + * The maximum size of data allowed by flow control. + *+ * + *
int32 flow_control_byte_limit = 7;
+ *
+ * @param value The flowControlByteLimit to set.
+ * @return This builder for chaining.
+ */
+ public Builder setFlowControlByteLimit(int value) {
+
+ flowControlByteLimit_ = value;
+ bitField0_ |= 0x00000040;
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ * + * The maximum size of data allowed by flow control. + *+ * + *
int32 flow_control_byte_limit = 7;
+ *
+ * @return This builder for chaining.
+ */
+ public Builder clearFlowControlByteLimit() {
+ bitField0_ = (bitField0_ & ~0x00000040);
+ flowControlByteLimit_ = 0;
+ onChanged();
+ return this;
+ }
+
+ private int flowControlLimitExceededBehavior_ = 0;
+
+ /**
+ *
+ *
+ * + * The behavior to take when the flow control limit is exceeded. + *+ * + *
+ * .google.api.FlowControlLimitExceededBehaviorProto flow_control_limit_exceeded_behavior = 8;
+ *
+ *
+ * @return The enum numeric value on the wire for flowControlLimitExceededBehavior.
+ */
+ @java.lang.Override
+ public int getFlowControlLimitExceededBehaviorValue() {
+ return flowControlLimitExceededBehavior_;
+ }
+
+ /**
+ *
+ *
+ * + * The behavior to take when the flow control limit is exceeded. + *+ * + *
+ * .google.api.FlowControlLimitExceededBehaviorProto flow_control_limit_exceeded_behavior = 8;
+ *
+ *
+ * @param value The enum numeric value on the wire for flowControlLimitExceededBehavior to set.
+ * @return This builder for chaining.
+ */
+ public Builder setFlowControlLimitExceededBehaviorValue(int value) {
+ flowControlLimitExceededBehavior_ = value;
+ bitField0_ |= 0x00000080;
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ * + * The behavior to take when the flow control limit is exceeded. + *+ * + *
+ * .google.api.FlowControlLimitExceededBehaviorProto flow_control_limit_exceeded_behavior = 8;
+ *
+ *
+ * @return The flowControlLimitExceededBehavior.
+ */
+ @java.lang.Override
+ public com.google.api.FlowControlLimitExceededBehaviorProto
+ getFlowControlLimitExceededBehavior() {
+ com.google.api.FlowControlLimitExceededBehaviorProto result =
+ com.google.api.FlowControlLimitExceededBehaviorProto.forNumber(
+ flowControlLimitExceededBehavior_);
+ return result == null
+ ? com.google.api.FlowControlLimitExceededBehaviorProto.UNRECOGNIZED
+ : result;
+ }
+
+ /**
+ *
+ *
+ * + * The behavior to take when the flow control limit is exceeded. + *+ * + *
+ * .google.api.FlowControlLimitExceededBehaviorProto flow_control_limit_exceeded_behavior = 8;
+ *
+ *
+ * @param value The flowControlLimitExceededBehavior to set.
+ * @return This builder for chaining.
+ */
+ public Builder setFlowControlLimitExceededBehavior(
+ com.google.api.FlowControlLimitExceededBehaviorProto value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000080;
+ flowControlLimitExceededBehavior_ = value.getNumber();
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ * + * The behavior to take when the flow control limit is exceeded. + *+ * + *
+ * .google.api.FlowControlLimitExceededBehaviorProto flow_control_limit_exceeded_behavior = 8;
+ *
+ *
+ * @return This builder for chaining.
+ */
+ public Builder clearFlowControlLimitExceededBehavior() {
+ bitField0_ = (bitField0_ & ~0x00000080);
+ flowControlLimitExceededBehavior_ = 0;
+ onChanged();
+ return this;
+ }
+
+ // @@protoc_insertion_point(builder_scope:google.api.BatchingSettingsProto)
+ }
+
+ // @@protoc_insertion_point(class_scope:google.api.BatchingSettingsProto)
+ private static final com.google.api.BatchingSettingsProto DEFAULT_INSTANCE;
+
+ static {
+ DEFAULT_INSTANCE = new com.google.api.BatchingSettingsProto();
+ }
+
+ public static com.google.api.BatchingSettingsProto getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser+ * The number of elements of a field collected into a batch which, if + * exceeded, causes the batch to be sent. + *+ * + *
int32 element_count_threshold = 1;
+ *
+ * @return The elementCountThreshold.
+ */
+ int getElementCountThreshold();
+
+ /**
+ *
+ *
+ * + * The aggregated size of the batched field which, if exceeded, causes the + * batch to be sent. This size is computed by aggregating the sizes of the + * request field to be batched, not of the entire request message. + *+ * + *
int64 request_byte_threshold = 2;
+ *
+ * @return The requestByteThreshold.
+ */
+ long getRequestByteThreshold();
+
+ /**
+ *
+ *
+ * + * The duration after which a batch should be sent, starting from the addition + * of the first message to that batch. + *+ * + *
.google.protobuf.Duration delay_threshold = 3;
+ *
+ * @return Whether the delayThreshold field is set.
+ */
+ boolean hasDelayThreshold();
+
+ /**
+ *
+ *
+ * + * The duration after which a batch should be sent, starting from the addition + * of the first message to that batch. + *+ * + *
.google.protobuf.Duration delay_threshold = 3;
+ *
+ * @return The delayThreshold.
+ */
+ com.google.protobuf.Duration getDelayThreshold();
+
+ /**
+ *
+ *
+ * + * The duration after which a batch should be sent, starting from the addition + * of the first message to that batch. + *+ * + *
.google.protobuf.Duration delay_threshold = 3;
+ */
+ com.google.protobuf.DurationOrBuilder getDelayThresholdOrBuilder();
+
+ /**
+ *
+ *
+ * + * The maximum number of elements collected in a batch that could be accepted + * by server. + *+ * + *
int32 element_count_limit = 4;
+ *
+ * @return The elementCountLimit.
+ */
+ int getElementCountLimit();
+
+ /**
+ *
+ *
+ * + * The maximum size of the request that could be accepted by server. + *+ * + *
int32 request_byte_limit = 5;
+ *
+ * @return The requestByteLimit.
+ */
+ int getRequestByteLimit();
+
+ /**
+ *
+ *
+ * + * The maximum number of elements allowed by flow control. + *+ * + *
int32 flow_control_element_limit = 6;
+ *
+ * @return The flowControlElementLimit.
+ */
+ int getFlowControlElementLimit();
+
+ /**
+ *
+ *
+ * + * The maximum size of data allowed by flow control. + *+ * + *
int32 flow_control_byte_limit = 7;
+ *
+ * @return The flowControlByteLimit.
+ */
+ int getFlowControlByteLimit();
+
+ /**
+ *
+ *
+ * + * The behavior to take when the flow control limit is exceeded. + *+ * + *
+ * .google.api.FlowControlLimitExceededBehaviorProto flow_control_limit_exceeded_behavior = 8;
+ *
+ *
+ * @return The enum numeric value on the wire for flowControlLimitExceededBehavior.
+ */
+ int getFlowControlLimitExceededBehaviorValue();
+
+ /**
+ *
+ *
+ * + * The behavior to take when the flow control limit is exceeded. + *+ * + *
+ * .google.api.FlowControlLimitExceededBehaviorProto flow_control_limit_exceeded_behavior = 8;
+ *
+ *
+ * @return The flowControlLimitExceededBehavior.
+ */
+ com.google.api.FlowControlLimitExceededBehaviorProto getFlowControlLimitExceededBehavior();
+}
diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/ClientProto.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/ClientProto.java
index 47e1f26ea3..2dc623eeed 100644
--- a/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/ClientProto.java
+++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/ClientProto.java
@@ -263,6 +263,18 @@ public static void registerAllExtensions(com.google.protobuf.ExtensionRegistry r
internal_static_google_api_SelectiveGapicGeneration_descriptor;
static final com.google.protobuf.GeneratedMessage.FieldAccessorTable
internal_static_google_api_SelectiveGapicGeneration_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_google_api_BatchingConfigProto_descriptor;
+ static final com.google.protobuf.GeneratedMessage.FieldAccessorTable
+ internal_static_google_api_BatchingConfigProto_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_google_api_BatchingSettingsProto_descriptor;
+ static final com.google.protobuf.GeneratedMessage.FieldAccessorTable
+ internal_static_google_api_BatchingSettingsProto_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_google_api_BatchingDescriptorProto_descriptor;
+ static final com.google.protobuf.GeneratedMessage.FieldAccessorTable
+ internal_static_google_api_BatchingDescriptorProto_fieldAccessorTable;
public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
return descriptor;
@@ -314,13 +326,14 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "\003key\030\001 \001(\t\022\r\n"
+ "\005value\030\002 \001(\t:\0028\001\"A\n"
+ "\013CppSettings\0222\n"
- + "\006common\030\001 \001(\0132\".google.api.CommonLanguageSettings\"A\n"
+ + "\006common\030\001 \001(\0132\".google.api.CommonLanguageSettings\"Z\n"
+ "\013PhpSettings\0222\n"
- + "\006common\030\001 \001(\0132\".google.api.CommonLanguageSettings\"\233\002\n"
+ + "\006common\030\001 \001(\0132\".google.api.CommonLanguageSettings\022\027\n"
+ + "\017library_package\030\002 \001(\t\"\233\002\n"
+ "\016PythonSettings\0222\n"
+ "\006common\030\001 \001(\0132\".google.api.CommonLanguageSettings\022N\n"
- + "\025experimental_features\030\002"
- + " \001(\0132/.google.api.PythonSettings.ExperimentalFeatures\032\204\001\n"
+ + "\025experimental_features\030\002 \001(\0132/.go"
+ + "ogle.api.PythonSettings.ExperimentalFeatures\032\204\001\n"
+ "\024ExperimentalFeatures\022\035\n"
+ "\025rest_async_io_enabled\030\001 \001(\010\022\'\n"
+ "\037protobuf_pythonic_types_enabled\030\002 \001(\010\022$\n"
@@ -329,10 +342,10 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "\006common\030\001 \001(\0132\".google.api.CommonLanguageSettings\"\252\003\n"
+ "\016DotnetSettings\0222\n"
+ "\006common\030\001 \001(\0132\".google.api.CommonLanguageSettings\022I\n"
- + "\020renamed_services\030\002 \003(\0132"
- + "/.google.api.DotnetSettings.RenamedServicesEntry\022K\n"
- + "\021renamed_resources\030\003 \003(\01320.go"
- + "ogle.api.DotnetSettings.RenamedResourcesEntry\022\031\n"
+ + "\020renamed_services\030\002"
+ + " \003(\0132/.google.api.DotnetSettings.RenamedServicesEntry\022K\n"
+ + "\021renamed_resources\030\003"
+ + " \003(\01320.google.api.DotnetSettings.RenamedResourcesEntry\022\031\n"
+ "\021ignored_resources\030\004 \003(\t\022 \n"
+ "\030forced_namespace_aliases\030\005 \003(\t\022\036\n"
+ "\026handwritten_signatures\030\006 \003(\t\0326\n"
@@ -346,15 +359,16 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "\006common\030\001 \001(\0132\".google.api.CommonLanguageSettings\"\277\001\n\n"
+ "GoSettings\0222\n"
+ "\006common\030\001 \001(\0132\".google.api.CommonLanguageSettings\022E\n"
- + "\020renamed_services\030\002"
- + " \003(\0132+.google.api.GoSettings.RenamedServicesEntry\0326\n"
+ + "\020renamed_services\030\002 \003(\0132+."
+ + "google.api.GoSettings.RenamedServicesEntry\0326\n"
+ "\024RenamedServicesEntry\022\013\n"
+ "\003key\030\001 \001(\t\022\r\n"
- + "\005value\030\002 \001(\t:\0028\001\"\317\002\n"
+ + "\005value\030\002 \001(\t:\0028\001\"\202\003\n"
+ "\016MethodSettings\022\020\n"
+ "\010selector\030\001 \001(\t\022<\n"
+ "\014long_running\030\002 \001(\0132&.google.api.MethodSettings.LongRunning\022\035\n"
- + "\025auto_populated_fields\030\003 \003(\t\032\315\001\n"
+ + "\025auto_populated_fields\030\003 \003(\t\0221\n"
+ + "\010batching\030\004 \001(\0132\037.google.api.BatchingConfigProto\032\315\001\n"
+ "\013LongRunning\0225\n"
+ "\022initial_poll_delay\030\001 \001(\0132\031.google.protobuf.Duration\022\035\n"
+ "\025poll_delay_multiplier\030\002 \001(\002\0221\n"
@@ -362,7 +376,25 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "\022total_poll_timeout\030\004 \001(\0132\031.google.protobuf.Duration\"Q\n"
+ "\030SelectiveGapicGeneration\022\017\n"
+ "\007methods\030\001 \003(\t\022$\n"
- + "\034generate_omitted_as_internal\030\002 \001(\010*\243\001\n"
+ + "\034generate_omitted_as_internal\030\002 \001(\010\"\213\001\n"
+ + "\023BatchingConfigProto\0225\n\n"
+ + "thresholds\030\001 \001(\0132!.google.api.BatchingSettingsProto\022=\n"
+ + "\020batch_descriptor\030\002"
+ + " \001(\0132#.google.api.BatchingDescriptorProto\"\353\002\n"
+ + "\025BatchingSettingsProto\022\037\n"
+ + "\027element_count_threshold\030\001 \001(\005\022\036\n"
+ + "\026request_byte_threshold\030\002 \001(\003\0222\n"
+ + "\017delay_threshold\030\003 \001(\0132\031.google.protobuf.Duration\022\033\n"
+ + "\023element_count_limit\030\004 \001(\005\022\032\n"
+ + "\022request_byte_limit\030\005 \001(\005\022\"\n"
+ + "\032flow_control_element_limit\030\006 \001(\005\022\037\n"
+ + "\027flow_control_byte_limit\030\007 \001(\005\022_\n"
+ + "$flow_control_limit_exceeded_behavior\030\010 \001(\01621.google.api"
+ + ".FlowControlLimitExceededBehaviorProto\"i\n"
+ + "\027BatchingDescriptorProto\022\025\n\r"
+ + "batched_field\030\001 \001(\t\022\034\n"
+ + "\024discriminator_fields\030\002 \003(\t\022\031\n"
+ + "\021subresponse_field\030\003 \001(\t*\243\001\n"
+ "\031ClientLibraryOrganization\022+\n"
+ "\'CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED\020\000\022\t\n"
+ "\005CLOUD\020\001\022\007\n"
@@ -376,14 +408,19 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "&CLIENT_LIBRARY_DESTINATION_UNSPECIFIED\020\000\022\n\n"
+ "\006GITHUB\020\n"
+ "\022\023\n"
- + "\017PACKAGE_MANAGER\020\024:9\n"
+ + "\017PACKAGE_MANAGER\020\024*g\n"
+ + "%FlowControlLimitExceededBehaviorProto\022\022\n"
+ + "\016UNSET_BEHAVIOR\020\000\022\023\n"
+ + "\017THROW_EXCEPTION\020\001\022\t\n"
+ + "\005BLOCK\020\002\022\n\n"
+ + "\006IGNORE\020\003:9\n"
+ "\020method_signature\022\036.google.protobuf.MethodOptions\030\233\010 \003(\t:6\n"
+ "\014default_host\022\037.google.protobuf.ServiceOptions\030\231\010 \001(\t:6\n"
+ "\014oauth_scopes\022\037.google.protobuf.ServiceOptions\030\232\010 \001(\t:8\n"
+ "\013api_version\022\037.google.protobuf.ServiceOptions\030\301\272\253\372\001 \001("
+ "\tBi\n"
- + "\016com.google.apiB\013ClientProtoP\001ZAgoogle.gola"
- + "ng.org/genproto/googleapis/api/annotations;annotations\242\002\004GAPIb\006proto3"
+ + "\016com.google.apiB\013ClientProtoP\001ZAgoogle.golang.o"
+ + "rg/genproto/googleapis/api/annotations;annotations\242\002\004GAPIb\006proto3"
};
descriptor =
com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom(
@@ -462,7 +499,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
new com.google.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_google_api_PhpSettings_descriptor,
new java.lang.String[] {
- "Common",
+ "Common", "LibraryPackage",
});
internal_static_google_api_PythonSettings_descriptor = getDescriptor().getMessageType(6);
internal_static_google_api_PythonSettings_fieldAccessorTable =
@@ -541,7 +578,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
new com.google.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_google_api_MethodSettings_descriptor,
new java.lang.String[] {
- "Selector", "LongRunning", "AutoPopulatedFields",
+ "Selector", "LongRunning", "AutoPopulatedFields", "Batching",
});
internal_static_google_api_MethodSettings_LongRunning_descriptor =
internal_static_google_api_MethodSettings_descriptor.getNestedType(0);
@@ -559,6 +596,36 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
new java.lang.String[] {
"Methods", "GenerateOmittedAsInternal",
});
+ internal_static_google_api_BatchingConfigProto_descriptor = getDescriptor().getMessageType(13);
+ internal_static_google_api_BatchingConfigProto_fieldAccessorTable =
+ new com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+ internal_static_google_api_BatchingConfigProto_descriptor,
+ new java.lang.String[] {
+ "Thresholds", "BatchDescriptor",
+ });
+ internal_static_google_api_BatchingSettingsProto_descriptor =
+ getDescriptor().getMessageType(14);
+ internal_static_google_api_BatchingSettingsProto_fieldAccessorTable =
+ new com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+ internal_static_google_api_BatchingSettingsProto_descriptor,
+ new java.lang.String[] {
+ "ElementCountThreshold",
+ "RequestByteThreshold",
+ "DelayThreshold",
+ "ElementCountLimit",
+ "RequestByteLimit",
+ "FlowControlElementLimit",
+ "FlowControlByteLimit",
+ "FlowControlLimitExceededBehavior",
+ });
+ internal_static_google_api_BatchingDescriptorProto_descriptor =
+ getDescriptor().getMessageType(15);
+ internal_static_google_api_BatchingDescriptorProto_fieldAccessorTable =
+ new com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+ internal_static_google_api_BatchingDescriptorProto_descriptor,
+ new java.lang.String[] {
+ "BatchedField", "DiscriminatorFields", "SubresponseField",
+ });
methodSignature.internalInit(descriptor.getExtension(0));
defaultHost.internalInit(descriptor.getExtension(1));
oauthScopes.internalInit(descriptor.getExtension(2));
diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/Control.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/Control.java
index 060efcaf64..f7668465a5 100644
--- a/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/Control.java
+++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/Control.java
@@ -83,8 +83,8 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
*
*
* The service controller environment to use. If empty, no control plane
- * feature (like quota and billing) will be enabled. The recommended value for
- * most services is servicecontrol.googleapis.com
+ * features (like quota and billing) will be enabled. The recommended value
+ * for most services is servicecontrol.googleapis.com.
*
*
* string environment = 1;
@@ -109,8 +109,8 @@ public java.lang.String getEnvironment() {
*
*
* The service controller environment to use. If empty, no control plane
- * feature (like quota and billing) will be enabled. The recommended value for
- * most services is servicecontrol.googleapis.com
+ * features (like quota and billing) will be enabled. The recommended value
+ * for most services is servicecontrol.googleapis.com.
*
*
* string environment = 1;
@@ -590,8 +590,8 @@ public Builder mergeFrom(
*
*
* The service controller environment to use. If empty, no control plane
- * feature (like quota and billing) will be enabled. The recommended value for
- * most services is servicecontrol.googleapis.com
+ * features (like quota and billing) will be enabled. The recommended value
+ * for most services is servicecontrol.googleapis.com.
*
*
* string environment = 1;
@@ -615,8 +615,8 @@ public java.lang.String getEnvironment() {
*
*
* The service controller environment to use. If empty, no control plane
- * feature (like quota and billing) will be enabled. The recommended value for
- * most services is servicecontrol.googleapis.com
+ * features (like quota and billing) will be enabled. The recommended value
+ * for most services is servicecontrol.googleapis.com.
*
*
* string environment = 1;
@@ -640,8 +640,8 @@ public com.google.protobuf.ByteString getEnvironmentBytes() {
*
*
* The service controller environment to use. If empty, no control plane
- * feature (like quota and billing) will be enabled. The recommended value for
- * most services is servicecontrol.googleapis.com
+ * features (like quota and billing) will be enabled. The recommended value
+ * for most services is servicecontrol.googleapis.com.
*
*
* string environment = 1;
@@ -664,8 +664,8 @@ public Builder setEnvironment(java.lang.String value) {
*
*
* The service controller environment to use. If empty, no control plane
- * feature (like quota and billing) will be enabled. The recommended value for
- * most services is servicecontrol.googleapis.com
+ * features (like quota and billing) will be enabled. The recommended value
+ * for most services is servicecontrol.googleapis.com.
*
*
* string environment = 1;
@@ -684,8 +684,8 @@ public Builder clearEnvironment() {
*
*
* The service controller environment to use. If empty, no control plane
- * feature (like quota and billing) will be enabled. The recommended value for
- * most services is servicecontrol.googleapis.com
+ * features (like quota and billing) will be enabled. The recommended value
+ * for most services is servicecontrol.googleapis.com.
*
*
* string environment = 1;
diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/ControlOrBuilder.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/ControlOrBuilder.java
index c92523c0f8..035cfbb3be 100644
--- a/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/ControlOrBuilder.java
+++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/ControlOrBuilder.java
@@ -31,8 +31,8 @@ public interface ControlOrBuilder
*
*
* The service controller environment to use. If empty, no control plane
- * feature (like quota and billing) will be enabled. The recommended value for
- * most services is servicecontrol.googleapis.com
+ * features (like quota and billing) will be enabled. The recommended value
+ * for most services is servicecontrol.googleapis.com.
*
*
* string environment = 1;
@@ -46,8 +46,8 @@ public interface ControlOrBuilder
*
*
* The service controller environment to use. If empty, no control plane
- * feature (like quota and billing) will be enabled. The recommended value for
- * most services is servicecontrol.googleapis.com
+ * features (like quota and billing) will be enabled. The recommended value
+ * for most services is servicecontrol.googleapis.com.
*
*
* string environment = 1;
diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/ErrorReason.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/ErrorReason.java
index 84f59f2904..8405c49de0 100644
--- a/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/ErrorReason.java
+++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/ErrorReason.java
@@ -858,6 +858,268 @@ public enum ErrorReason implements com.google.protobuf.ProtocolMessageEnum {
* OVERLOADED_CREDENTIALS = 34;
*/
OVERLOADED_CREDENTIALS(34),
+ /**
+ *
+ *
+ *
+ * The request whose associated location violates the location org policy
+ * restrictions when creating resources in the restricted region.
+ *
+ * Example of an ErrorInfo when creating the Cloud Storage Bucket in the
+ * container "projects/123" under a restricted region
+ * "locations/asia-northeast3":
+ *
+ * {
+ * "reason": "LOCATION_ORG_POLICY_VIOLATED",
+ * "domain": "googleapis.com",
+ * "metadata": {
+ * "resource": "projects/123",
+ * "location": "locations/asia-northeast3"
+ * }
+ * }
+ *
+ * This response indicates creating the Cloud Storage Bucket in
+ * "locations/asia-northeast3" violates the location org policy restriction.
+ *
+ *
+ * LOCATION_ORG_POLICY_VIOLATED = 35;
+ */
+ LOCATION_ORG_POLICY_VIOLATED(35),
+ /**
+ *
+ *
+ *
+ * The request is denied because it access data of regulated customers using
+ * TLS 1.0 and 1.1.
+ *
+ * Example of an ErrorInfo when accessing a GCP resource "projects/123" that
+ * is restricted by TLS Version Restriction for "pubsub.googleapis.com"
+ * service.
+ *
+ * {
+ * "reason": "TLS_ORG_POLICY_VIOLATED",
+ * "domain": "googleapis.com",
+ * "metadata": {
+ * "service": "pubsub.googleapis.com"
+ * "resource": "projects/123",
+ * "policyName": "constraints/gcp.restrictTLSVersion",
+ * "tlsVersion": "TLS_VERSION_1"
+ * }
+ * }
+ *
+ *
+ * TLS_ORG_POLICY_VIOLATED = 36;
+ */
+ TLS_ORG_POLICY_VIOLATED(36),
+ /**
+ *
+ *
+ *
+ * The request is denied because the associated project has exceeded the
+ * emulator quota limit.
+ *
+ * Example of an ErrorInfo when the associated "projects/123" has exceeded the
+ * emulator quota limit.
+ *
+ * {
+ * "reason": "EMULATOR_QUOTA_EXCEEDED",
+ * "domain": "googleapis.com",
+ * "metadata": {
+ * "service": "pubsub.googleapis.com"
+ * "consumer": "projects/123"
+ * }
+ * }
+ *
+ *
+ * EMULATOR_QUOTA_EXCEEDED = 38;
+ */
+ EMULATOR_QUOTA_EXCEEDED(38),
+ /**
+ *
+ *
+ *
+ * The request is denied because the associated application credential header
+ * is invalid for an Android applications.
+ *
+ * Example of an ErrorInfo when the request from an Android application to the
+ * "pubsub.googleapis.com" with an invalid application credential header.
+ *
+ * {
+ * "reason": "CREDENTIAL_ANDROID_APP_INVALID",
+ * "domain": "googleapis.com",
+ * "metadata": {
+ * "service": "pubsub.googleapis.com"
+ * }
+ * }
+ *
+ *
+ * CREDENTIAL_ANDROID_APP_INVALID = 39;
+ */
+ CREDENTIAL_ANDROID_APP_INVALID(39),
+ /**
+ *
+ *
+ *
+ * The request is denied because IAM permission on resource is denied.
+ *
+ * Example of an ErrorInfo when the IAM permission `aiplatform.datasets.list`
+ * is denied on resource `projects/123`.
+ *
+ * {
+ * "reason": "IAM_PERMISSION_DENIED",
+ * "domain": "googleapis.com",
+ * "metadata": {
+ * "resource": "projects/123"
+ * "permission": "aiplatform.datasets.list"
+ * }
+ * }
+ *
+ *
+ * IAM_PERMISSION_DENIED = 41;
+ */
+ IAM_PERMISSION_DENIED(41),
+ /**
+ *
+ *
+ *
+ * The request is denied because it contains the invalid JWT token.
+ *
+ * Example of an ErrorInfo when the request contains an invalid JWT token for
+ * service `storage.googleapis.com`.
+ *
+ * {
+ * "reason": "JWT_TOKEN_INVALID",
+ * "domain": "googleapis.com",
+ * "metadata": {
+ * "service": "storage.googleapis.com"
+ * }
+ * }
+ *
+ *
+ * JWT_TOKEN_INVALID = 42;
+ */
+ JWT_TOKEN_INVALID(42),
+ /**
+ *
+ *
+ *
+ * The request is denied because it contains credential with type that is
+ * unsupported.
+ *
+ * Example of an ErrorInfo when the request contains an unsupported credential
+ * type for service `storage.googleapis.com`.
+ *
+ * {
+ * "reason": "CREDENTIAL_TYPE_UNSUPPORTED",
+ * "domain": "googleapis.com",
+ * "metadata": {
+ * "service": "storage.googleapis.com"
+ * }
+ * }
+ *
+ *
+ * CREDENTIAL_TYPE_UNSUPPORTED = 43;
+ */
+ CREDENTIAL_TYPE_UNSUPPORTED(43),
+ /**
+ *
+ *
+ *
+ * The request is denied because it contains unsupported account type.
+ *
+ * Example of an ErrorInfo when the request contains an unsupported account
+ * type for service `storage.googleapis.com`.
+ *
+ * {
+ * "reason": "ACCOUNT_TYPE_UNSUPPORTED",
+ * "domain": "googleapis.com",
+ * "metadata": {
+ * "service": "storage.googleapis.com"
+ * }
+ * }
+ *
+ *
+ * ACCOUNT_TYPE_UNSUPPORTED = 44;
+ */
+ ACCOUNT_TYPE_UNSUPPORTED(44),
+ /**
+ *
+ *
+ *
+ * The request is denied because the API endpoint is restricted by
+ * administrators according to the organization policy constraint.
+ * For more information see
+ * https://cloud.google.com/assured-workloads/docs/restrict-endpoint-usage.
+ *
+ * Example of an ErrorInfo when access to Google Cloud Storage service is
+ * restricted by Restrict Endpoint Usage policy:
+ *
+ * {
+ * "reason": "ENDPOINT_USAGE_RESTRICTION_VIOLATED",
+ * "domain": "googleapis.com/policies/endpointUsageRestriction",
+ * "metadata": {
+ * "policy_name": "constraints/gcp.restrictEndpointUsage",
+ * "checked_value": "storage.googleapis.com"
+ * "consumer": "organization/123"
+ * "service": "storage.googleapis.com"
+ * }
+ * }
+ *
+ *
+ * ENDPOINT_USAGE_RESTRICTION_VIOLATED = 45;
+ */
+ ENDPOINT_USAGE_RESTRICTION_VIOLATED(45),
+ /**
+ *
+ *
+ *
+ * The request is denied because the TLS Cipher Suite is restricted by
+ * administrators according to the organization policy constraint.
+ * For more information see
+ * https://cloud.google.com/assured-workloads/docs/restrict-tls-cipher-suites
+ *
+ * Example of an ErrorInfo when access to Google Cloud BigQuery service is
+ * restricted by Restrict TLS Cipher Suites policy:
+ *
+ * {
+ * "reason": "TLS_CIPHER_RESTRICTION_VIOLATED",
+ * "domain": "googleapis.com/policies/tlsCipherRestriction",
+ * "metadata": {
+ * "policy_name": "constraints/gcp.restrictTLSCipherSuites",
+ * "checked_value": "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
+ * "consumer": "organization/123"
+ * "service": "bigquery.googleapis.com"
+ * }
+ * }
+ *
+ *
+ * TLS_CIPHER_RESTRICTION_VIOLATED = 46;
+ */
+ TLS_CIPHER_RESTRICTION_VIOLATED(46),
+ /**
+ *
+ *
+ *
+ * The request is denied because the MCP activation check fails.
+ *
+ * Example of an ErrorInfo when the container "projects/123" contacting
+ * "pubsub.googleapis.com" service which is disabled by MCP:
+ *
+ * { "reason": "MCP_SERVER_DISABLED",
+ * "domain": "googleapis.com",
+ * "metadata": {
+ * "consumer": "projects/123",
+ * "service": "pubsub.googleapis.com"
+ * }
+ * }
+ *
+ * This response indicates the "pubsub.googleapis.com" has been disabled in
+ * "projects/123" for MCP.
+ *
+ *
+ * MCP_SERVER_DISABLED = 47;
+ */
+ MCP_SERVER_DISABLED(47),
UNRECOGNIZED(-1),
;
@@ -1722,6 +1984,279 @@ public enum ErrorReason implements com.google.protobuf.ProtocolMessageEnum {
*/
public static final int OVERLOADED_CREDENTIALS_VALUE = 34;
+ /**
+ *
+ *
+ *
+ * The request whose associated location violates the location org policy
+ * restrictions when creating resources in the restricted region.
+ *
+ * Example of an ErrorInfo when creating the Cloud Storage Bucket in the
+ * container "projects/123" under a restricted region
+ * "locations/asia-northeast3":
+ *
+ * {
+ * "reason": "LOCATION_ORG_POLICY_VIOLATED",
+ * "domain": "googleapis.com",
+ * "metadata": {
+ * "resource": "projects/123",
+ * "location": "locations/asia-northeast3"
+ * }
+ * }
+ *
+ * This response indicates creating the Cloud Storage Bucket in
+ * "locations/asia-northeast3" violates the location org policy restriction.
+ *
+ *
+ * LOCATION_ORG_POLICY_VIOLATED = 35;
+ */
+ public static final int LOCATION_ORG_POLICY_VIOLATED_VALUE = 35;
+
+ /**
+ *
+ *
+ *
+ * The request is denied because it access data of regulated customers using
+ * TLS 1.0 and 1.1.
+ *
+ * Example of an ErrorInfo when accessing a GCP resource "projects/123" that
+ * is restricted by TLS Version Restriction for "pubsub.googleapis.com"
+ * service.
+ *
+ * {
+ * "reason": "TLS_ORG_POLICY_VIOLATED",
+ * "domain": "googleapis.com",
+ * "metadata": {
+ * "service": "pubsub.googleapis.com"
+ * "resource": "projects/123",
+ * "policyName": "constraints/gcp.restrictTLSVersion",
+ * "tlsVersion": "TLS_VERSION_1"
+ * }
+ * }
+ *
+ *
+ * TLS_ORG_POLICY_VIOLATED = 36;
+ */
+ public static final int TLS_ORG_POLICY_VIOLATED_VALUE = 36;
+
+ /**
+ *
+ *
+ *
+ * The request is denied because the associated project has exceeded the
+ * emulator quota limit.
+ *
+ * Example of an ErrorInfo when the associated "projects/123" has exceeded the
+ * emulator quota limit.
+ *
+ * {
+ * "reason": "EMULATOR_QUOTA_EXCEEDED",
+ * "domain": "googleapis.com",
+ * "metadata": {
+ * "service": "pubsub.googleapis.com"
+ * "consumer": "projects/123"
+ * }
+ * }
+ *
+ *
+ * EMULATOR_QUOTA_EXCEEDED = 38;
+ */
+ public static final int EMULATOR_QUOTA_EXCEEDED_VALUE = 38;
+
+ /**
+ *
+ *
+ *
+ * The request is denied because the associated application credential header
+ * is invalid for an Android applications.
+ *
+ * Example of an ErrorInfo when the request from an Android application to the
+ * "pubsub.googleapis.com" with an invalid application credential header.
+ *
+ * {
+ * "reason": "CREDENTIAL_ANDROID_APP_INVALID",
+ * "domain": "googleapis.com",
+ * "metadata": {
+ * "service": "pubsub.googleapis.com"
+ * }
+ * }
+ *
+ *
+ * CREDENTIAL_ANDROID_APP_INVALID = 39;
+ */
+ public static final int CREDENTIAL_ANDROID_APP_INVALID_VALUE = 39;
+
+ /**
+ *
+ *
+ *
+ * The request is denied because IAM permission on resource is denied.
+ *
+ * Example of an ErrorInfo when the IAM permission `aiplatform.datasets.list`
+ * is denied on resource `projects/123`.
+ *
+ * {
+ * "reason": "IAM_PERMISSION_DENIED",
+ * "domain": "googleapis.com",
+ * "metadata": {
+ * "resource": "projects/123"
+ * "permission": "aiplatform.datasets.list"
+ * }
+ * }
+ *
+ *
+ * IAM_PERMISSION_DENIED = 41;
+ */
+ public static final int IAM_PERMISSION_DENIED_VALUE = 41;
+
+ /**
+ *
+ *
+ *
+ * The request is denied because it contains the invalid JWT token.
+ *
+ * Example of an ErrorInfo when the request contains an invalid JWT token for
+ * service `storage.googleapis.com`.
+ *
+ * {
+ * "reason": "JWT_TOKEN_INVALID",
+ * "domain": "googleapis.com",
+ * "metadata": {
+ * "service": "storage.googleapis.com"
+ * }
+ * }
+ *
+ *
+ * JWT_TOKEN_INVALID = 42;
+ */
+ public static final int JWT_TOKEN_INVALID_VALUE = 42;
+
+ /**
+ *
+ *
+ *
+ * The request is denied because it contains credential with type that is
+ * unsupported.
+ *
+ * Example of an ErrorInfo when the request contains an unsupported credential
+ * type for service `storage.googleapis.com`.
+ *
+ * {
+ * "reason": "CREDENTIAL_TYPE_UNSUPPORTED",
+ * "domain": "googleapis.com",
+ * "metadata": {
+ * "service": "storage.googleapis.com"
+ * }
+ * }
+ *
+ *
+ * CREDENTIAL_TYPE_UNSUPPORTED = 43;
+ */
+ public static final int CREDENTIAL_TYPE_UNSUPPORTED_VALUE = 43;
+
+ /**
+ *
+ *
+ *
+ * The request is denied because it contains unsupported account type.
+ *
+ * Example of an ErrorInfo when the request contains an unsupported account
+ * type for service `storage.googleapis.com`.
+ *
+ * {
+ * "reason": "ACCOUNT_TYPE_UNSUPPORTED",
+ * "domain": "googleapis.com",
+ * "metadata": {
+ * "service": "storage.googleapis.com"
+ * }
+ * }
+ *
+ *
+ * ACCOUNT_TYPE_UNSUPPORTED = 44;
+ */
+ public static final int ACCOUNT_TYPE_UNSUPPORTED_VALUE = 44;
+
+ /**
+ *
+ *
+ *
+ * The request is denied because the API endpoint is restricted by
+ * administrators according to the organization policy constraint.
+ * For more information see
+ * https://cloud.google.com/assured-workloads/docs/restrict-endpoint-usage.
+ *
+ * Example of an ErrorInfo when access to Google Cloud Storage service is
+ * restricted by Restrict Endpoint Usage policy:
+ *
+ * {
+ * "reason": "ENDPOINT_USAGE_RESTRICTION_VIOLATED",
+ * "domain": "googleapis.com/policies/endpointUsageRestriction",
+ * "metadata": {
+ * "policy_name": "constraints/gcp.restrictEndpointUsage",
+ * "checked_value": "storage.googleapis.com"
+ * "consumer": "organization/123"
+ * "service": "storage.googleapis.com"
+ * }
+ * }
+ *
+ *
+ * ENDPOINT_USAGE_RESTRICTION_VIOLATED = 45;
+ */
+ public static final int ENDPOINT_USAGE_RESTRICTION_VIOLATED_VALUE = 45;
+
+ /**
+ *
+ *
+ *
+ * The request is denied because the TLS Cipher Suite is restricted by
+ * administrators according to the organization policy constraint.
+ * For more information see
+ * https://cloud.google.com/assured-workloads/docs/restrict-tls-cipher-suites
+ *
+ * Example of an ErrorInfo when access to Google Cloud BigQuery service is
+ * restricted by Restrict TLS Cipher Suites policy:
+ *
+ * {
+ * "reason": "TLS_CIPHER_RESTRICTION_VIOLATED",
+ * "domain": "googleapis.com/policies/tlsCipherRestriction",
+ * "metadata": {
+ * "policy_name": "constraints/gcp.restrictTLSCipherSuites",
+ * "checked_value": "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
+ * "consumer": "organization/123"
+ * "service": "bigquery.googleapis.com"
+ * }
+ * }
+ *
+ *
+ * TLS_CIPHER_RESTRICTION_VIOLATED = 46;
+ */
+ public static final int TLS_CIPHER_RESTRICTION_VIOLATED_VALUE = 46;
+
+ /**
+ *
+ *
+ *
+ * The request is denied because the MCP activation check fails.
+ *
+ * Example of an ErrorInfo when the container "projects/123" contacting
+ * "pubsub.googleapis.com" service which is disabled by MCP:
+ *
+ * { "reason": "MCP_SERVER_DISABLED",
+ * "domain": "googleapis.com",
+ * "metadata": {
+ * "consumer": "projects/123",
+ * "service": "pubsub.googleapis.com"
+ * }
+ * }
+ *
+ * This response indicates the "pubsub.googleapis.com" has been disabled in
+ * "projects/123" for MCP.
+ *
+ *
+ * MCP_SERVER_DISABLED = 47;
+ */
+ public static final int MCP_SERVER_DISABLED_VALUE = 47;
+
public final int getNumber() {
if (this == UNRECOGNIZED) {
throw new java.lang.IllegalArgumentException(
@@ -1812,6 +2347,28 @@ public static ErrorReason forNumber(int value) {
return MISSING_ORIGIN;
case 34:
return OVERLOADED_CREDENTIALS;
+ case 35:
+ return LOCATION_ORG_POLICY_VIOLATED;
+ case 36:
+ return TLS_ORG_POLICY_VIOLATED;
+ case 38:
+ return EMULATOR_QUOTA_EXCEEDED;
+ case 39:
+ return CREDENTIAL_ANDROID_APP_INVALID;
+ case 41:
+ return IAM_PERMISSION_DENIED;
+ case 42:
+ return JWT_TOKEN_INVALID;
+ case 43:
+ return CREDENTIAL_TYPE_UNSUPPORTED;
+ case 44:
+ return ACCOUNT_TYPE_UNSUPPORTED;
+ case 45:
+ return ENDPOINT_USAGE_RESTRICTION_VIOLATED;
+ case 46:
+ return TLS_CIPHER_RESTRICTION_VIOLATED;
+ case 47:
+ return MCP_SERVER_DISABLED;
default:
return null;
}
diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/ErrorReasonProto.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/ErrorReasonProto.java
index 94f39f58ba..b49906b66f 100644
--- a/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/ErrorReasonProto.java
+++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/ErrorReasonProto.java
@@ -49,7 +49,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
static {
java.lang.String[] descriptorData = {
"\n\035google/api/error_reason.proto\022\ngoogle."
- + "api*\272\007\n\013ErrorReason\022\034\n\030ERROR_REASON_UNSP"
+ + "api*\222\n\n\013ErrorReason\022\034\n\030ERROR_REASON_UNSP"
+ "ECIFIED\020\000\022\024\n\020SERVICE_DISABLED\020\001\022\024\n\020BILLI"
+ "NG_DISABLED\020\002\022\023\n\017API_KEY_INVALID\020\003\022\033\n\027AP"
+ "I_KEY_SERVICE_BLOCKED\020\004\022!\n\035API_KEY_HTTP_"
@@ -73,10 +73,18 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "\n\023SERVICE_NOT_VISIBLE\020\035\022\021\n\rGCP_SUSPENDED"
+ "\020\036\022\034\n\030LOCATION_POLICY_VIOLATED\020\037\022\022\n\016MISS"
+ "ING_ORIGIN\020!\022\032\n\026OVERLOADED_CREDENTIALS\020\""
- + "Bp\n\016com.google.apiB\020ErrorReasonProtoP\001ZC"
- + "google.golang.org/genproto/googleapis/ap"
- + "i/error_reason;error_reason\242\002\004GAPIb\006prot"
- + "o3"
+ + "\022 \n\034LOCATION_ORG_POLICY_VIOLATED\020#\022\033\n\027TL"
+ + "S_ORG_POLICY_VIOLATED\020$\022\033\n\027EMULATOR_QUOT"
+ + "A_EXCEEDED\020&\022\"\n\036CREDENTIAL_ANDROID_APP_I"
+ + "NVALID\020\'\022\031\n\025IAM_PERMISSION_DENIED\020)\022\025\n\021J"
+ + "WT_TOKEN_INVALID\020*\022\037\n\033CREDENTIAL_TYPE_UN"
+ + "SUPPORTED\020+\022\034\n\030ACCOUNT_TYPE_UNSUPPORTED\020"
+ + ",\022\'\n#ENDPOINT_USAGE_RESTRICTION_VIOLATED"
+ + "\020-\022#\n\037TLS_CIPHER_RESTRICTION_VIOLATED\020.\022"
+ + "\027\n\023MCP_SERVER_DISABLED\020/Bp\n\016com.google.a"
+ + "piB\020ErrorReasonProtoP\001ZCgoogle.golang.or"
+ + "g/genproto/googleapis/api/error_reason;e"
+ + "rror_reason\242\002\004GAPIb\006proto3"
};
descriptor =
com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom(
diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/FlowControlLimitExceededBehaviorProto.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/FlowControlLimitExceededBehaviorProto.java
new file mode 100644
index 0000000000..b22978eb3f
--- /dev/null
+++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/FlowControlLimitExceededBehaviorProto.java
@@ -0,0 +1,219 @@
+/*
+ * 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/api/client.proto
+// Protobuf Java Version: 4.33.2
+
+package com.google.api;
+
+/**
+ *
+ *
+ * + * The behavior to take when the flow control limit is exceeded. + *+ * + * Protobuf enum {@code google.api.FlowControlLimitExceededBehaviorProto} + */ +@com.google.protobuf.Generated +public enum FlowControlLimitExceededBehaviorProto + implements com.google.protobuf.ProtocolMessageEnum { + /** + * + * + *
+ * Default behavior, system-defined. + *+ * + *
UNSET_BEHAVIOR = 0;
+ */
+ UNSET_BEHAVIOR(0),
+ /**
+ *
+ *
+ * + * Stop operation, raise error. + *+ * + *
THROW_EXCEPTION = 1;
+ */
+ THROW_EXCEPTION(1),
+ /**
+ *
+ *
+ * + * Pause operation until limit clears. + *+ * + *
BLOCK = 2;
+ */
+ BLOCK(2),
+ /**
+ *
+ *
+ * + * Continue operation, disregard limit. + *+ * + *
IGNORE = 3;
+ */
+ IGNORE(3),
+ UNRECOGNIZED(-1),
+ ;
+
+ static {
+ com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
+ com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
+ /* major= */ 4,
+ /* minor= */ 33,
+ /* patch= */ 2,
+ /* suffix= */ "",
+ "FlowControlLimitExceededBehaviorProto");
+ }
+
+ /**
+ *
+ *
+ * + * Default behavior, system-defined. + *+ * + *
UNSET_BEHAVIOR = 0;
+ */
+ public static final int UNSET_BEHAVIOR_VALUE = 0;
+
+ /**
+ *
+ *
+ * + * Stop operation, raise error. + *+ * + *
THROW_EXCEPTION = 1;
+ */
+ public static final int THROW_EXCEPTION_VALUE = 1;
+
+ /**
+ *
+ *
+ * + * Pause operation until limit clears. + *+ * + *
BLOCK = 2;
+ */
+ public static final int BLOCK_VALUE = 2;
+
+ /**
+ *
+ *
+ * + * Continue operation, disregard limit. + *+ * + *
IGNORE = 3;
+ */
+ public static final int IGNORE_VALUE = 3;
+
+ 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 FlowControlLimitExceededBehaviorProto 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 FlowControlLimitExceededBehaviorProto forNumber(int value) {
+ switch (value) {
+ case 0:
+ return UNSET_BEHAVIOR;
+ case 1:
+ return THROW_EXCEPTION;
+ case 2:
+ return BLOCK;
+ case 3:
+ return IGNORE;
+ default:
+ return null;
+ }
+ }
+
+ public static com.google.protobuf.Internal.EnumLiteMap+ * Batching configuration for an API method in client libraries. + * + * Example of a YAML configuration: + * + * publishing: + * method_settings: + * - selector: google.example.v1.ExampleService.BatchCreateExample + * batching: + * element_count_threshold: 1000 + * request_byte_threshold: 100000000 + * delay_threshold_millis: 10 + *+ * + *
.google.api.BatchingConfigProto batching = 4;
+ *
+ * @return Whether the batching field is set.
+ */
+ @java.lang.Override
+ public boolean hasBatching() {
+ return ((bitField0_ & 0x00000002) != 0);
+ }
+
+ /**
+ *
+ *
+ * + * Batching configuration for an API method in client libraries. + * + * Example of a YAML configuration: + * + * publishing: + * method_settings: + * - selector: google.example.v1.ExampleService.BatchCreateExample + * batching: + * element_count_threshold: 1000 + * request_byte_threshold: 100000000 + * delay_threshold_millis: 10 + *+ * + *
.google.api.BatchingConfigProto batching = 4;
+ *
+ * @return The batching.
+ */
+ @java.lang.Override
+ public com.google.api.BatchingConfigProto getBatching() {
+ return batching_ == null ? com.google.api.BatchingConfigProto.getDefaultInstance() : batching_;
+ }
+
+ /**
+ *
+ *
+ * + * Batching configuration for an API method in client libraries. + * + * Example of a YAML configuration: + * + * publishing: + * method_settings: + * - selector: google.example.v1.ExampleService.BatchCreateExample + * batching: + * element_count_threshold: 1000 + * request_byte_threshold: 100000000 + * delay_threshold_millis: 10 + *+ * + *
.google.api.BatchingConfigProto batching = 4;
+ */
+ @java.lang.Override
+ public com.google.api.BatchingConfigProtoOrBuilder getBatchingOrBuilder() {
+ return batching_ == null ? com.google.api.BatchingConfigProto.getDefaultInstance() : batching_;
+ }
+
private byte memoizedIsInitialized = -1;
@java.lang.Override
@@ -1897,6 +1976,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io
for (int i = 0; i < autoPopulatedFields_.size(); i++) {
com.google.protobuf.GeneratedMessage.writeString(output, 3, autoPopulatedFields_.getRaw(i));
}
+ if (((bitField0_ & 0x00000002) != 0)) {
+ output.writeMessage(4, getBatching());
+ }
getUnknownFields().writeTo(output);
}
@@ -1920,6 +2002,9 @@ public int getSerializedSize() {
size += dataSize;
size += 1 * getAutoPopulatedFieldsList().size();
}
+ if (((bitField0_ & 0x00000002) != 0)) {
+ size += com.google.protobuf.CodedOutputStream.computeMessageSize(4, getBatching());
+ }
size += getUnknownFields().getSerializedSize();
memoizedSize = size;
return size;
@@ -1941,6 +2026,10 @@ public boolean equals(final java.lang.Object obj) {
if (!getLongRunning().equals(other.getLongRunning())) return false;
}
if (!getAutoPopulatedFieldsList().equals(other.getAutoPopulatedFieldsList())) return false;
+ if (hasBatching() != other.hasBatching()) return false;
+ if (hasBatching()) {
+ if (!getBatching().equals(other.getBatching())) return false;
+ }
if (!getUnknownFields().equals(other.getUnknownFields())) return false;
return true;
}
@@ -1962,6 +2051,10 @@ public int hashCode() {
hash = (37 * hash) + AUTO_POPULATED_FIELDS_FIELD_NUMBER;
hash = (53 * hash) + getAutoPopulatedFieldsList().hashCode();
}
+ if (hasBatching()) {
+ hash = (37 * hash) + BATCHING_FIELD_NUMBER;
+ hash = (53 * hash) + getBatching().hashCode();
+ }
hash = (29 * hash) + getUnknownFields().hashCode();
memoizedHashCode = hash;
return hash;
@@ -2100,6 +2193,7 @@ private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) {
private void maybeForceBuilderInitialization() {
if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
internalGetLongRunningFieldBuilder();
+ internalGetBatchingFieldBuilder();
}
}
@@ -2114,6 +2208,11 @@ public Builder clear() {
longRunningBuilder_ = null;
}
autoPopulatedFields_ = com.google.protobuf.LazyStringArrayList.emptyList();
+ batching_ = null;
+ if (batchingBuilder_ != null) {
+ batchingBuilder_.dispose();
+ batchingBuilder_ = null;
+ }
return this;
}
@@ -2161,6 +2260,10 @@ private void buildPartial0(com.google.api.MethodSettings result) {
autoPopulatedFields_.makeImmutable();
result.autoPopulatedFields_ = autoPopulatedFields_;
}
+ if (((from_bitField0_ & 0x00000008) != 0)) {
+ result.batching_ = batchingBuilder_ == null ? batching_ : batchingBuilder_.build();
+ to_bitField0_ |= 0x00000002;
+ }
result.bitField0_ |= to_bitField0_;
}
@@ -2194,6 +2297,9 @@ public Builder mergeFrom(com.google.api.MethodSettings other) {
}
onChanged();
}
+ if (other.hasBatching()) {
+ mergeBatching(other.getBatching());
+ }
this.mergeUnknownFields(other.getUnknownFields());
onChanged();
return this;
@@ -2240,6 +2346,13 @@ public Builder mergeFrom(
autoPopulatedFields_.add(s);
break;
} // case 26
+ case 34:
+ {
+ input.readMessage(
+ internalGetBatchingFieldBuilder().getBuilder(), extensionRegistry);
+ bitField0_ |= 0x00000008;
+ break;
+ } // case 34
default:
{
if (!super.parseUnknownField(input, extensionRegistry, tag)) {
@@ -2995,6 +3108,290 @@ public Builder addAutoPopulatedFieldsBytes(com.google.protobuf.ByteString value)
return this;
}
+ private com.google.api.BatchingConfigProto batching_;
+ private com.google.protobuf.SingleFieldBuilder<
+ com.google.api.BatchingConfigProto,
+ com.google.api.BatchingConfigProto.Builder,
+ com.google.api.BatchingConfigProtoOrBuilder>
+ batchingBuilder_;
+
+ /**
+ *
+ *
+ * + * Batching configuration for an API method in client libraries. + * + * Example of a YAML configuration: + * + * publishing: + * method_settings: + * - selector: google.example.v1.ExampleService.BatchCreateExample + * batching: + * element_count_threshold: 1000 + * request_byte_threshold: 100000000 + * delay_threshold_millis: 10 + *+ * + *
.google.api.BatchingConfigProto batching = 4;
+ *
+ * @return Whether the batching field is set.
+ */
+ public boolean hasBatching() {
+ return ((bitField0_ & 0x00000008) != 0);
+ }
+
+ /**
+ *
+ *
+ * + * Batching configuration for an API method in client libraries. + * + * Example of a YAML configuration: + * + * publishing: + * method_settings: + * - selector: google.example.v1.ExampleService.BatchCreateExample + * batching: + * element_count_threshold: 1000 + * request_byte_threshold: 100000000 + * delay_threshold_millis: 10 + *+ * + *
.google.api.BatchingConfigProto batching = 4;
+ *
+ * @return The batching.
+ */
+ public com.google.api.BatchingConfigProto getBatching() {
+ if (batchingBuilder_ == null) {
+ return batching_ == null
+ ? com.google.api.BatchingConfigProto.getDefaultInstance()
+ : batching_;
+ } else {
+ return batchingBuilder_.getMessage();
+ }
+ }
+
+ /**
+ *
+ *
+ * + * Batching configuration for an API method in client libraries. + * + * Example of a YAML configuration: + * + * publishing: + * method_settings: + * - selector: google.example.v1.ExampleService.BatchCreateExample + * batching: + * element_count_threshold: 1000 + * request_byte_threshold: 100000000 + * delay_threshold_millis: 10 + *+ * + *
.google.api.BatchingConfigProto batching = 4;
+ */
+ public Builder setBatching(com.google.api.BatchingConfigProto value) {
+ if (batchingBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ batching_ = value;
+ } else {
+ batchingBuilder_.setMessage(value);
+ }
+ bitField0_ |= 0x00000008;
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ * + * Batching configuration for an API method in client libraries. + * + * Example of a YAML configuration: + * + * publishing: + * method_settings: + * - selector: google.example.v1.ExampleService.BatchCreateExample + * batching: + * element_count_threshold: 1000 + * request_byte_threshold: 100000000 + * delay_threshold_millis: 10 + *+ * + *
.google.api.BatchingConfigProto batching = 4;
+ */
+ public Builder setBatching(com.google.api.BatchingConfigProto.Builder builderForValue) {
+ if (batchingBuilder_ == null) {
+ batching_ = builderForValue.build();
+ } else {
+ batchingBuilder_.setMessage(builderForValue.build());
+ }
+ bitField0_ |= 0x00000008;
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ * + * Batching configuration for an API method in client libraries. + * + * Example of a YAML configuration: + * + * publishing: + * method_settings: + * - selector: google.example.v1.ExampleService.BatchCreateExample + * batching: + * element_count_threshold: 1000 + * request_byte_threshold: 100000000 + * delay_threshold_millis: 10 + *+ * + *
.google.api.BatchingConfigProto batching = 4;
+ */
+ public Builder mergeBatching(com.google.api.BatchingConfigProto value) {
+ if (batchingBuilder_ == null) {
+ if (((bitField0_ & 0x00000008) != 0)
+ && batching_ != null
+ && batching_ != com.google.api.BatchingConfigProto.getDefaultInstance()) {
+ getBatchingBuilder().mergeFrom(value);
+ } else {
+ batching_ = value;
+ }
+ } else {
+ batchingBuilder_.mergeFrom(value);
+ }
+ if (batching_ != null) {
+ bitField0_ |= 0x00000008;
+ onChanged();
+ }
+ return this;
+ }
+
+ /**
+ *
+ *
+ * + * Batching configuration for an API method in client libraries. + * + * Example of a YAML configuration: + * + * publishing: + * method_settings: + * - selector: google.example.v1.ExampleService.BatchCreateExample + * batching: + * element_count_threshold: 1000 + * request_byte_threshold: 100000000 + * delay_threshold_millis: 10 + *+ * + *
.google.api.BatchingConfigProto batching = 4;
+ */
+ public Builder clearBatching() {
+ bitField0_ = (bitField0_ & ~0x00000008);
+ batching_ = null;
+ if (batchingBuilder_ != null) {
+ batchingBuilder_.dispose();
+ batchingBuilder_ = null;
+ }
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ * + * Batching configuration for an API method in client libraries. + * + * Example of a YAML configuration: + * + * publishing: + * method_settings: + * - selector: google.example.v1.ExampleService.BatchCreateExample + * batching: + * element_count_threshold: 1000 + * request_byte_threshold: 100000000 + * delay_threshold_millis: 10 + *+ * + *
.google.api.BatchingConfigProto batching = 4;
+ */
+ public com.google.api.BatchingConfigProto.Builder getBatchingBuilder() {
+ bitField0_ |= 0x00000008;
+ onChanged();
+ return internalGetBatchingFieldBuilder().getBuilder();
+ }
+
+ /**
+ *
+ *
+ * + * Batching configuration for an API method in client libraries. + * + * Example of a YAML configuration: + * + * publishing: + * method_settings: + * - selector: google.example.v1.ExampleService.BatchCreateExample + * batching: + * element_count_threshold: 1000 + * request_byte_threshold: 100000000 + * delay_threshold_millis: 10 + *+ * + *
.google.api.BatchingConfigProto batching = 4;
+ */
+ public com.google.api.BatchingConfigProtoOrBuilder getBatchingOrBuilder() {
+ if (batchingBuilder_ != null) {
+ return batchingBuilder_.getMessageOrBuilder();
+ } else {
+ return batching_ == null
+ ? com.google.api.BatchingConfigProto.getDefaultInstance()
+ : batching_;
+ }
+ }
+
+ /**
+ *
+ *
+ * + * Batching configuration for an API method in client libraries. + * + * Example of a YAML configuration: + * + * publishing: + * method_settings: + * - selector: google.example.v1.ExampleService.BatchCreateExample + * batching: + * element_count_threshold: 1000 + * request_byte_threshold: 100000000 + * delay_threshold_millis: 10 + *+ * + *
.google.api.BatchingConfigProto batching = 4;
+ */
+ private com.google.protobuf.SingleFieldBuilder<
+ com.google.api.BatchingConfigProto,
+ com.google.api.BatchingConfigProto.Builder,
+ com.google.api.BatchingConfigProtoOrBuilder>
+ internalGetBatchingFieldBuilder() {
+ if (batchingBuilder_ == null) {
+ batchingBuilder_ =
+ new com.google.protobuf.SingleFieldBuilder<
+ com.google.api.BatchingConfigProto,
+ com.google.api.BatchingConfigProto.Builder,
+ com.google.api.BatchingConfigProtoOrBuilder>(
+ getBatching(), getParentForChildren(), isClean());
+ batching_ = null;
+ }
+ return batchingBuilder_;
+ }
+
// @@protoc_insertion_point(builder_scope:google.api.MethodSettings)
}
diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/MethodSettingsOrBuilder.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/MethodSettingsOrBuilder.java
index 90c24d2333..fa778fe082 100644
--- a/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/MethodSettingsOrBuilder.java
+++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/MethodSettingsOrBuilder.java
@@ -237,4 +237,71 @@ public interface MethodSettingsOrBuilder
* @return The bytes of the autoPopulatedFields at the given index.
*/
com.google.protobuf.ByteString getAutoPopulatedFieldsBytes(int index);
+
+ /**
+ *
+ *
+ * + * Batching configuration for an API method in client libraries. + * + * Example of a YAML configuration: + * + * publishing: + * method_settings: + * - selector: google.example.v1.ExampleService.BatchCreateExample + * batching: + * element_count_threshold: 1000 + * request_byte_threshold: 100000000 + * delay_threshold_millis: 10 + *+ * + *
.google.api.BatchingConfigProto batching = 4;
+ *
+ * @return Whether the batching field is set.
+ */
+ boolean hasBatching();
+
+ /**
+ *
+ *
+ * + * Batching configuration for an API method in client libraries. + * + * Example of a YAML configuration: + * + * publishing: + * method_settings: + * - selector: google.example.v1.ExampleService.BatchCreateExample + * batching: + * element_count_threshold: 1000 + * request_byte_threshold: 100000000 + * delay_threshold_millis: 10 + *+ * + *
.google.api.BatchingConfigProto batching = 4;
+ *
+ * @return The batching.
+ */
+ com.google.api.BatchingConfigProto getBatching();
+
+ /**
+ *
+ *
+ * + * Batching configuration for an API method in client libraries. + * + * Example of a YAML configuration: + * + * publishing: + * method_settings: + * - selector: google.example.v1.ExampleService.BatchCreateExample + * batching: + * element_count_threshold: 1000 + * request_byte_threshold: 100000000 + * delay_threshold_millis: 10 + *+ * + *
.google.api.BatchingConfigProto batching = 4;
+ */
+ com.google.api.BatchingConfigProtoOrBuilder getBatchingOrBuilder();
}
diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/OAuthRequirements.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/OAuthRequirements.java
index 75b6bc9058..44e3f4351f 100644
--- a/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/OAuthRequirements.java
+++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/OAuthRequirements.java
@@ -96,6 +96,7 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
* The list of publicly documented OAuth scopes that are allowed access. An
* OAuth token containing any of these scopes will be accepted.
*
+ *
* Example:
*
* canonical_scopes: https://www.googleapis.com/auth/calendar,
@@ -126,6 +127,7 @@ public java.lang.String getCanonicalScopes() {
* The list of publicly documented OAuth scopes that are allowed access. An
* OAuth token containing any of these scopes will be accepted.
*
+ *
* Example:
*
* canonical_scopes: https://www.googleapis.com/auth/calendar,
@@ -479,6 +481,7 @@ public Builder mergeFrom(
* The list of publicly documented OAuth scopes that are allowed access. An
* OAuth token containing any of these scopes will be accepted.
*
+ *
* Example:
*
* canonical_scopes: https://www.googleapis.com/auth/calendar,
@@ -508,6 +511,7 @@ public java.lang.String getCanonicalScopes() {
* The list of publicly documented OAuth scopes that are allowed access. An
* OAuth token containing any of these scopes will be accepted.
*
+ *
* Example:
*
* canonical_scopes: https://www.googleapis.com/auth/calendar,
@@ -537,6 +541,7 @@ public com.google.protobuf.ByteString getCanonicalScopesBytes() {
* The list of publicly documented OAuth scopes that are allowed access. An
* OAuth token containing any of these scopes will be accepted.
*
+ *
* Example:
*
* canonical_scopes: https://www.googleapis.com/auth/calendar,
@@ -565,6 +570,7 @@ public Builder setCanonicalScopes(java.lang.String value) {
* The list of publicly documented OAuth scopes that are allowed access. An
* OAuth token containing any of these scopes will be accepted.
*
+ *
* Example:
*
* canonical_scopes: https://www.googleapis.com/auth/calendar,
@@ -589,6 +595,7 @@ public Builder clearCanonicalScopes() {
* The list of publicly documented OAuth scopes that are allowed access. An
* OAuth token containing any of these scopes will be accepted.
*
+ *
* Example:
*
* canonical_scopes: https://www.googleapis.com/auth/calendar,
diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/OAuthRequirementsOrBuilder.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/OAuthRequirementsOrBuilder.java
index 70c7e2c7d7..4b28739976 100644
--- a/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/OAuthRequirementsOrBuilder.java
+++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/OAuthRequirementsOrBuilder.java
@@ -33,6 +33,7 @@ public interface OAuthRequirementsOrBuilder
* The list of publicly documented OAuth scopes that are allowed access. An
* OAuth token containing any of these scopes will be accepted.
*
+ *
* Example:
*
* canonical_scopes: https://www.googleapis.com/auth/calendar,
@@ -52,6 +53,7 @@ public interface OAuthRequirementsOrBuilder
* The list of publicly documented OAuth scopes that are allowed access. An
* OAuth token containing any of these scopes will be accepted.
*
+ *
* Example:
*
* canonical_scopes: https://www.googleapis.com/auth/calendar,
diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/PhpSettings.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/PhpSettings.java
index eff8b20b9e..9f1787c4ad 100644
--- a/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/PhpSettings.java
+++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/PhpSettings.java
@@ -51,7 +51,9 @@ private PhpSettings(com.google.protobuf.GeneratedMessage.Builder> builder) {
super(builder);
}
- private PhpSettings() {}
+ private PhpSettings() {
+ libraryPackage_ = "";
+ }
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.api.ClientProto.internal_static_google_api_PhpSettings_descriptor;
@@ -115,6 +117,81 @@ public com.google.api.CommonLanguageSettingsOrBuilder getCommonOrBuilder() {
return common_ == null ? com.google.api.CommonLanguageSettings.getDefaultInstance() : common_;
}
+ public static final int LIBRARY_PACKAGE_FIELD_NUMBER = 2;
+
+ @SuppressWarnings("serial")
+ private volatile java.lang.Object libraryPackage_ = "";
+
+ /**
+ *
+ *
+ * + * The package name to use in Php. Clobbers the php_namespace option + * set in the protobuf. This should be used **only** by APIs + * who have already set the language_settings.php.package_name" field + * in gapic.yaml. API teams should use the protobuf php_namespace option + * where possible. + * + * Example of a YAML configuration:: + * + * publishing: + * library_settings: + * php_settings: + * library_package: Google\Cloud\PubSub\V1 + *+ * + *
string library_package = 2;
+ *
+ * @return The libraryPackage.
+ */
+ @java.lang.Override
+ public java.lang.String getLibraryPackage() {
+ java.lang.Object ref = libraryPackage_;
+ 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();
+ libraryPackage_ = s;
+ return s;
+ }
+ }
+
+ /**
+ *
+ *
+ * + * The package name to use in Php. Clobbers the php_namespace option + * set in the protobuf. This should be used **only** by APIs + * who have already set the language_settings.php.package_name" field + * in gapic.yaml. API teams should use the protobuf php_namespace option + * where possible. + * + * Example of a YAML configuration:: + * + * publishing: + * library_settings: + * php_settings: + * library_package: Google\Cloud\PubSub\V1 + *+ * + *
string library_package = 2;
+ *
+ * @return The bytes for libraryPackage.
+ */
+ @java.lang.Override
+ public com.google.protobuf.ByteString getLibraryPackageBytes() {
+ java.lang.Object ref = libraryPackage_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
+ libraryPackage_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
private byte memoizedIsInitialized = -1;
@java.lang.Override
@@ -132,6 +209,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io
if (((bitField0_ & 0x00000001) != 0)) {
output.writeMessage(1, getCommon());
}
+ if (!com.google.protobuf.GeneratedMessage.isStringEmpty(libraryPackage_)) {
+ com.google.protobuf.GeneratedMessage.writeString(output, 2, libraryPackage_);
+ }
getUnknownFields().writeTo(output);
}
@@ -144,6 +224,9 @@ public int getSerializedSize() {
if (((bitField0_ & 0x00000001) != 0)) {
size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getCommon());
}
+ if (!com.google.protobuf.GeneratedMessage.isStringEmpty(libraryPackage_)) {
+ size += com.google.protobuf.GeneratedMessage.computeStringSize(2, libraryPackage_);
+ }
size += getUnknownFields().getSerializedSize();
memoizedSize = size;
return size;
@@ -163,6 +246,7 @@ public boolean equals(final java.lang.Object obj) {
if (hasCommon()) {
if (!getCommon().equals(other.getCommon())) return false;
}
+ if (!getLibraryPackage().equals(other.getLibraryPackage())) return false;
if (!getUnknownFields().equals(other.getUnknownFields())) return false;
return true;
}
@@ -178,6 +262,8 @@ public int hashCode() {
hash = (37 * hash) + COMMON_FIELD_NUMBER;
hash = (53 * hash) + getCommon().hashCode();
}
+ hash = (37 * hash) + LIBRARY_PACKAGE_FIELD_NUMBER;
+ hash = (53 * hash) + getLibraryPackage().hashCode();
hash = (29 * hash) + getUnknownFields().hashCode();
memoizedHashCode = hash;
return hash;
@@ -328,6 +414,7 @@ public Builder clear() {
commonBuilder_.dispose();
commonBuilder_ = null;
}
+ libraryPackage_ = "";
return this;
}
@@ -367,6 +454,9 @@ private void buildPartial0(com.google.api.PhpSettings result) {
result.common_ = commonBuilder_ == null ? common_ : commonBuilder_.build();
to_bitField0_ |= 0x00000001;
}
+ if (((from_bitField0_ & 0x00000002) != 0)) {
+ result.libraryPackage_ = libraryPackage_;
+ }
result.bitField0_ |= to_bitField0_;
}
@@ -385,6 +475,11 @@ public Builder mergeFrom(com.google.api.PhpSettings other) {
if (other.hasCommon()) {
mergeCommon(other.getCommon());
}
+ if (!other.getLibraryPackage().isEmpty()) {
+ libraryPackage_ = other.libraryPackage_;
+ bitField0_ |= 0x00000002;
+ onChanged();
+ }
this.mergeUnknownFields(other.getUnknownFields());
onChanged();
return this;
@@ -417,6 +512,12 @@ public Builder mergeFrom(
bitField0_ |= 0x00000001;
break;
} // case 10
+ case 18:
+ {
+ libraryPackage_ = input.readStringRequireUtf8();
+ bitField0_ |= 0x00000002;
+ break;
+ } // case 18
default:
{
if (!super.parseUnknownField(input, extensionRegistry, tag)) {
@@ -630,6 +731,172 @@ public com.google.api.CommonLanguageSettingsOrBuilder getCommonOrBuilder() {
return commonBuilder_;
}
+ private java.lang.Object libraryPackage_ = "";
+
+ /**
+ *
+ *
+ * + * The package name to use in Php. Clobbers the php_namespace option + * set in the protobuf. This should be used **only** by APIs + * who have already set the language_settings.php.package_name" field + * in gapic.yaml. API teams should use the protobuf php_namespace option + * where possible. + * + * Example of a YAML configuration:: + * + * publishing: + * library_settings: + * php_settings: + * library_package: Google\Cloud\PubSub\V1 + *+ * + *
string library_package = 2;
+ *
+ * @return The libraryPackage.
+ */
+ public java.lang.String getLibraryPackage() {
+ java.lang.Object ref = libraryPackage_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ libraryPackage_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+
+ /**
+ *
+ *
+ * + * The package name to use in Php. Clobbers the php_namespace option + * set in the protobuf. This should be used **only** by APIs + * who have already set the language_settings.php.package_name" field + * in gapic.yaml. API teams should use the protobuf php_namespace option + * where possible. + * + * Example of a YAML configuration:: + * + * publishing: + * library_settings: + * php_settings: + * library_package: Google\Cloud\PubSub\V1 + *+ * + *
string library_package = 2;
+ *
+ * @return The bytes for libraryPackage.
+ */
+ public com.google.protobuf.ByteString getLibraryPackageBytes() {
+ java.lang.Object ref = libraryPackage_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
+ libraryPackage_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ /**
+ *
+ *
+ * + * The package name to use in Php. Clobbers the php_namespace option + * set in the protobuf. This should be used **only** by APIs + * who have already set the language_settings.php.package_name" field + * in gapic.yaml. API teams should use the protobuf php_namespace option + * where possible. + * + * Example of a YAML configuration:: + * + * publishing: + * library_settings: + * php_settings: + * library_package: Google\Cloud\PubSub\V1 + *+ * + *
string library_package = 2;
+ *
+ * @param value The libraryPackage to set.
+ * @return This builder for chaining.
+ */
+ public Builder setLibraryPackage(java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ libraryPackage_ = value;
+ bitField0_ |= 0x00000002;
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ * + * The package name to use in Php. Clobbers the php_namespace option + * set in the protobuf. This should be used **only** by APIs + * who have already set the language_settings.php.package_name" field + * in gapic.yaml. API teams should use the protobuf php_namespace option + * where possible. + * + * Example of a YAML configuration:: + * + * publishing: + * library_settings: + * php_settings: + * library_package: Google\Cloud\PubSub\V1 + *+ * + *
string library_package = 2;
+ *
+ * @return This builder for chaining.
+ */
+ public Builder clearLibraryPackage() {
+ libraryPackage_ = getDefaultInstance().getLibraryPackage();
+ bitField0_ = (bitField0_ & ~0x00000002);
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ * + * The package name to use in Php. Clobbers the php_namespace option + * set in the protobuf. This should be used **only** by APIs + * who have already set the language_settings.php.package_name" field + * in gapic.yaml. API teams should use the protobuf php_namespace option + * where possible. + * + * Example of a YAML configuration:: + * + * publishing: + * library_settings: + * php_settings: + * library_package: Google\Cloud\PubSub\V1 + *+ * + *
string library_package = 2;
+ *
+ * @param value The bytes for libraryPackage to set.
+ * @return This builder for chaining.
+ */
+ public Builder setLibraryPackageBytes(com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+ libraryPackage_ = value;
+ bitField0_ |= 0x00000002;
+ onChanged();
+ return this;
+ }
+
// @@protoc_insertion_point(builder_scope:google.api.PhpSettings)
}
diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/PhpSettingsOrBuilder.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/PhpSettingsOrBuilder.java
index bdb702f445..e67df67499 100644
--- a/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/PhpSettingsOrBuilder.java
+++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/PhpSettingsOrBuilder.java
@@ -62,4 +62,52 @@ public interface PhpSettingsOrBuilder
* .google.api.CommonLanguageSettings common = 1;
*/
com.google.api.CommonLanguageSettingsOrBuilder getCommonOrBuilder();
+
+ /**
+ *
+ *
+ * + * The package name to use in Php. Clobbers the php_namespace option + * set in the protobuf. This should be used **only** by APIs + * who have already set the language_settings.php.package_name" field + * in gapic.yaml. API teams should use the protobuf php_namespace option + * where possible. + * + * Example of a YAML configuration:: + * + * publishing: + * library_settings: + * php_settings: + * library_package: Google\Cloud\PubSub\V1 + *+ * + *
string library_package = 2;
+ *
+ * @return The libraryPackage.
+ */
+ java.lang.String getLibraryPackage();
+
+ /**
+ *
+ *
+ * + * The package name to use in Php. Clobbers the php_namespace option + * set in the protobuf. This should be used **only** by APIs + * who have already set the language_settings.php.package_name" field + * in gapic.yaml. API teams should use the protobuf php_namespace option + * where possible. + * + * Example of a YAML configuration:: + * + * publishing: + * library_settings: + * php_settings: + * library_package: Google\Cloud\PubSub\V1 + *+ * + *
string library_package = 2;
+ *
+ * @return The bytes for libraryPackage.
+ */
+ com.google.protobuf.ByteString getLibraryPackageBytes();
}
diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/RoutingRule.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/RoutingRule.java
index bc31392bb9..3ee0dda986 100644
--- a/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/RoutingRule.java
+++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/RoutingRule.java
@@ -54,9 +54,13 @@
* app_profile_id: profiles/prof_qux
* }
*
- * The routing header consists of one or multiple key-value pairs. Every key
- * and value must be percent-encoded, and joined together in the format of
- * `key1=value1&key2=value2`.
+ * The routing header consists of one or multiple key-value pairs. The order of
+ * the key-value pairs is undefined, the order of the `routing_parameters` in
+ * the `RoutingRule` only matters for the evaluation order of the path
+ * templates when `field` is the same. See the examples below for more details.
+ *
+ * Every key and value in the routing header must be percent-encoded,
+ * and joined together in the following format: `key1=value1&key2=value2`.
* The examples below skip the percent-encoding for readability.
*
* Example 1
@@ -721,9 +725,13 @@ protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.Builder
* app_profile_id: profiles/prof_qux
* }
*
- * The routing header consists of one or multiple key-value pairs. Every key
- * and value must be percent-encoded, and joined together in the format of
- * `key1=value1&key2=value2`.
+ * The routing header consists of one or multiple key-value pairs. The order of
+ * the key-value pairs is undefined, the order of the `routing_parameters` in
+ * the `RoutingRule` only matters for the evaluation order of the path
+ * templates when `field` is the same. See the examples below for more details.
+ *
+ * Every key and value in the routing header must be percent-encoded,
+ * and joined together in the following format: `key1=value1&key2=value2`.
* The examples below skip the percent-encoding for readability.
*
* Example 1
diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/Service.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/Service.java
index 2a5f6ffc6b..cfeb4269c6 100644
--- a/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/Service.java
+++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/Service.java
@@ -1292,8 +1292,7 @@ public com.google.api.MetricDescriptorOrBuilder getMetricsOrBuilder(int index) {
*
*
* Defines the monitored resources used by this service. This is required
- * by the [Service.monitoring][google.api.Service.monitoring] and
- * [Service.logging][google.api.Service.logging] configurations.
+ * by the `Service.monitoring` and `Service.logging` configurations.
*
*
* repeated .google.api.MonitoredResourceDescriptor monitored_resources = 25;
@@ -1308,8 +1307,7 @@ public java.util.List
* Defines the monitored resources used by this service. This is required
- * by the [Service.monitoring][google.api.Service.monitoring] and
- * [Service.logging][google.api.Service.logging] configurations.
+ * by the `Service.monitoring` and `Service.logging` configurations.
*
*
* repeated .google.api.MonitoredResourceDescriptor monitored_resources = 25;
@@ -1325,8 +1323,7 @@ public java.util.List
* Defines the monitored resources used by this service. This is required
- * by the [Service.monitoring][google.api.Service.monitoring] and
- * [Service.logging][google.api.Service.logging] configurations.
+ * by the `Service.monitoring` and `Service.logging` configurations.
*
*
* repeated .google.api.MonitoredResourceDescriptor monitored_resources = 25;
@@ -1341,8 +1338,7 @@ public int getMonitoredResourcesCount() {
*
*
* Defines the monitored resources used by this service. This is required
- * by the [Service.monitoring][google.api.Service.monitoring] and
- * [Service.logging][google.api.Service.logging] configurations.
+ * by the `Service.monitoring` and `Service.logging` configurations.
*
*
* repeated .google.api.MonitoredResourceDescriptor monitored_resources = 25;
@@ -1357,8 +1353,7 @@ public com.google.api.MonitoredResourceDescriptor getMonitoredResources(int inde
*
*
* Defines the monitored resources used by this service. This is required
- * by the [Service.monitoring][google.api.Service.monitoring] and
- * [Service.logging][google.api.Service.logging] configurations.
+ * by the `Service.monitoring` and `Service.logging` configurations.
*
*
* repeated .google.api.MonitoredResourceDescriptor monitored_resources = 25;
@@ -7633,8 +7628,7 @@ private void ensureMonitoredResourcesIsMutable() {
*
*
* Defines the monitored resources used by this service. This is required
- * by the [Service.monitoring][google.api.Service.monitoring] and
- * [Service.logging][google.api.Service.logging] configurations.
+ * by the `Service.monitoring` and `Service.logging` configurations.
*
*
* repeated .google.api.MonitoredResourceDescriptor monitored_resources = 25;
@@ -7652,8 +7646,7 @@ public java.util.List
* Defines the monitored resources used by this service. This is required
- * by the [Service.monitoring][google.api.Service.monitoring] and
- * [Service.logging][google.api.Service.logging] configurations.
+ * by the `Service.monitoring` and `Service.logging` configurations.
*
*
* repeated .google.api.MonitoredResourceDescriptor monitored_resources = 25;
@@ -7671,8 +7664,7 @@ public int getMonitoredResourcesCount() {
*
*
* Defines the monitored resources used by this service. This is required
- * by the [Service.monitoring][google.api.Service.monitoring] and
- * [Service.logging][google.api.Service.logging] configurations.
+ * by the `Service.monitoring` and `Service.logging` configurations.
*
*
* repeated .google.api.MonitoredResourceDescriptor monitored_resources = 25;
@@ -7690,8 +7682,7 @@ public com.google.api.MonitoredResourceDescriptor getMonitoredResources(int inde
*
*
* Defines the monitored resources used by this service. This is required
- * by the [Service.monitoring][google.api.Service.monitoring] and
- * [Service.logging][google.api.Service.logging] configurations.
+ * by the `Service.monitoring` and `Service.logging` configurations.
*
*
* repeated .google.api.MonitoredResourceDescriptor monitored_resources = 25;
@@ -7716,8 +7707,7 @@ public Builder setMonitoredResources(
*
*
* Defines the monitored resources used by this service. This is required
- * by the [Service.monitoring][google.api.Service.monitoring] and
- * [Service.logging][google.api.Service.logging] configurations.
+ * by the `Service.monitoring` and `Service.logging` configurations.
*
*
* repeated .google.api.MonitoredResourceDescriptor monitored_resources = 25;
@@ -7739,8 +7729,7 @@ public Builder setMonitoredResources(
*
*
* Defines the monitored resources used by this service. This is required
- * by the [Service.monitoring][google.api.Service.monitoring] and
- * [Service.logging][google.api.Service.logging] configurations.
+ * by the `Service.monitoring` and `Service.logging` configurations.
*
*
* repeated .google.api.MonitoredResourceDescriptor monitored_resources = 25;
@@ -7764,8 +7753,7 @@ public Builder addMonitoredResources(com.google.api.MonitoredResourceDescriptor
*
*
* Defines the monitored resources used by this service. This is required
- * by the [Service.monitoring][google.api.Service.monitoring] and
- * [Service.logging][google.api.Service.logging] configurations.
+ * by the `Service.monitoring` and `Service.logging` configurations.
*
*
* repeated .google.api.MonitoredResourceDescriptor monitored_resources = 25;
@@ -7790,8 +7778,7 @@ public Builder addMonitoredResources(
*
*
* Defines the monitored resources used by this service. This is required
- * by the [Service.monitoring][google.api.Service.monitoring] and
- * [Service.logging][google.api.Service.logging] configurations.
+ * by the `Service.monitoring` and `Service.logging` configurations.
*
*
* repeated .google.api.MonitoredResourceDescriptor monitored_resources = 25;
@@ -7813,8 +7800,7 @@ public Builder addMonitoredResources(
*
*
* Defines the monitored resources used by this service. This is required
- * by the [Service.monitoring][google.api.Service.monitoring] and
- * [Service.logging][google.api.Service.logging] configurations.
+ * by the `Service.monitoring` and `Service.logging` configurations.
*
*
* repeated .google.api.MonitoredResourceDescriptor monitored_resources = 25;
@@ -7836,8 +7822,7 @@ public Builder addMonitoredResources(
*
*
* Defines the monitored resources used by this service. This is required
- * by the [Service.monitoring][google.api.Service.monitoring] and
- * [Service.logging][google.api.Service.logging] configurations.
+ * by the `Service.monitoring` and `Service.logging` configurations.
*
*
* repeated .google.api.MonitoredResourceDescriptor monitored_resources = 25;
@@ -7859,8 +7844,7 @@ public Builder addAllMonitoredResources(
*
*
* Defines the monitored resources used by this service. This is required
- * by the [Service.monitoring][google.api.Service.monitoring] and
- * [Service.logging][google.api.Service.logging] configurations.
+ * by the `Service.monitoring` and `Service.logging` configurations.
*
*
* repeated .google.api.MonitoredResourceDescriptor monitored_resources = 25;
@@ -7881,8 +7865,7 @@ public Builder clearMonitoredResources() {
*
*
* Defines the monitored resources used by this service. This is required
- * by the [Service.monitoring][google.api.Service.monitoring] and
- * [Service.logging][google.api.Service.logging] configurations.
+ * by the `Service.monitoring` and `Service.logging` configurations.
*
*
* repeated .google.api.MonitoredResourceDescriptor monitored_resources = 25;
@@ -7903,8 +7886,7 @@ public Builder removeMonitoredResources(int index) {
*
*
* Defines the monitored resources used by this service. This is required
- * by the [Service.monitoring][google.api.Service.monitoring] and
- * [Service.logging][google.api.Service.logging] configurations.
+ * by the `Service.monitoring` and `Service.logging` configurations.
*
*
* repeated .google.api.MonitoredResourceDescriptor monitored_resources = 25;
@@ -7919,8 +7901,7 @@ public com.google.api.MonitoredResourceDescriptor.Builder getMonitoredResourcesB
*
*
* Defines the monitored resources used by this service. This is required
- * by the [Service.monitoring][google.api.Service.monitoring] and
- * [Service.logging][google.api.Service.logging] configurations.
+ * by the `Service.monitoring` and `Service.logging` configurations.
*
*
* repeated .google.api.MonitoredResourceDescriptor monitored_resources = 25;
@@ -7939,8 +7920,7 @@ public com.google.api.MonitoredResourceDescriptorOrBuilder getMonitoredResources
*
*
* Defines the monitored resources used by this service. This is required
- * by the [Service.monitoring][google.api.Service.monitoring] and
- * [Service.logging][google.api.Service.logging] configurations.
+ * by the `Service.monitoring` and `Service.logging` configurations.
*
*
* repeated .google.api.MonitoredResourceDescriptor monitored_resources = 25;
@@ -7959,8 +7939,7 @@ public com.google.api.MonitoredResourceDescriptorOrBuilder getMonitoredResources
*
*
* Defines the monitored resources used by this service. This is required
- * by the [Service.monitoring][google.api.Service.monitoring] and
- * [Service.logging][google.api.Service.logging] configurations.
+ * by the `Service.monitoring` and `Service.logging` configurations.
*
*
* repeated .google.api.MonitoredResourceDescriptor monitored_resources = 25;
@@ -7975,8 +7954,7 @@ public com.google.api.MonitoredResourceDescriptor.Builder addMonitoredResourcesB
*
*
* Defines the monitored resources used by this service. This is required
- * by the [Service.monitoring][google.api.Service.monitoring] and
- * [Service.logging][google.api.Service.logging] configurations.
+ * by the `Service.monitoring` and `Service.logging` configurations.
*
*
* repeated .google.api.MonitoredResourceDescriptor monitored_resources = 25;
@@ -7992,8 +7970,7 @@ public com.google.api.MonitoredResourceDescriptor.Builder addMonitoredResourcesB
*
*
* Defines the monitored resources used by this service. This is required
- * by the [Service.monitoring][google.api.Service.monitoring] and
- * [Service.logging][google.api.Service.logging] configurations.
+ * by the `Service.monitoring` and `Service.logging` configurations.
*
*
* repeated .google.api.MonitoredResourceDescriptor monitored_resources = 25;
diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/ServiceOrBuilder.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/ServiceOrBuilder.java
index ae7e2ea7c7..474fedefe0 100644
--- a/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/ServiceOrBuilder.java
+++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/ServiceOrBuilder.java
@@ -870,8 +870,7 @@ public interface ServiceOrBuilder
*
*
* Defines the monitored resources used by this service. This is required
- * by the [Service.monitoring][google.api.Service.monitoring] and
- * [Service.logging][google.api.Service.logging] configurations.
+ * by the `Service.monitoring` and `Service.logging` configurations.
*
*
* repeated .google.api.MonitoredResourceDescriptor monitored_resources = 25;
@@ -883,8 +882,7 @@ public interface ServiceOrBuilder
*
*
* Defines the monitored resources used by this service. This is required
- * by the [Service.monitoring][google.api.Service.monitoring] and
- * [Service.logging][google.api.Service.logging] configurations.
+ * by the `Service.monitoring` and `Service.logging` configurations.
*
*
* repeated .google.api.MonitoredResourceDescriptor monitored_resources = 25;
@@ -896,8 +894,7 @@ public interface ServiceOrBuilder
*
*
* Defines the monitored resources used by this service. This is required
- * by the [Service.monitoring][google.api.Service.monitoring] and
- * [Service.logging][google.api.Service.logging] configurations.
+ * by the `Service.monitoring` and `Service.logging` configurations.
*
*
* repeated .google.api.MonitoredResourceDescriptor monitored_resources = 25;
@@ -909,8 +906,7 @@ public interface ServiceOrBuilder
*
*
* Defines the monitored resources used by this service. This is required
- * by the [Service.monitoring][google.api.Service.monitoring] and
- * [Service.logging][google.api.Service.logging] configurations.
+ * by the `Service.monitoring` and `Service.logging` configurations.
*
*
* repeated .google.api.MonitoredResourceDescriptor monitored_resources = 25;
@@ -923,8 +919,7 @@ public interface ServiceOrBuilder
*
*
* Defines the monitored resources used by this service. This is required
- * by the [Service.monitoring][google.api.Service.monitoring] and
- * [Service.logging][google.api.Service.logging] configurations.
+ * by the `Service.monitoring` and `Service.logging` configurations.
*
*
* repeated .google.api.MonitoredResourceDescriptor monitored_resources = 25;
diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/UsageRule.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/UsageRule.java
index d011c39799..254127e734 100644
--- a/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/UsageRule.java
+++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/UsageRule.java
@@ -25,30 +25,6 @@
*
* * Usage configuration rules for the service. - * - * NOTE: Under development. - * - * - * Use this rule to configure unregistered calls for the service. Unregistered - * calls are calls that do not contain consumer project identity. - * (Example: calls that do not contain an API key). - * By default, API methods do not allow unregistered calls, and each method call - * must be identified by a consumer project identity. Use this rule to - * allow/disallow unregistered calls. - * - * Example of an API that wants to allow unregistered calls for entire service. - * - * usage: - * rules: - * - selector: "*" - * allow_unregistered_calls: true - * - * Example of a method that wants to allow unregistered calls. - * - * usage: - * rules: - * - selector: "google.example.library.v1.LibraryService.CreateBook" - * allow_unregistered_calls: true ** * Protobuf type {@code google.api.UsageRule} @@ -159,8 +135,12 @@ public com.google.protobuf.ByteString getSelectorBytes() { * * *
- * If true, the selected method allows unregistered calls, e.g. calls
- * that don't identify any user or application.
+ * Use this rule to configure unregistered calls for the service. Unregistered
+ * calls are calls that do not contain consumer project identity.
+ * (Example: calls that do not contain an API key).
+ *
+ * WARNING: By default, API methods do not allow unregistered calls, and each
+ * method call must be identified by a consumer project identity.
*
*
* bool allow_unregistered_calls = 2;
@@ -375,30 +355,6 @@ protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.Builder
*
*
* Usage configuration rules for the service.
- *
- * NOTE: Under development.
- *
- *
- * Use this rule to configure unregistered calls for the service. Unregistered
- * calls are calls that do not contain consumer project identity.
- * (Example: calls that do not contain an API key).
- * By default, API methods do not allow unregistered calls, and each method call
- * must be identified by a consumer project identity. Use this rule to
- * allow/disallow unregistered calls.
- *
- * Example of an API that wants to allow unregistered calls for entire service.
- *
- * usage:
- * rules:
- * - selector: "*"
- * allow_unregistered_calls: true
- *
- * Example of a method that wants to allow unregistered calls.
- *
- * usage:
- * rules:
- * - selector: "google.example.library.v1.LibraryService.CreateBook"
- * allow_unregistered_calls: true
*
*
* Protobuf type {@code google.api.UsageRule}
@@ -701,8 +657,12 @@ public Builder setSelectorBytes(com.google.protobuf.ByteString value) {
*
*
*
- * If true, the selected method allows unregistered calls, e.g. calls
- * that don't identify any user or application.
+ * Use this rule to configure unregistered calls for the service. Unregistered
+ * calls are calls that do not contain consumer project identity.
+ * (Example: calls that do not contain an API key).
+ *
+ * WARNING: By default, API methods do not allow unregistered calls, and each
+ * method call must be identified by a consumer project identity.
*
*
* bool allow_unregistered_calls = 2;
@@ -718,8 +678,12 @@ public boolean getAllowUnregisteredCalls() {
*
*
*
- * If true, the selected method allows unregistered calls, e.g. calls
- * that don't identify any user or application.
+ * Use this rule to configure unregistered calls for the service. Unregistered
+ * calls are calls that do not contain consumer project identity.
+ * (Example: calls that do not contain an API key).
+ *
+ * WARNING: By default, API methods do not allow unregistered calls, and each
+ * method call must be identified by a consumer project identity.
*
*
* bool allow_unregistered_calls = 2;
@@ -739,8 +703,12 @@ public Builder setAllowUnregisteredCalls(boolean value) {
*
*
*
- * If true, the selected method allows unregistered calls, e.g. calls
- * that don't identify any user or application.
+ * Use this rule to configure unregistered calls for the service. Unregistered
+ * calls are calls that do not contain consumer project identity.
+ * (Example: calls that do not contain an API key).
+ *
+ * WARNING: By default, API methods do not allow unregistered calls, and each
+ * method call must be identified by a consumer project identity.
*
*
* bool allow_unregistered_calls = 2;
diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/UsageRuleOrBuilder.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/UsageRuleOrBuilder.java
index 71a6dedd1e..81fae159d8 100644
--- a/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/UsageRuleOrBuilder.java
+++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/UsageRuleOrBuilder.java
@@ -64,8 +64,12 @@ public interface UsageRuleOrBuilder
*
*
*
- * If true, the selected method allows unregistered calls, e.g. calls
- * that don't identify any user or application.
+ * Use this rule to configure unregistered calls for the service. Unregistered
+ * calls are calls that do not contain consumer project identity.
+ * (Example: calls that do not contain an API key).
+ *
+ * WARNING: By default, API methods do not allow unregistered calls, and each
+ * method call must be identified by a consumer project identity.
*
*
* bool allow_unregistered_calls = 2;
diff --git a/java-common-protos/proto-google-common-protos/src/main/proto/google/api/auth.proto b/java-common-protos/proto-google-common-protos/src/main/proto/google/api/auth.proto
index cb640bd68c..9b025bac15 100644
--- a/java-common-protos/proto-google-common-protos/src/main/proto/google/api/auth.proto
+++ b/java-common-protos/proto-google-common-protos/src/main/proto/google/api/auth.proto
@@ -1,4 +1,4 @@
-// Copyright 2025 Google LLC
+// Copyright 2026 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -199,6 +199,7 @@ message OAuthRequirements {
// The list of publicly documented OAuth scopes that are allowed access. An
// OAuth token containing any of these scopes will be accepted.
//
+ //
// Example:
//
// canonical_scopes: https://www.googleapis.com/auth/calendar,
diff --git a/java-common-protos/proto-google-common-protos/src/main/proto/google/api/backend.proto b/java-common-protos/proto-google-common-protos/src/main/proto/google/api/backend.proto
index 8d2206e535..7bff445a34 100644
--- a/java-common-protos/proto-google-common-protos/src/main/proto/google/api/backend.proto
+++ b/java-common-protos/proto-google-common-protos/src/main/proto/google/api/backend.proto
@@ -1,4 +1,4 @@
-// Copyright 2025 Google LLC
+// Copyright 2026 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -128,6 +128,10 @@ message BackendRule {
// operation. The default is no deadline.
double operation_deadline = 5;
+ // Path translation specifies how to combine the backend address with the
+ // request path in order to produce the appropriate forwarding URL for the
+ // request. See [PathTranslation][google.api.BackendRule.PathTranslation] for
+ // more details.
PathTranslation path_translation = 6;
// Authentication settings used by the backend.
@@ -182,4 +186,11 @@ message BackendRule {
// The map between request protocol and the backend address.
map