com.pulumi.gcp.gkeonprem.kotlin.inputs.BareMetalClusterNetworkConfigArgs.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.BareMetalClusterNetworkConfigArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Boolean
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName
/**
*
* @property advancedNetworking Enables the use of advanced Anthos networking features, such as Bundled
* Load Balancing with BGP or the egress NAT gateway.
* Setting configuration for advanced networking features will automatically
* set this flag.
* @property islandModeCidr A nested object resource
* Structure is documented below.
* @property multipleNetworkInterfacesConfig Configuration for multiple network interfaces.
* Structure is documented below.
* @property srIovConfig Configuration for SR-IOV.
* Structure is documented below.
*/
public data class BareMetalClusterNetworkConfigArgs(
public val advancedNetworking: Output? = null,
public val islandModeCidr: Output? = null,
public val multipleNetworkInterfacesConfig: Output? = null,
public val srIovConfig: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.gcp.gkeonprem.inputs.BareMetalClusterNetworkConfigArgs =
com.pulumi.gcp.gkeonprem.inputs.BareMetalClusterNetworkConfigArgs.builder()
.advancedNetworking(advancedNetworking?.applyValue({ args0 -> args0 }))
.islandModeCidr(islandModeCidr?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.multipleNetworkInterfacesConfig(
multipleNetworkInterfacesConfig?.applyValue({ args0 ->
args0.let({ args0 -> args0.toJava() })
}),
)
.srIovConfig(srIovConfig?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) })).build()
}
/**
* Builder for [BareMetalClusterNetworkConfigArgs].
*/
@PulumiTagMarker
public class BareMetalClusterNetworkConfigArgsBuilder internal constructor() {
private var advancedNetworking: Output? = null
private var islandModeCidr: Output? = null
private var multipleNetworkInterfacesConfig:
Output? = null
private var srIovConfig: Output? = null
/**
* @param value Enables the use of advanced Anthos networking features, such as Bundled
* Load Balancing with BGP or the egress NAT gateway.
* Setting configuration for advanced networking features will automatically
* set this flag.
*/
@JvmName("unuhhmbeqknbycgd")
public suspend fun advancedNetworking(`value`: Output) {
this.advancedNetworking = value
}
/**
* @param value A nested object resource
* Structure is documented below.
*/
@JvmName("vnflgsnamdyoitid")
public suspend fun islandModeCidr(`value`: Output) {
this.islandModeCidr = value
}
/**
* @param value Configuration for multiple network interfaces.
* Structure is documented below.
*/
@JvmName("bdukxrgdfutjsgoi")
public suspend fun multipleNetworkInterfacesConfig(`value`: Output) {
this.multipleNetworkInterfacesConfig = value
}
/**
* @param value Configuration for SR-IOV.
* Structure is documented below.
*/
@JvmName("akaloksndnlaqjmr")
public suspend fun srIovConfig(`value`: Output) {
this.srIovConfig = value
}
/**
* @param value Enables the use of advanced Anthos networking features, such as Bundled
* Load Balancing with BGP or the egress NAT gateway.
* Setting configuration for advanced networking features will automatically
* set this flag.
*/
@JvmName("wqmjkbtrprwawxds")
public suspend fun advancedNetworking(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.advancedNetworking = mapped
}
/**
* @param value A nested object resource
* Structure is documented below.
*/
@JvmName("tpxucquwajpgaioy")
public suspend fun islandModeCidr(`value`: BareMetalClusterNetworkConfigIslandModeCidrArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.islandModeCidr = mapped
}
/**
* @param argument A nested object resource
* Structure is documented below.
*/
@JvmName("yxjnbkmaxwrwhfjx")
public suspend fun islandModeCidr(argument: suspend BareMetalClusterNetworkConfigIslandModeCidrArgsBuilder.() -> Unit) {
val toBeMapped = BareMetalClusterNetworkConfigIslandModeCidrArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.islandModeCidr = mapped
}
/**
* @param value Configuration for multiple network interfaces.
* Structure is documented below.
*/
@JvmName("satykfjtyfymxafe")
public suspend fun multipleNetworkInterfacesConfig(`value`: BareMetalClusterNetworkConfigMultipleNetworkInterfacesConfigArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.multipleNetworkInterfacesConfig = mapped
}
/**
* @param argument Configuration for multiple network interfaces.
* Structure is documented below.
*/
@JvmName("vspsaedwbgyfjbde")
public suspend fun multipleNetworkInterfacesConfig(argument: suspend BareMetalClusterNetworkConfigMultipleNetworkInterfacesConfigArgsBuilder.() -> Unit) {
val toBeMapped =
BareMetalClusterNetworkConfigMultipleNetworkInterfacesConfigArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.multipleNetworkInterfacesConfig = mapped
}
/**
* @param value Configuration for SR-IOV.
* Structure is documented below.
*/
@JvmName("rludbetweenxbmll")
public suspend fun srIovConfig(`value`: BareMetalClusterNetworkConfigSrIovConfigArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.srIovConfig = mapped
}
/**
* @param argument Configuration for SR-IOV.
* Structure is documented below.
*/
@JvmName("ucbkdqytgnhvbwsk")
public suspend fun srIovConfig(argument: suspend BareMetalClusterNetworkConfigSrIovConfigArgsBuilder.() -> Unit) {
val toBeMapped = BareMetalClusterNetworkConfigSrIovConfigArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.srIovConfig = mapped
}
internal fun build(): BareMetalClusterNetworkConfigArgs = BareMetalClusterNetworkConfigArgs(
advancedNetworking = advancedNetworking,
islandModeCidr = islandModeCidr,
multipleNetworkInterfacesConfig = multipleNetworkInterfacesConfig,
srIovConfig = srIovConfig,
)
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy