Class: Google::Apis::IapV1::AttributePropagationSettings

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/iap_v1/classes.rb,
lib/google/apis/iap_v1/representations.rb,
lib/google/apis/iap_v1/representations.rb

Overview

Configuration for propagating attributes to applications protected by IAP.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ AttributePropagationSettings

Returns a new instance of AttributePropagationSettings.



242
243
244
# File 'lib/google/apis/iap_v1/classes.rb', line 242

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#enableBoolean Also known as: enable?

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. Corresponds to the JSON property enable

Returns:

  • (Boolean)


214
215
216
# File 'lib/google/apis/iap_v1/classes.rb', line 214

def enable
  @enable
end

#expressionString

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 .filter(, ): Returns a subset of where is true for every item. - in in: Returns true if contains. - selectByName .selectByName(): Returns the attribute in with the given name, otherwise returns empty. - emitAs . emitAs(): Sets the name field to the given for propagation in selected output credentials. - strict .strict(): Ignores the x-goog-iap-attr- prefix for the provided when propagating with the `HEADER` output credential, such as request headers. - append `.append()` OR `.append()`: Appends the provided or to the end of. Example expression: attributes.saml_attributes.filter(x, x.name in ['test']).append(attributes. iap_attributes.selectByName('exact').emitAs('custom').strict()) Corresponds to the JSON property expression

Returns:

  • (String)


233
234
235
# File 'lib/google/apis/iap_v1/classes.rb', line 233

def expression
  @expression
end

#output_credentialsArray<String>

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. Corresponds to the JSON property outputCredentials

Returns:

  • (Array<String>)


240
241
242
# File 'lib/google/apis/iap_v1/classes.rb', line 240

def output_credentials
  @output_credentials
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



247
248
249
250
251
# File 'lib/google/apis/iap_v1/classes.rb', line 247

def update!(**args)
  @enable = args[:enable] if args.key?(:enable)
  @expression = args[:expression] if args.key?(:expression)
  @output_credentials = args[:output_credentials] if args.key?(:output_credentials)
end