Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.gcp.compute.kotlin.inputs.RegionNetworkFirewallPolicyWithRulesRuleMatchArgs.kt Maven / Gradle / Ivy
@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.RegionNetworkFirewallPolicyWithRulesRuleMatchArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
*
* @property destAddressGroups Address groups which should be matched against the traffic destination.
* Maximum number of destination address groups is 10.
* @property destFqdns Fully Qualified Domain Name (FQDN) which should be matched against
* traffic destination. Maximum number of destination fqdn allowed is 100.
* @property destIpRanges Destination IP address range in CIDR format. Required for
* EGRESS rules.
* @property destRegionCodes Region codes whose IP addresses will be used to match for destination
* of traffic. Should be specified as 2 letter country code defined as per
* ISO 3166 alpha-2 country codes. ex."US"
* Maximum number of destination region codes allowed is 5000.
* @property destThreatIntelligences Names of Network Threat Intelligence lists.
* The IPs in these lists will be matched against traffic destination.
* @property layer4Configs Pairs of IP protocols and ports that the rule should match.
* Structure is documented below.
* @property srcAddressGroups Address groups which should be matched against the traffic source.
* Maximum number of source address groups is 10.
* @property srcFqdns Fully Qualified Domain Name (FQDN) which should be matched against
* traffic source. Maximum number of source fqdn allowed is 100.
* @property srcIpRanges Source IP address range in CIDR format. Required for
* INGRESS rules.
* @property srcRegionCodes Region codes whose IP addresses will be used to match for source
* of traffic. Should be specified as 2 letter country code defined as per
* ISO 3166 alpha-2 country codes. ex."US"
* Maximum number of source region codes allowed is 5000.
* @property srcSecureTags List of secure tag values, which should be matched at the source
* of the traffic.
* For INGRESS rule, if all the srcSecureTag
are INEFFECTIVE,
* and there is no srcIpRange
, this rule will be ignored.
* Maximum number of source tag values allowed is 256.
* Structure is documented below.
* The `layer4_config` block supports:
* @property srcThreatIntelligences Names of Network Threat Intelligence lists.
* The IPs in these lists will be matched against traffic source.
*/
public data class RegionNetworkFirewallPolicyWithRulesRuleMatchArgs(
public val destAddressGroups: Output>? = null,
public val destFqdns: Output>? = null,
public val destIpRanges: Output>? = null,
public val destRegionCodes: Output>? = null,
public val destThreatIntelligences: Output>? = null,
public val layer4Configs: Output>,
public val srcAddressGroups: Output>? = null,
public val srcFqdns: Output>? = null,
public val srcIpRanges: Output>? = null,
public val srcRegionCodes: Output>? = null,
public val srcSecureTags: Output>? = null,
public val srcThreatIntelligences: Output>? = null,
) :
ConvertibleToJava {
override fun toJava(): com.pulumi.gcp.compute.inputs.RegionNetworkFirewallPolicyWithRulesRuleMatchArgs =
com.pulumi.gcp.compute.inputs.RegionNetworkFirewallPolicyWithRulesRuleMatchArgs.builder()
.destAddressGroups(destAddressGroups?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.destFqdns(destFqdns?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.destIpRanges(destIpRanges?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.destRegionCodes(destRegionCodes?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.destThreatIntelligences(
destThreatIntelligences?.applyValue({ args0 ->
args0.map({ args0 ->
args0
})
}),
)
.layer4Configs(
layer4Configs.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.srcAddressGroups(srcAddressGroups?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.srcFqdns(srcFqdns?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.srcIpRanges(srcIpRanges?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.srcRegionCodes(srcRegionCodes?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.srcSecureTags(
srcSecureTags?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.srcThreatIntelligences(
srcThreatIntelligences?.applyValue({ args0 ->
args0.map({ args0 ->
args0
})
}),
).build()
}
/**
* Builder for [RegionNetworkFirewallPolicyWithRulesRuleMatchArgs].
*/
@PulumiTagMarker
public class RegionNetworkFirewallPolicyWithRulesRuleMatchArgsBuilder internal constructor() {
private var destAddressGroups: Output>? = null
private var destFqdns: Output>? = null
private var destIpRanges: Output>? = null
private var destRegionCodes: Output>? = null
private var destThreatIntelligences: Output>? = null
private var layer4Configs:
Output>? = null
private var srcAddressGroups: Output>? = null
private var srcFqdns: Output>? = null
private var srcIpRanges: Output>? = null
private var srcRegionCodes: Output>? = null
private var srcSecureTags:
Output>? = null
private var srcThreatIntelligences: Output>? = null
/**
* @param value Address groups which should be matched against the traffic destination.
* Maximum number of destination address groups is 10.
*/
@JvmName("dvabqerstjiqkflr")
public suspend fun destAddressGroups(`value`: Output>) {
this.destAddressGroups = value
}
@JvmName("omtuohowgkenjdmr")
public suspend fun destAddressGroups(vararg values: Output) {
this.destAddressGroups = Output.all(values.asList())
}
/**
* @param values Address groups which should be matched against the traffic destination.
* Maximum number of destination address groups is 10.
*/
@JvmName("dasdwvxjinelpqfe")
public suspend fun destAddressGroups(values: List>) {
this.destAddressGroups = Output.all(values)
}
/**
* @param value Fully Qualified Domain Name (FQDN) which should be matched against
* traffic destination. Maximum number of destination fqdn allowed is 100.
*/
@JvmName("ukwrdnjgmpvbggps")
public suspend fun destFqdns(`value`: Output>) {
this.destFqdns = value
}
@JvmName("osnxsngxyhmhpmgu")
public suspend fun destFqdns(vararg values: Output) {
this.destFqdns = Output.all(values.asList())
}
/**
* @param values Fully Qualified Domain Name (FQDN) which should be matched against
* traffic destination. Maximum number of destination fqdn allowed is 100.
*/
@JvmName("dopfxjeceqkbjtrc")
public suspend fun destFqdns(values: List>) {
this.destFqdns = Output.all(values)
}
/**
* @param value Destination IP address range in CIDR format. Required for
* EGRESS rules.
*/
@JvmName("wemelnhjrvcrgkts")
public suspend fun destIpRanges(`value`: Output>) {
this.destIpRanges = value
}
@JvmName("vtmfhunsqppiejwq")
public suspend fun destIpRanges(vararg values: Output) {
this.destIpRanges = Output.all(values.asList())
}
/**
* @param values Destination IP address range in CIDR format. Required for
* EGRESS rules.
*/
@JvmName("ymfnkwtoosqvslvw")
public suspend fun destIpRanges(values: List>) {
this.destIpRanges = Output.all(values)
}
/**
* @param value Region codes whose IP addresses will be used to match for destination
* of traffic. Should be specified as 2 letter country code defined as per
* ISO 3166 alpha-2 country codes. ex."US"
* Maximum number of destination region codes allowed is 5000.
*/
@JvmName("ywwseqfywakwixiu")
public suspend fun destRegionCodes(`value`: Output>) {
this.destRegionCodes = value
}
@JvmName("icloyhdtloncqljj")
public suspend fun destRegionCodes(vararg values: Output) {
this.destRegionCodes = Output.all(values.asList())
}
/**
* @param values Region codes whose IP addresses will be used to match for destination
* of traffic. Should be specified as 2 letter country code defined as per
* ISO 3166 alpha-2 country codes. ex."US"
* Maximum number of destination region codes allowed is 5000.
*/
@JvmName("eiaeoypwkqxnvxxd")
public suspend fun destRegionCodes(values: List>) {
this.destRegionCodes = Output.all(values)
}
/**
* @param value Names of Network Threat Intelligence lists.
* The IPs in these lists will be matched against traffic destination.
*/
@JvmName("mvnkxldxoigmxawj")
public suspend fun destThreatIntelligences(`value`: Output>) {
this.destThreatIntelligences = value
}
@JvmName("wiafcyikkmyyvlxg")
public suspend fun destThreatIntelligences(vararg values: Output) {
this.destThreatIntelligences = Output.all(values.asList())
}
/**
* @param values Names of Network Threat Intelligence lists.
* The IPs in these lists will be matched against traffic destination.
*/
@JvmName("qymbvrwthombqyqr")
public suspend fun destThreatIntelligences(values: List>) {
this.destThreatIntelligences = Output.all(values)
}
/**
* @param value Pairs of IP protocols and ports that the rule should match.
* Structure is documented below.
*/
@JvmName("ictwakfphuxqpjyu")
public suspend fun layer4Configs(`value`: Output>) {
this.layer4Configs = value
}
@JvmName("gsqtdfhwyjttmaqe")
public suspend fun layer4Configs(vararg values: Output) {
this.layer4Configs = Output.all(values.asList())
}
/**
* @param values Pairs of IP protocols and ports that the rule should match.
* Structure is documented below.
*/
@JvmName("bulaysxerwrnhifs")
public suspend fun layer4Configs(values: List>) {
this.layer4Configs = Output.all(values)
}
/**
* @param value Address groups which should be matched against the traffic source.
* Maximum number of source address groups is 10.
*/
@JvmName("wnbdipygubvotaea")
public suspend fun srcAddressGroups(`value`: Output>) {
this.srcAddressGroups = value
}
@JvmName("fytqrdrqjtduouru")
public suspend fun srcAddressGroups(vararg values: Output) {
this.srcAddressGroups = Output.all(values.asList())
}
/**
* @param values Address groups which should be matched against the traffic source.
* Maximum number of source address groups is 10.
*/
@JvmName("nksxrppyixbpixxu")
public suspend fun srcAddressGroups(values: List>) {
this.srcAddressGroups = Output.all(values)
}
/**
* @param value Fully Qualified Domain Name (FQDN) which should be matched against
* traffic source. Maximum number of source fqdn allowed is 100.
*/
@JvmName("asyokgckghddhbsw")
public suspend fun srcFqdns(`value`: Output>) {
this.srcFqdns = value
}
@JvmName("lnyfjexwlsijyxyw")
public suspend fun srcFqdns(vararg values: Output) {
this.srcFqdns = Output.all(values.asList())
}
/**
* @param values Fully Qualified Domain Name (FQDN) which should be matched against
* traffic source. Maximum number of source fqdn allowed is 100.
*/
@JvmName("cgkmfvvpuotjbgub")
public suspend fun srcFqdns(values: List>) {
this.srcFqdns = Output.all(values)
}
/**
* @param value Source IP address range in CIDR format. Required for
* INGRESS rules.
*/
@JvmName("bkuggairpmnprrpx")
public suspend fun srcIpRanges(`value`: Output>) {
this.srcIpRanges = value
}
@JvmName("towufxurlrbcrpoc")
public suspend fun srcIpRanges(vararg values: Output) {
this.srcIpRanges = Output.all(values.asList())
}
/**
* @param values Source IP address range in CIDR format. Required for
* INGRESS rules.
*/
@JvmName("favyacucptmixwnr")
public suspend fun srcIpRanges(values: List>) {
this.srcIpRanges = Output.all(values)
}
/**
* @param value Region codes whose IP addresses will be used to match for source
* of traffic. Should be specified as 2 letter country code defined as per
* ISO 3166 alpha-2 country codes. ex."US"
* Maximum number of source region codes allowed is 5000.
*/
@JvmName("reescntvslkxrbsv")
public suspend fun srcRegionCodes(`value`: Output>) {
this.srcRegionCodes = value
}
@JvmName("nklpjcikwqrviqci")
public suspend fun srcRegionCodes(vararg values: Output) {
this.srcRegionCodes = Output.all(values.asList())
}
/**
* @param values Region codes whose IP addresses will be used to match for source
* of traffic. Should be specified as 2 letter country code defined as per
* ISO 3166 alpha-2 country codes. ex."US"
* Maximum number of source region codes allowed is 5000.
*/
@JvmName("oaasuidwyvkowvso")
public suspend fun srcRegionCodes(values: List>) {
this.srcRegionCodes = Output.all(values)
}
/**
* @param value List of secure tag values, which should be matched at the source
* of the traffic.
* For INGRESS rule, if all the srcSecureTag
are INEFFECTIVE,
* and there is no srcIpRange
, this rule will be ignored.
* Maximum number of source tag values allowed is 256.
* Structure is documented below.
* The `layer4_config` block supports:
*/
@JvmName("abbmwbsaiugplnnr")
public suspend fun srcSecureTags(`value`: Output>) {
this.srcSecureTags = value
}
@JvmName("iskwtvtkqcbnnlxy")
public suspend fun srcSecureTags(vararg values: Output) {
this.srcSecureTags = Output.all(values.asList())
}
/**
* @param values List of secure tag values, which should be matched at the source
* of the traffic.
* For INGRESS rule, if all the srcSecureTag
are INEFFECTIVE,
* and there is no srcIpRange
, this rule will be ignored.
* Maximum number of source tag values allowed is 256.
* Structure is documented below.
* The `layer4_config` block supports:
*/
@JvmName("vohljtvkaugeroop")
public suspend fun srcSecureTags(values: List>) {
this.srcSecureTags = Output.all(values)
}
/**
* @param value Names of Network Threat Intelligence lists.
* The IPs in these lists will be matched against traffic source.
*/
@JvmName("jcfyyxoaifatikav")
public suspend fun srcThreatIntelligences(`value`: Output>) {
this.srcThreatIntelligences = value
}
@JvmName("djltlawsiampstmc")
public suspend fun srcThreatIntelligences(vararg values: Output) {
this.srcThreatIntelligences = Output.all(values.asList())
}
/**
* @param values Names of Network Threat Intelligence lists.
* The IPs in these lists will be matched against traffic source.
*/
@JvmName("manvqwqwygufoqvj")
public suspend fun srcThreatIntelligences(values: List>) {
this.srcThreatIntelligences = Output.all(values)
}
/**
* @param value Address groups which should be matched against the traffic destination.
* Maximum number of destination address groups is 10.
*/
@JvmName("sbpqyovhytcuybdh")
public suspend fun destAddressGroups(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.destAddressGroups = mapped
}
/**
* @param values Address groups which should be matched against the traffic destination.
* Maximum number of destination address groups is 10.
*/
@JvmName("ussmgoqqjvfhlwvh")
public suspend fun destAddressGroups(vararg values: String) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.destAddressGroups = mapped
}
/**
* @param value Fully Qualified Domain Name (FQDN) which should be matched against
* traffic destination. Maximum number of destination fqdn allowed is 100.
*/
@JvmName("yyqbqwpsvodlnhll")
public suspend fun destFqdns(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.destFqdns = mapped
}
/**
* @param values Fully Qualified Domain Name (FQDN) which should be matched against
* traffic destination. Maximum number of destination fqdn allowed is 100.
*/
@JvmName("bojqgoteijtfioil")
public suspend fun destFqdns(vararg values: String) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.destFqdns = mapped
}
/**
* @param value Destination IP address range in CIDR format. Required for
* EGRESS rules.
*/
@JvmName("gpsxbhsiykfndywc")
public suspend fun destIpRanges(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.destIpRanges = mapped
}
/**
* @param values Destination IP address range in CIDR format. Required for
* EGRESS rules.
*/
@JvmName("mfnlfgilgljpnfgx")
public suspend fun destIpRanges(vararg values: String) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.destIpRanges = mapped
}
/**
* @param value Region codes whose IP addresses will be used to match for destination
* of traffic. Should be specified as 2 letter country code defined as per
* ISO 3166 alpha-2 country codes. ex."US"
* Maximum number of destination region codes allowed is 5000.
*/
@JvmName("tkwrkfxgdpjwjiun")
public suspend fun destRegionCodes(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.destRegionCodes = mapped
}
/**
* @param values Region codes whose IP addresses will be used to match for destination
* of traffic. Should be specified as 2 letter country code defined as per
* ISO 3166 alpha-2 country codes. ex."US"
* Maximum number of destination region codes allowed is 5000.
*/
@JvmName("nexdrtccluqmtrgk")
public suspend fun destRegionCodes(vararg values: String) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.destRegionCodes = mapped
}
/**
* @param value Names of Network Threat Intelligence lists.
* The IPs in these lists will be matched against traffic destination.
*/
@JvmName("kaohlkxqffxkgokj")
public suspend fun destThreatIntelligences(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.destThreatIntelligences = mapped
}
/**
* @param values Names of Network Threat Intelligence lists.
* The IPs in these lists will be matched against traffic destination.
*/
@JvmName("shyfspvuutwldvgb")
public suspend fun destThreatIntelligences(vararg values: String) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.destThreatIntelligences = mapped
}
/**
* @param value Pairs of IP protocols and ports that the rule should match.
* Structure is documented below.
*/
@JvmName("ggyrpvcgscgtlipt")
public suspend fun layer4Configs(`value`: List) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.layer4Configs = mapped
}
/**
* @param argument Pairs of IP protocols and ports that the rule should match.
* Structure is documented below.
*/
@JvmName("bwutiwqqpkkwmovb")
public suspend fun layer4Configs(argument: List Unit>) {
val toBeMapped = argument.toList().map {
RegionNetworkFirewallPolicyWithRulesRuleMatchLayer4ConfigArgsBuilder().applySuspend {
it()
}.build()
}
val mapped = of(toBeMapped)
this.layer4Configs = mapped
}
/**
* @param argument Pairs of IP protocols and ports that the rule should match.
* Structure is documented below.
*/
@JvmName("sagnptfdarxvbvqi")
public suspend fun layer4Configs(vararg argument: suspend RegionNetworkFirewallPolicyWithRulesRuleMatchLayer4ConfigArgsBuilder.() -> Unit) {
val toBeMapped = argument.toList().map {
RegionNetworkFirewallPolicyWithRulesRuleMatchLayer4ConfigArgsBuilder().applySuspend {
it()
}.build()
}
val mapped = of(toBeMapped)
this.layer4Configs = mapped
}
/**
* @param argument Pairs of IP protocols and ports that the rule should match.
* Structure is documented below.
*/
@JvmName("sqhglffaomcapuyl")
public suspend fun layer4Configs(argument: suspend RegionNetworkFirewallPolicyWithRulesRuleMatchLayer4ConfigArgsBuilder.() -> Unit) {
val toBeMapped =
listOf(
RegionNetworkFirewallPolicyWithRulesRuleMatchLayer4ConfigArgsBuilder().applySuspend {
argument()
}.build(),
)
val mapped = of(toBeMapped)
this.layer4Configs = mapped
}
/**
* @param values Pairs of IP protocols and ports that the rule should match.
* Structure is documented below.
*/
@JvmName("lcyuvdekpmnvevym")
public suspend fun layer4Configs(vararg values: RegionNetworkFirewallPolicyWithRulesRuleMatchLayer4ConfigArgs) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.layer4Configs = mapped
}
/**
* @param value Address groups which should be matched against the traffic source.
* Maximum number of source address groups is 10.
*/
@JvmName("mjjqalaebrjlwhtl")
public suspend fun srcAddressGroups(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.srcAddressGroups = mapped
}
/**
* @param values Address groups which should be matched against the traffic source.
* Maximum number of source address groups is 10.
*/
@JvmName("cphteolqkuiccgvh")
public suspend fun srcAddressGroups(vararg values: String) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.srcAddressGroups = mapped
}
/**
* @param value Fully Qualified Domain Name (FQDN) which should be matched against
* traffic source. Maximum number of source fqdn allowed is 100.
*/
@JvmName("tqifjxmwivkvlwet")
public suspend fun srcFqdns(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.srcFqdns = mapped
}
/**
* @param values Fully Qualified Domain Name (FQDN) which should be matched against
* traffic source. Maximum number of source fqdn allowed is 100.
*/
@JvmName("qgmotjjuvksbljwp")
public suspend fun srcFqdns(vararg values: String) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.srcFqdns = mapped
}
/**
* @param value Source IP address range in CIDR format. Required for
* INGRESS rules.
*/
@JvmName("mdqoucsvnhjfaaij")
public suspend fun srcIpRanges(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.srcIpRanges = mapped
}
/**
* @param values Source IP address range in CIDR format. Required for
* INGRESS rules.
*/
@JvmName("jdxakeuftiesnwwf")
public suspend fun srcIpRanges(vararg values: String) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.srcIpRanges = mapped
}
/**
* @param value Region codes whose IP addresses will be used to match for source
* of traffic. Should be specified as 2 letter country code defined as per
* ISO 3166 alpha-2 country codes. ex."US"
* Maximum number of source region codes allowed is 5000.
*/
@JvmName("ivlxxqdevliaoufb")
public suspend fun srcRegionCodes(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.srcRegionCodes = mapped
}
/**
* @param values Region codes whose IP addresses will be used to match for source
* of traffic. Should be specified as 2 letter country code defined as per
* ISO 3166 alpha-2 country codes. ex."US"
* Maximum number of source region codes allowed is 5000.
*/
@JvmName("jtsfxoqndjmiguiu")
public suspend fun srcRegionCodes(vararg values: String) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.srcRegionCodes = mapped
}
/**
* @param value List of secure tag values, which should be matched at the source
* of the traffic.
* For INGRESS rule, if all the srcSecureTag
are INEFFECTIVE,
* and there is no srcIpRange
, this rule will be ignored.
* Maximum number of source tag values allowed is 256.
* Structure is documented below.
* The `layer4_config` block supports:
*/
@JvmName("buathhshvbpsvygb")
public suspend fun srcSecureTags(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.srcSecureTags = mapped
}
/**
* @param argument List of secure tag values, which should be matched at the source
* of the traffic.
* For INGRESS rule, if all the srcSecureTag
are INEFFECTIVE,
* and there is no srcIpRange
, this rule will be ignored.
* Maximum number of source tag values allowed is 256.
* Structure is documented below.
* The `layer4_config` block supports:
*/
@JvmName("acmriejhlbgtmsqk")
public suspend fun srcSecureTags(argument: List Unit>) {
val toBeMapped = argument.toList().map {
RegionNetworkFirewallPolicyWithRulesRuleMatchSrcSecureTagArgsBuilder().applySuspend {
it()
}.build()
}
val mapped = of(toBeMapped)
this.srcSecureTags = mapped
}
/**
* @param argument List of secure tag values, which should be matched at the source
* of the traffic.
* For INGRESS rule, if all the srcSecureTag
are INEFFECTIVE,
* and there is no srcIpRange
, this rule will be ignored.
* Maximum number of source tag values allowed is 256.
* Structure is documented below.
* The `layer4_config` block supports:
*/
@JvmName("ieoshljkdknlvdku")
public suspend fun srcSecureTags(vararg argument: suspend RegionNetworkFirewallPolicyWithRulesRuleMatchSrcSecureTagArgsBuilder.() -> Unit) {
val toBeMapped = argument.toList().map {
RegionNetworkFirewallPolicyWithRulesRuleMatchSrcSecureTagArgsBuilder().applySuspend {
it()
}.build()
}
val mapped = of(toBeMapped)
this.srcSecureTags = mapped
}
/**
* @param argument List of secure tag values, which should be matched at the source
* of the traffic.
* For INGRESS rule, if all the srcSecureTag
are INEFFECTIVE,
* and there is no srcIpRange
, this rule will be ignored.
* Maximum number of source tag values allowed is 256.
* Structure is documented below.
* The `layer4_config` block supports:
*/
@JvmName("mybskpctineckwfg")
public suspend fun srcSecureTags(argument: suspend RegionNetworkFirewallPolicyWithRulesRuleMatchSrcSecureTagArgsBuilder.() -> Unit) {
val toBeMapped =
listOf(
RegionNetworkFirewallPolicyWithRulesRuleMatchSrcSecureTagArgsBuilder().applySuspend {
argument()
}.build(),
)
val mapped = of(toBeMapped)
this.srcSecureTags = mapped
}
/**
* @param values List of secure tag values, which should be matched at the source
* of the traffic.
* For INGRESS rule, if all the srcSecureTag
are INEFFECTIVE,
* and there is no srcIpRange
, this rule will be ignored.
* Maximum number of source tag values allowed is 256.
* Structure is documented below.
* The `layer4_config` block supports:
*/
@JvmName("sqhnowbnqqlcehep")
public suspend fun srcSecureTags(vararg values: RegionNetworkFirewallPolicyWithRulesRuleMatchSrcSecureTagArgs) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.srcSecureTags = mapped
}
/**
* @param value Names of Network Threat Intelligence lists.
* The IPs in these lists will be matched against traffic source.
*/
@JvmName("tudyjdqprviiupow")
public suspend fun srcThreatIntelligences(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.srcThreatIntelligences = mapped
}
/**
* @param values Names of Network Threat Intelligence lists.
* The IPs in these lists will be matched against traffic source.
*/
@JvmName("ayyrqnpfhiohaglg")
public suspend fun srcThreatIntelligences(vararg values: String) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.srcThreatIntelligences = mapped
}
internal fun build(): RegionNetworkFirewallPolicyWithRulesRuleMatchArgs =
RegionNetworkFirewallPolicyWithRulesRuleMatchArgs(
destAddressGroups = destAddressGroups,
destFqdns = destFqdns,
destIpRanges = destIpRanges,
destRegionCodes = destRegionCodes,
destThreatIntelligences = destThreatIntelligences,
layer4Configs = layer4Configs ?: throw PulumiNullFieldException("layer4Configs"),
srcAddressGroups = srcAddressGroups,
srcFqdns = srcFqdns,
srcIpRanges = srcIpRanges,
srcRegionCodes = srcRegionCodes,
srcSecureTags = srcSecureTags,
srcThreatIntelligences = srcThreatIntelligences,
)
}