/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The definition of the Network Firewall firewall policy.See
* Also:
AWS
* API Reference
The stateless rule groups that are used in the Network Firewall firewall * policy.
*/ inline const Aws::VectorThe stateless rule groups that are used in the Network Firewall firewall * policy.
*/ inline bool StatelessRuleGroupsHasBeenSet() const { return m_statelessRuleGroupsHasBeenSet; } /** *The stateless rule groups that are used in the Network Firewall firewall * policy.
*/ inline void SetStatelessRuleGroups(const Aws::VectorThe stateless rule groups that are used in the Network Firewall firewall * policy.
*/ inline void SetStatelessRuleGroups(Aws::VectorThe stateless rule groups that are used in the Network Firewall firewall * policy.
*/ inline NetworkFirewallPolicyDescription& WithStatelessRuleGroups(const Aws::VectorThe stateless rule groups that are used in the Network Firewall firewall * policy.
*/ inline NetworkFirewallPolicyDescription& WithStatelessRuleGroups(Aws::VectorThe stateless rule groups that are used in the Network Firewall firewall * policy.
*/ inline NetworkFirewallPolicyDescription& AddStatelessRuleGroups(const StatelessRuleGroup& value) { m_statelessRuleGroupsHasBeenSet = true; m_statelessRuleGroups.push_back(value); return *this; } /** *The stateless rule groups that are used in the Network Firewall firewall * policy.
*/ inline NetworkFirewallPolicyDescription& AddStatelessRuleGroups(StatelessRuleGroup&& value) { m_statelessRuleGroupsHasBeenSet = true; m_statelessRuleGroups.push_back(std::move(value)); return *this; } /** *The actions to take on packets that don't match any of the stateless rule * groups.
*/ inline const Aws::VectorThe actions to take on packets that don't match any of the stateless rule * groups.
*/ inline bool StatelessDefaultActionsHasBeenSet() const { return m_statelessDefaultActionsHasBeenSet; } /** *The actions to take on packets that don't match any of the stateless rule * groups.
*/ inline void SetStatelessDefaultActions(const Aws::VectorThe actions to take on packets that don't match any of the stateless rule * groups.
*/ inline void SetStatelessDefaultActions(Aws::VectorThe actions to take on packets that don't match any of the stateless rule * groups.
*/ inline NetworkFirewallPolicyDescription& WithStatelessDefaultActions(const Aws::VectorThe actions to take on packets that don't match any of the stateless rule * groups.
*/ inline NetworkFirewallPolicyDescription& WithStatelessDefaultActions(Aws::VectorThe actions to take on packets that don't match any of the stateless rule * groups.
*/ inline NetworkFirewallPolicyDescription& AddStatelessDefaultActions(const Aws::String& value) { m_statelessDefaultActionsHasBeenSet = true; m_statelessDefaultActions.push_back(value); return *this; } /** *The actions to take on packets that don't match any of the stateless rule * groups.
*/ inline NetworkFirewallPolicyDescription& AddStatelessDefaultActions(Aws::String&& value) { m_statelessDefaultActionsHasBeenSet = true; m_statelessDefaultActions.push_back(std::move(value)); return *this; } /** *The actions to take on packets that don't match any of the stateless rule * groups.
*/ inline NetworkFirewallPolicyDescription& AddStatelessDefaultActions(const char* value) { m_statelessDefaultActionsHasBeenSet = true; m_statelessDefaultActions.push_back(value); return *this; } /** *The actions to take on packet fragments that don't match any of the stateless * rule groups.
*/ inline const Aws::VectorThe actions to take on packet fragments that don't match any of the stateless * rule groups.
*/ inline bool StatelessFragmentDefaultActionsHasBeenSet() const { return m_statelessFragmentDefaultActionsHasBeenSet; } /** *The actions to take on packet fragments that don't match any of the stateless * rule groups.
*/ inline void SetStatelessFragmentDefaultActions(const Aws::VectorThe actions to take on packet fragments that don't match any of the stateless * rule groups.
*/ inline void SetStatelessFragmentDefaultActions(Aws::VectorThe actions to take on packet fragments that don't match any of the stateless * rule groups.
*/ inline NetworkFirewallPolicyDescription& WithStatelessFragmentDefaultActions(const Aws::VectorThe actions to take on packet fragments that don't match any of the stateless * rule groups.
*/ inline NetworkFirewallPolicyDescription& WithStatelessFragmentDefaultActions(Aws::VectorThe actions to take on packet fragments that don't match any of the stateless * rule groups.
*/ inline NetworkFirewallPolicyDescription& AddStatelessFragmentDefaultActions(const Aws::String& value) { m_statelessFragmentDefaultActionsHasBeenSet = true; m_statelessFragmentDefaultActions.push_back(value); return *this; } /** *The actions to take on packet fragments that don't match any of the stateless * rule groups.
*/ inline NetworkFirewallPolicyDescription& AddStatelessFragmentDefaultActions(Aws::String&& value) { m_statelessFragmentDefaultActionsHasBeenSet = true; m_statelessFragmentDefaultActions.push_back(std::move(value)); return *this; } /** *The actions to take on packet fragments that don't match any of the stateless * rule groups.
*/ inline NetworkFirewallPolicyDescription& AddStatelessFragmentDefaultActions(const char* value) { m_statelessFragmentDefaultActionsHasBeenSet = true; m_statelessFragmentDefaultActions.push_back(value); return *this; } /** *Names of custom actions that are available for use in the stateless default * actions settings.
*/ inline const Aws::VectorNames of custom actions that are available for use in the stateless default * actions settings.
*/ inline bool StatelessCustomActionsHasBeenSet() const { return m_statelessCustomActionsHasBeenSet; } /** *Names of custom actions that are available for use in the stateless default * actions settings.
*/ inline void SetStatelessCustomActions(const Aws::VectorNames of custom actions that are available for use in the stateless default * actions settings.
*/ inline void SetStatelessCustomActions(Aws::VectorNames of custom actions that are available for use in the stateless default * actions settings.
*/ inline NetworkFirewallPolicyDescription& WithStatelessCustomActions(const Aws::VectorNames of custom actions that are available for use in the stateless default * actions settings.
*/ inline NetworkFirewallPolicyDescription& WithStatelessCustomActions(Aws::VectorNames of custom actions that are available for use in the stateless default * actions settings.
*/ inline NetworkFirewallPolicyDescription& AddStatelessCustomActions(const Aws::String& value) { m_statelessCustomActionsHasBeenSet = true; m_statelessCustomActions.push_back(value); return *this; } /** *Names of custom actions that are available for use in the stateless default * actions settings.
*/ inline NetworkFirewallPolicyDescription& AddStatelessCustomActions(Aws::String&& value) { m_statelessCustomActionsHasBeenSet = true; m_statelessCustomActions.push_back(std::move(value)); return *this; } /** *Names of custom actions that are available for use in the stateless default * actions settings.
*/ inline NetworkFirewallPolicyDescription& AddStatelessCustomActions(const char* value) { m_statelessCustomActionsHasBeenSet = true; m_statelessCustomActions.push_back(value); return *this; } /** *The stateful rule groups that are used in the Network Firewall firewall * policy.
*/ inline const Aws::VectorThe stateful rule groups that are used in the Network Firewall firewall * policy.
*/ inline bool StatefulRuleGroupsHasBeenSet() const { return m_statefulRuleGroupsHasBeenSet; } /** *The stateful rule groups that are used in the Network Firewall firewall * policy.
*/ inline void SetStatefulRuleGroups(const Aws::VectorThe stateful rule groups that are used in the Network Firewall firewall * policy.
*/ inline void SetStatefulRuleGroups(Aws::VectorThe stateful rule groups that are used in the Network Firewall firewall * policy.
*/ inline NetworkFirewallPolicyDescription& WithStatefulRuleGroups(const Aws::VectorThe stateful rule groups that are used in the Network Firewall firewall * policy.
*/ inline NetworkFirewallPolicyDescription& WithStatefulRuleGroups(Aws::VectorThe stateful rule groups that are used in the Network Firewall firewall * policy.
*/ inline NetworkFirewallPolicyDescription& AddStatefulRuleGroups(const StatefulRuleGroup& value) { m_statefulRuleGroupsHasBeenSet = true; m_statefulRuleGroups.push_back(value); return *this; } /** *The stateful rule groups that are used in the Network Firewall firewall * policy.
*/ inline NetworkFirewallPolicyDescription& AddStatefulRuleGroups(StatefulRuleGroup&& value) { m_statefulRuleGroupsHasBeenSet = true; m_statefulRuleGroups.push_back(std::move(value)); return *this; } /** *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
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
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
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
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
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
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
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
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
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.
*/ inline const StatefulEngineOptions& GetStatefulEngineOptions() const{ return m_statefulEngineOptions; } /** *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.
*/ inline bool StatefulEngineOptionsHasBeenSet() const { return m_statefulEngineOptionsHasBeenSet; } /** *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.
*/ inline void SetStatefulEngineOptions(const StatefulEngineOptions& value) { m_statefulEngineOptionsHasBeenSet = true; m_statefulEngineOptions = value; } /** *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.
*/ inline void SetStatefulEngineOptions(StatefulEngineOptions&& value) { m_statefulEngineOptionsHasBeenSet = true; m_statefulEngineOptions = std::move(value); } /** *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.
*/ inline NetworkFirewallPolicyDescription& WithStatefulEngineOptions(const StatefulEngineOptions& value) { SetStatefulEngineOptions(value); return *this;} /** *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.
*/ inline NetworkFirewallPolicyDescription& WithStatefulEngineOptions(StatefulEngineOptions&& value) { SetStatefulEngineOptions(std::move(value)); return *this;} private: Aws::Vector