Class StatefulEngineOptions
- All Implemented Interfaces:
Serializable
,SdkPojo
,ToCopyableBuilder<StatefulEngineOptions.Builder,
StatefulEngineOptions>
Configuration settings for the handling of the stateful rule groups in a Network Firewall firewall policy.
- See Also:
-
Nested Class Summary
Nested Classes -
Method Summary
Modifier and TypeMethodDescriptionbuilder()
final boolean
final boolean
equalsBySdkFields
(Object obj) Indicates whether some other object is "equal to" this one by SDK fields.final <T> Optional
<T> getValueForField
(String fieldName, Class<T> clazz) final int
hashCode()
final RuleOrder
Indicates how to manage the order of stateful rule evaluation for the policy.final String
Indicates how to manage the order of stateful rule evaluation for the policy.static Class
<? extends StatefulEngineOptions.Builder> final StreamExceptionPolicy
Indicates how Network Firewall should handle traffic when a network connection breaks midstream.final String
Indicates how Network Firewall should handle traffic when a network connection breaks midstream.Take this object and create a builder that contains all of the current property values of this object.final String
toString()
Returns a string representation of this object.Methods inherited from interface software.amazon.awssdk.utils.builder.ToCopyableBuilder
copy
-
Method Details
-
ruleOrder
Indicates how to manage the order of stateful rule evaluation for the policy. Stateful rules are provided to the rule engine as Suricata compatible strings, and Suricata evaluates them based on certain settings. For more information, see Evaluation order for stateful rules in the Network Firewall Developer Guide.
Default:
DEFAULT_ACTION_ORDER
If the service returns an enum value that is not available in the current SDK version,
ruleOrder
will returnRuleOrder.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromruleOrderAsString()
.- Returns:
- Indicates how to manage the order of stateful rule evaluation for the policy. Stateful rules are provided
to the rule engine as Suricata compatible strings, and Suricata evaluates them based on certain settings.
For more information, see Evaluation order for stateful rules in the Network Firewall Developer Guide.
Default:
DEFAULT_ACTION_ORDER
- See Also:
-
ruleOrderAsString
Indicates how to manage the order of stateful rule evaluation for the policy. Stateful rules are provided to the rule engine as Suricata compatible strings, and Suricata evaluates them based on certain settings. For more information, see Evaluation order for stateful rules in the Network Firewall Developer Guide.
Default:
DEFAULT_ACTION_ORDER
If the service returns an enum value that is not available in the current SDK version,
ruleOrder
will returnRuleOrder.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromruleOrderAsString()
.- Returns:
- Indicates how to manage the order of stateful rule evaluation for the policy. Stateful rules are provided
to the rule engine as Suricata compatible strings, and Suricata evaluates them based on certain settings.
For more information, see Evaluation order for stateful rules in the Network Firewall Developer Guide.
Default:
DEFAULT_ACTION_ORDER
- See Also:
-
streamExceptionPolicy
Indicates how Network Firewall should handle traffic when a network connection breaks midstream.
-
DROP
- Fail closed and drop all subsequent traffic going to the firewall. -
CONTINUE
- Continue to apply rules to subsequent traffic without context from traffic before the break. This impacts the behavior of rules that depend on context. For example, with a stateful rule that drops HTTP traffic, Network Firewall won't match subsequent traffic because the it won't have the context from session initialization, which defines the application layer protocol as HTTP. However, a TCP-layer rule using aflow:stateless
rule would still match, and so would theaws:drop_strict
default action. -
REJECT
- Fail closed and drop all subsequent traffic going to the firewall. With this option, Network Firewall also sends a TCP reject packet back to the client so the client can immediately establish a new session. With the new session, Network Firewall will have context and will apply rules appropriately.For applications that are reliant on long-lived TCP connections that trigger Gateway Load Balancer idle timeouts, this is the recommended setting.
-
FMS_IGNORE
- Firewall Manager doesn't monitor or modify the Network Firewall stream exception policy settings.
For more information, see Stream exception policy in your firewall policy in the Network Firewall Developer Guide.
Default:
FMS_IGNORE
If the service returns an enum value that is not available in the current SDK version,
streamExceptionPolicy
will returnStreamExceptionPolicy.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromstreamExceptionPolicyAsString()
.- Returns:
- Indicates how Network Firewall should handle traffic when a network connection breaks midstream.
-
DROP
- Fail closed and drop all subsequent traffic going to the firewall. -
CONTINUE
- Continue to apply rules to subsequent traffic without context from traffic before the break. This impacts the behavior of rules that depend on context. For example, with a stateful rule that drops HTTP traffic, Network Firewall won't match subsequent traffic because the it won't have the context from session initialization, which defines the application layer protocol as HTTP. However, a TCP-layer rule using aflow:stateless
rule would still match, and so would theaws:drop_strict
default action. -
REJECT
- Fail closed and drop all subsequent traffic going to the firewall. With this option, Network Firewall also sends a TCP reject packet back to the client so the client can immediately establish a new session. With the new session, Network Firewall will have context and will apply rules appropriately.For applications that are reliant on long-lived TCP connections that trigger Gateway Load Balancer idle timeouts, this is the recommended setting.
-
FMS_IGNORE
- Firewall Manager doesn't monitor or modify the Network Firewall stream exception policy settings.
For more information, see Stream exception policy in your firewall policy in the Network Firewall Developer Guide.
Default:
FMS_IGNORE
-
- See Also:
-
-
streamExceptionPolicyAsString
Indicates how Network Firewall should handle traffic when a network connection breaks midstream.
-
DROP
- Fail closed and drop all subsequent traffic going to the firewall. -
CONTINUE
- Continue to apply rules to subsequent traffic without context from traffic before the break. This impacts the behavior of rules that depend on context. For example, with a stateful rule that drops HTTP traffic, Network Firewall won't match subsequent traffic because the it won't have the context from session initialization, which defines the application layer protocol as HTTP. However, a TCP-layer rule using aflow:stateless
rule would still match, and so would theaws:drop_strict
default action. -
REJECT
- Fail closed and drop all subsequent traffic going to the firewall. With this option, Network Firewall also sends a TCP reject packet back to the client so the client can immediately establish a new session. With the new session, Network Firewall will have context and will apply rules appropriately.For applications that are reliant on long-lived TCP connections that trigger Gateway Load Balancer idle timeouts, this is the recommended setting.
-
FMS_IGNORE
- Firewall Manager doesn't monitor or modify the Network Firewall stream exception policy settings.
For more information, see Stream exception policy in your firewall policy in the Network Firewall Developer Guide.
Default:
FMS_IGNORE
If the service returns an enum value that is not available in the current SDK version,
streamExceptionPolicy
will returnStreamExceptionPolicy.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromstreamExceptionPolicyAsString()
.- Returns:
- Indicates how Network Firewall should handle traffic when a network connection breaks midstream.
-
DROP
- Fail closed and drop all subsequent traffic going to the firewall. -
CONTINUE
- Continue to apply rules to subsequent traffic without context from traffic before the break. This impacts the behavior of rules that depend on context. For example, with a stateful rule that drops HTTP traffic, Network Firewall won't match subsequent traffic because the it won't have the context from session initialization, which defines the application layer protocol as HTTP. However, a TCP-layer rule using aflow:stateless
rule would still match, and so would theaws:drop_strict
default action. -
REJECT
- Fail closed and drop all subsequent traffic going to the firewall. With this option, Network Firewall also sends a TCP reject packet back to the client so the client can immediately establish a new session. With the new session, Network Firewall will have context and will apply rules appropriately.For applications that are reliant on long-lived TCP connections that trigger Gateway Load Balancer idle timeouts, this is the recommended setting.
-
FMS_IGNORE
- Firewall Manager doesn't monitor or modify the Network Firewall stream exception policy settings.
For more information, see Stream exception policy in your firewall policy in the Network Firewall Developer Guide.
Default:
FMS_IGNORE
-
- See Also:
-
-
toBuilder
Description copied from interface:ToCopyableBuilder
Take this object and create a builder that contains all of the current property values of this object.- Specified by:
toBuilder
in interfaceToCopyableBuilder<StatefulEngineOptions.Builder,
StatefulEngineOptions> - Returns:
- a builder for type T
-
builder
-
serializableBuilderClass
-
hashCode
-
equals
-
equalsBySdkFields
Description copied from interface:SdkPojo
Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in anSdkPojo
class, and is generated based on a service model.If an
SdkPojo
class does not have any inherited fields,equalsBySdkFields
andequals
are essentially the same.- Specified by:
equalsBySdkFields
in interfaceSdkPojo
- Parameters:
obj
- the object to be compared with- Returns:
- true if the other object equals to this object by sdk fields, false otherwise.
-
toString
-
getValueForField
-
sdkFields
-