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 + implements + // @@protoc_insertion_point(builder_implements:google.api.BatchingConfigProto) + com.google.api.BatchingConfigProtoOrBuilder { + 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); + } + + // Construct using com.google.api.BatchingConfigProto.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + internalGetThresholdsFieldBuilder(); + internalGetBatchDescriptorFieldBuilder(); + } + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + thresholds_ = null; + if (thresholdsBuilder_ != null) { + thresholdsBuilder_.dispose(); + thresholdsBuilder_ = null; + } + batchDescriptor_ = null; + if (batchDescriptorBuilder_ != null) { + batchDescriptorBuilder_.dispose(); + batchDescriptorBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.api.ClientProto.internal_static_google_api_BatchingConfigProto_descriptor; + } + + @java.lang.Override + public com.google.api.BatchingConfigProto getDefaultInstanceForType() { + return com.google.api.BatchingConfigProto.getDefaultInstance(); + } + + @java.lang.Override + public com.google.api.BatchingConfigProto build() { + com.google.api.BatchingConfigProto result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.api.BatchingConfigProto buildPartial() { + com.google.api.BatchingConfigProto result = new com.google.api.BatchingConfigProto(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0(com.google.api.BatchingConfigProto result) { + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.thresholds_ = thresholdsBuilder_ == null ? thresholds_ : thresholdsBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.batchDescriptor_ = + batchDescriptorBuilder_ == null ? batchDescriptor_ : batchDescriptorBuilder_.build(); + to_bitField0_ |= 0x00000002; + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.api.BatchingConfigProto) { + return mergeFrom((com.google.api.BatchingConfigProto) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.api.BatchingConfigProto other) { + if (other == com.google.api.BatchingConfigProto.getDefaultInstance()) return this; + if (other.hasThresholds()) { + mergeThresholds(other.getThresholds()); + } + if (other.hasBatchDescriptor()) { + mergeBatchDescriptor(other.getBatchDescriptor()); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + input.readMessage( + internalGetThresholdsFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: + { + input.readMessage( + internalGetBatchDescriptorFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000002; + break; + } // case 18 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private com.google.api.BatchingSettingsProto thresholds_; + private com.google.protobuf.SingleFieldBuilder< + com.google.api.BatchingSettingsProto, + com.google.api.BatchingSettingsProto.Builder, + com.google.api.BatchingSettingsProtoOrBuilder> + thresholdsBuilder_; + + /** + * + * + *
+     * 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 PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public BatchingConfigProto parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.api.BatchingConfigProto getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/BatchingConfigProtoOrBuilder.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/BatchingConfigProtoOrBuilder.java new file mode 100644 index 0000000000..c8a1323650 --- /dev/null +++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/BatchingConfigProtoOrBuilder.java @@ -0,0 +1,102 @@ +/* + * 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; + +@com.google.protobuf.Generated +public interface BatchingConfigProtoOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.api.BatchingConfigProto) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * 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 + implements + // @@protoc_insertion_point(builder_implements:google.api.BatchingDescriptorProto) + com.google.api.BatchingDescriptorProtoOrBuilder { + 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); + } + + // Construct using com.google.api.BatchingDescriptorProto.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + batchedField_ = ""; + discriminatorFields_ = com.google.protobuf.LazyStringArrayList.emptyList(); + subresponseField_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.api.ClientProto + .internal_static_google_api_BatchingDescriptorProto_descriptor; + } + + @java.lang.Override + public com.google.api.BatchingDescriptorProto getDefaultInstanceForType() { + return com.google.api.BatchingDescriptorProto.getDefaultInstance(); + } + + @java.lang.Override + public com.google.api.BatchingDescriptorProto build() { + com.google.api.BatchingDescriptorProto result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.api.BatchingDescriptorProto buildPartial() { + com.google.api.BatchingDescriptorProto result = + new com.google.api.BatchingDescriptorProto(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0(com.google.api.BatchingDescriptorProto result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.batchedField_ = batchedField_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + discriminatorFields_.makeImmutable(); + result.discriminatorFields_ = discriminatorFields_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.subresponseField_ = subresponseField_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.api.BatchingDescriptorProto) { + return mergeFrom((com.google.api.BatchingDescriptorProto) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.api.BatchingDescriptorProto other) { + if (other == com.google.api.BatchingDescriptorProto.getDefaultInstance()) return this; + if (!other.getBatchedField().isEmpty()) { + batchedField_ = other.batchedField_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (!other.discriminatorFields_.isEmpty()) { + if (discriminatorFields_.isEmpty()) { + discriminatorFields_ = other.discriminatorFields_; + bitField0_ |= 0x00000002; + } else { + ensureDiscriminatorFieldsIsMutable(); + discriminatorFields_.addAll(other.discriminatorFields_); + } + onChanged(); + } + if (!other.getSubresponseField().isEmpty()) { + subresponseField_ = other.subresponseField_; + bitField0_ |= 0x00000004; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + batchedField_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: + { + java.lang.String s = input.readStringRequireUtf8(); + ensureDiscriminatorFieldsIsMutable(); + discriminatorFields_.add(s); + break; + } // case 18 + case 26: + { + subresponseField_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000004; + break; + } // case 26 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private java.lang.Object batchedField_ = ""; + + /** + * + * + *
+     * 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 values) { + ensureDiscriminatorFieldsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, discriminatorFields_); + 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; + * + * @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 PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public BatchingDescriptorProto parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.api.BatchingDescriptorProto getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/BatchingDescriptorProtoOrBuilder.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/BatchingDescriptorProtoOrBuilder.java new file mode 100644 index 0000000000..4175aedbc2 --- /dev/null +++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/BatchingDescriptorProtoOrBuilder.java @@ -0,0 +1,148 @@ +/* + * 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; + +@com.google.protobuf.Generated +public interface BatchingDescriptorProtoOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.api.BatchingDescriptorProto) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * 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 getDiscriminatorFieldsList(); + + /** + * + * + *
+   * 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 + implements + // @@protoc_insertion_point(builder_implements:google.api.BatchingSettingsProto) + com.google.api.BatchingSettingsProtoOrBuilder { + 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); + } + + // Construct using com.google.api.BatchingSettingsProto.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + internalGetDelayThresholdFieldBuilder(); + } + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + elementCountThreshold_ = 0; + requestByteThreshold_ = 0L; + delayThreshold_ = null; + if (delayThresholdBuilder_ != null) { + delayThresholdBuilder_.dispose(); + delayThresholdBuilder_ = null; + } + elementCountLimit_ = 0; + requestByteLimit_ = 0; + flowControlElementLimit_ = 0; + flowControlByteLimit_ = 0; + flowControlLimitExceededBehavior_ = 0; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.api.ClientProto.internal_static_google_api_BatchingSettingsProto_descriptor; + } + + @java.lang.Override + public com.google.api.BatchingSettingsProto getDefaultInstanceForType() { + return com.google.api.BatchingSettingsProto.getDefaultInstance(); + } + + @java.lang.Override + public com.google.api.BatchingSettingsProto build() { + com.google.api.BatchingSettingsProto result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.api.BatchingSettingsProto buildPartial() { + com.google.api.BatchingSettingsProto result = new com.google.api.BatchingSettingsProto(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0(com.google.api.BatchingSettingsProto result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.elementCountThreshold_ = elementCountThreshold_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.requestByteThreshold_ = requestByteThreshold_; + } + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000004) != 0)) { + result.delayThreshold_ = + delayThresholdBuilder_ == null ? delayThreshold_ : delayThresholdBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.elementCountLimit_ = elementCountLimit_; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.requestByteLimit_ = requestByteLimit_; + } + if (((from_bitField0_ & 0x00000020) != 0)) { + result.flowControlElementLimit_ = flowControlElementLimit_; + } + if (((from_bitField0_ & 0x00000040) != 0)) { + result.flowControlByteLimit_ = flowControlByteLimit_; + } + if (((from_bitField0_ & 0x00000080) != 0)) { + result.flowControlLimitExceededBehavior_ = flowControlLimitExceededBehavior_; + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.api.BatchingSettingsProto) { + return mergeFrom((com.google.api.BatchingSettingsProto) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.api.BatchingSettingsProto other) { + if (other == com.google.api.BatchingSettingsProto.getDefaultInstance()) return this; + if (other.getElementCountThreshold() != 0) { + setElementCountThreshold(other.getElementCountThreshold()); + } + if (other.getRequestByteThreshold() != 0L) { + setRequestByteThreshold(other.getRequestByteThreshold()); + } + if (other.hasDelayThreshold()) { + mergeDelayThreshold(other.getDelayThreshold()); + } + if (other.getElementCountLimit() != 0) { + setElementCountLimit(other.getElementCountLimit()); + } + if (other.getRequestByteLimit() != 0) { + setRequestByteLimit(other.getRequestByteLimit()); + } + if (other.getFlowControlElementLimit() != 0) { + setFlowControlElementLimit(other.getFlowControlElementLimit()); + } + if (other.getFlowControlByteLimit() != 0) { + setFlowControlByteLimit(other.getFlowControlByteLimit()); + } + if (other.flowControlLimitExceededBehavior_ != 0) { + setFlowControlLimitExceededBehaviorValue(other.getFlowControlLimitExceededBehaviorValue()); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: + { + elementCountThreshold_ = input.readInt32(); + bitField0_ |= 0x00000001; + break; + } // case 8 + case 16: + { + requestByteThreshold_ = input.readInt64(); + bitField0_ |= 0x00000002; + break; + } // case 16 + case 26: + { + input.readMessage( + internalGetDelayThresholdFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000004; + break; + } // case 26 + case 32: + { + elementCountLimit_ = input.readInt32(); + bitField0_ |= 0x00000008; + break; + } // case 32 + case 40: + { + requestByteLimit_ = input.readInt32(); + bitField0_ |= 0x00000010; + break; + } // case 40 + case 48: + { + flowControlElementLimit_ = input.readInt32(); + bitField0_ |= 0x00000020; + break; + } // case 48 + case 56: + { + flowControlByteLimit_ = input.readInt32(); + bitField0_ |= 0x00000040; + break; + } // case 56 + case 64: + { + flowControlLimitExceededBehavior_ = input.readEnum(); + bitField0_ |= 0x00000080; + break; + } // case 64 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private int 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; + * + * @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 PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public BatchingSettingsProto parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.api.BatchingSettingsProto getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/BatchingSettingsProtoOrBuilder.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/BatchingSettingsProtoOrBuilder.java new file mode 100644 index 0000000000..13b8a9d8ec --- /dev/null +++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/BatchingSettingsProtoOrBuilder.java @@ -0,0 +1,180 @@ +/* + * 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; + +@com.google.protobuf.Generated +public interface BatchingSettingsProtoOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.api.BatchingSettingsProto) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * 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 + internalGetValueMap() { + return internalValueMap; + } + + private static final com.google.protobuf.Internal.EnumLiteMap< + FlowControlLimitExceededBehaviorProto> + internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public FlowControlLimitExceededBehaviorProto findValueByNumber(int number) { + return FlowControlLimitExceededBehaviorProto.forNumber(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalStateException( + "Can't get the descriptor of an unrecognized enum value."); + } + return getDescriptor().getValues().get(ordinal()); + } + + public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() { + return getDescriptor(); + } + + public static com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() { + return com.google.api.ClientProto.getDescriptor().getEnumTypes().get(2); + } + + private static final FlowControlLimitExceededBehaviorProto[] VALUES = values(); + + public static FlowControlLimitExceededBehaviorProto valueOf( + com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type."); + } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } + return VALUES[desc.getIndex()]; + } + + private final int value; + + private FlowControlLimitExceededBehaviorProto(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:google.api.FlowControlLimitExceededBehaviorProto) +} diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/GoSettings.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/GoSettings.java index 54f2d59f5c..42989dc49d 100644 --- a/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/GoSettings.java +++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/GoSettings.java @@ -164,6 +164,8 @@ public int getRenamedServicesCount() { * service names and values are the name to be used for the service client * and call options. * + * Example: + * * publishing: * go_settings: * renamed_services: @@ -195,6 +197,8 @@ public java.util.Map getRenamedServices() { * service names and values are the name to be used for the service client * and call options. * + * Example: + * * publishing: * go_settings: * renamed_services: @@ -216,6 +220,8 @@ public java.util.Map getRenamedServicesMap() * service names and values are the name to be used for the service client * and call options. * + * Example: + * * publishing: * go_settings: * renamed_services: @@ -244,6 +250,8 @@ public java.util.Map getRenamedServicesMap() * service names and values are the name to be used for the service client * and call options. * + * Example: + * * publishing: * go_settings: * renamed_services: @@ -875,6 +883,8 @@ public int getRenamedServicesCount() { * service names and values are the name to be used for the service client * and call options. * + * Example: + * * publishing: * go_settings: * renamed_services: @@ -906,6 +916,8 @@ public java.util.Map getRenamedServices() { * service names and values are the name to be used for the service client * and call options. * + * Example: + * * publishing: * go_settings: * renamed_services: @@ -927,6 +939,8 @@ public java.util.Map getRenamedServicesMap() * service names and values are the name to be used for the service client * and call options. * + * Example: + * * publishing: * go_settings: * renamed_services: @@ -955,6 +969,8 @@ public java.util.Map getRenamedServicesMap() * service names and values are the name to be used for the service client * and call options. * + * Example: + * * publishing: * go_settings: * renamed_services: @@ -989,6 +1005,8 @@ public Builder clearRenamedServices() { * service names and values are the name to be used for the service client * and call options. * + * Example: + * * publishing: * go_settings: * renamed_services: @@ -1020,6 +1038,8 @@ public java.util.Map getMutableRenamedServic * service names and values are the name to be used for the service client * and call options. * + * Example: + * * publishing: * go_settings: * renamed_services: @@ -1048,6 +1068,8 @@ public Builder putRenamedServices(java.lang.String key, java.lang.String value) * service names and values are the name to be used for the service client * and call options. * + * Example: + * * publishing: * go_settings: * renamed_services: diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/GoSettingsOrBuilder.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/GoSettingsOrBuilder.java index c978320ae6..727901521f 100644 --- a/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/GoSettingsOrBuilder.java +++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/GoSettingsOrBuilder.java @@ -71,6 +71,8 @@ public interface GoSettingsOrBuilder * service names and values are the name to be used for the service client * and call options. * + * Example: + * * publishing: * go_settings: * renamed_services: @@ -89,6 +91,8 @@ public interface GoSettingsOrBuilder * service names and values are the name to be used for the service client * and call options. * + * Example: + * * publishing: * go_settings: * renamed_services: @@ -111,6 +115,8 @@ public interface GoSettingsOrBuilder * service names and values are the name to be used for the service client * and call options. * + * Example: + * * publishing: * go_settings: * renamed_services: @@ -129,6 +135,8 @@ public interface GoSettingsOrBuilder * service names and values are the name to be used for the service client * and call options. * + * Example: + * * publishing: * go_settings: * renamed_services: @@ -151,6 +159,8 @@ java.lang.String getRenamedServicesOrDefault( * service names and values are the name to be used for the service client * and call options. * + * Example: + * * publishing: * go_settings: * renamed_services: diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/JavaSettings.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/JavaSettings.java index 6617042ef6..7a7d363d8d 100644 --- a/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/JavaSettings.java +++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/JavaSettings.java @@ -98,6 +98,7 @@ protected com.google.protobuf.MapFieldReflectionAccessor internalGetMapFieldRefl * Example of a YAML configuration:: * * publishing: + * library_settings: * java_settings: * library_package: com.google.cloud.pubsub.v1 * @@ -132,6 +133,7 @@ public java.lang.String getLibraryPackage() { * Example of a YAML configuration:: * * publishing: + * library_settings: * java_settings: * library_package: com.google.cloud.pubsub.v1 * @@ -785,6 +787,7 @@ public Builder mergeFrom( * Example of a YAML configuration:: * * publishing: + * library_settings: * java_settings: * library_package: com.google.cloud.pubsub.v1 * @@ -818,6 +821,7 @@ public java.lang.String getLibraryPackage() { * Example of a YAML configuration:: * * publishing: + * library_settings: * java_settings: * library_package: com.google.cloud.pubsub.v1 * @@ -851,6 +855,7 @@ public com.google.protobuf.ByteString getLibraryPackageBytes() { * Example of a YAML configuration:: * * publishing: + * library_settings: * java_settings: * library_package: com.google.cloud.pubsub.v1 * @@ -883,6 +888,7 @@ public Builder setLibraryPackage(java.lang.String value) { * Example of a YAML configuration:: * * publishing: + * library_settings: * java_settings: * library_package: com.google.cloud.pubsub.v1 * @@ -911,6 +917,7 @@ public Builder clearLibraryPackage() { * Example of a YAML configuration:: * * publishing: + * library_settings: * java_settings: * library_package: com.google.cloud.pubsub.v1 * diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/JavaSettingsOrBuilder.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/JavaSettingsOrBuilder.java index 1ae94c7bbc..fde5cf3b13 100644 --- a/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/JavaSettingsOrBuilder.java +++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/JavaSettingsOrBuilder.java @@ -39,6 +39,7 @@ public interface JavaSettingsOrBuilder * Example of a YAML configuration:: * * publishing: + * library_settings: * java_settings: * library_package: com.google.cloud.pubsub.v1 * @@ -62,6 +63,7 @@ public interface JavaSettingsOrBuilder * Example of a YAML configuration:: * * publishing: + * library_settings: * java_settings: * library_package: com.google.cloud.pubsub.v1 * diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/MethodSettings.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/MethodSettings.java index 34c86cd18e..ca4daec9dc 100644 --- a/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/MethodSettings.java +++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/MethodSettings.java @@ -1874,6 +1874,85 @@ public com.google.protobuf.ByteString getAutoPopulatedFieldsBytes(int index) { return autoPopulatedFields_.getByteString(index); } + public static final int BATCHING_FIELD_NUMBER = 4; + private com.google.api.BatchingConfigProto 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; + * + * @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 getMonitoredRe * *
    * 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 getMonitoredRe * *
    * 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 getMonitoredRe * *
      * 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 overrides_by_request_protocol = 10; + + // 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; } diff --git a/java-common-protos/proto-google-common-protos/src/main/proto/google/api/billing.proto b/java-common-protos/proto-google-common-protos/src/main/proto/google/api/billing.proto index 7c82274229..2b86bb61e4 100644 --- a/java-common-protos/proto-google-common-protos/src/main/proto/google/api/billing.proto +++ b/java-common-protos/proto-google-common-protos/src/main/proto/google/api/billing.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. diff --git a/java-common-protos/proto-google-common-protos/src/main/proto/google/api/client.proto b/java-common-protos/proto-google-common-protos/src/main/proto/google/api/client.proto index 3d692560ab..3e68d678c4 100644 --- a/java-common-protos/proto-google-common-protos/src/main/proto/google/api/client.proto +++ b/java-common-protos/proto-google-common-protos/src/main/proto/google/api/client.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. @@ -41,15 +41,15 @@ extend google.protobuf.MethodOptions { // // For example, the proto RPC and annotation: // - // rpc CreateSubscription(CreateSubscriptionRequest) - // returns (Subscription) { - // option (google.api.method_signature) = "name,topic"; - // } + // rpc CreateSubscription(CreateSubscriptionRequest) + // returns (Subscription) { + // option (google.api.method_signature) = "name,topic"; + // } // // Would add the following Java overload (in addition to the method accepting // the request object): // - // public final Subscription createSubscription(String name, String topic) + // public final Subscription createSubscription(String name, String topic) // // The following backwards-compatibility guidelines apply: // @@ -71,32 +71,32 @@ extend google.protobuf.ServiceOptions { // // Example: // - // service Foo { - // option (google.api.default_host) = "foo.googleapi.com"; - // ... - // } + // service Foo { + // option (google.api.default_host) = "foo.googleapi.com"; + // ... + // } string default_host = 1049; // OAuth scopes needed for the client. // // Example: // - // service Foo { - // option (google.api.oauth_scopes) = \ - // "https://www.googleapis.com/auth/cloud-platform"; - // ... - // } + // service Foo { + // option (google.api.oauth_scopes) = \ + // "https://www.googleapis.com/auth/cloud-platform"; + // ... + // } // // If there is more than one scope, use a comma-separated string: // // Example: // - // service Foo { - // option (google.api.oauth_scopes) = \ - // "https://www.googleapis.com/auth/cloud-platform," - // "https://www.googleapis.com/auth/monitoring"; - // ... - // } + // service Foo { + // option (google.api.oauth_scopes) = \ + // "https://www.googleapis.com/auth/cloud-platform," + // "https://www.googleapis.com/auth/monitoring"; + // ... + // } string oauth_scopes = 1050; // The API version of this service, which should be sent by version-aware @@ -110,9 +110,9 @@ extend google.protobuf.ServiceOptions { // // Example: // - // service Foo { - // option (google.api.api_version) = "v1_20230821_preview"; - // } + // service Foo { + // option (google.api.api_version) = "v1_20230821_preview"; + // } string api_version = 525000001; } @@ -227,9 +227,10 @@ message JavaSettings { // // Example of a YAML configuration:: // - // publishing: - // java_settings: - // library_package: com.google.cloud.pubsub.v1 + // publishing: + // library_settings: + // java_settings: + // library_package: com.google.cloud.pubsub.v1 string library_package = 1; // Configure the Java class name to use instead of the service's for its @@ -241,11 +242,11 @@ message JavaSettings { // // Example of a YAML configuration:: // - // publishing: - // java_settings: - // service_class_names: - // - google.pubsub.v1.Publisher: TopicAdmin - // - google.pubsub.v1.Subscriber: SubscriptionAdmin + // publishing: + // java_settings: + // service_class_names: + // - google.pubsub.v1.Publisher: TopicAdmin + // - google.pubsub.v1.Subscriber: SubscriptionAdmin map service_class_names = 2; // Some settings. @@ -262,6 +263,20 @@ message CppSettings { message PhpSettings { // Some settings. CommonLanguageSettings common = 1; + + // 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; } // Settings for Python client libraries. @@ -353,10 +368,12 @@ message GoSettings { // service names and values are the name to be used for the service client // and call options. // - // publishing: - // go_settings: - // renamed_services: - // Publisher: TopicAdmin + // Example: + // + // publishing: + // go_settings: + // renamed_services: + // Publisher: TopicAdmin map renamed_services = 2; } @@ -391,10 +408,10 @@ message MethodSettings { // // Example: // - // publishing: - // method_settings: - // - selector: google.storage.control.v2.StorageControl.CreateFolder - // # method settings for CreateFolder... + // publishing: + // method_settings: + // - selector: google.storage.control.v2.StorageControl.CreateFolder + // # method settings for CreateFolder... string selector = 1; // Describes settings to use for long-running operations when generating @@ -403,14 +420,14 @@ message MethodSettings { // // Example of a YAML configuration:: // - // publishing: - // method_settings: - // - selector: google.cloud.speech.v2.Speech.BatchRecognize - // long_running: - // initial_poll_delay: 60s # 1 minute - // poll_delay_multiplier: 1.5 - // max_poll_delay: 360s # 6 minutes - // total_poll_timeout: 54000s # 90 minutes + // publishing: + // method_settings: + // - selector: google.cloud.speech.v2.Speech.BatchRecognize + // long_running: + // initial_poll_delay: 60s # 1 minute + // poll_delay_multiplier: 1.5 + // max_poll_delay: 360s # 6 minutes + // total_poll_timeout: 54000s # 90 minutes LongRunning long_running = 2; // List of top-level fields of the request message, that should be @@ -419,12 +436,25 @@ message MethodSettings { // // Example of a YAML configuration: // - // publishing: - // method_settings: - // - selector: google.example.v1.ExampleService.CreateExample - // auto_populated_fields: - // - request_id + // publishing: + // method_settings: + // - selector: google.example.v1.ExampleService.CreateExample + // auto_populated_fields: + // - request_id repeated string auto_populated_fields = 3; + + // 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 + BatchingConfigProto batching = 4; } // The organization for which the client libraries are being published. @@ -484,3 +514,81 @@ message SelectiveGapicGeneration { // obfuscated identifiers, or other language idiomatic patterns. bool generate_omitted_as_internal = 2; } + +// `BatchingConfigProto` defines the batching configuration for an API method. +message BatchingConfigProto { + // The thresholds which trigger a batched request to be sent. + BatchingSettingsProto thresholds = 1; + + // The request and response fields used in batching. + BatchingDescriptorProto batch_descriptor = 2; +} + +// `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. +message BatchingSettingsProto { + // 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; + + // 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; + + // 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; + + // The maximum number of elements collected in a batch that could be accepted + // by server. + int32 element_count_limit = 4; + + // The maximum size of the request that could be accepted by server. + int32 request_byte_limit = 5; + + // The maximum number of elements allowed by flow control. + int32 flow_control_element_limit = 6; + + // The maximum size of data allowed by flow control. + int32 flow_control_byte_limit = 7; + + // The behavior to take when the flow control limit is exceeded. + FlowControlLimitExceededBehaviorProto flow_control_limit_exceeded_behavior = + 8; +} + +// The behavior to take when the flow control limit is exceeded. +enum FlowControlLimitExceededBehaviorProto { + // Default behavior, system-defined. + UNSET_BEHAVIOR = 0; + + // Stop operation, raise error. + THROW_EXCEPTION = 1; + + // Pause operation until limit clears. + BLOCK = 2; + + // Continue operation, disregard limit. + IGNORE = 3; +} + +// `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. +message BatchingDescriptorProto { + // The repeated field in the request message to be aggregated by batching. + string batched_field = 1; + + // 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; + + // 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; +} diff --git a/java-common-protos/proto-google-common-protos/src/main/proto/google/api/config_change.proto b/java-common-protos/proto-google-common-protos/src/main/proto/google/api/config_change.proto index c1cc0e8b05..b6792b9a50 100644 --- a/java-common-protos/proto-google-common-protos/src/main/proto/google/api/config_change.proto +++ b/java-common-protos/proto-google-common-protos/src/main/proto/google/api/config_change.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. diff --git a/java-common-protos/proto-google-common-protos/src/main/proto/google/api/context.proto b/java-common-protos/proto-google-common-protos/src/main/proto/google/api/context.proto index 5b137f5f79..c1704f1e99 100644 --- a/java-common-protos/proto-google-common-protos/src/main/proto/google/api/context.proto +++ b/java-common-protos/proto-google-common-protos/src/main/proto/google/api/context.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. diff --git a/java-common-protos/proto-google-common-protos/src/main/proto/google/api/control.proto b/java-common-protos/proto-google-common-protos/src/main/proto/google/api/control.proto index ce3f2871d7..c0dc0cdc3d 100644 --- a/java-common-protos/proto-google-common-protos/src/main/proto/google/api/control.proto +++ b/java-common-protos/proto-google-common-protos/src/main/proto/google/api/control.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. @@ -32,8 +32,8 @@ option objc_class_prefix = "GAPI"; // environment: servicecontrol.googleapis.com message Control { // 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; // Defines policies applying to the API methods of the service. diff --git a/java-common-protos/proto-google-common-protos/src/main/proto/google/api/distribution.proto b/java-common-protos/proto-google-common-protos/src/main/proto/google/api/distribution.proto index 215be7d364..51cf36ef4f 100644 --- a/java-common-protos/proto-google-common-protos/src/main/proto/google/api/distribution.proto +++ b/java-common-protos/proto-google-common-protos/src/main/proto/google/api/distribution.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. diff --git a/java-common-protos/proto-google-common-protos/src/main/proto/google/api/documentation.proto b/java-common-protos/proto-google-common-protos/src/main/proto/google/api/documentation.proto index b94a06d473..a730ab89a5 100644 --- a/java-common-protos/proto-google-common-protos/src/main/proto/google/api/documentation.proto +++ b/java-common-protos/proto-google-common-protos/src/main/proto/google/api/documentation.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. diff --git a/java-common-protos/proto-google-common-protos/src/main/proto/google/api/endpoint.proto b/java-common-protos/proto-google-common-protos/src/main/proto/google/api/endpoint.proto index a9fa9992a4..047cf54d51 100644 --- a/java-common-protos/proto-google-common-protos/src/main/proto/google/api/endpoint.proto +++ b/java-common-protos/proto-google-common-protos/src/main/proto/google/api/endpoint.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. diff --git a/java-common-protos/proto-google-common-protos/src/main/proto/google/api/error_reason.proto b/java-common-protos/proto-google-common-protos/src/main/proto/google/api/error_reason.proto index 030888ae33..3b4826e5f7 100644 --- a/java-common-protos/proto-google-common-protos/src/main/proto/google/api/error_reason.proto +++ b/java-common-protos/proto-google-common-protos/src/main/proto/google/api/error_reason.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. @@ -619,4 +619,189 @@ enum ErrorReason { // } // } 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; + + // 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; + + // 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; + + // 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; + + // 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; + + // 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; + + // 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; + + // 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; + + // 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; + + // 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; + + // 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; } diff --git a/java-common-protos/proto-google-common-protos/src/main/proto/google/api/field_behavior.proto b/java-common-protos/proto-google-common-protos/src/main/proto/google/api/field_behavior.proto index 1fdaaed11a..861f8254fb 100644 --- a/java-common-protos/proto-google-common-protos/src/main/proto/google/api/field_behavior.proto +++ b/java-common-protos/proto-google-common-protos/src/main/proto/google/api/field_behavior.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. diff --git a/java-common-protos/proto-google-common-protos/src/main/proto/google/api/field_info.proto b/java-common-protos/proto-google-common-protos/src/main/proto/google/api/field_info.proto index aaa07a1815..64387fde13 100644 --- a/java-common-protos/proto-google-common-protos/src/main/proto/google/api/field_info.proto +++ b/java-common-protos/proto-google-common-protos/src/main/proto/google/api/field_info.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. diff --git a/java-common-protos/proto-google-common-protos/src/main/proto/google/api/http.proto b/java-common-protos/proto-google-common-protos/src/main/proto/google/api/http.proto index 57621b5374..bb3af8e56a 100644 --- a/java-common-protos/proto-google-common-protos/src/main/proto/google/api/http.proto +++ b/java-common-protos/proto-google-common-protos/src/main/proto/google/api/http.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. diff --git a/java-common-protos/proto-google-common-protos/src/main/proto/google/api/httpbody.proto b/java-common-protos/proto-google-common-protos/src/main/proto/google/api/httpbody.proto index e3e17c8acb..3fd226a987 100644 --- a/java-common-protos/proto-google-common-protos/src/main/proto/google/api/httpbody.proto +++ b/java-common-protos/proto-google-common-protos/src/main/proto/google/api/httpbody.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. diff --git a/java-common-protos/proto-google-common-protos/src/main/proto/google/api/label.proto b/java-common-protos/proto-google-common-protos/src/main/proto/google/api/label.proto index 739e4e95ed..5d77c70882 100644 --- a/java-common-protos/proto-google-common-protos/src/main/proto/google/api/label.proto +++ b/java-common-protos/proto-google-common-protos/src/main/proto/google/api/label.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. diff --git a/java-common-protos/proto-google-common-protos/src/main/proto/google/api/launch_stage.proto b/java-common-protos/proto-google-common-protos/src/main/proto/google/api/launch_stage.proto index 1e86c1ad17..0fff247bd8 100644 --- a/java-common-protos/proto-google-common-protos/src/main/proto/google/api/launch_stage.proto +++ b/java-common-protos/proto-google-common-protos/src/main/proto/google/api/launch_stage.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. diff --git a/java-common-protos/proto-google-common-protos/src/main/proto/google/api/log.proto b/java-common-protos/proto-google-common-protos/src/main/proto/google/api/log.proto index 3d55e408be..2f13e72750 100644 --- a/java-common-protos/proto-google-common-protos/src/main/proto/google/api/log.proto +++ b/java-common-protos/proto-google-common-protos/src/main/proto/google/api/log.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. diff --git a/java-common-protos/proto-google-common-protos/src/main/proto/google/api/logging.proto b/java-common-protos/proto-google-common-protos/src/main/proto/google/api/logging.proto index 613e005ed5..7a82de9acb 100644 --- a/java-common-protos/proto-google-common-protos/src/main/proto/google/api/logging.proto +++ b/java-common-protos/proto-google-common-protos/src/main/proto/google/api/logging.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. diff --git a/java-common-protos/proto-google-common-protos/src/main/proto/google/api/metric.proto b/java-common-protos/proto-google-common-protos/src/main/proto/google/api/metric.proto index 9da49ba0cd..b7fb82a9bb 100644 --- a/java-common-protos/proto-google-common-protos/src/main/proto/google/api/metric.proto +++ b/java-common-protos/proto-google-common-protos/src/main/proto/google/api/metric.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. diff --git a/java-common-protos/proto-google-common-protos/src/main/proto/google/api/monitored_resource.proto b/java-common-protos/proto-google-common-protos/src/main/proto/google/api/monitored_resource.proto index 36abe14ca0..eaf1f1280b 100644 --- a/java-common-protos/proto-google-common-protos/src/main/proto/google/api/monitored_resource.proto +++ b/java-common-protos/proto-google-common-protos/src/main/proto/google/api/monitored_resource.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. diff --git a/java-common-protos/proto-google-common-protos/src/main/proto/google/api/monitoring.proto b/java-common-protos/proto-google-common-protos/src/main/proto/google/api/monitoring.proto index 5c3b2d9d90..b939a0ca2a 100644 --- a/java-common-protos/proto-google-common-protos/src/main/proto/google/api/monitoring.proto +++ b/java-common-protos/proto-google-common-protos/src/main/proto/google/api/monitoring.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. diff --git a/java-common-protos/proto-google-common-protos/src/main/proto/google/api/policy.proto b/java-common-protos/proto-google-common-protos/src/main/proto/google/api/policy.proto index cc577a169b..c925fdc427 100644 --- a/java-common-protos/proto-google-common-protos/src/main/proto/google/api/policy.proto +++ b/java-common-protos/proto-google-common-protos/src/main/proto/google/api/policy.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. diff --git a/java-common-protos/proto-google-common-protos/src/main/proto/google/api/quota.proto b/java-common-protos/proto-google-common-protos/src/main/proto/google/api/quota.proto index 9e7fb3bf65..29ae86ed46 100644 --- a/java-common-protos/proto-google-common-protos/src/main/proto/google/api/quota.proto +++ b/java-common-protos/proto-google-common-protos/src/main/proto/google/api/quota.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. diff --git a/java-common-protos/proto-google-common-protos/src/main/proto/google/api/resource.proto b/java-common-protos/proto-google-common-protos/src/main/proto/google/api/resource.proto index 5669cbc985..2a5213bb08 100644 --- a/java-common-protos/proto-google-common-protos/src/main/proto/google/api/resource.proto +++ b/java-common-protos/proto-google-common-protos/src/main/proto/google/api/resource.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. diff --git a/java-common-protos/proto-google-common-protos/src/main/proto/google/api/routing.proto b/java-common-protos/proto-google-common-protos/src/main/proto/google/api/routing.proto index 4fcb2acb6c..020d32f7b7 100644 --- a/java-common-protos/proto-google-common-protos/src/main/proto/google/api/routing.proto +++ b/java-common-protos/proto-google-common-protos/src/main/proto/google/api/routing.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. @@ -59,9 +59,13 @@ extend google.protobuf.MethodOptions { // 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/proto/google/api/service.proto b/java-common-protos/proto-google-common-protos/src/main/proto/google/api/service.proto index 598b75a0e4..9952ca0e8d 100644 --- a/java-common-protos/proto-google-common-protos/src/main/proto/google/api/service.proto +++ b/java-common-protos/proto-google-common-protos/src/main/proto/google/api/service.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. @@ -159,8 +159,7 @@ message Service { repeated MetricDescriptor metrics = 24; // 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 MonitoredResourceDescriptor monitored_resources = 25; // Billing configuration. diff --git a/java-common-protos/proto-google-common-protos/src/main/proto/google/api/source_info.proto b/java-common-protos/proto-google-common-protos/src/main/proto/google/api/source_info.proto index 3257b5a722..1d4094e13d 100644 --- a/java-common-protos/proto-google-common-protos/src/main/proto/google/api/source_info.proto +++ b/java-common-protos/proto-google-common-protos/src/main/proto/google/api/source_info.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. diff --git a/java-common-protos/proto-google-common-protos/src/main/proto/google/api/system_parameter.proto b/java-common-protos/proto-google-common-protos/src/main/proto/google/api/system_parameter.proto index 15b93f913e..5ab1f37e1b 100644 --- a/java-common-protos/proto-google-common-protos/src/main/proto/google/api/system_parameter.proto +++ b/java-common-protos/proto-google-common-protos/src/main/proto/google/api/system_parameter.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. diff --git a/java-common-protos/proto-google-common-protos/src/main/proto/google/api/usage.proto b/java-common-protos/proto-google-common-protos/src/main/proto/google/api/usage.proto index 4b7aa5fdf2..df1b93b39f 100644 --- a/java-common-protos/proto-google-common-protos/src/main/proto/google/api/usage.proto +++ b/java-common-protos/proto-google-common-protos/src/main/proto/google/api/usage.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. @@ -52,30 +52,6 @@ message Usage { } // 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 message UsageRule { // Selects the methods to which this rule applies. Use '*' to indicate all // methods in all APIs. @@ -84,8 +60,12 @@ message UsageRule { // details. string selector = 1; - // 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; // If true, the selected method should skip service control and the control diff --git a/java-common-protos/proto-google-common-protos/src/main/proto/google/api/visibility.proto b/java-common-protos/proto-google-common-protos/src/main/proto/google/api/visibility.proto index 0ab5bdc1c9..fb5cac6f26 100644 --- a/java-common-protos/proto-google-common-protos/src/main/proto/google/api/visibility.proto +++ b/java-common-protos/proto-google-common-protos/src/main/proto/google/api/visibility.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. diff --git a/java-showcase/gapic-showcase/src/main/resources/META-INF/native-image/com.google.showcase.v1beta1/reflect-config.json b/java-showcase/gapic-showcase/src/main/resources/META-INF/native-image/com.google.showcase.v1beta1/reflect-config.json index 55863aee26..4fcf07d483 100644 --- a/java-showcase/gapic-showcase/src/main/resources/META-INF/native-image/com.google.showcase.v1beta1/reflect-config.json +++ b/java-showcase/gapic-showcase/src/main/resources/META-INF/native-image/com.google.showcase.v1beta1/reflect-config.json @@ -1,4 +1,58 @@ [ + { + "name": "com.google.api.BatchingConfigProto", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.BatchingConfigProto$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.BatchingDescriptorProto", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.BatchingDescriptorProto$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.BatchingSettingsProto", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.BatchingSettingsProto$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, { "name": "com.google.api.ClientLibraryDestination", "queryAllDeclaredConstructors": true, @@ -143,6 +197,15 @@ "allDeclaredClasses": true, "allPublicClasses": true }, + { + "name": "com.google.api.FlowControlLimitExceededBehaviorProto", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, { "name": "com.google.api.GoSettings", "queryAllDeclaredConstructors": true,