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

com.pulumi.awsnative.rds.kotlin.inputs.DbProxyAuthFormatArgs.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: 1.24.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.awsnative.rds.kotlin.inputs

import com.pulumi.awsnative.rds.inputs.DbProxyAuthFormatArgs.builder
import com.pulumi.awsnative.rds.kotlin.enums.DbProxyAuthFormatAuthScheme
import com.pulumi.awsnative.rds.kotlin.enums.DbProxyAuthFormatClientPasswordAuthType
import com.pulumi.awsnative.rds.kotlin.enums.DbProxyAuthFormatIamAuth
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

/**
 *
 * @property authScheme The type of authentication that the proxy uses for connections from the proxy to the underlying database.
 * @property clientPasswordAuthType The type of authentication the proxy uses for connections from clients.
 * @property description A user-specified description about the authentication used by a proxy to log in as a specific database user.
 * @property iamAuth Whether to require or disallow Amazon Web Services Identity and Access Management (IAM) authentication for connections to the proxy. The ENABLED value is valid only for proxies with RDS for Microsoft SQL Server.
 * @property secretArn The Amazon Resource Name (ARN) representing the secret that the proxy uses to authenticate to the RDS DB instance or Aurora DB cluster. These secrets are stored within Amazon Secrets Manager.
 */
public data class DbProxyAuthFormatArgs(
    public val authScheme: Output? = null,
    public val clientPasswordAuthType: Output? = null,
    public val description: Output? = null,
    public val iamAuth: Output? = null,
    public val secretArn: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.rds.inputs.DbProxyAuthFormatArgs =
        com.pulumi.awsnative.rds.inputs.DbProxyAuthFormatArgs.builder()
            .authScheme(authScheme?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .clientPasswordAuthType(
                clientPasswordAuthType?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .description(description?.applyValue({ args0 -> args0 }))
            .iamAuth(iamAuth?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .secretArn(secretArn?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [DbProxyAuthFormatArgs].
 */
@PulumiTagMarker
public class DbProxyAuthFormatArgsBuilder internal constructor() {
    private var authScheme: Output? = null

    private var clientPasswordAuthType: Output? = null

    private var description: Output? = null

    private var iamAuth: Output? = null

    private var secretArn: Output? = null

    /**
     * @param value The type of authentication that the proxy uses for connections from the proxy to the underlying database.
     */
    @JvmName("gednfgcaaxouqlww")
    public suspend fun authScheme(`value`: Output) {
        this.authScheme = value
    }

    /**
     * @param value The type of authentication the proxy uses for connections from clients.
     */
    @JvmName("inineemkmakappxm")
    public suspend fun clientPasswordAuthType(`value`: Output) {
        this.clientPasswordAuthType = value
    }

    /**
     * @param value A user-specified description about the authentication used by a proxy to log in as a specific database user.
     */
    @JvmName("vinlphlxxolgscrt")
    public suspend fun description(`value`: Output) {
        this.description = value
    }

    /**
     * @param value Whether to require or disallow Amazon Web Services Identity and Access Management (IAM) authentication for connections to the proxy. The ENABLED value is valid only for proxies with RDS for Microsoft SQL Server.
     */
    @JvmName("kxfyctrosfxjtylw")
    public suspend fun iamAuth(`value`: Output) {
        this.iamAuth = value
    }

    /**
     * @param value The Amazon Resource Name (ARN) representing the secret that the proxy uses to authenticate to the RDS DB instance or Aurora DB cluster. These secrets are stored within Amazon Secrets Manager.
     */
    @JvmName("xxivvvibpooxafil")
    public suspend fun secretArn(`value`: Output) {
        this.secretArn = value
    }

    /**
     * @param value The type of authentication that the proxy uses for connections from the proxy to the underlying database.
     */
    @JvmName("dlsmtjnitftbkefi")
    public suspend fun authScheme(`value`: DbProxyAuthFormatAuthScheme?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.authScheme = mapped
    }

    /**
     * @param value The type of authentication the proxy uses for connections from clients.
     */
    @JvmName("hjdvwvkoyguoqbqv")
    public suspend fun clientPasswordAuthType(`value`: DbProxyAuthFormatClientPasswordAuthType?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.clientPasswordAuthType = mapped
    }

    /**
     * @param value A user-specified description about the authentication used by a proxy to log in as a specific database user.
     */
    @JvmName("rtcupulxynnqqeax")
    public suspend fun description(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.description = mapped
    }

    /**
     * @param value Whether to require or disallow Amazon Web Services Identity and Access Management (IAM) authentication for connections to the proxy. The ENABLED value is valid only for proxies with RDS for Microsoft SQL Server.
     */
    @JvmName("ytqhiiitbtndmfny")
    public suspend fun iamAuth(`value`: DbProxyAuthFormatIamAuth?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.iamAuth = mapped
    }

    /**
     * @param value The Amazon Resource Name (ARN) representing the secret that the proxy uses to authenticate to the RDS DB instance or Aurora DB cluster. These secrets are stored within Amazon Secrets Manager.
     */
    @JvmName("nskwutrgtbmrryft")
    public suspend fun secretArn(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.secretArn = mapped
    }

    internal fun build(): DbProxyAuthFormatArgs = DbProxyAuthFormatArgs(
        authScheme = authScheme,
        clientPasswordAuthType = clientPasswordAuthType,
        description = description,
        iamAuth = iamAuth,
        secretArn = secretArn,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy