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

com.pulumi.gcp.iap.kotlin.inputs.SettingsAccessSettingsOauthSettingsArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.gcp.iap.kotlin.inputs

import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gcp.iap.inputs.SettingsAccessSettingsOauthSettingsArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 *
 * @property loginHint Domain hint to send as hd=? parameter in OAuth request flow.
 * Enables redirect to primary IDP by skipping Google's login screen.
 * (https://developers.google.com/identity/protocols/OpenIDConnect#hd-param)
 * Note: IAP does not verify that the id token's hd claim matches this value
 * since access behavior is managed by IAM policies.
 * @property programmaticClients List of client ids allowed to use IAP programmatically.
 */
public data class SettingsAccessSettingsOauthSettingsArgs(
    public val loginHint: Output? = null,
    public val programmaticClients: Output>? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.gcp.iap.inputs.SettingsAccessSettingsOauthSettingsArgs =
        com.pulumi.gcp.iap.inputs.SettingsAccessSettingsOauthSettingsArgs.builder()
            .loginHint(loginHint?.applyValue({ args0 -> args0 }))
            .programmaticClients(
                programmaticClients?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0
                    })
                }),
            ).build()
}

/**
 * Builder for [SettingsAccessSettingsOauthSettingsArgs].
 */
@PulumiTagMarker
public class SettingsAccessSettingsOauthSettingsArgsBuilder internal constructor() {
    private var loginHint: Output? = null

    private var programmaticClients: Output>? = null

    /**
     * @param value Domain hint to send as hd=? parameter in OAuth request flow.
     * Enables redirect to primary IDP by skipping Google's login screen.
     * (https://developers.google.com/identity/protocols/OpenIDConnect#hd-param)
     * Note: IAP does not verify that the id token's hd claim matches this value
     * since access behavior is managed by IAM policies.
     */
    @JvmName("mpflwxdwsuyacgea")
    public suspend fun loginHint(`value`: Output) {
        this.loginHint = value
    }

    /**
     * @param value List of client ids allowed to use IAP programmatically.
     */
    @JvmName("ywogegavargaxmau")
    public suspend fun programmaticClients(`value`: Output>) {
        this.programmaticClients = value
    }

    @JvmName("edjyykurgctsvokg")
    public suspend fun programmaticClients(vararg values: Output) {
        this.programmaticClients = Output.all(values.asList())
    }

    /**
     * @param values List of client ids allowed to use IAP programmatically.
     */
    @JvmName("cuxhbluxtydnyusj")
    public suspend fun programmaticClients(values: List>) {
        this.programmaticClients = Output.all(values)
    }

    /**
     * @param value Domain hint to send as hd=? parameter in OAuth request flow.
     * Enables redirect to primary IDP by skipping Google's login screen.
     * (https://developers.google.com/identity/protocols/OpenIDConnect#hd-param)
     * Note: IAP does not verify that the id token's hd claim matches this value
     * since access behavior is managed by IAM policies.
     */
    @JvmName("clyrkejxbobdawmw")
    public suspend fun loginHint(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.loginHint = mapped
    }

    /**
     * @param value List of client ids allowed to use IAP programmatically.
     */
    @JvmName("wvmcjclxyjtraxgp")
    public suspend fun programmaticClients(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.programmaticClients = mapped
    }

    /**
     * @param values List of client ids allowed to use IAP programmatically.
     */
    @JvmName("bpejtcfvfikuqhed")
    public suspend fun programmaticClients(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.programmaticClients = mapped
    }

    internal fun build(): SettingsAccessSettingsOauthSettingsArgs =
        SettingsAccessSettingsOauthSettingsArgs(
            loginHint = loginHint,
            programmaticClients = programmaticClients,
        )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy