AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
CreateRuleGroupRequest.h
1
6#pragma once
7#include <aws/wafv2/WAFV2_EXPORTS.h>
8#include <aws/wafv2/WAFV2Request.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/wafv2/model/Scope.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/wafv2/model/VisibilityConfig.h>
13#include <aws/core/utils/memory/stl/AWSMap.h>
14#include <aws/wafv2/model/Rule.h>
15#include <aws/wafv2/model/Tag.h>
16#include <aws/wafv2/model/CustomResponseBody.h>
17#include <utility>
18
19namespace Aws
20{
21namespace WAFV2
22{
23namespace Model
24{
25
29 {
30 public:
31 AWS_WAFV2_API CreateRuleGroupRequest() = default;
32
33 // Service request name is the Operation name which will send this request out,
34 // each operation should has unique request name, so that we can get operation's name from this request.
35 // Note: this is not true for response, multiple operations may have the same response name,
36 // so we can not get operation's name from response.
37 inline virtual const char* GetServiceRequestName() const override { return "CreateRuleGroup"; }
38
39 AWS_WAFV2_API Aws::String SerializePayload() const override;
40
42
43
45
49 inline const Aws::String& GetName() const { return m_name; }
50 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
51 template<typename NameT = Aws::String>
52 void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward<NameT>(value); }
53 template<typename NameT = Aws::String>
54 CreateRuleGroupRequest& WithName(NameT&& value) { SetName(std::forward<NameT>(value)); return *this;}
56
58
67 inline Scope GetScope() const { return m_scope; }
68 inline bool ScopeHasBeenSet() const { return m_scopeHasBeenSet; }
69 inline void SetScope(Scope value) { m_scopeHasBeenSet = true; m_scope = value; }
70 inline CreateRuleGroupRequest& WithScope(Scope value) { SetScope(value); return *this;}
72
74
89 inline long long GetCapacity() const { return m_capacity; }
90 inline bool CapacityHasBeenSet() const { return m_capacityHasBeenSet; }
91 inline void SetCapacity(long long value) { m_capacityHasBeenSet = true; m_capacity = value; }
92 inline CreateRuleGroupRequest& WithCapacity(long long value) { SetCapacity(value); return *this;}
94
96
99 inline const Aws::String& GetDescription() const { return m_description; }
100 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
101 template<typename DescriptionT = Aws::String>
102 void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward<DescriptionT>(value); }
103 template<typename DescriptionT = Aws::String>
104 CreateRuleGroupRequest& WithDescription(DescriptionT&& value) { SetDescription(std::forward<DescriptionT>(value)); return *this;}
106
108
113 inline const Aws::Vector<Rule>& GetRules() const { return m_rules; }
114 inline bool RulesHasBeenSet() const { return m_rulesHasBeenSet; }
115 template<typename RulesT = Aws::Vector<Rule>>
116 void SetRules(RulesT&& value) { m_rulesHasBeenSet = true; m_rules = std::forward<RulesT>(value); }
117 template<typename RulesT = Aws::Vector<Rule>>
118 CreateRuleGroupRequest& WithRules(RulesT&& value) { SetRules(std::forward<RulesT>(value)); return *this;}
119 template<typename RulesT = Rule>
120 CreateRuleGroupRequest& AddRules(RulesT&& value) { m_rulesHasBeenSet = true; m_rules.emplace_back(std::forward<RulesT>(value)); return *this; }
122
124
128 inline const VisibilityConfig& GetVisibilityConfig() const { return m_visibilityConfig; }
129 inline bool VisibilityConfigHasBeenSet() const { return m_visibilityConfigHasBeenSet; }
130 template<typename VisibilityConfigT = VisibilityConfig>
131 void SetVisibilityConfig(VisibilityConfigT&& value) { m_visibilityConfigHasBeenSet = true; m_visibilityConfig = std::forward<VisibilityConfigT>(value); }
132 template<typename VisibilityConfigT = VisibilityConfig>
133 CreateRuleGroupRequest& WithVisibilityConfig(VisibilityConfigT&& value) { SetVisibilityConfig(std::forward<VisibilityConfigT>(value)); return *this;}
135
137
140 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
141 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
142 template<typename TagsT = Aws::Vector<Tag>>
143 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
144 template<typename TagsT = Aws::Vector<Tag>>
145 CreateRuleGroupRequest& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
146 template<typename TagsT = Tag>
147 CreateRuleGroupRequest& AddTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags.emplace_back(std::forward<TagsT>(value)); return *this; }
149
151
164 inline const Aws::Map<Aws::String, CustomResponseBody>& GetCustomResponseBodies() const { return m_customResponseBodies; }
165 inline bool CustomResponseBodiesHasBeenSet() const { return m_customResponseBodiesHasBeenSet; }
166 template<typename CustomResponseBodiesT = Aws::Map<Aws::String, CustomResponseBody>>
167 void SetCustomResponseBodies(CustomResponseBodiesT&& value) { m_customResponseBodiesHasBeenSet = true; m_customResponseBodies = std::forward<CustomResponseBodiesT>(value); }
168 template<typename CustomResponseBodiesT = Aws::Map<Aws::String, CustomResponseBody>>
169 CreateRuleGroupRequest& WithCustomResponseBodies(CustomResponseBodiesT&& value) { SetCustomResponseBodies(std::forward<CustomResponseBodiesT>(value)); return *this;}
170 template<typename CustomResponseBodiesKeyT = Aws::String, typename CustomResponseBodiesValueT = CustomResponseBody>
171 CreateRuleGroupRequest& AddCustomResponseBodies(CustomResponseBodiesKeyT&& key, CustomResponseBodiesValueT&& value) {
172 m_customResponseBodiesHasBeenSet = true; m_customResponseBodies.emplace(std::forward<CustomResponseBodiesKeyT>(key), std::forward<CustomResponseBodiesValueT>(value)); return *this;
173 }
175 private:
176
177 Aws::String m_name;
178 bool m_nameHasBeenSet = false;
179
180 Scope m_scope{Scope::NOT_SET};
181 bool m_scopeHasBeenSet = false;
182
183 long long m_capacity{0};
184 bool m_capacityHasBeenSet = false;
185
186 Aws::String m_description;
187 bool m_descriptionHasBeenSet = false;
188
189 Aws::Vector<Rule> m_rules;
190 bool m_rulesHasBeenSet = false;
191
192 VisibilityConfig m_visibilityConfig;
193 bool m_visibilityConfigHasBeenSet = false;
194
195 Aws::Vector<Tag> m_tags;
196 bool m_tagsHasBeenSet = false;
197
198 Aws::Map<Aws::String, CustomResponseBody> m_customResponseBodies;
199 bool m_customResponseBodiesHasBeenSet = false;
200 };
201
202} // namespace Model
203} // namespace WAFV2
204} // namespace Aws
CreateRuleGroupRequest & WithScope(Scope value)
AWS_WAFV2_API Aws::String SerializePayload() const override
CreateRuleGroupRequest & WithVisibilityConfig(VisibilityConfigT &&value)
void SetVisibilityConfig(VisibilityConfigT &&value)
const VisibilityConfig & GetVisibilityConfig() const
virtual const char * GetServiceRequestName() const override
CreateRuleGroupRequest & AddTags(TagsT &&value)
CreateRuleGroupRequest & WithCapacity(long long value)
CreateRuleGroupRequest & WithRules(RulesT &&value)
const Aws::Vector< Rule > & GetRules() const
CreateRuleGroupRequest & AddCustomResponseBodies(CustomResponseBodiesKeyT &&key, CustomResponseBodiesValueT &&value)
const Aws::Map< Aws::String, CustomResponseBody > & GetCustomResponseBodies() const
AWS_WAFV2_API CreateRuleGroupRequest()=default
CreateRuleGroupRequest & WithName(NameT &&value)
void SetCustomResponseBodies(CustomResponseBodiesT &&value)
CreateRuleGroupRequest & WithTags(TagsT &&value)
AWS_WAFV2_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
CreateRuleGroupRequest & AddRules(RulesT &&value)
CreateRuleGroupRequest & WithDescription(DescriptionT &&value)
CreateRuleGroupRequest & WithCustomResponseBodies(CustomResponseBodiesT &&value)
const Aws::Vector< Tag > & GetTags() const
Aws::Map< Aws::String, Aws::String > HeaderValueCollection
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector