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

com.pulumi.awsnative.events.kotlin.inputs.ConnectionOAuthParametersArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.awsnative.events.kotlin.inputs

import com.pulumi.awsnative.events.inputs.ConnectionOAuthParametersArgs.builder
import com.pulumi.awsnative.events.kotlin.enums.ConnectionOAuthParametersHttpMethod
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName

/**
 *
 * @property authorizationEndpoint The URL to the authorization endpoint when OAuth is specified as the authorization type.
 * @property clientParameters A `CreateConnectionOAuthClientRequestParameters` object that contains the client parameters for OAuth authorization.
 * @property httpMethod The method to use for the authorization request.
 * @property oAuthHttpParameters A `ConnectionHttpParameters` object that contains details about the additional parameters to use for the connection.
 */
public data class ConnectionOAuthParametersArgs(
    public val authorizationEndpoint: Output,
    public val clientParameters: Output,
    public val httpMethod: Output,
    public val oAuthHttpParameters: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.events.inputs.ConnectionOAuthParametersArgs =
        com.pulumi.awsnative.events.inputs.ConnectionOAuthParametersArgs.builder()
            .authorizationEndpoint(authorizationEndpoint.applyValue({ args0 -> args0 }))
            .clientParameters(clientParameters.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .httpMethod(httpMethod.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .oAuthHttpParameters(
                oAuthHttpParameters?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            ).build()
}

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

    private var clientParameters: Output? = null

    private var httpMethod: Output? = null

    private var oAuthHttpParameters: Output? = null

    /**
     * @param value The URL to the authorization endpoint when OAuth is specified as the authorization type.
     */
    @JvmName("naduqleohrveyqvd")
    public suspend fun authorizationEndpoint(`value`: Output) {
        this.authorizationEndpoint = value
    }

    /**
     * @param value A `CreateConnectionOAuthClientRequestParameters` object that contains the client parameters for OAuth authorization.
     */
    @JvmName("uxkxrlpidkcyyipg")
    public suspend fun clientParameters(`value`: Output) {
        this.clientParameters = value
    }

    /**
     * @param value The method to use for the authorization request.
     */
    @JvmName("nbplaytibdxgxuiy")
    public suspend fun httpMethod(`value`: Output) {
        this.httpMethod = value
    }

    /**
     * @param value A `ConnectionHttpParameters` object that contains details about the additional parameters to use for the connection.
     */
    @JvmName("skatwpdugycnxtxw")
    public suspend fun oAuthHttpParameters(`value`: Output) {
        this.oAuthHttpParameters = value
    }

    /**
     * @param value The URL to the authorization endpoint when OAuth is specified as the authorization type.
     */
    @JvmName("aipkxtwakmwrfead")
    public suspend fun authorizationEndpoint(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.authorizationEndpoint = mapped
    }

    /**
     * @param value A `CreateConnectionOAuthClientRequestParameters` object that contains the client parameters for OAuth authorization.
     */
    @JvmName("pcnelpiecoxvohln")
    public suspend fun clientParameters(`value`: ConnectionClientParametersArgs) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.clientParameters = mapped
    }

    /**
     * @param argument A `CreateConnectionOAuthClientRequestParameters` object that contains the client parameters for OAuth authorization.
     */
    @JvmName("kwoxpiudvymgacbc")
    public suspend fun clientParameters(argument: suspend ConnectionClientParametersArgsBuilder.() -> Unit) {
        val toBeMapped = ConnectionClientParametersArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.clientParameters = mapped
    }

    /**
     * @param value The method to use for the authorization request.
     */
    @JvmName("cvgngwrshfefmuus")
    public suspend fun httpMethod(`value`: ConnectionOAuthParametersHttpMethod) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.httpMethod = mapped
    }

    /**
     * @param value A `ConnectionHttpParameters` object that contains details about the additional parameters to use for the connection.
     */
    @JvmName("hoedfqsuflhkjbvp")
    public suspend fun oAuthHttpParameters(`value`: ConnectionHttpParametersArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.oAuthHttpParameters = mapped
    }

    /**
     * @param argument A `ConnectionHttpParameters` object that contains details about the additional parameters to use for the connection.
     */
    @JvmName("fxjtpkqsrlbfbawi")
    public suspend fun oAuthHttpParameters(argument: suspend ConnectionHttpParametersArgsBuilder.() -> Unit) {
        val toBeMapped = ConnectionHttpParametersArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.oAuthHttpParameters = mapped
    }

    internal fun build(): ConnectionOAuthParametersArgs = ConnectionOAuthParametersArgs(
        authorizationEndpoint = authorizationEndpoint ?: throw
            PulumiNullFieldException("authorizationEndpoint"),
        clientParameters = clientParameters ?: throw PulumiNullFieldException("clientParameters"),
        httpMethod = httpMethod ?: throw PulumiNullFieldException("httpMethod"),
        oAuthHttpParameters = oAuthHttpParameters,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy