/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace WAFV2 { namespace Model { /** *

The processing guidance for an Firewall Manager rule. This is like a regular * rule Statement, but it can only contain a single rule group * reference.

See Also:

AWS * API Reference

*/ class FirewallManagerStatement { public: AWS_WAFV2_API FirewallManagerStatement(); AWS_WAFV2_API FirewallManagerStatement(Aws::Utils::Json::JsonView jsonValue); AWS_WAFV2_API FirewallManagerStatement& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_WAFV2_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

A statement used by Firewall Manager to run the rules that are defined in a * managed rule group. This is managed by Firewall Manager for an Firewall Manager * WAF policy.

*/ inline const ManagedRuleGroupStatement& GetManagedRuleGroupStatement() const{ return m_managedRuleGroupStatement; } /** *

A statement used by Firewall Manager to run the rules that are defined in a * managed rule group. This is managed by Firewall Manager for an Firewall Manager * WAF policy.

*/ inline bool ManagedRuleGroupStatementHasBeenSet() const { return m_managedRuleGroupStatementHasBeenSet; } /** *

A statement used by Firewall Manager to run the rules that are defined in a * managed rule group. This is managed by Firewall Manager for an Firewall Manager * WAF policy.

*/ inline void SetManagedRuleGroupStatement(const ManagedRuleGroupStatement& value) { m_managedRuleGroupStatementHasBeenSet = true; m_managedRuleGroupStatement = value; } /** *

A statement used by Firewall Manager to run the rules that are defined in a * managed rule group. This is managed by Firewall Manager for an Firewall Manager * WAF policy.

*/ inline void SetManagedRuleGroupStatement(ManagedRuleGroupStatement&& value) { m_managedRuleGroupStatementHasBeenSet = true; m_managedRuleGroupStatement = std::move(value); } /** *

A statement used by Firewall Manager to run the rules that are defined in a * managed rule group. This is managed by Firewall Manager for an Firewall Manager * WAF policy.

*/ inline FirewallManagerStatement& WithManagedRuleGroupStatement(const ManagedRuleGroupStatement& value) { SetManagedRuleGroupStatement(value); return *this;} /** *

A statement used by Firewall Manager to run the rules that are defined in a * managed rule group. This is managed by Firewall Manager for an Firewall Manager * WAF policy.

*/ inline FirewallManagerStatement& WithManagedRuleGroupStatement(ManagedRuleGroupStatement&& value) { SetManagedRuleGroupStatement(std::move(value)); return *this;} /** *

A statement used by Firewall Manager to run the rules that are defined in a * rule group. This is managed by Firewall Manager for an Firewall Manager WAF * policy.

*/ inline const RuleGroupReferenceStatement& GetRuleGroupReferenceStatement() const{ return m_ruleGroupReferenceStatement; } /** *

A statement used by Firewall Manager to run the rules that are defined in a * rule group. This is managed by Firewall Manager for an Firewall Manager WAF * policy.

*/ inline bool RuleGroupReferenceStatementHasBeenSet() const { return m_ruleGroupReferenceStatementHasBeenSet; } /** *

A statement used by Firewall Manager to run the rules that are defined in a * rule group. This is managed by Firewall Manager for an Firewall Manager WAF * policy.

*/ inline void SetRuleGroupReferenceStatement(const RuleGroupReferenceStatement& value) { m_ruleGroupReferenceStatementHasBeenSet = true; m_ruleGroupReferenceStatement = value; } /** *

A statement used by Firewall Manager to run the rules that are defined in a * rule group. This is managed by Firewall Manager for an Firewall Manager WAF * policy.

*/ inline void SetRuleGroupReferenceStatement(RuleGroupReferenceStatement&& value) { m_ruleGroupReferenceStatementHasBeenSet = true; m_ruleGroupReferenceStatement = std::move(value); } /** *

A statement used by Firewall Manager to run the rules that are defined in a * rule group. This is managed by Firewall Manager for an Firewall Manager WAF * policy.

*/ inline FirewallManagerStatement& WithRuleGroupReferenceStatement(const RuleGroupReferenceStatement& value) { SetRuleGroupReferenceStatement(value); return *this;} /** *

A statement used by Firewall Manager to run the rules that are defined in a * rule group. This is managed by Firewall Manager for an Firewall Manager WAF * policy.

*/ inline FirewallManagerStatement& WithRuleGroupReferenceStatement(RuleGroupReferenceStatement&& value) { SetRuleGroupReferenceStatement(std::move(value)); return *this;} private: ManagedRuleGroupStatement m_managedRuleGroupStatement; bool m_managedRuleGroupStatementHasBeenSet = false; RuleGroupReferenceStatement m_ruleGroupReferenceStatement; bool m_ruleGroupReferenceStatementHasBeenSet = false; }; } // namespace Model } // namespace WAFV2 } // namespace Aws