7#include <aws/ec2/EC2_EXPORTS.h>
8#include <aws/ec2/EC2Request.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/core/utils/memory/stl/AWSString.h>
11#include <aws/ec2/model/InstanceType.h>
12#include <aws/ec2/model/RunInstancesMonitoringEnabled.h>
13#include <aws/ec2/model/Placement.h>
14#include <aws/ec2/model/LaunchTemplateSpecification.h>
15#include <aws/ec2/model/InstanceMarketOptionsRequest.h>
16#include <aws/ec2/model/CreditSpecificationRequest.h>
17#include <aws/ec2/model/CpuOptionsRequest.h>
18#include <aws/ec2/model/CapacityReservationSpecification.h>
19#include <aws/ec2/model/HibernationOptionsRequest.h>
20#include <aws/ec2/model/InstanceMetadataOptionsRequest.h>
21#include <aws/ec2/model/EnclaveOptionsRequest.h>
22#include <aws/ec2/model/PrivateDnsNameOptionsRequest.h>
23#include <aws/ec2/model/InstanceMaintenanceOptionsRequest.h>
24#include <aws/ec2/model/InstanceNetworkPerformanceOptionsRequest.h>
25#include <aws/ec2/model/OperatorRequest.h>
26#include <aws/ec2/model/ShutdownBehavior.h>
27#include <aws/ec2/model/IamInstanceProfileSpecification.h>
28#include <aws/ec2/model/BlockDeviceMapping.h>
29#include <aws/ec2/model/InstanceIpv6Address.h>
30#include <aws/ec2/model/ElasticGpuSpecification.h>
31#include <aws/ec2/model/ElasticInferenceAccelerator.h>
32#include <aws/ec2/model/TagSpecification.h>
33#include <aws/ec2/model/LicenseConfigurationRequest.h>
34#include <aws/ec2/model/InstanceNetworkInterfaceSpecification.h>
36#include <aws/core/utils/UUID.h>
74 template<
typename BlockDeviceMappingsT = Aws::Vector<BlockDeviceMapping>>
75 void SetBlockDeviceMappings(BlockDeviceMappingsT&& value) { m_blockDeviceMappingsHasBeenSet =
true; m_blockDeviceMappings = std::forward<BlockDeviceMappingsT>(value); }
76 template<
typename BlockDeviceMappingsT = Aws::Vector<BlockDeviceMapping>>
78 template<
typename BlockDeviceMappingsT = BlockDeviceMapping>
89 template<
typename ImageIdT = Aws::String>
90 void SetImageId(ImageIdT&& value) { m_imageIdHasBeenSet =
true; m_imageId = std::forward<ImageIdT>(value); }
91 template<
typename ImageIdT = Aws::String>
118 inline void SetIpv6AddressCount(
int value) { m_ipv6AddressCountHasBeenSet =
true; m_ipv6AddressCount = value; }
132 template<
typename Ipv6AddressesT = Aws::Vector<InstanceIpv6Address>>
133 void SetIpv6Addresses(Ipv6AddressesT&& value) { m_ipv6AddressesHasBeenSet =
true; m_ipv6Addresses = std::forward<Ipv6AddressesT>(value); }
134 template<
typename Ipv6AddressesT = Aws::Vector<InstanceIpv6Address>>
136 template<
typename Ipv6AddressesT = InstanceIpv6Address>
149 template<
typename KernelIdT = Aws::String>
150 void SetKernelId(KernelIdT&& value) { m_kernelIdHasBeenSet =
true; m_kernelId = std::forward<KernelIdT>(value); }
151 template<
typename KernelIdT = Aws::String>
167 template<
typename KeyNameT = Aws::String>
168 void SetKeyName(KeyNameT&& value) { m_keyNameHasBeenSet =
true; m_keyName = std::forward<KeyNameT>(value); }
169 template<
typename KeyNameT = Aws::String>
185 inline void SetMaxCount(
int value) { m_maxCountHasBeenSet =
true; m_maxCount = value; }
201 inline void SetMinCount(
int value) { m_minCountHasBeenSet =
true; m_minCount = value; }
211 template<
typename MonitoringT = RunInstancesMonitoringEnabled>
212 void SetMonitoring(MonitoringT&& value) { m_monitoringHasBeenSet =
true; m_monitoring = std::forward<MonitoringT>(value); }
213 template<
typename MonitoringT = RunInstancesMonitoringEnabled>
223 template<
typename PlacementT = Placement>
224 void SetPlacement(PlacementT&& value) { m_placementHasBeenSet =
true; m_placement = std::forward<PlacementT>(value); }
225 template<
typename PlacementT = Placement>
242 template<
typename RamdiskIdT = Aws::String>
243 void SetRamdiskId(RamdiskIdT&& value) { m_ramdiskIdHasBeenSet =
true; m_ramdiskId = std::forward<RamdiskIdT>(value); }
244 template<
typename RamdiskIdT = Aws::String>
257 template<
typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
258 void SetSecurityGroupIds(SecurityGroupIdsT&& value) { m_securityGroupIdsHasBeenSet =
true; m_securityGroupIds = std::forward<SecurityGroupIdsT>(value); }
259 template<
typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
261 template<
typename SecurityGroupIdsT = Aws::String>
274 template<
typename SecurityGroupsT = Aws::Vector<Aws::String>>
275 void SetSecurityGroups(SecurityGroupsT&& value) { m_securityGroupsHasBeenSet =
true; m_securityGroups = std::forward<SecurityGroupsT>(value); }
276 template<
typename SecurityGroupsT = Aws::Vector<Aws::String>>
278 template<
typename SecurityGroupsT = Aws::String>
290 template<
typename SubnetIdT = Aws::String>
291 void SetSubnetId(SubnetIdT&& value) { m_subnetIdHasBeenSet =
true; m_subnetId = std::forward<SubnetIdT>(value); }
292 template<
typename SubnetIdT = Aws::String>
306 template<
typename UserDataT = Aws::String>
307 void SetUserData(UserDataT&& value) { m_userDataHasBeenSet =
true; m_userData = std::forward<UserDataT>(value); }
308 template<
typename UserDataT = Aws::String>
319 template<
typename ElasticGpuSpecificationT = Aws::Vector<ElasticGpuSpecification>>
320 void SetElasticGpuSpecification(ElasticGpuSpecificationT&& value) { m_elasticGpuSpecificationHasBeenSet =
true; m_elasticGpuSpecification = std::forward<ElasticGpuSpecificationT>(value); }
321 template<
typename ElasticGpuSpecificationT = Aws::Vector<ElasticGpuSpecification>>
323 template<
typename ElasticGpuSpecificationT = ElasticGpuSpecification>
334 template<
typename ElasticInferenceAcceleratorsT = Aws::Vector<ElasticInferenceAccelerator>>
335 void SetElasticInferenceAccelerators(ElasticInferenceAcceleratorsT&& value) { m_elasticInferenceAcceleratorsHasBeenSet =
true; m_elasticInferenceAccelerators = std::forward<ElasticInferenceAcceleratorsT>(value); }
336 template<
typename ElasticInferenceAcceleratorsT = Aws::Vector<ElasticInferenceAccelerator>>
338 template<
typename ElasticInferenceAcceleratorsT = ElasticInferenceAccelerator>
353 template<
typename TagSpecificationsT = Aws::Vector<TagSpecification>>
354 void SetTagSpecifications(TagSpecificationsT&& value) { m_tagSpecificationsHasBeenSet =
true; m_tagSpecifications = std::forward<TagSpecificationsT>(value); }
355 template<
typename TagSpecificationsT = Aws::Vector<TagSpecification>>
357 template<
typename TagSpecificationsT = TagSpecification>
369 template<
typename LaunchTemplateT = LaunchTemplateSpecification>
370 void SetLaunchTemplate(LaunchTemplateT&& value) { m_launchTemplateHasBeenSet =
true; m_launchTemplate = std::forward<LaunchTemplateT>(value); }
371 template<
typename LaunchTemplateT = LaunchTemplateSpecification>
384 template<
typename InstanceMarketOptionsT = InstanceMarketOptionsRequest>
385 void SetInstanceMarketOptions(InstanceMarketOptionsT&& value) { m_instanceMarketOptionsHasBeenSet =
true; m_instanceMarketOptions = std::forward<InstanceMarketOptionsT>(value); }
386 template<
typename InstanceMarketOptionsT = InstanceMarketOptionsRequest>
405 template<
typename CreditSpecificationT = CreditSpecificationRequest>
406 void SetCreditSpecification(CreditSpecificationT&& value) { m_creditSpecificationHasBeenSet =
true; m_creditSpecification = std::forward<CreditSpecificationT>(value); }
407 template<
typename CreditSpecificationT = CreditSpecificationRequest>
419 template<
typename CpuOptionsT = CpuOptionsRequest>
420 void SetCpuOptions(CpuOptionsT&& value) { m_cpuOptionsHasBeenSet =
true; m_cpuOptions = std::forward<CpuOptionsT>(value); }
421 template<
typename CpuOptionsT = CpuOptionsRequest>
435 template<
typename CapacityReservationSpecificationT = CapacityReservationSpecification>
436 void SetCapacityReservationSpecification(CapacityReservationSpecificationT&& value) { m_capacityReservationSpecificationHasBeenSet =
true; m_capacityReservationSpecification = std::forward<CapacityReservationSpecificationT>(value); }
437 template<
typename CapacityReservationSpecificationT = CapacityReservationSpecification>
454 template<
typename HibernationOptionsT = HibernationOptionsRequest>
455 void SetHibernationOptions(HibernationOptionsT&& value) { m_hibernationOptionsHasBeenSet =
true; m_hibernationOptions = std::forward<HibernationOptionsT>(value); }
456 template<
typename HibernationOptionsT = HibernationOptionsRequest>
466 template<
typename LicenseSpecificationsT = Aws::Vector<LicenseConfigurationRequest>>
467 void SetLicenseSpecifications(LicenseSpecificationsT&& value) { m_licenseSpecificationsHasBeenSet =
true; m_licenseSpecifications = std::forward<LicenseSpecificationsT>(value); }
468 template<
typename LicenseSpecificationsT = Aws::Vector<LicenseConfigurationRequest>>
470 template<
typename LicenseSpecificationsT = LicenseConfigurationRequest>
482 template<
typename MetadataOptionsT = InstanceMetadataOptionsRequest>
483 void SetMetadataOptions(MetadataOptionsT&& value) { m_metadataOptionsHasBeenSet =
true; m_metadataOptions = std::forward<MetadataOptionsT>(value); }
484 template<
typename MetadataOptionsT = InstanceMetadataOptionsRequest>
499 template<
typename EnclaveOptionsT = EnclaveOptionsRequest>
500 void SetEnclaveOptions(EnclaveOptionsT&& value) { m_enclaveOptionsHasBeenSet =
true; m_enclaveOptions = std::forward<EnclaveOptionsT>(value); }
501 template<
typename EnclaveOptionsT = EnclaveOptionsRequest>
513 template<
typename PrivateDnsNameOptionsT = PrivateDnsNameOptionsRequest>
514 void SetPrivateDnsNameOptions(PrivateDnsNameOptionsT&& value) { m_privateDnsNameOptionsHasBeenSet =
true; m_privateDnsNameOptions = std::forward<PrivateDnsNameOptionsT>(value); }
515 template<
typename PrivateDnsNameOptionsT = PrivateDnsNameOptionsRequest>
525 template<
typename Ma
intenanceOptionsT = InstanceMa
intenanceOptionsRequest>
526 void SetMaintenanceOptions(MaintenanceOptionsT&& value) { m_maintenanceOptionsHasBeenSet =
true; m_maintenanceOptions = std::forward<MaintenanceOptionsT>(value); }
527 template<
typename Ma
intenanceOptionsT = InstanceMa
intenanceOptionsRequest>
540 inline void SetDisableApiStop(
bool value) { m_disableApiStopHasBeenSet =
true; m_disableApiStop = value; }
562 inline void SetEnablePrimaryIpv6(
bool value) { m_enablePrimaryIpv6HasBeenSet =
true; m_enablePrimaryIpv6 = value; }
572 template<
typename NetworkPerformanceOptionsT = InstanceNetworkPerformanceOptionsRequest>
573 void SetNetworkPerformanceOptions(NetworkPerformanceOptionsT&& value) { m_networkPerformanceOptionsHasBeenSet =
true; m_networkPerformanceOptions = std::forward<NetworkPerformanceOptionsT>(value); }
574 template<
typename NetworkPerformanceOptionsT = InstanceNetworkPerformanceOptionsRequest>
584 template<
typename OperatorT = OperatorRequest>
585 void SetOperator(OperatorT&& value) { m_operatorHasBeenSet =
true; m_operator = std::forward<OperatorT>(value); }
586 template<
typename OperatorT = OperatorRequest>
599 inline void SetDryRun(
bool value) { m_dryRunHasBeenSet =
true; m_dryRun = value; }
641 template<
typename PrivateIpAddressT = Aws::String>
642 void SetPrivateIpAddress(PrivateIpAddressT&& value) { m_privateIpAddressHasBeenSet =
true; m_privateIpAddress = std::forward<PrivateIpAddressT>(value); }
643 template<
typename PrivateIpAddressT = Aws::String>
657 template<
typename ClientTokenT = Aws::String>
658 void SetClientToken(ClientTokenT&& value) { m_clientTokenHasBeenSet =
true; m_clientToken = std::forward<ClientTokenT>(value); }
659 template<
typename ClientTokenT = Aws::String>
669 template<
typename AdditionalInfoT = Aws::String>
670 void SetAdditionalInfo(AdditionalInfoT&& value) { m_additionalInfoHasBeenSet =
true; m_additionalInfo = std::forward<AdditionalInfoT>(value); }
671 template<
typename AdditionalInfoT = Aws::String>
681 template<
typename NetworkInterfacesT = Aws::Vector<InstanceNetworkInterfaceSpecification>>
682 void SetNetworkInterfaces(NetworkInterfacesT&& value) { m_networkInterfacesHasBeenSet =
true; m_networkInterfaces = std::forward<NetworkInterfacesT>(value); }
683 template<
typename NetworkInterfacesT = Aws::Vector<InstanceNetworkInterfaceSpecification>>
685 template<
typename NetworkInterfacesT = InstanceNetworkInterfaceSpecification>
695 template<
typename IamInstanceProfileT = IamInstanceProfileSpecification>
696 void SetIamInstanceProfile(IamInstanceProfileT&& value) { m_iamInstanceProfileHasBeenSet =
true; m_iamInstanceProfile = std::forward<IamInstanceProfileT>(value); }
697 template<
typename IamInstanceProfileT = IamInstanceProfileSpecification>
712 inline void SetEbsOptimized(
bool value) { m_ebsOptimizedHasBeenSet =
true; m_ebsOptimized = value; }
718 bool m_blockDeviceMappingsHasBeenSet =
false;
721 bool m_imageIdHasBeenSet =
false;
724 bool m_instanceTypeHasBeenSet =
false;
726 int m_ipv6AddressCount{0};
727 bool m_ipv6AddressCountHasBeenSet =
false;
730 bool m_ipv6AddressesHasBeenSet =
false;
733 bool m_kernelIdHasBeenSet =
false;
736 bool m_keyNameHasBeenSet =
false;
739 bool m_maxCountHasBeenSet =
false;
742 bool m_minCountHasBeenSet =
false;
744 RunInstancesMonitoringEnabled m_monitoring;
745 bool m_monitoringHasBeenSet =
false;
747 Placement m_placement;
748 bool m_placementHasBeenSet =
false;
751 bool m_ramdiskIdHasBeenSet =
false;
754 bool m_securityGroupIdsHasBeenSet =
false;
757 bool m_securityGroupsHasBeenSet =
false;
760 bool m_subnetIdHasBeenSet =
false;
763 bool m_userDataHasBeenSet =
false;
766 bool m_elasticGpuSpecificationHasBeenSet =
false;
769 bool m_elasticInferenceAcceleratorsHasBeenSet =
false;
772 bool m_tagSpecificationsHasBeenSet =
false;
774 LaunchTemplateSpecification m_launchTemplate;
775 bool m_launchTemplateHasBeenSet =
false;
777 InstanceMarketOptionsRequest m_instanceMarketOptions;
778 bool m_instanceMarketOptionsHasBeenSet =
false;
780 CreditSpecificationRequest m_creditSpecification;
781 bool m_creditSpecificationHasBeenSet =
false;
783 CpuOptionsRequest m_cpuOptions;
784 bool m_cpuOptionsHasBeenSet =
false;
786 CapacityReservationSpecification m_capacityReservationSpecification;
787 bool m_capacityReservationSpecificationHasBeenSet =
false;
789 HibernationOptionsRequest m_hibernationOptions;
790 bool m_hibernationOptionsHasBeenSet =
false;
793 bool m_licenseSpecificationsHasBeenSet =
false;
795 InstanceMetadataOptionsRequest m_metadataOptions;
796 bool m_metadataOptionsHasBeenSet =
false;
798 EnclaveOptionsRequest m_enclaveOptions;
799 bool m_enclaveOptionsHasBeenSet =
false;
801 PrivateDnsNameOptionsRequest m_privateDnsNameOptions;
802 bool m_privateDnsNameOptionsHasBeenSet =
false;
804 InstanceMaintenanceOptionsRequest m_maintenanceOptions;
805 bool m_maintenanceOptionsHasBeenSet =
false;
807 bool m_disableApiStop{
false};
808 bool m_disableApiStopHasBeenSet =
false;
810 bool m_enablePrimaryIpv6{
false};
811 bool m_enablePrimaryIpv6HasBeenSet =
false;
813 InstanceNetworkPerformanceOptionsRequest m_networkPerformanceOptions;
814 bool m_networkPerformanceOptionsHasBeenSet =
false;
816 OperatorRequest m_operator;
817 bool m_operatorHasBeenSet =
false;
819 bool m_dryRun{
false};
820 bool m_dryRunHasBeenSet =
false;
822 bool m_disableApiTermination{
false};
823 bool m_disableApiTerminationHasBeenSet =
false;
826 bool m_instanceInitiatedShutdownBehaviorHasBeenSet =
false;
829 bool m_privateIpAddressHasBeenSet =
false;
832 bool m_clientTokenHasBeenSet =
true;
835 bool m_additionalInfoHasBeenSet =
false;
838 bool m_networkInterfacesHasBeenSet =
false;
840 IamInstanceProfileSpecification m_iamInstanceProfile;
841 bool m_iamInstanceProfileHasBeenSet =
false;
843 bool m_ebsOptimized{
false};
844 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
const Aws::Vector< ElasticGpuSpecification > & GetElasticGpuSpecification() const
RunInstancesRequest & WithRamdiskId(RamdiskIdT &&value)
RunInstancesRequest & WithPrivateIpAddress(PrivateIpAddressT &&value)
bool DisableApiTerminationHasBeenSet() const
bool ElasticGpuSpecificationHasBeenSet() 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
void SetElasticInferenceAccelerators(ElasticInferenceAcceleratorsT &&value)
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
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)
RunInstancesRequest & WithLaunchTemplate(LaunchTemplateT &&value)
RunInstancesRequest & WithSecurityGroupIds(SecurityGroupIdsT &&value)
bool ElasticInferenceAcceleratorsHasBeenSet() const
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)
RunInstancesRequest & WithElasticGpuSpecification(ElasticGpuSpecificationT &&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 & AddElasticGpuSpecification(ElasticGpuSpecificationT &&value)
bool DisableApiStopHasBeenSet() const
bool NetworkInterfacesHasBeenSet() const
RunInstancesRequest & WithDisableApiTermination(bool value)
RunInstancesRequest & AddElasticInferenceAccelerators(ElasticInferenceAcceleratorsT &&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
bool KernelIdHasBeenSet() const
RunInstancesRequest & WithIpv6Addresses(Ipv6AddressesT &&value)
void SetImageId(ImageIdT &&value)
const Aws::Vector< InstanceNetworkInterfaceSpecification > & GetNetworkInterfaces() const
bool Ipv6AddressesHasBeenSet() const
RunInstancesRequest & WithElasticInferenceAccelerators(ElasticInferenceAcceleratorsT &&value)
RunInstancesRequest & WithInstanceInitiatedShutdownBehavior(ShutdownBehavior value)
void SetEbsOptimized(bool value)
void SetInstanceMarketOptions(InstanceMarketOptionsT &&value)
void SetInstanceType(InstanceType value)
void SetPrivateDnsNameOptions(PrivateDnsNameOptionsT &&value)
void SetIpv6Addresses(Ipv6AddressesT &&value)
AWS_EC2_API Aws::String SerializePayload() const override
void SetPlacement(PlacementT &&value)
RunInstancesRequest & WithTagSpecifications(TagSpecificationsT &&value)
const Aws::Vector< ElasticInferenceAccelerator > & GetElasticInferenceAccelerators() const
void SetElasticGpuSpecification(ElasticGpuSpecificationT &&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