All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.gcp.iap.kotlin.outputs.SettingsApplicationSettingsAttributePropagationSettings.kt Maven / Gradle / Ivy

@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.gcp.iap.kotlin.outputs

import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List

/**
 *
 * @property 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.
 * @property expression 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.
 * @property outputCredentials Which output credentials attributes selected by the CEL expression should be propagated in.
 * All attributes will be fully duplicated in each selected output credential.
 * Possible values are:
 * * `HEADER`: Propagate attributes in the headers with "x-goog-iap-attr-" prefix.
 * * `JWT`: Propagate attributes in the JWT of the form:
 * "additional_claims": { "my_attribute": ["value1", "value2"] }
 * * `RCTOKEN`: Propagate attributes in the RCToken of the form: "
 * additional_claims": { "my_attribute": ["value1", "value2"] }
 * Each value may be one of: `HEADER`, `JWT`, `RCTOKEN`.
 */
public data class SettingsApplicationSettingsAttributePropagationSettings(
    public val enable: Boolean? = null,
    public val expression: String? = null,
    public val outputCredentials: List? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.gcp.iap.outputs.SettingsApplicationSettingsAttributePropagationSettings): SettingsApplicationSettingsAttributePropagationSettings =
            SettingsApplicationSettingsAttributePropagationSettings(
                enable = javaType.enable().map({ args0 -> args0 }).orElse(null),
                expression = javaType.expression().map({ args0 -> args0 }).orElse(null),
                outputCredentials = javaType.outputCredentials().map({ args0 -> args0 }),
            )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy