AWS SDK for C++

AWS SDK for C++ Version 1.11.888

Loading...
Searching...
No Matches
Image.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.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/DeviceType.h>
15#include <aws/ec2/model/HypervisorType.h>
16#include <aws/ec2/model/ImageState.h>
17#include <aws/ec2/model/ImageTypeValues.h>
18#include <aws/ec2/model/ImageWatermark.h>
19#include <aws/ec2/model/ImdsSupportValues.h>
20#include <aws/ec2/model/InstanceTypeSpecification.h>
21#include <aws/ec2/model/PlatformValues.h>
22#include <aws/ec2/model/ProductCode.h>
23#include <aws/ec2/model/StateReason.h>
24#include <aws/ec2/model/Tag.h>
25#include <aws/ec2/model/TpmSupportValues.h>
26#include <aws/ec2/model/VirtualizationType.h>
27
28#include <utility>
29
30namespace Aws {
31namespace Utils {
32namespace Xml {
33class XmlNode;
34} // namespace Xml
35} // namespace Utils
36namespace EC2 {
37namespace Model {
38
44class Image {
45 public:
46 AWS_EC2_API Image() = default;
47 AWS_EC2_API Image(const Aws::Utils::Xml::XmlNode& xmlNode);
48 AWS_EC2_API Image& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
49
50 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
51 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
52
54
60 inline const Aws::String& GetPlatformDetails() const { return m_platformDetails; }
61 inline bool PlatformDetailsHasBeenSet() const { return m_platformDetailsHasBeenSet; }
62 template <typename PlatformDetailsT = Aws::String>
63 void SetPlatformDetails(PlatformDetailsT&& value) {
64 m_platformDetailsHasBeenSet = true;
65 m_platformDetails = std::forward<PlatformDetailsT>(value);
66 }
67 template <typename PlatformDetailsT = Aws::String>
68 Image& WithPlatformDetails(PlatformDetailsT&& value) {
69 SetPlatformDetails(std::forward<PlatformDetailsT>(value));
70 return *this;
71 }
73
75
89 inline const Aws::String& GetUsageOperation() const { return m_usageOperation; }
90 inline bool UsageOperationHasBeenSet() const { return m_usageOperationHasBeenSet; }
91 template <typename UsageOperationT = Aws::String>
92 void SetUsageOperation(UsageOperationT&& value) {
93 m_usageOperationHasBeenSet = true;
94 m_usageOperation = std::forward<UsageOperationT>(value);
95 }
96 template <typename UsageOperationT = Aws::String>
97 Image& WithUsageOperation(UsageOperationT&& value) {
98 SetUsageOperation(std::forward<UsageOperationT>(value));
99 return *this;
100 }
102
104
107 inline const Aws::Vector<BlockDeviceMapping>& GetBlockDeviceMappings() const { return m_blockDeviceMappings; }
108 inline bool BlockDeviceMappingsHasBeenSet() const { return m_blockDeviceMappingsHasBeenSet; }
109 template <typename BlockDeviceMappingsT = Aws::Vector<BlockDeviceMapping>>
110 void SetBlockDeviceMappings(BlockDeviceMappingsT&& value) {
111 m_blockDeviceMappingsHasBeenSet = true;
112 m_blockDeviceMappings = std::forward<BlockDeviceMappingsT>(value);
113 }
114 template <typename BlockDeviceMappingsT = Aws::Vector<BlockDeviceMapping>>
115 Image& WithBlockDeviceMappings(BlockDeviceMappingsT&& value) {
116 SetBlockDeviceMappings(std::forward<BlockDeviceMappingsT>(value));
117 return *this;
118 }
119 template <typename BlockDeviceMappingsT = BlockDeviceMapping>
120 Image& AddBlockDeviceMappings(BlockDeviceMappingsT&& value) {
121 m_blockDeviceMappingsHasBeenSet = true;
122 m_blockDeviceMappings.emplace_back(std::forward<BlockDeviceMappingsT>(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 Image& WithDescription(DescriptionT&& value) {
140 SetDescription(std::forward<DescriptionT>(value));
141 return *this;
142 }
144
146
149 inline bool GetEnaSupport() const { return m_enaSupport; }
150 inline bool EnaSupportHasBeenSet() const { return m_enaSupportHasBeenSet; }
151 inline void SetEnaSupport(bool value) {
152 m_enaSupportHasBeenSet = true;
153 m_enaSupport = value;
154 }
155 inline Image& WithEnaSupport(bool value) {
156 SetEnaSupport(value);
157 return *this;
158 }
160
162
166 inline HypervisorType GetHypervisor() const { return m_hypervisor; }
167 inline bool HypervisorHasBeenSet() const { return m_hypervisorHasBeenSet; }
168 inline void SetHypervisor(HypervisorType value) {
169 m_hypervisorHasBeenSet = true;
170 m_hypervisor = value;
171 }
173 SetHypervisor(value);
174 return *this;
175 }
177
179
183 inline const Aws::String& GetImageOwnerAlias() const { return m_imageOwnerAlias; }
184 inline bool ImageOwnerAliasHasBeenSet() const { return m_imageOwnerAliasHasBeenSet; }
185 template <typename ImageOwnerAliasT = Aws::String>
186 void SetImageOwnerAlias(ImageOwnerAliasT&& value) {
187 m_imageOwnerAliasHasBeenSet = true;
188 m_imageOwnerAlias = std::forward<ImageOwnerAliasT>(value);
189 }
190 template <typename ImageOwnerAliasT = Aws::String>
191 Image& WithImageOwnerAlias(ImageOwnerAliasT&& value) {
192 SetImageOwnerAlias(std::forward<ImageOwnerAliasT>(value));
193 return *this;
194 }
196
198
201 inline const Aws::String& GetName() const { return m_name; }
202 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
203 template <typename NameT = Aws::String>
204 void SetName(NameT&& value) {
205 m_nameHasBeenSet = true;
206 m_name = std::forward<NameT>(value);
207 }
208 template <typename NameT = Aws::String>
209 Image& WithName(NameT&& value) {
210 SetName(std::forward<NameT>(value));
211 return *this;
212 }
214
216
220 inline const Aws::String& GetRootDeviceName() const { return m_rootDeviceName; }
221 inline bool RootDeviceNameHasBeenSet() const { return m_rootDeviceNameHasBeenSet; }
222 template <typename RootDeviceNameT = Aws::String>
223 void SetRootDeviceName(RootDeviceNameT&& value) {
224 m_rootDeviceNameHasBeenSet = true;
225 m_rootDeviceName = std::forward<RootDeviceNameT>(value);
226 }
227 template <typename RootDeviceNameT = Aws::String>
228 Image& WithRootDeviceName(RootDeviceNameT&& value) {
229 SetRootDeviceName(std::forward<RootDeviceNameT>(value));
230 return *this;
231 }
233
235
239 inline DeviceType GetRootDeviceType() const { return m_rootDeviceType; }
240 inline bool RootDeviceTypeHasBeenSet() const { return m_rootDeviceTypeHasBeenSet; }
241 inline void SetRootDeviceType(DeviceType value) {
242 m_rootDeviceTypeHasBeenSet = true;
243 m_rootDeviceType = value;
244 }
246 SetRootDeviceType(value);
247 return *this;
248 }
250
252
256 inline const Aws::String& GetSriovNetSupport() const { return m_sriovNetSupport; }
257 inline bool SriovNetSupportHasBeenSet() const { return m_sriovNetSupportHasBeenSet; }
258 template <typename SriovNetSupportT = Aws::String>
259 void SetSriovNetSupport(SriovNetSupportT&& value) {
260 m_sriovNetSupportHasBeenSet = true;
261 m_sriovNetSupport = std::forward<SriovNetSupportT>(value);
262 }
263 template <typename SriovNetSupportT = Aws::String>
264 Image& WithSriovNetSupport(SriovNetSupportT&& value) {
265 SetSriovNetSupport(std::forward<SriovNetSupportT>(value));
266 return *this;
267 }
269
271
274 inline const StateReason& GetStateReason() const { return m_stateReason; }
275 inline bool StateReasonHasBeenSet() const { return m_stateReasonHasBeenSet; }
276 template <typename StateReasonT = StateReason>
277 void SetStateReason(StateReasonT&& value) {
278 m_stateReasonHasBeenSet = true;
279 m_stateReason = std::forward<StateReasonT>(value);
280 }
281 template <typename StateReasonT = StateReason>
282 Image& WithStateReason(StateReasonT&& value) {
283 SetStateReason(std::forward<StateReasonT>(value));
284 return *this;
285 }
287
289
292 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
293 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
294 template <typename TagsT = Aws::Vector<Tag>>
295 void SetTags(TagsT&& value) {
296 m_tagsHasBeenSet = true;
297 m_tags = std::forward<TagsT>(value);
298 }
299 template <typename TagsT = Aws::Vector<Tag>>
300 Image& WithTags(TagsT&& value) {
301 SetTags(std::forward<TagsT>(value));
302 return *this;
303 }
304 template <typename TagsT = Tag>
305 Image& AddTags(TagsT&& value) {
306 m_tagsHasBeenSet = true;
307 m_tags.emplace_back(std::forward<TagsT>(value));
308 return *this;
309 }
311
313
316 inline VirtualizationType GetVirtualizationType() const { return m_virtualizationType; }
317 inline bool VirtualizationTypeHasBeenSet() const { return m_virtualizationTypeHasBeenSet; }
319 m_virtualizationTypeHasBeenSet = true;
320 m_virtualizationType = value;
321 }
324 return *this;
325 }
327
329
335 inline BootModeValues GetBootMode() const { return m_bootMode; }
336 inline bool BootModeHasBeenSet() const { return m_bootModeHasBeenSet; }
337 inline void SetBootMode(BootModeValues value) {
338 m_bootModeHasBeenSet = true;
339 m_bootMode = value;
340 }
342 SetBootMode(value);
343 return *this;
344 }
346
348
354 inline TpmSupportValues GetTpmSupport() const { return m_tpmSupport; }
355 inline bool TpmSupportHasBeenSet() const { return m_tpmSupportHasBeenSet; }
356 inline void SetTpmSupport(TpmSupportValues value) {
357 m_tpmSupportHasBeenSet = true;
358 m_tpmSupport = value;
359 }
361 SetTpmSupport(value);
362 return *this;
363 }
365
367
372 inline const Aws::String& GetDeprecationTime() const { return m_deprecationTime; }
373 inline bool DeprecationTimeHasBeenSet() const { return m_deprecationTimeHasBeenSet; }
374 template <typename DeprecationTimeT = Aws::String>
375 void SetDeprecationTime(DeprecationTimeT&& value) {
376 m_deprecationTimeHasBeenSet = true;
377 m_deprecationTime = std::forward<DeprecationTimeT>(value);
378 }
379 template <typename DeprecationTimeT = Aws::String>
380 Image& WithDeprecationTime(DeprecationTimeT&& value) {
381 SetDeprecationTime(std::forward<DeprecationTimeT>(value));
382 return *this;
383 }
385
387
397 inline ImdsSupportValues GetImdsSupport() const { return m_imdsSupport; }
398 inline bool ImdsSupportHasBeenSet() const { return m_imdsSupportHasBeenSet; }
400 m_imdsSupportHasBeenSet = true;
401 m_imdsSupport = value;
402 }
404 SetImdsSupport(value);
405 return *this;
406 }
408
410
416 inline const Aws::String& GetSourceInstanceId() const { return m_sourceInstanceId; }
417 inline bool SourceInstanceIdHasBeenSet() const { return m_sourceInstanceIdHasBeenSet; }
418 template <typename SourceInstanceIdT = Aws::String>
419 void SetSourceInstanceId(SourceInstanceIdT&& value) {
420 m_sourceInstanceIdHasBeenSet = true;
421 m_sourceInstanceId = std::forward<SourceInstanceIdT>(value);
422 }
423 template <typename SourceInstanceIdT = Aws::String>
424 Image& WithSourceInstanceId(SourceInstanceIdT&& value) {
425 SetSourceInstanceId(std::forward<SourceInstanceIdT>(value));
426 return *this;
427 }
429
431
434 inline const Aws::String& GetDeregistrationProtection() const { return m_deregistrationProtection; }
435 inline bool DeregistrationProtectionHasBeenSet() const { return m_deregistrationProtectionHasBeenSet; }
436 template <typename DeregistrationProtectionT = Aws::String>
437 void SetDeregistrationProtection(DeregistrationProtectionT&& value) {
438 m_deregistrationProtectionHasBeenSet = true;
439 m_deregistrationProtection = std::forward<DeregistrationProtectionT>(value);
440 }
441 template <typename DeregistrationProtectionT = Aws::String>
442 Image& WithDeregistrationProtection(DeregistrationProtectionT&& value) {
443 SetDeregistrationProtection(std::forward<DeregistrationProtectionT>(value));
444 return *this;
445 }
447
449
456 inline const Aws::String& GetLastLaunchedTime() const { return m_lastLaunchedTime; }
457 inline bool LastLaunchedTimeHasBeenSet() const { return m_lastLaunchedTimeHasBeenSet; }
458 template <typename LastLaunchedTimeT = Aws::String>
459 void SetLastLaunchedTime(LastLaunchedTimeT&& value) {
460 m_lastLaunchedTimeHasBeenSet = true;
461 m_lastLaunchedTime = std::forward<LastLaunchedTimeT>(value);
462 }
463 template <typename LastLaunchedTimeT = Aws::String>
464 Image& WithLastLaunchedTime(LastLaunchedTimeT&& value) {
465 SetLastLaunchedTime(std::forward<LastLaunchedTimeT>(value));
466 return *this;
467 }
469
471
482 inline bool GetImageAllowed() const { return m_imageAllowed; }
483 inline bool ImageAllowedHasBeenSet() const { return m_imageAllowedHasBeenSet; }
484 inline void SetImageAllowed(bool value) {
485 m_imageAllowedHasBeenSet = true;
486 m_imageAllowed = value;
487 }
488 inline Image& WithImageAllowed(bool value) {
489 SetImageAllowed(value);
490 return *this;
491 }
493
495
498 inline const Aws::String& GetSourceImageId() const { return m_sourceImageId; }
499 inline bool SourceImageIdHasBeenSet() const { return m_sourceImageIdHasBeenSet; }
500 template <typename SourceImageIdT = Aws::String>
501 void SetSourceImageId(SourceImageIdT&& value) {
502 m_sourceImageIdHasBeenSet = true;
503 m_sourceImageId = std::forward<SourceImageIdT>(value);
504 }
505 template <typename SourceImageIdT = Aws::String>
506 Image& WithSourceImageId(SourceImageIdT&& value) {
507 SetSourceImageId(std::forward<SourceImageIdT>(value));
508 return *this;
509 }
511
513
516 inline const Aws::String& GetSourceImageRegion() const { return m_sourceImageRegion; }
517 inline bool SourceImageRegionHasBeenSet() const { return m_sourceImageRegionHasBeenSet; }
518 template <typename SourceImageRegionT = Aws::String>
519 void SetSourceImageRegion(SourceImageRegionT&& value) {
520 m_sourceImageRegionHasBeenSet = true;
521 m_sourceImageRegion = std::forward<SourceImageRegionT>(value);
522 }
523 template <typename SourceImageRegionT = Aws::String>
524 Image& WithSourceImageRegion(SourceImageRegionT&& value) {
525 SetSourceImageRegion(std::forward<SourceImageRegionT>(value));
526 return *this;
527 }
529
531
537 inline bool GetFreeTierEligible() const { return m_freeTierEligible; }
538 inline bool FreeTierEligibleHasBeenSet() const { return m_freeTierEligibleHasBeenSet; }
539 inline void SetFreeTierEligible(bool value) {
540 m_freeTierEligibleHasBeenSet = true;
541 m_freeTierEligible = value;
542 }
543 inline Image& WithFreeTierEligible(bool value) {
544 SetFreeTierEligible(value);
545 return *this;
546 }
548
550
554 inline const Aws::String& GetPublicSsmParameterName() const { return m_publicSsmParameterName; }
555 inline bool PublicSsmParameterNameHasBeenSet() const { return m_publicSsmParameterNameHasBeenSet; }
556 template <typename PublicSsmParameterNameT = Aws::String>
557 void SetPublicSsmParameterName(PublicSsmParameterNameT&& value) {
558 m_publicSsmParameterNameHasBeenSet = true;
559 m_publicSsmParameterName = std::forward<PublicSsmParameterNameT>(value);
560 }
561 template <typename PublicSsmParameterNameT = Aws::String>
562 Image& WithPublicSsmParameterName(PublicSsmParameterNameT&& value) {
563 SetPublicSsmParameterName(std::forward<PublicSsmParameterNameT>(value));
564 return *this;
565 }
567
569
572 inline const Aws::Vector<ImageWatermark>& GetImageWatermarks() const { return m_imageWatermarks; }
573 inline bool ImageWatermarksHasBeenSet() const { return m_imageWatermarksHasBeenSet; }
574 template <typename ImageWatermarksT = Aws::Vector<ImageWatermark>>
575 void SetImageWatermarks(ImageWatermarksT&& value) {
576 m_imageWatermarksHasBeenSet = true;
577 m_imageWatermarks = std::forward<ImageWatermarksT>(value);
578 }
579 template <typename ImageWatermarksT = Aws::Vector<ImageWatermark>>
580 Image& WithImageWatermarks(ImageWatermarksT&& value) {
581 SetImageWatermarks(std::forward<ImageWatermarksT>(value));
582 return *this;
583 }
584 template <typename ImageWatermarksT = ImageWatermark>
585 Image& AddImageWatermarks(ImageWatermarksT&& value) {
586 m_imageWatermarksHasBeenSet = true;
587 m_imageWatermarks.emplace_back(std::forward<ImageWatermarksT>(value));
588 return *this;
589 }
591
593
597 inline const InstanceTypeSpecification& GetInstanceTypeSpecification() const { return m_instanceTypeSpecification; }
598 inline bool InstanceTypeSpecificationHasBeenSet() const { return m_instanceTypeSpecificationHasBeenSet; }
599 template <typename InstanceTypeSpecificationT = InstanceTypeSpecification>
600 void SetInstanceTypeSpecification(InstanceTypeSpecificationT&& value) {
601 m_instanceTypeSpecificationHasBeenSet = true;
602 m_instanceTypeSpecification = std::forward<InstanceTypeSpecificationT>(value);
603 }
604 template <typename InstanceTypeSpecificationT = InstanceTypeSpecification>
605 Image& WithInstanceTypeSpecification(InstanceTypeSpecificationT&& value) {
606 SetInstanceTypeSpecification(std::forward<InstanceTypeSpecificationT>(value));
607 return *this;
608 }
610
612
615 inline const Aws::String& GetImageId() const { return m_imageId; }
616 inline bool ImageIdHasBeenSet() const { return m_imageIdHasBeenSet; }
617 template <typename ImageIdT = Aws::String>
618 void SetImageId(ImageIdT&& value) {
619 m_imageIdHasBeenSet = true;
620 m_imageId = std::forward<ImageIdT>(value);
621 }
622 template <typename ImageIdT = Aws::String>
623 Image& WithImageId(ImageIdT&& value) {
624 SetImageId(std::forward<ImageIdT>(value));
625 return *this;
626 }
628
630
633 inline const Aws::String& GetImageLocation() const { return m_imageLocation; }
634 inline bool ImageLocationHasBeenSet() const { return m_imageLocationHasBeenSet; }
635 template <typename ImageLocationT = Aws::String>
636 void SetImageLocation(ImageLocationT&& value) {
637 m_imageLocationHasBeenSet = true;
638 m_imageLocation = std::forward<ImageLocationT>(value);
639 }
640 template <typename ImageLocationT = Aws::String>
641 Image& WithImageLocation(ImageLocationT&& value) {
642 SetImageLocation(std::forward<ImageLocationT>(value));
643 return *this;
644 }
646
648
652 inline ImageState GetState() const { return m_state; }
653 inline bool StateHasBeenSet() const { return m_stateHasBeenSet; }
654 inline void SetState(ImageState value) {
655 m_stateHasBeenSet = true;
656 m_state = value;
657 }
658 inline Image& WithState(ImageState value) {
659 SetState(value);
660 return *this;
661 }
663
665
668 inline const Aws::String& GetOwnerId() const { return m_ownerId; }
669 inline bool OwnerIdHasBeenSet() const { return m_ownerIdHasBeenSet; }
670 template <typename OwnerIdT = Aws::String>
671 void SetOwnerId(OwnerIdT&& value) {
672 m_ownerIdHasBeenSet = true;
673 m_ownerId = std::forward<OwnerIdT>(value);
674 }
675 template <typename OwnerIdT = Aws::String>
676 Image& WithOwnerId(OwnerIdT&& value) {
677 SetOwnerId(std::forward<OwnerIdT>(value));
678 return *this;
679 }
681
683
686 inline const Aws::String& GetCreationDate() const { return m_creationDate; }
687 inline bool CreationDateHasBeenSet() const { return m_creationDateHasBeenSet; }
688 template <typename CreationDateT = Aws::String>
689 void SetCreationDate(CreationDateT&& value) {
690 m_creationDateHasBeenSet = true;
691 m_creationDate = std::forward<CreationDateT>(value);
692 }
693 template <typename CreationDateT = Aws::String>
694 Image& WithCreationDate(CreationDateT&& value) {
695 SetCreationDate(std::forward<CreationDateT>(value));
696 return *this;
697 }
699
701
706 inline bool GetPublic() const { return m_public; }
707 inline bool PublicHasBeenSet() const { return m_publicHasBeenSet; }
708 inline void SetPublic(bool value) {
709 m_publicHasBeenSet = true;
710 m_public = value;
711 }
712 inline Image& WithPublic(bool value) {
713 SetPublic(value);
714 return *this;
715 }
717
719
722 inline const Aws::Vector<ProductCode>& GetProductCodes() const { return m_productCodes; }
723 inline bool ProductCodesHasBeenSet() const { return m_productCodesHasBeenSet; }
724 template <typename ProductCodesT = Aws::Vector<ProductCode>>
725 void SetProductCodes(ProductCodesT&& value) {
726 m_productCodesHasBeenSet = true;
727 m_productCodes = std::forward<ProductCodesT>(value);
728 }
729 template <typename ProductCodesT = Aws::Vector<ProductCode>>
730 Image& WithProductCodes(ProductCodesT&& value) {
731 SetProductCodes(std::forward<ProductCodesT>(value));
732 return *this;
733 }
734 template <typename ProductCodesT = ProductCode>
735 Image& AddProductCodes(ProductCodesT&& value) {
736 m_productCodesHasBeenSet = true;
737 m_productCodes.emplace_back(std::forward<ProductCodesT>(value));
738 return *this;
739 }
741
743
746 inline ArchitectureValues GetArchitecture() const { return m_architecture; }
747 inline bool ArchitectureHasBeenSet() const { return m_architectureHasBeenSet; }
749 m_architectureHasBeenSet = true;
750 m_architecture = value;
751 }
753 SetArchitecture(value);
754 return *this;
755 }
757
759
762 inline ImageTypeValues GetImageType() const { return m_imageType; }
763 inline bool ImageTypeHasBeenSet() const { return m_imageTypeHasBeenSet; }
764 inline void SetImageType(ImageTypeValues value) {
765 m_imageTypeHasBeenSet = true;
766 m_imageType = value;
767 }
769 SetImageType(value);
770 return *this;
771 }
773
775
779 inline const Aws::String& GetKernelId() const { return m_kernelId; }
780 inline bool KernelIdHasBeenSet() const { return m_kernelIdHasBeenSet; }
781 template <typename KernelIdT = Aws::String>
782 void SetKernelId(KernelIdT&& value) {
783 m_kernelIdHasBeenSet = true;
784 m_kernelId = std::forward<KernelIdT>(value);
785 }
786 template <typename KernelIdT = Aws::String>
787 Image& WithKernelId(KernelIdT&& value) {
788 SetKernelId(std::forward<KernelIdT>(value));
789 return *this;
790 }
792
794
798 inline const Aws::String& GetRamdiskId() const { return m_ramdiskId; }
799 inline bool RamdiskIdHasBeenSet() const { return m_ramdiskIdHasBeenSet; }
800 template <typename RamdiskIdT = Aws::String>
801 void SetRamdiskId(RamdiskIdT&& value) {
802 m_ramdiskIdHasBeenSet = true;
803 m_ramdiskId = std::forward<RamdiskIdT>(value);
804 }
805 template <typename RamdiskIdT = Aws::String>
806 Image& WithRamdiskId(RamdiskIdT&& value) {
807 SetRamdiskId(std::forward<RamdiskIdT>(value));
808 return *this;
809 }
811
813
817 inline PlatformValues GetPlatform() const { return m_platform; }
818 inline bool PlatformHasBeenSet() const { return m_platformHasBeenSet; }
819 inline void SetPlatform(PlatformValues value) {
820 m_platformHasBeenSet = true;
821 m_platform = value;
822 }
824 SetPlatform(value);
825 return *this;
826 }
828 private:
829 Aws::String m_platformDetails;
830
831 Aws::String m_usageOperation;
832
833 Aws::Vector<BlockDeviceMapping> m_blockDeviceMappings;
834
835 Aws::String m_description;
836
837 bool m_enaSupport{false};
838
840
841 Aws::String m_imageOwnerAlias;
842
843 Aws::String m_name;
844
845 Aws::String m_rootDeviceName;
846
847 DeviceType m_rootDeviceType{DeviceType::NOT_SET};
848
849 Aws::String m_sriovNetSupport;
850
851 StateReason m_stateReason;
852
853 Aws::Vector<Tag> m_tags;
854
856
858
860
861 Aws::String m_deprecationTime;
862
864
865 Aws::String m_sourceInstanceId;
866
867 Aws::String m_deregistrationProtection;
868
869 Aws::String m_lastLaunchedTime;
870
871 bool m_imageAllowed{false};
872
873 Aws::String m_sourceImageId;
874
875 Aws::String m_sourceImageRegion;
876
877 bool m_freeTierEligible{false};
878
879 Aws::String m_publicSsmParameterName;
880
881 Aws::Vector<ImageWatermark> m_imageWatermarks;
882
883 InstanceTypeSpecification m_instanceTypeSpecification;
884
885 Aws::String m_imageId;
886
887 Aws::String m_imageLocation;
888
890
891 Aws::String m_ownerId;
892
893 Aws::String m_creationDate;
894
895 bool m_public{false};
896
897 Aws::Vector<ProductCode> m_productCodes;
898
900
902
903 Aws::String m_kernelId;
904
905 Aws::String m_ramdiskId;
906
908 bool m_platformDetailsHasBeenSet = false;
909 bool m_usageOperationHasBeenSet = false;
910 bool m_blockDeviceMappingsHasBeenSet = false;
911 bool m_descriptionHasBeenSet = false;
912 bool m_enaSupportHasBeenSet = false;
913 bool m_hypervisorHasBeenSet = false;
914 bool m_imageOwnerAliasHasBeenSet = false;
915 bool m_nameHasBeenSet = false;
916 bool m_rootDeviceNameHasBeenSet = false;
917 bool m_rootDeviceTypeHasBeenSet = false;
918 bool m_sriovNetSupportHasBeenSet = false;
919 bool m_stateReasonHasBeenSet = false;
920 bool m_tagsHasBeenSet = false;
921 bool m_virtualizationTypeHasBeenSet = false;
922 bool m_bootModeHasBeenSet = false;
923 bool m_tpmSupportHasBeenSet = false;
924 bool m_deprecationTimeHasBeenSet = false;
925 bool m_imdsSupportHasBeenSet = false;
926 bool m_sourceInstanceIdHasBeenSet = false;
927 bool m_deregistrationProtectionHasBeenSet = false;
928 bool m_lastLaunchedTimeHasBeenSet = false;
929 bool m_imageAllowedHasBeenSet = false;
930 bool m_sourceImageIdHasBeenSet = false;
931 bool m_sourceImageRegionHasBeenSet = false;
932 bool m_freeTierEligibleHasBeenSet = false;
933 bool m_publicSsmParameterNameHasBeenSet = false;
934 bool m_imageWatermarksHasBeenSet = false;
935 bool m_instanceTypeSpecificationHasBeenSet = false;
936 bool m_imageIdHasBeenSet = false;
937 bool m_imageLocationHasBeenSet = false;
938 bool m_stateHasBeenSet = false;
939 bool m_ownerIdHasBeenSet = false;
940 bool m_creationDateHasBeenSet = false;
941 bool m_publicHasBeenSet = false;
942 bool m_productCodesHasBeenSet = false;
943 bool m_architectureHasBeenSet = false;
944 bool m_imageTypeHasBeenSet = false;
945 bool m_kernelIdHasBeenSet = false;
946 bool m_ramdiskIdHasBeenSet = false;
947 bool m_platformHasBeenSet = false;
948};
949
950} // namespace Model
951} // namespace EC2
952} // namespace Aws
bool PlatformHasBeenSet() const
Definition Image.h:818
const Aws::Vector< ImageWatermark > & GetImageWatermarks() const
Definition Image.h:572
bool DeprecationTimeHasBeenSet() const
Definition Image.h:373
Image & WithTpmSupport(TpmSupportValues value)
Definition Image.h:360
Image & WithImageAllowed(bool value)
Definition Image.h:488
const Aws::String & GetDeprecationTime() const
Definition Image.h:372
BootModeValues GetBootMode() const
Definition Image.h:335
ArchitectureValues GetArchitecture() const
Definition Image.h:746
Image & WithInstanceTypeSpecification(InstanceTypeSpecificationT &&value)
Definition Image.h:605
bool StateHasBeenSet() const
Definition Image.h:653
bool TpmSupportHasBeenSet() const
Definition Image.h:355
bool HypervisorHasBeenSet() const
Definition Image.h:167
void SetSourceImageId(SourceImageIdT &&value)
Definition Image.h:501
Image & AddTags(TagsT &&value)
Definition Image.h:305
void SetState(ImageState value)
Definition Image.h:654
Image & WithDescription(DescriptionT &&value)
Definition Image.h:139
bool RamdiskIdHasBeenSet() const
Definition Image.h:799
Image & WithImageType(ImageTypeValues value)
Definition Image.h:768
void SetTags(TagsT &&value)
Definition Image.h:295
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
const Aws::String & GetImageLocation() const
Definition Image.h:633
void SetImageLocation(ImageLocationT &&value)
Definition Image.h:636
void SetDeregistrationProtection(DeregistrationProtectionT &&value)
Definition Image.h:437
bool EnaSupportHasBeenSet() const
Definition Image.h:150
void SetBlockDeviceMappings(BlockDeviceMappingsT &&value)
Definition Image.h:110
void SetRootDeviceType(DeviceType value)
Definition Image.h:241
bool ImageTypeHasBeenSet() const
Definition Image.h:763
void SetRamdiskId(RamdiskIdT &&value)
Definition Image.h:801
const Aws::String & GetOwnerId() const
Definition Image.h:668
const Aws::String & GetImageId() const
Definition Image.h:615
Image & WithSourceInstanceId(SourceInstanceIdT &&value)
Definition Image.h:424
Image & WithDeprecationTime(DeprecationTimeT &&value)
Definition Image.h:380
bool ImageLocationHasBeenSet() const
Definition Image.h:634
void SetOwnerId(OwnerIdT &&value)
Definition Image.h:671
Image & WithPlatform(PlatformValues value)
Definition Image.h:823
void SetInstanceTypeSpecification(InstanceTypeSpecificationT &&value)
Definition Image.h:600
bool RootDeviceNameHasBeenSet() const
Definition Image.h:221
PlatformValues GetPlatform() const
Definition Image.h:817
bool NameHasBeenSet() const
Definition Image.h:202
Image & WithLastLaunchedTime(LastLaunchedTimeT &&value)
Definition Image.h:464
const Aws::String & GetRootDeviceName() const
Definition Image.h:220
void SetSourceImageRegion(SourceImageRegionT &&value)
Definition Image.h:519
bool TagsHasBeenSet() const
Definition Image.h:293
bool DeregistrationProtectionHasBeenSet() const
Definition Image.h:435
const Aws::String & GetPlatformDetails() const
Definition Image.h:60
bool OwnerIdHasBeenSet() const
Definition Image.h:669
void SetHypervisor(HypervisorType value)
Definition Image.h:168
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
Image & WithPublicSsmParameterName(PublicSsmParameterNameT &&value)
Definition Image.h:562
Image & WithImageLocation(ImageLocationT &&value)
Definition Image.h:641
void SetImageAllowed(bool value)
Definition Image.h:484
void SetName(NameT &&value)
Definition Image.h:204
const Aws::String & GetKernelId() const
Definition Image.h:779
Image & WithRamdiskId(RamdiskIdT &&value)
Definition Image.h:806
Image & WithImageWatermarks(ImageWatermarksT &&value)
Definition Image.h:580
const Aws::String & GetCreationDate() const
Definition Image.h:686
bool KernelIdHasBeenSet() const
Definition Image.h:780
bool GetFreeTierEligible() const
Definition Image.h:537
void SetCreationDate(CreationDateT &&value)
Definition Image.h:689
Image & WithArchitecture(ArchitectureValues value)
Definition Image.h:752
void SetPublicSsmParameterName(PublicSsmParameterNameT &&value)
Definition Image.h:557
const Aws::Vector< ProductCode > & GetProductCodes() const
Definition Image.h:722
DeviceType GetRootDeviceType() const
Definition Image.h:239
Image & WithProductCodes(ProductCodesT &&value)
Definition Image.h:730
const Aws::String & GetImageOwnerAlias() const
Definition Image.h:183
void SetImageWatermarks(ImageWatermarksT &&value)
Definition Image.h:575
bool ImageOwnerAliasHasBeenSet() const
Definition Image.h:184
Image & WithBootMode(BootModeValues value)
Definition Image.h:341
bool GetPublic() const
Definition Image.h:706
Image & WithPublic(bool value)
Definition Image.h:712
Image & WithOwnerId(OwnerIdT &&value)
Definition Image.h:676
void SetEnaSupport(bool value)
Definition Image.h:151
void SetPublic(bool value)
Definition Image.h:708
const Aws::String & GetName() const
Definition Image.h:201
void SetPlatformDetails(PlatformDetailsT &&value)
Definition Image.h:63
Image & AddBlockDeviceMappings(BlockDeviceMappingsT &&value)
Definition Image.h:120
Image & WithDeregistrationProtection(DeregistrationProtectionT &&value)
Definition Image.h:442
Image & WithImageOwnerAlias(ImageOwnerAliasT &&value)
Definition Image.h:191
Image & WithState(ImageState value)
Definition Image.h:658
Image & WithPlatformDetails(PlatformDetailsT &&value)
Definition Image.h:68
const Aws::Vector< Tag > & GetTags() const
Definition Image.h:292
void SetImageId(ImageIdT &&value)
Definition Image.h:618
bool UsageOperationHasBeenSet() const
Definition Image.h:90
bool SourceImageRegionHasBeenSet() const
Definition Image.h:517
bool ArchitectureHasBeenSet() const
Definition Image.h:747
bool GetEnaSupport() const
Definition Image.h:149
const Aws::String & GetDescription() const
Definition Image.h:131
bool ImageAllowedHasBeenSet() const
Definition Image.h:483
void SetPlatform(PlatformValues value)
Definition Image.h:819
Image & WithUsageOperation(UsageOperationT &&value)
Definition Image.h:97
const StateReason & GetStateReason() const
Definition Image.h:274
void SetStateReason(StateReasonT &&value)
Definition Image.h:277
bool PublicHasBeenSet() const
Definition Image.h:707
TpmSupportValues GetTpmSupport() const
Definition Image.h:354
void SetTpmSupport(TpmSupportValues value)
Definition Image.h:356
void SetProductCodes(ProductCodesT &&value)
Definition Image.h:725
AWS_EC2_API Image(const Aws::Utils::Xml::XmlNode &xmlNode)
bool BootModeHasBeenSet() const
Definition Image.h:336
Image & WithTags(TagsT &&value)
Definition Image.h:300
void SetRootDeviceName(RootDeviceNameT &&value)
Definition Image.h:223
void SetImageType(ImageTypeValues value)
Definition Image.h:764
bool GetImageAllowed() const
Definition Image.h:482
bool SourceImageIdHasBeenSet() const
Definition Image.h:499
Image & WithImdsSupport(ImdsSupportValues value)
Definition Image.h:403
const Aws::Vector< BlockDeviceMapping > & GetBlockDeviceMappings() const
Definition Image.h:107
void SetImageOwnerAlias(ImageOwnerAliasT &&value)
Definition Image.h:186
void SetArchitecture(ArchitectureValues value)
Definition Image.h:748
bool LastLaunchedTimeHasBeenSet() const
Definition Image.h:457
bool FreeTierEligibleHasBeenSet() const
Definition Image.h:538
bool PlatformDetailsHasBeenSet() const
Definition Image.h:61
ImdsSupportValues GetImdsSupport() const
Definition Image.h:397
HypervisorType GetHypervisor() const
Definition Image.h:166
Image & WithEnaSupport(bool value)
Definition Image.h:155
ImageTypeValues GetImageType() const
Definition Image.h:762
const Aws::String & GetPublicSsmParameterName() const
Definition Image.h:554
void SetBootMode(BootModeValues value)
Definition Image.h:337
Image & WithName(NameT &&value)
Definition Image.h:209
bool SriovNetSupportHasBeenSet() const
Definition Image.h:257
const Aws::String & GetDeregistrationProtection() const
Definition Image.h:434
void SetImdsSupport(ImdsSupportValues value)
Definition Image.h:399
Image & WithFreeTierEligible(bool value)
Definition Image.h:543
bool DescriptionHasBeenSet() const
Definition Image.h:132
AWS_EC2_API Image()=default
Image & WithSriovNetSupport(SriovNetSupportT &&value)
Definition Image.h:264
bool PublicSsmParameterNameHasBeenSet() const
Definition Image.h:555
const Aws::String & GetSriovNetSupport() const
Definition Image.h:256
Image & WithSourceImageRegion(SourceImageRegionT &&value)
Definition Image.h:524
bool SourceInstanceIdHasBeenSet() const
Definition Image.h:417
void SetVirtualizationType(VirtualizationType value)
Definition Image.h:318
Image & WithRootDeviceType(DeviceType value)
Definition Image.h:245
const Aws::String & GetSourceImageRegion() const
Definition Image.h:516
Image & WithRootDeviceName(RootDeviceNameT &&value)
Definition Image.h:228
const Aws::String & GetSourceImageId() const
Definition Image.h:498
const Aws::String & GetLastLaunchedTime() const
Definition Image.h:456
bool VirtualizationTypeHasBeenSet() const
Definition Image.h:317
void SetSourceInstanceId(SourceInstanceIdT &&value)
Definition Image.h:419
bool BlockDeviceMappingsHasBeenSet() const
Definition Image.h:108
Image & WithBlockDeviceMappings(BlockDeviceMappingsT &&value)
Definition Image.h:115
bool ImdsSupportHasBeenSet() const
Definition Image.h:398
VirtualizationType GetVirtualizationType() const
Definition Image.h:316
Image & WithHypervisor(HypervisorType value)
Definition Image.h:172
void SetFreeTierEligible(bool value)
Definition Image.h:539
Image & WithStateReason(StateReasonT &&value)
Definition Image.h:282
Image & WithImageId(ImageIdT &&value)
Definition Image.h:623
void SetSriovNetSupport(SriovNetSupportT &&value)
Definition Image.h:259
bool CreationDateHasBeenSet() const
Definition Image.h:687
AWS_EC2_API Image & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
const InstanceTypeSpecification & GetInstanceTypeSpecification() const
Definition Image.h:597
void SetLastLaunchedTime(LastLaunchedTimeT &&value)
Definition Image.h:459
void SetDeprecationTime(DeprecationTimeT &&value)
Definition Image.h:375
Image & AddImageWatermarks(ImageWatermarksT &&value)
Definition Image.h:585
const Aws::String & GetRamdiskId() const
Definition Image.h:798
void SetKernelId(KernelIdT &&value)
Definition Image.h:782
bool InstanceTypeSpecificationHasBeenSet() const
Definition Image.h:598
bool StateReasonHasBeenSet() const
Definition Image.h:275
void SetDescription(DescriptionT &&value)
Definition Image.h:134
void SetUsageOperation(UsageOperationT &&value)
Definition Image.h:92
bool ImageWatermarksHasBeenSet() const
Definition Image.h:573
Image & WithKernelId(KernelIdT &&value)
Definition Image.h:787
ImageState GetState() const
Definition Image.h:652
Image & WithCreationDate(CreationDateT &&value)
Definition Image.h:694
Image & AddProductCodes(ProductCodesT &&value)
Definition Image.h:735
Image & WithSourceImageId(SourceImageIdT &&value)
Definition Image.h:506
bool RootDeviceTypeHasBeenSet() const
Definition Image.h:240
const Aws::String & GetSourceInstanceId() const
Definition Image.h:416
bool ImageIdHasBeenSet() const
Definition Image.h:616
Image & WithVirtualizationType(VirtualizationType value)
Definition Image.h:322
const Aws::String & GetUsageOperation() const
Definition Image.h:89
bool ProductCodesHasBeenSet() const
Definition Image.h:723
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
std::basic_ostream< char, std::char_traits< char > > OStream