AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
AwsWafWebAclRule.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/securityhub/SecurityHub_EXPORTS.h>
10#include <aws/securityhub/model/WafAction.h>
11#include <aws/securityhub/model/WafExcludedRule.h>
12#include <aws/securityhub/model/WafOverrideAction.h>
13
14#include <utility>
15
16namespace Aws {
17namespace Utils {
18namespace Json {
19class JsonValue;
20class JsonView;
21} // namespace Json
22} // namespace Utils
23namespace SecurityHub {
24namespace Model {
25
32 public:
33 AWS_SECURITYHUB_API AwsWafWebAclRule() = default;
34 AWS_SECURITYHUB_API AwsWafWebAclRule(Aws::Utils::Json::JsonView jsonValue);
35 AWS_SECURITYHUB_API AwsWafWebAclRule& operator=(Aws::Utils::Json::JsonView jsonValue);
36 AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const;
37
39
43 inline const WafAction& GetAction() const { return m_action; }
44 inline bool ActionHasBeenSet() const { return m_actionHasBeenSet; }
45 template <typename ActionT = WafAction>
46 void SetAction(ActionT&& value) {
47 m_actionHasBeenSet = true;
48 m_action = std::forward<ActionT>(value);
49 }
50 template <typename ActionT = WafAction>
51 AwsWafWebAclRule& WithAction(ActionT&& value) {
52 SetAction(std::forward<ActionT>(value));
53 return *this;
54 }
56
58
61 inline const Aws::Vector<WafExcludedRule>& GetExcludedRules() const { return m_excludedRules; }
62 inline bool ExcludedRulesHasBeenSet() const { return m_excludedRulesHasBeenSet; }
63 template <typename ExcludedRulesT = Aws::Vector<WafExcludedRule>>
64 void SetExcludedRules(ExcludedRulesT&& value) {
65 m_excludedRulesHasBeenSet = true;
66 m_excludedRules = std::forward<ExcludedRulesT>(value);
67 }
68 template <typename ExcludedRulesT = Aws::Vector<WafExcludedRule>>
69 AwsWafWebAclRule& WithExcludedRules(ExcludedRulesT&& value) {
70 SetExcludedRules(std::forward<ExcludedRulesT>(value));
71 return *this;
72 }
73 template <typename ExcludedRulesT = WafExcludedRule>
74 AwsWafWebAclRule& AddExcludedRules(ExcludedRulesT&& value) {
75 m_excludedRulesHasBeenSet = true;
76 m_excludedRules.emplace_back(std::forward<ExcludedRulesT>(value));
77 return *this;
78 }
80
82
99 inline const WafOverrideAction& GetOverrideAction() const { return m_overrideAction; }
100 inline bool OverrideActionHasBeenSet() const { return m_overrideActionHasBeenSet; }
101 template <typename OverrideActionT = WafOverrideAction>
102 void SetOverrideAction(OverrideActionT&& value) {
103 m_overrideActionHasBeenSet = true;
104 m_overrideAction = std::forward<OverrideActionT>(value);
105 }
106 template <typename OverrideActionT = WafOverrideAction>
107 AwsWafWebAclRule& WithOverrideAction(OverrideActionT&& value) {
108 SetOverrideAction(std::forward<OverrideActionT>(value));
109 return *this;
110 }
112
114
120 inline int GetPriority() const { return m_priority; }
121 inline bool PriorityHasBeenSet() const { return m_priorityHasBeenSet; }
122 inline void SetPriority(int value) {
123 m_priorityHasBeenSet = true;
124 m_priority = value;
125 }
126 inline AwsWafWebAclRule& WithPriority(int value) {
127 SetPriority(value);
128 return *this;
129 }
131
133
136 inline const Aws::String& GetRuleId() const { return m_ruleId; }
137 inline bool RuleIdHasBeenSet() const { return m_ruleIdHasBeenSet; }
138 template <typename RuleIdT = Aws::String>
139 void SetRuleId(RuleIdT&& value) {
140 m_ruleIdHasBeenSet = true;
141 m_ruleId = std::forward<RuleIdT>(value);
142 }
143 template <typename RuleIdT = Aws::String>
144 AwsWafWebAclRule& WithRuleId(RuleIdT&& value) {
145 SetRuleId(std::forward<RuleIdT>(value));
146 return *this;
147 }
149
151
156 inline const Aws::String& GetType() const { return m_type; }
157 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
158 template <typename TypeT = Aws::String>
159 void SetType(TypeT&& value) {
160 m_typeHasBeenSet = true;
161 m_type = std::forward<TypeT>(value);
162 }
163 template <typename TypeT = Aws::String>
164 AwsWafWebAclRule& WithType(TypeT&& value) {
165 SetType(std::forward<TypeT>(value));
166 return *this;
167 }
169 private:
170 WafAction m_action;
171
172 Aws::Vector<WafExcludedRule> m_excludedRules;
173
174 WafOverrideAction m_overrideAction;
175
176 int m_priority{0};
177
178 Aws::String m_ruleId;
179
180 Aws::String m_type;
181 bool m_actionHasBeenSet = false;
182 bool m_excludedRulesHasBeenSet = false;
183 bool m_overrideActionHasBeenSet = false;
184 bool m_priorityHasBeenSet = false;
185 bool m_ruleIdHasBeenSet = false;
186 bool m_typeHasBeenSet = false;
187};
188
189} // namespace Model
190} // namespace SecurityHub
191} // namespace Aws
AWS_SECURITYHUB_API AwsWafWebAclRule & operator=(Aws::Utils::Json::JsonView jsonValue)
AwsWafWebAclRule & WithAction(ActionT &&value)
AwsWafWebAclRule & WithType(TypeT &&value)
const Aws::Vector< WafExcludedRule > & GetExcludedRules() const
AWS_SECURITYHUB_API AwsWafWebAclRule(Aws::Utils::Json::JsonView jsonValue)
AwsWafWebAclRule & WithRuleId(RuleIdT &&value)
const WafOverrideAction & GetOverrideAction() const
AWS_SECURITYHUB_API AwsWafWebAclRule()=default
AwsWafWebAclRule & WithExcludedRules(ExcludedRulesT &&value)
AwsWafWebAclRule & AddExcludedRules(ExcludedRulesT &&value)
AwsWafWebAclRule & WithPriority(int value)
void SetOverrideAction(OverrideActionT &&value)
AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const
void SetExcludedRules(ExcludedRulesT &&value)
AwsWafWebAclRule & WithOverrideAction(OverrideActionT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue