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

com.pulumi.aws.ec2.kotlin.inputs.DefaultNetworkAclIngressArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.aws.ec2.kotlin.inputs

import com.pulumi.aws.ec2.inputs.DefaultNetworkAclIngressArgs.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.Int
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 *
 * @property action The action to take.
 * @property cidrBlock The CIDR block to match. This must be a valid network mask.
 * @property fromPort The from port to match.
 * @property icmpCode The ICMP type code to be used. Default 0.
 * @property icmpType The ICMP type to be used. Default 0.
 * @property ipv6CidrBlock The IPv6 CIDR block.
 * > For more information on ICMP types and codes, see [Internet Control Message Protocol (ICMP) Parameters](https://www.iana.org/assignments/icmp-parameters/icmp-parameters.xhtml).
 * @property protocol The protocol to match. If using the -1 'all' protocol, you must specify a from and to port of 0.
 * @property ruleNo The rule number. Used for ordering.
 * @property toPort The to port to match.
 * The following arguments are optional:
 */
public data class DefaultNetworkAclIngressArgs(
    public val action: Output,
    public val cidrBlock: Output? = null,
    public val fromPort: Output,
    public val icmpCode: Output? = null,
    public val icmpType: Output? = null,
    public val ipv6CidrBlock: Output? = null,
    public val protocol: Output,
    public val ruleNo: Output,
    public val toPort: Output,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.aws.ec2.inputs.DefaultNetworkAclIngressArgs =
        com.pulumi.aws.ec2.inputs.DefaultNetworkAclIngressArgs.builder()
            .action(action.applyValue({ args0 -> args0 }))
            .cidrBlock(cidrBlock?.applyValue({ args0 -> args0 }))
            .fromPort(fromPort.applyValue({ args0 -> args0 }))
            .icmpCode(icmpCode?.applyValue({ args0 -> args0 }))
            .icmpType(icmpType?.applyValue({ args0 -> args0 }))
            .ipv6CidrBlock(ipv6CidrBlock?.applyValue({ args0 -> args0 }))
            .protocol(protocol.applyValue({ args0 -> args0 }))
            .ruleNo(ruleNo.applyValue({ args0 -> args0 }))
            .toPort(toPort.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [DefaultNetworkAclIngressArgs].
 */
@PulumiTagMarker
public class DefaultNetworkAclIngressArgsBuilder internal constructor() {
    private var action: Output? = null

    private var cidrBlock: Output? = null

    private var fromPort: Output? = null

    private var icmpCode: Output? = null

    private var icmpType: Output? = null

    private var ipv6CidrBlock: Output? = null

    private var protocol: Output? = null

    private var ruleNo: Output? = null

    private var toPort: Output? = null

    /**
     * @param value The action to take.
     */
    @JvmName("mpnoahpfdmdsqehp")
    public suspend fun action(`value`: Output) {
        this.action = value
    }

    /**
     * @param value The CIDR block to match. This must be a valid network mask.
     */
    @JvmName("sebigusnddmdimod")
    public suspend fun cidrBlock(`value`: Output) {
        this.cidrBlock = value
    }

    /**
     * @param value The from port to match.
     */
    @JvmName("llamegycvumiquwj")
    public suspend fun fromPort(`value`: Output) {
        this.fromPort = value
    }

    /**
     * @param value The ICMP type code to be used. Default 0.
     */
    @JvmName("ymitcvbboufhqfla")
    public suspend fun icmpCode(`value`: Output) {
        this.icmpCode = value
    }

    /**
     * @param value The ICMP type to be used. Default 0.
     */
    @JvmName("xoabqkhajqauscyl")
    public suspend fun icmpType(`value`: Output) {
        this.icmpType = value
    }

    /**
     * @param value The IPv6 CIDR block.
     * > For more information on ICMP types and codes, see [Internet Control Message Protocol (ICMP) Parameters](https://www.iana.org/assignments/icmp-parameters/icmp-parameters.xhtml).
     */
    @JvmName("xsviyhystmbgjbfi")
    public suspend fun ipv6CidrBlock(`value`: Output) {
        this.ipv6CidrBlock = value
    }

    /**
     * @param value The protocol to match. If using the -1 'all' protocol, you must specify a from and to port of 0.
     */
    @JvmName("omkufbwggufyuerg")
    public suspend fun protocol(`value`: Output) {
        this.protocol = value
    }

    /**
     * @param value The rule number. Used for ordering.
     */
    @JvmName("uqrehfjgbioilvjy")
    public suspend fun ruleNo(`value`: Output) {
        this.ruleNo = value
    }

    /**
     * @param value The to port to match.
     * The following arguments are optional:
     */
    @JvmName("thekdispmuxnhulu")
    public suspend fun toPort(`value`: Output) {
        this.toPort = value
    }

    /**
     * @param value The action to take.
     */
    @JvmName("sthtvrguksnyohyc")
    public suspend fun action(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.action = mapped
    }

    /**
     * @param value The CIDR block to match. This must be a valid network mask.
     */
    @JvmName("plcnxjukuexossfv")
    public suspend fun cidrBlock(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.cidrBlock = mapped
    }

    /**
     * @param value The from port to match.
     */
    @JvmName("kmvxrhcxynwsqwwr")
    public suspend fun fromPort(`value`: Int) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.fromPort = mapped
    }

    /**
     * @param value The ICMP type code to be used. Default 0.
     */
    @JvmName("mafclrroahmheuai")
    public suspend fun icmpCode(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.icmpCode = mapped
    }

    /**
     * @param value The ICMP type to be used. Default 0.
     */
    @JvmName("cotpfuwmeqnxuknu")
    public suspend fun icmpType(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.icmpType = mapped
    }

    /**
     * @param value The IPv6 CIDR block.
     * > For more information on ICMP types and codes, see [Internet Control Message Protocol (ICMP) Parameters](https://www.iana.org/assignments/icmp-parameters/icmp-parameters.xhtml).
     */
    @JvmName("iouilknusehkovit")
    public suspend fun ipv6CidrBlock(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.ipv6CidrBlock = mapped
    }

    /**
     * @param value The protocol to match. If using the -1 'all' protocol, you must specify a from and to port of 0.
     */
    @JvmName("nfqnuieakshhhteg")
    public suspend fun protocol(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.protocol = mapped
    }

    /**
     * @param value The rule number. Used for ordering.
     */
    @JvmName("vdvvfcnkrqafussm")
    public suspend fun ruleNo(`value`: Int) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.ruleNo = mapped
    }

    /**
     * @param value The to port to match.
     * The following arguments are optional:
     */
    @JvmName("ftduepywcifsfvpd")
    public suspend fun toPort(`value`: Int) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.toPort = mapped
    }

    internal fun build(): DefaultNetworkAclIngressArgs = DefaultNetworkAclIngressArgs(
        action = action ?: throw PulumiNullFieldException("action"),
        cidrBlock = cidrBlock,
        fromPort = fromPort ?: throw PulumiNullFieldException("fromPort"),
        icmpCode = icmpCode,
        icmpType = icmpType,
        ipv6CidrBlock = ipv6CidrBlock,
        protocol = protocol ?: throw PulumiNullFieldException("protocol"),
        ruleNo = ruleNo ?: throw PulumiNullFieldException("ruleNo"),
        toPort = toPort ?: throw PulumiNullFieldException("toPort"),
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy