com.pulumi.vault.database.kotlin.inputs.SecretBackendConnectionMysqlRdsArgs.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-vault-kotlin Show documentation
Show all versions of pulumi-vault-kotlin Show documentation
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.vault.database.kotlin.inputs
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.vault.database.inputs.SecretBackendConnectionMysqlRdsArgs.builder
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName
/**
*
* @property authType Specify alternative authorization type. (Only 'gcp_iam' is valid currently)
* @property connectionUrl Connection string to use to connect to the database.
* @property maxConnectionLifetime Maximum number of seconds a connection may be reused.
* @property maxIdleConnections Maximum number of idle connections to the database.
* @property maxOpenConnections Maximum number of open connections to the database.
* @property password The root credential password used in the connection URL
* @property serviceAccountJson A JSON encoded credential for use with IAM authorization
* @property tlsCa x509 CA file for validating the certificate presented by the MySQL server. Must be PEM encoded.
* @property tlsCertificateKey x509 certificate for connecting to the database. This must be a PEM encoded version of the private key and the certificate combined.
* @property username The root credential username used in the connection URL
* @property usernameTemplate Username generation template.
*/
public data class SecretBackendConnectionMysqlRdsArgs(
public val authType: Output? = null,
public val connectionUrl: Output? = null,
public val maxConnectionLifetime: Output? = null,
public val maxIdleConnections: Output? = null,
public val maxOpenConnections: Output? = null,
public val password: Output? = null,
public val serviceAccountJson: Output? = null,
public val tlsCa: Output? = null,
public val tlsCertificateKey: Output? = null,
public val username: Output? = null,
public val usernameTemplate: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.vault.database.inputs.SecretBackendConnectionMysqlRdsArgs =
com.pulumi.vault.database.inputs.SecretBackendConnectionMysqlRdsArgs.builder()
.authType(authType?.applyValue({ args0 -> args0 }))
.connectionUrl(connectionUrl?.applyValue({ args0 -> args0 }))
.maxConnectionLifetime(maxConnectionLifetime?.applyValue({ args0 -> args0 }))
.maxIdleConnections(maxIdleConnections?.applyValue({ args0 -> args0 }))
.maxOpenConnections(maxOpenConnections?.applyValue({ args0 -> args0 }))
.password(password?.applyValue({ args0 -> args0 }))
.serviceAccountJson(serviceAccountJson?.applyValue({ args0 -> args0 }))
.tlsCa(tlsCa?.applyValue({ args0 -> args0 }))
.tlsCertificateKey(tlsCertificateKey?.applyValue({ args0 -> args0 }))
.username(username?.applyValue({ args0 -> args0 }))
.usernameTemplate(usernameTemplate?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [SecretBackendConnectionMysqlRdsArgs].
*/
@PulumiTagMarker
public class SecretBackendConnectionMysqlRdsArgsBuilder internal constructor() {
private var authType: Output? = null
private var connectionUrl: Output? = null
private var maxConnectionLifetime: Output? = null
private var maxIdleConnections: Output? = null
private var maxOpenConnections: Output? = null
private var password: Output? = null
private var serviceAccountJson: Output? = null
private var tlsCa: Output? = null
private var tlsCertificateKey: Output? = null
private var username: Output? = null
private var usernameTemplate: Output? = null
/**
* @param value Specify alternative authorization type. (Only 'gcp_iam' is valid currently)
*/
@JvmName("jutmwjejpcuabyuu")
public suspend fun authType(`value`: Output) {
this.authType = value
}
/**
* @param value Connection string to use to connect to the database.
*/
@JvmName("haksgwyvfxhbohce")
public suspend fun connectionUrl(`value`: Output) {
this.connectionUrl = value
}
/**
* @param value Maximum number of seconds a connection may be reused.
*/
@JvmName("ucoknnixbnwrbbil")
public suspend fun maxConnectionLifetime(`value`: Output) {
this.maxConnectionLifetime = value
}
/**
* @param value Maximum number of idle connections to the database.
*/
@JvmName("fncbosshnqbevmtd")
public suspend fun maxIdleConnections(`value`: Output) {
this.maxIdleConnections = value
}
/**
* @param value Maximum number of open connections to the database.
*/
@JvmName("ppcihwkxpvenshdf")
public suspend fun maxOpenConnections(`value`: Output) {
this.maxOpenConnections = value
}
/**
* @param value The root credential password used in the connection URL
*/
@JvmName("hqoudbpxxdmituqn")
public suspend fun password(`value`: Output) {
this.password = value
}
/**
* @param value A JSON encoded credential for use with IAM authorization
*/
@JvmName("enrpfdjxbvgtkgye")
public suspend fun serviceAccountJson(`value`: Output) {
this.serviceAccountJson = value
}
/**
* @param value x509 CA file for validating the certificate presented by the MySQL server. Must be PEM encoded.
*/
@JvmName("hjihlojmbrbqakml")
public suspend fun tlsCa(`value`: Output) {
this.tlsCa = value
}
/**
* @param value x509 certificate for connecting to the database. This must be a PEM encoded version of the private key and the certificate combined.
*/
@JvmName("bqiuoaybcawunbmq")
public suspend fun tlsCertificateKey(`value`: Output) {
this.tlsCertificateKey = value
}
/**
* @param value The root credential username used in the connection URL
*/
@JvmName("fnijycfclvwphkhl")
public suspend fun username(`value`: Output) {
this.username = value
}
/**
* @param value Username generation template.
*/
@JvmName("ymlyepawecirnenp")
public suspend fun usernameTemplate(`value`: Output) {
this.usernameTemplate = value
}
/**
* @param value Specify alternative authorization type. (Only 'gcp_iam' is valid currently)
*/
@JvmName("bxhwmpnijrcyfica")
public suspend fun authType(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.authType = mapped
}
/**
* @param value Connection string to use to connect to the database.
*/
@JvmName("sqfxutleegsnuyhm")
public suspend fun connectionUrl(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.connectionUrl = mapped
}
/**
* @param value Maximum number of seconds a connection may be reused.
*/
@JvmName("emepqqcgmtnknmgx")
public suspend fun maxConnectionLifetime(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.maxConnectionLifetime = mapped
}
/**
* @param value Maximum number of idle connections to the database.
*/
@JvmName("ubmlgpbsvwyjjdkn")
public suspend fun maxIdleConnections(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.maxIdleConnections = mapped
}
/**
* @param value Maximum number of open connections to the database.
*/
@JvmName("shwiqtolnihgqeon")
public suspend fun maxOpenConnections(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.maxOpenConnections = mapped
}
/**
* @param value The root credential password used in the connection URL
*/
@JvmName("fstktpruhggjvldl")
public suspend fun password(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.password = mapped
}
/**
* @param value A JSON encoded credential for use with IAM authorization
*/
@JvmName("rymxlelasktaxpwi")
public suspend fun serviceAccountJson(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.serviceAccountJson = mapped
}
/**
* @param value x509 CA file for validating the certificate presented by the MySQL server. Must be PEM encoded.
*/
@JvmName("ytesgcnovqxaupje")
public suspend fun tlsCa(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.tlsCa = mapped
}
/**
* @param value x509 certificate for connecting to the database. This must be a PEM encoded version of the private key and the certificate combined.
*/
@JvmName("ceoqjqiygueiilup")
public suspend fun tlsCertificateKey(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.tlsCertificateKey = mapped
}
/**
* @param value The root credential username used in the connection URL
*/
@JvmName("keypbmdoyorlqtno")
public suspend fun username(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.username = mapped
}
/**
* @param value Username generation template.
*/
@JvmName("ryyqkyoyeibuhwfe")
public suspend fun usernameTemplate(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.usernameTemplate = mapped
}
internal fun build(): SecretBackendConnectionMysqlRdsArgs = SecretBackendConnectionMysqlRdsArgs(
authType = authType,
connectionUrl = connectionUrl,
maxConnectionLifetime = maxConnectionLifetime,
maxIdleConnections = maxIdleConnections,
maxOpenConnections = maxOpenConnections,
password = password,
serviceAccountJson = serviceAccountJson,
tlsCa = tlsCa,
tlsCertificateKey = tlsCertificateKey,
username = username,
usernameTemplate = usernameTemplate,
)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy