com.pulumi.gcp.compute.kotlin.inputs.RouterNatRuleActionArgs.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.compute.kotlin.inputs
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gcp.compute.inputs.RouterNatRuleActionArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
*
* @property sourceNatActiveIps A list of URLs of the IP resources used for this NAT rule.
* These IP addresses must be valid static external IP addresses assigned to the project.
* This field is used for public NAT.
* @property sourceNatActiveRanges A list of URLs of the subnetworks used as source ranges for this NAT Rule.
* These subnetworks must have purpose set to PRIVATE_NAT.
* This field is used for private NAT.
* @property sourceNatDrainIps A list of URLs of the IP resources to be drained.
* These IPs must be valid static external IPs that have been assigned to the NAT.
* These IPs should be used for updating/patching a NAT rule only.
* This field is used for public NAT.
* @property sourceNatDrainRanges A list of URLs of subnetworks representing source ranges to be drained.
* This is only supported on patch/update, and these subnetworks must have previously been used as active ranges in this NAT Rule.
* This field is used for private NAT.
*/
public data class RouterNatRuleActionArgs(
public val sourceNatActiveIps: Output>? = null,
public val sourceNatActiveRanges: Output>? = null,
public val sourceNatDrainIps: Output>? = null,
public val sourceNatDrainRanges: Output>? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.gcp.compute.inputs.RouterNatRuleActionArgs =
com.pulumi.gcp.compute.inputs.RouterNatRuleActionArgs.builder()
.sourceNatActiveIps(sourceNatActiveIps?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.sourceNatActiveRanges(sourceNatActiveRanges?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.sourceNatDrainIps(sourceNatDrainIps?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.sourceNatDrainRanges(
sourceNatDrainRanges?.applyValue({ args0 ->
args0.map({ args0 ->
args0
})
}),
).build()
}
/**
* Builder for [RouterNatRuleActionArgs].
*/
@PulumiTagMarker
public class RouterNatRuleActionArgsBuilder internal constructor() {
private var sourceNatActiveIps: Output>? = null
private var sourceNatActiveRanges: Output>? = null
private var sourceNatDrainIps: Output>? = null
private var sourceNatDrainRanges: Output>? = null
/**
* @param value A list of URLs of the IP resources used for this NAT rule.
* These IP addresses must be valid static external IP addresses assigned to the project.
* This field is used for public NAT.
*/
@JvmName("lfbjxfdlskferrjg")
public suspend fun sourceNatActiveIps(`value`: Output>) {
this.sourceNatActiveIps = value
}
@JvmName("lwlypqmitjnhilpj")
public suspend fun sourceNatActiveIps(vararg values: Output) {
this.sourceNatActiveIps = Output.all(values.asList())
}
/**
* @param values A list of URLs of the IP resources used for this NAT rule.
* These IP addresses must be valid static external IP addresses assigned to the project.
* This field is used for public NAT.
*/
@JvmName("xlvibegwyimlkhii")
public suspend fun sourceNatActiveIps(values: List
© 2015 - 2024 Weber Informatics LLC | Privacy Policy