Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.vault.database.kotlin.inputs.SecretsMountCassandraArgs.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.
@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.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.vault.database.inputs.SecretsMountCassandraArgs.builder
import kotlin.Any
import kotlin.Boolean
import kotlin.Int
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
import kotlin.collections.Map
import kotlin.jvm.JvmName
/**
*
* @property allowedRoles A list of roles that are allowed to use this
* connection.
* @property connectTimeout The number of seconds to use as a connection timeout.
* @property data A map of sensitive data to pass to the endpoint. Useful for templated connection strings.
* Supported list of database secrets engines that can be configured:
* @property hosts Cassandra hosts to connect to.
* @property insecureTls Whether to skip verification of the server certificate when using TLS.
* @property name Name of the database connection.
* @property password The password to use when authenticating with Cassandra.
* @property pemBundle Concatenated PEM blocks containing a certificate and private key; a certificate, private key, and issuing CA certificate; or just a CA certificate.
* @property pemJson Specifies JSON containing a certificate and private key; a certificate, private key, and issuing CA certificate; or just a CA certificate.
* @property pluginName Specifies the name of the plugin to use.
* @property port The transport port to use to connect to Cassandra.
* @property protocolVersion The CQL protocol version to use.
* @property rootRotationStatements A list of database statements to be executed to rotate the root user's credentials.
* @property tls Whether to use TLS when connecting to Cassandra.
* @property username The username to use when authenticating with Cassandra.
* @property verifyConnection Whether the connection should be verified on
* initial configuration or not.
*/
public data class SecretsMountCassandraArgs(
public val allowedRoles: Output>? = null,
public val connectTimeout: Output? = null,
public val `data`: Output>? = null,
public val hosts: Output>? = null,
public val insecureTls: Output? = null,
public val name: Output,
public val password: Output? = null,
public val pemBundle: Output? = null,
public val pemJson: Output? = null,
public val pluginName: Output? = null,
public val port: Output? = null,
public val protocolVersion: Output? = null,
public val rootRotationStatements: Output>? = null,
public val tls: Output? = null,
public val username: Output? = null,
public val verifyConnection: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.vault.database.inputs.SecretsMountCassandraArgs =
com.pulumi.vault.database.inputs.SecretsMountCassandraArgs.builder()
.allowedRoles(allowedRoles?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.connectTimeout(connectTimeout?.applyValue({ args0 -> args0 }))
.`data`(`data`?.applyValue({ args0 -> args0.map({ args0 -> args0.key.to(args0.value) }).toMap() }))
.hosts(hosts?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.insecureTls(insecureTls?.applyValue({ args0 -> args0 }))
.name(name.applyValue({ args0 -> args0 }))
.password(password?.applyValue({ args0 -> args0 }))
.pemBundle(pemBundle?.applyValue({ args0 -> args0 }))
.pemJson(pemJson?.applyValue({ args0 -> args0 }))
.pluginName(pluginName?.applyValue({ args0 -> args0 }))
.port(port?.applyValue({ args0 -> args0 }))
.protocolVersion(protocolVersion?.applyValue({ args0 -> args0 }))
.rootRotationStatements(
rootRotationStatements?.applyValue({ args0 ->
args0.map({ args0 ->
args0
})
}),
)
.tls(tls?.applyValue({ args0 -> args0 }))
.username(username?.applyValue({ args0 -> args0 }))
.verifyConnection(verifyConnection?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [SecretsMountCassandraArgs].
*/
@PulumiTagMarker
public class SecretsMountCassandraArgsBuilder internal constructor() {
private var allowedRoles: Output>? = null
private var connectTimeout: Output? = null
private var `data`: Output>? = null
private var hosts: Output>? = null
private var insecureTls: Output? = null
private var name: Output? = null
private var password: Output? = null
private var pemBundle: Output? = null
private var pemJson: Output? = null
private var pluginName: Output? = null
private var port: Output? = null
private var protocolVersion: Output? = null
private var rootRotationStatements: Output>? = null
private var tls: Output? = null
private var username: Output? = null
private var verifyConnection: Output? = null
/**
* @param value A list of roles that are allowed to use this
* connection.
*/
@JvmName("kdkfkcxhiseafioy")
public suspend fun allowedRoles(`value`: Output>) {
this.allowedRoles = value
}
@JvmName("ykcykyypdvexkygb")
public suspend fun allowedRoles(vararg values: Output) {
this.allowedRoles = Output.all(values.asList())
}
/**
* @param values A list of roles that are allowed to use this
* connection.
*/
@JvmName("sbytfaufgryprdtw")
public suspend fun allowedRoles(values: List>) {
this.allowedRoles = Output.all(values)
}
/**
* @param value The number of seconds to use as a connection timeout.
*/
@JvmName("jeacygrursndcdxt")
public suspend fun connectTimeout(`value`: Output) {
this.connectTimeout = value
}
/**
* @param value A map of sensitive data to pass to the endpoint. Useful for templated connection strings.
* Supported list of database secrets engines that can be configured:
*/
@JvmName("nhvswqutotelcrur")
public suspend fun `data`(`value`: Output>) {
this.`data` = value
}
/**
* @param value Cassandra hosts to connect to.
*/
@JvmName("ntvpycstgiirvbdk")
public suspend fun hosts(`value`: Output>) {
this.hosts = value
}
@JvmName("ocrathcnjxjcqytk")
public suspend fun hosts(vararg values: Output) {
this.hosts = Output.all(values.asList())
}
/**
* @param values Cassandra hosts to connect to.
*/
@JvmName("rvrkosukukpohxey")
public suspend fun hosts(values: List>) {
this.hosts = Output.all(values)
}
/**
* @param value Whether to skip verification of the server certificate when using TLS.
*/
@JvmName("ncniwvbcqstaiocm")
public suspend fun insecureTls(`value`: Output) {
this.insecureTls = value
}
/**
* @param value Name of the database connection.
*/
@JvmName("cehfkccgjueagrlm")
public suspend fun name(`value`: Output) {
this.name = value
}
/**
* @param value The password to use when authenticating with Cassandra.
*/
@JvmName("qfrssomfhivxuhtt")
public suspend fun password(`value`: Output) {
this.password = value
}
/**
* @param value Concatenated PEM blocks containing a certificate and private key; a certificate, private key, and issuing CA certificate; or just a CA certificate.
*/
@JvmName("gwqsbfhcwvoeryab")
public suspend fun pemBundle(`value`: Output) {
this.pemBundle = value
}
/**
* @param value Specifies JSON containing a certificate and private key; a certificate, private key, and issuing CA certificate; or just a CA certificate.
*/
@JvmName("sseqlunhytnworvd")
public suspend fun pemJson(`value`: Output) {
this.pemJson = value
}
/**
* @param value Specifies the name of the plugin to use.
*/
@JvmName("lwvcsqqgrcwcbfej")
public suspend fun pluginName(`value`: Output) {
this.pluginName = value
}
/**
* @param value The transport port to use to connect to Cassandra.
*/
@JvmName("grjowughlmngddyw")
public suspend fun port(`value`: Output) {
this.port = value
}
/**
* @param value The CQL protocol version to use.
*/
@JvmName("oikgqncvfwyxivwf")
public suspend fun protocolVersion(`value`: Output) {
this.protocolVersion = value
}
/**
* @param value A list of database statements to be executed to rotate the root user's credentials.
*/
@JvmName("vdbsybqfxfljtgsf")
public suspend fun rootRotationStatements(`value`: Output>) {
this.rootRotationStatements = value
}
@JvmName("qcdxoteuqfboxcyb")
public suspend fun rootRotationStatements(vararg values: Output) {
this.rootRotationStatements = Output.all(values.asList())
}
/**
* @param values A list of database statements to be executed to rotate the root user's credentials.
*/
@JvmName("lyvyfccsspyqcoax")
public suspend fun rootRotationStatements(values: List>) {
this.rootRotationStatements = Output.all(values)
}
/**
* @param value Whether to use TLS when connecting to Cassandra.
*/
@JvmName("vqitbuxnwmqhqntc")
public suspend fun tls(`value`: Output) {
this.tls = value
}
/**
* @param value The username to use when authenticating with Cassandra.
*/
@JvmName("howrkiglvmgecatq")
public suspend fun username(`value`: Output) {
this.username = value
}
/**
* @param value Whether the connection should be verified on
* initial configuration or not.
*/
@JvmName("aiamsgnrndgkyngs")
public suspend fun verifyConnection(`value`: Output) {
this.verifyConnection = value
}
/**
* @param value A list of roles that are allowed to use this
* connection.
*/
@JvmName("fuvkspckonlbkgdy")
public suspend fun allowedRoles(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.allowedRoles = mapped
}
/**
* @param values A list of roles that are allowed to use this
* connection.
*/
@JvmName("ubnlewggjqvlycrh")
public suspend fun allowedRoles(vararg values: String) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.allowedRoles = mapped
}
/**
* @param value The number of seconds to use as a connection timeout.
*/
@JvmName("ljsdctteurudfbci")
public suspend fun connectTimeout(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.connectTimeout = mapped
}
/**
* @param value A map of sensitive data to pass to the endpoint. Useful for templated connection strings.
* Supported list of database secrets engines that can be configured:
*/
@JvmName("pfrbbjcknustitdd")
public suspend fun `data`(`value`: Map?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.`data` = mapped
}
/**
* @param values A map of sensitive data to pass to the endpoint. Useful for templated connection strings.
* Supported list of database secrets engines that can be configured:
*/
@JvmName("nhxpmcmltdnalnak")
public fun `data`(vararg values: Pair) {
val toBeMapped = values.toMap()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.`data` = mapped
}
/**
* @param value Cassandra hosts to connect to.
*/
@JvmName("xgorrlxcrioyfgyw")
public suspend fun hosts(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.hosts = mapped
}
/**
* @param values Cassandra hosts to connect to.
*/
@JvmName("jsrcsigkqsgdkfam")
public suspend fun hosts(vararg values: String) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.hosts = mapped
}
/**
* @param value Whether to skip verification of the server certificate when using TLS.
*/
@JvmName("kmvovypofycbeqdj")
public suspend fun insecureTls(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.insecureTls = mapped
}
/**
* @param value Name of the database connection.
*/
@JvmName("axxufmqurifgflwj")
public suspend fun name(`value`: String) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.name = mapped
}
/**
* @param value The password to use when authenticating with Cassandra.
*/
@JvmName("bmhpqhnblndjdyah")
public suspend fun password(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.password = mapped
}
/**
* @param value Concatenated PEM blocks containing a certificate and private key; a certificate, private key, and issuing CA certificate; or just a CA certificate.
*/
@JvmName("imnulkrcetivxlrt")
public suspend fun pemBundle(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.pemBundle = mapped
}
/**
* @param value Specifies JSON containing a certificate and private key; a certificate, private key, and issuing CA certificate; or just a CA certificate.
*/
@JvmName("sfjxhirhnmffbryx")
public suspend fun pemJson(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.pemJson = mapped
}
/**
* @param value Specifies the name of the plugin to use.
*/
@JvmName("gwvrlaovgccooyho")
public suspend fun pluginName(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.pluginName = mapped
}
/**
* @param value The transport port to use to connect to Cassandra.
*/
@JvmName("chkewnsdgbukownv")
public suspend fun port(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.port = mapped
}
/**
* @param value The CQL protocol version to use.
*/
@JvmName("xbgeeavwuvrdrsgk")
public suspend fun protocolVersion(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.protocolVersion = mapped
}
/**
* @param value A list of database statements to be executed to rotate the root user's credentials.
*/
@JvmName("iqejxsvabsxlkrqi")
public suspend fun rootRotationStatements(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.rootRotationStatements = mapped
}
/**
* @param values A list of database statements to be executed to rotate the root user's credentials.
*/
@JvmName("kntwligtafxugrdg")
public suspend fun rootRotationStatements(vararg values: String) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.rootRotationStatements = mapped
}
/**
* @param value Whether to use TLS when connecting to Cassandra.
*/
@JvmName("xxgfjqcicfnpklln")
public suspend fun tls(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.tls = mapped
}
/**
* @param value The username to use when authenticating with Cassandra.
*/
@JvmName("utyporwweljdugdx")
public suspend fun username(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.username = mapped
}
/**
* @param value Whether the connection should be verified on
* initial configuration or not.
*/
@JvmName("nuanbduhdacelbsl")
public suspend fun verifyConnection(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.verifyConnection = mapped
}
internal fun build(): SecretsMountCassandraArgs = SecretsMountCassandraArgs(
allowedRoles = allowedRoles,
connectTimeout = connectTimeout,
`data` = `data`,
hosts = hosts,
insecureTls = insecureTls,
name = name ?: throw PulumiNullFieldException("name"),
password = password,
pemBundle = pemBundle,
pemJson = pemJson,
pluginName = pluginName,
port = port,
protocolVersion = protocolVersion,
rootRotationStatements = rootRotationStatements,
tls = tls,
username = username,
verifyConnection = verifyConnection,
)
}