AWS SDK for C++

AWS SDK for C++ Version 1.11.716

Loading...
Searching...
No Matches
CreateProtectionGroupRequest.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/shield/ShieldRequest.h>
10#include <aws/shield/Shield_EXPORTS.h>
11#include <aws/shield/model/ProtectedResourceType.h>
12#include <aws/shield/model/ProtectionGroupAggregation.h>
13#include <aws/shield/model/ProtectionGroupPattern.h>
14#include <aws/shield/model/Tag.h>
15
16#include <utility>
17
18namespace Aws {
19namespace Shield {
20namespace Model {
21
25 public:
26 AWS_SHIELD_API CreateProtectionGroupRequest() = default;
27
28 // Service request name is the Operation name which will send this request out,
29 // each operation should has unique request name, so that we can get operation's name from this request.
30 // Note: this is not true for response, multiple operations may have the same response name,
31 // so we can not get operation's name from response.
32 inline virtual const char* GetServiceRequestName() const override { return "CreateProtectionGroup"; }
33
34 AWS_SHIELD_API Aws::String SerializePayload() const override;
35
37
39
44 inline const Aws::String& GetProtectionGroupId() const { return m_protectionGroupId; }
45 inline bool ProtectionGroupIdHasBeenSet() const { return m_protectionGroupIdHasBeenSet; }
46 template <typename ProtectionGroupIdT = Aws::String>
47 void SetProtectionGroupId(ProtectionGroupIdT&& value) {
48 m_protectionGroupIdHasBeenSet = true;
49 m_protectionGroupId = std::forward<ProtectionGroupIdT>(value);
50 }
51 template <typename ProtectionGroupIdT = Aws::String>
53 SetProtectionGroupId(std::forward<ProtectionGroupIdT>(value));
54 return *this;
55 }
57
59
71 inline ProtectionGroupAggregation GetAggregation() const { return m_aggregation; }
72 inline bool AggregationHasBeenSet() const { return m_aggregationHasBeenSet; }
74 m_aggregationHasBeenSet = true;
75 m_aggregation = value;
76 }
78 SetAggregation(value);
79 return *this;
80 }
82
84
90 inline ProtectionGroupPattern GetPattern() const { return m_pattern; }
91 inline bool PatternHasBeenSet() const { return m_patternHasBeenSet; }
93 m_patternHasBeenSet = true;
94 m_pattern = value;
95 }
97 SetPattern(value);
98 return *this;
99 }
101
103
110 inline ProtectedResourceType GetResourceType() const { return m_resourceType; }
111 inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; }
113 m_resourceTypeHasBeenSet = true;
114 m_resourceType = value;
115 }
117 SetResourceType(value);
118 return *this;
119 }
121
123
129 inline const Aws::Vector<Aws::String>& GetMembers() const { return m_members; }
130 inline bool MembersHasBeenSet() const { return m_membersHasBeenSet; }
131 template <typename MembersT = Aws::Vector<Aws::String>>
132 void SetMembers(MembersT&& value) {
133 m_membersHasBeenSet = true;
134 m_members = std::forward<MembersT>(value);
135 }
136 template <typename MembersT = Aws::Vector<Aws::String>>
138 SetMembers(std::forward<MembersT>(value));
139 return *this;
140 }
141 template <typename MembersT = Aws::String>
143 m_membersHasBeenSet = true;
144 m_members.emplace_back(std::forward<MembersT>(value));
145 return *this;
146 }
148
150
153 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
154 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
155 template <typename TagsT = Aws::Vector<Tag>>
156 void SetTags(TagsT&& value) {
157 m_tagsHasBeenSet = true;
158 m_tags = std::forward<TagsT>(value);
159 }
160 template <typename TagsT = Aws::Vector<Tag>>
162 SetTags(std::forward<TagsT>(value));
163 return *this;
164 }
165 template <typename TagsT = Tag>
167 m_tagsHasBeenSet = true;
168 m_tags.emplace_back(std::forward<TagsT>(value));
169 return *this;
170 }
172 private:
173 Aws::String m_protectionGroupId;
174
176
178
180
181 Aws::Vector<Aws::String> m_members;
182
183 Aws::Vector<Tag> m_tags;
184 bool m_protectionGroupIdHasBeenSet = false;
185 bool m_aggregationHasBeenSet = false;
186 bool m_patternHasBeenSet = false;
187 bool m_resourceTypeHasBeenSet = false;
188 bool m_membersHasBeenSet = false;
189 bool m_tagsHasBeenSet = false;
190};
191
192} // namespace Model
193} // namespace Shield
194} // namespace Aws
CreateProtectionGroupRequest & AddTags(TagsT &&value)
CreateProtectionGroupRequest & WithProtectionGroupId(ProtectionGroupIdT &&value)
AWS_SHIELD_API Aws::String SerializePayload() const override
CreateProtectionGroupRequest & AddMembers(MembersT &&value)
CreateProtectionGroupRequest & WithAggregation(ProtectionGroupAggregation value)
CreateProtectionGroupRequest & WithPattern(ProtectionGroupPattern value)
CreateProtectionGroupRequest & WithTags(TagsT &&value)
CreateProtectionGroupRequest & WithMembers(MembersT &&value)
CreateProtectionGroupRequest & WithResourceType(ProtectedResourceType value)
AWS_SHIELD_API CreateProtectionGroupRequest()=default
const Aws::Vector< Aws::String > & GetMembers() const
virtual const char * GetServiceRequestName() const override
AWS_SHIELD_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
Aws::Map< Aws::String, Aws::String > HeaderValueCollection
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector