com.pulumi.gcp.databasemigrationservice.kotlin.inputs.ConnectionProfileMysqlSslArgs.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-gcp-kotlin Show documentation
Show all versions of pulumi-gcp-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.gcp.databasemigrationservice.kotlin.inputs
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gcp.databasemigrationservice.inputs.ConnectionProfileMysqlSslArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName
/**
*
* @property caCertificate Required. Input only. The x509 PEM-encoded certificate of the CA that signed the source database server's certificate.
* The replica will use this certificate to verify it's connecting to the right host.
* **Note**: This property is sensitive and will not be displayed in the plan.
* @property clientCertificate Input only. The x509 PEM-encoded certificate that will be used by the replica to authenticate against the source database server.
* If this field is used then the 'clientKey' field is mandatory
* **Note**: This property is sensitive and will not be displayed in the plan.
* @property clientKey Input only. The unencrypted PKCS#1 or PKCS#8 PEM-encoded private key associated with the Client Certificate.
* If this field is used then the 'clientCertificate' field is mandatory.
* **Note**: This property is sensitive and will not be displayed in the plan.
* @property type (Output)
* The current connection profile state.
*/
public data class ConnectionProfileMysqlSslArgs(
public val caCertificate: Output,
public val clientCertificate: Output? = null,
public val clientKey: Output? = null,
public val type: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.gcp.databasemigrationservice.inputs.ConnectionProfileMysqlSslArgs =
com.pulumi.gcp.databasemigrationservice.inputs.ConnectionProfileMysqlSslArgs.builder()
.caCertificate(caCertificate.applyValue({ args0 -> args0 }))
.clientCertificate(clientCertificate?.applyValue({ args0 -> args0 }))
.clientKey(clientKey?.applyValue({ args0 -> args0 }))
.type(type?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [ConnectionProfileMysqlSslArgs].
*/
@PulumiTagMarker
public class ConnectionProfileMysqlSslArgsBuilder internal constructor() {
private var caCertificate: Output? = null
private var clientCertificate: Output? = null
private var clientKey: Output? = null
private var type: Output? = null
/**
* @param value Required. Input only. The x509 PEM-encoded certificate of the CA that signed the source database server's certificate.
* The replica will use this certificate to verify it's connecting to the right host.
* **Note**: This property is sensitive and will not be displayed in the plan.
*/
@JvmName("expvdrsdtiqhjebk")
public suspend fun caCertificate(`value`: Output) {
this.caCertificate = value
}
/**
* @param value Input only. The x509 PEM-encoded certificate that will be used by the replica to authenticate against the source database server.
* If this field is used then the 'clientKey' field is mandatory
* **Note**: This property is sensitive and will not be displayed in the plan.
*/
@JvmName("tmidrvgemlqqciny")
public suspend fun clientCertificate(`value`: Output) {
this.clientCertificate = value
}
/**
* @param value Input only. The unencrypted PKCS#1 or PKCS#8 PEM-encoded private key associated with the Client Certificate.
* If this field is used then the 'clientCertificate' field is mandatory.
* **Note**: This property is sensitive and will not be displayed in the plan.
*/
@JvmName("yeqxqdjsifiwfsda")
public suspend fun clientKey(`value`: Output) {
this.clientKey = value
}
/**
* @param value (Output)
* The current connection profile state.
*/
@JvmName("aooyafqafhfgyjyq")
public suspend fun type(`value`: Output) {
this.type = value
}
/**
* @param value Required. Input only. The x509 PEM-encoded certificate of the CA that signed the source database server's certificate.
* The replica will use this certificate to verify it's connecting to the right host.
* **Note**: This property is sensitive and will not be displayed in the plan.
*/
@JvmName("cyxgbapqqewlvjym")
public suspend fun caCertificate(`value`: String) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.caCertificate = mapped
}
/**
* @param value Input only. The x509 PEM-encoded certificate that will be used by the replica to authenticate against the source database server.
* If this field is used then the 'clientKey' field is mandatory
* **Note**: This property is sensitive and will not be displayed in the plan.
*/
@JvmName("ctpdcxjqdejfnlqu")
public suspend fun clientCertificate(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.clientCertificate = mapped
}
/**
* @param value Input only. The unencrypted PKCS#1 or PKCS#8 PEM-encoded private key associated with the Client Certificate.
* If this field is used then the 'clientCertificate' field is mandatory.
* **Note**: This property is sensitive and will not be displayed in the plan.
*/
@JvmName("kemhkfjwgltnsljs")
public suspend fun clientKey(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.clientKey = mapped
}
/**
* @param value (Output)
* The current connection profile state.
*/
@JvmName("tkgqosmiwcesukgy")
public suspend fun type(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.type = mapped
}
internal fun build(): ConnectionProfileMysqlSslArgs = ConnectionProfileMysqlSslArgs(
caCertificate = caCertificate ?: throw PulumiNullFieldException("caCertificate"),
clientCertificate = clientCertificate,
clientKey = clientKey,
type = type,
)
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy