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

com.pulumi.aws.finspace.inputs.KxEnvironmentTransitGatewayConfigurationAttachmentNetworkAclConfigurationArgs Maven / Gradle / Ivy

Go to download

A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.

There is a newer version: 6.60.0-alpha.1731982519
Show newest version
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

package com.pulumi.aws.finspace.inputs;

import com.pulumi.aws.finspace.inputs.KxEnvironmentTransitGatewayConfigurationAttachmentNetworkAclConfigurationIcmpTypeCodeArgs;
import com.pulumi.aws.finspace.inputs.KxEnvironmentTransitGatewayConfigurationAttachmentNetworkAclConfigurationPortRangeArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class KxEnvironmentTransitGatewayConfigurationAttachmentNetworkAclConfigurationArgs extends com.pulumi.resources.ResourceArgs {

    public static final KxEnvironmentTransitGatewayConfigurationAttachmentNetworkAclConfigurationArgs Empty = new KxEnvironmentTransitGatewayConfigurationAttachmentNetworkAclConfigurationArgs();

    /**
     * The IPv4 network range to allow or deny, in CIDR notation. The specified CIDR block is modified to its canonical form. For example, `100.68.0.18/18` will be converted to `100.68.0.0/18`.
     * 
     */
    @Import(name="cidrBlock", required=true)
    private Output cidrBlock;

    /**
     * @return The IPv4 network range to allow or deny, in CIDR notation. The specified CIDR block is modified to its canonical form. For example, `100.68.0.18/18` will be converted to `100.68.0.0/18`.
     * 
     */
    public Output cidrBlock() {
        return this.cidrBlock;
    }

    /**
     * Defines the ICMP protocol that consists of the ICMP type and code. Defined below.
     * 
     */
    @Import(name="icmpTypeCode")
    private @Nullable Output icmpTypeCode;

    /**
     * @return Defines the ICMP protocol that consists of the ICMP type and code. Defined below.
     * 
     */
    public Optional> icmpTypeCode() {
        return Optional.ofNullable(this.icmpTypeCode);
    }

    /**
     * Range of ports the rule applies to. Defined below.
     * 
     */
    @Import(name="portRange")
    private @Nullable Output portRange;

    /**
     * @return Range of ports the rule applies to. Defined below.
     * 
     */
    public Optional> portRange() {
        return Optional.ofNullable(this.portRange);
    }

    /**
     * Protocol number. A value of `1` means all the protocols.
     * 
     */
    @Import(name="protocol", required=true)
    private Output protocol;

    /**
     * @return Protocol number. A value of `1` means all the protocols.
     * 
     */
    public Output protocol() {
        return this.protocol;
    }

    /**
     * Indicates whether to `allow` or `deny` the traffic that matches the rule.
     * 
     */
    @Import(name="ruleAction", required=true)
    private Output ruleAction;

    /**
     * @return Indicates whether to `allow` or `deny` the traffic that matches the rule.
     * 
     */
    public Output ruleAction() {
        return this.ruleAction;
    }

    /**
     * Rule number for the entry. All the network ACL entries are processed in ascending order by rule number.
     * 
     */
    @Import(name="ruleNumber", required=true)
    private Output ruleNumber;

    /**
     * @return Rule number for the entry. All the network ACL entries are processed in ascending order by rule number.
     * 
     */
    public Output ruleNumber() {
        return this.ruleNumber;
    }

    private KxEnvironmentTransitGatewayConfigurationAttachmentNetworkAclConfigurationArgs() {}

    private KxEnvironmentTransitGatewayConfigurationAttachmentNetworkAclConfigurationArgs(KxEnvironmentTransitGatewayConfigurationAttachmentNetworkAclConfigurationArgs $) {
        this.cidrBlock = $.cidrBlock;
        this.icmpTypeCode = $.icmpTypeCode;
        this.portRange = $.portRange;
        this.protocol = $.protocol;
        this.ruleAction = $.ruleAction;
        this.ruleNumber = $.ruleNumber;
    }

    public static Builder builder() {
        return new Builder();
    }
    public static Builder builder(KxEnvironmentTransitGatewayConfigurationAttachmentNetworkAclConfigurationArgs defaults) {
        return new Builder(defaults);
    }

    public static final class Builder {
        private KxEnvironmentTransitGatewayConfigurationAttachmentNetworkAclConfigurationArgs $;

        public Builder() {
            $ = new KxEnvironmentTransitGatewayConfigurationAttachmentNetworkAclConfigurationArgs();
        }

        public Builder(KxEnvironmentTransitGatewayConfigurationAttachmentNetworkAclConfigurationArgs defaults) {
            $ = new KxEnvironmentTransitGatewayConfigurationAttachmentNetworkAclConfigurationArgs(Objects.requireNonNull(defaults));
        }

        /**
         * @param cidrBlock The IPv4 network range to allow or deny, in CIDR notation. The specified CIDR block is modified to its canonical form. For example, `100.68.0.18/18` will be converted to `100.68.0.0/18`.
         * 
         * @return builder
         * 
         */
        public Builder cidrBlock(Output cidrBlock) {
            $.cidrBlock = cidrBlock;
            return this;
        }

        /**
         * @param cidrBlock The IPv4 network range to allow or deny, in CIDR notation. The specified CIDR block is modified to its canonical form. For example, `100.68.0.18/18` will be converted to `100.68.0.0/18`.
         * 
         * @return builder
         * 
         */
        public Builder cidrBlock(String cidrBlock) {
            return cidrBlock(Output.of(cidrBlock));
        }

        /**
         * @param icmpTypeCode Defines the ICMP protocol that consists of the ICMP type and code. Defined below.
         * 
         * @return builder
         * 
         */
        public Builder icmpTypeCode(@Nullable Output icmpTypeCode) {
            $.icmpTypeCode = icmpTypeCode;
            return this;
        }

        /**
         * @param icmpTypeCode Defines the ICMP protocol that consists of the ICMP type and code. Defined below.
         * 
         * @return builder
         * 
         */
        public Builder icmpTypeCode(KxEnvironmentTransitGatewayConfigurationAttachmentNetworkAclConfigurationIcmpTypeCodeArgs icmpTypeCode) {
            return icmpTypeCode(Output.of(icmpTypeCode));
        }

        /**
         * @param portRange Range of ports the rule applies to. Defined below.
         * 
         * @return builder
         * 
         */
        public Builder portRange(@Nullable Output portRange) {
            $.portRange = portRange;
            return this;
        }

        /**
         * @param portRange Range of ports the rule applies to. Defined below.
         * 
         * @return builder
         * 
         */
        public Builder portRange(KxEnvironmentTransitGatewayConfigurationAttachmentNetworkAclConfigurationPortRangeArgs portRange) {
            return portRange(Output.of(portRange));
        }

        /**
         * @param protocol Protocol number. A value of `1` means all the protocols.
         * 
         * @return builder
         * 
         */
        public Builder protocol(Output protocol) {
            $.protocol = protocol;
            return this;
        }

        /**
         * @param protocol Protocol number. A value of `1` means all the protocols.
         * 
         * @return builder
         * 
         */
        public Builder protocol(String protocol) {
            return protocol(Output.of(protocol));
        }

        /**
         * @param ruleAction Indicates whether to `allow` or `deny` the traffic that matches the rule.
         * 
         * @return builder
         * 
         */
        public Builder ruleAction(Output ruleAction) {
            $.ruleAction = ruleAction;
            return this;
        }

        /**
         * @param ruleAction Indicates whether to `allow` or `deny` the traffic that matches the rule.
         * 
         * @return builder
         * 
         */
        public Builder ruleAction(String ruleAction) {
            return ruleAction(Output.of(ruleAction));
        }

        /**
         * @param ruleNumber Rule number for the entry. All the network ACL entries are processed in ascending order by rule number.
         * 
         * @return builder
         * 
         */
        public Builder ruleNumber(Output ruleNumber) {
            $.ruleNumber = ruleNumber;
            return this;
        }

        /**
         * @param ruleNumber Rule number for the entry. All the network ACL entries are processed in ascending order by rule number.
         * 
         * @return builder
         * 
         */
        public Builder ruleNumber(Integer ruleNumber) {
            return ruleNumber(Output.of(ruleNumber));
        }

        public KxEnvironmentTransitGatewayConfigurationAttachmentNetworkAclConfigurationArgs build() {
            if ($.cidrBlock == null) {
                throw new MissingRequiredPropertyException("KxEnvironmentTransitGatewayConfigurationAttachmentNetworkAclConfigurationArgs", "cidrBlock");
            }
            if ($.protocol == null) {
                throw new MissingRequiredPropertyException("KxEnvironmentTransitGatewayConfigurationAttachmentNetworkAclConfigurationArgs", "protocol");
            }
            if ($.ruleAction == null) {
                throw new MissingRequiredPropertyException("KxEnvironmentTransitGatewayConfigurationAttachmentNetworkAclConfigurationArgs", "ruleAction");
            }
            if ($.ruleNumber == null) {
                throw new MissingRequiredPropertyException("KxEnvironmentTransitGatewayConfigurationAttachmentNetworkAclConfigurationArgs", "ruleNumber");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy