com.pulumi.aws.networkfirewall.inputs.RuleGroupRuleGroupRulesSourceStatefulRuleArgs Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of aws Show documentation
Show all versions of aws Show documentation
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