AWS SDK for C++

AWS SDK for C++ Version 1.11.716

Loading...
Searching...
No Matches
CreateIpamPoolRequest.h
1
6#pragma once
7#include <aws/core/utils/UUID.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/ec2/EC2Request.h>
11#include <aws/ec2/EC2_EXPORTS.h>
12#include <aws/ec2/model/AddressFamily.h>
13#include <aws/ec2/model/IpamPoolAwsService.h>
14#include <aws/ec2/model/IpamPoolPublicIpSource.h>
15#include <aws/ec2/model/IpamPoolSourceResourceRequest.h>
16#include <aws/ec2/model/RequestIpamResourceTag.h>
17#include <aws/ec2/model/TagSpecification.h>
18
19#include <utility>
20
21namespace Aws {
22namespace EC2 {
23namespace Model {
24
28 public:
29 AWS_EC2_API CreateIpamPoolRequest() = default;
30
31 // Service request name is the Operation name which will send this request out,
32 // each operation should has unique request name, so that we can get operation's name from this request.
33 // Note: this is not true for response, multiple operations may have the same response name,
34 // so we can not get operation's name from response.
35 inline virtual const char* GetServiceRequestName() const override { return "CreateIpamPool"; }
36
37 AWS_EC2_API Aws::String SerializePayload() const override;
38
39 protected:
40 AWS_EC2_API void DumpBodyToUrl(Aws::Http::URI& uri) const override;
41
42 public:
44
50 inline bool GetDryRun() const { return m_dryRun; }
51 inline bool DryRunHasBeenSet() const { return m_dryRunHasBeenSet; }
52 inline void SetDryRun(bool value) {
53 m_dryRunHasBeenSet = true;
54 m_dryRun = value;
55 }
56 inline CreateIpamPoolRequest& WithDryRun(bool value) {
57 SetDryRun(value);
58 return *this;
59 }
61
63
66 inline const Aws::String& GetIpamScopeId() const { return m_ipamScopeId; }
67 inline bool IpamScopeIdHasBeenSet() const { return m_ipamScopeIdHasBeenSet; }
68 template <typename IpamScopeIdT = Aws::String>
69 void SetIpamScopeId(IpamScopeIdT&& value) {
70 m_ipamScopeIdHasBeenSet = true;
71 m_ipamScopeId = std::forward<IpamScopeIdT>(value);
72 }
73 template <typename IpamScopeIdT = Aws::String>
74 CreateIpamPoolRequest& WithIpamScopeId(IpamScopeIdT&& value) {
75 SetIpamScopeId(std::forward<IpamScopeIdT>(value));
76 return *this;
77 }
79
81
93 inline const Aws::String& GetLocale() const { return m_locale; }
94 inline bool LocaleHasBeenSet() const { return m_localeHasBeenSet; }
95 template <typename LocaleT = Aws::String>
96 void SetLocale(LocaleT&& value) {
97 m_localeHasBeenSet = true;
98 m_locale = std::forward<LocaleT>(value);
99 }
100 template <typename LocaleT = Aws::String>
102 SetLocale(std::forward<LocaleT>(value));
103 return *this;
104 }
106
108
113 inline const Aws::String& GetSourceIpamPoolId() const { return m_sourceIpamPoolId; }
114 inline bool SourceIpamPoolIdHasBeenSet() const { return m_sourceIpamPoolIdHasBeenSet; }
115 template <typename SourceIpamPoolIdT = Aws::String>
116 void SetSourceIpamPoolId(SourceIpamPoolIdT&& value) {
117 m_sourceIpamPoolIdHasBeenSet = true;
118 m_sourceIpamPoolId = std::forward<SourceIpamPoolIdT>(value);
119 }
120 template <typename SourceIpamPoolIdT = Aws::String>
121 CreateIpamPoolRequest& WithSourceIpamPoolId(SourceIpamPoolIdT&& value) {
122 SetSourceIpamPoolId(std::forward<SourceIpamPoolIdT>(value));
123 return *this;
124 }
126
128
131 inline const Aws::String& GetDescription() const { return m_description; }
132 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
133 template <typename DescriptionT = Aws::String>
134 void SetDescription(DescriptionT&& value) {
135 m_descriptionHasBeenSet = true;
136 m_description = std::forward<DescriptionT>(value);
137 }
138 template <typename DescriptionT = Aws::String>
139 CreateIpamPoolRequest& WithDescription(DescriptionT&& value) {
140 SetDescription(std::forward<DescriptionT>(value));
141 return *this;
142 }
144
146
150 inline AddressFamily GetAddressFamily() const { return m_addressFamily; }
151 inline bool AddressFamilyHasBeenSet() const { return m_addressFamilyHasBeenSet; }
152 inline void SetAddressFamily(AddressFamily value) {
153 m_addressFamilyHasBeenSet = true;
154 m_addressFamily = value;
155 }
157 SetAddressFamily(value);
158 return *this;
159 }
161
163
175 inline bool GetAutoImport() const { return m_autoImport; }
176 inline bool AutoImportHasBeenSet() const { return m_autoImportHasBeenSet; }
177 inline void SetAutoImport(bool value) {
178 m_autoImportHasBeenSet = true;
179 m_autoImport = value;
180 }
182 SetAutoImport(value);
183 return *this;
184 }
186
188
193 inline bool GetPubliclyAdvertisable() const { return m_publiclyAdvertisable; }
194 inline bool PubliclyAdvertisableHasBeenSet() const { return m_publiclyAdvertisableHasBeenSet; }
195 inline void SetPubliclyAdvertisable(bool value) {
196 m_publiclyAdvertisableHasBeenSet = true;
197 m_publiclyAdvertisable = value;
198 }
201 return *this;
202 }
204
206
212 inline int GetAllocationMinNetmaskLength() const { return m_allocationMinNetmaskLength; }
213 inline bool AllocationMinNetmaskLengthHasBeenSet() const { return m_allocationMinNetmaskLengthHasBeenSet; }
214 inline void SetAllocationMinNetmaskLength(int value) {
215 m_allocationMinNetmaskLengthHasBeenSet = true;
216 m_allocationMinNetmaskLength = value;
217 }
220 return *this;
221 }
223
225
231 inline int GetAllocationMaxNetmaskLength() const { return m_allocationMaxNetmaskLength; }
232 inline bool AllocationMaxNetmaskLengthHasBeenSet() const { return m_allocationMaxNetmaskLengthHasBeenSet; }
233 inline void SetAllocationMaxNetmaskLength(int value) {
234 m_allocationMaxNetmaskLengthHasBeenSet = true;
235 m_allocationMaxNetmaskLength = value;
236 }
239 return *this;
240 }
242
244
249 inline int GetAllocationDefaultNetmaskLength() const { return m_allocationDefaultNetmaskLength; }
250 inline bool AllocationDefaultNetmaskLengthHasBeenSet() const { return m_allocationDefaultNetmaskLengthHasBeenSet; }
251 inline void SetAllocationDefaultNetmaskLength(int value) {
252 m_allocationDefaultNetmaskLengthHasBeenSet = true;
253 m_allocationDefaultNetmaskLength = value;
254 }
257 return *this;
258 }
260
262
269 inline const Aws::Vector<RequestIpamResourceTag>& GetAllocationResourceTags() const { return m_allocationResourceTags; }
270 inline bool AllocationResourceTagsHasBeenSet() const { return m_allocationResourceTagsHasBeenSet; }
271 template <typename AllocationResourceTagsT = Aws::Vector<RequestIpamResourceTag>>
272 void SetAllocationResourceTags(AllocationResourceTagsT&& value) {
273 m_allocationResourceTagsHasBeenSet = true;
274 m_allocationResourceTags = std::forward<AllocationResourceTagsT>(value);
275 }
276 template <typename AllocationResourceTagsT = Aws::Vector<RequestIpamResourceTag>>
277 CreateIpamPoolRequest& WithAllocationResourceTags(AllocationResourceTagsT&& value) {
278 SetAllocationResourceTags(std::forward<AllocationResourceTagsT>(value));
279 return *this;
280 }
281 template <typename AllocationResourceTagsT = RequestIpamResourceTag>
282 CreateIpamPoolRequest& AddAllocationResourceTags(AllocationResourceTagsT&& value) {
283 m_allocationResourceTagsHasBeenSet = true;
284 m_allocationResourceTags.emplace_back(std::forward<AllocationResourceTagsT>(value));
285 return *this;
286 }
288
290
297 inline const Aws::Vector<TagSpecification>& GetTagSpecifications() const { return m_tagSpecifications; }
298 inline bool TagSpecificationsHasBeenSet() const { return m_tagSpecificationsHasBeenSet; }
299 template <typename TagSpecificationsT = Aws::Vector<TagSpecification>>
300 void SetTagSpecifications(TagSpecificationsT&& value) {
301 m_tagSpecificationsHasBeenSet = true;
302 m_tagSpecifications = std::forward<TagSpecificationsT>(value);
303 }
304 template <typename TagSpecificationsT = Aws::Vector<TagSpecification>>
305 CreateIpamPoolRequest& WithTagSpecifications(TagSpecificationsT&& value) {
306 SetTagSpecifications(std::forward<TagSpecificationsT>(value));
307 return *this;
308 }
309 template <typename TagSpecificationsT = TagSpecification>
310 CreateIpamPoolRequest& AddTagSpecifications(TagSpecificationsT&& value) {
311 m_tagSpecificationsHasBeenSet = true;
312 m_tagSpecifications.emplace_back(std::forward<TagSpecificationsT>(value));
313 return *this;
314 }
316
318
324 inline const Aws::String& GetClientToken() const { return m_clientToken; }
325 inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; }
326 template <typename ClientTokenT = Aws::String>
327 void SetClientToken(ClientTokenT&& value) {
328 m_clientTokenHasBeenSet = true;
329 m_clientToken = std::forward<ClientTokenT>(value);
330 }
331 template <typename ClientTokenT = Aws::String>
332 CreateIpamPoolRequest& WithClientToken(ClientTokenT&& value) {
333 SetClientToken(std::forward<ClientTokenT>(value));
334 return *this;
335 }
337
339
344 inline IpamPoolAwsService GetAwsService() const { return m_awsService; }
345 inline bool AwsServiceHasBeenSet() const { return m_awsServiceHasBeenSet; }
347 m_awsServiceHasBeenSet = true;
348 m_awsService = value;
349 }
351 SetAwsService(value);
352 return *this;
353 }
355
357
369 inline IpamPoolPublicIpSource GetPublicIpSource() const { return m_publicIpSource; }
370 inline bool PublicIpSourceHasBeenSet() const { return m_publicIpSourceHasBeenSet; }
372 m_publicIpSourceHasBeenSet = true;
373 m_publicIpSource = value;
374 }
376 SetPublicIpSource(value);
377 return *this;
378 }
380
382
385 inline const IpamPoolSourceResourceRequest& GetSourceResource() const { return m_sourceResource; }
386 inline bool SourceResourceHasBeenSet() const { return m_sourceResourceHasBeenSet; }
387 template <typename SourceResourceT = IpamPoolSourceResourceRequest>
388 void SetSourceResource(SourceResourceT&& value) {
389 m_sourceResourceHasBeenSet = true;
390 m_sourceResource = std::forward<SourceResourceT>(value);
391 }
392 template <typename SourceResourceT = IpamPoolSourceResourceRequest>
393 CreateIpamPoolRequest& WithSourceResource(SourceResourceT&& value) {
394 SetSourceResource(std::forward<SourceResourceT>(value));
395 return *this;
396 }
398 private:
399 bool m_dryRun{false};
400
401 Aws::String m_ipamScopeId;
402
403 Aws::String m_locale;
404
405 Aws::String m_sourceIpamPoolId;
406
407 Aws::String m_description;
408
409 AddressFamily m_addressFamily{AddressFamily::NOT_SET};
410
411 bool m_autoImport{false};
412
413 bool m_publiclyAdvertisable{false};
414
415 int m_allocationMinNetmaskLength{0};
416
417 int m_allocationMaxNetmaskLength{0};
418
419 int m_allocationDefaultNetmaskLength{0};
420
421 Aws::Vector<RequestIpamResourceTag> m_allocationResourceTags;
422
423 Aws::Vector<TagSpecification> m_tagSpecifications;
424
426
428
430
431 IpamPoolSourceResourceRequest m_sourceResource;
432 bool m_dryRunHasBeenSet = false;
433 bool m_ipamScopeIdHasBeenSet = false;
434 bool m_localeHasBeenSet = false;
435 bool m_sourceIpamPoolIdHasBeenSet = false;
436 bool m_descriptionHasBeenSet = false;
437 bool m_addressFamilyHasBeenSet = false;
438 bool m_autoImportHasBeenSet = false;
439 bool m_publiclyAdvertisableHasBeenSet = false;
440 bool m_allocationMinNetmaskLengthHasBeenSet = false;
441 bool m_allocationMaxNetmaskLengthHasBeenSet = false;
442 bool m_allocationDefaultNetmaskLengthHasBeenSet = false;
443 bool m_allocationResourceTagsHasBeenSet = false;
444 bool m_tagSpecificationsHasBeenSet = false;
445 bool m_clientTokenHasBeenSet = true;
446 bool m_awsServiceHasBeenSet = false;
447 bool m_publicIpSourceHasBeenSet = false;
448 bool m_sourceResourceHasBeenSet = false;
449};
450
451} // namespace Model
452} // namespace EC2
453} // namespace Aws
CreateIpamPoolRequest & AddAllocationResourceTags(AllocationResourceTagsT &&value)
CreateIpamPoolRequest & WithPublicIpSource(IpamPoolPublicIpSource value)
CreateIpamPoolRequest & WithDescription(DescriptionT &&value)
CreateIpamPoolRequest & WithClientToken(ClientTokenT &&value)
CreateIpamPoolRequest & WithIpamScopeId(IpamScopeIdT &&value)
AWS_EC2_API CreateIpamPoolRequest()=default
CreateIpamPoolRequest & WithLocale(LocaleT &&value)
CreateIpamPoolRequest & WithPubliclyAdvertisable(bool value)
AWS_EC2_API Aws::String SerializePayload() const override
IpamPoolPublicIpSource GetPublicIpSource() const
CreateIpamPoolRequest & WithSourceIpamPoolId(SourceIpamPoolIdT &&value)
const Aws::String & GetSourceIpamPoolId() const
virtual const char * GetServiceRequestName() const override
void SetTagSpecifications(TagSpecificationsT &&value)
CreateIpamPoolRequest & WithTagSpecifications(TagSpecificationsT &&value)
const Aws::Vector< RequestIpamResourceTag > & GetAllocationResourceTags() const
CreateIpamPoolRequest & WithAddressFamily(AddressFamily value)
AWS_EC2_API void DumpBodyToUrl(Aws::Http::URI &uri) const override
CreateIpamPoolRequest & WithAllocationDefaultNetmaskLength(int value)
CreateIpamPoolRequest & WithAllocationResourceTags(AllocationResourceTagsT &&value)
const IpamPoolSourceResourceRequest & GetSourceResource() const
CreateIpamPoolRequest & WithAutoImport(bool value)
CreateIpamPoolRequest & WithSourceResource(SourceResourceT &&value)
void SetPublicIpSource(IpamPoolPublicIpSource value)
CreateIpamPoolRequest & WithAwsService(IpamPoolAwsService value)
CreateIpamPoolRequest & WithDryRun(bool value)
CreateIpamPoolRequest & WithAllocationMinNetmaskLength(int value)
CreateIpamPoolRequest & AddTagSpecifications(TagSpecificationsT &&value)
void SetAwsService(IpamPoolAwsService value)
void SetSourceResource(SourceResourceT &&value)
void SetAllocationResourceTags(AllocationResourceTagsT &&value)
CreateIpamPoolRequest & WithAllocationMaxNetmaskLength(int value)
void SetSourceIpamPoolId(SourceIpamPoolIdT &&value)
const Aws::Vector< TagSpecification > & GetTagSpecifications() const
static Aws::Utils::UUID PseudoRandomUUID()
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector