From f03eaea47f06a065655730bd91f050831ac2fd6c Mon Sep 17 00:00:00 2001 From: Diego Marquez Date: Tue, 2 Dec 2025 15:41:52 -0500 Subject: [PATCH 01/11] chore: add prerelease type and versioning to config --- release-please-config.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/release-please-config.json b/release-please-config.json index fffd8ff54..29454ea4c 100644 --- a/release-please-config.json +++ b/release-please-config.json @@ -1,5 +1,7 @@ { "release-type": "java-yoshi-mono-repo", + "prerelease-type": "rc1", + "versioning": "prerelease", "separate-pull-requests": false, "include-component-in-tag": false, "group-pull-request-title-pattern": "chore(${branch}): release ${version}", @@ -18,4 +20,4 @@ } }, "$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json" -} \ No newline at end of file +} From a3852119620bb2bb2a0177607f0facfdaea6a0cb Mon Sep 17 00:00:00 2001 From: diegomarquezp Date: Thu, 4 Dec 2025 19:05:30 +0000 Subject: [PATCH 02/11] feat: configure rc releases to be on prerelease mode --- release-please-config.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/release-please-config.json b/release-please-config.json index 29454ea4c..6f72631ba 100644 --- a/release-please-config.json +++ b/release-please-config.json @@ -20,4 +20,6 @@ } }, "$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json" +, + "prerelease": true } From 6e3911f79ed9b3057d16f370b29aa3232e3509f9 Mon Sep 17 00:00:00 2001 From: diegomarquezp Date: Thu, 4 Dec 2025 21:05:32 +0000 Subject: [PATCH 03/11] fix: next release candidate From d19b976af36e986bf79f37e5f7750bc544017b41 Mon Sep 17 00:00:00 2001 From: Diego Marquez Date: Thu, 4 Dec 2025 16:13:41 -0500 Subject: [PATCH 04/11] fix: allow -rc releases in MetricsUtilsTest --- .../javatests/com/google/auth/oauth2/MetricsUtilsTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/oauth2_http/javatests/com/google/auth/oauth2/MetricsUtilsTest.java b/oauth2_http/javatests/com/google/auth/oauth2/MetricsUtilsTest.java index eb035d09c..9e74263db 100644 --- a/oauth2_http/javatests/com/google/auth/oauth2/MetricsUtilsTest.java +++ b/oauth2_http/javatests/com/google/auth/oauth2/MetricsUtilsTest.java @@ -43,7 +43,7 @@ @RunWith(JUnit4.class) public class MetricsUtilsTest { static final String VERSION_PATTERN = - "gl-java/[\\d\\._-]+ auth/\\d+\\.\\d+\\.\\d+(-sp\\.\\d+)?(-SNAPSHOT)?"; + "gl-java/[\\d\\._-]+ auth/\\d+\\.\\d+\\.\\d+(-sp\\.\\d+)?(-rc\\d+)?(-SNAPSHOT)?"; static final String AUTH_REQUEST_TYPE_PATTERN = String.format(" %s/[\\w]+", MetricsUtils.AUTH_REQUEST_TYPE); static final String CRED_TYPE_PATTERN = String.format(" %s/[\\w]+", MetricsUtils.CRED_TYPE); From 4fcb1fc727fcd224b1051fb995bc017d5999a1f4 Mon Sep 17 00:00:00 2001 From: Diego Marquez Date: Tue, 9 Dec 2025 17:53:09 -0500 Subject: [PATCH 05/11] feat: update protobuf version to 4.33.0 and http-client to 2.1.0-rc1 (#1853) * fix(deps): update protobuf version to 4.33.0 * chore: update gencode to 4.33 * chore: format * deps: update http-client to 2.1.0-rc1 * chore: skip clirr --- ...ntSideCredentialAccessBoundaryFactory.java | 4 +- .../protobuf/ClientSideAccessBoundary.java | 1103 ++++++++ .../ClientSideAccessBoundaryOrBuilder.java | 100 + .../ClientSideAccessBoundaryProto.java | 2247 +---------------- .../ClientSideAccessBoundaryRule.java | 1368 ++++++++++ ...ClientSideAccessBoundaryRuleOrBuilder.java | 179 ++ ...deCredentialAccessBoundaryFactoryTest.java | 4 +- pom.xml | 5 +- 8 files changed, 2801 insertions(+), 2209 deletions(-) create mode 100644 cab-token-generator/java/com/google/auth/credentialaccessboundary/protobuf/ClientSideAccessBoundary.java create mode 100644 cab-token-generator/java/com/google/auth/credentialaccessboundary/protobuf/ClientSideAccessBoundaryOrBuilder.java create mode 100644 cab-token-generator/java/com/google/auth/credentialaccessboundary/protobuf/ClientSideAccessBoundaryRule.java create mode 100644 cab-token-generator/java/com/google/auth/credentialaccessboundary/protobuf/ClientSideAccessBoundaryRuleOrBuilder.java diff --git a/cab-token-generator/java/com/google/auth/credentialaccessboundary/ClientSideCredentialAccessBoundaryFactory.java b/cab-token-generator/java/com/google/auth/credentialaccessboundary/ClientSideCredentialAccessBoundaryFactory.java index 5b40442b5..cb1e1caa8 100644 --- a/cab-token-generator/java/com/google/auth/credentialaccessboundary/ClientSideCredentialAccessBoundaryFactory.java +++ b/cab-token-generator/java/com/google/auth/credentialaccessboundary/ClientSideCredentialAccessBoundaryFactory.java @@ -37,8 +37,8 @@ import com.google.api.client.util.Clock; import com.google.auth.Credentials; -import com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto.ClientSideAccessBoundary; -import com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto.ClientSideAccessBoundaryRule; +import com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundary; +import com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRule; import com.google.auth.http.HttpTransportFactory; import com.google.auth.oauth2.AccessToken; import com.google.auth.oauth2.CredentialAccessBoundary; diff --git a/cab-token-generator/java/com/google/auth/credentialaccessboundary/protobuf/ClientSideAccessBoundary.java b/cab-token-generator/java/com/google/auth/credentialaccessboundary/protobuf/ClientSideAccessBoundary.java new file mode 100644 index 000000000..afaa011d1 --- /dev/null +++ b/cab-token-generator/java/com/google/auth/credentialaccessboundary/protobuf/ClientSideAccessBoundary.java @@ -0,0 +1,1103 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: client_side_access_boundary.proto +// Protobuf Java Version: 4.33.0 + +package com.google.auth.credentialaccessboundary.protobuf; + +/** + * + * + *
+ * An access boundary defines the upper bound of what a principal may access. It
+ * includes a list of client-side access boundary rules that each defines the
+ * resource that may be allowed as well as permissions that may be used on those
+ * resources.
+ * 
+ * + * Protobuf type {@code cloud.identity.unifiedauth.proto.ClientSideAccessBoundary} + */ +@com.google.protobuf.Generated +public final class ClientSideAccessBoundary extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:cloud.identity.unifiedauth.proto.ClientSideAccessBoundary) + ClientSideAccessBoundaryOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 0, + /* suffix= */ "", + "ClientSideAccessBoundary"); + } + + // Use ClientSideAccessBoundary.newBuilder() to construct. + private ClientSideAccessBoundary(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private ClientSideAccessBoundary() { + accessBoundaryRules_ = java.util.Collections.emptyList(); + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto + .internal_static_cloud_identity_unifiedauth_proto_ClientSideAccessBoundary_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto + .internal_static_cloud_identity_unifiedauth_proto_ClientSideAccessBoundary_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundary.class, + com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundary.Builder + .class); + } + + public static final int ACCESS_BOUNDARY_RULES_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private java.util.List< + com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRule> + accessBoundaryRules_; + + /** + * + * + *
+   * A list of client-side access boundary rules which defines the upper bound
+   * of the permission a principal may carry. If multiple rules are specified,
+   * the effective access boundary is the union of all the access boundary rules
+   * attached.
+   * 
+ * + * + * repeated .cloud.identity.unifiedauth.proto.ClientSideAccessBoundaryRule access_boundary_rules = 1; + * + */ + @java.lang.Override + public java.util.List< + com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRule> + getAccessBoundaryRulesList() { + return accessBoundaryRules_; + } + + /** + * + * + *
+   * A list of client-side access boundary rules which defines the upper bound
+   * of the permission a principal may carry. If multiple rules are specified,
+   * the effective access boundary is the union of all the access boundary rules
+   * attached.
+   * 
+ * + * + * repeated .cloud.identity.unifiedauth.proto.ClientSideAccessBoundaryRule access_boundary_rules = 1; + * + */ + @java.lang.Override + public java.util.List< + ? extends + com.google.auth.credentialaccessboundary.protobuf + .ClientSideAccessBoundaryRuleOrBuilder> + getAccessBoundaryRulesOrBuilderList() { + return accessBoundaryRules_; + } + + /** + * + * + *
+   * A list of client-side access boundary rules which defines the upper bound
+   * of the permission a principal may carry. If multiple rules are specified,
+   * the effective access boundary is the union of all the access boundary rules
+   * attached.
+   * 
+ * + * + * repeated .cloud.identity.unifiedauth.proto.ClientSideAccessBoundaryRule access_boundary_rules = 1; + * + */ + @java.lang.Override + public int getAccessBoundaryRulesCount() { + return accessBoundaryRules_.size(); + } + + /** + * + * + *
+   * A list of client-side access boundary rules which defines the upper bound
+   * of the permission a principal may carry. If multiple rules are specified,
+   * the effective access boundary is the union of all the access boundary rules
+   * attached.
+   * 
+ * + * + * repeated .cloud.identity.unifiedauth.proto.ClientSideAccessBoundaryRule access_boundary_rules = 1; + * + */ + @java.lang.Override + public com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRule + getAccessBoundaryRules(int index) { + return accessBoundaryRules_.get(index); + } + + /** + * + * + *
+   * A list of client-side access boundary rules which defines the upper bound
+   * of the permission a principal may carry. If multiple rules are specified,
+   * the effective access boundary is the union of all the access boundary rules
+   * attached.
+   * 
+ * + * + * repeated .cloud.identity.unifiedauth.proto.ClientSideAccessBoundaryRule access_boundary_rules = 1; + * + */ + @java.lang.Override + public com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRuleOrBuilder + getAccessBoundaryRulesOrBuilder(int index) { + return accessBoundaryRules_.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 < accessBoundaryRules_.size(); i++) { + output.writeMessage(1, accessBoundaryRules_.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 < accessBoundaryRules_.size(); i++) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize(1, accessBoundaryRules_.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.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundary)) { + return super.equals(obj); + } + com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundary other = + (com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundary) obj; + + if (!getAccessBoundaryRulesList().equals(other.getAccessBoundaryRulesList())) 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 (getAccessBoundaryRulesCount() > 0) { + hash = (37 * hash) + ACCESS_BOUNDARY_RULES_FIELD_NUMBER; + hash = (53 * hash) + getAccessBoundaryRulesList().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundary + parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundary + parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundary + parseFrom(com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundary + 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.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundary + parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundary + parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundary + parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundary + 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.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundary + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundary + 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.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundary + parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundary + 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.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundary 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 access boundary defines the upper bound of what a principal may access. It
+   * includes a list of client-side access boundary rules that each defines the
+   * resource that may be allowed as well as permissions that may be used on those
+   * resources.
+   * 
+ * + * Protobuf type {@code cloud.identity.unifiedauth.proto.ClientSideAccessBoundary} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:cloud.identity.unifiedauth.proto.ClientSideAccessBoundary) + com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto + .internal_static_cloud_identity_unifiedauth_proto_ClientSideAccessBoundary_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto + .internal_static_cloud_identity_unifiedauth_proto_ClientSideAccessBoundary_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundary.class, + com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundary.Builder + .class); + } + + // Construct using + // com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundary.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + if (accessBoundaryRulesBuilder_ == null) { + accessBoundaryRules_ = java.util.Collections.emptyList(); + } else { + accessBoundaryRules_ = null; + accessBoundaryRulesBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000001); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto + .internal_static_cloud_identity_unifiedauth_proto_ClientSideAccessBoundary_descriptor; + } + + @java.lang.Override + public com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundary + getDefaultInstanceForType() { + return com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundary + .getDefaultInstance(); + } + + @java.lang.Override + public com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundary build() { + com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundary result = + buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundary + buildPartial() { + com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundary result = + new com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundary(this); + buildPartialRepeatedFields(result); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartialRepeatedFields( + com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundary result) { + if (accessBoundaryRulesBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + accessBoundaryRules_ = java.util.Collections.unmodifiableList(accessBoundaryRules_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.accessBoundaryRules_ = accessBoundaryRules_; + } else { + result.accessBoundaryRules_ = accessBoundaryRulesBuilder_.build(); + } + } + + private void buildPartial0( + com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundary result) { + int from_bitField0_ = bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other + instanceof com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundary) { + return mergeFrom( + (com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundary) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundary other) { + if (other + == com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundary + .getDefaultInstance()) return this; + if (accessBoundaryRulesBuilder_ == null) { + if (!other.accessBoundaryRules_.isEmpty()) { + if (accessBoundaryRules_.isEmpty()) { + accessBoundaryRules_ = other.accessBoundaryRules_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureAccessBoundaryRulesIsMutable(); + accessBoundaryRules_.addAll(other.accessBoundaryRules_); + } + onChanged(); + } + } else { + if (!other.accessBoundaryRules_.isEmpty()) { + if (accessBoundaryRulesBuilder_.isEmpty()) { + accessBoundaryRulesBuilder_.dispose(); + accessBoundaryRulesBuilder_ = null; + accessBoundaryRules_ = other.accessBoundaryRules_; + bitField0_ = (bitField0_ & ~0x00000001); + accessBoundaryRulesBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders + ? internalGetAccessBoundaryRulesFieldBuilder() + : null; + } else { + accessBoundaryRulesBuilder_.addAllMessages(other.accessBoundaryRules_); + } + } + } + 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.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRule m = + input.readMessage( + com.google.auth.credentialaccessboundary.protobuf + .ClientSideAccessBoundaryRule.parser(), + extensionRegistry); + if (accessBoundaryRulesBuilder_ == null) { + ensureAccessBoundaryRulesIsMutable(); + accessBoundaryRules_.add(m); + } else { + accessBoundaryRulesBuilder_.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< + com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRule> + accessBoundaryRules_ = java.util.Collections.emptyList(); + + private void ensureAccessBoundaryRulesIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + accessBoundaryRules_ = + new java.util.ArrayList< + com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRule>( + accessBoundaryRules_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRule, + com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRule.Builder, + com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRuleOrBuilder> + accessBoundaryRulesBuilder_; + + /** + * + * + *
+     * A list of client-side access boundary rules which defines the upper bound
+     * of the permission a principal may carry. If multiple rules are specified,
+     * the effective access boundary is the union of all the access boundary rules
+     * attached.
+     * 
+ * + * + * repeated .cloud.identity.unifiedauth.proto.ClientSideAccessBoundaryRule access_boundary_rules = 1; + * + */ + public java.util.List< + com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRule> + getAccessBoundaryRulesList() { + if (accessBoundaryRulesBuilder_ == null) { + return java.util.Collections.unmodifiableList(accessBoundaryRules_); + } else { + return accessBoundaryRulesBuilder_.getMessageList(); + } + } + + /** + * + * + *
+     * A list of client-side access boundary rules which defines the upper bound
+     * of the permission a principal may carry. If multiple rules are specified,
+     * the effective access boundary is the union of all the access boundary rules
+     * attached.
+     * 
+ * + * + * repeated .cloud.identity.unifiedauth.proto.ClientSideAccessBoundaryRule access_boundary_rules = 1; + * + */ + public int getAccessBoundaryRulesCount() { + if (accessBoundaryRulesBuilder_ == null) { + return accessBoundaryRules_.size(); + } else { + return accessBoundaryRulesBuilder_.getCount(); + } + } + + /** + * + * + *
+     * A list of client-side access boundary rules which defines the upper bound
+     * of the permission a principal may carry. If multiple rules are specified,
+     * the effective access boundary is the union of all the access boundary rules
+     * attached.
+     * 
+ * + * + * repeated .cloud.identity.unifiedauth.proto.ClientSideAccessBoundaryRule access_boundary_rules = 1; + * + */ + public com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRule + getAccessBoundaryRules(int index) { + if (accessBoundaryRulesBuilder_ == null) { + return accessBoundaryRules_.get(index); + } else { + return accessBoundaryRulesBuilder_.getMessage(index); + } + } + + /** + * + * + *
+     * A list of client-side access boundary rules which defines the upper bound
+     * of the permission a principal may carry. If multiple rules are specified,
+     * the effective access boundary is the union of all the access boundary rules
+     * attached.
+     * 
+ * + * + * repeated .cloud.identity.unifiedauth.proto.ClientSideAccessBoundaryRule access_boundary_rules = 1; + * + */ + public Builder setAccessBoundaryRules( + int index, + com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRule value) { + if (accessBoundaryRulesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureAccessBoundaryRulesIsMutable(); + accessBoundaryRules_.set(index, value); + onChanged(); + } else { + accessBoundaryRulesBuilder_.setMessage(index, value); + } + return this; + } + + /** + * + * + *
+     * A list of client-side access boundary rules which defines the upper bound
+     * of the permission a principal may carry. If multiple rules are specified,
+     * the effective access boundary is the union of all the access boundary rules
+     * attached.
+     * 
+ * + * + * repeated .cloud.identity.unifiedauth.proto.ClientSideAccessBoundaryRule access_boundary_rules = 1; + * + */ + public Builder setAccessBoundaryRules( + int index, + com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRule.Builder + builderForValue) { + if (accessBoundaryRulesBuilder_ == null) { + ensureAccessBoundaryRulesIsMutable(); + accessBoundaryRules_.set(index, builderForValue.build()); + onChanged(); + } else { + accessBoundaryRulesBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * A list of client-side access boundary rules which defines the upper bound
+     * of the permission a principal may carry. If multiple rules are specified,
+     * the effective access boundary is the union of all the access boundary rules
+     * attached.
+     * 
+ * + * + * repeated .cloud.identity.unifiedauth.proto.ClientSideAccessBoundaryRule access_boundary_rules = 1; + * + */ + public Builder addAccessBoundaryRules( + com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRule value) { + if (accessBoundaryRulesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureAccessBoundaryRulesIsMutable(); + accessBoundaryRules_.add(value); + onChanged(); + } else { + accessBoundaryRulesBuilder_.addMessage(value); + } + return this; + } + + /** + * + * + *
+     * A list of client-side access boundary rules which defines the upper bound
+     * of the permission a principal may carry. If multiple rules are specified,
+     * the effective access boundary is the union of all the access boundary rules
+     * attached.
+     * 
+ * + * + * repeated .cloud.identity.unifiedauth.proto.ClientSideAccessBoundaryRule access_boundary_rules = 1; + * + */ + public Builder addAccessBoundaryRules( + int index, + com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRule value) { + if (accessBoundaryRulesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureAccessBoundaryRulesIsMutable(); + accessBoundaryRules_.add(index, value); + onChanged(); + } else { + accessBoundaryRulesBuilder_.addMessage(index, value); + } + return this; + } + + /** + * + * + *
+     * A list of client-side access boundary rules which defines the upper bound
+     * of the permission a principal may carry. If multiple rules are specified,
+     * the effective access boundary is the union of all the access boundary rules
+     * attached.
+     * 
+ * + * + * repeated .cloud.identity.unifiedauth.proto.ClientSideAccessBoundaryRule access_boundary_rules = 1; + * + */ + public Builder addAccessBoundaryRules( + com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRule.Builder + builderForValue) { + if (accessBoundaryRulesBuilder_ == null) { + ensureAccessBoundaryRulesIsMutable(); + accessBoundaryRules_.add(builderForValue.build()); + onChanged(); + } else { + accessBoundaryRulesBuilder_.addMessage(builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * A list of client-side access boundary rules which defines the upper bound
+     * of the permission a principal may carry. If multiple rules are specified,
+     * the effective access boundary is the union of all the access boundary rules
+     * attached.
+     * 
+ * + * + * repeated .cloud.identity.unifiedauth.proto.ClientSideAccessBoundaryRule access_boundary_rules = 1; + * + */ + public Builder addAccessBoundaryRules( + int index, + com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRule.Builder + builderForValue) { + if (accessBoundaryRulesBuilder_ == null) { + ensureAccessBoundaryRulesIsMutable(); + accessBoundaryRules_.add(index, builderForValue.build()); + onChanged(); + } else { + accessBoundaryRulesBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * A list of client-side access boundary rules which defines the upper bound
+     * of the permission a principal may carry. If multiple rules are specified,
+     * the effective access boundary is the union of all the access boundary rules
+     * attached.
+     * 
+ * + * + * repeated .cloud.identity.unifiedauth.proto.ClientSideAccessBoundaryRule access_boundary_rules = 1; + * + */ + public Builder addAllAccessBoundaryRules( + java.lang.Iterable< + ? extends + com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRule> + values) { + if (accessBoundaryRulesBuilder_ == null) { + ensureAccessBoundaryRulesIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, accessBoundaryRules_); + onChanged(); + } else { + accessBoundaryRulesBuilder_.addAllMessages(values); + } + return this; + } + + /** + * + * + *
+     * A list of client-side access boundary rules which defines the upper bound
+     * of the permission a principal may carry. If multiple rules are specified,
+     * the effective access boundary is the union of all the access boundary rules
+     * attached.
+     * 
+ * + * + * repeated .cloud.identity.unifiedauth.proto.ClientSideAccessBoundaryRule access_boundary_rules = 1; + * + */ + public Builder clearAccessBoundaryRules() { + if (accessBoundaryRulesBuilder_ == null) { + accessBoundaryRules_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + accessBoundaryRulesBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+     * A list of client-side access boundary rules which defines the upper bound
+     * of the permission a principal may carry. If multiple rules are specified,
+     * the effective access boundary is the union of all the access boundary rules
+     * attached.
+     * 
+ * + * + * repeated .cloud.identity.unifiedauth.proto.ClientSideAccessBoundaryRule access_boundary_rules = 1; + * + */ + public Builder removeAccessBoundaryRules(int index) { + if (accessBoundaryRulesBuilder_ == null) { + ensureAccessBoundaryRulesIsMutable(); + accessBoundaryRules_.remove(index); + onChanged(); + } else { + accessBoundaryRulesBuilder_.remove(index); + } + return this; + } + + /** + * + * + *
+     * A list of client-side access boundary rules which defines the upper bound
+     * of the permission a principal may carry. If multiple rules are specified,
+     * the effective access boundary is the union of all the access boundary rules
+     * attached.
+     * 
+ * + * + * repeated .cloud.identity.unifiedauth.proto.ClientSideAccessBoundaryRule access_boundary_rules = 1; + * + */ + public com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRule.Builder + getAccessBoundaryRulesBuilder(int index) { + return internalGetAccessBoundaryRulesFieldBuilder().getBuilder(index); + } + + /** + * + * + *
+     * A list of client-side access boundary rules which defines the upper bound
+     * of the permission a principal may carry. If multiple rules are specified,
+     * the effective access boundary is the union of all the access boundary rules
+     * attached.
+     * 
+ * + * + * repeated .cloud.identity.unifiedauth.proto.ClientSideAccessBoundaryRule access_boundary_rules = 1; + * + */ + public com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRuleOrBuilder + getAccessBoundaryRulesOrBuilder(int index) { + if (accessBoundaryRulesBuilder_ == null) { + return accessBoundaryRules_.get(index); + } else { + return accessBoundaryRulesBuilder_.getMessageOrBuilder(index); + } + } + + /** + * + * + *
+     * A list of client-side access boundary rules which defines the upper bound
+     * of the permission a principal may carry. If multiple rules are specified,
+     * the effective access boundary is the union of all the access boundary rules
+     * attached.
+     * 
+ * + * + * repeated .cloud.identity.unifiedauth.proto.ClientSideAccessBoundaryRule access_boundary_rules = 1; + * + */ + public java.util.List< + ? extends + com.google.auth.credentialaccessboundary.protobuf + .ClientSideAccessBoundaryRuleOrBuilder> + getAccessBoundaryRulesOrBuilderList() { + if (accessBoundaryRulesBuilder_ != null) { + return accessBoundaryRulesBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(accessBoundaryRules_); + } + } + + /** + * + * + *
+     * A list of client-side access boundary rules which defines the upper bound
+     * of the permission a principal may carry. If multiple rules are specified,
+     * the effective access boundary is the union of all the access boundary rules
+     * attached.
+     * 
+ * + * + * repeated .cloud.identity.unifiedauth.proto.ClientSideAccessBoundaryRule access_boundary_rules = 1; + * + */ + public com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRule.Builder + addAccessBoundaryRulesBuilder() { + return internalGetAccessBoundaryRulesFieldBuilder() + .addBuilder( + com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRule + .getDefaultInstance()); + } + + /** + * + * + *
+     * A list of client-side access boundary rules which defines the upper bound
+     * of the permission a principal may carry. If multiple rules are specified,
+     * the effective access boundary is the union of all the access boundary rules
+     * attached.
+     * 
+ * + * + * repeated .cloud.identity.unifiedauth.proto.ClientSideAccessBoundaryRule access_boundary_rules = 1; + * + */ + public com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRule.Builder + addAccessBoundaryRulesBuilder(int index) { + return internalGetAccessBoundaryRulesFieldBuilder() + .addBuilder( + index, + com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRule + .getDefaultInstance()); + } + + /** + * + * + *
+     * A list of client-side access boundary rules which defines the upper bound
+     * of the permission a principal may carry. If multiple rules are specified,
+     * the effective access boundary is the union of all the access boundary rules
+     * attached.
+     * 
+ * + * + * repeated .cloud.identity.unifiedauth.proto.ClientSideAccessBoundaryRule access_boundary_rules = 1; + * + */ + public java.util.List< + com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRule.Builder> + getAccessBoundaryRulesBuilderList() { + return internalGetAccessBoundaryRulesFieldBuilder().getBuilderList(); + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRule, + com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRule.Builder, + com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRuleOrBuilder> + internalGetAccessBoundaryRulesFieldBuilder() { + if (accessBoundaryRulesBuilder_ == null) { + accessBoundaryRulesBuilder_ = + new com.google.protobuf.RepeatedFieldBuilder< + com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRule, + com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRule + .Builder, + com.google.auth.credentialaccessboundary.protobuf + .ClientSideAccessBoundaryRuleOrBuilder>( + accessBoundaryRules_, + ((bitField0_ & 0x00000001) != 0), + getParentForChildren(), + isClean()); + accessBoundaryRules_ = null; + } + return accessBoundaryRulesBuilder_; + } + + // @@protoc_insertion_point(builder_scope:cloud.identity.unifiedauth.proto.ClientSideAccessBoundary) + } + + // @@protoc_insertion_point(class_scope:cloud.identity.unifiedauth.proto.ClientSideAccessBoundary) + private static final com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundary + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = + new com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundary(); + } + + public static com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundary + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ClientSideAccessBoundary 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.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundary + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/cab-token-generator/java/com/google/auth/credentialaccessboundary/protobuf/ClientSideAccessBoundaryOrBuilder.java b/cab-token-generator/java/com/google/auth/credentialaccessboundary/protobuf/ClientSideAccessBoundaryOrBuilder.java new file mode 100644 index 000000000..3d8824472 --- /dev/null +++ b/cab-token-generator/java/com/google/auth/credentialaccessboundary/protobuf/ClientSideAccessBoundaryOrBuilder.java @@ -0,0 +1,100 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: client_side_access_boundary.proto +// Protobuf Java Version: 4.33.0 + +package com.google.auth.credentialaccessboundary.protobuf; + +@com.google.protobuf.Generated +public interface ClientSideAccessBoundaryOrBuilder + extends + // @@protoc_insertion_point(interface_extends:cloud.identity.unifiedauth.proto.ClientSideAccessBoundary) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * A list of client-side access boundary rules which defines the upper bound
+   * of the permission a principal may carry. If multiple rules are specified,
+   * the effective access boundary is the union of all the access boundary rules
+   * attached.
+   * 
+ * + * + * repeated .cloud.identity.unifiedauth.proto.ClientSideAccessBoundaryRule access_boundary_rules = 1; + * + */ + java.util.List + getAccessBoundaryRulesList(); + + /** + * + * + *
+   * A list of client-side access boundary rules which defines the upper bound
+   * of the permission a principal may carry. If multiple rules are specified,
+   * the effective access boundary is the union of all the access boundary rules
+   * attached.
+   * 
+ * + * + * repeated .cloud.identity.unifiedauth.proto.ClientSideAccessBoundaryRule access_boundary_rules = 1; + * + */ + com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRule + getAccessBoundaryRules(int index); + + /** + * + * + *
+   * A list of client-side access boundary rules which defines the upper bound
+   * of the permission a principal may carry. If multiple rules are specified,
+   * the effective access boundary is the union of all the access boundary rules
+   * attached.
+   * 
+ * + * + * repeated .cloud.identity.unifiedauth.proto.ClientSideAccessBoundaryRule access_boundary_rules = 1; + * + */ + int getAccessBoundaryRulesCount(); + + /** + * + * + *
+   * A list of client-side access boundary rules which defines the upper bound
+   * of the permission a principal may carry. If multiple rules are specified,
+   * the effective access boundary is the union of all the access boundary rules
+   * attached.
+   * 
+ * + * + * repeated .cloud.identity.unifiedauth.proto.ClientSideAccessBoundaryRule access_boundary_rules = 1; + * + */ + java.util.List< + ? extends + com.google.auth.credentialaccessboundary.protobuf + .ClientSideAccessBoundaryRuleOrBuilder> + getAccessBoundaryRulesOrBuilderList(); + + /** + * + * + *
+   * A list of client-side access boundary rules which defines the upper bound
+   * of the permission a principal may carry. If multiple rules are specified,
+   * the effective access boundary is the union of all the access boundary rules
+   * attached.
+   * 
+ * + * + * repeated .cloud.identity.unifiedauth.proto.ClientSideAccessBoundaryRule access_boundary_rules = 1; + * + */ + com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRuleOrBuilder + getAccessBoundaryRulesOrBuilder(int index); +} diff --git a/cab-token-generator/java/com/google/auth/credentialaccessboundary/protobuf/ClientSideAccessBoundaryProto.java b/cab-token-generator/java/com/google/auth/credentialaccessboundary/protobuf/ClientSideAccessBoundaryProto.java index 307f8bde9..2e35de87f 100644 --- a/cab-token-generator/java/com/google/auth/credentialaccessboundary/protobuf/ClientSideAccessBoundaryProto.java +++ b/cab-token-generator/java/com/google/auth/credentialaccessboundary/protobuf/ClientSideAccessBoundaryProto.java @@ -1,2197 +1,38 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: client_side_access_boundary.proto +// Protobuf Java Version: 4.33.0 -// Protobuf Java Version: 3.25.5 package com.google.auth.credentialaccessboundary.protobuf; -public final class ClientSideAccessBoundaryProto { +@com.google.protobuf.Generated +public final class ClientSideAccessBoundaryProto extends com.google.protobuf.GeneratedFile { private ClientSideAccessBoundaryProto() {} + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 0, + /* suffix= */ "", + "ClientSideAccessBoundaryProto"); + } + public static void registerAllExtensions(com.google.protobuf.ExtensionRegistryLite registry) {} public static void registerAllExtensions(com.google.protobuf.ExtensionRegistry registry) { registerAllExtensions((com.google.protobuf.ExtensionRegistryLite) registry); } - public interface ClientSideAccessBoundaryRuleOrBuilder - extends - // @@protoc_insertion_point(interface_extends:com.google.auth.credentialaccessboundary.proto.ClientSideAccessBoundaryRule) - com.google.protobuf.MessageOrBuilder { - - /** - * string available_resource = 1; - * - * @return The availableResource. - */ - java.lang.String getAvailableResource(); - - /** - * string available_resource = 1; - * - * @return The bytes for availableResource. - */ - com.google.protobuf.ByteString getAvailableResourceBytes(); - - /** - * repeated string available_permissions = 2; - * - * @return A list containing the availablePermissions. - */ - java.util.List getAvailablePermissionsList(); - - /** - * repeated string available_permissions = 2; - * - * @return The count of availablePermissions. - */ - int getAvailablePermissionsCount(); - - /** - * repeated string available_permissions = 2; - * - * @param index The index of the element to return. - * @return The availablePermissions at the given index. - */ - java.lang.String getAvailablePermissions(int index); - - /** - * repeated string available_permissions = 2; - * - * @param index The index of the value to return. - * @return The bytes of the availablePermissions at the given index. - */ - com.google.protobuf.ByteString getAvailablePermissionsBytes(int index); - - /** - * .cel.expr.Expr compiled_availability_condition = 4; - * - * @return Whether the compiledAvailabilityCondition field is set. - */ - boolean hasCompiledAvailabilityCondition(); - - /** - * .cel.expr.Expr compiled_availability_condition = 4; - * - * @return The compiledAvailabilityCondition. - */ - dev.cel.expr.Expr getCompiledAvailabilityCondition(); - - /** .cel.expr.Expr compiled_availability_condition = 4; */ - dev.cel.expr.ExprOrBuilder getCompiledAvailabilityConditionOrBuilder(); - } - - /** - * Protobuf type {@code - * com.google.auth.credentialaccessboundary.proto.ClientSideAccessBoundaryRule} - */ - public static final class ClientSideAccessBoundaryRule - extends com.google.protobuf.GeneratedMessageV3 - implements - // @@protoc_insertion_point(message_implements:com.google.auth.credentialaccessboundary.proto.ClientSideAccessBoundaryRule) - ClientSideAccessBoundaryRuleOrBuilder { - private static final long serialVersionUID = 0L; - - // Use ClientSideAccessBoundaryRule.newBuilder() to construct. - private ClientSideAccessBoundaryRule( - com.google.protobuf.GeneratedMessageV3.Builder builder) { - super(builder); - } - - private ClientSideAccessBoundaryRule() { - availableResource_ = ""; - availablePermissions_ = com.google.protobuf.LazyStringArrayList.emptyList(); - } - - @java.lang.Override - @SuppressWarnings({"unused"}) - protected java.lang.Object newInstance(UnusedPrivateParameter unused) { - return new ClientSideAccessBoundaryRule(); - } - - public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .internal_static_com_google_auth_credentialaccessboundary_proto_ClientSideAccessBoundaryRule_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { - return com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .internal_static_com_google_auth_credentialaccessboundary_proto_ClientSideAccessBoundaryRule_fieldAccessorTable - .ensureFieldAccessorsInitialized( - com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRule.class, - com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRule.Builder.class); - } - - private int bitField0_; - public static final int AVAILABLE_RESOURCE_FIELD_NUMBER = 1; - - @SuppressWarnings("serial") - private volatile java.lang.Object availableResource_ = ""; - - /** - * string available_resource = 1; - * - * @return The availableResource. - */ - @java.lang.Override - public java.lang.String getAvailableResource() { - java.lang.Object ref = availableResource_; - 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(); - availableResource_ = s; - return s; - } - } - - /** - * string available_resource = 1; - * - * @return The bytes for availableResource. - */ - @java.lang.Override - public com.google.protobuf.ByteString getAvailableResourceBytes() { - java.lang.Object ref = availableResource_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); - availableResource_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - public static final int AVAILABLE_PERMISSIONS_FIELD_NUMBER = 2; - - @SuppressWarnings("serial") - private com.google.protobuf.LazyStringArrayList availablePermissions_ = - com.google.protobuf.LazyStringArrayList.emptyList(); - - /** - * repeated string available_permissions = 2; - * - * @return A list containing the availablePermissions. - */ - public com.google.protobuf.ProtocolStringList getAvailablePermissionsList() { - return availablePermissions_; - } - - /** - * repeated string available_permissions = 2; - * - * @return The count of availablePermissions. - */ - public int getAvailablePermissionsCount() { - return availablePermissions_.size(); - } - - /** - * repeated string available_permissions = 2; - * - * @param index The index of the element to return. - * @return The availablePermissions at the given index. - */ - public java.lang.String getAvailablePermissions(int index) { - return availablePermissions_.get(index); - } - - /** - * repeated string available_permissions = 2; - * - * @param index The index of the value to return. - * @return The bytes of the availablePermissions at the given index. - */ - public com.google.protobuf.ByteString getAvailablePermissionsBytes(int index) { - return availablePermissions_.getByteString(index); - } - - public static final int COMPILED_AVAILABILITY_CONDITION_FIELD_NUMBER = 4; - private dev.cel.expr.Expr compiledAvailabilityCondition_; - - /** - * .cel.expr.Expr compiled_availability_condition = 4; - * - * @return Whether the compiledAvailabilityCondition field is set. - */ - @java.lang.Override - public boolean hasCompiledAvailabilityCondition() { - return ((bitField0_ & 0x00000001) != 0); - } - - /** - * .cel.expr.Expr compiled_availability_condition = 4; - * - * @return The compiledAvailabilityCondition. - */ - @java.lang.Override - public dev.cel.expr.Expr getCompiledAvailabilityCondition() { - return compiledAvailabilityCondition_ == null - ? dev.cel.expr.Expr.getDefaultInstance() - : compiledAvailabilityCondition_; - } - - /** .cel.expr.Expr compiled_availability_condition = 4; */ - @java.lang.Override - public dev.cel.expr.ExprOrBuilder getCompiledAvailabilityConditionOrBuilder() { - return compiledAvailabilityCondition_ == null - ? dev.cel.expr.Expr.getDefaultInstance() - : compiledAvailabilityCondition_; - } - - 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.GeneratedMessageV3.isStringEmpty(availableResource_)) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 1, availableResource_); - } - for (int i = 0; i < availablePermissions_.size(); i++) { - com.google.protobuf.GeneratedMessageV3.writeString( - output, 2, availablePermissions_.getRaw(i)); - } - if (((bitField0_ & 0x00000001) != 0)) { - output.writeMessage(4, getCompiledAvailabilityCondition()); - } - getUnknownFields().writeTo(output); - } - - @java.lang.Override - public int getSerializedSize() { - int size = memoizedSize; - if (size != -1) return size; - - size = 0; - if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(availableResource_)) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, availableResource_); - } - { - int dataSize = 0; - for (int i = 0; i < availablePermissions_.size(); i++) { - dataSize += computeStringSizeNoTag(availablePermissions_.getRaw(i)); - } - size += dataSize; - size += 1 * getAvailablePermissionsList().size(); - } - if (((bitField0_ & 0x00000001) != 0)) { - size += - com.google.protobuf.CodedOutputStream.computeMessageSize( - 4, getCompiledAvailabilityCondition()); - } - 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.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRule)) { - return super.equals(obj); - } - com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRule - other = - (com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRule) - obj; - - if (!getAvailableResource().equals(other.getAvailableResource())) return false; - if (!getAvailablePermissionsList().equals(other.getAvailablePermissionsList())) return false; - if (hasCompiledAvailabilityCondition() != other.hasCompiledAvailabilityCondition()) - return false; - if (hasCompiledAvailabilityCondition()) { - if (!getCompiledAvailabilityCondition().equals(other.getCompiledAvailabilityCondition())) - 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) + AVAILABLE_RESOURCE_FIELD_NUMBER; - hash = (53 * hash) + getAvailableResource().hashCode(); - if (getAvailablePermissionsCount() > 0) { - hash = (37 * hash) + AVAILABLE_PERMISSIONS_FIELD_NUMBER; - hash = (53 * hash) + getAvailablePermissionsList().hashCode(); - } - if (hasCompiledAvailabilityCondition()) { - hash = (37 * hash) + COMPILED_AVAILABILITY_CONDITION_FIELD_NUMBER; - hash = (53 * hash) + getCompiledAvailabilityCondition().hashCode(); - } - hash = (29 * hash) + getUnknownFields().hashCode(); - memoizedHashCode = hash; - return hash; - } - - public static com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRule - parseFrom(java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - - public static com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRule - parseFrom( - java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - - public static com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRule - parseFrom(com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - - public static com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRule - 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.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRule - parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - - public static com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRule - parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - - public static com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRule - parseFrom(java.io.InputStream input) throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); - } - - public static com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRule - parseFrom( - java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3.parseWithIOException( - PARSER, input, extensionRegistry); - } - - public static com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRule - parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input); - } - - public static com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRule - parseDelimitedFrom( - java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException( - PARSER, input, extensionRegistry); - } - - public static com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRule - parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); - } - - public static com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRule - parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3.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.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRule - 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.GeneratedMessageV3.BuilderParent parent) { - Builder builder = new Builder(parent); - return builder; - } - - /** - * Protobuf type {@code - * com.google.auth.credentialaccessboundary.proto.ClientSideAccessBoundaryRule} - */ - public static final class Builder - extends com.google.protobuf.GeneratedMessageV3.Builder - implements - // @@protoc_insertion_point(builder_implements:com.google.auth.credentialaccessboundary.proto.ClientSideAccessBoundaryRule) - com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRuleOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .internal_static_com_google_auth_credentialaccessboundary_proto_ClientSideAccessBoundaryRule_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { - return com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .internal_static_com_google_auth_credentialaccessboundary_proto_ClientSideAccessBoundaryRule_fieldAccessorTable - .ensureFieldAccessorsInitialized( - com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRule.class, - com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRule.Builder.class); - } - - // Construct using - // com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto.ClientSideAccessBoundaryRule.newBuilder() - private Builder() { - maybeForceBuilderInitialization(); - } - - private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { - super(parent); - maybeForceBuilderInitialization(); - } - - private void maybeForceBuilderInitialization() { - if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) { - getCompiledAvailabilityConditionFieldBuilder(); - } - } - - @java.lang.Override - public Builder clear() { - super.clear(); - bitField0_ = 0; - availableResource_ = ""; - availablePermissions_ = com.google.protobuf.LazyStringArrayList.emptyList(); - compiledAvailabilityCondition_ = null; - if (compiledAvailabilityConditionBuilder_ != null) { - compiledAvailabilityConditionBuilder_.dispose(); - compiledAvailabilityConditionBuilder_ = null; - } - return this; - } - - @java.lang.Override - public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .internal_static_com_google_auth_credentialaccessboundary_proto_ClientSideAccessBoundaryRule_descriptor; - } - - @java.lang.Override - public com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRule - getDefaultInstanceForType() { - return com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRule.getDefaultInstance(); - } - - @java.lang.Override - public com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRule - build() { - com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRule - result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - @java.lang.Override - public com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRule - buildPartial() { - com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRule - result = - new com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRule(this); - if (bitField0_ != 0) { - buildPartial0(result); - } - onBuilt(); - return result; - } - - private void buildPartial0( - com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRule - result) { - int from_bitField0_ = bitField0_; - if (((from_bitField0_ & 0x00000001) != 0)) { - result.availableResource_ = availableResource_; - } - if (((from_bitField0_ & 0x00000002) != 0)) { - availablePermissions_.makeImmutable(); - result.availablePermissions_ = availablePermissions_; - } - int to_bitField0_ = 0; - if (((from_bitField0_ & 0x00000004) != 0)) { - result.compiledAvailabilityCondition_ = - compiledAvailabilityConditionBuilder_ == null - ? compiledAvailabilityCondition_ - : compiledAvailabilityConditionBuilder_.build(); - to_bitField0_ |= 0x00000001; - } - result.bitField0_ |= to_bitField0_; - } - - @java.lang.Override - public Builder clone() { - return super.clone(); - } - - @java.lang.Override - public Builder setField( - com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { - return super.setField(field, value); - } - - @java.lang.Override - public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { - return super.clearField(field); - } - - @java.lang.Override - public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { - return super.clearOneof(oneof); - } - - @java.lang.Override - public Builder setRepeatedField( - com.google.protobuf.Descriptors.FieldDescriptor field, - int index, - java.lang.Object value) { - return super.setRepeatedField(field, index, value); - } - - @java.lang.Override - public Builder addRepeatedField( - com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { - return super.addRepeatedField(field, value); - } - - @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other - instanceof - com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRule) { - return mergeFrom( - (com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRule) - other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom( - com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRule - other) { - if (other - == com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRule.getDefaultInstance()) return this; - if (!other.getAvailableResource().isEmpty()) { - availableResource_ = other.availableResource_; - bitField0_ |= 0x00000001; - onChanged(); - } - if (!other.availablePermissions_.isEmpty()) { - if (availablePermissions_.isEmpty()) { - availablePermissions_ = other.availablePermissions_; - bitField0_ |= 0x00000002; - } else { - ensureAvailablePermissionsIsMutable(); - availablePermissions_.addAll(other.availablePermissions_); - } - onChanged(); - } - if (other.hasCompiledAvailabilityCondition()) { - mergeCompiledAvailabilityCondition(other.getCompiledAvailabilityCondition()); - } - 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: - { - availableResource_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000001; - break; - } // case 10 - case 18: - { - java.lang.String s = input.readStringRequireUtf8(); - ensureAvailablePermissionsIsMutable(); - availablePermissions_.add(s); - break; - } // case 18 - case 34: - { - input.readMessage( - getCompiledAvailabilityConditionFieldBuilder().getBuilder(), - extensionRegistry); - bitField0_ |= 0x00000004; - break; - } // case 34 - 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 availableResource_ = ""; - - /** - * string available_resource = 1; - * - * @return The availableResource. - */ - public java.lang.String getAvailableResource() { - java.lang.Object ref = availableResource_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - availableResource_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - - /** - * string available_resource = 1; - * - * @return The bytes for availableResource. - */ - public com.google.protobuf.ByteString getAvailableResourceBytes() { - java.lang.Object ref = availableResource_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); - availableResource_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - /** - * string available_resource = 1; - * - * @param value The availableResource to set. - * @return This builder for chaining. - */ - public Builder setAvailableResource(java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - availableResource_ = value; - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - - /** - * string available_resource = 1; - * - * @return This builder for chaining. - */ - public Builder clearAvailableResource() { - availableResource_ = getDefaultInstance().getAvailableResource(); - bitField0_ = (bitField0_ & ~0x00000001); - onChanged(); - return this; - } - - /** - * string available_resource = 1; - * - * @param value The bytes for availableResource to set. - * @return This builder for chaining. - */ - public Builder setAvailableResourceBytes(com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - checkByteStringIsUtf8(value); - availableResource_ = value; - bitField0_ |= 0x00000001; - onChanged(); - return this; - } - - private com.google.protobuf.LazyStringArrayList availablePermissions_ = - com.google.protobuf.LazyStringArrayList.emptyList(); - - private void ensureAvailablePermissionsIsMutable() { - if (!availablePermissions_.isModifiable()) { - availablePermissions_ = - new com.google.protobuf.LazyStringArrayList(availablePermissions_); - } - bitField0_ |= 0x00000002; - } - - /** - * repeated string available_permissions = 2; - * - * @return A list containing the availablePermissions. - */ - public com.google.protobuf.ProtocolStringList getAvailablePermissionsList() { - availablePermissions_.makeImmutable(); - return availablePermissions_; - } - - /** - * repeated string available_permissions = 2; - * - * @return The count of availablePermissions. - */ - public int getAvailablePermissionsCount() { - return availablePermissions_.size(); - } - - /** - * repeated string available_permissions = 2; - * - * @param index The index of the element to return. - * @return The availablePermissions at the given index. - */ - public java.lang.String getAvailablePermissions(int index) { - return availablePermissions_.get(index); - } - - /** - * repeated string available_permissions = 2; - * - * @param index The index of the value to return. - * @return The bytes of the availablePermissions at the given index. - */ - public com.google.protobuf.ByteString getAvailablePermissionsBytes(int index) { - return availablePermissions_.getByteString(index); - } - - /** - * repeated string available_permissions = 2; - * - * @param index The index to set the value at. - * @param value The availablePermissions to set. - * @return This builder for chaining. - */ - public Builder setAvailablePermissions(int index, java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - ensureAvailablePermissionsIsMutable(); - availablePermissions_.set(index, value); - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - - /** - * repeated string available_permissions = 2; - * - * @param value The availablePermissions to add. - * @return This builder for chaining. - */ - public Builder addAvailablePermissions(java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - ensureAvailablePermissionsIsMutable(); - availablePermissions_.add(value); - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - - /** - * repeated string available_permissions = 2; - * - * @param values The availablePermissions to add. - * @return This builder for chaining. - */ - public Builder addAllAvailablePermissions(java.lang.Iterable values) { - ensureAvailablePermissionsIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll(values, availablePermissions_); - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - - /** - * repeated string available_permissions = 2; - * - * @return This builder for chaining. - */ - public Builder clearAvailablePermissions() { - availablePermissions_ = com.google.protobuf.LazyStringArrayList.emptyList(); - bitField0_ = (bitField0_ & ~0x00000002); - ; - onChanged(); - return this; - } - - /** - * repeated string available_permissions = 2; - * - * @param value The bytes of the availablePermissions to add. - * @return This builder for chaining. - */ - public Builder addAvailablePermissionsBytes(com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - checkByteStringIsUtf8(value); - ensureAvailablePermissionsIsMutable(); - availablePermissions_.add(value); - bitField0_ |= 0x00000002; - onChanged(); - return this; - } - - private dev.cel.expr.Expr compiledAvailabilityCondition_; - private com.google.protobuf.SingleFieldBuilderV3< - dev.cel.expr.Expr, dev.cel.expr.Expr.Builder, dev.cel.expr.ExprOrBuilder> - compiledAvailabilityConditionBuilder_; - - /** - * .cel.expr.Expr compiled_availability_condition = 4; - * - * @return Whether the compiledAvailabilityCondition field is set. - */ - public boolean hasCompiledAvailabilityCondition() { - return ((bitField0_ & 0x00000004) != 0); - } - - /** - * .cel.expr.Expr compiled_availability_condition = 4; - * - * @return The compiledAvailabilityCondition. - */ - public dev.cel.expr.Expr getCompiledAvailabilityCondition() { - if (compiledAvailabilityConditionBuilder_ == null) { - return compiledAvailabilityCondition_ == null - ? dev.cel.expr.Expr.getDefaultInstance() - : compiledAvailabilityCondition_; - } else { - return compiledAvailabilityConditionBuilder_.getMessage(); - } - } - - /** .cel.expr.Expr compiled_availability_condition = 4; */ - public Builder setCompiledAvailabilityCondition(dev.cel.expr.Expr value) { - if (compiledAvailabilityConditionBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - compiledAvailabilityCondition_ = value; - } else { - compiledAvailabilityConditionBuilder_.setMessage(value); - } - bitField0_ |= 0x00000004; - onChanged(); - return this; - } - - /** .cel.expr.Expr compiled_availability_condition = 4; */ - public Builder setCompiledAvailabilityCondition(dev.cel.expr.Expr.Builder builderForValue) { - if (compiledAvailabilityConditionBuilder_ == null) { - compiledAvailabilityCondition_ = builderForValue.build(); - } else { - compiledAvailabilityConditionBuilder_.setMessage(builderForValue.build()); - } - bitField0_ |= 0x00000004; - onChanged(); - return this; - } - - /** .cel.expr.Expr compiled_availability_condition = 4; */ - public Builder mergeCompiledAvailabilityCondition(dev.cel.expr.Expr value) { - if (compiledAvailabilityConditionBuilder_ == null) { - if (((bitField0_ & 0x00000004) != 0) - && compiledAvailabilityCondition_ != null - && compiledAvailabilityCondition_ != dev.cel.expr.Expr.getDefaultInstance()) { - getCompiledAvailabilityConditionBuilder().mergeFrom(value); - } else { - compiledAvailabilityCondition_ = value; - } - } else { - compiledAvailabilityConditionBuilder_.mergeFrom(value); - } - if (compiledAvailabilityCondition_ != null) { - bitField0_ |= 0x00000004; - onChanged(); - } - return this; - } - - /** .cel.expr.Expr compiled_availability_condition = 4; */ - public Builder clearCompiledAvailabilityCondition() { - bitField0_ = (bitField0_ & ~0x00000004); - compiledAvailabilityCondition_ = null; - if (compiledAvailabilityConditionBuilder_ != null) { - compiledAvailabilityConditionBuilder_.dispose(); - compiledAvailabilityConditionBuilder_ = null; - } - onChanged(); - return this; - } - - /** .cel.expr.Expr compiled_availability_condition = 4; */ - public dev.cel.expr.Expr.Builder getCompiledAvailabilityConditionBuilder() { - bitField0_ |= 0x00000004; - onChanged(); - return getCompiledAvailabilityConditionFieldBuilder().getBuilder(); - } - - /** .cel.expr.Expr compiled_availability_condition = 4; */ - public dev.cel.expr.ExprOrBuilder getCompiledAvailabilityConditionOrBuilder() { - if (compiledAvailabilityConditionBuilder_ != null) { - return compiledAvailabilityConditionBuilder_.getMessageOrBuilder(); - } else { - return compiledAvailabilityCondition_ == null - ? dev.cel.expr.Expr.getDefaultInstance() - : compiledAvailabilityCondition_; - } - } - - /** .cel.expr.Expr compiled_availability_condition = 4; */ - private com.google.protobuf.SingleFieldBuilderV3< - dev.cel.expr.Expr, dev.cel.expr.Expr.Builder, dev.cel.expr.ExprOrBuilder> - getCompiledAvailabilityConditionFieldBuilder() { - if (compiledAvailabilityConditionBuilder_ == null) { - compiledAvailabilityConditionBuilder_ = - new com.google.protobuf.SingleFieldBuilderV3< - dev.cel.expr.Expr, dev.cel.expr.Expr.Builder, dev.cel.expr.ExprOrBuilder>( - getCompiledAvailabilityCondition(), getParentForChildren(), isClean()); - compiledAvailabilityCondition_ = null; - } - return compiledAvailabilityConditionBuilder_; - } - - @java.lang.Override - public final Builder setUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.setUnknownFields(unknownFields); - } - - @java.lang.Override - public final Builder mergeUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.mergeUnknownFields(unknownFields); - } - - // @@protoc_insertion_point(builder_scope:com.google.auth.credentialaccessboundary.proto.ClientSideAccessBoundaryRule) - } - - // @@protoc_insertion_point(class_scope:com.google.auth.credentialaccessboundary.proto.ClientSideAccessBoundaryRule) - private static final com.google.auth.credentialaccessboundary.protobuf - .ClientSideAccessBoundaryProto.ClientSideAccessBoundaryRule - DEFAULT_INSTANCE; - - static { - DEFAULT_INSTANCE = - new com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRule(); - } - - public static com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRule - getDefaultInstance() { - return DEFAULT_INSTANCE; - } - - private static final com.google.protobuf.Parser PARSER = - new com.google.protobuf.AbstractParser() { - @java.lang.Override - public ClientSideAccessBoundaryRule 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.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRule - getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - } - - public interface ClientSideAccessBoundaryOrBuilder - extends - // @@protoc_insertion_point(interface_extends:com.google.auth.credentialaccessboundary.proto.ClientSideAccessBoundary) - com.google.protobuf.MessageOrBuilder { - - /** - * - * repeated .com.google.auth.credentialaccessboundary.proto.ClientSideAccessBoundaryRule access_boundary_rules = 1; - * - */ - java.util.List< - com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRule> - getAccessBoundaryRulesList(); - - /** - * - * repeated .com.google.auth.credentialaccessboundary.proto.ClientSideAccessBoundaryRule access_boundary_rules = 1; - * - */ - com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRule - getAccessBoundaryRules(int index); - - /** - * - * repeated .com.google.auth.credentialaccessboundary.proto.ClientSideAccessBoundaryRule access_boundary_rules = 1; - * - */ - int getAccessBoundaryRulesCount(); - - /** - * - * repeated .com.google.auth.credentialaccessboundary.proto.ClientSideAccessBoundaryRule access_boundary_rules = 1; - * - */ - java.util.List< - ? extends - com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRuleOrBuilder> - getAccessBoundaryRulesOrBuilderList(); - - /** - * - * repeated .com.google.auth.credentialaccessboundary.proto.ClientSideAccessBoundaryRule access_boundary_rules = 1; - * - */ - com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRuleOrBuilder - getAccessBoundaryRulesOrBuilder(int index); - } - - /** - * Protobuf type {@code com.google.auth.credentialaccessboundary.proto.ClientSideAccessBoundary} - */ - public static final class ClientSideAccessBoundary extends com.google.protobuf.GeneratedMessageV3 - implements - // @@protoc_insertion_point(message_implements:com.google.auth.credentialaccessboundary.proto.ClientSideAccessBoundary) - ClientSideAccessBoundaryOrBuilder { - private static final long serialVersionUID = 0L; - - // Use ClientSideAccessBoundary.newBuilder() to construct. - private ClientSideAccessBoundary(com.google.protobuf.GeneratedMessageV3.Builder builder) { - super(builder); - } - - private ClientSideAccessBoundary() { - accessBoundaryRules_ = java.util.Collections.emptyList(); - } - - @java.lang.Override - @SuppressWarnings({"unused"}) - protected java.lang.Object newInstance(UnusedPrivateParameter unused) { - return new ClientSideAccessBoundary(); - } - - public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .internal_static_com_google_auth_credentialaccessboundary_proto_ClientSideAccessBoundary_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { - return com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .internal_static_com_google_auth_credentialaccessboundary_proto_ClientSideAccessBoundary_fieldAccessorTable - .ensureFieldAccessorsInitialized( - com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundary.class, - com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundary.Builder.class); - } - - public static final int ACCESS_BOUNDARY_RULES_FIELD_NUMBER = 1; - - @SuppressWarnings("serial") - private java.util.List< - com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRule> - accessBoundaryRules_; - - /** - * - * repeated .com.google.auth.credentialaccessboundary.proto.ClientSideAccessBoundaryRule access_boundary_rules = 1; - * - */ - @java.lang.Override - public java.util.List< - com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRule> - getAccessBoundaryRulesList() { - return accessBoundaryRules_; - } - - /** - * - * repeated .com.google.auth.credentialaccessboundary.proto.ClientSideAccessBoundaryRule access_boundary_rules = 1; - * - */ - @java.lang.Override - public java.util.List< - ? extends - com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRuleOrBuilder> - getAccessBoundaryRulesOrBuilderList() { - return accessBoundaryRules_; - } - - /** - * - * repeated .com.google.auth.credentialaccessboundary.proto.ClientSideAccessBoundaryRule access_boundary_rules = 1; - * - */ - @java.lang.Override - public int getAccessBoundaryRulesCount() { - return accessBoundaryRules_.size(); - } - - /** - * - * repeated .com.google.auth.credentialaccessboundary.proto.ClientSideAccessBoundaryRule access_boundary_rules = 1; - * - */ - @java.lang.Override - public com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRule - getAccessBoundaryRules(int index) { - return accessBoundaryRules_.get(index); - } - - /** - * - * repeated .com.google.auth.credentialaccessboundary.proto.ClientSideAccessBoundaryRule access_boundary_rules = 1; - * - */ - @java.lang.Override - public com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRuleOrBuilder - getAccessBoundaryRulesOrBuilder(int index) { - return accessBoundaryRules_.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 < accessBoundaryRules_.size(); i++) { - output.writeMessage(1, accessBoundaryRules_.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 < accessBoundaryRules_.size(); i++) { - size += - com.google.protobuf.CodedOutputStream.computeMessageSize( - 1, accessBoundaryRules_.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.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundary)) { - return super.equals(obj); - } - com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundary - other = - (com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundary) - obj; - - if (!getAccessBoundaryRulesList().equals(other.getAccessBoundaryRulesList())) 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 (getAccessBoundaryRulesCount() > 0) { - hash = (37 * hash) + ACCESS_BOUNDARY_RULES_FIELD_NUMBER; - hash = (53 * hash) + getAccessBoundaryRulesList().hashCode(); - } - hash = (29 * hash) + getUnknownFields().hashCode(); - memoizedHashCode = hash; - return hash; - } - - public static com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundary - parseFrom(java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - - public static com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundary - parseFrom( - java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - - public static com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundary - parseFrom(com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - - public static com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundary - 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.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundary - parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - - public static com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundary - parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - - public static com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundary - parseFrom(java.io.InputStream input) throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); - } - - public static com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundary - parseFrom( - java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3.parseWithIOException( - PARSER, input, extensionRegistry); - } - - public static com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundary - parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input); - } - - public static com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundary - parseDelimitedFrom( - java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException( - PARSER, input, extensionRegistry); - } - - public static com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundary - parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); - } - - public static com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundary - parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3.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.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundary - 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.GeneratedMessageV3.BuilderParent parent) { - Builder builder = new Builder(parent); - return builder; - } - - /** - * Protobuf type {@code com.google.auth.credentialaccessboundary.proto.ClientSideAccessBoundary} - */ - public static final class Builder - extends com.google.protobuf.GeneratedMessageV3.Builder - implements - // @@protoc_insertion_point(builder_implements:com.google.auth.credentialaccessboundary.proto.ClientSideAccessBoundary) - com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .internal_static_com_google_auth_credentialaccessboundary_proto_ClientSideAccessBoundary_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { - return com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .internal_static_com_google_auth_credentialaccessboundary_proto_ClientSideAccessBoundary_fieldAccessorTable - .ensureFieldAccessorsInitialized( - com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundary.class, - com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundary.Builder.class); - } - - // Construct using - // com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto.ClientSideAccessBoundary.newBuilder() - private Builder() {} - - private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { - super(parent); - } - - @java.lang.Override - public Builder clear() { - super.clear(); - bitField0_ = 0; - if (accessBoundaryRulesBuilder_ == null) { - accessBoundaryRules_ = java.util.Collections.emptyList(); - } else { - accessBoundaryRules_ = null; - accessBoundaryRulesBuilder_.clear(); - } - bitField0_ = (bitField0_ & ~0x00000001); - return this; - } - - @java.lang.Override - public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .internal_static_com_google_auth_credentialaccessboundary_proto_ClientSideAccessBoundary_descriptor; - } - - @java.lang.Override - public com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundary - getDefaultInstanceForType() { - return com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundary.getDefaultInstance(); - } - - @java.lang.Override - public com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundary - build() { - com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundary - result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - @java.lang.Override - public com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundary - buildPartial() { - com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundary - result = - new com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundary(this); - buildPartialRepeatedFields(result); - if (bitField0_ != 0) { - buildPartial0(result); - } - onBuilt(); - return result; - } - - private void buildPartialRepeatedFields( - com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundary - result) { - if (accessBoundaryRulesBuilder_ == null) { - if (((bitField0_ & 0x00000001) != 0)) { - accessBoundaryRules_ = java.util.Collections.unmodifiableList(accessBoundaryRules_); - bitField0_ = (bitField0_ & ~0x00000001); - } - result.accessBoundaryRules_ = accessBoundaryRules_; - } else { - result.accessBoundaryRules_ = accessBoundaryRulesBuilder_.build(); - } - } - - private void buildPartial0( - com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundary - result) { - int from_bitField0_ = bitField0_; - } - - @java.lang.Override - public Builder clone() { - return super.clone(); - } - - @java.lang.Override - public Builder setField( - com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { - return super.setField(field, value); - } - - @java.lang.Override - public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { - return super.clearField(field); - } - - @java.lang.Override - public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { - return super.clearOneof(oneof); - } - - @java.lang.Override - public Builder setRepeatedField( - com.google.protobuf.Descriptors.FieldDescriptor field, - int index, - java.lang.Object value) { - return super.setRepeatedField(field, index, value); - } - - @java.lang.Override - public Builder addRepeatedField( - com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { - return super.addRepeatedField(field, value); - } - - @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other - instanceof - com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundary) { - return mergeFrom( - (com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundary) - other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom( - com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundary - other) { - if (other - == com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundary.getDefaultInstance()) return this; - if (accessBoundaryRulesBuilder_ == null) { - if (!other.accessBoundaryRules_.isEmpty()) { - if (accessBoundaryRules_.isEmpty()) { - accessBoundaryRules_ = other.accessBoundaryRules_; - bitField0_ = (bitField0_ & ~0x00000001); - } else { - ensureAccessBoundaryRulesIsMutable(); - accessBoundaryRules_.addAll(other.accessBoundaryRules_); - } - onChanged(); - } - } else { - if (!other.accessBoundaryRules_.isEmpty()) { - if (accessBoundaryRulesBuilder_.isEmpty()) { - accessBoundaryRulesBuilder_.dispose(); - accessBoundaryRulesBuilder_ = null; - accessBoundaryRules_ = other.accessBoundaryRules_; - bitField0_ = (bitField0_ & ~0x00000001); - accessBoundaryRulesBuilder_ = - com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders - ? getAccessBoundaryRulesFieldBuilder() - : null; - } else { - accessBoundaryRulesBuilder_.addAllMessages(other.accessBoundaryRules_); - } - } - } - 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.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRule - m = - input.readMessage( - com.google.auth.credentialaccessboundary.protobuf - .ClientSideAccessBoundaryProto.ClientSideAccessBoundaryRule - .parser(), - extensionRegistry); - if (accessBoundaryRulesBuilder_ == null) { - ensureAccessBoundaryRulesIsMutable(); - accessBoundaryRules_.add(m); - } else { - accessBoundaryRulesBuilder_.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< - com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRule> - accessBoundaryRules_ = java.util.Collections.emptyList(); - - private void ensureAccessBoundaryRulesIsMutable() { - if (!((bitField0_ & 0x00000001) != 0)) { - accessBoundaryRules_ = - new java.util.ArrayList< - com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRule>(accessBoundaryRules_); - bitField0_ |= 0x00000001; - } - } - - private com.google.protobuf.RepeatedFieldBuilderV3< - com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRule, - com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRule.Builder, - com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRuleOrBuilder> - accessBoundaryRulesBuilder_; - - /** - * - * repeated .com.google.auth.credentialaccessboundary.proto.ClientSideAccessBoundaryRule access_boundary_rules = 1; - * - */ - public java.util.List< - com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRule> - getAccessBoundaryRulesList() { - if (accessBoundaryRulesBuilder_ == null) { - return java.util.Collections.unmodifiableList(accessBoundaryRules_); - } else { - return accessBoundaryRulesBuilder_.getMessageList(); - } - } - - /** - * - * repeated .com.google.auth.credentialaccessboundary.proto.ClientSideAccessBoundaryRule access_boundary_rules = 1; - * - */ - public int getAccessBoundaryRulesCount() { - if (accessBoundaryRulesBuilder_ == null) { - return accessBoundaryRules_.size(); - } else { - return accessBoundaryRulesBuilder_.getCount(); - } - } - - /** - * - * repeated .com.google.auth.credentialaccessboundary.proto.ClientSideAccessBoundaryRule access_boundary_rules = 1; - * - */ - public com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRule - getAccessBoundaryRules(int index) { - if (accessBoundaryRulesBuilder_ == null) { - return accessBoundaryRules_.get(index); - } else { - return accessBoundaryRulesBuilder_.getMessage(index); - } - } - - /** - * - * repeated .com.google.auth.credentialaccessboundary.proto.ClientSideAccessBoundaryRule access_boundary_rules = 1; - * - */ - public Builder setAccessBoundaryRules( - int index, - com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRule - value) { - if (accessBoundaryRulesBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureAccessBoundaryRulesIsMutable(); - accessBoundaryRules_.set(index, value); - onChanged(); - } else { - accessBoundaryRulesBuilder_.setMessage(index, value); - } - return this; - } - - /** - * - * repeated .com.google.auth.credentialaccessboundary.proto.ClientSideAccessBoundaryRule access_boundary_rules = 1; - * - */ - public Builder setAccessBoundaryRules( - int index, - com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRule.Builder - builderForValue) { - if (accessBoundaryRulesBuilder_ == null) { - ensureAccessBoundaryRulesIsMutable(); - accessBoundaryRules_.set(index, builderForValue.build()); - onChanged(); - } else { - accessBoundaryRulesBuilder_.setMessage(index, builderForValue.build()); - } - return this; - } - - /** - * - * repeated .com.google.auth.credentialaccessboundary.proto.ClientSideAccessBoundaryRule access_boundary_rules = 1; - * - */ - public Builder addAccessBoundaryRules( - com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRule - value) { - if (accessBoundaryRulesBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureAccessBoundaryRulesIsMutable(); - accessBoundaryRules_.add(value); - onChanged(); - } else { - accessBoundaryRulesBuilder_.addMessage(value); - } - return this; - } - - /** - * - * repeated .com.google.auth.credentialaccessboundary.proto.ClientSideAccessBoundaryRule access_boundary_rules = 1; - * - */ - public Builder addAccessBoundaryRules( - int index, - com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRule - value) { - if (accessBoundaryRulesBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureAccessBoundaryRulesIsMutable(); - accessBoundaryRules_.add(index, value); - onChanged(); - } else { - accessBoundaryRulesBuilder_.addMessage(index, value); - } - return this; - } - - /** - * - * repeated .com.google.auth.credentialaccessboundary.proto.ClientSideAccessBoundaryRule access_boundary_rules = 1; - * - */ - public Builder addAccessBoundaryRules( - com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRule.Builder - builderForValue) { - if (accessBoundaryRulesBuilder_ == null) { - ensureAccessBoundaryRulesIsMutable(); - accessBoundaryRules_.add(builderForValue.build()); - onChanged(); - } else { - accessBoundaryRulesBuilder_.addMessage(builderForValue.build()); - } - return this; - } - - /** - * - * repeated .com.google.auth.credentialaccessboundary.proto.ClientSideAccessBoundaryRule access_boundary_rules = 1; - * - */ - public Builder addAccessBoundaryRules( - int index, - com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRule.Builder - builderForValue) { - if (accessBoundaryRulesBuilder_ == null) { - ensureAccessBoundaryRulesIsMutable(); - accessBoundaryRules_.add(index, builderForValue.build()); - onChanged(); - } else { - accessBoundaryRulesBuilder_.addMessage(index, builderForValue.build()); - } - return this; - } - - /** - * - * repeated .com.google.auth.credentialaccessboundary.proto.ClientSideAccessBoundaryRule access_boundary_rules = 1; - * - */ - public Builder addAllAccessBoundaryRules( - java.lang.Iterable< - ? extends - com.google.auth.credentialaccessboundary.protobuf - .ClientSideAccessBoundaryProto.ClientSideAccessBoundaryRule> - values) { - if (accessBoundaryRulesBuilder_ == null) { - ensureAccessBoundaryRulesIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll(values, accessBoundaryRules_); - onChanged(); - } else { - accessBoundaryRulesBuilder_.addAllMessages(values); - } - return this; - } - - /** - * - * repeated .com.google.auth.credentialaccessboundary.proto.ClientSideAccessBoundaryRule access_boundary_rules = 1; - * - */ - public Builder clearAccessBoundaryRules() { - if (accessBoundaryRulesBuilder_ == null) { - accessBoundaryRules_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); - onChanged(); - } else { - accessBoundaryRulesBuilder_.clear(); - } - return this; - } - - /** - * - * repeated .com.google.auth.credentialaccessboundary.proto.ClientSideAccessBoundaryRule access_boundary_rules = 1; - * - */ - public Builder removeAccessBoundaryRules(int index) { - if (accessBoundaryRulesBuilder_ == null) { - ensureAccessBoundaryRulesIsMutable(); - accessBoundaryRules_.remove(index); - onChanged(); - } else { - accessBoundaryRulesBuilder_.remove(index); - } - return this; - } - - /** - * - * repeated .com.google.auth.credentialaccessboundary.proto.ClientSideAccessBoundaryRule access_boundary_rules = 1; - * - */ - public com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRule.Builder - getAccessBoundaryRulesBuilder(int index) { - return getAccessBoundaryRulesFieldBuilder().getBuilder(index); - } - - /** - * - * repeated .com.google.auth.credentialaccessboundary.proto.ClientSideAccessBoundaryRule access_boundary_rules = 1; - * - */ - public com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRuleOrBuilder - getAccessBoundaryRulesOrBuilder(int index) { - if (accessBoundaryRulesBuilder_ == null) { - return accessBoundaryRules_.get(index); - } else { - return accessBoundaryRulesBuilder_.getMessageOrBuilder(index); - } - } - - /** - * - * repeated .com.google.auth.credentialaccessboundary.proto.ClientSideAccessBoundaryRule access_boundary_rules = 1; - * - */ - public java.util.List< - ? extends - com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRuleOrBuilder> - getAccessBoundaryRulesOrBuilderList() { - if (accessBoundaryRulesBuilder_ != null) { - return accessBoundaryRulesBuilder_.getMessageOrBuilderList(); - } else { - return java.util.Collections.unmodifiableList(accessBoundaryRules_); - } - } - - /** - * - * repeated .com.google.auth.credentialaccessboundary.proto.ClientSideAccessBoundaryRule access_boundary_rules = 1; - * - */ - public com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRule.Builder - addAccessBoundaryRulesBuilder() { - return getAccessBoundaryRulesFieldBuilder() - .addBuilder( - com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRule.getDefaultInstance()); - } - - /** - * - * repeated .com.google.auth.credentialaccessboundary.proto.ClientSideAccessBoundaryRule access_boundary_rules = 1; - * - */ - public com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRule.Builder - addAccessBoundaryRulesBuilder(int index) { - return getAccessBoundaryRulesFieldBuilder() - .addBuilder( - index, - com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRule.getDefaultInstance()); - } - - /** - * - * repeated .com.google.auth.credentialaccessboundary.proto.ClientSideAccessBoundaryRule access_boundary_rules = 1; - * - */ - public java.util.List< - com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRule.Builder> - getAccessBoundaryRulesBuilderList() { - return getAccessBoundaryRulesFieldBuilder().getBuilderList(); - } - - private com.google.protobuf.RepeatedFieldBuilderV3< - com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRule, - com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRule.Builder, - com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRuleOrBuilder> - getAccessBoundaryRulesFieldBuilder() { - if (accessBoundaryRulesBuilder_ == null) { - accessBoundaryRulesBuilder_ = - new com.google.protobuf.RepeatedFieldBuilderV3< - com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRule, - com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRule.Builder, - com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundaryRuleOrBuilder>( - accessBoundaryRules_, - ((bitField0_ & 0x00000001) != 0), - getParentForChildren(), - isClean()); - accessBoundaryRules_ = null; - } - return accessBoundaryRulesBuilder_; - } - - @java.lang.Override - public final Builder setUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.setUnknownFields(unknownFields); - } - - @java.lang.Override - public final Builder mergeUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.mergeUnknownFields(unknownFields); - } - - // @@protoc_insertion_point(builder_scope:com.google.auth.credentialaccessboundary.proto.ClientSideAccessBoundary) - } - - // @@protoc_insertion_point(class_scope:com.google.auth.credentialaccessboundary.proto.ClientSideAccessBoundary) - private static final com.google.auth.credentialaccessboundary.protobuf - .ClientSideAccessBoundaryProto.ClientSideAccessBoundary - DEFAULT_INSTANCE; - - static { - DEFAULT_INSTANCE = - new com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundary(); - } - - public static com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundary - getDefaultInstance() { - return DEFAULT_INSTANCE; - } - - private static final com.google.protobuf.Parser PARSER = - new com.google.protobuf.AbstractParser() { - @java.lang.Override - public ClientSideAccessBoundary 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.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto - .ClientSideAccessBoundary - getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - } - - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_com_google_auth_credentialaccessboundary_proto_ClientSideAccessBoundaryRule_descriptor; - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internal_static_com_google_auth_credentialaccessboundary_proto_ClientSideAccessBoundaryRule_fieldAccessorTable; - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_com_google_auth_credentialaccessboundary_proto_ClientSideAccessBoundary_descriptor; - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internal_static_com_google_auth_credentialaccessboundary_proto_ClientSideAccessBoundary_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_cloud_identity_unifiedauth_proto_ClientSideAccessBoundaryRule_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_cloud_identity_unifiedauth_proto_ClientSideAccessBoundaryRule_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_cloud_identity_unifiedauth_proto_ClientSideAccessBoundary_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_cloud_identity_unifiedauth_proto_ClientSideAccessBoundary_fieldAccessorTable; public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { return descriptor; @@ -2201,19 +42,18 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { static { java.lang.String[] descriptorData = { - "\n!client_side_access_boundary.proto\022.com" - + ".google.auth.credentialaccessboundary.pr" - + "oto\032\025cel/expr/syntax.proto\"\222\001\n\034ClientSid" - + "eAccessBoundaryRule\022\032\n\022available_resourc" - + "e\030\001 \001(\t\022\035\n\025available_permissions\030\002 \003(\t\0227" + "\n!client_side_access_boundary.proto\022 clo" + + "ud.identity.unifiedauth.proto\032\034google/ap" + + "i/expr/syntax.proto\"\240\001\n\034ClientSideAccess" + + "BoundaryRule\022!\n\022available_resource\030\001 \001(\t" + + "B\005\252\001\002\010\002\022\035\n\025available_permissions\030\002 \003(\t\022>" + "\n\037compiled_availability_condition\030\004 \001(\0132" - + "\016.cel.expr.Expr\"\207\001\n\030ClientSideAccessBoun" - + "dary\022k\n\025access_boundary_rules\030\001 \003(\0132L.co" - + "m.google.auth.credentialaccessboundary.p" - + "roto.ClientSideAccessBoundaryRuleBT\n1com" - + ".google.auth.credentialaccessboundary.pr" - + "otobufB\035ClientSideAccessBoundaryProtoP\000b" - + "\006proto3" + + "\025.google.api.expr.Expr\"y\n\030ClientSideAcce" + + "ssBoundary\022]\n\025access_boundary_rules\030\001 \003(" + + "\0132>.cloud.identity.unifiedauth.proto.Cli" + + "entSideAccessBoundaryRuleB-\n+com.google." + + "cloud.identity.unifiedauth.protob\010editio" + + "nsp\351\007" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( @@ -2221,22 +61,23 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { new com.google.protobuf.Descriptors.FileDescriptor[] { dev.cel.expr.SyntaxProto.getDescriptor(), }); - internal_static_com_google_auth_credentialaccessboundary_proto_ClientSideAccessBoundaryRule_descriptor = - getDescriptor().getMessageTypes().get(0); - internal_static_com_google_auth_credentialaccessboundary_proto_ClientSideAccessBoundaryRule_fieldAccessorTable = - new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( - internal_static_com_google_auth_credentialaccessboundary_proto_ClientSideAccessBoundaryRule_descriptor, + internal_static_cloud_identity_unifiedauth_proto_ClientSideAccessBoundaryRule_descriptor = + getDescriptor().getMessageType(0); + internal_static_cloud_identity_unifiedauth_proto_ClientSideAccessBoundaryRule_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_cloud_identity_unifiedauth_proto_ClientSideAccessBoundaryRule_descriptor, new java.lang.String[] { "AvailableResource", "AvailablePermissions", "CompiledAvailabilityCondition", }); - internal_static_com_google_auth_credentialaccessboundary_proto_ClientSideAccessBoundary_descriptor = - getDescriptor().getMessageTypes().get(1); - internal_static_com_google_auth_credentialaccessboundary_proto_ClientSideAccessBoundary_fieldAccessorTable = - new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( - internal_static_com_google_auth_credentialaccessboundary_proto_ClientSideAccessBoundary_descriptor, + internal_static_cloud_identity_unifiedauth_proto_ClientSideAccessBoundary_descriptor = + getDescriptor().getMessageType(1); + internal_static_cloud_identity_unifiedauth_proto_ClientSideAccessBoundary_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_cloud_identity_unifiedauth_proto_ClientSideAccessBoundary_descriptor, new java.lang.String[] { "AccessBoundaryRules", }); + descriptor.resolveAllFeaturesImmutable(); dev.cel.expr.SyntaxProto.getDescriptor(); } diff --git a/cab-token-generator/java/com/google/auth/credentialaccessboundary/protobuf/ClientSideAccessBoundaryRule.java b/cab-token-generator/java/com/google/auth/credentialaccessboundary/protobuf/ClientSideAccessBoundaryRule.java new file mode 100644 index 000000000..7b024f07f --- /dev/null +++ b/cab-token-generator/java/com/google/auth/credentialaccessboundary/protobuf/ClientSideAccessBoundaryRule.java @@ -0,0 +1,1368 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: client_side_access_boundary.proto +// Protobuf Java Version: 4.33.0 + +package com.google.auth.credentialaccessboundary.protobuf; + +/** + * + * + *
+ * An access boundary rule that defines an upper bound of IAM
+ * permissions on a single resource. This proto has a compiled version of the
+ * availability_condition in the STS API AccessBoundaryRule
+ * (google3/google/identity/sts/v1/access_boundary.proto). It is used to
+ * format the access boundary restriction in the Client-Side CAB access token.
+ * 
+ * + * Protobuf type {@code cloud.identity.unifiedauth.proto.ClientSideAccessBoundaryRule} + */ +@com.google.protobuf.Generated +public final class ClientSideAccessBoundaryRule extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:cloud.identity.unifiedauth.proto.ClientSideAccessBoundaryRule) + ClientSideAccessBoundaryRuleOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 0, + /* suffix= */ "", + "ClientSideAccessBoundaryRule"); + } + + // Use ClientSideAccessBoundaryRule.newBuilder() to construct. + private ClientSideAccessBoundaryRule(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private ClientSideAccessBoundaryRule() { + availableResource_ = ""; + availablePermissions_ = com.google.protobuf.LazyStringArrayList.emptyList(); + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto + .internal_static_cloud_identity_unifiedauth_proto_ClientSideAccessBoundaryRule_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto + .internal_static_cloud_identity_unifiedauth_proto_ClientSideAccessBoundaryRule_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRule.class, + com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRule.Builder + .class); + } + + private int bitField0_; + public static final int AVAILABLE_RESOURCE_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object availableResource_ = ""; + + /** + * + * + *
+   * The full resource name of a Google Cloud resource entity.
+   * The format definition is at
+   * https://cloud.google.com/apis/design/resource_names.
+   *
+   * Example value: `//cloudresourcemanager.googleapis.com/projects/my-project`.
+   * 
+ * + * string available_resource = 1 [features = { ... } + * + * @return The availableResource. + */ + @java.lang.Override + public java.lang.String getAvailableResource() { + java.lang.Object ref = availableResource_; + 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(); + availableResource_ = s; + return s; + } + } + + /** + * + * + *
+   * The full resource name of a Google Cloud resource entity.
+   * The format definition is at
+   * https://cloud.google.com/apis/design/resource_names.
+   *
+   * Example value: `//cloudresourcemanager.googleapis.com/projects/my-project`.
+   * 
+ * + * string available_resource = 1 [features = { ... } + * + * @return The bytes for availableResource. + */ + @java.lang.Override + public com.google.protobuf.ByteString getAvailableResourceBytes() { + java.lang.Object ref = availableResource_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + availableResource_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int AVAILABLE_PERMISSIONS_FIELD_NUMBER = 2; + + @SuppressWarnings("serial") + private com.google.protobuf.LazyStringArrayList availablePermissions_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + + /** + * + * + *
+   * A list of permissions that may be allowed for use on the specified
+   * resource.
+   *
+   * The only supported values in the list are IAM roles, following the format
+   * of [google.iam.v1.Binding.role][].
+   *
+   * Example value: `inRole:roles/logging.viewer` for predefined roles and
+   * `inRole:organizations/{ORGANIZATION_ID}/roles/logging.viewer` for custom
+   * roles.
+   * 
+ * + * repeated string available_permissions = 2; + * + * @return A list containing the availablePermissions. + */ + public com.google.protobuf.ProtocolStringList getAvailablePermissionsList() { + return availablePermissions_; + } + + /** + * + * + *
+   * A list of permissions that may be allowed for use on the specified
+   * resource.
+   *
+   * The only supported values in the list are IAM roles, following the format
+   * of [google.iam.v1.Binding.role][].
+   *
+   * Example value: `inRole:roles/logging.viewer` for predefined roles and
+   * `inRole:organizations/{ORGANIZATION_ID}/roles/logging.viewer` for custom
+   * roles.
+   * 
+ * + * repeated string available_permissions = 2; + * + * @return The count of availablePermissions. + */ + public int getAvailablePermissionsCount() { + return availablePermissions_.size(); + } + + /** + * + * + *
+   * A list of permissions that may be allowed for use on the specified
+   * resource.
+   *
+   * The only supported values in the list are IAM roles, following the format
+   * of [google.iam.v1.Binding.role][].
+   *
+   * Example value: `inRole:roles/logging.viewer` for predefined roles and
+   * `inRole:organizations/{ORGANIZATION_ID}/roles/logging.viewer` for custom
+   * roles.
+   * 
+ * + * repeated string available_permissions = 2; + * + * @param index The index of the element to return. + * @return The availablePermissions at the given index. + */ + public java.lang.String getAvailablePermissions(int index) { + return availablePermissions_.get(index); + } + + /** + * + * + *
+   * A list of permissions that may be allowed for use on the specified
+   * resource.
+   *
+   * The only supported values in the list are IAM roles, following the format
+   * of [google.iam.v1.Binding.role][].
+   *
+   * Example value: `inRole:roles/logging.viewer` for predefined roles and
+   * `inRole:organizations/{ORGANIZATION_ID}/roles/logging.viewer` for custom
+   * roles.
+   * 
+ * + * repeated string available_permissions = 2; + * + * @param index The index of the value to return. + * @return The bytes of the availablePermissions at the given index. + */ + public com.google.protobuf.ByteString getAvailablePermissionsBytes(int index) { + return availablePermissions_.getByteString(index); + } + + public static final int COMPILED_AVAILABILITY_CONDITION_FIELD_NUMBER = 4; + private dev.cel.expr.Expr compiledAvailabilityCondition_; + + /** + * + * + *
+   * The compiled version of the
+   * availability_condition in the STS API AccessBoundaryRule
+   * (google3/google/identity/sts/v1/access_boundary.proto) with limited
+   * function support.
+   * 
+ * + * .google.api.expr.Expr compiled_availability_condition = 4; + * + * @return Whether the compiledAvailabilityCondition field is set. + */ + @java.lang.Override + public boolean hasCompiledAvailabilityCondition() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+   * The compiled version of the
+   * availability_condition in the STS API AccessBoundaryRule
+   * (google3/google/identity/sts/v1/access_boundary.proto) with limited
+   * function support.
+   * 
+ * + * .google.api.expr.Expr compiled_availability_condition = 4; + * + * @return The compiledAvailabilityCondition. + */ + @java.lang.Override + public dev.cel.expr.Expr getCompiledAvailabilityCondition() { + return compiledAvailabilityCondition_ == null + ? dev.cel.expr.Expr.getDefaultInstance() + : compiledAvailabilityCondition_; + } + + /** + * + * + *
+   * The compiled version of the
+   * availability_condition in the STS API AccessBoundaryRule
+   * (google3/google/identity/sts/v1/access_boundary.proto) with limited
+   * function support.
+   * 
+ * + * .google.api.expr.Expr compiled_availability_condition = 4; + */ + @java.lang.Override + public dev.cel.expr.ExprOrBuilder getCompiledAvailabilityConditionOrBuilder() { + return compiledAvailabilityCondition_ == null + ? dev.cel.expr.Expr.getDefaultInstance() + : compiledAvailabilityCondition_; + } + + 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(availableResource_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, availableResource_); + } + for (int i = 0; i < availablePermissions_.size(); i++) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, availablePermissions_.getRaw(i)); + } + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(4, getCompiledAvailabilityCondition()); + } + 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(availableResource_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, availableResource_); + } + { + int dataSize = 0; + for (int i = 0; i < availablePermissions_.size(); i++) { + dataSize += computeStringSizeNoTag(availablePermissions_.getRaw(i)); + } + size += dataSize; + size += 1 * getAvailablePermissionsList().size(); + } + if (((bitField0_ & 0x00000001) != 0)) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize( + 4, getCompiledAvailabilityCondition()); + } + 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.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRule)) { + return super.equals(obj); + } + com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRule other = + (com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRule) obj; + + if (!getAvailableResource().equals(other.getAvailableResource())) return false; + if (!getAvailablePermissionsList().equals(other.getAvailablePermissionsList())) return false; + if (hasCompiledAvailabilityCondition() != other.hasCompiledAvailabilityCondition()) + return false; + if (hasCompiledAvailabilityCondition()) { + if (!getCompiledAvailabilityCondition().equals(other.getCompiledAvailabilityCondition())) + 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) + AVAILABLE_RESOURCE_FIELD_NUMBER; + hash = (53 * hash) + getAvailableResource().hashCode(); + if (getAvailablePermissionsCount() > 0) { + hash = (37 * hash) + AVAILABLE_PERMISSIONS_FIELD_NUMBER; + hash = (53 * hash) + getAvailablePermissionsList().hashCode(); + } + if (hasCompiledAvailabilityCondition()) { + hash = (37 * hash) + COMPILED_AVAILABILITY_CONDITION_FIELD_NUMBER; + hash = (53 * hash) + getCompiledAvailabilityCondition().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRule + parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRule + parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRule + parseFrom(com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRule + 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.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRule + parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRule + parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRule + parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRule + 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.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRule + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRule + 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.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRule + parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRule + 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.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRule 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 access boundary rule that defines an upper bound of IAM
+   * permissions on a single resource. This proto has a compiled version of the
+   * availability_condition in the STS API AccessBoundaryRule
+   * (google3/google/identity/sts/v1/access_boundary.proto). It is used to
+   * format the access boundary restriction in the Client-Side CAB access token.
+   * 
+ * + * Protobuf type {@code cloud.identity.unifiedauth.proto.ClientSideAccessBoundaryRule} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:cloud.identity.unifiedauth.proto.ClientSideAccessBoundaryRule) + com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRuleOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto + .internal_static_cloud_identity_unifiedauth_proto_ClientSideAccessBoundaryRule_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto + .internal_static_cloud_identity_unifiedauth_proto_ClientSideAccessBoundaryRule_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRule.class, + com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRule.Builder + .class); + } + + // Construct using + // com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRule.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + internalGetCompiledAvailabilityConditionFieldBuilder(); + } + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + availableResource_ = ""; + availablePermissions_ = com.google.protobuf.LazyStringArrayList.emptyList(); + compiledAvailabilityCondition_ = null; + if (compiledAvailabilityConditionBuilder_ != null) { + compiledAvailabilityConditionBuilder_.dispose(); + compiledAvailabilityConditionBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto + .internal_static_cloud_identity_unifiedauth_proto_ClientSideAccessBoundaryRule_descriptor; + } + + @java.lang.Override + public com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRule + getDefaultInstanceForType() { + return com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRule + .getDefaultInstance(); + } + + @java.lang.Override + public com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRule build() { + com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRule result = + buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRule + buildPartial() { + com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRule result = + new com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRule(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRule result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.availableResource_ = availableResource_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + availablePermissions_.makeImmutable(); + result.availablePermissions_ = availablePermissions_; + } + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000004) != 0)) { + result.compiledAvailabilityCondition_ = + compiledAvailabilityConditionBuilder_ == null + ? compiledAvailabilityCondition_ + : compiledAvailabilityConditionBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other + instanceof + com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRule) { + return mergeFrom( + (com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRule) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRule other) { + if (other + == com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRule + .getDefaultInstance()) return this; + if (!other.getAvailableResource().isEmpty()) { + availableResource_ = other.availableResource_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (!other.availablePermissions_.isEmpty()) { + if (availablePermissions_.isEmpty()) { + availablePermissions_ = other.availablePermissions_; + bitField0_ |= 0x00000002; + } else { + ensureAvailablePermissionsIsMutable(); + availablePermissions_.addAll(other.availablePermissions_); + } + onChanged(); + } + if (other.hasCompiledAvailabilityCondition()) { + mergeCompiledAvailabilityCondition(other.getCompiledAvailabilityCondition()); + } + 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: + { + availableResource_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: + { + java.lang.String s = input.readStringRequireUtf8(); + ensureAvailablePermissionsIsMutable(); + availablePermissions_.add(s); + break; + } // case 18 + case 34: + { + input.readMessage( + internalGetCompiledAvailabilityConditionFieldBuilder().getBuilder(), + extensionRegistry); + bitField0_ |= 0x00000004; + break; + } // case 34 + 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 availableResource_ = ""; + + /** + * + * + *
+     * The full resource name of a Google Cloud resource entity.
+     * The format definition is at
+     * https://cloud.google.com/apis/design/resource_names.
+     *
+     * Example value: `//cloudresourcemanager.googleapis.com/projects/my-project`.
+     * 
+ * + * string available_resource = 1 [features = { ... } + * + * @return The availableResource. + */ + public java.lang.String getAvailableResource() { + java.lang.Object ref = availableResource_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + availableResource_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * The full resource name of a Google Cloud resource entity.
+     * The format definition is at
+     * https://cloud.google.com/apis/design/resource_names.
+     *
+     * Example value: `//cloudresourcemanager.googleapis.com/projects/my-project`.
+     * 
+ * + * string available_resource = 1 [features = { ... } + * + * @return The bytes for availableResource. + */ + public com.google.protobuf.ByteString getAvailableResourceBytes() { + java.lang.Object ref = availableResource_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + availableResource_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * The full resource name of a Google Cloud resource entity.
+     * The format definition is at
+     * https://cloud.google.com/apis/design/resource_names.
+     *
+     * Example value: `//cloudresourcemanager.googleapis.com/projects/my-project`.
+     * 
+ * + * string available_resource = 1 [features = { ... } + * + * @param value The availableResource to set. + * @return This builder for chaining. + */ + public Builder setAvailableResource(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + availableResource_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * The full resource name of a Google Cloud resource entity.
+     * The format definition is at
+     * https://cloud.google.com/apis/design/resource_names.
+     *
+     * Example value: `//cloudresourcemanager.googleapis.com/projects/my-project`.
+     * 
+ * + * string available_resource = 1 [features = { ... } + * + * @return This builder for chaining. + */ + public Builder clearAvailableResource() { + availableResource_ = getDefaultInstance().getAvailableResource(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+     * The full resource name of a Google Cloud resource entity.
+     * The format definition is at
+     * https://cloud.google.com/apis/design/resource_names.
+     *
+     * Example value: `//cloudresourcemanager.googleapis.com/projects/my-project`.
+     * 
+ * + * string available_resource = 1 [features = { ... } + * + * @param value The bytes for availableResource to set. + * @return This builder for chaining. + */ + public Builder setAvailableResourceBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + availableResource_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private com.google.protobuf.LazyStringArrayList availablePermissions_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + + private void ensureAvailablePermissionsIsMutable() { + if (!availablePermissions_.isModifiable()) { + availablePermissions_ = new com.google.protobuf.LazyStringArrayList(availablePermissions_); + } + bitField0_ |= 0x00000002; + } + + /** + * + * + *
+     * A list of permissions that may be allowed for use on the specified
+     * resource.
+     *
+     * The only supported values in the list are IAM roles, following the format
+     * of [google.iam.v1.Binding.role][].
+     *
+     * Example value: `inRole:roles/logging.viewer` for predefined roles and
+     * `inRole:organizations/{ORGANIZATION_ID}/roles/logging.viewer` for custom
+     * roles.
+     * 
+ * + * repeated string available_permissions = 2; + * + * @return A list containing the availablePermissions. + */ + public com.google.protobuf.ProtocolStringList getAvailablePermissionsList() { + availablePermissions_.makeImmutable(); + return availablePermissions_; + } + + /** + * + * + *
+     * A list of permissions that may be allowed for use on the specified
+     * resource.
+     *
+     * The only supported values in the list are IAM roles, following the format
+     * of [google.iam.v1.Binding.role][].
+     *
+     * Example value: `inRole:roles/logging.viewer` for predefined roles and
+     * `inRole:organizations/{ORGANIZATION_ID}/roles/logging.viewer` for custom
+     * roles.
+     * 
+ * + * repeated string available_permissions = 2; + * + * @return The count of availablePermissions. + */ + public int getAvailablePermissionsCount() { + return availablePermissions_.size(); + } + + /** + * + * + *
+     * A list of permissions that may be allowed for use on the specified
+     * resource.
+     *
+     * The only supported values in the list are IAM roles, following the format
+     * of [google.iam.v1.Binding.role][].
+     *
+     * Example value: `inRole:roles/logging.viewer` for predefined roles and
+     * `inRole:organizations/{ORGANIZATION_ID}/roles/logging.viewer` for custom
+     * roles.
+     * 
+ * + * repeated string available_permissions = 2; + * + * @param index The index of the element to return. + * @return The availablePermissions at the given index. + */ + public java.lang.String getAvailablePermissions(int index) { + return availablePermissions_.get(index); + } + + /** + * + * + *
+     * A list of permissions that may be allowed for use on the specified
+     * resource.
+     *
+     * The only supported values in the list are IAM roles, following the format
+     * of [google.iam.v1.Binding.role][].
+     *
+     * Example value: `inRole:roles/logging.viewer` for predefined roles and
+     * `inRole:organizations/{ORGANIZATION_ID}/roles/logging.viewer` for custom
+     * roles.
+     * 
+ * + * repeated string available_permissions = 2; + * + * @param index The index of the value to return. + * @return The bytes of the availablePermissions at the given index. + */ + public com.google.protobuf.ByteString getAvailablePermissionsBytes(int index) { + return availablePermissions_.getByteString(index); + } + + /** + * + * + *
+     * A list of permissions that may be allowed for use on the specified
+     * resource.
+     *
+     * The only supported values in the list are IAM roles, following the format
+     * of [google.iam.v1.Binding.role][].
+     *
+     * Example value: `inRole:roles/logging.viewer` for predefined roles and
+     * `inRole:organizations/{ORGANIZATION_ID}/roles/logging.viewer` for custom
+     * roles.
+     * 
+ * + * repeated string available_permissions = 2; + * + * @param index The index to set the value at. + * @param value The availablePermissions to set. + * @return This builder for chaining. + */ + public Builder setAvailablePermissions(int index, java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureAvailablePermissionsIsMutable(); + availablePermissions_.set(index, value); + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * A list of permissions that may be allowed for use on the specified
+     * resource.
+     *
+     * The only supported values in the list are IAM roles, following the format
+     * of [google.iam.v1.Binding.role][].
+     *
+     * Example value: `inRole:roles/logging.viewer` for predefined roles and
+     * `inRole:organizations/{ORGANIZATION_ID}/roles/logging.viewer` for custom
+     * roles.
+     * 
+ * + * repeated string available_permissions = 2; + * + * @param value The availablePermissions to add. + * @return This builder for chaining. + */ + public Builder addAvailablePermissions(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureAvailablePermissionsIsMutable(); + availablePermissions_.add(value); + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * A list of permissions that may be allowed for use on the specified
+     * resource.
+     *
+     * The only supported values in the list are IAM roles, following the format
+     * of [google.iam.v1.Binding.role][].
+     *
+     * Example value: `inRole:roles/logging.viewer` for predefined roles and
+     * `inRole:organizations/{ORGANIZATION_ID}/roles/logging.viewer` for custom
+     * roles.
+     * 
+ * + * repeated string available_permissions = 2; + * + * @param values The availablePermissions to add. + * @return This builder for chaining. + */ + public Builder addAllAvailablePermissions(java.lang.Iterable values) { + ensureAvailablePermissionsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, availablePermissions_); + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * A list of permissions that may be allowed for use on the specified
+     * resource.
+     *
+     * The only supported values in the list are IAM roles, following the format
+     * of [google.iam.v1.Binding.role][].
+     *
+     * Example value: `inRole:roles/logging.viewer` for predefined roles and
+     * `inRole:organizations/{ORGANIZATION_ID}/roles/logging.viewer` for custom
+     * roles.
+     * 
+ * + * repeated string available_permissions = 2; + * + * @return This builder for chaining. + */ + public Builder clearAvailablePermissions() { + availablePermissions_ = com.google.protobuf.LazyStringArrayList.emptyList(); + bitField0_ = (bitField0_ & ~0x00000002); + ; + onChanged(); + return this; + } + + /** + * + * + *
+     * A list of permissions that may be allowed for use on the specified
+     * resource.
+     *
+     * The only supported values in the list are IAM roles, following the format
+     * of [google.iam.v1.Binding.role][].
+     *
+     * Example value: `inRole:roles/logging.viewer` for predefined roles and
+     * `inRole:organizations/{ORGANIZATION_ID}/roles/logging.viewer` for custom
+     * roles.
+     * 
+ * + * repeated string available_permissions = 2; + * + * @param value The bytes of the availablePermissions to add. + * @return This builder for chaining. + */ + public Builder addAvailablePermissionsBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + ensureAvailablePermissionsIsMutable(); + availablePermissions_.add(value); + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private dev.cel.expr.Expr compiledAvailabilityCondition_; + private com.google.protobuf.SingleFieldBuilder< + dev.cel.expr.Expr, dev.cel.expr.Expr.Builder, dev.cel.expr.ExprOrBuilder> + compiledAvailabilityConditionBuilder_; + + /** + * + * + *
+     * The compiled version of the
+     * availability_condition in the STS API AccessBoundaryRule
+     * (google3/google/identity/sts/v1/access_boundary.proto) with limited
+     * function support.
+     * 
+ * + * .google.api.expr.Expr compiled_availability_condition = 4; + * + * @return Whether the compiledAvailabilityCondition field is set. + */ + public boolean hasCompiledAvailabilityCondition() { + return ((bitField0_ & 0x00000004) != 0); + } + + /** + * + * + *
+     * The compiled version of the
+     * availability_condition in the STS API AccessBoundaryRule
+     * (google3/google/identity/sts/v1/access_boundary.proto) with limited
+     * function support.
+     * 
+ * + * .google.api.expr.Expr compiled_availability_condition = 4; + * + * @return The compiledAvailabilityCondition. + */ + public dev.cel.expr.Expr getCompiledAvailabilityCondition() { + if (compiledAvailabilityConditionBuilder_ == null) { + return compiledAvailabilityCondition_ == null + ? dev.cel.expr.Expr.getDefaultInstance() + : compiledAvailabilityCondition_; + } else { + return compiledAvailabilityConditionBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * The compiled version of the
+     * availability_condition in the STS API AccessBoundaryRule
+     * (google3/google/identity/sts/v1/access_boundary.proto) with limited
+     * function support.
+     * 
+ * + * .google.api.expr.Expr compiled_availability_condition = 4; + */ + public Builder setCompiledAvailabilityCondition(dev.cel.expr.Expr value) { + if (compiledAvailabilityConditionBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + compiledAvailabilityCondition_ = value; + } else { + compiledAvailabilityConditionBuilder_.setMessage(value); + } + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+     * The compiled version of the
+     * availability_condition in the STS API AccessBoundaryRule
+     * (google3/google/identity/sts/v1/access_boundary.proto) with limited
+     * function support.
+     * 
+ * + * .google.api.expr.Expr compiled_availability_condition = 4; + */ + public Builder setCompiledAvailabilityCondition(dev.cel.expr.Expr.Builder builderForValue) { + if (compiledAvailabilityConditionBuilder_ == null) { + compiledAvailabilityCondition_ = builderForValue.build(); + } else { + compiledAvailabilityConditionBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+     * The compiled version of the
+     * availability_condition in the STS API AccessBoundaryRule
+     * (google3/google/identity/sts/v1/access_boundary.proto) with limited
+     * function support.
+     * 
+ * + * .google.api.expr.Expr compiled_availability_condition = 4; + */ + public Builder mergeCompiledAvailabilityCondition(dev.cel.expr.Expr value) { + if (compiledAvailabilityConditionBuilder_ == null) { + if (((bitField0_ & 0x00000004) != 0) + && compiledAvailabilityCondition_ != null + && compiledAvailabilityCondition_ != dev.cel.expr.Expr.getDefaultInstance()) { + getCompiledAvailabilityConditionBuilder().mergeFrom(value); + } else { + compiledAvailabilityCondition_ = value; + } + } else { + compiledAvailabilityConditionBuilder_.mergeFrom(value); + } + if (compiledAvailabilityCondition_ != null) { + bitField0_ |= 0x00000004; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * The compiled version of the
+     * availability_condition in the STS API AccessBoundaryRule
+     * (google3/google/identity/sts/v1/access_boundary.proto) with limited
+     * function support.
+     * 
+ * + * .google.api.expr.Expr compiled_availability_condition = 4; + */ + public Builder clearCompiledAvailabilityCondition() { + bitField0_ = (bitField0_ & ~0x00000004); + compiledAvailabilityCondition_ = null; + if (compiledAvailabilityConditionBuilder_ != null) { + compiledAvailabilityConditionBuilder_.dispose(); + compiledAvailabilityConditionBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * The compiled version of the
+     * availability_condition in the STS API AccessBoundaryRule
+     * (google3/google/identity/sts/v1/access_boundary.proto) with limited
+     * function support.
+     * 
+ * + * .google.api.expr.Expr compiled_availability_condition = 4; + */ + public dev.cel.expr.Expr.Builder getCompiledAvailabilityConditionBuilder() { + bitField0_ |= 0x00000004; + onChanged(); + return internalGetCompiledAvailabilityConditionFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * The compiled version of the
+     * availability_condition in the STS API AccessBoundaryRule
+     * (google3/google/identity/sts/v1/access_boundary.proto) with limited
+     * function support.
+     * 
+ * + * .google.api.expr.Expr compiled_availability_condition = 4; + */ + public dev.cel.expr.ExprOrBuilder getCompiledAvailabilityConditionOrBuilder() { + if (compiledAvailabilityConditionBuilder_ != null) { + return compiledAvailabilityConditionBuilder_.getMessageOrBuilder(); + } else { + return compiledAvailabilityCondition_ == null + ? dev.cel.expr.Expr.getDefaultInstance() + : compiledAvailabilityCondition_; + } + } + + /** + * + * + *
+     * The compiled version of the
+     * availability_condition in the STS API AccessBoundaryRule
+     * (google3/google/identity/sts/v1/access_boundary.proto) with limited
+     * function support.
+     * 
+ * + * .google.api.expr.Expr compiled_availability_condition = 4; + */ + private com.google.protobuf.SingleFieldBuilder< + dev.cel.expr.Expr, dev.cel.expr.Expr.Builder, dev.cel.expr.ExprOrBuilder> + internalGetCompiledAvailabilityConditionFieldBuilder() { + if (compiledAvailabilityConditionBuilder_ == null) { + compiledAvailabilityConditionBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + dev.cel.expr.Expr, dev.cel.expr.Expr.Builder, dev.cel.expr.ExprOrBuilder>( + getCompiledAvailabilityCondition(), getParentForChildren(), isClean()); + compiledAvailabilityCondition_ = null; + } + return compiledAvailabilityConditionBuilder_; + } + + // @@protoc_insertion_point(builder_scope:cloud.identity.unifiedauth.proto.ClientSideAccessBoundaryRule) + } + + // @@protoc_insertion_point(class_scope:cloud.identity.unifiedauth.proto.ClientSideAccessBoundaryRule) + private static final com.google.auth.credentialaccessboundary.protobuf + .ClientSideAccessBoundaryRule + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = + new com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRule(); + } + + public static com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRule + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ClientSideAccessBoundaryRule 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.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRule + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/cab-token-generator/java/com/google/auth/credentialaccessboundary/protobuf/ClientSideAccessBoundaryRuleOrBuilder.java b/cab-token-generator/java/com/google/auth/credentialaccessboundary/protobuf/ClientSideAccessBoundaryRuleOrBuilder.java new file mode 100644 index 000000000..36d9c8b74 --- /dev/null +++ b/cab-token-generator/java/com/google/auth/credentialaccessboundary/protobuf/ClientSideAccessBoundaryRuleOrBuilder.java @@ -0,0 +1,179 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: client_side_access_boundary.proto +// Protobuf Java Version: 4.33.0 + +package com.google.auth.credentialaccessboundary.protobuf; + +@com.google.protobuf.Generated +public interface ClientSideAccessBoundaryRuleOrBuilder + extends + // @@protoc_insertion_point(interface_extends:cloud.identity.unifiedauth.proto.ClientSideAccessBoundaryRule) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * The full resource name of a Google Cloud resource entity.
+   * The format definition is at
+   * https://cloud.google.com/apis/design/resource_names.
+   *
+   * Example value: `//cloudresourcemanager.googleapis.com/projects/my-project`.
+   * 
+ * + * string available_resource = 1 [features = { ... } + * + * @return The availableResource. + */ + java.lang.String getAvailableResource(); + + /** + * + * + *
+   * The full resource name of a Google Cloud resource entity.
+   * The format definition is at
+   * https://cloud.google.com/apis/design/resource_names.
+   *
+   * Example value: `//cloudresourcemanager.googleapis.com/projects/my-project`.
+   * 
+ * + * string available_resource = 1 [features = { ... } + * + * @return The bytes for availableResource. + */ + com.google.protobuf.ByteString getAvailableResourceBytes(); + + /** + * + * + *
+   * A list of permissions that may be allowed for use on the specified
+   * resource.
+   *
+   * The only supported values in the list are IAM roles, following the format
+   * of [google.iam.v1.Binding.role][].
+   *
+   * Example value: `inRole:roles/logging.viewer` for predefined roles and
+   * `inRole:organizations/{ORGANIZATION_ID}/roles/logging.viewer` for custom
+   * roles.
+   * 
+ * + * repeated string available_permissions = 2; + * + * @return A list containing the availablePermissions. + */ + java.util.List getAvailablePermissionsList(); + + /** + * + * + *
+   * A list of permissions that may be allowed for use on the specified
+   * resource.
+   *
+   * The only supported values in the list are IAM roles, following the format
+   * of [google.iam.v1.Binding.role][].
+   *
+   * Example value: `inRole:roles/logging.viewer` for predefined roles and
+   * `inRole:organizations/{ORGANIZATION_ID}/roles/logging.viewer` for custom
+   * roles.
+   * 
+ * + * repeated string available_permissions = 2; + * + * @return The count of availablePermissions. + */ + int getAvailablePermissionsCount(); + + /** + * + * + *
+   * A list of permissions that may be allowed for use on the specified
+   * resource.
+   *
+   * The only supported values in the list are IAM roles, following the format
+   * of [google.iam.v1.Binding.role][].
+   *
+   * Example value: `inRole:roles/logging.viewer` for predefined roles and
+   * `inRole:organizations/{ORGANIZATION_ID}/roles/logging.viewer` for custom
+   * roles.
+   * 
+ * + * repeated string available_permissions = 2; + * + * @param index The index of the element to return. + * @return The availablePermissions at the given index. + */ + java.lang.String getAvailablePermissions(int index); + + /** + * + * + *
+   * A list of permissions that may be allowed for use on the specified
+   * resource.
+   *
+   * The only supported values in the list are IAM roles, following the format
+   * of [google.iam.v1.Binding.role][].
+   *
+   * Example value: `inRole:roles/logging.viewer` for predefined roles and
+   * `inRole:organizations/{ORGANIZATION_ID}/roles/logging.viewer` for custom
+   * roles.
+   * 
+ * + * repeated string available_permissions = 2; + * + * @param index The index of the value to return. + * @return The bytes of the availablePermissions at the given index. + */ + com.google.protobuf.ByteString getAvailablePermissionsBytes(int index); + + /** + * + * + *
+   * The compiled version of the
+   * availability_condition in the STS API AccessBoundaryRule
+   * (google3/google/identity/sts/v1/access_boundary.proto) with limited
+   * function support.
+   * 
+ * + * .google.api.expr.Expr compiled_availability_condition = 4; + * + * @return Whether the compiledAvailabilityCondition field is set. + */ + boolean hasCompiledAvailabilityCondition(); + + /** + * + * + *
+   * The compiled version of the
+   * availability_condition in the STS API AccessBoundaryRule
+   * (google3/google/identity/sts/v1/access_boundary.proto) with limited
+   * function support.
+   * 
+ * + * .google.api.expr.Expr compiled_availability_condition = 4; + * + * @return The compiledAvailabilityCondition. + */ + dev.cel.expr.Expr getCompiledAvailabilityCondition(); + + /** + * + * + *
+   * The compiled version of the
+   * availability_condition in the STS API AccessBoundaryRule
+   * (google3/google/identity/sts/v1/access_boundary.proto) with limited
+   * function support.
+   * 
+ * + * .google.api.expr.Expr compiled_availability_condition = 4; + */ + dev.cel.expr.ExprOrBuilder getCompiledAvailabilityConditionOrBuilder(); +} diff --git a/cab-token-generator/javatests/com/google/auth/credentialaccessboundary/ClientSideCredentialAccessBoundaryFactoryTest.java b/cab-token-generator/javatests/com/google/auth/credentialaccessboundary/ClientSideCredentialAccessBoundaryFactoryTest.java index 3f353db37..0ba9cbcf4 100644 --- a/cab-token-generator/javatests/com/google/auth/credentialaccessboundary/ClientSideCredentialAccessBoundaryFactoryTest.java +++ b/cab-token-generator/javatests/com/google/auth/credentialaccessboundary/ClientSideCredentialAccessBoundaryFactoryTest.java @@ -45,8 +45,8 @@ import com.google.auth.TestUtils; import com.google.auth.credentialaccessboundary.ClientSideCredentialAccessBoundaryFactory.IntermediateCredentials; import com.google.auth.credentialaccessboundary.ClientSideCredentialAccessBoundaryFactory.RefreshType; -import com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto.ClientSideAccessBoundary; -import com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryProto.ClientSideAccessBoundaryRule; +import com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundary; +import com.google.auth.credentialaccessboundary.protobuf.ClientSideAccessBoundaryRule; import com.google.auth.http.HttpTransportFactory; import com.google.auth.oauth2.AccessToken; import com.google.auth.oauth2.CredentialAccessBoundary; diff --git a/pom.xml b/pom.xml index b4c466511..4dac9b316 100644 --- a/pom.xml +++ b/pom.xml @@ -74,19 +74,20 @@ UTF-8 - 2.0.2 + 2.1.0-rc1 4.13.2 33.5.0-android 2.0.33 3.0.2 false 2.38.0 - 3.25.5 + 4.33.0 0.9.0-proto3 1.15.0 2.0.17 2.12.1 2.53.0 + true From 5a0e5f202c1161b447e81ae952a5ca84547b47d9 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Tue, 9 Dec 2025 20:10:29 -0500 Subject: [PATCH 06/11] chore(protobuf-4.x-rc): release 1.41.0-rc1 (#1851) Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> --- .release-please-manifest.json | 2 +- CHANGELOG.md | 16 ++++++++++++++++ appengine/pom.xml | 2 +- bom/README.md | 2 +- bom/pom.xml | 2 +- cab-token-generator/pom.xml | 2 +- credentials/pom.xml | 2 +- oauth2_http/pom.xml | 2 +- pom.xml | 2 +- versions.txt | 12 ++++++------ 10 files changed, 30 insertions(+), 14 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 0c37ae42c..3d6e0227e 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "1.40.0" + ".": "1.41.0-rc1" } \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index a3129d812..b7dc012f4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,21 @@ # Changelog +## [1.41.0-rc1](https://github.com/googleapis/google-auth-library-java/compare/v1.40.0...v1.41.0-rc1) (2025-12-09) + + +### Features + +* configure rc releases to be on prerelease mode ([a385211](https://github.com/googleapis/google-auth-library-java/commit/a3852119620bb2bb2a0177607f0facfdaea6a0cb)) +* Introduce per-credential specific load methods ([#1827](https://github.com/googleapis/google-auth-library-java/issues/1827)) ([39fdc64](https://github.com/googleapis/google-auth-library-java/commit/39fdc647c2e14d8006a758fa81dbaeff63fed74e)) +* update protobuf version to 4.33.0 and http-client to 2.1.0-rc1 ([#1853](https://github.com/googleapis/google-auth-library-java/issues/1853)) ([4fcb1fc](https://github.com/googleapis/google-auth-library-java/commit/4fcb1fc727fcd224b1051fb995bc017d5999a1f4)) + + +### Bug Fixes + +* allow -rc releases in MetricsUtilsTest ([d19b976](https://github.com/googleapis/google-auth-library-java/commit/d19b976af36e986bf79f37e5f7750bc544017b41)) +* Do not retrieve the default SA principal when getting an access token ([#1839](https://github.com/googleapis/google-auth-library-java/issues/1839)) ([a65c22d](https://github.com/googleapis/google-auth-library-java/commit/a65c22da2c93bdf33dcd98ece47ee6668d1ed32c)) +* next release candidate ([6e3911f](https://github.com/googleapis/google-auth-library-java/commit/6e3911f79ed9b3057d16f370b29aa3232e3509f9)) + ## [1.40.0](https://github.com/googleapis/google-auth-library-java/compare/v1.39.1...v1.40.0) (2025-10-14) diff --git a/appengine/pom.xml b/appengine/pom.xml index 236599b46..d43c092ef 100644 --- a/appengine/pom.xml +++ b/appengine/pom.xml @@ -5,7 +5,7 @@ com.google.auth google-auth-library-parent - 1.40.1-SNAPSHOT + 1.41.0-rc1 ../pom.xml diff --git a/bom/README.md b/bom/README.md index 3e1a0964c..d3907828b 100644 --- a/bom/README.md +++ b/bom/README.md @@ -12,7 +12,7 @@ To use it in Maven, add the following to your `pom.xml`: com.google.auth google-auth-library-bom - 0.17.1 + 1.41.0-rc1 pom import diff --git a/bom/pom.xml b/bom/pom.xml index db393b084..1ad9e2e61 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.google.auth google-auth-library-bom - 1.40.1-SNAPSHOT + 1.41.0-rc1 pom Google Auth Library for Java BOM diff --git a/cab-token-generator/pom.xml b/cab-token-generator/pom.xml index 9aec2e4a2..40415c5e8 100644 --- a/cab-token-generator/pom.xml +++ b/cab-token-generator/pom.xml @@ -6,7 +6,7 @@ com.google.auth google-auth-library-parent - 1.40.1-SNAPSHOT + 1.41.0-rc1 google-auth-library-cab-token-generator diff --git a/credentials/pom.xml b/credentials/pom.xml index 4532661ce..c1fda61ab 100644 --- a/credentials/pom.xml +++ b/credentials/pom.xml @@ -4,7 +4,7 @@ com.google.auth google-auth-library-parent - 1.40.1-SNAPSHOT + 1.41.0-rc1 ../pom.xml diff --git a/oauth2_http/pom.xml b/oauth2_http/pom.xml index 42e81f2c5..468339975 100644 --- a/oauth2_http/pom.xml +++ b/oauth2_http/pom.xml @@ -7,7 +7,7 @@ com.google.auth google-auth-library-parent - 1.40.1-SNAPSHOT + 1.41.0-rc1 ../pom.xml diff --git a/pom.xml b/pom.xml index 4dac9b316..79086db86 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ 4.0.0 com.google.auth google-auth-library-parent - 1.40.1-SNAPSHOT + 1.41.0-rc1 pom Google Auth Library for Java Client libraries providing authentication and diff --git a/versions.txt b/versions.txt index 569307dd2..b033936cb 100644 --- a/versions.txt +++ b/versions.txt @@ -1,9 +1,9 @@ # Format: # module:released-version:current-version -google-auth-library:1.40.0:1.40.1-SNAPSHOT -google-auth-library-bom:1.40.0:1.40.1-SNAPSHOT -google-auth-library-parent:1.40.0:1.40.1-SNAPSHOT -google-auth-library-appengine:1.40.0:1.40.1-SNAPSHOT -google-auth-library-credentials:1.40.0:1.40.1-SNAPSHOT -google-auth-library-oauth2-http:1.40.0:1.40.1-SNAPSHOT +google-auth-library:1.41.0-rc1:1.41.0-rc1 +google-auth-library-bom:1.41.0-rc1:1.41.0-rc1 +google-auth-library-parent:1.41.0-rc1:1.41.0-rc1 +google-auth-library-appengine:1.41.0-rc1:1.41.0-rc1 +google-auth-library-credentials:1.41.0-rc1:1.41.0-rc1 +google-auth-library-oauth2-http:1.41.0-rc1:1.41.0-rc1 From b60b29289fe9965b6302c0845f84d4120da00a8e Mon Sep 17 00:00:00 2001 From: Diego Marquez Date: Wed, 10 Dec 2025 11:52:29 -0500 Subject: [PATCH 07/11] fix: release as pre release (#1858) --- release-please-config.json | 1 + 1 file changed, 1 insertion(+) diff --git a/release-please-config.json b/release-please-config.json index 6f72631ba..57c01eba5 100644 --- a/release-please-config.json +++ b/release-please-config.json @@ -2,6 +2,7 @@ "release-type": "java-yoshi-mono-repo", "prerelease-type": "rc1", "versioning": "prerelease", + "prerelease": true, "separate-pull-requests": false, "include-component-in-tag": false, "group-pull-request-title-pattern": "chore(${branch}): release ${version}", From f8d66d73fa41b3035ebd77ab134f1755430ab7d9 Mon Sep 17 00:00:00 2001 From: Lawrence Qiu Date: Tue, 9 Dec 2025 10:34:23 -0500 Subject: [PATCH 08/11] chore: Only enable renovate bot for CVE PRs (#1819) --- renovate.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/renovate.json b/renovate.json index 96b91bb21..3f59841a8 100644 --- a/renovate.json +++ b/renovate.json @@ -13,6 +13,12 @@ "ignorePaths": [ ".kokoro/requirements.txt" ], + "vulnerabilityAlerts": { + "enabled": true + }, + "maven": { + "enabled": false + }, "customManagers": [ { "customType": "regex", From e4c5b3cfd886c4bb3b709ba1209620a34f13b31e Mon Sep 17 00:00:00 2001 From: Lawrence Qiu Date: Wed, 3 Dec 2025 18:28:12 -0500 Subject: [PATCH 09/11] fix: Simplify call to directly retrieve the default service account from MDS (#1844) * fix: Simplify call to directly retrieve the default service account from MDS * chore: Make getDefaultServiceAccountUrl package-private --- .../auth/oauth2/ComputeEngineCredentials.java | 16 ++++++------- .../oauth2/ComputeEngineCredentialsTest.java | 4 ++-- .../oauth2/MockMetadataServerTransport.java | 23 ++++++------------- 3 files changed, 17 insertions(+), 26 deletions(-) diff --git a/oauth2_http/java/com/google/auth/oauth2/ComputeEngineCredentials.java b/oauth2_http/java/com/google/auth/oauth2/ComputeEngineCredentials.java index 48a6fbe6b..d36b5c3df 100644 --- a/oauth2_http/java/com/google/auth/oauth2/ComputeEngineCredentials.java +++ b/oauth2_http/java/com/google/auth/oauth2/ComputeEngineCredentials.java @@ -69,7 +69,6 @@ import java.util.Collections; import java.util.Date; import java.util.List; -import java.util.Map; import java.util.Objects; import java.util.logging.Level; import java.util.logging.Logger; @@ -632,6 +631,12 @@ public static String getServiceAccountsUrl() { + "/computeMetadata/v1/instance/service-accounts/?recursive=true"; } + /** Url to retrieve the default service account entry from the Metadata Server. */ + static String getDefaultServiceAccountUrl() { + return getMetadataServerUrl(DefaultCredentialsProvider.DEFAULT) + + "/computeMetadata/v1/instance/service-accounts/default/email"; + } + public static String getIdentityDocumentUrl() { return getMetadataServerUrl(DefaultCredentialsProvider.DEFAULT) + "/computeMetadata/v1/instance/service-accounts/default/identity"; @@ -733,7 +738,7 @@ public byte[] sign(byte[] toSign) { private String getDefaultServiceAccount() throws IOException { HttpResponse response = - getMetadataResponse(getServiceAccountsUrl(), RequestType.UNTRACKED, false); + getMetadataResponse(getDefaultServiceAccountUrl(), RequestType.UNTRACKED, false); int statusCode = response.getStatusCode(); if (statusCode == HttpStatusCodes.STATUS_CODE_NOT_FOUND) { throw new IOException( @@ -756,12 +761,7 @@ private String getDefaultServiceAccount() throws IOException { // Mock transports will have success code with empty content by default. throw new IOException(METADATA_RESPONSE_EMPTY_CONTENT_ERROR_MESSAGE); } - GenericData responseData = response.parseAs(GenericData.class); - LoggingUtils.logResponsePayload( - responseData, LOGGER_PROVIDER, "Received default service account payload"); - Map defaultAccount = - OAuth2Utils.validateMap(responseData, "default", PARSE_ERROR_ACCOUNT); - return OAuth2Utils.validateString(defaultAccount, "email", PARSE_ERROR_ACCOUNT); + return response.parseAsString(); } public static class Builder extends GoogleCredentials.Builder { diff --git a/oauth2_http/javatests/com/google/auth/oauth2/ComputeEngineCredentialsTest.java b/oauth2_http/javatests/com/google/auth/oauth2/ComputeEngineCredentialsTest.java index 4b1f9c1ca..a3df59e1a 100644 --- a/oauth2_http/javatests/com/google/auth/oauth2/ComputeEngineCredentialsTest.java +++ b/oauth2_http/javatests/com/google/auth/oauth2/ComputeEngineCredentialsTest.java @@ -590,7 +590,7 @@ public void getAccount_missing_throws() { new MockMetadataServerTransport() { @Override public LowLevelHttpRequest buildRequest(String method, String url) throws IOException { - if (isGetServiceAccountsUrl(url)) { + if (isGetDefaultServiceAccountsUrl(url)) { return new MockLowLevelHttpRequest(url) { @Override public LowLevelHttpResponse execute() throws IOException { @@ -626,7 +626,7 @@ public void getAccount_emptyContent_throws() { new MockMetadataServerTransport() { @Override public LowLevelHttpRequest buildRequest(String method, String url) throws IOException { - if (isGetServiceAccountsUrl(url)) { + if (isGetDefaultServiceAccountsUrl(url)) { return new MockLowLevelHttpRequest(url) { @Override public LowLevelHttpResponse execute() throws IOException { diff --git a/oauth2_http/javatests/com/google/auth/oauth2/MockMetadataServerTransport.java b/oauth2_http/javatests/com/google/auth/oauth2/MockMetadataServerTransport.java index e7ac6c09d..725a124fc 100644 --- a/oauth2_http/javatests/com/google/auth/oauth2/MockMetadataServerTransport.java +++ b/oauth2_http/javatests/com/google/auth/oauth2/MockMetadataServerTransport.java @@ -129,8 +129,8 @@ public LowLevelHttpRequest buildRequest(String method, String url) throws IOExce if (url.startsWith(ComputeEngineCredentials.getTokenServerEncodedUrl())) { this.request = getMockRequestForTokenEndpoint(url); return this.request; - } else if (isGetServiceAccountsUrl(url)) { - this.request = getMockRequestForServiceAccount(url); + } else if (isGetDefaultServiceAccountsUrl(url)) { + this.request = getMockRequestForDefaultServiceAccount(url); return this.request; } else if (isSignRequestUrl(url)) { this.request = getMockRequestForSign(url); @@ -176,22 +176,13 @@ public LowLevelHttpResponse execute() throws IOException { }; } - private MockLowLevelHttpRequest getMockRequestForServiceAccount(String url) { + private MockLowLevelHttpRequest getMockRequestForDefaultServiceAccount(String url) { return new MockLowLevelHttpRequest(url) { @Override - public LowLevelHttpResponse execute() throws IOException { - // Create the JSON response - GenericJson serviceAccountsContents = new GenericJson(); - serviceAccountsContents.setFactory(OAuth2Utils.JSON_FACTORY); - GenericJson defaultAccount = new GenericJson(); - defaultAccount.put("email", serviceAccountEmail); - serviceAccountsContents.put("default", defaultAccount); - - String serviceAccounts = serviceAccountsContents.toPrettyString(); - + public LowLevelHttpResponse execute() { return new MockLowLevelHttpResponse() .setContentType(Json.MEDIA_TYPE) - .setContent(serviceAccounts); + .setContent(serviceAccountEmail); } }; } @@ -341,8 +332,8 @@ public LowLevelHttpResponse execute() throws IOException { }; } - protected boolean isGetServiceAccountsUrl(String url) { - return url.equals(ComputeEngineCredentials.getServiceAccountsUrl()); + protected boolean isGetDefaultServiceAccountsUrl(String url) { + return url.equals(ComputeEngineCredentials.getDefaultServiceAccountUrl()); } protected boolean isSignRequestUrl(String url) { From 9abaca9d71f2292f37d54a4be15adf0f621775c2 Mon Sep 17 00:00:00 2001 From: Lawrence Qiu Date: Wed, 3 Dec 2025 13:09:31 -0500 Subject: [PATCH 10/11] fix: Add configurable connect and read timeouts for IdentityPoolCredentials requests (#1847) * fix: Add configurable connect and read timeouts to STS requests * chore: Fix lint issues * chore: Add connect and read timeout to identity pool creds * chore: Propogate connect and read timeouts to all calls --- .../oauth2/ExternalAccountCredentials.java | 31 +++++++++++- .../auth/oauth2/ImpersonatedCredentials.java | 33 +++++++++++++ .../google/auth/oauth2/StsRequestHandler.java | 49 ++++++++++++------- 3 files changed, 95 insertions(+), 18 deletions(-) diff --git a/oauth2_http/java/com/google/auth/oauth2/ExternalAccountCredentials.java b/oauth2_http/java/com/google/auth/oauth2/ExternalAccountCredentials.java index 2e95379ba..7f9f0c207 100644 --- a/oauth2_http/java/com/google/auth/oauth2/ExternalAccountCredentials.java +++ b/oauth2_http/java/com/google/auth/oauth2/ExternalAccountCredentials.java @@ -36,6 +36,7 @@ import com.google.api.client.http.HttpHeaders; import com.google.api.client.json.GenericJson; import com.google.api.client.util.Data; +import com.google.api.core.InternalApi; import com.google.auth.RequestMetadataCallback; import com.google.auth.http.HttpTransportFactory; import com.google.common.base.MoreObjects; @@ -97,6 +98,9 @@ public abstract class ExternalAccountCredentials extends GoogleCredentials { private EnvironmentProvider environmentProvider; + private int connectTimeout; + private int readTimeout; + /** * Constructor with minimum identifying information and custom HTTP transport. Does not support * workforce credentials. @@ -271,6 +275,8 @@ protected ExternalAccountCredentials(ExternalAccountCredentials.Builder builder) : builder.metricsHandler; this.name = GoogleCredentialsInfo.EXTERNAL_ACCOUNT_CREDENTIALS.getCredentialName(); + this.connectTimeout = builder.connectTimeout; + this.readTimeout = builder.readTimeout; } ImpersonatedCredentials buildImpersonatedCredentials() { @@ -305,6 +311,8 @@ ImpersonatedCredentials buildImpersonatedCredentials() { .setScopes(new ArrayList<>(scopes)) .setLifetime(this.serviceAccountImpersonationOptions.lifetime) .setIamEndpointOverride(serviceAccountImpersonationUrl) + .setConnectTimeout(connectTimeout) + .setReadTimeout(readTimeout) .build(); } @@ -533,7 +541,9 @@ protected AccessToken exchangeExternalCredentialForAccessToken( StsRequestHandler.Builder requestHandler = StsRequestHandler.newBuilder( - tokenUrl, stsTokenExchangeRequest, transportFactory.create().createRequestFactory()); + tokenUrl, stsTokenExchangeRequest, transportFactory.create().createRequestFactory()) + .setConnectTimeout(connectTimeout) + .setReadTimeout(readTimeout); // If this credential was initialized with a Workforce configuration then the // workforcePoolUserProject must be passed to the Security Token Service via the internal @@ -771,6 +781,9 @@ public abstract static class Builder extends GoogleCredentials.Builder { @Nullable protected String workforcePoolUserProject; @Nullable protected ServiceAccountImpersonationOptions serviceAccountImpersonationOptions; + protected int connectTimeout = 20000; // Default to 20000ms = 20s + protected int readTimeout = 20000; // Default to 20000ms = 20s + /* The field is not being used and value not set. Superseded by the same field in the {@link GoogleCredentials.Builder}. */ @@ -796,6 +809,8 @@ protected Builder(ExternalAccountCredentials credentials) { this.workforcePoolUserProject = credentials.workforcePoolUserProject; this.serviceAccountImpersonationOptions = credentials.serviceAccountImpersonationOptions; this.metricsHandler = credentials.metricsHandler; + this.connectTimeout = credentials.connectTimeout; + this.readTimeout = credentials.readTimeout; } /** @@ -988,6 +1003,20 @@ public Builder setUniverseDomain(String universeDomain) { return this; } + /** Warning: Not for public use and can be removed at any time. */ + @InternalApi + public Builder setConnectTimeout(int connectTimeout) { + this.connectTimeout = connectTimeout; + return this; + } + + /** Warning: Not for public use and can be removed at any time. */ + @InternalApi + public Builder setReadTimeout(int readTimeout) { + this.readTimeout = readTimeout; + return this; + } + /** * Sets the optional Environment Provider. * diff --git a/oauth2_http/java/com/google/auth/oauth2/ImpersonatedCredentials.java b/oauth2_http/java/com/google/auth/oauth2/ImpersonatedCredentials.java index 77c319e0b..5b3df6fec 100644 --- a/oauth2_http/java/com/google/auth/oauth2/ImpersonatedCredentials.java +++ b/oauth2_http/java/com/google/auth/oauth2/ImpersonatedCredentials.java @@ -44,6 +44,7 @@ import com.google.api.client.json.GenericJson; import com.google.api.client.json.JsonObjectParser; import com.google.api.client.util.GenericData; +import com.google.api.core.InternalApi; import com.google.auth.CredentialTypeForMetrics; import com.google.auth.ServiceAccountSigner; import com.google.auth.http.HttpCredentialsAdapter; @@ -117,6 +118,9 @@ public class ImpersonatedCredentials extends GoogleCredentials private transient Calendar calendar; + private int connectTimeout; + private int readTimeout; + /** * @param sourceCredentials the source credential used to acquire the impersonated credentials. It * should be either a user account credential or a service account credential. @@ -559,6 +563,8 @@ private ImpersonatedCredentials(Builder builder) throws IOException { + "does not match %s universe domain set for impersonated credentials.", this.sourceCredentials.getUniverseDomain(), builder.getUniverseDomain())); } + this.connectTimeout = builder.connectTimeout; + this.readTimeout = builder.readTimeout; } /** @@ -587,6 +593,12 @@ public AccessToken refreshAccessToken() throws IOException { || (isDefaultUniverseDomain() && ((ServiceAccountCredentials) this.sourceCredentials) .shouldUseAssertionFlowForGdu())) { + if (this.sourceCredentials instanceof IdentityPoolCredentials) { + this.sourceCredentials = + ((IdentityPoolCredentials) this.sourceCredentials) + .toBuilder().setConnectTimeout(connectTimeout).setReadTimeout(readTimeout).build(); + } + try { this.sourceCredentials.refreshIfExpired(); } catch (IOException e) { @@ -616,6 +628,8 @@ public AccessToken refreshAccessToken() throws IOException { HttpContent requestContent = new JsonHttpContent(parser.getJsonFactory(), body); HttpRequest request = requestFactory.buildPostRequest(url, requestContent); + request.setConnectTimeout(connectTimeout); + request.setReadTimeout(readTimeout); adapter.initialize(request); request.setParser(parser); MetricsUtils.setMetricsHeader( @@ -746,6 +760,9 @@ public static class Builder extends GoogleCredentials.Builder { private String iamEndpointOverride; private Calendar calendar = Calendar.getInstance(); + private int connectTimeout = 20000; // Default to 20000ms = 20s + private int readTimeout = 20000; // Default to 20000ms = 20s + protected Builder() {} /** @@ -769,6 +786,8 @@ protected Builder(ImpersonatedCredentials credentials) { this.lifetime = credentials.lifetime; this.transportFactory = credentials.transportFactory; this.iamEndpointOverride = credentials.iamEndpointOverride; + this.connectTimeout = credentials.connectTimeout; + this.readTimeout = credentials.readTimeout; } @CanIgnoreReturnValue @@ -860,6 +879,20 @@ public Builder setCalendar(Calendar calendar) { return this; } + /** Warning: Not for public use and can be removed at any time. */ + @InternalApi + public Builder setConnectTimeout(int connectTimeout) { + this.connectTimeout = connectTimeout; + return this; + } + + /** Warning: Not for public use and can be removed at any time. */ + @InternalApi + public Builder setReadTimeout(int readTimeout) { + this.readTimeout = readTimeout; + return this; + } + public Calendar getCalendar() { return this.calendar; } diff --git a/oauth2_http/java/com/google/auth/oauth2/StsRequestHandler.java b/oauth2_http/java/com/google/auth/oauth2/StsRequestHandler.java index bd7a2d21f..b2e635524 100644 --- a/oauth2_http/java/com/google/auth/oauth2/StsRequestHandler.java +++ b/oauth2_http/java/com/google/auth/oauth2/StsRequestHandler.java @@ -42,6 +42,7 @@ import com.google.api.client.json.JsonObjectParser; import com.google.api.client.json.JsonParser; import com.google.api.client.util.GenericData; +import com.google.api.core.InternalApi; import com.google.common.base.Joiner; import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.io.IOException; @@ -73,26 +74,22 @@ public final class StsRequestHandler { @Nullable private final HttpHeaders headers; @Nullable private final String internalOptions; + private final int connectTimeout; + private final int readTimeout; + /** * Internal constructor. * - * @param tokenExchangeEndpoint the token exchange endpoint - * @param request the token exchange request - * @param headers optional additional headers to pass along the request - * @param internalOptions optional GCP specific STS options * @return an StsTokenExchangeResponse instance if the request was successful */ - private StsRequestHandler( - String tokenExchangeEndpoint, - StsTokenExchangeRequest request, - HttpRequestFactory httpRequestFactory, - @Nullable HttpHeaders headers, - @Nullable String internalOptions) { - this.tokenExchangeEndpoint = tokenExchangeEndpoint; - this.request = request; - this.httpRequestFactory = httpRequestFactory; - this.headers = headers; - this.internalOptions = internalOptions; + private StsRequestHandler(Builder builder) { + this.tokenExchangeEndpoint = builder.tokenExchangeEndpoint; + this.request = builder.request; + this.httpRequestFactory = builder.httpRequestFactory; + this.headers = builder.headers; + this.internalOptions = builder.internalOptions; + this.connectTimeout = builder.connectTimeout; + this.readTimeout = builder.readTimeout; } /** @@ -120,6 +117,8 @@ public StsTokenExchangeResponse exchangeToken() throws IOException { if (headers != null) { httpRequest.setHeaders(headers); } + httpRequest.setConnectTimeout(connectTimeout); + httpRequest.setReadTimeout(readTimeout); try { HttpResponse response = httpRequest.execute(); @@ -214,6 +213,9 @@ public static class Builder { @Nullable private HttpHeaders headers; @Nullable private String internalOptions; + private int connectTimeout = 20000; // Default to 20000ms = 20s + private int readTimeout = 20000; // Default to 20000ms = 20s + private Builder( String tokenExchangeEndpoint, StsTokenExchangeRequest stsTokenExchangeRequest, @@ -235,9 +237,22 @@ public StsRequestHandler.Builder setInternalOptions(String internalOptions) { return this; } + /** Warning: Not for public use and can be removed at any time. */ + @InternalApi + public StsRequestHandler.Builder setConnectTimeout(int connectTimeout) { + this.connectTimeout = connectTimeout; + return this; + } + + /** Warning: Not for public use and can be removed at any time. */ + @InternalApi + public StsRequestHandler.Builder setReadTimeout(int readTimeout) { + this.readTimeout = readTimeout; + return this; + } + public StsRequestHandler build() { - return new StsRequestHandler( - tokenExchangeEndpoint, request, httpRequestFactory, headers, internalOptions); + return new StsRequestHandler(this); } } } From 7f9f991eb45a105dc5f42fd27e16a2c962c71a6e Mon Sep 17 00:00:00 2001 From: diegomarquezp Date: Wed, 10 Dec 2025 17:25:54 +0000 Subject: [PATCH 11/11] chore: set base branch last release to 1.41.0 --- .release-please-manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 3d6e0227e..4bce58a11 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "1.41.0-rc1" + ".": "1.41.0" } \ No newline at end of file