AWS SDK for C++

AWS SDK for C++ Version 1.11.716

Loading...
Searching...
No Matches
RegisterImageRequest.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/ec2/EC2Request.h>
10#include <aws/ec2/EC2_EXPORTS.h>
11#include <aws/ec2/model/ArchitectureValues.h>
12#include <aws/ec2/model/BlockDeviceMapping.h>
13#include <aws/ec2/model/BootModeValues.h>
14#include <aws/ec2/model/ImdsSupportValues.h>
15#include <aws/ec2/model/TagSpecification.h>
16#include <aws/ec2/model/TpmSupportValues.h>
17
18#include <utility>
19
20namespace Aws {
21namespace EC2 {
22namespace Model {
23
30 public:
31 AWS_EC2_API RegisterImageRequest() = 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 "RegisterImage"; }
38
39 AWS_EC2_API Aws::String SerializePayload() const override;
40
41 protected:
42 AWS_EC2_API void DumpBodyToUrl(Aws::Http::URI& uri) const override;
43
44 public:
46
53 inline const Aws::String& GetImageLocation() const { return m_imageLocation; }
54 inline bool ImageLocationHasBeenSet() const { return m_imageLocationHasBeenSet; }
55 template <typename ImageLocationT = Aws::String>
56 void SetImageLocation(ImageLocationT&& value) {
57 m_imageLocationHasBeenSet = true;
58 m_imageLocation = std::forward<ImageLocationT>(value);
59 }
60 template <typename ImageLocationT = Aws::String>
61 RegisterImageRequest& WithImageLocation(ImageLocationT&& value) {
62 SetImageLocation(std::forward<ImageLocationT>(value));
63 return *this;
64 }
66
68
80 inline const Aws::Vector<Aws::String>& GetBillingProducts() const { return m_billingProducts; }
81 inline bool BillingProductsHasBeenSet() const { return m_billingProductsHasBeenSet; }
82 template <typename BillingProductsT = Aws::Vector<Aws::String>>
83 void SetBillingProducts(BillingProductsT&& value) {
84 m_billingProductsHasBeenSet = true;
85 m_billingProducts = std::forward<BillingProductsT>(value);
86 }
87 template <typename BillingProductsT = Aws::Vector<Aws::String>>
88 RegisterImageRequest& WithBillingProducts(BillingProductsT&& value) {
89 SetBillingProducts(std::forward<BillingProductsT>(value));
90 return *this;
91 }
92 template <typename BillingProductsT = Aws::String>
93 RegisterImageRequest& AddBillingProducts(BillingProductsT&& value) {
94 m_billingProductsHasBeenSet = true;
95 m_billingProducts.emplace_back(std::forward<BillingProductsT>(value));
96 return *this;
97 }
99
101
110 inline BootModeValues GetBootMode() const { return m_bootMode; }
111 inline bool BootModeHasBeenSet() const { return m_bootModeHasBeenSet; }
112 inline void SetBootMode(BootModeValues value) {
113 m_bootModeHasBeenSet = true;
114 m_bootMode = value;
115 }
117 SetBootMode(value);
118 return *this;
119 }
121
123
129 inline TpmSupportValues GetTpmSupport() const { return m_tpmSupport; }
130 inline bool TpmSupportHasBeenSet() const { return m_tpmSupportHasBeenSet; }
131 inline void SetTpmSupport(TpmSupportValues value) {
132 m_tpmSupportHasBeenSet = true;
133 m_tpmSupport = value;
134 }
136 SetTpmSupport(value);
137 return *this;
138 }
140
142
153 inline const Aws::String& GetUefiData() const { return m_uefiData; }
154 inline bool UefiDataHasBeenSet() const { return m_uefiDataHasBeenSet; }
155 template <typename UefiDataT = Aws::String>
156 void SetUefiData(UefiDataT&& value) {
157 m_uefiDataHasBeenSet = true;
158 m_uefiData = std::forward<UefiDataT>(value);
159 }
160 template <typename UefiDataT = Aws::String>
161 RegisterImageRequest& WithUefiData(UefiDataT&& value) {
162 SetUefiData(std::forward<UefiDataT>(value));
163 return *this;
164 }
166
168
180 inline ImdsSupportValues GetImdsSupport() const { return m_imdsSupport; }
181 inline bool ImdsSupportHasBeenSet() const { return m_imdsSupportHasBeenSet; }
183 m_imdsSupportHasBeenSet = true;
184 m_imdsSupport = value;
185 }
187 SetImdsSupport(value);
188 return *this;
189 }
191
193
200 inline const Aws::Vector<TagSpecification>& GetTagSpecifications() const { return m_tagSpecifications; }
201 inline bool TagSpecificationsHasBeenSet() const { return m_tagSpecificationsHasBeenSet; }
202 template <typename TagSpecificationsT = Aws::Vector<TagSpecification>>
203 void SetTagSpecifications(TagSpecificationsT&& value) {
204 m_tagSpecificationsHasBeenSet = true;
205 m_tagSpecifications = std::forward<TagSpecificationsT>(value);
206 }
207 template <typename TagSpecificationsT = Aws::Vector<TagSpecification>>
208 RegisterImageRequest& WithTagSpecifications(TagSpecificationsT&& value) {
209 SetTagSpecifications(std::forward<TagSpecificationsT>(value));
210 return *this;
211 }
212 template <typename TagSpecificationsT = TagSpecification>
213 RegisterImageRequest& AddTagSpecifications(TagSpecificationsT&& value) {
214 m_tagSpecificationsHasBeenSet = true;
215 m_tagSpecifications.emplace_back(std::forward<TagSpecificationsT>(value));
216 return *this;
217 }
219
221
227 inline bool GetDryRun() const { return m_dryRun; }
228 inline bool DryRunHasBeenSet() const { return m_dryRunHasBeenSet; }
229 inline void SetDryRun(bool value) {
230 m_dryRunHasBeenSet = true;
231 m_dryRun = value;
232 }
233 inline RegisterImageRequest& WithDryRun(bool value) {
234 SetDryRun(value);
235 return *this;
236 }
238
240
245 inline const Aws::String& GetName() const { return m_name; }
246 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
247 template <typename NameT = Aws::String>
248 void SetName(NameT&& value) {
249 m_nameHasBeenSet = true;
250 m_name = std::forward<NameT>(value);
251 }
252 template <typename NameT = Aws::String>
254 SetName(std::forward<NameT>(value));
255 return *this;
256 }
258
260
263 inline const Aws::String& GetDescription() const { return m_description; }
264 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
265 template <typename DescriptionT = Aws::String>
266 void SetDescription(DescriptionT&& value) {
267 m_descriptionHasBeenSet = true;
268 m_description = std::forward<DescriptionT>(value);
269 }
270 template <typename DescriptionT = Aws::String>
271 RegisterImageRequest& WithDescription(DescriptionT&& value) {
272 SetDescription(std::forward<DescriptionT>(value));
273 return *this;
274 }
276
278
283 inline ArchitectureValues GetArchitecture() const { return m_architecture; }
284 inline bool ArchitectureHasBeenSet() const { return m_architectureHasBeenSet; }
286 m_architectureHasBeenSet = true;
287 m_architecture = value;
288 }
290 SetArchitecture(value);
291 return *this;
292 }
294
296
299 inline const Aws::String& GetKernelId() const { return m_kernelId; }
300 inline bool KernelIdHasBeenSet() const { return m_kernelIdHasBeenSet; }
301 template <typename KernelIdT = Aws::String>
302 void SetKernelId(KernelIdT&& value) {
303 m_kernelIdHasBeenSet = true;
304 m_kernelId = std::forward<KernelIdT>(value);
305 }
306 template <typename KernelIdT = Aws::String>
307 RegisterImageRequest& WithKernelId(KernelIdT&& value) {
308 SetKernelId(std::forward<KernelIdT>(value));
309 return *this;
310 }
312
314
317 inline const Aws::String& GetRamdiskId() const { return m_ramdiskId; }
318 inline bool RamdiskIdHasBeenSet() const { return m_ramdiskIdHasBeenSet; }
319 template <typename RamdiskIdT = Aws::String>
320 void SetRamdiskId(RamdiskIdT&& value) {
321 m_ramdiskIdHasBeenSet = true;
322 m_ramdiskId = std::forward<RamdiskIdT>(value);
323 }
324 template <typename RamdiskIdT = Aws::String>
325 RegisterImageRequest& WithRamdiskId(RamdiskIdT&& value) {
326 SetRamdiskId(std::forward<RamdiskIdT>(value));
327 return *this;
328 }
330
332
336 inline const Aws::String& GetRootDeviceName() const { return m_rootDeviceName; }
337 inline bool RootDeviceNameHasBeenSet() const { return m_rootDeviceNameHasBeenSet; }
338 template <typename RootDeviceNameT = Aws::String>
339 void SetRootDeviceName(RootDeviceNameT&& value) {
340 m_rootDeviceNameHasBeenSet = true;
341 m_rootDeviceName = std::forward<RootDeviceNameT>(value);
342 }
343 template <typename RootDeviceNameT = Aws::String>
344 RegisterImageRequest& WithRootDeviceName(RootDeviceNameT&& value) {
345 SetRootDeviceName(std::forward<RootDeviceNameT>(value));
346 return *this;
347 }
349
351
361 inline const Aws::Vector<BlockDeviceMapping>& GetBlockDeviceMappings() const { return m_blockDeviceMappings; }
362 inline bool BlockDeviceMappingsHasBeenSet() const { return m_blockDeviceMappingsHasBeenSet; }
363 template <typename BlockDeviceMappingsT = Aws::Vector<BlockDeviceMapping>>
364 void SetBlockDeviceMappings(BlockDeviceMappingsT&& value) {
365 m_blockDeviceMappingsHasBeenSet = true;
366 m_blockDeviceMappings = std::forward<BlockDeviceMappingsT>(value);
367 }
368 template <typename BlockDeviceMappingsT = Aws::Vector<BlockDeviceMapping>>
369 RegisterImageRequest& WithBlockDeviceMappings(BlockDeviceMappingsT&& value) {
370 SetBlockDeviceMappings(std::forward<BlockDeviceMappingsT>(value));
371 return *this;
372 }
373 template <typename BlockDeviceMappingsT = BlockDeviceMapping>
374 RegisterImageRequest& AddBlockDeviceMappings(BlockDeviceMappingsT&& value) {
375 m_blockDeviceMappingsHasBeenSet = true;
376 m_blockDeviceMappings.emplace_back(std::forward<BlockDeviceMappingsT>(value));
377 return *this;
378 }
380
382
386 inline const Aws::String& GetVirtualizationType() const { return m_virtualizationType; }
387 inline bool VirtualizationTypeHasBeenSet() const { return m_virtualizationTypeHasBeenSet; }
388 template <typename VirtualizationTypeT = Aws::String>
389 void SetVirtualizationType(VirtualizationTypeT&& value) {
390 m_virtualizationTypeHasBeenSet = true;
391 m_virtualizationType = std::forward<VirtualizationTypeT>(value);
392 }
393 template <typename VirtualizationTypeT = Aws::String>
394 RegisterImageRequest& WithVirtualizationType(VirtualizationTypeT&& value) {
395 SetVirtualizationType(std::forward<VirtualizationTypeT>(value));
396 return *this;
397 }
399
401
408 inline const Aws::String& GetSriovNetSupport() const { return m_sriovNetSupport; }
409 inline bool SriovNetSupportHasBeenSet() const { return m_sriovNetSupportHasBeenSet; }
410 template <typename SriovNetSupportT = Aws::String>
411 void SetSriovNetSupport(SriovNetSupportT&& value) {
412 m_sriovNetSupportHasBeenSet = true;
413 m_sriovNetSupport = std::forward<SriovNetSupportT>(value);
414 }
415 template <typename SriovNetSupportT = Aws::String>
416 RegisterImageRequest& WithSriovNetSupport(SriovNetSupportT&& value) {
417 SetSriovNetSupport(std::forward<SriovNetSupportT>(value));
418 return *this;
419 }
421
423
429 inline bool GetEnaSupport() const { return m_enaSupport; }
430 inline bool EnaSupportHasBeenSet() const { return m_enaSupportHasBeenSet; }
431 inline void SetEnaSupport(bool value) {
432 m_enaSupportHasBeenSet = true;
433 m_enaSupport = value;
434 }
436 SetEnaSupport(value);
437 return *this;
438 }
440 private:
441 Aws::String m_imageLocation;
442
443 Aws::Vector<Aws::String> m_billingProducts;
444
446
448
449 Aws::String m_uefiData;
450
452
453 Aws::Vector<TagSpecification> m_tagSpecifications;
454
455 bool m_dryRun{false};
456
457 Aws::String m_name;
458
459 Aws::String m_description;
460
462
463 Aws::String m_kernelId;
464
465 Aws::String m_ramdiskId;
466
467 Aws::String m_rootDeviceName;
468
469 Aws::Vector<BlockDeviceMapping> m_blockDeviceMappings;
470
471 Aws::String m_virtualizationType;
472
473 Aws::String m_sriovNetSupport;
474
475 bool m_enaSupport{false};
476 bool m_imageLocationHasBeenSet = false;
477 bool m_billingProductsHasBeenSet = false;
478 bool m_bootModeHasBeenSet = false;
479 bool m_tpmSupportHasBeenSet = false;
480 bool m_uefiDataHasBeenSet = false;
481 bool m_imdsSupportHasBeenSet = false;
482 bool m_tagSpecificationsHasBeenSet = false;
483 bool m_dryRunHasBeenSet = false;
484 bool m_nameHasBeenSet = false;
485 bool m_descriptionHasBeenSet = false;
486 bool m_architectureHasBeenSet = false;
487 bool m_kernelIdHasBeenSet = false;
488 bool m_ramdiskIdHasBeenSet = false;
489 bool m_rootDeviceNameHasBeenSet = false;
490 bool m_blockDeviceMappingsHasBeenSet = false;
491 bool m_virtualizationTypeHasBeenSet = false;
492 bool m_sriovNetSupportHasBeenSet = false;
493 bool m_enaSupportHasBeenSet = false;
494};
495
496} // namespace Model
497} // namespace EC2
498} // namespace Aws
void SetBillingProducts(BillingProductsT &&value)
const Aws::Vector< Aws::String > & GetBillingProducts() const
RegisterImageRequest & AddBillingProducts(BillingProductsT &&value)
RegisterImageRequest & WithSriovNetSupport(SriovNetSupportT &&value)
void SetVirtualizationType(VirtualizationTypeT &&value)
RegisterImageRequest & WithDryRun(bool value)
const Aws::Vector< BlockDeviceMapping > & GetBlockDeviceMappings() const
const Aws::String & GetSriovNetSupport() const
void SetBlockDeviceMappings(BlockDeviceMappingsT &&value)
RegisterImageRequest & WithBillingProducts(BillingProductsT &&value)
RegisterImageRequest & WithRootDeviceName(RootDeviceNameT &&value)
RegisterImageRequest & AddTagSpecifications(TagSpecificationsT &&value)
RegisterImageRequest & WithName(NameT &&value)
const Aws::Vector< TagSpecification > & GetTagSpecifications() const
void SetRootDeviceName(RootDeviceNameT &&value)
RegisterImageRequest & WithTpmSupport(TpmSupportValues value)
const Aws::String & GetRootDeviceName() const
RegisterImageRequest & WithRamdiskId(RamdiskIdT &&value)
RegisterImageRequest & WithVirtualizationType(VirtualizationTypeT &&value)
RegisterImageRequest & WithBootMode(BootModeValues value)
const Aws::String & GetVirtualizationType() const
RegisterImageRequest & WithTagSpecifications(TagSpecificationsT &&value)
void SetImageLocation(ImageLocationT &&value)
RegisterImageRequest & WithKernelId(KernelIdT &&value)
virtual const char * GetServiceRequestName() const override
void SetSriovNetSupport(SriovNetSupportT &&value)
RegisterImageRequest & WithImageLocation(ImageLocationT &&value)
void SetArchitecture(ArchitectureValues value)
void SetTpmSupport(TpmSupportValues value)
RegisterImageRequest & WithArchitecture(ArchitectureValues value)
void SetImdsSupport(ImdsSupportValues value)
AWS_EC2_API RegisterImageRequest()=default
RegisterImageRequest & WithImdsSupport(ImdsSupportValues value)
void SetTagSpecifications(TagSpecificationsT &&value)
RegisterImageRequest & WithBlockDeviceMappings(BlockDeviceMappingsT &&value)
RegisterImageRequest & AddBlockDeviceMappings(BlockDeviceMappingsT &&value)
AWS_EC2_API void DumpBodyToUrl(Aws::Http::URI &uri) const override
RegisterImageRequest & WithUefiData(UefiDataT &&value)
RegisterImageRequest & WithDescription(DescriptionT &&value)
const Aws::String & GetImageLocation() const
const Aws::String & GetDescription() const
AWS_EC2_API Aws::String SerializePayload() const override
RegisterImageRequest & WithEnaSupport(bool value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector