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/PlatformValues.h>
21#include <aws/ec2/model/ProductCode.h>
22#include <aws/ec2/model/StateReason.h>
23#include <aws/ec2/model/Tag.h>
24#include <aws/ec2/model/TpmSupportValues.h>
25#include <aws/ec2/model/VirtualizationType.h>
61 template <
typename PlatformDetailsT = Aws::String>
63 m_platformDetailsHasBeenSet =
true;
64 m_platformDetails = std::forward<PlatformDetailsT>(value);
66 template <
typename PlatformDetailsT = Aws::String>
90 template <
typename UsageOperationT = Aws::String>
92 m_usageOperationHasBeenSet =
true;
93 m_usageOperation = std::forward<UsageOperationT>(value);
95 template <
typename UsageOperationT = Aws::String>
108 template <
typename BlockDeviceMappingsT = Aws::Vector<BlockDeviceMapping>>
110 m_blockDeviceMappingsHasBeenSet =
true;
111 m_blockDeviceMappings = std::forward<BlockDeviceMappingsT>(value);
113 template <
typename BlockDeviceMappingsT = Aws::Vector<BlockDeviceMapping>>
118 template <
typename BlockDeviceMappingsT = BlockDeviceMapping>
120 m_blockDeviceMappingsHasBeenSet =
true;
121 m_blockDeviceMappings.emplace_back(std::forward<BlockDeviceMappingsT>(value));
132 template <
typename DescriptionT = Aws::String>
134 m_descriptionHasBeenSet =
true;
135 m_description = std::forward<DescriptionT>(value);
137 template <
typename DescriptionT = Aws::String>
151 m_enaSupportHasBeenSet =
true;
152 m_enaSupport = value;
168 m_hypervisorHasBeenSet =
true;
169 m_hypervisor = value;
184 template <
typename ImageOwnerAliasT = Aws::String>
186 m_imageOwnerAliasHasBeenSet =
true;
187 m_imageOwnerAlias = std::forward<ImageOwnerAliasT>(value);
189 template <
typename ImageOwnerAliasT = Aws::String>
202 template <
typename NameT = Aws::String>
204 m_nameHasBeenSet =
true;
205 m_name = std::forward<NameT>(value);
207 template <
typename NameT = Aws::String>
209 SetName(std::forward<NameT>(value));
221 template <
typename RootDeviceNameT = Aws::String>
223 m_rootDeviceNameHasBeenSet =
true;
224 m_rootDeviceName = std::forward<RootDeviceNameT>(value);
226 template <
typename RootDeviceNameT = Aws::String>
241 m_rootDeviceTypeHasBeenSet =
true;
242 m_rootDeviceType = value;
257 template <
typename SriovNetSupportT = Aws::String>
259 m_sriovNetSupportHasBeenSet =
true;
260 m_sriovNetSupport = std::forward<SriovNetSupportT>(value);
262 template <
typename SriovNetSupportT = Aws::String>
275 template <
typename StateReasonT = StateReason>
277 m_stateReasonHasBeenSet =
true;
278 m_stateReason = std::forward<StateReasonT>(value);
280 template <
typename StateReasonT = StateReason>
293 template <
typename TagsT = Aws::Vector<Tag>>
295 m_tagsHasBeenSet =
true;
296 m_tags = std::forward<TagsT>(value);
298 template <
typename TagsT = Aws::Vector<Tag>>
300 SetTags(std::forward<TagsT>(value));
303 template <
typename TagsT = Tag>
305 m_tagsHasBeenSet =
true;
306 m_tags.emplace_back(std::forward<TagsT>(value));
318 m_virtualizationTypeHasBeenSet =
true;
319 m_virtualizationType = value;
337 m_bootModeHasBeenSet =
true;
356 m_tpmSupportHasBeenSet =
true;
357 m_tpmSupport = value;
373 template <
typename DeprecationTimeT = Aws::String>
375 m_deprecationTimeHasBeenSet =
true;
376 m_deprecationTime = std::forward<DeprecationTimeT>(value);
378 template <
typename DeprecationTimeT = Aws::String>
399 m_imdsSupportHasBeenSet =
true;
400 m_imdsSupport = value;
417 template <
typename SourceInstanceIdT = Aws::String>
419 m_sourceInstanceIdHasBeenSet =
true;
420 m_sourceInstanceId = std::forward<SourceInstanceIdT>(value);
422 template <
typename SourceInstanceIdT = Aws::String>
435 template <
typename DeregistrationProtectionT = Aws::String>
437 m_deregistrationProtectionHasBeenSet =
true;
438 m_deregistrationProtection = std::forward<DeregistrationProtectionT>(value);
440 template <
typename DeregistrationProtectionT = Aws::String>
457 template <
typename LastLaunchedTimeT = Aws::String>
459 m_lastLaunchedTimeHasBeenSet =
true;
460 m_lastLaunchedTime = std::forward<LastLaunchedTimeT>(value);
462 template <
typename LastLaunchedTimeT = Aws::String>
484 m_imageAllowedHasBeenSet =
true;
485 m_imageAllowed = value;
499 template <
typename SourceImageIdT = Aws::String>
501 m_sourceImageIdHasBeenSet =
true;
502 m_sourceImageId = std::forward<SourceImageIdT>(value);
504 template <
typename SourceImageIdT = Aws::String>
517 template <
typename SourceImageRegionT = Aws::String>
519 m_sourceImageRegionHasBeenSet =
true;
520 m_sourceImageRegion = std::forward<SourceImageRegionT>(value);
522 template <
typename SourceImageRegionT = Aws::String>
539 m_freeTierEligibleHasBeenSet =
true;
540 m_freeTierEligible = value;
554 template <
typename ImageWatermarksT = Aws::Vector<ImageWatermark>>
556 m_imageWatermarksHasBeenSet =
true;
557 m_imageWatermarks = std::forward<ImageWatermarksT>(value);
559 template <
typename ImageWatermarksT = Aws::Vector<ImageWatermark>>
564 template <
typename ImageWatermarksT = ImageWatermark>
566 m_imageWatermarksHasBeenSet =
true;
567 m_imageWatermarks.emplace_back(std::forward<ImageWatermarksT>(value));
578 template <
typename ImageIdT = Aws::String>
580 m_imageIdHasBeenSet =
true;
581 m_imageId = std::forward<ImageIdT>(value);
583 template <
typename ImageIdT = Aws::String>
596 template <
typename ImageLocationT = Aws::String>
598 m_imageLocationHasBeenSet =
true;
599 m_imageLocation = std::forward<ImageLocationT>(value);
601 template <
typename ImageLocationT = Aws::String>
616 m_stateHasBeenSet =
true;
631 template <
typename OwnerIdT = Aws::String>
633 m_ownerIdHasBeenSet =
true;
634 m_ownerId = std::forward<OwnerIdT>(value);
636 template <
typename OwnerIdT = Aws::String>
649 template <
typename CreationDateT = Aws::String>
651 m_creationDateHasBeenSet =
true;
652 m_creationDate = std::forward<CreationDateT>(value);
654 template <
typename CreationDateT = Aws::String>
670 m_publicHasBeenSet =
true;
685 template <
typename ProductCodesT = Aws::Vector<ProductCode>>
687 m_productCodesHasBeenSet =
true;
688 m_productCodes = std::forward<ProductCodesT>(value);
690 template <
typename ProductCodesT = Aws::Vector<ProductCode>>
695 template <
typename ProductCodesT = ProductCode>
697 m_productCodesHasBeenSet =
true;
698 m_productCodes.emplace_back(std::forward<ProductCodesT>(value));
710 m_architectureHasBeenSet =
true;
711 m_architecture = value;
726 m_imageTypeHasBeenSet =
true;
742 template <
typename KernelIdT = Aws::String>
744 m_kernelIdHasBeenSet =
true;
745 m_kernelId = std::forward<KernelIdT>(value);
747 template <
typename KernelIdT = Aws::String>
761 template <
typename RamdiskIdT = Aws::String>
763 m_ramdiskIdHasBeenSet =
true;
764 m_ramdiskId = std::forward<RamdiskIdT>(value);
766 template <
typename RamdiskIdT = Aws::String>
781 m_platformHasBeenSet =
true;
798 bool m_enaSupport{
false};
812 StateReason m_stateReason;
832 bool m_imageAllowed{
false};
838 bool m_freeTierEligible{
false};
852 bool m_public{
false};
865 bool m_platformDetailsHasBeenSet =
false;
866 bool m_usageOperationHasBeenSet =
false;
867 bool m_blockDeviceMappingsHasBeenSet =
false;
868 bool m_descriptionHasBeenSet =
false;
869 bool m_enaSupportHasBeenSet =
false;
870 bool m_hypervisorHasBeenSet =
false;
871 bool m_imageOwnerAliasHasBeenSet =
false;
872 bool m_nameHasBeenSet =
false;
873 bool m_rootDeviceNameHasBeenSet =
false;
874 bool m_rootDeviceTypeHasBeenSet =
false;
875 bool m_sriovNetSupportHasBeenSet =
false;
876 bool m_stateReasonHasBeenSet =
false;
877 bool m_tagsHasBeenSet =
false;
878 bool m_virtualizationTypeHasBeenSet =
false;
879 bool m_bootModeHasBeenSet =
false;
880 bool m_tpmSupportHasBeenSet =
false;
881 bool m_deprecationTimeHasBeenSet =
false;
882 bool m_imdsSupportHasBeenSet =
false;
883 bool m_sourceInstanceIdHasBeenSet =
false;
884 bool m_deregistrationProtectionHasBeenSet =
false;
885 bool m_lastLaunchedTimeHasBeenSet =
false;
886 bool m_imageAllowedHasBeenSet =
false;
887 bool m_sourceImageIdHasBeenSet =
false;
888 bool m_sourceImageRegionHasBeenSet =
false;
889 bool m_freeTierEligibleHasBeenSet =
false;
890 bool m_imageWatermarksHasBeenSet =
false;
891 bool m_imageIdHasBeenSet =
false;
892 bool m_imageLocationHasBeenSet =
false;
893 bool m_stateHasBeenSet =
false;
894 bool m_ownerIdHasBeenSet =
false;
895 bool m_creationDateHasBeenSet =
false;
896 bool m_publicHasBeenSet =
false;
897 bool m_productCodesHasBeenSet =
false;
898 bool m_architectureHasBeenSet =
false;
899 bool m_imageTypeHasBeenSet =
false;
900 bool m_kernelIdHasBeenSet =
false;
901 bool m_ramdiskIdHasBeenSet =
false;
902 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
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)
Image & WithImageWatermarks(ImageWatermarksT &&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
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
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)
Image & AddImageWatermarks(ImageWatermarksT &&value)
const Aws::String & GetRamdiskId() const
void SetKernelId(KernelIdT &&value)
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