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/ImdsSupportValues.h>
19#include <aws/ec2/model/PlatformValues.h>
20#include <aws/ec2/model/ProductCode.h>
21#include <aws/ec2/model/StateReason.h>
22#include <aws/ec2/model/Tag.h>
23#include <aws/ec2/model/TpmSupportValues.h>
24#include <aws/ec2/model/VirtualizationType.h>
60 template <
typename PlatformDetailsT = Aws::String>
62 m_platformDetailsHasBeenSet =
true;
63 m_platformDetails = std::forward<PlatformDetailsT>(value);
65 template <
typename PlatformDetailsT = Aws::String>
89 template <
typename UsageOperationT = Aws::String>
91 m_usageOperationHasBeenSet =
true;
92 m_usageOperation = std::forward<UsageOperationT>(value);
94 template <
typename UsageOperationT = Aws::String>
107 template <
typename BlockDeviceMappingsT = Aws::Vector<BlockDeviceMapping>>
109 m_blockDeviceMappingsHasBeenSet =
true;
110 m_blockDeviceMappings = std::forward<BlockDeviceMappingsT>(value);
112 template <
typename BlockDeviceMappingsT = Aws::Vector<BlockDeviceMapping>>
117 template <
typename BlockDeviceMappingsT = BlockDeviceMapping>
119 m_blockDeviceMappingsHasBeenSet =
true;
120 m_blockDeviceMappings.emplace_back(std::forward<BlockDeviceMappingsT>(value));
131 template <
typename DescriptionT = Aws::String>
133 m_descriptionHasBeenSet =
true;
134 m_description = std::forward<DescriptionT>(value);
136 template <
typename DescriptionT = Aws::String>
150 m_enaSupportHasBeenSet =
true;
151 m_enaSupport = value;
167 m_hypervisorHasBeenSet =
true;
168 m_hypervisor = value;
183 template <
typename ImageOwnerAliasT = Aws::String>
185 m_imageOwnerAliasHasBeenSet =
true;
186 m_imageOwnerAlias = std::forward<ImageOwnerAliasT>(value);
188 template <
typename ImageOwnerAliasT = Aws::String>
201 template <
typename NameT = Aws::String>
203 m_nameHasBeenSet =
true;
204 m_name = std::forward<NameT>(value);
206 template <
typename NameT = Aws::String>
208 SetName(std::forward<NameT>(value));
220 template <
typename RootDeviceNameT = Aws::String>
222 m_rootDeviceNameHasBeenSet =
true;
223 m_rootDeviceName = std::forward<RootDeviceNameT>(value);
225 template <
typename RootDeviceNameT = Aws::String>
240 m_rootDeviceTypeHasBeenSet =
true;
241 m_rootDeviceType = value;
256 template <
typename SriovNetSupportT = Aws::String>
258 m_sriovNetSupportHasBeenSet =
true;
259 m_sriovNetSupport = std::forward<SriovNetSupportT>(value);
261 template <
typename SriovNetSupportT = Aws::String>
274 template <
typename StateReasonT = StateReason>
276 m_stateReasonHasBeenSet =
true;
277 m_stateReason = std::forward<StateReasonT>(value);
279 template <
typename StateReasonT = StateReason>
292 template <
typename TagsT = Aws::Vector<Tag>>
294 m_tagsHasBeenSet =
true;
295 m_tags = std::forward<TagsT>(value);
297 template <
typename TagsT = Aws::Vector<Tag>>
299 SetTags(std::forward<TagsT>(value));
302 template <
typename TagsT = Tag>
304 m_tagsHasBeenSet =
true;
305 m_tags.emplace_back(std::forward<TagsT>(value));
317 m_virtualizationTypeHasBeenSet =
true;
318 m_virtualizationType = value;
336 m_bootModeHasBeenSet =
true;
355 m_tpmSupportHasBeenSet =
true;
356 m_tpmSupport = value;
372 template <
typename DeprecationTimeT = Aws::String>
374 m_deprecationTimeHasBeenSet =
true;
375 m_deprecationTime = std::forward<DeprecationTimeT>(value);
377 template <
typename DeprecationTimeT = Aws::String>
398 m_imdsSupportHasBeenSet =
true;
399 m_imdsSupport = value;
416 template <
typename SourceInstanceIdT = Aws::String>
418 m_sourceInstanceIdHasBeenSet =
true;
419 m_sourceInstanceId = std::forward<SourceInstanceIdT>(value);
421 template <
typename SourceInstanceIdT = Aws::String>
434 template <
typename DeregistrationProtectionT = Aws::String>
436 m_deregistrationProtectionHasBeenSet =
true;
437 m_deregistrationProtection = std::forward<DeregistrationProtectionT>(value);
439 template <
typename DeregistrationProtectionT = Aws::String>
456 template <
typename LastLaunchedTimeT = Aws::String>
458 m_lastLaunchedTimeHasBeenSet =
true;
459 m_lastLaunchedTime = std::forward<LastLaunchedTimeT>(value);
461 template <
typename LastLaunchedTimeT = Aws::String>
483 m_imageAllowedHasBeenSet =
true;
484 m_imageAllowed = value;
498 template <
typename SourceImageIdT = Aws::String>
500 m_sourceImageIdHasBeenSet =
true;
501 m_sourceImageId = std::forward<SourceImageIdT>(value);
503 template <
typename SourceImageIdT = Aws::String>
516 template <
typename SourceImageRegionT = Aws::String>
518 m_sourceImageRegionHasBeenSet =
true;
519 m_sourceImageRegion = std::forward<SourceImageRegionT>(value);
521 template <
typename SourceImageRegionT = Aws::String>
538 m_freeTierEligibleHasBeenSet =
true;
539 m_freeTierEligible = value;
553 template <
typename ImageIdT = Aws::String>
555 m_imageIdHasBeenSet =
true;
556 m_imageId = std::forward<ImageIdT>(value);
558 template <
typename ImageIdT = Aws::String>
571 template <
typename ImageLocationT = Aws::String>
573 m_imageLocationHasBeenSet =
true;
574 m_imageLocation = std::forward<ImageLocationT>(value);
576 template <
typename ImageLocationT = Aws::String>
591 m_stateHasBeenSet =
true;
606 template <
typename OwnerIdT = Aws::String>
608 m_ownerIdHasBeenSet =
true;
609 m_ownerId = std::forward<OwnerIdT>(value);
611 template <
typename OwnerIdT = Aws::String>
624 template <
typename CreationDateT = Aws::String>
626 m_creationDateHasBeenSet =
true;
627 m_creationDate = std::forward<CreationDateT>(value);
629 template <
typename CreationDateT = Aws::String>
645 m_publicHasBeenSet =
true;
660 template <
typename ProductCodesT = Aws::Vector<ProductCode>>
662 m_productCodesHasBeenSet =
true;
663 m_productCodes = std::forward<ProductCodesT>(value);
665 template <
typename ProductCodesT = Aws::Vector<ProductCode>>
670 template <
typename ProductCodesT = ProductCode>
672 m_productCodesHasBeenSet =
true;
673 m_productCodes.emplace_back(std::forward<ProductCodesT>(value));
685 m_architectureHasBeenSet =
true;
686 m_architecture = value;
701 m_imageTypeHasBeenSet =
true;
717 template <
typename KernelIdT = Aws::String>
719 m_kernelIdHasBeenSet =
true;
720 m_kernelId = std::forward<KernelIdT>(value);
722 template <
typename KernelIdT = Aws::String>
736 template <
typename RamdiskIdT = Aws::String>
738 m_ramdiskIdHasBeenSet =
true;
739 m_ramdiskId = std::forward<RamdiskIdT>(value);
741 template <
typename RamdiskIdT = Aws::String>
756 m_platformHasBeenSet =
true;
773 bool m_enaSupport{
false};
787 StateReason m_stateReason;
807 bool m_imageAllowed{
false};
813 bool m_freeTierEligible{
false};
825 bool m_public{
false};
838 bool m_platformDetailsHasBeenSet =
false;
839 bool m_usageOperationHasBeenSet =
false;
840 bool m_blockDeviceMappingsHasBeenSet =
false;
841 bool m_descriptionHasBeenSet =
false;
842 bool m_enaSupportHasBeenSet =
false;
843 bool m_hypervisorHasBeenSet =
false;
844 bool m_imageOwnerAliasHasBeenSet =
false;
845 bool m_nameHasBeenSet =
false;
846 bool m_rootDeviceNameHasBeenSet =
false;
847 bool m_rootDeviceTypeHasBeenSet =
false;
848 bool m_sriovNetSupportHasBeenSet =
false;
849 bool m_stateReasonHasBeenSet =
false;
850 bool m_tagsHasBeenSet =
false;
851 bool m_virtualizationTypeHasBeenSet =
false;
852 bool m_bootModeHasBeenSet =
false;
853 bool m_tpmSupportHasBeenSet =
false;
854 bool m_deprecationTimeHasBeenSet =
false;
855 bool m_imdsSupportHasBeenSet =
false;
856 bool m_sourceInstanceIdHasBeenSet =
false;
857 bool m_deregistrationProtectionHasBeenSet =
false;
858 bool m_lastLaunchedTimeHasBeenSet =
false;
859 bool m_imageAllowedHasBeenSet =
false;
860 bool m_sourceImageIdHasBeenSet =
false;
861 bool m_sourceImageRegionHasBeenSet =
false;
862 bool m_freeTierEligibleHasBeenSet =
false;
863 bool m_imageIdHasBeenSet =
false;
864 bool m_imageLocationHasBeenSet =
false;
865 bool m_stateHasBeenSet =
false;
866 bool m_ownerIdHasBeenSet =
false;
867 bool m_creationDateHasBeenSet =
false;
868 bool m_publicHasBeenSet =
false;
869 bool m_productCodesHasBeenSet =
false;
870 bool m_architectureHasBeenSet =
false;
871 bool m_imageTypeHasBeenSet =
false;
872 bool m_kernelIdHasBeenSet =
false;
873 bool m_ramdiskIdHasBeenSet =
false;
874 bool m_platformHasBeenSet =
false;
bool PlatformHasBeenSet() const
bool DeprecationTimeHasBeenSet() const
Image & WithTpmSupport(TpmSupportValues value)
Image & WithImageAllowed(bool value)
const Aws::String & GetDeprecationTime() const
BootModeValues GetBootMode() const
ArchitectureValues GetArchitecture() const
bool StateHasBeenSet() const
bool TpmSupportHasBeenSet() const
bool HypervisorHasBeenSet() const
void SetSourceImageId(SourceImageIdT &&value)
Image & AddTags(TagsT &&value)
void SetState(ImageState value)
Image & WithDescription(DescriptionT &&value)
bool RamdiskIdHasBeenSet() const
Image & WithImageType(ImageTypeValues value)
void SetTags(TagsT &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
const Aws::String & GetImageLocation() const
void SetImageLocation(ImageLocationT &&value)
void SetDeregistrationProtection(DeregistrationProtectionT &&value)
bool EnaSupportHasBeenSet() const
void SetBlockDeviceMappings(BlockDeviceMappingsT &&value)
void SetRootDeviceType(DeviceType value)
bool ImageTypeHasBeenSet() const
void SetRamdiskId(RamdiskIdT &&value)
const Aws::String & GetOwnerId() const
const Aws::String & GetImageId() const
Image & WithSourceInstanceId(SourceInstanceIdT &&value)
Image & WithDeprecationTime(DeprecationTimeT &&value)
bool ImageLocationHasBeenSet() const
void SetOwnerId(OwnerIdT &&value)
Image & WithPlatform(PlatformValues value)
bool RootDeviceNameHasBeenSet() const
PlatformValues GetPlatform() const
bool NameHasBeenSet() const
Image & WithLastLaunchedTime(LastLaunchedTimeT &&value)
const Aws::String & GetRootDeviceName() const
void SetSourceImageRegion(SourceImageRegionT &&value)
bool TagsHasBeenSet() const
bool DeregistrationProtectionHasBeenSet() const
const Aws::String & GetPlatformDetails() const
bool OwnerIdHasBeenSet() const
void SetHypervisor(HypervisorType value)
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
Image & WithImageLocation(ImageLocationT &&value)
void SetImageAllowed(bool value)
void SetName(NameT &&value)
const Aws::String & GetKernelId() const
Image & WithRamdiskId(RamdiskIdT &&value)
const Aws::String & GetCreationDate() const
bool KernelIdHasBeenSet() const
bool GetFreeTierEligible() const
void SetCreationDate(CreationDateT &&value)
Image & WithArchitecture(ArchitectureValues value)
const Aws::Vector< ProductCode > & GetProductCodes() const
DeviceType GetRootDeviceType() const
Image & WithProductCodes(ProductCodesT &&value)
const Aws::String & GetImageOwnerAlias() const
bool ImageOwnerAliasHasBeenSet() const
Image & WithBootMode(BootModeValues value)
Image & WithPublic(bool value)
Image & WithOwnerId(OwnerIdT &&value)
void SetEnaSupport(bool value)
void SetPublic(bool value)
const Aws::String & GetName() const
void SetPlatformDetails(PlatformDetailsT &&value)
Image & AddBlockDeviceMappings(BlockDeviceMappingsT &&value)
Image & WithDeregistrationProtection(DeregistrationProtectionT &&value)
Image & WithImageOwnerAlias(ImageOwnerAliasT &&value)
Image & WithState(ImageState value)
Image & WithPlatformDetails(PlatformDetailsT &&value)
const Aws::Vector< Tag > & GetTags() const
void SetImageId(ImageIdT &&value)
bool UsageOperationHasBeenSet() const
bool SourceImageRegionHasBeenSet() const
bool ArchitectureHasBeenSet() const
bool GetEnaSupport() const
const Aws::String & GetDescription() const
bool ImageAllowedHasBeenSet() const
void SetPlatform(PlatformValues value)
Image & WithUsageOperation(UsageOperationT &&value)
const StateReason & GetStateReason() const
void SetStateReason(StateReasonT &&value)
bool PublicHasBeenSet() const
TpmSupportValues GetTpmSupport() const
void SetTpmSupport(TpmSupportValues value)
void SetProductCodes(ProductCodesT &&value)
AWS_EC2_API Image(const Aws::Utils::Xml::XmlNode &xmlNode)
bool BootModeHasBeenSet() const
Image & WithTags(TagsT &&value)
void SetRootDeviceName(RootDeviceNameT &&value)
void SetImageType(ImageTypeValues value)
bool GetImageAllowed() const
bool SourceImageIdHasBeenSet() const
Image & WithImdsSupport(ImdsSupportValues value)
const Aws::Vector< BlockDeviceMapping > & GetBlockDeviceMappings() const
void SetImageOwnerAlias(ImageOwnerAliasT &&value)
void SetArchitecture(ArchitectureValues value)
bool LastLaunchedTimeHasBeenSet() const
bool FreeTierEligibleHasBeenSet() const
bool PlatformDetailsHasBeenSet() const
ImdsSupportValues GetImdsSupport() const
HypervisorType GetHypervisor() const
Image & WithEnaSupport(bool value)
ImageTypeValues GetImageType() const
void SetBootMode(BootModeValues value)
Image & WithName(NameT &&value)
bool SriovNetSupportHasBeenSet() const
const Aws::String & GetDeregistrationProtection() const
void SetImdsSupport(ImdsSupportValues value)
Image & WithFreeTierEligible(bool value)
bool DescriptionHasBeenSet() const
AWS_EC2_API Image()=default
Image & WithSriovNetSupport(SriovNetSupportT &&value)
const Aws::String & GetSriovNetSupport() const
Image & WithSourceImageRegion(SourceImageRegionT &&value)
bool SourceInstanceIdHasBeenSet() const
void SetVirtualizationType(VirtualizationType value)
Image & WithRootDeviceType(DeviceType value)
const Aws::String & GetSourceImageRegion() const
Image & WithRootDeviceName(RootDeviceNameT &&value)
const Aws::String & GetSourceImageId() const
const Aws::String & GetLastLaunchedTime() const
bool VirtualizationTypeHasBeenSet() const
void SetSourceInstanceId(SourceInstanceIdT &&value)
bool BlockDeviceMappingsHasBeenSet() const
Image & WithBlockDeviceMappings(BlockDeviceMappingsT &&value)
bool ImdsSupportHasBeenSet() const
VirtualizationType GetVirtualizationType() const
Image & WithHypervisor(HypervisorType value)
void SetFreeTierEligible(bool value)
Image & WithStateReason(StateReasonT &&value)
Image & WithImageId(ImageIdT &&value)
void SetSriovNetSupport(SriovNetSupportT &&value)
bool CreationDateHasBeenSet() const
AWS_EC2_API Image & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
void SetLastLaunchedTime(LastLaunchedTimeT &&value)
void SetDeprecationTime(DeprecationTimeT &&value)
const Aws::String & GetRamdiskId() const
void SetKernelId(KernelIdT &&value)
bool StateReasonHasBeenSet() const
void SetDescription(DescriptionT &&value)
void SetUsageOperation(UsageOperationT &&value)
Image & WithKernelId(KernelIdT &&value)
ImageState GetState() const
Image & WithCreationDate(CreationDateT &&value)
Image & AddProductCodes(ProductCodesT &&value)
Image & WithSourceImageId(SourceImageIdT &&value)
bool RootDeviceTypeHasBeenSet() const
const Aws::String & GetSourceInstanceId() const
bool ImageIdHasBeenSet() const
Image & WithVirtualizationType(VirtualizationType value)
const Aws::String & GetUsageOperation() const
bool ProductCodesHasBeenSet() const
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