All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.gcp.compute.kotlin.outputs.RegionNetworkFirewallPolicyWithRulesPredefinedRuleMatch.kt Maven / Gradle / Ivy

Go to download

Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.

There is a newer version: 8.13.1.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.gcp.compute.kotlin.outputs

import kotlin.String
import kotlin.Suppress
import kotlin.collections.List

/**
 *
 * @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 RegionNetworkFirewallPolicyWithRulesPredefinedRuleMatch(
    public val destAddressGroups: List? = null,
    public val destFqdns: List? = null,
    public val destIpRanges: List? = null,
    public val destRegionCodes: List? = null,
    public val destThreatIntelligences: List? = null,
    public val layer4Configs: List? = null,
    public val srcAddressGroups: List? = null,
    public val srcFqdns: List? = null,
    public val srcIpRanges: List? = null,
    public val srcRegionCodes: List? = null,
    public val srcSecureTags: List? = null,
    public val srcThreatIntelligences: List? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.gcp.compute.outputs.RegionNetworkFirewallPolicyWithRulesPredefinedRuleMatch): RegionNetworkFirewallPolicyWithRulesPredefinedRuleMatch =
            RegionNetworkFirewallPolicyWithRulesPredefinedRuleMatch(
                destAddressGroups = javaType.destAddressGroups().map({ args0 -> args0 }),
                destFqdns = javaType.destFqdns().map({ args0 -> args0 }),
                destIpRanges = javaType.destIpRanges().map({ args0 -> args0 }),
                destRegionCodes = javaType.destRegionCodes().map({ args0 -> args0 }),
                destThreatIntelligences = javaType.destThreatIntelligences().map({ args0 -> args0 }),
                layer4Configs = javaType.layer4Configs().map({ args0 ->
                    args0.let({ args0 ->
                        com.pulumi.gcp.compute.kotlin.outputs.RegionNetworkFirewallPolicyWithRulesPredefinedRuleMatchLayer4Config.Companion.toKotlin(args0)
                    })
                }),
                srcAddressGroups = javaType.srcAddressGroups().map({ args0 -> args0 }),
                srcFqdns = javaType.srcFqdns().map({ args0 -> args0 }),
                srcIpRanges = javaType.srcIpRanges().map({ args0 -> args0 }),
                srcRegionCodes = javaType.srcRegionCodes().map({ args0 -> args0 }),
                srcSecureTags = javaType.srcSecureTags().map({ args0 ->
                    args0.let({ args0 ->
                        com.pulumi.gcp.compute.kotlin.outputs.RegionNetworkFirewallPolicyWithRulesPredefinedRuleMatchSrcSecureTag.Companion.toKotlin(args0)
                    })
                }),
                srcThreatIntelligences = javaType.srcThreatIntelligences().map({ args0 -> args0 }),
            )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy