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

com.pulumi.gcp.iap.kotlin.inputs.SettingsApplicationSettingsArgs.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.SettingsApplicationSettingsArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName

/**
 *
 * @property accessDeniedPageSettings Customization for Access Denied page. IAP allows customers to define a custom URI
 * to use as the error page when access is denied to users. If IAP prevents access
 * to this page, the default IAP error page will be displayed instead.
 * Structure is documented below.
 * @property attributePropagationSettings Settings to configure attribute propagation.
 * Structure is documented below.
 * @property cookieDomain The Domain value to set for cookies generated by IAP. This value is not validated by the API,
 * but will be ignored at runtime if invalid.
 * @property csmSettings Settings to configure IAP's behavior for a service mesh.
 * Structure is documented below.
 */
public data class SettingsApplicationSettingsArgs(
    public val accessDeniedPageSettings: Output? = null,
    public val attributePropagationSettings: Output? = null,
    public val cookieDomain: Output? = null,
    public val csmSettings: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.gcp.iap.inputs.SettingsApplicationSettingsArgs =
        com.pulumi.gcp.iap.inputs.SettingsApplicationSettingsArgs.builder()
            .accessDeniedPageSettings(
                accessDeniedPageSettings?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .attributePropagationSettings(
                attributePropagationSettings?.applyValue({ args0 ->
                    args0.let({ args0 -> args0.toJava() })
                }),
            )
            .cookieDomain(cookieDomain?.applyValue({ args0 -> args0 }))
            .csmSettings(csmSettings?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) })).build()
}

/**
 * Builder for [SettingsApplicationSettingsArgs].
 */
@PulumiTagMarker
public class SettingsApplicationSettingsArgsBuilder internal constructor() {
    private var accessDeniedPageSettings:
        Output? = null

    private var attributePropagationSettings:
        Output? = null

    private var cookieDomain: Output? = null

    private var csmSettings: Output? = null

    /**
     * @param value Customization for Access Denied page. IAP allows customers to define a custom URI
     * to use as the error page when access is denied to users. If IAP prevents access
     * to this page, the default IAP error page will be displayed instead.
     * Structure is documented below.
     */
    @JvmName("muknfsujjwjpevqw")
    public suspend fun accessDeniedPageSettings(`value`: Output) {
        this.accessDeniedPageSettings = value
    }

    /**
     * @param value Settings to configure attribute propagation.
     * Structure is documented below.
     */
    @JvmName("ufvhesnehnoiqcou")
    public suspend fun attributePropagationSettings(`value`: Output) {
        this.attributePropagationSettings = value
    }

    /**
     * @param value The Domain value to set for cookies generated by IAP. This value is not validated by the API,
     * but will be ignored at runtime if invalid.
     */
    @JvmName("bfggqyebnkvrwefd")
    public suspend fun cookieDomain(`value`: Output) {
        this.cookieDomain = value
    }

    /**
     * @param value Settings to configure IAP's behavior for a service mesh.
     * Structure is documented below.
     */
    @JvmName("gvpjdenttkiorkvn")
    public suspend fun csmSettings(`value`: Output) {
        this.csmSettings = value
    }

    /**
     * @param value Customization for Access Denied page. IAP allows customers to define a custom URI
     * to use as the error page when access is denied to users. If IAP prevents access
     * to this page, the default IAP error page will be displayed instead.
     * Structure is documented below.
     */
    @JvmName("epmumupddysqkmqy")
    public suspend fun accessDeniedPageSettings(`value`: SettingsApplicationSettingsAccessDeniedPageSettingsArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.accessDeniedPageSettings = mapped
    }

    /**
     * @param argument Customization for Access Denied page. IAP allows customers to define a custom URI
     * to use as the error page when access is denied to users. If IAP prevents access
     * to this page, the default IAP error page will be displayed instead.
     * Structure is documented below.
     */
    @JvmName("kvwbmfrcstfthuby")
    public suspend fun accessDeniedPageSettings(argument: suspend SettingsApplicationSettingsAccessDeniedPageSettingsArgsBuilder.() -> Unit) {
        val toBeMapped = SettingsApplicationSettingsAccessDeniedPageSettingsArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.accessDeniedPageSettings = mapped
    }

    /**
     * @param value Settings to configure attribute propagation.
     * Structure is documented below.
     */
    @JvmName("komiluktpstvjjfl")
    public suspend fun attributePropagationSettings(`value`: SettingsApplicationSettingsAttributePropagationSettingsArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.attributePropagationSettings = mapped
    }

    /**
     * @param argument Settings to configure attribute propagation.
     * Structure is documented below.
     */
    @JvmName("qiksbkkxalwtwltd")
    public suspend fun attributePropagationSettings(argument: suspend SettingsApplicationSettingsAttributePropagationSettingsArgsBuilder.() -> Unit) {
        val toBeMapped =
            SettingsApplicationSettingsAttributePropagationSettingsArgsBuilder().applySuspend {
                argument()
            }.build()
        val mapped = of(toBeMapped)
        this.attributePropagationSettings = mapped
    }

    /**
     * @param value The Domain value to set for cookies generated by IAP. This value is not validated by the API,
     * but will be ignored at runtime if invalid.
     */
    @JvmName("hwtbrtqdvmxbdmbu")
    public suspend fun cookieDomain(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.cookieDomain = mapped
    }

    /**
     * @param value Settings to configure IAP's behavior for a service mesh.
     * Structure is documented below.
     */
    @JvmName("lgjwcmsrwxepavxs")
    public suspend fun csmSettings(`value`: SettingsApplicationSettingsCsmSettingsArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.csmSettings = mapped
    }

    /**
     * @param argument Settings to configure IAP's behavior for a service mesh.
     * Structure is documented below.
     */
    @JvmName("lyndtafixrdfuxmr")
    public suspend fun csmSettings(argument: suspend SettingsApplicationSettingsCsmSettingsArgsBuilder.() -> Unit) {
        val toBeMapped = SettingsApplicationSettingsCsmSettingsArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.csmSettings = mapped
    }

    internal fun build(): SettingsApplicationSettingsArgs = SettingsApplicationSettingsArgs(
        accessDeniedPageSettings = accessDeniedPageSettings,
        attributePropagationSettings = attributePropagationSettings,
        cookieDomain = cookieDomain,
        csmSettings = csmSettings,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy