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

com.pulumi.aws.verifiedpermissions.kotlin.inputs.IdentitySourceConfigurationArgs.kt Maven / Gradle / Ivy

Go to download

Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.

There is a newer version: 6.57.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.aws.verifiedpermissions.kotlin.inputs

import com.pulumi.aws.verifiedpermissions.inputs.IdentitySourceConfigurationArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName

/**
 *
 * @property cognitoUserPoolConfiguration Specifies the configuration details of an Amazon Cognito user pool that Verified Permissions can use as a source of authenticated identities as entities. See Cognito User Pool Configuration below.
 * @property openIdConnectConfiguration Specifies the configuration details of an OpenID Connect (OIDC) identity provider, or identity source, that Verified Permissions can use to generate entities from authenticated identities. See Open ID Connect Configuration below.
 */
public data class IdentitySourceConfigurationArgs(
    public val cognitoUserPoolConfiguration: Output? = null,
    public val openIdConnectConfiguration: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.aws.verifiedpermissions.inputs.IdentitySourceConfigurationArgs =
        com.pulumi.aws.verifiedpermissions.inputs.IdentitySourceConfigurationArgs.builder()
            .cognitoUserPoolConfiguration(
                cognitoUserPoolConfiguration?.applyValue({ args0 ->
                    args0.let({ args0 -> args0.toJava() })
                }),
            )
            .openIdConnectConfiguration(
                openIdConnectConfiguration?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            ).build()
}

/**
 * Builder for [IdentitySourceConfigurationArgs].
 */
@PulumiTagMarker
public class IdentitySourceConfigurationArgsBuilder internal constructor() {
    private var cognitoUserPoolConfiguration:
        Output? = null

    private var openIdConnectConfiguration:
        Output? = null

    /**
     * @param value Specifies the configuration details of an Amazon Cognito user pool that Verified Permissions can use as a source of authenticated identities as entities. See Cognito User Pool Configuration below.
     */
    @JvmName("wevweesushipqijg")
    public suspend fun cognitoUserPoolConfiguration(`value`: Output) {
        this.cognitoUserPoolConfiguration = value
    }

    /**
     * @param value Specifies the configuration details of an OpenID Connect (OIDC) identity provider, or identity source, that Verified Permissions can use to generate entities from authenticated identities. See Open ID Connect Configuration below.
     */
    @JvmName("yjeutjbbyujeihgo")
    public suspend fun openIdConnectConfiguration(`value`: Output) {
        this.openIdConnectConfiguration = value
    }

    /**
     * @param value Specifies the configuration details of an Amazon Cognito user pool that Verified Permissions can use as a source of authenticated identities as entities. See Cognito User Pool Configuration below.
     */
    @JvmName("emsyjjqdwjvxugbw")
    public suspend fun cognitoUserPoolConfiguration(`value`: IdentitySourceConfigurationCognitoUserPoolConfigurationArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.cognitoUserPoolConfiguration = mapped
    }

    /**
     * @param argument Specifies the configuration details of an Amazon Cognito user pool that Verified Permissions can use as a source of authenticated identities as entities. See Cognito User Pool Configuration below.
     */
    @JvmName("qrecqsphvycnbjuw")
    public suspend fun cognitoUserPoolConfiguration(argument: suspend IdentitySourceConfigurationCognitoUserPoolConfigurationArgsBuilder.() -> Unit) {
        val toBeMapped =
            IdentitySourceConfigurationCognitoUserPoolConfigurationArgsBuilder().applySuspend {
                argument()
            }.build()
        val mapped = of(toBeMapped)
        this.cognitoUserPoolConfiguration = mapped
    }

    /**
     * @param value Specifies the configuration details of an OpenID Connect (OIDC) identity provider, or identity source, that Verified Permissions can use to generate entities from authenticated identities. See Open ID Connect Configuration below.
     */
    @JvmName("wjruoenlrxcqfxsj")
    public suspend fun openIdConnectConfiguration(`value`: IdentitySourceConfigurationOpenIdConnectConfigurationArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.openIdConnectConfiguration = mapped
    }

    /**
     * @param argument Specifies the configuration details of an OpenID Connect (OIDC) identity provider, or identity source, that Verified Permissions can use to generate entities from authenticated identities. See Open ID Connect Configuration below.
     */
    @JvmName("otwciasdnowtblqv")
    public suspend fun openIdConnectConfiguration(argument: suspend IdentitySourceConfigurationOpenIdConnectConfigurationArgsBuilder.() -> Unit) {
        val toBeMapped =
            IdentitySourceConfigurationOpenIdConnectConfigurationArgsBuilder().applySuspend {
                argument()
            }.build()
        val mapped = of(toBeMapped)
        this.openIdConnectConfiguration = mapped
    }

    internal fun build(): IdentitySourceConfigurationArgs = IdentitySourceConfigurationArgs(
        cognitoUserPoolConfiguration = cognitoUserPoolConfiguration,
        openIdConnectConfiguration = openIdConnectConfiguration,
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy