diff --git a/generation_config.yaml b/generation_config.yaml index 1463b4e076..44d977bf2e 100644 --- a/generation_config.yaml +++ b/generation_config.yaml @@ -1,4 +1,4 @@ -googleapis_commitish: 5f6048b0222ddc57826fbbd254ea3197e2db82f3 +googleapis_commitish: 939ba3bf8408af83f0f73ae35c76c4b11a8c8c8d # 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/CommonLanguageSettings.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/CommonLanguageSettings.java index 03b2954e48..34174baffe 100644 --- a/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/CommonLanguageSettings.java +++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/CommonLanguageSettings.java @@ -242,6 +242,8 @@ public int getDestinationsValue(int index) { * *
    * Configuration for which RPCs should be generated in the GAPIC client.
+   *
+   * Note: This field should not be used in most cases.
    * 
* * .google.api.SelectiveGapicGeneration selective_gapic_generation = 3; @@ -258,6 +260,8 @@ public boolean hasSelectiveGapicGeneration() { * *
    * Configuration for which RPCs should be generated in the GAPIC client.
+   *
+   * Note: This field should not be used in most cases.
    * 
* * .google.api.SelectiveGapicGeneration selective_gapic_generation = 3; @@ -276,6 +280,8 @@ public com.google.api.SelectiveGapicGeneration getSelectiveGapicGeneration() { * *
    * Configuration for which RPCs should be generated in the GAPIC client.
+   *
+   * Note: This field should not be used in most cases.
    * 
* * .google.api.SelectiveGapicGeneration selective_gapic_generation = 3; @@ -1080,6 +1086,8 @@ public Builder addAllDestinationsValue(java.lang.Iterable val * *
      * Configuration for which RPCs should be generated in the GAPIC client.
+     *
+     * Note: This field should not be used in most cases.
      * 
* * .google.api.SelectiveGapicGeneration selective_gapic_generation = 3; @@ -1095,6 +1103,8 @@ public boolean hasSelectiveGapicGeneration() { * *
      * Configuration for which RPCs should be generated in the GAPIC client.
+     *
+     * Note: This field should not be used in most cases.
      * 
* * .google.api.SelectiveGapicGeneration selective_gapic_generation = 3; @@ -1116,6 +1126,8 @@ public com.google.api.SelectiveGapicGeneration getSelectiveGapicGeneration() { * *
      * Configuration for which RPCs should be generated in the GAPIC client.
+     *
+     * Note: This field should not be used in most cases.
      * 
* * .google.api.SelectiveGapicGeneration selective_gapic_generation = 3; @@ -1139,6 +1151,8 @@ public Builder setSelectiveGapicGeneration(com.google.api.SelectiveGapicGenerati * *
      * Configuration for which RPCs should be generated in the GAPIC client.
+     *
+     * Note: This field should not be used in most cases.
      * 
* * .google.api.SelectiveGapicGeneration selective_gapic_generation = 3; @@ -1160,6 +1174,8 @@ public Builder setSelectiveGapicGeneration( * *
      * Configuration for which RPCs should be generated in the GAPIC client.
+     *
+     * Note: This field should not be used in most cases.
      * 
* * .google.api.SelectiveGapicGeneration selective_gapic_generation = 3; @@ -1189,6 +1205,8 @@ public Builder mergeSelectiveGapicGeneration(com.google.api.SelectiveGapicGenera * *
      * Configuration for which RPCs should be generated in the GAPIC client.
+     *
+     * Note: This field should not be used in most cases.
      * 
* * .google.api.SelectiveGapicGeneration selective_gapic_generation = 3; @@ -1209,6 +1227,8 @@ public Builder clearSelectiveGapicGeneration() { * *
      * Configuration for which RPCs should be generated in the GAPIC client.
+     *
+     * Note: This field should not be used in most cases.
      * 
* * .google.api.SelectiveGapicGeneration selective_gapic_generation = 3; @@ -1224,6 +1244,8 @@ public com.google.api.SelectiveGapicGeneration.Builder getSelectiveGapicGenerati * *
      * Configuration for which RPCs should be generated in the GAPIC client.
+     *
+     * Note: This field should not be used in most cases.
      * 
* * .google.api.SelectiveGapicGeneration selective_gapic_generation = 3; @@ -1243,6 +1265,8 @@ public com.google.api.SelectiveGapicGenerationOrBuilder getSelectiveGapicGenerat * *
      * Configuration for which RPCs should be generated in the GAPIC client.
+     *
+     * Note: This field should not be used in most cases.
      * 
* * .google.api.SelectiveGapicGeneration selective_gapic_generation = 3; diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/CommonLanguageSettingsOrBuilder.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/CommonLanguageSettingsOrBuilder.java index d0112cddac..507ee8d279 100644 --- a/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/CommonLanguageSettingsOrBuilder.java +++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/CommonLanguageSettingsOrBuilder.java @@ -132,6 +132,8 @@ public interface CommonLanguageSettingsOrBuilder * *
    * Configuration for which RPCs should be generated in the GAPIC client.
+   *
+   * Note: This field should not be used in most cases.
    * 
* * .google.api.SelectiveGapicGeneration selective_gapic_generation = 3; @@ -145,6 +147,8 @@ public interface CommonLanguageSettingsOrBuilder * *
    * Configuration for which RPCs should be generated in the GAPIC client.
+   *
+   * Note: This field should not be used in most cases.
    * 
* * .google.api.SelectiveGapicGeneration selective_gapic_generation = 3; @@ -158,6 +162,8 @@ public interface CommonLanguageSettingsOrBuilder * *
    * Configuration for which RPCs should be generated in the GAPIC client.
+   *
+   * Note: This field should not be used in most cases.
    * 
* * .google.api.SelectiveGapicGeneration selective_gapic_generation = 3; 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/SelectiveGapicGeneration.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/SelectiveGapicGeneration.java index af2200758b..18e8be2b77 100644 --- a/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/SelectiveGapicGeneration.java +++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/SelectiveGapicGeneration.java @@ -26,6 +26,8 @@ *
  * This message is used to configure the generation of a subset of the RPCs in
  * a service for client libraries.
+ *
+ * Note: This feature should not be used in most cases.
  * 
* * Protobuf type {@code google.api.SelectiveGapicGeneration} @@ -348,6 +350,8 @@ protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.Builder *
    * This message is used to configure the generation of a subset of the RPCs in
    * a service for client libraries.
+   *
+   * Note: This feature should not be used in most cases.
    * 
* * Protobuf type {@code google.api.SelectiveGapicGeneration} 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/java/com/google/rpc/BadRequest.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/rpc/BadRequest.java index 13c627c6d5..e9801c259c 100644 --- a/java-common-protos/proto-google-common-protos/src/main/java/com/google/rpc/BadRequest.java +++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/rpc/BadRequest.java @@ -102,17 +102,17 @@ public interface FieldViolationOrBuilder * In this example, in proto `field` could take one of the following values: * * * `full_name` for a violation in the `full_name` value - * * `email_addresses[1].email` for a violation in the `email` field of the + * * `email_addresses[0].email` for a violation in the `email` field of the * first `email_addresses` message - * * `email_addresses[3].type[2]` for a violation in the second `type` + * * `email_addresses[2].type[1]` for a violation in the second `type` * value in the third `email_addresses` message. * * In JSON, the same values are represented as: * * * `fullName` for a violation in the `fullName` value - * * `emailAddresses[1].email` for a violation in the `email` field of the + * * `emailAddresses[0].email` for a violation in the `email` field of the * first `emailAddresses` message - * * `emailAddresses[3].type[2]` for a violation in the second `type` + * * `emailAddresses[2].type[1]` for a violation in the second `type` * value in the third `emailAddresses` message. * * @@ -151,17 +151,17 @@ public interface FieldViolationOrBuilder * In this example, in proto `field` could take one of the following values: * * * `full_name` for a violation in the `full_name` value - * * `email_addresses[1].email` for a violation in the `email` field of the + * * `email_addresses[0].email` for a violation in the `email` field of the * first `email_addresses` message - * * `email_addresses[3].type[2]` for a violation in the second `type` + * * `email_addresses[2].type[1]` for a violation in the second `type` * value in the third `email_addresses` message. * * In JSON, the same values are represented as: * * * `fullName` for a violation in the `fullName` value - * * `emailAddresses[1].email` for a violation in the `email` field of the + * * `emailAddresses[0].email` for a violation in the `email` field of the * first `emailAddresses` message - * * `emailAddresses[3].type[2]` for a violation in the second `type` + * * `emailAddresses[2].type[1]` for a violation in the second `type` * value in the third `emailAddresses` message. * * @@ -360,17 +360,17 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { * In this example, in proto `field` could take one of the following values: * * * `full_name` for a violation in the `full_name` value - * * `email_addresses[1].email` for a violation in the `email` field of the + * * `email_addresses[0].email` for a violation in the `email` field of the * first `email_addresses` message - * * `email_addresses[3].type[2]` for a violation in the second `type` + * * `email_addresses[2].type[1]` for a violation in the second `type` * value in the third `email_addresses` message. * * In JSON, the same values are represented as: * * * `fullName` for a violation in the `fullName` value - * * `emailAddresses[1].email` for a violation in the `email` field of the + * * `emailAddresses[0].email` for a violation in the `email` field of the * first `emailAddresses` message - * * `emailAddresses[3].type[2]` for a violation in the second `type` + * * `emailAddresses[2].type[1]` for a violation in the second `type` * value in the third `emailAddresses` message. * * @@ -420,17 +420,17 @@ public java.lang.String getField() { * In this example, in proto `field` could take one of the following values: * * * `full_name` for a violation in the `full_name` value - * * `email_addresses[1].email` for a violation in the `email` field of the + * * `email_addresses[0].email` for a violation in the `email` field of the * first `email_addresses` message - * * `email_addresses[3].type[2]` for a violation in the second `type` + * * `email_addresses[2].type[1]` for a violation in the second `type` * value in the third `email_addresses` message. * * In JSON, the same values are represented as: * * * `fullName` for a violation in the `fullName` value - * * `emailAddresses[1].email` for a violation in the `email` field of the + * * `emailAddresses[0].email` for a violation in the `email` field of the * first `emailAddresses` message - * * `emailAddresses[3].type[2]` for a violation in the second `type` + * * `emailAddresses[2].type[1]` for a violation in the second `type` * value in the third `emailAddresses` message. * * @@ -1058,17 +1058,17 @@ public Builder mergeFrom( * In this example, in proto `field` could take one of the following values: * * * `full_name` for a violation in the `full_name` value - * * `email_addresses[1].email` for a violation in the `email` field of the + * * `email_addresses[0].email` for a violation in the `email` field of the * first `email_addresses` message - * * `email_addresses[3].type[2]` for a violation in the second `type` + * * `email_addresses[2].type[1]` for a violation in the second `type` * value in the third `email_addresses` message. * * In JSON, the same values are represented as: * * * `fullName` for a violation in the `fullName` value - * * `emailAddresses[1].email` for a violation in the `email` field of the + * * `emailAddresses[0].email` for a violation in the `email` field of the * first `emailAddresses` message - * * `emailAddresses[3].type[2]` for a violation in the second `type` + * * `emailAddresses[2].type[1]` for a violation in the second `type` * value in the third `emailAddresses` message. * * @@ -1117,17 +1117,17 @@ public java.lang.String getField() { * In this example, in proto `field` could take one of the following values: * * * `full_name` for a violation in the `full_name` value - * * `email_addresses[1].email` for a violation in the `email` field of the + * * `email_addresses[0].email` for a violation in the `email` field of the * first `email_addresses` message - * * `email_addresses[3].type[2]` for a violation in the second `type` + * * `email_addresses[2].type[1]` for a violation in the second `type` * value in the third `email_addresses` message. * * In JSON, the same values are represented as: * * * `fullName` for a violation in the `fullName` value - * * `emailAddresses[1].email` for a violation in the `email` field of the + * * `emailAddresses[0].email` for a violation in the `email` field of the * first `emailAddresses` message - * * `emailAddresses[3].type[2]` for a violation in the second `type` + * * `emailAddresses[2].type[1]` for a violation in the second `type` * value in the third `emailAddresses` message. * * @@ -1176,17 +1176,17 @@ public com.google.protobuf.ByteString getFieldBytes() { * In this example, in proto `field` could take one of the following values: * * * `full_name` for a violation in the `full_name` value - * * `email_addresses[1].email` for a violation in the `email` field of the + * * `email_addresses[0].email` for a violation in the `email` field of the * first `email_addresses` message - * * `email_addresses[3].type[2]` for a violation in the second `type` + * * `email_addresses[2].type[1]` for a violation in the second `type` * value in the third `email_addresses` message. * * In JSON, the same values are represented as: * * * `fullName` for a violation in the `fullName` value - * * `emailAddresses[1].email` for a violation in the `email` field of the + * * `emailAddresses[0].email` for a violation in the `email` field of the * first `emailAddresses` message - * * `emailAddresses[3].type[2]` for a violation in the second `type` + * * `emailAddresses[2].type[1]` for a violation in the second `type` * value in the third `emailAddresses` message. * * @@ -1234,17 +1234,17 @@ public Builder setField(java.lang.String value) { * In this example, in proto `field` could take one of the following values: * * * `full_name` for a violation in the `full_name` value - * * `email_addresses[1].email` for a violation in the `email` field of the + * * `email_addresses[0].email` for a violation in the `email` field of the * first `email_addresses` message - * * `email_addresses[3].type[2]` for a violation in the second `type` + * * `email_addresses[2].type[1]` for a violation in the second `type` * value in the third `email_addresses` message. * * In JSON, the same values are represented as: * * * `fullName` for a violation in the `fullName` value - * * `emailAddresses[1].email` for a violation in the `email` field of the + * * `emailAddresses[0].email` for a violation in the `email` field of the * first `emailAddresses` message - * * `emailAddresses[3].type[2]` for a violation in the second `type` + * * `emailAddresses[2].type[1]` for a violation in the second `type` * value in the third `emailAddresses` message. * * @@ -1288,17 +1288,17 @@ public Builder clearField() { * In this example, in proto `field` could take one of the following values: * * * `full_name` for a violation in the `full_name` value - * * `email_addresses[1].email` for a violation in the `email` field of the + * * `email_addresses[0].email` for a violation in the `email` field of the * first `email_addresses` message - * * `email_addresses[3].type[2]` for a violation in the second `type` + * * `email_addresses[2].type[1]` for a violation in the second `type` * value in the third `email_addresses` message. * * In JSON, the same values are represented as: * * * `fullName` for a violation in the `fullName` value - * * `emailAddresses[1].email` for a violation in the `email` field of the + * * `emailAddresses[0].email` for a violation in the `email` field of the * first `emailAddresses` message - * * `emailAddresses[3].type[2]` for a violation in the second `type` + * * `emailAddresses[2].type[1]` for a violation in the second `type` * value in the third `emailAddresses` message. * * diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/rpc/StatusProto.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/rpc/StatusProto.java index 1b4d32b103..681fbea06d 100644 --- a/java-common-protos/proto-google-common-protos/src/main/java/com/google/rpc/StatusProto.java +++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/rpc/StatusProto.java @@ -59,9 +59,9 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\006Status\022\014\n" + "\004code\030\001 \001(\005\022\017\n" + "\007message\030\002 \001(\t\022%\n" - + "\007details\030\003 \003(\0132\024.google.protobuf.AnyBa\n" + + "\007details\030\003 \003(\0132\024.google.protobuf.AnyB^\n" + "\016com.google.rpcB\013StatusProtoP\001Z7google.golang.org/gen" - + "proto/googleapis/rpc/status;status\370\001\001\242\002\003RPCb\006proto3" + + "proto/googleapis/rpc/status;status\242\002\003RPCb\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/rpc/context/AttributeContext.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/rpc/context/AttributeContext.java index 2dc5a7f15e..6e2b75bee2 100644 --- a/java-common-protos/proto-google-common-protos/src/main/java/com/google/rpc/context/AttributeContext.java +++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/rpc/context/AttributeContext.java @@ -5817,6 +5817,38 @@ java.lang.String getHeadersOrDefault( * .google.rpc.context.AttributeContext.Auth auth = 13; */ com.google.rpc.context.AttributeContext.AuthOrBuilder getAuthOrBuilder(); + + /** + * + * + *
+     * The values from Origin header from the HTTP request, such as
+     * "https://console.cloud.google.com". Modern browsers can only have one
+     * origin. Special browsers and/or HTTP clients may require multiple
+     * origins.
+     * 
+ * + * string origin = 14; + * + * @return The origin. + */ + java.lang.String getOrigin(); + + /** + * + * + *
+     * The values from Origin header from the HTTP request, such as
+     * "https://console.cloud.google.com". Modern browsers can only have one
+     * origin. Special browsers and/or HTTP clients may require multiple
+     * origins.
+     * 
+ * + * string origin = 14; + * + * @return The bytes for origin. + */ + com.google.protobuf.ByteString getOriginBytes(); } /** @@ -5860,6 +5892,7 @@ private Request() { query_ = ""; protocol_ = ""; reason_ = ""; + origin_ = ""; } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { @@ -6570,6 +6603,65 @@ public com.google.rpc.context.AttributeContext.AuthOrBuilder getAuthOrBuilder() : auth_; } + public static final int ORIGIN_FIELD_NUMBER = 14; + + @SuppressWarnings("serial") + private volatile java.lang.Object origin_ = ""; + + /** + * + * + *
+     * The values from Origin header from the HTTP request, such as
+     * "https://console.cloud.google.com". Modern browsers can only have one
+     * origin. Special browsers and/or HTTP clients may require multiple
+     * origins.
+     * 
+ * + * string origin = 14; + * + * @return The origin. + */ + @java.lang.Override + public java.lang.String getOrigin() { + java.lang.Object ref = origin_; + 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(); + origin_ = s; + return s; + } + } + + /** + * + * + *
+     * The values from Origin header from the HTTP request, such as
+     * "https://console.cloud.google.com". Modern browsers can only have one
+     * origin. Special browsers and/or HTTP clients may require multiple
+     * origins.
+     * 
+ * + * string origin = 14; + * + * @return The bytes for origin. + */ + @java.lang.Override + public com.google.protobuf.ByteString getOriginBytes() { + java.lang.Object ref = origin_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + origin_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + private byte memoizedIsInitialized = -1; @java.lang.Override @@ -6619,6 +6711,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io if (((bitField0_ & 0x00000002) != 0)) { output.writeMessage(13, getAuth()); } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(origin_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 14, origin_); + } getUnknownFields().writeTo(output); } @@ -6671,6 +6766,9 @@ public int getSerializedSize() { if (((bitField0_ & 0x00000002) != 0)) { size += com.google.protobuf.CodedOutputStream.computeMessageSize(13, getAuth()); } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(origin_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(14, origin_); + } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; @@ -6705,6 +6803,7 @@ public boolean equals(final java.lang.Object obj) { if (hasAuth()) { if (!getAuth().equals(other.getAuth())) return false; } + if (!getOrigin().equals(other.getOrigin())) return false; if (!getUnknownFields().equals(other.getUnknownFields())) return false; return true; } @@ -6746,6 +6845,8 @@ public int hashCode() { hash = (37 * hash) + AUTH_FIELD_NUMBER; hash = (53 * hash) + getAuth().hashCode(); } + hash = (37 * hash) + ORIGIN_FIELD_NUMBER; + hash = (53 * hash) + getOrigin().hashCode(); hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; @@ -6940,6 +7041,7 @@ public Builder clear() { authBuilder_.dispose(); authBuilder_ = null; } + origin_ = ""; return this; } @@ -7016,6 +7118,9 @@ private void buildPartial0(com.google.rpc.context.AttributeContext.Request resul result.auth_ = authBuilder_ == null ? auth_ : authBuilder_.build(); to_bitField0_ |= 0x00000002; } + if (((from_bitField0_ & 0x00001000) != 0)) { + result.origin_ = origin_; + } result.bitField0_ |= to_bitField0_; } @@ -7083,6 +7188,11 @@ public Builder mergeFrom(com.google.rpc.context.AttributeContext.Request other) if (other.hasAuth()) { mergeAuth(other.getAuth()); } + if (!other.getOrigin().isEmpty()) { + origin_ = other.origin_; + bitField0_ |= 0x00001000; + onChanged(); + } this.mergeUnknownFields(other.getUnknownFields()); onChanged(); return this; @@ -7187,6 +7297,12 @@ public Builder mergeFrom( bitField0_ |= 0x00000800; break; } // case 106 + case 114: + { + origin_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00001000; + break; + } // case 114 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { @@ -8775,6 +8891,132 @@ public com.google.rpc.context.AttributeContext.AuthOrBuilder getAuthOrBuilder() return authBuilder_; } + private java.lang.Object origin_ = ""; + + /** + * + * + *
+       * The values from Origin header from the HTTP request, such as
+       * "https://console.cloud.google.com". Modern browsers can only have one
+       * origin. Special browsers and/or HTTP clients may require multiple
+       * origins.
+       * 
+ * + * string origin = 14; + * + * @return The origin. + */ + public java.lang.String getOrigin() { + java.lang.Object ref = origin_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + origin_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+       * The values from Origin header from the HTTP request, such as
+       * "https://console.cloud.google.com". Modern browsers can only have one
+       * origin. Special browsers and/or HTTP clients may require multiple
+       * origins.
+       * 
+ * + * string origin = 14; + * + * @return The bytes for origin. + */ + public com.google.protobuf.ByteString getOriginBytes() { + java.lang.Object ref = origin_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + origin_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+       * The values from Origin header from the HTTP request, such as
+       * "https://console.cloud.google.com". Modern browsers can only have one
+       * origin. Special browsers and/or HTTP clients may require multiple
+       * origins.
+       * 
+ * + * string origin = 14; + * + * @param value The origin to set. + * @return This builder for chaining. + */ + public Builder setOrigin(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + origin_ = value; + bitField0_ |= 0x00001000; + onChanged(); + return this; + } + + /** + * + * + *
+       * The values from Origin header from the HTTP request, such as
+       * "https://console.cloud.google.com". Modern browsers can only have one
+       * origin. Special browsers and/or HTTP clients may require multiple
+       * origins.
+       * 
+ * + * string origin = 14; + * + * @return This builder for chaining. + */ + public Builder clearOrigin() { + origin_ = getDefaultInstance().getOrigin(); + bitField0_ = (bitField0_ & ~0x00001000); + onChanged(); + return this; + } + + /** + * + * + *
+       * The values from Origin header from the HTTP request, such as
+       * "https://console.cloud.google.com". Modern browsers can only have one
+       * origin. Special browsers and/or HTTP clients may require multiple
+       * origins.
+       * 
+ * + * string origin = 14; + * + * @param value The bytes for origin to set. + * @return This builder for chaining. + */ + public Builder setOriginBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + origin_ = value; + bitField0_ |= 0x00001000; + onChanged(); + return this; + } + // @@protoc_insertion_point(builder_scope:google.rpc.context.AttributeContext.Request) } diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/rpc/context/AttributeContextProto.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/rpc/context/AttributeContextProto.java index afbf3e2bf6..ccde945095 100644 --- a/java-common-protos/proto-google-common-protos/src/main/java/com/google/rpc/context/AttributeContextProto.java +++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/rpc/context/AttributeContextProto.java @@ -101,7 +101,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "*google/rpc/context/attribute_context.p" + "roto\022\022google.rpc.context\032\031google/protobu" + "f/any.proto\032\036google/protobuf/duration.pr" - + "oto\032\034google/protobuf/struct.proto\032\037google/protobuf/timestamp.proto\"\203\020\n" + + "oto\032\034google/protobuf/struct.proto\032\037google/protobuf/timestamp.proto\"\223\020\n" + "\020AttributeContext\0229\n" + "\006origin\030\007 \001(\0132).google.rpc.context.AttributeContext.Peer\0229\n" + "\006source\030\001 \001(\0132).google.rpc.context.AttributeContext.Peer\022>\n" @@ -132,7 +132,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\taudiences\030\002 \003(\t\022\021\n" + "\tpresenter\030\003 \001(\t\022\'\n" + "\006claims\030\004 \001(\0132\027.google.protobuf.Struct\022\025\n\r" - + "access_levels\030\005 \003(\t\032\357\002\n" + + "access_levels\030\005 \003(\t\032\377\002\n" + "\007Request\022\n\n" + "\002id\030\001 \001(\t\022\016\n" + "\006method\030\002 \001(\t\022J\n" @@ -148,15 +148,16 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\010protocol\030\013 \001(\t\022\016\n" + "\006reason\030\014 \001(\t\0227\n" + "\004auth\030\r" - + " \001(\0132).google.rpc.context.AttributeContext.Auth\032.\n" + + " \001(\0132).google.rpc.context.AttributeContext.Auth\022\016\n" + + "\006origin\030\016 \001(\t\032.\n" + "\014HeadersEntry\022\013\n" + "\003key\030\001 \001(\t\022\r\n" + "\005value\030\002 \001(\t:\0028\001\032\201\002\n" + "\010Response\022\014\n" + "\004code\030\001 \001(\003\022\014\n" + "\004size\030\002 \001(\003\022K\n" - + "\007headers\030\003 \003(\0132:.google.rpc" - + ".context.AttributeContext.Response.HeadersEntry\022(\n" + + "\007headers\030\003 " + + "\003(\0132:.google.rpc.context.AttributeContext.Response.HeadersEntry\022(\n" + "\004time\030\004 \001(\0132\032.google.protobuf.Timestamp\0222\n" + "\017backend_latency\030\005 \001(\0132\031.google.protobuf.Duration\032.\n" + "\014HeadersEntry\022\013\n" @@ -166,11 +167,11 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\007service\030\001 \001(\t\022\014\n" + "\004name\030\002 \001(\t\022\014\n" + "\004type\030\003 \001(\t\022I\n" - + "\006labels\030\004 \003(\01329.google.rpc.con" - + "text.AttributeContext.Resource.LabelsEntry\022\013\n" + + "\006labels\030\004 \003(\0132" + + "9.google.rpc.context.AttributeContext.Resource.LabelsEntry\022\013\n" + "\003uid\030\005 \001(\t\022S\n" - + "\013annotations\030\006 \003(\0132>.g" - + "oogle.rpc.context.AttributeContext.Resource.AnnotationsEntry\022\024\n" + + "\013annotations\030\006" + + " \003(\0132>.google.rpc.context.AttributeContext.Resource.AnnotationsEntry\022\024\n" + "\014display_name\030\007 \001(\t\022/\n" + "\013create_time\030\010 \001(\0132\032.google.protobuf.Timestamp\022/\n" + "\013update_time\030\t \001(\0132\032.google.protobuf.Timestamp\022/\n" @@ -183,9 +184,9 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\005value\030\002 \001(\t:\0028\001\0322\n" + "\020AnnotationsEntry\022\013\n" + "\003key\030\001 \001(\t\022\r\n" - + "\005value\030\002 \001(\t:\0028\001B\213\001\n" - + "\026com.google.rpc.contextB\025AttributeContextProtoP\001ZUgoogle.golang.org/genproto" - + "/googleapis/rpc/context/attribute_context;attribute_context\370\001\001b\006proto3" + + "\005value\030\002 \001(\t:\0028\001B\210\001\n" + + "\026com.google.rpc.contextB\025AttributeContextProtoP\001ZUgoogle.gol" + + "ang.org/genproto/googleapis/rpc/context/attribute_context;attribute_contextb\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( @@ -261,6 +262,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "Protocol", "Reason", "Auth", + "Origin", }); internal_static_google_rpc_context_AttributeContext_Request_HeadersEntry_descriptor = internal_static_google_rpc_context_AttributeContext_Request_descriptor.getNestedType(0); diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/Color.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/Color.java index d60fd6f8a6..369270781c 100644 --- a/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/Color.java +++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/Color.java @@ -25,22 +25,22 @@ * *
  * Represents a color in the RGBA color space. This representation is designed
- * for simplicity of conversion to/from color representations in various
+ * for simplicity of conversion to and from color representations in various
  * languages over compactness. For example, the fields of this representation
  * can be trivially provided to the constructor of `java.awt.Color` in Java; it
  * can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha`
  * method in iOS; and, with just a little work, it can be easily formatted into
  * a CSS `rgba()` string in JavaScript.
  *
- * This reference page doesn't carry information about the absolute color
- * space
- * that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
- * DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color
+ * This reference page doesn't have information about the absolute color
+ * space that should be used to interpret the RGB value—for example, sRGB,
+ * Adobe RGB,
+ * DCI-P3, and BT.2020. By default, applications should assume the sRGB color
  * space.
  *
- * When color equality needs to be decided, implementations, unless
- * documented otherwise, treat two colors as equal if all their red,
- * green, blue, and alpha values each differ by at most 1e-5.
+ * When color equality needs to be decided, implementations, unless documented
+ * otherwise, treat two colors as equal if all their red, green, blue, and alpha
+ * values each differ by at most `1e-5`.
  *
  * Example (Java):
  *
@@ -523,22 +523,22 @@ protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.Builder
    *
    * 
    * Represents a color in the RGBA color space. This representation is designed
-   * for simplicity of conversion to/from color representations in various
+   * for simplicity of conversion to and from color representations in various
    * languages over compactness. For example, the fields of this representation
    * can be trivially provided to the constructor of `java.awt.Color` in Java; it
    * can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha`
    * method in iOS; and, with just a little work, it can be easily formatted into
    * a CSS `rgba()` string in JavaScript.
    *
-   * This reference page doesn't carry information about the absolute color
-   * space
-   * that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-   * DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color
+   * This reference page doesn't have information about the absolute color
+   * space that should be used to interpret the RGB value—for example, sRGB,
+   * Adobe RGB,
+   * DCI-P3, and BT.2020. By default, applications should assume the sRGB color
    * space.
    *
-   * When color equality needs to be decided, implementations, unless
-   * documented otherwise, treat two colors as equal if all their red,
-   * green, blue, and alpha values each differ by at most 1e-5.
+   * When color equality needs to be decided, implementations, unless documented
+   * otherwise, treat two colors as equal if all their red, green, blue, and alpha
+   * values each differ by at most `1e-5`.
    *
    * Example (Java):
    *
diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/ColorProto.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/ColorProto.java
index b80ef0003d..92b32047c8 100644
--- a/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/ColorProto.java
+++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/ColorProto.java
@@ -59,10 +59,10 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
           + "\003red\030\001 \001(\002\022\r\n"
           + "\005green\030\002 \001(\002\022\014\n"
           + "\004blue\030\003 \001(\002\022*\n"
-          + "\005alpha\030\004 \001(\0132\033.google.protobuf.FloatValueB`\n"
+          + "\005alpha\030\004 \001(\0132\033.google.protobuf.FloatValueB]\n"
           + "\017com.google.typeB\n"
           + "ColorProtoP\001Z6google.golang.org/genproto/googleapis/ty"
-          + "pe/color;color\370\001\001\242\002\003GTPb\006proto3"
+          + "pe/color;color\242\002\003GTPb\006proto3"
     };
     descriptor =
         com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom(
diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/Date.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/Date.java
index 1c04a154b2..ae403fc9e7 100644
--- a/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/Date.java
+++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/Date.java
@@ -29,14 +29,17 @@
  * date is relative to the Gregorian Calendar. This can represent one of the
  * following:
  *
- * * A full date, with non-zero year, month, and day values
- * * A month and day value, with a zero year, such as an anniversary
- * * A year on its own, with zero month and day values
- * * A year and month value, with a zero day, such as a credit card expiration
- * date
+ * * A full date, with non-zero year, month, and day values.
+ * * A month and day, with a zero year (for example, an anniversary).
+ * * A year on its own, with a zero month and a zero day.
+ * * A year and month, with a zero day (for example, a credit card expiration
+ * date).
  *
- * Related types are [google.type.TimeOfDay][google.type.TimeOfDay] and
- * `google.protobuf.Timestamp`.
+ * Related types:
+ *
+ * * [google.type.TimeOfDay][google.type.TimeOfDay]
+ * * [google.type.DateTime][google.type.DateTime]
+ * * [google.protobuf.Timestamp][google.protobuf.Timestamp]
  * 
* * Protobuf type {@code google.type.Date} @@ -323,14 +326,17 @@ protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.Builder * date is relative to the Gregorian Calendar. This can represent one of the * following: * - * * A full date, with non-zero year, month, and day values - * * A month and day value, with a zero year, such as an anniversary - * * A year on its own, with zero month and day values - * * A year and month value, with a zero day, such as a credit card expiration - * date + * * A full date, with non-zero year, month, and day values. + * * A month and day, with a zero year (for example, an anniversary). + * * A year on its own, with a zero month and a zero day. + * * A year and month, with a zero day (for example, a credit card expiration + * date). + * + * Related types: * - * Related types are [google.type.TimeOfDay][google.type.TimeOfDay] and - * `google.protobuf.Timestamp`. + * * [google.type.TimeOfDay][google.type.TimeOfDay] + * * [google.type.DateTime][google.type.DateTime] + * * [google.protobuf.Timestamp][google.protobuf.Timestamp] *
* * Protobuf type {@code google.type.Date} diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/DateProto.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/DateProto.java index 834120366c..b6534a15fd 100644 --- a/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/DateProto.java +++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/DateProto.java @@ -58,9 +58,9 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\004Date\022\014\n" + "\004year\030\001 \001(\005\022\r\n" + "\005month\030\002 \001(\005\022\013\n" - + "\003day\030\003 \001(\005B]\n" + + "\003day\030\003 \001(\005BZ\n" + "\017com.google.typeB\tDateProtoP\001Z4google.golang.org/genproto/googleapis/t" - + "ype/date;date\370\001\001\242\002\003GTPb\006proto3" + + "ype/date;date\242\002\003GTPb\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/DateTime.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/DateTime.java index 7ced5f12ae..b6d30f7b73 100644 --- a/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/DateTime.java +++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/DateTime.java @@ -37,8 +37,8 @@ * * The date is relative to the Proleptic Gregorian Calendar. * - * If year is 0, the DateTime is considered not to have a specific year. month - * and day must have valid, non-zero values. + * If year, month, or day are 0, the DateTime is considered not to have a + * specific year, month, or day respectively. * * This type may also be used to represent a physical time if all the date and * time fields are set and either case of the `time_offset` oneof is set. @@ -165,7 +165,8 @@ public int getYear() { * * *
-   * Required. Month of year. Must be from 1 to 12.
+   * Optional. Month of year. Must be from 1 to 12, or 0 if specifying a
+   * datetime without a month.
    * 
* * int32 month = 2; @@ -184,8 +185,8 @@ public int getMonth() { * * *
-   * Required. Day of month. Must be from 1 to 31 and valid for the year and
-   * month.
+   * Optional. Day of month. Must be from 1 to 31 and valid for the year and
+   * month, or 0 if specifying a datetime without a day.
    * 
* * int32 day = 3; @@ -204,9 +205,9 @@ public int getDay() { * * *
-   * Required. Hours of day in 24 hour format. Should be from 0 to 23. An API
-   * may choose to allow the value "24:00:00" for scenarios like business
-   * closing time.
+   * Optional. Hours of day in 24 hour format. Should be from 0 to 23, defaults
+   * to 0 (midnight). An API may choose to allow the value "24:00:00" for
+   * scenarios like business closing time.
    * 
* * int32 hours = 4; @@ -225,7 +226,7 @@ public int getHours() { * * *
-   * Required. Minutes of hour of day. Must be from 0 to 59.
+   * Optional. Minutes of hour of day. Must be from 0 to 59, defaults to 0.
    * 
* * int32 minutes = 5; @@ -244,8 +245,8 @@ public int getMinutes() { * * *
-   * Required. Seconds of minutes of the time. Must normally be from 0 to 59. An
-   * API may allow the value 60 if it allows leap-seconds.
+   * Optional. Seconds of minutes of the time. Must normally be from 0 to 59,
+   * defaults to 0. An API may allow the value 60 if it allows leap-seconds.
    * 
* * int32 seconds = 6; @@ -264,8 +265,8 @@ public int getSeconds() { * * *
-   * Required. Fractions of seconds in nanoseconds. Must be from 0 to
-   * 999,999,999.
+   * Optional. Fractions of seconds in nanoseconds. Must be from 0 to
+   * 999,999,999, defaults to 0.
    * 
* * int32 nanos = 7; @@ -659,8 +660,8 @@ protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.Builder * * The date is relative to the Proleptic Gregorian Calendar. * - * If year is 0, the DateTime is considered not to have a specific year. month - * and day must have valid, non-zero values. + * If year, month, or day are 0, the DateTime is considered not to have a + * specific year, month, or day respectively. * * This type may also be used to represent a physical time if all the date and * time fields are set and either case of the `time_offset` oneof is set. @@ -1014,7 +1015,8 @@ public Builder clearYear() { * * *
-     * Required. Month of year. Must be from 1 to 12.
+     * Optional. Month of year. Must be from 1 to 12, or 0 if specifying a
+     * datetime without a month.
      * 
* * int32 month = 2; @@ -1030,7 +1032,8 @@ public int getMonth() { * * *
-     * Required. Month of year. Must be from 1 to 12.
+     * Optional. Month of year. Must be from 1 to 12, or 0 if specifying a
+     * datetime without a month.
      * 
* * int32 month = 2; @@ -1050,7 +1053,8 @@ public Builder setMonth(int value) { * * *
-     * Required. Month of year. Must be from 1 to 12.
+     * Optional. Month of year. Must be from 1 to 12, or 0 if specifying a
+     * datetime without a month.
      * 
* * int32 month = 2; @@ -1070,8 +1074,8 @@ public Builder clearMonth() { * * *
-     * Required. Day of month. Must be from 1 to 31 and valid for the year and
-     * month.
+     * Optional. Day of month. Must be from 1 to 31 and valid for the year and
+     * month, or 0 if specifying a datetime without a day.
      * 
* * int32 day = 3; @@ -1087,8 +1091,8 @@ public int getDay() { * * *
-     * Required. Day of month. Must be from 1 to 31 and valid for the year and
-     * month.
+     * Optional. Day of month. Must be from 1 to 31 and valid for the year and
+     * month, or 0 if specifying a datetime without a day.
      * 
* * int32 day = 3; @@ -1108,8 +1112,8 @@ public Builder setDay(int value) { * * *
-     * Required. Day of month. Must be from 1 to 31 and valid for the year and
-     * month.
+     * Optional. Day of month. Must be from 1 to 31 and valid for the year and
+     * month, or 0 if specifying a datetime without a day.
      * 
* * int32 day = 3; @@ -1129,9 +1133,9 @@ public Builder clearDay() { * * *
-     * Required. Hours of day in 24 hour format. Should be from 0 to 23. An API
-     * may choose to allow the value "24:00:00" for scenarios like business
-     * closing time.
+     * Optional. Hours of day in 24 hour format. Should be from 0 to 23, defaults
+     * to 0 (midnight). An API may choose to allow the value "24:00:00" for
+     * scenarios like business closing time.
      * 
* * int32 hours = 4; @@ -1147,9 +1151,9 @@ public int getHours() { * * *
-     * Required. Hours of day in 24 hour format. Should be from 0 to 23. An API
-     * may choose to allow the value "24:00:00" for scenarios like business
-     * closing time.
+     * Optional. Hours of day in 24 hour format. Should be from 0 to 23, defaults
+     * to 0 (midnight). An API may choose to allow the value "24:00:00" for
+     * scenarios like business closing time.
      * 
* * int32 hours = 4; @@ -1169,9 +1173,9 @@ public Builder setHours(int value) { * * *
-     * Required. Hours of day in 24 hour format. Should be from 0 to 23. An API
-     * may choose to allow the value "24:00:00" for scenarios like business
-     * closing time.
+     * Optional. Hours of day in 24 hour format. Should be from 0 to 23, defaults
+     * to 0 (midnight). An API may choose to allow the value "24:00:00" for
+     * scenarios like business closing time.
      * 
* * int32 hours = 4; @@ -1191,7 +1195,7 @@ public Builder clearHours() { * * *
-     * Required. Minutes of hour of day. Must be from 0 to 59.
+     * Optional. Minutes of hour of day. Must be from 0 to 59, defaults to 0.
      * 
* * int32 minutes = 5; @@ -1207,7 +1211,7 @@ public int getMinutes() { * * *
-     * Required. Minutes of hour of day. Must be from 0 to 59.
+     * Optional. Minutes of hour of day. Must be from 0 to 59, defaults to 0.
      * 
* * int32 minutes = 5; @@ -1227,7 +1231,7 @@ public Builder setMinutes(int value) { * * *
-     * Required. Minutes of hour of day. Must be from 0 to 59.
+     * Optional. Minutes of hour of day. Must be from 0 to 59, defaults to 0.
      * 
* * int32 minutes = 5; @@ -1247,8 +1251,8 @@ public Builder clearMinutes() { * * *
-     * Required. Seconds of minutes of the time. Must normally be from 0 to 59. An
-     * API may allow the value 60 if it allows leap-seconds.
+     * Optional. Seconds of minutes of the time. Must normally be from 0 to 59,
+     * defaults to 0. An API may allow the value 60 if it allows leap-seconds.
      * 
* * int32 seconds = 6; @@ -1264,8 +1268,8 @@ public int getSeconds() { * * *
-     * Required. Seconds of minutes of the time. Must normally be from 0 to 59. An
-     * API may allow the value 60 if it allows leap-seconds.
+     * Optional. Seconds of minutes of the time. Must normally be from 0 to 59,
+     * defaults to 0. An API may allow the value 60 if it allows leap-seconds.
      * 
* * int32 seconds = 6; @@ -1285,8 +1289,8 @@ public Builder setSeconds(int value) { * * *
-     * Required. Seconds of minutes of the time. Must normally be from 0 to 59. An
-     * API may allow the value 60 if it allows leap-seconds.
+     * Optional. Seconds of minutes of the time. Must normally be from 0 to 59,
+     * defaults to 0. An API may allow the value 60 if it allows leap-seconds.
      * 
* * int32 seconds = 6; @@ -1306,8 +1310,8 @@ public Builder clearSeconds() { * * *
-     * Required. Fractions of seconds in nanoseconds. Must be from 0 to
-     * 999,999,999.
+     * Optional. Fractions of seconds in nanoseconds. Must be from 0 to
+     * 999,999,999, defaults to 0.
      * 
* * int32 nanos = 7; @@ -1323,8 +1327,8 @@ public int getNanos() { * * *
-     * Required. Fractions of seconds in nanoseconds. Must be from 0 to
-     * 999,999,999.
+     * Optional. Fractions of seconds in nanoseconds. Must be from 0 to
+     * 999,999,999, defaults to 0.
      * 
* * int32 nanos = 7; @@ -1344,8 +1348,8 @@ public Builder setNanos(int value) { * * *
-     * Required. Fractions of seconds in nanoseconds. Must be from 0 to
-     * 999,999,999.
+     * Optional. Fractions of seconds in nanoseconds. Must be from 0 to
+     * 999,999,999, defaults to 0.
      * 
* * int32 nanos = 7; diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/DateTimeOrBuilder.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/DateTimeOrBuilder.java index 8de4a99ea8..fa884f156a 100644 --- a/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/DateTimeOrBuilder.java +++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/DateTimeOrBuilder.java @@ -44,7 +44,8 @@ public interface DateTimeOrBuilder * * *
-   * Required. Month of year. Must be from 1 to 12.
+   * Optional. Month of year. Must be from 1 to 12, or 0 if specifying a
+   * datetime without a month.
    * 
* * int32 month = 2; @@ -57,8 +58,8 @@ public interface DateTimeOrBuilder * * *
-   * Required. Day of month. Must be from 1 to 31 and valid for the year and
-   * month.
+   * Optional. Day of month. Must be from 1 to 31 and valid for the year and
+   * month, or 0 if specifying a datetime without a day.
    * 
* * int32 day = 3; @@ -71,9 +72,9 @@ public interface DateTimeOrBuilder * * *
-   * Required. Hours of day in 24 hour format. Should be from 0 to 23. An API
-   * may choose to allow the value "24:00:00" for scenarios like business
-   * closing time.
+   * Optional. Hours of day in 24 hour format. Should be from 0 to 23, defaults
+   * to 0 (midnight). An API may choose to allow the value "24:00:00" for
+   * scenarios like business closing time.
    * 
* * int32 hours = 4; @@ -86,7 +87,7 @@ public interface DateTimeOrBuilder * * *
-   * Required. Minutes of hour of day. Must be from 0 to 59.
+   * Optional. Minutes of hour of day. Must be from 0 to 59, defaults to 0.
    * 
* * int32 minutes = 5; @@ -99,8 +100,8 @@ public interface DateTimeOrBuilder * * *
-   * Required. Seconds of minutes of the time. Must normally be from 0 to 59. An
-   * API may allow the value 60 if it allows leap-seconds.
+   * Optional. Seconds of minutes of the time. Must normally be from 0 to 59,
+   * defaults to 0. An API may allow the value 60 if it allows leap-seconds.
    * 
* * int32 seconds = 6; @@ -113,8 +114,8 @@ public interface DateTimeOrBuilder * * *
-   * Required. Fractions of seconds in nanoseconds. Must be from 0 to
-   * 999,999,999.
+   * Optional. Fractions of seconds in nanoseconds. Must be from 0 to
+   * 999,999,999, defaults to 0.
    * 
* * int32 nanos = 7; diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/DateTimeProto.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/DateTimeProto.java index 098f3e4b96..0ded4be2a1 100644 --- a/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/DateTimeProto.java +++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/DateTimeProto.java @@ -72,10 +72,10 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\013time_offset\"\'\n" + "\010TimeZone\022\n\n" + "\002id\030\001 \001(\t\022\017\n" - + "\007version\030\002 \001(\tBi\n" + + "\007version\030\002 \001(\tBf\n" + "\017com.google.typeB\r" - + "DateTimeProtoP\001Z * A representation of a decimal value, such as 2.5. Clients may convert values - * into language-native decimal formats, such as Java's [BigDecimal][] or - * Python's [decimal.Decimal][]. - * - * [BigDecimal]: - * https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/math/BigDecimal.html - * [decimal.Decimal]: https://docs.python.org/3/library/decimal.html + * into language-native decimal formats, such as Java's + * [BigDecimal](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/math/BigDecimal.html) + * or Python's + * [decimal.Decimal](https://docs.python.org/3/library/decimal.html). * * * Protobuf type {@code google.type.Decimal} @@ -87,7 +85,7 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { * The string representation consists of an optional sign, `+` (`U+002B`) * or `-` (`U+002D`), followed by a sequence of zero or more decimal digits * ("the integer"), optionally followed by a fraction, optionally followed - * by an exponent. + * by an exponent. An empty string **should** be interpreted as `0`. * * The fraction consists of a decimal point followed by zero or more decimal * digits. The string must contain at least one digit in either the integer @@ -101,12 +99,13 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { * * - Removing an explicitly-provided `+` sign (`+2.5` -> `2.5`). * - Replacing a zero-length integer value with `0` (`.5` -> `0.5`). - * - Coercing the exponent character to lower-case (`2.5E8` -> `2.5e8`). - * - Removing an explicitly-provided zero exponent (`2.5e0` -> `2.5`). + * - Coercing the exponent character to upper-case, with explicit sign + * (`2.5e8` -> `2.5E+8`). + * - Removing an explicitly-provided zero exponent (`2.5E0` -> `2.5`). * * Services **may** perform additional normalization based on its own needs * and the internal decimal implementation selected, such as shifting the - * decimal point and exponent value together (example: `2.5e-1` <-> `0.25`). + * decimal point and exponent value together (example: `2.5E-1` <-> `0.25`). * Additionally, services **may** preserve trailing zeroes in the fraction * to indicate increased precision, but are not required to do so. * @@ -118,7 +117,7 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { * The ENBF grammar is: * * DecimalString = - * [Sign] Significand [Exponent]; + * '' | [Sign] Significand [Exponent]; * * Sign = '+' | '-'; * @@ -170,7 +169,7 @@ public java.lang.String getValue() { * The string representation consists of an optional sign, `+` (`U+002B`) * or `-` (`U+002D`), followed by a sequence of zero or more decimal digits * ("the integer"), optionally followed by a fraction, optionally followed - * by an exponent. + * by an exponent. An empty string **should** be interpreted as `0`. * * The fraction consists of a decimal point followed by zero or more decimal * digits. The string must contain at least one digit in either the integer @@ -184,12 +183,13 @@ public java.lang.String getValue() { * * - Removing an explicitly-provided `+` sign (`+2.5` -> `2.5`). * - Replacing a zero-length integer value with `0` (`.5` -> `0.5`). - * - Coercing the exponent character to lower-case (`2.5E8` -> `2.5e8`). - * - Removing an explicitly-provided zero exponent (`2.5e0` -> `2.5`). + * - Coercing the exponent character to upper-case, with explicit sign + * (`2.5e8` -> `2.5E+8`). + * - Removing an explicitly-provided zero exponent (`2.5E0` -> `2.5`). * * Services **may** perform additional normalization based on its own needs * and the internal decimal implementation selected, such as shifting the - * decimal point and exponent value together (example: `2.5e-1` <-> `0.25`). + * decimal point and exponent value together (example: `2.5E-1` <-> `0.25`). * Additionally, services **may** preserve trailing zeroes in the fraction * to indicate increased precision, but are not required to do so. * @@ -201,7 +201,7 @@ public java.lang.String getValue() { * The ENBF grammar is: * * DecimalString = - * [Sign] Significand [Exponent]; + * '' | [Sign] Significand [Exponent]; * * Sign = '+' | '-'; * @@ -407,12 +407,10 @@ protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.Builder * *
    * A representation of a decimal value, such as 2.5. Clients may convert values
-   * into language-native decimal formats, such as Java's [BigDecimal][] or
-   * Python's [decimal.Decimal][].
-   *
-   * [BigDecimal]:
-   * https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/math/BigDecimal.html
-   * [decimal.Decimal]: https://docs.python.org/3/library/decimal.html
+   * into language-native decimal formats, such as Java's
+   * [BigDecimal](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/math/BigDecimal.html)
+   * or Python's
+   * [decimal.Decimal](https://docs.python.org/3/library/decimal.html).
    * 
* * Protobuf type {@code google.type.Decimal} @@ -563,7 +561,7 @@ public Builder mergeFrom( * The string representation consists of an optional sign, `+` (`U+002B`) * or `-` (`U+002D`), followed by a sequence of zero or more decimal digits * ("the integer"), optionally followed by a fraction, optionally followed - * by an exponent. + * by an exponent. An empty string **should** be interpreted as `0`. * * The fraction consists of a decimal point followed by zero or more decimal * digits. The string must contain at least one digit in either the integer @@ -577,12 +575,13 @@ public Builder mergeFrom( * * - Removing an explicitly-provided `+` sign (`+2.5` -> `2.5`). * - Replacing a zero-length integer value with `0` (`.5` -> `0.5`). - * - Coercing the exponent character to lower-case (`2.5E8` -> `2.5e8`). - * - Removing an explicitly-provided zero exponent (`2.5e0` -> `2.5`). + * - Coercing the exponent character to upper-case, with explicit sign + * (`2.5e8` -> `2.5E+8`). + * - Removing an explicitly-provided zero exponent (`2.5E0` -> `2.5`). * * Services **may** perform additional normalization based on its own needs * and the internal decimal implementation selected, such as shifting the - * decimal point and exponent value together (example: `2.5e-1` <-> `0.25`). + * decimal point and exponent value together (example: `2.5E-1` <-> `0.25`). * Additionally, services **may** preserve trailing zeroes in the fraction * to indicate increased precision, but are not required to do so. * @@ -594,7 +593,7 @@ public Builder mergeFrom( * The ENBF grammar is: * * DecimalString = - * [Sign] Significand [Exponent]; + * '' | [Sign] Significand [Exponent]; * * Sign = '+' | '-'; * @@ -645,7 +644,7 @@ public java.lang.String getValue() { * The string representation consists of an optional sign, `+` (`U+002B`) * or `-` (`U+002D`), followed by a sequence of zero or more decimal digits * ("the integer"), optionally followed by a fraction, optionally followed - * by an exponent. + * by an exponent. An empty string **should** be interpreted as `0`. * * The fraction consists of a decimal point followed by zero or more decimal * digits. The string must contain at least one digit in either the integer @@ -659,12 +658,13 @@ public java.lang.String getValue() { * * - Removing an explicitly-provided `+` sign (`+2.5` -> `2.5`). * - Replacing a zero-length integer value with `0` (`.5` -> `0.5`). - * - Coercing the exponent character to lower-case (`2.5E8` -> `2.5e8`). - * - Removing an explicitly-provided zero exponent (`2.5e0` -> `2.5`). + * - Coercing the exponent character to upper-case, with explicit sign + * (`2.5e8` -> `2.5E+8`). + * - Removing an explicitly-provided zero exponent (`2.5E0` -> `2.5`). * * Services **may** perform additional normalization based on its own needs * and the internal decimal implementation selected, such as shifting the - * decimal point and exponent value together (example: `2.5e-1` <-> `0.25`). + * decimal point and exponent value together (example: `2.5E-1` <-> `0.25`). * Additionally, services **may** preserve trailing zeroes in the fraction * to indicate increased precision, but are not required to do so. * @@ -676,7 +676,7 @@ public java.lang.String getValue() { * The ENBF grammar is: * * DecimalString = - * [Sign] Significand [Exponent]; + * '' | [Sign] Significand [Exponent]; * * Sign = '+' | '-'; * @@ -727,7 +727,7 @@ public com.google.protobuf.ByteString getValueBytes() { * The string representation consists of an optional sign, `+` (`U+002B`) * or `-` (`U+002D`), followed by a sequence of zero or more decimal digits * ("the integer"), optionally followed by a fraction, optionally followed - * by an exponent. + * by an exponent. An empty string **should** be interpreted as `0`. * * The fraction consists of a decimal point followed by zero or more decimal * digits. The string must contain at least one digit in either the integer @@ -741,12 +741,13 @@ public com.google.protobuf.ByteString getValueBytes() { * * - Removing an explicitly-provided `+` sign (`+2.5` -> `2.5`). * - Replacing a zero-length integer value with `0` (`.5` -> `0.5`). - * - Coercing the exponent character to lower-case (`2.5E8` -> `2.5e8`). - * - Removing an explicitly-provided zero exponent (`2.5e0` -> `2.5`). + * - Coercing the exponent character to upper-case, with explicit sign + * (`2.5e8` -> `2.5E+8`). + * - Removing an explicitly-provided zero exponent (`2.5E0` -> `2.5`). * * Services **may** perform additional normalization based on its own needs * and the internal decimal implementation selected, such as shifting the - * decimal point and exponent value together (example: `2.5e-1` <-> `0.25`). + * decimal point and exponent value together (example: `2.5E-1` <-> `0.25`). * Additionally, services **may** preserve trailing zeroes in the fraction * to indicate increased precision, but are not required to do so. * @@ -758,7 +759,7 @@ public com.google.protobuf.ByteString getValueBytes() { * The ENBF grammar is: * * DecimalString = - * [Sign] Significand [Exponent]; + * '' | [Sign] Significand [Exponent]; * * Sign = '+' | '-'; * @@ -808,7 +809,7 @@ public Builder setValue(java.lang.String value) { * The string representation consists of an optional sign, `+` (`U+002B`) * or `-` (`U+002D`), followed by a sequence of zero or more decimal digits * ("the integer"), optionally followed by a fraction, optionally followed - * by an exponent. + * by an exponent. An empty string **should** be interpreted as `0`. * * The fraction consists of a decimal point followed by zero or more decimal * digits. The string must contain at least one digit in either the integer @@ -822,12 +823,13 @@ public Builder setValue(java.lang.String value) { * * - Removing an explicitly-provided `+` sign (`+2.5` -> `2.5`). * - Replacing a zero-length integer value with `0` (`.5` -> `0.5`). - * - Coercing the exponent character to lower-case (`2.5E8` -> `2.5e8`). - * - Removing an explicitly-provided zero exponent (`2.5e0` -> `2.5`). + * - Coercing the exponent character to upper-case, with explicit sign + * (`2.5e8` -> `2.5E+8`). + * - Removing an explicitly-provided zero exponent (`2.5E0` -> `2.5`). * * Services **may** perform additional normalization based on its own needs * and the internal decimal implementation selected, such as shifting the - * decimal point and exponent value together (example: `2.5e-1` <-> `0.25`). + * decimal point and exponent value together (example: `2.5E-1` <-> `0.25`). * Additionally, services **may** preserve trailing zeroes in the fraction * to indicate increased precision, but are not required to do so. * @@ -839,7 +841,7 @@ public Builder setValue(java.lang.String value) { * The ENBF grammar is: * * DecimalString = - * [Sign] Significand [Exponent]; + * '' | [Sign] Significand [Exponent]; * * Sign = '+' | '-'; * @@ -885,7 +887,7 @@ public Builder clearValue() { * The string representation consists of an optional sign, `+` (`U+002B`) * or `-` (`U+002D`), followed by a sequence of zero or more decimal digits * ("the integer"), optionally followed by a fraction, optionally followed - * by an exponent. + * by an exponent. An empty string **should** be interpreted as `0`. * * The fraction consists of a decimal point followed by zero or more decimal * digits. The string must contain at least one digit in either the integer @@ -899,12 +901,13 @@ public Builder clearValue() { * * - Removing an explicitly-provided `+` sign (`+2.5` -> `2.5`). * - Replacing a zero-length integer value with `0` (`.5` -> `0.5`). - * - Coercing the exponent character to lower-case (`2.5E8` -> `2.5e8`). - * - Removing an explicitly-provided zero exponent (`2.5e0` -> `2.5`). + * - Coercing the exponent character to upper-case, with explicit sign + * (`2.5e8` -> `2.5E+8`). + * - Removing an explicitly-provided zero exponent (`2.5E0` -> `2.5`). * * Services **may** perform additional normalization based on its own needs * and the internal decimal implementation selected, such as shifting the - * decimal point and exponent value together (example: `2.5e-1` <-> `0.25`). + * decimal point and exponent value together (example: `2.5E-1` <-> `0.25`). * Additionally, services **may** preserve trailing zeroes in the fraction * to indicate increased precision, but are not required to do so. * @@ -916,7 +919,7 @@ public Builder clearValue() { * The ENBF grammar is: * * DecimalString = - * [Sign] Significand [Exponent]; + * '' | [Sign] Significand [Exponent]; * * Sign = '+' | '-'; * diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/DecimalOrBuilder.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/DecimalOrBuilder.java index d3645b66e5..6252909d7b 100644 --- a/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/DecimalOrBuilder.java +++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/DecimalOrBuilder.java @@ -35,7 +35,7 @@ public interface DecimalOrBuilder * The string representation consists of an optional sign, `+` (`U+002B`) * or `-` (`U+002D`), followed by a sequence of zero or more decimal digits * ("the integer"), optionally followed by a fraction, optionally followed - * by an exponent. + * by an exponent. An empty string **should** be interpreted as `0`. * * The fraction consists of a decimal point followed by zero or more decimal * digits. The string must contain at least one digit in either the integer @@ -49,12 +49,13 @@ public interface DecimalOrBuilder * * - Removing an explicitly-provided `+` sign (`+2.5` -> `2.5`). * - Replacing a zero-length integer value with `0` (`.5` -> `0.5`). - * - Coercing the exponent character to lower-case (`2.5E8` -> `2.5e8`). - * - Removing an explicitly-provided zero exponent (`2.5e0` -> `2.5`). + * - Coercing the exponent character to upper-case, with explicit sign + * (`2.5e8` -> `2.5E+8`). + * - Removing an explicitly-provided zero exponent (`2.5E0` -> `2.5`). * * Services **may** perform additional normalization based on its own needs * and the internal decimal implementation selected, such as shifting the - * decimal point and exponent value together (example: `2.5e-1` <-> `0.25`). + * decimal point and exponent value together (example: `2.5E-1` <-> `0.25`). * Additionally, services **may** preserve trailing zeroes in the fraction * to indicate increased precision, but are not required to do so. * @@ -66,7 +67,7 @@ public interface DecimalOrBuilder * The ENBF grammar is: * * DecimalString = - * [Sign] Significand [Exponent]; + * '' | [Sign] Significand [Exponent]; * * Sign = '+' | '-'; * @@ -107,7 +108,7 @@ public interface DecimalOrBuilder * The string representation consists of an optional sign, `+` (`U+002B`) * or `-` (`U+002D`), followed by a sequence of zero or more decimal digits * ("the integer"), optionally followed by a fraction, optionally followed - * by an exponent. + * by an exponent. An empty string **should** be interpreted as `0`. * * The fraction consists of a decimal point followed by zero or more decimal * digits. The string must contain at least one digit in either the integer @@ -121,12 +122,13 @@ public interface DecimalOrBuilder * * - Removing an explicitly-provided `+` sign (`+2.5` -> `2.5`). * - Replacing a zero-length integer value with `0` (`.5` -> `0.5`). - * - Coercing the exponent character to lower-case (`2.5E8` -> `2.5e8`). - * - Removing an explicitly-provided zero exponent (`2.5e0` -> `2.5`). + * - Coercing the exponent character to upper-case, with explicit sign + * (`2.5e8` -> `2.5E+8`). + * - Removing an explicitly-provided zero exponent (`2.5E0` -> `2.5`). * * Services **may** perform additional normalization based on its own needs * and the internal decimal implementation selected, such as shifting the - * decimal point and exponent value together (example: `2.5e-1` <-> `0.25`). + * decimal point and exponent value together (example: `2.5E-1` <-> `0.25`). * Additionally, services **may** preserve trailing zeroes in the fraction * to indicate increased precision, but are not required to do so. * @@ -138,7 +140,7 @@ public interface DecimalOrBuilder * The ENBF grammar is: * * DecimalString = - * [Sign] Significand [Exponent]; + * '' | [Sign] Significand [Exponent]; * * Sign = '+' | '-'; * diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/DecimalProto.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/DecimalProto.java index b659de2354..7ccb5837cf 100644 --- a/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/DecimalProto.java +++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/DecimalProto.java @@ -54,10 +54,10 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { static { java.lang.String[] descriptorData = { "\n\031google/type/decimal.proto\022\013google.type" - + "\"\030\n\007Decimal\022\r\n\005value\030\001 \001(\tBf\n\017com.google" + + "\"\030\n\007Decimal\022\r\n\005value\030\001 \001(\tBc\n\017com.google" + ".typeB\014DecimalProtoP\001Z:google.golang.org" + "/genproto/googleapis/type/decimal;decima" - + "l\370\001\001\242\002\003GTPb\006proto3" + + "l\242\002\003GTPb\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/IntervalProto.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/IntervalProto.java index a544688a67..4be6839768 100644 --- a/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/IntervalProto.java +++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/IntervalProto.java @@ -57,10 +57,10 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "e\032\037google/protobuf/timestamp.proto\"h\n\010In" + "terval\022.\n\nstart_time\030\001 \001(\0132\032.google.prot" + "obuf.Timestamp\022,\n\010end_time\030\002 \001(\0132\032.googl" - + "e.protobuf.TimestampBi\n\017com.google.typeB" + + "e.protobuf.TimestampBf\n\017com.google.typeB" + "\rIntervalProtoP\001Z * An object that represents a latitude/longitude pair. This is expressed as a * pair of doubles to represent degrees latitude and degrees longitude. Unless - * specified otherwise, this must conform to the - * <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84 - * standard</a>. Values must be within normalized ranges. + * specified otherwise, this object must conform to the + * <a href="https://en.wikipedia.org/wiki/World_Geodetic_System#1984_version"> + * WGS84 standard</a>. Values must be within normalized ranges. * * * Protobuf type {@code google.type.LatLng} @@ -288,9 +288,9 @@ protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.Builder *
    * An object that represents a latitude/longitude pair. This is expressed as a
    * pair of doubles to represent degrees latitude and degrees longitude. Unless
-   * specified otherwise, this must conform to the
-   * <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
-   * standard</a>. Values must be within normalized ranges.
+   * specified otherwise, this object must conform to the
+   * <a href="https://en.wikipedia.org/wiki/World_Geodetic_System#1984_version">
+   * WGS84 standard</a>. Values must be within normalized ranges.
    * 
* * Protobuf type {@code google.type.LatLng} diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/LatLngProto.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/LatLngProto.java index e0b02c31f7..c37fb97aea 100644 --- a/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/LatLngProto.java +++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/LatLngProto.java @@ -55,9 +55,9 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { java.lang.String[] descriptorData = { "\n\030google/type/latlng.proto\022\013google.type\"" + "-\n\006LatLng\022\020\n\010latitude\030\001 \001(\001\022\021\n\tlongitude" - + "\030\002 \001(\001Bc\n\017com.google.typeB\013LatLngProtoP\001" + + "\030\002 \001(\001B`\n\017com.google.typeB\013LatLngProtoP\001" + "Z8google.golang.org/genproto/googleapis/" - + "type/latlng;latlng\370\001\001\242\002\003GTPb\006proto3" + + "type/latlng;latlng\242\002\003GTPb\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/LocalizedText.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/LocalizedText.java index 677c731de9..0fa52a80d9 100644 --- a/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/LocalizedText.java +++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/LocalizedText.java @@ -78,7 +78,8 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { * * *
-   * Localized string in the language corresponding to `language_code' below.
+   * Localized string in the language corresponding to
+   * [language_code][google.type.LocalizedText.language_code] below.
    * 
* * string text = 1; @@ -102,7 +103,8 @@ public java.lang.String getText() { * * *
-   * Localized string in the language corresponding to `language_code' below.
+   * Localized string in the language corresponding to
+   * [language_code][google.type.LocalizedText.language_code] below.
    * 
* * string text = 1; @@ -516,7 +518,8 @@ public Builder mergeFrom( * * *
-     * Localized string in the language corresponding to `language_code' below.
+     * Localized string in the language corresponding to
+     * [language_code][google.type.LocalizedText.language_code] below.
      * 
* * string text = 1; @@ -539,7 +542,8 @@ public java.lang.String getText() { * * *
-     * Localized string in the language corresponding to `language_code' below.
+     * Localized string in the language corresponding to
+     * [language_code][google.type.LocalizedText.language_code] below.
      * 
* * string text = 1; @@ -562,7 +566,8 @@ public com.google.protobuf.ByteString getTextBytes() { * * *
-     * Localized string in the language corresponding to `language_code' below.
+     * Localized string in the language corresponding to
+     * [language_code][google.type.LocalizedText.language_code] below.
      * 
* * string text = 1; @@ -584,7 +589,8 @@ public Builder setText(java.lang.String value) { * * *
-     * Localized string in the language corresponding to `language_code' below.
+     * Localized string in the language corresponding to
+     * [language_code][google.type.LocalizedText.language_code] below.
      * 
* * string text = 1; @@ -602,7 +608,8 @@ public Builder clearText() { * * *
-     * Localized string in the language corresponding to `language_code' below.
+     * Localized string in the language corresponding to
+     * [language_code][google.type.LocalizedText.language_code] below.
      * 
* * string text = 1; diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/LocalizedTextOrBuilder.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/LocalizedTextOrBuilder.java index 4260bcd2d7..5a624ceb9f 100644 --- a/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/LocalizedTextOrBuilder.java +++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/LocalizedTextOrBuilder.java @@ -30,7 +30,8 @@ public interface LocalizedTextOrBuilder * * *
-   * Localized string in the language corresponding to `language_code' below.
+   * Localized string in the language corresponding to
+   * [language_code][google.type.LocalizedText.language_code] below.
    * 
* * string text = 1; @@ -43,7 +44,8 @@ public interface LocalizedTextOrBuilder * * *
-   * Localized string in the language corresponding to `language_code' below.
+   * Localized string in the language corresponding to
+   * [language_code][google.type.LocalizedText.language_code] below.
    * 
* * string text = 1; diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/LocalizedTextProto.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/LocalizedTextProto.java index 7f3c40fbeb..0ae3eb0bd1 100644 --- a/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/LocalizedTextProto.java +++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/LocalizedTextProto.java @@ -55,10 +55,10 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { java.lang.String[] descriptorData = { "\n google/type/localized_text.proto\022\013goog" + "le.type\"4\n\rLocalizedText\022\014\n\004text\030\001 \001(\t\022\025" - + "\n\rlanguage_code\030\002 \001(\tBz\n\017com.google.type" + + "\n\rlanguage_code\030\002 \001(\tBw\n\017com.google.type" + "B\022LocalizedTextProtoP\001ZHgoogle.golang.or" + "g/genproto/googleapis/type/localized_tex" - + "t;localized_text\370\001\001\242\002\003GTPb\006proto3" + + "t;localized_text\242\002\003GTPb\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/MoneyProto.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/MoneyProto.java index 74101e52eb..c4ed024732 100644 --- a/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/MoneyProto.java +++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/MoneyProto.java @@ -55,10 +55,10 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { java.lang.String[] descriptorData = { "\n\027google/type/money.proto\022\013google.type\"<" + "\n\005Money\022\025\n\rcurrency_code\030\001 \001(\t\022\r\n\005units\030" - + "\002 \001(\003\022\r\n\005nanos\030\003 \001(\005B`\n\017com.google.typeB" + + "\002 \001(\003\022\r\n\005nanos\030\003 \001(\005B]\n\017com.google.typeB" + "\nMoneyProtoP\001Z6google.golang.org/genprot" - + "o/googleapis/type/money;money\370\001\001\242\002\003GTPb\006" - + "proto3" + + "o/googleapis/type/money;money\242\002\003GTPb\006pro" + + "to3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/PhoneNumber.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/PhoneNumber.java index ae69972c2d..3e16261b43 100644 --- a/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/PhoneNumber.java +++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/PhoneNumber.java @@ -137,7 +137,7 @@ public interface ShortCodeOrBuilder * *
      * Required. The short code digits, without a leading plus ('+') or country
-     * calling code, e.g. "611".
+     * calling code. For example "611".
      * 
* * string number = 2; @@ -151,7 +151,7 @@ public interface ShortCodeOrBuilder * *
      * Required. The short code digits, without a leading plus ('+') or country
-     * calling code, e.g. "611".
+     * calling code. For example "611".
      * 
* * string number = 2; @@ -168,12 +168,13 @@ public interface ShortCodeOrBuilder * An object representing a short code, which is a phone number that is * typically much shorter than regular phone numbers and can be used to * address messages in MMS and SMS systems, as well as for abbreviated dialing - * (e.g. "Text 611 to see how many minutes you have remaining on your plan."). + * (For example "Text 611 to see how many minutes you have remaining on your + * plan."). * * Short codes are restricted to a region and are not internationally * dialable, which means the same short code can exist in different regions, * with different usage and pricing, even if those regions share the same - * country calling code (e.g. US and CA). + * country calling code (For example: US and CA). * * * Protobuf type {@code google.type.PhoneNumber.ShortCode} @@ -290,7 +291,7 @@ public com.google.protobuf.ByteString getRegionCodeBytes() { * *
      * Required. The short code digits, without a leading plus ('+') or country
-     * calling code, e.g. "611".
+     * calling code. For example "611".
      * 
* * string number = 2; @@ -315,7 +316,7 @@ public java.lang.String getNumber() { * *
      * Required. The short code digits, without a leading plus ('+') or country
-     * calling code, e.g. "611".
+     * calling code. For example "611".
      * 
* * string number = 2; @@ -510,12 +511,13 @@ protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.Builder * An object representing a short code, which is a phone number that is * typically much shorter than regular phone numbers and can be used to * address messages in MMS and SMS systems, as well as for abbreviated dialing - * (e.g. "Text 611 to see how many minutes you have remaining on your plan."). + * (For example "Text 611 to see how many minutes you have remaining on your + * plan."). * * Short codes are restricted to a region and are not internationally * dialable, which means the same short code can exist in different regions, * with different usage and pricing, even if those regions share the same - * country calling code (e.g. US and CA). + * country calling code (For example: US and CA). * * * Protobuf type {@code google.type.PhoneNumber.ShortCode} @@ -813,7 +815,7 @@ public Builder setRegionCodeBytes(com.google.protobuf.ByteString value) { * *
        * Required. The short code digits, without a leading plus ('+') or country
-       * calling code, e.g. "611".
+       * calling code. For example "611".
        * 
* * string number = 2; @@ -837,7 +839,7 @@ public java.lang.String getNumber() { * *
        * Required. The short code digits, without a leading plus ('+') or country
-       * calling code, e.g. "611".
+       * calling code. For example "611".
        * 
* * string number = 2; @@ -861,7 +863,7 @@ public com.google.protobuf.ByteString getNumberBytes() { * *
        * Required. The short code digits, without a leading plus ('+') or country
-       * calling code, e.g. "611".
+       * calling code. For example "611".
        * 
* * string number = 2; @@ -884,7 +886,7 @@ public Builder setNumber(java.lang.String value) { * *
        * Required. The short code digits, without a leading plus ('+') or country
-       * calling code, e.g. "611".
+       * calling code. For example "611".
        * 
* * string number = 2; @@ -903,7 +905,7 @@ public Builder clearNumber() { * *
        * Required. The short code digits, without a leading plus ('+') or country
-       * calling code, e.g. "611".
+       * calling code. For example "611".
        * 
* * string number = 2; @@ -1033,17 +1035,22 @@ public KindCase getKindCase() { * The phone number, represented as a leading plus sign ('+'), followed by a * phone number that uses a relaxed ITU E.164 format consisting of the * country calling code (1 to 3 digits) and the subscriber number, with no - * additional spaces or formatting, e.g.: + * additional spaces or formatting. For example: + * * - correct: "+15552220123" - * - incorrect: "+1 (555) 222-01234 x123". + * + * - incorrect: "+1 (555) 222-01234 x123" * * The ITU E.164 format limits the latter to 12 digits, but in practice not * all countries respect that, so we relax that restriction here. * National-only numbers are not allowed. * * References: + * * - https://www.itu.int/rec/T-REC-E.164-201011-I + * * - https://en.wikipedia.org/wiki/E.164. + * * - https://en.wikipedia.org/wiki/List_of_country_calling_codes * * @@ -1062,17 +1069,22 @@ public boolean hasE164Number() { * The phone number, represented as a leading plus sign ('+'), followed by a * phone number that uses a relaxed ITU E.164 format consisting of the * country calling code (1 to 3 digits) and the subscriber number, with no - * additional spaces or formatting, e.g.: + * additional spaces or formatting. For example: + * * - correct: "+15552220123" - * - incorrect: "+1 (555) 222-01234 x123". + * + * - incorrect: "+1 (555) 222-01234 x123" * * The ITU E.164 format limits the latter to 12 digits, but in practice not * all countries respect that, so we relax that restriction here. * National-only numbers are not allowed. * * References: + * * - https://www.itu.int/rec/T-REC-E.164-201011-I + * * - https://en.wikipedia.org/wiki/E.164. + * * - https://en.wikipedia.org/wiki/List_of_country_calling_codes * * @@ -1104,17 +1116,22 @@ public java.lang.String getE164Number() { * The phone number, represented as a leading plus sign ('+'), followed by a * phone number that uses a relaxed ITU E.164 format consisting of the * country calling code (1 to 3 digits) and the subscriber number, with no - * additional spaces or formatting, e.g.: + * additional spaces or formatting. For example: + * * - correct: "+15552220123" - * - incorrect: "+1 (555) 222-01234 x123". + * + * - incorrect: "+1 (555) 222-01234 x123" * * The ITU E.164 format limits the latter to 12 digits, but in practice not * all countries respect that, so we relax that restriction here. * National-only numbers are not allowed. * * References: + * * - https://www.itu.int/rec/T-REC-E.164-201011-I + * * - https://en.wikipedia.org/wiki/E.164. + * * - https://en.wikipedia.org/wiki/List_of_country_calling_codes * * @@ -1148,7 +1165,7 @@ public com.google.protobuf.ByteString getE164NumberBytes() { * A short code. * * Reference(s): - * - https://en.wikipedia.org/wiki/Short_code + * - https://wikipedia.org/wiki/Short_code * * * .google.type.PhoneNumber.ShortCode short_code = 2; @@ -1167,7 +1184,7 @@ public boolean hasShortCode() { * A short code. * * Reference(s): - * - https://en.wikipedia.org/wiki/Short_code + * - https://wikipedia.org/wiki/Short_code * * * .google.type.PhoneNumber.ShortCode short_code = 2; @@ -1189,7 +1206,7 @@ public com.google.type.PhoneNumber.ShortCode getShortCode() { * A short code. * * Reference(s): - * - https://en.wikipedia.org/wiki/Short_code + * - https://wikipedia.org/wiki/Short_code * * * .google.type.PhoneNumber.ShortCode short_code = 2; @@ -1703,17 +1720,22 @@ public Builder clearKind() { * The phone number, represented as a leading plus sign ('+'), followed by a * phone number that uses a relaxed ITU E.164 format consisting of the * country calling code (1 to 3 digits) and the subscriber number, with no - * additional spaces or formatting, e.g.: + * additional spaces or formatting. For example: + * * - correct: "+15552220123" - * - incorrect: "+1 (555) 222-01234 x123". + * + * - incorrect: "+1 (555) 222-01234 x123" * * The ITU E.164 format limits the latter to 12 digits, but in practice not * all countries respect that, so we relax that restriction here. * National-only numbers are not allowed. * * References: + * * - https://www.itu.int/rec/T-REC-E.164-201011-I + * * - https://en.wikipedia.org/wiki/E.164. + * * - https://en.wikipedia.org/wiki/List_of_country_calling_codes * * @@ -1733,17 +1755,22 @@ public boolean hasE164Number() { * The phone number, represented as a leading plus sign ('+'), followed by a * phone number that uses a relaxed ITU E.164 format consisting of the * country calling code (1 to 3 digits) and the subscriber number, with no - * additional spaces or formatting, e.g.: + * additional spaces or formatting. For example: + * * - correct: "+15552220123" - * - incorrect: "+1 (555) 222-01234 x123". + * + * - incorrect: "+1 (555) 222-01234 x123" * * The ITU E.164 format limits the latter to 12 digits, but in practice not * all countries respect that, so we relax that restriction here. * National-only numbers are not allowed. * * References: + * * - https://www.itu.int/rec/T-REC-E.164-201011-I + * * - https://en.wikipedia.org/wiki/E.164. + * * - https://en.wikipedia.org/wiki/List_of_country_calling_codes * * @@ -1776,17 +1803,22 @@ public java.lang.String getE164Number() { * The phone number, represented as a leading plus sign ('+'), followed by a * phone number that uses a relaxed ITU E.164 format consisting of the * country calling code (1 to 3 digits) and the subscriber number, with no - * additional spaces or formatting, e.g.: + * additional spaces or formatting. For example: + * * - correct: "+15552220123" - * - incorrect: "+1 (555) 222-01234 x123". + * + * - incorrect: "+1 (555) 222-01234 x123" * * The ITU E.164 format limits the latter to 12 digits, but in practice not * all countries respect that, so we relax that restriction here. * National-only numbers are not allowed. * * References: + * * - https://www.itu.int/rec/T-REC-E.164-201011-I + * * - https://en.wikipedia.org/wiki/E.164. + * * - https://en.wikipedia.org/wiki/List_of_country_calling_codes * * @@ -1819,17 +1851,22 @@ public com.google.protobuf.ByteString getE164NumberBytes() { * The phone number, represented as a leading plus sign ('+'), followed by a * phone number that uses a relaxed ITU E.164 format consisting of the * country calling code (1 to 3 digits) and the subscriber number, with no - * additional spaces or formatting, e.g.: + * additional spaces or formatting. For example: + * * - correct: "+15552220123" - * - incorrect: "+1 (555) 222-01234 x123". + * + * - incorrect: "+1 (555) 222-01234 x123" * * The ITU E.164 format limits the latter to 12 digits, but in practice not * all countries respect that, so we relax that restriction here. * National-only numbers are not allowed. * * References: + * * - https://www.itu.int/rec/T-REC-E.164-201011-I + * * - https://en.wikipedia.org/wiki/E.164. + * * - https://en.wikipedia.org/wiki/List_of_country_calling_codes * * @@ -1855,17 +1892,22 @@ public Builder setE164Number(java.lang.String value) { * The phone number, represented as a leading plus sign ('+'), followed by a * phone number that uses a relaxed ITU E.164 format consisting of the * country calling code (1 to 3 digits) and the subscriber number, with no - * additional spaces or formatting, e.g.: + * additional spaces or formatting. For example: + * * - correct: "+15552220123" - * - incorrect: "+1 (555) 222-01234 x123". + * + * - incorrect: "+1 (555) 222-01234 x123" * * The ITU E.164 format limits the latter to 12 digits, but in practice not * all countries respect that, so we relax that restriction here. * National-only numbers are not allowed. * * References: + * * - https://www.itu.int/rec/T-REC-E.164-201011-I + * * - https://en.wikipedia.org/wiki/E.164. + * * - https://en.wikipedia.org/wiki/List_of_country_calling_codes * * @@ -1889,17 +1931,22 @@ public Builder clearE164Number() { * The phone number, represented as a leading plus sign ('+'), followed by a * phone number that uses a relaxed ITU E.164 format consisting of the * country calling code (1 to 3 digits) and the subscriber number, with no - * additional spaces or formatting, e.g.: + * additional spaces or formatting. For example: + * * - correct: "+15552220123" - * - incorrect: "+1 (555) 222-01234 x123". + * + * - incorrect: "+1 (555) 222-01234 x123" * * The ITU E.164 format limits the latter to 12 digits, but in practice not * all countries respect that, so we relax that restriction here. * National-only numbers are not allowed. * * References: + * * - https://www.itu.int/rec/T-REC-E.164-201011-I + * * - https://en.wikipedia.org/wiki/E.164. + * * - https://en.wikipedia.org/wiki/List_of_country_calling_codes * * @@ -1932,7 +1979,7 @@ public Builder setE164NumberBytes(com.google.protobuf.ByteString value) { * A short code. * * Reference(s): - * - https://en.wikipedia.org/wiki/Short_code + * - https://wikipedia.org/wiki/Short_code * * * .google.type.PhoneNumber.ShortCode short_code = 2; @@ -1951,7 +1998,7 @@ public boolean hasShortCode() { * A short code. * * Reference(s): - * - https://en.wikipedia.org/wiki/Short_code + * - https://wikipedia.org/wiki/Short_code * * * .google.type.PhoneNumber.ShortCode short_code = 2; @@ -1980,7 +2027,7 @@ public com.google.type.PhoneNumber.ShortCode getShortCode() { * A short code. * * Reference(s): - * - https://en.wikipedia.org/wiki/Short_code + * - https://wikipedia.org/wiki/Short_code * * * .google.type.PhoneNumber.ShortCode short_code = 2; @@ -2006,7 +2053,7 @@ public Builder setShortCode(com.google.type.PhoneNumber.ShortCode value) { * A short code. * * Reference(s): - * - https://en.wikipedia.org/wiki/Short_code + * - https://wikipedia.org/wiki/Short_code * * * .google.type.PhoneNumber.ShortCode short_code = 2; @@ -2029,7 +2076,7 @@ public Builder setShortCode(com.google.type.PhoneNumber.ShortCode.Builder builde * A short code. * * Reference(s): - * - https://en.wikipedia.org/wiki/Short_code + * - https://wikipedia.org/wiki/Short_code * * * .google.type.PhoneNumber.ShortCode short_code = 2; @@ -2064,7 +2111,7 @@ public Builder mergeShortCode(com.google.type.PhoneNumber.ShortCode value) { * A short code. * * Reference(s): - * - https://en.wikipedia.org/wiki/Short_code + * - https://wikipedia.org/wiki/Short_code * * * .google.type.PhoneNumber.ShortCode short_code = 2; @@ -2093,7 +2140,7 @@ public Builder clearShortCode() { * A short code. * * Reference(s): - * - https://en.wikipedia.org/wiki/Short_code + * - https://wikipedia.org/wiki/Short_code * * * .google.type.PhoneNumber.ShortCode short_code = 2; @@ -2109,7 +2156,7 @@ public com.google.type.PhoneNumber.ShortCode.Builder getShortCodeBuilder() { * A short code. * * Reference(s): - * - https://en.wikipedia.org/wiki/Short_code + * - https://wikipedia.org/wiki/Short_code * * * .google.type.PhoneNumber.ShortCode short_code = 2; @@ -2133,7 +2180,7 @@ public com.google.type.PhoneNumber.ShortCodeOrBuilder getShortCodeOrBuilder() { * A short code. * * Reference(s): - * - https://en.wikipedia.org/wiki/Short_code + * - https://wikipedia.org/wiki/Short_code * * * .google.type.PhoneNumber.ShortCode short_code = 2; diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/PhoneNumberOrBuilder.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/PhoneNumberOrBuilder.java index 8f90afe7cf..287214a12f 100644 --- a/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/PhoneNumberOrBuilder.java +++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/PhoneNumberOrBuilder.java @@ -33,17 +33,22 @@ public interface PhoneNumberOrBuilder * The phone number, represented as a leading plus sign ('+'), followed by a * phone number that uses a relaxed ITU E.164 format consisting of the * country calling code (1 to 3 digits) and the subscriber number, with no - * additional spaces or formatting, e.g.: + * additional spaces or formatting. For example: + * * - correct: "+15552220123" - * - incorrect: "+1 (555) 222-01234 x123". + * + * - incorrect: "+1 (555) 222-01234 x123" * * The ITU E.164 format limits the latter to 12 digits, but in practice not * all countries respect that, so we relax that restriction here. * National-only numbers are not allowed. * * References: + * * - https://www.itu.int/rec/T-REC-E.164-201011-I + * * - https://en.wikipedia.org/wiki/E.164. + * * - https://en.wikipedia.org/wiki/List_of_country_calling_codes * * @@ -60,17 +65,22 @@ public interface PhoneNumberOrBuilder * The phone number, represented as a leading plus sign ('+'), followed by a * phone number that uses a relaxed ITU E.164 format consisting of the * country calling code (1 to 3 digits) and the subscriber number, with no - * additional spaces or formatting, e.g.: + * additional spaces or formatting. For example: + * * - correct: "+15552220123" - * - incorrect: "+1 (555) 222-01234 x123". + * + * - incorrect: "+1 (555) 222-01234 x123" * * The ITU E.164 format limits the latter to 12 digits, but in practice not * all countries respect that, so we relax that restriction here. * National-only numbers are not allowed. * * References: + * * - https://www.itu.int/rec/T-REC-E.164-201011-I + * * - https://en.wikipedia.org/wiki/E.164. + * * - https://en.wikipedia.org/wiki/List_of_country_calling_codes * * @@ -87,17 +97,22 @@ public interface PhoneNumberOrBuilder * The phone number, represented as a leading plus sign ('+'), followed by a * phone number that uses a relaxed ITU E.164 format consisting of the * country calling code (1 to 3 digits) and the subscriber number, with no - * additional spaces or formatting, e.g.: + * additional spaces or formatting. For example: + * * - correct: "+15552220123" - * - incorrect: "+1 (555) 222-01234 x123". + * + * - incorrect: "+1 (555) 222-01234 x123" * * The ITU E.164 format limits the latter to 12 digits, but in practice not * all countries respect that, so we relax that restriction here. * National-only numbers are not allowed. * * References: + * * - https://www.itu.int/rec/T-REC-E.164-201011-I + * * - https://en.wikipedia.org/wiki/E.164. + * * - https://en.wikipedia.org/wiki/List_of_country_calling_codes * * @@ -114,7 +129,7 @@ public interface PhoneNumberOrBuilder * A short code. * * Reference(s): - * - https://en.wikipedia.org/wiki/Short_code + * - https://wikipedia.org/wiki/Short_code * * * .google.type.PhoneNumber.ShortCode short_code = 2; @@ -130,7 +145,7 @@ public interface PhoneNumberOrBuilder * A short code. * * Reference(s): - * - https://en.wikipedia.org/wiki/Short_code + * - https://wikipedia.org/wiki/Short_code * * * .google.type.PhoneNumber.ShortCode short_code = 2; @@ -146,7 +161,7 @@ public interface PhoneNumberOrBuilder * A short code. * * Reference(s): - * - https://en.wikipedia.org/wiki/Short_code + * - https://wikipedia.org/wiki/Short_code * * * .google.type.PhoneNumber.ShortCode short_code = 2; diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/PhoneNumberProto.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/PhoneNumberProto.java index f1ef562dc0..2b9b41eccb 100644 --- a/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/PhoneNumberProto.java +++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/PhoneNumberProto.java @@ -62,10 +62,10 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "(\tH\000\0228\n\nshort_code\030\002 \001(\0132\".google.type.P" + "honeNumber.ShortCodeH\000\022\021\n\textension\030\003 \001(" + "\t\0320\n\tShortCode\022\023\n\013region_code\030\001 \001(\t\022\016\n\006n" - + "umber\030\002 \001(\tB\006\n\004kindBt\n\017com.google.typeB\020" + + "umber\030\002 \001(\tB\006\n\004kindBq\n\017com.google.typeB\020" + "PhoneNumberProtoP\001ZDgoogle.golang.org/ge" + "nproto/googleapis/type/phone_number;phon" - + "e_number\370\001\001\242\002\003GTPb\006proto3" + + "e_number\242\002\003GTPb\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/PostalAddress.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/PostalAddress.java index 6d954aefba..f08c8b93cc 100644 --- a/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/PostalAddress.java +++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/PostalAddress.java @@ -24,23 +24,23 @@ * * *
- * Represents a postal address, e.g. for postal delivery or payments addresses.
- * Given a postal address, a postal service can deliver items to a premise, P.O.
- * Box or similar.
- * It is not intended to model geographical locations (roads, towns,
- * mountains).
+ * Represents a postal address, such as for postal delivery or payments
+ * addresses. With a postal address, a postal service can deliver items to a
+ * premise, P.O. box, or similar. A postal address is not intended to model
+ * geographical locations like roads, towns, or mountains.
  *
- * In typical usage an address would be created via user input or from importing
+ * In typical usage, an address would be created by user input or from importing
  * existing data, depending on the type of process.
  *
- * Advice on address input / editing:
- * - Use an i18n-ready address widget such as
- * https://github.com/google/libaddressinput)
+ * Advice on address input or editing:
+ *
+ * - Use an internationalization-ready address widget such as
+ * https://github.com/google/libaddressinput.
  * - Users should not be presented with UI elements for input or editing of
  * fields outside countries where that field is used.
  *
- * For more guidance on how to use this schema, please see:
- * https://support.google.com/business/answer/6397478
+ * For more guidance on how to use this schema, see:
+ * https://support.google.com/business/answer/6397478.
  * 
* * Protobuf type {@code google.type.PostalAddress} @@ -126,8 +126,8 @@ public int getRevision() { *
    * Required. CLDR region code of the country/region of the address. This
    * is never inferred and it is up to the user to ensure the value is
-   * correct. See http://cldr.unicode.org/ and
-   * http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
+   * correct. See https://cldr.unicode.org/ and
+   * https://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
    * for details. Example: "CH" for Switzerland.
    * 
* @@ -154,8 +154,8 @@ public java.lang.String getRegionCode() { *
    * Required. CLDR region code of the country/region of the address. This
    * is never inferred and it is up to the user to ensure the value is
-   * correct. See http://cldr.unicode.org/ and
-   * http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
+   * correct. See https://cldr.unicode.org/ and
+   * https://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
    * for details. Example: "CH" for Switzerland.
    * 
* @@ -262,8 +262,8 @@ public com.google.protobuf.ByteString getLanguageCodeBytes() { *
    * Optional. Postal code of the address. Not all countries use or require
    * postal codes to be present, but where they are used, they may trigger
-   * additional validation with other parts of the address (e.g. state/zip
-   * validation in the U.S.A.).
+   * additional validation with other parts of the address (for example,
+   * state or zip code validation in the United States).
    * 
* * string postal_code = 4; @@ -289,8 +289,8 @@ public java.lang.String getPostalCode() { *
    * Optional. Postal code of the address. Not all countries use or require
    * postal codes to be present, but where they are used, they may trigger
-   * additional validation with other parts of the address (e.g. state/zip
-   * validation in the U.S.A.).
+   * additional validation with other parts of the address (for example,
+   * state or zip code validation in the United States).
    * 
* * string postal_code = 4; @@ -321,9 +321,9 @@ public com.google.protobuf.ByteString getPostalCodeBytes() { *
    * Optional. Additional, country-specific, sorting code. This is not used
    * in most regions. Where it is used, the value is either a string like
-   * "CEDEX", optionally followed by a number (e.g. "CEDEX 7"), or just a number
-   * alone, representing the "sector code" (Jamaica), "delivery area indicator"
-   * (Malawi) or "post office indicator" (e.g. Côte d'Ivoire).
+   * "CEDEX", optionally followed by a number (for example, "CEDEX 7"), or just
+   * a number alone, representing the "sector code" (Jamaica), "delivery area
+   * indicator" (Malawi) or "post office indicator" (Côte d'Ivoire).
    * 
* * string sorting_code = 5; @@ -349,9 +349,9 @@ public java.lang.String getSortingCode() { *
    * Optional. Additional, country-specific, sorting code. This is not used
    * in most regions. Where it is used, the value is either a string like
-   * "CEDEX", optionally followed by a number (e.g. "CEDEX 7"), or just a number
-   * alone, representing the "sector code" (Jamaica), "delivery area indicator"
-   * (Malawi) or "post office indicator" (e.g. Côte d'Ivoire).
+   * "CEDEX", optionally followed by a number (for example, "CEDEX 7"), or just
+   * a number alone, representing the "sector code" (Jamaica), "delivery area
+   * indicator" (Malawi) or "post office indicator" (Côte d'Ivoire).
    * 
* * string sorting_code = 5; @@ -383,10 +383,10 @@ public com.google.protobuf.ByteString getSortingCodeBytes() { * Optional. Highest administrative subdivision which is used for postal * addresses of a country or region. * For example, this can be a state, a province, an oblast, or a prefecture. - * Specifically, for Spain this is the province and not the autonomous - * community (e.g. "Barcelona" and not "Catalonia"). - * Many countries don't use an administrative area in postal addresses. E.g. - * in Switzerland this should be left unpopulated. + * For Spain, this is the province and not the autonomous + * community (for example, "Barcelona" and not "Catalonia"). + * Many countries don't use an administrative area in postal addresses. For + * example, in Switzerland, this should be left unpopulated. * * * string administrative_area = 6; @@ -413,10 +413,10 @@ public java.lang.String getAdministrativeArea() { * Optional. Highest administrative subdivision which is used for postal * addresses of a country or region. * For example, this can be a state, a province, an oblast, or a prefecture. - * Specifically, for Spain this is the province and not the autonomous - * community (e.g. "Barcelona" and not "Catalonia"). - * Many countries don't use an administrative area in postal addresses. E.g. - * in Switzerland this should be left unpopulated. + * For Spain, this is the province and not the autonomous + * community (for example, "Barcelona" and not "Catalonia"). + * Many countries don't use an administrative area in postal addresses. For + * example, in Switzerland, this should be left unpopulated. * * * string administrative_area = 6; @@ -445,10 +445,10 @@ public com.google.protobuf.ByteString getAdministrativeAreaBytes() { * * *
-   * Optional. Generally refers to the city/town portion of the address.
+   * Optional. Generally refers to the city or town portion of the address.
    * Examples: US city, IT comune, UK post town.
    * In regions of the world where localities are not well defined or do not fit
-   * into this structure well, leave locality empty and use address_lines.
+   * into this structure well, leave `locality` empty and use `address_lines`.
    * 
* * string locality = 7; @@ -472,10 +472,10 @@ public java.lang.String getLocality() { * * *
-   * Optional. Generally refers to the city/town portion of the address.
+   * Optional. Generally refers to the city or town portion of the address.
    * Examples: US city, IT comune, UK post town.
    * In regions of the world where localities are not well defined or do not fit
-   * into this structure well, leave locality empty and use address_lines.
+   * into this structure well, leave `locality` empty and use `address_lines`.
    * 
* * string locality = 7; @@ -505,7 +505,7 @@ public com.google.protobuf.ByteString getLocalityBytes() { * *
    * Optional. Sublocality of the address.
-   * For example, this can be neighborhoods, boroughs, districts.
+   * For example, this can be a neighborhood, borough, or district.
    * 
* * string sublocality = 8; @@ -530,7 +530,7 @@ public java.lang.String getSublocality() { * *
    * Optional. Sublocality of the address.
-   * For example, this can be neighborhoods, boroughs, districts.
+   * For example, this can be a neighborhood, borough, or district.
    * 
* * string sublocality = 8; @@ -562,23 +562,24 @@ public com.google.protobuf.ByteString getSublocalityBytes() { *
    * Unstructured address lines describing the lower levels of an address.
    *
-   * Because values in address_lines do not have type information and may
-   * sometimes contain multiple values in a single field (e.g.
+   * Because values in `address_lines` do not have type information and may
+   * sometimes contain multiple values in a single field (for example,
    * "Austin, TX"), it is important that the line order is clear. The order of
-   * address lines should be "envelope order" for the country/region of the
-   * address. In places where this can vary (e.g. Japan), address_language is
-   * used to make it explicit (e.g. "ja" for large-to-small ordering and
-   * "ja-Latn" or "en" for small-to-large). This way, the most specific line of
-   * an address can be selected based on the language.
+   * address lines should be "envelope order" for the country or region of the
+   * address. In places where this can vary (for example, Japan),
+   * `address_language` is used to make it explicit (for example, "ja" for
+   * large-to-small ordering and "ja-Latn" or "en" for small-to-large). In this
+   * way, the most specific line of an address can be selected based on the
+   * language.
    *
    * The minimum permitted structural representation of an address consists
-   * of a region_code with all remaining information placed in the
-   * address_lines. It would be possible to format such an address very
+   * of a `region_code` with all remaining information placed in the
+   * `address_lines`. It would be possible to format such an address very
    * approximately without geocoding, but no semantic reasoning could be
    * made about any of the address components until it was at least
    * partially resolved.
    *
-   * Creating an address only containing a region_code and address_lines, and
+   * Creating an address only containing a `region_code` and `address_lines` and
    * then geocoding is the recommended way to handle completely unstructured
    * addresses (as opposed to guessing which parts of the address should be
    * localities or administrative areas).
@@ -598,23 +599,24 @@ public com.google.protobuf.ProtocolStringList getAddressLinesList() {
    * 
    * Unstructured address lines describing the lower levels of an address.
    *
-   * Because values in address_lines do not have type information and may
-   * sometimes contain multiple values in a single field (e.g.
+   * Because values in `address_lines` do not have type information and may
+   * sometimes contain multiple values in a single field (for example,
    * "Austin, TX"), it is important that the line order is clear. The order of
-   * address lines should be "envelope order" for the country/region of the
-   * address. In places where this can vary (e.g. Japan), address_language is
-   * used to make it explicit (e.g. "ja" for large-to-small ordering and
-   * "ja-Latn" or "en" for small-to-large). This way, the most specific line of
-   * an address can be selected based on the language.
+   * address lines should be "envelope order" for the country or region of the
+   * address. In places where this can vary (for example, Japan),
+   * `address_language` is used to make it explicit (for example, "ja" for
+   * large-to-small ordering and "ja-Latn" or "en" for small-to-large). In this
+   * way, the most specific line of an address can be selected based on the
+   * language.
    *
    * The minimum permitted structural representation of an address consists
-   * of a region_code with all remaining information placed in the
-   * address_lines. It would be possible to format such an address very
+   * of a `region_code` with all remaining information placed in the
+   * `address_lines`. It would be possible to format such an address very
    * approximately without geocoding, but no semantic reasoning could be
    * made about any of the address components until it was at least
    * partially resolved.
    *
-   * Creating an address only containing a region_code and address_lines, and
+   * Creating an address only containing a `region_code` and `address_lines` and
    * then geocoding is the recommended way to handle completely unstructured
    * addresses (as opposed to guessing which parts of the address should be
    * localities or administrative areas).
@@ -634,23 +636,24 @@ public int getAddressLinesCount() {
    * 
    * Unstructured address lines describing the lower levels of an address.
    *
-   * Because values in address_lines do not have type information and may
-   * sometimes contain multiple values in a single field (e.g.
+   * Because values in `address_lines` do not have type information and may
+   * sometimes contain multiple values in a single field (for example,
    * "Austin, TX"), it is important that the line order is clear. The order of
-   * address lines should be "envelope order" for the country/region of the
-   * address. In places where this can vary (e.g. Japan), address_language is
-   * used to make it explicit (e.g. "ja" for large-to-small ordering and
-   * "ja-Latn" or "en" for small-to-large). This way, the most specific line of
-   * an address can be selected based on the language.
+   * address lines should be "envelope order" for the country or region of the
+   * address. In places where this can vary (for example, Japan),
+   * `address_language` is used to make it explicit (for example, "ja" for
+   * large-to-small ordering and "ja-Latn" or "en" for small-to-large). In this
+   * way, the most specific line of an address can be selected based on the
+   * language.
    *
    * The minimum permitted structural representation of an address consists
-   * of a region_code with all remaining information placed in the
-   * address_lines. It would be possible to format such an address very
+   * of a `region_code` with all remaining information placed in the
+   * `address_lines`. It would be possible to format such an address very
    * approximately without geocoding, but no semantic reasoning could be
    * made about any of the address components until it was at least
    * partially resolved.
    *
-   * Creating an address only containing a region_code and address_lines, and
+   * Creating an address only containing a `region_code` and `address_lines` and
    * then geocoding is the recommended way to handle completely unstructured
    * addresses (as opposed to guessing which parts of the address should be
    * localities or administrative areas).
@@ -671,23 +674,24 @@ public java.lang.String getAddressLines(int index) {
    * 
    * Unstructured address lines describing the lower levels of an address.
    *
-   * Because values in address_lines do not have type information and may
-   * sometimes contain multiple values in a single field (e.g.
+   * Because values in `address_lines` do not have type information and may
+   * sometimes contain multiple values in a single field (for example,
    * "Austin, TX"), it is important that the line order is clear. The order of
-   * address lines should be "envelope order" for the country/region of the
-   * address. In places where this can vary (e.g. Japan), address_language is
-   * used to make it explicit (e.g. "ja" for large-to-small ordering and
-   * "ja-Latn" or "en" for small-to-large). This way, the most specific line of
-   * an address can be selected based on the language.
+   * address lines should be "envelope order" for the country or region of the
+   * address. In places where this can vary (for example, Japan),
+   * `address_language` is used to make it explicit (for example, "ja" for
+   * large-to-small ordering and "ja-Latn" or "en" for small-to-large). In this
+   * way, the most specific line of an address can be selected based on the
+   * language.
    *
    * The minimum permitted structural representation of an address consists
-   * of a region_code with all remaining information placed in the
-   * address_lines. It would be possible to format such an address very
+   * of a `region_code` with all remaining information placed in the
+   * `address_lines`. It would be possible to format such an address very
    * approximately without geocoding, but no semantic reasoning could be
    * made about any of the address components until it was at least
    * partially resolved.
    *
-   * Creating an address only containing a region_code and address_lines, and
+   * Creating an address only containing a `region_code` and `address_lines` and
    * then geocoding is the recommended way to handle completely unstructured
    * addresses (as opposed to guessing which parts of the address should be
    * localities or administrative areas).
@@ -1097,23 +1101,23 @@ protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.Builder
    *
    *
    * 
-   * Represents a postal address, e.g. for postal delivery or payments addresses.
-   * Given a postal address, a postal service can deliver items to a premise, P.O.
-   * Box or similar.
-   * It is not intended to model geographical locations (roads, towns,
-   * mountains).
+   * Represents a postal address, such as for postal delivery or payments
+   * addresses. With a postal address, a postal service can deliver items to a
+   * premise, P.O. box, or similar. A postal address is not intended to model
+   * geographical locations like roads, towns, or mountains.
    *
-   * In typical usage an address would be created via user input or from importing
+   * In typical usage, an address would be created by user input or from importing
    * existing data, depending on the type of process.
    *
-   * Advice on address input / editing:
-   * - Use an i18n-ready address widget such as
-   * https://github.com/google/libaddressinput)
+   * Advice on address input or editing:
+   *
+   * - Use an internationalization-ready address widget such as
+   * https://github.com/google/libaddressinput.
    * - Users should not be presented with UI elements for input or editing of
    * fields outside countries where that field is used.
    *
-   * For more guidance on how to use this schema, please see:
-   * https://support.google.com/business/answer/6397478
+   * For more guidance on how to use this schema, see:
+   * https://support.google.com/business/answer/6397478.
    * 
* * Protobuf type {@code google.type.PostalAddress} @@ -1491,8 +1495,8 @@ public Builder clearRevision() { *
      * Required. CLDR region code of the country/region of the address. This
      * is never inferred and it is up to the user to ensure the value is
-     * correct. See http://cldr.unicode.org/ and
-     * http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
+     * correct. See https://cldr.unicode.org/ and
+     * https://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
      * for details. Example: "CH" for Switzerland.
      * 
* @@ -1518,8 +1522,8 @@ public java.lang.String getRegionCode() { *
      * Required. CLDR region code of the country/region of the address. This
      * is never inferred and it is up to the user to ensure the value is
-     * correct. See http://cldr.unicode.org/ and
-     * http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
+     * correct. See https://cldr.unicode.org/ and
+     * https://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
      * for details. Example: "CH" for Switzerland.
      * 
* @@ -1545,8 +1549,8 @@ public com.google.protobuf.ByteString getRegionCodeBytes() { *
      * Required. CLDR region code of the country/region of the address. This
      * is never inferred and it is up to the user to ensure the value is
-     * correct. See http://cldr.unicode.org/ and
-     * http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
+     * correct. See https://cldr.unicode.org/ and
+     * https://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
      * for details. Example: "CH" for Switzerland.
      * 
* @@ -1571,8 +1575,8 @@ public Builder setRegionCode(java.lang.String value) { *
      * Required. CLDR region code of the country/region of the address. This
      * is never inferred and it is up to the user to ensure the value is
-     * correct. See http://cldr.unicode.org/ and
-     * http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
+     * correct. See https://cldr.unicode.org/ and
+     * https://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
      * for details. Example: "CH" for Switzerland.
      * 
* @@ -1593,8 +1597,8 @@ public Builder clearRegionCode() { *
      * Required. CLDR region code of the country/region of the address. This
      * is never inferred and it is up to the user to ensure the value is
-     * correct. See http://cldr.unicode.org/ and
-     * http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
+     * correct. See https://cldr.unicode.org/ and
+     * https://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
      * for details. Example: "CH" for Switzerland.
      * 
* @@ -1788,8 +1792,8 @@ public Builder setLanguageCodeBytes(com.google.protobuf.ByteString value) { *
      * Optional. Postal code of the address. Not all countries use or require
      * postal codes to be present, but where they are used, they may trigger
-     * additional validation with other parts of the address (e.g. state/zip
-     * validation in the U.S.A.).
+     * additional validation with other parts of the address (for example,
+     * state or zip code validation in the United States).
      * 
* * string postal_code = 4; @@ -1814,8 +1818,8 @@ public java.lang.String getPostalCode() { *
      * Optional. Postal code of the address. Not all countries use or require
      * postal codes to be present, but where they are used, they may trigger
-     * additional validation with other parts of the address (e.g. state/zip
-     * validation in the U.S.A.).
+     * additional validation with other parts of the address (for example,
+     * state or zip code validation in the United States).
      * 
* * string postal_code = 4; @@ -1840,8 +1844,8 @@ public com.google.protobuf.ByteString getPostalCodeBytes() { *
      * Optional. Postal code of the address. Not all countries use or require
      * postal codes to be present, but where they are used, they may trigger
-     * additional validation with other parts of the address (e.g. state/zip
-     * validation in the U.S.A.).
+     * additional validation with other parts of the address (for example,
+     * state or zip code validation in the United States).
      * 
* * string postal_code = 4; @@ -1865,8 +1869,8 @@ public Builder setPostalCode(java.lang.String value) { *
      * Optional. Postal code of the address. Not all countries use or require
      * postal codes to be present, but where they are used, they may trigger
-     * additional validation with other parts of the address (e.g. state/zip
-     * validation in the U.S.A.).
+     * additional validation with other parts of the address (for example,
+     * state or zip code validation in the United States).
      * 
* * string postal_code = 4; @@ -1886,8 +1890,8 @@ public Builder clearPostalCode() { *
      * Optional. Postal code of the address. Not all countries use or require
      * postal codes to be present, but where they are used, they may trigger
-     * additional validation with other parts of the address (e.g. state/zip
-     * validation in the U.S.A.).
+     * additional validation with other parts of the address (for example,
+     * state or zip code validation in the United States).
      * 
* * string postal_code = 4; @@ -1914,9 +1918,9 @@ public Builder setPostalCodeBytes(com.google.protobuf.ByteString value) { *
      * Optional. Additional, country-specific, sorting code. This is not used
      * in most regions. Where it is used, the value is either a string like
-     * "CEDEX", optionally followed by a number (e.g. "CEDEX 7"), or just a number
-     * alone, representing the "sector code" (Jamaica), "delivery area indicator"
-     * (Malawi) or "post office indicator" (e.g. Côte d'Ivoire).
+     * "CEDEX", optionally followed by a number (for example, "CEDEX 7"), or just
+     * a number alone, representing the "sector code" (Jamaica), "delivery area
+     * indicator" (Malawi) or "post office indicator" (Côte d'Ivoire).
      * 
* * string sorting_code = 5; @@ -1941,9 +1945,9 @@ public java.lang.String getSortingCode() { *
      * Optional. Additional, country-specific, sorting code. This is not used
      * in most regions. Where it is used, the value is either a string like
-     * "CEDEX", optionally followed by a number (e.g. "CEDEX 7"), or just a number
-     * alone, representing the "sector code" (Jamaica), "delivery area indicator"
-     * (Malawi) or "post office indicator" (e.g. Côte d'Ivoire).
+     * "CEDEX", optionally followed by a number (for example, "CEDEX 7"), or just
+     * a number alone, representing the "sector code" (Jamaica), "delivery area
+     * indicator" (Malawi) or "post office indicator" (Côte d'Ivoire).
      * 
* * string sorting_code = 5; @@ -1968,9 +1972,9 @@ public com.google.protobuf.ByteString getSortingCodeBytes() { *
      * Optional. Additional, country-specific, sorting code. This is not used
      * in most regions. Where it is used, the value is either a string like
-     * "CEDEX", optionally followed by a number (e.g. "CEDEX 7"), or just a number
-     * alone, representing the "sector code" (Jamaica), "delivery area indicator"
-     * (Malawi) or "post office indicator" (e.g. Côte d'Ivoire).
+     * "CEDEX", optionally followed by a number (for example, "CEDEX 7"), or just
+     * a number alone, representing the "sector code" (Jamaica), "delivery area
+     * indicator" (Malawi) or "post office indicator" (Côte d'Ivoire).
      * 
* * string sorting_code = 5; @@ -1994,9 +1998,9 @@ public Builder setSortingCode(java.lang.String value) { *
      * Optional. Additional, country-specific, sorting code. This is not used
      * in most regions. Where it is used, the value is either a string like
-     * "CEDEX", optionally followed by a number (e.g. "CEDEX 7"), or just a number
-     * alone, representing the "sector code" (Jamaica), "delivery area indicator"
-     * (Malawi) or "post office indicator" (e.g. Côte d'Ivoire).
+     * "CEDEX", optionally followed by a number (for example, "CEDEX 7"), or just
+     * a number alone, representing the "sector code" (Jamaica), "delivery area
+     * indicator" (Malawi) or "post office indicator" (Côte d'Ivoire).
      * 
* * string sorting_code = 5; @@ -2016,9 +2020,9 @@ public Builder clearSortingCode() { *
      * Optional. Additional, country-specific, sorting code. This is not used
      * in most regions. Where it is used, the value is either a string like
-     * "CEDEX", optionally followed by a number (e.g. "CEDEX 7"), or just a number
-     * alone, representing the "sector code" (Jamaica), "delivery area indicator"
-     * (Malawi) or "post office indicator" (e.g. Côte d'Ivoire).
+     * "CEDEX", optionally followed by a number (for example, "CEDEX 7"), or just
+     * a number alone, representing the "sector code" (Jamaica), "delivery area
+     * indicator" (Malawi) or "post office indicator" (Côte d'Ivoire).
      * 
* * string sorting_code = 5; @@ -2046,10 +2050,10 @@ public Builder setSortingCodeBytes(com.google.protobuf.ByteString value) { * Optional. Highest administrative subdivision which is used for postal * addresses of a country or region. * For example, this can be a state, a province, an oblast, or a prefecture. - * Specifically, for Spain this is the province and not the autonomous - * community (e.g. "Barcelona" and not "Catalonia"). - * Many countries don't use an administrative area in postal addresses. E.g. - * in Switzerland this should be left unpopulated. + * For Spain, this is the province and not the autonomous + * community (for example, "Barcelona" and not "Catalonia"). + * Many countries don't use an administrative area in postal addresses. For + * example, in Switzerland, this should be left unpopulated. *
* * string administrative_area = 6; @@ -2075,10 +2079,10 @@ public java.lang.String getAdministrativeArea() { * Optional. Highest administrative subdivision which is used for postal * addresses of a country or region. * For example, this can be a state, a province, an oblast, or a prefecture. - * Specifically, for Spain this is the province and not the autonomous - * community (e.g. "Barcelona" and not "Catalonia"). - * Many countries don't use an administrative area in postal addresses. E.g. - * in Switzerland this should be left unpopulated. + * For Spain, this is the province and not the autonomous + * community (for example, "Barcelona" and not "Catalonia"). + * Many countries don't use an administrative area in postal addresses. For + * example, in Switzerland, this should be left unpopulated. *
* * string administrative_area = 6; @@ -2104,10 +2108,10 @@ public com.google.protobuf.ByteString getAdministrativeAreaBytes() { * Optional. Highest administrative subdivision which is used for postal * addresses of a country or region. * For example, this can be a state, a province, an oblast, or a prefecture. - * Specifically, for Spain this is the province and not the autonomous - * community (e.g. "Barcelona" and not "Catalonia"). - * Many countries don't use an administrative area in postal addresses. E.g. - * in Switzerland this should be left unpopulated. + * For Spain, this is the province and not the autonomous + * community (for example, "Barcelona" and not "Catalonia"). + * Many countries don't use an administrative area in postal addresses. For + * example, in Switzerland, this should be left unpopulated. *
* * string administrative_area = 6; @@ -2132,10 +2136,10 @@ public Builder setAdministrativeArea(java.lang.String value) { * Optional. Highest administrative subdivision which is used for postal * addresses of a country or region. * For example, this can be a state, a province, an oblast, or a prefecture. - * Specifically, for Spain this is the province and not the autonomous - * community (e.g. "Barcelona" and not "Catalonia"). - * Many countries don't use an administrative area in postal addresses. E.g. - * in Switzerland this should be left unpopulated. + * For Spain, this is the province and not the autonomous + * community (for example, "Barcelona" and not "Catalonia"). + * Many countries don't use an administrative area in postal addresses. For + * example, in Switzerland, this should be left unpopulated. *
* * string administrative_area = 6; @@ -2156,10 +2160,10 @@ public Builder clearAdministrativeArea() { * Optional. Highest administrative subdivision which is used for postal * addresses of a country or region. * For example, this can be a state, a province, an oblast, or a prefecture. - * Specifically, for Spain this is the province and not the autonomous - * community (e.g. "Barcelona" and not "Catalonia"). - * Many countries don't use an administrative area in postal addresses. E.g. - * in Switzerland this should be left unpopulated. + * For Spain, this is the province and not the autonomous + * community (for example, "Barcelona" and not "Catalonia"). + * Many countries don't use an administrative area in postal addresses. For + * example, in Switzerland, this should be left unpopulated. * * * string administrative_area = 6; @@ -2184,10 +2188,10 @@ public Builder setAdministrativeAreaBytes(com.google.protobuf.ByteString value) * * *
-     * Optional. Generally refers to the city/town portion of the address.
+     * Optional. Generally refers to the city or town portion of the address.
      * Examples: US city, IT comune, UK post town.
      * In regions of the world where localities are not well defined or do not fit
-     * into this structure well, leave locality empty and use address_lines.
+     * into this structure well, leave `locality` empty and use `address_lines`.
      * 
* * string locality = 7; @@ -2210,10 +2214,10 @@ public java.lang.String getLocality() { * * *
-     * Optional. Generally refers to the city/town portion of the address.
+     * Optional. Generally refers to the city or town portion of the address.
      * Examples: US city, IT comune, UK post town.
      * In regions of the world where localities are not well defined or do not fit
-     * into this structure well, leave locality empty and use address_lines.
+     * into this structure well, leave `locality` empty and use `address_lines`.
      * 
* * string locality = 7; @@ -2236,10 +2240,10 @@ public com.google.protobuf.ByteString getLocalityBytes() { * * *
-     * Optional. Generally refers to the city/town portion of the address.
+     * Optional. Generally refers to the city or town portion of the address.
      * Examples: US city, IT comune, UK post town.
      * In regions of the world where localities are not well defined or do not fit
-     * into this structure well, leave locality empty and use address_lines.
+     * into this structure well, leave `locality` empty and use `address_lines`.
      * 
* * string locality = 7; @@ -2261,10 +2265,10 @@ public Builder setLocality(java.lang.String value) { * * *
-     * Optional. Generally refers to the city/town portion of the address.
+     * Optional. Generally refers to the city or town portion of the address.
      * Examples: US city, IT comune, UK post town.
      * In regions of the world where localities are not well defined or do not fit
-     * into this structure well, leave locality empty and use address_lines.
+     * into this structure well, leave `locality` empty and use `address_lines`.
      * 
* * string locality = 7; @@ -2282,10 +2286,10 @@ public Builder clearLocality() { * * *
-     * Optional. Generally refers to the city/town portion of the address.
+     * Optional. Generally refers to the city or town portion of the address.
      * Examples: US city, IT comune, UK post town.
      * In regions of the world where localities are not well defined or do not fit
-     * into this structure well, leave locality empty and use address_lines.
+     * into this structure well, leave `locality` empty and use `address_lines`.
      * 
* * string locality = 7; @@ -2311,7 +2315,7 @@ public Builder setLocalityBytes(com.google.protobuf.ByteString value) { * *
      * Optional. Sublocality of the address.
-     * For example, this can be neighborhoods, boroughs, districts.
+     * For example, this can be a neighborhood, borough, or district.
      * 
* * string sublocality = 8; @@ -2335,7 +2339,7 @@ public java.lang.String getSublocality() { * *
      * Optional. Sublocality of the address.
-     * For example, this can be neighborhoods, boroughs, districts.
+     * For example, this can be a neighborhood, borough, or district.
      * 
* * string sublocality = 8; @@ -2359,7 +2363,7 @@ public com.google.protobuf.ByteString getSublocalityBytes() { * *
      * Optional. Sublocality of the address.
-     * For example, this can be neighborhoods, boroughs, districts.
+     * For example, this can be a neighborhood, borough, or district.
      * 
* * string sublocality = 8; @@ -2382,7 +2386,7 @@ public Builder setSublocality(java.lang.String value) { * *
      * Optional. Sublocality of the address.
-     * For example, this can be neighborhoods, boroughs, districts.
+     * For example, this can be a neighborhood, borough, or district.
      * 
* * string sublocality = 8; @@ -2401,7 +2405,7 @@ public Builder clearSublocality() { * *
      * Optional. Sublocality of the address.
-     * For example, this can be neighborhoods, boroughs, districts.
+     * For example, this can be a neighborhood, borough, or district.
      * 
* * string sublocality = 8; @@ -2436,23 +2440,24 @@ private void ensureAddressLinesIsMutable() { *
      * Unstructured address lines describing the lower levels of an address.
      *
-     * Because values in address_lines do not have type information and may
-     * sometimes contain multiple values in a single field (e.g.
+     * Because values in `address_lines` do not have type information and may
+     * sometimes contain multiple values in a single field (for example,
      * "Austin, TX"), it is important that the line order is clear. The order of
-     * address lines should be "envelope order" for the country/region of the
-     * address. In places where this can vary (e.g. Japan), address_language is
-     * used to make it explicit (e.g. "ja" for large-to-small ordering and
-     * "ja-Latn" or "en" for small-to-large). This way, the most specific line of
-     * an address can be selected based on the language.
+     * address lines should be "envelope order" for the country or region of the
+     * address. In places where this can vary (for example, Japan),
+     * `address_language` is used to make it explicit (for example, "ja" for
+     * large-to-small ordering and "ja-Latn" or "en" for small-to-large). In this
+     * way, the most specific line of an address can be selected based on the
+     * language.
      *
      * The minimum permitted structural representation of an address consists
-     * of a region_code with all remaining information placed in the
-     * address_lines. It would be possible to format such an address very
+     * of a `region_code` with all remaining information placed in the
+     * `address_lines`. It would be possible to format such an address very
      * approximately without geocoding, but no semantic reasoning could be
      * made about any of the address components until it was at least
      * partially resolved.
      *
-     * Creating an address only containing a region_code and address_lines, and
+     * Creating an address only containing a `region_code` and `address_lines` and
      * then geocoding is the recommended way to handle completely unstructured
      * addresses (as opposed to guessing which parts of the address should be
      * localities or administrative areas).
@@ -2473,23 +2478,24 @@ public com.google.protobuf.ProtocolStringList getAddressLinesList() {
      * 
      * Unstructured address lines describing the lower levels of an address.
      *
-     * Because values in address_lines do not have type information and may
-     * sometimes contain multiple values in a single field (e.g.
+     * Because values in `address_lines` do not have type information and may
+     * sometimes contain multiple values in a single field (for example,
      * "Austin, TX"), it is important that the line order is clear. The order of
-     * address lines should be "envelope order" for the country/region of the
-     * address. In places where this can vary (e.g. Japan), address_language is
-     * used to make it explicit (e.g. "ja" for large-to-small ordering and
-     * "ja-Latn" or "en" for small-to-large). This way, the most specific line of
-     * an address can be selected based on the language.
+     * address lines should be "envelope order" for the country or region of the
+     * address. In places where this can vary (for example, Japan),
+     * `address_language` is used to make it explicit (for example, "ja" for
+     * large-to-small ordering and "ja-Latn" or "en" for small-to-large). In this
+     * way, the most specific line of an address can be selected based on the
+     * language.
      *
      * The minimum permitted structural representation of an address consists
-     * of a region_code with all remaining information placed in the
-     * address_lines. It would be possible to format such an address very
+     * of a `region_code` with all remaining information placed in the
+     * `address_lines`. It would be possible to format such an address very
      * approximately without geocoding, but no semantic reasoning could be
      * made about any of the address components until it was at least
      * partially resolved.
      *
-     * Creating an address only containing a region_code and address_lines, and
+     * Creating an address only containing a `region_code` and `address_lines` and
      * then geocoding is the recommended way to handle completely unstructured
      * addresses (as opposed to guessing which parts of the address should be
      * localities or administrative areas).
@@ -2509,23 +2515,24 @@ public int getAddressLinesCount() {
      * 
      * Unstructured address lines describing the lower levels of an address.
      *
-     * Because values in address_lines do not have type information and may
-     * sometimes contain multiple values in a single field (e.g.
+     * Because values in `address_lines` do not have type information and may
+     * sometimes contain multiple values in a single field (for example,
      * "Austin, TX"), it is important that the line order is clear. The order of
-     * address lines should be "envelope order" for the country/region of the
-     * address. In places where this can vary (e.g. Japan), address_language is
-     * used to make it explicit (e.g. "ja" for large-to-small ordering and
-     * "ja-Latn" or "en" for small-to-large). This way, the most specific line of
-     * an address can be selected based on the language.
+     * address lines should be "envelope order" for the country or region of the
+     * address. In places where this can vary (for example, Japan),
+     * `address_language` is used to make it explicit (for example, "ja" for
+     * large-to-small ordering and "ja-Latn" or "en" for small-to-large). In this
+     * way, the most specific line of an address can be selected based on the
+     * language.
      *
      * The minimum permitted structural representation of an address consists
-     * of a region_code with all remaining information placed in the
-     * address_lines. It would be possible to format such an address very
+     * of a `region_code` with all remaining information placed in the
+     * `address_lines`. It would be possible to format such an address very
      * approximately without geocoding, but no semantic reasoning could be
      * made about any of the address components until it was at least
      * partially resolved.
      *
-     * Creating an address only containing a region_code and address_lines, and
+     * Creating an address only containing a `region_code` and `address_lines` and
      * then geocoding is the recommended way to handle completely unstructured
      * addresses (as opposed to guessing which parts of the address should be
      * localities or administrative areas).
@@ -2546,23 +2553,24 @@ public java.lang.String getAddressLines(int index) {
      * 
      * Unstructured address lines describing the lower levels of an address.
      *
-     * Because values in address_lines do not have type information and may
-     * sometimes contain multiple values in a single field (e.g.
+     * Because values in `address_lines` do not have type information and may
+     * sometimes contain multiple values in a single field (for example,
      * "Austin, TX"), it is important that the line order is clear. The order of
-     * address lines should be "envelope order" for the country/region of the
-     * address. In places where this can vary (e.g. Japan), address_language is
-     * used to make it explicit (e.g. "ja" for large-to-small ordering and
-     * "ja-Latn" or "en" for small-to-large). This way, the most specific line of
-     * an address can be selected based on the language.
+     * address lines should be "envelope order" for the country or region of the
+     * address. In places where this can vary (for example, Japan),
+     * `address_language` is used to make it explicit (for example, "ja" for
+     * large-to-small ordering and "ja-Latn" or "en" for small-to-large). In this
+     * way, the most specific line of an address can be selected based on the
+     * language.
      *
      * The minimum permitted structural representation of an address consists
-     * of a region_code with all remaining information placed in the
-     * address_lines. It would be possible to format such an address very
+     * of a `region_code` with all remaining information placed in the
+     * `address_lines`. It would be possible to format such an address very
      * approximately without geocoding, but no semantic reasoning could be
      * made about any of the address components until it was at least
      * partially resolved.
      *
-     * Creating an address only containing a region_code and address_lines, and
+     * Creating an address only containing a `region_code` and `address_lines` and
      * then geocoding is the recommended way to handle completely unstructured
      * addresses (as opposed to guessing which parts of the address should be
      * localities or administrative areas).
@@ -2583,23 +2591,24 @@ public com.google.protobuf.ByteString getAddressLinesBytes(int index) {
      * 
      * Unstructured address lines describing the lower levels of an address.
      *
-     * Because values in address_lines do not have type information and may
-     * sometimes contain multiple values in a single field (e.g.
+     * Because values in `address_lines` do not have type information and may
+     * sometimes contain multiple values in a single field (for example,
      * "Austin, TX"), it is important that the line order is clear. The order of
-     * address lines should be "envelope order" for the country/region of the
-     * address. In places where this can vary (e.g. Japan), address_language is
-     * used to make it explicit (e.g. "ja" for large-to-small ordering and
-     * "ja-Latn" or "en" for small-to-large). This way, the most specific line of
-     * an address can be selected based on the language.
+     * address lines should be "envelope order" for the country or region of the
+     * address. In places where this can vary (for example, Japan),
+     * `address_language` is used to make it explicit (for example, "ja" for
+     * large-to-small ordering and "ja-Latn" or "en" for small-to-large). In this
+     * way, the most specific line of an address can be selected based on the
+     * language.
      *
      * The minimum permitted structural representation of an address consists
-     * of a region_code with all remaining information placed in the
-     * address_lines. It would be possible to format such an address very
+     * of a `region_code` with all remaining information placed in the
+     * `address_lines`. It would be possible to format such an address very
      * approximately without geocoding, but no semantic reasoning could be
      * made about any of the address components until it was at least
      * partially resolved.
      *
-     * Creating an address only containing a region_code and address_lines, and
+     * Creating an address only containing a `region_code` and `address_lines` and
      * then geocoding is the recommended way to handle completely unstructured
      * addresses (as opposed to guessing which parts of the address should be
      * localities or administrative areas).
@@ -2628,23 +2637,24 @@ public Builder setAddressLines(int index, java.lang.String value) {
      * 
      * Unstructured address lines describing the lower levels of an address.
      *
-     * Because values in address_lines do not have type information and may
-     * sometimes contain multiple values in a single field (e.g.
+     * Because values in `address_lines` do not have type information and may
+     * sometimes contain multiple values in a single field (for example,
      * "Austin, TX"), it is important that the line order is clear. The order of
-     * address lines should be "envelope order" for the country/region of the
-     * address. In places where this can vary (e.g. Japan), address_language is
-     * used to make it explicit (e.g. "ja" for large-to-small ordering and
-     * "ja-Latn" or "en" for small-to-large). This way, the most specific line of
-     * an address can be selected based on the language.
+     * address lines should be "envelope order" for the country or region of the
+     * address. In places where this can vary (for example, Japan),
+     * `address_language` is used to make it explicit (for example, "ja" for
+     * large-to-small ordering and "ja-Latn" or "en" for small-to-large). In this
+     * way, the most specific line of an address can be selected based on the
+     * language.
      *
      * The minimum permitted structural representation of an address consists
-     * of a region_code with all remaining information placed in the
-     * address_lines. It would be possible to format such an address very
+     * of a `region_code` with all remaining information placed in the
+     * `address_lines`. It would be possible to format such an address very
      * approximately without geocoding, but no semantic reasoning could be
      * made about any of the address components until it was at least
      * partially resolved.
      *
-     * Creating an address only containing a region_code and address_lines, and
+     * Creating an address only containing a `region_code` and `address_lines` and
      * then geocoding is the recommended way to handle completely unstructured
      * addresses (as opposed to guessing which parts of the address should be
      * localities or administrative areas).
@@ -2672,23 +2682,24 @@ public Builder addAddressLines(java.lang.String value) {
      * 
      * Unstructured address lines describing the lower levels of an address.
      *
-     * Because values in address_lines do not have type information and may
-     * sometimes contain multiple values in a single field (e.g.
+     * Because values in `address_lines` do not have type information and may
+     * sometimes contain multiple values in a single field (for example,
      * "Austin, TX"), it is important that the line order is clear. The order of
-     * address lines should be "envelope order" for the country/region of the
-     * address. In places where this can vary (e.g. Japan), address_language is
-     * used to make it explicit (e.g. "ja" for large-to-small ordering and
-     * "ja-Latn" or "en" for small-to-large). This way, the most specific line of
-     * an address can be selected based on the language.
+     * address lines should be "envelope order" for the country or region of the
+     * address. In places where this can vary (for example, Japan),
+     * `address_language` is used to make it explicit (for example, "ja" for
+     * large-to-small ordering and "ja-Latn" or "en" for small-to-large). In this
+     * way, the most specific line of an address can be selected based on the
+     * language.
      *
      * The minimum permitted structural representation of an address consists
-     * of a region_code with all remaining information placed in the
-     * address_lines. It would be possible to format such an address very
+     * of a `region_code` with all remaining information placed in the
+     * `address_lines`. It would be possible to format such an address very
      * approximately without geocoding, but no semantic reasoning could be
      * made about any of the address components until it was at least
      * partially resolved.
      *
-     * Creating an address only containing a region_code and address_lines, and
+     * Creating an address only containing a `region_code` and `address_lines` and
      * then geocoding is the recommended way to handle completely unstructured
      * addresses (as opposed to guessing which parts of the address should be
      * localities or administrative areas).
@@ -2713,23 +2724,24 @@ public Builder addAllAddressLines(java.lang.Iterable values) {
      * 
      * Unstructured address lines describing the lower levels of an address.
      *
-     * Because values in address_lines do not have type information and may
-     * sometimes contain multiple values in a single field (e.g.
+     * Because values in `address_lines` do not have type information and may
+     * sometimes contain multiple values in a single field (for example,
      * "Austin, TX"), it is important that the line order is clear. The order of
-     * address lines should be "envelope order" for the country/region of the
-     * address. In places where this can vary (e.g. Japan), address_language is
-     * used to make it explicit (e.g. "ja" for large-to-small ordering and
-     * "ja-Latn" or "en" for small-to-large). This way, the most specific line of
-     * an address can be selected based on the language.
+     * address lines should be "envelope order" for the country or region of the
+     * address. In places where this can vary (for example, Japan),
+     * `address_language` is used to make it explicit (for example, "ja" for
+     * large-to-small ordering and "ja-Latn" or "en" for small-to-large). In this
+     * way, the most specific line of an address can be selected based on the
+     * language.
      *
      * The minimum permitted structural representation of an address consists
-     * of a region_code with all remaining information placed in the
-     * address_lines. It would be possible to format such an address very
+     * of a `region_code` with all remaining information placed in the
+     * `address_lines`. It would be possible to format such an address very
      * approximately without geocoding, but no semantic reasoning could be
      * made about any of the address components until it was at least
      * partially resolved.
      *
-     * Creating an address only containing a region_code and address_lines, and
+     * Creating an address only containing a `region_code` and `address_lines` and
      * then geocoding is the recommended way to handle completely unstructured
      * addresses (as opposed to guessing which parts of the address should be
      * localities or administrative areas).
@@ -2753,23 +2765,24 @@ public Builder clearAddressLines() {
      * 
      * Unstructured address lines describing the lower levels of an address.
      *
-     * Because values in address_lines do not have type information and may
-     * sometimes contain multiple values in a single field (e.g.
+     * Because values in `address_lines` do not have type information and may
+     * sometimes contain multiple values in a single field (for example,
      * "Austin, TX"), it is important that the line order is clear. The order of
-     * address lines should be "envelope order" for the country/region of the
-     * address. In places where this can vary (e.g. Japan), address_language is
-     * used to make it explicit (e.g. "ja" for large-to-small ordering and
-     * "ja-Latn" or "en" for small-to-large). This way, the most specific line of
-     * an address can be selected based on the language.
+     * address lines should be "envelope order" for the country or region of the
+     * address. In places where this can vary (for example, Japan),
+     * `address_language` is used to make it explicit (for example, "ja" for
+     * large-to-small ordering and "ja-Latn" or "en" for small-to-large). In this
+     * way, the most specific line of an address can be selected based on the
+     * language.
      *
      * The minimum permitted structural representation of an address consists
-     * of a region_code with all remaining information placed in the
-     * address_lines. It would be possible to format such an address very
+     * of a `region_code` with all remaining information placed in the
+     * `address_lines`. It would be possible to format such an address very
      * approximately without geocoding, but no semantic reasoning could be
      * made about any of the address components until it was at least
      * partially resolved.
      *
-     * Creating an address only containing a region_code and address_lines, and
+     * Creating an address only containing a `region_code` and `address_lines` and
      * then geocoding is the recommended way to handle completely unstructured
      * addresses (as opposed to guessing which parts of the address should be
      * localities or administrative areas).
diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/PostalAddressOrBuilder.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/PostalAddressOrBuilder.java
index a207ac5afd..35ba454e61 100644
--- a/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/PostalAddressOrBuilder.java
+++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/PostalAddressOrBuilder.java
@@ -48,8 +48,8 @@ public interface PostalAddressOrBuilder
    * 
    * Required. CLDR region code of the country/region of the address. This
    * is never inferred and it is up to the user to ensure the value is
-   * correct. See http://cldr.unicode.org/ and
-   * http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
+   * correct. See https://cldr.unicode.org/ and
+   * https://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
    * for details. Example: "CH" for Switzerland.
    * 
* @@ -65,8 +65,8 @@ public interface PostalAddressOrBuilder *
    * Required. CLDR region code of the country/region of the address. This
    * is never inferred and it is up to the user to ensure the value is
-   * correct. See http://cldr.unicode.org/ and
-   * http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
+   * correct. See https://cldr.unicode.org/ and
+   * https://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
    * for details. Example: "CH" for Switzerland.
    * 
* @@ -130,8 +130,8 @@ public interface PostalAddressOrBuilder *
    * Optional. Postal code of the address. Not all countries use or require
    * postal codes to be present, but where they are used, they may trigger
-   * additional validation with other parts of the address (e.g. state/zip
-   * validation in the U.S.A.).
+   * additional validation with other parts of the address (for example,
+   * state or zip code validation in the United States).
    * 
* * string postal_code = 4; @@ -146,8 +146,8 @@ public interface PostalAddressOrBuilder *
    * Optional. Postal code of the address. Not all countries use or require
    * postal codes to be present, but where they are used, they may trigger
-   * additional validation with other parts of the address (e.g. state/zip
-   * validation in the U.S.A.).
+   * additional validation with other parts of the address (for example,
+   * state or zip code validation in the United States).
    * 
* * string postal_code = 4; @@ -162,9 +162,9 @@ public interface PostalAddressOrBuilder *
    * Optional. Additional, country-specific, sorting code. This is not used
    * in most regions. Where it is used, the value is either a string like
-   * "CEDEX", optionally followed by a number (e.g. "CEDEX 7"), or just a number
-   * alone, representing the "sector code" (Jamaica), "delivery area indicator"
-   * (Malawi) or "post office indicator" (e.g. Côte d'Ivoire).
+   * "CEDEX", optionally followed by a number (for example, "CEDEX 7"), or just
+   * a number alone, representing the "sector code" (Jamaica), "delivery area
+   * indicator" (Malawi) or "post office indicator" (Côte d'Ivoire).
    * 
* * string sorting_code = 5; @@ -179,9 +179,9 @@ public interface PostalAddressOrBuilder *
    * Optional. Additional, country-specific, sorting code. This is not used
    * in most regions. Where it is used, the value is either a string like
-   * "CEDEX", optionally followed by a number (e.g. "CEDEX 7"), or just a number
-   * alone, representing the "sector code" (Jamaica), "delivery area indicator"
-   * (Malawi) or "post office indicator" (e.g. Côte d'Ivoire).
+   * "CEDEX", optionally followed by a number (for example, "CEDEX 7"), or just
+   * a number alone, representing the "sector code" (Jamaica), "delivery area
+   * indicator" (Malawi) or "post office indicator" (Côte d'Ivoire).
    * 
* * string sorting_code = 5; @@ -197,10 +197,10 @@ public interface PostalAddressOrBuilder * Optional. Highest administrative subdivision which is used for postal * addresses of a country or region. * For example, this can be a state, a province, an oblast, or a prefecture. - * Specifically, for Spain this is the province and not the autonomous - * community (e.g. "Barcelona" and not "Catalonia"). - * Many countries don't use an administrative area in postal addresses. E.g. - * in Switzerland this should be left unpopulated. + * For Spain, this is the province and not the autonomous + * community (for example, "Barcelona" and not "Catalonia"). + * Many countries don't use an administrative area in postal addresses. For + * example, in Switzerland, this should be left unpopulated. *
* * string administrative_area = 6; @@ -216,10 +216,10 @@ public interface PostalAddressOrBuilder * Optional. Highest administrative subdivision which is used for postal * addresses of a country or region. * For example, this can be a state, a province, an oblast, or a prefecture. - * Specifically, for Spain this is the province and not the autonomous - * community (e.g. "Barcelona" and not "Catalonia"). - * Many countries don't use an administrative area in postal addresses. E.g. - * in Switzerland this should be left unpopulated. + * For Spain, this is the province and not the autonomous + * community (for example, "Barcelona" and not "Catalonia"). + * Many countries don't use an administrative area in postal addresses. For + * example, in Switzerland, this should be left unpopulated. *
* * string administrative_area = 6; @@ -232,10 +232,10 @@ public interface PostalAddressOrBuilder * * *
-   * Optional. Generally refers to the city/town portion of the address.
+   * Optional. Generally refers to the city or town portion of the address.
    * Examples: US city, IT comune, UK post town.
    * In regions of the world where localities are not well defined or do not fit
-   * into this structure well, leave locality empty and use address_lines.
+   * into this structure well, leave `locality` empty and use `address_lines`.
    * 
* * string locality = 7; @@ -248,10 +248,10 @@ public interface PostalAddressOrBuilder * * *
-   * Optional. Generally refers to the city/town portion of the address.
+   * Optional. Generally refers to the city or town portion of the address.
    * Examples: US city, IT comune, UK post town.
    * In regions of the world where localities are not well defined or do not fit
-   * into this structure well, leave locality empty and use address_lines.
+   * into this structure well, leave `locality` empty and use `address_lines`.
    * 
* * string locality = 7; @@ -265,7 +265,7 @@ public interface PostalAddressOrBuilder * *
    * Optional. Sublocality of the address.
-   * For example, this can be neighborhoods, boroughs, districts.
+   * For example, this can be a neighborhood, borough, or district.
    * 
* * string sublocality = 8; @@ -279,7 +279,7 @@ public interface PostalAddressOrBuilder * *
    * Optional. Sublocality of the address.
-   * For example, this can be neighborhoods, boroughs, districts.
+   * For example, this can be a neighborhood, borough, or district.
    * 
* * string sublocality = 8; @@ -294,23 +294,24 @@ public interface PostalAddressOrBuilder *
    * Unstructured address lines describing the lower levels of an address.
    *
-   * Because values in address_lines do not have type information and may
-   * sometimes contain multiple values in a single field (e.g.
+   * Because values in `address_lines` do not have type information and may
+   * sometimes contain multiple values in a single field (for example,
    * "Austin, TX"), it is important that the line order is clear. The order of
-   * address lines should be "envelope order" for the country/region of the
-   * address. In places where this can vary (e.g. Japan), address_language is
-   * used to make it explicit (e.g. "ja" for large-to-small ordering and
-   * "ja-Latn" or "en" for small-to-large). This way, the most specific line of
-   * an address can be selected based on the language.
+   * address lines should be "envelope order" for the country or region of the
+   * address. In places where this can vary (for example, Japan),
+   * `address_language` is used to make it explicit (for example, "ja" for
+   * large-to-small ordering and "ja-Latn" or "en" for small-to-large). In this
+   * way, the most specific line of an address can be selected based on the
+   * language.
    *
    * The minimum permitted structural representation of an address consists
-   * of a region_code with all remaining information placed in the
-   * address_lines. It would be possible to format such an address very
+   * of a `region_code` with all remaining information placed in the
+   * `address_lines`. It would be possible to format such an address very
    * approximately without geocoding, but no semantic reasoning could be
    * made about any of the address components until it was at least
    * partially resolved.
    *
-   * Creating an address only containing a region_code and address_lines, and
+   * Creating an address only containing a `region_code` and `address_lines` and
    * then geocoding is the recommended way to handle completely unstructured
    * addresses (as opposed to guessing which parts of the address should be
    * localities or administrative areas).
@@ -328,23 +329,24 @@ public interface PostalAddressOrBuilder
    * 
    * Unstructured address lines describing the lower levels of an address.
    *
-   * Because values in address_lines do not have type information and may
-   * sometimes contain multiple values in a single field (e.g.
+   * Because values in `address_lines` do not have type information and may
+   * sometimes contain multiple values in a single field (for example,
    * "Austin, TX"), it is important that the line order is clear. The order of
-   * address lines should be "envelope order" for the country/region of the
-   * address. In places where this can vary (e.g. Japan), address_language is
-   * used to make it explicit (e.g. "ja" for large-to-small ordering and
-   * "ja-Latn" or "en" for small-to-large). This way, the most specific line of
-   * an address can be selected based on the language.
+   * address lines should be "envelope order" for the country or region of the
+   * address. In places where this can vary (for example, Japan),
+   * `address_language` is used to make it explicit (for example, "ja" for
+   * large-to-small ordering and "ja-Latn" or "en" for small-to-large). In this
+   * way, the most specific line of an address can be selected based on the
+   * language.
    *
    * The minimum permitted structural representation of an address consists
-   * of a region_code with all remaining information placed in the
-   * address_lines. It would be possible to format such an address very
+   * of a `region_code` with all remaining information placed in the
+   * `address_lines`. It would be possible to format such an address very
    * approximately without geocoding, but no semantic reasoning could be
    * made about any of the address components until it was at least
    * partially resolved.
    *
-   * Creating an address only containing a region_code and address_lines, and
+   * Creating an address only containing a `region_code` and `address_lines` and
    * then geocoding is the recommended way to handle completely unstructured
    * addresses (as opposed to guessing which parts of the address should be
    * localities or administrative areas).
@@ -362,23 +364,24 @@ public interface PostalAddressOrBuilder
    * 
    * Unstructured address lines describing the lower levels of an address.
    *
-   * Because values in address_lines do not have type information and may
-   * sometimes contain multiple values in a single field (e.g.
+   * Because values in `address_lines` do not have type information and may
+   * sometimes contain multiple values in a single field (for example,
    * "Austin, TX"), it is important that the line order is clear. The order of
-   * address lines should be "envelope order" for the country/region of the
-   * address. In places where this can vary (e.g. Japan), address_language is
-   * used to make it explicit (e.g. "ja" for large-to-small ordering and
-   * "ja-Latn" or "en" for small-to-large). This way, the most specific line of
-   * an address can be selected based on the language.
+   * address lines should be "envelope order" for the country or region of the
+   * address. In places where this can vary (for example, Japan),
+   * `address_language` is used to make it explicit (for example, "ja" for
+   * large-to-small ordering and "ja-Latn" or "en" for small-to-large). In this
+   * way, the most specific line of an address can be selected based on the
+   * language.
    *
    * The minimum permitted structural representation of an address consists
-   * of a region_code with all remaining information placed in the
-   * address_lines. It would be possible to format such an address very
+   * of a `region_code` with all remaining information placed in the
+   * `address_lines`. It would be possible to format such an address very
    * approximately without geocoding, but no semantic reasoning could be
    * made about any of the address components until it was at least
    * partially resolved.
    *
-   * Creating an address only containing a region_code and address_lines, and
+   * Creating an address only containing a `region_code` and `address_lines` and
    * then geocoding is the recommended way to handle completely unstructured
    * addresses (as opposed to guessing which parts of the address should be
    * localities or administrative areas).
@@ -397,23 +400,24 @@ public interface PostalAddressOrBuilder
    * 
    * Unstructured address lines describing the lower levels of an address.
    *
-   * Because values in address_lines do not have type information and may
-   * sometimes contain multiple values in a single field (e.g.
+   * Because values in `address_lines` do not have type information and may
+   * sometimes contain multiple values in a single field (for example,
    * "Austin, TX"), it is important that the line order is clear. The order of
-   * address lines should be "envelope order" for the country/region of the
-   * address. In places where this can vary (e.g. Japan), address_language is
-   * used to make it explicit (e.g. "ja" for large-to-small ordering and
-   * "ja-Latn" or "en" for small-to-large). This way, the most specific line of
-   * an address can be selected based on the language.
+   * address lines should be "envelope order" for the country or region of the
+   * address. In places where this can vary (for example, Japan),
+   * `address_language` is used to make it explicit (for example, "ja" for
+   * large-to-small ordering and "ja-Latn" or "en" for small-to-large). In this
+   * way, the most specific line of an address can be selected based on the
+   * language.
    *
    * The minimum permitted structural representation of an address consists
-   * of a region_code with all remaining information placed in the
-   * address_lines. It would be possible to format such an address very
+   * of a `region_code` with all remaining information placed in the
+   * `address_lines`. It would be possible to format such an address very
    * approximately without geocoding, but no semantic reasoning could be
    * made about any of the address components until it was at least
    * partially resolved.
    *
-   * Creating an address only containing a region_code and address_lines, and
+   * Creating an address only containing a `region_code` and `address_lines` and
    * then geocoding is the recommended way to handle completely unstructured
    * addresses (as opposed to guessing which parts of the address should be
    * localities or administrative areas).
diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/PostalAddressProto.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/PostalAddressProto.java
index 3cf23944f8..cf5b2bbc82 100644
--- a/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/PostalAddressProto.java
+++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/PostalAddressProto.java
@@ -60,10 +60,10 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
           + "code\030\005 \001(\t\022\033\n\023administrative_area\030\006 \001(\t\022"
           + "\020\n\010locality\030\007 \001(\t\022\023\n\013sublocality\030\010 \001(\t\022\025"
           + "\n\raddress_lines\030\t \003(\t\022\022\n\nrecipients\030\n \003("
-          + "\t\022\024\n\014organization\030\013 \001(\tBx\n\017com.google.ty"
+          + "\t\022\024\n\014organization\030\013 \001(\tBu\n\017com.google.ty"
           + "peB\022PostalAddressProtoP\001ZFgoogle.golang."
           + "org/genproto/googleapis/type/postaladdre"
-          + "ss;postaladdress\370\001\001\242\002\003GTPb\006proto3"
+          + "ss;postaladdress\242\002\003GTPb\006proto3"
     };
     descriptor =
         com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom(
diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/Quaternion.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/Quaternion.java
index 031501d555..dc03080e3b 100644
--- a/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/Quaternion.java
+++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/Quaternion.java
@@ -24,6 +24,8 @@
  *
  *
  * 
+ * A quaternion, represented by four 64-bit floating point values.
+ *
  * A quaternion is defined as the quotient of two directed lines in a
  * three-dimensional space or equivalently as the quotient of two Euclidean
  * vectors (https://en.wikipedia.org/wiki/Quaternion).
@@ -41,7 +43,7 @@
  * where x, y, z, and w are real numbers, and i, j, and k are three imaginary
  * numbers.
  *
- * Our naming choice `(x, y, z, w)` comes from the desire to avoid confusion for
+ * The naming choice `(x, y, z, w)` comes from the desire to avoid confusion for
  * those interested in the geometric properties of the quaternion in the 3D
  * Cartesian space. Other texts often use alternative names or subscripts, such
  * as `(a, b, c, d)`, `(1, i, j, k)`, or `(0, 1, 2, 3)`, which are perhaps
@@ -396,6 +398,8 @@ protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.Builder
    *
    *
    * 
+   * A quaternion, represented by four 64-bit floating point values.
+   *
    * A quaternion is defined as the quotient of two directed lines in a
    * three-dimensional space or equivalently as the quotient of two Euclidean
    * vectors (https://en.wikipedia.org/wiki/Quaternion).
@@ -413,7 +417,7 @@ protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.Builder
    * where x, y, z, and w are real numbers, and i, j, and k are three imaginary
    * numbers.
    *
-   * Our naming choice `(x, y, z, w)` comes from the desire to avoid confusion for
+   * The naming choice `(x, y, z, w)` comes from the desire to avoid confusion for
    * those interested in the geometric properties of the quaternion in the 3D
    * Cartesian space. Other texts often use alternative names or subscripts, such
    * as `(a, b, c, d)`, `(1, i, j, k)`, or `(0, 1, 2, 3)`, which are perhaps
diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/QuaternionProto.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/QuaternionProto.java
index 704adf128e..1140ea7a40 100644
--- a/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/QuaternionProto.java
+++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/QuaternionProto.java
@@ -55,10 +55,10 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
     java.lang.String[] descriptorData = {
       "\n\034google/type/quaternion.proto\022\013google.t"
           + "ype\"8\n\nQuaternion\022\t\n\001x\030\001 \001(\001\022\t\n\001y\030\002 \001(\001\022"
-          + "\t\n\001z\030\003 \001(\001\022\t\n\001w\030\004 \001(\001Bo\n\017com.google.type"
+          + "\t\n\001z\030\003 \001(\001\022\t\n\001w\030\004 \001(\001Bl\n\017com.google.type"
           + "B\017QuaternionProtoP\001Z@google.golang.org/g"
           + "enproto/googleapis/type/quaternion;quate"
-          + "rnion\370\001\001\242\002\003GTPb\006proto3"
+          + "rnion\242\002\003GTPb\006proto3"
     };
     descriptor =
         com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom(
diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/TimeOfDay.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/TimeOfDay.java
index b9013280e0..990ae0637b 100644
--- a/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/TimeOfDay.java
+++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/TimeOfDay.java
@@ -75,8 +75,9 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
    *
    *
    * 
-   * Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
-   * to allow the value "24:00:00" for scenarios like business closing time.
+   * Hours of a day in 24 hour format. Must be greater than or equal to 0 and
+   * typically must be less than or equal to 23. An API may choose to allow the
+   * value "24:00:00" for scenarios like business closing time.
    * 
* * int32 hours = 1; @@ -95,7 +96,8 @@ public int getHours() { * * *
-   * Minutes of hour of day. Must be from 0 to 59.
+   * Minutes of an hour. Must be greater than or equal to 0 and less than or
+   * equal to 59.
    * 
* * int32 minutes = 2; @@ -114,8 +116,9 @@ public int getMinutes() { * * *
-   * Seconds of minutes of the time. Must normally be from 0 to 59. An API may
-   * allow the value 60 if it allows leap-seconds.
+   * Seconds of a minute. Must be greater than or equal to 0 and typically must
+   * be less than or equal to 59. An API may allow the value 60 if it allows
+   * leap-seconds.
    * 
* * int32 seconds = 3; @@ -134,7 +137,8 @@ public int getSeconds() { * * *
-   * Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+   * Fractions of seconds, in nanoseconds. Must be greater than or equal to 0
+   * and less than or equal to 999,999,999.
    * 
* * int32 nanos = 4; @@ -521,8 +525,9 @@ public Builder mergeFrom( * * *
-     * Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
-     * to allow the value "24:00:00" for scenarios like business closing time.
+     * Hours of a day in 24 hour format. Must be greater than or equal to 0 and
+     * typically must be less than or equal to 23. An API may choose to allow the
+     * value "24:00:00" for scenarios like business closing time.
      * 
* * int32 hours = 1; @@ -538,8 +543,9 @@ public int getHours() { * * *
-     * Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
-     * to allow the value "24:00:00" for scenarios like business closing time.
+     * Hours of a day in 24 hour format. Must be greater than or equal to 0 and
+     * typically must be less than or equal to 23. An API may choose to allow the
+     * value "24:00:00" for scenarios like business closing time.
      * 
* * int32 hours = 1; @@ -559,8 +565,9 @@ public Builder setHours(int value) { * * *
-     * Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
-     * to allow the value "24:00:00" for scenarios like business closing time.
+     * Hours of a day in 24 hour format. Must be greater than or equal to 0 and
+     * typically must be less than or equal to 23. An API may choose to allow the
+     * value "24:00:00" for scenarios like business closing time.
      * 
* * int32 hours = 1; @@ -580,7 +587,8 @@ public Builder clearHours() { * * *
-     * Minutes of hour of day. Must be from 0 to 59.
+     * Minutes of an hour. Must be greater than or equal to 0 and less than or
+     * equal to 59.
      * 
* * int32 minutes = 2; @@ -596,7 +604,8 @@ public int getMinutes() { * * *
-     * Minutes of hour of day. Must be from 0 to 59.
+     * Minutes of an hour. Must be greater than or equal to 0 and less than or
+     * equal to 59.
      * 
* * int32 minutes = 2; @@ -616,7 +625,8 @@ public Builder setMinutes(int value) { * * *
-     * Minutes of hour of day. Must be from 0 to 59.
+     * Minutes of an hour. Must be greater than or equal to 0 and less than or
+     * equal to 59.
      * 
* * int32 minutes = 2; @@ -636,8 +646,9 @@ public Builder clearMinutes() { * * *
-     * Seconds of minutes of the time. Must normally be from 0 to 59. An API may
-     * allow the value 60 if it allows leap-seconds.
+     * Seconds of a minute. Must be greater than or equal to 0 and typically must
+     * be less than or equal to 59. An API may allow the value 60 if it allows
+     * leap-seconds.
      * 
* * int32 seconds = 3; @@ -653,8 +664,9 @@ public int getSeconds() { * * *
-     * Seconds of minutes of the time. Must normally be from 0 to 59. An API may
-     * allow the value 60 if it allows leap-seconds.
+     * Seconds of a minute. Must be greater than or equal to 0 and typically must
+     * be less than or equal to 59. An API may allow the value 60 if it allows
+     * leap-seconds.
      * 
* * int32 seconds = 3; @@ -674,8 +686,9 @@ public Builder setSeconds(int value) { * * *
-     * Seconds of minutes of the time. Must normally be from 0 to 59. An API may
-     * allow the value 60 if it allows leap-seconds.
+     * Seconds of a minute. Must be greater than or equal to 0 and typically must
+     * be less than or equal to 59. An API may allow the value 60 if it allows
+     * leap-seconds.
      * 
* * int32 seconds = 3; @@ -695,7 +708,8 @@ public Builder clearSeconds() { * * *
-     * Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+     * Fractions of seconds, in nanoseconds. Must be greater than or equal to 0
+     * and less than or equal to 999,999,999.
      * 
* * int32 nanos = 4; @@ -711,7 +725,8 @@ public int getNanos() { * * *
-     * Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+     * Fractions of seconds, in nanoseconds. Must be greater than or equal to 0
+     * and less than or equal to 999,999,999.
      * 
* * int32 nanos = 4; @@ -731,7 +746,8 @@ public Builder setNanos(int value) { * * *
-     * Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+     * Fractions of seconds, in nanoseconds. Must be greater than or equal to 0
+     * and less than or equal to 999,999,999.
      * 
* * int32 nanos = 4; diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/TimeOfDayOrBuilder.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/TimeOfDayOrBuilder.java index f536a040dc..da4ac5c6de 100644 --- a/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/TimeOfDayOrBuilder.java +++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/TimeOfDayOrBuilder.java @@ -30,8 +30,9 @@ public interface TimeOfDayOrBuilder * * *
-   * Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
-   * to allow the value "24:00:00" for scenarios like business closing time.
+   * Hours of a day in 24 hour format. Must be greater than or equal to 0 and
+   * typically must be less than or equal to 23. An API may choose to allow the
+   * value "24:00:00" for scenarios like business closing time.
    * 
* * int32 hours = 1; @@ -44,7 +45,8 @@ public interface TimeOfDayOrBuilder * * *
-   * Minutes of hour of day. Must be from 0 to 59.
+   * Minutes of an hour. Must be greater than or equal to 0 and less than or
+   * equal to 59.
    * 
* * int32 minutes = 2; @@ -57,8 +59,9 @@ public interface TimeOfDayOrBuilder * * *
-   * Seconds of minutes of the time. Must normally be from 0 to 59. An API may
-   * allow the value 60 if it allows leap-seconds.
+   * Seconds of a minute. Must be greater than or equal to 0 and typically must
+   * be less than or equal to 59. An API may allow the value 60 if it allows
+   * leap-seconds.
    * 
* * int32 seconds = 3; @@ -71,7 +74,8 @@ public interface TimeOfDayOrBuilder * * *
-   * Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+   * Fractions of seconds, in nanoseconds. Must be greater than or equal to 0
+   * and less than or equal to 999,999,999.
    * 
* * int32 nanos = 4; diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/TimeOfDayProto.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/TimeOfDayProto.java index 3a5f4c5449..580855f851 100644 --- a/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/TimeOfDayProto.java +++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/TimeOfDayProto.java @@ -59,10 +59,9 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\005hours\030\001 \001(\005\022\017\n" + "\007minutes\030\002 \001(\005\022\017\n" + "\007seconds\030\003 \001(\005\022\r\n" - + "\005nanos\030\004 \001(\005Bl\n" + + "\005nanos\030\004 \001(\005Bi\n" + "\017com.google.typeB\016TimeOfDayProtoP\001Z>go" - + "ogle.golang.org/genproto/googleapis/type" - + "/timeofday;timeofday\370\001\001\242\002\003GTPb\006proto3" + + "ogle.golang.org/genproto/googleapis/type/timeofday;timeofday\242\002\003GTPb\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/TimeZone.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/TimeZone.java index 8f761f3cb5..bf84d41811 100644 --- a/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/TimeZone.java +++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/TimeZone.java @@ -78,7 +78,7 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { * * *
-   * IANA Time Zone Database time zone, e.g. "America/New_York".
+   * IANA Time Zone Database time zone. For example "America/New_York".
    * 
* * string id = 1; @@ -102,7 +102,7 @@ public java.lang.String getId() { * * *
-   * IANA Time Zone Database time zone, e.g. "America/New_York".
+   * IANA Time Zone Database time zone. For example "America/New_York".
    * 
* * string id = 1; @@ -131,7 +131,7 @@ public com.google.protobuf.ByteString getIdBytes() { * * *
-   * Optional. IANA Time Zone Database version number, e.g. "2019a".
+   * Optional. IANA Time Zone Database version number. For example "2019a".
    * 
* * string version = 2; @@ -155,7 +155,7 @@ public java.lang.String getVersion() { * * *
-   * Optional. IANA Time Zone Database version number, e.g. "2019a".
+   * Optional. IANA Time Zone Database version number. For example "2019a".
    * 
* * string version = 2; @@ -508,7 +508,7 @@ public Builder mergeFrom( * * *
-     * IANA Time Zone Database time zone, e.g. "America/New_York".
+     * IANA Time Zone Database time zone. For example "America/New_York".
      * 
* * string id = 1; @@ -531,7 +531,7 @@ public java.lang.String getId() { * * *
-     * IANA Time Zone Database time zone, e.g. "America/New_York".
+     * IANA Time Zone Database time zone. For example "America/New_York".
      * 
* * string id = 1; @@ -554,7 +554,7 @@ public com.google.protobuf.ByteString getIdBytes() { * * *
-     * IANA Time Zone Database time zone, e.g. "America/New_York".
+     * IANA Time Zone Database time zone. For example "America/New_York".
      * 
* * string id = 1; @@ -576,7 +576,7 @@ public Builder setId(java.lang.String value) { * * *
-     * IANA Time Zone Database time zone, e.g. "America/New_York".
+     * IANA Time Zone Database time zone. For example "America/New_York".
      * 
* * string id = 1; @@ -594,7 +594,7 @@ public Builder clearId() { * * *
-     * IANA Time Zone Database time zone, e.g. "America/New_York".
+     * IANA Time Zone Database time zone. For example "America/New_York".
      * 
* * string id = 1; @@ -619,7 +619,7 @@ public Builder setIdBytes(com.google.protobuf.ByteString value) { * * *
-     * Optional. IANA Time Zone Database version number, e.g. "2019a".
+     * Optional. IANA Time Zone Database version number. For example "2019a".
      * 
* * string version = 2; @@ -642,7 +642,7 @@ public java.lang.String getVersion() { * * *
-     * Optional. IANA Time Zone Database version number, e.g. "2019a".
+     * Optional. IANA Time Zone Database version number. For example "2019a".
      * 
* * string version = 2; @@ -665,7 +665,7 @@ public com.google.protobuf.ByteString getVersionBytes() { * * *
-     * Optional. IANA Time Zone Database version number, e.g. "2019a".
+     * Optional. IANA Time Zone Database version number. For example "2019a".
      * 
* * string version = 2; @@ -687,7 +687,7 @@ public Builder setVersion(java.lang.String value) { * * *
-     * Optional. IANA Time Zone Database version number, e.g. "2019a".
+     * Optional. IANA Time Zone Database version number. For example "2019a".
      * 
* * string version = 2; @@ -705,7 +705,7 @@ public Builder clearVersion() { * * *
-     * Optional. IANA Time Zone Database version number, e.g. "2019a".
+     * Optional. IANA Time Zone Database version number. For example "2019a".
      * 
* * string version = 2; diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/TimeZoneOrBuilder.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/TimeZoneOrBuilder.java index c92bba2ddf..2e5e6be41b 100644 --- a/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/TimeZoneOrBuilder.java +++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/type/TimeZoneOrBuilder.java @@ -30,7 +30,7 @@ public interface TimeZoneOrBuilder * * *
-   * IANA Time Zone Database time zone, e.g. "America/New_York".
+   * IANA Time Zone Database time zone. For example "America/New_York".
    * 
* * string id = 1; @@ -43,7 +43,7 @@ public interface TimeZoneOrBuilder * * *
-   * IANA Time Zone Database time zone, e.g. "America/New_York".
+   * IANA Time Zone Database time zone. For example "America/New_York".
    * 
* * string id = 1; @@ -56,7 +56,7 @@ public interface TimeZoneOrBuilder * * *
-   * Optional. IANA Time Zone Database version number, e.g. "2019a".
+   * Optional. IANA Time Zone Database version number. For example "2019a".
    * 
* * string version = 2; @@ -69,7 +69,7 @@ public interface TimeZoneOrBuilder * * *
-   * Optional. IANA Time Zone Database version number, e.g. "2019a".
+   * Optional. IANA Time Zone Database version number. For example "2019a".
    * 
* * string version = 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..332e0d086d 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; } @@ -126,6 +126,8 @@ message CommonLanguageSettings { repeated ClientLibraryDestination destinations = 2; // Configuration for which RPCs should be generated in the GAPIC client. + // + // Note: This field should not be used in most cases. SelectiveGapicGeneration selective_gapic_generation = 3; } @@ -227,9 +229,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 +244,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 +265,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 +370,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 +410,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 +422,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 +438,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. @@ -471,6 +503,8 @@ enum ClientLibraryDestination { // This message is used to configure the generation of a subset of the RPCs in // a service for client libraries. +// +// Note: This feature should not be used in most cases. message SelectiveGapicGeneration { // An allowlist of the fully qualified names of RPCs that should be included // on public client surfaces. @@ -484,3 +518,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-common-protos/proto-google-common-protos/src/main/proto/google/rpc/code.proto b/java-common-protos/proto-google-common-protos/src/main/proto/google/rpc/code.proto index aa6ce15378..46b5d75a78 100644 --- a/java-common-protos/proto-google-common-protos/src/main/proto/google/rpc/code.proto +++ b/java-common-protos/proto-google-common-protos/src/main/proto/google/rpc/code.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/rpc/context/attribute_context.proto b/java-common-protos/proto-google-common-protos/src/main/proto/google/rpc/context/attribute_context.proto index 5727660091..55f95f844e 100644 --- a/java-common-protos/proto-google-common-protos/src/main/proto/google/rpc/context/attribute_context.proto +++ b/java-common-protos/proto-google-common-protos/src/main/proto/google/rpc/context/attribute_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. @@ -21,7 +21,6 @@ import "google/protobuf/duration.proto"; import "google/protobuf/struct.proto"; import "google/protobuf/timestamp.proto"; -option cc_enable_arenas = true; option go_package = "google.golang.org/genproto/googleapis/rpc/context/attribute_context;attribute_context"; option java_multiple_files = true; option java_outer_classname = "AttributeContextProto"; @@ -203,6 +202,12 @@ message AttributeContext { // The request authentication. May be absent for unauthenticated requests. // Derived from the HTTP request `Authorization` header or equivalent. Auth auth = 13; + + // The values from Origin header from the HTTP request, such as + // "https://console.cloud.google.com". Modern browsers can only have one + // origin. Special browsers and/or HTTP clients may require multiple + // origins. + string origin = 14; } // This message defines attributes for a typical network response. It diff --git a/java-common-protos/proto-google-common-protos/src/main/proto/google/rpc/context/audit_context.proto b/java-common-protos/proto-google-common-protos/src/main/proto/google/rpc/context/audit_context.proto index fddfab22a2..03c5ab9a50 100644 --- a/java-common-protos/proto-google-common-protos/src/main/proto/google/rpc/context/audit_context.proto +++ b/java-common-protos/proto-google-common-protos/src/main/proto/google/rpc/context/audit_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/rpc/error_details.proto b/java-common-protos/proto-google-common-protos/src/main/proto/google/rpc/error_details.proto index 4f9ecff035..43b7d04d2b 100644 --- a/java-common-protos/proto-google-common-protos/src/main/proto/google/rpc/error_details.proto +++ b/java-common-protos/proto-google-common-protos/src/main/proto/google/rpc/error_details.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. @@ -261,17 +261,17 @@ message BadRequest { // In this example, in proto `field` could take one of the following values: // // * `full_name` for a violation in the `full_name` value - // * `email_addresses[1].email` for a violation in the `email` field of the + // * `email_addresses[0].email` for a violation in the `email` field of the // first `email_addresses` message - // * `email_addresses[3].type[2]` for a violation in the second `type` + // * `email_addresses[2].type[1]` for a violation in the second `type` // value in the third `email_addresses` message. // // In JSON, the same values are represented as: // // * `fullName` for a violation in the `fullName` value - // * `emailAddresses[1].email` for a violation in the `email` field of the + // * `emailAddresses[0].email` for a violation in the `email` field of the // first `emailAddresses` message - // * `emailAddresses[3].type[2]` for a violation in the second `type` + // * `emailAddresses[2].type[1]` for a violation in the second `type` // value in the third `emailAddresses` message. string field = 1; diff --git a/java-common-protos/proto-google-common-protos/src/main/proto/google/rpc/status.proto b/java-common-protos/proto-google-common-protos/src/main/proto/google/rpc/status.proto index dc14c9438c..97f50b9d89 100644 --- a/java-common-protos/proto-google-common-protos/src/main/proto/google/rpc/status.proto +++ b/java-common-protos/proto-google-common-protos/src/main/proto/google/rpc/status.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. @@ -18,7 +18,6 @@ package google.rpc; import "google/protobuf/any.proto"; -option cc_enable_arenas = true; option go_package = "google.golang.org/genproto/googleapis/rpc/status;status"; option java_multiple_files = true; option java_outer_classname = "StatusProto"; diff --git a/java-common-protos/proto-google-common-protos/src/main/proto/google/type/calendar_period.proto b/java-common-protos/proto-google-common-protos/src/main/proto/google/type/calendar_period.proto index 57d360add3..ae08aebd67 100644 --- a/java-common-protos/proto-google-common-protos/src/main/proto/google/type/calendar_period.proto +++ b/java-common-protos/proto-google-common-protos/src/main/proto/google/type/calendar_period.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/type/color.proto b/java-common-protos/proto-google-common-protos/src/main/proto/google/type/color.proto index 26508db9fc..c48d0644a7 100644 --- a/java-common-protos/proto-google-common-protos/src/main/proto/google/type/color.proto +++ b/java-common-protos/proto-google-common-protos/src/main/proto/google/type/color.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. @@ -18,7 +18,6 @@ package google.type; import "google/protobuf/wrappers.proto"; -option cc_enable_arenas = true; option go_package = "google.golang.org/genproto/googleapis/type/color;color"; option java_multiple_files = true; option java_outer_classname = "ColorProto"; @@ -26,22 +25,22 @@ option java_package = "com.google.type"; option objc_class_prefix = "GTP"; // Represents a color in the RGBA color space. This representation is designed -// for simplicity of conversion to/from color representations in various +// for simplicity of conversion to and from color representations in various // languages over compactness. For example, the fields of this representation // can be trivially provided to the constructor of `java.awt.Color` in Java; it // can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` // method in iOS; and, with just a little work, it can be easily formatted into // a CSS `rgba()` string in JavaScript. // -// This reference page doesn't carry information about the absolute color -// space -// that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, -// DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color +// This reference page doesn't have information about the absolute color +// space that should be used to interpret the RGB value—for example, sRGB, +// Adobe RGB, +// DCI-P3, and BT.2020. By default, applications should assume the sRGB color // space. // -// When color equality needs to be decided, implementations, unless -// documented otherwise, treat two colors as equal if all their red, -// green, blue, and alpha values each differ by at most 1e-5. +// When color equality needs to be decided, implementations, unless documented +// otherwise, treat two colors as equal if all their red, green, blue, and alpha +// values each differ by at most `1e-5`. // // Example (Java): // diff --git a/java-common-protos/proto-google-common-protos/src/main/proto/google/type/date.proto b/java-common-protos/proto-google-common-protos/src/main/proto/google/type/date.proto index 6f63436e5e..12be7e16a4 100644 --- a/java-common-protos/proto-google-common-protos/src/main/proto/google/type/date.proto +++ b/java-common-protos/proto-google-common-protos/src/main/proto/google/type/date.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. @@ -16,7 +16,6 @@ syntax = "proto3"; package google.type; -option cc_enable_arenas = true; option go_package = "google.golang.org/genproto/googleapis/type/date;date"; option java_multiple_files = true; option java_outer_classname = "DateProto"; @@ -28,14 +27,17 @@ option objc_class_prefix = "GTP"; // date is relative to the Gregorian Calendar. This can represent one of the // following: // -// * A full date, with non-zero year, month, and day values -// * A month and day value, with a zero year, such as an anniversary -// * A year on its own, with zero month and day values -// * A year and month value, with a zero day, such as a credit card expiration -// date +// * A full date, with non-zero year, month, and day values. +// * A month and day, with a zero year (for example, an anniversary). +// * A year on its own, with a zero month and a zero day. +// * A year and month, with a zero day (for example, a credit card expiration +// date). // -// Related types are [google.type.TimeOfDay][google.type.TimeOfDay] and -// `google.protobuf.Timestamp`. +// Related types: +// +// * [google.type.TimeOfDay][google.type.TimeOfDay] +// * [google.type.DateTime][google.type.DateTime] +// * [google.protobuf.Timestamp][google.protobuf.Timestamp] message Date { // Year of the date. Must be from 1 to 9999, or 0 to specify a date without // a year. diff --git a/java-common-protos/proto-google-common-protos/src/main/proto/google/type/datetime.proto b/java-common-protos/proto-google-common-protos/src/main/proto/google/type/datetime.proto index 9f0d62b069..b81e4f472f 100644 --- a/java-common-protos/proto-google-common-protos/src/main/proto/google/type/datetime.proto +++ b/java-common-protos/proto-google-common-protos/src/main/proto/google/type/datetime.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. @@ -18,7 +18,6 @@ package google.type; import "google/protobuf/duration.proto"; -option cc_enable_arenas = true; option go_package = "google.golang.org/genproto/googleapis/type/datetime;datetime"; option java_multiple_files = true; option java_outer_classname = "DateTimeProto"; @@ -38,8 +37,8 @@ option objc_class_prefix = "GTP"; // // The date is relative to the Proleptic Gregorian Calendar. // -// If year is 0, the DateTime is considered not to have a specific year. month -// and day must have valid, non-zero values. +// If year, month, or day are 0, the DateTime is considered not to have a +// specific year, month, or day respectively. // // This type may also be used to represent a physical time if all the date and // time fields are set and either case of the `time_offset` oneof is set. @@ -54,27 +53,28 @@ message DateTime { // datetime without a year. int32 year = 1; - // Required. Month of year. Must be from 1 to 12. + // Optional. Month of year. Must be from 1 to 12, or 0 if specifying a + // datetime without a month. int32 month = 2; - // Required. Day of month. Must be from 1 to 31 and valid for the year and - // month. + // Optional. Day of month. Must be from 1 to 31 and valid for the year and + // month, or 0 if specifying a datetime without a day. int32 day = 3; - // Required. Hours of day in 24 hour format. Should be from 0 to 23. An API - // may choose to allow the value "24:00:00" for scenarios like business - // closing time. + // Optional. Hours of day in 24 hour format. Should be from 0 to 23, defaults + // to 0 (midnight). An API may choose to allow the value "24:00:00" for + // scenarios like business closing time. int32 hours = 4; - // Required. Minutes of hour of day. Must be from 0 to 59. + // Optional. Minutes of hour of day. Must be from 0 to 59, defaults to 0. int32 minutes = 5; - // Required. Seconds of minutes of the time. Must normally be from 0 to 59. An - // API may allow the value 60 if it allows leap-seconds. + // Optional. Seconds of minutes of the time. Must normally be from 0 to 59, + // defaults to 0. An API may allow the value 60 if it allows leap-seconds. int32 seconds = 6; - // Required. Fractions of seconds in nanoseconds. Must be from 0 to - // 999,999,999. + // Optional. Fractions of seconds in nanoseconds. Must be from 0 to + // 999,999,999, defaults to 0. int32 nanos = 7; // Optional. Specifies either the UTC offset or the time zone of the DateTime. @@ -96,9 +96,9 @@ message DateTime { // Represents a time zone from the // [IANA Time Zone Database](https://www.iana.org/time-zones). message TimeZone { - // IANA Time Zone Database time zone, e.g. "America/New_York". + // IANA Time Zone Database time zone. For example "America/New_York". string id = 1; - // Optional. IANA Time Zone Database version number, e.g. "2019a". + // Optional. IANA Time Zone Database version number. For example "2019a". string version = 2; } diff --git a/java-common-protos/proto-google-common-protos/src/main/proto/google/type/dayofweek.proto b/java-common-protos/proto-google-common-protos/src/main/proto/google/type/dayofweek.proto index 5684bec35e..669d89401c 100644 --- a/java-common-protos/proto-google-common-protos/src/main/proto/google/type/dayofweek.proto +++ b/java-common-protos/proto-google-common-protos/src/main/proto/google/type/dayofweek.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/type/decimal.proto b/java-common-protos/proto-google-common-protos/src/main/proto/google/type/decimal.proto index 77a06db0e5..353e14b477 100644 --- a/java-common-protos/proto-google-common-protos/src/main/proto/google/type/decimal.proto +++ b/java-common-protos/proto-google-common-protos/src/main/proto/google/type/decimal.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. @@ -16,7 +16,6 @@ syntax = "proto3"; package google.type; -option cc_enable_arenas = true; option go_package = "google.golang.org/genproto/googleapis/type/decimal;decimal"; option java_multiple_files = true; option java_outer_classname = "DecimalProto"; @@ -24,19 +23,17 @@ option java_package = "com.google.type"; option objc_class_prefix = "GTP"; // A representation of a decimal value, such as 2.5. Clients may convert values -// into language-native decimal formats, such as Java's [BigDecimal][] or -// Python's [decimal.Decimal][]. -// -// [BigDecimal]: -// https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/math/BigDecimal.html -// [decimal.Decimal]: https://docs.python.org/3/library/decimal.html +// into language-native decimal formats, such as Java's +// [BigDecimal](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/math/BigDecimal.html) +// or Python's +// [decimal.Decimal](https://docs.python.org/3/library/decimal.html). message Decimal { // The decimal value, as a string. // // The string representation consists of an optional sign, `+` (`U+002B`) // or `-` (`U+002D`), followed by a sequence of zero or more decimal digits // ("the integer"), optionally followed by a fraction, optionally followed - // by an exponent. + // by an exponent. An empty string **should** be interpreted as `0`. // // The fraction consists of a decimal point followed by zero or more decimal // digits. The string must contain at least one digit in either the integer @@ -50,12 +47,13 @@ message Decimal { // // - Removing an explicitly-provided `+` sign (`+2.5` -> `2.5`). // - Replacing a zero-length integer value with `0` (`.5` -> `0.5`). - // - Coercing the exponent character to lower-case (`2.5E8` -> `2.5e8`). - // - Removing an explicitly-provided zero exponent (`2.5e0` -> `2.5`). + // - Coercing the exponent character to upper-case, with explicit sign + // (`2.5e8` -> `2.5E+8`). + // - Removing an explicitly-provided zero exponent (`2.5E0` -> `2.5`). // // Services **may** perform additional normalization based on its own needs // and the internal decimal implementation selected, such as shifting the - // decimal point and exponent value together (example: `2.5e-1` <-> `0.25`). + // decimal point and exponent value together (example: `2.5E-1` <-> `0.25`). // Additionally, services **may** preserve trailing zeroes in the fraction // to indicate increased precision, but are not required to do so. // @@ -67,7 +65,7 @@ message Decimal { // The ENBF grammar is: // // DecimalString = - // [Sign] Significand [Exponent]; + // '' | [Sign] Significand [Exponent]; // // Sign = '+' | '-'; // diff --git a/java-common-protos/proto-google-common-protos/src/main/proto/google/type/expr.proto b/java-common-protos/proto-google-common-protos/src/main/proto/google/type/expr.proto index 97c4f7da0f..2fca5cda31 100644 --- a/java-common-protos/proto-google-common-protos/src/main/proto/google/type/expr.proto +++ b/java-common-protos/proto-google-common-protos/src/main/proto/google/type/expr.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/type/fraction.proto b/java-common-protos/proto-google-common-protos/src/main/proto/google/type/fraction.proto index b3b0d0f380..72f90b3113 100644 --- a/java-common-protos/proto-google-common-protos/src/main/proto/google/type/fraction.proto +++ b/java-common-protos/proto-google-common-protos/src/main/proto/google/type/fraction.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/type/interval.proto b/java-common-protos/proto-google-common-protos/src/main/proto/google/type/interval.proto index d9b2427145..8e001282ca 100644 --- a/java-common-protos/proto-google-common-protos/src/main/proto/google/type/interval.proto +++ b/java-common-protos/proto-google-common-protos/src/main/proto/google/type/interval.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. @@ -18,7 +18,6 @@ package google.type; import "google/protobuf/timestamp.proto"; -option cc_enable_arenas = true; option go_package = "google.golang.org/genproto/googleapis/type/interval;interval"; option java_multiple_files = true; option java_outer_classname = "IntervalProto"; diff --git a/java-common-protos/proto-google-common-protos/src/main/proto/google/type/latlng.proto b/java-common-protos/proto-google-common-protos/src/main/proto/google/type/latlng.proto index 6714f65bd5..2866058ccf 100644 --- a/java-common-protos/proto-google-common-protos/src/main/proto/google/type/latlng.proto +++ b/java-common-protos/proto-google-common-protos/src/main/proto/google/type/latlng.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. @@ -16,7 +16,6 @@ syntax = "proto3"; package google.type; -option cc_enable_arenas = true; option go_package = "google.golang.org/genproto/googleapis/type/latlng;latlng"; option java_multiple_files = true; option java_outer_classname = "LatLngProto"; @@ -25,9 +24,9 @@ option objc_class_prefix = "GTP"; // An object that represents a latitude/longitude pair. This is expressed as a // pair of doubles to represent degrees latitude and degrees longitude. Unless -// specified otherwise, this must conform to the -// WGS84 -// standard. Values must be within normalized ranges. +// specified otherwise, this object must conform to the +// +// WGS84 standard. Values must be within normalized ranges. message LatLng { // The latitude in degrees. It must be in the range [-90.0, +90.0]. double latitude = 1; diff --git a/java-common-protos/proto-google-common-protos/src/main/proto/google/type/localized_text.proto b/java-common-protos/proto-google-common-protos/src/main/proto/google/type/localized_text.proto index 3971e81116..d3f2c2c183 100644 --- a/java-common-protos/proto-google-common-protos/src/main/proto/google/type/localized_text.proto +++ b/java-common-protos/proto-google-common-protos/src/main/proto/google/type/localized_text.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. @@ -16,7 +16,6 @@ syntax = "proto3"; package google.type; -option cc_enable_arenas = true; option go_package = "google.golang.org/genproto/googleapis/type/localized_text;localized_text"; option java_multiple_files = true; option java_outer_classname = "LocalizedTextProto"; @@ -25,7 +24,8 @@ option objc_class_prefix = "GTP"; // Localized variant of a text in a particular language. message LocalizedText { - // Localized string in the language corresponding to `language_code' below. + // Localized string in the language corresponding to + // [language_code][google.type.LocalizedText.language_code] below. string text = 1; // The text's BCP-47 language code, such as "en-US" or "sr-Latn". diff --git a/java-common-protos/proto-google-common-protos/src/main/proto/google/type/money.proto b/java-common-protos/proto-google-common-protos/src/main/proto/google/type/money.proto index f67aa51f0e..ed0d790a33 100644 --- a/java-common-protos/proto-google-common-protos/src/main/proto/google/type/money.proto +++ b/java-common-protos/proto-google-common-protos/src/main/proto/google/type/money.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. @@ -16,7 +16,6 @@ syntax = "proto3"; package google.type; -option cc_enable_arenas = true; option go_package = "google.golang.org/genproto/googleapis/type/money;money"; option java_multiple_files = true; option java_outer_classname = "MoneyProto"; diff --git a/java-common-protos/proto-google-common-protos/src/main/proto/google/type/month.proto b/java-common-protos/proto-google-common-protos/src/main/proto/google/type/month.proto index 169282ae98..f8a66305f9 100644 --- a/java-common-protos/proto-google-common-protos/src/main/proto/google/type/month.proto +++ b/java-common-protos/proto-google-common-protos/src/main/proto/google/type/month.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/type/phone_number.proto b/java-common-protos/proto-google-common-protos/src/main/proto/google/type/phone_number.proto index 23dbc6bdf1..7c55be0768 100644 --- a/java-common-protos/proto-google-common-protos/src/main/proto/google/type/phone_number.proto +++ b/java-common-protos/proto-google-common-protos/src/main/proto/google/type/phone_number.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. @@ -16,7 +16,6 @@ syntax = "proto3"; package google.type; -option cc_enable_arenas = true; option go_package = "google.golang.org/genproto/googleapis/type/phone_number;phone_number"; option java_multiple_files = true; option java_outer_classname = "PhoneNumberProto"; @@ -39,13 +38,13 @@ option objc_class_prefix = "GTP"; // // For instance, in Java this would be: // -// com.google.type.PhoneNumber wireProto = -// com.google.type.PhoneNumber.newBuilder().build(); -// com.google.i18n.phonenumbers.Phonenumber.PhoneNumber phoneNumber = -// PhoneNumberUtil.getInstance().parse(wireProto.getE164Number(), "ZZ"); -// if (!wireProto.getExtension().isEmpty()) { -// phoneNumber.setExtension(wireProto.getExtension()); -// } +// com.google.type.PhoneNumber wireProto = +// com.google.type.PhoneNumber.newBuilder().build(); +// com.google.i18n.phonenumbers.Phonenumber.PhoneNumber phoneNumber = +// PhoneNumberUtil.getInstance().parse(wireProto.getE164Number(), "ZZ"); +// if (!wireProto.getExtension().isEmpty()) { +// phoneNumber.setExtension(wireProto.getExtension()); +// } // // Reference(s): // - https://github.com/google/libphonenumber @@ -53,12 +52,13 @@ message PhoneNumber { // An object representing a short code, which is a phone number that is // typically much shorter than regular phone numbers and can be used to // address messages in MMS and SMS systems, as well as for abbreviated dialing - // (e.g. "Text 611 to see how many minutes you have remaining on your plan."). + // (For example "Text 611 to see how many minutes you have remaining on your + // plan."). // // Short codes are restricted to a region and are not internationally // dialable, which means the same short code can exist in different regions, // with different usage and pricing, even if those regions share the same - // country calling code (e.g. US and CA). + // country calling code (For example: US and CA). message ShortCode { // Required. The BCP-47 region code of the location where calls to this // short code can be made, such as "US" and "BB". @@ -68,7 +68,7 @@ message PhoneNumber { string region_code = 1; // Required. The short code digits, without a leading plus ('+') or country - // calling code, e.g. "611". + // calling code. For example "611". string number = 2; } @@ -79,24 +79,29 @@ message PhoneNumber { // The phone number, represented as a leading plus sign ('+'), followed by a // phone number that uses a relaxed ITU E.164 format consisting of the // country calling code (1 to 3 digits) and the subscriber number, with no - // additional spaces or formatting, e.g.: + // additional spaces or formatting. For example: + // // - correct: "+15552220123" - // - incorrect: "+1 (555) 222-01234 x123". + // + // - incorrect: "+1 (555) 222-01234 x123" // // The ITU E.164 format limits the latter to 12 digits, but in practice not // all countries respect that, so we relax that restriction here. // National-only numbers are not allowed. // // References: + // // - https://www.itu.int/rec/T-REC-E.164-201011-I + // // - https://en.wikipedia.org/wiki/E.164. + // // - https://en.wikipedia.org/wiki/List_of_country_calling_codes string e164_number = 1; // A short code. // // Reference(s): - // - https://en.wikipedia.org/wiki/Short_code + // - https://wikipedia.org/wiki/Short_code ShortCode short_code = 2; } diff --git a/java-common-protos/proto-google-common-protos/src/main/proto/google/type/postal_address.proto b/java-common-protos/proto-google-common-protos/src/main/proto/google/type/postal_address.proto index e58d5c3504..5705962523 100644 --- a/java-common-protos/proto-google-common-protos/src/main/proto/google/type/postal_address.proto +++ b/java-common-protos/proto-google-common-protos/src/main/proto/google/type/postal_address.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. @@ -16,30 +16,29 @@ syntax = "proto3"; package google.type; -option cc_enable_arenas = true; option go_package = "google.golang.org/genproto/googleapis/type/postaladdress;postaladdress"; option java_multiple_files = true; option java_outer_classname = "PostalAddressProto"; option java_package = "com.google.type"; option objc_class_prefix = "GTP"; -// Represents a postal address, e.g. for postal delivery or payments addresses. -// Given a postal address, a postal service can deliver items to a premise, P.O. -// Box or similar. -// It is not intended to model geographical locations (roads, towns, -// mountains). +// Represents a postal address, such as for postal delivery or payments +// addresses. With a postal address, a postal service can deliver items to a +// premise, P.O. box, or similar. A postal address is not intended to model +// geographical locations like roads, towns, or mountains. // -// In typical usage an address would be created via user input or from importing +// In typical usage, an address would be created by user input or from importing // existing data, depending on the type of process. // -// Advice on address input / editing: -// - Use an i18n-ready address widget such as -// https://github.com/google/libaddressinput) -// - Users should not be presented with UI elements for input or editing of -// fields outside countries where that field is used. +// Advice on address input or editing: // -// For more guidance on how to use this schema, please see: -// https://support.google.com/business/answer/6397478 +// - Use an internationalization-ready address widget such as +// https://github.com/google/libaddressinput. +// - Users should not be presented with UI elements for input or editing of +// fields outside countries where that field is used. +// +// For more guidance on how to use this schema, see: +// https://support.google.com/business/answer/6397478. message PostalAddress { // The schema revision of the `PostalAddress`. This must be set to 0, which is // the latest revision. @@ -49,8 +48,8 @@ message PostalAddress { // Required. CLDR region code of the country/region of the address. This // is never inferred and it is up to the user to ensure the value is - // correct. See http://cldr.unicode.org/ and - // http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html + // correct. See https://cldr.unicode.org/ and + // https://www.unicode.org/cldr/charts/30/supplemental/territory_information.html // for details. Example: "CH" for Switzerland. string region_code = 2; @@ -70,55 +69,56 @@ message PostalAddress { // Optional. Postal code of the address. Not all countries use or require // postal codes to be present, but where they are used, they may trigger - // additional validation with other parts of the address (e.g. state/zip - // validation in the U.S.A.). + // additional validation with other parts of the address (for example, + // state or zip code validation in the United States). string postal_code = 4; // Optional. Additional, country-specific, sorting code. This is not used // in most regions. Where it is used, the value is either a string like - // "CEDEX", optionally followed by a number (e.g. "CEDEX 7"), or just a number - // alone, representing the "sector code" (Jamaica), "delivery area indicator" - // (Malawi) or "post office indicator" (e.g. Côte d'Ivoire). + // "CEDEX", optionally followed by a number (for example, "CEDEX 7"), or just + // a number alone, representing the "sector code" (Jamaica), "delivery area + // indicator" (Malawi) or "post office indicator" (Côte d'Ivoire). string sorting_code = 5; // Optional. Highest administrative subdivision which is used for postal // addresses of a country or region. // For example, this can be a state, a province, an oblast, or a prefecture. - // Specifically, for Spain this is the province and not the autonomous - // community (e.g. "Barcelona" and not "Catalonia"). - // Many countries don't use an administrative area in postal addresses. E.g. - // in Switzerland this should be left unpopulated. + // For Spain, this is the province and not the autonomous + // community (for example, "Barcelona" and not "Catalonia"). + // Many countries don't use an administrative area in postal addresses. For + // example, in Switzerland, this should be left unpopulated. string administrative_area = 6; - // Optional. Generally refers to the city/town portion of the address. + // Optional. Generally refers to the city or town portion of the address. // Examples: US city, IT comune, UK post town. // In regions of the world where localities are not well defined or do not fit - // into this structure well, leave locality empty and use address_lines. + // into this structure well, leave `locality` empty and use `address_lines`. string locality = 7; // Optional. Sublocality of the address. - // For example, this can be neighborhoods, boroughs, districts. + // For example, this can be a neighborhood, borough, or district. string sublocality = 8; // Unstructured address lines describing the lower levels of an address. // - // Because values in address_lines do not have type information and may - // sometimes contain multiple values in a single field (e.g. + // Because values in `address_lines` do not have type information and may + // sometimes contain multiple values in a single field (for example, // "Austin, TX"), it is important that the line order is clear. The order of - // address lines should be "envelope order" for the country/region of the - // address. In places where this can vary (e.g. Japan), address_language is - // used to make it explicit (e.g. "ja" for large-to-small ordering and - // "ja-Latn" or "en" for small-to-large). This way, the most specific line of - // an address can be selected based on the language. + // address lines should be "envelope order" for the country or region of the + // address. In places where this can vary (for example, Japan), + // `address_language` is used to make it explicit (for example, "ja" for + // large-to-small ordering and "ja-Latn" or "en" for small-to-large). In this + // way, the most specific line of an address can be selected based on the + // language. // // The minimum permitted structural representation of an address consists - // of a region_code with all remaining information placed in the - // address_lines. It would be possible to format such an address very + // of a `region_code` with all remaining information placed in the + // `address_lines`. It would be possible to format such an address very // approximately without geocoding, but no semantic reasoning could be // made about any of the address components until it was at least // partially resolved. // - // Creating an address only containing a region_code and address_lines, and + // Creating an address only containing a `region_code` and `address_lines` and // then geocoding is the recommended way to handle completely unstructured // addresses (as opposed to guessing which parts of the address should be // localities or administrative areas). diff --git a/java-common-protos/proto-google-common-protos/src/main/proto/google/type/quaternion.proto b/java-common-protos/proto-google-common-protos/src/main/proto/google/type/quaternion.proto index 18c7b74255..d24629821f 100644 --- a/java-common-protos/proto-google-common-protos/src/main/proto/google/type/quaternion.proto +++ b/java-common-protos/proto-google-common-protos/src/main/proto/google/type/quaternion.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. @@ -16,13 +16,14 @@ syntax = "proto3"; package google.type; -option cc_enable_arenas = true; option go_package = "google.golang.org/genproto/googleapis/type/quaternion;quaternion"; option java_multiple_files = true; option java_outer_classname = "QuaternionProto"; option java_package = "com.google.type"; option objc_class_prefix = "GTP"; +// A quaternion, represented by four 64-bit floating point values. +// // A quaternion is defined as the quotient of two directed lines in a // three-dimensional space or equivalently as the quotient of two Euclidean // vectors (https://en.wikipedia.org/wiki/Quaternion). @@ -40,7 +41,7 @@ option objc_class_prefix = "GTP"; // where x, y, z, and w are real numbers, and i, j, and k are three imaginary // numbers. // -// Our naming choice `(x, y, z, w)` comes from the desire to avoid confusion for +// The naming choice `(x, y, z, w)` comes from the desire to avoid confusion for // those interested in the geometric properties of the quaternion in the 3D // Cartesian space. Other texts often use alternative names or subscripts, such // as `(a, b, c, d)`, `(1, i, j, k)`, or `(0, 1, 2, 3)`, which are perhaps @@ -78,7 +79,6 @@ option objc_class_prefix = "GTP"; // it would produce a unique representation. It is thus recommended that `w` be // kept positive, which can be achieved by changing all the signs when `w` is // negative. -// message Quaternion { // The x component. double x = 1; diff --git a/java-common-protos/proto-google-common-protos/src/main/proto/google/type/timeofday.proto b/java-common-protos/proto-google-common-protos/src/main/proto/google/type/timeofday.proto index cd6a80574b..94090bd085 100644 --- a/java-common-protos/proto-google-common-protos/src/main/proto/google/type/timeofday.proto +++ b/java-common-protos/proto-google-common-protos/src/main/proto/google/type/timeofday.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. @@ -16,7 +16,6 @@ syntax = "proto3"; package google.type; -option cc_enable_arenas = true; option go_package = "google.golang.org/genproto/googleapis/type/timeofday;timeofday"; option java_multiple_files = true; option java_outer_classname = "TimeOfDayProto"; @@ -28,17 +27,21 @@ option objc_class_prefix = "GTP"; // types are [google.type.Date][google.type.Date] and // `google.protobuf.Timestamp`. message TimeOfDay { - // Hours of day in 24 hour format. Should be from 0 to 23. An API may choose - // to allow the value "24:00:00" for scenarios like business closing time. + // Hours of a day in 24 hour format. Must be greater than or equal to 0 and + // typically must be less than or equal to 23. An API may choose to allow the + // value "24:00:00" for scenarios like business closing time. int32 hours = 1; - // Minutes of hour of day. Must be from 0 to 59. + // Minutes of an hour. Must be greater than or equal to 0 and less than or + // equal to 59. int32 minutes = 2; - // Seconds of minutes of the time. Must normally be from 0 to 59. An API may - // allow the value 60 if it allows leap-seconds. + // Seconds of a minute. Must be greater than or equal to 0 and typically must + // be less than or equal to 59. An API may allow the value 60 if it allows + // leap-seconds. int32 seconds = 3; - // Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + // Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 + // and less than or equal to 999,999,999. int32 nanos = 4; } diff --git a/java-iam/grpc-google-iam-v3beta/src/main/java/com/google/iam/v3beta/AccessPoliciesGrpc.java b/java-iam/grpc-google-iam-v3beta/src/main/java/com/google/iam/v3beta/AccessPoliciesGrpc.java new file mode 100644 index 0000000000..3b5fdfbff1 --- /dev/null +++ b/java-iam/grpc-google-iam-v3beta/src/main/java/com/google/iam/v3beta/AccessPoliciesGrpc.java @@ -0,0 +1,1067 @@ +/* + * 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. + */ +package com.google.iam.v3beta; + +import static io.grpc.MethodDescriptor.generateFullMethodName; + +/** + * + * + *
+ * Manages Identity and Access Management (IAM) access policies.
+ * 
+ */ +@io.grpc.stub.annotations.GrpcGenerated +public final class AccessPoliciesGrpc { + + private AccessPoliciesGrpc() {} + + public static final java.lang.String SERVICE_NAME = "google.iam.v3beta.AccessPolicies"; + + // Static method descriptors that strictly reflect the proto. + private static volatile io.grpc.MethodDescriptor< + com.google.iam.v3beta.CreateAccessPolicyRequest, com.google.longrunning.Operation> + getCreateAccessPolicyMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "CreateAccessPolicy", + requestType = com.google.iam.v3beta.CreateAccessPolicyRequest.class, + responseType = com.google.longrunning.Operation.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor< + com.google.iam.v3beta.CreateAccessPolicyRequest, com.google.longrunning.Operation> + getCreateAccessPolicyMethod() { + io.grpc.MethodDescriptor< + com.google.iam.v3beta.CreateAccessPolicyRequest, com.google.longrunning.Operation> + getCreateAccessPolicyMethod; + if ((getCreateAccessPolicyMethod = AccessPoliciesGrpc.getCreateAccessPolicyMethod) == null) { + synchronized (AccessPoliciesGrpc.class) { + if ((getCreateAccessPolicyMethod = AccessPoliciesGrpc.getCreateAccessPolicyMethod) + == null) { + AccessPoliciesGrpc.getCreateAccessPolicyMethod = + getCreateAccessPolicyMethod = + io.grpc.MethodDescriptor + . + newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "CreateAccessPolicy")) + .setSampledToLocalTracing(true) + .setRequestMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.iam.v3beta.CreateAccessPolicyRequest.getDefaultInstance())) + .setResponseMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.longrunning.Operation.getDefaultInstance())) + .setSchemaDescriptor( + new AccessPoliciesMethodDescriptorSupplier("CreateAccessPolicy")) + .build(); + } + } + } + return getCreateAccessPolicyMethod; + } + + private static volatile io.grpc.MethodDescriptor< + com.google.iam.v3beta.GetAccessPolicyRequest, com.google.iam.v3beta.AccessPolicy> + getGetAccessPolicyMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "GetAccessPolicy", + requestType = com.google.iam.v3beta.GetAccessPolicyRequest.class, + responseType = com.google.iam.v3beta.AccessPolicy.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor< + com.google.iam.v3beta.GetAccessPolicyRequest, com.google.iam.v3beta.AccessPolicy> + getGetAccessPolicyMethod() { + io.grpc.MethodDescriptor< + com.google.iam.v3beta.GetAccessPolicyRequest, com.google.iam.v3beta.AccessPolicy> + getGetAccessPolicyMethod; + if ((getGetAccessPolicyMethod = AccessPoliciesGrpc.getGetAccessPolicyMethod) == null) { + synchronized (AccessPoliciesGrpc.class) { + if ((getGetAccessPolicyMethod = AccessPoliciesGrpc.getGetAccessPolicyMethod) == null) { + AccessPoliciesGrpc.getGetAccessPolicyMethod = + getGetAccessPolicyMethod = + io.grpc.MethodDescriptor + . + newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "GetAccessPolicy")) + .setSampledToLocalTracing(true) + .setRequestMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.iam.v3beta.GetAccessPolicyRequest.getDefaultInstance())) + .setResponseMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.iam.v3beta.AccessPolicy.getDefaultInstance())) + .setSchemaDescriptor( + new AccessPoliciesMethodDescriptorSupplier("GetAccessPolicy")) + .build(); + } + } + } + return getGetAccessPolicyMethod; + } + + private static volatile io.grpc.MethodDescriptor< + com.google.iam.v3beta.UpdateAccessPolicyRequest, com.google.longrunning.Operation> + getUpdateAccessPolicyMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "UpdateAccessPolicy", + requestType = com.google.iam.v3beta.UpdateAccessPolicyRequest.class, + responseType = com.google.longrunning.Operation.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor< + com.google.iam.v3beta.UpdateAccessPolicyRequest, com.google.longrunning.Operation> + getUpdateAccessPolicyMethod() { + io.grpc.MethodDescriptor< + com.google.iam.v3beta.UpdateAccessPolicyRequest, com.google.longrunning.Operation> + getUpdateAccessPolicyMethod; + if ((getUpdateAccessPolicyMethod = AccessPoliciesGrpc.getUpdateAccessPolicyMethod) == null) { + synchronized (AccessPoliciesGrpc.class) { + if ((getUpdateAccessPolicyMethod = AccessPoliciesGrpc.getUpdateAccessPolicyMethod) + == null) { + AccessPoliciesGrpc.getUpdateAccessPolicyMethod = + getUpdateAccessPolicyMethod = + io.grpc.MethodDescriptor + . + newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "UpdateAccessPolicy")) + .setSampledToLocalTracing(true) + .setRequestMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.iam.v3beta.UpdateAccessPolicyRequest.getDefaultInstance())) + .setResponseMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.longrunning.Operation.getDefaultInstance())) + .setSchemaDescriptor( + new AccessPoliciesMethodDescriptorSupplier("UpdateAccessPolicy")) + .build(); + } + } + } + return getUpdateAccessPolicyMethod; + } + + private static volatile io.grpc.MethodDescriptor< + com.google.iam.v3beta.DeleteAccessPolicyRequest, com.google.longrunning.Operation> + getDeleteAccessPolicyMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "DeleteAccessPolicy", + requestType = com.google.iam.v3beta.DeleteAccessPolicyRequest.class, + responseType = com.google.longrunning.Operation.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor< + com.google.iam.v3beta.DeleteAccessPolicyRequest, com.google.longrunning.Operation> + getDeleteAccessPolicyMethod() { + io.grpc.MethodDescriptor< + com.google.iam.v3beta.DeleteAccessPolicyRequest, com.google.longrunning.Operation> + getDeleteAccessPolicyMethod; + if ((getDeleteAccessPolicyMethod = AccessPoliciesGrpc.getDeleteAccessPolicyMethod) == null) { + synchronized (AccessPoliciesGrpc.class) { + if ((getDeleteAccessPolicyMethod = AccessPoliciesGrpc.getDeleteAccessPolicyMethod) + == null) { + AccessPoliciesGrpc.getDeleteAccessPolicyMethod = + getDeleteAccessPolicyMethod = + io.grpc.MethodDescriptor + . + newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "DeleteAccessPolicy")) + .setSampledToLocalTracing(true) + .setRequestMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.iam.v3beta.DeleteAccessPolicyRequest.getDefaultInstance())) + .setResponseMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.longrunning.Operation.getDefaultInstance())) + .setSchemaDescriptor( + new AccessPoliciesMethodDescriptorSupplier("DeleteAccessPolicy")) + .build(); + } + } + } + return getDeleteAccessPolicyMethod; + } + + private static volatile io.grpc.MethodDescriptor< + com.google.iam.v3beta.ListAccessPoliciesRequest, + com.google.iam.v3beta.ListAccessPoliciesResponse> + getListAccessPoliciesMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "ListAccessPolicies", + requestType = com.google.iam.v3beta.ListAccessPoliciesRequest.class, + responseType = com.google.iam.v3beta.ListAccessPoliciesResponse.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor< + com.google.iam.v3beta.ListAccessPoliciesRequest, + com.google.iam.v3beta.ListAccessPoliciesResponse> + getListAccessPoliciesMethod() { + io.grpc.MethodDescriptor< + com.google.iam.v3beta.ListAccessPoliciesRequest, + com.google.iam.v3beta.ListAccessPoliciesResponse> + getListAccessPoliciesMethod; + if ((getListAccessPoliciesMethod = AccessPoliciesGrpc.getListAccessPoliciesMethod) == null) { + synchronized (AccessPoliciesGrpc.class) { + if ((getListAccessPoliciesMethod = AccessPoliciesGrpc.getListAccessPoliciesMethod) + == null) { + AccessPoliciesGrpc.getListAccessPoliciesMethod = + getListAccessPoliciesMethod = + io.grpc.MethodDescriptor + . + newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "ListAccessPolicies")) + .setSampledToLocalTracing(true) + .setRequestMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.iam.v3beta.ListAccessPoliciesRequest.getDefaultInstance())) + .setResponseMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.iam.v3beta.ListAccessPoliciesResponse + .getDefaultInstance())) + .setSchemaDescriptor( + new AccessPoliciesMethodDescriptorSupplier("ListAccessPolicies")) + .build(); + } + } + } + return getListAccessPoliciesMethod; + } + + private static volatile io.grpc.MethodDescriptor< + com.google.iam.v3beta.SearchAccessPolicyBindingsRequest, + com.google.iam.v3beta.SearchAccessPolicyBindingsResponse> + getSearchAccessPolicyBindingsMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "SearchAccessPolicyBindings", + requestType = com.google.iam.v3beta.SearchAccessPolicyBindingsRequest.class, + responseType = com.google.iam.v3beta.SearchAccessPolicyBindingsResponse.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor< + com.google.iam.v3beta.SearchAccessPolicyBindingsRequest, + com.google.iam.v3beta.SearchAccessPolicyBindingsResponse> + getSearchAccessPolicyBindingsMethod() { + io.grpc.MethodDescriptor< + com.google.iam.v3beta.SearchAccessPolicyBindingsRequest, + com.google.iam.v3beta.SearchAccessPolicyBindingsResponse> + getSearchAccessPolicyBindingsMethod; + if ((getSearchAccessPolicyBindingsMethod = + AccessPoliciesGrpc.getSearchAccessPolicyBindingsMethod) + == null) { + synchronized (AccessPoliciesGrpc.class) { + if ((getSearchAccessPolicyBindingsMethod = + AccessPoliciesGrpc.getSearchAccessPolicyBindingsMethod) + == null) { + AccessPoliciesGrpc.getSearchAccessPolicyBindingsMethod = + getSearchAccessPolicyBindingsMethod = + io.grpc.MethodDescriptor + . + newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName( + generateFullMethodName(SERVICE_NAME, "SearchAccessPolicyBindings")) + .setSampledToLocalTracing(true) + .setRequestMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.iam.v3beta.SearchAccessPolicyBindingsRequest + .getDefaultInstance())) + .setResponseMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.iam.v3beta.SearchAccessPolicyBindingsResponse + .getDefaultInstance())) + .setSchemaDescriptor( + new AccessPoliciesMethodDescriptorSupplier("SearchAccessPolicyBindings")) + .build(); + } + } + } + return getSearchAccessPolicyBindingsMethod; + } + + /** Creates a new async stub that supports all call types for the service */ + public static AccessPoliciesStub newStub(io.grpc.Channel channel) { + io.grpc.stub.AbstractStub.StubFactory factory = + new io.grpc.stub.AbstractStub.StubFactory() { + @java.lang.Override + public AccessPoliciesStub newStub( + io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + return new AccessPoliciesStub(channel, callOptions); + } + }; + return AccessPoliciesStub.newStub(factory, channel); + } + + /** Creates a new blocking-style stub that supports all types of calls on the service */ + public static AccessPoliciesBlockingV2Stub newBlockingV2Stub(io.grpc.Channel channel) { + io.grpc.stub.AbstractStub.StubFactory factory = + new io.grpc.stub.AbstractStub.StubFactory() { + @java.lang.Override + public AccessPoliciesBlockingV2Stub newStub( + io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + return new AccessPoliciesBlockingV2Stub(channel, callOptions); + } + }; + return AccessPoliciesBlockingV2Stub.newStub(factory, channel); + } + + /** + * Creates a new blocking-style stub that supports unary and streaming output calls on the service + */ + public static AccessPoliciesBlockingStub newBlockingStub(io.grpc.Channel channel) { + io.grpc.stub.AbstractStub.StubFactory factory = + new io.grpc.stub.AbstractStub.StubFactory() { + @java.lang.Override + public AccessPoliciesBlockingStub newStub( + io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + return new AccessPoliciesBlockingStub(channel, callOptions); + } + }; + return AccessPoliciesBlockingStub.newStub(factory, channel); + } + + /** Creates a new ListenableFuture-style stub that supports unary calls on the service */ + public static AccessPoliciesFutureStub newFutureStub(io.grpc.Channel channel) { + io.grpc.stub.AbstractStub.StubFactory factory = + new io.grpc.stub.AbstractStub.StubFactory() { + @java.lang.Override + public AccessPoliciesFutureStub newStub( + io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + return new AccessPoliciesFutureStub(channel, callOptions); + } + }; + return AccessPoliciesFutureStub.newStub(factory, channel); + } + + /** + * + * + *
+   * Manages Identity and Access Management (IAM) access policies.
+   * 
+ */ + public interface AsyncService { + + /** + * + * + *
+     * Creates an access policy, and returns a long running operation.
+     * 
+ */ + default void createAccessPolicy( + com.google.iam.v3beta.CreateAccessPolicyRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall( + getCreateAccessPolicyMethod(), responseObserver); + } + + /** + * + * + *
+     * Gets an access policy.
+     * 
+ */ + default void getAccessPolicy( + com.google.iam.v3beta.GetAccessPolicyRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall( + getGetAccessPolicyMethod(), responseObserver); + } + + /** + * + * + *
+     * Updates an access policy.
+     * 
+ */ + default void updateAccessPolicy( + com.google.iam.v3beta.UpdateAccessPolicyRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall( + getUpdateAccessPolicyMethod(), responseObserver); + } + + /** + * + * + *
+     * Deletes an access policy.
+     * 
+ */ + default void deleteAccessPolicy( + com.google.iam.v3beta.DeleteAccessPolicyRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall( + getDeleteAccessPolicyMethod(), responseObserver); + } + + /** + * + * + *
+     * Lists access policies.
+     * 
+ */ + default void listAccessPolicies( + com.google.iam.v3beta.ListAccessPoliciesRequest request, + io.grpc.stub.StreamObserver + responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall( + getListAccessPoliciesMethod(), responseObserver); + } + + /** + * + * + *
+     * Returns all policy bindings that bind a specific policy if a user has
+     * searchPolicyBindings permission on that policy.
+     * 
+ */ + default void searchAccessPolicyBindings( + com.google.iam.v3beta.SearchAccessPolicyBindingsRequest request, + io.grpc.stub.StreamObserver + responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall( + getSearchAccessPolicyBindingsMethod(), responseObserver); + } + } + + /** + * Base class for the server implementation of the service AccessPolicies. + * + *
+   * Manages Identity and Access Management (IAM) access policies.
+   * 
+ */ + public abstract static class AccessPoliciesImplBase + implements io.grpc.BindableService, AsyncService { + + @java.lang.Override + public final io.grpc.ServerServiceDefinition bindService() { + return AccessPoliciesGrpc.bindService(this); + } + } + + /** + * A stub to allow clients to do asynchronous rpc calls to service AccessPolicies. + * + *
+   * Manages Identity and Access Management (IAM) access policies.
+   * 
+ */ + public static final class AccessPoliciesStub + extends io.grpc.stub.AbstractAsyncStub { + private AccessPoliciesStub(io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + super(channel, callOptions); + } + + @java.lang.Override + protected AccessPoliciesStub build(io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + return new AccessPoliciesStub(channel, callOptions); + } + + /** + * + * + *
+     * Creates an access policy, and returns a long running operation.
+     * 
+ */ + public void createAccessPolicy( + com.google.iam.v3beta.CreateAccessPolicyRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getCreateAccessPolicyMethod(), getCallOptions()), + request, + responseObserver); + } + + /** + * + * + *
+     * Gets an access policy.
+     * 
+ */ + public void getAccessPolicy( + com.google.iam.v3beta.GetAccessPolicyRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getGetAccessPolicyMethod(), getCallOptions()), + request, + responseObserver); + } + + /** + * + * + *
+     * Updates an access policy.
+     * 
+ */ + public void updateAccessPolicy( + com.google.iam.v3beta.UpdateAccessPolicyRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getUpdateAccessPolicyMethod(), getCallOptions()), + request, + responseObserver); + } + + /** + * + * + *
+     * Deletes an access policy.
+     * 
+ */ + public void deleteAccessPolicy( + com.google.iam.v3beta.DeleteAccessPolicyRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getDeleteAccessPolicyMethod(), getCallOptions()), + request, + responseObserver); + } + + /** + * + * + *
+     * Lists access policies.
+     * 
+ */ + public void listAccessPolicies( + com.google.iam.v3beta.ListAccessPoliciesRequest request, + io.grpc.stub.StreamObserver + responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getListAccessPoliciesMethod(), getCallOptions()), + request, + responseObserver); + } + + /** + * + * + *
+     * Returns all policy bindings that bind a specific policy if a user has
+     * searchPolicyBindings permission on that policy.
+     * 
+ */ + public void searchAccessPolicyBindings( + com.google.iam.v3beta.SearchAccessPolicyBindingsRequest request, + io.grpc.stub.StreamObserver + responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getSearchAccessPolicyBindingsMethod(), getCallOptions()), + request, + responseObserver); + } + } + + /** + * A stub to allow clients to do synchronous rpc calls to service AccessPolicies. + * + *
+   * Manages Identity and Access Management (IAM) access policies.
+   * 
+ */ + public static final class AccessPoliciesBlockingV2Stub + extends io.grpc.stub.AbstractBlockingStub { + private AccessPoliciesBlockingV2Stub(io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + super(channel, callOptions); + } + + @java.lang.Override + protected AccessPoliciesBlockingV2Stub build( + io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + return new AccessPoliciesBlockingV2Stub(channel, callOptions); + } + + /** + * + * + *
+     * Creates an access policy, and returns a long running operation.
+     * 
+ */ + public com.google.longrunning.Operation createAccessPolicy( + com.google.iam.v3beta.CreateAccessPolicyRequest request) throws io.grpc.StatusException { + return io.grpc.stub.ClientCalls.blockingV2UnaryCall( + getChannel(), getCreateAccessPolicyMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Gets an access policy.
+     * 
+ */ + public com.google.iam.v3beta.AccessPolicy getAccessPolicy( + com.google.iam.v3beta.GetAccessPolicyRequest request) throws io.grpc.StatusException { + return io.grpc.stub.ClientCalls.blockingV2UnaryCall( + getChannel(), getGetAccessPolicyMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Updates an access policy.
+     * 
+ */ + public com.google.longrunning.Operation updateAccessPolicy( + com.google.iam.v3beta.UpdateAccessPolicyRequest request) throws io.grpc.StatusException { + return io.grpc.stub.ClientCalls.blockingV2UnaryCall( + getChannel(), getUpdateAccessPolicyMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Deletes an access policy.
+     * 
+ */ + public com.google.longrunning.Operation deleteAccessPolicy( + com.google.iam.v3beta.DeleteAccessPolicyRequest request) throws io.grpc.StatusException { + return io.grpc.stub.ClientCalls.blockingV2UnaryCall( + getChannel(), getDeleteAccessPolicyMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Lists access policies.
+     * 
+ */ + public com.google.iam.v3beta.ListAccessPoliciesResponse listAccessPolicies( + com.google.iam.v3beta.ListAccessPoliciesRequest request) throws io.grpc.StatusException { + return io.grpc.stub.ClientCalls.blockingV2UnaryCall( + getChannel(), getListAccessPoliciesMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Returns all policy bindings that bind a specific policy if a user has
+     * searchPolicyBindings permission on that policy.
+     * 
+ */ + public com.google.iam.v3beta.SearchAccessPolicyBindingsResponse searchAccessPolicyBindings( + com.google.iam.v3beta.SearchAccessPolicyBindingsRequest request) + throws io.grpc.StatusException { + return io.grpc.stub.ClientCalls.blockingV2UnaryCall( + getChannel(), getSearchAccessPolicyBindingsMethod(), getCallOptions(), request); + } + } + + /** + * A stub to allow clients to do limited synchronous rpc calls to service AccessPolicies. + * + *
+   * Manages Identity and Access Management (IAM) access policies.
+   * 
+ */ + public static final class AccessPoliciesBlockingStub + extends io.grpc.stub.AbstractBlockingStub { + private AccessPoliciesBlockingStub(io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + super(channel, callOptions); + } + + @java.lang.Override + protected AccessPoliciesBlockingStub build( + io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + return new AccessPoliciesBlockingStub(channel, callOptions); + } + + /** + * + * + *
+     * Creates an access policy, and returns a long running operation.
+     * 
+ */ + public com.google.longrunning.Operation createAccessPolicy( + com.google.iam.v3beta.CreateAccessPolicyRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getCreateAccessPolicyMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Gets an access policy.
+     * 
+ */ + public com.google.iam.v3beta.AccessPolicy getAccessPolicy( + com.google.iam.v3beta.GetAccessPolicyRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getGetAccessPolicyMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Updates an access policy.
+     * 
+ */ + public com.google.longrunning.Operation updateAccessPolicy( + com.google.iam.v3beta.UpdateAccessPolicyRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getUpdateAccessPolicyMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Deletes an access policy.
+     * 
+ */ + public com.google.longrunning.Operation deleteAccessPolicy( + com.google.iam.v3beta.DeleteAccessPolicyRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getDeleteAccessPolicyMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Lists access policies.
+     * 
+ */ + public com.google.iam.v3beta.ListAccessPoliciesResponse listAccessPolicies( + com.google.iam.v3beta.ListAccessPoliciesRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getListAccessPoliciesMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Returns all policy bindings that bind a specific policy if a user has
+     * searchPolicyBindings permission on that policy.
+     * 
+ */ + public com.google.iam.v3beta.SearchAccessPolicyBindingsResponse searchAccessPolicyBindings( + com.google.iam.v3beta.SearchAccessPolicyBindingsRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getSearchAccessPolicyBindingsMethod(), getCallOptions(), request); + } + } + + /** + * A stub to allow clients to do ListenableFuture-style rpc calls to service AccessPolicies. + * + *
+   * Manages Identity and Access Management (IAM) access policies.
+   * 
+ */ + public static final class AccessPoliciesFutureStub + extends io.grpc.stub.AbstractFutureStub { + private AccessPoliciesFutureStub(io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + super(channel, callOptions); + } + + @java.lang.Override + protected AccessPoliciesFutureStub build( + io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + return new AccessPoliciesFutureStub(channel, callOptions); + } + + /** + * + * + *
+     * Creates an access policy, and returns a long running operation.
+     * 
+ */ + public com.google.common.util.concurrent.ListenableFuture + createAccessPolicy(com.google.iam.v3beta.CreateAccessPolicyRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getCreateAccessPolicyMethod(), getCallOptions()), request); + } + + /** + * + * + *
+     * Gets an access policy.
+     * 
+ */ + public com.google.common.util.concurrent.ListenableFuture + getAccessPolicy(com.google.iam.v3beta.GetAccessPolicyRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getGetAccessPolicyMethod(), getCallOptions()), request); + } + + /** + * + * + *
+     * Updates an access policy.
+     * 
+ */ + public com.google.common.util.concurrent.ListenableFuture + updateAccessPolicy(com.google.iam.v3beta.UpdateAccessPolicyRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getUpdateAccessPolicyMethod(), getCallOptions()), request); + } + + /** + * + * + *
+     * Deletes an access policy.
+     * 
+ */ + public com.google.common.util.concurrent.ListenableFuture + deleteAccessPolicy(com.google.iam.v3beta.DeleteAccessPolicyRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getDeleteAccessPolicyMethod(), getCallOptions()), request); + } + + /** + * + * + *
+     * Lists access policies.
+     * 
+ */ + public com.google.common.util.concurrent.ListenableFuture< + com.google.iam.v3beta.ListAccessPoliciesResponse> + listAccessPolicies(com.google.iam.v3beta.ListAccessPoliciesRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getListAccessPoliciesMethod(), getCallOptions()), request); + } + + /** + * + * + *
+     * Returns all policy bindings that bind a specific policy if a user has
+     * searchPolicyBindings permission on that policy.
+     * 
+ */ + public com.google.common.util.concurrent.ListenableFuture< + com.google.iam.v3beta.SearchAccessPolicyBindingsResponse> + searchAccessPolicyBindings( + com.google.iam.v3beta.SearchAccessPolicyBindingsRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getSearchAccessPolicyBindingsMethod(), getCallOptions()), request); + } + } + + private static final int METHODID_CREATE_ACCESS_POLICY = 0; + private static final int METHODID_GET_ACCESS_POLICY = 1; + private static final int METHODID_UPDATE_ACCESS_POLICY = 2; + private static final int METHODID_DELETE_ACCESS_POLICY = 3; + private static final int METHODID_LIST_ACCESS_POLICIES = 4; + private static final int METHODID_SEARCH_ACCESS_POLICY_BINDINGS = 5; + + private static final class MethodHandlers + implements io.grpc.stub.ServerCalls.UnaryMethod, + io.grpc.stub.ServerCalls.ServerStreamingMethod, + io.grpc.stub.ServerCalls.ClientStreamingMethod, + io.grpc.stub.ServerCalls.BidiStreamingMethod { + private final AsyncService serviceImpl; + private final int methodId; + + MethodHandlers(AsyncService serviceImpl, int methodId) { + this.serviceImpl = serviceImpl; + this.methodId = methodId; + } + + @java.lang.Override + @java.lang.SuppressWarnings("unchecked") + public void invoke(Req request, io.grpc.stub.StreamObserver responseObserver) { + switch (methodId) { + case METHODID_CREATE_ACCESS_POLICY: + serviceImpl.createAccessPolicy( + (com.google.iam.v3beta.CreateAccessPolicyRequest) request, + (io.grpc.stub.StreamObserver) responseObserver); + break; + case METHODID_GET_ACCESS_POLICY: + serviceImpl.getAccessPolicy( + (com.google.iam.v3beta.GetAccessPolicyRequest) request, + (io.grpc.stub.StreamObserver) responseObserver); + break; + case METHODID_UPDATE_ACCESS_POLICY: + serviceImpl.updateAccessPolicy( + (com.google.iam.v3beta.UpdateAccessPolicyRequest) request, + (io.grpc.stub.StreamObserver) responseObserver); + break; + case METHODID_DELETE_ACCESS_POLICY: + serviceImpl.deleteAccessPolicy( + (com.google.iam.v3beta.DeleteAccessPolicyRequest) request, + (io.grpc.stub.StreamObserver) responseObserver); + break; + case METHODID_LIST_ACCESS_POLICIES: + serviceImpl.listAccessPolicies( + (com.google.iam.v3beta.ListAccessPoliciesRequest) request, + (io.grpc.stub.StreamObserver) + responseObserver); + break; + case METHODID_SEARCH_ACCESS_POLICY_BINDINGS: + serviceImpl.searchAccessPolicyBindings( + (com.google.iam.v3beta.SearchAccessPolicyBindingsRequest) request, + (io.grpc.stub.StreamObserver< + com.google.iam.v3beta.SearchAccessPolicyBindingsResponse>) + responseObserver); + break; + default: + throw new AssertionError(); + } + } + + @java.lang.Override + @java.lang.SuppressWarnings("unchecked") + public io.grpc.stub.StreamObserver invoke( + io.grpc.stub.StreamObserver responseObserver) { + switch (methodId) { + default: + throw new AssertionError(); + } + } + } + + public static final io.grpc.ServerServiceDefinition bindService(AsyncService service) { + return io.grpc.ServerServiceDefinition.builder(getServiceDescriptor()) + .addMethod( + getCreateAccessPolicyMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + com.google.iam.v3beta.CreateAccessPolicyRequest, + com.google.longrunning.Operation>(service, METHODID_CREATE_ACCESS_POLICY))) + .addMethod( + getGetAccessPolicyMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + com.google.iam.v3beta.GetAccessPolicyRequest, + com.google.iam.v3beta.AccessPolicy>(service, METHODID_GET_ACCESS_POLICY))) + .addMethod( + getUpdateAccessPolicyMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + com.google.iam.v3beta.UpdateAccessPolicyRequest, + com.google.longrunning.Operation>(service, METHODID_UPDATE_ACCESS_POLICY))) + .addMethod( + getDeleteAccessPolicyMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + com.google.iam.v3beta.DeleteAccessPolicyRequest, + com.google.longrunning.Operation>(service, METHODID_DELETE_ACCESS_POLICY))) + .addMethod( + getListAccessPoliciesMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + com.google.iam.v3beta.ListAccessPoliciesRequest, + com.google.iam.v3beta.ListAccessPoliciesResponse>( + service, METHODID_LIST_ACCESS_POLICIES))) + .addMethod( + getSearchAccessPolicyBindingsMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + com.google.iam.v3beta.SearchAccessPolicyBindingsRequest, + com.google.iam.v3beta.SearchAccessPolicyBindingsResponse>( + service, METHODID_SEARCH_ACCESS_POLICY_BINDINGS))) + .build(); + } + + private abstract static class AccessPoliciesBaseDescriptorSupplier + implements io.grpc.protobuf.ProtoFileDescriptorSupplier, + io.grpc.protobuf.ProtoServiceDescriptorSupplier { + AccessPoliciesBaseDescriptorSupplier() {} + + @java.lang.Override + public com.google.protobuf.Descriptors.FileDescriptor getFileDescriptor() { + return com.google.iam.v3beta.AccessPoliciesProto.getDescriptor(); + } + + @java.lang.Override + public com.google.protobuf.Descriptors.ServiceDescriptor getServiceDescriptor() { + return getFileDescriptor().findServiceByName("AccessPolicies"); + } + } + + private static final class AccessPoliciesFileDescriptorSupplier + extends AccessPoliciesBaseDescriptorSupplier { + AccessPoliciesFileDescriptorSupplier() {} + } + + private static final class AccessPoliciesMethodDescriptorSupplier + extends AccessPoliciesBaseDescriptorSupplier + implements io.grpc.protobuf.ProtoMethodDescriptorSupplier { + private final java.lang.String methodName; + + AccessPoliciesMethodDescriptorSupplier(java.lang.String methodName) { + this.methodName = methodName; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.MethodDescriptor getMethodDescriptor() { + return getServiceDescriptor().findMethodByName(methodName); + } + } + + private static volatile io.grpc.ServiceDescriptor serviceDescriptor; + + public static io.grpc.ServiceDescriptor getServiceDescriptor() { + io.grpc.ServiceDescriptor result = serviceDescriptor; + if (result == null) { + synchronized (AccessPoliciesGrpc.class) { + result = serviceDescriptor; + if (result == null) { + serviceDescriptor = + result = + io.grpc.ServiceDescriptor.newBuilder(SERVICE_NAME) + .setSchemaDescriptor(new AccessPoliciesFileDescriptorSupplier()) + .addMethod(getCreateAccessPolicyMethod()) + .addMethod(getGetAccessPolicyMethod()) + .addMethod(getUpdateAccessPolicyMethod()) + .addMethod(getDeleteAccessPolicyMethod()) + .addMethod(getListAccessPoliciesMethod()) + .addMethod(getSearchAccessPolicyBindingsMethod()) + .build(); + } + } + } + return result; + } +} diff --git a/java-iam/grpc-google-iam-v3beta/src/main/java/com/google/iam/v3beta/PolicyBindingsGrpc.java b/java-iam/grpc-google-iam-v3beta/src/main/java/com/google/iam/v3beta/PolicyBindingsGrpc.java index 9fde0cbfe7..6e8e318907 100644 --- a/java-iam/grpc-google-iam-v3beta/src/main/java/com/google/iam/v3beta/PolicyBindingsGrpc.java +++ b/java-iam/grpc-google-iam-v3beta/src/main/java/com/google/iam/v3beta/PolicyBindingsGrpc.java @@ -379,7 +379,7 @@ public interface AsyncService { *
      * Creates a policy binding and returns a long-running operation.
      * Callers will need the IAM permissions on both the policy and target.
-     * Once the binding is created, the policy is applied to the target.
+     * After the binding is created, the policy is applied to the target.
      * 
*/ default void createPolicyBinding( @@ -409,9 +409,7 @@ default void getPolicyBinding( *
      * Updates a policy binding and returns a long-running operation.
      * Callers will need the IAM permissions on the policy and target in the
-     * binding to update, and the IAM permission to remove the existing policy
-     * from the binding. Target is immutable and cannot be updated. Once the
-     * binding is updated, the new policy is applied to the target.
+     * binding to update. Target and policy are immutable and cannot be updated.
      * 
*/ default void updatePolicyBinding( @@ -427,7 +425,7 @@ default void updatePolicyBinding( *
      * Deletes a policy binding and returns a long-running operation.
      * Callers will need the IAM permissions on both the policy and target.
-     * Once the binding is deleted, the policy no longer applies to the target.
+     * After the binding is deleted, the policy no longer applies to the target.
      * 
*/ default void deletePolicyBinding( @@ -511,7 +509,7 @@ protected PolicyBindingsStub build(io.grpc.Channel channel, io.grpc.CallOptions *
      * Creates a policy binding and returns a long-running operation.
      * Callers will need the IAM permissions on both the policy and target.
-     * Once the binding is created, the policy is applied to the target.
+     * After the binding is created, the policy is applied to the target.
      * 
*/ public void createPolicyBinding( @@ -545,9 +543,7 @@ public void getPolicyBinding( *
      * Updates a policy binding and returns a long-running operation.
      * Callers will need the IAM permissions on the policy and target in the
-     * binding to update, and the IAM permission to remove the existing policy
-     * from the binding. Target is immutable and cannot be updated. Once the
-     * binding is updated, the new policy is applied to the target.
+     * binding to update. Target and policy are immutable and cannot be updated.
      * 
*/ public void updatePolicyBinding( @@ -565,7 +561,7 @@ public void updatePolicyBinding( *
      * Deletes a policy binding and returns a long-running operation.
      * Callers will need the IAM permissions on both the policy and target.
-     * Once the binding is deleted, the policy no longer applies to the target.
+     * After the binding is deleted, the policy no longer applies to the target.
      * 
*/ public void deletePolicyBinding( @@ -639,7 +635,7 @@ protected PolicyBindingsBlockingV2Stub build( *
      * Creates a policy binding and returns a long-running operation.
      * Callers will need the IAM permissions on both the policy and target.
-     * Once the binding is created, the policy is applied to the target.
+     * After the binding is created, the policy is applied to the target.
      * 
*/ public com.google.longrunning.Operation createPolicyBinding( @@ -667,9 +663,7 @@ public com.google.iam.v3beta.PolicyBinding getPolicyBinding( *
      * Updates a policy binding and returns a long-running operation.
      * Callers will need the IAM permissions on the policy and target in the
-     * binding to update, and the IAM permission to remove the existing policy
-     * from the binding. Target is immutable and cannot be updated. Once the
-     * binding is updated, the new policy is applied to the target.
+     * binding to update. Target and policy are immutable and cannot be updated.
      * 
*/ public com.google.longrunning.Operation updatePolicyBinding( @@ -684,7 +678,7 @@ public com.google.longrunning.Operation updatePolicyBinding( *
      * Deletes a policy binding and returns a long-running operation.
      * Callers will need the IAM permissions on both the policy and target.
-     * Once the binding is deleted, the policy no longer applies to the target.
+     * After the binding is deleted, the policy no longer applies to the target.
      * 
*/ public com.google.longrunning.Operation deletePolicyBinding( @@ -748,7 +742,7 @@ protected PolicyBindingsBlockingStub build( *
      * Creates a policy binding and returns a long-running operation.
      * Callers will need the IAM permissions on both the policy and target.
-     * Once the binding is created, the policy is applied to the target.
+     * After the binding is created, the policy is applied to the target.
      * 
*/ public com.google.longrunning.Operation createPolicyBinding( @@ -776,9 +770,7 @@ public com.google.iam.v3beta.PolicyBinding getPolicyBinding( *
      * Updates a policy binding and returns a long-running operation.
      * Callers will need the IAM permissions on the policy and target in the
-     * binding to update, and the IAM permission to remove the existing policy
-     * from the binding. Target is immutable and cannot be updated. Once the
-     * binding is updated, the new policy is applied to the target.
+     * binding to update. Target and policy are immutable and cannot be updated.
      * 
*/ public com.google.longrunning.Operation updatePolicyBinding( @@ -793,7 +785,7 @@ public com.google.longrunning.Operation updatePolicyBinding( *
      * Deletes a policy binding and returns a long-running operation.
      * Callers will need the IAM permissions on both the policy and target.
-     * Once the binding is deleted, the policy no longer applies to the target.
+     * After the binding is deleted, the policy no longer applies to the target.
      * 
*/ public com.google.longrunning.Operation deletePolicyBinding( @@ -856,7 +848,7 @@ protected PolicyBindingsFutureStub build( *
      * Creates a policy binding and returns a long-running operation.
      * Callers will need the IAM permissions on both the policy and target.
-     * Once the binding is created, the policy is applied to the target.
+     * After the binding is created, the policy is applied to the target.
      * 
*/ public com.google.common.util.concurrent.ListenableFuture @@ -884,9 +876,7 @@ protected PolicyBindingsFutureStub build( *
      * Updates a policy binding and returns a long-running operation.
      * Callers will need the IAM permissions on the policy and target in the
-     * binding to update, and the IAM permission to remove the existing policy
-     * from the binding. Target is immutable and cannot be updated. Once the
-     * binding is updated, the new policy is applied to the target.
+     * binding to update. Target and policy are immutable and cannot be updated.
      * 
*/ public com.google.common.util.concurrent.ListenableFuture @@ -901,7 +891,7 @@ protected PolicyBindingsFutureStub build( *
      * Deletes a policy binding and returns a long-running operation.
      * Callers will need the IAM permissions on both the policy and target.
-     * Once the binding is deleted, the policy no longer applies to the target.
+     * After the binding is deleted, the policy no longer applies to the target.
      * 
*/ public com.google.common.util.concurrent.ListenableFuture diff --git a/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/AccessPoliciesProto.java b/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/AccessPoliciesProto.java new file mode 100644 index 0000000000..5aa0b4b3b5 --- /dev/null +++ b/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/AccessPoliciesProto.java @@ -0,0 +1,280 @@ +/* + * 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/iam/v3beta/access_policies_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.iam.v3beta; + +@com.google.protobuf.Generated +public final class AccessPoliciesProto extends com.google.protobuf.GeneratedFile { + private AccessPoliciesProto() {} + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "AccessPoliciesProto"); + } + + public static void registerAllExtensions(com.google.protobuf.ExtensionRegistryLite registry) {} + + public static void registerAllExtensions(com.google.protobuf.ExtensionRegistry registry) { + registerAllExtensions((com.google.protobuf.ExtensionRegistryLite) registry); + } + + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_iam_v3beta_CreateAccessPolicyRequest_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_iam_v3beta_CreateAccessPolicyRequest_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_iam_v3beta_GetAccessPolicyRequest_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_iam_v3beta_GetAccessPolicyRequest_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_iam_v3beta_UpdateAccessPolicyRequest_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_iam_v3beta_UpdateAccessPolicyRequest_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_iam_v3beta_DeleteAccessPolicyRequest_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_iam_v3beta_DeleteAccessPolicyRequest_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_iam_v3beta_ListAccessPoliciesRequest_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_iam_v3beta_ListAccessPoliciesRequest_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_iam_v3beta_ListAccessPoliciesResponse_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_iam_v3beta_ListAccessPoliciesResponse_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_iam_v3beta_SearchAccessPolicyBindingsRequest_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_iam_v3beta_SearchAccessPolicyBindingsRequest_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_iam_v3beta_SearchAccessPolicyBindingsResponse_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_iam_v3beta_SearchAccessPolicyBindingsResponse_fieldAccessorTable; + + public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + return descriptor; + } + + private static com.google.protobuf.Descriptors.FileDescriptor descriptor; + + static { + java.lang.String[] descriptorData = { + "\n" + + "/google/iam/v3beta/access_policies_serv" + + "ice.proto\022\021google.iam.v3beta\032\034google/api" + + "/annotations.proto\032\027google/api/client.pr" + + "oto\032\037google/api/field_behavior.proto\032\031go" + + "ogle/api/resource.proto\032/google/iam/v3beta/access_policy_resources.proto\032*google" + + "/iam/v3beta/operation_metadata.proto\0320google/iam/v3beta/policy_binding_resources" + + ".proto\032#google/longrunning/operations.proto\032\033google/protobuf/empty.proto\"\314\001\n" + + "\031CreateAccessPolicyRequest\0227\n" + + "\006parent\030\001 \001(\tB\'" + + "\340A\002\372A!\022\037iam.googleapis.com/AccessPolicy\022\035\n" + + "\020access_policy_id\030\002 \001(\tB\003\340A\002\022;\n\r" + + "access_policy\030\003" + + " \001(\0132\037.google.iam.v3beta.AccessPolicyB\003\340A\002\022\032\n\r" + + "validate_only\030\004 \001(\010B\003\340A\001\"O\n" + + "\026GetAccessPolicyRequest\0225\n" + + "\004name\030\001 \001(\tB\'\340A\002\372A!\n" + + "\037iam.googleapis.com/AccessPolicy\"t\n" + + "\031UpdateAccessPolicyRequest\022;\n\r" + + "access_policy\030\001" + + " \001(\0132\037.google.iam.v3beta.AccessPolicyB\003\340A\002\022\032\n\r" + + "validate_only\030\002 \001(\010B\003\340A\001\"\225\001\n" + + "\031DeleteAccessPolicyRequest\0225\n" + + "\004name\030\001 \001(\tB\'\340A\002\372A!\n" + + "\037iam.googleapis.com/AccessPolicy\022\021\n" + + "\004etag\030\002 \001(\tB\003\340A\001\022\032\n\r" + + "validate_only\030\003 \001(\010B\003\340A\001\022\022\n" + + "\005force\030\004 \001(\010B\003\340A\001\"\205\001\n" + + "\031ListAccessPoliciesRequest\0227\n" + + "\006parent\030\001 \001(" + + "\tB\'\340A\002\372A!\022\037iam.googleapis.com/AccessPolicy\022\026\n" + + "\tpage_size\030\002 \001(\005B\003\340A\001\022\027\n\n" + + "page_token\030\003 \001(\tB\003\340A\001\"t\n" + + "\032ListAccessPoliciesResponse\0228\n" + + "\017access_policies\030\001 \003(\0132\037.google.iam.v3beta.AccessPolicy\022\034\n" + + "\017next_page_token\030\002 \001(\tB\003\340A\001\"\213\001\n" + + "!SearchAccessPolicyBindingsRequest\0225\n" + + "\004name\030\001 \001(\tB\'\340A\002\372A!\n" + + "\037iam.googleapis.com/AccessPolicy\022\026\n" + + "\tpage_size\030\002 \001(\005B\003\340A\001\022\027\n\n" + + "page_token\030\003 \001(\tB\003\340A\001\"}\n" + + "\"SearchAccessPolicyBindingsResponse\0229\n" + + "\017policy_bindings\030\001 \003(\0132 .google.iam.v3beta.PolicyBinding\022\034\n" + + "\017next_page_token\030\002 \001(\tB\003\340A\0012\276\021\n" + + "\016AccessPolicies\022\224\003\n" + + "\022CreateAccessPolicy\022,.go" + + "ogle.iam.v3beta.CreateAccessPolicyRequest\032\035.google.longrunning.Operation\"\260\002\312A!\n" + + "\014AccessPolicy\022\021OperationMetadata\332A%parent" + + ",access_policy,access_policy_id\202\323\344\223\002\335\001\"6" + + "/v3beta/{parent=projects/*/locations/*}/accessPolicies:\r" + + "access_policyZF\"5/v3beta/{parent=folders/*/locations/*}/accessPolicies:\r" + + "access_policyZL\";/v3beta/{parent=organizations/*/locations/*}/accessPolicies:\r" + + "access_policy\022\236\002\n" + + "\017GetAccessPolicy\022).google.iam.v3beta.GetAccessPolicyReque" + + "st\032\037.google.iam.v3beta.AccessPolicy\"\276\001\332A" + + "\004name\202\323\344\223\002\260\001\0226/v3beta/{name=projects/*/l" + + "ocations/*/accessPolicies/*}Z7\0225/v3beta/{name=folders/*/locations/*/accessPolici" + + "es/*}Z=\022;/v3beta/{name=organizations/*/locations/*/accessPolicies/*}\022\226\003\n" + + "\022UpdateAccessPolicy\022,.google.iam.v3beta.UpdateAc" + + "cessPolicyRequest\032\035.google.longrunning.Operation\"\262\002\312A!\n" + + "\014AccessPolicy\022\021OperationM" + + "etadata\202\323\344\223\002\207\0022D/v3beta/{access_policy.n" + + "ame=projects/*/locations/*/accessPolicies/*}:\r" + + "access_policyZT2C/v3beta/{access_p" + + "olicy.name=folders/*/locations/*/accessPolicies/*}:\r" + + "access_policyZZ2I/v3beta/{ac" + + "cess_policy.name=organizations/*/locations/*/accessPolicies/*}:\r" + + "access_policy\022\317\002\n" + + "\022DeleteAccessPolicy\022,.google.iam.v3beta" + + ".DeleteAccessPolicyRequest\032\035.google.longrunning.Operation\"\353\001\312A*\n" + + "\025google.protobuf" + + ".Empty\022\021OperationMetadata\332A\004name\202\323\344\223\002\260\001*" + + "6/v3beta/{name=projects/*/locations/*/accessPolicies/*}Z7*5/v3beta/{name=folders" + + "/*/locations/*/accessPolicies/*}Z=*;/v3b" + + "eta/{name=organizations/*/locations/*/accessPolicies/*}\022\264\002\n" + + "\022ListAccessPolicies\022,.google.iam.v3beta.ListAccessPoliciesReq" + + "uest\032-.google.iam.v3beta.ListAccessPolic" + + "iesResponse\"\300\001\332A\006parent\202\323\344\223\002\260\001\0226/v3beta/" + + "{parent=projects/*/locations/*}/accessPoliciesZ7\0225/v3beta/{parent=folders/*/loca" + + "tions/*}/accessPoliciesZ=\022;/v3beta/{pare" + + "nt=organizations/*/locations/*}/accessPolicies\022\211\003\n" + + "\032SearchAccessPolicyBindings\0224.google.iam.v3beta.SearchAccessPolicyBind" + + "ingsRequest\0325.google.iam.v3beta.SearchAc" + + "cessPolicyBindingsResponse\"\375\001\332A\004name\202\323\344\223" + + "\002\357\001\022P/v3beta/{name=organizations/*/locat" + + "ions/*/accessPolicies/*}:searchPolicyBindingsZL\022J/v3beta/{name=folders/*/locatio" + + "ns/*/accessPolicies/*}:searchPolicyBindingsZM\022K/v3beta/{name=projects/*/location" + + "s/*/accessPolicies/*}:searchPolicyBindin" + + "gs\032F\312A\022iam.googleapis.com\322A.https://www.googleapis.com/auth/cloud-platformB\221\001\n" + + "\025com.google.iam.v3betaB\023AccessPoliciesProt" + + "oP\001Z-cloud.google.com/go/iam/apiv3beta/i" + + "ampb;iampb\252\002\027Google.Cloud.Iam.V3Beta\312\002\027G" + + "oogle\\Cloud\\Iam\\V3betab\006proto3" + }; + descriptor = + com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( + descriptorData, + new com.google.protobuf.Descriptors.FileDescriptor[] { + com.google.api.AnnotationsProto.getDescriptor(), + com.google.api.ClientProto.getDescriptor(), + com.google.api.FieldBehaviorProto.getDescriptor(), + com.google.api.ResourceProto.getDescriptor(), + com.google.iam.v3beta.AccessPolicyResourcesProto.getDescriptor(), + com.google.iam.v3beta.OperationMetadataProto.getDescriptor(), + com.google.iam.v3beta.PolicyBindingResourcesProto.getDescriptor(), + com.google.longrunning.OperationsProto.getDescriptor(), + com.google.protobuf.EmptyProto.getDescriptor(), + }); + internal_static_google_iam_v3beta_CreateAccessPolicyRequest_descriptor = + getDescriptor().getMessageType(0); + internal_static_google_iam_v3beta_CreateAccessPolicyRequest_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_iam_v3beta_CreateAccessPolicyRequest_descriptor, + new java.lang.String[] { + "Parent", "AccessPolicyId", "AccessPolicy", "ValidateOnly", + }); + internal_static_google_iam_v3beta_GetAccessPolicyRequest_descriptor = + getDescriptor().getMessageType(1); + internal_static_google_iam_v3beta_GetAccessPolicyRequest_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_iam_v3beta_GetAccessPolicyRequest_descriptor, + new java.lang.String[] { + "Name", + }); + internal_static_google_iam_v3beta_UpdateAccessPolicyRequest_descriptor = + getDescriptor().getMessageType(2); + internal_static_google_iam_v3beta_UpdateAccessPolicyRequest_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_iam_v3beta_UpdateAccessPolicyRequest_descriptor, + new java.lang.String[] { + "AccessPolicy", "ValidateOnly", + }); + internal_static_google_iam_v3beta_DeleteAccessPolicyRequest_descriptor = + getDescriptor().getMessageType(3); + internal_static_google_iam_v3beta_DeleteAccessPolicyRequest_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_iam_v3beta_DeleteAccessPolicyRequest_descriptor, + new java.lang.String[] { + "Name", "Etag", "ValidateOnly", "Force", + }); + internal_static_google_iam_v3beta_ListAccessPoliciesRequest_descriptor = + getDescriptor().getMessageType(4); + internal_static_google_iam_v3beta_ListAccessPoliciesRequest_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_iam_v3beta_ListAccessPoliciesRequest_descriptor, + new java.lang.String[] { + "Parent", "PageSize", "PageToken", + }); + internal_static_google_iam_v3beta_ListAccessPoliciesResponse_descriptor = + getDescriptor().getMessageType(5); + internal_static_google_iam_v3beta_ListAccessPoliciesResponse_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_iam_v3beta_ListAccessPoliciesResponse_descriptor, + new java.lang.String[] { + "AccessPolicies", "NextPageToken", + }); + internal_static_google_iam_v3beta_SearchAccessPolicyBindingsRequest_descriptor = + getDescriptor().getMessageType(6); + internal_static_google_iam_v3beta_SearchAccessPolicyBindingsRequest_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_iam_v3beta_SearchAccessPolicyBindingsRequest_descriptor, + new java.lang.String[] { + "Name", "PageSize", "PageToken", + }); + internal_static_google_iam_v3beta_SearchAccessPolicyBindingsResponse_descriptor = + getDescriptor().getMessageType(7); + internal_static_google_iam_v3beta_SearchAccessPolicyBindingsResponse_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_iam_v3beta_SearchAccessPolicyBindingsResponse_descriptor, + new java.lang.String[] { + "PolicyBindings", "NextPageToken", + }); + descriptor.resolveAllFeaturesImmutable(); + com.google.api.AnnotationsProto.getDescriptor(); + com.google.api.ClientProto.getDescriptor(); + com.google.api.FieldBehaviorProto.getDescriptor(); + com.google.api.ResourceProto.getDescriptor(); + com.google.iam.v3beta.AccessPolicyResourcesProto.getDescriptor(); + com.google.iam.v3beta.OperationMetadataProto.getDescriptor(); + com.google.iam.v3beta.PolicyBindingResourcesProto.getDescriptor(); + com.google.longrunning.OperationsProto.getDescriptor(); + com.google.protobuf.EmptyProto.getDescriptor(); + com.google.protobuf.ExtensionRegistry registry = + com.google.protobuf.ExtensionRegistry.newInstance(); + registry.add(com.google.api.ClientProto.defaultHost); + registry.add(com.google.api.FieldBehaviorProto.fieldBehavior); + registry.add(com.google.api.AnnotationsProto.http); + registry.add(com.google.api.ClientProto.methodSignature); + registry.add(com.google.api.ClientProto.oauthScopes); + registry.add(com.google.api.ResourceProto.resourceReference); + registry.add(com.google.longrunning.OperationsProto.operationInfo); + com.google.protobuf.Descriptors.FileDescriptor.internalUpdateFileDescriptor( + descriptor, registry); + } + + // @@protoc_insertion_point(outer_class_scope) +} diff --git a/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/AccessPolicy.java b/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/AccessPolicy.java new file mode 100644 index 0000000000..0fb34238c9 --- /dev/null +++ b/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/AccessPolicy.java @@ -0,0 +1,2545 @@ +/* + * 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/iam/v3beta/access_policy_resources.proto +// Protobuf Java Version: 4.33.2 + +package com.google.iam.v3beta; + +/** + * + * + *
+ * An IAM access policy resource.
+ * 
+ * + * Protobuf type {@code google.iam.v3beta.AccessPolicy} + */ +@com.google.protobuf.Generated +public final class AccessPolicy extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.iam.v3beta.AccessPolicy) + AccessPolicyOrBuilder { + 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= */ "", + "AccessPolicy"); + } + + // Use AccessPolicy.newBuilder() to construct. + private AccessPolicy(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private AccessPolicy() { + name_ = ""; + uid_ = ""; + etag_ = ""; + displayName_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.iam.v3beta.AccessPolicyResourcesProto + .internal_static_google_iam_v3beta_AccessPolicy_descriptor; + } + + @SuppressWarnings({"rawtypes"}) + @java.lang.Override + protected com.google.protobuf.MapFieldReflectionAccessor internalGetMapFieldReflection( + int number) { + switch (number) { + case 5: + return internalGetAnnotations(); + default: + throw new RuntimeException("Invalid map field number: " + number); + } + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.iam.v3beta.AccessPolicyResourcesProto + .internal_static_google_iam_v3beta_AccessPolicy_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.iam.v3beta.AccessPolicy.class, + com.google.iam.v3beta.AccessPolicy.Builder.class); + } + + private int bitField0_; + public static final int NAME_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object name_ = ""; + + /** + * + * + *
+   * Identifier. The resource name of the access policy.
+   *
+   * The following formats are supported:
+   *
+   * * `projects/{project_id}/locations/{location}/accessPolicies/{policy_id}`
+   * * `projects/{project_number}/locations/{location}/accessPolicies/{policy_id}`
+   * * `folders/{folder_id}/locations/{location}/accessPolicies/{policy_id}`
+   * * `organizations/{organization_id}/locations/{location}/accessPolicies/{policy_id}`
+   * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @return The name. + */ + @java.lang.Override + public java.lang.String getName() { + java.lang.Object ref = name_; + 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(); + name_ = s; + return s; + } + } + + /** + * + * + *
+   * Identifier. The resource name of the access policy.
+   *
+   * The following formats are supported:
+   *
+   * * `projects/{project_id}/locations/{location}/accessPolicies/{policy_id}`
+   * * `projects/{project_number}/locations/{location}/accessPolicies/{policy_id}`
+   * * `folders/{folder_id}/locations/{location}/accessPolicies/{policy_id}`
+   * * `organizations/{organization_id}/locations/{location}/accessPolicies/{policy_id}`
+   * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @return The bytes for name. + */ + @java.lang.Override + public com.google.protobuf.ByteString getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int UID_FIELD_NUMBER = 2; + + @SuppressWarnings("serial") + private volatile java.lang.Object uid_ = ""; + + /** + * + * + *
+   * Output only. The globally unique ID of the access policy.
+   * 
+ * + * + * string uid = 2 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.field_info) = { ... } + * + * + * @return The uid. + */ + @java.lang.Override + public java.lang.String getUid() { + java.lang.Object ref = uid_; + 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(); + uid_ = s; + return s; + } + } + + /** + * + * + *
+   * Output only. The globally unique ID of the access policy.
+   * 
+ * + * + * string uid = 2 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.field_info) = { ... } + * + * + * @return The bytes for uid. + */ + @java.lang.Override + public com.google.protobuf.ByteString getUidBytes() { + java.lang.Object ref = uid_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + uid_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int ETAG_FIELD_NUMBER = 3; + + @SuppressWarnings("serial") + private volatile java.lang.Object etag_ = ""; + + /** + * + * + *
+   * Optional. The etag for the access policy.
+   * If this is provided on update, it must match the server's etag.
+   * 
+ * + * string etag = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The etag. + */ + @java.lang.Override + public java.lang.String getEtag() { + java.lang.Object ref = etag_; + 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(); + etag_ = s; + return s; + } + } + + /** + * + * + *
+   * Optional. The etag for the access policy.
+   * If this is provided on update, it must match the server's etag.
+   * 
+ * + * string etag = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for etag. + */ + @java.lang.Override + public com.google.protobuf.ByteString getEtagBytes() { + java.lang.Object ref = etag_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + etag_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int DISPLAY_NAME_FIELD_NUMBER = 4; + + @SuppressWarnings("serial") + private volatile java.lang.Object displayName_ = ""; + + /** + * + * + *
+   * Optional. The description of the access policy. Must be less than
+   * or equal to 63 characters.
+   * 
+ * + * string display_name = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The displayName. + */ + @java.lang.Override + public java.lang.String getDisplayName() { + java.lang.Object ref = displayName_; + 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(); + displayName_ = s; + return s; + } + } + + /** + * + * + *
+   * Optional. The description of the access policy. Must be less than
+   * or equal to 63 characters.
+   * 
+ * + * string display_name = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for displayName. + */ + @java.lang.Override + public com.google.protobuf.ByteString getDisplayNameBytes() { + java.lang.Object ref = displayName_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + displayName_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int ANNOTATIONS_FIELD_NUMBER = 5; + + private static final class AnnotationsDefaultEntryHolder { + static final com.google.protobuf.MapEntry defaultEntry = + com.google.protobuf.MapEntry.newDefaultInstance( + com.google.iam.v3beta.AccessPolicyResourcesProto + .internal_static_google_iam_v3beta_AccessPolicy_AnnotationsEntry_descriptor, + com.google.protobuf.WireFormat.FieldType.STRING, + "", + com.google.protobuf.WireFormat.FieldType.STRING, + ""); + } + + @SuppressWarnings("serial") + private com.google.protobuf.MapField annotations_; + + private com.google.protobuf.MapField + internalGetAnnotations() { + if (annotations_ == null) { + return com.google.protobuf.MapField.emptyMapField(AnnotationsDefaultEntryHolder.defaultEntry); + } + return annotations_; + } + + public int getAnnotationsCount() { + return internalGetAnnotations().getMap().size(); + } + + /** + * + * + *
+   * Optional. User defined annotations. See
+   * https://google.aip.dev/148#annotations for more details such as format and
+   * size limitations
+   * 
+ * + * map<string, string> annotations = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public boolean containsAnnotations(java.lang.String key) { + if (key == null) { + throw new NullPointerException("map key"); + } + return internalGetAnnotations().getMap().containsKey(key); + } + + /** Use {@link #getAnnotationsMap()} instead. */ + @java.lang.Override + @java.lang.Deprecated + public java.util.Map getAnnotations() { + return getAnnotationsMap(); + } + + /** + * + * + *
+   * Optional. User defined annotations. See
+   * https://google.aip.dev/148#annotations for more details such as format and
+   * size limitations
+   * 
+ * + * map<string, string> annotations = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public java.util.Map getAnnotationsMap() { + return internalGetAnnotations().getMap(); + } + + /** + * + * + *
+   * Optional. User defined annotations. See
+   * https://google.aip.dev/148#annotations for more details such as format and
+   * size limitations
+   * 
+ * + * map<string, string> annotations = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public /* nullable */ java.lang.String getAnnotationsOrDefault( + java.lang.String key, + /* nullable */ + java.lang.String defaultValue) { + if (key == null) { + throw new NullPointerException("map key"); + } + java.util.Map map = internalGetAnnotations().getMap(); + return map.containsKey(key) ? map.get(key) : defaultValue; + } + + /** + * + * + *
+   * Optional. User defined annotations. See
+   * https://google.aip.dev/148#annotations for more details such as format and
+   * size limitations
+   * 
+ * + * map<string, string> annotations = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public java.lang.String getAnnotationsOrThrow(java.lang.String key) { + if (key == null) { + throw new NullPointerException("map key"); + } + java.util.Map map = internalGetAnnotations().getMap(); + if (!map.containsKey(key)) { + throw new java.lang.IllegalArgumentException(); + } + return map.get(key); + } + + public static final int CREATE_TIME_FIELD_NUMBER = 6; + private com.google.protobuf.Timestamp createTime_; + + /** + * + * + *
+   * Output only. The time when the access policy was created.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the createTime field is set. + */ + @java.lang.Override + public boolean hasCreateTime() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+   * Output only. The time when the access policy was created.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The createTime. + */ + @java.lang.Override + public com.google.protobuf.Timestamp getCreateTime() { + return createTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : createTime_; + } + + /** + * + * + *
+   * Output only. The time when the access policy was created.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder() { + return createTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : createTime_; + } + + public static final int UPDATE_TIME_FIELD_NUMBER = 7; + private com.google.protobuf.Timestamp updateTime_; + + /** + * + * + *
+   * Output only. The time when the access policy was most recently
+   * updated.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the updateTime field is set. + */ + @java.lang.Override + public boolean hasUpdateTime() { + return ((bitField0_ & 0x00000002) != 0); + } + + /** + * + * + *
+   * Output only. The time when the access policy was most recently
+   * updated.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The updateTime. + */ + @java.lang.Override + public com.google.protobuf.Timestamp getUpdateTime() { + return updateTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : updateTime_; + } + + /** + * + * + *
+   * Output only. The time when the access policy was most recently
+   * updated.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.protobuf.TimestampOrBuilder getUpdateTimeOrBuilder() { + return updateTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : updateTime_; + } + + public static final int DETAILS_FIELD_NUMBER = 8; + private com.google.iam.v3beta.AccessPolicyDetails details_; + + /** + * + * + *
+   * Optional. The details for the access policy.
+   * 
+ * + * + * .google.iam.v3beta.AccessPolicyDetails details = 8 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the details field is set. + */ + @java.lang.Override + public boolean hasDetails() { + return ((bitField0_ & 0x00000004) != 0); + } + + /** + * + * + *
+   * Optional. The details for the access policy.
+   * 
+ * + * + * .google.iam.v3beta.AccessPolicyDetails details = 8 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The details. + */ + @java.lang.Override + public com.google.iam.v3beta.AccessPolicyDetails getDetails() { + return details_ == null + ? com.google.iam.v3beta.AccessPolicyDetails.getDefaultInstance() + : details_; + } + + /** + * + * + *
+   * Optional. The details for the access policy.
+   * 
+ * + * + * .google.iam.v3beta.AccessPolicyDetails details = 8 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public com.google.iam.v3beta.AccessPolicyDetailsOrBuilder getDetailsOrBuilder() { + return details_ == null + ? com.google.iam.v3beta.AccessPolicyDetails.getDefaultInstance() + : details_; + } + + 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(name_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, name_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(uid_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, uid_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(etag_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 3, etag_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(displayName_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 4, displayName_); + } + com.google.protobuf.GeneratedMessage.serializeStringMapTo( + output, internalGetAnnotations(), AnnotationsDefaultEntryHolder.defaultEntry, 5); + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(6, getCreateTime()); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeMessage(7, getUpdateTime()); + } + if (((bitField0_ & 0x00000004) != 0)) { + output.writeMessage(8, getDetails()); + } + 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(name_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, name_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(uid_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, uid_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(etag_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(3, etag_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(displayName_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(4, displayName_); + } + for (java.util.Map.Entry entry : + internalGetAnnotations().getMap().entrySet()) { + com.google.protobuf.MapEntry annotations__ = + AnnotationsDefaultEntryHolder.defaultEntry + .newBuilderForType() + .setKey(entry.getKey()) + .setValue(entry.getValue()) + .build(); + size += com.google.protobuf.CodedOutputStream.computeMessageSize(5, annotations__); + } + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(6, getCreateTime()); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(7, getUpdateTime()); + } + if (((bitField0_ & 0x00000004) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(8, getDetails()); + } + 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.iam.v3beta.AccessPolicy)) { + return super.equals(obj); + } + com.google.iam.v3beta.AccessPolicy other = (com.google.iam.v3beta.AccessPolicy) obj; + + if (!getName().equals(other.getName())) return false; + if (!getUid().equals(other.getUid())) return false; + if (!getEtag().equals(other.getEtag())) return false; + if (!getDisplayName().equals(other.getDisplayName())) return false; + if (!internalGetAnnotations().equals(other.internalGetAnnotations())) return false; + if (hasCreateTime() != other.hasCreateTime()) return false; + if (hasCreateTime()) { + if (!getCreateTime().equals(other.getCreateTime())) return false; + } + if (hasUpdateTime() != other.hasUpdateTime()) return false; + if (hasUpdateTime()) { + if (!getUpdateTime().equals(other.getUpdateTime())) return false; + } + if (hasDetails() != other.hasDetails()) return false; + if (hasDetails()) { + if (!getDetails().equals(other.getDetails())) 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) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + hash = (37 * hash) + UID_FIELD_NUMBER; + hash = (53 * hash) + getUid().hashCode(); + hash = (37 * hash) + ETAG_FIELD_NUMBER; + hash = (53 * hash) + getEtag().hashCode(); + hash = (37 * hash) + DISPLAY_NAME_FIELD_NUMBER; + hash = (53 * hash) + getDisplayName().hashCode(); + if (!internalGetAnnotations().getMap().isEmpty()) { + hash = (37 * hash) + ANNOTATIONS_FIELD_NUMBER; + hash = (53 * hash) + internalGetAnnotations().hashCode(); + } + if (hasCreateTime()) { + hash = (37 * hash) + CREATE_TIME_FIELD_NUMBER; + hash = (53 * hash) + getCreateTime().hashCode(); + } + if (hasUpdateTime()) { + hash = (37 * hash) + UPDATE_TIME_FIELD_NUMBER; + hash = (53 * hash) + getUpdateTime().hashCode(); + } + if (hasDetails()) { + hash = (37 * hash) + DETAILS_FIELD_NUMBER; + hash = (53 * hash) + getDetails().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.iam.v3beta.AccessPolicy parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.iam.v3beta.AccessPolicy parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.iam.v3beta.AccessPolicy parseFrom(com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.iam.v3beta.AccessPolicy 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.iam.v3beta.AccessPolicy parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.iam.v3beta.AccessPolicy parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.iam.v3beta.AccessPolicy parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.iam.v3beta.AccessPolicy 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.iam.v3beta.AccessPolicy parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.iam.v3beta.AccessPolicy 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.iam.v3beta.AccessPolicy parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.iam.v3beta.AccessPolicy 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.iam.v3beta.AccessPolicy 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; + } + + /** + * + * + *
+   * An IAM access policy resource.
+   * 
+ * + * Protobuf type {@code google.iam.v3beta.AccessPolicy} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.iam.v3beta.AccessPolicy) + com.google.iam.v3beta.AccessPolicyOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.iam.v3beta.AccessPolicyResourcesProto + .internal_static_google_iam_v3beta_AccessPolicy_descriptor; + } + + @SuppressWarnings({"rawtypes"}) + protected com.google.protobuf.MapFieldReflectionAccessor internalGetMapFieldReflection( + int number) { + switch (number) { + case 5: + return internalGetAnnotations(); + default: + throw new RuntimeException("Invalid map field number: " + number); + } + } + + @SuppressWarnings({"rawtypes"}) + protected com.google.protobuf.MapFieldReflectionAccessor internalGetMutableMapFieldReflection( + int number) { + switch (number) { + case 5: + return internalGetMutableAnnotations(); + default: + throw new RuntimeException("Invalid map field number: " + number); + } + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.iam.v3beta.AccessPolicyResourcesProto + .internal_static_google_iam_v3beta_AccessPolicy_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.iam.v3beta.AccessPolicy.class, + com.google.iam.v3beta.AccessPolicy.Builder.class); + } + + // Construct using com.google.iam.v3beta.AccessPolicy.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + internalGetCreateTimeFieldBuilder(); + internalGetUpdateTimeFieldBuilder(); + internalGetDetailsFieldBuilder(); + } + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + name_ = ""; + uid_ = ""; + etag_ = ""; + displayName_ = ""; + internalGetMutableAnnotations().clear(); + createTime_ = null; + if (createTimeBuilder_ != null) { + createTimeBuilder_.dispose(); + createTimeBuilder_ = null; + } + updateTime_ = null; + if (updateTimeBuilder_ != null) { + updateTimeBuilder_.dispose(); + updateTimeBuilder_ = null; + } + details_ = null; + if (detailsBuilder_ != null) { + detailsBuilder_.dispose(); + detailsBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.iam.v3beta.AccessPolicyResourcesProto + .internal_static_google_iam_v3beta_AccessPolicy_descriptor; + } + + @java.lang.Override + public com.google.iam.v3beta.AccessPolicy getDefaultInstanceForType() { + return com.google.iam.v3beta.AccessPolicy.getDefaultInstance(); + } + + @java.lang.Override + public com.google.iam.v3beta.AccessPolicy build() { + com.google.iam.v3beta.AccessPolicy result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.iam.v3beta.AccessPolicy buildPartial() { + com.google.iam.v3beta.AccessPolicy result = new com.google.iam.v3beta.AccessPolicy(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0(com.google.iam.v3beta.AccessPolicy result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.name_ = name_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.uid_ = uid_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.etag_ = etag_; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.displayName_ = displayName_; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.annotations_ = internalGetAnnotations(); + result.annotations_.makeImmutable(); + } + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000020) != 0)) { + result.createTime_ = createTimeBuilder_ == null ? createTime_ : createTimeBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000040) != 0)) { + result.updateTime_ = updateTimeBuilder_ == null ? updateTime_ : updateTimeBuilder_.build(); + to_bitField0_ |= 0x00000002; + } + if (((from_bitField0_ & 0x00000080) != 0)) { + result.details_ = detailsBuilder_ == null ? details_ : detailsBuilder_.build(); + to_bitField0_ |= 0x00000004; + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.iam.v3beta.AccessPolicy) { + return mergeFrom((com.google.iam.v3beta.AccessPolicy) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.iam.v3beta.AccessPolicy other) { + if (other == com.google.iam.v3beta.AccessPolicy.getDefaultInstance()) return this; + if (!other.getName().isEmpty()) { + name_ = other.name_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (!other.getUid().isEmpty()) { + uid_ = other.uid_; + bitField0_ |= 0x00000002; + onChanged(); + } + if (!other.getEtag().isEmpty()) { + etag_ = other.etag_; + bitField0_ |= 0x00000004; + onChanged(); + } + if (!other.getDisplayName().isEmpty()) { + displayName_ = other.displayName_; + bitField0_ |= 0x00000008; + onChanged(); + } + internalGetMutableAnnotations().mergeFrom(other.internalGetAnnotations()); + bitField0_ |= 0x00000010; + if (other.hasCreateTime()) { + mergeCreateTime(other.getCreateTime()); + } + if (other.hasUpdateTime()) { + mergeUpdateTime(other.getUpdateTime()); + } + if (other.hasDetails()) { + mergeDetails(other.getDetails()); + } + 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: + { + name_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: + { + uid_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 18 + case 26: + { + etag_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000004; + break; + } // case 26 + case 34: + { + displayName_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000008; + break; + } // case 34 + case 42: + { + com.google.protobuf.MapEntry annotations__ = + input.readMessage( + AnnotationsDefaultEntryHolder.defaultEntry.getParserForType(), + extensionRegistry); + internalGetMutableAnnotations() + .getMutableMap() + .put(annotations__.getKey(), annotations__.getValue()); + bitField0_ |= 0x00000010; + break; + } // case 42 + case 50: + { + input.readMessage( + internalGetCreateTimeFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000020; + break; + } // case 50 + case 58: + { + input.readMessage( + internalGetUpdateTimeFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000040; + break; + } // case 58 + case 66: + { + input.readMessage(internalGetDetailsFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000080; + break; + } // case 66 + 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 name_ = ""; + + /** + * + * + *
+     * Identifier. The resource name of the access policy.
+     *
+     * The following formats are supported:
+     *
+     * * `projects/{project_id}/locations/{location}/accessPolicies/{policy_id}`
+     * * `projects/{project_number}/locations/{location}/accessPolicies/{policy_id}`
+     * * `folders/{folder_id}/locations/{location}/accessPolicies/{policy_id}`
+     * * `organizations/{organization_id}/locations/{location}/accessPolicies/{policy_id}`
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @return The name. + */ + public java.lang.String getName() { + java.lang.Object ref = name_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Identifier. The resource name of the access policy.
+     *
+     * The following formats are supported:
+     *
+     * * `projects/{project_id}/locations/{location}/accessPolicies/{policy_id}`
+     * * `projects/{project_number}/locations/{location}/accessPolicies/{policy_id}`
+     * * `folders/{folder_id}/locations/{location}/accessPolicies/{policy_id}`
+     * * `organizations/{organization_id}/locations/{location}/accessPolicies/{policy_id}`
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @return The bytes for name. + */ + public com.google.protobuf.ByteString getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Identifier. The resource name of the access policy.
+     *
+     * The following formats are supported:
+     *
+     * * `projects/{project_id}/locations/{location}/accessPolicies/{policy_id}`
+     * * `projects/{project_number}/locations/{location}/accessPolicies/{policy_id}`
+     * * `folders/{folder_id}/locations/{location}/accessPolicies/{policy_id}`
+     * * `organizations/{organization_id}/locations/{location}/accessPolicies/{policy_id}`
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @param value The name to set. + * @return This builder for chaining. + */ + public Builder setName(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Identifier. The resource name of the access policy.
+     *
+     * The following formats are supported:
+     *
+     * * `projects/{project_id}/locations/{location}/accessPolicies/{policy_id}`
+     * * `projects/{project_number}/locations/{location}/accessPolicies/{policy_id}`
+     * * `folders/{folder_id}/locations/{location}/accessPolicies/{policy_id}`
+     * * `organizations/{organization_id}/locations/{location}/accessPolicies/{policy_id}`
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @return This builder for chaining. + */ + public Builder clearName() { + name_ = getDefaultInstance().getName(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+     * Identifier. The resource name of the access policy.
+     *
+     * The following formats are supported:
+     *
+     * * `projects/{project_id}/locations/{location}/accessPolicies/{policy_id}`
+     * * `projects/{project_number}/locations/{location}/accessPolicies/{policy_id}`
+     * * `folders/{folder_id}/locations/{location}/accessPolicies/{policy_id}`
+     * * `organizations/{organization_id}/locations/{location}/accessPolicies/{policy_id}`
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @param value The bytes for name to set. + * @return This builder for chaining. + */ + public Builder setNameBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private java.lang.Object uid_ = ""; + + /** + * + * + *
+     * Output only. The globally unique ID of the access policy.
+     * 
+ * + * + * string uid = 2 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.field_info) = { ... } + * + * + * @return The uid. + */ + public java.lang.String getUid() { + java.lang.Object ref = uid_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + uid_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Output only. The globally unique ID of the access policy.
+     * 
+ * + * + * string uid = 2 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.field_info) = { ... } + * + * + * @return The bytes for uid. + */ + public com.google.protobuf.ByteString getUidBytes() { + java.lang.Object ref = uid_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + uid_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Output only. The globally unique ID of the access policy.
+     * 
+ * + * + * string uid = 2 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.field_info) = { ... } + * + * + * @param value The uid to set. + * @return This builder for chaining. + */ + public Builder setUid(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + uid_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The globally unique ID of the access policy.
+     * 
+ * + * + * string uid = 2 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.field_info) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearUid() { + uid_ = getDefaultInstance().getUid(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The globally unique ID of the access policy.
+     * 
+ * + * + * string uid = 2 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.field_info) = { ... } + * + * + * @param value The bytes for uid to set. + * @return This builder for chaining. + */ + public Builder setUidBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + uid_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private java.lang.Object etag_ = ""; + + /** + * + * + *
+     * Optional. The etag for the access policy.
+     * If this is provided on update, it must match the server's etag.
+     * 
+ * + * string etag = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The etag. + */ + public java.lang.String getEtag() { + java.lang.Object ref = etag_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + etag_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Optional. The etag for the access policy.
+     * If this is provided on update, it must match the server's etag.
+     * 
+ * + * string etag = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for etag. + */ + public com.google.protobuf.ByteString getEtagBytes() { + java.lang.Object ref = etag_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + etag_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Optional. The etag for the access policy.
+     * If this is provided on update, it must match the server's etag.
+     * 
+ * + * string etag = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The etag to set. + * @return This builder for chaining. + */ + public Builder setEtag(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + etag_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. The etag for the access policy.
+     * If this is provided on update, it must match the server's etag.
+     * 
+ * + * string etag = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearEtag() { + etag_ = getDefaultInstance().getEtag(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. The etag for the access policy.
+     * If this is provided on update, it must match the server's etag.
+     * 
+ * + * string etag = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for etag to set. + * @return This builder for chaining. + */ + public Builder setEtagBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + etag_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + private java.lang.Object displayName_ = ""; + + /** + * + * + *
+     * Optional. The description of the access policy. Must be less than
+     * or equal to 63 characters.
+     * 
+ * + * string display_name = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The displayName. + */ + public java.lang.String getDisplayName() { + java.lang.Object ref = displayName_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + displayName_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Optional. The description of the access policy. Must be less than
+     * or equal to 63 characters.
+     * 
+ * + * string display_name = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for displayName. + */ + public com.google.protobuf.ByteString getDisplayNameBytes() { + java.lang.Object ref = displayName_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + displayName_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Optional. The description of the access policy. Must be less than
+     * or equal to 63 characters.
+     * 
+ * + * string display_name = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The displayName to set. + * @return This builder for chaining. + */ + public Builder setDisplayName(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + displayName_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. The description of the access policy. Must be less than
+     * or equal to 63 characters.
+     * 
+ * + * string display_name = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearDisplayName() { + displayName_ = getDefaultInstance().getDisplayName(); + bitField0_ = (bitField0_ & ~0x00000008); + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. The description of the access policy. Must be less than
+     * or equal to 63 characters.
+     * 
+ * + * string display_name = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for displayName to set. + * @return This builder for chaining. + */ + public Builder setDisplayNameBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + displayName_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + private com.google.protobuf.MapField annotations_; + + private com.google.protobuf.MapField + internalGetAnnotations() { + if (annotations_ == null) { + return com.google.protobuf.MapField.emptyMapField( + AnnotationsDefaultEntryHolder.defaultEntry); + } + return annotations_; + } + + private com.google.protobuf.MapField + internalGetMutableAnnotations() { + if (annotations_ == null) { + annotations_ = + com.google.protobuf.MapField.newMapField(AnnotationsDefaultEntryHolder.defaultEntry); + } + if (!annotations_.isMutable()) { + annotations_ = annotations_.copy(); + } + bitField0_ |= 0x00000010; + onChanged(); + return annotations_; + } + + public int getAnnotationsCount() { + return internalGetAnnotations().getMap().size(); + } + + /** + * + * + *
+     * Optional. User defined annotations. See
+     * https://google.aip.dev/148#annotations for more details such as format and
+     * size limitations
+     * 
+ * + * map<string, string> annotations = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public boolean containsAnnotations(java.lang.String key) { + if (key == null) { + throw new NullPointerException("map key"); + } + return internalGetAnnotations().getMap().containsKey(key); + } + + /** Use {@link #getAnnotationsMap()} instead. */ + @java.lang.Override + @java.lang.Deprecated + public java.util.Map getAnnotations() { + return getAnnotationsMap(); + } + + /** + * + * + *
+     * Optional. User defined annotations. See
+     * https://google.aip.dev/148#annotations for more details such as format and
+     * size limitations
+     * 
+ * + * map<string, string> annotations = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public java.util.Map getAnnotationsMap() { + return internalGetAnnotations().getMap(); + } + + /** + * + * + *
+     * Optional. User defined annotations. See
+     * https://google.aip.dev/148#annotations for more details such as format and
+     * size limitations
+     * 
+ * + * map<string, string> annotations = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public /* nullable */ java.lang.String getAnnotationsOrDefault( + java.lang.String key, + /* nullable */ + java.lang.String defaultValue) { + if (key == null) { + throw new NullPointerException("map key"); + } + java.util.Map map = internalGetAnnotations().getMap(); + return map.containsKey(key) ? map.get(key) : defaultValue; + } + + /** + * + * + *
+     * Optional. User defined annotations. See
+     * https://google.aip.dev/148#annotations for more details such as format and
+     * size limitations
+     * 
+ * + * map<string, string> annotations = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public java.lang.String getAnnotationsOrThrow(java.lang.String key) { + if (key == null) { + throw new NullPointerException("map key"); + } + java.util.Map map = internalGetAnnotations().getMap(); + if (!map.containsKey(key)) { + throw new java.lang.IllegalArgumentException(); + } + return map.get(key); + } + + public Builder clearAnnotations() { + bitField0_ = (bitField0_ & ~0x00000010); + internalGetMutableAnnotations().getMutableMap().clear(); + return this; + } + + /** + * + * + *
+     * Optional. User defined annotations. See
+     * https://google.aip.dev/148#annotations for more details such as format and
+     * size limitations
+     * 
+ * + * map<string, string> annotations = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder removeAnnotations(java.lang.String key) { + if (key == null) { + throw new NullPointerException("map key"); + } + internalGetMutableAnnotations().getMutableMap().remove(key); + return this; + } + + /** Use alternate mutation accessors instead. */ + @java.lang.Deprecated + public java.util.Map getMutableAnnotations() { + bitField0_ |= 0x00000010; + return internalGetMutableAnnotations().getMutableMap(); + } + + /** + * + * + *
+     * Optional. User defined annotations. See
+     * https://google.aip.dev/148#annotations for more details such as format and
+     * size limitations
+     * 
+ * + * map<string, string> annotations = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder putAnnotations(java.lang.String key, java.lang.String value) { + if (key == null) { + throw new NullPointerException("map key"); + } + if (value == null) { + throw new NullPointerException("map value"); + } + internalGetMutableAnnotations().getMutableMap().put(key, value); + bitField0_ |= 0x00000010; + return this; + } + + /** + * + * + *
+     * Optional. User defined annotations. See
+     * https://google.aip.dev/148#annotations for more details such as format and
+     * size limitations
+     * 
+ * + * map<string, string> annotations = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder putAllAnnotations(java.util.Map values) { + internalGetMutableAnnotations().getMutableMap().putAll(values); + bitField0_ |= 0x00000010; + return this; + } + + private com.google.protobuf.Timestamp createTime_; + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + createTimeBuilder_; + + /** + * + * + *
+     * Output only. The time when the access policy was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the createTime field is set. + */ + public boolean hasCreateTime() { + return ((bitField0_ & 0x00000020) != 0); + } + + /** + * + * + *
+     * Output only. The time when the access policy was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The createTime. + */ + public com.google.protobuf.Timestamp getCreateTime() { + if (createTimeBuilder_ == null) { + return createTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : createTime_; + } else { + return createTimeBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Output only. The time when the access policy was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setCreateTime(com.google.protobuf.Timestamp value) { + if (createTimeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + createTime_ = value; + } else { + createTimeBuilder_.setMessage(value); + } + bitField0_ |= 0x00000020; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The time when the access policy was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setCreateTime(com.google.protobuf.Timestamp.Builder builderForValue) { + if (createTimeBuilder_ == null) { + createTime_ = builderForValue.build(); + } else { + createTimeBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000020; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The time when the access policy was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeCreateTime(com.google.protobuf.Timestamp value) { + if (createTimeBuilder_ == null) { + if (((bitField0_ & 0x00000020) != 0) + && createTime_ != null + && createTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) { + getCreateTimeBuilder().mergeFrom(value); + } else { + createTime_ = value; + } + } else { + createTimeBuilder_.mergeFrom(value); + } + if (createTime_ != null) { + bitField0_ |= 0x00000020; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Output only. The time when the access policy was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearCreateTime() { + bitField0_ = (bitField0_ & ~0x00000020); + createTime_ = null; + if (createTimeBuilder_ != null) { + createTimeBuilder_.dispose(); + createTimeBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The time when the access policy was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.Timestamp.Builder getCreateTimeBuilder() { + bitField0_ |= 0x00000020; + onChanged(); + return internalGetCreateTimeFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Output only. The time when the access policy was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder() { + if (createTimeBuilder_ != null) { + return createTimeBuilder_.getMessageOrBuilder(); + } else { + return createTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : createTime_; + } + } + + /** + * + * + *
+     * Output only. The time when the access policy was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + internalGetCreateTimeFieldBuilder() { + if (createTimeBuilder_ == null) { + createTimeBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder>( + getCreateTime(), getParentForChildren(), isClean()); + createTime_ = null; + } + return createTimeBuilder_; + } + + private com.google.protobuf.Timestamp updateTime_; + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + updateTimeBuilder_; + + /** + * + * + *
+     * Output only. The time when the access policy was most recently
+     * updated.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the updateTime field is set. + */ + public boolean hasUpdateTime() { + return ((bitField0_ & 0x00000040) != 0); + } + + /** + * + * + *
+     * Output only. The time when the access policy was most recently
+     * updated.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The updateTime. + */ + public com.google.protobuf.Timestamp getUpdateTime() { + if (updateTimeBuilder_ == null) { + return updateTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : updateTime_; + } else { + return updateTimeBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Output only. The time when the access policy was most recently
+     * updated.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setUpdateTime(com.google.protobuf.Timestamp value) { + if (updateTimeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + updateTime_ = value; + } else { + updateTimeBuilder_.setMessage(value); + } + bitField0_ |= 0x00000040; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The time when the access policy was most recently
+     * updated.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setUpdateTime(com.google.protobuf.Timestamp.Builder builderForValue) { + if (updateTimeBuilder_ == null) { + updateTime_ = builderForValue.build(); + } else { + updateTimeBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000040; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The time when the access policy was most recently
+     * updated.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeUpdateTime(com.google.protobuf.Timestamp value) { + if (updateTimeBuilder_ == null) { + if (((bitField0_ & 0x00000040) != 0) + && updateTime_ != null + && updateTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) { + getUpdateTimeBuilder().mergeFrom(value); + } else { + updateTime_ = value; + } + } else { + updateTimeBuilder_.mergeFrom(value); + } + if (updateTime_ != null) { + bitField0_ |= 0x00000040; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Output only. The time when the access policy was most recently
+     * updated.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearUpdateTime() { + bitField0_ = (bitField0_ & ~0x00000040); + updateTime_ = null; + if (updateTimeBuilder_ != null) { + updateTimeBuilder_.dispose(); + updateTimeBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The time when the access policy was most recently
+     * updated.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.Timestamp.Builder getUpdateTimeBuilder() { + bitField0_ |= 0x00000040; + onChanged(); + return internalGetUpdateTimeFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Output only. The time when the access policy was most recently
+     * updated.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.TimestampOrBuilder getUpdateTimeOrBuilder() { + if (updateTimeBuilder_ != null) { + return updateTimeBuilder_.getMessageOrBuilder(); + } else { + return updateTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : updateTime_; + } + } + + /** + * + * + *
+     * Output only. The time when the access policy was most recently
+     * updated.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + internalGetUpdateTimeFieldBuilder() { + if (updateTimeBuilder_ == null) { + updateTimeBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder>( + getUpdateTime(), getParentForChildren(), isClean()); + updateTime_ = null; + } + return updateTimeBuilder_; + } + + private com.google.iam.v3beta.AccessPolicyDetails details_; + private com.google.protobuf.SingleFieldBuilder< + com.google.iam.v3beta.AccessPolicyDetails, + com.google.iam.v3beta.AccessPolicyDetails.Builder, + com.google.iam.v3beta.AccessPolicyDetailsOrBuilder> + detailsBuilder_; + + /** + * + * + *
+     * Optional. The details for the access policy.
+     * 
+ * + * + * .google.iam.v3beta.AccessPolicyDetails details = 8 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the details field is set. + */ + public boolean hasDetails() { + return ((bitField0_ & 0x00000080) != 0); + } + + /** + * + * + *
+     * Optional. The details for the access policy.
+     * 
+ * + * + * .google.iam.v3beta.AccessPolicyDetails details = 8 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The details. + */ + public com.google.iam.v3beta.AccessPolicyDetails getDetails() { + if (detailsBuilder_ == null) { + return details_ == null + ? com.google.iam.v3beta.AccessPolicyDetails.getDefaultInstance() + : details_; + } else { + return detailsBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Optional. The details for the access policy.
+     * 
+ * + * + * .google.iam.v3beta.AccessPolicyDetails details = 8 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setDetails(com.google.iam.v3beta.AccessPolicyDetails value) { + if (detailsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + details_ = value; + } else { + detailsBuilder_.setMessage(value); + } + bitField0_ |= 0x00000080; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. The details for the access policy.
+     * 
+ * + * + * .google.iam.v3beta.AccessPolicyDetails details = 8 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setDetails(com.google.iam.v3beta.AccessPolicyDetails.Builder builderForValue) { + if (detailsBuilder_ == null) { + details_ = builderForValue.build(); + } else { + detailsBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000080; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. The details for the access policy.
+     * 
+ * + * + * .google.iam.v3beta.AccessPolicyDetails details = 8 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder mergeDetails(com.google.iam.v3beta.AccessPolicyDetails value) { + if (detailsBuilder_ == null) { + if (((bitField0_ & 0x00000080) != 0) + && details_ != null + && details_ != com.google.iam.v3beta.AccessPolicyDetails.getDefaultInstance()) { + getDetailsBuilder().mergeFrom(value); + } else { + details_ = value; + } + } else { + detailsBuilder_.mergeFrom(value); + } + if (details_ != null) { + bitField0_ |= 0x00000080; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Optional. The details for the access policy.
+     * 
+ * + * + * .google.iam.v3beta.AccessPolicyDetails details = 8 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder clearDetails() { + bitField0_ = (bitField0_ & ~0x00000080); + details_ = null; + if (detailsBuilder_ != null) { + detailsBuilder_.dispose(); + detailsBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. The details for the access policy.
+     * 
+ * + * + * .google.iam.v3beta.AccessPolicyDetails details = 8 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.iam.v3beta.AccessPolicyDetails.Builder getDetailsBuilder() { + bitField0_ |= 0x00000080; + onChanged(); + return internalGetDetailsFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Optional. The details for the access policy.
+     * 
+ * + * + * .google.iam.v3beta.AccessPolicyDetails details = 8 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.iam.v3beta.AccessPolicyDetailsOrBuilder getDetailsOrBuilder() { + if (detailsBuilder_ != null) { + return detailsBuilder_.getMessageOrBuilder(); + } else { + return details_ == null + ? com.google.iam.v3beta.AccessPolicyDetails.getDefaultInstance() + : details_; + } + } + + /** + * + * + *
+     * Optional. The details for the access policy.
+     * 
+ * + * + * .google.iam.v3beta.AccessPolicyDetails details = 8 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.iam.v3beta.AccessPolicyDetails, + com.google.iam.v3beta.AccessPolicyDetails.Builder, + com.google.iam.v3beta.AccessPolicyDetailsOrBuilder> + internalGetDetailsFieldBuilder() { + if (detailsBuilder_ == null) { + detailsBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.iam.v3beta.AccessPolicyDetails, + com.google.iam.v3beta.AccessPolicyDetails.Builder, + com.google.iam.v3beta.AccessPolicyDetailsOrBuilder>( + getDetails(), getParentForChildren(), isClean()); + details_ = null; + } + return detailsBuilder_; + } + + // @@protoc_insertion_point(builder_scope:google.iam.v3beta.AccessPolicy) + } + + // @@protoc_insertion_point(class_scope:google.iam.v3beta.AccessPolicy) + private static final com.google.iam.v3beta.AccessPolicy DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.iam.v3beta.AccessPolicy(); + } + + public static com.google.iam.v3beta.AccessPolicy getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public AccessPolicy 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.iam.v3beta.AccessPolicy getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/AccessPolicyDetails.java b/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/AccessPolicyDetails.java new file mode 100644 index 0000000000..a5186f77f0 --- /dev/null +++ b/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/AccessPolicyDetails.java @@ -0,0 +1,965 @@ +/* + * 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/iam/v3beta/access_policy_resources.proto +// Protobuf Java Version: 4.33.2 + +package com.google.iam.v3beta; + +/** + * + * + *
+ * Access policy details.
+ * 
+ * + * Protobuf type {@code google.iam.v3beta.AccessPolicyDetails} + */ +@com.google.protobuf.Generated +public final class AccessPolicyDetails extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.iam.v3beta.AccessPolicyDetails) + AccessPolicyDetailsOrBuilder { + 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= */ "", + "AccessPolicyDetails"); + } + + // Use AccessPolicyDetails.newBuilder() to construct. + private AccessPolicyDetails(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private AccessPolicyDetails() { + rules_ = java.util.Collections.emptyList(); + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.iam.v3beta.AccessPolicyResourcesProto + .internal_static_google_iam_v3beta_AccessPolicyDetails_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.iam.v3beta.AccessPolicyResourcesProto + .internal_static_google_iam_v3beta_AccessPolicyDetails_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.iam.v3beta.AccessPolicyDetails.class, + com.google.iam.v3beta.AccessPolicyDetails.Builder.class); + } + + public static final int RULES_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private java.util.List rules_; + + /** + * + * + *
+   * Required. A list of access policy rules.
+   * 
+ * + * + * repeated .google.iam.v3beta.AccessPolicyRule rules = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + @java.lang.Override + public java.util.List getRulesList() { + return rules_; + } + + /** + * + * + *
+   * Required. A list of access policy rules.
+   * 
+ * + * + * repeated .google.iam.v3beta.AccessPolicyRule rules = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + @java.lang.Override + public java.util.List + getRulesOrBuilderList() { + return rules_; + } + + /** + * + * + *
+   * Required. A list of access policy rules.
+   * 
+ * + * + * repeated .google.iam.v3beta.AccessPolicyRule rules = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + @java.lang.Override + public int getRulesCount() { + return rules_.size(); + } + + /** + * + * + *
+   * Required. A list of access policy rules.
+   * 
+ * + * + * repeated .google.iam.v3beta.AccessPolicyRule rules = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + @java.lang.Override + public com.google.iam.v3beta.AccessPolicyRule getRules(int index) { + return rules_.get(index); + } + + /** + * + * + *
+   * Required. A list of access policy rules.
+   * 
+ * + * + * repeated .google.iam.v3beta.AccessPolicyRule rules = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + @java.lang.Override + public com.google.iam.v3beta.AccessPolicyRuleOrBuilder getRulesOrBuilder(int index) { + return rules_.get(index); + } + + 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 { + for (int i = 0; i < rules_.size(); i++) { + output.writeMessage(1, rules_.get(i)); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + for (int i = 0; i < rules_.size(); i++) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, rules_.get(i)); + } + 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.iam.v3beta.AccessPolicyDetails)) { + return super.equals(obj); + } + com.google.iam.v3beta.AccessPolicyDetails other = + (com.google.iam.v3beta.AccessPolicyDetails) obj; + + if (!getRulesList().equals(other.getRulesList())) 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 (getRulesCount() > 0) { + hash = (37 * hash) + RULES_FIELD_NUMBER; + hash = (53 * hash) + getRulesList().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.iam.v3beta.AccessPolicyDetails parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.iam.v3beta.AccessPolicyDetails parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.iam.v3beta.AccessPolicyDetails parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.iam.v3beta.AccessPolicyDetails 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.iam.v3beta.AccessPolicyDetails parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.iam.v3beta.AccessPolicyDetails parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.iam.v3beta.AccessPolicyDetails parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.iam.v3beta.AccessPolicyDetails 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.iam.v3beta.AccessPolicyDetails parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.iam.v3beta.AccessPolicyDetails 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.iam.v3beta.AccessPolicyDetails parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.iam.v3beta.AccessPolicyDetails 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.iam.v3beta.AccessPolicyDetails 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; + } + + /** + * + * + *
+   * Access policy details.
+   * 
+ * + * Protobuf type {@code google.iam.v3beta.AccessPolicyDetails} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.iam.v3beta.AccessPolicyDetails) + com.google.iam.v3beta.AccessPolicyDetailsOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.iam.v3beta.AccessPolicyResourcesProto + .internal_static_google_iam_v3beta_AccessPolicyDetails_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.iam.v3beta.AccessPolicyResourcesProto + .internal_static_google_iam_v3beta_AccessPolicyDetails_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.iam.v3beta.AccessPolicyDetails.class, + com.google.iam.v3beta.AccessPolicyDetails.Builder.class); + } + + // Construct using com.google.iam.v3beta.AccessPolicyDetails.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + if (rulesBuilder_ == null) { + rules_ = java.util.Collections.emptyList(); + } else { + rules_ = null; + rulesBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000001); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.iam.v3beta.AccessPolicyResourcesProto + .internal_static_google_iam_v3beta_AccessPolicyDetails_descriptor; + } + + @java.lang.Override + public com.google.iam.v3beta.AccessPolicyDetails getDefaultInstanceForType() { + return com.google.iam.v3beta.AccessPolicyDetails.getDefaultInstance(); + } + + @java.lang.Override + public com.google.iam.v3beta.AccessPolicyDetails build() { + com.google.iam.v3beta.AccessPolicyDetails result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.iam.v3beta.AccessPolicyDetails buildPartial() { + com.google.iam.v3beta.AccessPolicyDetails result = + new com.google.iam.v3beta.AccessPolicyDetails(this); + buildPartialRepeatedFields(result); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartialRepeatedFields(com.google.iam.v3beta.AccessPolicyDetails result) { + if (rulesBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + rules_ = java.util.Collections.unmodifiableList(rules_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.rules_ = rules_; + } else { + result.rules_ = rulesBuilder_.build(); + } + } + + private void buildPartial0(com.google.iam.v3beta.AccessPolicyDetails result) { + int from_bitField0_ = bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.iam.v3beta.AccessPolicyDetails) { + return mergeFrom((com.google.iam.v3beta.AccessPolicyDetails) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.iam.v3beta.AccessPolicyDetails other) { + if (other == com.google.iam.v3beta.AccessPolicyDetails.getDefaultInstance()) return this; + if (rulesBuilder_ == null) { + if (!other.rules_.isEmpty()) { + if (rules_.isEmpty()) { + rules_ = other.rules_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureRulesIsMutable(); + rules_.addAll(other.rules_); + } + onChanged(); + } + } else { + if (!other.rules_.isEmpty()) { + if (rulesBuilder_.isEmpty()) { + rulesBuilder_.dispose(); + rulesBuilder_ = null; + rules_ = other.rules_; + bitField0_ = (bitField0_ & ~0x00000001); + rulesBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders + ? internalGetRulesFieldBuilder() + : null; + } else { + rulesBuilder_.addAllMessages(other.rules_); + } + } + } + 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: + { + com.google.iam.v3beta.AccessPolicyRule m = + input.readMessage( + com.google.iam.v3beta.AccessPolicyRule.parser(), extensionRegistry); + if (rulesBuilder_ == null) { + ensureRulesIsMutable(); + rules_.add(m); + } else { + rulesBuilder_.addMessage(m); + } + break; + } // case 10 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private java.util.List rules_ = + java.util.Collections.emptyList(); + + private void ensureRulesIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + rules_ = new java.util.ArrayList(rules_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.iam.v3beta.AccessPolicyRule, + com.google.iam.v3beta.AccessPolicyRule.Builder, + com.google.iam.v3beta.AccessPolicyRuleOrBuilder> + rulesBuilder_; + + /** + * + * + *
+     * Required. A list of access policy rules.
+     * 
+ * + * + * repeated .google.iam.v3beta.AccessPolicyRule rules = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public java.util.List getRulesList() { + if (rulesBuilder_ == null) { + return java.util.Collections.unmodifiableList(rules_); + } else { + return rulesBuilder_.getMessageList(); + } + } + + /** + * + * + *
+     * Required. A list of access policy rules.
+     * 
+ * + * + * repeated .google.iam.v3beta.AccessPolicyRule rules = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public int getRulesCount() { + if (rulesBuilder_ == null) { + return rules_.size(); + } else { + return rulesBuilder_.getCount(); + } + } + + /** + * + * + *
+     * Required. A list of access policy rules.
+     * 
+ * + * + * repeated .google.iam.v3beta.AccessPolicyRule rules = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public com.google.iam.v3beta.AccessPolicyRule getRules(int index) { + if (rulesBuilder_ == null) { + return rules_.get(index); + } else { + return rulesBuilder_.getMessage(index); + } + } + + /** + * + * + *
+     * Required. A list of access policy rules.
+     * 
+ * + * + * repeated .google.iam.v3beta.AccessPolicyRule rules = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder setRules(int index, com.google.iam.v3beta.AccessPolicyRule value) { + if (rulesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureRulesIsMutable(); + rules_.set(index, value); + onChanged(); + } else { + rulesBuilder_.setMessage(index, value); + } + return this; + } + + /** + * + * + *
+     * Required. A list of access policy rules.
+     * 
+ * + * + * repeated .google.iam.v3beta.AccessPolicyRule rules = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder setRules( + int index, com.google.iam.v3beta.AccessPolicyRule.Builder builderForValue) { + if (rulesBuilder_ == null) { + ensureRulesIsMutable(); + rules_.set(index, builderForValue.build()); + onChanged(); + } else { + rulesBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * Required. A list of access policy rules.
+     * 
+ * + * + * repeated .google.iam.v3beta.AccessPolicyRule rules = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder addRules(com.google.iam.v3beta.AccessPolicyRule value) { + if (rulesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureRulesIsMutable(); + rules_.add(value); + onChanged(); + } else { + rulesBuilder_.addMessage(value); + } + return this; + } + + /** + * + * + *
+     * Required. A list of access policy rules.
+     * 
+ * + * + * repeated .google.iam.v3beta.AccessPolicyRule rules = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder addRules(int index, com.google.iam.v3beta.AccessPolicyRule value) { + if (rulesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureRulesIsMutable(); + rules_.add(index, value); + onChanged(); + } else { + rulesBuilder_.addMessage(index, value); + } + return this; + } + + /** + * + * + *
+     * Required. A list of access policy rules.
+     * 
+ * + * + * repeated .google.iam.v3beta.AccessPolicyRule rules = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder addRules(com.google.iam.v3beta.AccessPolicyRule.Builder builderForValue) { + if (rulesBuilder_ == null) { + ensureRulesIsMutable(); + rules_.add(builderForValue.build()); + onChanged(); + } else { + rulesBuilder_.addMessage(builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * Required. A list of access policy rules.
+     * 
+ * + * + * repeated .google.iam.v3beta.AccessPolicyRule rules = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder addRules( + int index, com.google.iam.v3beta.AccessPolicyRule.Builder builderForValue) { + if (rulesBuilder_ == null) { + ensureRulesIsMutable(); + rules_.add(index, builderForValue.build()); + onChanged(); + } else { + rulesBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * Required. A list of access policy rules.
+     * 
+ * + * + * repeated .google.iam.v3beta.AccessPolicyRule rules = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder addAllRules( + java.lang.Iterable values) { + if (rulesBuilder_ == null) { + ensureRulesIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, rules_); + onChanged(); + } else { + rulesBuilder_.addAllMessages(values); + } + return this; + } + + /** + * + * + *
+     * Required. A list of access policy rules.
+     * 
+ * + * + * repeated .google.iam.v3beta.AccessPolicyRule rules = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder clearRules() { + if (rulesBuilder_ == null) { + rules_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + rulesBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+     * Required. A list of access policy rules.
+     * 
+ * + * + * repeated .google.iam.v3beta.AccessPolicyRule rules = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder removeRules(int index) { + if (rulesBuilder_ == null) { + ensureRulesIsMutable(); + rules_.remove(index); + onChanged(); + } else { + rulesBuilder_.remove(index); + } + return this; + } + + /** + * + * + *
+     * Required. A list of access policy rules.
+     * 
+ * + * + * repeated .google.iam.v3beta.AccessPolicyRule rules = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public com.google.iam.v3beta.AccessPolicyRule.Builder getRulesBuilder(int index) { + return internalGetRulesFieldBuilder().getBuilder(index); + } + + /** + * + * + *
+     * Required. A list of access policy rules.
+     * 
+ * + * + * repeated .google.iam.v3beta.AccessPolicyRule rules = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public com.google.iam.v3beta.AccessPolicyRuleOrBuilder getRulesOrBuilder(int index) { + if (rulesBuilder_ == null) { + return rules_.get(index); + } else { + return rulesBuilder_.getMessageOrBuilder(index); + } + } + + /** + * + * + *
+     * Required. A list of access policy rules.
+     * 
+ * + * + * repeated .google.iam.v3beta.AccessPolicyRule rules = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public java.util.List + getRulesOrBuilderList() { + if (rulesBuilder_ != null) { + return rulesBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(rules_); + } + } + + /** + * + * + *
+     * Required. A list of access policy rules.
+     * 
+ * + * + * repeated .google.iam.v3beta.AccessPolicyRule rules = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public com.google.iam.v3beta.AccessPolicyRule.Builder addRulesBuilder() { + return internalGetRulesFieldBuilder() + .addBuilder(com.google.iam.v3beta.AccessPolicyRule.getDefaultInstance()); + } + + /** + * + * + *
+     * Required. A list of access policy rules.
+     * 
+ * + * + * repeated .google.iam.v3beta.AccessPolicyRule rules = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public com.google.iam.v3beta.AccessPolicyRule.Builder addRulesBuilder(int index) { + return internalGetRulesFieldBuilder() + .addBuilder(index, com.google.iam.v3beta.AccessPolicyRule.getDefaultInstance()); + } + + /** + * + * + *
+     * Required. A list of access policy rules.
+     * 
+ * + * + * repeated .google.iam.v3beta.AccessPolicyRule rules = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public java.util.List getRulesBuilderList() { + return internalGetRulesFieldBuilder().getBuilderList(); + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.iam.v3beta.AccessPolicyRule, + com.google.iam.v3beta.AccessPolicyRule.Builder, + com.google.iam.v3beta.AccessPolicyRuleOrBuilder> + internalGetRulesFieldBuilder() { + if (rulesBuilder_ == null) { + rulesBuilder_ = + new com.google.protobuf.RepeatedFieldBuilder< + com.google.iam.v3beta.AccessPolicyRule, + com.google.iam.v3beta.AccessPolicyRule.Builder, + com.google.iam.v3beta.AccessPolicyRuleOrBuilder>( + rules_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean()); + rules_ = null; + } + return rulesBuilder_; + } + + // @@protoc_insertion_point(builder_scope:google.iam.v3beta.AccessPolicyDetails) + } + + // @@protoc_insertion_point(class_scope:google.iam.v3beta.AccessPolicyDetails) + private static final com.google.iam.v3beta.AccessPolicyDetails DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.iam.v3beta.AccessPolicyDetails(); + } + + public static com.google.iam.v3beta.AccessPolicyDetails getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public AccessPolicyDetails 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.iam.v3beta.AccessPolicyDetails getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/AccessPolicyDetailsOrBuilder.java b/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/AccessPolicyDetailsOrBuilder.java new file mode 100644 index 0000000000..8b584bb7ff --- /dev/null +++ b/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/AccessPolicyDetailsOrBuilder.java @@ -0,0 +1,93 @@ +/* + * 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/iam/v3beta/access_policy_resources.proto +// Protobuf Java Version: 4.33.2 + +package com.google.iam.v3beta; + +@com.google.protobuf.Generated +public interface AccessPolicyDetailsOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.iam.v3beta.AccessPolicyDetails) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Required. A list of access policy rules.
+   * 
+ * + * + * repeated .google.iam.v3beta.AccessPolicyRule rules = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + java.util.List getRulesList(); + + /** + * + * + *
+   * Required. A list of access policy rules.
+   * 
+ * + * + * repeated .google.iam.v3beta.AccessPolicyRule rules = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + com.google.iam.v3beta.AccessPolicyRule getRules(int index); + + /** + * + * + *
+   * Required. A list of access policy rules.
+   * 
+ * + * + * repeated .google.iam.v3beta.AccessPolicyRule rules = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + int getRulesCount(); + + /** + * + * + *
+   * Required. A list of access policy rules.
+   * 
+ * + * + * repeated .google.iam.v3beta.AccessPolicyRule rules = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + java.util.List getRulesOrBuilderList(); + + /** + * + * + *
+   * Required. A list of access policy rules.
+   * 
+ * + * + * repeated .google.iam.v3beta.AccessPolicyRule rules = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + com.google.iam.v3beta.AccessPolicyRuleOrBuilder getRulesOrBuilder(int index); +} diff --git a/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/AccessPolicyName.java b/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/AccessPolicyName.java new file mode 100644 index 0000000000..0a531712f8 --- /dev/null +++ b/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/AccessPolicyName.java @@ -0,0 +1,449 @@ +/* + * 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. + */ + +package com.google.iam.v3beta; + +import com.google.api.pathtemplate.PathTemplate; +import com.google.api.pathtemplate.ValidationException; +import com.google.api.resourcenames.ResourceName; +import com.google.common.base.Preconditions; +import com.google.common.collect.ImmutableMap; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import javax.annotation.Generated; + +// AUTO-GENERATED DOCUMENTATION AND CLASS. +@Generated("by gapic-generator-java") +public class AccessPolicyName implements ResourceName { + private static final PathTemplate ORGANIZATION_LOCATION_ACCESS_POLICY = + PathTemplate.createWithoutUrlEncoding( + "organizations/{organization}/locations/{location}/accessPolicies/{access_policy}"); + private static final PathTemplate FOLDER_LOCATION_ACCESS_POLICY = + PathTemplate.createWithoutUrlEncoding( + "folders/{folder}/locations/{location}/accessPolicies/{access_policy}"); + private static final PathTemplate PROJECT_LOCATION_ACCESS_POLICY = + PathTemplate.createWithoutUrlEncoding( + "projects/{project}/locations/{location}/accessPolicies/{access_policy}"); + private volatile Map fieldValuesMap; + private PathTemplate pathTemplate; + private String fixedValue; + private final String organization; + private final String location; + private final String accessPolicy; + private final String folder; + private final String project; + + @Deprecated + protected AccessPolicyName() { + organization = null; + location = null; + accessPolicy = null; + folder = null; + project = null; + } + + private AccessPolicyName(Builder builder) { + organization = Preconditions.checkNotNull(builder.getOrganization()); + location = Preconditions.checkNotNull(builder.getLocation()); + accessPolicy = Preconditions.checkNotNull(builder.getAccessPolicy()); + folder = null; + project = null; + pathTemplate = ORGANIZATION_LOCATION_ACCESS_POLICY; + } + + private AccessPolicyName(FolderLocationAccessPolicyBuilder builder) { + folder = Preconditions.checkNotNull(builder.getFolder()); + location = Preconditions.checkNotNull(builder.getLocation()); + accessPolicy = Preconditions.checkNotNull(builder.getAccessPolicy()); + organization = null; + project = null; + pathTemplate = FOLDER_LOCATION_ACCESS_POLICY; + } + + private AccessPolicyName(ProjectLocationAccessPolicyBuilder builder) { + project = Preconditions.checkNotNull(builder.getProject()); + location = Preconditions.checkNotNull(builder.getLocation()); + accessPolicy = Preconditions.checkNotNull(builder.getAccessPolicy()); + organization = null; + folder = null; + pathTemplate = PROJECT_LOCATION_ACCESS_POLICY; + } + + public String getOrganization() { + return organization; + } + + public String getLocation() { + return location; + } + + public String getAccessPolicy() { + return accessPolicy; + } + + public String getFolder() { + return folder; + } + + public String getProject() { + return project; + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static Builder newOrganizationLocationAccessPolicyBuilder() { + return new Builder(); + } + + public static FolderLocationAccessPolicyBuilder newFolderLocationAccessPolicyBuilder() { + return new FolderLocationAccessPolicyBuilder(); + } + + public static ProjectLocationAccessPolicyBuilder newProjectLocationAccessPolicyBuilder() { + return new ProjectLocationAccessPolicyBuilder(); + } + + public Builder toBuilder() { + return new Builder(this); + } + + public static AccessPolicyName of(String organization, String location, String accessPolicy) { + return newBuilder() + .setOrganization(organization) + .setLocation(location) + .setAccessPolicy(accessPolicy) + .build(); + } + + public static AccessPolicyName ofOrganizationLocationAccessPolicyName( + String organization, String location, String accessPolicy) { + return newBuilder() + .setOrganization(organization) + .setLocation(location) + .setAccessPolicy(accessPolicy) + .build(); + } + + public static AccessPolicyName ofFolderLocationAccessPolicyName( + String folder, String location, String accessPolicy) { + return newFolderLocationAccessPolicyBuilder() + .setFolder(folder) + .setLocation(location) + .setAccessPolicy(accessPolicy) + .build(); + } + + public static AccessPolicyName ofProjectLocationAccessPolicyName( + String project, String location, String accessPolicy) { + return newProjectLocationAccessPolicyBuilder() + .setProject(project) + .setLocation(location) + .setAccessPolicy(accessPolicy) + .build(); + } + + public static String format(String organization, String location, String accessPolicy) { + return newBuilder() + .setOrganization(organization) + .setLocation(location) + .setAccessPolicy(accessPolicy) + .build() + .toString(); + } + + public static String formatOrganizationLocationAccessPolicyName( + String organization, String location, String accessPolicy) { + return newBuilder() + .setOrganization(organization) + .setLocation(location) + .setAccessPolicy(accessPolicy) + .build() + .toString(); + } + + public static String formatFolderLocationAccessPolicyName( + String folder, String location, String accessPolicy) { + return newFolderLocationAccessPolicyBuilder() + .setFolder(folder) + .setLocation(location) + .setAccessPolicy(accessPolicy) + .build() + .toString(); + } + + public static String formatProjectLocationAccessPolicyName( + String project, String location, String accessPolicy) { + return newProjectLocationAccessPolicyBuilder() + .setProject(project) + .setLocation(location) + .setAccessPolicy(accessPolicy) + .build() + .toString(); + } + + public static AccessPolicyName parse(String formattedString) { + if (formattedString.isEmpty()) { + return null; + } + if (ORGANIZATION_LOCATION_ACCESS_POLICY.matches(formattedString)) { + Map matchMap = ORGANIZATION_LOCATION_ACCESS_POLICY.match(formattedString); + return ofOrganizationLocationAccessPolicyName( + matchMap.get("organization"), matchMap.get("location"), matchMap.get("access_policy")); + } else if (FOLDER_LOCATION_ACCESS_POLICY.matches(formattedString)) { + Map matchMap = FOLDER_LOCATION_ACCESS_POLICY.match(formattedString); + return ofFolderLocationAccessPolicyName( + matchMap.get("folder"), matchMap.get("location"), matchMap.get("access_policy")); + } else if (PROJECT_LOCATION_ACCESS_POLICY.matches(formattedString)) { + Map matchMap = PROJECT_LOCATION_ACCESS_POLICY.match(formattedString); + return ofProjectLocationAccessPolicyName( + matchMap.get("project"), matchMap.get("location"), matchMap.get("access_policy")); + } + throw new ValidationException("AccessPolicyName.parse: formattedString not in valid format"); + } + + public static List parseList(List formattedStrings) { + List list = new ArrayList<>(formattedStrings.size()); + for (String formattedString : formattedStrings) { + list.add(parse(formattedString)); + } + return list; + } + + public static List toStringList(List values) { + List list = new ArrayList<>(values.size()); + for (AccessPolicyName value : values) { + if (value == null) { + list.add(""); + } else { + list.add(value.toString()); + } + } + return list; + } + + public static boolean isParsableFrom(String formattedString) { + return ORGANIZATION_LOCATION_ACCESS_POLICY.matches(formattedString) + || FOLDER_LOCATION_ACCESS_POLICY.matches(formattedString) + || PROJECT_LOCATION_ACCESS_POLICY.matches(formattedString); + } + + @Override + public Map getFieldValuesMap() { + if (fieldValuesMap == null) { + synchronized (this) { + if (fieldValuesMap == null) { + ImmutableMap.Builder fieldMapBuilder = ImmutableMap.builder(); + if (organization != null) { + fieldMapBuilder.put("organization", organization); + } + if (location != null) { + fieldMapBuilder.put("location", location); + } + if (accessPolicy != null) { + fieldMapBuilder.put("access_policy", accessPolicy); + } + if (folder != null) { + fieldMapBuilder.put("folder", folder); + } + if (project != null) { + fieldMapBuilder.put("project", project); + } + fieldValuesMap = fieldMapBuilder.build(); + } + } + } + return fieldValuesMap; + } + + public String getFieldValue(String fieldName) { + return getFieldValuesMap().get(fieldName); + } + + @Override + public String toString() { + return fixedValue != null ? fixedValue : pathTemplate.instantiate(getFieldValuesMap()); + } + + @Override + public boolean equals(Object o) { + if (o == this) { + return true; + } + if (o != null && getClass() == o.getClass()) { + AccessPolicyName that = ((AccessPolicyName) o); + return Objects.equals(this.organization, that.organization) + && Objects.equals(this.location, that.location) + && Objects.equals(this.accessPolicy, that.accessPolicy) + && Objects.equals(this.folder, that.folder) + && Objects.equals(this.project, that.project); + } + return false; + } + + @Override + public int hashCode() { + int h = 1; + h *= 1000003; + h ^= Objects.hashCode(fixedValue); + h *= 1000003; + h ^= Objects.hashCode(organization); + h *= 1000003; + h ^= Objects.hashCode(location); + h *= 1000003; + h ^= Objects.hashCode(accessPolicy); + h *= 1000003; + h ^= Objects.hashCode(folder); + h *= 1000003; + h ^= Objects.hashCode(project); + return h; + } + + /** + * Builder for organizations/{organization}/locations/{location}/accessPolicies/{access_policy}. + */ + public static class Builder { + private String organization; + private String location; + private String accessPolicy; + + protected Builder() {} + + public String getOrganization() { + return organization; + } + + public String getLocation() { + return location; + } + + public String getAccessPolicy() { + return accessPolicy; + } + + public Builder setOrganization(String organization) { + this.organization = organization; + return this; + } + + public Builder setLocation(String location) { + this.location = location; + return this; + } + + public Builder setAccessPolicy(String accessPolicy) { + this.accessPolicy = accessPolicy; + return this; + } + + private Builder(AccessPolicyName accessPolicyName) { + Preconditions.checkArgument( + Objects.equals(accessPolicyName.pathTemplate, ORGANIZATION_LOCATION_ACCESS_POLICY), + "toBuilder is only supported when AccessPolicyName has the pattern of" + + " organizations/{organization}/locations/{location}/accessPolicies/{access_policy}"); + this.organization = accessPolicyName.organization; + this.location = accessPolicyName.location; + this.accessPolicy = accessPolicyName.accessPolicy; + } + + public AccessPolicyName build() { + return new AccessPolicyName(this); + } + } + + /** Builder for folders/{folder}/locations/{location}/accessPolicies/{access_policy}. */ + public static class FolderLocationAccessPolicyBuilder { + private String folder; + private String location; + private String accessPolicy; + + protected FolderLocationAccessPolicyBuilder() {} + + public String getFolder() { + return folder; + } + + public String getLocation() { + return location; + } + + public String getAccessPolicy() { + return accessPolicy; + } + + public FolderLocationAccessPolicyBuilder setFolder(String folder) { + this.folder = folder; + return this; + } + + public FolderLocationAccessPolicyBuilder setLocation(String location) { + this.location = location; + return this; + } + + public FolderLocationAccessPolicyBuilder setAccessPolicy(String accessPolicy) { + this.accessPolicy = accessPolicy; + return this; + } + + public AccessPolicyName build() { + return new AccessPolicyName(this); + } + } + + /** Builder for projects/{project}/locations/{location}/accessPolicies/{access_policy}. */ + public static class ProjectLocationAccessPolicyBuilder { + private String project; + private String location; + private String accessPolicy; + + protected ProjectLocationAccessPolicyBuilder() {} + + public String getProject() { + return project; + } + + public String getLocation() { + return location; + } + + public String getAccessPolicy() { + return accessPolicy; + } + + public ProjectLocationAccessPolicyBuilder setProject(String project) { + this.project = project; + return this; + } + + public ProjectLocationAccessPolicyBuilder setLocation(String location) { + this.location = location; + return this; + } + + public ProjectLocationAccessPolicyBuilder setAccessPolicy(String accessPolicy) { + this.accessPolicy = accessPolicy; + return this; + } + + public AccessPolicyName build() { + return new AccessPolicyName(this); + } + } +} diff --git a/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/AccessPolicyOrBuilder.java b/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/AccessPolicyOrBuilder.java new file mode 100644 index 0000000000..2010fbcb67 --- /dev/null +++ b/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/AccessPolicyOrBuilder.java @@ -0,0 +1,358 @@ +/* + * 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/iam/v3beta/access_policy_resources.proto +// Protobuf Java Version: 4.33.2 + +package com.google.iam.v3beta; + +@com.google.protobuf.Generated +public interface AccessPolicyOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.iam.v3beta.AccessPolicy) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Identifier. The resource name of the access policy.
+   *
+   * The following formats are supported:
+   *
+   * * `projects/{project_id}/locations/{location}/accessPolicies/{policy_id}`
+   * * `projects/{project_number}/locations/{location}/accessPolicies/{policy_id}`
+   * * `folders/{folder_id}/locations/{location}/accessPolicies/{policy_id}`
+   * * `organizations/{organization_id}/locations/{location}/accessPolicies/{policy_id}`
+   * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @return The name. + */ + java.lang.String getName(); + + /** + * + * + *
+   * Identifier. The resource name of the access policy.
+   *
+   * The following formats are supported:
+   *
+   * * `projects/{project_id}/locations/{location}/accessPolicies/{policy_id}`
+   * * `projects/{project_number}/locations/{location}/accessPolicies/{policy_id}`
+   * * `folders/{folder_id}/locations/{location}/accessPolicies/{policy_id}`
+   * * `organizations/{organization_id}/locations/{location}/accessPolicies/{policy_id}`
+   * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @return The bytes for name. + */ + com.google.protobuf.ByteString getNameBytes(); + + /** + * + * + *
+   * Output only. The globally unique ID of the access policy.
+   * 
+ * + * + * string uid = 2 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.field_info) = { ... } + * + * + * @return The uid. + */ + java.lang.String getUid(); + + /** + * + * + *
+   * Output only. The globally unique ID of the access policy.
+   * 
+ * + * + * string uid = 2 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.field_info) = { ... } + * + * + * @return The bytes for uid. + */ + com.google.protobuf.ByteString getUidBytes(); + + /** + * + * + *
+   * Optional. The etag for the access policy.
+   * If this is provided on update, it must match the server's etag.
+   * 
+ * + * string etag = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The etag. + */ + java.lang.String getEtag(); + + /** + * + * + *
+   * Optional. The etag for the access policy.
+   * If this is provided on update, it must match the server's etag.
+   * 
+ * + * string etag = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for etag. + */ + com.google.protobuf.ByteString getEtagBytes(); + + /** + * + * + *
+   * Optional. The description of the access policy. Must be less than
+   * or equal to 63 characters.
+   * 
+ * + * string display_name = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The displayName. + */ + java.lang.String getDisplayName(); + + /** + * + * + *
+   * Optional. The description of the access policy. Must be less than
+   * or equal to 63 characters.
+   * 
+ * + * string display_name = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for displayName. + */ + com.google.protobuf.ByteString getDisplayNameBytes(); + + /** + * + * + *
+   * Optional. User defined annotations. See
+   * https://google.aip.dev/148#annotations for more details such as format and
+   * size limitations
+   * 
+ * + * map<string, string> annotations = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + int getAnnotationsCount(); + + /** + * + * + *
+   * Optional. User defined annotations. See
+   * https://google.aip.dev/148#annotations for more details such as format and
+   * size limitations
+   * 
+ * + * map<string, string> annotations = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + boolean containsAnnotations(java.lang.String key); + + /** Use {@link #getAnnotationsMap()} instead. */ + @java.lang.Deprecated + java.util.Map getAnnotations(); + + /** + * + * + *
+   * Optional. User defined annotations. See
+   * https://google.aip.dev/148#annotations for more details such as format and
+   * size limitations
+   * 
+ * + * map<string, string> annotations = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + java.util.Map getAnnotationsMap(); + + /** + * + * + *
+   * Optional. User defined annotations. See
+   * https://google.aip.dev/148#annotations for more details such as format and
+   * size limitations
+   * 
+ * + * map<string, string> annotations = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + /* nullable */ + java.lang.String getAnnotationsOrDefault( + java.lang.String key, + /* nullable */ + java.lang.String defaultValue); + + /** + * + * + *
+   * Optional. User defined annotations. See
+   * https://google.aip.dev/148#annotations for more details such as format and
+   * size limitations
+   * 
+ * + * map<string, string> annotations = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + java.lang.String getAnnotationsOrThrow(java.lang.String key); + + /** + * + * + *
+   * Output only. The time when the access policy was created.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the createTime field is set. + */ + boolean hasCreateTime(); + + /** + * + * + *
+   * Output only. The time when the access policy was created.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The createTime. + */ + com.google.protobuf.Timestamp getCreateTime(); + + /** + * + * + *
+   * Output only. The time when the access policy was created.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder(); + + /** + * + * + *
+   * Output only. The time when the access policy was most recently
+   * updated.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the updateTime field is set. + */ + boolean hasUpdateTime(); + + /** + * + * + *
+   * Output only. The time when the access policy was most recently
+   * updated.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The updateTime. + */ + com.google.protobuf.Timestamp getUpdateTime(); + + /** + * + * + *
+   * Output only. The time when the access policy was most recently
+   * updated.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.protobuf.TimestampOrBuilder getUpdateTimeOrBuilder(); + + /** + * + * + *
+   * Optional. The details for the access policy.
+   * 
+ * + * + * .google.iam.v3beta.AccessPolicyDetails details = 8 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the details field is set. + */ + boolean hasDetails(); + + /** + * + * + *
+   * Optional. The details for the access policy.
+   * 
+ * + * + * .google.iam.v3beta.AccessPolicyDetails details = 8 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The details. + */ + com.google.iam.v3beta.AccessPolicyDetails getDetails(); + + /** + * + * + *
+   * Optional. The details for the access policy.
+   * 
+ * + * + * .google.iam.v3beta.AccessPolicyDetails details = 8 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + com.google.iam.v3beta.AccessPolicyDetailsOrBuilder getDetailsOrBuilder(); +} diff --git a/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/AccessPolicyResourcesProto.java b/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/AccessPolicyResourcesProto.java new file mode 100644 index 0000000000..7b7f6a85dd --- /dev/null +++ b/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/AccessPolicyResourcesProto.java @@ -0,0 +1,215 @@ +/* + * 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/iam/v3beta/access_policy_resources.proto +// Protobuf Java Version: 4.33.2 + +package com.google.iam.v3beta; + +@com.google.protobuf.Generated +public final class AccessPolicyResourcesProto extends com.google.protobuf.GeneratedFile { + private AccessPolicyResourcesProto() {} + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "AccessPolicyResourcesProto"); + } + + public static void registerAllExtensions(com.google.protobuf.ExtensionRegistryLite registry) {} + + public static void registerAllExtensions(com.google.protobuf.ExtensionRegistry registry) { + registerAllExtensions((com.google.protobuf.ExtensionRegistryLite) registry); + } + + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_iam_v3beta_AccessPolicy_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_iam_v3beta_AccessPolicy_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_iam_v3beta_AccessPolicy_AnnotationsEntry_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_iam_v3beta_AccessPolicy_AnnotationsEntry_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_iam_v3beta_AccessPolicyDetails_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_iam_v3beta_AccessPolicyDetails_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_iam_v3beta_AccessPolicyRule_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_iam_v3beta_AccessPolicyRule_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_iam_v3beta_AccessPolicyRule_Operation_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_iam_v3beta_AccessPolicyRule_Operation_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_iam_v3beta_AccessPolicyRule_ConditionsEntry_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_iam_v3beta_AccessPolicyRule_ConditionsEntry_fieldAccessorTable; + + public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + return descriptor; + } + + private static com.google.protobuf.Descriptors.FileDescriptor descriptor; + + static { + java.lang.String[] descriptorData = { + "\n" + + "/google/iam/v3beta/access_policy_resour" + + "ces.proto\022\021google.iam.v3beta\032\037google/api" + + "/field_behavior.proto\032\033google/api/field_" + + "info.proto\032\031google/api/resource.proto\032\037g" + + "oogle/protobuf/timestamp.proto\032\026google/type/expr.proto\"\271\005\n" + + "\014AccessPolicy\022\021\n" + + "\004name\030\001 \001(\tB\003\340A\010\022\030\n" + + "\003uid\030\002 \001(\tB\013\340A\003\342\214\317\327\010\002\010\001\022\021\n" + + "\004etag\030\003 \001(\tB\003\340A\001\022\031\n" + + "\014display_name\030\004 \001(\tB\003\340A\001\022J\n" + + "\013annotations\030\005 \003(\01320.google.iam.v3b" + + "eta.AccessPolicy.AnnotationsEntryB\003\340A\001\0224\n" + + "\013create_time\030\006 \001(\0132\032.google.protobuf.TimestampB\003\340A\003\0224\n" + + "\013update_time\030\007 \001(\0132\032.google.protobuf.TimestampB\003\340A\003\022<\n" + + "\007details\030\010 " + + "\001(\0132&.google.iam.v3beta.AccessPolicyDetailsB\003\340A\001\0322\n" + + "\020AnnotationsEntry\022\013\n" + + "\003key\030\001 \001(\t\022\r\n" + + "\005value\030\002 \001(\t:\0028\001:\243\002\352A\237\002\n" + + "\037iam.googleapis.com/AccessPolicy\022Porganizations/{org" + + "anization}/locations/{location}/accessPolicies/{access_policy}\022Dfolders/{folder}" + + "/locations/{location}/accessPolicies/{access_policy}\022Fprojects/{project}/locatio" + + "ns/{location}/accessPolicies/{access_policy}*\016accessPolicies2\014accessPolicy\"N\n" + + "\023AccessPolicyDetails\0227\n" + + "\005rules\030\001" + + " \003(\0132#.google.iam.v3beta.AccessPolicyRuleB\003\340A\002\"\251\004\n" + + "\020AccessPolicyRule\022\035\n" + + "\013description\030\001 \001(\tB\003\340A\001H\000\210\001\001\022D\n" + + "\006effect\030\002" + + " \001(\0162*.google.iam.v3beta.AccessPolicyRule.EffectB\003\340A\002H\001\210\001\001\022\027\n\n" + + "principals\030\003 \003(\tB\003\340A\002\022 \n" + + "\023excluded_principals\030\004 \003(\tB\003\340A\001\022E\n" + + "\toperation\030\n" + + " \001(\0132-.google.iam.v3beta.AccessPolicyRule.OperationB\003\340A\002\022L\n\n" + + "conditions\030\t \003(\01323.google.iam." + + "v3beta.AccessPolicyRule.ConditionsEntryB\003\340A\001\032H\n" + + "\tOperation\022\030\n" + + "\013permissions\030\001 \003(\tB\003\340A\001\022!\n" + + "\024excluded_permissions\030\002 \003(\tB\003\340A\001\032D\n" + + "\017ConditionsEntry\022\013\n" + + "\003key\030\001 \001(\t\022 \n" + + "\005value\030\002 \001(\0132\021.google.type.Expr:\0028\001\"5\n" + + "\006Effect\022\026\n" + + "\022EFFECT_UNSPECIFIED\020\000\022\010\n" + + "\004DENY\020\001\022\t\n" + + "\005ALLOW\020\002B\016\n" + + "\014_descriptionB\t\n" + + "\007_effectB\230\001\n" + + "\025com.google.iam.v3betaB\032AccessPolicyResourcesP" + + "rotoP\001Z-cloud.google.com/go/iam/apiv3bet" + + "a/iampb;iampb\252\002\027Google.Cloud.Iam.V3Beta\312" + + "\002\027Google\\Cloud\\Iam\\V3betab\006proto3" + }; + descriptor = + com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( + descriptorData, + new com.google.protobuf.Descriptors.FileDescriptor[] { + com.google.api.FieldBehaviorProto.getDescriptor(), + com.google.api.FieldInfoProto.getDescriptor(), + com.google.api.ResourceProto.getDescriptor(), + com.google.protobuf.TimestampProto.getDescriptor(), + com.google.type.ExprProto.getDescriptor(), + }); + internal_static_google_iam_v3beta_AccessPolicy_descriptor = getDescriptor().getMessageType(0); + internal_static_google_iam_v3beta_AccessPolicy_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_iam_v3beta_AccessPolicy_descriptor, + new java.lang.String[] { + "Name", + "Uid", + "Etag", + "DisplayName", + "Annotations", + "CreateTime", + "UpdateTime", + "Details", + }); + internal_static_google_iam_v3beta_AccessPolicy_AnnotationsEntry_descriptor = + internal_static_google_iam_v3beta_AccessPolicy_descriptor.getNestedType(0); + internal_static_google_iam_v3beta_AccessPolicy_AnnotationsEntry_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_iam_v3beta_AccessPolicy_AnnotationsEntry_descriptor, + new java.lang.String[] { + "Key", "Value", + }); + internal_static_google_iam_v3beta_AccessPolicyDetails_descriptor = + getDescriptor().getMessageType(1); + internal_static_google_iam_v3beta_AccessPolicyDetails_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_iam_v3beta_AccessPolicyDetails_descriptor, + new java.lang.String[] { + "Rules", + }); + internal_static_google_iam_v3beta_AccessPolicyRule_descriptor = + getDescriptor().getMessageType(2); + internal_static_google_iam_v3beta_AccessPolicyRule_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_iam_v3beta_AccessPolicyRule_descriptor, + new java.lang.String[] { + "Description", + "Effect", + "Principals", + "ExcludedPrincipals", + "Operation", + "Conditions", + }); + internal_static_google_iam_v3beta_AccessPolicyRule_Operation_descriptor = + internal_static_google_iam_v3beta_AccessPolicyRule_descriptor.getNestedType(0); + internal_static_google_iam_v3beta_AccessPolicyRule_Operation_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_iam_v3beta_AccessPolicyRule_Operation_descriptor, + new java.lang.String[] { + "Permissions", "ExcludedPermissions", + }); + internal_static_google_iam_v3beta_AccessPolicyRule_ConditionsEntry_descriptor = + internal_static_google_iam_v3beta_AccessPolicyRule_descriptor.getNestedType(1); + internal_static_google_iam_v3beta_AccessPolicyRule_ConditionsEntry_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_iam_v3beta_AccessPolicyRule_ConditionsEntry_descriptor, + new java.lang.String[] { + "Key", "Value", + }); + descriptor.resolveAllFeaturesImmutable(); + com.google.api.FieldBehaviorProto.getDescriptor(); + com.google.api.FieldInfoProto.getDescriptor(); + com.google.api.ResourceProto.getDescriptor(); + com.google.protobuf.TimestampProto.getDescriptor(); + com.google.type.ExprProto.getDescriptor(); + com.google.protobuf.ExtensionRegistry registry = + com.google.protobuf.ExtensionRegistry.newInstance(); + registry.add(com.google.api.FieldBehaviorProto.fieldBehavior); + registry.add(com.google.api.FieldInfoProto.fieldInfo); + registry.add(com.google.api.ResourceProto.resource); + com.google.protobuf.Descriptors.FileDescriptor.internalUpdateFileDescriptor( + descriptor, registry); + } + + // @@protoc_insertion_point(outer_class_scope) +} diff --git a/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/AccessPolicyRule.java b/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/AccessPolicyRule.java new file mode 100644 index 0000000000..2649a43982 --- /dev/null +++ b/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/AccessPolicyRule.java @@ -0,0 +1,4521 @@ +/* + * 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/iam/v3beta/access_policy_resources.proto +// Protobuf Java Version: 4.33.2 + +package com.google.iam.v3beta; + +/** + * + * + *
+ * Access Policy Rule that determines the behavior of the policy.
+ * 
+ * + * Protobuf type {@code google.iam.v3beta.AccessPolicyRule} + */ +@com.google.protobuf.Generated +public final class AccessPolicyRule extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.iam.v3beta.AccessPolicyRule) + AccessPolicyRuleOrBuilder { + 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= */ "", + "AccessPolicyRule"); + } + + // Use AccessPolicyRule.newBuilder() to construct. + private AccessPolicyRule(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private AccessPolicyRule() { + description_ = ""; + effect_ = 0; + principals_ = com.google.protobuf.LazyStringArrayList.emptyList(); + excludedPrincipals_ = com.google.protobuf.LazyStringArrayList.emptyList(); + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.iam.v3beta.AccessPolicyResourcesProto + .internal_static_google_iam_v3beta_AccessPolicyRule_descriptor; + } + + @SuppressWarnings({"rawtypes"}) + @java.lang.Override + protected com.google.protobuf.MapFieldReflectionAccessor internalGetMapFieldReflection( + int number) { + switch (number) { + case 9: + return internalGetConditions(); + default: + throw new RuntimeException("Invalid map field number: " + number); + } + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.iam.v3beta.AccessPolicyResourcesProto + .internal_static_google_iam_v3beta_AccessPolicyRule_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.iam.v3beta.AccessPolicyRule.class, + com.google.iam.v3beta.AccessPolicyRule.Builder.class); + } + + /** + * + * + *
+   * An effect to describe the access relationship.
+   * 
+ * + * Protobuf enum {@code google.iam.v3beta.AccessPolicyRule.Effect} + */ + public enum Effect implements com.google.protobuf.ProtocolMessageEnum { + /** + * + * + *
+     * The effect is unspecified.
+     * 
+ * + * EFFECT_UNSPECIFIED = 0; + */ + EFFECT_UNSPECIFIED(0), + /** + * + * + *
+     * The policy will deny access if it evaluates to true.
+     * 
+ * + * DENY = 1; + */ + DENY(1), + /** + * + * + *
+     * The policy will grant access if it evaluates to true.
+     * 
+ * + * ALLOW = 2; + */ + ALLOW(2), + UNRECOGNIZED(-1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "Effect"); + } + + /** + * + * + *
+     * The effect is unspecified.
+     * 
+ * + * EFFECT_UNSPECIFIED = 0; + */ + public static final int EFFECT_UNSPECIFIED_VALUE = 0; + + /** + * + * + *
+     * The policy will deny access if it evaluates to true.
+     * 
+ * + * DENY = 1; + */ + public static final int DENY_VALUE = 1; + + /** + * + * + *
+     * The policy will grant access if it evaluates to true.
+     * 
+ * + * ALLOW = 2; + */ + public static final int ALLOW_VALUE = 2; + + public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } + return value; + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static Effect 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 Effect forNumber(int value) { + switch (value) { + case 0: + return EFFECT_UNSPECIFIED; + case 1: + return DENY; + case 2: + return ALLOW; + default: + return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap internalGetValueMap() { + return internalValueMap; + } + + private static final com.google.protobuf.Internal.EnumLiteMap internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public Effect findValueByNumber(int number) { + return Effect.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.iam.v3beta.AccessPolicyRule.getDescriptor().getEnumTypes().get(0); + } + + private static final Effect[] VALUES = values(); + + public static Effect 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 Effect(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:google.iam.v3beta.AccessPolicyRule.Effect) + } + + public interface OperationOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.iam.v3beta.AccessPolicyRule.Operation) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+     * Optional. The permissions that are explicitly affected by this rule. Each
+     * permission uses the format `{service_fqdn}/{resource}.{verb}`, where
+     * `{service_fqdn}` is the fully qualified domain name for the service.
+     * Currently supported permissions are as follows:
+     *
+     * * `eventarc.googleapis.com/messageBuses.publish`.
+     * 
+ * + * repeated string permissions = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return A list containing the permissions. + */ + java.util.List getPermissionsList(); + + /** + * + * + *
+     * Optional. The permissions that are explicitly affected by this rule. Each
+     * permission uses the format `{service_fqdn}/{resource}.{verb}`, where
+     * `{service_fqdn}` is the fully qualified domain name for the service.
+     * Currently supported permissions are as follows:
+     *
+     * * `eventarc.googleapis.com/messageBuses.publish`.
+     * 
+ * + * repeated string permissions = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The count of permissions. + */ + int getPermissionsCount(); + + /** + * + * + *
+     * Optional. The permissions that are explicitly affected by this rule. Each
+     * permission uses the format `{service_fqdn}/{resource}.{verb}`, where
+     * `{service_fqdn}` is the fully qualified domain name for the service.
+     * Currently supported permissions are as follows:
+     *
+     * * `eventarc.googleapis.com/messageBuses.publish`.
+     * 
+ * + * repeated string permissions = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param index The index of the element to return. + * @return The permissions at the given index. + */ + java.lang.String getPermissions(int index); + + /** + * + * + *
+     * Optional. The permissions that are explicitly affected by this rule. Each
+     * permission uses the format `{service_fqdn}/{resource}.{verb}`, where
+     * `{service_fqdn}` is the fully qualified domain name for the service.
+     * Currently supported permissions are as follows:
+     *
+     * * `eventarc.googleapis.com/messageBuses.publish`.
+     * 
+ * + * repeated string permissions = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param index The index of the value to return. + * @return The bytes of the permissions at the given index. + */ + com.google.protobuf.ByteString getPermissionsBytes(int index); + + /** + * + * + *
+     * Optional. Specifies the permissions that this rule excludes from the set
+     * of affected permissions given by `permissions`. If a permission appears
+     * in `permissions` _and_ in `excluded_permissions` then it will _not_ be
+     * subject to the policy effect.
+     *
+     * The excluded permissions can be specified using the same syntax as
+     * `permissions`.
+     * 
+ * + * repeated string excluded_permissions = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return A list containing the excludedPermissions. + */ + java.util.List getExcludedPermissionsList(); + + /** + * + * + *
+     * Optional. Specifies the permissions that this rule excludes from the set
+     * of affected permissions given by `permissions`. If a permission appears
+     * in `permissions` _and_ in `excluded_permissions` then it will _not_ be
+     * subject to the policy effect.
+     *
+     * The excluded permissions can be specified using the same syntax as
+     * `permissions`.
+     * 
+ * + * repeated string excluded_permissions = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The count of excludedPermissions. + */ + int getExcludedPermissionsCount(); + + /** + * + * + *
+     * Optional. Specifies the permissions that this rule excludes from the set
+     * of affected permissions given by `permissions`. If a permission appears
+     * in `permissions` _and_ in `excluded_permissions` then it will _not_ be
+     * subject to the policy effect.
+     *
+     * The excluded permissions can be specified using the same syntax as
+     * `permissions`.
+     * 
+ * + * repeated string excluded_permissions = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @param index The index of the element to return. + * @return The excludedPermissions at the given index. + */ + java.lang.String getExcludedPermissions(int index); + + /** + * + * + *
+     * Optional. Specifies the permissions that this rule excludes from the set
+     * of affected permissions given by `permissions`. If a permission appears
+     * in `permissions` _and_ in `excluded_permissions` then it will _not_ be
+     * subject to the policy effect.
+     *
+     * The excluded permissions can be specified using the same syntax as
+     * `permissions`.
+     * 
+ * + * repeated string excluded_permissions = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @param index The index of the value to return. + * @return The bytes of the excludedPermissions at the given index. + */ + com.google.protobuf.ByteString getExcludedPermissionsBytes(int index); + } + + /** + * + * + *
+   * Attributes that are used to determine whether this rule applies to a
+   * request.
+   * 
+ * + * Protobuf type {@code google.iam.v3beta.AccessPolicyRule.Operation} + */ + public static final class Operation extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.iam.v3beta.AccessPolicyRule.Operation) + OperationOrBuilder { + 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= */ "", + "Operation"); + } + + // Use Operation.newBuilder() to construct. + private Operation(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private Operation() { + permissions_ = com.google.protobuf.LazyStringArrayList.emptyList(); + excludedPermissions_ = com.google.protobuf.LazyStringArrayList.emptyList(); + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.iam.v3beta.AccessPolicyResourcesProto + .internal_static_google_iam_v3beta_AccessPolicyRule_Operation_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.iam.v3beta.AccessPolicyResourcesProto + .internal_static_google_iam_v3beta_AccessPolicyRule_Operation_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.iam.v3beta.AccessPolicyRule.Operation.class, + com.google.iam.v3beta.AccessPolicyRule.Operation.Builder.class); + } + + public static final int PERMISSIONS_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private com.google.protobuf.LazyStringArrayList permissions_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + + /** + * + * + *
+     * Optional. The permissions that are explicitly affected by this rule. Each
+     * permission uses the format `{service_fqdn}/{resource}.{verb}`, where
+     * `{service_fqdn}` is the fully qualified domain name for the service.
+     * Currently supported permissions are as follows:
+     *
+     * * `eventarc.googleapis.com/messageBuses.publish`.
+     * 
+ * + * repeated string permissions = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return A list containing the permissions. + */ + public com.google.protobuf.ProtocolStringList getPermissionsList() { + return permissions_; + } + + /** + * + * + *
+     * Optional. The permissions that are explicitly affected by this rule. Each
+     * permission uses the format `{service_fqdn}/{resource}.{verb}`, where
+     * `{service_fqdn}` is the fully qualified domain name for the service.
+     * Currently supported permissions are as follows:
+     *
+     * * `eventarc.googleapis.com/messageBuses.publish`.
+     * 
+ * + * repeated string permissions = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The count of permissions. + */ + public int getPermissionsCount() { + return permissions_.size(); + } + + /** + * + * + *
+     * Optional. The permissions that are explicitly affected by this rule. Each
+     * permission uses the format `{service_fqdn}/{resource}.{verb}`, where
+     * `{service_fqdn}` is the fully qualified domain name for the service.
+     * Currently supported permissions are as follows:
+     *
+     * * `eventarc.googleapis.com/messageBuses.publish`.
+     * 
+ * + * repeated string permissions = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param index The index of the element to return. + * @return The permissions at the given index. + */ + public java.lang.String getPermissions(int index) { + return permissions_.get(index); + } + + /** + * + * + *
+     * Optional. The permissions that are explicitly affected by this rule. Each
+     * permission uses the format `{service_fqdn}/{resource}.{verb}`, where
+     * `{service_fqdn}` is the fully qualified domain name for the service.
+     * Currently supported permissions are as follows:
+     *
+     * * `eventarc.googleapis.com/messageBuses.publish`.
+     * 
+ * + * repeated string permissions = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param index The index of the value to return. + * @return The bytes of the permissions at the given index. + */ + public com.google.protobuf.ByteString getPermissionsBytes(int index) { + return permissions_.getByteString(index); + } + + public static final int EXCLUDED_PERMISSIONS_FIELD_NUMBER = 2; + + @SuppressWarnings("serial") + private com.google.protobuf.LazyStringArrayList excludedPermissions_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + + /** + * + * + *
+     * Optional. Specifies the permissions that this rule excludes from the set
+     * of affected permissions given by `permissions`. If a permission appears
+     * in `permissions` _and_ in `excluded_permissions` then it will _not_ be
+     * subject to the policy effect.
+     *
+     * The excluded permissions can be specified using the same syntax as
+     * `permissions`.
+     * 
+ * + * repeated string excluded_permissions = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return A list containing the excludedPermissions. + */ + public com.google.protobuf.ProtocolStringList getExcludedPermissionsList() { + return excludedPermissions_; + } + + /** + * + * + *
+     * Optional. Specifies the permissions that this rule excludes from the set
+     * of affected permissions given by `permissions`. If a permission appears
+     * in `permissions` _and_ in `excluded_permissions` then it will _not_ be
+     * subject to the policy effect.
+     *
+     * The excluded permissions can be specified using the same syntax as
+     * `permissions`.
+     * 
+ * + * repeated string excluded_permissions = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The count of excludedPermissions. + */ + public int getExcludedPermissionsCount() { + return excludedPermissions_.size(); + } + + /** + * + * + *
+     * Optional. Specifies the permissions that this rule excludes from the set
+     * of affected permissions given by `permissions`. If a permission appears
+     * in `permissions` _and_ in `excluded_permissions` then it will _not_ be
+     * subject to the policy effect.
+     *
+     * The excluded permissions can be specified using the same syntax as
+     * `permissions`.
+     * 
+ * + * repeated string excluded_permissions = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @param index The index of the element to return. + * @return The excludedPermissions at the given index. + */ + public java.lang.String getExcludedPermissions(int index) { + return excludedPermissions_.get(index); + } + + /** + * + * + *
+     * Optional. Specifies the permissions that this rule excludes from the set
+     * of affected permissions given by `permissions`. If a permission appears
+     * in `permissions` _and_ in `excluded_permissions` then it will _not_ be
+     * subject to the policy effect.
+     *
+     * The excluded permissions can be specified using the same syntax as
+     * `permissions`.
+     * 
+ * + * repeated string excluded_permissions = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @param index The index of the value to return. + * @return The bytes of the excludedPermissions at the given index. + */ + public com.google.protobuf.ByteString getExcludedPermissionsBytes(int index) { + return excludedPermissions_.getByteString(index); + } + + 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 { + for (int i = 0; i < permissions_.size(); i++) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, permissions_.getRaw(i)); + } + for (int i = 0; i < excludedPermissions_.size(); i++) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, excludedPermissions_.getRaw(i)); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + { + int dataSize = 0; + for (int i = 0; i < permissions_.size(); i++) { + dataSize += computeStringSizeNoTag(permissions_.getRaw(i)); + } + size += dataSize; + size += 1 * getPermissionsList().size(); + } + { + int dataSize = 0; + for (int i = 0; i < excludedPermissions_.size(); i++) { + dataSize += computeStringSizeNoTag(excludedPermissions_.getRaw(i)); + } + size += dataSize; + size += 1 * getExcludedPermissionsList().size(); + } + 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.iam.v3beta.AccessPolicyRule.Operation)) { + return super.equals(obj); + } + com.google.iam.v3beta.AccessPolicyRule.Operation other = + (com.google.iam.v3beta.AccessPolicyRule.Operation) obj; + + if (!getPermissionsList().equals(other.getPermissionsList())) return false; + if (!getExcludedPermissionsList().equals(other.getExcludedPermissionsList())) 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 (getPermissionsCount() > 0) { + hash = (37 * hash) + PERMISSIONS_FIELD_NUMBER; + hash = (53 * hash) + getPermissionsList().hashCode(); + } + if (getExcludedPermissionsCount() > 0) { + hash = (37 * hash) + EXCLUDED_PERMISSIONS_FIELD_NUMBER; + hash = (53 * hash) + getExcludedPermissionsList().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.iam.v3beta.AccessPolicyRule.Operation parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.iam.v3beta.AccessPolicyRule.Operation parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.iam.v3beta.AccessPolicyRule.Operation parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.iam.v3beta.AccessPolicyRule.Operation 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.iam.v3beta.AccessPolicyRule.Operation parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.iam.v3beta.AccessPolicyRule.Operation parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.iam.v3beta.AccessPolicyRule.Operation parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.iam.v3beta.AccessPolicyRule.Operation 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.iam.v3beta.AccessPolicyRule.Operation parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.iam.v3beta.AccessPolicyRule.Operation 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.iam.v3beta.AccessPolicyRule.Operation parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.iam.v3beta.AccessPolicyRule.Operation 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.iam.v3beta.AccessPolicyRule.Operation 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; + } + + /** + * + * + *
+     * Attributes that are used to determine whether this rule applies to a
+     * request.
+     * 
+ * + * Protobuf type {@code google.iam.v3beta.AccessPolicyRule.Operation} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.iam.v3beta.AccessPolicyRule.Operation) + com.google.iam.v3beta.AccessPolicyRule.OperationOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.iam.v3beta.AccessPolicyResourcesProto + .internal_static_google_iam_v3beta_AccessPolicyRule_Operation_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.iam.v3beta.AccessPolicyResourcesProto + .internal_static_google_iam_v3beta_AccessPolicyRule_Operation_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.iam.v3beta.AccessPolicyRule.Operation.class, + com.google.iam.v3beta.AccessPolicyRule.Operation.Builder.class); + } + + // Construct using com.google.iam.v3beta.AccessPolicyRule.Operation.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + permissions_ = com.google.protobuf.LazyStringArrayList.emptyList(); + excludedPermissions_ = com.google.protobuf.LazyStringArrayList.emptyList(); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.iam.v3beta.AccessPolicyResourcesProto + .internal_static_google_iam_v3beta_AccessPolicyRule_Operation_descriptor; + } + + @java.lang.Override + public com.google.iam.v3beta.AccessPolicyRule.Operation getDefaultInstanceForType() { + return com.google.iam.v3beta.AccessPolicyRule.Operation.getDefaultInstance(); + } + + @java.lang.Override + public com.google.iam.v3beta.AccessPolicyRule.Operation build() { + com.google.iam.v3beta.AccessPolicyRule.Operation result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.iam.v3beta.AccessPolicyRule.Operation buildPartial() { + com.google.iam.v3beta.AccessPolicyRule.Operation result = + new com.google.iam.v3beta.AccessPolicyRule.Operation(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0(com.google.iam.v3beta.AccessPolicyRule.Operation result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + permissions_.makeImmutable(); + result.permissions_ = permissions_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + excludedPermissions_.makeImmutable(); + result.excludedPermissions_ = excludedPermissions_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.iam.v3beta.AccessPolicyRule.Operation) { + return mergeFrom((com.google.iam.v3beta.AccessPolicyRule.Operation) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.iam.v3beta.AccessPolicyRule.Operation other) { + if (other == com.google.iam.v3beta.AccessPolicyRule.Operation.getDefaultInstance()) + return this; + if (!other.permissions_.isEmpty()) { + if (permissions_.isEmpty()) { + permissions_ = other.permissions_; + bitField0_ |= 0x00000001; + } else { + ensurePermissionsIsMutable(); + permissions_.addAll(other.permissions_); + } + onChanged(); + } + if (!other.excludedPermissions_.isEmpty()) { + if (excludedPermissions_.isEmpty()) { + excludedPermissions_ = other.excludedPermissions_; + bitField0_ |= 0x00000002; + } else { + ensureExcludedPermissionsIsMutable(); + excludedPermissions_.addAll(other.excludedPermissions_); + } + 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: + { + java.lang.String s = input.readStringRequireUtf8(); + ensurePermissionsIsMutable(); + permissions_.add(s); + break; + } // case 10 + case 18: + { + java.lang.String s = input.readStringRequireUtf8(); + ensureExcludedPermissionsIsMutable(); + excludedPermissions_.add(s); + 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.protobuf.LazyStringArrayList permissions_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + + private void ensurePermissionsIsMutable() { + if (!permissions_.isModifiable()) { + permissions_ = new com.google.protobuf.LazyStringArrayList(permissions_); + } + bitField0_ |= 0x00000001; + } + + /** + * + * + *
+       * Optional. The permissions that are explicitly affected by this rule. Each
+       * permission uses the format `{service_fqdn}/{resource}.{verb}`, where
+       * `{service_fqdn}` is the fully qualified domain name for the service.
+       * Currently supported permissions are as follows:
+       *
+       * * `eventarc.googleapis.com/messageBuses.publish`.
+       * 
+ * + * repeated string permissions = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return A list containing the permissions. + */ + public com.google.protobuf.ProtocolStringList getPermissionsList() { + permissions_.makeImmutable(); + return permissions_; + } + + /** + * + * + *
+       * Optional. The permissions that are explicitly affected by this rule. Each
+       * permission uses the format `{service_fqdn}/{resource}.{verb}`, where
+       * `{service_fqdn}` is the fully qualified domain name for the service.
+       * Currently supported permissions are as follows:
+       *
+       * * `eventarc.googleapis.com/messageBuses.publish`.
+       * 
+ * + * repeated string permissions = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The count of permissions. + */ + public int getPermissionsCount() { + return permissions_.size(); + } + + /** + * + * + *
+       * Optional. The permissions that are explicitly affected by this rule. Each
+       * permission uses the format `{service_fqdn}/{resource}.{verb}`, where
+       * `{service_fqdn}` is the fully qualified domain name for the service.
+       * Currently supported permissions are as follows:
+       *
+       * * `eventarc.googleapis.com/messageBuses.publish`.
+       * 
+ * + * repeated string permissions = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param index The index of the element to return. + * @return The permissions at the given index. + */ + public java.lang.String getPermissions(int index) { + return permissions_.get(index); + } + + /** + * + * + *
+       * Optional. The permissions that are explicitly affected by this rule. Each
+       * permission uses the format `{service_fqdn}/{resource}.{verb}`, where
+       * `{service_fqdn}` is the fully qualified domain name for the service.
+       * Currently supported permissions are as follows:
+       *
+       * * `eventarc.googleapis.com/messageBuses.publish`.
+       * 
+ * + * repeated string permissions = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param index The index of the value to return. + * @return The bytes of the permissions at the given index. + */ + public com.google.protobuf.ByteString getPermissionsBytes(int index) { + return permissions_.getByteString(index); + } + + /** + * + * + *
+       * Optional. The permissions that are explicitly affected by this rule. Each
+       * permission uses the format `{service_fqdn}/{resource}.{verb}`, where
+       * `{service_fqdn}` is the fully qualified domain name for the service.
+       * Currently supported permissions are as follows:
+       *
+       * * `eventarc.googleapis.com/messageBuses.publish`.
+       * 
+ * + * repeated string permissions = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param index The index to set the value at. + * @param value The permissions to set. + * @return This builder for chaining. + */ + public Builder setPermissions(int index, java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensurePermissionsIsMutable(); + permissions_.set(index, value); + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+       * Optional. The permissions that are explicitly affected by this rule. Each
+       * permission uses the format `{service_fqdn}/{resource}.{verb}`, where
+       * `{service_fqdn}` is the fully qualified domain name for the service.
+       * Currently supported permissions are as follows:
+       *
+       * * `eventarc.googleapis.com/messageBuses.publish`.
+       * 
+ * + * repeated string permissions = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The permissions to add. + * @return This builder for chaining. + */ + public Builder addPermissions(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensurePermissionsIsMutable(); + permissions_.add(value); + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+       * Optional. The permissions that are explicitly affected by this rule. Each
+       * permission uses the format `{service_fqdn}/{resource}.{verb}`, where
+       * `{service_fqdn}` is the fully qualified domain name for the service.
+       * Currently supported permissions are as follows:
+       *
+       * * `eventarc.googleapis.com/messageBuses.publish`.
+       * 
+ * + * repeated string permissions = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param values The permissions to add. + * @return This builder for chaining. + */ + public Builder addAllPermissions(java.lang.Iterable values) { + ensurePermissionsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, permissions_); + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+       * Optional. The permissions that are explicitly affected by this rule. Each
+       * permission uses the format `{service_fqdn}/{resource}.{verb}`, where
+       * `{service_fqdn}` is the fully qualified domain name for the service.
+       * Currently supported permissions are as follows:
+       *
+       * * `eventarc.googleapis.com/messageBuses.publish`.
+       * 
+ * + * repeated string permissions = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearPermissions() { + permissions_ = com.google.protobuf.LazyStringArrayList.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + ; + onChanged(); + return this; + } + + /** + * + * + *
+       * Optional. The permissions that are explicitly affected by this rule. Each
+       * permission uses the format `{service_fqdn}/{resource}.{verb}`, where
+       * `{service_fqdn}` is the fully qualified domain name for the service.
+       * Currently supported permissions are as follows:
+       *
+       * * `eventarc.googleapis.com/messageBuses.publish`.
+       * 
+ * + * repeated string permissions = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes of the permissions to add. + * @return This builder for chaining. + */ + public Builder addPermissionsBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + ensurePermissionsIsMutable(); + permissions_.add(value); + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private com.google.protobuf.LazyStringArrayList excludedPermissions_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + + private void ensureExcludedPermissionsIsMutable() { + if (!excludedPermissions_.isModifiable()) { + excludedPermissions_ = new com.google.protobuf.LazyStringArrayList(excludedPermissions_); + } + bitField0_ |= 0x00000002; + } + + /** + * + * + *
+       * Optional. Specifies the permissions that this rule excludes from the set
+       * of affected permissions given by `permissions`. If a permission appears
+       * in `permissions` _and_ in `excluded_permissions` then it will _not_ be
+       * subject to the policy effect.
+       *
+       * The excluded permissions can be specified using the same syntax as
+       * `permissions`.
+       * 
+ * + * repeated string excluded_permissions = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return A list containing the excludedPermissions. + */ + public com.google.protobuf.ProtocolStringList getExcludedPermissionsList() { + excludedPermissions_.makeImmutable(); + return excludedPermissions_; + } + + /** + * + * + *
+       * Optional. Specifies the permissions that this rule excludes from the set
+       * of affected permissions given by `permissions`. If a permission appears
+       * in `permissions` _and_ in `excluded_permissions` then it will _not_ be
+       * subject to the policy effect.
+       *
+       * The excluded permissions can be specified using the same syntax as
+       * `permissions`.
+       * 
+ * + * repeated string excluded_permissions = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The count of excludedPermissions. + */ + public int getExcludedPermissionsCount() { + return excludedPermissions_.size(); + } + + /** + * + * + *
+       * Optional. Specifies the permissions that this rule excludes from the set
+       * of affected permissions given by `permissions`. If a permission appears
+       * in `permissions` _and_ in `excluded_permissions` then it will _not_ be
+       * subject to the policy effect.
+       *
+       * The excluded permissions can be specified using the same syntax as
+       * `permissions`.
+       * 
+ * + * repeated string excluded_permissions = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @param index The index of the element to return. + * @return The excludedPermissions at the given index. + */ + public java.lang.String getExcludedPermissions(int index) { + return excludedPermissions_.get(index); + } + + /** + * + * + *
+       * Optional. Specifies the permissions that this rule excludes from the set
+       * of affected permissions given by `permissions`. If a permission appears
+       * in `permissions` _and_ in `excluded_permissions` then it will _not_ be
+       * subject to the policy effect.
+       *
+       * The excluded permissions can be specified using the same syntax as
+       * `permissions`.
+       * 
+ * + * repeated string excluded_permissions = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @param index The index of the value to return. + * @return The bytes of the excludedPermissions at the given index. + */ + public com.google.protobuf.ByteString getExcludedPermissionsBytes(int index) { + return excludedPermissions_.getByteString(index); + } + + /** + * + * + *
+       * Optional. Specifies the permissions that this rule excludes from the set
+       * of affected permissions given by `permissions`. If a permission appears
+       * in `permissions` _and_ in `excluded_permissions` then it will _not_ be
+       * subject to the policy effect.
+       *
+       * The excluded permissions can be specified using the same syntax as
+       * `permissions`.
+       * 
+ * + * repeated string excluded_permissions = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @param index The index to set the value at. + * @param value The excludedPermissions to set. + * @return This builder for chaining. + */ + public Builder setExcludedPermissions(int index, java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureExcludedPermissionsIsMutable(); + excludedPermissions_.set(index, value); + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+       * Optional. Specifies the permissions that this rule excludes from the set
+       * of affected permissions given by `permissions`. If a permission appears
+       * in `permissions` _and_ in `excluded_permissions` then it will _not_ be
+       * subject to the policy effect.
+       *
+       * The excluded permissions can be specified using the same syntax as
+       * `permissions`.
+       * 
+ * + * repeated string excluded_permissions = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @param value The excludedPermissions to add. + * @return This builder for chaining. + */ + public Builder addExcludedPermissions(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureExcludedPermissionsIsMutable(); + excludedPermissions_.add(value); + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+       * Optional. Specifies the permissions that this rule excludes from the set
+       * of affected permissions given by `permissions`. If a permission appears
+       * in `permissions` _and_ in `excluded_permissions` then it will _not_ be
+       * subject to the policy effect.
+       *
+       * The excluded permissions can be specified using the same syntax as
+       * `permissions`.
+       * 
+ * + * repeated string excluded_permissions = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @param values The excludedPermissions to add. + * @return This builder for chaining. + */ + public Builder addAllExcludedPermissions(java.lang.Iterable values) { + ensureExcludedPermissionsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, excludedPermissions_); + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+       * Optional. Specifies the permissions that this rule excludes from the set
+       * of affected permissions given by `permissions`. If a permission appears
+       * in `permissions` _and_ in `excluded_permissions` then it will _not_ be
+       * subject to the policy effect.
+       *
+       * The excluded permissions can be specified using the same syntax as
+       * `permissions`.
+       * 
+ * + * repeated string excluded_permissions = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return This builder for chaining. + */ + public Builder clearExcludedPermissions() { + excludedPermissions_ = com.google.protobuf.LazyStringArrayList.emptyList(); + bitField0_ = (bitField0_ & ~0x00000002); + ; + onChanged(); + return this; + } + + /** + * + * + *
+       * Optional. Specifies the permissions that this rule excludes from the set
+       * of affected permissions given by `permissions`. If a permission appears
+       * in `permissions` _and_ in `excluded_permissions` then it will _not_ be
+       * subject to the policy effect.
+       *
+       * The excluded permissions can be specified using the same syntax as
+       * `permissions`.
+       * 
+ * + * repeated string excluded_permissions = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @param value The bytes of the excludedPermissions to add. + * @return This builder for chaining. + */ + public Builder addExcludedPermissionsBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + ensureExcludedPermissionsIsMutable(); + excludedPermissions_.add(value); + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.iam.v3beta.AccessPolicyRule.Operation) + } + + // @@protoc_insertion_point(class_scope:google.iam.v3beta.AccessPolicyRule.Operation) + private static final com.google.iam.v3beta.AccessPolicyRule.Operation DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.iam.v3beta.AccessPolicyRule.Operation(); + } + + public static com.google.iam.v3beta.AccessPolicyRule.Operation getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Operation 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.iam.v3beta.AccessPolicyRule.Operation getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + private int bitField0_; + public static final int DESCRIPTION_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object description_ = ""; + + /** + * + * + *
+   * Optional. Customer specified description of the rule. Must be less than or
+   * equal to 256 characters.
+   * 
+ * + * optional string description = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return Whether the description field is set. + */ + @java.lang.Override + public boolean hasDescription() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+   * Optional. Customer specified description of the rule. Must be less than or
+   * equal to 256 characters.
+   * 
+ * + * optional string description = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The description. + */ + @java.lang.Override + public java.lang.String getDescription() { + java.lang.Object ref = description_; + 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(); + description_ = s; + return s; + } + } + + /** + * + * + *
+   * Optional. Customer specified description of the rule. Must be less than or
+   * equal to 256 characters.
+   * 
+ * + * optional string description = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for description. + */ + @java.lang.Override + public com.google.protobuf.ByteString getDescriptionBytes() { + java.lang.Object ref = description_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + description_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int EFFECT_FIELD_NUMBER = 2; + private int effect_ = 0; + + /** + * + * + *
+   * Required. The effect of the rule.
+   * 
+ * + * + * optional .google.iam.v3beta.AccessPolicyRule.Effect effect = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the effect field is set. + */ + @java.lang.Override + public boolean hasEffect() { + return ((bitField0_ & 0x00000002) != 0); + } + + /** + * + * + *
+   * Required. The effect of the rule.
+   * 
+ * + * + * optional .google.iam.v3beta.AccessPolicyRule.Effect effect = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The enum numeric value on the wire for effect. + */ + @java.lang.Override + public int getEffectValue() { + return effect_; + } + + /** + * + * + *
+   * Required. The effect of the rule.
+   * 
+ * + * + * optional .google.iam.v3beta.AccessPolicyRule.Effect effect = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The effect. + */ + @java.lang.Override + public com.google.iam.v3beta.AccessPolicyRule.Effect getEffect() { + com.google.iam.v3beta.AccessPolicyRule.Effect result = + com.google.iam.v3beta.AccessPolicyRule.Effect.forNumber(effect_); + return result == null ? com.google.iam.v3beta.AccessPolicyRule.Effect.UNRECOGNIZED : result; + } + + public static final int PRINCIPALS_FIELD_NUMBER = 3; + + @SuppressWarnings("serial") + private com.google.protobuf.LazyStringArrayList principals_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + + /** + * + * + *
+   * Required. The identities for which this rule's effect governs using one or
+   * more permissions on Google Cloud resources. This field can contain the
+   * following values:
+   *
+   * * `principal://goog/subject/{email_id}`: A specific Google Account.
+   * Includes Gmail, Cloud Identity, and Google Workspace user accounts. For
+   * example, `principal://goog/subject/alice@example.com`.
+   *
+   * * `principal://iam.googleapis.com/projects/-/serviceAccounts/{service_account_id}`:
+   * A Google Cloud service account. For example,
+   * `principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@iam.gserviceaccount.com`.
+   *
+   * * `principalSet://goog/group/{group_id}`: A Google group. For example,
+   * `principalSet://goog/group/admins@example.com`.
+   *
+   * * `principalSet://goog/cloudIdentityCustomerId/{customer_id}`: All of the
+   * principals associated with the specified Google Workspace or Cloud
+   * Identity customer ID. For example,
+   * `principalSet://goog/cloudIdentityCustomerId/C01Abc35`.
+   *
+   *
+   * If an identifier that was previously set on a policy is soft deleted, then
+   * calls to read that policy will return the identifier with a deleted
+   * prefix. Users cannot set identifiers with this syntax.
+   *
+   * * `deleted:principal://goog/subject/{email_id}?uid={uid}`: A specific
+   * Google Account that was deleted recently. For example,
+   * `deleted:principal://goog/subject/alice@example.com?uid=1234567890`. If
+   * the Google Account is recovered, this identifier reverts to the standard
+   * identifier for a Google Account.
+   *
+   * * `deleted:principalSet://goog/group/{group_id}?uid={uid}`: A Google group
+   * that was deleted recently. For example,
+   * `deleted:principalSet://goog/group/admins@example.com?uid=1234567890`.
+   * If the Google group is restored, this identifier reverts to the standard
+   * identifier for a Google group.
+   *
+   * * `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/{service_account_id}?uid={uid}`:
+   * A Google Cloud service account that was deleted recently. For example,
+   * `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@iam.gserviceaccount.com?uid=1234567890`.
+   * If the service account is undeleted, this identifier reverts to the
+   * standard identifier for a service account.
+   * 
+ * + * repeated string principals = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * @return A list containing the principals. + */ + public com.google.protobuf.ProtocolStringList getPrincipalsList() { + return principals_; + } + + /** + * + * + *
+   * Required. The identities for which this rule's effect governs using one or
+   * more permissions on Google Cloud resources. This field can contain the
+   * following values:
+   *
+   * * `principal://goog/subject/{email_id}`: A specific Google Account.
+   * Includes Gmail, Cloud Identity, and Google Workspace user accounts. For
+   * example, `principal://goog/subject/alice@example.com`.
+   *
+   * * `principal://iam.googleapis.com/projects/-/serviceAccounts/{service_account_id}`:
+   * A Google Cloud service account. For example,
+   * `principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@iam.gserviceaccount.com`.
+   *
+   * * `principalSet://goog/group/{group_id}`: A Google group. For example,
+   * `principalSet://goog/group/admins@example.com`.
+   *
+   * * `principalSet://goog/cloudIdentityCustomerId/{customer_id}`: All of the
+   * principals associated with the specified Google Workspace or Cloud
+   * Identity customer ID. For example,
+   * `principalSet://goog/cloudIdentityCustomerId/C01Abc35`.
+   *
+   *
+   * If an identifier that was previously set on a policy is soft deleted, then
+   * calls to read that policy will return the identifier with a deleted
+   * prefix. Users cannot set identifiers with this syntax.
+   *
+   * * `deleted:principal://goog/subject/{email_id}?uid={uid}`: A specific
+   * Google Account that was deleted recently. For example,
+   * `deleted:principal://goog/subject/alice@example.com?uid=1234567890`. If
+   * the Google Account is recovered, this identifier reverts to the standard
+   * identifier for a Google Account.
+   *
+   * * `deleted:principalSet://goog/group/{group_id}?uid={uid}`: A Google group
+   * that was deleted recently. For example,
+   * `deleted:principalSet://goog/group/admins@example.com?uid=1234567890`.
+   * If the Google group is restored, this identifier reverts to the standard
+   * identifier for a Google group.
+   *
+   * * `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/{service_account_id}?uid={uid}`:
+   * A Google Cloud service account that was deleted recently. For example,
+   * `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@iam.gserviceaccount.com?uid=1234567890`.
+   * If the service account is undeleted, this identifier reverts to the
+   * standard identifier for a service account.
+   * 
+ * + * repeated string principals = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * @return The count of principals. + */ + public int getPrincipalsCount() { + return principals_.size(); + } + + /** + * + * + *
+   * Required. The identities for which this rule's effect governs using one or
+   * more permissions on Google Cloud resources. This field can contain the
+   * following values:
+   *
+   * * `principal://goog/subject/{email_id}`: A specific Google Account.
+   * Includes Gmail, Cloud Identity, and Google Workspace user accounts. For
+   * example, `principal://goog/subject/alice@example.com`.
+   *
+   * * `principal://iam.googleapis.com/projects/-/serviceAccounts/{service_account_id}`:
+   * A Google Cloud service account. For example,
+   * `principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@iam.gserviceaccount.com`.
+   *
+   * * `principalSet://goog/group/{group_id}`: A Google group. For example,
+   * `principalSet://goog/group/admins@example.com`.
+   *
+   * * `principalSet://goog/cloudIdentityCustomerId/{customer_id}`: All of the
+   * principals associated with the specified Google Workspace or Cloud
+   * Identity customer ID. For example,
+   * `principalSet://goog/cloudIdentityCustomerId/C01Abc35`.
+   *
+   *
+   * If an identifier that was previously set on a policy is soft deleted, then
+   * calls to read that policy will return the identifier with a deleted
+   * prefix. Users cannot set identifiers with this syntax.
+   *
+   * * `deleted:principal://goog/subject/{email_id}?uid={uid}`: A specific
+   * Google Account that was deleted recently. For example,
+   * `deleted:principal://goog/subject/alice@example.com?uid=1234567890`. If
+   * the Google Account is recovered, this identifier reverts to the standard
+   * identifier for a Google Account.
+   *
+   * * `deleted:principalSet://goog/group/{group_id}?uid={uid}`: A Google group
+   * that was deleted recently. For example,
+   * `deleted:principalSet://goog/group/admins@example.com?uid=1234567890`.
+   * If the Google group is restored, this identifier reverts to the standard
+   * identifier for a Google group.
+   *
+   * * `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/{service_account_id}?uid={uid}`:
+   * A Google Cloud service account that was deleted recently. For example,
+   * `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@iam.gserviceaccount.com?uid=1234567890`.
+   * If the service account is undeleted, this identifier reverts to the
+   * standard identifier for a service account.
+   * 
+ * + * repeated string principals = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * @param index The index of the element to return. + * @return The principals at the given index. + */ + public java.lang.String getPrincipals(int index) { + return principals_.get(index); + } + + /** + * + * + *
+   * Required. The identities for which this rule's effect governs using one or
+   * more permissions on Google Cloud resources. This field can contain the
+   * following values:
+   *
+   * * `principal://goog/subject/{email_id}`: A specific Google Account.
+   * Includes Gmail, Cloud Identity, and Google Workspace user accounts. For
+   * example, `principal://goog/subject/alice@example.com`.
+   *
+   * * `principal://iam.googleapis.com/projects/-/serviceAccounts/{service_account_id}`:
+   * A Google Cloud service account. For example,
+   * `principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@iam.gserviceaccount.com`.
+   *
+   * * `principalSet://goog/group/{group_id}`: A Google group. For example,
+   * `principalSet://goog/group/admins@example.com`.
+   *
+   * * `principalSet://goog/cloudIdentityCustomerId/{customer_id}`: All of the
+   * principals associated with the specified Google Workspace or Cloud
+   * Identity customer ID. For example,
+   * `principalSet://goog/cloudIdentityCustomerId/C01Abc35`.
+   *
+   *
+   * If an identifier that was previously set on a policy is soft deleted, then
+   * calls to read that policy will return the identifier with a deleted
+   * prefix. Users cannot set identifiers with this syntax.
+   *
+   * * `deleted:principal://goog/subject/{email_id}?uid={uid}`: A specific
+   * Google Account that was deleted recently. For example,
+   * `deleted:principal://goog/subject/alice@example.com?uid=1234567890`. If
+   * the Google Account is recovered, this identifier reverts to the standard
+   * identifier for a Google Account.
+   *
+   * * `deleted:principalSet://goog/group/{group_id}?uid={uid}`: A Google group
+   * that was deleted recently. For example,
+   * `deleted:principalSet://goog/group/admins@example.com?uid=1234567890`.
+   * If the Google group is restored, this identifier reverts to the standard
+   * identifier for a Google group.
+   *
+   * * `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/{service_account_id}?uid={uid}`:
+   * A Google Cloud service account that was deleted recently. For example,
+   * `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@iam.gserviceaccount.com?uid=1234567890`.
+   * If the service account is undeleted, this identifier reverts to the
+   * standard identifier for a service account.
+   * 
+ * + * repeated string principals = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * @param index The index of the value to return. + * @return The bytes of the principals at the given index. + */ + public com.google.protobuf.ByteString getPrincipalsBytes(int index) { + return principals_.getByteString(index); + } + + public static final int EXCLUDED_PRINCIPALS_FIELD_NUMBER = 4; + + @SuppressWarnings("serial") + private com.google.protobuf.LazyStringArrayList excludedPrincipals_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + + /** + * + * + *
+   * Optional. The identities that are excluded from the access policy rule,
+   * even if they are listed in the `principals`. For example, you could add a
+   * Google group to the `principals`, then exclude specific users who belong to
+   * that group.
+   * 
+ * + * repeated string excluded_principals = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return A list containing the excludedPrincipals. + */ + public com.google.protobuf.ProtocolStringList getExcludedPrincipalsList() { + return excludedPrincipals_; + } + + /** + * + * + *
+   * Optional. The identities that are excluded from the access policy rule,
+   * even if they are listed in the `principals`. For example, you could add a
+   * Google group to the `principals`, then exclude specific users who belong to
+   * that group.
+   * 
+ * + * repeated string excluded_principals = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The count of excludedPrincipals. + */ + public int getExcludedPrincipalsCount() { + return excludedPrincipals_.size(); + } + + /** + * + * + *
+   * Optional. The identities that are excluded from the access policy rule,
+   * even if they are listed in the `principals`. For example, you could add a
+   * Google group to the `principals`, then exclude specific users who belong to
+   * that group.
+   * 
+ * + * repeated string excluded_principals = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param index The index of the element to return. + * @return The excludedPrincipals at the given index. + */ + public java.lang.String getExcludedPrincipals(int index) { + return excludedPrincipals_.get(index); + } + + /** + * + * + *
+   * Optional. The identities that are excluded from the access policy rule,
+   * even if they are listed in the `principals`. For example, you could add a
+   * Google group to the `principals`, then exclude specific users who belong to
+   * that group.
+   * 
+ * + * repeated string excluded_principals = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param index The index of the value to return. + * @return The bytes of the excludedPrincipals at the given index. + */ + public com.google.protobuf.ByteString getExcludedPrincipalsBytes(int index) { + return excludedPrincipals_.getByteString(index); + } + + public static final int OPERATION_FIELD_NUMBER = 10; + private com.google.iam.v3beta.AccessPolicyRule.Operation operation_; + + /** + * + * + *
+   * Required. Attributes that are used to determine whether this rule applies
+   * to a request.
+   * 
+ * + * + * .google.iam.v3beta.AccessPolicyRule.Operation operation = 10 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the operation field is set. + */ + @java.lang.Override + public boolean hasOperation() { + return ((bitField0_ & 0x00000004) != 0); + } + + /** + * + * + *
+   * Required. Attributes that are used to determine whether this rule applies
+   * to a request.
+   * 
+ * + * + * .google.iam.v3beta.AccessPolicyRule.Operation operation = 10 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The operation. + */ + @java.lang.Override + public com.google.iam.v3beta.AccessPolicyRule.Operation getOperation() { + return operation_ == null + ? com.google.iam.v3beta.AccessPolicyRule.Operation.getDefaultInstance() + : operation_; + } + + /** + * + * + *
+   * Required. Attributes that are used to determine whether this rule applies
+   * to a request.
+   * 
+ * + * + * .google.iam.v3beta.AccessPolicyRule.Operation operation = 10 [(.google.api.field_behavior) = REQUIRED]; + * + */ + @java.lang.Override + public com.google.iam.v3beta.AccessPolicyRule.OperationOrBuilder getOperationOrBuilder() { + return operation_ == null + ? com.google.iam.v3beta.AccessPolicyRule.Operation.getDefaultInstance() + : operation_; + } + + public static final int CONDITIONS_FIELD_NUMBER = 9; + + private static final class ConditionsDefaultEntryHolder { + static final com.google.protobuf.MapEntry defaultEntry = + com.google.protobuf.MapEntry.newDefaultInstance( + com.google.iam.v3beta.AccessPolicyResourcesProto + .internal_static_google_iam_v3beta_AccessPolicyRule_ConditionsEntry_descriptor, + com.google.protobuf.WireFormat.FieldType.STRING, + "", + com.google.protobuf.WireFormat.FieldType.MESSAGE, + com.google.type.Expr.getDefaultInstance()); + } + + @SuppressWarnings("serial") + private com.google.protobuf.MapField conditions_; + + private com.google.protobuf.MapField + internalGetConditions() { + if (conditions_ == null) { + return com.google.protobuf.MapField.emptyMapField(ConditionsDefaultEntryHolder.defaultEntry); + } + return conditions_; + } + + public int getConditionsCount() { + return internalGetConditions().getMap().size(); + } + + /** + * + * + *
+   * Optional. The conditions that determine whether this rule applies to a
+   * request. Conditions are identified by their key, which is the FQDN of the
+   * service that they are relevant to. For example:
+   *
+   * ```
+   * "conditions": {
+   * "iam.googleapis.com": {
+   * "expression": <cel expression>
+   * }
+   * }
+   * ```
+   *
+   * Each rule is evaluated independently. If this rule does not apply
+   * to a request, other rules might still apply.
+   * Currently supported keys are as follows:
+   *
+   *
+   * * `eventarc.googleapis.com`: Can use `CEL` functions that evaluate
+   * resource fields.
+   *
+   * * `iam.googleapis.com`: Can use `CEL` functions that evaluate
+   * [resource
+   * tags](https://cloud.google.com/iam/help/conditions/resource-tags) and
+   * combine them using boolean and logical operators. Other functions and
+   * operators are not supported.
+   * 
+ * + * + * map<string, .google.type.Expr> conditions = 9 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public boolean containsConditions(java.lang.String key) { + if (key == null) { + throw new NullPointerException("map key"); + } + return internalGetConditions().getMap().containsKey(key); + } + + /** Use {@link #getConditionsMap()} instead. */ + @java.lang.Override + @java.lang.Deprecated + public java.util.Map getConditions() { + return getConditionsMap(); + } + + /** + * + * + *
+   * Optional. The conditions that determine whether this rule applies to a
+   * request. Conditions are identified by their key, which is the FQDN of the
+   * service that they are relevant to. For example:
+   *
+   * ```
+   * "conditions": {
+   * "iam.googleapis.com": {
+   * "expression": <cel expression>
+   * }
+   * }
+   * ```
+   *
+   * Each rule is evaluated independently. If this rule does not apply
+   * to a request, other rules might still apply.
+   * Currently supported keys are as follows:
+   *
+   *
+   * * `eventarc.googleapis.com`: Can use `CEL` functions that evaluate
+   * resource fields.
+   *
+   * * `iam.googleapis.com`: Can use `CEL` functions that evaluate
+   * [resource
+   * tags](https://cloud.google.com/iam/help/conditions/resource-tags) and
+   * combine them using boolean and logical operators. Other functions and
+   * operators are not supported.
+   * 
+ * + * + * map<string, .google.type.Expr> conditions = 9 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public java.util.Map getConditionsMap() { + return internalGetConditions().getMap(); + } + + /** + * + * + *
+   * Optional. The conditions that determine whether this rule applies to a
+   * request. Conditions are identified by their key, which is the FQDN of the
+   * service that they are relevant to. For example:
+   *
+   * ```
+   * "conditions": {
+   * "iam.googleapis.com": {
+   * "expression": <cel expression>
+   * }
+   * }
+   * ```
+   *
+   * Each rule is evaluated independently. If this rule does not apply
+   * to a request, other rules might still apply.
+   * Currently supported keys are as follows:
+   *
+   *
+   * * `eventarc.googleapis.com`: Can use `CEL` functions that evaluate
+   * resource fields.
+   *
+   * * `iam.googleapis.com`: Can use `CEL` functions that evaluate
+   * [resource
+   * tags](https://cloud.google.com/iam/help/conditions/resource-tags) and
+   * combine them using boolean and logical operators. Other functions and
+   * operators are not supported.
+   * 
+ * + * + * map<string, .google.type.Expr> conditions = 9 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public /* nullable */ com.google.type.Expr getConditionsOrDefault( + java.lang.String key, + /* nullable */ + com.google.type.Expr defaultValue) { + if (key == null) { + throw new NullPointerException("map key"); + } + java.util.Map map = internalGetConditions().getMap(); + return map.containsKey(key) ? map.get(key) : defaultValue; + } + + /** + * + * + *
+   * Optional. The conditions that determine whether this rule applies to a
+   * request. Conditions are identified by their key, which is the FQDN of the
+   * service that they are relevant to. For example:
+   *
+   * ```
+   * "conditions": {
+   * "iam.googleapis.com": {
+   * "expression": <cel expression>
+   * }
+   * }
+   * ```
+   *
+   * Each rule is evaluated independently. If this rule does not apply
+   * to a request, other rules might still apply.
+   * Currently supported keys are as follows:
+   *
+   *
+   * * `eventarc.googleapis.com`: Can use `CEL` functions that evaluate
+   * resource fields.
+   *
+   * * `iam.googleapis.com`: Can use `CEL` functions that evaluate
+   * [resource
+   * tags](https://cloud.google.com/iam/help/conditions/resource-tags) and
+   * combine them using boolean and logical operators. Other functions and
+   * operators are not supported.
+   * 
+ * + * + * map<string, .google.type.Expr> conditions = 9 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public com.google.type.Expr getConditionsOrThrow(java.lang.String key) { + if (key == null) { + throw new NullPointerException("map key"); + } + java.util.Map map = internalGetConditions().getMap(); + if (!map.containsKey(key)) { + throw new java.lang.IllegalArgumentException(); + } + return map.get(key); + } + + 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)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, description_); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeEnum(2, effect_); + } + for (int i = 0; i < principals_.size(); i++) { + com.google.protobuf.GeneratedMessage.writeString(output, 3, principals_.getRaw(i)); + } + for (int i = 0; i < excludedPrincipals_.size(); i++) { + com.google.protobuf.GeneratedMessage.writeString(output, 4, excludedPrincipals_.getRaw(i)); + } + com.google.protobuf.GeneratedMessage.serializeStringMapTo( + output, internalGetConditions(), ConditionsDefaultEntryHolder.defaultEntry, 9); + if (((bitField0_ & 0x00000004) != 0)) { + output.writeMessage(10, getOperation()); + } + 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.GeneratedMessage.computeStringSize(1, description_); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeEnumSize(2, effect_); + } + { + int dataSize = 0; + for (int i = 0; i < principals_.size(); i++) { + dataSize += computeStringSizeNoTag(principals_.getRaw(i)); + } + size += dataSize; + size += 1 * getPrincipalsList().size(); + } + { + int dataSize = 0; + for (int i = 0; i < excludedPrincipals_.size(); i++) { + dataSize += computeStringSizeNoTag(excludedPrincipals_.getRaw(i)); + } + size += dataSize; + size += 1 * getExcludedPrincipalsList().size(); + } + for (java.util.Map.Entry entry : + internalGetConditions().getMap().entrySet()) { + com.google.protobuf.MapEntry conditions__ = + ConditionsDefaultEntryHolder.defaultEntry + .newBuilderForType() + .setKey(entry.getKey()) + .setValue(entry.getValue()) + .build(); + size += com.google.protobuf.CodedOutputStream.computeMessageSize(9, conditions__); + } + if (((bitField0_ & 0x00000004) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(10, getOperation()); + } + 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.iam.v3beta.AccessPolicyRule)) { + return super.equals(obj); + } + com.google.iam.v3beta.AccessPolicyRule other = (com.google.iam.v3beta.AccessPolicyRule) obj; + + if (hasDescription() != other.hasDescription()) return false; + if (hasDescription()) { + if (!getDescription().equals(other.getDescription())) return false; + } + if (hasEffect() != other.hasEffect()) return false; + if (hasEffect()) { + if (effect_ != other.effect_) return false; + } + if (!getPrincipalsList().equals(other.getPrincipalsList())) return false; + if (!getExcludedPrincipalsList().equals(other.getExcludedPrincipalsList())) return false; + if (hasOperation() != other.hasOperation()) return false; + if (hasOperation()) { + if (!getOperation().equals(other.getOperation())) return false; + } + if (!internalGetConditions().equals(other.internalGetConditions())) 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 (hasDescription()) { + hash = (37 * hash) + DESCRIPTION_FIELD_NUMBER; + hash = (53 * hash) + getDescription().hashCode(); + } + if (hasEffect()) { + hash = (37 * hash) + EFFECT_FIELD_NUMBER; + hash = (53 * hash) + effect_; + } + if (getPrincipalsCount() > 0) { + hash = (37 * hash) + PRINCIPALS_FIELD_NUMBER; + hash = (53 * hash) + getPrincipalsList().hashCode(); + } + if (getExcludedPrincipalsCount() > 0) { + hash = (37 * hash) + EXCLUDED_PRINCIPALS_FIELD_NUMBER; + hash = (53 * hash) + getExcludedPrincipalsList().hashCode(); + } + if (hasOperation()) { + hash = (37 * hash) + OPERATION_FIELD_NUMBER; + hash = (53 * hash) + getOperation().hashCode(); + } + if (!internalGetConditions().getMap().isEmpty()) { + hash = (37 * hash) + CONDITIONS_FIELD_NUMBER; + hash = (53 * hash) + internalGetConditions().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.iam.v3beta.AccessPolicyRule parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.iam.v3beta.AccessPolicyRule parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.iam.v3beta.AccessPolicyRule parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.iam.v3beta.AccessPolicyRule 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.iam.v3beta.AccessPolicyRule parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.iam.v3beta.AccessPolicyRule parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.iam.v3beta.AccessPolicyRule parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.iam.v3beta.AccessPolicyRule 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.iam.v3beta.AccessPolicyRule parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.iam.v3beta.AccessPolicyRule 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.iam.v3beta.AccessPolicyRule parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.iam.v3beta.AccessPolicyRule 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.iam.v3beta.AccessPolicyRule 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; + } + + /** + * + * + *
+   * Access Policy Rule that determines the behavior of the policy.
+   * 
+ * + * Protobuf type {@code google.iam.v3beta.AccessPolicyRule} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.iam.v3beta.AccessPolicyRule) + com.google.iam.v3beta.AccessPolicyRuleOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.iam.v3beta.AccessPolicyResourcesProto + .internal_static_google_iam_v3beta_AccessPolicyRule_descriptor; + } + + @SuppressWarnings({"rawtypes"}) + protected com.google.protobuf.MapFieldReflectionAccessor internalGetMapFieldReflection( + int number) { + switch (number) { + case 9: + return internalGetConditions(); + default: + throw new RuntimeException("Invalid map field number: " + number); + } + } + + @SuppressWarnings({"rawtypes"}) + protected com.google.protobuf.MapFieldReflectionAccessor internalGetMutableMapFieldReflection( + int number) { + switch (number) { + case 9: + return internalGetMutableConditions(); + default: + throw new RuntimeException("Invalid map field number: " + number); + } + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.iam.v3beta.AccessPolicyResourcesProto + .internal_static_google_iam_v3beta_AccessPolicyRule_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.iam.v3beta.AccessPolicyRule.class, + com.google.iam.v3beta.AccessPolicyRule.Builder.class); + } + + // Construct using com.google.iam.v3beta.AccessPolicyRule.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + internalGetOperationFieldBuilder(); + } + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + description_ = ""; + effect_ = 0; + principals_ = com.google.protobuf.LazyStringArrayList.emptyList(); + excludedPrincipals_ = com.google.protobuf.LazyStringArrayList.emptyList(); + operation_ = null; + if (operationBuilder_ != null) { + operationBuilder_.dispose(); + operationBuilder_ = null; + } + internalGetMutableConditions().clear(); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.iam.v3beta.AccessPolicyResourcesProto + .internal_static_google_iam_v3beta_AccessPolicyRule_descriptor; + } + + @java.lang.Override + public com.google.iam.v3beta.AccessPolicyRule getDefaultInstanceForType() { + return com.google.iam.v3beta.AccessPolicyRule.getDefaultInstance(); + } + + @java.lang.Override + public com.google.iam.v3beta.AccessPolicyRule build() { + com.google.iam.v3beta.AccessPolicyRule result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.iam.v3beta.AccessPolicyRule buildPartial() { + com.google.iam.v3beta.AccessPolicyRule result = + new com.google.iam.v3beta.AccessPolicyRule(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0(com.google.iam.v3beta.AccessPolicyRule result) { + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.description_ = description_; + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.effect_ = effect_; + to_bitField0_ |= 0x00000002; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + principals_.makeImmutable(); + result.principals_ = principals_; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + excludedPrincipals_.makeImmutable(); + result.excludedPrincipals_ = excludedPrincipals_; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.operation_ = operationBuilder_ == null ? operation_ : operationBuilder_.build(); + to_bitField0_ |= 0x00000004; + } + if (((from_bitField0_ & 0x00000020) != 0)) { + result.conditions_ = + internalGetConditions().build(ConditionsDefaultEntryHolder.defaultEntry); + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.iam.v3beta.AccessPolicyRule) { + return mergeFrom((com.google.iam.v3beta.AccessPolicyRule) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.iam.v3beta.AccessPolicyRule other) { + if (other == com.google.iam.v3beta.AccessPolicyRule.getDefaultInstance()) return this; + if (other.hasDescription()) { + description_ = other.description_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (other.hasEffect()) { + setEffectValue(other.getEffectValue()); + } + if (!other.principals_.isEmpty()) { + if (principals_.isEmpty()) { + principals_ = other.principals_; + bitField0_ |= 0x00000004; + } else { + ensurePrincipalsIsMutable(); + principals_.addAll(other.principals_); + } + onChanged(); + } + if (!other.excludedPrincipals_.isEmpty()) { + if (excludedPrincipals_.isEmpty()) { + excludedPrincipals_ = other.excludedPrincipals_; + bitField0_ |= 0x00000008; + } else { + ensureExcludedPrincipalsIsMutable(); + excludedPrincipals_.addAll(other.excludedPrincipals_); + } + onChanged(); + } + if (other.hasOperation()) { + mergeOperation(other.getOperation()); + } + internalGetMutableConditions().mergeFrom(other.internalGetConditions()); + bitField0_ |= 0x00000020; + 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: + { + description_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 16: + { + effect_ = input.readEnum(); + bitField0_ |= 0x00000002; + break; + } // case 16 + case 26: + { + java.lang.String s = input.readStringRequireUtf8(); + ensurePrincipalsIsMutable(); + principals_.add(s); + break; + } // case 26 + case 34: + { + java.lang.String s = input.readStringRequireUtf8(); + ensureExcludedPrincipalsIsMutable(); + excludedPrincipals_.add(s); + break; + } // case 34 + case 74: + { + com.google.protobuf.MapEntry conditions__ = + input.readMessage( + ConditionsDefaultEntryHolder.defaultEntry.getParserForType(), + extensionRegistry); + internalGetMutableConditions() + .ensureBuilderMap() + .put(conditions__.getKey(), conditions__.getValue()); + bitField0_ |= 0x00000020; + break; + } // case 74 + case 82: + { + input.readMessage( + internalGetOperationFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000010; + break; + } // case 82 + 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 description_ = ""; + + /** + * + * + *
+     * Optional. Customer specified description of the rule. Must be less than or
+     * equal to 256 characters.
+     * 
+ * + * optional string description = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return Whether the description field is set. + */ + public boolean hasDescription() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+     * Optional. Customer specified description of the rule. Must be less than or
+     * equal to 256 characters.
+     * 
+ * + * optional string description = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The description. + */ + public java.lang.String getDescription() { + java.lang.Object ref = description_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + description_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Optional. Customer specified description of the rule. Must be less than or
+     * equal to 256 characters.
+     * 
+ * + * optional string description = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for description. + */ + public com.google.protobuf.ByteString getDescriptionBytes() { + java.lang.Object ref = description_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + description_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Optional. Customer specified description of the rule. Must be less than or
+     * equal to 256 characters.
+     * 
+ * + * optional string description = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The description to set. + * @return This builder for chaining. + */ + public Builder setDescription(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + description_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Customer specified description of the rule. Must be less than or
+     * equal to 256 characters.
+     * 
+ * + * optional string description = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearDescription() { + description_ = getDefaultInstance().getDescription(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Customer specified description of the rule. Must be less than or
+     * equal to 256 characters.
+     * 
+ * + * optional string description = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for description to set. + * @return This builder for chaining. + */ + public Builder setDescriptionBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + description_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private int effect_ = 0; + + /** + * + * + *
+     * Required. The effect of the rule.
+     * 
+ * + * + * optional .google.iam.v3beta.AccessPolicyRule.Effect effect = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the effect field is set. + */ + @java.lang.Override + public boolean hasEffect() { + return ((bitField0_ & 0x00000002) != 0); + } + + /** + * + * + *
+     * Required. The effect of the rule.
+     * 
+ * + * + * optional .google.iam.v3beta.AccessPolicyRule.Effect effect = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The enum numeric value on the wire for effect. + */ + @java.lang.Override + public int getEffectValue() { + return effect_; + } + + /** + * + * + *
+     * Required. The effect of the rule.
+     * 
+ * + * + * optional .google.iam.v3beta.AccessPolicyRule.Effect effect = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @param value The enum numeric value on the wire for effect to set. + * @return This builder for chaining. + */ + public Builder setEffectValue(int value) { + effect_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The effect of the rule.
+     * 
+ * + * + * optional .google.iam.v3beta.AccessPolicyRule.Effect effect = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The effect. + */ + @java.lang.Override + public com.google.iam.v3beta.AccessPolicyRule.Effect getEffect() { + com.google.iam.v3beta.AccessPolicyRule.Effect result = + com.google.iam.v3beta.AccessPolicyRule.Effect.forNumber(effect_); + return result == null ? com.google.iam.v3beta.AccessPolicyRule.Effect.UNRECOGNIZED : result; + } + + /** + * + * + *
+     * Required. The effect of the rule.
+     * 
+ * + * + * optional .google.iam.v3beta.AccessPolicyRule.Effect effect = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @param value The effect to set. + * @return This builder for chaining. + */ + public Builder setEffect(com.google.iam.v3beta.AccessPolicyRule.Effect value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000002; + effect_ = value.getNumber(); + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The effect of the rule.
+     * 
+ * + * + * optional .google.iam.v3beta.AccessPolicyRule.Effect effect = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return This builder for chaining. + */ + public Builder clearEffect() { + bitField0_ = (bitField0_ & ~0x00000002); + effect_ = 0; + onChanged(); + return this; + } + + private com.google.protobuf.LazyStringArrayList principals_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + + private void ensurePrincipalsIsMutable() { + if (!principals_.isModifiable()) { + principals_ = new com.google.protobuf.LazyStringArrayList(principals_); + } + bitField0_ |= 0x00000004; + } + + /** + * + * + *
+     * Required. The identities for which this rule's effect governs using one or
+     * more permissions on Google Cloud resources. This field can contain the
+     * following values:
+     *
+     * * `principal://goog/subject/{email_id}`: A specific Google Account.
+     * Includes Gmail, Cloud Identity, and Google Workspace user accounts. For
+     * example, `principal://goog/subject/alice@example.com`.
+     *
+     * * `principal://iam.googleapis.com/projects/-/serviceAccounts/{service_account_id}`:
+     * A Google Cloud service account. For example,
+     * `principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@iam.gserviceaccount.com`.
+     *
+     * * `principalSet://goog/group/{group_id}`: A Google group. For example,
+     * `principalSet://goog/group/admins@example.com`.
+     *
+     * * `principalSet://goog/cloudIdentityCustomerId/{customer_id}`: All of the
+     * principals associated with the specified Google Workspace or Cloud
+     * Identity customer ID. For example,
+     * `principalSet://goog/cloudIdentityCustomerId/C01Abc35`.
+     *
+     *
+     * If an identifier that was previously set on a policy is soft deleted, then
+     * calls to read that policy will return the identifier with a deleted
+     * prefix. Users cannot set identifiers with this syntax.
+     *
+     * * `deleted:principal://goog/subject/{email_id}?uid={uid}`: A specific
+     * Google Account that was deleted recently. For example,
+     * `deleted:principal://goog/subject/alice@example.com?uid=1234567890`. If
+     * the Google Account is recovered, this identifier reverts to the standard
+     * identifier for a Google Account.
+     *
+     * * `deleted:principalSet://goog/group/{group_id}?uid={uid}`: A Google group
+     * that was deleted recently. For example,
+     * `deleted:principalSet://goog/group/admins@example.com?uid=1234567890`.
+     * If the Google group is restored, this identifier reverts to the standard
+     * identifier for a Google group.
+     *
+     * * `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/{service_account_id}?uid={uid}`:
+     * A Google Cloud service account that was deleted recently. For example,
+     * `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@iam.gserviceaccount.com?uid=1234567890`.
+     * If the service account is undeleted, this identifier reverts to the
+     * standard identifier for a service account.
+     * 
+ * + * repeated string principals = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * @return A list containing the principals. + */ + public com.google.protobuf.ProtocolStringList getPrincipalsList() { + principals_.makeImmutable(); + return principals_; + } + + /** + * + * + *
+     * Required. The identities for which this rule's effect governs using one or
+     * more permissions on Google Cloud resources. This field can contain the
+     * following values:
+     *
+     * * `principal://goog/subject/{email_id}`: A specific Google Account.
+     * Includes Gmail, Cloud Identity, and Google Workspace user accounts. For
+     * example, `principal://goog/subject/alice@example.com`.
+     *
+     * * `principal://iam.googleapis.com/projects/-/serviceAccounts/{service_account_id}`:
+     * A Google Cloud service account. For example,
+     * `principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@iam.gserviceaccount.com`.
+     *
+     * * `principalSet://goog/group/{group_id}`: A Google group. For example,
+     * `principalSet://goog/group/admins@example.com`.
+     *
+     * * `principalSet://goog/cloudIdentityCustomerId/{customer_id}`: All of the
+     * principals associated with the specified Google Workspace or Cloud
+     * Identity customer ID. For example,
+     * `principalSet://goog/cloudIdentityCustomerId/C01Abc35`.
+     *
+     *
+     * If an identifier that was previously set on a policy is soft deleted, then
+     * calls to read that policy will return the identifier with a deleted
+     * prefix. Users cannot set identifiers with this syntax.
+     *
+     * * `deleted:principal://goog/subject/{email_id}?uid={uid}`: A specific
+     * Google Account that was deleted recently. For example,
+     * `deleted:principal://goog/subject/alice@example.com?uid=1234567890`. If
+     * the Google Account is recovered, this identifier reverts to the standard
+     * identifier for a Google Account.
+     *
+     * * `deleted:principalSet://goog/group/{group_id}?uid={uid}`: A Google group
+     * that was deleted recently. For example,
+     * `deleted:principalSet://goog/group/admins@example.com?uid=1234567890`.
+     * If the Google group is restored, this identifier reverts to the standard
+     * identifier for a Google group.
+     *
+     * * `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/{service_account_id}?uid={uid}`:
+     * A Google Cloud service account that was deleted recently. For example,
+     * `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@iam.gserviceaccount.com?uid=1234567890`.
+     * If the service account is undeleted, this identifier reverts to the
+     * standard identifier for a service account.
+     * 
+ * + * repeated string principals = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * @return The count of principals. + */ + public int getPrincipalsCount() { + return principals_.size(); + } + + /** + * + * + *
+     * Required. The identities for which this rule's effect governs using one or
+     * more permissions on Google Cloud resources. This field can contain the
+     * following values:
+     *
+     * * `principal://goog/subject/{email_id}`: A specific Google Account.
+     * Includes Gmail, Cloud Identity, and Google Workspace user accounts. For
+     * example, `principal://goog/subject/alice@example.com`.
+     *
+     * * `principal://iam.googleapis.com/projects/-/serviceAccounts/{service_account_id}`:
+     * A Google Cloud service account. For example,
+     * `principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@iam.gserviceaccount.com`.
+     *
+     * * `principalSet://goog/group/{group_id}`: A Google group. For example,
+     * `principalSet://goog/group/admins@example.com`.
+     *
+     * * `principalSet://goog/cloudIdentityCustomerId/{customer_id}`: All of the
+     * principals associated with the specified Google Workspace or Cloud
+     * Identity customer ID. For example,
+     * `principalSet://goog/cloudIdentityCustomerId/C01Abc35`.
+     *
+     *
+     * If an identifier that was previously set on a policy is soft deleted, then
+     * calls to read that policy will return the identifier with a deleted
+     * prefix. Users cannot set identifiers with this syntax.
+     *
+     * * `deleted:principal://goog/subject/{email_id}?uid={uid}`: A specific
+     * Google Account that was deleted recently. For example,
+     * `deleted:principal://goog/subject/alice@example.com?uid=1234567890`. If
+     * the Google Account is recovered, this identifier reverts to the standard
+     * identifier for a Google Account.
+     *
+     * * `deleted:principalSet://goog/group/{group_id}?uid={uid}`: A Google group
+     * that was deleted recently. For example,
+     * `deleted:principalSet://goog/group/admins@example.com?uid=1234567890`.
+     * If the Google group is restored, this identifier reverts to the standard
+     * identifier for a Google group.
+     *
+     * * `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/{service_account_id}?uid={uid}`:
+     * A Google Cloud service account that was deleted recently. For example,
+     * `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@iam.gserviceaccount.com?uid=1234567890`.
+     * If the service account is undeleted, this identifier reverts to the
+     * standard identifier for a service account.
+     * 
+ * + * repeated string principals = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * @param index The index of the element to return. + * @return The principals at the given index. + */ + public java.lang.String getPrincipals(int index) { + return principals_.get(index); + } + + /** + * + * + *
+     * Required. The identities for which this rule's effect governs using one or
+     * more permissions on Google Cloud resources. This field can contain the
+     * following values:
+     *
+     * * `principal://goog/subject/{email_id}`: A specific Google Account.
+     * Includes Gmail, Cloud Identity, and Google Workspace user accounts. For
+     * example, `principal://goog/subject/alice@example.com`.
+     *
+     * * `principal://iam.googleapis.com/projects/-/serviceAccounts/{service_account_id}`:
+     * A Google Cloud service account. For example,
+     * `principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@iam.gserviceaccount.com`.
+     *
+     * * `principalSet://goog/group/{group_id}`: A Google group. For example,
+     * `principalSet://goog/group/admins@example.com`.
+     *
+     * * `principalSet://goog/cloudIdentityCustomerId/{customer_id}`: All of the
+     * principals associated with the specified Google Workspace or Cloud
+     * Identity customer ID. For example,
+     * `principalSet://goog/cloudIdentityCustomerId/C01Abc35`.
+     *
+     *
+     * If an identifier that was previously set on a policy is soft deleted, then
+     * calls to read that policy will return the identifier with a deleted
+     * prefix. Users cannot set identifiers with this syntax.
+     *
+     * * `deleted:principal://goog/subject/{email_id}?uid={uid}`: A specific
+     * Google Account that was deleted recently. For example,
+     * `deleted:principal://goog/subject/alice@example.com?uid=1234567890`. If
+     * the Google Account is recovered, this identifier reverts to the standard
+     * identifier for a Google Account.
+     *
+     * * `deleted:principalSet://goog/group/{group_id}?uid={uid}`: A Google group
+     * that was deleted recently. For example,
+     * `deleted:principalSet://goog/group/admins@example.com?uid=1234567890`.
+     * If the Google group is restored, this identifier reverts to the standard
+     * identifier for a Google group.
+     *
+     * * `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/{service_account_id}?uid={uid}`:
+     * A Google Cloud service account that was deleted recently. For example,
+     * `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@iam.gserviceaccount.com?uid=1234567890`.
+     * If the service account is undeleted, this identifier reverts to the
+     * standard identifier for a service account.
+     * 
+ * + * repeated string principals = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * @param index The index of the value to return. + * @return The bytes of the principals at the given index. + */ + public com.google.protobuf.ByteString getPrincipalsBytes(int index) { + return principals_.getByteString(index); + } + + /** + * + * + *
+     * Required. The identities for which this rule's effect governs using one or
+     * more permissions on Google Cloud resources. This field can contain the
+     * following values:
+     *
+     * * `principal://goog/subject/{email_id}`: A specific Google Account.
+     * Includes Gmail, Cloud Identity, and Google Workspace user accounts. For
+     * example, `principal://goog/subject/alice@example.com`.
+     *
+     * * `principal://iam.googleapis.com/projects/-/serviceAccounts/{service_account_id}`:
+     * A Google Cloud service account. For example,
+     * `principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@iam.gserviceaccount.com`.
+     *
+     * * `principalSet://goog/group/{group_id}`: A Google group. For example,
+     * `principalSet://goog/group/admins@example.com`.
+     *
+     * * `principalSet://goog/cloudIdentityCustomerId/{customer_id}`: All of the
+     * principals associated with the specified Google Workspace or Cloud
+     * Identity customer ID. For example,
+     * `principalSet://goog/cloudIdentityCustomerId/C01Abc35`.
+     *
+     *
+     * If an identifier that was previously set on a policy is soft deleted, then
+     * calls to read that policy will return the identifier with a deleted
+     * prefix. Users cannot set identifiers with this syntax.
+     *
+     * * `deleted:principal://goog/subject/{email_id}?uid={uid}`: A specific
+     * Google Account that was deleted recently. For example,
+     * `deleted:principal://goog/subject/alice@example.com?uid=1234567890`. If
+     * the Google Account is recovered, this identifier reverts to the standard
+     * identifier for a Google Account.
+     *
+     * * `deleted:principalSet://goog/group/{group_id}?uid={uid}`: A Google group
+     * that was deleted recently. For example,
+     * `deleted:principalSet://goog/group/admins@example.com?uid=1234567890`.
+     * If the Google group is restored, this identifier reverts to the standard
+     * identifier for a Google group.
+     *
+     * * `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/{service_account_id}?uid={uid}`:
+     * A Google Cloud service account that was deleted recently. For example,
+     * `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@iam.gserviceaccount.com?uid=1234567890`.
+     * If the service account is undeleted, this identifier reverts to the
+     * standard identifier for a service account.
+     * 
+ * + * repeated string principals = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * @param index The index to set the value at. + * @param value The principals to set. + * @return This builder for chaining. + */ + public Builder setPrincipals(int index, java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensurePrincipalsIsMutable(); + principals_.set(index, value); + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The identities for which this rule's effect governs using one or
+     * more permissions on Google Cloud resources. This field can contain the
+     * following values:
+     *
+     * * `principal://goog/subject/{email_id}`: A specific Google Account.
+     * Includes Gmail, Cloud Identity, and Google Workspace user accounts. For
+     * example, `principal://goog/subject/alice@example.com`.
+     *
+     * * `principal://iam.googleapis.com/projects/-/serviceAccounts/{service_account_id}`:
+     * A Google Cloud service account. For example,
+     * `principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@iam.gserviceaccount.com`.
+     *
+     * * `principalSet://goog/group/{group_id}`: A Google group. For example,
+     * `principalSet://goog/group/admins@example.com`.
+     *
+     * * `principalSet://goog/cloudIdentityCustomerId/{customer_id}`: All of the
+     * principals associated with the specified Google Workspace or Cloud
+     * Identity customer ID. For example,
+     * `principalSet://goog/cloudIdentityCustomerId/C01Abc35`.
+     *
+     *
+     * If an identifier that was previously set on a policy is soft deleted, then
+     * calls to read that policy will return the identifier with a deleted
+     * prefix. Users cannot set identifiers with this syntax.
+     *
+     * * `deleted:principal://goog/subject/{email_id}?uid={uid}`: A specific
+     * Google Account that was deleted recently. For example,
+     * `deleted:principal://goog/subject/alice@example.com?uid=1234567890`. If
+     * the Google Account is recovered, this identifier reverts to the standard
+     * identifier for a Google Account.
+     *
+     * * `deleted:principalSet://goog/group/{group_id}?uid={uid}`: A Google group
+     * that was deleted recently. For example,
+     * `deleted:principalSet://goog/group/admins@example.com?uid=1234567890`.
+     * If the Google group is restored, this identifier reverts to the standard
+     * identifier for a Google group.
+     *
+     * * `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/{service_account_id}?uid={uid}`:
+     * A Google Cloud service account that was deleted recently. For example,
+     * `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@iam.gserviceaccount.com?uid=1234567890`.
+     * If the service account is undeleted, this identifier reverts to the
+     * standard identifier for a service account.
+     * 
+ * + * repeated string principals = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * @param value The principals to add. + * @return This builder for chaining. + */ + public Builder addPrincipals(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensurePrincipalsIsMutable(); + principals_.add(value); + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The identities for which this rule's effect governs using one or
+     * more permissions on Google Cloud resources. This field can contain the
+     * following values:
+     *
+     * * `principal://goog/subject/{email_id}`: A specific Google Account.
+     * Includes Gmail, Cloud Identity, and Google Workspace user accounts. For
+     * example, `principal://goog/subject/alice@example.com`.
+     *
+     * * `principal://iam.googleapis.com/projects/-/serviceAccounts/{service_account_id}`:
+     * A Google Cloud service account. For example,
+     * `principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@iam.gserviceaccount.com`.
+     *
+     * * `principalSet://goog/group/{group_id}`: A Google group. For example,
+     * `principalSet://goog/group/admins@example.com`.
+     *
+     * * `principalSet://goog/cloudIdentityCustomerId/{customer_id}`: All of the
+     * principals associated with the specified Google Workspace or Cloud
+     * Identity customer ID. For example,
+     * `principalSet://goog/cloudIdentityCustomerId/C01Abc35`.
+     *
+     *
+     * If an identifier that was previously set on a policy is soft deleted, then
+     * calls to read that policy will return the identifier with a deleted
+     * prefix. Users cannot set identifiers with this syntax.
+     *
+     * * `deleted:principal://goog/subject/{email_id}?uid={uid}`: A specific
+     * Google Account that was deleted recently. For example,
+     * `deleted:principal://goog/subject/alice@example.com?uid=1234567890`. If
+     * the Google Account is recovered, this identifier reverts to the standard
+     * identifier for a Google Account.
+     *
+     * * `deleted:principalSet://goog/group/{group_id}?uid={uid}`: A Google group
+     * that was deleted recently. For example,
+     * `deleted:principalSet://goog/group/admins@example.com?uid=1234567890`.
+     * If the Google group is restored, this identifier reverts to the standard
+     * identifier for a Google group.
+     *
+     * * `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/{service_account_id}?uid={uid}`:
+     * A Google Cloud service account that was deleted recently. For example,
+     * `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@iam.gserviceaccount.com?uid=1234567890`.
+     * If the service account is undeleted, this identifier reverts to the
+     * standard identifier for a service account.
+     * 
+ * + * repeated string principals = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * @param values The principals to add. + * @return This builder for chaining. + */ + public Builder addAllPrincipals(java.lang.Iterable values) { + ensurePrincipalsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, principals_); + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The identities for which this rule's effect governs using one or
+     * more permissions on Google Cloud resources. This field can contain the
+     * following values:
+     *
+     * * `principal://goog/subject/{email_id}`: A specific Google Account.
+     * Includes Gmail, Cloud Identity, and Google Workspace user accounts. For
+     * example, `principal://goog/subject/alice@example.com`.
+     *
+     * * `principal://iam.googleapis.com/projects/-/serviceAccounts/{service_account_id}`:
+     * A Google Cloud service account. For example,
+     * `principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@iam.gserviceaccount.com`.
+     *
+     * * `principalSet://goog/group/{group_id}`: A Google group. For example,
+     * `principalSet://goog/group/admins@example.com`.
+     *
+     * * `principalSet://goog/cloudIdentityCustomerId/{customer_id}`: All of the
+     * principals associated with the specified Google Workspace or Cloud
+     * Identity customer ID. For example,
+     * `principalSet://goog/cloudIdentityCustomerId/C01Abc35`.
+     *
+     *
+     * If an identifier that was previously set on a policy is soft deleted, then
+     * calls to read that policy will return the identifier with a deleted
+     * prefix. Users cannot set identifiers with this syntax.
+     *
+     * * `deleted:principal://goog/subject/{email_id}?uid={uid}`: A specific
+     * Google Account that was deleted recently. For example,
+     * `deleted:principal://goog/subject/alice@example.com?uid=1234567890`. If
+     * the Google Account is recovered, this identifier reverts to the standard
+     * identifier for a Google Account.
+     *
+     * * `deleted:principalSet://goog/group/{group_id}?uid={uid}`: A Google group
+     * that was deleted recently. For example,
+     * `deleted:principalSet://goog/group/admins@example.com?uid=1234567890`.
+     * If the Google group is restored, this identifier reverts to the standard
+     * identifier for a Google group.
+     *
+     * * `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/{service_account_id}?uid={uid}`:
+     * A Google Cloud service account that was deleted recently. For example,
+     * `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@iam.gserviceaccount.com?uid=1234567890`.
+     * If the service account is undeleted, this identifier reverts to the
+     * standard identifier for a service account.
+     * 
+ * + * repeated string principals = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * @return This builder for chaining. + */ + public Builder clearPrincipals() { + principals_ = com.google.protobuf.LazyStringArrayList.emptyList(); + bitField0_ = (bitField0_ & ~0x00000004); + ; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The identities for which this rule's effect governs using one or
+     * more permissions on Google Cloud resources. This field can contain the
+     * following values:
+     *
+     * * `principal://goog/subject/{email_id}`: A specific Google Account.
+     * Includes Gmail, Cloud Identity, and Google Workspace user accounts. For
+     * example, `principal://goog/subject/alice@example.com`.
+     *
+     * * `principal://iam.googleapis.com/projects/-/serviceAccounts/{service_account_id}`:
+     * A Google Cloud service account. For example,
+     * `principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@iam.gserviceaccount.com`.
+     *
+     * * `principalSet://goog/group/{group_id}`: A Google group. For example,
+     * `principalSet://goog/group/admins@example.com`.
+     *
+     * * `principalSet://goog/cloudIdentityCustomerId/{customer_id}`: All of the
+     * principals associated with the specified Google Workspace or Cloud
+     * Identity customer ID. For example,
+     * `principalSet://goog/cloudIdentityCustomerId/C01Abc35`.
+     *
+     *
+     * If an identifier that was previously set on a policy is soft deleted, then
+     * calls to read that policy will return the identifier with a deleted
+     * prefix. Users cannot set identifiers with this syntax.
+     *
+     * * `deleted:principal://goog/subject/{email_id}?uid={uid}`: A specific
+     * Google Account that was deleted recently. For example,
+     * `deleted:principal://goog/subject/alice@example.com?uid=1234567890`. If
+     * the Google Account is recovered, this identifier reverts to the standard
+     * identifier for a Google Account.
+     *
+     * * `deleted:principalSet://goog/group/{group_id}?uid={uid}`: A Google group
+     * that was deleted recently. For example,
+     * `deleted:principalSet://goog/group/admins@example.com?uid=1234567890`.
+     * If the Google group is restored, this identifier reverts to the standard
+     * identifier for a Google group.
+     *
+     * * `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/{service_account_id}?uid={uid}`:
+     * A Google Cloud service account that was deleted recently. For example,
+     * `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@iam.gserviceaccount.com?uid=1234567890`.
+     * If the service account is undeleted, this identifier reverts to the
+     * standard identifier for a service account.
+     * 
+ * + * repeated string principals = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * @param value The bytes of the principals to add. + * @return This builder for chaining. + */ + public Builder addPrincipalsBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + ensurePrincipalsIsMutable(); + principals_.add(value); + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + private com.google.protobuf.LazyStringArrayList excludedPrincipals_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + + private void ensureExcludedPrincipalsIsMutable() { + if (!excludedPrincipals_.isModifiable()) { + excludedPrincipals_ = new com.google.protobuf.LazyStringArrayList(excludedPrincipals_); + } + bitField0_ |= 0x00000008; + } + + /** + * + * + *
+     * Optional. The identities that are excluded from the access policy rule,
+     * even if they are listed in the `principals`. For example, you could add a
+     * Google group to the `principals`, then exclude specific users who belong to
+     * that group.
+     * 
+ * + * repeated string excluded_principals = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return A list containing the excludedPrincipals. + */ + public com.google.protobuf.ProtocolStringList getExcludedPrincipalsList() { + excludedPrincipals_.makeImmutable(); + return excludedPrincipals_; + } + + /** + * + * + *
+     * Optional. The identities that are excluded from the access policy rule,
+     * even if they are listed in the `principals`. For example, you could add a
+     * Google group to the `principals`, then exclude specific users who belong to
+     * that group.
+     * 
+ * + * repeated string excluded_principals = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The count of excludedPrincipals. + */ + public int getExcludedPrincipalsCount() { + return excludedPrincipals_.size(); + } + + /** + * + * + *
+     * Optional. The identities that are excluded from the access policy rule,
+     * even if they are listed in the `principals`. For example, you could add a
+     * Google group to the `principals`, then exclude specific users who belong to
+     * that group.
+     * 
+ * + * repeated string excluded_principals = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @param index The index of the element to return. + * @return The excludedPrincipals at the given index. + */ + public java.lang.String getExcludedPrincipals(int index) { + return excludedPrincipals_.get(index); + } + + /** + * + * + *
+     * Optional. The identities that are excluded from the access policy rule,
+     * even if they are listed in the `principals`. For example, you could add a
+     * Google group to the `principals`, then exclude specific users who belong to
+     * that group.
+     * 
+ * + * repeated string excluded_principals = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @param index The index of the value to return. + * @return The bytes of the excludedPrincipals at the given index. + */ + public com.google.protobuf.ByteString getExcludedPrincipalsBytes(int index) { + return excludedPrincipals_.getByteString(index); + } + + /** + * + * + *
+     * Optional. The identities that are excluded from the access policy rule,
+     * even if they are listed in the `principals`. For example, you could add a
+     * Google group to the `principals`, then exclude specific users who belong to
+     * that group.
+     * 
+ * + * repeated string excluded_principals = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @param index The index to set the value at. + * @param value The excludedPrincipals to set. + * @return This builder for chaining. + */ + public Builder setExcludedPrincipals(int index, java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureExcludedPrincipalsIsMutable(); + excludedPrincipals_.set(index, value); + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. The identities that are excluded from the access policy rule,
+     * even if they are listed in the `principals`. For example, you could add a
+     * Google group to the `principals`, then exclude specific users who belong to
+     * that group.
+     * 
+ * + * repeated string excluded_principals = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @param value The excludedPrincipals to add. + * @return This builder for chaining. + */ + public Builder addExcludedPrincipals(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureExcludedPrincipalsIsMutable(); + excludedPrincipals_.add(value); + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. The identities that are excluded from the access policy rule,
+     * even if they are listed in the `principals`. For example, you could add a
+     * Google group to the `principals`, then exclude specific users who belong to
+     * that group.
+     * 
+ * + * repeated string excluded_principals = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @param values The excludedPrincipals to add. + * @return This builder for chaining. + */ + public Builder addAllExcludedPrincipals(java.lang.Iterable values) { + ensureExcludedPrincipalsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, excludedPrincipals_); + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. The identities that are excluded from the access policy rule,
+     * even if they are listed in the `principals`. For example, you could add a
+     * Google group to the `principals`, then exclude specific users who belong to
+     * that group.
+     * 
+ * + * repeated string excluded_principals = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return This builder for chaining. + */ + public Builder clearExcludedPrincipals() { + excludedPrincipals_ = com.google.protobuf.LazyStringArrayList.emptyList(); + bitField0_ = (bitField0_ & ~0x00000008); + ; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. The identities that are excluded from the access policy rule,
+     * even if they are listed in the `principals`. For example, you could add a
+     * Google group to the `principals`, then exclude specific users who belong to
+     * that group.
+     * 
+ * + * repeated string excluded_principals = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @param value The bytes of the excludedPrincipals to add. + * @return This builder for chaining. + */ + public Builder addExcludedPrincipalsBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + ensureExcludedPrincipalsIsMutable(); + excludedPrincipals_.add(value); + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + private com.google.iam.v3beta.AccessPolicyRule.Operation operation_; + private com.google.protobuf.SingleFieldBuilder< + com.google.iam.v3beta.AccessPolicyRule.Operation, + com.google.iam.v3beta.AccessPolicyRule.Operation.Builder, + com.google.iam.v3beta.AccessPolicyRule.OperationOrBuilder> + operationBuilder_; + + /** + * + * + *
+     * Required. Attributes that are used to determine whether this rule applies
+     * to a request.
+     * 
+ * + * + * .google.iam.v3beta.AccessPolicyRule.Operation operation = 10 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the operation field is set. + */ + public boolean hasOperation() { + return ((bitField0_ & 0x00000010) != 0); + } + + /** + * + * + *
+     * Required. Attributes that are used to determine whether this rule applies
+     * to a request.
+     * 
+ * + * + * .google.iam.v3beta.AccessPolicyRule.Operation operation = 10 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The operation. + */ + public com.google.iam.v3beta.AccessPolicyRule.Operation getOperation() { + if (operationBuilder_ == null) { + return operation_ == null + ? com.google.iam.v3beta.AccessPolicyRule.Operation.getDefaultInstance() + : operation_; + } else { + return operationBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Required. Attributes that are used to determine whether this rule applies
+     * to a request.
+     * 
+ * + * + * .google.iam.v3beta.AccessPolicyRule.Operation operation = 10 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder setOperation(com.google.iam.v3beta.AccessPolicyRule.Operation value) { + if (operationBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + operation_ = value; + } else { + operationBuilder_.setMessage(value); + } + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. Attributes that are used to determine whether this rule applies
+     * to a request.
+     * 
+ * + * + * .google.iam.v3beta.AccessPolicyRule.Operation operation = 10 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder setOperation( + com.google.iam.v3beta.AccessPolicyRule.Operation.Builder builderForValue) { + if (operationBuilder_ == null) { + operation_ = builderForValue.build(); + } else { + operationBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. Attributes that are used to determine whether this rule applies
+     * to a request.
+     * 
+ * + * + * .google.iam.v3beta.AccessPolicyRule.Operation operation = 10 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder mergeOperation(com.google.iam.v3beta.AccessPolicyRule.Operation value) { + if (operationBuilder_ == null) { + if (((bitField0_ & 0x00000010) != 0) + && operation_ != null + && operation_ + != com.google.iam.v3beta.AccessPolicyRule.Operation.getDefaultInstance()) { + getOperationBuilder().mergeFrom(value); + } else { + operation_ = value; + } + } else { + operationBuilder_.mergeFrom(value); + } + if (operation_ != null) { + bitField0_ |= 0x00000010; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Required. Attributes that are used to determine whether this rule applies
+     * to a request.
+     * 
+ * + * + * .google.iam.v3beta.AccessPolicyRule.Operation operation = 10 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder clearOperation() { + bitField0_ = (bitField0_ & ~0x00000010); + operation_ = null; + if (operationBuilder_ != null) { + operationBuilder_.dispose(); + operationBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. Attributes that are used to determine whether this rule applies
+     * to a request.
+     * 
+ * + * + * .google.iam.v3beta.AccessPolicyRule.Operation operation = 10 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public com.google.iam.v3beta.AccessPolicyRule.Operation.Builder getOperationBuilder() { + bitField0_ |= 0x00000010; + onChanged(); + return internalGetOperationFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Required. Attributes that are used to determine whether this rule applies
+     * to a request.
+     * 
+ * + * + * .google.iam.v3beta.AccessPolicyRule.Operation operation = 10 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public com.google.iam.v3beta.AccessPolicyRule.OperationOrBuilder getOperationOrBuilder() { + if (operationBuilder_ != null) { + return operationBuilder_.getMessageOrBuilder(); + } else { + return operation_ == null + ? com.google.iam.v3beta.AccessPolicyRule.Operation.getDefaultInstance() + : operation_; + } + } + + /** + * + * + *
+     * Required. Attributes that are used to determine whether this rule applies
+     * to a request.
+     * 
+ * + * + * .google.iam.v3beta.AccessPolicyRule.Operation operation = 10 [(.google.api.field_behavior) = REQUIRED]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.iam.v3beta.AccessPolicyRule.Operation, + com.google.iam.v3beta.AccessPolicyRule.Operation.Builder, + com.google.iam.v3beta.AccessPolicyRule.OperationOrBuilder> + internalGetOperationFieldBuilder() { + if (operationBuilder_ == null) { + operationBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.iam.v3beta.AccessPolicyRule.Operation, + com.google.iam.v3beta.AccessPolicyRule.Operation.Builder, + com.google.iam.v3beta.AccessPolicyRule.OperationOrBuilder>( + getOperation(), getParentForChildren(), isClean()); + operation_ = null; + } + return operationBuilder_; + } + + private static final class ConditionsConverter + implements com.google.protobuf.MapFieldBuilder.Converter< + java.lang.String, com.google.type.ExprOrBuilder, com.google.type.Expr> { + @java.lang.Override + public com.google.type.Expr build(com.google.type.ExprOrBuilder val) { + if (val instanceof com.google.type.Expr) { + return (com.google.type.Expr) val; + } + return ((com.google.type.Expr.Builder) val).build(); + } + + @java.lang.Override + public com.google.protobuf.MapEntry defaultEntry() { + return ConditionsDefaultEntryHolder.defaultEntry; + } + } + ; + + private static final ConditionsConverter conditionsConverter = new ConditionsConverter(); + + private com.google.protobuf.MapFieldBuilder< + java.lang.String, + com.google.type.ExprOrBuilder, + com.google.type.Expr, + com.google.type.Expr.Builder> + conditions_; + + private com.google.protobuf.MapFieldBuilder< + java.lang.String, + com.google.type.ExprOrBuilder, + com.google.type.Expr, + com.google.type.Expr.Builder> + internalGetConditions() { + if (conditions_ == null) { + return new com.google.protobuf.MapFieldBuilder<>(conditionsConverter); + } + return conditions_; + } + + private com.google.protobuf.MapFieldBuilder< + java.lang.String, + com.google.type.ExprOrBuilder, + com.google.type.Expr, + com.google.type.Expr.Builder> + internalGetMutableConditions() { + if (conditions_ == null) { + conditions_ = new com.google.protobuf.MapFieldBuilder<>(conditionsConverter); + } + bitField0_ |= 0x00000020; + onChanged(); + return conditions_; + } + + public int getConditionsCount() { + return internalGetConditions().ensureBuilderMap().size(); + } + + /** + * + * + *
+     * Optional. The conditions that determine whether this rule applies to a
+     * request. Conditions are identified by their key, which is the FQDN of the
+     * service that they are relevant to. For example:
+     *
+     * ```
+     * "conditions": {
+     * "iam.googleapis.com": {
+     * "expression": <cel expression>
+     * }
+     * }
+     * ```
+     *
+     * Each rule is evaluated independently. If this rule does not apply
+     * to a request, other rules might still apply.
+     * Currently supported keys are as follows:
+     *
+     *
+     * * `eventarc.googleapis.com`: Can use `CEL` functions that evaluate
+     * resource fields.
+     *
+     * * `iam.googleapis.com`: Can use `CEL` functions that evaluate
+     * [resource
+     * tags](https://cloud.google.com/iam/help/conditions/resource-tags) and
+     * combine them using boolean and logical operators. Other functions and
+     * operators are not supported.
+     * 
+ * + * + * map<string, .google.type.Expr> conditions = 9 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public boolean containsConditions(java.lang.String key) { + if (key == null) { + throw new NullPointerException("map key"); + } + return internalGetConditions().ensureBuilderMap().containsKey(key); + } + + /** Use {@link #getConditionsMap()} instead. */ + @java.lang.Override + @java.lang.Deprecated + public java.util.Map getConditions() { + return getConditionsMap(); + } + + /** + * + * + *
+     * Optional. The conditions that determine whether this rule applies to a
+     * request. Conditions are identified by their key, which is the FQDN of the
+     * service that they are relevant to. For example:
+     *
+     * ```
+     * "conditions": {
+     * "iam.googleapis.com": {
+     * "expression": <cel expression>
+     * }
+     * }
+     * ```
+     *
+     * Each rule is evaluated independently. If this rule does not apply
+     * to a request, other rules might still apply.
+     * Currently supported keys are as follows:
+     *
+     *
+     * * `eventarc.googleapis.com`: Can use `CEL` functions that evaluate
+     * resource fields.
+     *
+     * * `iam.googleapis.com`: Can use `CEL` functions that evaluate
+     * [resource
+     * tags](https://cloud.google.com/iam/help/conditions/resource-tags) and
+     * combine them using boolean and logical operators. Other functions and
+     * operators are not supported.
+     * 
+ * + * + * map<string, .google.type.Expr> conditions = 9 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public java.util.Map getConditionsMap() { + return internalGetConditions().getImmutableMap(); + } + + /** + * + * + *
+     * Optional. The conditions that determine whether this rule applies to a
+     * request. Conditions are identified by their key, which is the FQDN of the
+     * service that they are relevant to. For example:
+     *
+     * ```
+     * "conditions": {
+     * "iam.googleapis.com": {
+     * "expression": <cel expression>
+     * }
+     * }
+     * ```
+     *
+     * Each rule is evaluated independently. If this rule does not apply
+     * to a request, other rules might still apply.
+     * Currently supported keys are as follows:
+     *
+     *
+     * * `eventarc.googleapis.com`: Can use `CEL` functions that evaluate
+     * resource fields.
+     *
+     * * `iam.googleapis.com`: Can use `CEL` functions that evaluate
+     * [resource
+     * tags](https://cloud.google.com/iam/help/conditions/resource-tags) and
+     * combine them using boolean and logical operators. Other functions and
+     * operators are not supported.
+     * 
+ * + * + * map<string, .google.type.Expr> conditions = 9 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public /* nullable */ com.google.type.Expr getConditionsOrDefault( + java.lang.String key, + /* nullable */ + com.google.type.Expr defaultValue) { + if (key == null) { + throw new NullPointerException("map key"); + } + java.util.Map map = + internalGetMutableConditions().ensureBuilderMap(); + return map.containsKey(key) ? conditionsConverter.build(map.get(key)) : defaultValue; + } + + /** + * + * + *
+     * Optional. The conditions that determine whether this rule applies to a
+     * request. Conditions are identified by their key, which is the FQDN of the
+     * service that they are relevant to. For example:
+     *
+     * ```
+     * "conditions": {
+     * "iam.googleapis.com": {
+     * "expression": <cel expression>
+     * }
+     * }
+     * ```
+     *
+     * Each rule is evaluated independently. If this rule does not apply
+     * to a request, other rules might still apply.
+     * Currently supported keys are as follows:
+     *
+     *
+     * * `eventarc.googleapis.com`: Can use `CEL` functions that evaluate
+     * resource fields.
+     *
+     * * `iam.googleapis.com`: Can use `CEL` functions that evaluate
+     * [resource
+     * tags](https://cloud.google.com/iam/help/conditions/resource-tags) and
+     * combine them using boolean and logical operators. Other functions and
+     * operators are not supported.
+     * 
+ * + * + * map<string, .google.type.Expr> conditions = 9 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public com.google.type.Expr getConditionsOrThrow(java.lang.String key) { + if (key == null) { + throw new NullPointerException("map key"); + } + java.util.Map map = + internalGetMutableConditions().ensureBuilderMap(); + if (!map.containsKey(key)) { + throw new java.lang.IllegalArgumentException(); + } + return conditionsConverter.build(map.get(key)); + } + + public Builder clearConditions() { + bitField0_ = (bitField0_ & ~0x00000020); + internalGetMutableConditions().clear(); + return this; + } + + /** + * + * + *
+     * Optional. The conditions that determine whether this rule applies to a
+     * request. Conditions are identified by their key, which is the FQDN of the
+     * service that they are relevant to. For example:
+     *
+     * ```
+     * "conditions": {
+     * "iam.googleapis.com": {
+     * "expression": <cel expression>
+     * }
+     * }
+     * ```
+     *
+     * Each rule is evaluated independently. If this rule does not apply
+     * to a request, other rules might still apply.
+     * Currently supported keys are as follows:
+     *
+     *
+     * * `eventarc.googleapis.com`: Can use `CEL` functions that evaluate
+     * resource fields.
+     *
+     * * `iam.googleapis.com`: Can use `CEL` functions that evaluate
+     * [resource
+     * tags](https://cloud.google.com/iam/help/conditions/resource-tags) and
+     * combine them using boolean and logical operators. Other functions and
+     * operators are not supported.
+     * 
+ * + * + * map<string, .google.type.Expr> conditions = 9 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder removeConditions(java.lang.String key) { + if (key == null) { + throw new NullPointerException("map key"); + } + internalGetMutableConditions().ensureBuilderMap().remove(key); + return this; + } + + /** Use alternate mutation accessors instead. */ + @java.lang.Deprecated + public java.util.Map getMutableConditions() { + bitField0_ |= 0x00000020; + return internalGetMutableConditions().ensureMessageMap(); + } + + /** + * + * + *
+     * Optional. The conditions that determine whether this rule applies to a
+     * request. Conditions are identified by their key, which is the FQDN of the
+     * service that they are relevant to. For example:
+     *
+     * ```
+     * "conditions": {
+     * "iam.googleapis.com": {
+     * "expression": <cel expression>
+     * }
+     * }
+     * ```
+     *
+     * Each rule is evaluated independently. If this rule does not apply
+     * to a request, other rules might still apply.
+     * Currently supported keys are as follows:
+     *
+     *
+     * * `eventarc.googleapis.com`: Can use `CEL` functions that evaluate
+     * resource fields.
+     *
+     * * `iam.googleapis.com`: Can use `CEL` functions that evaluate
+     * [resource
+     * tags](https://cloud.google.com/iam/help/conditions/resource-tags) and
+     * combine them using boolean and logical operators. Other functions and
+     * operators are not supported.
+     * 
+ * + * + * map<string, .google.type.Expr> conditions = 9 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder putConditions(java.lang.String key, com.google.type.Expr value) { + if (key == null) { + throw new NullPointerException("map key"); + } + if (value == null) { + throw new NullPointerException("map value"); + } + internalGetMutableConditions().ensureBuilderMap().put(key, value); + bitField0_ |= 0x00000020; + return this; + } + + /** + * + * + *
+     * Optional. The conditions that determine whether this rule applies to a
+     * request. Conditions are identified by their key, which is the FQDN of the
+     * service that they are relevant to. For example:
+     *
+     * ```
+     * "conditions": {
+     * "iam.googleapis.com": {
+     * "expression": <cel expression>
+     * }
+     * }
+     * ```
+     *
+     * Each rule is evaluated independently. If this rule does not apply
+     * to a request, other rules might still apply.
+     * Currently supported keys are as follows:
+     *
+     *
+     * * `eventarc.googleapis.com`: Can use `CEL` functions that evaluate
+     * resource fields.
+     *
+     * * `iam.googleapis.com`: Can use `CEL` functions that evaluate
+     * [resource
+     * tags](https://cloud.google.com/iam/help/conditions/resource-tags) and
+     * combine them using boolean and logical operators. Other functions and
+     * operators are not supported.
+     * 
+ * + * + * map<string, .google.type.Expr> conditions = 9 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder putAllConditions(java.util.Map values) { + for (java.util.Map.Entry e : values.entrySet()) { + if (e.getKey() == null || e.getValue() == null) { + throw new NullPointerException(); + } + } + internalGetMutableConditions().ensureBuilderMap().putAll(values); + bitField0_ |= 0x00000020; + return this; + } + + /** + * + * + *
+     * Optional. The conditions that determine whether this rule applies to a
+     * request. Conditions are identified by their key, which is the FQDN of the
+     * service that they are relevant to. For example:
+     *
+     * ```
+     * "conditions": {
+     * "iam.googleapis.com": {
+     * "expression": <cel expression>
+     * }
+     * }
+     * ```
+     *
+     * Each rule is evaluated independently. If this rule does not apply
+     * to a request, other rules might still apply.
+     * Currently supported keys are as follows:
+     *
+     *
+     * * `eventarc.googleapis.com`: Can use `CEL` functions that evaluate
+     * resource fields.
+     *
+     * * `iam.googleapis.com`: Can use `CEL` functions that evaluate
+     * [resource
+     * tags](https://cloud.google.com/iam/help/conditions/resource-tags) and
+     * combine them using boolean and logical operators. Other functions and
+     * operators are not supported.
+     * 
+ * + * + * map<string, .google.type.Expr> conditions = 9 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.type.Expr.Builder putConditionsBuilderIfAbsent(java.lang.String key) { + java.util.Map builderMap = + internalGetMutableConditions().ensureBuilderMap(); + com.google.type.ExprOrBuilder entry = builderMap.get(key); + if (entry == null) { + entry = com.google.type.Expr.newBuilder(); + builderMap.put(key, entry); + } + if (entry instanceof com.google.type.Expr) { + entry = ((com.google.type.Expr) entry).toBuilder(); + builderMap.put(key, entry); + } + return (com.google.type.Expr.Builder) entry; + } + + // @@protoc_insertion_point(builder_scope:google.iam.v3beta.AccessPolicyRule) + } + + // @@protoc_insertion_point(class_scope:google.iam.v3beta.AccessPolicyRule) + private static final com.google.iam.v3beta.AccessPolicyRule DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.iam.v3beta.AccessPolicyRule(); + } + + public static com.google.iam.v3beta.AccessPolicyRule getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public AccessPolicyRule 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.iam.v3beta.AccessPolicyRule getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/AccessPolicyRuleOrBuilder.java b/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/AccessPolicyRuleOrBuilder.java new file mode 100644 index 0000000000..745fb2b212 --- /dev/null +++ b/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/AccessPolicyRuleOrBuilder.java @@ -0,0 +1,638 @@ +/* + * 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/iam/v3beta/access_policy_resources.proto +// Protobuf Java Version: 4.33.2 + +package com.google.iam.v3beta; + +@com.google.protobuf.Generated +public interface AccessPolicyRuleOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.iam.v3beta.AccessPolicyRule) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Optional. Customer specified description of the rule. Must be less than or
+   * equal to 256 characters.
+   * 
+ * + * optional string description = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return Whether the description field is set. + */ + boolean hasDescription(); + + /** + * + * + *
+   * Optional. Customer specified description of the rule. Must be less than or
+   * equal to 256 characters.
+   * 
+ * + * optional string description = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The description. + */ + java.lang.String getDescription(); + + /** + * + * + *
+   * Optional. Customer specified description of the rule. Must be less than or
+   * equal to 256 characters.
+   * 
+ * + * optional string description = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for description. + */ + com.google.protobuf.ByteString getDescriptionBytes(); + + /** + * + * + *
+   * Required. The effect of the rule.
+   * 
+ * + * + * optional .google.iam.v3beta.AccessPolicyRule.Effect effect = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the effect field is set. + */ + boolean hasEffect(); + + /** + * + * + *
+   * Required. The effect of the rule.
+   * 
+ * + * + * optional .google.iam.v3beta.AccessPolicyRule.Effect effect = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The enum numeric value on the wire for effect. + */ + int getEffectValue(); + + /** + * + * + *
+   * Required. The effect of the rule.
+   * 
+ * + * + * optional .google.iam.v3beta.AccessPolicyRule.Effect effect = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The effect. + */ + com.google.iam.v3beta.AccessPolicyRule.Effect getEffect(); + + /** + * + * + *
+   * Required. The identities for which this rule's effect governs using one or
+   * more permissions on Google Cloud resources. This field can contain the
+   * following values:
+   *
+   * * `principal://goog/subject/{email_id}`: A specific Google Account.
+   * Includes Gmail, Cloud Identity, and Google Workspace user accounts. For
+   * example, `principal://goog/subject/alice@example.com`.
+   *
+   * * `principal://iam.googleapis.com/projects/-/serviceAccounts/{service_account_id}`:
+   * A Google Cloud service account. For example,
+   * `principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@iam.gserviceaccount.com`.
+   *
+   * * `principalSet://goog/group/{group_id}`: A Google group. For example,
+   * `principalSet://goog/group/admins@example.com`.
+   *
+   * * `principalSet://goog/cloudIdentityCustomerId/{customer_id}`: All of the
+   * principals associated with the specified Google Workspace or Cloud
+   * Identity customer ID. For example,
+   * `principalSet://goog/cloudIdentityCustomerId/C01Abc35`.
+   *
+   *
+   * If an identifier that was previously set on a policy is soft deleted, then
+   * calls to read that policy will return the identifier with a deleted
+   * prefix. Users cannot set identifiers with this syntax.
+   *
+   * * `deleted:principal://goog/subject/{email_id}?uid={uid}`: A specific
+   * Google Account that was deleted recently. For example,
+   * `deleted:principal://goog/subject/alice@example.com?uid=1234567890`. If
+   * the Google Account is recovered, this identifier reverts to the standard
+   * identifier for a Google Account.
+   *
+   * * `deleted:principalSet://goog/group/{group_id}?uid={uid}`: A Google group
+   * that was deleted recently. For example,
+   * `deleted:principalSet://goog/group/admins@example.com?uid=1234567890`.
+   * If the Google group is restored, this identifier reverts to the standard
+   * identifier for a Google group.
+   *
+   * * `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/{service_account_id}?uid={uid}`:
+   * A Google Cloud service account that was deleted recently. For example,
+   * `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@iam.gserviceaccount.com?uid=1234567890`.
+   * If the service account is undeleted, this identifier reverts to the
+   * standard identifier for a service account.
+   * 
+ * + * repeated string principals = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * @return A list containing the principals. + */ + java.util.List getPrincipalsList(); + + /** + * + * + *
+   * Required. The identities for which this rule's effect governs using one or
+   * more permissions on Google Cloud resources. This field can contain the
+   * following values:
+   *
+   * * `principal://goog/subject/{email_id}`: A specific Google Account.
+   * Includes Gmail, Cloud Identity, and Google Workspace user accounts. For
+   * example, `principal://goog/subject/alice@example.com`.
+   *
+   * * `principal://iam.googleapis.com/projects/-/serviceAccounts/{service_account_id}`:
+   * A Google Cloud service account. For example,
+   * `principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@iam.gserviceaccount.com`.
+   *
+   * * `principalSet://goog/group/{group_id}`: A Google group. For example,
+   * `principalSet://goog/group/admins@example.com`.
+   *
+   * * `principalSet://goog/cloudIdentityCustomerId/{customer_id}`: All of the
+   * principals associated with the specified Google Workspace or Cloud
+   * Identity customer ID. For example,
+   * `principalSet://goog/cloudIdentityCustomerId/C01Abc35`.
+   *
+   *
+   * If an identifier that was previously set on a policy is soft deleted, then
+   * calls to read that policy will return the identifier with a deleted
+   * prefix. Users cannot set identifiers with this syntax.
+   *
+   * * `deleted:principal://goog/subject/{email_id}?uid={uid}`: A specific
+   * Google Account that was deleted recently. For example,
+   * `deleted:principal://goog/subject/alice@example.com?uid=1234567890`. If
+   * the Google Account is recovered, this identifier reverts to the standard
+   * identifier for a Google Account.
+   *
+   * * `deleted:principalSet://goog/group/{group_id}?uid={uid}`: A Google group
+   * that was deleted recently. For example,
+   * `deleted:principalSet://goog/group/admins@example.com?uid=1234567890`.
+   * If the Google group is restored, this identifier reverts to the standard
+   * identifier for a Google group.
+   *
+   * * `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/{service_account_id}?uid={uid}`:
+   * A Google Cloud service account that was deleted recently. For example,
+   * `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@iam.gserviceaccount.com?uid=1234567890`.
+   * If the service account is undeleted, this identifier reverts to the
+   * standard identifier for a service account.
+   * 
+ * + * repeated string principals = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * @return The count of principals. + */ + int getPrincipalsCount(); + + /** + * + * + *
+   * Required. The identities for which this rule's effect governs using one or
+   * more permissions on Google Cloud resources. This field can contain the
+   * following values:
+   *
+   * * `principal://goog/subject/{email_id}`: A specific Google Account.
+   * Includes Gmail, Cloud Identity, and Google Workspace user accounts. For
+   * example, `principal://goog/subject/alice@example.com`.
+   *
+   * * `principal://iam.googleapis.com/projects/-/serviceAccounts/{service_account_id}`:
+   * A Google Cloud service account. For example,
+   * `principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@iam.gserviceaccount.com`.
+   *
+   * * `principalSet://goog/group/{group_id}`: A Google group. For example,
+   * `principalSet://goog/group/admins@example.com`.
+   *
+   * * `principalSet://goog/cloudIdentityCustomerId/{customer_id}`: All of the
+   * principals associated with the specified Google Workspace or Cloud
+   * Identity customer ID. For example,
+   * `principalSet://goog/cloudIdentityCustomerId/C01Abc35`.
+   *
+   *
+   * If an identifier that was previously set on a policy is soft deleted, then
+   * calls to read that policy will return the identifier with a deleted
+   * prefix. Users cannot set identifiers with this syntax.
+   *
+   * * `deleted:principal://goog/subject/{email_id}?uid={uid}`: A specific
+   * Google Account that was deleted recently. For example,
+   * `deleted:principal://goog/subject/alice@example.com?uid=1234567890`. If
+   * the Google Account is recovered, this identifier reverts to the standard
+   * identifier for a Google Account.
+   *
+   * * `deleted:principalSet://goog/group/{group_id}?uid={uid}`: A Google group
+   * that was deleted recently. For example,
+   * `deleted:principalSet://goog/group/admins@example.com?uid=1234567890`.
+   * If the Google group is restored, this identifier reverts to the standard
+   * identifier for a Google group.
+   *
+   * * `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/{service_account_id}?uid={uid}`:
+   * A Google Cloud service account that was deleted recently. For example,
+   * `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@iam.gserviceaccount.com?uid=1234567890`.
+   * If the service account is undeleted, this identifier reverts to the
+   * standard identifier for a service account.
+   * 
+ * + * repeated string principals = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * @param index The index of the element to return. + * @return The principals at the given index. + */ + java.lang.String getPrincipals(int index); + + /** + * + * + *
+   * Required. The identities for which this rule's effect governs using one or
+   * more permissions on Google Cloud resources. This field can contain the
+   * following values:
+   *
+   * * `principal://goog/subject/{email_id}`: A specific Google Account.
+   * Includes Gmail, Cloud Identity, and Google Workspace user accounts. For
+   * example, `principal://goog/subject/alice@example.com`.
+   *
+   * * `principal://iam.googleapis.com/projects/-/serviceAccounts/{service_account_id}`:
+   * A Google Cloud service account. For example,
+   * `principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@iam.gserviceaccount.com`.
+   *
+   * * `principalSet://goog/group/{group_id}`: A Google group. For example,
+   * `principalSet://goog/group/admins@example.com`.
+   *
+   * * `principalSet://goog/cloudIdentityCustomerId/{customer_id}`: All of the
+   * principals associated with the specified Google Workspace or Cloud
+   * Identity customer ID. For example,
+   * `principalSet://goog/cloudIdentityCustomerId/C01Abc35`.
+   *
+   *
+   * If an identifier that was previously set on a policy is soft deleted, then
+   * calls to read that policy will return the identifier with a deleted
+   * prefix. Users cannot set identifiers with this syntax.
+   *
+   * * `deleted:principal://goog/subject/{email_id}?uid={uid}`: A specific
+   * Google Account that was deleted recently. For example,
+   * `deleted:principal://goog/subject/alice@example.com?uid=1234567890`. If
+   * the Google Account is recovered, this identifier reverts to the standard
+   * identifier for a Google Account.
+   *
+   * * `deleted:principalSet://goog/group/{group_id}?uid={uid}`: A Google group
+   * that was deleted recently. For example,
+   * `deleted:principalSet://goog/group/admins@example.com?uid=1234567890`.
+   * If the Google group is restored, this identifier reverts to the standard
+   * identifier for a Google group.
+   *
+   * * `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/{service_account_id}?uid={uid}`:
+   * A Google Cloud service account that was deleted recently. For example,
+   * `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@iam.gserviceaccount.com?uid=1234567890`.
+   * If the service account is undeleted, this identifier reverts to the
+   * standard identifier for a service account.
+   * 
+ * + * repeated string principals = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * @param index The index of the value to return. + * @return The bytes of the principals at the given index. + */ + com.google.protobuf.ByteString getPrincipalsBytes(int index); + + /** + * + * + *
+   * Optional. The identities that are excluded from the access policy rule,
+   * even if they are listed in the `principals`. For example, you could add a
+   * Google group to the `principals`, then exclude specific users who belong to
+   * that group.
+   * 
+ * + * repeated string excluded_principals = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return A list containing the excludedPrincipals. + */ + java.util.List getExcludedPrincipalsList(); + + /** + * + * + *
+   * Optional. The identities that are excluded from the access policy rule,
+   * even if they are listed in the `principals`. For example, you could add a
+   * Google group to the `principals`, then exclude specific users who belong to
+   * that group.
+   * 
+ * + * repeated string excluded_principals = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The count of excludedPrincipals. + */ + int getExcludedPrincipalsCount(); + + /** + * + * + *
+   * Optional. The identities that are excluded from the access policy rule,
+   * even if they are listed in the `principals`. For example, you could add a
+   * Google group to the `principals`, then exclude specific users who belong to
+   * that group.
+   * 
+ * + * repeated string excluded_principals = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param index The index of the element to return. + * @return The excludedPrincipals at the given index. + */ + java.lang.String getExcludedPrincipals(int index); + + /** + * + * + *
+   * Optional. The identities that are excluded from the access policy rule,
+   * even if they are listed in the `principals`. For example, you could add a
+   * Google group to the `principals`, then exclude specific users who belong to
+   * that group.
+   * 
+ * + * repeated string excluded_principals = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param index The index of the value to return. + * @return The bytes of the excludedPrincipals at the given index. + */ + com.google.protobuf.ByteString getExcludedPrincipalsBytes(int index); + + /** + * + * + *
+   * Required. Attributes that are used to determine whether this rule applies
+   * to a request.
+   * 
+ * + * + * .google.iam.v3beta.AccessPolicyRule.Operation operation = 10 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the operation field is set. + */ + boolean hasOperation(); + + /** + * + * + *
+   * Required. Attributes that are used to determine whether this rule applies
+   * to a request.
+   * 
+ * + * + * .google.iam.v3beta.AccessPolicyRule.Operation operation = 10 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The operation. + */ + com.google.iam.v3beta.AccessPolicyRule.Operation getOperation(); + + /** + * + * + *
+   * Required. Attributes that are used to determine whether this rule applies
+   * to a request.
+   * 
+ * + * + * .google.iam.v3beta.AccessPolicyRule.Operation operation = 10 [(.google.api.field_behavior) = REQUIRED]; + * + */ + com.google.iam.v3beta.AccessPolicyRule.OperationOrBuilder getOperationOrBuilder(); + + /** + * + * + *
+   * Optional. The conditions that determine whether this rule applies to a
+   * request. Conditions are identified by their key, which is the FQDN of the
+   * service that they are relevant to. For example:
+   *
+   * ```
+   * "conditions": {
+   * "iam.googleapis.com": {
+   * "expression": <cel expression>
+   * }
+   * }
+   * ```
+   *
+   * Each rule is evaluated independently. If this rule does not apply
+   * to a request, other rules might still apply.
+   * Currently supported keys are as follows:
+   *
+   *
+   * * `eventarc.googleapis.com`: Can use `CEL` functions that evaluate
+   * resource fields.
+   *
+   * * `iam.googleapis.com`: Can use `CEL` functions that evaluate
+   * [resource
+   * tags](https://cloud.google.com/iam/help/conditions/resource-tags) and
+   * combine them using boolean and logical operators. Other functions and
+   * operators are not supported.
+   * 
+ * + * + * map<string, .google.type.Expr> conditions = 9 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + int getConditionsCount(); + + /** + * + * + *
+   * Optional. The conditions that determine whether this rule applies to a
+   * request. Conditions are identified by their key, which is the FQDN of the
+   * service that they are relevant to. For example:
+   *
+   * ```
+   * "conditions": {
+   * "iam.googleapis.com": {
+   * "expression": <cel expression>
+   * }
+   * }
+   * ```
+   *
+   * Each rule is evaluated independently. If this rule does not apply
+   * to a request, other rules might still apply.
+   * Currently supported keys are as follows:
+   *
+   *
+   * * `eventarc.googleapis.com`: Can use `CEL` functions that evaluate
+   * resource fields.
+   *
+   * * `iam.googleapis.com`: Can use `CEL` functions that evaluate
+   * [resource
+   * tags](https://cloud.google.com/iam/help/conditions/resource-tags) and
+   * combine them using boolean and logical operators. Other functions and
+   * operators are not supported.
+   * 
+ * + * + * map<string, .google.type.Expr> conditions = 9 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + boolean containsConditions(java.lang.String key); + + /** Use {@link #getConditionsMap()} instead. */ + @java.lang.Deprecated + java.util.Map getConditions(); + + /** + * + * + *
+   * Optional. The conditions that determine whether this rule applies to a
+   * request. Conditions are identified by their key, which is the FQDN of the
+   * service that they are relevant to. For example:
+   *
+   * ```
+   * "conditions": {
+   * "iam.googleapis.com": {
+   * "expression": <cel expression>
+   * }
+   * }
+   * ```
+   *
+   * Each rule is evaluated independently. If this rule does not apply
+   * to a request, other rules might still apply.
+   * Currently supported keys are as follows:
+   *
+   *
+   * * `eventarc.googleapis.com`: Can use `CEL` functions that evaluate
+   * resource fields.
+   *
+   * * `iam.googleapis.com`: Can use `CEL` functions that evaluate
+   * [resource
+   * tags](https://cloud.google.com/iam/help/conditions/resource-tags) and
+   * combine them using boolean and logical operators. Other functions and
+   * operators are not supported.
+   * 
+ * + * + * map<string, .google.type.Expr> conditions = 9 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + java.util.Map getConditionsMap(); + + /** + * + * + *
+   * Optional. The conditions that determine whether this rule applies to a
+   * request. Conditions are identified by their key, which is the FQDN of the
+   * service that they are relevant to. For example:
+   *
+   * ```
+   * "conditions": {
+   * "iam.googleapis.com": {
+   * "expression": <cel expression>
+   * }
+   * }
+   * ```
+   *
+   * Each rule is evaluated independently. If this rule does not apply
+   * to a request, other rules might still apply.
+   * Currently supported keys are as follows:
+   *
+   *
+   * * `eventarc.googleapis.com`: Can use `CEL` functions that evaluate
+   * resource fields.
+   *
+   * * `iam.googleapis.com`: Can use `CEL` functions that evaluate
+   * [resource
+   * tags](https://cloud.google.com/iam/help/conditions/resource-tags) and
+   * combine them using boolean and logical operators. Other functions and
+   * operators are not supported.
+   * 
+ * + * + * map<string, .google.type.Expr> conditions = 9 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + /* nullable */ + com.google.type.Expr getConditionsOrDefault( + java.lang.String key, + /* nullable */ + com.google.type.Expr defaultValue); + + /** + * + * + *
+   * Optional. The conditions that determine whether this rule applies to a
+   * request. Conditions are identified by their key, which is the FQDN of the
+   * service that they are relevant to. For example:
+   *
+   * ```
+   * "conditions": {
+   * "iam.googleapis.com": {
+   * "expression": <cel expression>
+   * }
+   * }
+   * ```
+   *
+   * Each rule is evaluated independently. If this rule does not apply
+   * to a request, other rules might still apply.
+   * Currently supported keys are as follows:
+   *
+   *
+   * * `eventarc.googleapis.com`: Can use `CEL` functions that evaluate
+   * resource fields.
+   *
+   * * `iam.googleapis.com`: Can use `CEL` functions that evaluate
+   * [resource
+   * tags](https://cloud.google.com/iam/help/conditions/resource-tags) and
+   * combine them using boolean and logical operators. Other functions and
+   * operators are not supported.
+   * 
+ * + * + * map<string, .google.type.Expr> conditions = 9 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + com.google.type.Expr getConditionsOrThrow(java.lang.String key); +} diff --git a/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/CreateAccessPolicyRequest.java b/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/CreateAccessPolicyRequest.java new file mode 100644 index 0000000000..2324164556 --- /dev/null +++ b/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/CreateAccessPolicyRequest.java @@ -0,0 +1,1315 @@ +/* + * 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/iam/v3beta/access_policies_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.iam.v3beta; + +/** + * + * + *
+ * Request message for CreateAccessPolicy method.
+ * 
+ * + * Protobuf type {@code google.iam.v3beta.CreateAccessPolicyRequest} + */ +@com.google.protobuf.Generated +public final class CreateAccessPolicyRequest extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.iam.v3beta.CreateAccessPolicyRequest) + CreateAccessPolicyRequestOrBuilder { + 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= */ "", + "CreateAccessPolicyRequest"); + } + + // Use CreateAccessPolicyRequest.newBuilder() to construct. + private CreateAccessPolicyRequest(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private CreateAccessPolicyRequest() { + parent_ = ""; + accessPolicyId_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.iam.v3beta.AccessPoliciesProto + .internal_static_google_iam_v3beta_CreateAccessPolicyRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.iam.v3beta.AccessPoliciesProto + .internal_static_google_iam_v3beta_CreateAccessPolicyRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.iam.v3beta.CreateAccessPolicyRequest.class, + com.google.iam.v3beta.CreateAccessPolicyRequest.Builder.class); + } + + private int bitField0_; + public static final int PARENT_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object parent_ = ""; + + /** + * + * + *
+   * Required. The parent resource where this access policy will be created.
+   *
+   * Format:
+   * `projects/{project_id}/locations/{location}`
+   * `projects/{project_number}/locations/{location}`
+   * `folders/{folder_id}/locations/{location}`
+   * `organizations/{organization_id}/locations/{location}`
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + @java.lang.Override + public java.lang.String getParent() { + java.lang.Object ref = parent_; + 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(); + parent_ = s; + return s; + } + } + + /** + * + * + *
+   * Required. The parent resource where this access policy will be created.
+   *
+   * Format:
+   * `projects/{project_id}/locations/{location}`
+   * `projects/{project_number}/locations/{location}`
+   * `folders/{folder_id}/locations/{location}`
+   * `organizations/{organization_id}/locations/{location}`
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + @java.lang.Override + public com.google.protobuf.ByteString getParentBytes() { + java.lang.Object ref = parent_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + parent_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int ACCESS_POLICY_ID_FIELD_NUMBER = 2; + + @SuppressWarnings("serial") + private volatile java.lang.Object accessPolicyId_ = ""; + + /** + * + * + *
+   * Required. The ID to use for the access policy, which
+   * will become the final component of the access policy's
+   * resource name.
+   *
+   * This value must start with a lowercase letter followed by up to 62
+   * lowercase letters, numbers, hyphens, or dots. Pattern,
+   * /[a-z][a-z0-9-\.]{2,62}/.
+   *
+   * This value must be unique among all access policies with the same parent.
+   * 
+ * + * string access_policy_id = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * @return The accessPolicyId. + */ + @java.lang.Override + public java.lang.String getAccessPolicyId() { + java.lang.Object ref = accessPolicyId_; + 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(); + accessPolicyId_ = s; + return s; + } + } + + /** + * + * + *
+   * Required. The ID to use for the access policy, which
+   * will become the final component of the access policy's
+   * resource name.
+   *
+   * This value must start with a lowercase letter followed by up to 62
+   * lowercase letters, numbers, hyphens, or dots. Pattern,
+   * /[a-z][a-z0-9-\.]{2,62}/.
+   *
+   * This value must be unique among all access policies with the same parent.
+   * 
+ * + * string access_policy_id = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * @return The bytes for accessPolicyId. + */ + @java.lang.Override + public com.google.protobuf.ByteString getAccessPolicyIdBytes() { + java.lang.Object ref = accessPolicyId_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + accessPolicyId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int ACCESS_POLICY_FIELD_NUMBER = 3; + private com.google.iam.v3beta.AccessPolicy accessPolicy_; + + /** + * + * + *
+   * Required. The access policy to create.
+   * 
+ * + * + * .google.iam.v3beta.AccessPolicy access_policy = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the accessPolicy field is set. + */ + @java.lang.Override + public boolean hasAccessPolicy() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+   * Required. The access policy to create.
+   * 
+ * + * + * .google.iam.v3beta.AccessPolicy access_policy = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The accessPolicy. + */ + @java.lang.Override + public com.google.iam.v3beta.AccessPolicy getAccessPolicy() { + return accessPolicy_ == null + ? com.google.iam.v3beta.AccessPolicy.getDefaultInstance() + : accessPolicy_; + } + + /** + * + * + *
+   * Required. The access policy to create.
+   * 
+ * + * + * .google.iam.v3beta.AccessPolicy access_policy = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + @java.lang.Override + public com.google.iam.v3beta.AccessPolicyOrBuilder getAccessPolicyOrBuilder() { + return accessPolicy_ == null + ? com.google.iam.v3beta.AccessPolicy.getDefaultInstance() + : accessPolicy_; + } + + public static final int VALIDATE_ONLY_FIELD_NUMBER = 4; + private boolean validateOnly_ = false; + + /** + * + * + *
+   * Optional. If set, validate the request and preview the creation, but do not
+   * actually post it.
+   * 
+ * + * bool validate_only = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The validateOnly. + */ + @java.lang.Override + public boolean getValidateOnly() { + return validateOnly_; + } + + 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(parent_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, parent_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(accessPolicyId_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, accessPolicyId_); + } + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(3, getAccessPolicy()); + } + if (validateOnly_ != false) { + output.writeBool(4, validateOnly_); + } + 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(parent_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, parent_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(accessPolicyId_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, accessPolicyId_); + } + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(3, getAccessPolicy()); + } + if (validateOnly_ != false) { + size += com.google.protobuf.CodedOutputStream.computeBoolSize(4, validateOnly_); + } + 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.iam.v3beta.CreateAccessPolicyRequest)) { + return super.equals(obj); + } + com.google.iam.v3beta.CreateAccessPolicyRequest other = + (com.google.iam.v3beta.CreateAccessPolicyRequest) obj; + + if (!getParent().equals(other.getParent())) return false; + if (!getAccessPolicyId().equals(other.getAccessPolicyId())) return false; + if (hasAccessPolicy() != other.hasAccessPolicy()) return false; + if (hasAccessPolicy()) { + if (!getAccessPolicy().equals(other.getAccessPolicy())) return false; + } + if (getValidateOnly() != other.getValidateOnly()) 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) + PARENT_FIELD_NUMBER; + hash = (53 * hash) + getParent().hashCode(); + hash = (37 * hash) + ACCESS_POLICY_ID_FIELD_NUMBER; + hash = (53 * hash) + getAccessPolicyId().hashCode(); + if (hasAccessPolicy()) { + hash = (37 * hash) + ACCESS_POLICY_FIELD_NUMBER; + hash = (53 * hash) + getAccessPolicy().hashCode(); + } + hash = (37 * hash) + VALIDATE_ONLY_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getValidateOnly()); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.iam.v3beta.CreateAccessPolicyRequest parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.iam.v3beta.CreateAccessPolicyRequest parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.iam.v3beta.CreateAccessPolicyRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.iam.v3beta.CreateAccessPolicyRequest 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.iam.v3beta.CreateAccessPolicyRequest parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.iam.v3beta.CreateAccessPolicyRequest parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.iam.v3beta.CreateAccessPolicyRequest parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.iam.v3beta.CreateAccessPolicyRequest 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.iam.v3beta.CreateAccessPolicyRequest parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.iam.v3beta.CreateAccessPolicyRequest 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.iam.v3beta.CreateAccessPolicyRequest parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.iam.v3beta.CreateAccessPolicyRequest 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.iam.v3beta.CreateAccessPolicyRequest 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; + } + + /** + * + * + *
+   * Request message for CreateAccessPolicy method.
+   * 
+ * + * Protobuf type {@code google.iam.v3beta.CreateAccessPolicyRequest} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.iam.v3beta.CreateAccessPolicyRequest) + com.google.iam.v3beta.CreateAccessPolicyRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.iam.v3beta.AccessPoliciesProto + .internal_static_google_iam_v3beta_CreateAccessPolicyRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.iam.v3beta.AccessPoliciesProto + .internal_static_google_iam_v3beta_CreateAccessPolicyRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.iam.v3beta.CreateAccessPolicyRequest.class, + com.google.iam.v3beta.CreateAccessPolicyRequest.Builder.class); + } + + // Construct using com.google.iam.v3beta.CreateAccessPolicyRequest.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + internalGetAccessPolicyFieldBuilder(); + } + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + parent_ = ""; + accessPolicyId_ = ""; + accessPolicy_ = null; + if (accessPolicyBuilder_ != null) { + accessPolicyBuilder_.dispose(); + accessPolicyBuilder_ = null; + } + validateOnly_ = false; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.iam.v3beta.AccessPoliciesProto + .internal_static_google_iam_v3beta_CreateAccessPolicyRequest_descriptor; + } + + @java.lang.Override + public com.google.iam.v3beta.CreateAccessPolicyRequest getDefaultInstanceForType() { + return com.google.iam.v3beta.CreateAccessPolicyRequest.getDefaultInstance(); + } + + @java.lang.Override + public com.google.iam.v3beta.CreateAccessPolicyRequest build() { + com.google.iam.v3beta.CreateAccessPolicyRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.iam.v3beta.CreateAccessPolicyRequest buildPartial() { + com.google.iam.v3beta.CreateAccessPolicyRequest result = + new com.google.iam.v3beta.CreateAccessPolicyRequest(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0(com.google.iam.v3beta.CreateAccessPolicyRequest result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.parent_ = parent_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.accessPolicyId_ = accessPolicyId_; + } + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000004) != 0)) { + result.accessPolicy_ = + accessPolicyBuilder_ == null ? accessPolicy_ : accessPolicyBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.validateOnly_ = validateOnly_; + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.iam.v3beta.CreateAccessPolicyRequest) { + return mergeFrom((com.google.iam.v3beta.CreateAccessPolicyRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.iam.v3beta.CreateAccessPolicyRequest other) { + if (other == com.google.iam.v3beta.CreateAccessPolicyRequest.getDefaultInstance()) + return this; + if (!other.getParent().isEmpty()) { + parent_ = other.parent_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (!other.getAccessPolicyId().isEmpty()) { + accessPolicyId_ = other.accessPolicyId_; + bitField0_ |= 0x00000002; + onChanged(); + } + if (other.hasAccessPolicy()) { + mergeAccessPolicy(other.getAccessPolicy()); + } + if (other.getValidateOnly() != false) { + setValidateOnly(other.getValidateOnly()); + } + 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: + { + parent_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: + { + accessPolicyId_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 18 + case 26: + { + input.readMessage( + internalGetAccessPolicyFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000004; + break; + } // case 26 + case 32: + { + validateOnly_ = input.readBool(); + bitField0_ |= 0x00000008; + break; + } // case 32 + 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 parent_ = ""; + + /** + * + * + *
+     * Required. The parent resource where this access policy will be created.
+     *
+     * Format:
+     * `projects/{project_id}/locations/{location}`
+     * `projects/{project_number}/locations/{location}`
+     * `folders/{folder_id}/locations/{location}`
+     * `organizations/{organization_id}/locations/{location}`
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + public java.lang.String getParent() { + java.lang.Object ref = parent_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + parent_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Required. The parent resource where this access policy will be created.
+     *
+     * Format:
+     * `projects/{project_id}/locations/{location}`
+     * `projects/{project_number}/locations/{location}`
+     * `folders/{folder_id}/locations/{location}`
+     * `organizations/{organization_id}/locations/{location}`
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + public com.google.protobuf.ByteString getParentBytes() { + java.lang.Object ref = parent_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + parent_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Required. The parent resource where this access policy will be created.
+     *
+     * Format:
+     * `projects/{project_id}/locations/{location}`
+     * `projects/{project_number}/locations/{location}`
+     * `folders/{folder_id}/locations/{location}`
+     * `organizations/{organization_id}/locations/{location}`
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The parent to set. + * @return This builder for chaining. + */ + public Builder setParent(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + parent_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The parent resource where this access policy will be created.
+     *
+     * Format:
+     * `projects/{project_id}/locations/{location}`
+     * `projects/{project_number}/locations/{location}`
+     * `folders/{folder_id}/locations/{location}`
+     * `organizations/{organization_id}/locations/{location}`
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearParent() { + parent_ = getDefaultInstance().getParent(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The parent resource where this access policy will be created.
+     *
+     * Format:
+     * `projects/{project_id}/locations/{location}`
+     * `projects/{project_number}/locations/{location}`
+     * `folders/{folder_id}/locations/{location}`
+     * `organizations/{organization_id}/locations/{location}`
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The bytes for parent to set. + * @return This builder for chaining. + */ + public Builder setParentBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + parent_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private java.lang.Object accessPolicyId_ = ""; + + /** + * + * + *
+     * Required. The ID to use for the access policy, which
+     * will become the final component of the access policy's
+     * resource name.
+     *
+     * This value must start with a lowercase letter followed by up to 62
+     * lowercase letters, numbers, hyphens, or dots. Pattern,
+     * /[a-z][a-z0-9-\.]{2,62}/.
+     *
+     * This value must be unique among all access policies with the same parent.
+     * 
+ * + * string access_policy_id = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * @return The accessPolicyId. + */ + public java.lang.String getAccessPolicyId() { + java.lang.Object ref = accessPolicyId_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + accessPolicyId_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Required. The ID to use for the access policy, which
+     * will become the final component of the access policy's
+     * resource name.
+     *
+     * This value must start with a lowercase letter followed by up to 62
+     * lowercase letters, numbers, hyphens, or dots. Pattern,
+     * /[a-z][a-z0-9-\.]{2,62}/.
+     *
+     * This value must be unique among all access policies with the same parent.
+     * 
+ * + * string access_policy_id = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * @return The bytes for accessPolicyId. + */ + public com.google.protobuf.ByteString getAccessPolicyIdBytes() { + java.lang.Object ref = accessPolicyId_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + accessPolicyId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Required. The ID to use for the access policy, which
+     * will become the final component of the access policy's
+     * resource name.
+     *
+     * This value must start with a lowercase letter followed by up to 62
+     * lowercase letters, numbers, hyphens, or dots. Pattern,
+     * /[a-z][a-z0-9-\.]{2,62}/.
+     *
+     * This value must be unique among all access policies with the same parent.
+     * 
+ * + * string access_policy_id = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * @param value The accessPolicyId to set. + * @return This builder for chaining. + */ + public Builder setAccessPolicyId(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + accessPolicyId_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The ID to use for the access policy, which
+     * will become the final component of the access policy's
+     * resource name.
+     *
+     * This value must start with a lowercase letter followed by up to 62
+     * lowercase letters, numbers, hyphens, or dots. Pattern,
+     * /[a-z][a-z0-9-\.]{2,62}/.
+     *
+     * This value must be unique among all access policies with the same parent.
+     * 
+ * + * string access_policy_id = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * @return This builder for chaining. + */ + public Builder clearAccessPolicyId() { + accessPolicyId_ = getDefaultInstance().getAccessPolicyId(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The ID to use for the access policy, which
+     * will become the final component of the access policy's
+     * resource name.
+     *
+     * This value must start with a lowercase letter followed by up to 62
+     * lowercase letters, numbers, hyphens, or dots. Pattern,
+     * /[a-z][a-z0-9-\.]{2,62}/.
+     *
+     * This value must be unique among all access policies with the same parent.
+     * 
+ * + * string access_policy_id = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * @param value The bytes for accessPolicyId to set. + * @return This builder for chaining. + */ + public Builder setAccessPolicyIdBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + accessPolicyId_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private com.google.iam.v3beta.AccessPolicy accessPolicy_; + private com.google.protobuf.SingleFieldBuilder< + com.google.iam.v3beta.AccessPolicy, + com.google.iam.v3beta.AccessPolicy.Builder, + com.google.iam.v3beta.AccessPolicyOrBuilder> + accessPolicyBuilder_; + + /** + * + * + *
+     * Required. The access policy to create.
+     * 
+ * + * + * .google.iam.v3beta.AccessPolicy access_policy = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the accessPolicy field is set. + */ + public boolean hasAccessPolicy() { + return ((bitField0_ & 0x00000004) != 0); + } + + /** + * + * + *
+     * Required. The access policy to create.
+     * 
+ * + * + * .google.iam.v3beta.AccessPolicy access_policy = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The accessPolicy. + */ + public com.google.iam.v3beta.AccessPolicy getAccessPolicy() { + if (accessPolicyBuilder_ == null) { + return accessPolicy_ == null + ? com.google.iam.v3beta.AccessPolicy.getDefaultInstance() + : accessPolicy_; + } else { + return accessPolicyBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Required. The access policy to create.
+     * 
+ * + * + * .google.iam.v3beta.AccessPolicy access_policy = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder setAccessPolicy(com.google.iam.v3beta.AccessPolicy value) { + if (accessPolicyBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + accessPolicy_ = value; + } else { + accessPolicyBuilder_.setMessage(value); + } + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The access policy to create.
+     * 
+ * + * + * .google.iam.v3beta.AccessPolicy access_policy = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder setAccessPolicy(com.google.iam.v3beta.AccessPolicy.Builder builderForValue) { + if (accessPolicyBuilder_ == null) { + accessPolicy_ = builderForValue.build(); + } else { + accessPolicyBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The access policy to create.
+     * 
+ * + * + * .google.iam.v3beta.AccessPolicy access_policy = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder mergeAccessPolicy(com.google.iam.v3beta.AccessPolicy value) { + if (accessPolicyBuilder_ == null) { + if (((bitField0_ & 0x00000004) != 0) + && accessPolicy_ != null + && accessPolicy_ != com.google.iam.v3beta.AccessPolicy.getDefaultInstance()) { + getAccessPolicyBuilder().mergeFrom(value); + } else { + accessPolicy_ = value; + } + } else { + accessPolicyBuilder_.mergeFrom(value); + } + if (accessPolicy_ != null) { + bitField0_ |= 0x00000004; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Required. The access policy to create.
+     * 
+ * + * + * .google.iam.v3beta.AccessPolicy access_policy = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder clearAccessPolicy() { + bitField0_ = (bitField0_ & ~0x00000004); + accessPolicy_ = null; + if (accessPolicyBuilder_ != null) { + accessPolicyBuilder_.dispose(); + accessPolicyBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The access policy to create.
+     * 
+ * + * + * .google.iam.v3beta.AccessPolicy access_policy = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public com.google.iam.v3beta.AccessPolicy.Builder getAccessPolicyBuilder() { + bitField0_ |= 0x00000004; + onChanged(); + return internalGetAccessPolicyFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Required. The access policy to create.
+     * 
+ * + * + * .google.iam.v3beta.AccessPolicy access_policy = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public com.google.iam.v3beta.AccessPolicyOrBuilder getAccessPolicyOrBuilder() { + if (accessPolicyBuilder_ != null) { + return accessPolicyBuilder_.getMessageOrBuilder(); + } else { + return accessPolicy_ == null + ? com.google.iam.v3beta.AccessPolicy.getDefaultInstance() + : accessPolicy_; + } + } + + /** + * + * + *
+     * Required. The access policy to create.
+     * 
+ * + * + * .google.iam.v3beta.AccessPolicy access_policy = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.iam.v3beta.AccessPolicy, + com.google.iam.v3beta.AccessPolicy.Builder, + com.google.iam.v3beta.AccessPolicyOrBuilder> + internalGetAccessPolicyFieldBuilder() { + if (accessPolicyBuilder_ == null) { + accessPolicyBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.iam.v3beta.AccessPolicy, + com.google.iam.v3beta.AccessPolicy.Builder, + com.google.iam.v3beta.AccessPolicyOrBuilder>( + getAccessPolicy(), getParentForChildren(), isClean()); + accessPolicy_ = null; + } + return accessPolicyBuilder_; + } + + private boolean validateOnly_; + + /** + * + * + *
+     * Optional. If set, validate the request and preview the creation, but do not
+     * actually post it.
+     * 
+ * + * bool validate_only = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The validateOnly. + */ + @java.lang.Override + public boolean getValidateOnly() { + return validateOnly_; + } + + /** + * + * + *
+     * Optional. If set, validate the request and preview the creation, but do not
+     * actually post it.
+     * 
+ * + * bool validate_only = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The validateOnly to set. + * @return This builder for chaining. + */ + public Builder setValidateOnly(boolean value) { + + validateOnly_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. If set, validate the request and preview the creation, but do not
+     * actually post it.
+     * 
+ * + * bool validate_only = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearValidateOnly() { + bitField0_ = (bitField0_ & ~0x00000008); + validateOnly_ = false; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.iam.v3beta.CreateAccessPolicyRequest) + } + + // @@protoc_insertion_point(class_scope:google.iam.v3beta.CreateAccessPolicyRequest) + private static final com.google.iam.v3beta.CreateAccessPolicyRequest DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.iam.v3beta.CreateAccessPolicyRequest(); + } + + public static com.google.iam.v3beta.CreateAccessPolicyRequest getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public CreateAccessPolicyRequest 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.iam.v3beta.CreateAccessPolicyRequest getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/CreateAccessPolicyRequestOrBuilder.java b/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/CreateAccessPolicyRequestOrBuilder.java new file mode 100644 index 0000000000..c4f23c45bc --- /dev/null +++ b/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/CreateAccessPolicyRequestOrBuilder.java @@ -0,0 +1,169 @@ +/* + * 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/iam/v3beta/access_policies_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.iam.v3beta; + +@com.google.protobuf.Generated +public interface CreateAccessPolicyRequestOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.iam.v3beta.CreateAccessPolicyRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Required. The parent resource where this access policy will be created.
+   *
+   * Format:
+   * `projects/{project_id}/locations/{location}`
+   * `projects/{project_number}/locations/{location}`
+   * `folders/{folder_id}/locations/{location}`
+   * `organizations/{organization_id}/locations/{location}`
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + java.lang.String getParent(); + + /** + * + * + *
+   * Required. The parent resource where this access policy will be created.
+   *
+   * Format:
+   * `projects/{project_id}/locations/{location}`
+   * `projects/{project_number}/locations/{location}`
+   * `folders/{folder_id}/locations/{location}`
+   * `organizations/{organization_id}/locations/{location}`
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + com.google.protobuf.ByteString getParentBytes(); + + /** + * + * + *
+   * Required. The ID to use for the access policy, which
+   * will become the final component of the access policy's
+   * resource name.
+   *
+   * This value must start with a lowercase letter followed by up to 62
+   * lowercase letters, numbers, hyphens, or dots. Pattern,
+   * /[a-z][a-z0-9-\.]{2,62}/.
+   *
+   * This value must be unique among all access policies with the same parent.
+   * 
+ * + * string access_policy_id = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * @return The accessPolicyId. + */ + java.lang.String getAccessPolicyId(); + + /** + * + * + *
+   * Required. The ID to use for the access policy, which
+   * will become the final component of the access policy's
+   * resource name.
+   *
+   * This value must start with a lowercase letter followed by up to 62
+   * lowercase letters, numbers, hyphens, or dots. Pattern,
+   * /[a-z][a-z0-9-\.]{2,62}/.
+   *
+   * This value must be unique among all access policies with the same parent.
+   * 
+ * + * string access_policy_id = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * @return The bytes for accessPolicyId. + */ + com.google.protobuf.ByteString getAccessPolicyIdBytes(); + + /** + * + * + *
+   * Required. The access policy to create.
+   * 
+ * + * + * .google.iam.v3beta.AccessPolicy access_policy = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the accessPolicy field is set. + */ + boolean hasAccessPolicy(); + + /** + * + * + *
+   * Required. The access policy to create.
+   * 
+ * + * + * .google.iam.v3beta.AccessPolicy access_policy = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The accessPolicy. + */ + com.google.iam.v3beta.AccessPolicy getAccessPolicy(); + + /** + * + * + *
+   * Required. The access policy to create.
+   * 
+ * + * + * .google.iam.v3beta.AccessPolicy access_policy = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + com.google.iam.v3beta.AccessPolicyOrBuilder getAccessPolicyOrBuilder(); + + /** + * + * + *
+   * Optional. If set, validate the request and preview the creation, but do not
+   * actually post it.
+   * 
+ * + * bool validate_only = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The validateOnly. + */ + boolean getValidateOnly(); +} diff --git a/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/DeleteAccessPolicyRequest.java b/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/DeleteAccessPolicyRequest.java new file mode 100644 index 0000000000..4abd58f035 --- /dev/null +++ b/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/DeleteAccessPolicyRequest.java @@ -0,0 +1,1050 @@ +/* + * 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/iam/v3beta/access_policies_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.iam.v3beta; + +/** + * + * + *
+ * Request message for DeleteAccessPolicy method.
+ * 
+ * + * Protobuf type {@code google.iam.v3beta.DeleteAccessPolicyRequest} + */ +@com.google.protobuf.Generated +public final class DeleteAccessPolicyRequest extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.iam.v3beta.DeleteAccessPolicyRequest) + DeleteAccessPolicyRequestOrBuilder { + 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= */ "", + "DeleteAccessPolicyRequest"); + } + + // Use DeleteAccessPolicyRequest.newBuilder() to construct. + private DeleteAccessPolicyRequest(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private DeleteAccessPolicyRequest() { + name_ = ""; + etag_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.iam.v3beta.AccessPoliciesProto + .internal_static_google_iam_v3beta_DeleteAccessPolicyRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.iam.v3beta.AccessPoliciesProto + .internal_static_google_iam_v3beta_DeleteAccessPolicyRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.iam.v3beta.DeleteAccessPolicyRequest.class, + com.google.iam.v3beta.DeleteAccessPolicyRequest.Builder.class); + } + + public static final int NAME_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object name_ = ""; + + /** + * + * + *
+   * Required. The name of the access policy to delete.
+   *
+   * Format:
+   * `projects/{project_id}/locations/{location}/accessPolicies/{access_policy_id}`
+   * `projects/{project_number}/locations/{location}/accessPolicies/{access_policy_id}`
+   * `folders/{folder_id}/locations/{location}/accessPolicies/{access_policy_id}`
+   * `organizations/{organization_id}/locations/{location}/accessPolicies/{access_policy_id}`
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The name. + */ + @java.lang.Override + public java.lang.String getName() { + java.lang.Object ref = name_; + 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(); + name_ = s; + return s; + } + } + + /** + * + * + *
+   * Required. The name of the access policy to delete.
+   *
+   * Format:
+   * `projects/{project_id}/locations/{location}/accessPolicies/{access_policy_id}`
+   * `projects/{project_number}/locations/{location}/accessPolicies/{access_policy_id}`
+   * `folders/{folder_id}/locations/{location}/accessPolicies/{access_policy_id}`
+   * `organizations/{organization_id}/locations/{location}/accessPolicies/{access_policy_id}`
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for name. + */ + @java.lang.Override + public com.google.protobuf.ByteString getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int ETAG_FIELD_NUMBER = 2; + + @SuppressWarnings("serial") + private volatile java.lang.Object etag_ = ""; + + /** + * + * + *
+   * Optional. The etag of the access policy. If this is provided, it must match
+   * the server's etag.
+   * 
+ * + * string etag = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The etag. + */ + @java.lang.Override + public java.lang.String getEtag() { + java.lang.Object ref = etag_; + 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(); + etag_ = s; + return s; + } + } + + /** + * + * + *
+   * Optional. The etag of the access policy. If this is provided, it must match
+   * the server's etag.
+   * 
+ * + * string etag = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for etag. + */ + @java.lang.Override + public com.google.protobuf.ByteString getEtagBytes() { + java.lang.Object ref = etag_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + etag_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int VALIDATE_ONLY_FIELD_NUMBER = 3; + private boolean validateOnly_ = false; + + /** + * + * + *
+   * Optional. If set, validate the request and preview the deletion, but do not
+   * actually post it.
+   * 
+ * + * bool validate_only = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The validateOnly. + */ + @java.lang.Override + public boolean getValidateOnly() { + return validateOnly_; + } + + public static final int FORCE_FIELD_NUMBER = 4; + private boolean force_ = false; + + /** + * + * + *
+   * Optional. If set to true, the request will force the deletion of the Policy
+   * even if the Policy references PolicyBindings.
+   * 
+ * + * bool force = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The force. + */ + @java.lang.Override + public boolean getForce() { + return force_; + } + + 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(name_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, name_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(etag_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, etag_); + } + if (validateOnly_ != false) { + output.writeBool(3, validateOnly_); + } + if (force_ != false) { + output.writeBool(4, force_); + } + 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(name_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, name_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(etag_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, etag_); + } + if (validateOnly_ != false) { + size += com.google.protobuf.CodedOutputStream.computeBoolSize(3, validateOnly_); + } + if (force_ != false) { + size += com.google.protobuf.CodedOutputStream.computeBoolSize(4, force_); + } + 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.iam.v3beta.DeleteAccessPolicyRequest)) { + return super.equals(obj); + } + com.google.iam.v3beta.DeleteAccessPolicyRequest other = + (com.google.iam.v3beta.DeleteAccessPolicyRequest) obj; + + if (!getName().equals(other.getName())) return false; + if (!getEtag().equals(other.getEtag())) return false; + if (getValidateOnly() != other.getValidateOnly()) return false; + if (getForce() != other.getForce()) 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) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + hash = (37 * hash) + ETAG_FIELD_NUMBER; + hash = (53 * hash) + getEtag().hashCode(); + hash = (37 * hash) + VALIDATE_ONLY_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getValidateOnly()); + hash = (37 * hash) + FORCE_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getForce()); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.iam.v3beta.DeleteAccessPolicyRequest parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.iam.v3beta.DeleteAccessPolicyRequest parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.iam.v3beta.DeleteAccessPolicyRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.iam.v3beta.DeleteAccessPolicyRequest 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.iam.v3beta.DeleteAccessPolicyRequest parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.iam.v3beta.DeleteAccessPolicyRequest parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.iam.v3beta.DeleteAccessPolicyRequest parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.iam.v3beta.DeleteAccessPolicyRequest 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.iam.v3beta.DeleteAccessPolicyRequest parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.iam.v3beta.DeleteAccessPolicyRequest 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.iam.v3beta.DeleteAccessPolicyRequest parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.iam.v3beta.DeleteAccessPolicyRequest 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.iam.v3beta.DeleteAccessPolicyRequest 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; + } + + /** + * + * + *
+   * Request message for DeleteAccessPolicy method.
+   * 
+ * + * Protobuf type {@code google.iam.v3beta.DeleteAccessPolicyRequest} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.iam.v3beta.DeleteAccessPolicyRequest) + com.google.iam.v3beta.DeleteAccessPolicyRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.iam.v3beta.AccessPoliciesProto + .internal_static_google_iam_v3beta_DeleteAccessPolicyRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.iam.v3beta.AccessPoliciesProto + .internal_static_google_iam_v3beta_DeleteAccessPolicyRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.iam.v3beta.DeleteAccessPolicyRequest.class, + com.google.iam.v3beta.DeleteAccessPolicyRequest.Builder.class); + } + + // Construct using com.google.iam.v3beta.DeleteAccessPolicyRequest.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + name_ = ""; + etag_ = ""; + validateOnly_ = false; + force_ = false; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.iam.v3beta.AccessPoliciesProto + .internal_static_google_iam_v3beta_DeleteAccessPolicyRequest_descriptor; + } + + @java.lang.Override + public com.google.iam.v3beta.DeleteAccessPolicyRequest getDefaultInstanceForType() { + return com.google.iam.v3beta.DeleteAccessPolicyRequest.getDefaultInstance(); + } + + @java.lang.Override + public com.google.iam.v3beta.DeleteAccessPolicyRequest build() { + com.google.iam.v3beta.DeleteAccessPolicyRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.iam.v3beta.DeleteAccessPolicyRequest buildPartial() { + com.google.iam.v3beta.DeleteAccessPolicyRequest result = + new com.google.iam.v3beta.DeleteAccessPolicyRequest(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0(com.google.iam.v3beta.DeleteAccessPolicyRequest result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.name_ = name_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.etag_ = etag_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.validateOnly_ = validateOnly_; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.force_ = force_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.iam.v3beta.DeleteAccessPolicyRequest) { + return mergeFrom((com.google.iam.v3beta.DeleteAccessPolicyRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.iam.v3beta.DeleteAccessPolicyRequest other) { + if (other == com.google.iam.v3beta.DeleteAccessPolicyRequest.getDefaultInstance()) + return this; + if (!other.getName().isEmpty()) { + name_ = other.name_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (!other.getEtag().isEmpty()) { + etag_ = other.etag_; + bitField0_ |= 0x00000002; + onChanged(); + } + if (other.getValidateOnly() != false) { + setValidateOnly(other.getValidateOnly()); + } + if (other.getForce() != false) { + setForce(other.getForce()); + } + 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: + { + name_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: + { + etag_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 18 + case 24: + { + validateOnly_ = input.readBool(); + bitField0_ |= 0x00000004; + break; + } // case 24 + case 32: + { + force_ = input.readBool(); + bitField0_ |= 0x00000008; + break; + } // case 32 + 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 name_ = ""; + + /** + * + * + *
+     * Required. The name of the access policy to delete.
+     *
+     * Format:
+     * `projects/{project_id}/locations/{location}/accessPolicies/{access_policy_id}`
+     * `projects/{project_number}/locations/{location}/accessPolicies/{access_policy_id}`
+     * `folders/{folder_id}/locations/{location}/accessPolicies/{access_policy_id}`
+     * `organizations/{organization_id}/locations/{location}/accessPolicies/{access_policy_id}`
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The name. + */ + public java.lang.String getName() { + java.lang.Object ref = name_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Required. The name of the access policy to delete.
+     *
+     * Format:
+     * `projects/{project_id}/locations/{location}/accessPolicies/{access_policy_id}`
+     * `projects/{project_number}/locations/{location}/accessPolicies/{access_policy_id}`
+     * `folders/{folder_id}/locations/{location}/accessPolicies/{access_policy_id}`
+     * `organizations/{organization_id}/locations/{location}/accessPolicies/{access_policy_id}`
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for name. + */ + public com.google.protobuf.ByteString getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Required. The name of the access policy to delete.
+     *
+     * Format:
+     * `projects/{project_id}/locations/{location}/accessPolicies/{access_policy_id}`
+     * `projects/{project_number}/locations/{location}/accessPolicies/{access_policy_id}`
+     * `folders/{folder_id}/locations/{location}/accessPolicies/{access_policy_id}`
+     * `organizations/{organization_id}/locations/{location}/accessPolicies/{access_policy_id}`
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The name to set. + * @return This builder for chaining. + */ + public Builder setName(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The name of the access policy to delete.
+     *
+     * Format:
+     * `projects/{project_id}/locations/{location}/accessPolicies/{access_policy_id}`
+     * `projects/{project_number}/locations/{location}/accessPolicies/{access_policy_id}`
+     * `folders/{folder_id}/locations/{location}/accessPolicies/{access_policy_id}`
+     * `organizations/{organization_id}/locations/{location}/accessPolicies/{access_policy_id}`
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearName() { + name_ = getDefaultInstance().getName(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The name of the access policy to delete.
+     *
+     * Format:
+     * `projects/{project_id}/locations/{location}/accessPolicies/{access_policy_id}`
+     * `projects/{project_number}/locations/{location}/accessPolicies/{access_policy_id}`
+     * `folders/{folder_id}/locations/{location}/accessPolicies/{access_policy_id}`
+     * `organizations/{organization_id}/locations/{location}/accessPolicies/{access_policy_id}`
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The bytes for name to set. + * @return This builder for chaining. + */ + public Builder setNameBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private java.lang.Object etag_ = ""; + + /** + * + * + *
+     * Optional. The etag of the access policy. If this is provided, it must match
+     * the server's etag.
+     * 
+ * + * string etag = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The etag. + */ + public java.lang.String getEtag() { + java.lang.Object ref = etag_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + etag_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Optional. The etag of the access policy. If this is provided, it must match
+     * the server's etag.
+     * 
+ * + * string etag = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for etag. + */ + public com.google.protobuf.ByteString getEtagBytes() { + java.lang.Object ref = etag_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + etag_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Optional. The etag of the access policy. If this is provided, it must match
+     * the server's etag.
+     * 
+ * + * string etag = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The etag to set. + * @return This builder for chaining. + */ + public Builder setEtag(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + etag_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. The etag of the access policy. If this is provided, it must match
+     * the server's etag.
+     * 
+ * + * string etag = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearEtag() { + etag_ = getDefaultInstance().getEtag(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. The etag of the access policy. If this is provided, it must match
+     * the server's etag.
+     * 
+ * + * string etag = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for etag to set. + * @return This builder for chaining. + */ + public Builder setEtagBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + etag_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private boolean validateOnly_; + + /** + * + * + *
+     * Optional. If set, validate the request and preview the deletion, but do not
+     * actually post it.
+     * 
+ * + * bool validate_only = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The validateOnly. + */ + @java.lang.Override + public boolean getValidateOnly() { + return validateOnly_; + } + + /** + * + * + *
+     * Optional. If set, validate the request and preview the deletion, but do not
+     * actually post it.
+     * 
+ * + * bool validate_only = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The validateOnly to set. + * @return This builder for chaining. + */ + public Builder setValidateOnly(boolean value) { + + validateOnly_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. If set, validate the request and preview the deletion, but do not
+     * actually post it.
+     * 
+ * + * bool validate_only = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearValidateOnly() { + bitField0_ = (bitField0_ & ~0x00000004); + validateOnly_ = false; + onChanged(); + return this; + } + + private boolean force_; + + /** + * + * + *
+     * Optional. If set to true, the request will force the deletion of the Policy
+     * even if the Policy references PolicyBindings.
+     * 
+ * + * bool force = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The force. + */ + @java.lang.Override + public boolean getForce() { + return force_; + } + + /** + * + * + *
+     * Optional. If set to true, the request will force the deletion of the Policy
+     * even if the Policy references PolicyBindings.
+     * 
+ * + * bool force = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The force to set. + * @return This builder for chaining. + */ + public Builder setForce(boolean value) { + + force_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. If set to true, the request will force the deletion of the Policy
+     * even if the Policy references PolicyBindings.
+     * 
+ * + * bool force = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearForce() { + bitField0_ = (bitField0_ & ~0x00000008); + force_ = false; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.iam.v3beta.DeleteAccessPolicyRequest) + } + + // @@protoc_insertion_point(class_scope:google.iam.v3beta.DeleteAccessPolicyRequest) + private static final com.google.iam.v3beta.DeleteAccessPolicyRequest DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.iam.v3beta.DeleteAccessPolicyRequest(); + } + + public static com.google.iam.v3beta.DeleteAccessPolicyRequest getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public DeleteAccessPolicyRequest 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.iam.v3beta.DeleteAccessPolicyRequest getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/DeleteAccessPolicyRequestOrBuilder.java b/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/DeleteAccessPolicyRequestOrBuilder.java new file mode 100644 index 0000000000..fcc14c0fdb --- /dev/null +++ b/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/DeleteAccessPolicyRequestOrBuilder.java @@ -0,0 +1,126 @@ +/* + * 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/iam/v3beta/access_policies_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.iam.v3beta; + +@com.google.protobuf.Generated +public interface DeleteAccessPolicyRequestOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.iam.v3beta.DeleteAccessPolicyRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Required. The name of the access policy to delete.
+   *
+   * Format:
+   * `projects/{project_id}/locations/{location}/accessPolicies/{access_policy_id}`
+   * `projects/{project_number}/locations/{location}/accessPolicies/{access_policy_id}`
+   * `folders/{folder_id}/locations/{location}/accessPolicies/{access_policy_id}`
+   * `organizations/{organization_id}/locations/{location}/accessPolicies/{access_policy_id}`
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The name. + */ + java.lang.String getName(); + + /** + * + * + *
+   * Required. The name of the access policy to delete.
+   *
+   * Format:
+   * `projects/{project_id}/locations/{location}/accessPolicies/{access_policy_id}`
+   * `projects/{project_number}/locations/{location}/accessPolicies/{access_policy_id}`
+   * `folders/{folder_id}/locations/{location}/accessPolicies/{access_policy_id}`
+   * `organizations/{organization_id}/locations/{location}/accessPolicies/{access_policy_id}`
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for name. + */ + com.google.protobuf.ByteString getNameBytes(); + + /** + * + * + *
+   * Optional. The etag of the access policy. If this is provided, it must match
+   * the server's etag.
+   * 
+ * + * string etag = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The etag. + */ + java.lang.String getEtag(); + + /** + * + * + *
+   * Optional. The etag of the access policy. If this is provided, it must match
+   * the server's etag.
+   * 
+ * + * string etag = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for etag. + */ + com.google.protobuf.ByteString getEtagBytes(); + + /** + * + * + *
+   * Optional. If set, validate the request and preview the deletion, but do not
+   * actually post it.
+   * 
+ * + * bool validate_only = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The validateOnly. + */ + boolean getValidateOnly(); + + /** + * + * + *
+   * Optional. If set to true, the request will force the deletion of the Policy
+   * even if the Policy references PolicyBindings.
+   * 
+ * + * bool force = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The force. + */ + boolean getForce(); +} diff --git a/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/GetAccessPolicyRequest.java b/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/GetAccessPolicyRequest.java new file mode 100644 index 0000000000..90c54fb12a --- /dev/null +++ b/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/GetAccessPolicyRequest.java @@ -0,0 +1,651 @@ +/* + * 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/iam/v3beta/access_policies_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.iam.v3beta; + +/** + * + * + *
+ * Request message for GetAccessPolicy method.
+ * 
+ * + * Protobuf type {@code google.iam.v3beta.GetAccessPolicyRequest} + */ +@com.google.protobuf.Generated +public final class GetAccessPolicyRequest extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.iam.v3beta.GetAccessPolicyRequest) + GetAccessPolicyRequestOrBuilder { + 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= */ "", + "GetAccessPolicyRequest"); + } + + // Use GetAccessPolicyRequest.newBuilder() to construct. + private GetAccessPolicyRequest(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private GetAccessPolicyRequest() { + name_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.iam.v3beta.AccessPoliciesProto + .internal_static_google_iam_v3beta_GetAccessPolicyRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.iam.v3beta.AccessPoliciesProto + .internal_static_google_iam_v3beta_GetAccessPolicyRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.iam.v3beta.GetAccessPolicyRequest.class, + com.google.iam.v3beta.GetAccessPolicyRequest.Builder.class); + } + + public static final int NAME_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object name_ = ""; + + /** + * + * + *
+   * Required. The name of the access policy to retrieve.
+   *
+   * Format:
+   * `projects/{project_id}/locations/{location}/accessPolicies/{access_policy_id}`
+   * `projects/{project_number}/locations/{location}/accessPolicies/{access_policy_id}`
+   * `folders/{folder_id}/locations/{location}/accessPolicies/{access_policy_id}`
+   * `organizations/{organization_id}/locations/{location}/accessPolicies/{access_policy_id}`
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The name. + */ + @java.lang.Override + public java.lang.String getName() { + java.lang.Object ref = name_; + 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(); + name_ = s; + return s; + } + } + + /** + * + * + *
+   * Required. The name of the access policy to retrieve.
+   *
+   * Format:
+   * `projects/{project_id}/locations/{location}/accessPolicies/{access_policy_id}`
+   * `projects/{project_number}/locations/{location}/accessPolicies/{access_policy_id}`
+   * `folders/{folder_id}/locations/{location}/accessPolicies/{access_policy_id}`
+   * `organizations/{organization_id}/locations/{location}/accessPolicies/{access_policy_id}`
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for name. + */ + @java.lang.Override + public com.google.protobuf.ByteString getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + name_ = 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(name_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, name_); + } + 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(name_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, name_); + } + 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.iam.v3beta.GetAccessPolicyRequest)) { + return super.equals(obj); + } + com.google.iam.v3beta.GetAccessPolicyRequest other = + (com.google.iam.v3beta.GetAccessPolicyRequest) obj; + + if (!getName().equals(other.getName())) 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) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.iam.v3beta.GetAccessPolicyRequest parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.iam.v3beta.GetAccessPolicyRequest parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.iam.v3beta.GetAccessPolicyRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.iam.v3beta.GetAccessPolicyRequest 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.iam.v3beta.GetAccessPolicyRequest parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.iam.v3beta.GetAccessPolicyRequest parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.iam.v3beta.GetAccessPolicyRequest parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.iam.v3beta.GetAccessPolicyRequest 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.iam.v3beta.GetAccessPolicyRequest parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.iam.v3beta.GetAccessPolicyRequest 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.iam.v3beta.GetAccessPolicyRequest parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.iam.v3beta.GetAccessPolicyRequest 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.iam.v3beta.GetAccessPolicyRequest 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; + } + + /** + * + * + *
+   * Request message for GetAccessPolicy method.
+   * 
+ * + * Protobuf type {@code google.iam.v3beta.GetAccessPolicyRequest} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.iam.v3beta.GetAccessPolicyRequest) + com.google.iam.v3beta.GetAccessPolicyRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.iam.v3beta.AccessPoliciesProto + .internal_static_google_iam_v3beta_GetAccessPolicyRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.iam.v3beta.AccessPoliciesProto + .internal_static_google_iam_v3beta_GetAccessPolicyRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.iam.v3beta.GetAccessPolicyRequest.class, + com.google.iam.v3beta.GetAccessPolicyRequest.Builder.class); + } + + // Construct using com.google.iam.v3beta.GetAccessPolicyRequest.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + name_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.iam.v3beta.AccessPoliciesProto + .internal_static_google_iam_v3beta_GetAccessPolicyRequest_descriptor; + } + + @java.lang.Override + public com.google.iam.v3beta.GetAccessPolicyRequest getDefaultInstanceForType() { + return com.google.iam.v3beta.GetAccessPolicyRequest.getDefaultInstance(); + } + + @java.lang.Override + public com.google.iam.v3beta.GetAccessPolicyRequest build() { + com.google.iam.v3beta.GetAccessPolicyRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.iam.v3beta.GetAccessPolicyRequest buildPartial() { + com.google.iam.v3beta.GetAccessPolicyRequest result = + new com.google.iam.v3beta.GetAccessPolicyRequest(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0(com.google.iam.v3beta.GetAccessPolicyRequest result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.name_ = name_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.iam.v3beta.GetAccessPolicyRequest) { + return mergeFrom((com.google.iam.v3beta.GetAccessPolicyRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.iam.v3beta.GetAccessPolicyRequest other) { + if (other == com.google.iam.v3beta.GetAccessPolicyRequest.getDefaultInstance()) return this; + if (!other.getName().isEmpty()) { + name_ = other.name_; + bitField0_ |= 0x00000001; + 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: + { + name_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private java.lang.Object name_ = ""; + + /** + * + * + *
+     * Required. The name of the access policy to retrieve.
+     *
+     * Format:
+     * `projects/{project_id}/locations/{location}/accessPolicies/{access_policy_id}`
+     * `projects/{project_number}/locations/{location}/accessPolicies/{access_policy_id}`
+     * `folders/{folder_id}/locations/{location}/accessPolicies/{access_policy_id}`
+     * `organizations/{organization_id}/locations/{location}/accessPolicies/{access_policy_id}`
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The name. + */ + public java.lang.String getName() { + java.lang.Object ref = name_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Required. The name of the access policy to retrieve.
+     *
+     * Format:
+     * `projects/{project_id}/locations/{location}/accessPolicies/{access_policy_id}`
+     * `projects/{project_number}/locations/{location}/accessPolicies/{access_policy_id}`
+     * `folders/{folder_id}/locations/{location}/accessPolicies/{access_policy_id}`
+     * `organizations/{organization_id}/locations/{location}/accessPolicies/{access_policy_id}`
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for name. + */ + public com.google.protobuf.ByteString getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Required. The name of the access policy to retrieve.
+     *
+     * Format:
+     * `projects/{project_id}/locations/{location}/accessPolicies/{access_policy_id}`
+     * `projects/{project_number}/locations/{location}/accessPolicies/{access_policy_id}`
+     * `folders/{folder_id}/locations/{location}/accessPolicies/{access_policy_id}`
+     * `organizations/{organization_id}/locations/{location}/accessPolicies/{access_policy_id}`
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The name to set. + * @return This builder for chaining. + */ + public Builder setName(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The name of the access policy to retrieve.
+     *
+     * Format:
+     * `projects/{project_id}/locations/{location}/accessPolicies/{access_policy_id}`
+     * `projects/{project_number}/locations/{location}/accessPolicies/{access_policy_id}`
+     * `folders/{folder_id}/locations/{location}/accessPolicies/{access_policy_id}`
+     * `organizations/{organization_id}/locations/{location}/accessPolicies/{access_policy_id}`
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearName() { + name_ = getDefaultInstance().getName(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The name of the access policy to retrieve.
+     *
+     * Format:
+     * `projects/{project_id}/locations/{location}/accessPolicies/{access_policy_id}`
+     * `projects/{project_number}/locations/{location}/accessPolicies/{access_policy_id}`
+     * `folders/{folder_id}/locations/{location}/accessPolicies/{access_policy_id}`
+     * `organizations/{organization_id}/locations/{location}/accessPolicies/{access_policy_id}`
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The bytes for name to set. + * @return This builder for chaining. + */ + public Builder setNameBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.iam.v3beta.GetAccessPolicyRequest) + } + + // @@protoc_insertion_point(class_scope:google.iam.v3beta.GetAccessPolicyRequest) + private static final com.google.iam.v3beta.GetAccessPolicyRequest DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.iam.v3beta.GetAccessPolicyRequest(); + } + + public static com.google.iam.v3beta.GetAccessPolicyRequest getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public GetAccessPolicyRequest 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.iam.v3beta.GetAccessPolicyRequest getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/GetAccessPolicyRequestOrBuilder.java b/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/GetAccessPolicyRequestOrBuilder.java new file mode 100644 index 0000000000..db8a03d4dd --- /dev/null +++ b/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/GetAccessPolicyRequestOrBuilder.java @@ -0,0 +1,70 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/iam/v3beta/access_policies_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.iam.v3beta; + +@com.google.protobuf.Generated +public interface GetAccessPolicyRequestOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.iam.v3beta.GetAccessPolicyRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Required. The name of the access policy to retrieve.
+   *
+   * Format:
+   * `projects/{project_id}/locations/{location}/accessPolicies/{access_policy_id}`
+   * `projects/{project_number}/locations/{location}/accessPolicies/{access_policy_id}`
+   * `folders/{folder_id}/locations/{location}/accessPolicies/{access_policy_id}`
+   * `organizations/{organization_id}/locations/{location}/accessPolicies/{access_policy_id}`
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The name. + */ + java.lang.String getName(); + + /** + * + * + *
+   * Required. The name of the access policy to retrieve.
+   *
+   * Format:
+   * `projects/{project_id}/locations/{location}/accessPolicies/{access_policy_id}`
+   * `projects/{project_number}/locations/{location}/accessPolicies/{access_policy_id}`
+   * `folders/{folder_id}/locations/{location}/accessPolicies/{access_policy_id}`
+   * `organizations/{organization_id}/locations/{location}/accessPolicies/{access_policy_id}`
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for name. + */ + com.google.protobuf.ByteString getNameBytes(); +} diff --git a/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/ListAccessPoliciesRequest.java b/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/ListAccessPoliciesRequest.java new file mode 100644 index 0000000000..7f4755169d --- /dev/null +++ b/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/ListAccessPoliciesRequest.java @@ -0,0 +1,1003 @@ +/* + * 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/iam/v3beta/access_policies_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.iam.v3beta; + +/** + * + * + *
+ * Request message for ListAccessPolicies method.
+ * 
+ * + * Protobuf type {@code google.iam.v3beta.ListAccessPoliciesRequest} + */ +@com.google.protobuf.Generated +public final class ListAccessPoliciesRequest extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.iam.v3beta.ListAccessPoliciesRequest) + ListAccessPoliciesRequestOrBuilder { + 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= */ "", + "ListAccessPoliciesRequest"); + } + + // Use ListAccessPoliciesRequest.newBuilder() to construct. + private ListAccessPoliciesRequest(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private ListAccessPoliciesRequest() { + parent_ = ""; + pageToken_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.iam.v3beta.AccessPoliciesProto + .internal_static_google_iam_v3beta_ListAccessPoliciesRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.iam.v3beta.AccessPoliciesProto + .internal_static_google_iam_v3beta_ListAccessPoliciesRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.iam.v3beta.ListAccessPoliciesRequest.class, + com.google.iam.v3beta.ListAccessPoliciesRequest.Builder.class); + } + + public static final int PARENT_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object parent_ = ""; + + /** + * + * + *
+   * Required. The parent resource, which owns the collection of access policy
+   * resources.
+   *
+   * Format:
+   * `projects/{project_id}/locations/{location}`
+   * `projects/{project_number}/locations/{location}`
+   * `folders/{folder_id}/locations/{location}`
+   * `organizations/{organization_id}/locations/{location}`
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + @java.lang.Override + public java.lang.String getParent() { + java.lang.Object ref = parent_; + 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(); + parent_ = s; + return s; + } + } + + /** + * + * + *
+   * Required. The parent resource, which owns the collection of access policy
+   * resources.
+   *
+   * Format:
+   * `projects/{project_id}/locations/{location}`
+   * `projects/{project_number}/locations/{location}`
+   * `folders/{folder_id}/locations/{location}`
+   * `organizations/{organization_id}/locations/{location}`
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + @java.lang.Override + public com.google.protobuf.ByteString getParentBytes() { + java.lang.Object ref = parent_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + parent_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int PAGE_SIZE_FIELD_NUMBER = 2; + private int pageSize_ = 0; + + /** + * + * + *
+   * Optional. The maximum number of access policies to return. The
+   * service may return fewer than this value.
+   *
+   * If unspecified, at most 50 access policies will be returned. Valid value
+   * ranges from 1 to 1000; values above 1000 will be coerced to 1000.
+   * 
+ * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageSize. + */ + @java.lang.Override + public int getPageSize() { + return pageSize_; + } + + public static final int PAGE_TOKEN_FIELD_NUMBER = 3; + + @SuppressWarnings("serial") + private volatile java.lang.Object pageToken_ = ""; + + /** + * + * + *
+   * Optional. A page token, received from a previous
+   * `ListAccessPolicies` call. Provide this to retrieve the
+   * subsequent page.
+   *
+   * When paginating, all other parameters provided to
+   * `ListAccessPolicies` must match the call that provided the
+   * page token.
+   * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageToken. + */ + @java.lang.Override + public java.lang.String getPageToken() { + java.lang.Object ref = pageToken_; + 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(); + pageToken_ = s; + return s; + } + } + + /** + * + * + *
+   * Optional. A page token, received from a previous
+   * `ListAccessPolicies` call. Provide this to retrieve the
+   * subsequent page.
+   *
+   * When paginating, all other parameters provided to
+   * `ListAccessPolicies` must match the call that provided the
+   * page token.
+   * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for pageToken. + */ + @java.lang.Override + public com.google.protobuf.ByteString getPageTokenBytes() { + java.lang.Object ref = pageToken_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + pageToken_ = 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(parent_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, parent_); + } + if (pageSize_ != 0) { + output.writeInt32(2, pageSize_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(pageToken_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 3, pageToken_); + } + 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(parent_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, parent_); + } + if (pageSize_ != 0) { + size += com.google.protobuf.CodedOutputStream.computeInt32Size(2, pageSize_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(pageToken_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(3, pageToken_); + } + 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.iam.v3beta.ListAccessPoliciesRequest)) { + return super.equals(obj); + } + com.google.iam.v3beta.ListAccessPoliciesRequest other = + (com.google.iam.v3beta.ListAccessPoliciesRequest) obj; + + if (!getParent().equals(other.getParent())) return false; + if (getPageSize() != other.getPageSize()) return false; + if (!getPageToken().equals(other.getPageToken())) 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) + PARENT_FIELD_NUMBER; + hash = (53 * hash) + getParent().hashCode(); + hash = (37 * hash) + PAGE_SIZE_FIELD_NUMBER; + hash = (53 * hash) + getPageSize(); + hash = (37 * hash) + PAGE_TOKEN_FIELD_NUMBER; + hash = (53 * hash) + getPageToken().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.iam.v3beta.ListAccessPoliciesRequest parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.iam.v3beta.ListAccessPoliciesRequest parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.iam.v3beta.ListAccessPoliciesRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.iam.v3beta.ListAccessPoliciesRequest 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.iam.v3beta.ListAccessPoliciesRequest parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.iam.v3beta.ListAccessPoliciesRequest parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.iam.v3beta.ListAccessPoliciesRequest parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.iam.v3beta.ListAccessPoliciesRequest 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.iam.v3beta.ListAccessPoliciesRequest parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.iam.v3beta.ListAccessPoliciesRequest 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.iam.v3beta.ListAccessPoliciesRequest parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.iam.v3beta.ListAccessPoliciesRequest 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.iam.v3beta.ListAccessPoliciesRequest 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; + } + + /** + * + * + *
+   * Request message for ListAccessPolicies method.
+   * 
+ * + * Protobuf type {@code google.iam.v3beta.ListAccessPoliciesRequest} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.iam.v3beta.ListAccessPoliciesRequest) + com.google.iam.v3beta.ListAccessPoliciesRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.iam.v3beta.AccessPoliciesProto + .internal_static_google_iam_v3beta_ListAccessPoliciesRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.iam.v3beta.AccessPoliciesProto + .internal_static_google_iam_v3beta_ListAccessPoliciesRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.iam.v3beta.ListAccessPoliciesRequest.class, + com.google.iam.v3beta.ListAccessPoliciesRequest.Builder.class); + } + + // Construct using com.google.iam.v3beta.ListAccessPoliciesRequest.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + parent_ = ""; + pageSize_ = 0; + pageToken_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.iam.v3beta.AccessPoliciesProto + .internal_static_google_iam_v3beta_ListAccessPoliciesRequest_descriptor; + } + + @java.lang.Override + public com.google.iam.v3beta.ListAccessPoliciesRequest getDefaultInstanceForType() { + return com.google.iam.v3beta.ListAccessPoliciesRequest.getDefaultInstance(); + } + + @java.lang.Override + public com.google.iam.v3beta.ListAccessPoliciesRequest build() { + com.google.iam.v3beta.ListAccessPoliciesRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.iam.v3beta.ListAccessPoliciesRequest buildPartial() { + com.google.iam.v3beta.ListAccessPoliciesRequest result = + new com.google.iam.v3beta.ListAccessPoliciesRequest(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0(com.google.iam.v3beta.ListAccessPoliciesRequest result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.parent_ = parent_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.pageSize_ = pageSize_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.pageToken_ = pageToken_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.iam.v3beta.ListAccessPoliciesRequest) { + return mergeFrom((com.google.iam.v3beta.ListAccessPoliciesRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.iam.v3beta.ListAccessPoliciesRequest other) { + if (other == com.google.iam.v3beta.ListAccessPoliciesRequest.getDefaultInstance()) + return this; + if (!other.getParent().isEmpty()) { + parent_ = other.parent_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (other.getPageSize() != 0) { + setPageSize(other.getPageSize()); + } + if (!other.getPageToken().isEmpty()) { + pageToken_ = other.pageToken_; + 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: + { + parent_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 16: + { + pageSize_ = input.readInt32(); + bitField0_ |= 0x00000002; + break; + } // case 16 + case 26: + { + pageToken_ = 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 parent_ = ""; + + /** + * + * + *
+     * Required. The parent resource, which owns the collection of access policy
+     * resources.
+     *
+     * Format:
+     * `projects/{project_id}/locations/{location}`
+     * `projects/{project_number}/locations/{location}`
+     * `folders/{folder_id}/locations/{location}`
+     * `organizations/{organization_id}/locations/{location}`
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + public java.lang.String getParent() { + java.lang.Object ref = parent_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + parent_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Required. The parent resource, which owns the collection of access policy
+     * resources.
+     *
+     * Format:
+     * `projects/{project_id}/locations/{location}`
+     * `projects/{project_number}/locations/{location}`
+     * `folders/{folder_id}/locations/{location}`
+     * `organizations/{organization_id}/locations/{location}`
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + public com.google.protobuf.ByteString getParentBytes() { + java.lang.Object ref = parent_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + parent_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Required. The parent resource, which owns the collection of access policy
+     * resources.
+     *
+     * Format:
+     * `projects/{project_id}/locations/{location}`
+     * `projects/{project_number}/locations/{location}`
+     * `folders/{folder_id}/locations/{location}`
+     * `organizations/{organization_id}/locations/{location}`
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The parent to set. + * @return This builder for chaining. + */ + public Builder setParent(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + parent_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The parent resource, which owns the collection of access policy
+     * resources.
+     *
+     * Format:
+     * `projects/{project_id}/locations/{location}`
+     * `projects/{project_number}/locations/{location}`
+     * `folders/{folder_id}/locations/{location}`
+     * `organizations/{organization_id}/locations/{location}`
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearParent() { + parent_ = getDefaultInstance().getParent(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The parent resource, which owns the collection of access policy
+     * resources.
+     *
+     * Format:
+     * `projects/{project_id}/locations/{location}`
+     * `projects/{project_number}/locations/{location}`
+     * `folders/{folder_id}/locations/{location}`
+     * `organizations/{organization_id}/locations/{location}`
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The bytes for parent to set. + * @return This builder for chaining. + */ + public Builder setParentBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + parent_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private int pageSize_; + + /** + * + * + *
+     * Optional. The maximum number of access policies to return. The
+     * service may return fewer than this value.
+     *
+     * If unspecified, at most 50 access policies will be returned. Valid value
+     * ranges from 1 to 1000; values above 1000 will be coerced to 1000.
+     * 
+ * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageSize. + */ + @java.lang.Override + public int getPageSize() { + return pageSize_; + } + + /** + * + * + *
+     * Optional. The maximum number of access policies to return. The
+     * service may return fewer than this value.
+     *
+     * If unspecified, at most 50 access policies will be returned. Valid value
+     * ranges from 1 to 1000; values above 1000 will be coerced to 1000.
+     * 
+ * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The pageSize to set. + * @return This builder for chaining. + */ + public Builder setPageSize(int value) { + + pageSize_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. The maximum number of access policies to return. The
+     * service may return fewer than this value.
+     *
+     * If unspecified, at most 50 access policies will be returned. Valid value
+     * ranges from 1 to 1000; values above 1000 will be coerced to 1000.
+     * 
+ * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearPageSize() { + bitField0_ = (bitField0_ & ~0x00000002); + pageSize_ = 0; + onChanged(); + return this; + } + + private java.lang.Object pageToken_ = ""; + + /** + * + * + *
+     * Optional. A page token, received from a previous
+     * `ListAccessPolicies` call. Provide this to retrieve the
+     * subsequent page.
+     *
+     * When paginating, all other parameters provided to
+     * `ListAccessPolicies` must match the call that provided the
+     * page token.
+     * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageToken. + */ + public java.lang.String getPageToken() { + java.lang.Object ref = pageToken_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + pageToken_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Optional. A page token, received from a previous
+     * `ListAccessPolicies` call. Provide this to retrieve the
+     * subsequent page.
+     *
+     * When paginating, all other parameters provided to
+     * `ListAccessPolicies` must match the call that provided the
+     * page token.
+     * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for pageToken. + */ + public com.google.protobuf.ByteString getPageTokenBytes() { + java.lang.Object ref = pageToken_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + pageToken_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Optional. A page token, received from a previous
+     * `ListAccessPolicies` call. Provide this to retrieve the
+     * subsequent page.
+     *
+     * When paginating, all other parameters provided to
+     * `ListAccessPolicies` must match the call that provided the
+     * page token.
+     * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The pageToken to set. + * @return This builder for chaining. + */ + public Builder setPageToken(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + pageToken_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. A page token, received from a previous
+     * `ListAccessPolicies` call. Provide this to retrieve the
+     * subsequent page.
+     *
+     * When paginating, all other parameters provided to
+     * `ListAccessPolicies` must match the call that provided the
+     * page token.
+     * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearPageToken() { + pageToken_ = getDefaultInstance().getPageToken(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. A page token, received from a previous
+     * `ListAccessPolicies` call. Provide this to retrieve the
+     * subsequent page.
+     *
+     * When paginating, all other parameters provided to
+     * `ListAccessPolicies` must match the call that provided the
+     * page token.
+     * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for pageToken to set. + * @return This builder for chaining. + */ + public Builder setPageTokenBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + pageToken_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.iam.v3beta.ListAccessPoliciesRequest) + } + + // @@protoc_insertion_point(class_scope:google.iam.v3beta.ListAccessPoliciesRequest) + private static final com.google.iam.v3beta.ListAccessPoliciesRequest DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.iam.v3beta.ListAccessPoliciesRequest(); + } + + public static com.google.iam.v3beta.ListAccessPoliciesRequest getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ListAccessPoliciesRequest 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.iam.v3beta.ListAccessPoliciesRequest getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/ListAccessPoliciesRequestOrBuilder.java b/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/ListAccessPoliciesRequestOrBuilder.java new file mode 100644 index 0000000000..04b7097937 --- /dev/null +++ b/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/ListAccessPoliciesRequestOrBuilder.java @@ -0,0 +1,127 @@ +/* + * 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/iam/v3beta/access_policies_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.iam.v3beta; + +@com.google.protobuf.Generated +public interface ListAccessPoliciesRequestOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.iam.v3beta.ListAccessPoliciesRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Required. The parent resource, which owns the collection of access policy
+   * resources.
+   *
+   * Format:
+   * `projects/{project_id}/locations/{location}`
+   * `projects/{project_number}/locations/{location}`
+   * `folders/{folder_id}/locations/{location}`
+   * `organizations/{organization_id}/locations/{location}`
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + java.lang.String getParent(); + + /** + * + * + *
+   * Required. The parent resource, which owns the collection of access policy
+   * resources.
+   *
+   * Format:
+   * `projects/{project_id}/locations/{location}`
+   * `projects/{project_number}/locations/{location}`
+   * `folders/{folder_id}/locations/{location}`
+   * `organizations/{organization_id}/locations/{location}`
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + com.google.protobuf.ByteString getParentBytes(); + + /** + * + * + *
+   * Optional. The maximum number of access policies to return. The
+   * service may return fewer than this value.
+   *
+   * If unspecified, at most 50 access policies will be returned. Valid value
+   * ranges from 1 to 1000; values above 1000 will be coerced to 1000.
+   * 
+ * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageSize. + */ + int getPageSize(); + + /** + * + * + *
+   * Optional. A page token, received from a previous
+   * `ListAccessPolicies` call. Provide this to retrieve the
+   * subsequent page.
+   *
+   * When paginating, all other parameters provided to
+   * `ListAccessPolicies` must match the call that provided the
+   * page token.
+   * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageToken. + */ + java.lang.String getPageToken(); + + /** + * + * + *
+   * Optional. A page token, received from a previous
+   * `ListAccessPolicies` call. Provide this to retrieve the
+   * subsequent page.
+   *
+   * When paginating, all other parameters provided to
+   * `ListAccessPolicies` must match the call that provided the
+   * page token.
+   * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for pageToken. + */ + com.google.protobuf.ByteString getPageTokenBytes(); +} diff --git a/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/ListAccessPoliciesResponse.java b/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/ListAccessPoliciesResponse.java new file mode 100644 index 0000000000..bf8fdfba65 --- /dev/null +++ b/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/ListAccessPoliciesResponse.java @@ -0,0 +1,1122 @@ +/* + * 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/iam/v3beta/access_policies_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.iam.v3beta; + +/** + * + * + *
+ * Response message for ListAccessPolicies method.
+ * 
+ * + * Protobuf type {@code google.iam.v3beta.ListAccessPoliciesResponse} + */ +@com.google.protobuf.Generated +public final class ListAccessPoliciesResponse extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.iam.v3beta.ListAccessPoliciesResponse) + ListAccessPoliciesResponseOrBuilder { + 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= */ "", + "ListAccessPoliciesResponse"); + } + + // Use ListAccessPoliciesResponse.newBuilder() to construct. + private ListAccessPoliciesResponse(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private ListAccessPoliciesResponse() { + accessPolicies_ = java.util.Collections.emptyList(); + nextPageToken_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.iam.v3beta.AccessPoliciesProto + .internal_static_google_iam_v3beta_ListAccessPoliciesResponse_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.iam.v3beta.AccessPoliciesProto + .internal_static_google_iam_v3beta_ListAccessPoliciesResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.iam.v3beta.ListAccessPoliciesResponse.class, + com.google.iam.v3beta.ListAccessPoliciesResponse.Builder.class); + } + + public static final int ACCESS_POLICIES_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private java.util.List accessPolicies_; + + /** + * + * + *
+   * The access policies from the specified parent.
+   * 
+ * + * repeated .google.iam.v3beta.AccessPolicy access_policies = 1; + */ + @java.lang.Override + public java.util.List getAccessPoliciesList() { + return accessPolicies_; + } + + /** + * + * + *
+   * The access policies from the specified parent.
+   * 
+ * + * repeated .google.iam.v3beta.AccessPolicy access_policies = 1; + */ + @java.lang.Override + public java.util.List + getAccessPoliciesOrBuilderList() { + return accessPolicies_; + } + + /** + * + * + *
+   * The access policies from the specified parent.
+   * 
+ * + * repeated .google.iam.v3beta.AccessPolicy access_policies = 1; + */ + @java.lang.Override + public int getAccessPoliciesCount() { + return accessPolicies_.size(); + } + + /** + * + * + *
+   * The access policies from the specified parent.
+   * 
+ * + * repeated .google.iam.v3beta.AccessPolicy access_policies = 1; + */ + @java.lang.Override + public com.google.iam.v3beta.AccessPolicy getAccessPolicies(int index) { + return accessPolicies_.get(index); + } + + /** + * + * + *
+   * The access policies from the specified parent.
+   * 
+ * + * repeated .google.iam.v3beta.AccessPolicy access_policies = 1; + */ + @java.lang.Override + public com.google.iam.v3beta.AccessPolicyOrBuilder getAccessPoliciesOrBuilder(int index) { + return accessPolicies_.get(index); + } + + public static final int NEXT_PAGE_TOKEN_FIELD_NUMBER = 2; + + @SuppressWarnings("serial") + private volatile java.lang.Object nextPageToken_ = ""; + + /** + * + * + *
+   * Optional. A token, which can be sent as `page_token` to retrieve the next
+   * page. If this field is omitted, there are no subsequent pages.
+   * 
+ * + * string next_page_token = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The nextPageToken. + */ + @java.lang.Override + public java.lang.String getNextPageToken() { + java.lang.Object ref = nextPageToken_; + 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(); + nextPageToken_ = s; + return s; + } + } + + /** + * + * + *
+   * Optional. A token, which can be sent as `page_token` to retrieve the next
+   * page. If this field is omitted, there are no subsequent pages.
+   * 
+ * + * string next_page_token = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for nextPageToken. + */ + @java.lang.Override + public com.google.protobuf.ByteString getNextPageTokenBytes() { + java.lang.Object ref = nextPageToken_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + nextPageToken_ = 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 { + for (int i = 0; i < accessPolicies_.size(); i++) { + output.writeMessage(1, accessPolicies_.get(i)); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(nextPageToken_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, nextPageToken_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + for (int i = 0; i < accessPolicies_.size(); i++) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, accessPolicies_.get(i)); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(nextPageToken_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, nextPageToken_); + } + 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.iam.v3beta.ListAccessPoliciesResponse)) { + return super.equals(obj); + } + com.google.iam.v3beta.ListAccessPoliciesResponse other = + (com.google.iam.v3beta.ListAccessPoliciesResponse) obj; + + if (!getAccessPoliciesList().equals(other.getAccessPoliciesList())) return false; + if (!getNextPageToken().equals(other.getNextPageToken())) 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 (getAccessPoliciesCount() > 0) { + hash = (37 * hash) + ACCESS_POLICIES_FIELD_NUMBER; + hash = (53 * hash) + getAccessPoliciesList().hashCode(); + } + hash = (37 * hash) + NEXT_PAGE_TOKEN_FIELD_NUMBER; + hash = (53 * hash) + getNextPageToken().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.iam.v3beta.ListAccessPoliciesResponse parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.iam.v3beta.ListAccessPoliciesResponse parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.iam.v3beta.ListAccessPoliciesResponse parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.iam.v3beta.ListAccessPoliciesResponse 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.iam.v3beta.ListAccessPoliciesResponse parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.iam.v3beta.ListAccessPoliciesResponse parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.iam.v3beta.ListAccessPoliciesResponse parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.iam.v3beta.ListAccessPoliciesResponse 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.iam.v3beta.ListAccessPoliciesResponse parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.iam.v3beta.ListAccessPoliciesResponse 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.iam.v3beta.ListAccessPoliciesResponse parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.iam.v3beta.ListAccessPoliciesResponse 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.iam.v3beta.ListAccessPoliciesResponse 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; + } + + /** + * + * + *
+   * Response message for ListAccessPolicies method.
+   * 
+ * + * Protobuf type {@code google.iam.v3beta.ListAccessPoliciesResponse} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.iam.v3beta.ListAccessPoliciesResponse) + com.google.iam.v3beta.ListAccessPoliciesResponseOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.iam.v3beta.AccessPoliciesProto + .internal_static_google_iam_v3beta_ListAccessPoliciesResponse_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.iam.v3beta.AccessPoliciesProto + .internal_static_google_iam_v3beta_ListAccessPoliciesResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.iam.v3beta.ListAccessPoliciesResponse.class, + com.google.iam.v3beta.ListAccessPoliciesResponse.Builder.class); + } + + // Construct using com.google.iam.v3beta.ListAccessPoliciesResponse.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + if (accessPoliciesBuilder_ == null) { + accessPolicies_ = java.util.Collections.emptyList(); + } else { + accessPolicies_ = null; + accessPoliciesBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000001); + nextPageToken_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.iam.v3beta.AccessPoliciesProto + .internal_static_google_iam_v3beta_ListAccessPoliciesResponse_descriptor; + } + + @java.lang.Override + public com.google.iam.v3beta.ListAccessPoliciesResponse getDefaultInstanceForType() { + return com.google.iam.v3beta.ListAccessPoliciesResponse.getDefaultInstance(); + } + + @java.lang.Override + public com.google.iam.v3beta.ListAccessPoliciesResponse build() { + com.google.iam.v3beta.ListAccessPoliciesResponse result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.iam.v3beta.ListAccessPoliciesResponse buildPartial() { + com.google.iam.v3beta.ListAccessPoliciesResponse result = + new com.google.iam.v3beta.ListAccessPoliciesResponse(this); + buildPartialRepeatedFields(result); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartialRepeatedFields( + com.google.iam.v3beta.ListAccessPoliciesResponse result) { + if (accessPoliciesBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + accessPolicies_ = java.util.Collections.unmodifiableList(accessPolicies_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.accessPolicies_ = accessPolicies_; + } else { + result.accessPolicies_ = accessPoliciesBuilder_.build(); + } + } + + private void buildPartial0(com.google.iam.v3beta.ListAccessPoliciesResponse result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000002) != 0)) { + result.nextPageToken_ = nextPageToken_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.iam.v3beta.ListAccessPoliciesResponse) { + return mergeFrom((com.google.iam.v3beta.ListAccessPoliciesResponse) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.iam.v3beta.ListAccessPoliciesResponse other) { + if (other == com.google.iam.v3beta.ListAccessPoliciesResponse.getDefaultInstance()) + return this; + if (accessPoliciesBuilder_ == null) { + if (!other.accessPolicies_.isEmpty()) { + if (accessPolicies_.isEmpty()) { + accessPolicies_ = other.accessPolicies_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureAccessPoliciesIsMutable(); + accessPolicies_.addAll(other.accessPolicies_); + } + onChanged(); + } + } else { + if (!other.accessPolicies_.isEmpty()) { + if (accessPoliciesBuilder_.isEmpty()) { + accessPoliciesBuilder_.dispose(); + accessPoliciesBuilder_ = null; + accessPolicies_ = other.accessPolicies_; + bitField0_ = (bitField0_ & ~0x00000001); + accessPoliciesBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders + ? internalGetAccessPoliciesFieldBuilder() + : null; + } else { + accessPoliciesBuilder_.addAllMessages(other.accessPolicies_); + } + } + } + if (!other.getNextPageToken().isEmpty()) { + nextPageToken_ = other.nextPageToken_; + bitField0_ |= 0x00000002; + 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: + { + com.google.iam.v3beta.AccessPolicy m = + input.readMessage( + com.google.iam.v3beta.AccessPolicy.parser(), extensionRegistry); + if (accessPoliciesBuilder_ == null) { + ensureAccessPoliciesIsMutable(); + accessPolicies_.add(m); + } else { + accessPoliciesBuilder_.addMessage(m); + } + break; + } // case 10 + case 18: + { + nextPageToken_ = input.readStringRequireUtf8(); + 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 java.util.List accessPolicies_ = + java.util.Collections.emptyList(); + + private void ensureAccessPoliciesIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + accessPolicies_ = + new java.util.ArrayList(accessPolicies_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.iam.v3beta.AccessPolicy, + com.google.iam.v3beta.AccessPolicy.Builder, + com.google.iam.v3beta.AccessPolicyOrBuilder> + accessPoliciesBuilder_; + + /** + * + * + *
+     * The access policies from the specified parent.
+     * 
+ * + * repeated .google.iam.v3beta.AccessPolicy access_policies = 1; + */ + public java.util.List getAccessPoliciesList() { + if (accessPoliciesBuilder_ == null) { + return java.util.Collections.unmodifiableList(accessPolicies_); + } else { + return accessPoliciesBuilder_.getMessageList(); + } + } + + /** + * + * + *
+     * The access policies from the specified parent.
+     * 
+ * + * repeated .google.iam.v3beta.AccessPolicy access_policies = 1; + */ + public int getAccessPoliciesCount() { + if (accessPoliciesBuilder_ == null) { + return accessPolicies_.size(); + } else { + return accessPoliciesBuilder_.getCount(); + } + } + + /** + * + * + *
+     * The access policies from the specified parent.
+     * 
+ * + * repeated .google.iam.v3beta.AccessPolicy access_policies = 1; + */ + public com.google.iam.v3beta.AccessPolicy getAccessPolicies(int index) { + if (accessPoliciesBuilder_ == null) { + return accessPolicies_.get(index); + } else { + return accessPoliciesBuilder_.getMessage(index); + } + } + + /** + * + * + *
+     * The access policies from the specified parent.
+     * 
+ * + * repeated .google.iam.v3beta.AccessPolicy access_policies = 1; + */ + public Builder setAccessPolicies(int index, com.google.iam.v3beta.AccessPolicy value) { + if (accessPoliciesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureAccessPoliciesIsMutable(); + accessPolicies_.set(index, value); + onChanged(); + } else { + accessPoliciesBuilder_.setMessage(index, value); + } + return this; + } + + /** + * + * + *
+     * The access policies from the specified parent.
+     * 
+ * + * repeated .google.iam.v3beta.AccessPolicy access_policies = 1; + */ + public Builder setAccessPolicies( + int index, com.google.iam.v3beta.AccessPolicy.Builder builderForValue) { + if (accessPoliciesBuilder_ == null) { + ensureAccessPoliciesIsMutable(); + accessPolicies_.set(index, builderForValue.build()); + onChanged(); + } else { + accessPoliciesBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * The access policies from the specified parent.
+     * 
+ * + * repeated .google.iam.v3beta.AccessPolicy access_policies = 1; + */ + public Builder addAccessPolicies(com.google.iam.v3beta.AccessPolicy value) { + if (accessPoliciesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureAccessPoliciesIsMutable(); + accessPolicies_.add(value); + onChanged(); + } else { + accessPoliciesBuilder_.addMessage(value); + } + return this; + } + + /** + * + * + *
+     * The access policies from the specified parent.
+     * 
+ * + * repeated .google.iam.v3beta.AccessPolicy access_policies = 1; + */ + public Builder addAccessPolicies(int index, com.google.iam.v3beta.AccessPolicy value) { + if (accessPoliciesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureAccessPoliciesIsMutable(); + accessPolicies_.add(index, value); + onChanged(); + } else { + accessPoliciesBuilder_.addMessage(index, value); + } + return this; + } + + /** + * + * + *
+     * The access policies from the specified parent.
+     * 
+ * + * repeated .google.iam.v3beta.AccessPolicy access_policies = 1; + */ + public Builder addAccessPolicies(com.google.iam.v3beta.AccessPolicy.Builder builderForValue) { + if (accessPoliciesBuilder_ == null) { + ensureAccessPoliciesIsMutable(); + accessPolicies_.add(builderForValue.build()); + onChanged(); + } else { + accessPoliciesBuilder_.addMessage(builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * The access policies from the specified parent.
+     * 
+ * + * repeated .google.iam.v3beta.AccessPolicy access_policies = 1; + */ + public Builder addAccessPolicies( + int index, com.google.iam.v3beta.AccessPolicy.Builder builderForValue) { + if (accessPoliciesBuilder_ == null) { + ensureAccessPoliciesIsMutable(); + accessPolicies_.add(index, builderForValue.build()); + onChanged(); + } else { + accessPoliciesBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * The access policies from the specified parent.
+     * 
+ * + * repeated .google.iam.v3beta.AccessPolicy access_policies = 1; + */ + public Builder addAllAccessPolicies( + java.lang.Iterable values) { + if (accessPoliciesBuilder_ == null) { + ensureAccessPoliciesIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, accessPolicies_); + onChanged(); + } else { + accessPoliciesBuilder_.addAllMessages(values); + } + return this; + } + + /** + * + * + *
+     * The access policies from the specified parent.
+     * 
+ * + * repeated .google.iam.v3beta.AccessPolicy access_policies = 1; + */ + public Builder clearAccessPolicies() { + if (accessPoliciesBuilder_ == null) { + accessPolicies_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + accessPoliciesBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+     * The access policies from the specified parent.
+     * 
+ * + * repeated .google.iam.v3beta.AccessPolicy access_policies = 1; + */ + public Builder removeAccessPolicies(int index) { + if (accessPoliciesBuilder_ == null) { + ensureAccessPoliciesIsMutable(); + accessPolicies_.remove(index); + onChanged(); + } else { + accessPoliciesBuilder_.remove(index); + } + return this; + } + + /** + * + * + *
+     * The access policies from the specified parent.
+     * 
+ * + * repeated .google.iam.v3beta.AccessPolicy access_policies = 1; + */ + public com.google.iam.v3beta.AccessPolicy.Builder getAccessPoliciesBuilder(int index) { + return internalGetAccessPoliciesFieldBuilder().getBuilder(index); + } + + /** + * + * + *
+     * The access policies from the specified parent.
+     * 
+ * + * repeated .google.iam.v3beta.AccessPolicy access_policies = 1; + */ + public com.google.iam.v3beta.AccessPolicyOrBuilder getAccessPoliciesOrBuilder(int index) { + if (accessPoliciesBuilder_ == null) { + return accessPolicies_.get(index); + } else { + return accessPoliciesBuilder_.getMessageOrBuilder(index); + } + } + + /** + * + * + *
+     * The access policies from the specified parent.
+     * 
+ * + * repeated .google.iam.v3beta.AccessPolicy access_policies = 1; + */ + public java.util.List + getAccessPoliciesOrBuilderList() { + if (accessPoliciesBuilder_ != null) { + return accessPoliciesBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(accessPolicies_); + } + } + + /** + * + * + *
+     * The access policies from the specified parent.
+     * 
+ * + * repeated .google.iam.v3beta.AccessPolicy access_policies = 1; + */ + public com.google.iam.v3beta.AccessPolicy.Builder addAccessPoliciesBuilder() { + return internalGetAccessPoliciesFieldBuilder() + .addBuilder(com.google.iam.v3beta.AccessPolicy.getDefaultInstance()); + } + + /** + * + * + *
+     * The access policies from the specified parent.
+     * 
+ * + * repeated .google.iam.v3beta.AccessPolicy access_policies = 1; + */ + public com.google.iam.v3beta.AccessPolicy.Builder addAccessPoliciesBuilder(int index) { + return internalGetAccessPoliciesFieldBuilder() + .addBuilder(index, com.google.iam.v3beta.AccessPolicy.getDefaultInstance()); + } + + /** + * + * + *
+     * The access policies from the specified parent.
+     * 
+ * + * repeated .google.iam.v3beta.AccessPolicy access_policies = 1; + */ + public java.util.List + getAccessPoliciesBuilderList() { + return internalGetAccessPoliciesFieldBuilder().getBuilderList(); + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.iam.v3beta.AccessPolicy, + com.google.iam.v3beta.AccessPolicy.Builder, + com.google.iam.v3beta.AccessPolicyOrBuilder> + internalGetAccessPoliciesFieldBuilder() { + if (accessPoliciesBuilder_ == null) { + accessPoliciesBuilder_ = + new com.google.protobuf.RepeatedFieldBuilder< + com.google.iam.v3beta.AccessPolicy, + com.google.iam.v3beta.AccessPolicy.Builder, + com.google.iam.v3beta.AccessPolicyOrBuilder>( + accessPolicies_, + ((bitField0_ & 0x00000001) != 0), + getParentForChildren(), + isClean()); + accessPolicies_ = null; + } + return accessPoliciesBuilder_; + } + + private java.lang.Object nextPageToken_ = ""; + + /** + * + * + *
+     * Optional. A token, which can be sent as `page_token` to retrieve the next
+     * page. If this field is omitted, there are no subsequent pages.
+     * 
+ * + * string next_page_token = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The nextPageToken. + */ + public java.lang.String getNextPageToken() { + java.lang.Object ref = nextPageToken_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + nextPageToken_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Optional. A token, which can be sent as `page_token` to retrieve the next
+     * page. If this field is omitted, there are no subsequent pages.
+     * 
+ * + * string next_page_token = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for nextPageToken. + */ + public com.google.protobuf.ByteString getNextPageTokenBytes() { + java.lang.Object ref = nextPageToken_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + nextPageToken_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Optional. A token, which can be sent as `page_token` to retrieve the next
+     * page. If this field is omitted, there are no subsequent pages.
+     * 
+ * + * string next_page_token = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The nextPageToken to set. + * @return This builder for chaining. + */ + public Builder setNextPageToken(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + nextPageToken_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. A token, which can be sent as `page_token` to retrieve the next
+     * page. If this field is omitted, there are no subsequent pages.
+     * 
+ * + * string next_page_token = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearNextPageToken() { + nextPageToken_ = getDefaultInstance().getNextPageToken(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. A token, which can be sent as `page_token` to retrieve the next
+     * page. If this field is omitted, there are no subsequent pages.
+     * 
+ * + * string next_page_token = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for nextPageToken to set. + * @return This builder for chaining. + */ + public Builder setNextPageTokenBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + nextPageToken_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.iam.v3beta.ListAccessPoliciesResponse) + } + + // @@protoc_insertion_point(class_scope:google.iam.v3beta.ListAccessPoliciesResponse) + private static final com.google.iam.v3beta.ListAccessPoliciesResponse DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.iam.v3beta.ListAccessPoliciesResponse(); + } + + public static com.google.iam.v3beta.ListAccessPoliciesResponse getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ListAccessPoliciesResponse 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.iam.v3beta.ListAccessPoliciesResponse getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/ListAccessPoliciesResponseOrBuilder.java b/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/ListAccessPoliciesResponseOrBuilder.java new file mode 100644 index 0000000000..478881783b --- /dev/null +++ b/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/ListAccessPoliciesResponseOrBuilder.java @@ -0,0 +1,112 @@ +/* + * 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/iam/v3beta/access_policies_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.iam.v3beta; + +@com.google.protobuf.Generated +public interface ListAccessPoliciesResponseOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.iam.v3beta.ListAccessPoliciesResponse) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * The access policies from the specified parent.
+   * 
+ * + * repeated .google.iam.v3beta.AccessPolicy access_policies = 1; + */ + java.util.List getAccessPoliciesList(); + + /** + * + * + *
+   * The access policies from the specified parent.
+   * 
+ * + * repeated .google.iam.v3beta.AccessPolicy access_policies = 1; + */ + com.google.iam.v3beta.AccessPolicy getAccessPolicies(int index); + + /** + * + * + *
+   * The access policies from the specified parent.
+   * 
+ * + * repeated .google.iam.v3beta.AccessPolicy access_policies = 1; + */ + int getAccessPoliciesCount(); + + /** + * + * + *
+   * The access policies from the specified parent.
+   * 
+ * + * repeated .google.iam.v3beta.AccessPolicy access_policies = 1; + */ + java.util.List + getAccessPoliciesOrBuilderList(); + + /** + * + * + *
+   * The access policies from the specified parent.
+   * 
+ * + * repeated .google.iam.v3beta.AccessPolicy access_policies = 1; + */ + com.google.iam.v3beta.AccessPolicyOrBuilder getAccessPoliciesOrBuilder(int index); + + /** + * + * + *
+   * Optional. A token, which can be sent as `page_token` to retrieve the next
+   * page. If this field is omitted, there are no subsequent pages.
+   * 
+ * + * string next_page_token = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The nextPageToken. + */ + java.lang.String getNextPageToken(); + + /** + * + * + *
+   * Optional. A token, which can be sent as `page_token` to retrieve the next
+   * page. If this field is omitted, there are no subsequent pages.
+   * 
+ * + * string next_page_token = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for nextPageToken. + */ + com.google.protobuf.ByteString getNextPageTokenBytes(); +} diff --git a/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/ListPolicyBindingsRequest.java b/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/ListPolicyBindingsRequest.java index 515549b225..2133e662f8 100644 --- a/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/ListPolicyBindingsRequest.java +++ b/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/ListPolicyBindingsRequest.java @@ -155,8 +155,7 @@ public com.google.protobuf.ByteString getParentBytes() { * Optional. The maximum number of policy bindings to return. The service may * return fewer than this value. * - * If unspecified, at most 50 policy bindings will be returned. - * The maximum value is 1000; values above 1000 will be coerced to 1000. + * The default value is 50. The maximum value is 1000. *
* * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; @@ -239,7 +238,8 @@ public com.google.protobuf.ByteString getPageTokenBytes() { * *
    * Optional. An expression for filtering the results of the request. Filter
-   * rules are case insensitive. Some eligible fields for filtering are:
+   * rules are case insensitive. Some eligible fields for filtering are the
+   * following:
    *
    * + `target`
    * + `policy`
@@ -273,7 +273,8 @@ public java.lang.String getFilter() {
    *
    * 
    * Optional. An expression for filtering the results of the request. Filter
-   * rules are case insensitive. Some eligible fields for filtering are:
+   * rules are case insensitive. Some eligible fields for filtering are the
+   * following:
    *
    * + `target`
    * + `policy`
@@ -852,8 +853,7 @@ public Builder setParentBytes(com.google.protobuf.ByteString value) {
      * Optional. The maximum number of policy bindings to return. The service may
      * return fewer than this value.
      *
-     * If unspecified, at most 50 policy bindings will be returned.
-     * The maximum value is 1000; values above 1000 will be coerced to 1000.
+     * The default value is 50. The maximum value is 1000.
      * 
* * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; @@ -872,8 +872,7 @@ public int getPageSize() { * Optional. The maximum number of policy bindings to return. The service may * return fewer than this value. * - * If unspecified, at most 50 policy bindings will be returned. - * The maximum value is 1000; values above 1000 will be coerced to 1000. + * The default value is 50. The maximum value is 1000. *
* * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; @@ -896,8 +895,7 @@ public Builder setPageSize(int value) { * Optional. The maximum number of policy bindings to return. The service may * return fewer than this value. * - * If unspecified, at most 50 policy bindings will be returned. - * The maximum value is 1000; values above 1000 will be coerced to 1000. + * The default value is 50. The maximum value is 1000. *
* * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; @@ -1049,7 +1047,8 @@ public Builder setPageTokenBytes(com.google.protobuf.ByteString value) { * *
      * Optional. An expression for filtering the results of the request. Filter
-     * rules are case insensitive. Some eligible fields for filtering are:
+     * rules are case insensitive. Some eligible fields for filtering are the
+     * following:
      *
      * + `target`
      * + `policy`
@@ -1082,7 +1081,8 @@ public java.lang.String getFilter() {
      *
      * 
      * Optional. An expression for filtering the results of the request. Filter
-     * rules are case insensitive. Some eligible fields for filtering are:
+     * rules are case insensitive. Some eligible fields for filtering are the
+     * following:
      *
      * + `target`
      * + `policy`
@@ -1115,7 +1115,8 @@ public com.google.protobuf.ByteString getFilterBytes() {
      *
      * 
      * Optional. An expression for filtering the results of the request. Filter
-     * rules are case insensitive. Some eligible fields for filtering are:
+     * rules are case insensitive. Some eligible fields for filtering are the
+     * following:
      *
      * + `target`
      * + `policy`
@@ -1147,7 +1148,8 @@ public Builder setFilter(java.lang.String value) {
      *
      * 
      * Optional. An expression for filtering the results of the request. Filter
-     * rules are case insensitive. Some eligible fields for filtering are:
+     * rules are case insensitive. Some eligible fields for filtering are the
+     * following:
      *
      * + `target`
      * + `policy`
@@ -1175,7 +1177,8 @@ public Builder clearFilter() {
      *
      * 
      * Optional. An expression for filtering the results of the request. Filter
-     * rules are case insensitive. Some eligible fields for filtering are:
+     * rules are case insensitive. Some eligible fields for filtering are the
+     * following:
      *
      * + `target`
      * + `policy`
diff --git a/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/ListPolicyBindingsRequestOrBuilder.java b/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/ListPolicyBindingsRequestOrBuilder.java
index d2e42b7448..cf2ab77009 100644
--- a/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/ListPolicyBindingsRequestOrBuilder.java
+++ b/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/ListPolicyBindingsRequestOrBuilder.java
@@ -79,8 +79,7 @@ public interface ListPolicyBindingsRequestOrBuilder
    * Optional. The maximum number of policy bindings to return. The service may
    * return fewer than this value.
    *
-   * If unspecified, at most 50 policy bindings will be returned.
-   * The maximum value is 1000; values above 1000 will be coerced to 1000.
+   * The default value is 50. The maximum value is 1000.
    * 
* * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; @@ -128,7 +127,8 @@ public interface ListPolicyBindingsRequestOrBuilder * *
    * Optional. An expression for filtering the results of the request. Filter
-   * rules are case insensitive. Some eligible fields for filtering are:
+   * rules are case insensitive. Some eligible fields for filtering are the
+   * following:
    *
    * + `target`
    * + `policy`
@@ -151,7 +151,8 @@ public interface ListPolicyBindingsRequestOrBuilder
    *
    * 
    * Optional. An expression for filtering the results of the request. Filter
-   * rules are case insensitive. Some eligible fields for filtering are:
+   * rules are case insensitive. Some eligible fields for filtering are the
+   * following:
    *
    * + `target`
    * + `policy`
diff --git a/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/PolicyBinding.java b/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/PolicyBinding.java
index 6ecbe5324e..54674f1c92 100644
--- a/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/PolicyBinding.java
+++ b/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/PolicyBinding.java
@@ -92,7 +92,7 @@ protected com.google.protobuf.MapFieldReflectionAccessor internalGetMapFieldRefl
    *
    *
    * 
-   * Different policy kinds supported in this binding.
+   * The different policy kinds supported in this binding.
    * 
* * Protobuf enum {@code google.iam.v3beta.PolicyBinding.PolicyKind} @@ -118,6 +118,16 @@ public enum PolicyKind implements com.google.protobuf.ProtocolMessageEnum { * PRINCIPAL_ACCESS_BOUNDARY = 1; */ PRINCIPAL_ACCESS_BOUNDARY(1), + /** + * + * + *
+     * Access policy kind.
+     * 
+ * + * ACCESS = 2; + */ + ACCESS(2), UNRECOGNIZED(-1), ; @@ -153,6 +163,17 @@ public enum PolicyKind implements com.google.protobuf.ProtocolMessageEnum { */ public static final int PRINCIPAL_ACCESS_BOUNDARY_VALUE = 1; + /** + * + * + *
+     * Access policy kind.
+     * 
+ * + * ACCESS = 2; + */ + public static final int ACCESS_VALUE = 2; + public final int getNumber() { if (this == UNRECOGNIZED) { throw new java.lang.IllegalArgumentException( @@ -181,6 +202,8 @@ public static PolicyKind forNumber(int value) { return POLICY_KIND_UNSPECIFIED; case 1: return PRINCIPAL_ACCESS_BOUNDARY; + case 2: + return ACCESS; default: return null; } @@ -243,23 +266,24 @@ public interface TargetOrBuilder * * *
-     * Immutable. Full Resource Name used for principal access boundary policy
-     * bindings. The principal set must be directly parented by the policy
-     * binding's parent or same as the parent if the target is a
-     * project/folder/organization.
+     * Immutable. The full resource name that's used for principal access
+     * boundary policy bindings. The principal set must be directly parented
+     * by the policy binding's parent or same as the parent if the target is a
+     * project, folder, or organization.
      *
      * Examples:
-     * * For binding's parented by an organization:
+     *
+     * * For bindings parented by an organization:
      * * Organization:
      * `//cloudresourcemanager.googleapis.com/organizations/ORGANIZATION_ID`
      * * Workforce Identity:
      * `//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID`
      * * Workspace Identity:
      * `//iam.googleapis.com/locations/global/workspace/WORKSPACE_ID`
-     * * For binding's parented by a folder:
+     * * For bindings parented by a folder:
      * * Folder:
      * `//cloudresourcemanager.googleapis.com/folders/FOLDER_ID`
-     * * For binding's parented by a project:
+     * * For bindings parented by a project:
      * * Project:
      * * `//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER`
      * * `//cloudresourcemanager.googleapis.com/projects/PROJECT_ID`
@@ -277,23 +301,24 @@ public interface TargetOrBuilder
      *
      *
      * 
-     * Immutable. Full Resource Name used for principal access boundary policy
-     * bindings. The principal set must be directly parented by the policy
-     * binding's parent or same as the parent if the target is a
-     * project/folder/organization.
+     * Immutable. The full resource name that's used for principal access
+     * boundary policy bindings. The principal set must be directly parented
+     * by the policy binding's parent or same as the parent if the target is a
+     * project, folder, or organization.
      *
      * Examples:
-     * * For binding's parented by an organization:
+     *
+     * * For bindings parented by an organization:
      * * Organization:
      * `//cloudresourcemanager.googleapis.com/organizations/ORGANIZATION_ID`
      * * Workforce Identity:
      * `//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID`
      * * Workspace Identity:
      * `//iam.googleapis.com/locations/global/workspace/WORKSPACE_ID`
-     * * For binding's parented by a folder:
+     * * For bindings parented by a folder:
      * * Folder:
      * `//cloudresourcemanager.googleapis.com/folders/FOLDER_ID`
-     * * For binding's parented by a project:
+     * * For bindings parented by a project:
      * * Project:
      * * `//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER`
      * * `//cloudresourcemanager.googleapis.com/projects/PROJECT_ID`
@@ -311,23 +336,24 @@ public interface TargetOrBuilder
      *
      *
      * 
-     * Immutable. Full Resource Name used for principal access boundary policy
-     * bindings. The principal set must be directly parented by the policy
-     * binding's parent or same as the parent if the target is a
-     * project/folder/organization.
+     * Immutable. The full resource name that's used for principal access
+     * boundary policy bindings. The principal set must be directly parented
+     * by the policy binding's parent or same as the parent if the target is a
+     * project, folder, or organization.
      *
      * Examples:
-     * * For binding's parented by an organization:
+     *
+     * * For bindings parented by an organization:
      * * Organization:
      * `//cloudresourcemanager.googleapis.com/organizations/ORGANIZATION_ID`
      * * Workforce Identity:
      * `//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID`
      * * Workspace Identity:
      * `//iam.googleapis.com/locations/global/workspace/WORKSPACE_ID`
-     * * For binding's parented by a folder:
+     * * For bindings parented by a folder:
      * * Folder:
      * `//cloudresourcemanager.googleapis.com/folders/FOLDER_ID`
-     * * For binding's parented by a project:
+     * * For bindings parented by a project:
      * * Project:
      * * `//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER`
      * * `//cloudresourcemanager.googleapis.com/projects/PROJECT_ID`
@@ -341,6 +367,75 @@ public interface TargetOrBuilder
      */
     com.google.protobuf.ByteString getPrincipalSetBytes();
 
+    /**
+     *
+     *
+     * 
+     * Immutable. The full resource name that's used for access policy
+     * bindings.
+     *
+     * Examples:
+     *
+     * * Organization:
+     * `//cloudresourcemanager.googleapis.com/organizations/ORGANIZATION_ID`
+     * * Folder: `//cloudresourcemanager.googleapis.com/folders/FOLDER_ID`
+     * * Project:
+     * * `//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER`
+     * * `//cloudresourcemanager.googleapis.com/projects/PROJECT_ID`
+     * 
+ * + * string resource = 2 [(.google.api.field_behavior) = IMMUTABLE]; + * + * @return Whether the resource field is set. + */ + boolean hasResource(); + + /** + * + * + *
+     * Immutable. The full resource name that's used for access policy
+     * bindings.
+     *
+     * Examples:
+     *
+     * * Organization:
+     * `//cloudresourcemanager.googleapis.com/organizations/ORGANIZATION_ID`
+     * * Folder: `//cloudresourcemanager.googleapis.com/folders/FOLDER_ID`
+     * * Project:
+     * * `//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER`
+     * * `//cloudresourcemanager.googleapis.com/projects/PROJECT_ID`
+     * 
+ * + * string resource = 2 [(.google.api.field_behavior) = IMMUTABLE]; + * + * @return The resource. + */ + java.lang.String getResource(); + + /** + * + * + *
+     * Immutable. The full resource name that's used for access policy
+     * bindings.
+     *
+     * Examples:
+     *
+     * * Organization:
+     * `//cloudresourcemanager.googleapis.com/organizations/ORGANIZATION_ID`
+     * * Folder: `//cloudresourcemanager.googleapis.com/folders/FOLDER_ID`
+     * * Project:
+     * * `//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER`
+     * * `//cloudresourcemanager.googleapis.com/projects/PROJECT_ID`
+     * 
+ * + * string resource = 2 [(.google.api.field_behavior) = IMMUTABLE]; + * + * @return The bytes for resource. + */ + com.google.protobuf.ByteString getResourceBytes(); + com.google.iam.v3beta.PolicyBinding.Target.TargetCase getTargetCase(); } @@ -348,7 +443,7 @@ public interface TargetOrBuilder * * *
-   * Target is the full resource name of the resource to which the policy will
+   * The full resource name of the resource to which the policy will
    * be bound. Immutable once set.
    * 
* @@ -402,6 +497,7 @@ public enum TargetCase com.google.protobuf.Internal.EnumLite, com.google.protobuf.AbstractMessage.InternalOneOfEnum { PRINCIPAL_SET(1), + RESOURCE(2), TARGET_NOT_SET(0); private final int value; @@ -423,6 +519,8 @@ public static TargetCase forNumber(int value) { switch (value) { case 1: return PRINCIPAL_SET; + case 2: + return RESOURCE; case 0: return TARGET_NOT_SET; default: @@ -445,23 +543,24 @@ public TargetCase getTargetCase() { * * *
-     * Immutable. Full Resource Name used for principal access boundary policy
-     * bindings. The principal set must be directly parented by the policy
-     * binding's parent or same as the parent if the target is a
-     * project/folder/organization.
+     * Immutable. The full resource name that's used for principal access
+     * boundary policy bindings. The principal set must be directly parented
+     * by the policy binding's parent or same as the parent if the target is a
+     * project, folder, or organization.
      *
      * Examples:
-     * * For binding's parented by an organization:
+     *
+     * * For bindings parented by an organization:
      * * Organization:
      * `//cloudresourcemanager.googleapis.com/organizations/ORGANIZATION_ID`
      * * Workforce Identity:
      * `//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID`
      * * Workspace Identity:
      * `//iam.googleapis.com/locations/global/workspace/WORKSPACE_ID`
-     * * For binding's parented by a folder:
+     * * For bindings parented by a folder:
      * * Folder:
      * `//cloudresourcemanager.googleapis.com/folders/FOLDER_ID`
-     * * For binding's parented by a project:
+     * * For bindings parented by a project:
      * * Project:
      * * `//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER`
      * * `//cloudresourcemanager.googleapis.com/projects/PROJECT_ID`
@@ -481,23 +580,24 @@ public boolean hasPrincipalSet() {
      *
      *
      * 
-     * Immutable. Full Resource Name used for principal access boundary policy
-     * bindings. The principal set must be directly parented by the policy
-     * binding's parent or same as the parent if the target is a
-     * project/folder/organization.
+     * Immutable. The full resource name that's used for principal access
+     * boundary policy bindings. The principal set must be directly parented
+     * by the policy binding's parent or same as the parent if the target is a
+     * project, folder, or organization.
      *
      * Examples:
-     * * For binding's parented by an organization:
+     *
+     * * For bindings parented by an organization:
      * * Organization:
      * `//cloudresourcemanager.googleapis.com/organizations/ORGANIZATION_ID`
      * * Workforce Identity:
      * `//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID`
      * * Workspace Identity:
      * `//iam.googleapis.com/locations/global/workspace/WORKSPACE_ID`
-     * * For binding's parented by a folder:
+     * * For bindings parented by a folder:
      * * Folder:
      * `//cloudresourcemanager.googleapis.com/folders/FOLDER_ID`
-     * * For binding's parented by a project:
+     * * For bindings parented by a project:
      * * Project:
      * * `//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER`
      * * `//cloudresourcemanager.googleapis.com/projects/PROJECT_ID`
@@ -530,23 +630,24 @@ public java.lang.String getPrincipalSet() {
      *
      *
      * 
-     * Immutable. Full Resource Name used for principal access boundary policy
-     * bindings. The principal set must be directly parented by the policy
-     * binding's parent or same as the parent if the target is a
-     * project/folder/organization.
+     * Immutable. The full resource name that's used for principal access
+     * boundary policy bindings. The principal set must be directly parented
+     * by the policy binding's parent or same as the parent if the target is a
+     * project, folder, or organization.
      *
      * Examples:
-     * * For binding's parented by an organization:
+     *
+     * * For bindings parented by an organization:
      * * Organization:
      * `//cloudresourcemanager.googleapis.com/organizations/ORGANIZATION_ID`
      * * Workforce Identity:
      * `//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID`
      * * Workspace Identity:
      * `//iam.googleapis.com/locations/global/workspace/WORKSPACE_ID`
-     * * For binding's parented by a folder:
+     * * For bindings parented by a folder:
      * * Folder:
      * `//cloudresourcemanager.googleapis.com/folders/FOLDER_ID`
-     * * For binding's parented by a project:
+     * * For bindings parented by a project:
      * * Project:
      * * `//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER`
      * * `//cloudresourcemanager.googleapis.com/projects/PROJECT_ID`
@@ -575,6 +676,109 @@ public com.google.protobuf.ByteString getPrincipalSetBytes() {
       }
     }
 
+    public static final int RESOURCE_FIELD_NUMBER = 2;
+
+    /**
+     *
+     *
+     * 
+     * Immutable. The full resource name that's used for access policy
+     * bindings.
+     *
+     * Examples:
+     *
+     * * Organization:
+     * `//cloudresourcemanager.googleapis.com/organizations/ORGANIZATION_ID`
+     * * Folder: `//cloudresourcemanager.googleapis.com/folders/FOLDER_ID`
+     * * Project:
+     * * `//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER`
+     * * `//cloudresourcemanager.googleapis.com/projects/PROJECT_ID`
+     * 
+ * + * string resource = 2 [(.google.api.field_behavior) = IMMUTABLE]; + * + * @return Whether the resource field is set. + */ + public boolean hasResource() { + return targetCase_ == 2; + } + + /** + * + * + *
+     * Immutable. The full resource name that's used for access policy
+     * bindings.
+     *
+     * Examples:
+     *
+     * * Organization:
+     * `//cloudresourcemanager.googleapis.com/organizations/ORGANIZATION_ID`
+     * * Folder: `//cloudresourcemanager.googleapis.com/folders/FOLDER_ID`
+     * * Project:
+     * * `//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER`
+     * * `//cloudresourcemanager.googleapis.com/projects/PROJECT_ID`
+     * 
+ * + * string resource = 2 [(.google.api.field_behavior) = IMMUTABLE]; + * + * @return The resource. + */ + public java.lang.String getResource() { + java.lang.Object ref = ""; + if (targetCase_ == 2) { + ref = target_; + } + 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(); + if (targetCase_ == 2) { + target_ = s; + } + return s; + } + } + + /** + * + * + *
+     * Immutable. The full resource name that's used for access policy
+     * bindings.
+     *
+     * Examples:
+     *
+     * * Organization:
+     * `//cloudresourcemanager.googleapis.com/organizations/ORGANIZATION_ID`
+     * * Folder: `//cloudresourcemanager.googleapis.com/folders/FOLDER_ID`
+     * * Project:
+     * * `//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER`
+     * * `//cloudresourcemanager.googleapis.com/projects/PROJECT_ID`
+     * 
+ * + * string resource = 2 [(.google.api.field_behavior) = IMMUTABLE]; + * + * @return The bytes for resource. + */ + public com.google.protobuf.ByteString getResourceBytes() { + java.lang.Object ref = ""; + if (targetCase_ == 2) { + ref = target_; + } + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + if (targetCase_ == 2) { + target_ = b; + } + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + private byte memoizedIsInitialized = -1; @java.lang.Override @@ -592,6 +796,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io if (targetCase_ == 1) { com.google.protobuf.GeneratedMessage.writeString(output, 1, target_); } + if (targetCase_ == 2) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, target_); + } getUnknownFields().writeTo(output); } @@ -604,6 +811,9 @@ public int getSerializedSize() { if (targetCase_ == 1) { size += com.google.protobuf.GeneratedMessage.computeStringSize(1, target_); } + if (targetCase_ == 2) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, target_); + } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; @@ -625,6 +835,9 @@ public boolean equals(final java.lang.Object obj) { case 1: if (!getPrincipalSet().equals(other.getPrincipalSet())) return false; break; + case 2: + if (!getResource().equals(other.getResource())) return false; + break; case 0: default: } @@ -644,6 +857,10 @@ public int hashCode() { hash = (37 * hash) + PRINCIPAL_SET_FIELD_NUMBER; hash = (53 * hash) + getPrincipalSet().hashCode(); break; + case 2: + hash = (37 * hash) + RESOURCE_FIELD_NUMBER; + hash = (53 * hash) + getResource().hashCode(); + break; case 0: default: } @@ -752,7 +969,7 @@ protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.Builder * * *
-     * Target is the full resource name of the resource to which the policy will
+     * The full resource name of the resource to which the policy will
      * be bound. Immutable once set.
      * 
* @@ -854,6 +1071,13 @@ public Builder mergeFrom(com.google.iam.v3beta.PolicyBinding.Target other) { onChanged(); break; } + case RESOURCE: + { + targetCase_ = 2; + target_ = other.target_; + onChanged(); + break; + } case TARGET_NOT_SET: { break; @@ -892,6 +1116,13 @@ public Builder mergeFrom( target_ = s; break; } // case 10 + case 18: + { + java.lang.String s = input.readStringRequireUtf8(); + targetCase_ = 2; + target_ = s; + break; + } // case 18 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { @@ -929,23 +1160,24 @@ public Builder clearTarget() { * * *
-       * Immutable. Full Resource Name used for principal access boundary policy
-       * bindings. The principal set must be directly parented by the policy
-       * binding's parent or same as the parent if the target is a
-       * project/folder/organization.
+       * Immutable. The full resource name that's used for principal access
+       * boundary policy bindings. The principal set must be directly parented
+       * by the policy binding's parent or same as the parent if the target is a
+       * project, folder, or organization.
        *
        * Examples:
-       * * For binding's parented by an organization:
+       *
+       * * For bindings parented by an organization:
        * * Organization:
        * `//cloudresourcemanager.googleapis.com/organizations/ORGANIZATION_ID`
        * * Workforce Identity:
        * `//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID`
        * * Workspace Identity:
        * `//iam.googleapis.com/locations/global/workspace/WORKSPACE_ID`
-       * * For binding's parented by a folder:
+       * * For bindings parented by a folder:
        * * Folder:
        * `//cloudresourcemanager.googleapis.com/folders/FOLDER_ID`
-       * * For binding's parented by a project:
+       * * For bindings parented by a project:
        * * Project:
        * * `//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER`
        * * `//cloudresourcemanager.googleapis.com/projects/PROJECT_ID`
@@ -966,23 +1198,24 @@ public boolean hasPrincipalSet() {
        *
        *
        * 
-       * Immutable. Full Resource Name used for principal access boundary policy
-       * bindings. The principal set must be directly parented by the policy
-       * binding's parent or same as the parent if the target is a
-       * project/folder/organization.
+       * Immutable. The full resource name that's used for principal access
+       * boundary policy bindings. The principal set must be directly parented
+       * by the policy binding's parent or same as the parent if the target is a
+       * project, folder, or organization.
        *
        * Examples:
-       * * For binding's parented by an organization:
+       *
+       * * For bindings parented by an organization:
        * * Organization:
        * `//cloudresourcemanager.googleapis.com/organizations/ORGANIZATION_ID`
        * * Workforce Identity:
        * `//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID`
        * * Workspace Identity:
        * `//iam.googleapis.com/locations/global/workspace/WORKSPACE_ID`
-       * * For binding's parented by a folder:
+       * * For bindings parented by a folder:
        * * Folder:
        * `//cloudresourcemanager.googleapis.com/folders/FOLDER_ID`
-       * * For binding's parented by a project:
+       * * For bindings parented by a project:
        * * Project:
        * * `//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER`
        * * `//cloudresourcemanager.googleapis.com/projects/PROJECT_ID`
@@ -1016,23 +1249,24 @@ public java.lang.String getPrincipalSet() {
        *
        *
        * 
-       * Immutable. Full Resource Name used for principal access boundary policy
-       * bindings. The principal set must be directly parented by the policy
-       * binding's parent or same as the parent if the target is a
-       * project/folder/organization.
+       * Immutable. The full resource name that's used for principal access
+       * boundary policy bindings. The principal set must be directly parented
+       * by the policy binding's parent or same as the parent if the target is a
+       * project, folder, or organization.
        *
        * Examples:
-       * * For binding's parented by an organization:
+       *
+       * * For bindings parented by an organization:
        * * Organization:
        * `//cloudresourcemanager.googleapis.com/organizations/ORGANIZATION_ID`
        * * Workforce Identity:
        * `//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID`
        * * Workspace Identity:
        * `//iam.googleapis.com/locations/global/workspace/WORKSPACE_ID`
-       * * For binding's parented by a folder:
+       * * For bindings parented by a folder:
        * * Folder:
        * `//cloudresourcemanager.googleapis.com/folders/FOLDER_ID`
-       * * For binding's parented by a project:
+       * * For bindings parented by a project:
        * * Project:
        * * `//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER`
        * * `//cloudresourcemanager.googleapis.com/projects/PROJECT_ID`
@@ -1066,23 +1300,24 @@ public com.google.protobuf.ByteString getPrincipalSetBytes() {
        *
        *
        * 
-       * Immutable. Full Resource Name used for principal access boundary policy
-       * bindings. The principal set must be directly parented by the policy
-       * binding's parent or same as the parent if the target is a
-       * project/folder/organization.
+       * Immutable. The full resource name that's used for principal access
+       * boundary policy bindings. The principal set must be directly parented
+       * by the policy binding's parent or same as the parent if the target is a
+       * project, folder, or organization.
        *
        * Examples:
-       * * For binding's parented by an organization:
+       *
+       * * For bindings parented by an organization:
        * * Organization:
        * `//cloudresourcemanager.googleapis.com/organizations/ORGANIZATION_ID`
        * * Workforce Identity:
        * `//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID`
        * * Workspace Identity:
        * `//iam.googleapis.com/locations/global/workspace/WORKSPACE_ID`
-       * * For binding's parented by a folder:
+       * * For bindings parented by a folder:
        * * Folder:
        * `//cloudresourcemanager.googleapis.com/folders/FOLDER_ID`
-       * * For binding's parented by a project:
+       * * For bindings parented by a project:
        * * Project:
        * * `//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER`
        * * `//cloudresourcemanager.googleapis.com/projects/PROJECT_ID`
@@ -1109,23 +1344,24 @@ public Builder setPrincipalSet(java.lang.String value) {
        *
        *
        * 
-       * Immutable. Full Resource Name used for principal access boundary policy
-       * bindings. The principal set must be directly parented by the policy
-       * binding's parent or same as the parent if the target is a
-       * project/folder/organization.
+       * Immutable. The full resource name that's used for principal access
+       * boundary policy bindings. The principal set must be directly parented
+       * by the policy binding's parent or same as the parent if the target is a
+       * project, folder, or organization.
        *
        * Examples:
-       * * For binding's parented by an organization:
+       *
+       * * For bindings parented by an organization:
        * * Organization:
        * `//cloudresourcemanager.googleapis.com/organizations/ORGANIZATION_ID`
        * * Workforce Identity:
        * `//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID`
        * * Workspace Identity:
        * `//iam.googleapis.com/locations/global/workspace/WORKSPACE_ID`
-       * * For binding's parented by a folder:
+       * * For bindings parented by a folder:
        * * Folder:
        * `//cloudresourcemanager.googleapis.com/folders/FOLDER_ID`
-       * * For binding's parented by a project:
+       * * For bindings parented by a project:
        * * Project:
        * * `//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER`
        * * `//cloudresourcemanager.googleapis.com/projects/PROJECT_ID`
@@ -1150,23 +1386,24 @@ public Builder clearPrincipalSet() {
        *
        *
        * 
-       * Immutable. Full Resource Name used for principal access boundary policy
-       * bindings. The principal set must be directly parented by the policy
-       * binding's parent or same as the parent if the target is a
-       * project/folder/organization.
+       * Immutable. The full resource name that's used for principal access
+       * boundary policy bindings. The principal set must be directly parented
+       * by the policy binding's parent or same as the parent if the target is a
+       * project, folder, or organization.
        *
        * Examples:
-       * * For binding's parented by an organization:
+       *
+       * * For bindings parented by an organization:
        * * Organization:
        * `//cloudresourcemanager.googleapis.com/organizations/ORGANIZATION_ID`
        * * Workforce Identity:
        * `//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID`
        * * Workspace Identity:
        * `//iam.googleapis.com/locations/global/workspace/WORKSPACE_ID`
-       * * For binding's parented by a folder:
+       * * For bindings parented by a folder:
        * * Folder:
        * `//cloudresourcemanager.googleapis.com/folders/FOLDER_ID`
-       * * For binding's parented by a project:
+       * * For bindings parented by a project:
        * * Project:
        * * `//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER`
        * * `//cloudresourcemanager.googleapis.com/projects/PROJECT_ID`
@@ -1190,6 +1427,205 @@ public Builder setPrincipalSetBytes(com.google.protobuf.ByteString value) {
         return this;
       }
 
+      /**
+       *
+       *
+       * 
+       * Immutable. The full resource name that's used for access policy
+       * bindings.
+       *
+       * Examples:
+       *
+       * * Organization:
+       * `//cloudresourcemanager.googleapis.com/organizations/ORGANIZATION_ID`
+       * * Folder: `//cloudresourcemanager.googleapis.com/folders/FOLDER_ID`
+       * * Project:
+       * * `//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER`
+       * * `//cloudresourcemanager.googleapis.com/projects/PROJECT_ID`
+       * 
+ * + * string resource = 2 [(.google.api.field_behavior) = IMMUTABLE]; + * + * @return Whether the resource field is set. + */ + @java.lang.Override + public boolean hasResource() { + return targetCase_ == 2; + } + + /** + * + * + *
+       * Immutable. The full resource name that's used for access policy
+       * bindings.
+       *
+       * Examples:
+       *
+       * * Organization:
+       * `//cloudresourcemanager.googleapis.com/organizations/ORGANIZATION_ID`
+       * * Folder: `//cloudresourcemanager.googleapis.com/folders/FOLDER_ID`
+       * * Project:
+       * * `//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER`
+       * * `//cloudresourcemanager.googleapis.com/projects/PROJECT_ID`
+       * 
+ * + * string resource = 2 [(.google.api.field_behavior) = IMMUTABLE]; + * + * @return The resource. + */ + @java.lang.Override + public java.lang.String getResource() { + java.lang.Object ref = ""; + if (targetCase_ == 2) { + ref = target_; + } + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (targetCase_ == 2) { + target_ = s; + } + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+       * Immutable. The full resource name that's used for access policy
+       * bindings.
+       *
+       * Examples:
+       *
+       * * Organization:
+       * `//cloudresourcemanager.googleapis.com/organizations/ORGANIZATION_ID`
+       * * Folder: `//cloudresourcemanager.googleapis.com/folders/FOLDER_ID`
+       * * Project:
+       * * `//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER`
+       * * `//cloudresourcemanager.googleapis.com/projects/PROJECT_ID`
+       * 
+ * + * string resource = 2 [(.google.api.field_behavior) = IMMUTABLE]; + * + * @return The bytes for resource. + */ + @java.lang.Override + public com.google.protobuf.ByteString getResourceBytes() { + java.lang.Object ref = ""; + if (targetCase_ == 2) { + ref = target_; + } + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + if (targetCase_ == 2) { + target_ = b; + } + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+       * Immutable. The full resource name that's used for access policy
+       * bindings.
+       *
+       * Examples:
+       *
+       * * Organization:
+       * `//cloudresourcemanager.googleapis.com/organizations/ORGANIZATION_ID`
+       * * Folder: `//cloudresourcemanager.googleapis.com/folders/FOLDER_ID`
+       * * Project:
+       * * `//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER`
+       * * `//cloudresourcemanager.googleapis.com/projects/PROJECT_ID`
+       * 
+ * + * string resource = 2 [(.google.api.field_behavior) = IMMUTABLE]; + * + * @param value The resource to set. + * @return This builder for chaining. + */ + public Builder setResource(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + targetCase_ = 2; + target_ = value; + onChanged(); + return this; + } + + /** + * + * + *
+       * Immutable. The full resource name that's used for access policy
+       * bindings.
+       *
+       * Examples:
+       *
+       * * Organization:
+       * `//cloudresourcemanager.googleapis.com/organizations/ORGANIZATION_ID`
+       * * Folder: `//cloudresourcemanager.googleapis.com/folders/FOLDER_ID`
+       * * Project:
+       * * `//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER`
+       * * `//cloudresourcemanager.googleapis.com/projects/PROJECT_ID`
+       * 
+ * + * string resource = 2 [(.google.api.field_behavior) = IMMUTABLE]; + * + * @return This builder for chaining. + */ + public Builder clearResource() { + if (targetCase_ == 2) { + targetCase_ = 0; + target_ = null; + onChanged(); + } + return this; + } + + /** + * + * + *
+       * Immutable. The full resource name that's used for access policy
+       * bindings.
+       *
+       * Examples:
+       *
+       * * Organization:
+       * `//cloudresourcemanager.googleapis.com/organizations/ORGANIZATION_ID`
+       * * Folder: `//cloudresourcemanager.googleapis.com/folders/FOLDER_ID`
+       * * Project:
+       * * `//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER`
+       * * `//cloudresourcemanager.googleapis.com/projects/PROJECT_ID`
+       * 
+ * + * string resource = 2 [(.google.api.field_behavior) = IMMUTABLE]; + * + * @param value The bytes for resource to set. + * @return This builder for chaining. + */ + public Builder setResourceBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + targetCase_ = 2; + target_ = value; + onChanged(); + return this; + } + // @@protoc_insertion_point(builder_scope:google.iam.v3beta.PolicyBinding.Target) } @@ -1612,8 +2048,8 @@ public java.lang.String getAnnotationsOrThrow(java.lang.String key) { * * *
-   * Required. Immutable. Target is the full resource name of the resource to
-   * which the policy will be bound. Immutable once set.
+   * Required. Immutable. The full resource name of the resource to which the
+   * policy will be bound. Immutable once set.
    * 
* * @@ -1631,8 +2067,8 @@ public boolean hasTarget() { * * *
-   * Required. Immutable. Target is the full resource name of the resource to
-   * which the policy will be bound. Immutable once set.
+   * Required. Immutable. The full resource name of the resource to which the
+   * policy will be bound. Immutable once set.
    * 
* * @@ -1652,8 +2088,8 @@ public com.google.iam.v3beta.PolicyBinding.Target getTarget() { * * *
-   * Required. Immutable. Target is the full resource name of the resource to
-   * which the policy will be bound. Immutable once set.
+   * Required. Immutable. The full resource name of the resource to which the
+   * policy will be bound. Immutable once set.
    * 
* * @@ -1864,13 +2300,14 @@ public com.google.protobuf.ByteString getPolicyUidBytes() { * - `principal.type != <principal type string>` * - `principal.type in [<list of principal types>]` * - * Supported principal types are Workspace, Workforce Pool, Workload Pool and - * Service Account. Allowed string must be one of: + * Supported principal types are workspace, workforce pool, workload pool, + * service account, and Agent Identity. Allowed string must be one of: * - * - iam.googleapis.com/WorkspaceIdentity - * - iam.googleapis.com/WorkforcePoolIdentity - * - iam.googleapis.com/WorkloadPoolIdentity - * - iam.googleapis.com/ServiceAccount + * - `iam.googleapis.com/WorkspaceIdentity` + * - `iam.googleapis.com/WorkforcePoolIdentity` + * - `iam.googleapis.com/WorkloadPoolIdentity` + * - `iam.googleapis.com/ServiceAccount` + * - `iam.googleapis.com/AgentPoolIdentity` (available in Preview) *
* * .google.type.Expr condition = 8 [(.google.api.field_behavior) = OPTIONAL]; @@ -1915,13 +2352,14 @@ public boolean hasCondition() { * - `principal.type != <principal type string>` * - `principal.type in [<list of principal types>]` * - * Supported principal types are Workspace, Workforce Pool, Workload Pool and - * Service Account. Allowed string must be one of: + * Supported principal types are workspace, workforce pool, workload pool, + * service account, and Agent Identity. Allowed string must be one of: * - * - iam.googleapis.com/WorkspaceIdentity - * - iam.googleapis.com/WorkforcePoolIdentity - * - iam.googleapis.com/WorkloadPoolIdentity - * - iam.googleapis.com/ServiceAccount + * - `iam.googleapis.com/WorkspaceIdentity` + * - `iam.googleapis.com/WorkforcePoolIdentity` + * - `iam.googleapis.com/WorkloadPoolIdentity` + * - `iam.googleapis.com/ServiceAccount` + * - `iam.googleapis.com/AgentPoolIdentity` (available in Preview) *
* * .google.type.Expr condition = 8 [(.google.api.field_behavior) = OPTIONAL]; @@ -1966,13 +2404,14 @@ public com.google.type.Expr getCondition() { * - `principal.type != <principal type string>` * - `principal.type in [<list of principal types>]` * - * Supported principal types are Workspace, Workforce Pool, Workload Pool and - * Service Account. Allowed string must be one of: + * Supported principal types are workspace, workforce pool, workload pool, + * service account, and Agent Identity. Allowed string must be one of: * - * - iam.googleapis.com/WorkspaceIdentity - * - iam.googleapis.com/WorkforcePoolIdentity - * - iam.googleapis.com/WorkloadPoolIdentity - * - iam.googleapis.com/ServiceAccount + * - `iam.googleapis.com/WorkspaceIdentity` + * - `iam.googleapis.com/WorkforcePoolIdentity` + * - `iam.googleapis.com/WorkloadPoolIdentity` + * - `iam.googleapis.com/ServiceAccount` + * - `iam.googleapis.com/AgentPoolIdentity` (available in Preview) *
* * .google.type.Expr condition = 8 [(.google.api.field_behavior) = OPTIONAL]; @@ -3465,8 +3904,8 @@ public Builder putAllAnnotations(java.util.Map - * Required. Immutable. Target is the full resource name of the resource to - * which the policy will be bound. Immutable once set. + * Required. Immutable. The full resource name of the resource to which the + * policy will be bound. Immutable once set. *
* * @@ -3483,8 +3922,8 @@ public boolean hasTarget() { * * *
-     * Required. Immutable. Target is the full resource name of the resource to
-     * which the policy will be bound. Immutable once set.
+     * Required. Immutable. The full resource name of the resource to which the
+     * policy will be bound. Immutable once set.
      * 
* * @@ -3507,8 +3946,8 @@ public com.google.iam.v3beta.PolicyBinding.Target getTarget() { * * *
-     * Required. Immutable. Target is the full resource name of the resource to
-     * which the policy will be bound. Immutable once set.
+     * Required. Immutable. The full resource name of the resource to which the
+     * policy will be bound. Immutable once set.
      * 
* * @@ -3533,8 +3972,8 @@ public Builder setTarget(com.google.iam.v3beta.PolicyBinding.Target value) { * * *
-     * Required. Immutable. Target is the full resource name of the resource to
-     * which the policy will be bound. Immutable once set.
+     * Required. Immutable. The full resource name of the resource to which the
+     * policy will be bound. Immutable once set.
      * 
* * @@ -3556,8 +3995,8 @@ public Builder setTarget(com.google.iam.v3beta.PolicyBinding.Target.Builder buil * * *
-     * Required. Immutable. Target is the full resource name of the resource to
-     * which the policy will be bound. Immutable once set.
+     * Required. Immutable. The full resource name of the resource to which the
+     * policy will be bound. Immutable once set.
      * 
* * @@ -3587,8 +4026,8 @@ public Builder mergeTarget(com.google.iam.v3beta.PolicyBinding.Target value) { * * *
-     * Required. Immutable. Target is the full resource name of the resource to
-     * which the policy will be bound. Immutable once set.
+     * Required. Immutable. The full resource name of the resource to which the
+     * policy will be bound. Immutable once set.
      * 
* * @@ -3610,8 +4049,8 @@ public Builder clearTarget() { * * *
-     * Required. Immutable. Target is the full resource name of the resource to
-     * which the policy will be bound. Immutable once set.
+     * Required. Immutable. The full resource name of the resource to which the
+     * policy will be bound. Immutable once set.
      * 
* * @@ -3628,8 +4067,8 @@ public com.google.iam.v3beta.PolicyBinding.Target.Builder getTargetBuilder() { * * *
-     * Required. Immutable. Target is the full resource name of the resource to
-     * which the policy will be bound. Immutable once set.
+     * Required. Immutable. The full resource name of the resource to which the
+     * policy will be bound. Immutable once set.
      * 
* * @@ -3650,8 +4089,8 @@ public com.google.iam.v3beta.PolicyBinding.TargetOrBuilder getTargetOrBuilder() * * *
-     * Required. Immutable. Target is the full resource name of the resource to
-     * which the policy will be bound. Immutable once set.
+     * Required. Immutable. The full resource name of the resource to which the
+     * policy will be bound. Immutable once set.
      * 
* * @@ -4075,13 +4514,14 @@ public Builder setPolicyUidBytes(com.google.protobuf.ByteString value) { * - `principal.type != <principal type string>` * - `principal.type in [<list of principal types>]` * - * Supported principal types are Workspace, Workforce Pool, Workload Pool and - * Service Account. Allowed string must be one of: + * Supported principal types are workspace, workforce pool, workload pool, + * service account, and Agent Identity. Allowed string must be one of: * - * - iam.googleapis.com/WorkspaceIdentity - * - iam.googleapis.com/WorkforcePoolIdentity - * - iam.googleapis.com/WorkloadPoolIdentity - * - iam.googleapis.com/ServiceAccount + * - `iam.googleapis.com/WorkspaceIdentity` + * - `iam.googleapis.com/WorkforcePoolIdentity` + * - `iam.googleapis.com/WorkloadPoolIdentity` + * - `iam.googleapis.com/ServiceAccount` + * - `iam.googleapis.com/AgentPoolIdentity` (available in Preview) *
* * .google.type.Expr condition = 8 [(.google.api.field_behavior) = OPTIONAL]; @@ -4125,13 +4565,14 @@ public boolean hasCondition() { * - `principal.type != <principal type string>` * - `principal.type in [<list of principal types>]` * - * Supported principal types are Workspace, Workforce Pool, Workload Pool and - * Service Account. Allowed string must be one of: + * Supported principal types are workspace, workforce pool, workload pool, + * service account, and Agent Identity. Allowed string must be one of: * - * - iam.googleapis.com/WorkspaceIdentity - * - iam.googleapis.com/WorkforcePoolIdentity - * - iam.googleapis.com/WorkloadPoolIdentity - * - iam.googleapis.com/ServiceAccount + * - `iam.googleapis.com/WorkspaceIdentity` + * - `iam.googleapis.com/WorkforcePoolIdentity` + * - `iam.googleapis.com/WorkloadPoolIdentity` + * - `iam.googleapis.com/ServiceAccount` + * - `iam.googleapis.com/AgentPoolIdentity` (available in Preview) *
* * .google.type.Expr condition = 8 [(.google.api.field_behavior) = OPTIONAL]; @@ -4179,13 +4620,14 @@ public com.google.type.Expr getCondition() { * - `principal.type != <principal type string>` * - `principal.type in [<list of principal types>]` * - * Supported principal types are Workspace, Workforce Pool, Workload Pool and - * Service Account. Allowed string must be one of: + * Supported principal types are workspace, workforce pool, workload pool, + * service account, and Agent Identity. Allowed string must be one of: * - * - iam.googleapis.com/WorkspaceIdentity - * - iam.googleapis.com/WorkforcePoolIdentity - * - iam.googleapis.com/WorkloadPoolIdentity - * - iam.googleapis.com/ServiceAccount + * - `iam.googleapis.com/WorkspaceIdentity` + * - `iam.googleapis.com/WorkforcePoolIdentity` + * - `iam.googleapis.com/WorkloadPoolIdentity` + * - `iam.googleapis.com/ServiceAccount` + * - `iam.googleapis.com/AgentPoolIdentity` (available in Preview) *
* * .google.type.Expr condition = 8 [(.google.api.field_behavior) = OPTIONAL]; @@ -4237,13 +4679,14 @@ public Builder setCondition(com.google.type.Expr value) { * - `principal.type != <principal type string>` * - `principal.type in [<list of principal types>]` * - * Supported principal types are Workspace, Workforce Pool, Workload Pool and - * Service Account. Allowed string must be one of: + * Supported principal types are workspace, workforce pool, workload pool, + * service account, and Agent Identity. Allowed string must be one of: * - * - iam.googleapis.com/WorkspaceIdentity - * - iam.googleapis.com/WorkforcePoolIdentity - * - iam.googleapis.com/WorkloadPoolIdentity - * - iam.googleapis.com/ServiceAccount + * - `iam.googleapis.com/WorkspaceIdentity` + * - `iam.googleapis.com/WorkforcePoolIdentity` + * - `iam.googleapis.com/WorkloadPoolIdentity` + * - `iam.googleapis.com/ServiceAccount` + * - `iam.googleapis.com/AgentPoolIdentity` (available in Preview) *
* * .google.type.Expr condition = 8 [(.google.api.field_behavior) = OPTIONAL]; @@ -4292,13 +4735,14 @@ public Builder setCondition(com.google.type.Expr.Builder builderForValue) { * - `principal.type != <principal type string>` * - `principal.type in [<list of principal types>]` * - * Supported principal types are Workspace, Workforce Pool, Workload Pool and - * Service Account. Allowed string must be one of: + * Supported principal types are workspace, workforce pool, workload pool, + * service account, and Agent Identity. Allowed string must be one of: * - * - iam.googleapis.com/WorkspaceIdentity - * - iam.googleapis.com/WorkforcePoolIdentity - * - iam.googleapis.com/WorkloadPoolIdentity - * - iam.googleapis.com/ServiceAccount + * - `iam.googleapis.com/WorkspaceIdentity` + * - `iam.googleapis.com/WorkforcePoolIdentity` + * - `iam.googleapis.com/WorkloadPoolIdentity` + * - `iam.googleapis.com/ServiceAccount` + * - `iam.googleapis.com/AgentPoolIdentity` (available in Preview) *
* * .google.type.Expr condition = 8 [(.google.api.field_behavior) = OPTIONAL]; @@ -4355,13 +4799,14 @@ public Builder mergeCondition(com.google.type.Expr value) { * - `principal.type != <principal type string>` * - `principal.type in [<list of principal types>]` * - * Supported principal types are Workspace, Workforce Pool, Workload Pool and - * Service Account. Allowed string must be one of: + * Supported principal types are workspace, workforce pool, workload pool, + * service account, and Agent Identity. Allowed string must be one of: * - * - iam.googleapis.com/WorkspaceIdentity - * - iam.googleapis.com/WorkforcePoolIdentity - * - iam.googleapis.com/WorkloadPoolIdentity - * - iam.googleapis.com/ServiceAccount + * - `iam.googleapis.com/WorkspaceIdentity` + * - `iam.googleapis.com/WorkforcePoolIdentity` + * - `iam.googleapis.com/WorkloadPoolIdentity` + * - `iam.googleapis.com/ServiceAccount` + * - `iam.googleapis.com/AgentPoolIdentity` (available in Preview) *
* * .google.type.Expr condition = 8 [(.google.api.field_behavior) = OPTIONAL]; @@ -4410,13 +4855,14 @@ public Builder clearCondition() { * - `principal.type != <principal type string>` * - `principal.type in [<list of principal types>]` * - * Supported principal types are Workspace, Workforce Pool, Workload Pool and - * Service Account. Allowed string must be one of: + * Supported principal types are workspace, workforce pool, workload pool, + * service account, and Agent Identity. Allowed string must be one of: * - * - iam.googleapis.com/WorkspaceIdentity - * - iam.googleapis.com/WorkforcePoolIdentity - * - iam.googleapis.com/WorkloadPoolIdentity - * - iam.googleapis.com/ServiceAccount + * - `iam.googleapis.com/WorkspaceIdentity` + * - `iam.googleapis.com/WorkforcePoolIdentity` + * - `iam.googleapis.com/WorkloadPoolIdentity` + * - `iam.googleapis.com/ServiceAccount` + * - `iam.googleapis.com/AgentPoolIdentity` (available in Preview) *
* * .google.type.Expr condition = 8 [(.google.api.field_behavior) = OPTIONAL]; @@ -4460,13 +4906,14 @@ public com.google.type.Expr.Builder getConditionBuilder() { * - `principal.type != <principal type string>` * - `principal.type in [<list of principal types>]` * - * Supported principal types are Workspace, Workforce Pool, Workload Pool and - * Service Account. Allowed string must be one of: + * Supported principal types are workspace, workforce pool, workload pool, + * service account, and Agent Identity. Allowed string must be one of: * - * - iam.googleapis.com/WorkspaceIdentity - * - iam.googleapis.com/WorkforcePoolIdentity - * - iam.googleapis.com/WorkloadPoolIdentity - * - iam.googleapis.com/ServiceAccount + * - `iam.googleapis.com/WorkspaceIdentity` + * - `iam.googleapis.com/WorkforcePoolIdentity` + * - `iam.googleapis.com/WorkloadPoolIdentity` + * - `iam.googleapis.com/ServiceAccount` + * - `iam.googleapis.com/AgentPoolIdentity` (available in Preview) *
* * .google.type.Expr condition = 8 [(.google.api.field_behavior) = OPTIONAL]; @@ -4512,13 +4959,14 @@ public com.google.type.ExprOrBuilder getConditionOrBuilder() { * - `principal.type != <principal type string>` * - `principal.type in [<list of principal types>]` * - * Supported principal types are Workspace, Workforce Pool, Workload Pool and - * Service Account. Allowed string must be one of: + * Supported principal types are workspace, workforce pool, workload pool, + * service account, and Agent Identity. Allowed string must be one of: * - * - iam.googleapis.com/WorkspaceIdentity - * - iam.googleapis.com/WorkforcePoolIdentity - * - iam.googleapis.com/WorkloadPoolIdentity - * - iam.googleapis.com/ServiceAccount + * - `iam.googleapis.com/WorkspaceIdentity` + * - `iam.googleapis.com/WorkforcePoolIdentity` + * - `iam.googleapis.com/WorkloadPoolIdentity` + * - `iam.googleapis.com/ServiceAccount` + * - `iam.googleapis.com/AgentPoolIdentity` (available in Preview) *
* * .google.type.Expr condition = 8 [(.google.api.field_behavior) = OPTIONAL]; diff --git a/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/PolicyBindingOrBuilder.java b/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/PolicyBindingOrBuilder.java index 2030cb635c..21cfa07ad4 100644 --- a/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/PolicyBindingOrBuilder.java +++ b/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/PolicyBindingOrBuilder.java @@ -242,8 +242,8 @@ java.lang.String getAnnotationsOrDefault( * * *
-   * Required. Immutable. Target is the full resource name of the resource to
-   * which the policy will be bound. Immutable once set.
+   * Required. Immutable. The full resource name of the resource to which the
+   * policy will be bound. Immutable once set.
    * 
* * @@ -258,8 +258,8 @@ java.lang.String getAnnotationsOrDefault( * * *
-   * Required. Immutable. Target is the full resource name of the resource to
-   * which the policy will be bound. Immutable once set.
+   * Required. Immutable. The full resource name of the resource to which the
+   * policy will be bound. Immutable once set.
    * 
* * @@ -274,8 +274,8 @@ java.lang.String getAnnotationsOrDefault( * * *
-   * Required. Immutable. Target is the full resource name of the resource to
-   * which the policy will be bound. Immutable once set.
+   * Required. Immutable. The full resource name of the resource to which the
+   * policy will be bound. Immutable once set.
    * 
* * @@ -413,13 +413,14 @@ java.lang.String getAnnotationsOrDefault( * - `principal.type != <principal type string>` * - `principal.type in [<list of principal types>]` * - * Supported principal types are Workspace, Workforce Pool, Workload Pool and - * Service Account. Allowed string must be one of: + * Supported principal types are workspace, workforce pool, workload pool, + * service account, and Agent Identity. Allowed string must be one of: * - * - iam.googleapis.com/WorkspaceIdentity - * - iam.googleapis.com/WorkforcePoolIdentity - * - iam.googleapis.com/WorkloadPoolIdentity - * - iam.googleapis.com/ServiceAccount + * - `iam.googleapis.com/WorkspaceIdentity` + * - `iam.googleapis.com/WorkforcePoolIdentity` + * - `iam.googleapis.com/WorkloadPoolIdentity` + * - `iam.googleapis.com/ServiceAccount` + * - `iam.googleapis.com/AgentPoolIdentity` (available in Preview) *
* * .google.type.Expr condition = 8 [(.google.api.field_behavior) = OPTIONAL]; @@ -461,13 +462,14 @@ java.lang.String getAnnotationsOrDefault( * - `principal.type != <principal type string>` * - `principal.type in [<list of principal types>]` * - * Supported principal types are Workspace, Workforce Pool, Workload Pool and - * Service Account. Allowed string must be one of: + * Supported principal types are workspace, workforce pool, workload pool, + * service account, and Agent Identity. Allowed string must be one of: * - * - iam.googleapis.com/WorkspaceIdentity - * - iam.googleapis.com/WorkforcePoolIdentity - * - iam.googleapis.com/WorkloadPoolIdentity - * - iam.googleapis.com/ServiceAccount + * - `iam.googleapis.com/WorkspaceIdentity` + * - `iam.googleapis.com/WorkforcePoolIdentity` + * - `iam.googleapis.com/WorkloadPoolIdentity` + * - `iam.googleapis.com/ServiceAccount` + * - `iam.googleapis.com/AgentPoolIdentity` (available in Preview) *
* * .google.type.Expr condition = 8 [(.google.api.field_behavior) = OPTIONAL]; @@ -509,13 +511,14 @@ java.lang.String getAnnotationsOrDefault( * - `principal.type != <principal type string>` * - `principal.type in [<list of principal types>]` * - * Supported principal types are Workspace, Workforce Pool, Workload Pool and - * Service Account. Allowed string must be one of: + * Supported principal types are workspace, workforce pool, workload pool, + * service account, and Agent Identity. Allowed string must be one of: * - * - iam.googleapis.com/WorkspaceIdentity - * - iam.googleapis.com/WorkforcePoolIdentity - * - iam.googleapis.com/WorkloadPoolIdentity - * - iam.googleapis.com/ServiceAccount + * - `iam.googleapis.com/WorkspaceIdentity` + * - `iam.googleapis.com/WorkforcePoolIdentity` + * - `iam.googleapis.com/WorkloadPoolIdentity` + * - `iam.googleapis.com/ServiceAccount` + * - `iam.googleapis.com/AgentPoolIdentity` (available in Preview) *
* * .google.type.Expr condition = 8 [(.google.api.field_behavior) = OPTIONAL]; diff --git a/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/PolicyBindingResourcesProto.java b/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/PolicyBindingResourcesProto.java index a103e75d10..d1dfd0b27a 100644 --- a/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/PolicyBindingResourcesProto.java +++ b/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/PolicyBindingResourcesProto.java @@ -66,7 +66,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "rces.proto\022\021google.iam.v3beta\032\037google/ap" + "i/field_behavior.proto\032\033google/api/field" + "_info.proto\032\031google/api/resource.proto\032\037" - + "google/protobuf/timestamp.proto\032\026google/type/expr.proto\"\342\007\n\r" + + "google/protobuf/timestamp.proto\032\026google/type/expr.proto\"\207\010\n\r" + "PolicyBinding\022\021\n" + "\004name\030\001 \001(\tB\003\340A\010\022\030\n" + "\003uid\030\002 \001(\tB\013\340A\003\342\214\317\327\010\002\010\001\022\021\n" @@ -83,24 +83,26 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\tcondition\030\010 \001(\0132\021.google.type.ExprB\003\340A\001\0224\n" + "\013create_time\030\t \001(\0132\032.google.protobuf.TimestampB\003\340A\003\0224\n" + "\013update_time\030\n" - + " \001(\0132\032.google.protobuf.TimestampB\003\340A\003\0320\n" + + " \001(\0132\032.google.protobuf.TimestampB\003\340A\003\032I\n" + "\006Target\022\034\n\r" - + "principal_set\030\001 \001(\tB\003\340A\005H\000B\010\n" + + "principal_set\030\001 \001(\tB\003\340A\005H\000\022\027\n" + + "\010resource\030\002 \001(\tB\003\340A\005H\000B\010\n" + "\006target\0322\n" + "\020AnnotationsEntry\022\013\n" + "\003key\030\001 \001(\t\022\r\n" - + "\005value\030\002 \001(\t:\0028\001\"H\n\n" + + "\005value\030\002 \001(\t:\0028\001\"T\n\n" + "PolicyKind\022\033\n" + "\027POLICY_KIND_UNSPECIFIED\020\000\022\035\n" - + "\031PRINCIPAL_ACCESS_BOUNDARY\020\001:\250\002\352A\244\002\n" - + " iam.googleapis.com/PolicyBinding\022Qorganizations/{organization}/locations/{loca" - + "tion}/policyBindings/{policy_binding}\022Efolders/{folder}/locations/{location}/pol" - + "icyBindings/{policy_binding}\022Gprojects/{" - + "project}/locations/{location}/policyBindings/{policy_binding}*\016policyBindings2\r" + + "\031PRINCIPAL_ACCESS_BOUNDARY\020\001\022\n\n" + + "\006ACCESS\020\002:\250\002\352A\244\002\n" + + " iam.googleapis.com/PolicyBinding\022Qorganizations/{organization}/locations/{locatio" + + "n}/policyBindings/{policy_binding}\022Efolders/{folder}/locations/{location}/policy" + + "Bindings/{policy_binding}\022Gprojects/{pro" + + "ject}/locations/{location}/policyBindings/{policy_binding}*\016policyBindings2\r" + "policyBindingB\231\001\n" - + "\025com.google.iam.v3betaB\033PolicyBindingResourcesProtoP\001Z-cloud.goo" - + "gle.com/go/iam/apiv3beta/iampb;iampb\252\002\027G" - + "oogle.Cloud.Iam.V3Beta\312\002\027Google\\Cloud\\Iam\\V3betab\006proto3" + + "\025com.google.iam.v3betaB\033PolicyBindingResourcesProtoP\001Z-cloud.google" + + ".com/go/iam/apiv3beta/iampb;iampb\252\002\027Goog" + + "le.Cloud.Iam.V3Beta\312\002\027Google\\Cloud\\Iam\\V3betab\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( @@ -136,7 +138,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_google_iam_v3beta_PolicyBinding_Target_descriptor, new java.lang.String[] { - "PrincipalSet", "Target", + "PrincipalSet", "Resource", "Target", }); internal_static_google_iam_v3beta_PolicyBinding_AnnotationsEntry_descriptor = internal_static_google_iam_v3beta_PolicyBinding_descriptor.getNestedType(1); diff --git a/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/PolicyBindingsServiceProto.java b/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/PolicyBindingsServiceProto.java index 51de0ef394..798a0b11cb 100644 --- a/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/PolicyBindingsServiceProto.java +++ b/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/PolicyBindingsServiceProto.java @@ -119,66 +119,66 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\006filter\030\004 \001(\tB\003\340A\001\"u\n" + "\032ListPolicyBindingsResponse\0229\n" + "\017policy_bindings\030\001 \003(\0132 .google.iam.v3beta.PolicyBinding\022\034\n" - + "\017next_page_token\030\002 \001(\tB\003\340A\001\"\243\001\n" + + "\017next_page_token\030\002 \001(\tB\003\340A\001\"\270\001\n" + "!SearchTargetPolicyBindingsRequest\022\023\n" + "\006target\030\001 \001(\tB\003\340A\002\022\026\n" + "\tpage_size\030\002 \001(\005B\003\340A\001\022\027\n\n" + "page_token\030\003 \001(\tB\003\340A\001\0228\n" - + "\006parent\030\005 \001(\tB(\340A\002\372A\"\022 iam.googleapis.com/PolicyBinding\"}\n" + + "\006parent\030\005 \001(\tB(\340A\002\372A\"\022" + + " iam.googleapis.com/PolicyBinding\022\023\n" + + "\006filter\030\006 \001(\tB\003\340A\001\"}\n" + "\"SearchTargetPolicyBindingsResponse\0229\n" + "\017policy_bindings\030\001 \003(\0132 .google.iam.v3beta.PolicyBinding\022\034\n" + "\017next_page_token\030\002 \001(\tB\003\340A\0012\214\022\n" + "\016PolicyBindings\022\234\003\n" - + "\023CreatePolicyBinding\022-.go" - + "ogle.iam.v3beta.CreatePolicyBindingRequest\032\035.google.longrunning.Operation\"\266\002\312A\"\n" - + "\r" - + "PolicyBinding\022\021OperationMetadata\332A\'pare" - + "nt,policy_binding,policy_binding_id\202\323\344\223\002" - + "\340\001\"6/v3beta/{parent=projects/*/locations" - + "/*}/policyBindings:\016policy_bindingZG\"5/v3beta/{parent=folders/*/locations/*}/pol" - + "icyBindings:\016policy_bindingZM\";/v3beta/{" - + "parent=organizations/*/locations/*}/policyBindings:\016policy_binding\022\241\002\n" - + "\020GetPolicyBinding\022*.google.iam.v3beta.GetPolicyBindingRequest\032" - + " .google.iam.v3beta.PolicyBi" - + "nding\"\276\001\332A\004name\202\323\344\223\002\260\001\0226/v3beta/{name=pr" - + "ojects/*/locations/*/policyBindings/*}Z7\0225/v3beta/{name=folders/*/locations/*/po" - + "licyBindings/*}Z=\022;/v3beta/{name=organiz" - + "ations/*/locations/*/policyBindings/*}\022\274\003\n" - + "\023UpdatePolicyBinding\022-.google.iam.v3be" - + "ta.UpdatePolicyBindingRequest\032\035.google.longrunning.Operation\"\326\002\312A\"\n\r" - + "PolicyBinding\022\021OperationMetadata\332A\032policy_binding,up" - + "date_mask\202\323\344\223\002\215\0022E/v3beta/{policy_bindin" - + "g.name=projects/*/locations/*/policyBindings/*}:\016policy_bindingZV2D/v3beta/{poli" - + "cy_binding.name=folders/*/locations/*/policyBindings/*}:\016policy_bindingZ\\2J/v3be" - + "ta/{policy_binding.name=organizations/*/" - + "locations/*/policyBindings/*}:\016policy_binding\022\321\002\n" - + "\023DeletePolicyBinding\022-.google.i" - + "am.v3beta.DeletePolicyBindingRequest\032\035.google.longrunning.Operation\"\353\001\312A*\n" - + "\025google.protobuf.Empty\022\021OperationMetadata\332A\004na" - + "me\202\323\344\223\002\260\001*6/v3beta/{name=projects/*/loca" - + "tions/*/policyBindings/*}Z7*5/v3beta/{name=folders/*/locations/*/policyBindings/" - + "*}Z=*;/v3beta/{name=organizations/*/locations/*/policyBindings/*}\022\264\002\n" - + "\022ListPolicyBindings\022,.google.iam.v3beta.ListPolicyB" - + "indingsRequest\032-.google.iam.v3beta.ListP" - + "olicyBindingsResponse\"\300\001\332A\006parent\202\323\344\223\002\260\001" - + "\0226/v3beta/{parent=projects/*/locations/*}/policyBindingsZ7\0225/v3beta/{parent=fold" - + "ers/*/locations/*}/policyBindingsZ=\022;/v3" - + "beta/{parent=organizations/*/locations/*}/policyBindings\022\244\003\n" - + "\032SearchTargetPolicyBindings\0224.google.iam.v3beta.SearchTarget" - + "PolicyBindingsRequest\0325.google.iam.v3bet" - + "a.SearchTargetPolicyBindingsResponse\"\230\002\332A\r" - + "parent,target\202\323\344\223\002\201\002\022Q/v3beta/{parent=" - + "projects/*/locations/*}/policyBindings:searchTargetPolicyBindingsZR\022P/v3beta/{pa" - + "rent=folders/*/locations/*}/policyBindings:searchTargetPolicyBindingsZX\022V/v3beta" - + "/{parent=organizations/*/locations/*}/policyBindings:searchTargetPolicyBindings\032" - + "F\312A\022iam.googleapis.com\322A.https://www.googleapis.com/auth/cloud-platformB\304\002\n" - + "\025com.google.iam.v3betaB\032PolicyBindingsService" - + "ProtoP\001Z-cloud.google.com/go/iam/apiv3be" - + "ta/iampb;iampb\252\002\027Google.Cloud.Iam.V3Beta\312\002\027Google\\Cloud\\Iam\\V3beta\352A\\\n" - + "\'iam.googleapis.com/OrganizationLocation\0221organiza" - + "tions/{organization}/locations/{location}\352AJ\n" - + "!iam.googleapis.com/FolderLocation\022%folders/{folder}/locations/{location}b\006" - + "proto3" + + "\023CreatePolicyBinding\022-.google.iam.v3beta.Cre" + + "atePolicyBindingRequest\032\035.google.longrunning.Operation\"\266\002\312A\"\n\r" + + "PolicyBinding\022\021OperationMetadata\332A\'parent,policy_binding,p" + + "olicy_binding_id\202\323\344\223\002\340\001\"6/v3beta/{parent" + + "=projects/*/locations/*}/policyBindings:\016policy_bindingZG\"5/v3beta/{parent=folde" + + "rs/*/locations/*}/policyBindings:\016policy_bindingZM\";/v3beta/{parent=organization" + + "s/*/locations/*}/policyBindings:\016policy_binding\022\241\002\n" + + "\020GetPolicyBinding\022*.google.iam.v3beta.GetPolicyBindingRequest\032 .googl" + + "e.iam.v3beta.PolicyBinding\"\276\001\332A\004name\202\323\344\223" + + "\002\260\001\0226/v3beta/{name=projects/*/locations/" + + "*/policyBindings/*}Z7\0225/v3beta/{name=folders/*/locations/*/policyBindings/*}Z=\022;" + + "/v3beta/{name=organizations/*/locations/*/policyBindings/*}\022\274\003\n" + + "\023UpdatePolicyBinding\022-.google.iam.v3beta.UpdatePolicyBind" + + "ingRequest\032\035.google.longrunning.Operation\"\326\002\312A\"\n\r" + + "PolicyBinding\022\021OperationMetadat" + + "a\332A\032policy_binding,update_mask\202\323\344\223\002\215\0022E/" + + "v3beta/{policy_binding.name=projects/*/locations/*/policyBindings/*}:\016policy_bin" + + "dingZV2D/v3beta/{policy_binding.name=folders/*/locations/*/policyBindings/*}:\016po" + + "licy_bindingZ\\2J/v3beta/{policy_binding." + + "name=organizations/*/locations/*/policyBindings/*}:\016policy_binding\022\321\002\n" + + "\023DeletePolicyBinding\022-.google.iam.v3beta.DeletePol" + + "icyBindingRequest\032\035.google.longrunning.Operation\"\353\001\312A*\n" + + "\025google.protobuf.Empty\022\021O" + + "perationMetadata\332A\004name\202\323\344\223\002\260\001*6/v3beta/" + + "{name=projects/*/locations/*/policyBindings/*}Z7*5/v3beta/{name=folders/*/locati" + + "ons/*/policyBindings/*}Z=*;/v3beta/{name" + + "=organizations/*/locations/*/policyBindings/*}\022\264\002\n" + + "\022ListPolicyBindings\022,.google.iam.v3beta.ListPolicyBindingsRequest\032-.go" + + "ogle.iam.v3beta.ListPolicyBindingsRespon" + + "se\"\300\001\332A\006parent\202\323\344\223\002\260\001\0226/v3beta/{parent=p" + + "rojects/*/locations/*}/policyBindingsZ7\0225/v3beta/{parent=folders/*/locations/*}/" + + "policyBindingsZ=\022;/v3beta/{parent=organi" + + "zations/*/locations/*}/policyBindings\022\244\003\n" + + "\032SearchTargetPolicyBindings\0224.google.iam.v3beta.SearchTargetPolicyBindingsReque" + + "st\0325.google.iam.v3beta.SearchTargetPolicyBindingsResponse\"\230\002\332A\r" + + "parent,target\202\323\344\223\002\201\002\022Q/v3beta/{parent=projects/*/location" + + "s/*}/policyBindings:searchTargetPolicyBindingsZR\022P/v3beta/{parent=folders/*/loca" + + "tions/*}/policyBindings:searchTargetPolicyBindingsZX\022V/v3beta/{parent=organizati" + + "ons/*/locations/*}/policyBindings:search" + + "TargetPolicyBindings\032F\312A\022iam.googleapis." + + "com\322A.https://www.googleapis.com/auth/cloud-platformB\304\002\n" + + "\025com.google.iam.v3betaB\032PolicyBindingsServiceProtoP\001Z-cloud.goog" + + "le.com/go/iam/apiv3beta/iampb;iampb\252\002\027Go" + + "ogle.Cloud.Iam.V3Beta\312\002\027Google\\Cloud\\Iam\\V3beta\352A\\\n" + + "\'iam.googleapis.com/Organizat" + + "ionLocation\0221organizations/{organization}/locations/{location}\352AJ\n" + + "!iam.googleapis.com/FolderLocation\022%folders/{folder}/l" + + "ocations/{location}b\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( @@ -248,7 +248,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_google_iam_v3beta_SearchTargetPolicyBindingsRequest_descriptor, new java.lang.String[] { - "Target", "PageSize", "PageToken", "Parent", + "Target", "PageSize", "PageToken", "Parent", "Filter", }); internal_static_google_iam_v3beta_SearchTargetPolicyBindingsResponse_descriptor = getDescriptor().getMessageType(7); diff --git a/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/SearchAccessPolicyBindingsRequest.java b/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/SearchAccessPolicyBindingsRequest.java new file mode 100644 index 0000000000..ba5719af5f --- /dev/null +++ b/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/SearchAccessPolicyBindingsRequest.java @@ -0,0 +1,991 @@ +/* + * 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/iam/v3beta/access_policies_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.iam.v3beta; + +/** + * + * + *
+ * Request message for SearchAccessPolicyBindings rpc.
+ * 
+ * + * Protobuf type {@code google.iam.v3beta.SearchAccessPolicyBindingsRequest} + */ +@com.google.protobuf.Generated +public final class SearchAccessPolicyBindingsRequest extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.iam.v3beta.SearchAccessPolicyBindingsRequest) + SearchAccessPolicyBindingsRequestOrBuilder { + 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= */ "", + "SearchAccessPolicyBindingsRequest"); + } + + // Use SearchAccessPolicyBindingsRequest.newBuilder() to construct. + private SearchAccessPolicyBindingsRequest( + com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private SearchAccessPolicyBindingsRequest() { + name_ = ""; + pageToken_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.iam.v3beta.AccessPoliciesProto + .internal_static_google_iam_v3beta_SearchAccessPolicyBindingsRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.iam.v3beta.AccessPoliciesProto + .internal_static_google_iam_v3beta_SearchAccessPolicyBindingsRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.iam.v3beta.SearchAccessPolicyBindingsRequest.class, + com.google.iam.v3beta.SearchAccessPolicyBindingsRequest.Builder.class); + } + + public static final int NAME_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object name_ = ""; + + /** + * + * + *
+   * Required. The name of the access policy.
+   * Format:
+   * `organizations/{organization_id}/locations/{location}/accessPolicies/{access_policy_id}`
+   * `folders/{folder_id}/locations/{location}/accessPolicies/{access_policy_id}`
+   * `projects/{project_id}/locations/{location}/accessPolicies/{access_policy_id}`
+   * `projects/{project_number}/locations/{location}/accessPolicies/{access_policy_id}`
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The name. + */ + @java.lang.Override + public java.lang.String getName() { + java.lang.Object ref = name_; + 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(); + name_ = s; + return s; + } + } + + /** + * + * + *
+   * Required. The name of the access policy.
+   * Format:
+   * `organizations/{organization_id}/locations/{location}/accessPolicies/{access_policy_id}`
+   * `folders/{folder_id}/locations/{location}/accessPolicies/{access_policy_id}`
+   * `projects/{project_id}/locations/{location}/accessPolicies/{access_policy_id}`
+   * `projects/{project_number}/locations/{location}/accessPolicies/{access_policy_id}`
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for name. + */ + @java.lang.Override + public com.google.protobuf.ByteString getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int PAGE_SIZE_FIELD_NUMBER = 2; + private int pageSize_ = 0; + + /** + * + * + *
+   * Optional. The maximum number of policy bindings to return. The service may
+   * return fewer than this value.
+   *
+   * If unspecified, at most 50 policy bindings will be returned.
+   * The maximum value is 1000; values above 1000 will be coerced to 1000.
+   * 
+ * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageSize. + */ + @java.lang.Override + public int getPageSize() { + return pageSize_; + } + + public static final int PAGE_TOKEN_FIELD_NUMBER = 3; + + @SuppressWarnings("serial") + private volatile java.lang.Object pageToken_ = ""; + + /** + * + * + *
+   * Optional. A page token, received from a previous
+   * `SearchAccessPolicyBindingsRequest` call. Provide this to
+   * retrieve the subsequent page.
+   *
+   * When paginating, all other parameters provided to
+   * `SearchAccessPolicyBindingsRequest` must match the call
+   * that provided the page token.
+   * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageToken. + */ + @java.lang.Override + public java.lang.String getPageToken() { + java.lang.Object ref = pageToken_; + 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(); + pageToken_ = s; + return s; + } + } + + /** + * + * + *
+   * Optional. A page token, received from a previous
+   * `SearchAccessPolicyBindingsRequest` call. Provide this to
+   * retrieve the subsequent page.
+   *
+   * When paginating, all other parameters provided to
+   * `SearchAccessPolicyBindingsRequest` must match the call
+   * that provided the page token.
+   * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for pageToken. + */ + @java.lang.Override + public com.google.protobuf.ByteString getPageTokenBytes() { + java.lang.Object ref = pageToken_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + pageToken_ = 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(name_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, name_); + } + if (pageSize_ != 0) { + output.writeInt32(2, pageSize_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(pageToken_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 3, pageToken_); + } + 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(name_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, name_); + } + if (pageSize_ != 0) { + size += com.google.protobuf.CodedOutputStream.computeInt32Size(2, pageSize_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(pageToken_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(3, pageToken_); + } + 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.iam.v3beta.SearchAccessPolicyBindingsRequest)) { + return super.equals(obj); + } + com.google.iam.v3beta.SearchAccessPolicyBindingsRequest other = + (com.google.iam.v3beta.SearchAccessPolicyBindingsRequest) obj; + + if (!getName().equals(other.getName())) return false; + if (getPageSize() != other.getPageSize()) return false; + if (!getPageToken().equals(other.getPageToken())) 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) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + hash = (37 * hash) + PAGE_SIZE_FIELD_NUMBER; + hash = (53 * hash) + getPageSize(); + hash = (37 * hash) + PAGE_TOKEN_FIELD_NUMBER; + hash = (53 * hash) + getPageToken().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.iam.v3beta.SearchAccessPolicyBindingsRequest parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.iam.v3beta.SearchAccessPolicyBindingsRequest parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.iam.v3beta.SearchAccessPolicyBindingsRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.iam.v3beta.SearchAccessPolicyBindingsRequest 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.iam.v3beta.SearchAccessPolicyBindingsRequest parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.iam.v3beta.SearchAccessPolicyBindingsRequest parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.iam.v3beta.SearchAccessPolicyBindingsRequest parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.iam.v3beta.SearchAccessPolicyBindingsRequest 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.iam.v3beta.SearchAccessPolicyBindingsRequest parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.iam.v3beta.SearchAccessPolicyBindingsRequest 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.iam.v3beta.SearchAccessPolicyBindingsRequest parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.iam.v3beta.SearchAccessPolicyBindingsRequest 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.iam.v3beta.SearchAccessPolicyBindingsRequest 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; + } + + /** + * + * + *
+   * Request message for SearchAccessPolicyBindings rpc.
+   * 
+ * + * Protobuf type {@code google.iam.v3beta.SearchAccessPolicyBindingsRequest} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.iam.v3beta.SearchAccessPolicyBindingsRequest) + com.google.iam.v3beta.SearchAccessPolicyBindingsRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.iam.v3beta.AccessPoliciesProto + .internal_static_google_iam_v3beta_SearchAccessPolicyBindingsRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.iam.v3beta.AccessPoliciesProto + .internal_static_google_iam_v3beta_SearchAccessPolicyBindingsRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.iam.v3beta.SearchAccessPolicyBindingsRequest.class, + com.google.iam.v3beta.SearchAccessPolicyBindingsRequest.Builder.class); + } + + // Construct using com.google.iam.v3beta.SearchAccessPolicyBindingsRequest.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + name_ = ""; + pageSize_ = 0; + pageToken_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.iam.v3beta.AccessPoliciesProto + .internal_static_google_iam_v3beta_SearchAccessPolicyBindingsRequest_descriptor; + } + + @java.lang.Override + public com.google.iam.v3beta.SearchAccessPolicyBindingsRequest getDefaultInstanceForType() { + return com.google.iam.v3beta.SearchAccessPolicyBindingsRequest.getDefaultInstance(); + } + + @java.lang.Override + public com.google.iam.v3beta.SearchAccessPolicyBindingsRequest build() { + com.google.iam.v3beta.SearchAccessPolicyBindingsRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.iam.v3beta.SearchAccessPolicyBindingsRequest buildPartial() { + com.google.iam.v3beta.SearchAccessPolicyBindingsRequest result = + new com.google.iam.v3beta.SearchAccessPolicyBindingsRequest(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0(com.google.iam.v3beta.SearchAccessPolicyBindingsRequest result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.name_ = name_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.pageSize_ = pageSize_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.pageToken_ = pageToken_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.iam.v3beta.SearchAccessPolicyBindingsRequest) { + return mergeFrom((com.google.iam.v3beta.SearchAccessPolicyBindingsRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.iam.v3beta.SearchAccessPolicyBindingsRequest other) { + if (other == com.google.iam.v3beta.SearchAccessPolicyBindingsRequest.getDefaultInstance()) + return this; + if (!other.getName().isEmpty()) { + name_ = other.name_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (other.getPageSize() != 0) { + setPageSize(other.getPageSize()); + } + if (!other.getPageToken().isEmpty()) { + pageToken_ = other.pageToken_; + 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: + { + name_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 16: + { + pageSize_ = input.readInt32(); + bitField0_ |= 0x00000002; + break; + } // case 16 + case 26: + { + pageToken_ = 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 name_ = ""; + + /** + * + * + *
+     * Required. The name of the access policy.
+     * Format:
+     * `organizations/{organization_id}/locations/{location}/accessPolicies/{access_policy_id}`
+     * `folders/{folder_id}/locations/{location}/accessPolicies/{access_policy_id}`
+     * `projects/{project_id}/locations/{location}/accessPolicies/{access_policy_id}`
+     * `projects/{project_number}/locations/{location}/accessPolicies/{access_policy_id}`
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The name. + */ + public java.lang.String getName() { + java.lang.Object ref = name_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Required. The name of the access policy.
+     * Format:
+     * `organizations/{organization_id}/locations/{location}/accessPolicies/{access_policy_id}`
+     * `folders/{folder_id}/locations/{location}/accessPolicies/{access_policy_id}`
+     * `projects/{project_id}/locations/{location}/accessPolicies/{access_policy_id}`
+     * `projects/{project_number}/locations/{location}/accessPolicies/{access_policy_id}`
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for name. + */ + public com.google.protobuf.ByteString getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Required. The name of the access policy.
+     * Format:
+     * `organizations/{organization_id}/locations/{location}/accessPolicies/{access_policy_id}`
+     * `folders/{folder_id}/locations/{location}/accessPolicies/{access_policy_id}`
+     * `projects/{project_id}/locations/{location}/accessPolicies/{access_policy_id}`
+     * `projects/{project_number}/locations/{location}/accessPolicies/{access_policy_id}`
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The name to set. + * @return This builder for chaining. + */ + public Builder setName(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The name of the access policy.
+     * Format:
+     * `organizations/{organization_id}/locations/{location}/accessPolicies/{access_policy_id}`
+     * `folders/{folder_id}/locations/{location}/accessPolicies/{access_policy_id}`
+     * `projects/{project_id}/locations/{location}/accessPolicies/{access_policy_id}`
+     * `projects/{project_number}/locations/{location}/accessPolicies/{access_policy_id}`
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearName() { + name_ = getDefaultInstance().getName(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The name of the access policy.
+     * Format:
+     * `organizations/{organization_id}/locations/{location}/accessPolicies/{access_policy_id}`
+     * `folders/{folder_id}/locations/{location}/accessPolicies/{access_policy_id}`
+     * `projects/{project_id}/locations/{location}/accessPolicies/{access_policy_id}`
+     * `projects/{project_number}/locations/{location}/accessPolicies/{access_policy_id}`
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The bytes for name to set. + * @return This builder for chaining. + */ + public Builder setNameBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private int pageSize_; + + /** + * + * + *
+     * Optional. The maximum number of policy bindings to return. The service may
+     * return fewer than this value.
+     *
+     * If unspecified, at most 50 policy bindings will be returned.
+     * The maximum value is 1000; values above 1000 will be coerced to 1000.
+     * 
+ * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageSize. + */ + @java.lang.Override + public int getPageSize() { + return pageSize_; + } + + /** + * + * + *
+     * Optional. The maximum number of policy bindings to return. The service may
+     * return fewer than this value.
+     *
+     * If unspecified, at most 50 policy bindings will be returned.
+     * The maximum value is 1000; values above 1000 will be coerced to 1000.
+     * 
+ * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The pageSize to set. + * @return This builder for chaining. + */ + public Builder setPageSize(int value) { + + pageSize_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. The maximum number of policy bindings to return. The service may
+     * return fewer than this value.
+     *
+     * If unspecified, at most 50 policy bindings will be returned.
+     * The maximum value is 1000; values above 1000 will be coerced to 1000.
+     * 
+ * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearPageSize() { + bitField0_ = (bitField0_ & ~0x00000002); + pageSize_ = 0; + onChanged(); + return this; + } + + private java.lang.Object pageToken_ = ""; + + /** + * + * + *
+     * Optional. A page token, received from a previous
+     * `SearchAccessPolicyBindingsRequest` call. Provide this to
+     * retrieve the subsequent page.
+     *
+     * When paginating, all other parameters provided to
+     * `SearchAccessPolicyBindingsRequest` must match the call
+     * that provided the page token.
+     * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageToken. + */ + public java.lang.String getPageToken() { + java.lang.Object ref = pageToken_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + pageToken_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Optional. A page token, received from a previous
+     * `SearchAccessPolicyBindingsRequest` call. Provide this to
+     * retrieve the subsequent page.
+     *
+     * When paginating, all other parameters provided to
+     * `SearchAccessPolicyBindingsRequest` must match the call
+     * that provided the page token.
+     * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for pageToken. + */ + public com.google.protobuf.ByteString getPageTokenBytes() { + java.lang.Object ref = pageToken_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + pageToken_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Optional. A page token, received from a previous
+     * `SearchAccessPolicyBindingsRequest` call. Provide this to
+     * retrieve the subsequent page.
+     *
+     * When paginating, all other parameters provided to
+     * `SearchAccessPolicyBindingsRequest` must match the call
+     * that provided the page token.
+     * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The pageToken to set. + * @return This builder for chaining. + */ + public Builder setPageToken(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + pageToken_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. A page token, received from a previous
+     * `SearchAccessPolicyBindingsRequest` call. Provide this to
+     * retrieve the subsequent page.
+     *
+     * When paginating, all other parameters provided to
+     * `SearchAccessPolicyBindingsRequest` must match the call
+     * that provided the page token.
+     * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearPageToken() { + pageToken_ = getDefaultInstance().getPageToken(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. A page token, received from a previous
+     * `SearchAccessPolicyBindingsRequest` call. Provide this to
+     * retrieve the subsequent page.
+     *
+     * When paginating, all other parameters provided to
+     * `SearchAccessPolicyBindingsRequest` must match the call
+     * that provided the page token.
+     * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for pageToken to set. + * @return This builder for chaining. + */ + public Builder setPageTokenBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + pageToken_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.iam.v3beta.SearchAccessPolicyBindingsRequest) + } + + // @@protoc_insertion_point(class_scope:google.iam.v3beta.SearchAccessPolicyBindingsRequest) + private static final com.google.iam.v3beta.SearchAccessPolicyBindingsRequest DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.iam.v3beta.SearchAccessPolicyBindingsRequest(); + } + + public static com.google.iam.v3beta.SearchAccessPolicyBindingsRequest getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public SearchAccessPolicyBindingsRequest 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.iam.v3beta.SearchAccessPolicyBindingsRequest getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/SearchAccessPolicyBindingsRequestOrBuilder.java b/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/SearchAccessPolicyBindingsRequestOrBuilder.java new file mode 100644 index 0000000000..33964c6274 --- /dev/null +++ b/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/SearchAccessPolicyBindingsRequestOrBuilder.java @@ -0,0 +1,123 @@ +/* + * 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/iam/v3beta/access_policies_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.iam.v3beta; + +@com.google.protobuf.Generated +public interface SearchAccessPolicyBindingsRequestOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.iam.v3beta.SearchAccessPolicyBindingsRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Required. The name of the access policy.
+   * Format:
+   * `organizations/{organization_id}/locations/{location}/accessPolicies/{access_policy_id}`
+   * `folders/{folder_id}/locations/{location}/accessPolicies/{access_policy_id}`
+   * `projects/{project_id}/locations/{location}/accessPolicies/{access_policy_id}`
+   * `projects/{project_number}/locations/{location}/accessPolicies/{access_policy_id}`
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The name. + */ + java.lang.String getName(); + + /** + * + * + *
+   * Required. The name of the access policy.
+   * Format:
+   * `organizations/{organization_id}/locations/{location}/accessPolicies/{access_policy_id}`
+   * `folders/{folder_id}/locations/{location}/accessPolicies/{access_policy_id}`
+   * `projects/{project_id}/locations/{location}/accessPolicies/{access_policy_id}`
+   * `projects/{project_number}/locations/{location}/accessPolicies/{access_policy_id}`
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for name. + */ + com.google.protobuf.ByteString getNameBytes(); + + /** + * + * + *
+   * Optional. The maximum number of policy bindings to return. The service may
+   * return fewer than this value.
+   *
+   * If unspecified, at most 50 policy bindings will be returned.
+   * The maximum value is 1000; values above 1000 will be coerced to 1000.
+   * 
+ * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageSize. + */ + int getPageSize(); + + /** + * + * + *
+   * Optional. A page token, received from a previous
+   * `SearchAccessPolicyBindingsRequest` call. Provide this to
+   * retrieve the subsequent page.
+   *
+   * When paginating, all other parameters provided to
+   * `SearchAccessPolicyBindingsRequest` must match the call
+   * that provided the page token.
+   * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageToken. + */ + java.lang.String getPageToken(); + + /** + * + * + *
+   * Optional. A page token, received from a previous
+   * `SearchAccessPolicyBindingsRequest` call. Provide this to
+   * retrieve the subsequent page.
+   *
+   * When paginating, all other parameters provided to
+   * `SearchAccessPolicyBindingsRequest` must match the call
+   * that provided the page token.
+   * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for pageToken. + */ + com.google.protobuf.ByteString getPageTokenBytes(); +} diff --git a/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/SearchAccessPolicyBindingsResponse.java b/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/SearchAccessPolicyBindingsResponse.java new file mode 100644 index 0000000000..381a0c3890 --- /dev/null +++ b/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/SearchAccessPolicyBindingsResponse.java @@ -0,0 +1,1124 @@ +/* + * 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/iam/v3beta/access_policies_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.iam.v3beta; + +/** + * + * + *
+ * Response message for SearchAccessPolicyBindings rpc.
+ * 
+ * + * Protobuf type {@code google.iam.v3beta.SearchAccessPolicyBindingsResponse} + */ +@com.google.protobuf.Generated +public final class SearchAccessPolicyBindingsResponse extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.iam.v3beta.SearchAccessPolicyBindingsResponse) + SearchAccessPolicyBindingsResponseOrBuilder { + 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= */ "", + "SearchAccessPolicyBindingsResponse"); + } + + // Use SearchAccessPolicyBindingsResponse.newBuilder() to construct. + private SearchAccessPolicyBindingsResponse( + com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private SearchAccessPolicyBindingsResponse() { + policyBindings_ = java.util.Collections.emptyList(); + nextPageToken_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.iam.v3beta.AccessPoliciesProto + .internal_static_google_iam_v3beta_SearchAccessPolicyBindingsResponse_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.iam.v3beta.AccessPoliciesProto + .internal_static_google_iam_v3beta_SearchAccessPolicyBindingsResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.iam.v3beta.SearchAccessPolicyBindingsResponse.class, + com.google.iam.v3beta.SearchAccessPolicyBindingsResponse.Builder.class); + } + + public static final int POLICY_BINDINGS_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private java.util.List policyBindings_; + + /** + * + * + *
+   * The policy bindings that reference the specified policy.
+   * 
+ * + * repeated .google.iam.v3beta.PolicyBinding policy_bindings = 1; + */ + @java.lang.Override + public java.util.List getPolicyBindingsList() { + return policyBindings_; + } + + /** + * + * + *
+   * The policy bindings that reference the specified policy.
+   * 
+ * + * repeated .google.iam.v3beta.PolicyBinding policy_bindings = 1; + */ + @java.lang.Override + public java.util.List + getPolicyBindingsOrBuilderList() { + return policyBindings_; + } + + /** + * + * + *
+   * The policy bindings that reference the specified policy.
+   * 
+ * + * repeated .google.iam.v3beta.PolicyBinding policy_bindings = 1; + */ + @java.lang.Override + public int getPolicyBindingsCount() { + return policyBindings_.size(); + } + + /** + * + * + *
+   * The policy bindings that reference the specified policy.
+   * 
+ * + * repeated .google.iam.v3beta.PolicyBinding policy_bindings = 1; + */ + @java.lang.Override + public com.google.iam.v3beta.PolicyBinding getPolicyBindings(int index) { + return policyBindings_.get(index); + } + + /** + * + * + *
+   * The policy bindings that reference the specified policy.
+   * 
+ * + * repeated .google.iam.v3beta.PolicyBinding policy_bindings = 1; + */ + @java.lang.Override + public com.google.iam.v3beta.PolicyBindingOrBuilder getPolicyBindingsOrBuilder(int index) { + return policyBindings_.get(index); + } + + public static final int NEXT_PAGE_TOKEN_FIELD_NUMBER = 2; + + @SuppressWarnings("serial") + private volatile java.lang.Object nextPageToken_ = ""; + + /** + * + * + *
+   * Optional. A token, which can be sent as `page_token` to retrieve the next
+   * page. If this field is omitted, there are no subsequent pages.
+   * 
+ * + * string next_page_token = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The nextPageToken. + */ + @java.lang.Override + public java.lang.String getNextPageToken() { + java.lang.Object ref = nextPageToken_; + 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(); + nextPageToken_ = s; + return s; + } + } + + /** + * + * + *
+   * Optional. A token, which can be sent as `page_token` to retrieve the next
+   * page. If this field is omitted, there are no subsequent pages.
+   * 
+ * + * string next_page_token = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for nextPageToken. + */ + @java.lang.Override + public com.google.protobuf.ByteString getNextPageTokenBytes() { + java.lang.Object ref = nextPageToken_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + nextPageToken_ = 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 { + for (int i = 0; i < policyBindings_.size(); i++) { + output.writeMessage(1, policyBindings_.get(i)); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(nextPageToken_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, nextPageToken_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + for (int i = 0; i < policyBindings_.size(); i++) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, policyBindings_.get(i)); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(nextPageToken_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, nextPageToken_); + } + 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.iam.v3beta.SearchAccessPolicyBindingsResponse)) { + return super.equals(obj); + } + com.google.iam.v3beta.SearchAccessPolicyBindingsResponse other = + (com.google.iam.v3beta.SearchAccessPolicyBindingsResponse) obj; + + if (!getPolicyBindingsList().equals(other.getPolicyBindingsList())) return false; + if (!getNextPageToken().equals(other.getNextPageToken())) 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 (getPolicyBindingsCount() > 0) { + hash = (37 * hash) + POLICY_BINDINGS_FIELD_NUMBER; + hash = (53 * hash) + getPolicyBindingsList().hashCode(); + } + hash = (37 * hash) + NEXT_PAGE_TOKEN_FIELD_NUMBER; + hash = (53 * hash) + getNextPageToken().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.iam.v3beta.SearchAccessPolicyBindingsResponse parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.iam.v3beta.SearchAccessPolicyBindingsResponse parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.iam.v3beta.SearchAccessPolicyBindingsResponse parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.iam.v3beta.SearchAccessPolicyBindingsResponse 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.iam.v3beta.SearchAccessPolicyBindingsResponse parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.iam.v3beta.SearchAccessPolicyBindingsResponse parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.iam.v3beta.SearchAccessPolicyBindingsResponse parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.iam.v3beta.SearchAccessPolicyBindingsResponse 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.iam.v3beta.SearchAccessPolicyBindingsResponse parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.iam.v3beta.SearchAccessPolicyBindingsResponse 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.iam.v3beta.SearchAccessPolicyBindingsResponse parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.iam.v3beta.SearchAccessPolicyBindingsResponse 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.iam.v3beta.SearchAccessPolicyBindingsResponse 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; + } + + /** + * + * + *
+   * Response message for SearchAccessPolicyBindings rpc.
+   * 
+ * + * Protobuf type {@code google.iam.v3beta.SearchAccessPolicyBindingsResponse} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.iam.v3beta.SearchAccessPolicyBindingsResponse) + com.google.iam.v3beta.SearchAccessPolicyBindingsResponseOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.iam.v3beta.AccessPoliciesProto + .internal_static_google_iam_v3beta_SearchAccessPolicyBindingsResponse_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.iam.v3beta.AccessPoliciesProto + .internal_static_google_iam_v3beta_SearchAccessPolicyBindingsResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.iam.v3beta.SearchAccessPolicyBindingsResponse.class, + com.google.iam.v3beta.SearchAccessPolicyBindingsResponse.Builder.class); + } + + // Construct using com.google.iam.v3beta.SearchAccessPolicyBindingsResponse.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + if (policyBindingsBuilder_ == null) { + policyBindings_ = java.util.Collections.emptyList(); + } else { + policyBindings_ = null; + policyBindingsBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000001); + nextPageToken_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.iam.v3beta.AccessPoliciesProto + .internal_static_google_iam_v3beta_SearchAccessPolicyBindingsResponse_descriptor; + } + + @java.lang.Override + public com.google.iam.v3beta.SearchAccessPolicyBindingsResponse getDefaultInstanceForType() { + return com.google.iam.v3beta.SearchAccessPolicyBindingsResponse.getDefaultInstance(); + } + + @java.lang.Override + public com.google.iam.v3beta.SearchAccessPolicyBindingsResponse build() { + com.google.iam.v3beta.SearchAccessPolicyBindingsResponse result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.iam.v3beta.SearchAccessPolicyBindingsResponse buildPartial() { + com.google.iam.v3beta.SearchAccessPolicyBindingsResponse result = + new com.google.iam.v3beta.SearchAccessPolicyBindingsResponse(this); + buildPartialRepeatedFields(result); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartialRepeatedFields( + com.google.iam.v3beta.SearchAccessPolicyBindingsResponse result) { + if (policyBindingsBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + policyBindings_ = java.util.Collections.unmodifiableList(policyBindings_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.policyBindings_ = policyBindings_; + } else { + result.policyBindings_ = policyBindingsBuilder_.build(); + } + } + + private void buildPartial0(com.google.iam.v3beta.SearchAccessPolicyBindingsResponse result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000002) != 0)) { + result.nextPageToken_ = nextPageToken_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.iam.v3beta.SearchAccessPolicyBindingsResponse) { + return mergeFrom((com.google.iam.v3beta.SearchAccessPolicyBindingsResponse) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.iam.v3beta.SearchAccessPolicyBindingsResponse other) { + if (other == com.google.iam.v3beta.SearchAccessPolicyBindingsResponse.getDefaultInstance()) + return this; + if (policyBindingsBuilder_ == null) { + if (!other.policyBindings_.isEmpty()) { + if (policyBindings_.isEmpty()) { + policyBindings_ = other.policyBindings_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensurePolicyBindingsIsMutable(); + policyBindings_.addAll(other.policyBindings_); + } + onChanged(); + } + } else { + if (!other.policyBindings_.isEmpty()) { + if (policyBindingsBuilder_.isEmpty()) { + policyBindingsBuilder_.dispose(); + policyBindingsBuilder_ = null; + policyBindings_ = other.policyBindings_; + bitField0_ = (bitField0_ & ~0x00000001); + policyBindingsBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders + ? internalGetPolicyBindingsFieldBuilder() + : null; + } else { + policyBindingsBuilder_.addAllMessages(other.policyBindings_); + } + } + } + if (!other.getNextPageToken().isEmpty()) { + nextPageToken_ = other.nextPageToken_; + bitField0_ |= 0x00000002; + 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: + { + com.google.iam.v3beta.PolicyBinding m = + input.readMessage( + com.google.iam.v3beta.PolicyBinding.parser(), extensionRegistry); + if (policyBindingsBuilder_ == null) { + ensurePolicyBindingsIsMutable(); + policyBindings_.add(m); + } else { + policyBindingsBuilder_.addMessage(m); + } + break; + } // case 10 + case 18: + { + nextPageToken_ = input.readStringRequireUtf8(); + 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 java.util.List policyBindings_ = + java.util.Collections.emptyList(); + + private void ensurePolicyBindingsIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + policyBindings_ = + new java.util.ArrayList(policyBindings_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.iam.v3beta.PolicyBinding, + com.google.iam.v3beta.PolicyBinding.Builder, + com.google.iam.v3beta.PolicyBindingOrBuilder> + policyBindingsBuilder_; + + /** + * + * + *
+     * The policy bindings that reference the specified policy.
+     * 
+ * + * repeated .google.iam.v3beta.PolicyBinding policy_bindings = 1; + */ + public java.util.List getPolicyBindingsList() { + if (policyBindingsBuilder_ == null) { + return java.util.Collections.unmodifiableList(policyBindings_); + } else { + return policyBindingsBuilder_.getMessageList(); + } + } + + /** + * + * + *
+     * The policy bindings that reference the specified policy.
+     * 
+ * + * repeated .google.iam.v3beta.PolicyBinding policy_bindings = 1; + */ + public int getPolicyBindingsCount() { + if (policyBindingsBuilder_ == null) { + return policyBindings_.size(); + } else { + return policyBindingsBuilder_.getCount(); + } + } + + /** + * + * + *
+     * The policy bindings that reference the specified policy.
+     * 
+ * + * repeated .google.iam.v3beta.PolicyBinding policy_bindings = 1; + */ + public com.google.iam.v3beta.PolicyBinding getPolicyBindings(int index) { + if (policyBindingsBuilder_ == null) { + return policyBindings_.get(index); + } else { + return policyBindingsBuilder_.getMessage(index); + } + } + + /** + * + * + *
+     * The policy bindings that reference the specified policy.
+     * 
+ * + * repeated .google.iam.v3beta.PolicyBinding policy_bindings = 1; + */ + public Builder setPolicyBindings(int index, com.google.iam.v3beta.PolicyBinding value) { + if (policyBindingsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensurePolicyBindingsIsMutable(); + policyBindings_.set(index, value); + onChanged(); + } else { + policyBindingsBuilder_.setMessage(index, value); + } + return this; + } + + /** + * + * + *
+     * The policy bindings that reference the specified policy.
+     * 
+ * + * repeated .google.iam.v3beta.PolicyBinding policy_bindings = 1; + */ + public Builder setPolicyBindings( + int index, com.google.iam.v3beta.PolicyBinding.Builder builderForValue) { + if (policyBindingsBuilder_ == null) { + ensurePolicyBindingsIsMutable(); + policyBindings_.set(index, builderForValue.build()); + onChanged(); + } else { + policyBindingsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * The policy bindings that reference the specified policy.
+     * 
+ * + * repeated .google.iam.v3beta.PolicyBinding policy_bindings = 1; + */ + public Builder addPolicyBindings(com.google.iam.v3beta.PolicyBinding value) { + if (policyBindingsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensurePolicyBindingsIsMutable(); + policyBindings_.add(value); + onChanged(); + } else { + policyBindingsBuilder_.addMessage(value); + } + return this; + } + + /** + * + * + *
+     * The policy bindings that reference the specified policy.
+     * 
+ * + * repeated .google.iam.v3beta.PolicyBinding policy_bindings = 1; + */ + public Builder addPolicyBindings(int index, com.google.iam.v3beta.PolicyBinding value) { + if (policyBindingsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensurePolicyBindingsIsMutable(); + policyBindings_.add(index, value); + onChanged(); + } else { + policyBindingsBuilder_.addMessage(index, value); + } + return this; + } + + /** + * + * + *
+     * The policy bindings that reference the specified policy.
+     * 
+ * + * repeated .google.iam.v3beta.PolicyBinding policy_bindings = 1; + */ + public Builder addPolicyBindings(com.google.iam.v3beta.PolicyBinding.Builder builderForValue) { + if (policyBindingsBuilder_ == null) { + ensurePolicyBindingsIsMutable(); + policyBindings_.add(builderForValue.build()); + onChanged(); + } else { + policyBindingsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * The policy bindings that reference the specified policy.
+     * 
+ * + * repeated .google.iam.v3beta.PolicyBinding policy_bindings = 1; + */ + public Builder addPolicyBindings( + int index, com.google.iam.v3beta.PolicyBinding.Builder builderForValue) { + if (policyBindingsBuilder_ == null) { + ensurePolicyBindingsIsMutable(); + policyBindings_.add(index, builderForValue.build()); + onChanged(); + } else { + policyBindingsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * The policy bindings that reference the specified policy.
+     * 
+ * + * repeated .google.iam.v3beta.PolicyBinding policy_bindings = 1; + */ + public Builder addAllPolicyBindings( + java.lang.Iterable values) { + if (policyBindingsBuilder_ == null) { + ensurePolicyBindingsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, policyBindings_); + onChanged(); + } else { + policyBindingsBuilder_.addAllMessages(values); + } + return this; + } + + /** + * + * + *
+     * The policy bindings that reference the specified policy.
+     * 
+ * + * repeated .google.iam.v3beta.PolicyBinding policy_bindings = 1; + */ + public Builder clearPolicyBindings() { + if (policyBindingsBuilder_ == null) { + policyBindings_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + policyBindingsBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+     * The policy bindings that reference the specified policy.
+     * 
+ * + * repeated .google.iam.v3beta.PolicyBinding policy_bindings = 1; + */ + public Builder removePolicyBindings(int index) { + if (policyBindingsBuilder_ == null) { + ensurePolicyBindingsIsMutable(); + policyBindings_.remove(index); + onChanged(); + } else { + policyBindingsBuilder_.remove(index); + } + return this; + } + + /** + * + * + *
+     * The policy bindings that reference the specified policy.
+     * 
+ * + * repeated .google.iam.v3beta.PolicyBinding policy_bindings = 1; + */ + public com.google.iam.v3beta.PolicyBinding.Builder getPolicyBindingsBuilder(int index) { + return internalGetPolicyBindingsFieldBuilder().getBuilder(index); + } + + /** + * + * + *
+     * The policy bindings that reference the specified policy.
+     * 
+ * + * repeated .google.iam.v3beta.PolicyBinding policy_bindings = 1; + */ + public com.google.iam.v3beta.PolicyBindingOrBuilder getPolicyBindingsOrBuilder(int index) { + if (policyBindingsBuilder_ == null) { + return policyBindings_.get(index); + } else { + return policyBindingsBuilder_.getMessageOrBuilder(index); + } + } + + /** + * + * + *
+     * The policy bindings that reference the specified policy.
+     * 
+ * + * repeated .google.iam.v3beta.PolicyBinding policy_bindings = 1; + */ + public java.util.List + getPolicyBindingsOrBuilderList() { + if (policyBindingsBuilder_ != null) { + return policyBindingsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(policyBindings_); + } + } + + /** + * + * + *
+     * The policy bindings that reference the specified policy.
+     * 
+ * + * repeated .google.iam.v3beta.PolicyBinding policy_bindings = 1; + */ + public com.google.iam.v3beta.PolicyBinding.Builder addPolicyBindingsBuilder() { + return internalGetPolicyBindingsFieldBuilder() + .addBuilder(com.google.iam.v3beta.PolicyBinding.getDefaultInstance()); + } + + /** + * + * + *
+     * The policy bindings that reference the specified policy.
+     * 
+ * + * repeated .google.iam.v3beta.PolicyBinding policy_bindings = 1; + */ + public com.google.iam.v3beta.PolicyBinding.Builder addPolicyBindingsBuilder(int index) { + return internalGetPolicyBindingsFieldBuilder() + .addBuilder(index, com.google.iam.v3beta.PolicyBinding.getDefaultInstance()); + } + + /** + * + * + *
+     * The policy bindings that reference the specified policy.
+     * 
+ * + * repeated .google.iam.v3beta.PolicyBinding policy_bindings = 1; + */ + public java.util.List + getPolicyBindingsBuilderList() { + return internalGetPolicyBindingsFieldBuilder().getBuilderList(); + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.iam.v3beta.PolicyBinding, + com.google.iam.v3beta.PolicyBinding.Builder, + com.google.iam.v3beta.PolicyBindingOrBuilder> + internalGetPolicyBindingsFieldBuilder() { + if (policyBindingsBuilder_ == null) { + policyBindingsBuilder_ = + new com.google.protobuf.RepeatedFieldBuilder< + com.google.iam.v3beta.PolicyBinding, + com.google.iam.v3beta.PolicyBinding.Builder, + com.google.iam.v3beta.PolicyBindingOrBuilder>( + policyBindings_, + ((bitField0_ & 0x00000001) != 0), + getParentForChildren(), + isClean()); + policyBindings_ = null; + } + return policyBindingsBuilder_; + } + + private java.lang.Object nextPageToken_ = ""; + + /** + * + * + *
+     * Optional. A token, which can be sent as `page_token` to retrieve the next
+     * page. If this field is omitted, there are no subsequent pages.
+     * 
+ * + * string next_page_token = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The nextPageToken. + */ + public java.lang.String getNextPageToken() { + java.lang.Object ref = nextPageToken_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + nextPageToken_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Optional. A token, which can be sent as `page_token` to retrieve the next
+     * page. If this field is omitted, there are no subsequent pages.
+     * 
+ * + * string next_page_token = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for nextPageToken. + */ + public com.google.protobuf.ByteString getNextPageTokenBytes() { + java.lang.Object ref = nextPageToken_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + nextPageToken_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Optional. A token, which can be sent as `page_token` to retrieve the next
+     * page. If this field is omitted, there are no subsequent pages.
+     * 
+ * + * string next_page_token = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The nextPageToken to set. + * @return This builder for chaining. + */ + public Builder setNextPageToken(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + nextPageToken_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. A token, which can be sent as `page_token` to retrieve the next
+     * page. If this field is omitted, there are no subsequent pages.
+     * 
+ * + * string next_page_token = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearNextPageToken() { + nextPageToken_ = getDefaultInstance().getNextPageToken(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. A token, which can be sent as `page_token` to retrieve the next
+     * page. If this field is omitted, there are no subsequent pages.
+     * 
+ * + * string next_page_token = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for nextPageToken to set. + * @return This builder for chaining. + */ + public Builder setNextPageTokenBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + nextPageToken_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.iam.v3beta.SearchAccessPolicyBindingsResponse) + } + + // @@protoc_insertion_point(class_scope:google.iam.v3beta.SearchAccessPolicyBindingsResponse) + private static final com.google.iam.v3beta.SearchAccessPolicyBindingsResponse DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.iam.v3beta.SearchAccessPolicyBindingsResponse(); + } + + public static com.google.iam.v3beta.SearchAccessPolicyBindingsResponse getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public SearchAccessPolicyBindingsResponse 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.iam.v3beta.SearchAccessPolicyBindingsResponse getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/SearchAccessPolicyBindingsResponseOrBuilder.java b/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/SearchAccessPolicyBindingsResponseOrBuilder.java new file mode 100644 index 0000000000..a6a045f301 --- /dev/null +++ b/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/SearchAccessPolicyBindingsResponseOrBuilder.java @@ -0,0 +1,112 @@ +/* + * 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/iam/v3beta/access_policies_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.iam.v3beta; + +@com.google.protobuf.Generated +public interface SearchAccessPolicyBindingsResponseOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.iam.v3beta.SearchAccessPolicyBindingsResponse) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * The policy bindings that reference the specified policy.
+   * 
+ * + * repeated .google.iam.v3beta.PolicyBinding policy_bindings = 1; + */ + java.util.List getPolicyBindingsList(); + + /** + * + * + *
+   * The policy bindings that reference the specified policy.
+   * 
+ * + * repeated .google.iam.v3beta.PolicyBinding policy_bindings = 1; + */ + com.google.iam.v3beta.PolicyBinding getPolicyBindings(int index); + + /** + * + * + *
+   * The policy bindings that reference the specified policy.
+   * 
+ * + * repeated .google.iam.v3beta.PolicyBinding policy_bindings = 1; + */ + int getPolicyBindingsCount(); + + /** + * + * + *
+   * The policy bindings that reference the specified policy.
+   * 
+ * + * repeated .google.iam.v3beta.PolicyBinding policy_bindings = 1; + */ + java.util.List + getPolicyBindingsOrBuilderList(); + + /** + * + * + *
+   * The policy bindings that reference the specified policy.
+   * 
+ * + * repeated .google.iam.v3beta.PolicyBinding policy_bindings = 1; + */ + com.google.iam.v3beta.PolicyBindingOrBuilder getPolicyBindingsOrBuilder(int index); + + /** + * + * + *
+   * Optional. A token, which can be sent as `page_token` to retrieve the next
+   * page. If this field is omitted, there are no subsequent pages.
+   * 
+ * + * string next_page_token = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The nextPageToken. + */ + java.lang.String getNextPageToken(); + + /** + * + * + *
+   * Optional. A token, which can be sent as `page_token` to retrieve the next
+   * page. If this field is omitted, there are no subsequent pages.
+   * 
+ * + * string next_page_token = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for nextPageToken. + */ + com.google.protobuf.ByteString getNextPageTokenBytes(); +} diff --git a/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/SearchTargetPolicyBindingsRequest.java b/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/SearchTargetPolicyBindingsRequest.java index c520c8c5e9..c18c604b4e 100644 --- a/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/SearchTargetPolicyBindingsRequest.java +++ b/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/SearchTargetPolicyBindingsRequest.java @@ -56,6 +56,7 @@ private SearchTargetPolicyBindingsRequest() { target_ = ""; pageToken_ = ""; parent_ = ""; + filter_ = ""; } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { @@ -154,8 +155,7 @@ public com.google.protobuf.ByteString getTargetBytes() { * Optional. The maximum number of policy bindings to return. The service may * return fewer than this value. * - * If unspecified, at most 50 policy bindings will be returned. - * The maximum value is 1000; values above 1000 will be coerced to 1000. + * The default value is 50. The maximum value is 1000. *
* * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; @@ -307,6 +307,77 @@ public com.google.protobuf.ByteString getParentBytes() { } } + public static final int FILTER_FIELD_NUMBER = 6; + + @SuppressWarnings("serial") + private volatile java.lang.Object filter_ = ""; + + /** + * + * + *
+   * Optional. Filtering currently only supports the kind of policies to return,
+   * and must be in the format "policy_kind={policy_kind}".
+   *
+   * If String is empty, bindings bound to all kinds of policies would be
+   * returned.
+   *
+   * The only supported values are the following:
+   *
+   * * "policy_kind=PRINCIPAL_ACCESS_BOUNDARY",
+   * * "policy_kind=ACCESS"
+   * 
+ * + * string filter = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The filter. + */ + @java.lang.Override + public java.lang.String getFilter() { + java.lang.Object ref = filter_; + 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(); + filter_ = s; + return s; + } + } + + /** + * + * + *
+   * Optional. Filtering currently only supports the kind of policies to return,
+   * and must be in the format "policy_kind={policy_kind}".
+   *
+   * If String is empty, bindings bound to all kinds of policies would be
+   * returned.
+   *
+   * The only supported values are the following:
+   *
+   * * "policy_kind=PRINCIPAL_ACCESS_BOUNDARY",
+   * * "policy_kind=ACCESS"
+   * 
+ * + * string filter = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for filter. + */ + @java.lang.Override + public com.google.protobuf.ByteString getFilterBytes() { + java.lang.Object ref = filter_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + filter_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + private byte memoizedIsInitialized = -1; @java.lang.Override @@ -333,6 +404,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io if (!com.google.protobuf.GeneratedMessage.isStringEmpty(parent_)) { com.google.protobuf.GeneratedMessage.writeString(output, 5, parent_); } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(filter_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 6, filter_); + } getUnknownFields().writeTo(output); } @@ -354,6 +428,9 @@ public int getSerializedSize() { if (!com.google.protobuf.GeneratedMessage.isStringEmpty(parent_)) { size += com.google.protobuf.GeneratedMessage.computeStringSize(5, parent_); } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(filter_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(6, filter_); + } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; @@ -374,6 +451,7 @@ public boolean equals(final java.lang.Object obj) { if (getPageSize() != other.getPageSize()) return false; if (!getPageToken().equals(other.getPageToken())) return false; if (!getParent().equals(other.getParent())) return false; + if (!getFilter().equals(other.getFilter())) return false; if (!getUnknownFields().equals(other.getUnknownFields())) return false; return true; } @@ -393,6 +471,8 @@ public int hashCode() { hash = (53 * hash) + getPageToken().hashCode(); hash = (37 * hash) + PARENT_FIELD_NUMBER; hash = (53 * hash) + getParent().hashCode(); + hash = (37 * hash) + FILTER_FIELD_NUMBER; + hash = (53 * hash) + getFilter().hashCode(); hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; @@ -538,6 +618,7 @@ public Builder clear() { pageSize_ = 0; pageToken_ = ""; parent_ = ""; + filter_ = ""; return this; } @@ -586,6 +667,9 @@ private void buildPartial0(com.google.iam.v3beta.SearchTargetPolicyBindingsReque if (((from_bitField0_ & 0x00000008) != 0)) { result.parent_ = parent_; } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.filter_ = filter_; + } } @java.lang.Override @@ -619,6 +703,11 @@ public Builder mergeFrom(com.google.iam.v3beta.SearchTargetPolicyBindingsRequest bitField0_ |= 0x00000008; onChanged(); } + if (!other.getFilter().isEmpty()) { + filter_ = other.filter_; + bitField0_ |= 0x00000010; + onChanged(); + } this.mergeUnknownFields(other.getUnknownFields()); onChanged(); return this; @@ -669,6 +758,12 @@ public Builder mergeFrom( bitField0_ |= 0x00000008; break; } // case 42 + case 50: + { + filter_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000010; + break; + } // case 50 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { @@ -853,8 +948,7 @@ public Builder setTargetBytes(com.google.protobuf.ByteString value) { * Optional. The maximum number of policy bindings to return. The service may * return fewer than this value. * - * If unspecified, at most 50 policy bindings will be returned. - * The maximum value is 1000; values above 1000 will be coerced to 1000. + * The default value is 50. The maximum value is 1000. *
* * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; @@ -873,8 +967,7 @@ public int getPageSize() { * Optional. The maximum number of policy bindings to return. The service may * return fewer than this value. * - * If unspecified, at most 50 policy bindings will be returned. - * The maximum value is 1000; values above 1000 will be coerced to 1000. + * The default value is 50. The maximum value is 1000. *
* * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; @@ -897,8 +990,7 @@ public Builder setPageSize(int value) { * Optional. The maximum number of policy bindings to return. The service may * return fewer than this value. * - * If unspecified, at most 50 policy bindings will be returned. - * The maximum value is 1000; values above 1000 will be coerced to 1000. + * The default value is 50. The maximum value is 1000. *
* * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; @@ -1219,6 +1311,162 @@ public Builder setParentBytes(com.google.protobuf.ByteString value) { return this; } + private java.lang.Object filter_ = ""; + + /** + * + * + *
+     * Optional. Filtering currently only supports the kind of policies to return,
+     * and must be in the format "policy_kind={policy_kind}".
+     *
+     * If String is empty, bindings bound to all kinds of policies would be
+     * returned.
+     *
+     * The only supported values are the following:
+     *
+     * * "policy_kind=PRINCIPAL_ACCESS_BOUNDARY",
+     * * "policy_kind=ACCESS"
+     * 
+ * + * string filter = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The filter. + */ + public java.lang.String getFilter() { + java.lang.Object ref = filter_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + filter_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Optional. Filtering currently only supports the kind of policies to return,
+     * and must be in the format "policy_kind={policy_kind}".
+     *
+     * If String is empty, bindings bound to all kinds of policies would be
+     * returned.
+     *
+     * The only supported values are the following:
+     *
+     * * "policy_kind=PRINCIPAL_ACCESS_BOUNDARY",
+     * * "policy_kind=ACCESS"
+     * 
+ * + * string filter = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for filter. + */ + public com.google.protobuf.ByteString getFilterBytes() { + java.lang.Object ref = filter_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + filter_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Optional. Filtering currently only supports the kind of policies to return,
+     * and must be in the format "policy_kind={policy_kind}".
+     *
+     * If String is empty, bindings bound to all kinds of policies would be
+     * returned.
+     *
+     * The only supported values are the following:
+     *
+     * * "policy_kind=PRINCIPAL_ACCESS_BOUNDARY",
+     * * "policy_kind=ACCESS"
+     * 
+ * + * string filter = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The filter to set. + * @return This builder for chaining. + */ + public Builder setFilter(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + filter_ = value; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Filtering currently only supports the kind of policies to return,
+     * and must be in the format "policy_kind={policy_kind}".
+     *
+     * If String is empty, bindings bound to all kinds of policies would be
+     * returned.
+     *
+     * The only supported values are the following:
+     *
+     * * "policy_kind=PRINCIPAL_ACCESS_BOUNDARY",
+     * * "policy_kind=ACCESS"
+     * 
+ * + * string filter = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearFilter() { + filter_ = getDefaultInstance().getFilter(); + bitField0_ = (bitField0_ & ~0x00000010); + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Filtering currently only supports the kind of policies to return,
+     * and must be in the format "policy_kind={policy_kind}".
+     *
+     * If String is empty, bindings bound to all kinds of policies would be
+     * returned.
+     *
+     * The only supported values are the following:
+     *
+     * * "policy_kind=PRINCIPAL_ACCESS_BOUNDARY",
+     * * "policy_kind=ACCESS"
+     * 
+ * + * string filter = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for filter to set. + * @return This builder for chaining. + */ + public Builder setFilterBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + filter_ = value; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + // @@protoc_insertion_point(builder_scope:google.iam.v3beta.SearchTargetPolicyBindingsRequest) } diff --git a/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/SearchTargetPolicyBindingsRequestOrBuilder.java b/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/SearchTargetPolicyBindingsRequestOrBuilder.java index 94b017218e..7761e685e8 100644 --- a/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/SearchTargetPolicyBindingsRequestOrBuilder.java +++ b/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/SearchTargetPolicyBindingsRequestOrBuilder.java @@ -77,8 +77,7 @@ public interface SearchTargetPolicyBindingsRequestOrBuilder * Optional. The maximum number of policy bindings to return. The service may * return fewer than this value. * - * If unspecified, at most 50 policy bindings will be returned. - * The maximum value is 1000; values above 1000 will be coerced to 1000. + * The default value is 50. The maximum value is 1000. *
* * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; @@ -172,4 +171,48 @@ public interface SearchTargetPolicyBindingsRequestOrBuilder * @return The bytes for parent. */ com.google.protobuf.ByteString getParentBytes(); + + /** + * + * + *
+   * Optional. Filtering currently only supports the kind of policies to return,
+   * and must be in the format "policy_kind={policy_kind}".
+   *
+   * If String is empty, bindings bound to all kinds of policies would be
+   * returned.
+   *
+   * The only supported values are the following:
+   *
+   * * "policy_kind=PRINCIPAL_ACCESS_BOUNDARY",
+   * * "policy_kind=ACCESS"
+   * 
+ * + * string filter = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The filter. + */ + java.lang.String getFilter(); + + /** + * + * + *
+   * Optional. Filtering currently only supports the kind of policies to return,
+   * and must be in the format "policy_kind={policy_kind}".
+   *
+   * If String is empty, bindings bound to all kinds of policies would be
+   * returned.
+   *
+   * The only supported values are the following:
+   *
+   * * "policy_kind=PRINCIPAL_ACCESS_BOUNDARY",
+   * * "policy_kind=ACCESS"
+   * 
+ * + * string filter = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for filter. + */ + com.google.protobuf.ByteString getFilterBytes(); } diff --git a/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/UpdateAccessPolicyRequest.java b/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/UpdateAccessPolicyRequest.java new file mode 100644 index 0000000000..9faccac2cf --- /dev/null +++ b/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/UpdateAccessPolicyRequest.java @@ -0,0 +1,860 @@ +/* + * 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/iam/v3beta/access_policies_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.iam.v3beta; + +/** + * + * + *
+ * Request message for UpdateAccessPolicy method.
+ * 
+ * + * Protobuf type {@code google.iam.v3beta.UpdateAccessPolicyRequest} + */ +@com.google.protobuf.Generated +public final class UpdateAccessPolicyRequest extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.iam.v3beta.UpdateAccessPolicyRequest) + UpdateAccessPolicyRequestOrBuilder { + 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= */ "", + "UpdateAccessPolicyRequest"); + } + + // Use UpdateAccessPolicyRequest.newBuilder() to construct. + private UpdateAccessPolicyRequest(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private UpdateAccessPolicyRequest() {} + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.iam.v3beta.AccessPoliciesProto + .internal_static_google_iam_v3beta_UpdateAccessPolicyRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.iam.v3beta.AccessPoliciesProto + .internal_static_google_iam_v3beta_UpdateAccessPolicyRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.iam.v3beta.UpdateAccessPolicyRequest.class, + com.google.iam.v3beta.UpdateAccessPolicyRequest.Builder.class); + } + + private int bitField0_; + public static final int ACCESS_POLICY_FIELD_NUMBER = 1; + private com.google.iam.v3beta.AccessPolicy accessPolicy_; + + /** + * + * + *
+   * Required. The access policy to update.
+   *
+   * The access policy's `name` field is used to identify the
+   * policy to update.
+   * 
+ * + * + * .google.iam.v3beta.AccessPolicy access_policy = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the accessPolicy field is set. + */ + @java.lang.Override + public boolean hasAccessPolicy() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+   * Required. The access policy to update.
+   *
+   * The access policy's `name` field is used to identify the
+   * policy to update.
+   * 
+ * + * + * .google.iam.v3beta.AccessPolicy access_policy = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The accessPolicy. + */ + @java.lang.Override + public com.google.iam.v3beta.AccessPolicy getAccessPolicy() { + return accessPolicy_ == null + ? com.google.iam.v3beta.AccessPolicy.getDefaultInstance() + : accessPolicy_; + } + + /** + * + * + *
+   * Required. The access policy to update.
+   *
+   * The access policy's `name` field is used to identify the
+   * policy to update.
+   * 
+ * + * + * .google.iam.v3beta.AccessPolicy access_policy = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + @java.lang.Override + public com.google.iam.v3beta.AccessPolicyOrBuilder getAccessPolicyOrBuilder() { + return accessPolicy_ == null + ? com.google.iam.v3beta.AccessPolicy.getDefaultInstance() + : accessPolicy_; + } + + public static final int VALIDATE_ONLY_FIELD_NUMBER = 2; + private boolean validateOnly_ = false; + + /** + * + * + *
+   * Optional. If set, validate the request and preview the update, but do not
+   * actually post it.
+   * 
+ * + * bool validate_only = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The validateOnly. + */ + @java.lang.Override + public boolean getValidateOnly() { + return validateOnly_; + } + + 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, getAccessPolicy()); + } + if (validateOnly_ != false) { + output.writeBool(2, validateOnly_); + } + 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, getAccessPolicy()); + } + if (validateOnly_ != false) { + size += com.google.protobuf.CodedOutputStream.computeBoolSize(2, validateOnly_); + } + 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.iam.v3beta.UpdateAccessPolicyRequest)) { + return super.equals(obj); + } + com.google.iam.v3beta.UpdateAccessPolicyRequest other = + (com.google.iam.v3beta.UpdateAccessPolicyRequest) obj; + + if (hasAccessPolicy() != other.hasAccessPolicy()) return false; + if (hasAccessPolicy()) { + if (!getAccessPolicy().equals(other.getAccessPolicy())) return false; + } + if (getValidateOnly() != other.getValidateOnly()) 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 (hasAccessPolicy()) { + hash = (37 * hash) + ACCESS_POLICY_FIELD_NUMBER; + hash = (53 * hash) + getAccessPolicy().hashCode(); + } + hash = (37 * hash) + VALIDATE_ONLY_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getValidateOnly()); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.iam.v3beta.UpdateAccessPolicyRequest parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.iam.v3beta.UpdateAccessPolicyRequest parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.iam.v3beta.UpdateAccessPolicyRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.iam.v3beta.UpdateAccessPolicyRequest 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.iam.v3beta.UpdateAccessPolicyRequest parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.iam.v3beta.UpdateAccessPolicyRequest parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.iam.v3beta.UpdateAccessPolicyRequest parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.iam.v3beta.UpdateAccessPolicyRequest 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.iam.v3beta.UpdateAccessPolicyRequest parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.iam.v3beta.UpdateAccessPolicyRequest 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.iam.v3beta.UpdateAccessPolicyRequest parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.iam.v3beta.UpdateAccessPolicyRequest 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.iam.v3beta.UpdateAccessPolicyRequest 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; + } + + /** + * + * + *
+   * Request message for UpdateAccessPolicy method.
+   * 
+ * + * Protobuf type {@code google.iam.v3beta.UpdateAccessPolicyRequest} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.iam.v3beta.UpdateAccessPolicyRequest) + com.google.iam.v3beta.UpdateAccessPolicyRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.iam.v3beta.AccessPoliciesProto + .internal_static_google_iam_v3beta_UpdateAccessPolicyRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.iam.v3beta.AccessPoliciesProto + .internal_static_google_iam_v3beta_UpdateAccessPolicyRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.iam.v3beta.UpdateAccessPolicyRequest.class, + com.google.iam.v3beta.UpdateAccessPolicyRequest.Builder.class); + } + + // Construct using com.google.iam.v3beta.UpdateAccessPolicyRequest.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + internalGetAccessPolicyFieldBuilder(); + } + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + accessPolicy_ = null; + if (accessPolicyBuilder_ != null) { + accessPolicyBuilder_.dispose(); + accessPolicyBuilder_ = null; + } + validateOnly_ = false; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.iam.v3beta.AccessPoliciesProto + .internal_static_google_iam_v3beta_UpdateAccessPolicyRequest_descriptor; + } + + @java.lang.Override + public com.google.iam.v3beta.UpdateAccessPolicyRequest getDefaultInstanceForType() { + return com.google.iam.v3beta.UpdateAccessPolicyRequest.getDefaultInstance(); + } + + @java.lang.Override + public com.google.iam.v3beta.UpdateAccessPolicyRequest build() { + com.google.iam.v3beta.UpdateAccessPolicyRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.iam.v3beta.UpdateAccessPolicyRequest buildPartial() { + com.google.iam.v3beta.UpdateAccessPolicyRequest result = + new com.google.iam.v3beta.UpdateAccessPolicyRequest(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0(com.google.iam.v3beta.UpdateAccessPolicyRequest result) { + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.accessPolicy_ = + accessPolicyBuilder_ == null ? accessPolicy_ : accessPolicyBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.validateOnly_ = validateOnly_; + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.iam.v3beta.UpdateAccessPolicyRequest) { + return mergeFrom((com.google.iam.v3beta.UpdateAccessPolicyRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.iam.v3beta.UpdateAccessPolicyRequest other) { + if (other == com.google.iam.v3beta.UpdateAccessPolicyRequest.getDefaultInstance()) + return this; + if (other.hasAccessPolicy()) { + mergeAccessPolicy(other.getAccessPolicy()); + } + if (other.getValidateOnly() != false) { + setValidateOnly(other.getValidateOnly()); + } + 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( + internalGetAccessPolicyFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 16: + { + validateOnly_ = input.readBool(); + bitField0_ |= 0x00000002; + break; + } // case 16 + 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.iam.v3beta.AccessPolicy accessPolicy_; + private com.google.protobuf.SingleFieldBuilder< + com.google.iam.v3beta.AccessPolicy, + com.google.iam.v3beta.AccessPolicy.Builder, + com.google.iam.v3beta.AccessPolicyOrBuilder> + accessPolicyBuilder_; + + /** + * + * + *
+     * Required. The access policy to update.
+     *
+     * The access policy's `name` field is used to identify the
+     * policy to update.
+     * 
+ * + * + * .google.iam.v3beta.AccessPolicy access_policy = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the accessPolicy field is set. + */ + public boolean hasAccessPolicy() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+     * Required. The access policy to update.
+     *
+     * The access policy's `name` field is used to identify the
+     * policy to update.
+     * 
+ * + * + * .google.iam.v3beta.AccessPolicy access_policy = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The accessPolicy. + */ + public com.google.iam.v3beta.AccessPolicy getAccessPolicy() { + if (accessPolicyBuilder_ == null) { + return accessPolicy_ == null + ? com.google.iam.v3beta.AccessPolicy.getDefaultInstance() + : accessPolicy_; + } else { + return accessPolicyBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Required. The access policy to update.
+     *
+     * The access policy's `name` field is used to identify the
+     * policy to update.
+     * 
+ * + * + * .google.iam.v3beta.AccessPolicy access_policy = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder setAccessPolicy(com.google.iam.v3beta.AccessPolicy value) { + if (accessPolicyBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + accessPolicy_ = value; + } else { + accessPolicyBuilder_.setMessage(value); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The access policy to update.
+     *
+     * The access policy's `name` field is used to identify the
+     * policy to update.
+     * 
+ * + * + * .google.iam.v3beta.AccessPolicy access_policy = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder setAccessPolicy(com.google.iam.v3beta.AccessPolicy.Builder builderForValue) { + if (accessPolicyBuilder_ == null) { + accessPolicy_ = builderForValue.build(); + } else { + accessPolicyBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The access policy to update.
+     *
+     * The access policy's `name` field is used to identify the
+     * policy to update.
+     * 
+ * + * + * .google.iam.v3beta.AccessPolicy access_policy = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder mergeAccessPolicy(com.google.iam.v3beta.AccessPolicy value) { + if (accessPolicyBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0) + && accessPolicy_ != null + && accessPolicy_ != com.google.iam.v3beta.AccessPolicy.getDefaultInstance()) { + getAccessPolicyBuilder().mergeFrom(value); + } else { + accessPolicy_ = value; + } + } else { + accessPolicyBuilder_.mergeFrom(value); + } + if (accessPolicy_ != null) { + bitField0_ |= 0x00000001; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Required. The access policy to update.
+     *
+     * The access policy's `name` field is used to identify the
+     * policy to update.
+     * 
+ * + * + * .google.iam.v3beta.AccessPolicy access_policy = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder clearAccessPolicy() { + bitField0_ = (bitField0_ & ~0x00000001); + accessPolicy_ = null; + if (accessPolicyBuilder_ != null) { + accessPolicyBuilder_.dispose(); + accessPolicyBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The access policy to update.
+     *
+     * The access policy's `name` field is used to identify the
+     * policy to update.
+     * 
+ * + * + * .google.iam.v3beta.AccessPolicy access_policy = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public com.google.iam.v3beta.AccessPolicy.Builder getAccessPolicyBuilder() { + bitField0_ |= 0x00000001; + onChanged(); + return internalGetAccessPolicyFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Required. The access policy to update.
+     *
+     * The access policy's `name` field is used to identify the
+     * policy to update.
+     * 
+ * + * + * .google.iam.v3beta.AccessPolicy access_policy = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public com.google.iam.v3beta.AccessPolicyOrBuilder getAccessPolicyOrBuilder() { + if (accessPolicyBuilder_ != null) { + return accessPolicyBuilder_.getMessageOrBuilder(); + } else { + return accessPolicy_ == null + ? com.google.iam.v3beta.AccessPolicy.getDefaultInstance() + : accessPolicy_; + } + } + + /** + * + * + *
+     * Required. The access policy to update.
+     *
+     * The access policy's `name` field is used to identify the
+     * policy to update.
+     * 
+ * + * + * .google.iam.v3beta.AccessPolicy access_policy = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.iam.v3beta.AccessPolicy, + com.google.iam.v3beta.AccessPolicy.Builder, + com.google.iam.v3beta.AccessPolicyOrBuilder> + internalGetAccessPolicyFieldBuilder() { + if (accessPolicyBuilder_ == null) { + accessPolicyBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.iam.v3beta.AccessPolicy, + com.google.iam.v3beta.AccessPolicy.Builder, + com.google.iam.v3beta.AccessPolicyOrBuilder>( + getAccessPolicy(), getParentForChildren(), isClean()); + accessPolicy_ = null; + } + return accessPolicyBuilder_; + } + + private boolean validateOnly_; + + /** + * + * + *
+     * Optional. If set, validate the request and preview the update, but do not
+     * actually post it.
+     * 
+ * + * bool validate_only = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The validateOnly. + */ + @java.lang.Override + public boolean getValidateOnly() { + return validateOnly_; + } + + /** + * + * + *
+     * Optional. If set, validate the request and preview the update, but do not
+     * actually post it.
+     * 
+ * + * bool validate_only = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The validateOnly to set. + * @return This builder for chaining. + */ + public Builder setValidateOnly(boolean value) { + + validateOnly_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. If set, validate the request and preview the update, but do not
+     * actually post it.
+     * 
+ * + * bool validate_only = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearValidateOnly() { + bitField0_ = (bitField0_ & ~0x00000002); + validateOnly_ = false; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.iam.v3beta.UpdateAccessPolicyRequest) + } + + // @@protoc_insertion_point(class_scope:google.iam.v3beta.UpdateAccessPolicyRequest) + private static final com.google.iam.v3beta.UpdateAccessPolicyRequest DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.iam.v3beta.UpdateAccessPolicyRequest(); + } + + public static com.google.iam.v3beta.UpdateAccessPolicyRequest getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public UpdateAccessPolicyRequest 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.iam.v3beta.UpdateAccessPolicyRequest getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/UpdateAccessPolicyRequestOrBuilder.java b/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/UpdateAccessPolicyRequestOrBuilder.java new file mode 100644 index 0000000000..a1a7fa2b69 --- /dev/null +++ b/java-iam/proto-google-iam-v3beta/src/main/java/com/google/iam/v3beta/UpdateAccessPolicyRequestOrBuilder.java @@ -0,0 +1,94 @@ +/* + * 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/iam/v3beta/access_policies_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.iam.v3beta; + +@com.google.protobuf.Generated +public interface UpdateAccessPolicyRequestOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.iam.v3beta.UpdateAccessPolicyRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Required. The access policy to update.
+   *
+   * The access policy's `name` field is used to identify the
+   * policy to update.
+   * 
+ * + * + * .google.iam.v3beta.AccessPolicy access_policy = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the accessPolicy field is set. + */ + boolean hasAccessPolicy(); + + /** + * + * + *
+   * Required. The access policy to update.
+   *
+   * The access policy's `name` field is used to identify the
+   * policy to update.
+   * 
+ * + * + * .google.iam.v3beta.AccessPolicy access_policy = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The accessPolicy. + */ + com.google.iam.v3beta.AccessPolicy getAccessPolicy(); + + /** + * + * + *
+   * Required. The access policy to update.
+   *
+   * The access policy's `name` field is used to identify the
+   * policy to update.
+   * 
+ * + * + * .google.iam.v3beta.AccessPolicy access_policy = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + com.google.iam.v3beta.AccessPolicyOrBuilder getAccessPolicyOrBuilder(); + + /** + * + * + *
+   * Optional. If set, validate the request and preview the update, but do not
+   * actually post it.
+   * 
+ * + * bool validate_only = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The validateOnly. + */ + boolean getValidateOnly(); +} diff --git a/java-iam/proto-google-iam-v3beta/src/main/proto/google/iam/v3beta/access_policies_service.proto b/java-iam/proto-google-iam-v3beta/src/main/proto/google/iam/v3beta/access_policies_service.proto new file mode 100644 index 0000000000..d7f000a44e --- /dev/null +++ b/java-iam/proto-google-iam-v3beta/src/main/proto/google/iam/v3beta/access_policies_service.proto @@ -0,0 +1,329 @@ +// 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 +// +// http://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. + +syntax = "proto3"; + +package google.iam.v3beta; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/iam/v3beta/access_policy_resources.proto"; +import "google/iam/v3beta/operation_metadata.proto"; +import "google/iam/v3beta/policy_binding_resources.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/empty.proto"; + +option csharp_namespace = "Google.Cloud.Iam.V3Beta"; +option go_package = "cloud.google.com/go/iam/apiv3beta/iampb;iampb"; +option java_multiple_files = true; +option java_outer_classname = "AccessPoliciesProto"; +option java_package = "com.google.iam.v3beta"; +option php_namespace = "Google\\Cloud\\Iam\\V3beta"; + +// Manages Identity and Access Management (IAM) access policies. +service AccessPolicies { + option (google.api.default_host) = "iam.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Creates an access policy, and returns a long running operation. + rpc CreateAccessPolicy(CreateAccessPolicyRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v3beta/{parent=projects/*/locations/*}/accessPolicies" + body: "access_policy" + additional_bindings { + post: "/v3beta/{parent=folders/*/locations/*}/accessPolicies" + body: "access_policy" + } + additional_bindings { + post: "/v3beta/{parent=organizations/*/locations/*}/accessPolicies" + body: "access_policy" + } + }; + option (google.api.method_signature) = + "parent,access_policy,access_policy_id"; + option (google.longrunning.operation_info) = { + response_type: "AccessPolicy" + metadata_type: "OperationMetadata" + }; + } + + // Gets an access policy. + rpc GetAccessPolicy(GetAccessPolicyRequest) returns (AccessPolicy) { + option (google.api.http) = { + get: "/v3beta/{name=projects/*/locations/*/accessPolicies/*}" + additional_bindings { + get: "/v3beta/{name=folders/*/locations/*/accessPolicies/*}" + } + additional_bindings { + get: "/v3beta/{name=organizations/*/locations/*/accessPolicies/*}" + } + }; + option (google.api.method_signature) = "name"; + } + + // Updates an access policy. + rpc UpdateAccessPolicy(UpdateAccessPolicyRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v3beta/{access_policy.name=projects/*/locations/*/accessPolicies/*}" + body: "access_policy" + additional_bindings { + patch: "/v3beta/{access_policy.name=folders/*/locations/*/accessPolicies/*}" + body: "access_policy" + } + additional_bindings { + patch: "/v3beta/{access_policy.name=organizations/*/locations/*/accessPolicies/*}" + body: "access_policy" + } + }; + option (google.longrunning.operation_info) = { + response_type: "AccessPolicy" + metadata_type: "OperationMetadata" + }; + } + + // Deletes an access policy. + rpc DeleteAccessPolicy(DeleteAccessPolicyRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v3beta/{name=projects/*/locations/*/accessPolicies/*}" + additional_bindings { + delete: "/v3beta/{name=folders/*/locations/*/accessPolicies/*}" + } + additional_bindings { + delete: "/v3beta/{name=organizations/*/locations/*/accessPolicies/*}" + } + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } + + // Lists access policies. + rpc ListAccessPolicies(ListAccessPoliciesRequest) + returns (ListAccessPoliciesResponse) { + option (google.api.http) = { + get: "/v3beta/{parent=projects/*/locations/*}/accessPolicies" + additional_bindings { + get: "/v3beta/{parent=folders/*/locations/*}/accessPolicies" + } + additional_bindings { + get: "/v3beta/{parent=organizations/*/locations/*}/accessPolicies" + } + }; + option (google.api.method_signature) = "parent"; + } + + // Returns all policy bindings that bind a specific policy if a user has + // searchPolicyBindings permission on that policy. + rpc SearchAccessPolicyBindings(SearchAccessPolicyBindingsRequest) + returns (SearchAccessPolicyBindingsResponse) { + option (google.api.http) = { + get: "/v3beta/{name=organizations/*/locations/*/accessPolicies/*}:searchPolicyBindings" + additional_bindings { + get: "/v3beta/{name=folders/*/locations/*/accessPolicies/*}:searchPolicyBindings" + } + additional_bindings { + get: "/v3beta/{name=projects/*/locations/*/accessPolicies/*}:searchPolicyBindings" + } + }; + option (google.api.method_signature) = "name"; + } +} + +// Request message for CreateAccessPolicy method. +message CreateAccessPolicyRequest { + // Required. The parent resource where this access policy will be created. + // + // Format: + // `projects/{project_id}/locations/{location}` + // `projects/{project_number}/locations/{location}` + // `folders/{folder_id}/locations/{location}` + // `organizations/{organization_id}/locations/{location}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "iam.googleapis.com/AccessPolicy" + } + ]; + + // Required. The ID to use for the access policy, which + // will become the final component of the access policy's + // resource name. + // + // This value must start with a lowercase letter followed by up to 62 + // lowercase letters, numbers, hyphens, or dots. Pattern, + // /[a-z][a-z0-9-\.]{2,62}/. + // + // This value must be unique among all access policies with the same parent. + string access_policy_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The access policy to create. + AccessPolicy access_policy = 3 [(google.api.field_behavior) = REQUIRED]; + + // Optional. If set, validate the request and preview the creation, but do not + // actually post it. + bool validate_only = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// Request message for GetAccessPolicy method. +message GetAccessPolicyRequest { + // Required. The name of the access policy to retrieve. + // + // Format: + // `projects/{project_id}/locations/{location}/accessPolicies/{access_policy_id}` + // `projects/{project_number}/locations/{location}/accessPolicies/{access_policy_id}` + // `folders/{folder_id}/locations/{location}/accessPolicies/{access_policy_id}` + // `organizations/{organization_id}/locations/{location}/accessPolicies/{access_policy_id}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "iam.googleapis.com/AccessPolicy" + } + ]; +} + +// Request message for UpdateAccessPolicy method. +message UpdateAccessPolicyRequest { + // Required. The access policy to update. + // + // The access policy's `name` field is used to identify the + // policy to update. + AccessPolicy access_policy = 1 [(google.api.field_behavior) = REQUIRED]; + + // Optional. If set, validate the request and preview the update, but do not + // actually post it. + bool validate_only = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// Request message for DeleteAccessPolicy method. +message DeleteAccessPolicyRequest { + // Required. The name of the access policy to delete. + // + // Format: + // `projects/{project_id}/locations/{location}/accessPolicies/{access_policy_id}` + // `projects/{project_number}/locations/{location}/accessPolicies/{access_policy_id}` + // `folders/{folder_id}/locations/{location}/accessPolicies/{access_policy_id}` + // `organizations/{organization_id}/locations/{location}/accessPolicies/{access_policy_id}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "iam.googleapis.com/AccessPolicy" + } + ]; + + // Optional. The etag of the access policy. If this is provided, it must match + // the server's etag. + string etag = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. If set, validate the request and preview the deletion, but do not + // actually post it. + bool validate_only = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. If set to true, the request will force the deletion of the Policy + // even if the Policy references PolicyBindings. + bool force = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// Request message for ListAccessPolicies method. +message ListAccessPoliciesRequest { + // Required. The parent resource, which owns the collection of access policy + // resources. + // + // Format: + // `projects/{project_id}/locations/{location}` + // `projects/{project_number}/locations/{location}` + // `folders/{folder_id}/locations/{location}` + // `organizations/{organization_id}/locations/{location}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "iam.googleapis.com/AccessPolicy" + } + ]; + + // Optional. The maximum number of access policies to return. The + // service may return fewer than this value. + // + // If unspecified, at most 50 access policies will be returned. Valid value + // ranges from 1 to 1000; values above 1000 will be coerced to 1000. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A page token, received from a previous + // `ListAccessPolicies` call. Provide this to retrieve the + // subsequent page. + // + // When paginating, all other parameters provided to + // `ListAccessPolicies` must match the call that provided the + // page token. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response message for ListAccessPolicies method. +message ListAccessPoliciesResponse { + // The access policies from the specified parent. + repeated AccessPolicy access_policies = 1; + + // Optional. A token, which can be sent as `page_token` to retrieve the next + // page. If this field is omitted, there are no subsequent pages. + string next_page_token = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// Request message for SearchAccessPolicyBindings rpc. +message SearchAccessPolicyBindingsRequest { + // Required. The name of the access policy. + // Format: + // `organizations/{organization_id}/locations/{location}/accessPolicies/{access_policy_id}` + // `folders/{folder_id}/locations/{location}/accessPolicies/{access_policy_id}` + // `projects/{project_id}/locations/{location}/accessPolicies/{access_policy_id}` + // `projects/{project_number}/locations/{location}/accessPolicies/{access_policy_id}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "iam.googleapis.com/AccessPolicy" + } + ]; + + // Optional. The maximum number of policy bindings to return. The service may + // return fewer than this value. + // + // If unspecified, at most 50 policy bindings will be returned. + // The maximum value is 1000; values above 1000 will be coerced to 1000. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A page token, received from a previous + // `SearchAccessPolicyBindingsRequest` call. Provide this to + // retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // `SearchAccessPolicyBindingsRequest` must match the call + // that provided the page token. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response message for SearchAccessPolicyBindings rpc. +message SearchAccessPolicyBindingsResponse { + // The policy bindings that reference the specified policy. + repeated PolicyBinding policy_bindings = 1; + + // Optional. A token, which can be sent as `page_token` to retrieve the next + // page. If this field is omitted, there are no subsequent pages. + string next_page_token = 2 [(google.api.field_behavior) = OPTIONAL]; +} diff --git a/java-iam/proto-google-iam-v3beta/src/main/proto/google/iam/v3beta/access_policy_resources.proto b/java-iam/proto-google-iam-v3beta/src/main/proto/google/iam/v3beta/access_policy_resources.proto new file mode 100644 index 0000000000..624a0d7acd --- /dev/null +++ b/java-iam/proto-google-iam-v3beta/src/main/proto/google/iam/v3beta/access_policy_resources.proto @@ -0,0 +1,216 @@ +// 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 +// +// http://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. + +syntax = "proto3"; + +package google.iam.v3beta; + +import "google/api/field_behavior.proto"; +import "google/api/field_info.proto"; +import "google/api/resource.proto"; +import "google/protobuf/timestamp.proto"; +import "google/type/expr.proto"; + +option csharp_namespace = "Google.Cloud.Iam.V3Beta"; +option go_package = "cloud.google.com/go/iam/apiv3beta/iampb;iampb"; +option java_multiple_files = true; +option java_outer_classname = "AccessPolicyResourcesProto"; +option java_package = "com.google.iam.v3beta"; +option php_namespace = "Google\\Cloud\\Iam\\V3beta"; + +// An IAM access policy resource. +message AccessPolicy { + option (google.api.resource) = { + type: "iam.googleapis.com/AccessPolicy" + pattern: "organizations/{organization}/locations/{location}/accessPolicies/{access_policy}" + pattern: "folders/{folder}/locations/{location}/accessPolicies/{access_policy}" + pattern: "projects/{project}/locations/{location}/accessPolicies/{access_policy}" + plural: "accessPolicies" + singular: "accessPolicy" + }; + + // Identifier. The resource name of the access policy. + // + // The following formats are supported: + // + // * `projects/{project_id}/locations/{location}/accessPolicies/{policy_id}` + // * `projects/{project_number}/locations/{location}/accessPolicies/{policy_id}` + // * `folders/{folder_id}/locations/{location}/accessPolicies/{policy_id}` + // * `organizations/{organization_id}/locations/{location}/accessPolicies/{policy_id}` + string name = 1 [(google.api.field_behavior) = IDENTIFIER]; + + // Output only. The globally unique ID of the access policy. + string uid = 2 [ + (google.api.field_info).format = UUID4, + (google.api.field_behavior) = OUTPUT_ONLY + ]; + + // Optional. The etag for the access policy. + // If this is provided on update, it must match the server's etag. + string etag = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The description of the access policy. Must be less than + // or equal to 63 characters. + string display_name = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. User defined annotations. See + // https://google.aip.dev/148#annotations for more details such as format and + // size limitations + map annotations = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. The time when the access policy was created. + google.protobuf.Timestamp create_time = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time when the access policy was most recently + // updated. + google.protobuf.Timestamp update_time = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. The details for the access policy. + AccessPolicyDetails details = 8 [(google.api.field_behavior) = OPTIONAL]; +} + +// Access policy details. +message AccessPolicyDetails { + // Required. A list of access policy rules. + repeated AccessPolicyRule rules = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// Access Policy Rule that determines the behavior of the policy. +message AccessPolicyRule { + // Attributes that are used to determine whether this rule applies to a + // request. + message Operation { + // Optional. The permissions that are explicitly affected by this rule. Each + // permission uses the format `{service_fqdn}/{resource}.{verb}`, where + // `{service_fqdn}` is the fully qualified domain name for the service. + // Currently supported permissions are as follows: + // + // * `eventarc.googleapis.com/messageBuses.publish`. + repeated string permissions = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Specifies the permissions that this rule excludes from the set + // of affected permissions given by `permissions`. If a permission appears + // in `permissions` _and_ in `excluded_permissions` then it will _not_ be + // subject to the policy effect. + // + // The excluded permissions can be specified using the same syntax as + // `permissions`. + repeated string excluded_permissions = 2 + [(google.api.field_behavior) = OPTIONAL]; + } + + // An effect to describe the access relationship. + enum Effect { + // The effect is unspecified. + EFFECT_UNSPECIFIED = 0; + + // The policy will deny access if it evaluates to true. + DENY = 1; + + // The policy will grant access if it evaluates to true. + ALLOW = 2; + } + + // Optional. Customer specified description of the rule. Must be less than or + // equal to 256 characters. + optional string description = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Required. The effect of the rule. + optional Effect effect = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The identities for which this rule's effect governs using one or + // more permissions on Google Cloud resources. This field can contain the + // following values: + // + // * `principal://goog/subject/{email_id}`: A specific Google Account. + // Includes Gmail, Cloud Identity, and Google Workspace user accounts. For + // example, `principal://goog/subject/alice@example.com`. + // + // * `principal://iam.googleapis.com/projects/-/serviceAccounts/{service_account_id}`: + // A Google Cloud service account. For example, + // `principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@iam.gserviceaccount.com`. + // + // * `principalSet://goog/group/{group_id}`: A Google group. For example, + // `principalSet://goog/group/admins@example.com`. + // + // * `principalSet://goog/cloudIdentityCustomerId/{customer_id}`: All of the + // principals associated with the specified Google Workspace or Cloud + // Identity customer ID. For example, + // `principalSet://goog/cloudIdentityCustomerId/C01Abc35`. + // + // + // If an identifier that was previously set on a policy is soft deleted, then + // calls to read that policy will return the identifier with a deleted + // prefix. Users cannot set identifiers with this syntax. + // + // * `deleted:principal://goog/subject/{email_id}?uid={uid}`: A specific + // Google Account that was deleted recently. For example, + // `deleted:principal://goog/subject/alice@example.com?uid=1234567890`. If + // the Google Account is recovered, this identifier reverts to the standard + // identifier for a Google Account. + // + // * `deleted:principalSet://goog/group/{group_id}?uid={uid}`: A Google group + // that was deleted recently. For example, + // `deleted:principalSet://goog/group/admins@example.com?uid=1234567890`. + // If the Google group is restored, this identifier reverts to the standard + // identifier for a Google group. + // + // * `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/{service_account_id}?uid={uid}`: + // A Google Cloud service account that was deleted recently. For example, + // `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@iam.gserviceaccount.com?uid=1234567890`. + // If the service account is undeleted, this identifier reverts to the + // standard identifier for a service account. + repeated string principals = 3 [(google.api.field_behavior) = REQUIRED]; + + // Optional. The identities that are excluded from the access policy rule, + // even if they are listed in the `principals`. For example, you could add a + // Google group to the `principals`, then exclude specific users who belong to + // that group. + repeated string excluded_principals = 4 + [(google.api.field_behavior) = OPTIONAL]; + + // Required. Attributes that are used to determine whether this rule applies + // to a request. + Operation operation = 10 [(google.api.field_behavior) = REQUIRED]; + + // Optional. The conditions that determine whether this rule applies to a + // request. Conditions are identified by their key, which is the FQDN of the + // service that they are relevant to. For example: + // + // ``` + // "conditions": { + // "iam.googleapis.com": { + // "expression": + // } + // } + // ``` + // + // Each rule is evaluated independently. If this rule does not apply + // to a request, other rules might still apply. + // Currently supported keys are as follows: + // + // + // * `eventarc.googleapis.com`: Can use `CEL` functions that evaluate + // resource fields. + // + // * `iam.googleapis.com`: Can use `CEL` functions that evaluate + // [resource + // tags](https://cloud.google.com/iam/help/conditions/resource-tags) and + // combine them using boolean and logical operators. Other functions and + // operators are not supported. + map conditions = 9 + [(google.api.field_behavior) = OPTIONAL]; +} diff --git a/java-iam/proto-google-iam-v3beta/src/main/proto/google/iam/v3beta/operation_metadata.proto b/java-iam/proto-google-iam-v3beta/src/main/proto/google/iam/v3beta/operation_metadata.proto index 6c62252093..c3e75283e5 100644 --- a/java-iam/proto-google-iam-v3beta/src/main/proto/google/iam/v3beta/operation_metadata.proto +++ b/java-iam/proto-google-iam-v3beta/src/main/proto/google/iam/v3beta/operation_metadata.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-iam/proto-google-iam-v3beta/src/main/proto/google/iam/v3beta/policy_binding_resources.proto b/java-iam/proto-google-iam-v3beta/src/main/proto/google/iam/v3beta/policy_binding_resources.proto index 1fed6cfcef..ea3534b83b 100644 --- a/java-iam/proto-google-iam-v3beta/src/main/proto/google/iam/v3beta/policy_binding_resources.proto +++ b/java-iam/proto-google-iam-v3beta/src/main/proto/google/iam/v3beta/policy_binding_resources.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. @@ -40,44 +40,61 @@ message PolicyBinding { singular: "policyBinding" }; - // Target is the full resource name of the resource to which the policy will + // The full resource name of the resource to which the policy will // be bound. Immutable once set. message Target { // The different types of targets that can be bound to a policy. oneof target { - // Immutable. Full Resource Name used for principal access boundary policy - // bindings. The principal set must be directly parented by the policy - // binding's parent or same as the parent if the target is a - // project/folder/organization. + // Immutable. The full resource name that's used for principal access + // boundary policy bindings. The principal set must be directly parented + // by the policy binding's parent or same as the parent if the target is a + // project, folder, or organization. // // Examples: - // * For binding's parented by an organization: - // * Organization: - // `//cloudresourcemanager.googleapis.com/organizations/ORGANIZATION_ID` - // * Workforce Identity: - // `//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID` - // * Workspace Identity: - // `//iam.googleapis.com/locations/global/workspace/WORKSPACE_ID` - // * For binding's parented by a folder: - // * Folder: - // `//cloudresourcemanager.googleapis.com/folders/FOLDER_ID` - // * For binding's parented by a project: - // * Project: + // + // * For bindings parented by an organization: + // * Organization: + // `//cloudresourcemanager.googleapis.com/organizations/ORGANIZATION_ID` + // * Workforce Identity: + // `//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID` + // * Workspace Identity: + // `//iam.googleapis.com/locations/global/workspace/WORKSPACE_ID` + // * For bindings parented by a folder: + // * Folder: + // `//cloudresourcemanager.googleapis.com/folders/FOLDER_ID` + // * For bindings parented by a project: + // * Project: + // * `//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER` + // * `//cloudresourcemanager.googleapis.com/projects/PROJECT_ID` + // * Workload Identity Pool: + // `//iam.googleapis.com/projects/PROJECT_NUMBER/locations/LOCATION/workloadIdentityPools/WORKLOAD_POOL_ID` + string principal_set = 1 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The full resource name that's used for access policy + // bindings. + // + // Examples: + // + // * Organization: + // `//cloudresourcemanager.googleapis.com/organizations/ORGANIZATION_ID` + // * Folder: `//cloudresourcemanager.googleapis.com/folders/FOLDER_ID` + // * Project: // * `//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER` // * `//cloudresourcemanager.googleapis.com/projects/PROJECT_ID` - // * Workload Identity Pool: - // `//iam.googleapis.com/projects/PROJECT_NUMBER/locations/LOCATION/workloadIdentityPools/WORKLOAD_POOL_ID` - string principal_set = 1 [(google.api.field_behavior) = IMMUTABLE]; + string resource = 2 [(google.api.field_behavior) = IMMUTABLE]; } } - // Different policy kinds supported in this binding. + // The different policy kinds supported in this binding. enum PolicyKind { // Unspecified policy kind; Not a valid state POLICY_KIND_UNSPECIFIED = 0; // Principal access boundary policy kind PRINCIPAL_ACCESS_BOUNDARY = 1; + + // Access policy kind. + ACCESS = 2; } // Identifier. The name of the policy binding, in the format @@ -113,8 +130,8 @@ message PolicyBinding { // size limitations map annotations = 5 [(google.api.field_behavior) = OPTIONAL]; - // Required. Immutable. Target is the full resource name of the resource to - // which the policy will be bound. Immutable once set. + // Required. Immutable. The full resource name of the resource to which the + // policy will be bound. Immutable once set. Target target = 6 [ (google.api.field_behavior) = IMMUTABLE, (google.api.field_behavior) = REQUIRED @@ -166,13 +183,14 @@ message PolicyBinding { // - `principal.type != ` // - `principal.type in []` // - // Supported principal types are Workspace, Workforce Pool, Workload Pool and - // Service Account. Allowed string must be one of: + // Supported principal types are workspace, workforce pool, workload pool, + // service account, and Agent Identity. Allowed string must be one of: // - // - iam.googleapis.com/WorkspaceIdentity - // - iam.googleapis.com/WorkforcePoolIdentity - // - iam.googleapis.com/WorkloadPoolIdentity - // - iam.googleapis.com/ServiceAccount + // - `iam.googleapis.com/WorkspaceIdentity` + // - `iam.googleapis.com/WorkforcePoolIdentity` + // - `iam.googleapis.com/WorkloadPoolIdentity` + // - `iam.googleapis.com/ServiceAccount` + // - `iam.googleapis.com/AgentPoolIdentity` (available in Preview) google.type.Expr condition = 8 [(google.api.field_behavior) = OPTIONAL]; // Output only. The time when the policy binding was created. diff --git a/java-iam/proto-google-iam-v3beta/src/main/proto/google/iam/v3beta/policy_bindings_service.proto b/java-iam/proto-google-iam-v3beta/src/main/proto/google/iam/v3beta/policy_bindings_service.proto index e4f7c85447..d031c83d11 100644 --- a/java-iam/proto-google-iam-v3beta/src/main/proto/google/iam/v3beta/policy_bindings_service.proto +++ b/java-iam/proto-google-iam-v3beta/src/main/proto/google/iam/v3beta/policy_bindings_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. @@ -50,7 +50,7 @@ service PolicyBindings { // Creates a policy binding and returns a long-running operation. // Callers will need the IAM permissions on both the policy and target. - // Once the binding is created, the policy is applied to the target. + // After the binding is created, the policy is applied to the target. rpc CreatePolicyBinding(CreatePolicyBindingRequest) returns (google.longrunning.Operation) { option (google.api.http) = { @@ -89,9 +89,7 @@ service PolicyBindings { // Updates a policy binding and returns a long-running operation. // Callers will need the IAM permissions on the policy and target in the - // binding to update, and the IAM permission to remove the existing policy - // from the binding. Target is immutable and cannot be updated. Once the - // binding is updated, the new policy is applied to the target. + // binding to update. Target and policy are immutable and cannot be updated. rpc UpdatePolicyBinding(UpdatePolicyBindingRequest) returns (google.longrunning.Operation) { option (google.api.http) = { @@ -115,7 +113,7 @@ service PolicyBindings { // Deletes a policy binding and returns a long-running operation. // Callers will need the IAM permissions on both the policy and target. - // Once the binding is deleted, the policy no longer applies to the target. + // After the binding is deleted, the policy no longer applies to the target. rpc DeletePolicyBinding(DeletePolicyBindingRequest) returns (google.longrunning.Operation) { option (google.api.http) = { @@ -283,8 +281,7 @@ message ListPolicyBindingsRequest { // Optional. The maximum number of policy bindings to return. The service may // return fewer than this value. // - // If unspecified, at most 50 policy bindings will be returned. - // The maximum value is 1000; values above 1000 will be coerced to 1000. + // The default value is 50. The maximum value is 1000. int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; // Optional. A page token, received from a previous `ListPolicyBindings` call. @@ -295,7 +292,8 @@ message ListPolicyBindingsRequest { string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; // Optional. An expression for filtering the results of the request. Filter - // rules are case insensitive. Some eligible fields for filtering are: + // rules are case insensitive. Some eligible fields for filtering are the + // following: // // + `target` // + `policy` @@ -335,8 +333,7 @@ message SearchTargetPolicyBindingsRequest { // Optional. The maximum number of policy bindings to return. The service may // return fewer than this value. // - // If unspecified, at most 50 policy bindings will be returned. - // The maximum value is 1000; values above 1000 will be coerced to 1000. + // The default value is 50. The maximum value is 1000. int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; // Optional. A page token, received from a previous @@ -364,6 +361,18 @@ message SearchTargetPolicyBindingsRequest { child_type: "iam.googleapis.com/PolicyBinding" } ]; + + // Optional. Filtering currently only supports the kind of policies to return, + // and must be in the format "policy_kind={policy_kind}". + // + // If String is empty, bindings bound to all kinds of policies would be + // returned. + // + // The only supported values are the following: + // + // * "policy_kind=PRINCIPAL_ACCESS_BOUNDARY", + // * "policy_kind=ACCESS" + string filter = 6 [(google.api.field_behavior) = OPTIONAL]; } // Response message for SearchTargetPolicyBindings method. diff --git a/java-iam/proto-google-iam-v3beta/src/main/proto/google/iam/v3beta/principal_access_boundary_policies_service.proto b/java-iam/proto-google-iam-v3beta/src/main/proto/google/iam/v3beta/principal_access_boundary_policies_service.proto index fd3817c338..617d90c268 100644 --- a/java-iam/proto-google-iam-v3beta/src/main/proto/google/iam/v3beta/principal_access_boundary_policies_service.proto +++ b/java-iam/proto-google-iam-v3beta/src/main/proto/google/iam/v3beta/principal_access_boundary_policies_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. diff --git a/java-iam/proto-google-iam-v3beta/src/main/proto/google/iam/v3beta/principal_access_boundary_policy_resources.proto b/java-iam/proto-google-iam-v3beta/src/main/proto/google/iam/v3beta/principal_access_boundary_policy_resources.proto index 738e0cc05c..d1aa8b8209 100644 --- a/java-iam/proto-google-iam-v3beta/src/main/proto/google/iam/v3beta/principal_access_boundary_policy_resources.proto +++ b/java-iam/proto-google-iam-v3beta/src/main/proto/google/iam/v3beta/principal_access_boundary_policy_resources.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,