pub struct Builder { /* private fields */ }
Expand description

A builder for FirewallPolicy.

Implementations§

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.

References to the stateless rule groups that are used in the policy. These define the matching criteria in stateless rules.

Examples found in repository?
src/json_deser.rs (lines 2872-2874)
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",
            ),
        ),
    }
}

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.

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?
src/json_deser.rs (lines 2877-2879)
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",
            ),
        ),
    }
}

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.

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?
src/json_deser.rs (lines 2882-2884)
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",
            ),
        ),
    }
}

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.

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?
src/json_deser.rs (lines 2887-2889)
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",
            ),
        ),
    }
}

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.

References to the stateful rule groups that are used in the policy. These define the inspection criteria in stateful rules.

Examples found in repository?
src/json_deser.rs (lines 2892-2894)
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",
            ),
        ),
    }
}

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.

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?
src/json_deser.rs (lines 2897-2899)
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",
            ),
        ),
    }
}

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.

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?
src/json_deser.rs (lines 2902-2904)
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",
            ),
        ),
    }
}

Consumes the builder and constructs a FirewallPolicy.

Examples found in repository?
src/json_deser.rs (line 2919)
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",
            ),
        ),
    }
}

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Returns the “default value” for a type. Read more
This method tests for self and other values to be equal, and is used by ==. Read more
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Should always be Self
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more