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>
63 template <
typename PlatformDetailsT = Aws::String>
65 m_platformDetailsHasBeenSet =
true;
66 m_platformDetails = std::forward<PlatformDetailsT>(value);
68 template <
typename PlatformDetailsT = Aws::String>
92 template <
typename UsageOperationT = Aws::String>
94 m_usageOperationHasBeenSet =
true;
95 m_usageOperation = std::forward<UsageOperationT>(value);
97 template <
typename UsageOperationT = Aws::String>
110 template <
typename BlockDeviceMappingsT = Aws::Vector<BlockDeviceMapping>>
112 m_blockDeviceMappingsHasBeenSet =
true;
113 m_blockDeviceMappings = std::forward<BlockDeviceMappingsT>(value);
115 template <
typename BlockDeviceMappingsT = Aws::Vector<BlockDeviceMapping>>
120 template <
typename BlockDeviceMappingsT = BlockDeviceMapping>
122 m_blockDeviceMappingsHasBeenSet =
true;
123 m_blockDeviceMappings.emplace_back(std::forward<BlockDeviceMappingsT>(value));
134 template <
typename DescriptionT = Aws::String>
136 m_descriptionHasBeenSet =
true;
137 m_description = std::forward<DescriptionT>(value);
139 template <
typename DescriptionT = Aws::String>
153 m_enaSupportHasBeenSet =
true;
154 m_enaSupport = value;
170 m_hypervisorHasBeenSet =
true;
171 m_hypervisor = value;
186 template <
typename ImageOwnerAliasT = Aws::String>
188 m_imageOwnerAliasHasBeenSet =
true;
189 m_imageOwnerAlias = std::forward<ImageOwnerAliasT>(value);
191 template <
typename ImageOwnerAliasT = Aws::String>
204 template <
typename NameT = Aws::String>
206 m_nameHasBeenSet =
true;
207 m_name = std::forward<NameT>(value);
209 template <
typename NameT = Aws::String>
211 SetName(std::forward<NameT>(value));
223 template <
typename RootDeviceNameT = Aws::String>
225 m_rootDeviceNameHasBeenSet =
true;
226 m_rootDeviceName = std::forward<RootDeviceNameT>(value);
228 template <
typename RootDeviceNameT = Aws::String>
243 m_rootDeviceTypeHasBeenSet =
true;
244 m_rootDeviceType = value;
259 template <
typename SriovNetSupportT = Aws::String>
261 m_sriovNetSupportHasBeenSet =
true;
262 m_sriovNetSupport = std::forward<SriovNetSupportT>(value);
264 template <
typename SriovNetSupportT = Aws::String>
277 template <
typename StateReasonT = StateReason>
279 m_stateReasonHasBeenSet =
true;
280 m_stateReason = std::forward<StateReasonT>(value);
282 template <
typename StateReasonT = StateReason>
295 template <
typename TagsT = Aws::Vector<Tag>>
297 m_tagsHasBeenSet =
true;
298 m_tags = std::forward<TagsT>(value);
300 template <
typename TagsT = Aws::Vector<Tag>>
302 SetTags(std::forward<TagsT>(value));
305 template <
typename TagsT = Tag>
307 m_tagsHasBeenSet =
true;
308 m_tags.emplace_back(std::forward<TagsT>(value));
320 m_virtualizationTypeHasBeenSet =
true;
321 m_virtualizationType = value;
339 m_bootModeHasBeenSet =
true;
358 m_tpmSupportHasBeenSet =
true;
359 m_tpmSupport = value;
375 template <
typename DeprecationTimeT = Aws::String>
377 m_deprecationTimeHasBeenSet =
true;
378 m_deprecationTime = std::forward<DeprecationTimeT>(value);
380 template <
typename DeprecationTimeT = Aws::String>
401 m_imdsSupportHasBeenSet =
true;
402 m_imdsSupport = value;
419 template <
typename SourceInstanceIdT = Aws::String>
421 m_sourceInstanceIdHasBeenSet =
true;
422 m_sourceInstanceId = std::forward<SourceInstanceIdT>(value);
424 template <
typename SourceInstanceIdT = Aws::String>
437 template <
typename DeregistrationProtectionT = Aws::String>
439 m_deregistrationProtectionHasBeenSet =
true;
440 m_deregistrationProtection = std::forward<DeregistrationProtectionT>(value);
442 template <
typename DeregistrationProtectionT = Aws::String>
459 template <
typename LastLaunchedTimeT = Aws::String>
461 m_lastLaunchedTimeHasBeenSet =
true;
462 m_lastLaunchedTime = std::forward<LastLaunchedTimeT>(value);
464 template <
typename LastLaunchedTimeT = Aws::String>
486 m_imageAllowedHasBeenSet =
true;
487 m_imageAllowed = value;
501 template <
typename SourceImageIdT = Aws::String>
503 m_sourceImageIdHasBeenSet =
true;
504 m_sourceImageId = std::forward<SourceImageIdT>(value);
506 template <
typename SourceImageIdT = Aws::String>
519 template <
typename SourceImageRegionT = Aws::String>
521 m_sourceImageRegionHasBeenSet =
true;
522 m_sourceImageRegion = std::forward<SourceImageRegionT>(value);
524 template <
typename SourceImageRegionT = Aws::String>
541 m_freeTierEligibleHasBeenSet =
true;
542 m_freeTierEligible = value;
557 template <
typename PublicSsmParameterNameT = Aws::String>
559 m_publicSsmParameterNameHasBeenSet =
true;
560 m_publicSsmParameterName = std::forward<PublicSsmParameterNameT>(value);
562 template <
typename PublicSsmParameterNameT = Aws::String>
575 template <
typename ImageWatermarksT = Aws::Vector<ImageWatermark>>
577 m_imageWatermarksHasBeenSet =
true;
578 m_imageWatermarks = std::forward<ImageWatermarksT>(value);
580 template <
typename ImageWatermarksT = Aws::Vector<ImageWatermark>>
585 template <
typename ImageWatermarksT = ImageWatermark>
587 m_imageWatermarksHasBeenSet =
true;
588 m_imageWatermarks.emplace_back(std::forward<ImageWatermarksT>(value));
602 template <
typename ScanResultsT = ScanResults>
604 m_scanResultsHasBeenSet =
true;
605 m_scanResults = std::forward<ScanResultsT>(value);
607 template <
typename ScanResultsT = ScanResults>
621 template <
typename InstanceTypeSpecificationT = InstanceTypeSpecification>
623 m_instanceTypeSpecificationHasBeenSet =
true;
624 m_instanceTypeSpecification = std::forward<InstanceTypeSpecificationT>(value);
626 template <
typename InstanceTypeSpecificationT = InstanceTypeSpecification>
639 template <
typename ImageIdT = Aws::String>
641 m_imageIdHasBeenSet =
true;
642 m_imageId = std::forward<ImageIdT>(value);
644 template <
typename ImageIdT = Aws::String>
657 template <
typename ImageLocationT = Aws::String>
659 m_imageLocationHasBeenSet =
true;
660 m_imageLocation = std::forward<ImageLocationT>(value);
662 template <
typename ImageLocationT = Aws::String>
677 m_stateHasBeenSet =
true;
692 template <
typename OwnerIdT = Aws::String>
694 m_ownerIdHasBeenSet =
true;
695 m_ownerId = std::forward<OwnerIdT>(value);
697 template <
typename OwnerIdT = Aws::String>
710 template <
typename CreationDateT = Aws::String>
712 m_creationDateHasBeenSet =
true;
713 m_creationDate = std::forward<CreationDateT>(value);
715 template <
typename CreationDateT = Aws::String>
731 m_publicHasBeenSet =
true;
746 template <
typename ProductCodesT = Aws::Vector<ProductCode>>
748 m_productCodesHasBeenSet =
true;
749 m_productCodes = std::forward<ProductCodesT>(value);
751 template <
typename ProductCodesT = Aws::Vector<ProductCode>>
756 template <
typename ProductCodesT = ProductCode>
758 m_productCodesHasBeenSet =
true;
759 m_productCodes.emplace_back(std::forward<ProductCodesT>(value));
771 m_architectureHasBeenSet =
true;
772 m_architecture = value;
787 m_imageTypeHasBeenSet =
true;
803 template <
typename KernelIdT = Aws::String>
805 m_kernelIdHasBeenSet =
true;
806 m_kernelId = std::forward<KernelIdT>(value);
808 template <
typename KernelIdT = Aws::String>
822 template <
typename RamdiskIdT = Aws::String>
824 m_ramdiskIdHasBeenSet =
true;
825 m_ramdiskId = std::forward<RamdiskIdT>(value);
827 template <
typename RamdiskIdT = Aws::String>
842 m_platformHasBeenSet =
true;
859 bool m_enaSupport{
false};
873 StateReason m_stateReason;
893 bool m_imageAllowed{
false};
899 bool m_freeTierEligible{
false};
905 ScanResults m_scanResults;
907 InstanceTypeSpecification m_instanceTypeSpecification;
919 bool m_public{
false};
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;
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
bool ScanResultsHasBeenSet() 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
Image & WithScanResults(ScanResultsT &&value)
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 ScanResults & GetScanResults() 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)
void SetScanResults(ScanResultsT &&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