com.pulumi.gcp.gkeonprem.kotlin.inputs.VMwareClusterLoadBalancerArgs.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.gkeonprem.kotlin.inputs
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gcp.gkeonprem.inputs.VMwareClusterLoadBalancerArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName
/**
*
* @property f5Config Configuration for F5 Big IP typed load balancers.
* Structure is documented below.
* @property manualLbConfig Manually configured load balancers.
* Structure is documented below.
* @property metalLbConfig Configuration for MetalLB typed load balancers.
* Structure is documented below.
* @property vipConfig The VIPs used by the load balancer.
* Structure is documented below.
*/
public data class VMwareClusterLoadBalancerArgs(
public val f5Config: Output? = null,
public val manualLbConfig: Output? = null,
public val metalLbConfig: Output? = null,
public val vipConfig: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.gcp.gkeonprem.inputs.VMwareClusterLoadBalancerArgs =
com.pulumi.gcp.gkeonprem.inputs.VMwareClusterLoadBalancerArgs.builder()
.f5Config(f5Config?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.manualLbConfig(manualLbConfig?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.metalLbConfig(metalLbConfig?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.vipConfig(vipConfig?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) })).build()
}
/**
* Builder for [VMwareClusterLoadBalancerArgs].
*/
@PulumiTagMarker
public class VMwareClusterLoadBalancerArgsBuilder internal constructor() {
private var f5Config: Output? = null
private var manualLbConfig: Output? = null
private var metalLbConfig: Output? = null
private var vipConfig: Output? = null
/**
* @param value Configuration for F5 Big IP typed load balancers.
* Structure is documented below.
*/
@JvmName("omnxxwkuowqfnnma")
public suspend fun f5Config(`value`: Output) {
this.f5Config = value
}
/**
* @param value Manually configured load balancers.
* Structure is documented below.
*/
@JvmName("hyvsqpckrnckwlhi")
public suspend fun manualLbConfig(`value`: Output) {
this.manualLbConfig = value
}
/**
* @param value Configuration for MetalLB typed load balancers.
* Structure is documented below.
*/
@JvmName("veuesnbdmwiqxnxi")
public suspend fun metalLbConfig(`value`: Output) {
this.metalLbConfig = value
}
/**
* @param value The VIPs used by the load balancer.
* Structure is documented below.
*/
@JvmName("wcgbpfgnkaganvph")
public suspend fun vipConfig(`value`: Output) {
this.vipConfig = value
}
/**
* @param value Configuration for F5 Big IP typed load balancers.
* Structure is documented below.
*/
@JvmName("mispkkaivcbugpqg")
public suspend fun f5Config(`value`: VMwareClusterLoadBalancerF5ConfigArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.f5Config = mapped
}
/**
* @param argument Configuration for F5 Big IP typed load balancers.
* Structure is documented below.
*/
@JvmName("dgwncarlvomtujlp")
public suspend fun f5Config(argument: suspend VMwareClusterLoadBalancerF5ConfigArgsBuilder.() -> Unit) {
val toBeMapped = VMwareClusterLoadBalancerF5ConfigArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.f5Config = mapped
}
/**
* @param value Manually configured load balancers.
* Structure is documented below.
*/
@JvmName("rjqjsutaetiwygck")
public suspend fun manualLbConfig(`value`: VMwareClusterLoadBalancerManualLbConfigArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.manualLbConfig = mapped
}
/**
* @param argument Manually configured load balancers.
* Structure is documented below.
*/
@JvmName("hyastsfthfyugpwu")
public suspend fun manualLbConfig(argument: suspend VMwareClusterLoadBalancerManualLbConfigArgsBuilder.() -> Unit) {
val toBeMapped = VMwareClusterLoadBalancerManualLbConfigArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.manualLbConfig = mapped
}
/**
* @param value Configuration for MetalLB typed load balancers.
* Structure is documented below.
*/
@JvmName("sdglvecnkcuxxjah")
public suspend fun metalLbConfig(`value`: VMwareClusterLoadBalancerMetalLbConfigArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.metalLbConfig = mapped
}
/**
* @param argument Configuration for MetalLB typed load balancers.
* Structure is documented below.
*/
@JvmName("emnvqebdeadupons")
public suspend fun metalLbConfig(argument: suspend VMwareClusterLoadBalancerMetalLbConfigArgsBuilder.() -> Unit) {
val toBeMapped = VMwareClusterLoadBalancerMetalLbConfigArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.metalLbConfig = mapped
}
/**
* @param value The VIPs used by the load balancer.
* Structure is documented below.
*/
@JvmName("edgxwkltljhtifhm")
public suspend fun vipConfig(`value`: VMwareClusterLoadBalancerVipConfigArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.vipConfig = mapped
}
/**
* @param argument The VIPs used by the load balancer.
* Structure is documented below.
*/
@JvmName("vydsrtcfubiolcnc")
public suspend fun vipConfig(argument: suspend VMwareClusterLoadBalancerVipConfigArgsBuilder.() -> Unit) {
val toBeMapped = VMwareClusterLoadBalancerVipConfigArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.vipConfig = mapped
}
internal fun build(): VMwareClusterLoadBalancerArgs = VMwareClusterLoadBalancerArgs(
f5Config = f5Config,
manualLbConfig = manualLbConfig,
metalLbConfig = metalLbConfig,
vipConfig = vipConfig,
)
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy