7#include <aws/core/utils/UUID.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/ec2/EC2Request.h>
11#include <aws/ec2/EC2_EXPORTS.h>
12#include <aws/ec2/model/BlockDeviceMapping.h>
13#include <aws/ec2/model/CapacityReservationSpecification.h>
14#include <aws/ec2/model/CpuOptionsRequest.h>
15#include <aws/ec2/model/CreditSpecificationRequest.h>
16#include <aws/ec2/model/EnclaveOptionsRequest.h>
17#include <aws/ec2/model/HibernationOptionsRequest.h>
18#include <aws/ec2/model/IamInstanceProfileSpecification.h>
19#include <aws/ec2/model/InstanceIpv6Address.h>
20#include <aws/ec2/model/InstanceMaintenanceOptionsRequest.h>
21#include <aws/ec2/model/InstanceMarketOptionsRequest.h>
22#include <aws/ec2/model/InstanceMetadataOptionsRequest.h>
23#include <aws/ec2/model/InstanceNetworkInterfaceSpecification.h>
24#include <aws/ec2/model/InstanceNetworkPerformanceOptionsRequest.h>
25#include <aws/ec2/model/InstanceSecondaryInterfaceSpecificationRequest.h>
26#include <aws/ec2/model/InstanceType.h>
27#include <aws/ec2/model/LaunchTemplateSpecification.h>
28#include <aws/ec2/model/LicenseConfigurationRequest.h>
29#include <aws/ec2/model/OperatorRequest.h>
30#include <aws/ec2/model/Placement.h>
31#include <aws/ec2/model/PrivateDnsNameOptionsRequest.h>
32#include <aws/ec2/model/RunInstancesMonitoringEnabled.h>
33#include <aws/ec2/model/ShutdownBehavior.h>
34#include <aws/ec2/model/TagSpecification.h>
69 template <
typename BlockDeviceMappingsT = Aws::Vector<BlockDeviceMapping>>
71 m_blockDeviceMappingsHasBeenSet =
true;
72 m_blockDeviceMappings = std::forward<BlockDeviceMappingsT>(value);
74 template <
typename BlockDeviceMappingsT = Aws::Vector<BlockDeviceMapping>>
79 template <
typename BlockDeviceMappingsT = BlockDeviceMapping>
81 m_blockDeviceMappingsHasBeenSet =
true;
82 m_blockDeviceMappings.emplace_back(std::forward<BlockDeviceMappingsT>(value));
94 template <
typename ImageIdT = Aws::String>
96 m_imageIdHasBeenSet =
true;
97 m_imageId = std::forward<ImageIdT>(value);
99 template <
typename ImageIdT = Aws::String>
115 m_instanceTypeHasBeenSet =
true;
116 m_instanceType = value;
136 m_ipv6AddressCountHasBeenSet =
true;
137 m_ipv6AddressCount = value;
155 template <
typename Ipv6AddressesT = Aws::Vector<InstanceIpv6Address>>
157 m_ipv6AddressesHasBeenSet =
true;
158 m_ipv6Addresses = std::forward<Ipv6AddressesT>(value);
160 template <
typename Ipv6AddressesT = Aws::Vector<InstanceIpv6Address>>
165 template <
typename Ipv6AddressesT = InstanceIpv6Address>
167 m_ipv6AddressesHasBeenSet =
true;
168 m_ipv6Addresses.emplace_back(std::forward<Ipv6AddressesT>(value));
182 template <
typename KernelIdT = Aws::String>
184 m_kernelIdHasBeenSet =
true;
185 m_kernelId = std::forward<KernelIdT>(value);
187 template <
typename KernelIdT = Aws::String>
204 template <
typename KeyNameT = Aws::String>
206 m_keyNameHasBeenSet =
true;
207 m_keyName = std::forward<KeyNameT>(value);
209 template <
typename KeyNameT = Aws::String>
229 m_maxCountHasBeenSet =
true;
251 m_minCountHasBeenSet =
true;
266 template <
typename MonitoringT = RunInstancesMonitoringEnabled>
268 m_monitoringHasBeenSet =
true;
269 m_monitoring = std::forward<MonitoringT>(value);
271 template <
typename MonitoringT = RunInstancesMonitoringEnabled>
284 template <
typename PlacementT = Placement>
286 m_placementHasBeenSet =
true;
287 m_placement = std::forward<PlacementT>(value);
289 template <
typename PlacementT = Placement>
309 template <
typename RamdiskIdT = Aws::String>
311 m_ramdiskIdHasBeenSet =
true;
312 m_ramdiskId = std::forward<RamdiskIdT>(value);
314 template <
typename RamdiskIdT = Aws::String>
329 template <
typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
331 m_securityGroupIdsHasBeenSet =
true;
332 m_securityGroupIds = std::forward<SecurityGroupIdsT>(value);
334 template <
typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
339 template <
typename SecurityGroupIdsT = Aws::String>
341 m_securityGroupIdsHasBeenSet =
true;
342 m_securityGroupIds.emplace_back(std::forward<SecurityGroupIdsT>(value));
356 template <
typename SecurityGroupsT = Aws::Vector<Aws::String>>
358 m_securityGroupsHasBeenSet =
true;
359 m_securityGroups = std::forward<SecurityGroupsT>(value);
361 template <
typename SecurityGroupsT = Aws::Vector<Aws::String>>
366 template <
typename SecurityGroupsT = Aws::String>
368 m_securityGroupsHasBeenSet =
true;
369 m_securityGroups.emplace_back(std::forward<SecurityGroupsT>(value));
382 template <
typename SubnetIdT = Aws::String>
384 m_subnetIdHasBeenSet =
true;
385 m_subnetId = std::forward<SubnetIdT>(value);
387 template <
typename SubnetIdT = Aws::String>
404 template <
typename UserDataT = Aws::String>
406 m_userDataHasBeenSet =
true;
407 m_userData = std::forward<UserDataT>(value);
409 template <
typename UserDataT = Aws::String>
427 template <
typename TagSpecificationsT = Aws::Vector<TagSpecification>>
429 m_tagSpecificationsHasBeenSet =
true;
430 m_tagSpecifications = std::forward<TagSpecificationsT>(value);
432 template <
typename TagSpecificationsT = Aws::Vector<TagSpecification>>
437 template <
typename TagSpecificationsT = TagSpecification>
439 m_tagSpecificationsHasBeenSet =
true;
440 m_tagSpecifications.emplace_back(std::forward<TagSpecificationsT>(value));
453 template <
typename LaunchTemplateT = LaunchTemplateSpecification>
455 m_launchTemplateHasBeenSet =
true;
456 m_launchTemplate = std::forward<LaunchTemplateT>(value);
458 template <
typename LaunchTemplateT = LaunchTemplateSpecification>
474 template <
typename InstanceMarketOptionsT = InstanceMarketOptionsRequest>
476 m_instanceMarketOptionsHasBeenSet =
true;
477 m_instanceMarketOptions = std::forward<InstanceMarketOptionsT>(value);
479 template <
typename InstanceMarketOptionsT = InstanceMarketOptionsRequest>
501 template <
typename CreditSpecificationT = CreditSpecificationRequest>
503 m_creditSpecificationHasBeenSet =
true;
504 m_creditSpecification = std::forward<CreditSpecificationT>(value);
506 template <
typename CreditSpecificationT = CreditSpecificationRequest>
521 template <
typename CpuOptionsT = CpuOptionsRequest>
523 m_cpuOptionsHasBeenSet =
true;
524 m_cpuOptions = std::forward<CpuOptionsT>(value);
526 template <
typename CpuOptionsT = CpuOptionsRequest>
543 template <
typename CapacityReservationSpecificationT = CapacityReservationSpecification>
545 m_capacityReservationSpecificationHasBeenSet =
true;
546 m_capacityReservationSpecification = std::forward<CapacityReservationSpecificationT>(value);
548 template <
typename CapacityReservationSpecificationT = CapacityReservationSpecification>
568 template <
typename HibernationOptionsT = HibernationOptionsRequest>
570 m_hibernationOptionsHasBeenSet =
true;
571 m_hibernationOptions = std::forward<HibernationOptionsT>(value);
573 template <
typename HibernationOptionsT = HibernationOptionsRequest>
586 template <
typename LicenseSpecificationsT = Aws::Vector<LicenseConfigurationRequest>>
588 m_licenseSpecificationsHasBeenSet =
true;
589 m_licenseSpecifications = std::forward<LicenseSpecificationsT>(value);
591 template <
typename LicenseSpecificationsT = Aws::Vector<LicenseConfigurationRequest>>
596 template <
typename LicenseSpecificationsT = LicenseConfigurationRequest>
598 m_licenseSpecificationsHasBeenSet =
true;
599 m_licenseSpecifications.emplace_back(std::forward<LicenseSpecificationsT>(value));
612 template <
typename MetadataOptionsT = InstanceMetadataOptionsRequest>
614 m_metadataOptionsHasBeenSet =
true;
615 m_metadataOptions = std::forward<MetadataOptionsT>(value);
617 template <
typename MetadataOptionsT = InstanceMetadataOptionsRequest>
634 template <
typename EnclaveOptionsT = EnclaveOptionsRequest>
636 m_enclaveOptionsHasBeenSet =
true;
637 m_enclaveOptions = std::forward<EnclaveOptionsT>(value);
639 template <
typename EnclaveOptionsT = EnclaveOptionsRequest>
654 template <
typename PrivateDnsNameOptionsT = PrivateDnsNameOptionsRequest>
656 m_privateDnsNameOptionsHasBeenSet =
true;
657 m_privateDnsNameOptions = std::forward<PrivateDnsNameOptionsT>(value);
659 template <
typename PrivateDnsNameOptionsT = PrivateDnsNameOptionsRequest>
672 template <
typename Ma
intenanceOptionsT = InstanceMa
intenanceOptionsRequest>
674 m_maintenanceOptionsHasBeenSet =
true;
675 m_maintenanceOptions = std::forward<MaintenanceOptionsT>(value);
677 template <
typename Ma
intenanceOptionsT = InstanceMa
intenanceOptionsRequest>
694 m_disableApiStopHasBeenSet =
true;
695 m_disableApiStop = value;
722 m_enablePrimaryIpv6HasBeenSet =
true;
723 m_enablePrimaryIpv6 = value;
737 template <
typename NetworkPerformanceOptionsT = InstanceNetworkPerformanceOptionsRequest>
739 m_networkPerformanceOptionsHasBeenSet =
true;
740 m_networkPerformanceOptions = std::forward<NetworkPerformanceOptionsT>(value);
742 template <
typename NetworkPerformanceOptionsT = InstanceNetworkPerformanceOptionsRequest>
755 template <
typename OperatorT = OperatorRequest>
757 m_operatorHasBeenSet =
true;
758 m_operator = std::forward<OperatorT>(value);
760 template <
typename OperatorT = OperatorRequest>
773 template <
typename SecondaryInterfacesT = Aws::Vector<InstanceSecondaryInterfaceSpecificationRequest>>
775 m_secondaryInterfacesHasBeenSet =
true;
776 m_secondaryInterfaces = std::forward<SecondaryInterfacesT>(value);
778 template <
typename SecondaryInterfacesT = Aws::Vector<InstanceSecondaryInterfaceSpecificationRequest>>
783 template <
typename SecondaryInterfacesT = InstanceSecondaryInterfaceSpecificationRequest>
785 m_secondaryInterfacesHasBeenSet =
true;
786 m_secondaryInterfaces.emplace_back(std::forward<SecondaryInterfacesT>(value));
801 m_dryRunHasBeenSet =
true;
821 m_disableApiTerminationHasBeenSet =
true;
822 m_disableApiTermination = value;
839 m_instanceInitiatedShutdownBehaviorHasBeenSet =
true;
840 m_instanceInitiatedShutdownBehavior = value;
860 template <
typename PrivateIpAddressT = Aws::String>
862 m_privateIpAddressHasBeenSet =
true;
863 m_privateIpAddress = std::forward<PrivateIpAddressT>(value);
865 template <
typename PrivateIpAddressT = Aws::String>
883 template <
typename ClientTokenT = Aws::String>
885 m_clientTokenHasBeenSet =
true;
886 m_clientToken = std::forward<ClientTokenT>(value);
888 template <
typename ClientTokenT = Aws::String>
901 template <
typename AdditionalInfoT = Aws::String>
903 m_additionalInfoHasBeenSet =
true;
904 m_additionalInfo = std::forward<AdditionalInfoT>(value);
906 template <
typename AdditionalInfoT = Aws::String>
919 template <
typename NetworkInterfacesT = Aws::Vector<InstanceNetworkInterfaceSpecification>>
921 m_networkInterfacesHasBeenSet =
true;
922 m_networkInterfaces = std::forward<NetworkInterfacesT>(value);
924 template <
typename NetworkInterfacesT = Aws::Vector<InstanceNetworkInterfaceSpecification>>
929 template <
typename NetworkInterfacesT = InstanceNetworkInterfaceSpecification>
931 m_networkInterfacesHasBeenSet =
true;
932 m_networkInterfaces.emplace_back(std::forward<NetworkInterfacesT>(value));
943 template <
typename IamInstanceProfileT = IamInstanceProfileSpecification>
945 m_iamInstanceProfileHasBeenSet =
true;
946 m_iamInstanceProfile = std::forward<IamInstanceProfileT>(value);
948 template <
typename IamInstanceProfileT = IamInstanceProfileSpecification>
967 m_ebsOptimizedHasBeenSet =
true;
968 m_ebsOptimized = value;
982 int m_ipv6AddressCount{0};
994 RunInstancesMonitoringEnabled m_monitoring;
996 Placement m_placement;
1010 LaunchTemplateSpecification m_launchTemplate;
1012 InstanceMarketOptionsRequest m_instanceMarketOptions;
1014 CreditSpecificationRequest m_creditSpecification;
1016 CpuOptionsRequest m_cpuOptions;
1018 CapacityReservationSpecification m_capacityReservationSpecification;
1020 HibernationOptionsRequest m_hibernationOptions;
1024 InstanceMetadataOptionsRequest m_metadataOptions;
1026 EnclaveOptionsRequest m_enclaveOptions;
1028 PrivateDnsNameOptionsRequest m_privateDnsNameOptions;
1030 InstanceMaintenanceOptionsRequest m_maintenanceOptions;
1032 bool m_disableApiStop{
false};
1034 bool m_enablePrimaryIpv6{
false};
1036 InstanceNetworkPerformanceOptionsRequest m_networkPerformanceOptions;
1038 OperatorRequest m_operator;
1042 bool m_dryRun{
false};
1044 bool m_disableApiTermination{
false};
1056 IamInstanceProfileSpecification m_iamInstanceProfile;
1058 bool m_ebsOptimized{
false};
1059 bool m_blockDeviceMappingsHasBeenSet =
false;
1060 bool m_imageIdHasBeenSet =
false;
1061 bool m_instanceTypeHasBeenSet =
false;
1062 bool m_ipv6AddressCountHasBeenSet =
false;
1063 bool m_ipv6AddressesHasBeenSet =
false;
1064 bool m_kernelIdHasBeenSet =
false;
1065 bool m_keyNameHasBeenSet =
false;
1066 bool m_maxCountHasBeenSet =
false;
1067 bool m_minCountHasBeenSet =
false;
1068 bool m_monitoringHasBeenSet =
false;
1069 bool m_placementHasBeenSet =
false;
1070 bool m_ramdiskIdHasBeenSet =
false;
1071 bool m_securityGroupIdsHasBeenSet =
false;
1072 bool m_securityGroupsHasBeenSet =
false;
1073 bool m_subnetIdHasBeenSet =
false;
1074 bool m_userDataHasBeenSet =
false;
1075 bool m_tagSpecificationsHasBeenSet =
false;
1076 bool m_launchTemplateHasBeenSet =
false;
1077 bool m_instanceMarketOptionsHasBeenSet =
false;
1078 bool m_creditSpecificationHasBeenSet =
false;
1079 bool m_cpuOptionsHasBeenSet =
false;
1080 bool m_capacityReservationSpecificationHasBeenSet =
false;
1081 bool m_hibernationOptionsHasBeenSet =
false;
1082 bool m_licenseSpecificationsHasBeenSet =
false;
1083 bool m_metadataOptionsHasBeenSet =
false;
1084 bool m_enclaveOptionsHasBeenSet =
false;
1085 bool m_privateDnsNameOptionsHasBeenSet =
false;
1086 bool m_maintenanceOptionsHasBeenSet =
false;
1087 bool m_disableApiStopHasBeenSet =
false;
1088 bool m_enablePrimaryIpv6HasBeenSet =
false;
1089 bool m_networkPerformanceOptionsHasBeenSet =
false;
1090 bool m_operatorHasBeenSet =
false;
1091 bool m_secondaryInterfacesHasBeenSet =
false;
1092 bool m_dryRunHasBeenSet =
false;
1093 bool m_disableApiTerminationHasBeenSet =
false;
1094 bool m_instanceInitiatedShutdownBehaviorHasBeenSet =
false;
1095 bool m_privateIpAddressHasBeenSet =
false;
1096 bool m_clientTokenHasBeenSet =
true;
1097 bool m_additionalInfoHasBeenSet =
false;
1098 bool m_networkInterfacesHasBeenSet =
false;
1099 bool m_iamInstanceProfileHasBeenSet =
false;
1100 bool m_ebsOptimizedHasBeenSet =
false;
const Aws::Vector< LicenseConfigurationRequest > & GetLicenseSpecifications() const
const Aws::String & GetKeyName() const
RunInstancesRequest & WithInstanceType(InstanceType value)
RunInstancesRequest & WithAdditionalInfo(AdditionalInfoT &&value)
bool GetDisableApiStop() const
RunInstancesRequest & WithRamdiskId(RamdiskIdT &&value)
RunInstancesRequest & WithPrivateIpAddress(PrivateIpAddressT &&value)
bool DisableApiTerminationHasBeenSet() const
void SetClientToken(ClientTokenT &&value)
const PrivateDnsNameOptionsRequest & GetPrivateDnsNameOptions() const
bool NetworkPerformanceOptionsHasBeenSet() const
bool MaxCountHasBeenSet() const
bool SecurityGroupsHasBeenSet() const
bool OperatorHasBeenSet() const
RunInstancesRequest & WithImageId(ImageIdT &&value)
RunInstancesRequest & WithPrivateDnsNameOptions(PrivateDnsNameOptionsT &&value)
const CreditSpecificationRequest & GetCreditSpecification() const
const Aws::Vector< InstanceIpv6Address > & GetIpv6Addresses() const
const InstanceMaintenanceOptionsRequest & GetMaintenanceOptions() const
bool EbsOptimizedHasBeenSet() const
bool MonitoringHasBeenSet() const
RunInstancesRequest & WithMinCount(int value)
bool DryRunHasBeenSet() const
RunInstancesRequest & WithDryRun(bool value)
RunInstancesRequest & WithMaintenanceOptions(MaintenanceOptionsT &&value)
const IamInstanceProfileSpecification & GetIamInstanceProfile() const
bool MaintenanceOptionsHasBeenSet() const
void SetIpv6AddressCount(int value)
const Aws::Vector< TagSpecification > & GetTagSpecifications() const
bool AdditionalInfoHasBeenSet() const
void SetCapacityReservationSpecification(CapacityReservationSpecificationT &&value)
void SetSecurityGroups(SecurityGroupsT &&value)
bool CreditSpecificationHasBeenSet() const
void SetDryRun(bool value)
void SetHibernationOptions(HibernationOptionsT &&value)
const OperatorRequest & GetOperator() const
RunInstancesRequest & WithMonitoring(MonitoringT &&value)
bool PlacementHasBeenSet() const
RunInstancesRequest & AddSecurityGroupIds(SecurityGroupIdsT &&value)
const Aws::Vector< Aws::String > & GetSecurityGroups() const
RunInstancesRequest & WithCreditSpecification(CreditSpecificationT &&value)
bool GetEnablePrimaryIpv6() const
void SetLicenseSpecifications(LicenseSpecificationsT &&value)
const RunInstancesMonitoringEnabled & GetMonitoring() const
bool UserDataHasBeenSet() const
bool LaunchTemplateHasBeenSet() const
bool RamdiskIdHasBeenSet() const
int GetIpv6AddressCount() const
void SetDisableApiStop(bool value)
RunInstancesRequest & WithNetworkInterfaces(NetworkInterfacesT &&value)
void SetOperator(OperatorT &&value)
void SetCreditSpecification(CreditSpecificationT &&value)
bool BlockDeviceMappingsHasBeenSet() const
RunInstancesRequest & AddBlockDeviceMappings(BlockDeviceMappingsT &&value)
void SetPrivateIpAddress(PrivateIpAddressT &&value)
void SetInstanceInitiatedShutdownBehavior(ShutdownBehavior value)
RunInstancesRequest & WithSecurityGroups(SecurityGroupsT &&value)
RunInstancesRequest & WithCpuOptions(CpuOptionsT &&value)
void SetEnclaveOptions(EnclaveOptionsT &&value)
RunInstancesRequest & WithUserData(UserDataT &&value)
RunInstancesRequest & WithEbsOptimized(bool value)
bool LicenseSpecificationsHasBeenSet() const
bool GetEbsOptimized() const
bool TagSpecificationsHasBeenSet() const
AWS_EC2_API RunInstancesRequest()=default
const InstanceMetadataOptionsRequest & GetMetadataOptions() const
void SetUserData(UserDataT &&value)
bool IamInstanceProfileHasBeenSet() const
RunInstancesRequest & AddSecondaryInterfaces(SecondaryInterfacesT &&value)
void SetCpuOptions(CpuOptionsT &&value)
const Aws::String & GetClientToken() const
const Aws::String & GetUserData() const
void SetSubnetId(SubnetIdT &&value)
void SetEnablePrimaryIpv6(bool value)
RunInstancesRequest & WithMetadataOptions(MetadataOptionsT &&value)
virtual const char * GetServiceRequestName() const override
bool HibernationOptionsHasBeenSet() const
const Aws::String & GetPrivateIpAddress() const
void SetIamInstanceProfile(IamInstanceProfileT &&value)
void SetMaxCount(int value)
bool InstanceInitiatedShutdownBehaviorHasBeenSet() const
bool InstanceMarketOptionsHasBeenSet() const
bool SubnetIdHasBeenSet() const
RunInstancesRequest & WithLicenseSpecifications(LicenseSpecificationsT &&value)
RunInstancesRequest & WithDisableApiStop(bool value)
void SetLaunchTemplate(LaunchTemplateT &&value)
const CpuOptionsRequest & GetCpuOptions() const
RunInstancesRequest & WithIpv6AddressCount(int value)
void SetSecurityGroupIds(SecurityGroupIdsT &&value)
bool CpuOptionsHasBeenSet() const
RunInstancesRequest & WithCapacityReservationSpecification(CapacityReservationSpecificationT &&value)
const Aws::String & GetAdditionalInfo() const
const CapacityReservationSpecification & GetCapacityReservationSpecification() const
void SetBlockDeviceMappings(BlockDeviceMappingsT &&value)
const Aws::Vector< InstanceSecondaryInterfaceSpecificationRequest > & GetSecondaryInterfaces() const
RunInstancesRequest & WithLaunchTemplate(LaunchTemplateT &&value)
RunInstancesRequest & WithSecurityGroupIds(SecurityGroupIdsT &&value)
RunInstancesRequest & WithSubnetId(SubnetIdT &&value)
void SetNetworkPerformanceOptions(NetworkPerformanceOptionsT &&value)
RunInstancesRequest & WithEnclaveOptions(EnclaveOptionsT &&value)
void SetDisableApiTermination(bool value)
RunInstancesRequest & WithInstanceMarketOptions(InstanceMarketOptionsT &&value)
bool InstanceTypeHasBeenSet() const
RunInstancesRequest & WithKeyName(KeyNameT &&value)
bool PrivateDnsNameOptionsHasBeenSet() const
RunInstancesRequest & AddIpv6Addresses(Ipv6AddressesT &&value)
void SetKeyName(KeyNameT &&value)
RunInstancesRequest & AddLicenseSpecifications(LicenseSpecificationsT &&value)
void SetTagSpecifications(TagSpecificationsT &&value)
void SetMinCount(int value)
RunInstancesRequest & WithOperator(OperatorT &&value)
RunInstancesRequest & AddSecurityGroups(SecurityGroupsT &&value)
AWS_EC2_API void DumpBodyToUrl(Aws::Http::URI &uri) const override
RunInstancesRequest & WithPlacement(PlacementT &&value)
RunInstancesRequest & AddTagSpecifications(TagSpecificationsT &&value)
void SetMaintenanceOptions(MaintenanceOptionsT &&value)
bool EnclaveOptionsHasBeenSet() const
const Aws::String & GetImageId() const
const Aws::Vector< Aws::String > & GetSecurityGroupIds() const
bool KeyNameHasBeenSet() const
RunInstancesRequest & WithSecondaryInterfaces(SecondaryInterfacesT &&value)
bool DisableApiStopHasBeenSet() const
bool NetworkInterfacesHasBeenSet() const
RunInstancesRequest & WithDisableApiTermination(bool value)
RunInstancesRequest & WithBlockDeviceMappings(BlockDeviceMappingsT &&value)
bool MetadataOptionsHasBeenSet() const
InstanceType GetInstanceType() const
bool ClientTokenHasBeenSet() const
bool SecurityGroupIdsHasBeenSet() const
bool GetDisableApiTermination() const
const InstanceNetworkPerformanceOptionsRequest & GetNetworkPerformanceOptions() const
const Aws::Vector< BlockDeviceMapping > & GetBlockDeviceMappings() const
RunInstancesRequest & WithHibernationOptions(HibernationOptionsT &&value)
ShutdownBehavior GetInstanceInitiatedShutdownBehavior() const
const InstanceMarketOptionsRequest & GetInstanceMarketOptions() const
RunInstancesRequest & WithIamInstanceProfile(IamInstanceProfileT &&value)
const Aws::String & GetRamdiskId() const
RunInstancesRequest & WithKernelId(KernelIdT &&value)
const EnclaveOptionsRequest & GetEnclaveOptions() const
bool EnablePrimaryIpv6HasBeenSet() const
bool MinCountHasBeenSet() const
void SetMetadataOptions(MetadataOptionsT &&value)
const Aws::String & GetKernelId() const
void SetRamdiskId(RamdiskIdT &&value)
void SetAdditionalInfo(AdditionalInfoT &&value)
RunInstancesRequest & AddNetworkInterfaces(NetworkInterfacesT &&value)
RunInstancesRequest & WithEnablePrimaryIpv6(bool value)
void SetMonitoring(MonitoringT &&value)
bool ImageIdHasBeenSet() const
const LaunchTemplateSpecification & GetLaunchTemplate() const
bool PrivateIpAddressHasBeenSet() const
const Placement & GetPlacement() const
const Aws::String & GetSubnetId() const
void SetNetworkInterfaces(NetworkInterfacesT &&value)
void SetKernelId(KernelIdT &&value)
bool Ipv6AddressCountHasBeenSet() const
void SetSecondaryInterfaces(SecondaryInterfacesT &&value)
bool KernelIdHasBeenSet() const
RunInstancesRequest & WithIpv6Addresses(Ipv6AddressesT &&value)
void SetImageId(ImageIdT &&value)
const Aws::Vector< InstanceNetworkInterfaceSpecification > & GetNetworkInterfaces() const
bool Ipv6AddressesHasBeenSet() const
RunInstancesRequest & WithInstanceInitiatedShutdownBehavior(ShutdownBehavior value)
void SetEbsOptimized(bool value)
void SetInstanceMarketOptions(InstanceMarketOptionsT &&value)
void SetInstanceType(InstanceType value)
bool SecondaryInterfacesHasBeenSet() const
void SetPrivateDnsNameOptions(PrivateDnsNameOptionsT &&value)
void SetIpv6Addresses(Ipv6AddressesT &&value)
AWS_EC2_API Aws::String SerializePayload() const override
void SetPlacement(PlacementT &&value)
RunInstancesRequest & WithTagSpecifications(TagSpecificationsT &&value)
bool CapacityReservationSpecificationHasBeenSet() const
RunInstancesRequest & WithClientToken(ClientTokenT &&value)
RunInstancesRequest & WithMaxCount(int value)
RunInstancesRequest & WithNetworkPerformanceOptions(NetworkPerformanceOptionsT &&value)
const HibernationOptionsRequest & GetHibernationOptions() const
static Aws::Utils::UUID PseudoRandomUUID()
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector