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
deleted file mode 100644
index 7a26c73c8..000000000
--- a/cab-token-generator/java/com/google/auth/credentialaccessboundary/protobuf/ClientSideAccessBoundaryProto.java
+++ /dev/null
@@ -1,2174 +0,0 @@
-// Generated by the protocol buffer compiler. DO NOT EDIT!
-// source: client_side_access_boundary.proto
-
-// Protobuf Java Version: 3.25.5
-package com.google.auth.credentialaccessboundary.protobuf;
-
-public final class ClientSideAccessBoundaryProto {
- private 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;
-
- public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
- return descriptor;
- }
-
- private static com.google.protobuf.Descriptors.FileDescriptor descriptor;
-
- 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\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"
- };
- descriptor =
- com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom(
- descriptorData,
- 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,
- 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,
- new java.lang.String[] {
- "AccessBoundaryRules",
- });
- dev.cel.expr.SyntaxProto.getDescriptor();
- }
-
- // @@protoc_insertion_point(outer_class_scope)
-}
diff --git a/cab-token-generator/pom.xml b/cab-token-generator/pom.xml
index e12c70615..0f58b794d 100644
--- a/cab-token-generator/pom.xml
+++ b/cab-token-generator/pom.xml
@@ -16,6 +16,33 @@
java
javatests
+
+
+
+ kr.motd.maven
+ os-maven-plugin
+ 1.7.1
+
+
+
+
+ org.xolstice.maven.plugins
+ protobuf-maven-plugin
+ 0.6.1
+
+ ${project.basedir}/proto
+ com.google.protobuf:protoc:${project.protoc.version}:exe:${os.detected.classifier}
+
+
+
+
+ compile
+ test-compile
+
+
+
+
+
diff --git a/cab-token-generator/proto/cel/expr/checked.proto b/cab-token-generator/proto/cel/expr/checked.proto
new file mode 100644
index 000000000..757f51f7e
--- /dev/null
+++ b/cab-token-generator/proto/cel/expr/checked.proto
@@ -0,0 +1,361 @@
+/*
+ * Copyright 2025, Google LLC
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * * Neither the name of Google LLC nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+syntax = "proto3";
+
+package cel.expr;
+
+import "cel/expr/syntax.proto";
+import "google/protobuf/empty.proto";
+import "google/protobuf/struct.proto";
+
+option cc_enable_arenas = true;
+option go_package = "cel.dev/expr";
+option java_multiple_files = true;
+option java_outer_classname = "DeclProto";
+option java_package = "dev.cel.expr";
+
+// Protos for representing CEL declarations and typed checked expressions.
+
+// A CEL expression which has been successfully type checked.
+message CheckedExpr {
+ // A map from expression ids to resolved references.
+ //
+ // The following entries are in this table:
+ //
+ // - An Ident or Select expression is represented here if it resolves to a
+ // declaration. For instance, if `a.b.c` is represented by
+ // `select(select(id(a), b), c)`, and `a.b` resolves to a declaration,
+ // while `c` is a field selection, then the reference is attached to the
+ // nested select expression (but not to the id or or the outer select).
+ // In turn, if `a` resolves to a declaration and `b.c` are field selections,
+ // the reference is attached to the ident expression.
+ // - Every Call expression has an entry here, identifying the function being
+ // called.
+ // - Every CreateStruct expression for a message has an entry, identifying
+ // the message.
+ map reference_map = 2;
+
+ // A map from expression ids to types.
+ //
+ // Every expression node which has a type different than DYN has a mapping
+ // here. If an expression has type DYN, it is omitted from this map to save
+ // space.
+ map type_map = 3;
+
+ // The source info derived from input that generated the parsed `expr` and
+ // any optimizations made during the type-checking pass.
+ SourceInfo source_info = 5;
+
+ // The expr version indicates the major / minor version number of the `expr`
+ // representation.
+ //
+ // The most common reason for a version change will be to indicate to the CEL
+ // runtimes that transformations have been performed on the expr during static
+ // analysis. In some cases, this will save the runtime the work of applying
+ // the same or similar transformations prior to evaluation.
+ string expr_version = 6;
+
+ // The checked expression. Semantically equivalent to the parsed `expr`, but
+ // may have structural differences.
+ Expr expr = 4;
+}
+
+// Represents a CEL type.
+message Type {
+ // List type with typed elements, e.g. `list`.
+ message ListType {
+ // The element type.
+ Type elem_type = 1;
+ }
+
+ // Map type with parameterized key and value types, e.g. `map`.
+ message MapType {
+ // The type of the key.
+ Type key_type = 1;
+
+ // The type of the value.
+ Type value_type = 2;
+ }
+
+ // Function type with result and arg types.
+ message FunctionType {
+ // Result type of the function.
+ Type result_type = 1;
+
+ // Argument types of the function.
+ repeated Type arg_types = 2;
+ }
+
+ // Application defined abstract type.
+ message AbstractType {
+ // The fully qualified name of this abstract type.
+ string name = 1;
+
+ // Parameter types for this abstract type.
+ repeated Type parameter_types = 2;
+ }
+
+ // CEL primitive types.
+ enum PrimitiveType {
+ // Unspecified type.
+ PRIMITIVE_TYPE_UNSPECIFIED = 0;
+
+ // Boolean type.
+ BOOL = 1;
+
+ // Int64 type.
+ //
+ // 32-bit integer values are widened to int64.
+ INT64 = 2;
+
+ // Uint64 type.
+ //
+ // 32-bit unsigned integer values are widened to uint64.
+ UINT64 = 3;
+
+ // Double type.
+ //
+ // 32-bit float values are widened to double values.
+ DOUBLE = 4;
+
+ // String type.
+ STRING = 5;
+
+ // Bytes type.
+ BYTES = 6;
+ }
+
+ // Well-known protobuf types treated with first-class support in CEL.
+ enum WellKnownType {
+ // Unspecified type.
+ WELL_KNOWN_TYPE_UNSPECIFIED = 0;
+
+ // Well-known protobuf.Any type.
+ //
+ // Any types are a polymorphic message type. During type-checking they are
+ // treated like `DYN` types, but at runtime they are resolved to a specific
+ // message type specified at evaluation time.
+ ANY = 1;
+
+ // Well-known protobuf.Timestamp type, internally referenced as `timestamp`.
+ TIMESTAMP = 2;
+
+ // Well-known protobuf.Duration type, internally referenced as `duration`.
+ DURATION = 3;
+ }
+
+ // The kind of type.
+ oneof type_kind {
+ // Dynamic type.
+ google.protobuf.Empty dyn = 1;
+
+ // Null value.
+ google.protobuf.NullValue null = 2;
+
+ // Primitive types: `true`, `1u`, `-2.0`, `'string'`, `b'bytes'`.
+ PrimitiveType primitive = 3;
+
+ // Wrapper of a primitive type, e.g. `google.protobuf.Int64Value`.
+ PrimitiveType wrapper = 4;
+
+ // Well-known protobuf type such as `google.protobuf.Timestamp`.
+ WellKnownType well_known = 5;
+
+ // Parameterized list with elements of `list_type`, e.g. `list`.
+ ListType list_type = 6;
+
+ // Parameterized map with typed keys and values.
+ MapType map_type = 7;
+
+ // Function type.
+ FunctionType function = 8;
+
+ // Protocol buffer message type.
+ //
+ // The `message_type` string specifies the qualified message type name. For
+ // example, `google.type.PhoneNumber`.
+ string message_type = 9;
+
+ // Type param type.
+ //
+ // The `type_param` string specifies the type parameter name, e.g. `list`
+ // would be a `list_type` whose element type was a `type_param` type
+ // named `E`.
+ string type_param = 10;
+
+ // Type type.
+ //
+ // The `type` value specifies the target type. e.g. int is type with a
+ // target type of `Primitive.INT64`.
+ Type type = 11;
+
+ // Error type.
+ //
+ // During type-checking if an expression is an error, its type is propagated
+ // as the `ERROR` type. This permits the type-checker to discover other
+ // errors present in the expression.
+ google.protobuf.Empty error = 12;
+
+ // Abstract, application defined type.
+ //
+ // An abstract type has no accessible field names, and it can only be
+ // inspected via helper / member functions.
+ AbstractType abstract_type = 14;
+ }
+}
+
+// Represents a declaration of a named value or function.
+//
+// A declaration is part of the contract between the expression, the agent
+// evaluating that expression, and the caller requesting evaluation.
+message Decl {
+ // Identifier declaration which specifies its type and optional `Expr` value.
+ //
+ // An identifier without a value is a declaration that must be provided at
+ // evaluation time. An identifier with a value should resolve to a constant,
+ // but may be used in conjunction with other identifiers bound at evaluation
+ // time.
+ message IdentDecl {
+ // Required. The type of the identifier.
+ Type type = 1;
+
+ // The constant value of the identifier. If not specified, the identifier
+ // must be supplied at evaluation time.
+ Constant value = 2;
+
+ // Documentation string for the identifier.
+ string doc = 3;
+ }
+
+ // Function declaration specifies one or more overloads which indicate the
+ // function's parameter types and return type.
+ //
+ // Functions have no observable side-effects (there may be side-effects like
+ // logging which are not observable from CEL).
+ message FunctionDecl {
+ // An overload indicates a function's parameter types and return type, and
+ // may optionally include a function body described in terms of
+ // [Expr][cel.expr.Expr] values.
+ //
+ // Functions overloads are declared in either a function or method
+ // call-style. For methods, the `params[0]` is the expected type of the
+ // target receiver.
+ //
+ // Overloads must have non-overlapping argument types after erasure of all
+ // parameterized type variables (similar as type erasure in Java).
+ message Overload {
+ // Required. Globally unique overload name of the function which reflects
+ // the function name and argument types.
+ //
+ // This will be used by a [Reference][cel.expr.Reference] to
+ // indicate the `overload_id` that was resolved for the function `name`.
+ string overload_id = 1;
+
+ // List of function parameter [Type][cel.expr.Type] values.
+ //
+ // Param types are disjoint after generic type parameters have been
+ // replaced with the type `DYN`. Since the `DYN` type is compatible with
+ // any other type, this means that if `A` is a type parameter, the
+ // function types `int` and `int` are not disjoint. Likewise,
+ // `map` is not disjoint from `map`.
+ //
+ // When the `result_type` of a function is a generic type param, the
+ // type param name also appears as the `type` of on at least one params.
+ repeated Type params = 2;
+
+ // The type param names associated with the function declaration.
+ //
+ // For example, `function ex(K key, map map) : V` would yield
+ // the type params of `K, V`.
+ repeated string type_params = 3;
+
+ // Required. The result type of the function. For example, the operator
+ // `string.isEmpty()` would have `result_type` of `kind: BOOL`.
+ Type result_type = 4;
+
+ // Whether the function is to be used in a method call-style `x.f(...)`
+ // of a function call-style `f(x, ...)`.
+ //
+ // For methods, the first parameter declaration, `params[0]` is the
+ // expected type of the target receiver.
+ bool is_instance_function = 5;
+
+ // Documentation string for the overload.
+ string doc = 6;
+ }
+
+ // Required. List of function overloads, must contain at least one overload.
+ repeated Overload overloads = 1;
+ }
+
+ // The fully qualified name of the declaration.
+ //
+ // Declarations are organized in containers and this represents the full path
+ // to the declaration in its container, as in `cel.expr.Decl`.
+ //
+ // Declarations used as
+ // [FunctionDecl.Overload][cel.expr.Decl.FunctionDecl.Overload]
+ // parameters may or may not have a name depending on whether the overload is
+ // function declaration or a function definition containing a result
+ // [Expr][cel.expr.Expr].
+ string name = 1;
+
+ // Required. The declaration kind.
+ oneof decl_kind {
+ // Identifier declaration.
+ IdentDecl ident = 2;
+
+ // Function declaration.
+ FunctionDecl function = 3;
+ }
+}
+
+// Describes a resolved reference to a declaration.
+message Reference {
+ // The fully qualified name of the declaration.
+ string name = 1;
+
+ // For references to functions, this is a list of `Overload.overload_id`
+ // values which match according to typing rules.
+ //
+ // If the list has more than one element, overload resolution among the
+ // presented candidates must happen at runtime because of dynamic types. The
+ // type checker attempts to narrow down this list as much as possible.
+ //
+ // Empty if this is not a reference to a
+ // [Decl.FunctionDecl][cel.expr.Decl.FunctionDecl].
+ repeated string overload_id = 3;
+
+ // For references to constants, this may contain the value of the
+ // constant if known at compile time.
+ Constant value = 4;
+}
\ No newline at end of file
diff --git a/cab-token-generator/proto/cel/expr/syntax.proto b/cab-token-generator/proto/cel/expr/syntax.proto
new file mode 100644
index 000000000..7317999fe
--- /dev/null
+++ b/cab-token-generator/proto/cel/expr/syntax.proto
@@ -0,0 +1,433 @@
+/*
+ * Copyright 2025, Google LLC
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * * Neither the name of Google LLC nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+syntax = "proto3";
+
+package cel.expr;
+
+import "google/protobuf/duration.proto";
+import "google/protobuf/struct.proto";
+import "google/protobuf/timestamp.proto";
+
+option cc_enable_arenas = true;
+option go_package = "cel.dev/expr";
+option java_multiple_files = true;
+option java_outer_classname = "SyntaxProto";
+option java_package = "dev.cel.expr";
+
+// A representation of the abstract syntax of the Common Expression Language.
+
+// An expression together with source information as returned by the parser.
+message ParsedExpr {
+ // The parsed expression.
+ Expr expr = 2;
+
+ // The source info derived from input that generated the parsed `expr`.
+ SourceInfo source_info = 3;
+}
+
+// An abstract representation of a common expression.
+//
+// Expressions are abstractly represented as a collection of identifiers,
+// select statements, function calls, literals, and comprehensions. All
+// operators with the exception of the '.' operator are modelled as function
+// calls. This makes it easy to represent new operators into the existing AST.
+//
+// All references within expressions must resolve to a
+// [Decl][cel.expr.Decl] provided at type-check for an expression to be
+// valid. A reference may either be a bare identifier `name` or a qualified
+// identifier `google.api.name`. References may either refer to a value or a
+// function declaration.
+//
+// For example, the expression `google.api.name.startsWith('expr')` references
+// the declaration `google.api.name` within a
+// [Expr.Select][cel.expr.Expr.Select] expression, and the function
+// declaration `startsWith`.
+message Expr {
+ // An identifier expression. e.g. `request`.
+ message Ident {
+ // Required. Holds a single, unqualified identifier, possibly preceded by a
+ // '.'.
+ //
+ // Qualified names are represented by the
+ // [Expr.Select][cel.expr.Expr.Select] expression.
+ string name = 1;
+ }
+
+ // A field selection expression. e.g. `request.auth`.
+ message Select {
+ // Required. The target of the selection expression.
+ //
+ // For example, in the select expression `request.auth`, the `request`
+ // portion of the expression is the `operand`.
+ Expr operand = 1;
+
+ // Required. The name of the field to select.
+ //
+ // For example, in the select expression `request.auth`, the `auth` portion
+ // of the expression would be the `field`.
+ string field = 2;
+
+ // Whether the select is to be interpreted as a field presence test.
+ //
+ // This results from the macro `has(request.auth)`.
+ bool test_only = 3;
+ }
+
+ // A call expression, including calls to predefined functions and operators.
+ //
+ // For example, `value == 10`, `size(map_value)`.
+ message Call {
+ // The target of an method call-style expression. For example, `x` in
+ // `x.f()`.
+ Expr target = 1;
+
+ // Required. The name of the function or method being called.
+ string function = 2;
+
+ // The arguments.
+ repeated Expr args = 3;
+ }
+
+ // A list creation expression.
+ //
+ // Lists may either be homogenous, e.g. `[1, 2, 3]`, or heterogeneous, e.g.
+ // `dyn([1, 'hello', 2.0])`
+ message CreateList {
+ // The elements part of the list.
+ repeated Expr elements = 1;
+
+ // The indices within the elements list which are marked as optional
+ // elements.
+ //
+ // When an optional-typed value is present, the value it contains
+ // is included in the list. If the optional-typed value is absent, the list
+ // element is omitted from the CreateList result.
+ repeated int32 optional_indices = 2;
+ }
+
+ // A map or message creation expression.
+ //
+ // Maps are constructed as `{'key_name': 'value'}`. Message construction is
+ // similar, but prefixed with a type name and composed of field ids:
+ // `types.MyType{field_id: 'value'}`.
+ message CreateStruct {
+ // Represents an entry.
+ message Entry {
+ // Required. An id assigned to this node by the parser which is unique
+ // in a given expression tree. This is used to associate type
+ // information and other attributes to the node.
+ int64 id = 1;
+
+ // The `Entry` key kinds.
+ oneof key_kind {
+ // The field key for a message creator statement.
+ string field_key = 2;
+
+ // The key expression for a map creation statement.
+ Expr map_key = 3;
+ }
+
+ // Required. The value assigned to the key.
+ //
+ // If the optional_entry field is true, the expression must resolve to an
+ // optional-typed value. If the optional value is present, the key will be
+ // set; however, if the optional value is absent, the key will be unset.
+ Expr value = 4;
+
+ // Whether the key-value pair is optional.
+ bool optional_entry = 5;
+ }
+
+ // The type name of the message to be created, empty when creating map
+ // literals.
+ string message_name = 1;
+
+ // The entries in the creation expression.
+ repeated Entry entries = 2;
+ }
+
+ // A comprehension expression applied to a list or map.
+ //
+ // Comprehensions are not part of the core syntax, but enabled with macros.
+ // A macro matches a specific call signature within a parsed AST and replaces
+ // the call with an alternate AST block. Macro expansion happens at parse
+ // time.
+ //
+ // The following macros are supported within CEL:
+ //
+ // Aggregate type macros may be applied to all elements in a list or all keys
+ // in a map:
+ //
+ // * `all`, `exists`, `exists_one` - test a predicate expression against
+ // the inputs and return `true` if the predicate is satisfied for all,
+ // any, or only one value `list.all(x, x < 10)`.
+ // * `filter` - test a predicate expression against the inputs and return
+ // the subset of elements which satisfy the predicate:
+ // `payments.filter(p, p > 1000)`.
+ // * `map` - apply an expression to all elements in the input and return the
+ // output aggregate type: `[1, 2, 3].map(i, i * i)`.
+ //
+ // The `has(m.x)` macro tests whether the property `x` is present in struct
+ // `m`. The semantics of this macro depend on the type of `m`. For proto2
+ // messages `has(m.x)` is defined as 'defined, but not set`. For proto3, the
+ // macro tests whether the property is set to its default. For map and struct
+ // types, the macro tests whether the property `x` is defined on `m`.
+ //
+ // Comprehensions for the standard environment macros evaluation can be best
+ // visualized as the following pseudocode:
+ //
+ // ```
+ // let `accu_var` = `accu_init`
+ // for (let `iter_var` in `iter_range`) {
+ // if (!`loop_condition`) {
+ // break
+ // }
+ // `accu_var` = `loop_step`
+ // }
+ // return `result`
+ // ```
+ //
+ // Comprehensions for the optional V2 macros which support map-to-map
+ // translation differ slightly from the standard environment macros in that
+ // they expose both the key or index in addition to the value for each list
+ // or map entry:
+ //
+ // ```
+ // let `accu_var` = `accu_init`
+ // for (let `iter_var`, `iter_var2` in `iter_range`) {
+ // if (!`loop_condition`) {
+ // break
+ // }
+ // `accu_var` = `loop_step`
+ // }
+ // return `result`
+ // ```
+ message Comprehension {
+ // The name of the first iteration variable.
+ // For the single iteration variable macros, when iter_range is a list, this
+ // variable is the list element and when the iter_range is a map, this
+ // variable is the map key.
+ string iter_var = 1;
+
+ // The name of the second iteration variable, empty if not set.
+ // This field is only set for comprehension v2 macros.
+ string iter_var2 = 8;
+
+ // The range over which the comprehension iterates.
+ Expr iter_range = 2;
+
+ // The name of the variable used for accumulation of the result.
+ string accu_var = 3;
+
+ // The initial value of the accumulator.
+ Expr accu_init = 4;
+
+ // An expression which can contain iter_var, iter_var2, and accu_var.
+ //
+ // Returns false when the result has been computed and may be used as
+ // a hint to short-circuit the remainder of the comprehension.
+ Expr loop_condition = 5;
+
+ // An expression which can contain iter_var, iter_var2, and accu_var.
+ //
+ // Computes the next value of accu_var.
+ Expr loop_step = 6;
+
+ // An expression which can contain accu_var.
+ //
+ // Computes the result.
+ Expr result = 7;
+ }
+
+ // Required. An id assigned to this node by the parser which is unique in a
+ // given expression tree. This is used to associate type information and other
+ // attributes to a node in the parse tree.
+ int64 id = 2;
+
+ // Required. Variants of expressions.
+ oneof expr_kind {
+ // A constant expression.
+ Constant const_expr = 3;
+
+ // An identifier expression.
+ Ident ident_expr = 4;
+
+ // A field selection expression, e.g. `request.auth`.
+ Select select_expr = 5;
+
+ // A call expression, including calls to predefined functions and operators.
+ Call call_expr = 6;
+
+ // A list creation expression.
+ CreateList list_expr = 7;
+
+ // A map or message creation expression.
+ CreateStruct struct_expr = 8;
+
+ // A comprehension expression.
+ Comprehension comprehension_expr = 9;
+ }
+}
+
+// Represents a primitive literal.
+//
+// Named 'Constant' here for backwards compatibility.
+//
+// This is similar as the primitives supported in the well-known type
+// `google.protobuf.Value`, but richer so it can represent CEL's full range of
+// primitives.
+//
+// Lists and structs are not included as constants as these aggregate types may
+// contain [Expr][cel.expr.Expr] elements which require evaluation and
+// are thus not constant.
+//
+// Examples of constants include: `"hello"`, `b'bytes'`, `1u`, `4.2`, `-2`,
+// `true`, `null`.
+message Constant {
+ // Required. The valid constant kinds.
+ oneof constant_kind {
+ // null value.
+ google.protobuf.NullValue null_value = 1;
+
+ // boolean value.
+ bool bool_value = 2;
+
+ // int64 value.
+ int64 int64_value = 3;
+
+ // uint64 value.
+ uint64 uint64_value = 4;
+
+ // double value.
+ double double_value = 5;
+
+ // string value.
+ string string_value = 6;
+
+ // bytes value.
+ bytes bytes_value = 7;
+
+ // protobuf.Duration value.
+ //
+ // Deprecated: duration is no longer considered a builtin cel type.
+ google.protobuf.Duration duration_value = 8 [ deprecated = true ];
+
+ // protobuf.Timestamp value.
+ //
+ // Deprecated: timestamp is no longer considered a builtin cel type.
+ google.protobuf.Timestamp timestamp_value = 9 [ deprecated = true ];
+ }
+}
+
+// Source information collected at parse time.
+message SourceInfo {
+ // The syntax version of the source, e.g. `cel1`.
+ string syntax_version = 1;
+
+ // The location name. All position information attached to an expression is
+ // relative to this location.
+ //
+ // The location could be a file, UI element, or similar. For example,
+ // `acme/app/AnvilPolicy.cel`.
+ string location = 2;
+
+ // Monotonically increasing list of code point offsets where newlines
+ // `\n` appear.
+ //
+ // The line number of a given position is the index `i` where for a given
+ // `id` the `line_offsets[i] < id_positions[id] < line_offsets[i+1]`. The
+ // column may be derived from `id_positions[id] - line_offsets[i]`.
+ repeated int32 line_offsets = 3;
+
+ // A map from the parse node id (e.g. `Expr.id`) to the code point offset
+ // within the source.
+ map positions = 4;
+
+ // A map from the parse node id where a macro replacement was made to the
+ // call `Expr` that resulted in a macro expansion.
+ //
+ // For example, `has(value.field)` is a function call that is replaced by a
+ // `test_only` field selection in the AST. Likewise, the call
+ // `list.exists(e, e > 10)` translates to a comprehension expression. The key
+ // in the map corresponds to the expression id of the expanded macro, and the
+ // value is the call `Expr` that was replaced.
+ map macro_calls = 5;
+
+ // A list of tags for extensions that were used while parsing or type checking
+ // the source expression. For example, optimizations that require special
+ // runtime support may be specified.
+ //
+ // These are used to check feature support between components in separate
+ // implementations. This can be used to either skip redundant work or
+ // report an error if the extension is unsupported.
+ repeated Extension extensions = 6;
+
+ // An extension that was requested for the source expression.
+ message Extension {
+ // Version
+ message Version {
+ // Major version changes indicate different required support level from
+ // the required components.
+ int64 major = 1;
+ // Minor version changes must not change the observed behavior from
+ // existing implementations, but may be provided informationally.
+ int64 minor = 2;
+ }
+
+ // CEL component specifier.
+ enum Component {
+ // Unspecified, default.
+ COMPONENT_UNSPECIFIED = 0;
+ // Parser. Converts a CEL string to an AST.
+ COMPONENT_PARSER = 1;
+ // Type checker. Checks that references in an AST are defined and types
+ // agree.
+ COMPONENT_TYPE_CHECKER = 2;
+ // Runtime. Evaluates a parsed and optionally checked CEL AST against a
+ // context.
+ COMPONENT_RUNTIME = 3;
+ }
+
+ // Identifier for the extension. Example: constant_folding
+ string id = 1;
+
+ // If set, the listed components must understand the extension for the
+ // expression to evaluate correctly.
+ //
+ // This field has set semantics, repeated values should be deduplicated.
+ repeated Component affected_components = 2;
+
+ // Version info. May be skipped if it isn't meaningful for the extension.
+ // (for example constant_folding might always be v0.0).
+ Version version = 3;
+ }
+}
\ No newline at end of file
diff --git a/cab-token-generator/proto/client_side_access_boundary.proto b/cab-token-generator/proto/client_side_access_boundary.proto
new file mode 100644
index 000000000..77d09e099
--- /dev/null
+++ b/cab-token-generator/proto/client_side_access_boundary.proto
@@ -0,0 +1,52 @@
+/*
+ * Copyright 2025, Google LLC
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * * Neither the name of Google LLC nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+syntax = "proto3";
+
+package com.google.auth.credentialaccessboundary.proto;
+
+import "cel/expr/syntax.proto";
+
+option java_multiple_files = false;
+option java_package = "com.google.auth.credentialaccessboundary.protobuf";
+option java_outer_classname = "ClientSideAccessBoundaryProto";
+
+message ClientSideAccessBoundaryRule {
+ string available_resource = 1;
+
+ repeated string available_permissions = 2;
+
+ cel.expr.Expr compiled_availability_condition = 4;
+}
+
+message ClientSideAccessBoundary {
+ repeated ClientSideAccessBoundaryRule access_boundary_rules = 1;
+}
diff --git a/pom.xml b/pom.xml
index 35b3e1991..cde5ec161 100644
--- a/pom.xml
+++ b/pom.xml
@@ -82,6 +82,7 @@
false
2.36.0
3.25.5
+ 3.25.5
0.9.0-proto3
1.15.0