Class AttributePropagationSettings

java.lang.Object
com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessage
com.google.protobuf.GeneratedMessage
com.google.cloud.iap.v1.AttributePropagationSettings
All Implemented Interfaces:
AttributePropagationSettingsOrBuilder, com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Serializable

@Generated public final class AttributePropagationSettings extends com.google.protobuf.GeneratedMessage implements AttributePropagationSettingsOrBuilder
 Configuration for propagating attributes to applications protected
 by IAP.
 
Protobuf type google.cloud.iap.v1.AttributePropagationSettings
See Also:
  • Field Details

    • EXPRESSION_FIELD_NUMBER

      public static final int EXPRESSION_FIELD_NUMBER
      See Also:
    • OUTPUT_CREDENTIALS_FIELD_NUMBER

      public static final int OUTPUT_CREDENTIALS_FIELD_NUMBER
      See Also:
    • ENABLE_FIELD_NUMBER

      public static final int ENABLE_FIELD_NUMBER
      See Also:
  • 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
    • 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.
    • 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.
    • 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.
    • 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.
    • isInitialized

      public final boolean isInitialized()
      Specified by:
      isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
      Overrides:
      isInitialized in class com.google.protobuf.GeneratedMessage
    • writeTo

      public void writeTo(com.google.protobuf.CodedOutputStream output) throws IOException
      Specified by:
      writeTo in interface com.google.protobuf.MessageLite
      Overrides:
      writeTo in class com.google.protobuf.GeneratedMessage
      Throws:
      IOException
    • getSerializedSize

      public int getSerializedSize()
      Specified by:
      getSerializedSize in interface com.google.protobuf.MessageLite
      Overrides:
      getSerializedSize in class com.google.protobuf.GeneratedMessage
    • equals

      public boolean equals(Object obj)
      Specified by:
      equals in interface com.google.protobuf.Message
      Overrides:
      equals in class com.google.protobuf.AbstractMessage
    • hashCode

      public int hashCode()
      Specified by:
      hashCode in interface com.google.protobuf.Message
      Overrides:
      hashCode in class com.google.protobuf.AbstractMessage
    • parseFrom

      public static AttributePropagationSettings parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static AttributePropagationSettings parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static AttributePropagationSettings parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static AttributePropagationSettings parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static AttributePropagationSettings parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static AttributePropagationSettings parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static AttributePropagationSettings parseFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

      public static AttributePropagationSettings parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static AttributePropagationSettings parseDelimitedFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static AttributePropagationSettings parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseFrom

      public static AttributePropagationSettings parseFrom(com.google.protobuf.CodedInputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

      public static AttributePropagationSettings parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • newBuilderForType

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

      public static AttributePropagationSettings.Builder newBuilder()
    • newBuilder

    • toBuilder

      Specified by:
      toBuilder in interface com.google.protobuf.Message
      Specified by:
      toBuilder in interface com.google.protobuf.MessageLite
    • newBuilderForType

      protected AttributePropagationSettings.Builder newBuilderForType(com.google.protobuf.AbstractMessage.BuilderParent parent)
      Overrides:
      newBuilderForType in class com.google.protobuf.AbstractMessage
    • getDefaultInstance

      public static AttributePropagationSettings getDefaultInstance()
    • parser

      public static com.google.protobuf.Parser<AttributePropagationSettings> parser()
    • getParserForType

      public com.google.protobuf.Parser<AttributePropagationSettings> getParserForType()
      Specified by:
      getParserForType in interface com.google.protobuf.Message
      Specified by:
      getParserForType in interface com.google.protobuf.MessageLite
      Overrides:
      getParserForType in class com.google.protobuf.GeneratedMessage
    • getDefaultInstanceForType

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