7#include <aws/ec2/EC2_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/ec2/model/HypervisorType.h>
12#include <aws/ec2/model/DeviceType.h>
13#include <aws/ec2/model/StateReason.h>
14#include <aws/ec2/model/VirtualizationType.h>
15#include <aws/ec2/model/BootModeValues.h>
16#include <aws/ec2/model/TpmSupportValues.h>
17#include <aws/ec2/model/ImdsSupportValues.h>
18#include <aws/ec2/model/ImageState.h>
19#include <aws/ec2/model/ArchitectureValues.h>
20#include <aws/ec2/model/ImageTypeValues.h>
21#include <aws/ec2/model/PlatformValues.h>
22#include <aws/ec2/model/BlockDeviceMapping.h>
23#include <aws/ec2/model/Tag.h>
24#include <aws/ec2/model/ProductCode.h>
66 template<
typename PlatformDetailsT = Aws::String>
67 void SetPlatformDetails(PlatformDetailsT&& value) { m_platformDetailsHasBeenSet =
true; m_platformDetails = std::forward<PlatformDetailsT>(value); }
68 template<
typename PlatformDetailsT = Aws::String>
89 template<
typename UsageOperationT = Aws::String>
90 void SetUsageOperation(UsageOperationT&& value) { m_usageOperationHasBeenSet =
true; m_usageOperation = std::forward<UsageOperationT>(value); }
91 template<
typename UsageOperationT = Aws::String>
101 template<
typename BlockDeviceMappingsT = Aws::Vector<BlockDeviceMapping>>
102 void SetBlockDeviceMappings(BlockDeviceMappingsT&& value) { m_blockDeviceMappingsHasBeenSet =
true; m_blockDeviceMappings = std::forward<BlockDeviceMappingsT>(value); }
103 template<
typename BlockDeviceMappingsT = Aws::Vector<BlockDeviceMapping>>
105 template<
typename BlockDeviceMappingsT = BlockDeviceMapping>
106 Image&
AddBlockDeviceMappings(BlockDeviceMappingsT&& value) { m_blockDeviceMappingsHasBeenSet =
true; m_blockDeviceMappings.emplace_back(std::forward<BlockDeviceMappingsT>(value));
return *
this; }
115 template<
typename DescriptionT = Aws::String>
116 void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet =
true; m_description = std::forward<DescriptionT>(value); }
117 template<
typename DescriptionT = Aws::String>
127 inline void SetEnaSupport(
bool value) { m_enaSupportHasBeenSet =
true; m_enaSupport = value; }
149 template<
typename ImageOwnerAliasT = Aws::String>
150 void SetImageOwnerAlias(ImageOwnerAliasT&& value) { m_imageOwnerAliasHasBeenSet =
true; m_imageOwnerAlias = std::forward<ImageOwnerAliasT>(value); }
151 template<
typename ImageOwnerAliasT = Aws::String>
161 template<
typename NameT = Aws::String>
162 void SetName(NameT&& value) { m_nameHasBeenSet =
true; m_name = std::forward<NameT>(value); }
163 template<
typename NameT = Aws::String>
174 template<
typename RootDeviceNameT = Aws::String>
175 void SetRootDeviceName(RootDeviceNameT&& value) { m_rootDeviceNameHasBeenSet =
true; m_rootDeviceName = std::forward<RootDeviceNameT>(value); }
176 template<
typename RootDeviceNameT = Aws::String>
198 template<
typename SriovNetSupportT = Aws::String>
199 void SetSriovNetSupport(SriovNetSupportT&& value) { m_sriovNetSupportHasBeenSet =
true; m_sriovNetSupport = std::forward<SriovNetSupportT>(value); }
200 template<
typename SriovNetSupportT = Aws::String>
210 template<
typename StateReasonT = StateReason>
211 void SetStateReason(StateReasonT&& value) { m_stateReasonHasBeenSet =
true; m_stateReason = std::forward<StateReasonT>(value); }
212 template<
typename StateReasonT = StateReason>
222 template<
typename TagsT = Aws::Vector<Tag>>
223 void SetTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags = std::forward<TagsT>(value); }
224 template<
typename TagsT = Aws::Vector<Tag>>
226 template<
typename TagsT = Tag>
227 Image&
AddTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags.emplace_back(std::forward<TagsT>(value));
return *
this; }
274 template<
typename DeprecationTimeT = Aws::String>
275 void SetDeprecationTime(DeprecationTimeT&& value) { m_deprecationTimeHasBeenSet =
true; m_deprecationTime = std::forward<DeprecationTimeT>(value); }
276 template<
typename DeprecationTimeT = Aws::String>
306 template<
typename SourceInstanceIdT = Aws::String>
307 void SetSourceInstanceId(SourceInstanceIdT&& value) { m_sourceInstanceIdHasBeenSet =
true; m_sourceInstanceId = std::forward<SourceInstanceIdT>(value); }
308 template<
typename SourceInstanceIdT = Aws::String>
318 template<
typename DeregistrationProtectionT = Aws::String>
319 void SetDeregistrationProtection(DeregistrationProtectionT&& value) { m_deregistrationProtectionHasBeenSet =
true; m_deregistrationProtection = std::forward<DeregistrationProtectionT>(value); }
320 template<
typename DeregistrationProtectionT = Aws::String>
334 template<
typename LastLaunchedTimeT = Aws::String>
335 void SetLastLaunchedTime(LastLaunchedTimeT&& value) { m_lastLaunchedTimeHasBeenSet =
true; m_lastLaunchedTime = std::forward<LastLaunchedTimeT>(value); }
336 template<
typename LastLaunchedTimeT = Aws::String>
354 inline void SetImageAllowed(
bool value) { m_imageAllowedHasBeenSet =
true; m_imageAllowed = value; }
371 template<
typename SourceImageIdT = Aws::String>
372 void SetSourceImageId(SourceImageIdT&& value) { m_sourceImageIdHasBeenSet =
true; m_sourceImageId = std::forward<SourceImageIdT>(value); }
373 template<
typename SourceImageIdT = Aws::String>
390 template<
typename SourceImageRegionT = Aws::String>
391 void SetSourceImageRegion(SourceImageRegionT&& value) { m_sourceImageRegionHasBeenSet =
true; m_sourceImageRegion = std::forward<SourceImageRegionT>(value); }
392 template<
typename SourceImageRegionT = Aws::String>
405 inline void SetFreeTierEligible(
bool value) { m_freeTierEligibleHasBeenSet =
true; m_freeTierEligible = value; }
415 template<
typename ImageIdT = Aws::String>
416 void SetImageId(ImageIdT&& value) { m_imageIdHasBeenSet =
true; m_imageId = std::forward<ImageIdT>(value); }
417 template<
typename ImageIdT = Aws::String>
427 template<
typename ImageLocationT = Aws::String>
428 void SetImageLocation(ImageLocationT&& value) { m_imageLocationHasBeenSet =
true; m_imageLocation = std::forward<ImageLocationT>(value); }
429 template<
typename ImageLocationT = Aws::String>
450 template<
typename OwnerIdT = Aws::String>
451 void SetOwnerId(OwnerIdT&& value) { m_ownerIdHasBeenSet =
true; m_ownerId = std::forward<OwnerIdT>(value); }
452 template<
typename OwnerIdT = Aws::String>
462 template<
typename CreationDateT = Aws::String>
463 void SetCreationDate(CreationDateT&& value) { m_creationDateHasBeenSet =
true; m_creationDate = std::forward<CreationDateT>(value); }
464 template<
typename CreationDateT = Aws::String>
476 inline void SetPublic(
bool value) { m_publicHasBeenSet =
true; m_public = value; }
486 template<
typename ProductCodesT = Aws::Vector<ProductCode>>
487 void SetProductCodes(ProductCodesT&& value) { m_productCodesHasBeenSet =
true; m_productCodes = std::forward<ProductCodesT>(value); }
488 template<
typename ProductCodesT = Aws::Vector<ProductCode>>
490 template<
typename ProductCodesT = ProductCode>
491 Image&
AddProductCodes(ProductCodesT&& value) { m_productCodesHasBeenSet =
true; m_productCodes.emplace_back(std::forward<ProductCodesT>(value));
return *
this; }
521 template<
typename KernelIdT = Aws::String>
522 void SetKernelId(KernelIdT&& value) { m_kernelIdHasBeenSet =
true; m_kernelId = std::forward<KernelIdT>(value); }
523 template<
typename KernelIdT = Aws::String>
534 template<
typename RamdiskIdT = Aws::String>
535 void SetRamdiskId(RamdiskIdT&& value) { m_ramdiskIdHasBeenSet =
true; m_ramdiskId = std::forward<RamdiskIdT>(value); }
536 template<
typename RamdiskIdT = Aws::String>
553 bool m_platformDetailsHasBeenSet =
false;
556 bool m_usageOperationHasBeenSet =
false;
559 bool m_blockDeviceMappingsHasBeenSet =
false;
562 bool m_descriptionHasBeenSet =
false;
564 bool m_enaSupport{
false};
565 bool m_enaSupportHasBeenSet =
false;
568 bool m_hypervisorHasBeenSet =
false;
571 bool m_imageOwnerAliasHasBeenSet =
false;
574 bool m_nameHasBeenSet =
false;
577 bool m_rootDeviceNameHasBeenSet =
false;
580 bool m_rootDeviceTypeHasBeenSet =
false;
583 bool m_sriovNetSupportHasBeenSet =
false;
585 StateReason m_stateReason;
586 bool m_stateReasonHasBeenSet =
false;
589 bool m_tagsHasBeenSet =
false;
592 bool m_virtualizationTypeHasBeenSet =
false;
595 bool m_bootModeHasBeenSet =
false;
598 bool m_tpmSupportHasBeenSet =
false;
601 bool m_deprecationTimeHasBeenSet =
false;
604 bool m_imdsSupportHasBeenSet =
false;
607 bool m_sourceInstanceIdHasBeenSet =
false;
610 bool m_deregistrationProtectionHasBeenSet =
false;
613 bool m_lastLaunchedTimeHasBeenSet =
false;
615 bool m_imageAllowed{
false};
616 bool m_imageAllowedHasBeenSet =
false;
619 bool m_sourceImageIdHasBeenSet =
false;
622 bool m_sourceImageRegionHasBeenSet =
false;
624 bool m_freeTierEligible{
false};
625 bool m_freeTierEligibleHasBeenSet =
false;
628 bool m_imageIdHasBeenSet =
false;
631 bool m_imageLocationHasBeenSet =
false;
634 bool m_stateHasBeenSet =
false;
637 bool m_ownerIdHasBeenSet =
false;
640 bool m_creationDateHasBeenSet =
false;
642 bool m_public{
false};
643 bool m_publicHasBeenSet =
false;
646 bool m_productCodesHasBeenSet =
false;
649 bool m_architectureHasBeenSet =
false;
652 bool m_imageTypeHasBeenSet =
false;
655 bool m_kernelIdHasBeenSet =
false;
658 bool m_ramdiskIdHasBeenSet =
false;
661 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