Struct aws_sdk_networkfirewall::model::firewall_policy::Builder
source · pub struct Builder { /* private fields */ }
Expand description
A builder for FirewallPolicy
.
Implementations§
source§impl Builder
impl Builder
sourcepub fn stateless_rule_group_references(
self,
input: StatelessRuleGroupReference
) -> Self
pub fn stateless_rule_group_references(
self,
input: StatelessRuleGroupReference
) -> Self
Appends an item to stateless_rule_group_references
.
To override the contents of this collection use set_stateless_rule_group_references
.
References to the stateless rule groups that are used in the policy. These define the matching criteria in stateless rules.
sourcepub fn set_stateless_rule_group_references(
self,
input: Option<Vec<StatelessRuleGroupReference>>
) -> Self
pub fn set_stateless_rule_group_references(
self,
input: Option<Vec<StatelessRuleGroupReference>>
) -> Self
References to the stateless rule groups that are used in the policy. These define the matching criteria in stateless rules.
Examples found in repository?
2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927
pub(crate) fn deser_structure_crate_model_firewall_policy<'a, I>(
tokens: &mut std::iter::Peekable<I>,
) -> Result<
Option<crate::model::FirewallPolicy>,
aws_smithy_json::deserialize::error::DeserializeError,
>
where
I: Iterator<
Item = Result<
aws_smithy_json::deserialize::Token<'a>,
aws_smithy_json::deserialize::error::DeserializeError,
>,
>,
{
match tokens.next().transpose()? {
Some(aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
Some(aws_smithy_json::deserialize::Token::StartObject { .. }) => {
#[allow(unused_mut)]
let mut builder = crate::model::firewall_policy::Builder::default();
loop {
match tokens.next().transpose()? {
Some(aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
Some(aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
match key.to_unescaped()?.as_ref() {
"StatelessRuleGroupReferences" => {
builder = builder.set_stateless_rule_group_references(
crate::json_deser::deser_list_com_amazonaws_networkfirewall_stateless_rule_group_references(tokens)?
);
}
"StatelessDefaultActions" => {
builder = builder.set_stateless_default_actions(
crate::json_deser::deser_list_com_amazonaws_networkfirewall_stateless_actions(tokens)?
);
}
"StatelessFragmentDefaultActions" => {
builder = builder.set_stateless_fragment_default_actions(
crate::json_deser::deser_list_com_amazonaws_networkfirewall_stateless_actions(tokens)?
);
}
"StatelessCustomActions" => {
builder = builder.set_stateless_custom_actions(
crate::json_deser::deser_list_com_amazonaws_networkfirewall_custom_actions(tokens)?
);
}
"StatefulRuleGroupReferences" => {
builder = builder.set_stateful_rule_group_references(
crate::json_deser::deser_list_com_amazonaws_networkfirewall_stateful_rule_group_references(tokens)?
);
}
"StatefulDefaultActions" => {
builder = builder.set_stateful_default_actions(
crate::json_deser::deser_list_com_amazonaws_networkfirewall_stateful_actions(tokens)?
);
}
"StatefulEngineOptions" => {
builder = builder.set_stateful_engine_options(
crate::json_deser::deser_structure_crate_model_stateful_engine_options(tokens)?
);
}
_ => aws_smithy_json::deserialize::token::skip_value(tokens)?,
}
}
other => {
return Err(
aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
"expected object key or end object, found: {:?}",
other
)),
)
}
}
}
Ok(Some(builder.build()))
}
_ => Err(
aws_smithy_json::deserialize::error::DeserializeError::custom(
"expected start object or null",
),
),
}
}
sourcepub fn stateless_default_actions(self, input: impl Into<String>) -> Self
pub fn stateless_default_actions(self, input: impl Into<String>) -> Self
Appends an item to stateless_default_actions
.
To override the contents of this collection use set_stateless_default_actions
.
The actions to take on a packet if it doesn't match any of the stateless rules in the policy. If you want non-matching packets to be forwarded for stateful inspection, specify aws:forward_to_sfe
.
You must specify one of the standard actions: aws:pass
, aws:drop
, or aws:forward_to_sfe
. In addition, you can specify custom actions that are compatible with your standard section choice.
For example, you could specify ["aws:pass"]
or you could specify ["aws:pass", “customActionName”]
. For information about compatibility, see the custom action descriptions under CustomAction
.
sourcepub fn set_stateless_default_actions(self, input: Option<Vec<String>>) -> Self
pub fn set_stateless_default_actions(self, input: Option<Vec<String>>) -> Self
The actions to take on a packet if it doesn't match any of the stateless rules in the policy. If you want non-matching packets to be forwarded for stateful inspection, specify aws:forward_to_sfe
.
You must specify one of the standard actions: aws:pass
, aws:drop
, or aws:forward_to_sfe
. In addition, you can specify custom actions that are compatible with your standard section choice.
For example, you could specify ["aws:pass"]
or you could specify ["aws:pass", “customActionName”]
. For information about compatibility, see the custom action descriptions under CustomAction
.
Examples found in repository?
2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927
pub(crate) fn deser_structure_crate_model_firewall_policy<'a, I>(
tokens: &mut std::iter::Peekable<I>,
) -> Result<
Option<crate::model::FirewallPolicy>,
aws_smithy_json::deserialize::error::DeserializeError,
>
where
I: Iterator<
Item = Result<
aws_smithy_json::deserialize::Token<'a>,
aws_smithy_json::deserialize::error::DeserializeError,
>,
>,
{
match tokens.next().transpose()? {
Some(aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
Some(aws_smithy_json::deserialize::Token::StartObject { .. }) => {
#[allow(unused_mut)]
let mut builder = crate::model::firewall_policy::Builder::default();
loop {
match tokens.next().transpose()? {
Some(aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
Some(aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
match key.to_unescaped()?.as_ref() {
"StatelessRuleGroupReferences" => {
builder = builder.set_stateless_rule_group_references(
crate::json_deser::deser_list_com_amazonaws_networkfirewall_stateless_rule_group_references(tokens)?
);
}
"StatelessDefaultActions" => {
builder = builder.set_stateless_default_actions(
crate::json_deser::deser_list_com_amazonaws_networkfirewall_stateless_actions(tokens)?
);
}
"StatelessFragmentDefaultActions" => {
builder = builder.set_stateless_fragment_default_actions(
crate::json_deser::deser_list_com_amazonaws_networkfirewall_stateless_actions(tokens)?
);
}
"StatelessCustomActions" => {
builder = builder.set_stateless_custom_actions(
crate::json_deser::deser_list_com_amazonaws_networkfirewall_custom_actions(tokens)?
);
}
"StatefulRuleGroupReferences" => {
builder = builder.set_stateful_rule_group_references(
crate::json_deser::deser_list_com_amazonaws_networkfirewall_stateful_rule_group_references(tokens)?
);
}
"StatefulDefaultActions" => {
builder = builder.set_stateful_default_actions(
crate::json_deser::deser_list_com_amazonaws_networkfirewall_stateful_actions(tokens)?
);
}
"StatefulEngineOptions" => {
builder = builder.set_stateful_engine_options(
crate::json_deser::deser_structure_crate_model_stateful_engine_options(tokens)?
);
}
_ => aws_smithy_json::deserialize::token::skip_value(tokens)?,
}
}
other => {
return Err(
aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
"expected object key or end object, found: {:?}",
other
)),
)
}
}
}
Ok(Some(builder.build()))
}
_ => Err(
aws_smithy_json::deserialize::error::DeserializeError::custom(
"expected start object or null",
),
),
}
}
sourcepub fn stateless_fragment_default_actions(self, input: impl Into<String>) -> Self
pub fn stateless_fragment_default_actions(self, input: impl Into<String>) -> Self
Appends an item to stateless_fragment_default_actions
.
To override the contents of this collection use set_stateless_fragment_default_actions
.
The actions to take on a fragmented UDP packet if it doesn't match any of the stateless rules in the policy. Network Firewall only manages UDP packet fragments and silently drops packet fragments for other protocols. If you want non-matching fragmented UDP packets to be forwarded for stateful inspection, specify aws:forward_to_sfe
.
You must specify one of the standard actions: aws:pass
, aws:drop
, or aws:forward_to_sfe
. In addition, you can specify custom actions that are compatible with your standard section choice.
For example, you could specify ["aws:pass"]
or you could specify ["aws:pass", “customActionName”]
. For information about compatibility, see the custom action descriptions under CustomAction
.
sourcepub fn set_stateless_fragment_default_actions(
self,
input: Option<Vec<String>>
) -> Self
pub fn set_stateless_fragment_default_actions(
self,
input: Option<Vec<String>>
) -> Self
The actions to take on a fragmented UDP packet if it doesn't match any of the stateless rules in the policy. Network Firewall only manages UDP packet fragments and silently drops packet fragments for other protocols. If you want non-matching fragmented UDP packets to be forwarded for stateful inspection, specify aws:forward_to_sfe
.
You must specify one of the standard actions: aws:pass
, aws:drop
, or aws:forward_to_sfe
. In addition, you can specify custom actions that are compatible with your standard section choice.
For example, you could specify ["aws:pass"]
or you could specify ["aws:pass", “customActionName”]
. For information about compatibility, see the custom action descriptions under CustomAction
.
Examples found in repository?
2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927
pub(crate) fn deser_structure_crate_model_firewall_policy<'a, I>(
tokens: &mut std::iter::Peekable<I>,
) -> Result<
Option<crate::model::FirewallPolicy>,
aws_smithy_json::deserialize::error::DeserializeError,
>
where
I: Iterator<
Item = Result<
aws_smithy_json::deserialize::Token<'a>,
aws_smithy_json::deserialize::error::DeserializeError,
>,
>,
{
match tokens.next().transpose()? {
Some(aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
Some(aws_smithy_json::deserialize::Token::StartObject { .. }) => {
#[allow(unused_mut)]
let mut builder = crate::model::firewall_policy::Builder::default();
loop {
match tokens.next().transpose()? {
Some(aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
Some(aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
match key.to_unescaped()?.as_ref() {
"StatelessRuleGroupReferences" => {
builder = builder.set_stateless_rule_group_references(
crate::json_deser::deser_list_com_amazonaws_networkfirewall_stateless_rule_group_references(tokens)?
);
}
"StatelessDefaultActions" => {
builder = builder.set_stateless_default_actions(
crate::json_deser::deser_list_com_amazonaws_networkfirewall_stateless_actions(tokens)?
);
}
"StatelessFragmentDefaultActions" => {
builder = builder.set_stateless_fragment_default_actions(
crate::json_deser::deser_list_com_amazonaws_networkfirewall_stateless_actions(tokens)?
);
}
"StatelessCustomActions" => {
builder = builder.set_stateless_custom_actions(
crate::json_deser::deser_list_com_amazonaws_networkfirewall_custom_actions(tokens)?
);
}
"StatefulRuleGroupReferences" => {
builder = builder.set_stateful_rule_group_references(
crate::json_deser::deser_list_com_amazonaws_networkfirewall_stateful_rule_group_references(tokens)?
);
}
"StatefulDefaultActions" => {
builder = builder.set_stateful_default_actions(
crate::json_deser::deser_list_com_amazonaws_networkfirewall_stateful_actions(tokens)?
);
}
"StatefulEngineOptions" => {
builder = builder.set_stateful_engine_options(
crate::json_deser::deser_structure_crate_model_stateful_engine_options(tokens)?
);
}
_ => aws_smithy_json::deserialize::token::skip_value(tokens)?,
}
}
other => {
return Err(
aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
"expected object key or end object, found: {:?}",
other
)),
)
}
}
}
Ok(Some(builder.build()))
}
_ => Err(
aws_smithy_json::deserialize::error::DeserializeError::custom(
"expected start object or null",
),
),
}
}
sourcepub fn stateless_custom_actions(self, input: CustomAction) -> Self
pub fn stateless_custom_actions(self, input: CustomAction) -> Self
Appends an item to stateless_custom_actions
.
To override the contents of this collection use set_stateless_custom_actions
.
The custom action definitions that are available for use in the firewall policy's StatelessDefaultActions
setting. You name each custom action that you define, and then you can use it by name in your default actions specifications.
sourcepub fn set_stateless_custom_actions(
self,
input: Option<Vec<CustomAction>>
) -> Self
pub fn set_stateless_custom_actions(
self,
input: Option<Vec<CustomAction>>
) -> Self
The custom action definitions that are available for use in the firewall policy's StatelessDefaultActions
setting. You name each custom action that you define, and then you can use it by name in your default actions specifications.
Examples found in repository?
2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927
pub(crate) fn deser_structure_crate_model_firewall_policy<'a, I>(
tokens: &mut std::iter::Peekable<I>,
) -> Result<
Option<crate::model::FirewallPolicy>,
aws_smithy_json::deserialize::error::DeserializeError,
>
where
I: Iterator<
Item = Result<
aws_smithy_json::deserialize::Token<'a>,
aws_smithy_json::deserialize::error::DeserializeError,
>,
>,
{
match tokens.next().transpose()? {
Some(aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
Some(aws_smithy_json::deserialize::Token::StartObject { .. }) => {
#[allow(unused_mut)]
let mut builder = crate::model::firewall_policy::Builder::default();
loop {
match tokens.next().transpose()? {
Some(aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
Some(aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
match key.to_unescaped()?.as_ref() {
"StatelessRuleGroupReferences" => {
builder = builder.set_stateless_rule_group_references(
crate::json_deser::deser_list_com_amazonaws_networkfirewall_stateless_rule_group_references(tokens)?
);
}
"StatelessDefaultActions" => {
builder = builder.set_stateless_default_actions(
crate::json_deser::deser_list_com_amazonaws_networkfirewall_stateless_actions(tokens)?
);
}
"StatelessFragmentDefaultActions" => {
builder = builder.set_stateless_fragment_default_actions(
crate::json_deser::deser_list_com_amazonaws_networkfirewall_stateless_actions(tokens)?
);
}
"StatelessCustomActions" => {
builder = builder.set_stateless_custom_actions(
crate::json_deser::deser_list_com_amazonaws_networkfirewall_custom_actions(tokens)?
);
}
"StatefulRuleGroupReferences" => {
builder = builder.set_stateful_rule_group_references(
crate::json_deser::deser_list_com_amazonaws_networkfirewall_stateful_rule_group_references(tokens)?
);
}
"StatefulDefaultActions" => {
builder = builder.set_stateful_default_actions(
crate::json_deser::deser_list_com_amazonaws_networkfirewall_stateful_actions(tokens)?
);
}
"StatefulEngineOptions" => {
builder = builder.set_stateful_engine_options(
crate::json_deser::deser_structure_crate_model_stateful_engine_options(tokens)?
);
}
_ => aws_smithy_json::deserialize::token::skip_value(tokens)?,
}
}
other => {
return Err(
aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
"expected object key or end object, found: {:?}",
other
)),
)
}
}
}
Ok(Some(builder.build()))
}
_ => Err(
aws_smithy_json::deserialize::error::DeserializeError::custom(
"expected start object or null",
),
),
}
}
sourcepub fn stateful_rule_group_references(
self,
input: StatefulRuleGroupReference
) -> Self
pub fn stateful_rule_group_references(
self,
input: StatefulRuleGroupReference
) -> Self
Appends an item to stateful_rule_group_references
.
To override the contents of this collection use set_stateful_rule_group_references
.
References to the stateful rule groups that are used in the policy. These define the inspection criteria in stateful rules.
sourcepub fn set_stateful_rule_group_references(
self,
input: Option<Vec<StatefulRuleGroupReference>>
) -> Self
pub fn set_stateful_rule_group_references(
self,
input: Option<Vec<StatefulRuleGroupReference>>
) -> Self
References to the stateful rule groups that are used in the policy. These define the inspection criteria in stateful rules.
Examples found in repository?
2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927
pub(crate) fn deser_structure_crate_model_firewall_policy<'a, I>(
tokens: &mut std::iter::Peekable<I>,
) -> Result<
Option<crate::model::FirewallPolicy>,
aws_smithy_json::deserialize::error::DeserializeError,
>
where
I: Iterator<
Item = Result<
aws_smithy_json::deserialize::Token<'a>,
aws_smithy_json::deserialize::error::DeserializeError,
>,
>,
{
match tokens.next().transpose()? {
Some(aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
Some(aws_smithy_json::deserialize::Token::StartObject { .. }) => {
#[allow(unused_mut)]
let mut builder = crate::model::firewall_policy::Builder::default();
loop {
match tokens.next().transpose()? {
Some(aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
Some(aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
match key.to_unescaped()?.as_ref() {
"StatelessRuleGroupReferences" => {
builder = builder.set_stateless_rule_group_references(
crate::json_deser::deser_list_com_amazonaws_networkfirewall_stateless_rule_group_references(tokens)?
);
}
"StatelessDefaultActions" => {
builder = builder.set_stateless_default_actions(
crate::json_deser::deser_list_com_amazonaws_networkfirewall_stateless_actions(tokens)?
);
}
"StatelessFragmentDefaultActions" => {
builder = builder.set_stateless_fragment_default_actions(
crate::json_deser::deser_list_com_amazonaws_networkfirewall_stateless_actions(tokens)?
);
}
"StatelessCustomActions" => {
builder = builder.set_stateless_custom_actions(
crate::json_deser::deser_list_com_amazonaws_networkfirewall_custom_actions(tokens)?
);
}
"StatefulRuleGroupReferences" => {
builder = builder.set_stateful_rule_group_references(
crate::json_deser::deser_list_com_amazonaws_networkfirewall_stateful_rule_group_references(tokens)?
);
}
"StatefulDefaultActions" => {
builder = builder.set_stateful_default_actions(
crate::json_deser::deser_list_com_amazonaws_networkfirewall_stateful_actions(tokens)?
);
}
"StatefulEngineOptions" => {
builder = builder.set_stateful_engine_options(
crate::json_deser::deser_structure_crate_model_stateful_engine_options(tokens)?
);
}
_ => aws_smithy_json::deserialize::token::skip_value(tokens)?,
}
}
other => {
return Err(
aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
"expected object key or end object, found: {:?}",
other
)),
)
}
}
}
Ok(Some(builder.build()))
}
_ => Err(
aws_smithy_json::deserialize::error::DeserializeError::custom(
"expected start object or null",
),
),
}
}
sourcepub fn stateful_default_actions(self, input: impl Into<String>) -> Self
pub fn stateful_default_actions(self, input: impl Into<String>) -> Self
Appends an item to stateful_default_actions
.
To override the contents of this collection use set_stateful_default_actions
.
The default actions to take on a packet that doesn't match any stateful rules. The stateful default action is optional, and is only valid when using the strict rule order.
Valid values of the stateful default action:
-
aws:drop_strict
-
aws:drop_established
-
aws:alert_strict
-
aws:alert_established
For more information, see Strict evaluation order in the Network Firewall Developer Guide.
sourcepub fn set_stateful_default_actions(self, input: Option<Vec<String>>) -> Self
pub fn set_stateful_default_actions(self, input: Option<Vec<String>>) -> Self
The default actions to take on a packet that doesn't match any stateful rules. The stateful default action is optional, and is only valid when using the strict rule order.
Valid values of the stateful default action:
-
aws:drop_strict
-
aws:drop_established
-
aws:alert_strict
-
aws:alert_established
For more information, see Strict evaluation order in the Network Firewall Developer Guide.
Examples found in repository?
2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927
pub(crate) fn deser_structure_crate_model_firewall_policy<'a, I>(
tokens: &mut std::iter::Peekable<I>,
) -> Result<
Option<crate::model::FirewallPolicy>,
aws_smithy_json::deserialize::error::DeserializeError,
>
where
I: Iterator<
Item = Result<
aws_smithy_json::deserialize::Token<'a>,
aws_smithy_json::deserialize::error::DeserializeError,
>,
>,
{
match tokens.next().transpose()? {
Some(aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
Some(aws_smithy_json::deserialize::Token::StartObject { .. }) => {
#[allow(unused_mut)]
let mut builder = crate::model::firewall_policy::Builder::default();
loop {
match tokens.next().transpose()? {
Some(aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
Some(aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
match key.to_unescaped()?.as_ref() {
"StatelessRuleGroupReferences" => {
builder = builder.set_stateless_rule_group_references(
crate::json_deser::deser_list_com_amazonaws_networkfirewall_stateless_rule_group_references(tokens)?
);
}
"StatelessDefaultActions" => {
builder = builder.set_stateless_default_actions(
crate::json_deser::deser_list_com_amazonaws_networkfirewall_stateless_actions(tokens)?
);
}
"StatelessFragmentDefaultActions" => {
builder = builder.set_stateless_fragment_default_actions(
crate::json_deser::deser_list_com_amazonaws_networkfirewall_stateless_actions(tokens)?
);
}
"StatelessCustomActions" => {
builder = builder.set_stateless_custom_actions(
crate::json_deser::deser_list_com_amazonaws_networkfirewall_custom_actions(tokens)?
);
}
"StatefulRuleGroupReferences" => {
builder = builder.set_stateful_rule_group_references(
crate::json_deser::deser_list_com_amazonaws_networkfirewall_stateful_rule_group_references(tokens)?
);
}
"StatefulDefaultActions" => {
builder = builder.set_stateful_default_actions(
crate::json_deser::deser_list_com_amazonaws_networkfirewall_stateful_actions(tokens)?
);
}
"StatefulEngineOptions" => {
builder = builder.set_stateful_engine_options(
crate::json_deser::deser_structure_crate_model_stateful_engine_options(tokens)?
);
}
_ => aws_smithy_json::deserialize::token::skip_value(tokens)?,
}
}
other => {
return Err(
aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
"expected object key or end object, found: {:?}",
other
)),
)
}
}
}
Ok(Some(builder.build()))
}
_ => Err(
aws_smithy_json::deserialize::error::DeserializeError::custom(
"expected start object or null",
),
),
}
}
sourcepub fn stateful_engine_options(self, input: StatefulEngineOptions) -> Self
pub fn stateful_engine_options(self, input: StatefulEngineOptions) -> Self
Additional options governing how Network Firewall handles stateful rules. The stateful rule groups that you use in your policy must have stateful rule options settings that are compatible with these settings.
sourcepub fn set_stateful_engine_options(
self,
input: Option<StatefulEngineOptions>
) -> Self
pub fn set_stateful_engine_options(
self,
input: Option<StatefulEngineOptions>
) -> Self
Additional options governing how Network Firewall handles stateful rules. The stateful rule groups that you use in your policy must have stateful rule options settings that are compatible with these settings.
Examples found in repository?
2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927
pub(crate) fn deser_structure_crate_model_firewall_policy<'a, I>(
tokens: &mut std::iter::Peekable<I>,
) -> Result<
Option<crate::model::FirewallPolicy>,
aws_smithy_json::deserialize::error::DeserializeError,
>
where
I: Iterator<
Item = Result<
aws_smithy_json::deserialize::Token<'a>,
aws_smithy_json::deserialize::error::DeserializeError,
>,
>,
{
match tokens.next().transpose()? {
Some(aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
Some(aws_smithy_json::deserialize::Token::StartObject { .. }) => {
#[allow(unused_mut)]
let mut builder = crate::model::firewall_policy::Builder::default();
loop {
match tokens.next().transpose()? {
Some(aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
Some(aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
match key.to_unescaped()?.as_ref() {
"StatelessRuleGroupReferences" => {
builder = builder.set_stateless_rule_group_references(
crate::json_deser::deser_list_com_amazonaws_networkfirewall_stateless_rule_group_references(tokens)?
);
}
"StatelessDefaultActions" => {
builder = builder.set_stateless_default_actions(
crate::json_deser::deser_list_com_amazonaws_networkfirewall_stateless_actions(tokens)?
);
}
"StatelessFragmentDefaultActions" => {
builder = builder.set_stateless_fragment_default_actions(
crate::json_deser::deser_list_com_amazonaws_networkfirewall_stateless_actions(tokens)?
);
}
"StatelessCustomActions" => {
builder = builder.set_stateless_custom_actions(
crate::json_deser::deser_list_com_amazonaws_networkfirewall_custom_actions(tokens)?
);
}
"StatefulRuleGroupReferences" => {
builder = builder.set_stateful_rule_group_references(
crate::json_deser::deser_list_com_amazonaws_networkfirewall_stateful_rule_group_references(tokens)?
);
}
"StatefulDefaultActions" => {
builder = builder.set_stateful_default_actions(
crate::json_deser::deser_list_com_amazonaws_networkfirewall_stateful_actions(tokens)?
);
}
"StatefulEngineOptions" => {
builder = builder.set_stateful_engine_options(
crate::json_deser::deser_structure_crate_model_stateful_engine_options(tokens)?
);
}
_ => aws_smithy_json::deserialize::token::skip_value(tokens)?,
}
}
other => {
return Err(
aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
"expected object key or end object, found: {:?}",
other
)),
)
}
}
}
Ok(Some(builder.build()))
}
_ => Err(
aws_smithy_json::deserialize::error::DeserializeError::custom(
"expected start object or null",
),
),
}
}
sourcepub fn build(self) -> FirewallPolicy
pub fn build(self) -> FirewallPolicy
Consumes the builder and constructs a FirewallPolicy
.
Examples found in repository?
2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927
pub(crate) fn deser_structure_crate_model_firewall_policy<'a, I>(
tokens: &mut std::iter::Peekable<I>,
) -> Result<
Option<crate::model::FirewallPolicy>,
aws_smithy_json::deserialize::error::DeserializeError,
>
where
I: Iterator<
Item = Result<
aws_smithy_json::deserialize::Token<'a>,
aws_smithy_json::deserialize::error::DeserializeError,
>,
>,
{
match tokens.next().transpose()? {
Some(aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
Some(aws_smithy_json::deserialize::Token::StartObject { .. }) => {
#[allow(unused_mut)]
let mut builder = crate::model::firewall_policy::Builder::default();
loop {
match tokens.next().transpose()? {
Some(aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
Some(aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
match key.to_unescaped()?.as_ref() {
"StatelessRuleGroupReferences" => {
builder = builder.set_stateless_rule_group_references(
crate::json_deser::deser_list_com_amazonaws_networkfirewall_stateless_rule_group_references(tokens)?
);
}
"StatelessDefaultActions" => {
builder = builder.set_stateless_default_actions(
crate::json_deser::deser_list_com_amazonaws_networkfirewall_stateless_actions(tokens)?
);
}
"StatelessFragmentDefaultActions" => {
builder = builder.set_stateless_fragment_default_actions(
crate::json_deser::deser_list_com_amazonaws_networkfirewall_stateless_actions(tokens)?
);
}
"StatelessCustomActions" => {
builder = builder.set_stateless_custom_actions(
crate::json_deser::deser_list_com_amazonaws_networkfirewall_custom_actions(tokens)?
);
}
"StatefulRuleGroupReferences" => {
builder = builder.set_stateful_rule_group_references(
crate::json_deser::deser_list_com_amazonaws_networkfirewall_stateful_rule_group_references(tokens)?
);
}
"StatefulDefaultActions" => {
builder = builder.set_stateful_default_actions(
crate::json_deser::deser_list_com_amazonaws_networkfirewall_stateful_actions(tokens)?
);
}
"StatefulEngineOptions" => {
builder = builder.set_stateful_engine_options(
crate::json_deser::deser_structure_crate_model_stateful_engine_options(tokens)?
);
}
_ => aws_smithy_json::deserialize::token::skip_value(tokens)?,
}
}
other => {
return Err(
aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
"expected object key or end object, found: {:?}",
other
)),
)
}
}
}
Ok(Some(builder.build()))
}
_ => Err(
aws_smithy_json::deserialize::error::DeserializeError::custom(
"expected start object or null",
),
),
}
}