
com.pulumi.azurenative.azurearcdata.kotlin.inputs.FailoverGroupSpecArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azurenative.azurearcdata.kotlin.inputs
import com.pulumi.azurenative.azurearcdata.inputs.FailoverGroupSpecArgs.builder
import com.pulumi.azurenative.azurearcdata.kotlin.enums.FailoverGroupPartnerSyncMode
import com.pulumi.azurenative.azurearcdata.kotlin.enums.InstanceFailoverGroupRole
import com.pulumi.core.Either
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 kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName
/**
* The specifications of the failover group resource.
* @property partnerMI The name of the partner SQL managed instance.
* @property partnerMirroringCert The mirroring endpoint public certificate for the partner SQL managed instance. Only PEM format is supported.
* @property partnerMirroringURL The mirroring endpoint URL of the partner SQL managed instance.
* @property partnerSyncMode The partner sync mode of the SQL managed instance.
* @property role The role of the SQL managed instance in this failover group.
* @property sharedName The shared name of the failover group for this SQL managed instance. Both SQL managed instance and its partner have to use the same shared name.
* @property sourceMI The name of the SQL managed instance with this failover group role.
*/
public data class FailoverGroupSpecArgs(
public val partnerMI: Output? = null,
public val partnerMirroringCert: Output? = null,
public val partnerMirroringURL: Output? = null,
public val partnerSyncMode: Output>? = null,
public val role: Output>,
public val sharedName: Output? = null,
public val sourceMI: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.azurenative.azurearcdata.inputs.FailoverGroupSpecArgs =
com.pulumi.azurenative.azurearcdata.inputs.FailoverGroupSpecArgs.builder()
.partnerMI(partnerMI?.applyValue({ args0 -> args0 }))
.partnerMirroringCert(partnerMirroringCert?.applyValue({ args0 -> args0 }))
.partnerMirroringURL(partnerMirroringURL?.applyValue({ args0 -> args0 }))
.partnerSyncMode(
partnerSyncMode?.applyValue({ args0 ->
args0.transform({ args0 -> args0 }, { args0 ->
args0.let({ args0 -> args0.toJava() })
})
}),
)
.role(
role.applyValue({ args0 ->
args0.transform({ args0 -> args0 }, { args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.sharedName(sharedName?.applyValue({ args0 -> args0 }))
.sourceMI(sourceMI?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [FailoverGroupSpecArgs].
*/
@PulumiTagMarker
public class FailoverGroupSpecArgsBuilder internal constructor() {
private var partnerMI: Output? = null
private var partnerMirroringCert: Output? = null
private var partnerMirroringURL: Output? = null
private var partnerSyncMode: Output>? = null
private var role: Output>? = null
private var sharedName: Output? = null
private var sourceMI: Output? = null
/**
* @param value The name of the partner SQL managed instance.
*/
@JvmName("enginteochwncgbr")
public suspend fun partnerMI(`value`: Output) {
this.partnerMI = value
}
/**
* @param value The mirroring endpoint public certificate for the partner SQL managed instance. Only PEM format is supported.
*/
@JvmName("odyiiariqdrgryix")
public suspend fun partnerMirroringCert(`value`: Output) {
this.partnerMirroringCert = value
}
/**
* @param value The mirroring endpoint URL of the partner SQL managed instance.
*/
@JvmName("lnkxqjdcxrvnmyjy")
public suspend fun partnerMirroringURL(`value`: Output) {
this.partnerMirroringURL = value
}
/**
* @param value The partner sync mode of the SQL managed instance.
*/
@JvmName("tsofuwgnlmpquwms")
public suspend fun partnerSyncMode(`value`: Output>) {
this.partnerSyncMode = value
}
/**
* @param value The role of the SQL managed instance in this failover group.
*/
@JvmName("gegpotapjojbeogb")
public suspend fun role(`value`: Output>) {
this.role = value
}
/**
* @param value The shared name of the failover group for this SQL managed instance. Both SQL managed instance and its partner have to use the same shared name.
*/
@JvmName("kcjsjwfveihhafud")
public suspend fun sharedName(`value`: Output) {
this.sharedName = value
}
/**
* @param value The name of the SQL managed instance with this failover group role.
*/
@JvmName("scyycuqqejakpfwj")
public suspend fun sourceMI(`value`: Output) {
this.sourceMI = value
}
/**
* @param value The name of the partner SQL managed instance.
*/
@JvmName("mhflqjdosgnvnyfk")
public suspend fun partnerMI(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.partnerMI = mapped
}
/**
* @param value The mirroring endpoint public certificate for the partner SQL managed instance. Only PEM format is supported.
*/
@JvmName("jgtfohtlbelceuax")
public suspend fun partnerMirroringCert(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.partnerMirroringCert = mapped
}
/**
* @param value The mirroring endpoint URL of the partner SQL managed instance.
*/
@JvmName("wtalebseblbblvhw")
public suspend fun partnerMirroringURL(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.partnerMirroringURL = mapped
}
/**
* @param value The partner sync mode of the SQL managed instance.
*/
@JvmName("rdjotsvwpyyudhti")
public suspend fun partnerSyncMode(`value`: Either?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.partnerSyncMode = mapped
}
/**
* @param value The partner sync mode of the SQL managed instance.
*/
@JvmName("hcngegjftwcvepxv")
public fun partnerSyncMode(`value`: String) {
val toBeMapped = Either.ofLeft(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.partnerSyncMode = mapped
}
/**
* @param value The partner sync mode of the SQL managed instance.
*/
@JvmName("hvuqylpqoecvpfjk")
public fun partnerSyncMode(`value`: FailoverGroupPartnerSyncMode) {
val toBeMapped = Either.ofRight(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.partnerSyncMode = mapped
}
/**
* @param value The role of the SQL managed instance in this failover group.
*/
@JvmName("rdpaskfnbofrpuby")
public suspend fun role(`value`: Either) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.role = mapped
}
/**
* @param value The role of the SQL managed instance in this failover group.
*/
@JvmName("rrmehbjyehgyiybw")
public fun role(`value`: String) {
val toBeMapped = Either.ofLeft(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.role = mapped
}
/**
* @param value The role of the SQL managed instance in this failover group.
*/
@JvmName("mosimnqjdbklpige")
public fun role(`value`: InstanceFailoverGroupRole) {
val toBeMapped = Either.ofRight(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.role = mapped
}
/**
* @param value The shared name of the failover group for this SQL managed instance. Both SQL managed instance and its partner have to use the same shared name.
*/
@JvmName("kocvudysoyvjdgne")
public suspend fun sharedName(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.sharedName = mapped
}
/**
* @param value The name of the SQL managed instance with this failover group role.
*/
@JvmName("rxxjkiiatibauywa")
public suspend fun sourceMI(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.sourceMI = mapped
}
internal fun build(): FailoverGroupSpecArgs = FailoverGroupSpecArgs(
partnerMI = partnerMI,
partnerMirroringCert = partnerMirroringCert,
partnerMirroringURL = partnerMirroringURL,
partnerSyncMode = partnerSyncMode,
role = role ?: throw PulumiNullFieldException("role"),
sharedName = sharedName,
sourceMI = sourceMI,
)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy