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 customer applications protected by IAP. These attributes may be SAML attributes from a 3rd party IdP, or potentially other sources in the future.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ AttributePropagationSettings

Returns a new instance of AttributePropagationSettings.



222
223
224
# File 'lib/google/apis/iap_v1/classes.rb', line 222

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

Instance Attribute Details

#enableBoolean Also known as: enable?

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)


203
204
205
# File 'lib/google/apis/iap_v1/classes.rb', line 203

def enable
  @enable
end

#expressionString

Raw string CEL expression. Expression should be of the form attributes. saml_attributes.filter(attribute, attribute.name in [attribute_list]). An example expression to select the attributes "my_attr" and "other_attr": attributes.saml_attributes.filter(attribute, attribute.name in ["my_attr", " other_attr"]) Corresponds to the JSON property expression

Returns:

  • (String)


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

def expression
  @expression
end

#output_credentialsArray<String>

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>)


220
221
222
# File 'lib/google/apis/iap_v1/classes.rb', line 220

def output_credentials
  @output_credentials
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



227
228
229
230
231
# File 'lib/google/apis/iap_v1/classes.rb', line 227

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