AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
ManagedRuleGroupStatement.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/ManagedRuleGroupConfig.h>
12#include <aws/wafv2/model/RuleActionOverride.h>
13#include <aws/core/utils/memory/stl/AWSAllocator.h>
14#include <utility>
15
16namespace Aws
17{
18namespace Utils
19{
20namespace Json
21{
22 class JsonValue;
23 class JsonView;
24} // namespace Json
25} // namespace Utils
26namespace WAFV2
27{
28namespace Model
29{
30 class Statement;
31
53 {
54 public:
55 AWS_WAFV2_API ManagedRuleGroupStatement() = default;
58 AWS_WAFV2_API Aws::Utils::Json::JsonValue Jsonize() const;
59
60
62
66 inline const Aws::String& GetVendorName() const { return m_vendorName; }
67 inline bool VendorNameHasBeenSet() const { return m_vendorNameHasBeenSet; }
68 template<typename VendorNameT = Aws::String>
69 void SetVendorName(VendorNameT&& value) { m_vendorNameHasBeenSet = true; m_vendorName = std::forward<VendorNameT>(value); }
70 template<typename VendorNameT = Aws::String>
71 ManagedRuleGroupStatement& WithVendorName(VendorNameT&& value) { SetVendorName(std::forward<VendorNameT>(value)); return *this;}
73
75
79 inline const Aws::String& GetName() const { return m_name; }
80 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
81 template<typename NameT = Aws::String>
82 void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward<NameT>(value); }
83 template<typename NameT = Aws::String>
84 ManagedRuleGroupStatement& WithName(NameT&& value) { SetName(std::forward<NameT>(value)); return *this;}
86
88
94 inline const Aws::String& GetVersion() const { return m_version; }
95 inline bool VersionHasBeenSet() const { return m_versionHasBeenSet; }
96 template<typename VersionT = Aws::String>
97 void SetVersion(VersionT&& value) { m_versionHasBeenSet = true; m_version = std::forward<VersionT>(value); }
98 template<typename VersionT = Aws::String>
99 ManagedRuleGroupStatement& WithVersion(VersionT&& value) { SetVersion(std::forward<VersionT>(value)); return *this;}
101
103
109 inline const Aws::Vector<ExcludedRule>& GetExcludedRules() const { return m_excludedRules; }
110 inline bool ExcludedRulesHasBeenSet() const { return m_excludedRulesHasBeenSet; }
111 template<typename ExcludedRulesT = Aws::Vector<ExcludedRule>>
112 void SetExcludedRules(ExcludedRulesT&& value) { m_excludedRulesHasBeenSet = true; m_excludedRules = std::forward<ExcludedRulesT>(value); }
113 template<typename ExcludedRulesT = Aws::Vector<ExcludedRule>>
114 ManagedRuleGroupStatement& WithExcludedRules(ExcludedRulesT&& value) { SetExcludedRules(std::forward<ExcludedRulesT>(value)); return *this;}
115 template<typename ExcludedRulesT = ExcludedRule>
116 ManagedRuleGroupStatement& AddExcludedRules(ExcludedRulesT&& value) { m_excludedRulesHasBeenSet = true; m_excludedRules.emplace_back(std::forward<ExcludedRulesT>(value)); return *this; }
118
120
127 inline const Statement& GetScopeDownStatement() const{
128 return *m_scopeDownStatement;
129 }
130 inline bool ScopeDownStatementHasBeenSet() const { return m_scopeDownStatementHasBeenSet; }
131 template<typename ScopeDownStatementT = Statement>
132 void SetScopeDownStatement(ScopeDownStatementT&& value) {
133 m_scopeDownStatementHasBeenSet = true;
134 m_scopeDownStatement = Aws::MakeShared<Statement>("ManagedRuleGroupStatement", std::forward<ScopeDownStatementT>(value));
135 }
136 template<typename ScopeDownStatementT = Statement>
137 ManagedRuleGroupStatement& WithScopeDownStatement(ScopeDownStatementT&& value) { SetScopeDownStatement(std::forward<ScopeDownStatementT>(value)); return *this;}
139
141
163 inline const Aws::Vector<ManagedRuleGroupConfig>& GetManagedRuleGroupConfigs() const { return m_managedRuleGroupConfigs; }
164 inline bool ManagedRuleGroupConfigsHasBeenSet() const { return m_managedRuleGroupConfigsHasBeenSet; }
165 template<typename ManagedRuleGroupConfigsT = Aws::Vector<ManagedRuleGroupConfig>>
166 void SetManagedRuleGroupConfigs(ManagedRuleGroupConfigsT&& value) { m_managedRuleGroupConfigsHasBeenSet = true; m_managedRuleGroupConfigs = std::forward<ManagedRuleGroupConfigsT>(value); }
167 template<typename ManagedRuleGroupConfigsT = Aws::Vector<ManagedRuleGroupConfig>>
168 ManagedRuleGroupStatement& WithManagedRuleGroupConfigs(ManagedRuleGroupConfigsT&& value) { SetManagedRuleGroupConfigs(std::forward<ManagedRuleGroupConfigsT>(value)); return *this;}
169 template<typename ManagedRuleGroupConfigsT = ManagedRuleGroupConfig>
170 ManagedRuleGroupStatement& AddManagedRuleGroupConfigs(ManagedRuleGroupConfigsT&& value) { m_managedRuleGroupConfigsHasBeenSet = true; m_managedRuleGroupConfigs.emplace_back(std::forward<ManagedRuleGroupConfigsT>(value)); return *this; }
172
174
188 inline const Aws::Vector<RuleActionOverride>& GetRuleActionOverrides() const { return m_ruleActionOverrides; }
189 inline bool RuleActionOverridesHasBeenSet() const { return m_ruleActionOverridesHasBeenSet; }
190 template<typename RuleActionOverridesT = Aws::Vector<RuleActionOverride>>
191 void SetRuleActionOverrides(RuleActionOverridesT&& value) { m_ruleActionOverridesHasBeenSet = true; m_ruleActionOverrides = std::forward<RuleActionOverridesT>(value); }
192 template<typename RuleActionOverridesT = Aws::Vector<RuleActionOverride>>
193 ManagedRuleGroupStatement& WithRuleActionOverrides(RuleActionOverridesT&& value) { SetRuleActionOverrides(std::forward<RuleActionOverridesT>(value)); return *this;}
194 template<typename RuleActionOverridesT = RuleActionOverride>
195 ManagedRuleGroupStatement& AddRuleActionOverrides(RuleActionOverridesT&& value) { m_ruleActionOverridesHasBeenSet = true; m_ruleActionOverrides.emplace_back(std::forward<RuleActionOverridesT>(value)); return *this; }
197 private:
198
199 Aws::String m_vendorName;
200 bool m_vendorNameHasBeenSet = false;
201
202 Aws::String m_name;
203 bool m_nameHasBeenSet = false;
204
205 Aws::String m_version;
206 bool m_versionHasBeenSet = false;
207
208 Aws::Vector<ExcludedRule> m_excludedRules;
209 bool m_excludedRulesHasBeenSet = false;
210
211 std::shared_ptr<Statement> m_scopeDownStatement;
212 bool m_scopeDownStatementHasBeenSet = false;
213
214 Aws::Vector<ManagedRuleGroupConfig> m_managedRuleGroupConfigs;
215 bool m_managedRuleGroupConfigsHasBeenSet = false;
216
217 Aws::Vector<RuleActionOverride> m_ruleActionOverrides;
218 bool m_ruleActionOverridesHasBeenSet = false;
219 };
220
221} // namespace Model
222} // namespace WAFV2
223} // namespace Aws
void SetScopeDownStatement(ScopeDownStatementT &&value)
const Aws::Vector< ExcludedRule > & GetExcludedRules() const
ManagedRuleGroupStatement & WithScopeDownStatement(ScopeDownStatementT &&value)
ManagedRuleGroupStatement & WithVersion(VersionT &&value)
ManagedRuleGroupStatement & AddExcludedRules(ExcludedRulesT &&value)
AWS_WAFV2_API ManagedRuleGroupStatement(Aws::Utils::Json::JsonView jsonValue)
const Aws::Vector< ManagedRuleGroupConfig > & GetManagedRuleGroupConfigs() const
ManagedRuleGroupStatement & WithVendorName(VendorNameT &&value)
ManagedRuleGroupStatement & WithName(NameT &&value)
ManagedRuleGroupStatement & AddRuleActionOverrides(RuleActionOverridesT &&value)
ManagedRuleGroupStatement & WithManagedRuleGroupConfigs(ManagedRuleGroupConfigsT &&value)
ManagedRuleGroupStatement & WithRuleActionOverrides(RuleActionOverridesT &&value)
void SetManagedRuleGroupConfigs(ManagedRuleGroupConfigsT &&value)
AWS_WAFV2_API ManagedRuleGroupStatement()=default
AWS_WAFV2_API Aws::Utils::Json::JsonValue Jsonize() const
ManagedRuleGroupStatement & WithExcludedRules(ExcludedRulesT &&value)
AWS_WAFV2_API ManagedRuleGroupStatement & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetRuleActionOverrides(RuleActionOverridesT &&value)
ManagedRuleGroupStatement & AddManagedRuleGroupConfigs(ManagedRuleGroupConfigsT &&value)
const Aws::Vector< RuleActionOverride > & GetRuleActionOverrides() const
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