Class AttributePropagationSettings.Builder

java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder
com.google.protobuf.AbstractMessage.Builder<BuilderT>
com.google.protobuf.GeneratedMessage.Builder<AttributePropagationSettings.Builder>
com.google.cloud.iap.v1.AttributePropagationSettings.Builder
All Implemented Interfaces:
AttributePropagationSettingsOrBuilder, com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Cloneable
Enclosing class:
AttributePropagationSettings

public static final class AttributePropagationSettings.Builder extends com.google.protobuf.GeneratedMessage.Builder<AttributePropagationSettings.Builder> implements AttributePropagationSettingsOrBuilder
 Configuration for propagating attributes to applications protected
 by IAP.
 
Protobuf type google.cloud.iap.v1.AttributePropagationSettings
  • Method Details

    • getDescriptor

      public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
    • internalGetFieldAccessorTable

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
      Specified by:
      internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessage.Builder<AttributePropagationSettings.Builder>
    • clear

      Specified by:
      clear in interface com.google.protobuf.Message.Builder
      Specified by:
      clear in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      clear in class com.google.protobuf.GeneratedMessage.Builder<AttributePropagationSettings.Builder>
    • getDescriptorForType

      public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
      Specified by:
      getDescriptorForType in interface com.google.protobuf.Message.Builder
      Specified by:
      getDescriptorForType in interface com.google.protobuf.MessageOrBuilder
      Overrides:
      getDescriptorForType in class com.google.protobuf.GeneratedMessage.Builder<AttributePropagationSettings.Builder>
    • getDefaultInstanceForType

      public AttributePropagationSettings getDefaultInstanceForType()
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder
    • build

      Specified by:
      build in interface com.google.protobuf.Message.Builder
      Specified by:
      build in interface com.google.protobuf.MessageLite.Builder
    • buildPartial

      public AttributePropagationSettings buildPartial()
      Specified by:
      buildPartial in interface com.google.protobuf.Message.Builder
      Specified by:
      buildPartial in interface com.google.protobuf.MessageLite.Builder
    • mergeFrom

      public AttributePropagationSettings.Builder mergeFrom(com.google.protobuf.Message other)
      Specified by:
      mergeFrom in interface com.google.protobuf.Message.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessage.Builder<AttributePropagationSettings.Builder>
    • mergeFrom

    • isInitialized

      public final boolean isInitialized()
      Specified by:
      isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
      Overrides:
      isInitialized in class com.google.protobuf.GeneratedMessage.Builder<AttributePropagationSettings.Builder>
    • mergeFrom

      public AttributePropagationSettings.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Specified by:
      mergeFrom in interface com.google.protobuf.Message.Builder
      Specified by:
      mergeFrom in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessage.Builder<AttributePropagationSettings.Builder>
      Throws:
      IOException
    • hasExpression

      public boolean hasExpression()
       Optional. Raw string CEL expression. Must return a list of attributes. A
       maximum of 45 attributes can be selected. Expressions can select different
       attribute types from `attributes`: `attributes.saml_attributes`,
       `attributes.iap_attributes`. The following functions are supported:
      
       - filter `<list>.filter(<iter_var>, <predicate>)`: Returns a subset of
       `<list>` where `<predicate>` is true for every item.
      
       - in `<var> in <list>`: Returns true if `<list>` contains `<var>`.
      
       - selectByName `<list>.selectByName(<string>)`: Returns the attribute
       in
       `<list>` with the given `<string>` name, otherwise returns empty.
      
       - emitAs `<attribute>.emitAs(<string>)`: Sets the `<attribute>` name
       field to the given `<string>` for propagation in selected output
       credentials.
      
       - strict `<attribute>.strict()`: Ignores the `x-goog-iap-attr-` prefix
       for the provided `<attribute>` when propagating with the `HEADER` output
       credential, such as request headers.
      
       - append `<target_list>.append(<attribute>)` OR
       `<target_list>.append(<list>)`: Appends the provided `<attribute>` or
       `<list>` to the end of `<target_list>`.
      
       Example expression: `attributes.saml_attributes.filter(x, x.name in
       ['test']).append(attributes.iap_attributes.selectByName('exact').emitAs('custom').strict())`
       
      optional string expression = 1 [(.google.api.field_behavior) = OPTIONAL];
      Specified by:
      hasExpression in interface AttributePropagationSettingsOrBuilder
      Returns:
      Whether the expression field is set.
    • getExpression

      public String getExpression()
       Optional. Raw string CEL expression. Must return a list of attributes. A
       maximum of 45 attributes can be selected. Expressions can select different
       attribute types from `attributes`: `attributes.saml_attributes`,
       `attributes.iap_attributes`. The following functions are supported:
      
       - filter `<list>.filter(<iter_var>, <predicate>)`: Returns a subset of
       `<list>` where `<predicate>` is true for every item.
      
       - in `<var> in <list>`: Returns true if `<list>` contains `<var>`.
      
       - selectByName `<list>.selectByName(<string>)`: Returns the attribute
       in
       `<list>` with the given `<string>` name, otherwise returns empty.
      
       - emitAs `<attribute>.emitAs(<string>)`: Sets the `<attribute>` name
       field to the given `<string>` for propagation in selected output
       credentials.
      
       - strict `<attribute>.strict()`: Ignores the `x-goog-iap-attr-` prefix
       for the provided `<attribute>` when propagating with the `HEADER` output
       credential, such as request headers.
      
       - append `<target_list>.append(<attribute>)` OR
       `<target_list>.append(<list>)`: Appends the provided `<attribute>` or
       `<list>` to the end of `<target_list>`.
      
       Example expression: `attributes.saml_attributes.filter(x, x.name in
       ['test']).append(attributes.iap_attributes.selectByName('exact').emitAs('custom').strict())`
       
      optional string expression = 1 [(.google.api.field_behavior) = OPTIONAL];
      Specified by:
      getExpression in interface AttributePropagationSettingsOrBuilder
      Returns:
      The expression.
    • getExpressionBytes

      public com.google.protobuf.ByteString getExpressionBytes()
       Optional. Raw string CEL expression. Must return a list of attributes. A
       maximum of 45 attributes can be selected. Expressions can select different
       attribute types from `attributes`: `attributes.saml_attributes`,
       `attributes.iap_attributes`. The following functions are supported:
      
       - filter `<list>.filter(<iter_var>, <predicate>)`: Returns a subset of
       `<list>` where `<predicate>` is true for every item.
      
       - in `<var> in <list>`: Returns true if `<list>` contains `<var>`.
      
       - selectByName `<list>.selectByName(<string>)`: Returns the attribute
       in
       `<list>` with the given `<string>` name, otherwise returns empty.
      
       - emitAs `<attribute>.emitAs(<string>)`: Sets the `<attribute>` name
       field to the given `<string>` for propagation in selected output
       credentials.
      
       - strict `<attribute>.strict()`: Ignores the `x-goog-iap-attr-` prefix
       for the provided `<attribute>` when propagating with the `HEADER` output
       credential, such as request headers.
      
       - append `<target_list>.append(<attribute>)` OR
       `<target_list>.append(<list>)`: Appends the provided `<attribute>` or
       `<list>` to the end of `<target_list>`.
      
       Example expression: `attributes.saml_attributes.filter(x, x.name in
       ['test']).append(attributes.iap_attributes.selectByName('exact').emitAs('custom').strict())`
       
      optional string expression = 1 [(.google.api.field_behavior) = OPTIONAL];
      Specified by:
      getExpressionBytes in interface AttributePropagationSettingsOrBuilder
      Returns:
      The bytes for expression.
    • setExpression

      public AttributePropagationSettings.Builder setExpression(String value)
       Optional. Raw string CEL expression. Must return a list of attributes. A
       maximum of 45 attributes can be selected. Expressions can select different
       attribute types from `attributes`: `attributes.saml_attributes`,
       `attributes.iap_attributes`. The following functions are supported:
      
       - filter `<list>.filter(<iter_var>, <predicate>)`: Returns a subset of
       `<list>` where `<predicate>` is true for every item.
      
       - in `<var> in <list>`: Returns true if `<list>` contains `<var>`.
      
       - selectByName `<list>.selectByName(<string>)`: Returns the attribute
       in
       `<list>` with the given `<string>` name, otherwise returns empty.
      
       - emitAs `<attribute>.emitAs(<string>)`: Sets the `<attribute>` name
       field to the given `<string>` for propagation in selected output
       credentials.
      
       - strict `<attribute>.strict()`: Ignores the `x-goog-iap-attr-` prefix
       for the provided `<attribute>` when propagating with the `HEADER` output
       credential, such as request headers.
      
       - append `<target_list>.append(<attribute>)` OR
       `<target_list>.append(<list>)`: Appends the provided `<attribute>` or
       `<list>` to the end of `<target_list>`.
      
       Example expression: `attributes.saml_attributes.filter(x, x.name in
       ['test']).append(attributes.iap_attributes.selectByName('exact').emitAs('custom').strict())`
       
      optional string expression = 1 [(.google.api.field_behavior) = OPTIONAL];
      Parameters:
      value - The expression to set.
      Returns:
      This builder for chaining.
    • clearExpression

      public AttributePropagationSettings.Builder clearExpression()
       Optional. Raw string CEL expression. Must return a list of attributes. A
       maximum of 45 attributes can be selected. Expressions can select different
       attribute types from `attributes`: `attributes.saml_attributes`,
       `attributes.iap_attributes`. The following functions are supported:
      
       - filter `<list>.filter(<iter_var>, <predicate>)`: Returns a subset of
       `<list>` where `<predicate>` is true for every item.
      
       - in `<var> in <list>`: Returns true if `<list>` contains `<var>`.
      
       - selectByName `<list>.selectByName(<string>)`: Returns the attribute
       in
       `<list>` with the given `<string>` name, otherwise returns empty.
      
       - emitAs `<attribute>.emitAs(<string>)`: Sets the `<attribute>` name
       field to the given `<string>` for propagation in selected output
       credentials.
      
       - strict `<attribute>.strict()`: Ignores the `x-goog-iap-attr-` prefix
       for the provided `<attribute>` when propagating with the `HEADER` output
       credential, such as request headers.
      
       - append `<target_list>.append(<attribute>)` OR
       `<target_list>.append(<list>)`: Appends the provided `<attribute>` or
       `<list>` to the end of `<target_list>`.
      
       Example expression: `attributes.saml_attributes.filter(x, x.name in
       ['test']).append(attributes.iap_attributes.selectByName('exact').emitAs('custom').strict())`
       
      optional string expression = 1 [(.google.api.field_behavior) = OPTIONAL];
      Returns:
      This builder for chaining.
    • setExpressionBytes

      public AttributePropagationSettings.Builder setExpressionBytes(com.google.protobuf.ByteString value)
       Optional. Raw string CEL expression. Must return a list of attributes. A
       maximum of 45 attributes can be selected. Expressions can select different
       attribute types from `attributes`: `attributes.saml_attributes`,
       `attributes.iap_attributes`. The following functions are supported:
      
       - filter `<list>.filter(<iter_var>, <predicate>)`: Returns a subset of
       `<list>` where `<predicate>` is true for every item.
      
       - in `<var> in <list>`: Returns true if `<list>` contains `<var>`.
      
       - selectByName `<list>.selectByName(<string>)`: Returns the attribute
       in
       `<list>` with the given `<string>` name, otherwise returns empty.
      
       - emitAs `<attribute>.emitAs(<string>)`: Sets the `<attribute>` name
       field to the given `<string>` for propagation in selected output
       credentials.
      
       - strict `<attribute>.strict()`: Ignores the `x-goog-iap-attr-` prefix
       for the provided `<attribute>` when propagating with the `HEADER` output
       credential, such as request headers.
      
       - append `<target_list>.append(<attribute>)` OR
       `<target_list>.append(<list>)`: Appends the provided `<attribute>` or
       `<list>` to the end of `<target_list>`.
      
       Example expression: `attributes.saml_attributes.filter(x, x.name in
       ['test']).append(attributes.iap_attributes.selectByName('exact').emitAs('custom').strict())`
       
      optional string expression = 1 [(.google.api.field_behavior) = OPTIONAL];
      Parameters:
      value - The bytes for expression to set.
      Returns:
      This builder for chaining.
    • getOutputCredentialsList

      public List<AttributePropagationSettings.OutputCredentials> getOutputCredentialsList()
       Optional. Which output credentials attributes selected by the CEL
       expression should be propagated in. All attributes will be fully duplicated
       in each selected output credential.
       
      repeated .google.cloud.iap.v1.AttributePropagationSettings.OutputCredentials output_credentials = 2 [(.google.api.field_behavior) = OPTIONAL];
      Specified by:
      getOutputCredentialsList in interface AttributePropagationSettingsOrBuilder
      Returns:
      A list containing the outputCredentials.
    • getOutputCredentialsCount

      public int getOutputCredentialsCount()
       Optional. Which output credentials attributes selected by the CEL
       expression should be propagated in. All attributes will be fully duplicated
       in each selected output credential.
       
      repeated .google.cloud.iap.v1.AttributePropagationSettings.OutputCredentials output_credentials = 2 [(.google.api.field_behavior) = OPTIONAL];
      Specified by:
      getOutputCredentialsCount in interface AttributePropagationSettingsOrBuilder
      Returns:
      The count of outputCredentials.
    • getOutputCredentials

      public AttributePropagationSettings.OutputCredentials getOutputCredentials(int index)
       Optional. Which output credentials attributes selected by the CEL
       expression should be propagated in. All attributes will be fully duplicated
       in each selected output credential.
       
      repeated .google.cloud.iap.v1.AttributePropagationSettings.OutputCredentials output_credentials = 2 [(.google.api.field_behavior) = OPTIONAL];
      Specified by:
      getOutputCredentials in interface AttributePropagationSettingsOrBuilder
      Parameters:
      index - The index of the element to return.
      Returns:
      The outputCredentials at the given index.
    • setOutputCredentials

       Optional. Which output credentials attributes selected by the CEL
       expression should be propagated in. All attributes will be fully duplicated
       in each selected output credential.
       
      repeated .google.cloud.iap.v1.AttributePropagationSettings.OutputCredentials output_credentials = 2 [(.google.api.field_behavior) = OPTIONAL];
      Parameters:
      index - The index to set the value at.
      value - The outputCredentials to set.
      Returns:
      This builder for chaining.
    • addOutputCredentials

       Optional. Which output credentials attributes selected by the CEL
       expression should be propagated in. All attributes will be fully duplicated
       in each selected output credential.
       
      repeated .google.cloud.iap.v1.AttributePropagationSettings.OutputCredentials output_credentials = 2 [(.google.api.field_behavior) = OPTIONAL];
      Parameters:
      value - The outputCredentials to add.
      Returns:
      This builder for chaining.
    • addAllOutputCredentials

       Optional. Which output credentials attributes selected by the CEL
       expression should be propagated in. All attributes will be fully duplicated
       in each selected output credential.
       
      repeated .google.cloud.iap.v1.AttributePropagationSettings.OutputCredentials output_credentials = 2 [(.google.api.field_behavior) = OPTIONAL];
      Parameters:
      values - The outputCredentials to add.
      Returns:
      This builder for chaining.
    • clearOutputCredentials

      public AttributePropagationSettings.Builder clearOutputCredentials()
       Optional. Which output credentials attributes selected by the CEL
       expression should be propagated in. All attributes will be fully duplicated
       in each selected output credential.
       
      repeated .google.cloud.iap.v1.AttributePropagationSettings.OutputCredentials output_credentials = 2 [(.google.api.field_behavior) = OPTIONAL];
      Returns:
      This builder for chaining.
    • getOutputCredentialsValueList

      public List<Integer> getOutputCredentialsValueList()
       Optional. Which output credentials attributes selected by the CEL
       expression should be propagated in. All attributes will be fully duplicated
       in each selected output credential.
       
      repeated .google.cloud.iap.v1.AttributePropagationSettings.OutputCredentials output_credentials = 2 [(.google.api.field_behavior) = OPTIONAL];
      Specified by:
      getOutputCredentialsValueList in interface AttributePropagationSettingsOrBuilder
      Returns:
      A list containing the enum numeric values on the wire for outputCredentials.
    • getOutputCredentialsValue

      public int getOutputCredentialsValue(int index)
       Optional. Which output credentials attributes selected by the CEL
       expression should be propagated in. All attributes will be fully duplicated
       in each selected output credential.
       
      repeated .google.cloud.iap.v1.AttributePropagationSettings.OutputCredentials output_credentials = 2 [(.google.api.field_behavior) = OPTIONAL];
      Specified by:
      getOutputCredentialsValue in interface AttributePropagationSettingsOrBuilder
      Parameters:
      index - The index of the value to return.
      Returns:
      The enum numeric value on the wire of outputCredentials at the given index.
    • setOutputCredentialsValue

      public AttributePropagationSettings.Builder setOutputCredentialsValue(int index, int value)
       Optional. Which output credentials attributes selected by the CEL
       expression should be propagated in. All attributes will be fully duplicated
       in each selected output credential.
       
      repeated .google.cloud.iap.v1.AttributePropagationSettings.OutputCredentials output_credentials = 2 [(.google.api.field_behavior) = OPTIONAL];
      Parameters:
      index - The index to set the value at.
      value - The enum numeric value on the wire for outputCredentials to set.
      Returns:
      This builder for chaining.
    • addOutputCredentialsValue

      public AttributePropagationSettings.Builder addOutputCredentialsValue(int value)
       Optional. Which output credentials attributes selected by the CEL
       expression should be propagated in. All attributes will be fully duplicated
       in each selected output credential.
       
      repeated .google.cloud.iap.v1.AttributePropagationSettings.OutputCredentials output_credentials = 2 [(.google.api.field_behavior) = OPTIONAL];
      Parameters:
      value - The enum numeric value on the wire for outputCredentials to add.
      Returns:
      This builder for chaining.
    • addAllOutputCredentialsValue

      public AttributePropagationSettings.Builder addAllOutputCredentialsValue(Iterable<Integer> values)
       Optional. Which output credentials attributes selected by the CEL
       expression should be propagated in. All attributes will be fully duplicated
       in each selected output credential.
       
      repeated .google.cloud.iap.v1.AttributePropagationSettings.OutputCredentials output_credentials = 2 [(.google.api.field_behavior) = OPTIONAL];
      Parameters:
      values - The enum numeric values on the wire for outputCredentials to add.
      Returns:
      This builder for chaining.
    • hasEnable

      public boolean hasEnable()
       Optional. Whether the provided attribute propagation settings should be
       evaluated on user requests. If set to true, attributes returned from the
       expression will be propagated in the set output credentials.
       
      optional bool enable = 3 [(.google.api.field_behavior) = OPTIONAL];
      Specified by:
      hasEnable in interface AttributePropagationSettingsOrBuilder
      Returns:
      Whether the enable field is set.
    • getEnable

      public boolean getEnable()
       Optional. Whether the provided attribute propagation settings should be
       evaluated on user requests. If set to true, attributes returned from the
       expression will be propagated in the set output credentials.
       
      optional bool enable = 3 [(.google.api.field_behavior) = OPTIONAL];
      Specified by:
      getEnable in interface AttributePropagationSettingsOrBuilder
      Returns:
      The enable.
    • setEnable

      public AttributePropagationSettings.Builder setEnable(boolean value)
       Optional. Whether the provided attribute propagation settings should be
       evaluated on user requests. If set to true, attributes returned from the
       expression will be propagated in the set output credentials.
       
      optional bool enable = 3 [(.google.api.field_behavior) = OPTIONAL];
      Parameters:
      value - The enable to set.
      Returns:
      This builder for chaining.
    • clearEnable

       Optional. Whether the provided attribute propagation settings should be
       evaluated on user requests. If set to true, attributes returned from the
       expression will be propagated in the set output credentials.
       
      optional bool enable = 3 [(.google.api.field_behavior) = OPTIONAL];
      Returns:
      This builder for chaining.