7#include <aws/wafv2/WAFV2_EXPORTS.h>
8#include <aws/wafv2/model/ByteMatchStatement.h>
9#include <aws/wafv2/model/SqliMatchStatement.h>
10#include <aws/wafv2/model/XssMatchStatement.h>
11#include <aws/wafv2/model/SizeConstraintStatement.h>
12#include <aws/wafv2/model/GeoMatchStatement.h>
13#include <aws/wafv2/model/RuleGroupReferenceStatement.h>
14#include <aws/wafv2/model/IPSetReferenceStatement.h>
15#include <aws/wafv2/model/RegexPatternSetReferenceStatement.h>
16#include <aws/wafv2/model/LabelMatchStatement.h>
17#include <aws/wafv2/model/RegexMatchStatement.h>
35 class RateBasedStatement;
39 class ManagedRuleGroupStatement;
395 bool m_byteMatchStatementHasBeenSet =
false;
398 bool m_sqliMatchStatementHasBeenSet =
false;
401 bool m_xssMatchStatementHasBeenSet =
false;
404 bool m_sizeConstraintStatementHasBeenSet =
false;
407 bool m_geoMatchStatementHasBeenSet =
false;
410 bool m_ruleGroupReferenceStatementHasBeenSet =
false;
413 bool m_iPSetReferenceStatementHasBeenSet =
false;
416 bool m_regexPatternSetReferenceStatementHasBeenSet =
false;
418 std::shared_ptr<RateBasedStatement> m_rateBasedStatement;
419 bool m_rateBasedStatementHasBeenSet =
false;
421 std::shared_ptr<AndStatement> m_andStatement;
422 bool m_andStatementHasBeenSet =
false;
424 std::shared_ptr<OrStatement> m_orStatement;
425 bool m_orStatementHasBeenSet =
false;
427 std::shared_ptr<NotStatement> m_notStatement;
428 bool m_notStatementHasBeenSet =
false;
430 std::shared_ptr<ManagedRuleGroupStatement> m_managedRuleGroupStatement;
431 bool m_managedRuleGroupStatementHasBeenSet =
false;
434 bool m_labelMatchStatementHasBeenSet =
false;
437 bool m_regexMatchStatementHasBeenSet =
false;
AWS_WAFV2_API void SetRateBasedStatement(RateBasedStatement &&value)
bool XssMatchStatementHasBeenSet() const
AWS_WAFV2_API Aws::Utils::Json::JsonValue Jsonize() const
void SetIPSetReferenceStatement(IPSetReferenceStatement &&value)
Statement & WithRuleGroupReferenceStatement(const RuleGroupReferenceStatement &value)
AWS_WAFV2_API const OrStatement & GetOrStatement() const
Statement & WithRegexMatchStatement(const RegexMatchStatement &value)
const LabelMatchStatement & GetLabelMatchStatement() const
void SetSqliMatchStatement(SqliMatchStatement &&value)
bool SizeConstraintStatementHasBeenSet() const
Statement & WithSqliMatchStatement(const SqliMatchStatement &value)
void SetIPSetReferenceStatement(const IPSetReferenceStatement &value)
Statement & WithRuleGroupReferenceStatement(RuleGroupReferenceStatement &&value)
AWS_WAFV2_API Statement & WithRateBasedStatement(const RateBasedStatement &value)
AWS_WAFV2_API Statement & WithManagedRuleGroupStatement(const ManagedRuleGroupStatement &value)
bool LabelMatchStatementHasBeenSet() const
AWS_WAFV2_API bool NotStatementHasBeenSet() const
AWS_WAFV2_API Statement & WithManagedRuleGroupStatement(ManagedRuleGroupStatement &&value)
const RegexMatchStatement & GetRegexMatchStatement() const
AWS_WAFV2_API Statement & WithNotStatement(NotStatement &&value)
Statement & WithRegexPatternSetReferenceStatement(const RegexPatternSetReferenceStatement &value)
bool SqliMatchStatementHasBeenSet() const
AWS_WAFV2_API bool AndStatementHasBeenSet() const
Statement & WithGeoMatchStatement(GeoMatchStatement &&value)
void SetRuleGroupReferenceStatement(const RuleGroupReferenceStatement &value)
AWS_WAFV2_API Statement & operator=(Aws::Utils::Json::JsonView jsonValue)
Statement & WithSizeConstraintStatement(const SizeConstraintStatement &value)
bool RuleGroupReferenceStatementHasBeenSet() const
const SqliMatchStatement & GetSqliMatchStatement() const
const RegexPatternSetReferenceStatement & GetRegexPatternSetReferenceStatement() const
Statement & WithRegexMatchStatement(RegexMatchStatement &&value)
AWS_WAFV2_API const RateBasedStatement & GetRateBasedStatement() const
AWS_WAFV2_API void SetManagedRuleGroupStatement(const ManagedRuleGroupStatement &value)
bool RegexPatternSetReferenceStatementHasBeenSet() const
AWS_WAFV2_API void SetOrStatement(OrStatement &&value)
void SetXssMatchStatement(const XssMatchStatement &value)
const ByteMatchStatement & GetByteMatchStatement() const
const IPSetReferenceStatement & GetIPSetReferenceStatement() const
void SetRuleGroupReferenceStatement(RuleGroupReferenceStatement &&value)
bool RegexMatchStatementHasBeenSet() const
AWS_WAFV2_API void SetRateBasedStatement(const RateBasedStatement &value)
bool GeoMatchStatementHasBeenSet() const
void SetRegexMatchStatement(RegexMatchStatement &&value)
AWS_WAFV2_API void SetNotStatement(const NotStatement &value)
AWS_WAFV2_API Statement & WithOrStatement(OrStatement &&value)
AWS_WAFV2_API Statement()
AWS_WAFV2_API bool OrStatementHasBeenSet() const
AWS_WAFV2_API void SetAndStatement(AndStatement &&value)
AWS_WAFV2_API Statement & WithAndStatement(AndStatement &&value)
AWS_WAFV2_API const NotStatement & GetNotStatement() const
void SetLabelMatchStatement(LabelMatchStatement &&value)
void SetByteMatchStatement(const ByteMatchStatement &value)
Statement & WithByteMatchStatement(const ByteMatchStatement &value)
AWS_WAFV2_API const ManagedRuleGroupStatement & GetManagedRuleGroupStatement() const
Statement & WithByteMatchStatement(ByteMatchStatement &&value)
AWS_WAFV2_API bool ManagedRuleGroupStatementHasBeenSet() const
AWS_WAFV2_API Statement & WithRateBasedStatement(RateBasedStatement &&value)
Statement & WithIPSetReferenceStatement(const IPSetReferenceStatement &value)
void SetSizeConstraintStatement(SizeConstraintStatement &&value)
const XssMatchStatement & GetXssMatchStatement() const
Statement & WithXssMatchStatement(XssMatchStatement &&value)
void SetXssMatchStatement(XssMatchStatement &&value)
bool ByteMatchStatementHasBeenSet() const
Statement & WithLabelMatchStatement(const LabelMatchStatement &value)
AWS_WAFV2_API void SetOrStatement(const OrStatement &value)
AWS_WAFV2_API const AndStatement & GetAndStatement() const
void SetByteMatchStatement(ByteMatchStatement &&value)
const GeoMatchStatement & GetGeoMatchStatement() const
void SetGeoMatchStatement(const GeoMatchStatement &value)
void SetRegexPatternSetReferenceStatement(const RegexPatternSetReferenceStatement &value)
const SizeConstraintStatement & GetSizeConstraintStatement() const
AWS_WAFV2_API void SetManagedRuleGroupStatement(ManagedRuleGroupStatement &&value)
Statement & WithSqliMatchStatement(SqliMatchStatement &&value)
void SetRegexMatchStatement(const RegexMatchStatement &value)
AWS_WAFV2_API Statement & WithNotStatement(const NotStatement &value)
AWS_WAFV2_API void SetNotStatement(NotStatement &&value)
void SetRegexPatternSetReferenceStatement(RegexPatternSetReferenceStatement &&value)
const RuleGroupReferenceStatement & GetRuleGroupReferenceStatement() const
Statement & WithSizeConstraintStatement(SizeConstraintStatement &&value)
void SetGeoMatchStatement(GeoMatchStatement &&value)
Statement & WithIPSetReferenceStatement(IPSetReferenceStatement &&value)
AWS_WAFV2_API void SetAndStatement(const AndStatement &value)
AWS_WAFV2_API Statement(Aws::Utils::Json::JsonView jsonValue)
AWS_WAFV2_API bool RateBasedStatementHasBeenSet() const
Statement & WithGeoMatchStatement(const GeoMatchStatement &value)
Statement & WithXssMatchStatement(const XssMatchStatement &value)
Statement & WithRegexPatternSetReferenceStatement(RegexPatternSetReferenceStatement &&value)
void SetSizeConstraintStatement(const SizeConstraintStatement &value)
AWS_WAFV2_API Statement & WithAndStatement(const AndStatement &value)
void SetSqliMatchStatement(const SqliMatchStatement &value)
void SetLabelMatchStatement(const LabelMatchStatement &value)
bool IPSetReferenceStatementHasBeenSet() const
AWS_WAFV2_API Statement & WithOrStatement(const OrStatement &value)
Statement & WithLabelMatchStatement(LabelMatchStatement &&value)
Aws::Utils::Json::JsonValue JsonValue