AWS SDK for C++

AWS SDK for C++ Version 1.11.440

Loading...
Searching...
No Matches
Statement.h
1
6#pragma once
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>
18#include <utility>
19#include <memory>
20
21namespace Aws
22{
23namespace Utils
24{
25namespace Json
26{
27 class JsonValue;
28 class JsonView;
29} // namespace Json
30} // namespace Utils
31namespace WAFV2
32{
33namespace Model
34{
35 class RateBasedStatement;
36 class AndStatement;
37 class OrStatement;
38 class NotStatement;
39 class ManagedRuleGroupStatement;
40
49 {
50 public:
51 AWS_WAFV2_API Statement();
52 AWS_WAFV2_API Statement(Aws::Utils::Json::JsonView jsonValue);
54 AWS_WAFV2_API Aws::Utils::Json::JsonValue Jsonize() const;
55
56
58
66 inline const ByteMatchStatement& GetByteMatchStatement() const{ return m_byteMatchStatement; }
67 inline bool ByteMatchStatementHasBeenSet() const { return m_byteMatchStatementHasBeenSet; }
68 inline void SetByteMatchStatement(const ByteMatchStatement& value) { m_byteMatchStatementHasBeenSet = true; m_byteMatchStatement = value; }
69 inline void SetByteMatchStatement(ByteMatchStatement&& value) { m_byteMatchStatementHasBeenSet = true; m_byteMatchStatement = std::move(value); }
70 inline Statement& WithByteMatchStatement(const ByteMatchStatement& value) { SetByteMatchStatement(value); return *this;}
71 inline Statement& WithByteMatchStatement(ByteMatchStatement&& value) { SetByteMatchStatement(std::move(value)); return *this;}
73
75
80 inline const SqliMatchStatement& GetSqliMatchStatement() const{ return m_sqliMatchStatement; }
81 inline bool SqliMatchStatementHasBeenSet() const { return m_sqliMatchStatementHasBeenSet; }
82 inline void SetSqliMatchStatement(const SqliMatchStatement& value) { m_sqliMatchStatementHasBeenSet = true; m_sqliMatchStatement = value; }
83 inline void SetSqliMatchStatement(SqliMatchStatement&& value) { m_sqliMatchStatementHasBeenSet = true; m_sqliMatchStatement = std::move(value); }
84 inline Statement& WithSqliMatchStatement(const SqliMatchStatement& value) { SetSqliMatchStatement(value); return *this;}
85 inline Statement& WithSqliMatchStatement(SqliMatchStatement&& value) { SetSqliMatchStatement(std::move(value)); return *this;}
87
89
94 inline const XssMatchStatement& GetXssMatchStatement() const{ return m_xssMatchStatement; }
95 inline bool XssMatchStatementHasBeenSet() const { return m_xssMatchStatementHasBeenSet; }
96 inline void SetXssMatchStatement(const XssMatchStatement& value) { m_xssMatchStatementHasBeenSet = true; m_xssMatchStatement = value; }
97 inline void SetXssMatchStatement(XssMatchStatement&& value) { m_xssMatchStatementHasBeenSet = true; m_xssMatchStatement = std::move(value); }
98 inline Statement& WithXssMatchStatement(const XssMatchStatement& value) { SetXssMatchStatement(value); return *this;}
99 inline Statement& WithXssMatchStatement(XssMatchStatement&& value) { SetXssMatchStatement(std::move(value)); return *this;}
101
103
119 inline const SizeConstraintStatement& GetSizeConstraintStatement() const{ return m_sizeConstraintStatement; }
120 inline bool SizeConstraintStatementHasBeenSet() const { return m_sizeConstraintStatementHasBeenSet; }
121 inline void SetSizeConstraintStatement(const SizeConstraintStatement& value) { m_sizeConstraintStatementHasBeenSet = true; m_sizeConstraintStatement = value; }
122 inline void SetSizeConstraintStatement(SizeConstraintStatement&& value) { m_sizeConstraintStatementHasBeenSet = true; m_sizeConstraintStatement = std::move(value); }
126
128
154 inline const GeoMatchStatement& GetGeoMatchStatement() const{ return m_geoMatchStatement; }
155 inline bool GeoMatchStatementHasBeenSet() const { return m_geoMatchStatementHasBeenSet; }
156 inline void SetGeoMatchStatement(const GeoMatchStatement& value) { m_geoMatchStatementHasBeenSet = true; m_geoMatchStatement = value; }
157 inline void SetGeoMatchStatement(GeoMatchStatement&& value) { m_geoMatchStatementHasBeenSet = true; m_geoMatchStatement = std::move(value); }
158 inline Statement& WithGeoMatchStatement(const GeoMatchStatement& value) { SetGeoMatchStatement(value); return *this;}
159 inline Statement& WithGeoMatchStatement(GeoMatchStatement&& value) { SetGeoMatchStatement(std::move(value)); return *this;}
161
163
173 inline const RuleGroupReferenceStatement& GetRuleGroupReferenceStatement() const{ return m_ruleGroupReferenceStatement; }
174 inline bool RuleGroupReferenceStatementHasBeenSet() const { return m_ruleGroupReferenceStatementHasBeenSet; }
175 inline void SetRuleGroupReferenceStatement(const RuleGroupReferenceStatement& value) { m_ruleGroupReferenceStatementHasBeenSet = true; m_ruleGroupReferenceStatement = value; }
176 inline void SetRuleGroupReferenceStatement(RuleGroupReferenceStatement&& value) { m_ruleGroupReferenceStatementHasBeenSet = true; m_ruleGroupReferenceStatement = std::move(value); }
180
182
192 inline const IPSetReferenceStatement& GetIPSetReferenceStatement() const{ return m_iPSetReferenceStatement; }
193 inline bool IPSetReferenceStatementHasBeenSet() const { return m_iPSetReferenceStatementHasBeenSet; }
194 inline void SetIPSetReferenceStatement(const IPSetReferenceStatement& value) { m_iPSetReferenceStatementHasBeenSet = true; m_iPSetReferenceStatement = value; }
195 inline void SetIPSetReferenceStatement(IPSetReferenceStatement&& value) { m_iPSetReferenceStatementHasBeenSet = true; m_iPSetReferenceStatement = std::move(value); }
199
201
213 inline const RegexPatternSetReferenceStatement& GetRegexPatternSetReferenceStatement() const{ return m_regexPatternSetReferenceStatement; }
214 inline bool RegexPatternSetReferenceStatementHasBeenSet() const { return m_regexPatternSetReferenceStatementHasBeenSet; }
215 inline void SetRegexPatternSetReferenceStatement(const RegexPatternSetReferenceStatement& value) { m_regexPatternSetReferenceStatementHasBeenSet = true; m_regexPatternSetReferenceStatement = value; }
216 inline void SetRegexPatternSetReferenceStatement(RegexPatternSetReferenceStatement&& value) { m_regexPatternSetReferenceStatementHasBeenSet = true; m_regexPatternSetReferenceStatement = std::move(value); }
220
222
284 AWS_WAFV2_API const RateBasedStatement& GetRateBasedStatement() const;
285 AWS_WAFV2_API bool RateBasedStatementHasBeenSet() const;
286 AWS_WAFV2_API void SetRateBasedStatement(const RateBasedStatement& value);
287 AWS_WAFV2_API void SetRateBasedStatement(RateBasedStatement&& value);
291
293
298 AWS_WAFV2_API const AndStatement& GetAndStatement() const;
299 AWS_WAFV2_API bool AndStatementHasBeenSet() const;
300 AWS_WAFV2_API void SetAndStatement(const AndStatement& value);
301 AWS_WAFV2_API void SetAndStatement(AndStatement&& value);
302 AWS_WAFV2_API Statement& WithAndStatement(const AndStatement& value);
303 AWS_WAFV2_API Statement& WithAndStatement(AndStatement&& value);
305
307
312 AWS_WAFV2_API const OrStatement& GetOrStatement() const;
313 AWS_WAFV2_API bool OrStatementHasBeenSet() const;
314 AWS_WAFV2_API void SetOrStatement(const OrStatement& value);
315 AWS_WAFV2_API void SetOrStatement(OrStatement&& value);
316 AWS_WAFV2_API Statement& WithOrStatement(const OrStatement& value);
317 AWS_WAFV2_API Statement& WithOrStatement(OrStatement&& value);
319
321
326 AWS_WAFV2_API const NotStatement& GetNotStatement() const;
327 AWS_WAFV2_API bool NotStatementHasBeenSet() const;
328 AWS_WAFV2_API void SetNotStatement(const NotStatement& value);
329 AWS_WAFV2_API void SetNotStatement(NotStatement&& value);
330 AWS_WAFV2_API Statement& WithNotStatement(const NotStatement& value);
331 AWS_WAFV2_API Statement& WithNotStatement(NotStatement&& value);
333
335
353 AWS_WAFV2_API bool ManagedRuleGroupStatementHasBeenSet() const;
359
361
372 inline const LabelMatchStatement& GetLabelMatchStatement() const{ return m_labelMatchStatement; }
373 inline bool LabelMatchStatementHasBeenSet() const { return m_labelMatchStatementHasBeenSet; }
374 inline void SetLabelMatchStatement(const LabelMatchStatement& value) { m_labelMatchStatementHasBeenSet = true; m_labelMatchStatement = value; }
375 inline void SetLabelMatchStatement(LabelMatchStatement&& value) { m_labelMatchStatementHasBeenSet = true; m_labelMatchStatement = std::move(value); }
377 inline Statement& WithLabelMatchStatement(LabelMatchStatement&& value) { SetLabelMatchStatement(std::move(value)); return *this;}
379
381
385 inline const RegexMatchStatement& GetRegexMatchStatement() const{ return m_regexMatchStatement; }
386 inline bool RegexMatchStatementHasBeenSet() const { return m_regexMatchStatementHasBeenSet; }
387 inline void SetRegexMatchStatement(const RegexMatchStatement& value) { m_regexMatchStatementHasBeenSet = true; m_regexMatchStatement = value; }
388 inline void SetRegexMatchStatement(RegexMatchStatement&& value) { m_regexMatchStatementHasBeenSet = true; m_regexMatchStatement = std::move(value); }
390 inline Statement& WithRegexMatchStatement(RegexMatchStatement&& value) { SetRegexMatchStatement(std::move(value)); return *this;}
392 private:
393
394 ByteMatchStatement m_byteMatchStatement;
395 bool m_byteMatchStatementHasBeenSet = false;
396
397 SqliMatchStatement m_sqliMatchStatement;
398 bool m_sqliMatchStatementHasBeenSet = false;
399
400 XssMatchStatement m_xssMatchStatement;
401 bool m_xssMatchStatementHasBeenSet = false;
402
403 SizeConstraintStatement m_sizeConstraintStatement;
404 bool m_sizeConstraintStatementHasBeenSet = false;
405
406 GeoMatchStatement m_geoMatchStatement;
407 bool m_geoMatchStatementHasBeenSet = false;
408
409 RuleGroupReferenceStatement m_ruleGroupReferenceStatement;
410 bool m_ruleGroupReferenceStatementHasBeenSet = false;
411
412 IPSetReferenceStatement m_iPSetReferenceStatement;
413 bool m_iPSetReferenceStatementHasBeenSet = false;
414
415 RegexPatternSetReferenceStatement m_regexPatternSetReferenceStatement;
416 bool m_regexPatternSetReferenceStatementHasBeenSet = false;
417
418 std::shared_ptr<RateBasedStatement> m_rateBasedStatement;
419 bool m_rateBasedStatementHasBeenSet = false;
420
421 std::shared_ptr<AndStatement> m_andStatement;
422 bool m_andStatementHasBeenSet = false;
423
424 std::shared_ptr<OrStatement> m_orStatement;
425 bool m_orStatementHasBeenSet = false;
426
427 std::shared_ptr<NotStatement> m_notStatement;
428 bool m_notStatementHasBeenSet = false;
429
430 std::shared_ptr<ManagedRuleGroupStatement> m_managedRuleGroupStatement;
431 bool m_managedRuleGroupStatementHasBeenSet = false;
432
433 LabelMatchStatement m_labelMatchStatement;
434 bool m_labelMatchStatementHasBeenSet = false;
435
436 RegexMatchStatement m_regexMatchStatement;
437 bool m_regexMatchStatementHasBeenSet = false;
438 };
439
440} // namespace Model
441} // namespace WAFV2
442} // namespace Aws
AWS_WAFV2_API void SetRateBasedStatement(RateBasedStatement &&value)
bool XssMatchStatementHasBeenSet() const
Definition Statement.h:95
AWS_WAFV2_API Aws::Utils::Json::JsonValue Jsonize() const
void SetIPSetReferenceStatement(IPSetReferenceStatement &&value)
Definition Statement.h:195
Statement & WithRuleGroupReferenceStatement(const RuleGroupReferenceStatement &value)
Definition Statement.h:177
AWS_WAFV2_API const OrStatement & GetOrStatement() const
Statement & WithRegexMatchStatement(const RegexMatchStatement &value)
Definition Statement.h:389
const LabelMatchStatement & GetLabelMatchStatement() const
Definition Statement.h:372
void SetSqliMatchStatement(SqliMatchStatement &&value)
Definition Statement.h:83
bool SizeConstraintStatementHasBeenSet() const
Definition Statement.h:120
Statement & WithSqliMatchStatement(const SqliMatchStatement &value)
Definition Statement.h:84
void SetIPSetReferenceStatement(const IPSetReferenceStatement &value)
Definition Statement.h:194
Statement & WithRuleGroupReferenceStatement(RuleGroupReferenceStatement &&value)
Definition Statement.h:178
AWS_WAFV2_API Statement & WithRateBasedStatement(const RateBasedStatement &value)
AWS_WAFV2_API Statement & WithManagedRuleGroupStatement(const ManagedRuleGroupStatement &value)
bool LabelMatchStatementHasBeenSet() const
Definition Statement.h:373
AWS_WAFV2_API bool NotStatementHasBeenSet() const
AWS_WAFV2_API Statement & WithManagedRuleGroupStatement(ManagedRuleGroupStatement &&value)
const RegexMatchStatement & GetRegexMatchStatement() const
Definition Statement.h:385
AWS_WAFV2_API Statement & WithNotStatement(NotStatement &&value)
Statement & WithRegexPatternSetReferenceStatement(const RegexPatternSetReferenceStatement &value)
Definition Statement.h:217
bool SqliMatchStatementHasBeenSet() const
Definition Statement.h:81
AWS_WAFV2_API bool AndStatementHasBeenSet() const
Statement & WithGeoMatchStatement(GeoMatchStatement &&value)
Definition Statement.h:159
void SetRuleGroupReferenceStatement(const RuleGroupReferenceStatement &value)
Definition Statement.h:175
AWS_WAFV2_API Statement & operator=(Aws::Utils::Json::JsonView jsonValue)
Statement & WithSizeConstraintStatement(const SizeConstraintStatement &value)
Definition Statement.h:123
bool RuleGroupReferenceStatementHasBeenSet() const
Definition Statement.h:174
const SqliMatchStatement & GetSqliMatchStatement() const
Definition Statement.h:80
const RegexPatternSetReferenceStatement & GetRegexPatternSetReferenceStatement() const
Definition Statement.h:213
Statement & WithRegexMatchStatement(RegexMatchStatement &&value)
Definition Statement.h:390
AWS_WAFV2_API const RateBasedStatement & GetRateBasedStatement() const
AWS_WAFV2_API void SetManagedRuleGroupStatement(const ManagedRuleGroupStatement &value)
bool RegexPatternSetReferenceStatementHasBeenSet() const
Definition Statement.h:214
AWS_WAFV2_API void SetOrStatement(OrStatement &&value)
void SetXssMatchStatement(const XssMatchStatement &value)
Definition Statement.h:96
const ByteMatchStatement & GetByteMatchStatement() const
Definition Statement.h:66
const IPSetReferenceStatement & GetIPSetReferenceStatement() const
Definition Statement.h:192
void SetRuleGroupReferenceStatement(RuleGroupReferenceStatement &&value)
Definition Statement.h:176
bool RegexMatchStatementHasBeenSet() const
Definition Statement.h:386
AWS_WAFV2_API void SetRateBasedStatement(const RateBasedStatement &value)
bool GeoMatchStatementHasBeenSet() const
Definition Statement.h:155
void SetRegexMatchStatement(RegexMatchStatement &&value)
Definition Statement.h:388
AWS_WAFV2_API void SetNotStatement(const NotStatement &value)
AWS_WAFV2_API Statement & WithOrStatement(OrStatement &&value)
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)
Definition Statement.h:375
void SetByteMatchStatement(const ByteMatchStatement &value)
Definition Statement.h:68
Statement & WithByteMatchStatement(const ByteMatchStatement &value)
Definition Statement.h:70
AWS_WAFV2_API const ManagedRuleGroupStatement & GetManagedRuleGroupStatement() const
Statement & WithByteMatchStatement(ByteMatchStatement &&value)
Definition Statement.h:71
AWS_WAFV2_API bool ManagedRuleGroupStatementHasBeenSet() const
AWS_WAFV2_API Statement & WithRateBasedStatement(RateBasedStatement &&value)
Statement & WithIPSetReferenceStatement(const IPSetReferenceStatement &value)
Definition Statement.h:196
void SetSizeConstraintStatement(SizeConstraintStatement &&value)
Definition Statement.h:122
const XssMatchStatement & GetXssMatchStatement() const
Definition Statement.h:94
Statement & WithXssMatchStatement(XssMatchStatement &&value)
Definition Statement.h:99
void SetXssMatchStatement(XssMatchStatement &&value)
Definition Statement.h:97
bool ByteMatchStatementHasBeenSet() const
Definition Statement.h:67
Statement & WithLabelMatchStatement(const LabelMatchStatement &value)
Definition Statement.h:376
AWS_WAFV2_API void SetOrStatement(const OrStatement &value)
AWS_WAFV2_API const AndStatement & GetAndStatement() const
void SetByteMatchStatement(ByteMatchStatement &&value)
Definition Statement.h:69
const GeoMatchStatement & GetGeoMatchStatement() const
Definition Statement.h:154
void SetGeoMatchStatement(const GeoMatchStatement &value)
Definition Statement.h:156
void SetRegexPatternSetReferenceStatement(const RegexPatternSetReferenceStatement &value)
Definition Statement.h:215
const SizeConstraintStatement & GetSizeConstraintStatement() const
Definition Statement.h:119
AWS_WAFV2_API void SetManagedRuleGroupStatement(ManagedRuleGroupStatement &&value)
Statement & WithSqliMatchStatement(SqliMatchStatement &&value)
Definition Statement.h:85
void SetRegexMatchStatement(const RegexMatchStatement &value)
Definition Statement.h:387
AWS_WAFV2_API Statement & WithNotStatement(const NotStatement &value)
AWS_WAFV2_API void SetNotStatement(NotStatement &&value)
void SetRegexPatternSetReferenceStatement(RegexPatternSetReferenceStatement &&value)
Definition Statement.h:216
const RuleGroupReferenceStatement & GetRuleGroupReferenceStatement() const
Definition Statement.h:173
Statement & WithSizeConstraintStatement(SizeConstraintStatement &&value)
Definition Statement.h:124
void SetGeoMatchStatement(GeoMatchStatement &&value)
Definition Statement.h:157
Statement & WithIPSetReferenceStatement(IPSetReferenceStatement &&value)
Definition Statement.h:197
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)
Definition Statement.h:158
Statement & WithXssMatchStatement(const XssMatchStatement &value)
Definition Statement.h:98
Statement & WithRegexPatternSetReferenceStatement(RegexPatternSetReferenceStatement &&value)
Definition Statement.h:218
void SetSizeConstraintStatement(const SizeConstraintStatement &value)
Definition Statement.h:121
AWS_WAFV2_API Statement & WithAndStatement(const AndStatement &value)
void SetSqliMatchStatement(const SqliMatchStatement &value)
Definition Statement.h:82
void SetLabelMatchStatement(const LabelMatchStatement &value)
Definition Statement.h:374
bool IPSetReferenceStatementHasBeenSet() const
Definition Statement.h:193
AWS_WAFV2_API Statement & WithOrStatement(const OrStatement &value)
Statement & WithLabelMatchStatement(LabelMatchStatement &&value)
Definition Statement.h:377
Aws::Utils::Json::JsonValue JsonValue