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

com.pulumi.azure.network.kotlin.inputs.FirewallPolicyIntrusionDetectionTrafficBypassArgs.kt Maven / Gradle / Ivy

@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.azure.network.kotlin.inputs

import com.pulumi.azure.network.inputs.FirewallPolicyIntrusionDetectionTrafficBypassArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 *
 * @property description The description for this bypass traffic setting.
 * @property destinationAddresses Specifies a list of destination IP addresses that shall be bypassed by intrusion detection.
 * @property destinationIpGroups Specifies a list of destination IP groups that shall be bypassed by intrusion detection.
 * @property destinationPorts Specifies a list of destination IP ports that shall be bypassed by intrusion detection.
 * @property name The name which should be used for this bypass traffic setting.
 * @property protocol The protocols any of `ANY`, `TCP`, `ICMP`, `UDP` that shall be bypassed by intrusion detection.
 * @property sourceAddresses Specifies a list of source addresses that shall be bypassed by intrusion detection.
 * @property sourceIpGroups Specifies a list of source IP groups that shall be bypassed by intrusion detection.
 */
public data class FirewallPolicyIntrusionDetectionTrafficBypassArgs(
    public val description: Output? = null,
    public val destinationAddresses: Output>? = null,
    public val destinationIpGroups: Output>? = null,
    public val destinationPorts: Output>? = null,
    public val name: Output,
    public val protocol: Output,
    public val sourceAddresses: Output>? = null,
    public val sourceIpGroups: Output>? = null,
) :
    ConvertibleToJava {
    override fun toJava():
        com.pulumi.azure.network.inputs.FirewallPolicyIntrusionDetectionTrafficBypassArgs =
        com.pulumi.azure.network.inputs.FirewallPolicyIntrusionDetectionTrafficBypassArgs.builder()
            .description(description?.applyValue({ args0 -> args0 }))
            .destinationAddresses(destinationAddresses?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .destinationIpGroups(destinationIpGroups?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .destinationPorts(destinationPorts?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .name(name.applyValue({ args0 -> args0 }))
            .protocol(protocol.applyValue({ args0 -> args0 }))
            .sourceAddresses(sourceAddresses?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .sourceIpGroups(sourceIpGroups?.applyValue({ args0 -> args0.map({ args0 -> args0 }) })).build()
}

/**
 * Builder for [FirewallPolicyIntrusionDetectionTrafficBypassArgs].
 */
@PulumiTagMarker
public class FirewallPolicyIntrusionDetectionTrafficBypassArgsBuilder internal constructor() {
    private var description: Output? = null

    private var destinationAddresses: Output>? = null

    private var destinationIpGroups: Output>? = null

    private var destinationPorts: Output>? = null

    private var name: Output? = null

    private var protocol: Output? = null

    private var sourceAddresses: Output>? = null

    private var sourceIpGroups: Output>? = null

    /**
     * @param value The description for this bypass traffic setting.
     */
    @JvmName("ylsxwvqnfdbmdkfx")
    public suspend fun description(`value`: Output) {
        this.description = value
    }

    /**
     * @param value Specifies a list of destination IP addresses that shall be bypassed by intrusion detection.
     */
    @JvmName("uxxfqeaerthhcubb")
    public suspend fun destinationAddresses(`value`: Output>) {
        this.destinationAddresses = value
    }

    @JvmName("qhetheicuihpavnn")
    public suspend fun destinationAddresses(vararg values: Output) {
        this.destinationAddresses = Output.all(values.asList())
    }

    /**
     * @param values Specifies a list of destination IP addresses that shall be bypassed by intrusion detection.
     */
    @JvmName("egigcafavurpckam")
    public suspend fun destinationAddresses(values: List>) {
        this.destinationAddresses = Output.all(values)
    }

    /**
     * @param value Specifies a list of destination IP groups that shall be bypassed by intrusion detection.
     */
    @JvmName("fsdvxqjrpjnagfyf")
    public suspend fun destinationIpGroups(`value`: Output>) {
        this.destinationIpGroups = value
    }

    @JvmName("yhkqlbvxjhrgxhoh")
    public suspend fun destinationIpGroups(vararg values: Output) {
        this.destinationIpGroups = Output.all(values.asList())
    }

    /**
     * @param values Specifies a list of destination IP groups that shall be bypassed by intrusion detection.
     */
    @JvmName("pfjyofdeobdgdswm")
    public suspend fun destinationIpGroups(values: List>) {
        this.destinationIpGroups = Output.all(values)
    }

    /**
     * @param value Specifies a list of destination IP ports that shall be bypassed by intrusion detection.
     */
    @JvmName("ehfhplvkwbohajvv")
    public suspend fun destinationPorts(`value`: Output>) {
        this.destinationPorts = value
    }

    @JvmName("ewkxqbbfidjndhac")
    public suspend fun destinationPorts(vararg values: Output) {
        this.destinationPorts = Output.all(values.asList())
    }

    /**
     * @param values Specifies a list of destination IP ports that shall be bypassed by intrusion detection.
     */
    @JvmName("fwlmsukfuhixphbo")
    public suspend fun destinationPorts(values: List>) {
        this.destinationPorts = Output.all(values)
    }

    /**
     * @param value The name which should be used for this bypass traffic setting.
     */
    @JvmName("djrfhnjxowfgifsj")
    public suspend fun name(`value`: Output) {
        this.name = value
    }

    /**
     * @param value The protocols any of `ANY`, `TCP`, `ICMP`, `UDP` that shall be bypassed by intrusion detection.
     */
    @JvmName("wxfkaxvyvniiwvav")
    public suspend fun protocol(`value`: Output) {
        this.protocol = value
    }

    /**
     * @param value Specifies a list of source addresses that shall be bypassed by intrusion detection.
     */
    @JvmName("jclhvfeaoloyuqlg")
    public suspend fun sourceAddresses(`value`: Output>) {
        this.sourceAddresses = value
    }

    @JvmName("grinnnnrodhdguoo")
    public suspend fun sourceAddresses(vararg values: Output) {
        this.sourceAddresses = Output.all(values.asList())
    }

    /**
     * @param values Specifies a list of source addresses that shall be bypassed by intrusion detection.
     */
    @JvmName("fjsbupcvufousyhy")
    public suspend fun sourceAddresses(values: List>) {
        this.sourceAddresses = Output.all(values)
    }

    /**
     * @param value Specifies a list of source IP groups that shall be bypassed by intrusion detection.
     */
    @JvmName("pqmdrglxhcrjrimh")
    public suspend fun sourceIpGroups(`value`: Output>) {
        this.sourceIpGroups = value
    }

    @JvmName("ktxiagnguqtrykgt")
    public suspend fun sourceIpGroups(vararg values: Output) {
        this.sourceIpGroups = Output.all(values.asList())
    }

    /**
     * @param values Specifies a list of source IP groups that shall be bypassed by intrusion detection.
     */
    @JvmName("mdrllsbaitgmcyjq")
    public suspend fun sourceIpGroups(values: List>) {
        this.sourceIpGroups = Output.all(values)
    }

    /**
     * @param value The description for this bypass traffic setting.
     */
    @JvmName("vnxahablnvnbvgor")
    public suspend fun description(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.description = mapped
    }

    /**
     * @param value Specifies a list of destination IP addresses that shall be bypassed by intrusion detection.
     */
    @JvmName("igygfxmprbhloqpf")
    public suspend fun destinationAddresses(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.destinationAddresses = mapped
    }

    /**
     * @param values Specifies a list of destination IP addresses that shall be bypassed by intrusion detection.
     */
    @JvmName("rsyivapjbwqmvtxg")
    public suspend fun destinationAddresses(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.destinationAddresses = mapped
    }

    /**
     * @param value Specifies a list of destination IP groups that shall be bypassed by intrusion detection.
     */
    @JvmName("qicvdbuycyoxrqol")
    public suspend fun destinationIpGroups(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.destinationIpGroups = mapped
    }

    /**
     * @param values Specifies a list of destination IP groups that shall be bypassed by intrusion detection.
     */
    @JvmName("xcglfcsgmrpusbum")
    public suspend fun destinationIpGroups(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.destinationIpGroups = mapped
    }

    /**
     * @param value Specifies a list of destination IP ports that shall be bypassed by intrusion detection.
     */
    @JvmName("lyxjdxbiavdnjujb")
    public suspend fun destinationPorts(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.destinationPorts = mapped
    }

    /**
     * @param values Specifies a list of destination IP ports that shall be bypassed by intrusion detection.
     */
    @JvmName("orpqdkebjcjhmvne")
    public suspend fun destinationPorts(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.destinationPorts = mapped
    }

    /**
     * @param value The name which should be used for this bypass traffic setting.
     */
    @JvmName("lxsyroetckosuqig")
    public suspend fun name(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.name = mapped
    }

    /**
     * @param value The protocols any of `ANY`, `TCP`, `ICMP`, `UDP` that shall be bypassed by intrusion detection.
     */
    @JvmName("hexnvfmotxtupxqi")
    public suspend fun protocol(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.protocol = mapped
    }

    /**
     * @param value Specifies a list of source addresses that shall be bypassed by intrusion detection.
     */
    @JvmName("cmatyagasyfmkqck")
    public suspend fun sourceAddresses(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.sourceAddresses = mapped
    }

    /**
     * @param values Specifies a list of source addresses that shall be bypassed by intrusion detection.
     */
    @JvmName("ngmbrrrqoolhuhcc")
    public suspend fun sourceAddresses(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.sourceAddresses = mapped
    }

    /**
     * @param value Specifies a list of source IP groups that shall be bypassed by intrusion detection.
     */
    @JvmName("hyxdylxmjqxthjjg")
    public suspend fun sourceIpGroups(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.sourceIpGroups = mapped
    }

    /**
     * @param values Specifies a list of source IP groups that shall be bypassed by intrusion detection.
     */
    @JvmName("sxmgpjdyvomomkpj")
    public suspend fun sourceIpGroups(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.sourceIpGroups = mapped
    }

    internal fun build(): FirewallPolicyIntrusionDetectionTrafficBypassArgs =
        FirewallPolicyIntrusionDetectionTrafficBypassArgs(
            description = description,
            destinationAddresses = destinationAddresses,
            destinationIpGroups = destinationIpGroups,
            destinationPorts = destinationPorts,
            name = name ?: throw PulumiNullFieldException("name"),
            protocol = protocol ?: throw PulumiNullFieldException("protocol"),
            sourceAddresses = sourceAddresses,
            sourceIpGroups = sourceIpGroups,
        )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy