AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
RuleGroupReferenceStatement.h
1
6#pragma once
7#include <aws/wafv2/WAFV2_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/wafv2/model/ExcludedRule.h>
11#include <aws/wafv2/model/RuleActionOverride.h>
12#include <utility>
13
14namespace Aws
15{
16namespace Utils
17{
18namespace Json
19{
20 class JsonValue;
21 class JsonView;
22} // namespace Json
23} // namespace Utils
24namespace WAFV2
25{
26namespace Model
27{
28
42 {
43 public:
44 AWS_WAFV2_API RuleGroupReferenceStatement() = default;
47 AWS_WAFV2_API Aws::Utils::Json::JsonValue Jsonize() const;
48
49
51
54 inline const Aws::String& GetARN() const { return m_aRN; }
55 inline bool ARNHasBeenSet() const { return m_aRNHasBeenSet; }
56 template<typename ARNT = Aws::String>
57 void SetARN(ARNT&& value) { m_aRNHasBeenSet = true; m_aRN = std::forward<ARNT>(value); }
58 template<typename ARNT = Aws::String>
59 RuleGroupReferenceStatement& WithARN(ARNT&& value) { SetARN(std::forward<ARNT>(value)); return *this;}
61
63
69 inline const Aws::Vector<ExcludedRule>& GetExcludedRules() const { return m_excludedRules; }
70 inline bool ExcludedRulesHasBeenSet() const { return m_excludedRulesHasBeenSet; }
71 template<typename ExcludedRulesT = Aws::Vector<ExcludedRule>>
72 void SetExcludedRules(ExcludedRulesT&& value) { m_excludedRulesHasBeenSet = true; m_excludedRules = std::forward<ExcludedRulesT>(value); }
73 template<typename ExcludedRulesT = Aws::Vector<ExcludedRule>>
74 RuleGroupReferenceStatement& WithExcludedRules(ExcludedRulesT&& value) { SetExcludedRules(std::forward<ExcludedRulesT>(value)); return *this;}
75 template<typename ExcludedRulesT = ExcludedRule>
76 RuleGroupReferenceStatement& AddExcludedRules(ExcludedRulesT&& value) { m_excludedRulesHasBeenSet = true; m_excludedRules.emplace_back(std::forward<ExcludedRulesT>(value)); return *this; }
78
80
94 inline const Aws::Vector<RuleActionOverride>& GetRuleActionOverrides() const { return m_ruleActionOverrides; }
95 inline bool RuleActionOverridesHasBeenSet() const { return m_ruleActionOverridesHasBeenSet; }
96 template<typename RuleActionOverridesT = Aws::Vector<RuleActionOverride>>
97 void SetRuleActionOverrides(RuleActionOverridesT&& value) { m_ruleActionOverridesHasBeenSet = true; m_ruleActionOverrides = std::forward<RuleActionOverridesT>(value); }
98 template<typename RuleActionOverridesT = Aws::Vector<RuleActionOverride>>
99 RuleGroupReferenceStatement& WithRuleActionOverrides(RuleActionOverridesT&& value) { SetRuleActionOverrides(std::forward<RuleActionOverridesT>(value)); return *this;}
100 template<typename RuleActionOverridesT = RuleActionOverride>
101 RuleGroupReferenceStatement& AddRuleActionOverrides(RuleActionOverridesT&& value) { m_ruleActionOverridesHasBeenSet = true; m_ruleActionOverrides.emplace_back(std::forward<RuleActionOverridesT>(value)); return *this; }
103 private:
104
105 Aws::String m_aRN;
106 bool m_aRNHasBeenSet = false;
107
108 Aws::Vector<ExcludedRule> m_excludedRules;
109 bool m_excludedRulesHasBeenSet = false;
110
111 Aws::Vector<RuleActionOverride> m_ruleActionOverrides;
112 bool m_ruleActionOverridesHasBeenSet = false;
113 };
114
115} // namespace Model
116} // namespace WAFV2
117} // namespace Aws
RuleGroupReferenceStatement & WithRuleActionOverrides(RuleActionOverridesT &&value)
AWS_WAFV2_API RuleGroupReferenceStatement()=default
RuleGroupReferenceStatement & WithARN(ARNT &&value)
RuleGroupReferenceStatement & AddRuleActionOverrides(RuleActionOverridesT &&value)
const Aws::Vector< ExcludedRule > & GetExcludedRules() const
AWS_WAFV2_API RuleGroupReferenceStatement & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_WAFV2_API RuleGroupReferenceStatement(Aws::Utils::Json::JsonView jsonValue)
RuleGroupReferenceStatement & AddExcludedRules(ExcludedRulesT &&value)
const Aws::Vector< RuleActionOverride > & GetRuleActionOverrides() const
AWS_WAFV2_API Aws::Utils::Json::JsonValue Jsonize() const
void SetRuleActionOverrides(RuleActionOverridesT &&value)
RuleGroupReferenceStatement & WithExcludedRules(ExcludedRulesT &&value)
std::shared_ptr< T > MakeShared(const char *allocationTag, ArgTypes &&... args)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue