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>
62 template <
typename PlatformDetailsT = Aws::String>
64 m_platformDetailsHasBeenSet =
true;
65 m_platformDetails = std::forward<PlatformDetailsT>(value);
67 template <
typename PlatformDetailsT = Aws::String>
91 template <
typename UsageOperationT = Aws::String>
93 m_usageOperationHasBeenSet =
true;
94 m_usageOperation = std::forward<UsageOperationT>(value);
96 template <
typename UsageOperationT = Aws::String>
109 template <
typename BlockDeviceMappingsT = Aws::Vector<BlockDeviceMapping>>
111 m_blockDeviceMappingsHasBeenSet =
true;
112 m_blockDeviceMappings = std::forward<BlockDeviceMappingsT>(value);
114 template <
typename BlockDeviceMappingsT = Aws::Vector<BlockDeviceMapping>>
119 template <
typename BlockDeviceMappingsT = BlockDeviceMapping>
121 m_blockDeviceMappingsHasBeenSet =
true;
122 m_blockDeviceMappings.emplace_back(std::forward<BlockDeviceMappingsT>(value));
133 template <
typename DescriptionT = Aws::String>
135 m_descriptionHasBeenSet =
true;
136 m_description = std::forward<DescriptionT>(value);
138 template <
typename DescriptionT = Aws::String>
152 m_enaSupportHasBeenSet =
true;
153 m_enaSupport = value;
169 m_hypervisorHasBeenSet =
true;
170 m_hypervisor = value;
185 template <
typename ImageOwnerAliasT = Aws::String>
187 m_imageOwnerAliasHasBeenSet =
true;
188 m_imageOwnerAlias = std::forward<ImageOwnerAliasT>(value);
190 template <
typename ImageOwnerAliasT = Aws::String>
203 template <
typename NameT = Aws::String>
205 m_nameHasBeenSet =
true;
206 m_name = std::forward<NameT>(value);
208 template <
typename NameT = Aws::String>
210 SetName(std::forward<NameT>(value));
222 template <
typename RootDeviceNameT = Aws::String>
224 m_rootDeviceNameHasBeenSet =
true;
225 m_rootDeviceName = std::forward<RootDeviceNameT>(value);
227 template <
typename RootDeviceNameT = Aws::String>
242 m_rootDeviceTypeHasBeenSet =
true;
243 m_rootDeviceType = value;
258 template <
typename SriovNetSupportT = Aws::String>
260 m_sriovNetSupportHasBeenSet =
true;
261 m_sriovNetSupport = std::forward<SriovNetSupportT>(value);
263 template <
typename SriovNetSupportT = Aws::String>
276 template <
typename StateReasonT = StateReason>
278 m_stateReasonHasBeenSet =
true;
279 m_stateReason = std::forward<StateReasonT>(value);
281 template <
typename StateReasonT = StateReason>
294 template <
typename TagsT = Aws::Vector<Tag>>
296 m_tagsHasBeenSet =
true;
297 m_tags = std::forward<TagsT>(value);
299 template <
typename TagsT = Aws::Vector<Tag>>
301 SetTags(std::forward<TagsT>(value));
304 template <
typename TagsT = Tag>
306 m_tagsHasBeenSet =
true;
307 m_tags.emplace_back(std::forward<TagsT>(value));
319 m_virtualizationTypeHasBeenSet =
true;
320 m_virtualizationType = value;
338 m_bootModeHasBeenSet =
true;
357 m_tpmSupportHasBeenSet =
true;
358 m_tpmSupport = value;
374 template <
typename DeprecationTimeT = Aws::String>
376 m_deprecationTimeHasBeenSet =
true;
377 m_deprecationTime = std::forward<DeprecationTimeT>(value);
379 template <
typename DeprecationTimeT = Aws::String>
400 m_imdsSupportHasBeenSet =
true;
401 m_imdsSupport = value;
418 template <
typename SourceInstanceIdT = Aws::String>
420 m_sourceInstanceIdHasBeenSet =
true;
421 m_sourceInstanceId = std::forward<SourceInstanceIdT>(value);
423 template <
typename SourceInstanceIdT = Aws::String>
436 template <
typename DeregistrationProtectionT = Aws::String>
438 m_deregistrationProtectionHasBeenSet =
true;
439 m_deregistrationProtection = std::forward<DeregistrationProtectionT>(value);
441 template <
typename DeregistrationProtectionT = Aws::String>
458 template <
typename LastLaunchedTimeT = Aws::String>
460 m_lastLaunchedTimeHasBeenSet =
true;
461 m_lastLaunchedTime = std::forward<LastLaunchedTimeT>(value);
463 template <
typename LastLaunchedTimeT = Aws::String>
485 m_imageAllowedHasBeenSet =
true;
486 m_imageAllowed = value;
500 template <
typename SourceImageIdT = Aws::String>
502 m_sourceImageIdHasBeenSet =
true;
503 m_sourceImageId = std::forward<SourceImageIdT>(value);
505 template <
typename SourceImageIdT = Aws::String>
518 template <
typename SourceImageRegionT = Aws::String>
520 m_sourceImageRegionHasBeenSet =
true;
521 m_sourceImageRegion = std::forward<SourceImageRegionT>(value);
523 template <
typename SourceImageRegionT = Aws::String>
540 m_freeTierEligibleHasBeenSet =
true;
541 m_freeTierEligible = value;
556 template <
typename PublicSsmParameterNameT = Aws::String>
558 m_publicSsmParameterNameHasBeenSet =
true;
559 m_publicSsmParameterName = std::forward<PublicSsmParameterNameT>(value);
561 template <
typename PublicSsmParameterNameT = Aws::String>
574 template <
typename ImageWatermarksT = Aws::Vector<ImageWatermark>>
576 m_imageWatermarksHasBeenSet =
true;
577 m_imageWatermarks = std::forward<ImageWatermarksT>(value);
579 template <
typename ImageWatermarksT = Aws::Vector<ImageWatermark>>
584 template <
typename ImageWatermarksT = ImageWatermark>
586 m_imageWatermarksHasBeenSet =
true;
587 m_imageWatermarks.emplace_back(std::forward<ImageWatermarksT>(value));
599 template <
typename InstanceTypeSpecificationT = InstanceTypeSpecification>
601 m_instanceTypeSpecificationHasBeenSet =
true;
602 m_instanceTypeSpecification = std::forward<InstanceTypeSpecificationT>(value);
604 template <
typename InstanceTypeSpecificationT = InstanceTypeSpecification>
617 template <
typename ImageIdT = Aws::String>
619 m_imageIdHasBeenSet =
true;
620 m_imageId = std::forward<ImageIdT>(value);
622 template <
typename ImageIdT = Aws::String>
635 template <
typename ImageLocationT = Aws::String>
637 m_imageLocationHasBeenSet =
true;
638 m_imageLocation = std::forward<ImageLocationT>(value);
640 template <
typename ImageLocationT = Aws::String>
655 m_stateHasBeenSet =
true;
670 template <
typename OwnerIdT = Aws::String>
672 m_ownerIdHasBeenSet =
true;
673 m_ownerId = std::forward<OwnerIdT>(value);
675 template <
typename OwnerIdT = Aws::String>
688 template <
typename CreationDateT = Aws::String>
690 m_creationDateHasBeenSet =
true;
691 m_creationDate = std::forward<CreationDateT>(value);
693 template <
typename CreationDateT = Aws::String>
709 m_publicHasBeenSet =
true;
724 template <
typename ProductCodesT = Aws::Vector<ProductCode>>
726 m_productCodesHasBeenSet =
true;
727 m_productCodes = std::forward<ProductCodesT>(value);
729 template <
typename ProductCodesT = Aws::Vector<ProductCode>>
734 template <
typename ProductCodesT = ProductCode>
736 m_productCodesHasBeenSet =
true;
737 m_productCodes.emplace_back(std::forward<ProductCodesT>(value));
749 m_architectureHasBeenSet =
true;
750 m_architecture = value;
765 m_imageTypeHasBeenSet =
true;
781 template <
typename KernelIdT = Aws::String>
783 m_kernelIdHasBeenSet =
true;
784 m_kernelId = std::forward<KernelIdT>(value);
786 template <
typename KernelIdT = Aws::String>
800 template <
typename RamdiskIdT = Aws::String>
802 m_ramdiskIdHasBeenSet =
true;
803 m_ramdiskId = std::forward<RamdiskIdT>(value);
805 template <
typename RamdiskIdT = Aws::String>
820 m_platformHasBeenSet =
true;
837 bool m_enaSupport{
false};
851 StateReason m_stateReason;
871 bool m_imageAllowed{
false};
877 bool m_freeTierEligible{
false};
883 InstanceTypeSpecification m_instanceTypeSpecification;
895 bool m_public{
false};
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;
bool PlatformHasBeenSet() const
const Aws::Vector< ImageWatermark > & GetImageWatermarks() const
bool DeprecationTimeHasBeenSet() const
Image & WithTpmSupport(TpmSupportValues value)
Image & WithImageAllowed(bool value)
const Aws::String & GetDeprecationTime() const
BootModeValues GetBootMode() const
ArchitectureValues GetArchitecture() const
Image & WithInstanceTypeSpecification(InstanceTypeSpecificationT &&value)
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)
void SetInstanceTypeSpecification(InstanceTypeSpecificationT &&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 & WithPublicSsmParameterName(PublicSsmParameterNameT &&value)
Image & WithImageLocation(ImageLocationT &&value)
void SetImageAllowed(bool value)
void SetName(NameT &&value)
const Aws::String & GetKernelId() const
Image & WithRamdiskId(RamdiskIdT &&value)
Image & WithImageWatermarks(ImageWatermarksT &&value)
const Aws::String & GetCreationDate() const
bool KernelIdHasBeenSet() const
bool GetFreeTierEligible() const
void SetCreationDate(CreationDateT &&value)
Image & WithArchitecture(ArchitectureValues value)
void SetPublicSsmParameterName(PublicSsmParameterNameT &&value)
const Aws::Vector< ProductCode > & GetProductCodes() const
DeviceType GetRootDeviceType() const
Image & WithProductCodes(ProductCodesT &&value)
const Aws::String & GetImageOwnerAlias() const
void SetImageWatermarks(ImageWatermarksT &&value)
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
const Aws::String & GetPublicSsmParameterName() 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)
bool PublicSsmParameterNameHasBeenSet() const
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)
const InstanceTypeSpecification & GetInstanceTypeSpecification() const
void SetLastLaunchedTime(LastLaunchedTimeT &&value)
void SetDeprecationTime(DeprecationTimeT &&value)
Image & AddImageWatermarks(ImageWatermarksT &&value)
const Aws::String & GetRamdiskId() const
void SetKernelId(KernelIdT &&value)
bool InstanceTypeSpecificationHasBeenSet() const
bool StateReasonHasBeenSet() const
void SetDescription(DescriptionT &&value)
void SetUsageOperation(UsageOperationT &&value)
bool ImageWatermarksHasBeenSet() const
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