AWS SDK for C++

AWS SDK for C++ Version 1.11.921

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/ScanResults.h>
24#include <aws/ec2/model/StateReason.h>
25#include <aws/ec2/model/Tag.h>
26#include <aws/ec2/model/TpmSupportValues.h>
27#include <aws/ec2/model/VirtualizationType.h>
28
29#include <utility>
30
31namespace Aws {
32namespace Utils {
33namespace Xml {
34class XmlNode;
35} // namespace Xml
36} // namespace Utils
37namespace EC2 {
38namespace Model {
39
45class Image {
46 public:
47 AWS_EC2_API Image() = default;
48 AWS_EC2_API Image(const Aws::Utils::Xml::XmlNode& xmlNode);
49 AWS_EC2_API Image& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
50
51 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
52 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
53
55
61 inline const Aws::String& GetPlatformDetails() const { return m_platformDetails; }
62 inline bool PlatformDetailsHasBeenSet() const { return m_platformDetailsHasBeenSet; }
63 template <typename PlatformDetailsT = Aws::String>
64 void SetPlatformDetails(PlatformDetailsT&& value) {
65 m_platformDetailsHasBeenSet = true;
66 m_platformDetails = std::forward<PlatformDetailsT>(value);
67 }
68 template <typename PlatformDetailsT = Aws::String>
69 Image& WithPlatformDetails(PlatformDetailsT&& value) {
70 SetPlatformDetails(std::forward<PlatformDetailsT>(value));
71 return *this;
72 }
74
76
90 inline const Aws::String& GetUsageOperation() const { return m_usageOperation; }
91 inline bool UsageOperationHasBeenSet() const { return m_usageOperationHasBeenSet; }
92 template <typename UsageOperationT = Aws::String>
93 void SetUsageOperation(UsageOperationT&& value) {
94 m_usageOperationHasBeenSet = true;
95 m_usageOperation = std::forward<UsageOperationT>(value);
96 }
97 template <typename UsageOperationT = Aws::String>
98 Image& WithUsageOperation(UsageOperationT&& value) {
99 SetUsageOperation(std::forward<UsageOperationT>(value));
100 return *this;
101 }
103
105
108 inline const Aws::Vector<BlockDeviceMapping>& GetBlockDeviceMappings() const { return m_blockDeviceMappings; }
109 inline bool BlockDeviceMappingsHasBeenSet() const { return m_blockDeviceMappingsHasBeenSet; }
110 template <typename BlockDeviceMappingsT = Aws::Vector<BlockDeviceMapping>>
111 void SetBlockDeviceMappings(BlockDeviceMappingsT&& value) {
112 m_blockDeviceMappingsHasBeenSet = true;
113 m_blockDeviceMappings = std::forward<BlockDeviceMappingsT>(value);
114 }
115 template <typename BlockDeviceMappingsT = Aws::Vector<BlockDeviceMapping>>
116 Image& WithBlockDeviceMappings(BlockDeviceMappingsT&& value) {
117 SetBlockDeviceMappings(std::forward<BlockDeviceMappingsT>(value));
118 return *this;
119 }
120 template <typename BlockDeviceMappingsT = BlockDeviceMapping>
121 Image& AddBlockDeviceMappings(BlockDeviceMappingsT&& value) {
122 m_blockDeviceMappingsHasBeenSet = true;
123 m_blockDeviceMappings.emplace_back(std::forward<BlockDeviceMappingsT>(value));
124 return *this;
125 }
127
129
132 inline const Aws::String& GetDescription() const { return m_description; }
133 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
134 template <typename DescriptionT = Aws::String>
135 void SetDescription(DescriptionT&& value) {
136 m_descriptionHasBeenSet = true;
137 m_description = std::forward<DescriptionT>(value);
138 }
139 template <typename DescriptionT = Aws::String>
140 Image& WithDescription(DescriptionT&& value) {
141 SetDescription(std::forward<DescriptionT>(value));
142 return *this;
143 }
145
147
150 inline bool GetEnaSupport() const { return m_enaSupport; }
151 inline bool EnaSupportHasBeenSet() const { return m_enaSupportHasBeenSet; }
152 inline void SetEnaSupport(bool value) {
153 m_enaSupportHasBeenSet = true;
154 m_enaSupport = value;
155 }
156 inline Image& WithEnaSupport(bool value) {
157 SetEnaSupport(value);
158 return *this;
159 }
161
163
167 inline HypervisorType GetHypervisor() const { return m_hypervisor; }
168 inline bool HypervisorHasBeenSet() const { return m_hypervisorHasBeenSet; }
169 inline void SetHypervisor(HypervisorType value) {
170 m_hypervisorHasBeenSet = true;
171 m_hypervisor = value;
172 }
174 SetHypervisor(value);
175 return *this;
176 }
178
180
184 inline const Aws::String& GetImageOwnerAlias() const { return m_imageOwnerAlias; }
185 inline bool ImageOwnerAliasHasBeenSet() const { return m_imageOwnerAliasHasBeenSet; }
186 template <typename ImageOwnerAliasT = Aws::String>
187 void SetImageOwnerAlias(ImageOwnerAliasT&& value) {
188 m_imageOwnerAliasHasBeenSet = true;
189 m_imageOwnerAlias = std::forward<ImageOwnerAliasT>(value);
190 }
191 template <typename ImageOwnerAliasT = Aws::String>
192 Image& WithImageOwnerAlias(ImageOwnerAliasT&& value) {
193 SetImageOwnerAlias(std::forward<ImageOwnerAliasT>(value));
194 return *this;
195 }
197
199
202 inline const Aws::String& GetName() const { return m_name; }
203 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
204 template <typename NameT = Aws::String>
205 void SetName(NameT&& value) {
206 m_nameHasBeenSet = true;
207 m_name = std::forward<NameT>(value);
208 }
209 template <typename NameT = Aws::String>
210 Image& WithName(NameT&& value) {
211 SetName(std::forward<NameT>(value));
212 return *this;
213 }
215
217
221 inline const Aws::String& GetRootDeviceName() const { return m_rootDeviceName; }
222 inline bool RootDeviceNameHasBeenSet() const { return m_rootDeviceNameHasBeenSet; }
223 template <typename RootDeviceNameT = Aws::String>
224 void SetRootDeviceName(RootDeviceNameT&& value) {
225 m_rootDeviceNameHasBeenSet = true;
226 m_rootDeviceName = std::forward<RootDeviceNameT>(value);
227 }
228 template <typename RootDeviceNameT = Aws::String>
229 Image& WithRootDeviceName(RootDeviceNameT&& value) {
230 SetRootDeviceName(std::forward<RootDeviceNameT>(value));
231 return *this;
232 }
234
236
240 inline DeviceType GetRootDeviceType() const { return m_rootDeviceType; }
241 inline bool RootDeviceTypeHasBeenSet() const { return m_rootDeviceTypeHasBeenSet; }
242 inline void SetRootDeviceType(DeviceType value) {
243 m_rootDeviceTypeHasBeenSet = true;
244 m_rootDeviceType = value;
245 }
247 SetRootDeviceType(value);
248 return *this;
249 }
251
253
257 inline const Aws::String& GetSriovNetSupport() const { return m_sriovNetSupport; }
258 inline bool SriovNetSupportHasBeenSet() const { return m_sriovNetSupportHasBeenSet; }
259 template <typename SriovNetSupportT = Aws::String>
260 void SetSriovNetSupport(SriovNetSupportT&& value) {
261 m_sriovNetSupportHasBeenSet = true;
262 m_sriovNetSupport = std::forward<SriovNetSupportT>(value);
263 }
264 template <typename SriovNetSupportT = Aws::String>
265 Image& WithSriovNetSupport(SriovNetSupportT&& value) {
266 SetSriovNetSupport(std::forward<SriovNetSupportT>(value));
267 return *this;
268 }
270
272
275 inline const StateReason& GetStateReason() const { return m_stateReason; }
276 inline bool StateReasonHasBeenSet() const { return m_stateReasonHasBeenSet; }
277 template <typename StateReasonT = StateReason>
278 void SetStateReason(StateReasonT&& value) {
279 m_stateReasonHasBeenSet = true;
280 m_stateReason = std::forward<StateReasonT>(value);
281 }
282 template <typename StateReasonT = StateReason>
283 Image& WithStateReason(StateReasonT&& value) {
284 SetStateReason(std::forward<StateReasonT>(value));
285 return *this;
286 }
288
290
293 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
294 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
295 template <typename TagsT = Aws::Vector<Tag>>
296 void SetTags(TagsT&& value) {
297 m_tagsHasBeenSet = true;
298 m_tags = std::forward<TagsT>(value);
299 }
300 template <typename TagsT = Aws::Vector<Tag>>
301 Image& WithTags(TagsT&& value) {
302 SetTags(std::forward<TagsT>(value));
303 return *this;
304 }
305 template <typename TagsT = Tag>
306 Image& AddTags(TagsT&& value) {
307 m_tagsHasBeenSet = true;
308 m_tags.emplace_back(std::forward<TagsT>(value));
309 return *this;
310 }
312
314
317 inline VirtualizationType GetVirtualizationType() const { return m_virtualizationType; }
318 inline bool VirtualizationTypeHasBeenSet() const { return m_virtualizationTypeHasBeenSet; }
320 m_virtualizationTypeHasBeenSet = true;
321 m_virtualizationType = value;
322 }
325 return *this;
326 }
328
330
336 inline BootModeValues GetBootMode() const { return m_bootMode; }
337 inline bool BootModeHasBeenSet() const { return m_bootModeHasBeenSet; }
338 inline void SetBootMode(BootModeValues value) {
339 m_bootModeHasBeenSet = true;
340 m_bootMode = value;
341 }
343 SetBootMode(value);
344 return *this;
345 }
347
349
355 inline TpmSupportValues GetTpmSupport() const { return m_tpmSupport; }
356 inline bool TpmSupportHasBeenSet() const { return m_tpmSupportHasBeenSet; }
357 inline void SetTpmSupport(TpmSupportValues value) {
358 m_tpmSupportHasBeenSet = true;
359 m_tpmSupport = value;
360 }
362 SetTpmSupport(value);
363 return *this;
364 }
366
368
373 inline const Aws::String& GetDeprecationTime() const { return m_deprecationTime; }
374 inline bool DeprecationTimeHasBeenSet() const { return m_deprecationTimeHasBeenSet; }
375 template <typename DeprecationTimeT = Aws::String>
376 void SetDeprecationTime(DeprecationTimeT&& value) {
377 m_deprecationTimeHasBeenSet = true;
378 m_deprecationTime = std::forward<DeprecationTimeT>(value);
379 }
380 template <typename DeprecationTimeT = Aws::String>
381 Image& WithDeprecationTime(DeprecationTimeT&& value) {
382 SetDeprecationTime(std::forward<DeprecationTimeT>(value));
383 return *this;
384 }
386
388
398 inline ImdsSupportValues GetImdsSupport() const { return m_imdsSupport; }
399 inline bool ImdsSupportHasBeenSet() const { return m_imdsSupportHasBeenSet; }
401 m_imdsSupportHasBeenSet = true;
402 m_imdsSupport = value;
403 }
405 SetImdsSupport(value);
406 return *this;
407 }
409
411
417 inline const Aws::String& GetSourceInstanceId() const { return m_sourceInstanceId; }
418 inline bool SourceInstanceIdHasBeenSet() const { return m_sourceInstanceIdHasBeenSet; }
419 template <typename SourceInstanceIdT = Aws::String>
420 void SetSourceInstanceId(SourceInstanceIdT&& value) {
421 m_sourceInstanceIdHasBeenSet = true;
422 m_sourceInstanceId = std::forward<SourceInstanceIdT>(value);
423 }
424 template <typename SourceInstanceIdT = Aws::String>
425 Image& WithSourceInstanceId(SourceInstanceIdT&& value) {
426 SetSourceInstanceId(std::forward<SourceInstanceIdT>(value));
427 return *this;
428 }
430
432
435 inline const Aws::String& GetDeregistrationProtection() const { return m_deregistrationProtection; }
436 inline bool DeregistrationProtectionHasBeenSet() const { return m_deregistrationProtectionHasBeenSet; }
437 template <typename DeregistrationProtectionT = Aws::String>
438 void SetDeregistrationProtection(DeregistrationProtectionT&& value) {
439 m_deregistrationProtectionHasBeenSet = true;
440 m_deregistrationProtection = std::forward<DeregistrationProtectionT>(value);
441 }
442 template <typename DeregistrationProtectionT = Aws::String>
443 Image& WithDeregistrationProtection(DeregistrationProtectionT&& value) {
444 SetDeregistrationProtection(std::forward<DeregistrationProtectionT>(value));
445 return *this;
446 }
448
450
457 inline const Aws::String& GetLastLaunchedTime() const { return m_lastLaunchedTime; }
458 inline bool LastLaunchedTimeHasBeenSet() const { return m_lastLaunchedTimeHasBeenSet; }
459 template <typename LastLaunchedTimeT = Aws::String>
460 void SetLastLaunchedTime(LastLaunchedTimeT&& value) {
461 m_lastLaunchedTimeHasBeenSet = true;
462 m_lastLaunchedTime = std::forward<LastLaunchedTimeT>(value);
463 }
464 template <typename LastLaunchedTimeT = Aws::String>
465 Image& WithLastLaunchedTime(LastLaunchedTimeT&& value) {
466 SetLastLaunchedTime(std::forward<LastLaunchedTimeT>(value));
467 return *this;
468 }
470
472
483 inline bool GetImageAllowed() const { return m_imageAllowed; }
484 inline bool ImageAllowedHasBeenSet() const { return m_imageAllowedHasBeenSet; }
485 inline void SetImageAllowed(bool value) {
486 m_imageAllowedHasBeenSet = true;
487 m_imageAllowed = value;
488 }
489 inline Image& WithImageAllowed(bool value) {
490 SetImageAllowed(value);
491 return *this;
492 }
494
496
499 inline const Aws::String& GetSourceImageId() const { return m_sourceImageId; }
500 inline bool SourceImageIdHasBeenSet() const { return m_sourceImageIdHasBeenSet; }
501 template <typename SourceImageIdT = Aws::String>
502 void SetSourceImageId(SourceImageIdT&& value) {
503 m_sourceImageIdHasBeenSet = true;
504 m_sourceImageId = std::forward<SourceImageIdT>(value);
505 }
506 template <typename SourceImageIdT = Aws::String>
507 Image& WithSourceImageId(SourceImageIdT&& value) {
508 SetSourceImageId(std::forward<SourceImageIdT>(value));
509 return *this;
510 }
512
514
517 inline const Aws::String& GetSourceImageRegion() const { return m_sourceImageRegion; }
518 inline bool SourceImageRegionHasBeenSet() const { return m_sourceImageRegionHasBeenSet; }
519 template <typename SourceImageRegionT = Aws::String>
520 void SetSourceImageRegion(SourceImageRegionT&& value) {
521 m_sourceImageRegionHasBeenSet = true;
522 m_sourceImageRegion = std::forward<SourceImageRegionT>(value);
523 }
524 template <typename SourceImageRegionT = Aws::String>
525 Image& WithSourceImageRegion(SourceImageRegionT&& value) {
526 SetSourceImageRegion(std::forward<SourceImageRegionT>(value));
527 return *this;
528 }
530
532
538 inline bool GetFreeTierEligible() const { return m_freeTierEligible; }
539 inline bool FreeTierEligibleHasBeenSet() const { return m_freeTierEligibleHasBeenSet; }
540 inline void SetFreeTierEligible(bool value) {
541 m_freeTierEligibleHasBeenSet = true;
542 m_freeTierEligible = value;
543 }
544 inline Image& WithFreeTierEligible(bool value) {
545 SetFreeTierEligible(value);
546 return *this;
547 }
549
551
555 inline const Aws::String& GetPublicSsmParameterName() const { return m_publicSsmParameterName; }
556 inline bool PublicSsmParameterNameHasBeenSet() const { return m_publicSsmParameterNameHasBeenSet; }
557 template <typename PublicSsmParameterNameT = Aws::String>
558 void SetPublicSsmParameterName(PublicSsmParameterNameT&& value) {
559 m_publicSsmParameterNameHasBeenSet = true;
560 m_publicSsmParameterName = std::forward<PublicSsmParameterNameT>(value);
561 }
562 template <typename PublicSsmParameterNameT = Aws::String>
563 Image& WithPublicSsmParameterName(PublicSsmParameterNameT&& value) {
564 SetPublicSsmParameterName(std::forward<PublicSsmParameterNameT>(value));
565 return *this;
566 }
568
570
573 inline const Aws::Vector<ImageWatermark>& GetImageWatermarks() const { return m_imageWatermarks; }
574 inline bool ImageWatermarksHasBeenSet() const { return m_imageWatermarksHasBeenSet; }
575 template <typename ImageWatermarksT = Aws::Vector<ImageWatermark>>
576 void SetImageWatermarks(ImageWatermarksT&& value) {
577 m_imageWatermarksHasBeenSet = true;
578 m_imageWatermarks = std::forward<ImageWatermarksT>(value);
579 }
580 template <typename ImageWatermarksT = Aws::Vector<ImageWatermark>>
581 Image& WithImageWatermarks(ImageWatermarksT&& value) {
582 SetImageWatermarks(std::forward<ImageWatermarksT>(value));
583 return *this;
584 }
585 template <typename ImageWatermarksT = ImageWatermark>
586 Image& AddImageWatermarks(ImageWatermarksT&& value) {
587 m_imageWatermarksHasBeenSet = true;
588 m_imageWatermarks.emplace_back(std::forward<ImageWatermarksT>(value));
589 return *this;
590 }
592
594
600 inline const ScanResults& GetScanResults() const { return m_scanResults; }
601 inline bool ScanResultsHasBeenSet() const { return m_scanResultsHasBeenSet; }
602 template <typename ScanResultsT = ScanResults>
603 void SetScanResults(ScanResultsT&& value) {
604 m_scanResultsHasBeenSet = true;
605 m_scanResults = std::forward<ScanResultsT>(value);
606 }
607 template <typename ScanResultsT = ScanResults>
608 Image& WithScanResults(ScanResultsT&& value) {
609 SetScanResults(std::forward<ScanResultsT>(value));
610 return *this;
611 }
613
615
619 inline const InstanceTypeSpecification& GetInstanceTypeSpecification() const { return m_instanceTypeSpecification; }
620 inline bool InstanceTypeSpecificationHasBeenSet() const { return m_instanceTypeSpecificationHasBeenSet; }
621 template <typename InstanceTypeSpecificationT = InstanceTypeSpecification>
622 void SetInstanceTypeSpecification(InstanceTypeSpecificationT&& value) {
623 m_instanceTypeSpecificationHasBeenSet = true;
624 m_instanceTypeSpecification = std::forward<InstanceTypeSpecificationT>(value);
625 }
626 template <typename InstanceTypeSpecificationT = InstanceTypeSpecification>
627 Image& WithInstanceTypeSpecification(InstanceTypeSpecificationT&& value) {
628 SetInstanceTypeSpecification(std::forward<InstanceTypeSpecificationT>(value));
629 return *this;
630 }
632
634
637 inline const Aws::String& GetImageId() const { return m_imageId; }
638 inline bool ImageIdHasBeenSet() const { return m_imageIdHasBeenSet; }
639 template <typename ImageIdT = Aws::String>
640 void SetImageId(ImageIdT&& value) {
641 m_imageIdHasBeenSet = true;
642 m_imageId = std::forward<ImageIdT>(value);
643 }
644 template <typename ImageIdT = Aws::String>
645 Image& WithImageId(ImageIdT&& value) {
646 SetImageId(std::forward<ImageIdT>(value));
647 return *this;
648 }
650
652
655 inline const Aws::String& GetImageLocation() const { return m_imageLocation; }
656 inline bool ImageLocationHasBeenSet() const { return m_imageLocationHasBeenSet; }
657 template <typename ImageLocationT = Aws::String>
658 void SetImageLocation(ImageLocationT&& value) {
659 m_imageLocationHasBeenSet = true;
660 m_imageLocation = std::forward<ImageLocationT>(value);
661 }
662 template <typename ImageLocationT = Aws::String>
663 Image& WithImageLocation(ImageLocationT&& value) {
664 SetImageLocation(std::forward<ImageLocationT>(value));
665 return *this;
666 }
668
670
674 inline ImageState GetState() const { return m_state; }
675 inline bool StateHasBeenSet() const { return m_stateHasBeenSet; }
676 inline void SetState(ImageState value) {
677 m_stateHasBeenSet = true;
678 m_state = value;
679 }
680 inline Image& WithState(ImageState value) {
681 SetState(value);
682 return *this;
683 }
685
687
690 inline const Aws::String& GetOwnerId() const { return m_ownerId; }
691 inline bool OwnerIdHasBeenSet() const { return m_ownerIdHasBeenSet; }
692 template <typename OwnerIdT = Aws::String>
693 void SetOwnerId(OwnerIdT&& value) {
694 m_ownerIdHasBeenSet = true;
695 m_ownerId = std::forward<OwnerIdT>(value);
696 }
697 template <typename OwnerIdT = Aws::String>
698 Image& WithOwnerId(OwnerIdT&& value) {
699 SetOwnerId(std::forward<OwnerIdT>(value));
700 return *this;
701 }
703
705
708 inline const Aws::String& GetCreationDate() const { return m_creationDate; }
709 inline bool CreationDateHasBeenSet() const { return m_creationDateHasBeenSet; }
710 template <typename CreationDateT = Aws::String>
711 void SetCreationDate(CreationDateT&& value) {
712 m_creationDateHasBeenSet = true;
713 m_creationDate = std::forward<CreationDateT>(value);
714 }
715 template <typename CreationDateT = Aws::String>
716 Image& WithCreationDate(CreationDateT&& value) {
717 SetCreationDate(std::forward<CreationDateT>(value));
718 return *this;
719 }
721
723
728 inline bool GetPublic() const { return m_public; }
729 inline bool PublicHasBeenSet() const { return m_publicHasBeenSet; }
730 inline void SetPublic(bool value) {
731 m_publicHasBeenSet = true;
732 m_public = value;
733 }
734 inline Image& WithPublic(bool value) {
735 SetPublic(value);
736 return *this;
737 }
739
741
744 inline const Aws::Vector<ProductCode>& GetProductCodes() const { return m_productCodes; }
745 inline bool ProductCodesHasBeenSet() const { return m_productCodesHasBeenSet; }
746 template <typename ProductCodesT = Aws::Vector<ProductCode>>
747 void SetProductCodes(ProductCodesT&& value) {
748 m_productCodesHasBeenSet = true;
749 m_productCodes = std::forward<ProductCodesT>(value);
750 }
751 template <typename ProductCodesT = Aws::Vector<ProductCode>>
752 Image& WithProductCodes(ProductCodesT&& value) {
753 SetProductCodes(std::forward<ProductCodesT>(value));
754 return *this;
755 }
756 template <typename ProductCodesT = ProductCode>
757 Image& AddProductCodes(ProductCodesT&& value) {
758 m_productCodesHasBeenSet = true;
759 m_productCodes.emplace_back(std::forward<ProductCodesT>(value));
760 return *this;
761 }
763
765
768 inline ArchitectureValues GetArchitecture() const { return m_architecture; }
769 inline bool ArchitectureHasBeenSet() const { return m_architectureHasBeenSet; }
771 m_architectureHasBeenSet = true;
772 m_architecture = value;
773 }
775 SetArchitecture(value);
776 return *this;
777 }
779
781
784 inline ImageTypeValues GetImageType() const { return m_imageType; }
785 inline bool ImageTypeHasBeenSet() const { return m_imageTypeHasBeenSet; }
786 inline void SetImageType(ImageTypeValues value) {
787 m_imageTypeHasBeenSet = true;
788 m_imageType = value;
789 }
791 SetImageType(value);
792 return *this;
793 }
795
797
801 inline const Aws::String& GetKernelId() const { return m_kernelId; }
802 inline bool KernelIdHasBeenSet() const { return m_kernelIdHasBeenSet; }
803 template <typename KernelIdT = Aws::String>
804 void SetKernelId(KernelIdT&& value) {
805 m_kernelIdHasBeenSet = true;
806 m_kernelId = std::forward<KernelIdT>(value);
807 }
808 template <typename KernelIdT = Aws::String>
809 Image& WithKernelId(KernelIdT&& value) {
810 SetKernelId(std::forward<KernelIdT>(value));
811 return *this;
812 }
814
816
820 inline const Aws::String& GetRamdiskId() const { return m_ramdiskId; }
821 inline bool RamdiskIdHasBeenSet() const { return m_ramdiskIdHasBeenSet; }
822 template <typename RamdiskIdT = Aws::String>
823 void SetRamdiskId(RamdiskIdT&& value) {
824 m_ramdiskIdHasBeenSet = true;
825 m_ramdiskId = std::forward<RamdiskIdT>(value);
826 }
827 template <typename RamdiskIdT = Aws::String>
828 Image& WithRamdiskId(RamdiskIdT&& value) {
829 SetRamdiskId(std::forward<RamdiskIdT>(value));
830 return *this;
831 }
833
835
839 inline PlatformValues GetPlatform() const { return m_platform; }
840 inline bool PlatformHasBeenSet() const { return m_platformHasBeenSet; }
841 inline void SetPlatform(PlatformValues value) {
842 m_platformHasBeenSet = true;
843 m_platform = value;
844 }
846 SetPlatform(value);
847 return *this;
848 }
850 private:
851 Aws::String m_platformDetails;
852
853 Aws::String m_usageOperation;
854
855 Aws::Vector<BlockDeviceMapping> m_blockDeviceMappings;
856
857 Aws::String m_description;
858
859 bool m_enaSupport{false};
860
862
863 Aws::String m_imageOwnerAlias;
864
865 Aws::String m_name;
866
867 Aws::String m_rootDeviceName;
868
869 DeviceType m_rootDeviceType{DeviceType::NOT_SET};
870
871 Aws::String m_sriovNetSupport;
872
873 StateReason m_stateReason;
874
875 Aws::Vector<Tag> m_tags;
876
878
880
882
883 Aws::String m_deprecationTime;
884
886
887 Aws::String m_sourceInstanceId;
888
889 Aws::String m_deregistrationProtection;
890
891 Aws::String m_lastLaunchedTime;
892
893 bool m_imageAllowed{false};
894
895 Aws::String m_sourceImageId;
896
897 Aws::String m_sourceImageRegion;
898
899 bool m_freeTierEligible{false};
900
901 Aws::String m_publicSsmParameterName;
902
903 Aws::Vector<ImageWatermark> m_imageWatermarks;
904
905 ScanResults m_scanResults;
906
907 InstanceTypeSpecification m_instanceTypeSpecification;
908
909 Aws::String m_imageId;
910
911 Aws::String m_imageLocation;
912
914
915 Aws::String m_ownerId;
916
917 Aws::String m_creationDate;
918
919 bool m_public{false};
920
921 Aws::Vector<ProductCode> m_productCodes;
922
924
926
927 Aws::String m_kernelId;
928
929 Aws::String m_ramdiskId;
930
932 bool m_platformDetailsHasBeenSet = false;
933 bool m_usageOperationHasBeenSet = false;
934 bool m_blockDeviceMappingsHasBeenSet = false;
935 bool m_descriptionHasBeenSet = false;
936 bool m_enaSupportHasBeenSet = false;
937 bool m_hypervisorHasBeenSet = false;
938 bool m_imageOwnerAliasHasBeenSet = false;
939 bool m_nameHasBeenSet = false;
940 bool m_rootDeviceNameHasBeenSet = false;
941 bool m_rootDeviceTypeHasBeenSet = false;
942 bool m_sriovNetSupportHasBeenSet = false;
943 bool m_stateReasonHasBeenSet = false;
944 bool m_tagsHasBeenSet = false;
945 bool m_virtualizationTypeHasBeenSet = false;
946 bool m_bootModeHasBeenSet = false;
947 bool m_tpmSupportHasBeenSet = false;
948 bool m_deprecationTimeHasBeenSet = false;
949 bool m_imdsSupportHasBeenSet = false;
950 bool m_sourceInstanceIdHasBeenSet = false;
951 bool m_deregistrationProtectionHasBeenSet = false;
952 bool m_lastLaunchedTimeHasBeenSet = false;
953 bool m_imageAllowedHasBeenSet = false;
954 bool m_sourceImageIdHasBeenSet = false;
955 bool m_sourceImageRegionHasBeenSet = false;
956 bool m_freeTierEligibleHasBeenSet = false;
957 bool m_publicSsmParameterNameHasBeenSet = false;
958 bool m_imageWatermarksHasBeenSet = false;
959 bool m_scanResultsHasBeenSet = false;
960 bool m_instanceTypeSpecificationHasBeenSet = false;
961 bool m_imageIdHasBeenSet = false;
962 bool m_imageLocationHasBeenSet = false;
963 bool m_stateHasBeenSet = false;
964 bool m_ownerIdHasBeenSet = false;
965 bool m_creationDateHasBeenSet = false;
966 bool m_publicHasBeenSet = false;
967 bool m_productCodesHasBeenSet = false;
968 bool m_architectureHasBeenSet = false;
969 bool m_imageTypeHasBeenSet = false;
970 bool m_kernelIdHasBeenSet = false;
971 bool m_ramdiskIdHasBeenSet = false;
972 bool m_platformHasBeenSet = false;
973};
974
975} // namespace Model
976} // namespace EC2
977} // namespace Aws
bool PlatformHasBeenSet() const
Definition Image.h:840
const Aws::Vector< ImageWatermark > & GetImageWatermarks() const
Definition Image.h:573
bool DeprecationTimeHasBeenSet() const
Definition Image.h:374
Image & WithTpmSupport(TpmSupportValues value)
Definition Image.h:361
Image & WithImageAllowed(bool value)
Definition Image.h:489
const Aws::String & GetDeprecationTime() const
Definition Image.h:373
BootModeValues GetBootMode() const
Definition Image.h:336
ArchitectureValues GetArchitecture() const
Definition Image.h:768
Image & WithInstanceTypeSpecification(InstanceTypeSpecificationT &&value)
Definition Image.h:627
bool StateHasBeenSet() const
Definition Image.h:675
bool TpmSupportHasBeenSet() const
Definition Image.h:356
bool HypervisorHasBeenSet() const
Definition Image.h:168
void SetSourceImageId(SourceImageIdT &&value)
Definition Image.h:502
Image & AddTags(TagsT &&value)
Definition Image.h:306
void SetState(ImageState value)
Definition Image.h:676
Image & WithDescription(DescriptionT &&value)
Definition Image.h:140
bool RamdiskIdHasBeenSet() const
Definition Image.h:821
Image & WithImageType(ImageTypeValues value)
Definition Image.h:790
void SetTags(TagsT &&value)
Definition Image.h:296
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
const Aws::String & GetImageLocation() const
Definition Image.h:655
void SetImageLocation(ImageLocationT &&value)
Definition Image.h:658
void SetDeregistrationProtection(DeregistrationProtectionT &&value)
Definition Image.h:438
bool EnaSupportHasBeenSet() const
Definition Image.h:151
void SetBlockDeviceMappings(BlockDeviceMappingsT &&value)
Definition Image.h:111
void SetRootDeviceType(DeviceType value)
Definition Image.h:242
bool ImageTypeHasBeenSet() const
Definition Image.h:785
void SetRamdiskId(RamdiskIdT &&value)
Definition Image.h:823
const Aws::String & GetOwnerId() const
Definition Image.h:690
const Aws::String & GetImageId() const
Definition Image.h:637
Image & WithSourceInstanceId(SourceInstanceIdT &&value)
Definition Image.h:425
Image & WithDeprecationTime(DeprecationTimeT &&value)
Definition Image.h:381
bool ImageLocationHasBeenSet() const
Definition Image.h:656
bool ScanResultsHasBeenSet() const
Definition Image.h:601
void SetOwnerId(OwnerIdT &&value)
Definition Image.h:693
Image & WithPlatform(PlatformValues value)
Definition Image.h:845
void SetInstanceTypeSpecification(InstanceTypeSpecificationT &&value)
Definition Image.h:622
bool RootDeviceNameHasBeenSet() const
Definition Image.h:222
PlatformValues GetPlatform() const
Definition Image.h:839
bool NameHasBeenSet() const
Definition Image.h:203
Image & WithLastLaunchedTime(LastLaunchedTimeT &&value)
Definition Image.h:465
const Aws::String & GetRootDeviceName() const
Definition Image.h:221
void SetSourceImageRegion(SourceImageRegionT &&value)
Definition Image.h:520
bool TagsHasBeenSet() const
Definition Image.h:294
bool DeregistrationProtectionHasBeenSet() const
Definition Image.h:436
const Aws::String & GetPlatformDetails() const
Definition Image.h:61
bool OwnerIdHasBeenSet() const
Definition Image.h:691
void SetHypervisor(HypervisorType value)
Definition Image.h:169
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
Image & WithPublicSsmParameterName(PublicSsmParameterNameT &&value)
Definition Image.h:563
Image & WithImageLocation(ImageLocationT &&value)
Definition Image.h:663
void SetImageAllowed(bool value)
Definition Image.h:485
void SetName(NameT &&value)
Definition Image.h:205
const Aws::String & GetKernelId() const
Definition Image.h:801
Image & WithRamdiskId(RamdiskIdT &&value)
Definition Image.h:828
Image & WithImageWatermarks(ImageWatermarksT &&value)
Definition Image.h:581
const Aws::String & GetCreationDate() const
Definition Image.h:708
bool KernelIdHasBeenSet() const
Definition Image.h:802
bool GetFreeTierEligible() const
Definition Image.h:538
void SetCreationDate(CreationDateT &&value)
Definition Image.h:711
Image & WithArchitecture(ArchitectureValues value)
Definition Image.h:774
void SetPublicSsmParameterName(PublicSsmParameterNameT &&value)
Definition Image.h:558
const Aws::Vector< ProductCode > & GetProductCodes() const
Definition Image.h:744
DeviceType GetRootDeviceType() const
Definition Image.h:240
Image & WithProductCodes(ProductCodesT &&value)
Definition Image.h:752
const Aws::String & GetImageOwnerAlias() const
Definition Image.h:184
void SetImageWatermarks(ImageWatermarksT &&value)
Definition Image.h:576
bool ImageOwnerAliasHasBeenSet() const
Definition Image.h:185
Image & WithBootMode(BootModeValues value)
Definition Image.h:342
bool GetPublic() const
Definition Image.h:728
Image & WithPublic(bool value)
Definition Image.h:734
Image & WithOwnerId(OwnerIdT &&value)
Definition Image.h:698
void SetEnaSupport(bool value)
Definition Image.h:152
void SetPublic(bool value)
Definition Image.h:730
const Aws::String & GetName() const
Definition Image.h:202
void SetPlatformDetails(PlatformDetailsT &&value)
Definition Image.h:64
Image & AddBlockDeviceMappings(BlockDeviceMappingsT &&value)
Definition Image.h:121
Image & WithDeregistrationProtection(DeregistrationProtectionT &&value)
Definition Image.h:443
Image & WithImageOwnerAlias(ImageOwnerAliasT &&value)
Definition Image.h:192
Image & WithState(ImageState value)
Definition Image.h:680
Image & WithPlatformDetails(PlatformDetailsT &&value)
Definition Image.h:69
const Aws::Vector< Tag > & GetTags() const
Definition Image.h:293
void SetImageId(ImageIdT &&value)
Definition Image.h:640
bool UsageOperationHasBeenSet() const
Definition Image.h:91
bool SourceImageRegionHasBeenSet() const
Definition Image.h:518
bool ArchitectureHasBeenSet() const
Definition Image.h:769
bool GetEnaSupport() const
Definition Image.h:150
Image & WithScanResults(ScanResultsT &&value)
Definition Image.h:608
const Aws::String & GetDescription() const
Definition Image.h:132
bool ImageAllowedHasBeenSet() const
Definition Image.h:484
void SetPlatform(PlatformValues value)
Definition Image.h:841
Image & WithUsageOperation(UsageOperationT &&value)
Definition Image.h:98
const StateReason & GetStateReason() const
Definition Image.h:275
void SetStateReason(StateReasonT &&value)
Definition Image.h:278
bool PublicHasBeenSet() const
Definition Image.h:729
TpmSupportValues GetTpmSupport() const
Definition Image.h:355
void SetTpmSupport(TpmSupportValues value)
Definition Image.h:357
void SetProductCodes(ProductCodesT &&value)
Definition Image.h:747
AWS_EC2_API Image(const Aws::Utils::Xml::XmlNode &xmlNode)
bool BootModeHasBeenSet() const
Definition Image.h:337
Image & WithTags(TagsT &&value)
Definition Image.h:301
void SetRootDeviceName(RootDeviceNameT &&value)
Definition Image.h:224
void SetImageType(ImageTypeValues value)
Definition Image.h:786
bool GetImageAllowed() const
Definition Image.h:483
bool SourceImageIdHasBeenSet() const
Definition Image.h:500
Image & WithImdsSupport(ImdsSupportValues value)
Definition Image.h:404
const Aws::Vector< BlockDeviceMapping > & GetBlockDeviceMappings() const
Definition Image.h:108
void SetImageOwnerAlias(ImageOwnerAliasT &&value)
Definition Image.h:187
void SetArchitecture(ArchitectureValues value)
Definition Image.h:770
bool LastLaunchedTimeHasBeenSet() const
Definition Image.h:458
bool FreeTierEligibleHasBeenSet() const
Definition Image.h:539
bool PlatformDetailsHasBeenSet() const
Definition Image.h:62
ImdsSupportValues GetImdsSupport() const
Definition Image.h:398
HypervisorType GetHypervisor() const
Definition Image.h:167
Image & WithEnaSupport(bool value)
Definition Image.h:156
ImageTypeValues GetImageType() const
Definition Image.h:784
const ScanResults & GetScanResults() const
Definition Image.h:600
const Aws::String & GetPublicSsmParameterName() const
Definition Image.h:555
void SetBootMode(BootModeValues value)
Definition Image.h:338
Image & WithName(NameT &&value)
Definition Image.h:210
bool SriovNetSupportHasBeenSet() const
Definition Image.h:258
const Aws::String & GetDeregistrationProtection() const
Definition Image.h:435
void SetImdsSupport(ImdsSupportValues value)
Definition Image.h:400
Image & WithFreeTierEligible(bool value)
Definition Image.h:544
bool DescriptionHasBeenSet() const
Definition Image.h:133
AWS_EC2_API Image()=default
Image & WithSriovNetSupport(SriovNetSupportT &&value)
Definition Image.h:265
bool PublicSsmParameterNameHasBeenSet() const
Definition Image.h:556
const Aws::String & GetSriovNetSupport() const
Definition Image.h:257
Image & WithSourceImageRegion(SourceImageRegionT &&value)
Definition Image.h:525
bool SourceInstanceIdHasBeenSet() const
Definition Image.h:418
void SetVirtualizationType(VirtualizationType value)
Definition Image.h:319
Image & WithRootDeviceType(DeviceType value)
Definition Image.h:246
const Aws::String & GetSourceImageRegion() const
Definition Image.h:517
Image & WithRootDeviceName(RootDeviceNameT &&value)
Definition Image.h:229
const Aws::String & GetSourceImageId() const
Definition Image.h:499
const Aws::String & GetLastLaunchedTime() const
Definition Image.h:457
bool VirtualizationTypeHasBeenSet() const
Definition Image.h:318
void SetSourceInstanceId(SourceInstanceIdT &&value)
Definition Image.h:420
bool BlockDeviceMappingsHasBeenSet() const
Definition Image.h:109
Image & WithBlockDeviceMappings(BlockDeviceMappingsT &&value)
Definition Image.h:116
void SetScanResults(ScanResultsT &&value)
Definition Image.h:603
bool ImdsSupportHasBeenSet() const
Definition Image.h:399
VirtualizationType GetVirtualizationType() const
Definition Image.h:317
Image & WithHypervisor(HypervisorType value)
Definition Image.h:173
void SetFreeTierEligible(bool value)
Definition Image.h:540
Image & WithStateReason(StateReasonT &&value)
Definition Image.h:283
Image & WithImageId(ImageIdT &&value)
Definition Image.h:645
void SetSriovNetSupport(SriovNetSupportT &&value)
Definition Image.h:260
bool CreationDateHasBeenSet() const
Definition Image.h:709
AWS_EC2_API Image & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
const InstanceTypeSpecification & GetInstanceTypeSpecification() const
Definition Image.h:619
void SetLastLaunchedTime(LastLaunchedTimeT &&value)
Definition Image.h:460
void SetDeprecationTime(DeprecationTimeT &&value)
Definition Image.h:376
Image & AddImageWatermarks(ImageWatermarksT &&value)
Definition Image.h:586
const Aws::String & GetRamdiskId() const
Definition Image.h:820
void SetKernelId(KernelIdT &&value)
Definition Image.h:804
bool InstanceTypeSpecificationHasBeenSet() const
Definition Image.h:620
bool StateReasonHasBeenSet() const
Definition Image.h:276
void SetDescription(DescriptionT &&value)
Definition Image.h:135
void SetUsageOperation(UsageOperationT &&value)
Definition Image.h:93
bool ImageWatermarksHasBeenSet() const
Definition Image.h:574
Image & WithKernelId(KernelIdT &&value)
Definition Image.h:809
ImageState GetState() const
Definition Image.h:674
Image & WithCreationDate(CreationDateT &&value)
Definition Image.h:716
Image & AddProductCodes(ProductCodesT &&value)
Definition Image.h:757
Image & WithSourceImageId(SourceImageIdT &&value)
Definition Image.h:507
bool RootDeviceTypeHasBeenSet() const
Definition Image.h:241
const Aws::String & GetSourceInstanceId() const
Definition Image.h:417
bool ImageIdHasBeenSet() const
Definition Image.h:638
Image & WithVirtualizationType(VirtualizationType value)
Definition Image.h:323
const Aws::String & GetUsageOperation() const
Definition Image.h:90
bool ProductCodesHasBeenSet() const
Definition Image.h:745
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