7#include <aws/core/utils/DateTime.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/EC2_EXPORTS.h>
12#include <aws/ec2/model/ArchitectureValues.h>
13#include <aws/ec2/model/BootModeValues.h>
14#include <aws/ec2/model/CapacityReservationSpecificationResponse.h>
15#include <aws/ec2/model/CpuOptions.h>
16#include <aws/ec2/model/DeviceType.h>
17#include <aws/ec2/model/ElasticGpuAssociation.h>
18#include <aws/ec2/model/ElasticInferenceAcceleratorAssociation.h>
19#include <aws/ec2/model/EnclaveOptions.h>
20#include <aws/ec2/model/GroupIdentifier.h>
21#include <aws/ec2/model/HibernationOptions.h>
22#include <aws/ec2/model/HypervisorType.h>
23#include <aws/ec2/model/IamInstanceProfile.h>
24#include <aws/ec2/model/InstanceBlockDeviceMapping.h>
25#include <aws/ec2/model/InstanceBootModeValues.h>
26#include <aws/ec2/model/InstanceLifecycleType.h>
27#include <aws/ec2/model/InstanceMaintenanceOptions.h>
28#include <aws/ec2/model/InstanceMetadataOptionsResponse.h>
29#include <aws/ec2/model/InstanceNetworkInterface.h>
30#include <aws/ec2/model/InstanceNetworkPerformanceOptions.h>
31#include <aws/ec2/model/InstanceState.h>
32#include <aws/ec2/model/InstanceType.h>
33#include <aws/ec2/model/LicenseConfiguration.h>
34#include <aws/ec2/model/Monitoring.h>
35#include <aws/ec2/model/OperatorResponse.h>
36#include <aws/ec2/model/Placement.h>
37#include <aws/ec2/model/PlatformValues.h>
38#include <aws/ec2/model/PrivateDnsNameOptionsResponse.h>
39#include <aws/ec2/model/ProductCode.h>
40#include <aws/ec2/model/StateReason.h>
41#include <aws/ec2/model/Tag.h>
42#include <aws/ec2/model/VirtualizationType.h>
76 m_architectureHasBeenSet =
true;
77 m_architecture = value;
91 template <
typename BlockDeviceMappingsT = Aws::Vector<InstanceBlockDeviceMapping>>
93 m_blockDeviceMappingsHasBeenSet =
true;
94 m_blockDeviceMappings = std::forward<BlockDeviceMappingsT>(value);
96 template <
typename BlockDeviceMappingsT = Aws::Vector<InstanceBlockDeviceMapping>>
101 template <
typename BlockDeviceMappingsT = InstanceBlockDeviceMapping>
103 m_blockDeviceMappingsHasBeenSet =
true;
104 m_blockDeviceMappings.emplace_back(std::forward<BlockDeviceMappingsT>(value));
116 template <
typename ClientTokenT = Aws::String>
118 m_clientTokenHasBeenSet =
true;
119 m_clientToken = std::forward<ClientTokenT>(value);
121 template <
typename ClientTokenT = Aws::String>
139 m_ebsOptimizedHasBeenSet =
true;
140 m_ebsOptimized = value;
155 m_enaSupportHasBeenSet =
true;
156 m_enaSupport = value;
172 m_hypervisorHasBeenSet =
true;
173 m_hypervisor = value;
187 template <
typename IamInstanceProfileT = IamInstanceProfile>
189 m_iamInstanceProfileHasBeenSet =
true;
190 m_iamInstanceProfile = std::forward<IamInstanceProfileT>(value);
192 template <
typename IamInstanceProfileT = IamInstanceProfile>
206 m_instanceLifecycleHasBeenSet =
true;
207 m_instanceLifecycle = value;
222 template <
typename ElasticGpuAssociationsT = Aws::Vector<ElasticGpuAssociation>>
224 m_elasticGpuAssociationsHasBeenSet =
true;
225 m_elasticGpuAssociations = std::forward<ElasticGpuAssociationsT>(value);
227 template <
typename ElasticGpuAssociationsT = Aws::Vector<ElasticGpuAssociation>>
232 template <
typename ElasticGpuAssociationsT = ElasticGpuAssociation>
234 m_elasticGpuAssociationsHasBeenSet =
true;
235 m_elasticGpuAssociations.emplace_back(std::forward<ElasticGpuAssociationsT>(value));
246 return m_elasticInferenceAcceleratorAssociations;
249 template <
typename ElasticInferenceAcceleratorAssociationsT = Aws::Vector<ElasticInferenceAcceleratorAssociation>>
251 m_elasticInferenceAcceleratorAssociationsHasBeenSet =
true;
252 m_elasticInferenceAcceleratorAssociations = std::forward<ElasticInferenceAcceleratorAssociationsT>(value);
254 template <
typename ElasticInferenceAcceleratorAssociationsT = Aws::Vector<ElasticInferenceAcceleratorAssociation>>
259 template <
typename ElasticInferenceAcceleratorAssociationsT = ElasticInferenceAcceleratorAssociation>
261 m_elasticInferenceAcceleratorAssociationsHasBeenSet =
true;
262 m_elasticInferenceAcceleratorAssociations.emplace_back(std::forward<ElasticInferenceAcceleratorAssociationsT>(value));
273 template <
typename NetworkInterfacesT = Aws::Vector<InstanceNetworkInterface>>
275 m_networkInterfacesHasBeenSet =
true;
276 m_networkInterfaces = std::forward<NetworkInterfacesT>(value);
278 template <
typename NetworkInterfacesT = Aws::Vector<InstanceNetworkInterface>>
283 template <
typename NetworkInterfacesT = InstanceNetworkInterface>
285 m_networkInterfacesHasBeenSet =
true;
286 m_networkInterfaces.emplace_back(std::forward<NetworkInterfacesT>(value));
297 template <
typename OutpostArnT = Aws::String>
299 m_outpostArnHasBeenSet =
true;
300 m_outpostArn = std::forward<OutpostArnT>(value);
302 template <
typename OutpostArnT = Aws::String>
316 template <
typename RootDeviceNameT = Aws::String>
318 m_rootDeviceNameHasBeenSet =
true;
319 m_rootDeviceName = std::forward<RootDeviceNameT>(value);
321 template <
typename RootDeviceNameT = Aws::String>
336 m_rootDeviceTypeHasBeenSet =
true;
337 m_rootDeviceType = value;
351 template <
typename SecurityGroupsT = Aws::Vector<GroupIdentifier>>
353 m_securityGroupsHasBeenSet =
true;
354 m_securityGroups = std::forward<SecurityGroupsT>(value);
356 template <
typename SecurityGroupsT = Aws::Vector<GroupIdentifier>>
361 template <
typename SecurityGroupsT = GroupIdentifier>
363 m_securityGroupsHasBeenSet =
true;
364 m_securityGroups.emplace_back(std::forward<SecurityGroupsT>(value));
376 m_sourceDestCheckHasBeenSet =
true;
377 m_sourceDestCheck = value;
391 template <
typename SpotInstanceRequestIdT = Aws::String>
393 m_spotInstanceRequestIdHasBeenSet =
true;
394 m_spotInstanceRequestId = std::forward<SpotInstanceRequestIdT>(value);
396 template <
typename SpotInstanceRequestIdT = Aws::String>
410 template <
typename SriovNetSupportT = Aws::String>
412 m_sriovNetSupportHasBeenSet =
true;
413 m_sriovNetSupport = std::forward<SriovNetSupportT>(value);
415 template <
typename SriovNetSupportT = Aws::String>
428 template <
typename StateReasonT = StateReason>
430 m_stateReasonHasBeenSet =
true;
431 m_stateReason = std::forward<StateReasonT>(value);
433 template <
typename StateReasonT = StateReason>
446 template <
typename TagsT = Aws::Vector<Tag>>
448 m_tagsHasBeenSet =
true;
449 m_tags = std::forward<TagsT>(value);
451 template <
typename TagsT = Aws::Vector<Tag>>
453 SetTags(std::forward<TagsT>(value));
456 template <
typename TagsT = Tag>
458 m_tagsHasBeenSet =
true;
459 m_tags.emplace_back(std::forward<TagsT>(value));
471 m_virtualizationTypeHasBeenSet =
true;
472 m_virtualizationType = value;
486 template <
typename CpuOptionsT = CpuOptions>
488 m_cpuOptionsHasBeenSet =
true;
489 m_cpuOptions = std::forward<CpuOptionsT>(value);
491 template <
typename CpuOptionsT = CpuOptions>
506 template <
typename CapacityBlockIdT = Aws::String>
508 m_capacityBlockIdHasBeenSet =
true;
509 m_capacityBlockId = std::forward<CapacityBlockIdT>(value);
511 template <
typename CapacityBlockIdT = Aws::String>
524 template <
typename CapacityReservationIdT = Aws::String>
526 m_capacityReservationIdHasBeenSet =
true;
527 m_capacityReservationId = std::forward<CapacityReservationIdT>(value);
529 template <
typename CapacityReservationIdT = Aws::String>
541 return m_capacityReservationSpecification;
544 template <
typename CapacityReservationSpecificationT = CapacityReservationSpecificationResponse>
546 m_capacityReservationSpecificationHasBeenSet =
true;
547 m_capacityReservationSpecification = std::forward<CapacityReservationSpecificationT>(value);
549 template <
typename CapacityReservationSpecificationT = CapacityReservationSpecificationResponse>
562 template <
typename HibernationOptionsT = HibernationOptions>
564 m_hibernationOptionsHasBeenSet =
true;
565 m_hibernationOptions = std::forward<HibernationOptionsT>(value);
567 template <
typename HibernationOptionsT = HibernationOptions>
580 template <
typename LicensesT = Aws::Vector<LicenseConfiguration>>
582 m_licensesHasBeenSet =
true;
583 m_licenses = std::forward<LicensesT>(value);
585 template <
typename LicensesT = Aws::Vector<LicenseConfiguration>>
590 template <
typename LicensesT = LicenseConfiguration>
592 m_licensesHasBeenSet =
true;
593 m_licenses.emplace_back(std::forward<LicensesT>(value));
604 template <
typename MetadataOptionsT = InstanceMetadataOptionsResponse>
606 m_metadataOptionsHasBeenSet =
true;
607 m_metadataOptions = std::forward<MetadataOptionsT>(value);
609 template <
typename MetadataOptionsT = InstanceMetadataOptionsResponse>
623 template <
typename EnclaveOptionsT = EnclaveOptions>
625 m_enclaveOptionsHasBeenSet =
true;
626 m_enclaveOptions = std::forward<EnclaveOptionsT>(value);
628 template <
typename EnclaveOptionsT = EnclaveOptions>
649 m_bootModeHasBeenSet =
true;
666 template <
typename PlatformDetailsT = Aws::String>
668 m_platformDetailsHasBeenSet =
true;
669 m_platformDetails = std::forward<PlatformDetailsT>(value);
671 template <
typename PlatformDetailsT = Aws::String>
686 template <
typename UsageOperationT = Aws::String>
688 m_usageOperationHasBeenSet =
true;
689 m_usageOperation = std::forward<UsageOperationT>(value);
691 template <
typename UsageOperationT = Aws::String>
704 template <
typename UsageOperationUpdateTimeT = Aws::Utils::DateTime>
706 m_usageOperationUpdateTimeHasBeenSet =
true;
707 m_usageOperationUpdateTime = std::forward<UsageOperationUpdateTimeT>(value);
709 template <
typename UsageOperationUpdateTimeT = Aws::Utils::DateTime>
722 template <
typename PrivateDnsNameOptionsT = PrivateDnsNameOptionsResponse>
724 m_privateDnsNameOptionsHasBeenSet =
true;
725 m_privateDnsNameOptions = std::forward<PrivateDnsNameOptionsT>(value);
727 template <
typename PrivateDnsNameOptionsT = PrivateDnsNameOptionsResponse>
740 template <
typename Ipv6AddressT = Aws::String>
742 m_ipv6AddressHasBeenSet =
true;
743 m_ipv6Address = std::forward<Ipv6AddressT>(value);
745 template <
typename Ipv6AddressT = Aws::String>
761 template <
typename TpmSupportT = Aws::String>
763 m_tpmSupportHasBeenSet =
true;
764 m_tpmSupport = std::forward<TpmSupportT>(value);
766 template <
typename TpmSupportT = Aws::String>
780 template <
typename Ma
intenanceOptionsT = InstanceMa
intenanceOptions>
782 m_maintenanceOptionsHasBeenSet =
true;
783 m_maintenanceOptions = std::forward<MaintenanceOptionsT>(value);
785 template <
typename Ma
intenanceOptionsT = InstanceMa
intenanceOptions>
802 m_currentInstanceBootModeHasBeenSet =
true;
803 m_currentInstanceBootMode = value;
817 template <
typename NetworkPerformanceOptionsT = InstanceNetworkPerformanceOptions>
819 m_networkPerformanceOptionsHasBeenSet =
true;
820 m_networkPerformanceOptions = std::forward<NetworkPerformanceOptionsT>(value);
822 template <
typename NetworkPerformanceOptionsT = InstanceNetworkPerformanceOptions>
835 template <
typename OperatorT = OperatorResponse>
837 m_operatorHasBeenSet =
true;
838 m_operator = std::forward<OperatorT>(value);
840 template <
typename OperatorT = OperatorResponse>
853 template <
typename InstanceIdT = Aws::String>
855 m_instanceIdHasBeenSet =
true;
856 m_instanceId = std::forward<InstanceIdT>(value);
858 template <
typename InstanceIdT = Aws::String>
871 template <
typename ImageIdT = Aws::String>
873 m_imageIdHasBeenSet =
true;
874 m_imageId = std::forward<ImageIdT>(value);
876 template <
typename ImageIdT = Aws::String>
889 template <
typename StateT = InstanceState>
891 m_stateHasBeenSet =
true;
892 m_state = std::forward<StateT>(value);
894 template <
typename StateT = InstanceState>
896 SetState(std::forward<StateT>(value));
913 template <
typename PrivateDnsNameT = Aws::String>
915 m_privateDnsNameHasBeenSet =
true;
916 m_privateDnsName = std::forward<PrivateDnsNameT>(value);
918 template <
typename PrivateDnsNameT = Aws::String>
936 template <
typename PublicDnsNameT = Aws::String>
938 m_publicDnsNameHasBeenSet =
true;
939 m_publicDnsName = std::forward<PublicDnsNameT>(value);
941 template <
typename PublicDnsNameT = Aws::String>
955 template <
typename StateTransitionReasonT = Aws::String>
957 m_stateTransitionReasonHasBeenSet =
true;
958 m_stateTransitionReason = std::forward<StateTransitionReasonT>(value);
960 template <
typename StateTransitionReasonT = Aws::String>
974 template <
typename KeyNameT = Aws::String>
976 m_keyNameHasBeenSet =
true;
977 m_keyName = std::forward<KeyNameT>(value);
979 template <
typename KeyNameT = Aws::String>
994 m_amiLaunchIndexHasBeenSet =
true;
995 m_amiLaunchIndex = value;
1009 template <
typename ProductCodesT = Aws::Vector<ProductCode>>
1011 m_productCodesHasBeenSet =
true;
1012 m_productCodes = std::forward<ProductCodesT>(value);
1014 template <
typename ProductCodesT = Aws::Vector<ProductCode>>
1019 template <
typename ProductCodesT = ProductCode>
1021 m_productCodesHasBeenSet =
true;
1022 m_productCodes.emplace_back(std::forward<ProductCodesT>(value));
1034 m_instanceTypeHasBeenSet =
true;
1035 m_instanceType = value;
1051 template <
typename LaunchTimeT = Aws::Utils::DateTime>
1053 m_launchTimeHasBeenSet =
true;
1054 m_launchTime = std::forward<LaunchTimeT>(value);
1056 template <
typename LaunchTimeT = Aws::Utils::DateTime>
1069 template <
typename PlacementT = Placement>
1071 m_placementHasBeenSet =
true;
1072 m_placement = std::forward<PlacementT>(value);
1074 template <
typename PlacementT = Placement>
1087 template <
typename KernelIdT = Aws::String>
1089 m_kernelIdHasBeenSet =
true;
1090 m_kernelId = std::forward<KernelIdT>(value);
1092 template <
typename KernelIdT = Aws::String>
1105 template <
typename RamdiskIdT = Aws::String>
1107 m_ramdiskIdHasBeenSet =
true;
1108 m_ramdiskId = std::forward<RamdiskIdT>(value);
1110 template <
typename RamdiskIdT = Aws::String>
1125 m_platformHasBeenSet =
true;
1140 template <
typename MonitoringT = Monitoring>
1142 m_monitoringHasBeenSet =
true;
1143 m_monitoring = std::forward<MonitoringT>(value);
1145 template <
typename MonitoringT = Monitoring>
1158 template <
typename SubnetIdT = Aws::String>
1160 m_subnetIdHasBeenSet =
true;
1161 m_subnetId = std::forward<SubnetIdT>(value);
1163 template <
typename SubnetIdT = Aws::String>
1176 template <
typename VpcIdT = Aws::String>
1178 m_vpcIdHasBeenSet =
true;
1179 m_vpcId = std::forward<VpcIdT>(value);
1181 template <
typename VpcIdT = Aws::String>
1183 SetVpcId(std::forward<VpcIdT>(value));
1194 template <
typename PrivateIpAddressT = Aws::String>
1196 m_privateIpAddressHasBeenSet =
true;
1197 m_privateIpAddress = std::forward<PrivateIpAddressT>(value);
1199 template <
typename PrivateIpAddressT = Aws::String>
1214 template <
typename PublicIpAddressT = Aws::String>
1216 m_publicIpAddressHasBeenSet =
true;
1217 m_publicIpAddress = std::forward<PublicIpAddressT>(value);
1219 template <
typename PublicIpAddressT = Aws::String>
1232 bool m_ebsOptimized{
false};
1234 bool m_enaSupport{
false};
1238 IamInstanceProfile m_iamInstanceProfile;
1256 bool m_sourceDestCheck{
false};
1262 StateReason m_stateReason;
1268 CpuOptions m_cpuOptions;
1274 CapacityReservationSpecificationResponse m_capacityReservationSpecification;
1276 HibernationOptions m_hibernationOptions;
1280 InstanceMetadataOptionsResponse m_metadataOptions;
1282 EnclaveOptions m_enclaveOptions;
1292 PrivateDnsNameOptionsResponse m_privateDnsNameOptions;
1298 InstanceMaintenanceOptions m_maintenanceOptions;
1302 InstanceNetworkPerformanceOptions m_networkPerformanceOptions;
1304 OperatorResponse m_operator;
1310 InstanceState m_state;
1320 int m_amiLaunchIndex{0};
1328 Placement m_placement;
1336 Monitoring m_monitoring;
1345 bool m_architectureHasBeenSet =
false;
1346 bool m_blockDeviceMappingsHasBeenSet =
false;
1347 bool m_clientTokenHasBeenSet =
false;
1348 bool m_ebsOptimizedHasBeenSet =
false;
1349 bool m_enaSupportHasBeenSet =
false;
1350 bool m_hypervisorHasBeenSet =
false;
1351 bool m_iamInstanceProfileHasBeenSet =
false;
1352 bool m_instanceLifecycleHasBeenSet =
false;
1353 bool m_elasticGpuAssociationsHasBeenSet =
false;
1354 bool m_elasticInferenceAcceleratorAssociationsHasBeenSet =
false;
1355 bool m_networkInterfacesHasBeenSet =
false;
1356 bool m_outpostArnHasBeenSet =
false;
1357 bool m_rootDeviceNameHasBeenSet =
false;
1358 bool m_rootDeviceTypeHasBeenSet =
false;
1359 bool m_securityGroupsHasBeenSet =
false;
1360 bool m_sourceDestCheckHasBeenSet =
false;
1361 bool m_spotInstanceRequestIdHasBeenSet =
false;
1362 bool m_sriovNetSupportHasBeenSet =
false;
1363 bool m_stateReasonHasBeenSet =
false;
1364 bool m_tagsHasBeenSet =
false;
1365 bool m_virtualizationTypeHasBeenSet =
false;
1366 bool m_cpuOptionsHasBeenSet =
false;
1367 bool m_capacityBlockIdHasBeenSet =
false;
1368 bool m_capacityReservationIdHasBeenSet =
false;
1369 bool m_capacityReservationSpecificationHasBeenSet =
false;
1370 bool m_hibernationOptionsHasBeenSet =
false;
1371 bool m_licensesHasBeenSet =
false;
1372 bool m_metadataOptionsHasBeenSet =
false;
1373 bool m_enclaveOptionsHasBeenSet =
false;
1374 bool m_bootModeHasBeenSet =
false;
1375 bool m_platformDetailsHasBeenSet =
false;
1376 bool m_usageOperationHasBeenSet =
false;
1377 bool m_usageOperationUpdateTimeHasBeenSet =
false;
1378 bool m_privateDnsNameOptionsHasBeenSet =
false;
1379 bool m_ipv6AddressHasBeenSet =
false;
1380 bool m_tpmSupportHasBeenSet =
false;
1381 bool m_maintenanceOptionsHasBeenSet =
false;
1382 bool m_currentInstanceBootModeHasBeenSet =
false;
1383 bool m_networkPerformanceOptionsHasBeenSet =
false;
1384 bool m_operatorHasBeenSet =
false;
1385 bool m_instanceIdHasBeenSet =
false;
1386 bool m_imageIdHasBeenSet =
false;
1387 bool m_stateHasBeenSet =
false;
1388 bool m_privateDnsNameHasBeenSet =
false;
1389 bool m_publicDnsNameHasBeenSet =
false;
1390 bool m_stateTransitionReasonHasBeenSet =
false;
1391 bool m_keyNameHasBeenSet =
false;
1392 bool m_amiLaunchIndexHasBeenSet =
false;
1393 bool m_productCodesHasBeenSet =
false;
1394 bool m_instanceTypeHasBeenSet =
false;
1395 bool m_launchTimeHasBeenSet =
false;
1396 bool m_placementHasBeenSet =
false;
1397 bool m_kernelIdHasBeenSet =
false;
1398 bool m_ramdiskIdHasBeenSet =
false;
1399 bool m_platformHasBeenSet =
false;
1400 bool m_monitoringHasBeenSet =
false;
1401 bool m_subnetIdHasBeenSet =
false;
1402 bool m_vpcIdHasBeenSet =
false;
1403 bool m_privateIpAddressHasBeenSet =
false;
1404 bool m_publicIpAddressHasBeenSet =
false;
void SetStateTransitionReason(StateTransitionReasonT &&value)
const Aws::Vector< InstanceBlockDeviceMapping > & GetBlockDeviceMappings() const
Instance & WithVirtualizationType(VirtualizationType value)
bool StateTransitionReasonHasBeenSet() const
void SetProductCodes(ProductCodesT &&value)
const Aws::String & GetCapacityBlockId() const
ArchitectureValues GetArchitecture() const
Instance & WithTags(TagsT &&value)
Instance & WithPrivateDnsName(PrivateDnsNameT &&value)
bool RootDeviceNameHasBeenSet() const
Instance & WithClientToken(ClientTokenT &&value)
bool PrivateDnsNameOptionsHasBeenSet() const
const InstanceState & GetState() const
void SetLicenses(LicensesT &&value)
void SetState(StateT &&value)
void SetPlatformDetails(PlatformDetailsT &&value)
Instance & WithProductCodes(ProductCodesT &&value)
Instance & WithLaunchTime(LaunchTimeT &&value)
Instance & WithCapacityBlockId(CapacityBlockIdT &&value)
bool ElasticInferenceAcceleratorAssociationsHasBeenSet() const
Instance & WithMetadataOptions(MetadataOptionsT &&value)
Instance & AddTags(TagsT &&value)
bool BlockDeviceMappingsHasBeenSet() const
Instance & WithVpcId(VpcIdT &&value)
void SetClientToken(ClientTokenT &&value)
bool GetEnaSupport() const
const Aws::String & GetKeyName() const
void SetOperator(OperatorT &&value)
const Aws::String & GetIpv6Address() const
void SetBootMode(BootModeValues value)
bool LicensesHasBeenSet() const
Instance & WithLicenses(LicensesT &&value)
Instance & WithCpuOptions(CpuOptionsT &&value)
HypervisorType GetHypervisor() const
bool CapacityBlockIdHasBeenSet() const
bool Ipv6AddressHasBeenSet() const
bool HibernationOptionsHasBeenSet() const
VirtualizationType GetVirtualizationType() const
AWS_EC2_API Instance()=default
Instance & AddElasticGpuAssociations(ElasticGpuAssociationsT &&value)
bool KeyNameHasBeenSet() const
bool PlatformDetailsHasBeenSet() const
const Aws::Vector< LicenseConfiguration > & GetLicenses() const
void SetEnaSupport(bool value)
Instance & AddProductCodes(ProductCodesT &&value)
const Aws::Vector< ProductCode > & GetProductCodes() const
const Aws::String & GetVpcId() const
PlatformValues GetPlatform() const
Instance & WithSourceDestCheck(bool value)
bool CurrentInstanceBootModeHasBeenSet() const
const Aws::Vector< ElasticGpuAssociation > & GetElasticGpuAssociations() const
void SetInstanceType(InstanceType value)
Instance & WithRamdiskId(RamdiskIdT &&value)
void SetElasticInferenceAcceleratorAssociations(ElasticInferenceAcceleratorAssociationsT &&value)
const OperatorResponse & GetOperator() const
Instance & WithArchitecture(ArchitectureValues value)
Instance & WithImageId(ImageIdT &&value)
Instance & WithPrivateDnsNameOptions(PrivateDnsNameOptionsT &&value)
bool EnaSupportHasBeenSet() const
void SetUsageOperationUpdateTime(UsageOperationUpdateTimeT &&value)
Instance & WithHibernationOptions(HibernationOptionsT &&value)
const Aws::String & GetCapacityReservationId() const
Instance & WithStateTransitionReason(StateTransitionReasonT &&value)
const StateReason & GetStateReason() const
const Aws::String & GetPrivateDnsName() const
bool MonitoringHasBeenSet() const
Instance & WithSubnetId(SubnetIdT &&value)
bool AmiLaunchIndexHasBeenSet() const
void SetKeyName(KeyNameT &&value)
Instance & WithPublicDnsName(PublicDnsNameT &&value)
Instance & WithCapacityReservationId(CapacityReservationIdT &&value)
bool InstanceLifecycleHasBeenSet() const
void SetRamdiskId(RamdiskIdT &&value)
bool PublicIpAddressHasBeenSet() const
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
const Aws::String & GetPublicDnsName() const
void SetMetadataOptions(MetadataOptionsT &&value)
const Aws::Utils::DateTime & GetUsageOperationUpdateTime() const
bool NetworkPerformanceOptionsHasBeenSet() const
Instance & WithCurrentInstanceBootMode(InstanceBootModeValues value)
const Aws::String & GetOutpostArn() const
void SetPrivateDnsName(PrivateDnsNameT &&value)
void SetOutpostArn(OutpostArnT &&value)
Instance & WithMonitoring(MonitoringT &&value)
const Aws::String & GetPublicIpAddress() const
const Placement & GetPlacement() const
void SetPrivateDnsNameOptions(PrivateDnsNameOptionsT &&value)
void SetImageId(ImageIdT &&value)
Instance & WithBlockDeviceMappings(BlockDeviceMappingsT &&value)
Instance & WithHypervisor(HypervisorType value)
Instance & AddSecurityGroups(SecurityGroupsT &&value)
bool SubnetIdHasBeenSet() const
const Aws::String & GetKernelId() const
Instance & AddElasticInferenceAcceleratorAssociations(ElasticInferenceAcceleratorAssociationsT &&value)
Instance & WithBootMode(BootModeValues value)
InstanceType GetInstanceType() const
void SetIamInstanceProfile(IamInstanceProfileT &&value)
Instance & WithRootDeviceName(RootDeviceNameT &&value)
void SetEnclaveOptions(EnclaveOptionsT &&value)
bool LaunchTimeHasBeenSet() const
bool CapacityReservationSpecificationHasBeenSet() const
void SetRootDeviceName(RootDeviceNameT &&value)
Instance & WithElasticGpuAssociations(ElasticGpuAssociationsT &&value)
bool PublicDnsNameHasBeenSet() const
bool TagsHasBeenSet() const
const Aws::Utils::DateTime & GetLaunchTime() const
bool SriovNetSupportHasBeenSet() const
bool RootDeviceTypeHasBeenSet() const
const Aws::String & GetSriovNetSupport() const
const Aws::String & GetRootDeviceName() const
Instance & WithStateReason(StateReasonT &&value)
void SetSecurityGroups(SecurityGroupsT &&value)
const Aws::String & GetImageId() const
bool PrivateIpAddressHasBeenSet() const
Instance & WithKernelId(KernelIdT &&value)
void SetInstanceLifecycle(InstanceLifecycleType value)
Instance & WithOutpostArn(OutpostArnT &&value)
Instance & WithEnaSupport(bool value)
Instance & WithSecurityGroups(SecurityGroupsT &&value)
int GetAmiLaunchIndex() const
const InstanceMaintenanceOptions & GetMaintenanceOptions() const
Instance & WithOperator(OperatorT &&value)
void SetTpmSupport(TpmSupportT &&value)
bool InstanceIdHasBeenSet() const
void SetInstanceId(InstanceIdT &&value)
const Aws::Vector< Tag > & GetTags() const
bool EbsOptimizedHasBeenSet() const
bool GetEbsOptimized() const
void SetRootDeviceType(DeviceType value)
bool SpotInstanceRequestIdHasBeenSet() const
Instance & WithInstanceId(InstanceIdT &&value)
Instance & WithUsageOperation(UsageOperationT &&value)
bool TpmSupportHasBeenSet() const
bool CpuOptionsHasBeenSet() const
bool SourceDestCheckHasBeenSet() const
bool ClientTokenHasBeenSet() const
Instance & WithInstanceLifecycle(InstanceLifecycleType value)
const Aws::String & GetRamdiskId() const
bool VpcIdHasBeenSet() const
Instance & WithNetworkPerformanceOptions(NetworkPerformanceOptionsT &&value)
void SetCapacityReservationId(CapacityReservationIdT &&value)
void SetPlatform(PlatformValues value)
void SetVpcId(VpcIdT &&value)
void SetPublicIpAddress(PublicIpAddressT &&value)
const Aws::String & GetPrivateIpAddress() const
bool OperatorHasBeenSet() const
bool PrivateDnsNameHasBeenSet() const
bool StateReasonHasBeenSet() const
void SetLaunchTime(LaunchTimeT &&value)
Instance & WithInstanceType(InstanceType value)
void SetVirtualizationType(VirtualizationType value)
const EnclaveOptions & GetEnclaveOptions() const
void SetNetworkPerformanceOptions(NetworkPerformanceOptionsT &&value)
bool EnclaveOptionsHasBeenSet() const
AWS_EC2_API Instance & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
const HibernationOptions & GetHibernationOptions() const
const Aws::String & GetSubnetId() const
Instance & AddNetworkInterfaces(NetworkInterfacesT &&value)
const IamInstanceProfile & GetIamInstanceProfile() const
void SetSriovNetSupport(SriovNetSupportT &&value)
bool ImageIdHasBeenSet() const
void SetSpotInstanceRequestId(SpotInstanceRequestIdT &&value)
const PrivateDnsNameOptionsResponse & GetPrivateDnsNameOptions() const
void SetPlacement(PlacementT &&value)
void SetTags(TagsT &&value)
bool MaintenanceOptionsHasBeenSet() const
void SetHibernationOptions(HibernationOptionsT &&value)
bool ArchitectureHasBeenSet() const
const Aws::Vector< GroupIdentifier > & GetSecurityGroups() const
void SetEbsOptimized(bool value)
Instance & WithPlacement(PlacementT &&value)
Instance & AddBlockDeviceMappings(BlockDeviceMappingsT &&value)
const InstanceNetworkPerformanceOptions & GetNetworkPerformanceOptions() const
void SetElasticGpuAssociations(ElasticGpuAssociationsT &&value)
const Aws::Vector< InstanceNetworkInterface > & GetNetworkInterfaces() const
bool VirtualizationTypeHasBeenSet() const
Instance & WithIpv6Address(Ipv6AddressT &&value)
bool BootModeHasBeenSet() const
const CpuOptions & GetCpuOptions() const
const Aws::String & GetPlatformDetails() const
bool ElasticGpuAssociationsHasBeenSet() const
void SetCapacityReservationSpecification(CapacityReservationSpecificationT &&value)
Instance & WithAmiLaunchIndex(int value)
Instance & WithState(StateT &&value)
Instance & WithSriovNetSupport(SriovNetSupportT &&value)
Instance & WithKeyName(KeyNameT &&value)
bool MetadataOptionsHasBeenSet() const
const InstanceMetadataOptionsResponse & GetMetadataOptions() const
void SetNetworkInterfaces(NetworkInterfacesT &&value)
const Aws::String & GetUsageOperation() const
Instance & WithCapacityReservationSpecification(CapacityReservationSpecificationT &&value)
void SetSubnetId(SubnetIdT &&value)
void SetKernelId(KernelIdT &&value)
bool StateHasBeenSet() const
Instance & WithElasticInferenceAcceleratorAssociations(ElasticInferenceAcceleratorAssociationsT &&value)
bool UsageOperationUpdateTimeHasBeenSet() const
bool InstanceTypeHasBeenSet() const
void SetPrivateIpAddress(PrivateIpAddressT &&value)
bool PlacementHasBeenSet() const
DeviceType GetRootDeviceType() const
bool HypervisorHasBeenSet() const
void SetCpuOptions(CpuOptionsT &&value)
void SetSourceDestCheck(bool value)
Instance & WithPlatformDetails(PlatformDetailsT &&value)
bool KernelIdHasBeenSet() const
Instance & WithUsageOperationUpdateTime(UsageOperationUpdateTimeT &&value)
const Aws::String & GetStateTransitionReason() const
bool RamdiskIdHasBeenSet() const
void SetStateReason(StateReasonT &&value)
bool SecurityGroupsHasBeenSet() const
InstanceBootModeValues GetCurrentInstanceBootMode() const
bool ProductCodesHasBeenSet() const
bool OutpostArnHasBeenSet() const
void SetUsageOperation(UsageOperationT &&value)
bool UsageOperationHasBeenSet() const
const Monitoring & GetMonitoring() const
const Aws::Vector< ElasticInferenceAcceleratorAssociation > & GetElasticInferenceAcceleratorAssociations() const
const Aws::String & GetSpotInstanceRequestId() const
void SetAmiLaunchIndex(int value)
bool PlatformHasBeenSet() const
bool GetSourceDestCheck() const
InstanceLifecycleType GetInstanceLifecycle() const
void SetCapacityBlockId(CapacityBlockIdT &&value)
const Aws::String & GetInstanceId() const
void SetIpv6Address(Ipv6AddressT &&value)
Instance & WithEbsOptimized(bool value)
Instance & WithMaintenanceOptions(MaintenanceOptionsT &&value)
Instance & WithRootDeviceType(DeviceType value)
void SetMaintenanceOptions(MaintenanceOptionsT &&value)
void SetArchitecture(ArchitectureValues value)
Instance & AddLicenses(LicensesT &&value)
Instance & WithIamInstanceProfile(IamInstanceProfileT &&value)
Instance & WithNetworkInterfaces(NetworkInterfacesT &&value)
bool IamInstanceProfileHasBeenSet() const
bool NetworkInterfacesHasBeenSet() const
const Aws::String & GetClientToken() const
BootModeValues GetBootMode() const
Instance & WithPublicIpAddress(PublicIpAddressT &&value)
Instance & WithSpotInstanceRequestId(SpotInstanceRequestIdT &&value)
Instance & WithPlatform(PlatformValues value)
Instance & WithPrivateIpAddress(PrivateIpAddressT &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
void SetPublicDnsName(PublicDnsNameT &&value)
bool CapacityReservationIdHasBeenSet() const
void SetHypervisor(HypervisorType value)
AWS_EC2_API Instance(const Aws::Utils::Xml::XmlNode &xmlNode)
Instance & WithEnclaveOptions(EnclaveOptionsT &&value)
Instance & WithTpmSupport(TpmSupportT &&value)
void SetBlockDeviceMappings(BlockDeviceMappingsT &&value)
void SetCurrentInstanceBootMode(InstanceBootModeValues value)
const CapacityReservationSpecificationResponse & GetCapacityReservationSpecification() const
const Aws::String & GetTpmSupport() const
void SetMonitoring(MonitoringT &&value)
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