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

com.pulumi.aws.networkfirewall.inputs.RuleGroupRuleGroupRulesSourceStatefulRuleArgs Maven / Gradle / Ivy

Go to download

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

The 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.networkfirewall.inputs;

import com.pulumi.aws.networkfirewall.inputs.RuleGroupRuleGroupRulesSourceStatefulRuleHeaderArgs;
import com.pulumi.aws.networkfirewall.inputs.RuleGroupRuleGroupRulesSourceStatefulRuleRuleOptionArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.List;
import java.util.Objects;


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

    public static final RuleGroupRuleGroupRulesSourceStatefulRuleArgs Empty = new RuleGroupRuleGroupRulesSourceStatefulRuleArgs();

    /**
     * Action to take with packets in a traffic flow when the flow matches the stateful rule criteria. For all actions, AWS Network Firewall performs the specified action and discontinues stateful inspection of the traffic flow. Valid values: `ALERT`, `DROP`, `PASS`, or `REJECT`.
     * 
     */
    @Import(name="action", required=true)
    private Output action;

    /**
     * @return Action to take with packets in a traffic flow when the flow matches the stateful rule criteria. For all actions, AWS Network Firewall performs the specified action and discontinues stateful inspection of the traffic flow. Valid values: `ALERT`, `DROP`, `PASS`, or `REJECT`.
     * 
     */
    public Output action() {
        return this.action;
    }

    /**
     * A configuration block containing the stateful 5-tuple inspection criteria for the rule, used to inspect traffic flows. See Header below for details.
     * 
     */
    @Import(name="header", required=true)
    private Output header;

    /**
     * @return A configuration block containing the stateful 5-tuple inspection criteria for the rule, used to inspect traffic flows. See Header below for details.
     * 
     */
    public Output header() {
        return this.header;
    }

    /**
     * Set of configuration blocks containing additional settings for a stateful rule. See Rule Option below for details.
     * 
     */
    @Import(name="ruleOptions", required=true)
    private Output> ruleOptions;

    /**
     * @return Set of configuration blocks containing additional settings for a stateful rule. See Rule Option below for details.
     * 
     */
    public Output> ruleOptions() {
        return this.ruleOptions;
    }

    private RuleGroupRuleGroupRulesSourceStatefulRuleArgs() {}

    private RuleGroupRuleGroupRulesSourceStatefulRuleArgs(RuleGroupRuleGroupRulesSourceStatefulRuleArgs $) {
        this.action = $.action;
        this.header = $.header;
        this.ruleOptions = $.ruleOptions;
    }

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

    public static final class Builder {
        private RuleGroupRuleGroupRulesSourceStatefulRuleArgs $;

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

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

        /**
         * @param action Action to take with packets in a traffic flow when the flow matches the stateful rule criteria. For all actions, AWS Network Firewall performs the specified action and discontinues stateful inspection of the traffic flow. Valid values: `ALERT`, `DROP`, `PASS`, or `REJECT`.
         * 
         * @return builder
         * 
         */
        public Builder action(Output action) {
            $.action = action;
            return this;
        }

        /**
         * @param action Action to take with packets in a traffic flow when the flow matches the stateful rule criteria. For all actions, AWS Network Firewall performs the specified action and discontinues stateful inspection of the traffic flow. Valid values: `ALERT`, `DROP`, `PASS`, or `REJECT`.
         * 
         * @return builder
         * 
         */
        public Builder action(String action) {
            return action(Output.of(action));
        }

        /**
         * @param header A configuration block containing the stateful 5-tuple inspection criteria for the rule, used to inspect traffic flows. See Header below for details.
         * 
         * @return builder
         * 
         */
        public Builder header(Output header) {
            $.header = header;
            return this;
        }

        /**
         * @param header A configuration block containing the stateful 5-tuple inspection criteria for the rule, used to inspect traffic flows. See Header below for details.
         * 
         * @return builder
         * 
         */
        public Builder header(RuleGroupRuleGroupRulesSourceStatefulRuleHeaderArgs header) {
            return header(Output.of(header));
        }

        /**
         * @param ruleOptions Set of configuration blocks containing additional settings for a stateful rule. See Rule Option below for details.
         * 
         * @return builder
         * 
         */
        public Builder ruleOptions(Output> ruleOptions) {
            $.ruleOptions = ruleOptions;
            return this;
        }

        /**
         * @param ruleOptions Set of configuration blocks containing additional settings for a stateful rule. See Rule Option below for details.
         * 
         * @return builder
         * 
         */
        public Builder ruleOptions(List ruleOptions) {
            return ruleOptions(Output.of(ruleOptions));
        }

        /**
         * @param ruleOptions Set of configuration blocks containing additional settings for a stateful rule. See Rule Option below for details.
         * 
         * @return builder
         * 
         */
        public Builder ruleOptions(RuleGroupRuleGroupRulesSourceStatefulRuleRuleOptionArgs... ruleOptions) {
            return ruleOptions(List.of(ruleOptions));
        }

        public RuleGroupRuleGroupRulesSourceStatefulRuleArgs build() {
            if ($.action == null) {
                throw new MissingRequiredPropertyException("RuleGroupRuleGroupRulesSourceStatefulRuleArgs", "action");
            }
            if ($.header == null) {
                throw new MissingRequiredPropertyException("RuleGroupRuleGroupRulesSourceStatefulRuleArgs", "header");
            }
            if ($.ruleOptions == null) {
                throw new MissingRequiredPropertyException("RuleGroupRuleGroupRulesSourceStatefulRuleArgs", "ruleOptions");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy