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

com.pulumi.awsnative.ec2.kotlin.inputs.VerifiedAccessTrustProviderOidcOptionsArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.awsnative.ec2.kotlin.inputs

import com.pulumi.awsnative.ec2.inputs.VerifiedAccessTrustProviderOidcOptionsArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 * The OpenID Connect details for an oidc -type, user-identity based trust provider.
 * @property authorizationEndpoint The OIDC authorization endpoint.
 * @property clientId The client identifier.
 * @property clientSecret The client secret.
 * @property issuer The OIDC issuer.
 * @property scope OpenID Connect (OIDC) scopes are used by an application during authentication to authorize access to details of a user. Each scope returns a specific set of user attributes.
 * @property tokenEndpoint The OIDC token endpoint.
 * @property userInfoEndpoint The OIDC user info endpoint.
 */
public data class VerifiedAccessTrustProviderOidcOptionsArgs(
    public val authorizationEndpoint: Output? = null,
    public val clientId: Output? = null,
    public val clientSecret: Output? = null,
    public val issuer: Output? = null,
    public val scope: Output? = null,
    public val tokenEndpoint: Output? = null,
    public val userInfoEndpoint: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.ec2.inputs.VerifiedAccessTrustProviderOidcOptionsArgs = com.pulumi.awsnative.ec2.inputs.VerifiedAccessTrustProviderOidcOptionsArgs.builder()
        .authorizationEndpoint(authorizationEndpoint?.applyValue({ args0 -> args0 }))
        .clientId(clientId?.applyValue({ args0 -> args0 }))
        .clientSecret(clientSecret?.applyValue({ args0 -> args0 }))
        .issuer(issuer?.applyValue({ args0 -> args0 }))
        .scope(scope?.applyValue({ args0 -> args0 }))
        .tokenEndpoint(tokenEndpoint?.applyValue({ args0 -> args0 }))
        .userInfoEndpoint(userInfoEndpoint?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [VerifiedAccessTrustProviderOidcOptionsArgs].
 */
@PulumiTagMarker
public class VerifiedAccessTrustProviderOidcOptionsArgsBuilder internal constructor() {
    private var authorizationEndpoint: Output? = null

    private var clientId: Output? = null

    private var clientSecret: Output? = null

    private var issuer: Output? = null

    private var scope: Output? = null

    private var tokenEndpoint: Output? = null

    private var userInfoEndpoint: Output? = null

    /**
     * @param value The OIDC authorization endpoint.
     */
    @JvmName("fbmowcohpallrdkm")
    public suspend fun authorizationEndpoint(`value`: Output) {
        this.authorizationEndpoint = value
    }

    /**
     * @param value The client identifier.
     */
    @JvmName("dohfouwedsisfuie")
    public suspend fun clientId(`value`: Output) {
        this.clientId = value
    }

    /**
     * @param value The client secret.
     */
    @JvmName("vvpsukfpbwupnscu")
    public suspend fun clientSecret(`value`: Output) {
        this.clientSecret = value
    }

    /**
     * @param value The OIDC issuer.
     */
    @JvmName("bfcmvtvdgyvyqhcv")
    public suspend fun issuer(`value`: Output) {
        this.issuer = value
    }

    /**
     * @param value OpenID Connect (OIDC) scopes are used by an application during authentication to authorize access to details of a user. Each scope returns a specific set of user attributes.
     */
    @JvmName("dxsgeqamejisvkuo")
    public suspend fun scope(`value`: Output) {
        this.scope = value
    }

    /**
     * @param value The OIDC token endpoint.
     */
    @JvmName("wdtsvibneoogsehr")
    public suspend fun tokenEndpoint(`value`: Output) {
        this.tokenEndpoint = value
    }

    /**
     * @param value The OIDC user info endpoint.
     */
    @JvmName("ntlhnpivdxpisnte")
    public suspend fun userInfoEndpoint(`value`: Output) {
        this.userInfoEndpoint = value
    }

    /**
     * @param value The OIDC authorization endpoint.
     */
    @JvmName("movyhbruvacjyuhc")
    public suspend fun authorizationEndpoint(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.authorizationEndpoint = mapped
    }

    /**
     * @param value The client identifier.
     */
    @JvmName("khprsewpbfwcynki")
    public suspend fun clientId(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.clientId = mapped
    }

    /**
     * @param value The client secret.
     */
    @JvmName("plyhsxjbwmnkwftf")
    public suspend fun clientSecret(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.clientSecret = mapped
    }

    /**
     * @param value The OIDC issuer.
     */
    @JvmName("tunxppgpdiqvyqkc")
    public suspend fun issuer(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.issuer = mapped
    }

    /**
     * @param value OpenID Connect (OIDC) scopes are used by an application during authentication to authorize access to details of a user. Each scope returns a specific set of user attributes.
     */
    @JvmName("roermekeuxyqiehd")
    public suspend fun scope(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.scope = mapped
    }

    /**
     * @param value The OIDC token endpoint.
     */
    @JvmName("escqgouidcowsnpj")
    public suspend fun tokenEndpoint(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.tokenEndpoint = mapped
    }

    /**
     * @param value The OIDC user info endpoint.
     */
    @JvmName("ixyqtlfrywvsibrs")
    public suspend fun userInfoEndpoint(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.userInfoEndpoint = mapped
    }

    internal fun build(): VerifiedAccessTrustProviderOidcOptionsArgs =
        VerifiedAccessTrustProviderOidcOptionsArgs(
            authorizationEndpoint = authorizationEndpoint,
            clientId = clientId,
            clientSecret = clientSecret,
            issuer = issuer,
            scope = scope,
            tokenEndpoint = tokenEndpoint,
            userInfoEndpoint = userInfoEndpoint,
        )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy