AWS SDK for C++

AWS SDK for C++ Version 1.11.719

Loading...
Searching...
No Matches
AwsWafv2RuleGroupDetails.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/AwsWafv2RulesDetails.h>
11#include <aws/securityhub/model/AwsWafv2VisibilityConfigDetails.h>
12
13#include <utility>
14
15namespace Aws {
16namespace Utils {
17namespace Json {
18class JsonValue;
19class JsonView;
20} // namespace Json
21} // namespace Utils
22namespace SecurityHub {
23namespace Model {
24
31 public:
32 AWS_SECURITYHUB_API AwsWafv2RuleGroupDetails() = default;
35 AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const;
36
38
41 inline long long GetCapacity() const { return m_capacity; }
42 inline bool CapacityHasBeenSet() const { return m_capacityHasBeenSet; }
43 inline void SetCapacity(long long value) {
44 m_capacityHasBeenSet = true;
45 m_capacity = value;
46 }
47 inline AwsWafv2RuleGroupDetails& WithCapacity(long long value) {
48 SetCapacity(value);
49 return *this;
50 }
52
54
57 inline const Aws::String& GetDescription() const { return m_description; }
58 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
59 template <typename DescriptionT = Aws::String>
60 void SetDescription(DescriptionT&& value) {
61 m_descriptionHasBeenSet = true;
62 m_description = std::forward<DescriptionT>(value);
63 }
64 template <typename DescriptionT = Aws::String>
66 SetDescription(std::forward<DescriptionT>(value));
67 return *this;
68 }
70
72
75 inline const Aws::String& GetId() const { return m_id; }
76 inline bool IdHasBeenSet() const { return m_idHasBeenSet; }
77 template <typename IdT = Aws::String>
78 void SetId(IdT&& value) {
79 m_idHasBeenSet = true;
80 m_id = std::forward<IdT>(value);
81 }
82 template <typename IdT = Aws::String>
84 SetId(std::forward<IdT>(value));
85 return *this;
86 }
88
90
94 inline const Aws::String& GetName() const { return m_name; }
95 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
96 template <typename NameT = Aws::String>
97 void SetName(NameT&& value) {
98 m_nameHasBeenSet = true;
99 m_name = std::forward<NameT>(value);
100 }
101 template <typename NameT = Aws::String>
103 SetName(std::forward<NameT>(value));
104 return *this;
105 }
107
109
112 inline const Aws::String& GetArn() const { return m_arn; }
113 inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; }
114 template <typename ArnT = Aws::String>
115 void SetArn(ArnT&& value) {
116 m_arnHasBeenSet = true;
117 m_arn = std::forward<ArnT>(value);
118 }
119 template <typename ArnT = Aws::String>
121 SetArn(std::forward<ArnT>(value));
122 return *this;
123 }
125
127
133 inline const Aws::Vector<AwsWafv2RulesDetails>& GetRules() const { return m_rules; }
134 inline bool RulesHasBeenSet() const { return m_rulesHasBeenSet; }
135 template <typename RulesT = Aws::Vector<AwsWafv2RulesDetails>>
136 void SetRules(RulesT&& value) {
137 m_rulesHasBeenSet = true;
138 m_rules = std::forward<RulesT>(value);
139 }
140 template <typename RulesT = Aws::Vector<AwsWafv2RulesDetails>>
142 SetRules(std::forward<RulesT>(value));
143 return *this;
144 }
145 template <typename RulesT = AwsWafv2RulesDetails>
147 m_rulesHasBeenSet = true;
148 m_rules.emplace_back(std::forward<RulesT>(value));
149 return *this;
150 }
152
154
160 inline const Aws::String& GetScope() const { return m_scope; }
161 inline bool ScopeHasBeenSet() const { return m_scopeHasBeenSet; }
162 template <typename ScopeT = Aws::String>
163 void SetScope(ScopeT&& value) {
164 m_scopeHasBeenSet = true;
165 m_scope = std::forward<ScopeT>(value);
166 }
167 template <typename ScopeT = Aws::String>
169 SetScope(std::forward<ScopeT>(value));
170 return *this;
171 }
173
175
179 inline const AwsWafv2VisibilityConfigDetails& GetVisibilityConfig() const { return m_visibilityConfig; }
180 inline bool VisibilityConfigHasBeenSet() const { return m_visibilityConfigHasBeenSet; }
181 template <typename VisibilityConfigT = AwsWafv2VisibilityConfigDetails>
182 void SetVisibilityConfig(VisibilityConfigT&& value) {
183 m_visibilityConfigHasBeenSet = true;
184 m_visibilityConfig = std::forward<VisibilityConfigT>(value);
185 }
186 template <typename VisibilityConfigT = AwsWafv2VisibilityConfigDetails>
187 AwsWafv2RuleGroupDetails& WithVisibilityConfig(VisibilityConfigT&& value) {
188 SetVisibilityConfig(std::forward<VisibilityConfigT>(value));
189 return *this;
190 }
192 private:
193 long long m_capacity{0};
194
195 Aws::String m_description;
196
197 Aws::String m_id;
198
199 Aws::String m_name;
200
201 Aws::String m_arn;
202
204
205 Aws::String m_scope;
206
207 AwsWafv2VisibilityConfigDetails m_visibilityConfig;
208 bool m_capacityHasBeenSet = false;
209 bool m_descriptionHasBeenSet = false;
210 bool m_idHasBeenSet = false;
211 bool m_nameHasBeenSet = false;
212 bool m_arnHasBeenSet = false;
213 bool m_rulesHasBeenSet = false;
214 bool m_scopeHasBeenSet = false;
215 bool m_visibilityConfigHasBeenSet = false;
216};
217
218} // namespace Model
219} // namespace SecurityHub
220} // namespace Aws
AWS_SECURITYHUB_API AwsWafv2RuleGroupDetails & operator=(Aws::Utils::Json::JsonView jsonValue)
AwsWafv2RuleGroupDetails & WithName(NameT &&value)
AwsWafv2RuleGroupDetails & WithDescription(DescriptionT &&value)
const Aws::Vector< AwsWafv2RulesDetails > & GetRules() const
const AwsWafv2VisibilityConfigDetails & GetVisibilityConfig() const
AwsWafv2RuleGroupDetails & WithArn(ArnT &&value)
AwsWafv2RuleGroupDetails & WithScope(ScopeT &&value)
AWS_SECURITYHUB_API AwsWafv2RuleGroupDetails()=default
AwsWafv2RuleGroupDetails & WithRules(RulesT &&value)
AWS_SECURITYHUB_API AwsWafv2RuleGroupDetails(Aws::Utils::Json::JsonView jsonValue)
AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const
AwsWafv2RuleGroupDetails & WithVisibilityConfig(VisibilityConfigT &&value)
AwsWafv2RuleGroupDetails & WithCapacity(long long value)
AwsWafv2RuleGroupDetails & AddRules(RulesT &&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