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/InstanceSecondaryInterface.h>
32#include <aws/ec2/model/InstanceState.h>
33#include <aws/ec2/model/InstanceType.h>
34#include <aws/ec2/model/LicenseConfiguration.h>
35#include <aws/ec2/model/Monitoring.h>
36#include <aws/ec2/model/OperatorResponse.h>
37#include <aws/ec2/model/Placement.h>
38#include <aws/ec2/model/PlatformValues.h>
39#include <aws/ec2/model/PrivateDnsNameOptionsResponse.h>
40#include <aws/ec2/model/ProductCode.h>
41#include <aws/ec2/model/StateReason.h>
42#include <aws/ec2/model/Tag.h>
43#include <aws/ec2/model/VirtualizationType.h>
77 m_architectureHasBeenSet =
true;
78 m_architecture = value;
92 template <
typename BlockDeviceMappingsT = Aws::Vector<InstanceBlockDeviceMapping>>
94 m_blockDeviceMappingsHasBeenSet =
true;
95 m_blockDeviceMappings = std::forward<BlockDeviceMappingsT>(value);
97 template <
typename BlockDeviceMappingsT = Aws::Vector<InstanceBlockDeviceMapping>>
102 template <
typename BlockDeviceMappingsT = InstanceBlockDeviceMapping>
104 m_blockDeviceMappingsHasBeenSet =
true;
105 m_blockDeviceMappings.emplace_back(std::forward<BlockDeviceMappingsT>(value));
117 template <
typename ClientTokenT = Aws::String>
119 m_clientTokenHasBeenSet =
true;
120 m_clientToken = std::forward<ClientTokenT>(value);
122 template <
typename ClientTokenT = Aws::String>
140 m_ebsOptimizedHasBeenSet =
true;
141 m_ebsOptimized = value;
156 m_enaSupportHasBeenSet =
true;
157 m_enaSupport = value;
173 m_hypervisorHasBeenSet =
true;
174 m_hypervisor = value;
188 template <
typename IamInstanceProfileT = IamInstanceProfile>
190 m_iamInstanceProfileHasBeenSet =
true;
191 m_iamInstanceProfile = std::forward<IamInstanceProfileT>(value);
193 template <
typename IamInstanceProfileT = IamInstanceProfile>
207 m_instanceLifecycleHasBeenSet =
true;
208 m_instanceLifecycle = value;
223 template <
typename ElasticGpuAssociationsT = Aws::Vector<ElasticGpuAssociation>>
225 m_elasticGpuAssociationsHasBeenSet =
true;
226 m_elasticGpuAssociations = std::forward<ElasticGpuAssociationsT>(value);
228 template <
typename ElasticGpuAssociationsT = Aws::Vector<ElasticGpuAssociation>>
233 template <
typename ElasticGpuAssociationsT = ElasticGpuAssociation>
235 m_elasticGpuAssociationsHasBeenSet =
true;
236 m_elasticGpuAssociations.emplace_back(std::forward<ElasticGpuAssociationsT>(value));
247 return m_elasticInferenceAcceleratorAssociations;
250 template <
typename ElasticInferenceAcceleratorAssociationsT = Aws::Vector<ElasticInferenceAcceleratorAssociation>>
252 m_elasticInferenceAcceleratorAssociationsHasBeenSet =
true;
253 m_elasticInferenceAcceleratorAssociations = std::forward<ElasticInferenceAcceleratorAssociationsT>(value);
255 template <
typename ElasticInferenceAcceleratorAssociationsT = Aws::Vector<ElasticInferenceAcceleratorAssociation>>
260 template <
typename ElasticInferenceAcceleratorAssociationsT = ElasticInferenceAcceleratorAssociation>
262 m_elasticInferenceAcceleratorAssociationsHasBeenSet =
true;
263 m_elasticInferenceAcceleratorAssociations.emplace_back(std::forward<ElasticInferenceAcceleratorAssociationsT>(value));
274 template <
typename NetworkInterfacesT = Aws::Vector<InstanceNetworkInterface>>
276 m_networkInterfacesHasBeenSet =
true;
277 m_networkInterfaces = std::forward<NetworkInterfacesT>(value);
279 template <
typename NetworkInterfacesT = Aws::Vector<InstanceNetworkInterface>>
284 template <
typename NetworkInterfacesT = InstanceNetworkInterface>
286 m_networkInterfacesHasBeenSet =
true;
287 m_networkInterfaces.emplace_back(std::forward<NetworkInterfacesT>(value));
298 template <
typename OutpostArnT = Aws::String>
300 m_outpostArnHasBeenSet =
true;
301 m_outpostArn = std::forward<OutpostArnT>(value);
303 template <
typename OutpostArnT = Aws::String>
317 template <
typename RootDeviceNameT = Aws::String>
319 m_rootDeviceNameHasBeenSet =
true;
320 m_rootDeviceName = std::forward<RootDeviceNameT>(value);
322 template <
typename RootDeviceNameT = Aws::String>
337 m_rootDeviceTypeHasBeenSet =
true;
338 m_rootDeviceType = value;
352 template <
typename SecurityGroupsT = Aws::Vector<GroupIdentifier>>
354 m_securityGroupsHasBeenSet =
true;
355 m_securityGroups = std::forward<SecurityGroupsT>(value);
357 template <
typename SecurityGroupsT = Aws::Vector<GroupIdentifier>>
362 template <
typename SecurityGroupsT = GroupIdentifier>
364 m_securityGroupsHasBeenSet =
true;
365 m_securityGroups.emplace_back(std::forward<SecurityGroupsT>(value));
377 m_sourceDestCheckHasBeenSet =
true;
378 m_sourceDestCheck = value;
392 template <
typename SpotInstanceRequestIdT = Aws::String>
394 m_spotInstanceRequestIdHasBeenSet =
true;
395 m_spotInstanceRequestId = std::forward<SpotInstanceRequestIdT>(value);
397 template <
typename SpotInstanceRequestIdT = Aws::String>
411 template <
typename SriovNetSupportT = Aws::String>
413 m_sriovNetSupportHasBeenSet =
true;
414 m_sriovNetSupport = std::forward<SriovNetSupportT>(value);
416 template <
typename SriovNetSupportT = Aws::String>
429 template <
typename StateReasonT = StateReason>
431 m_stateReasonHasBeenSet =
true;
432 m_stateReason = std::forward<StateReasonT>(value);
434 template <
typename StateReasonT = StateReason>
447 template <
typename TagsT = Aws::Vector<Tag>>
449 m_tagsHasBeenSet =
true;
450 m_tags = std::forward<TagsT>(value);
452 template <
typename TagsT = Aws::Vector<Tag>>
454 SetTags(std::forward<TagsT>(value));
457 template <
typename TagsT = Tag>
459 m_tagsHasBeenSet =
true;
460 m_tags.emplace_back(std::forward<TagsT>(value));
472 m_virtualizationTypeHasBeenSet =
true;
473 m_virtualizationType = value;
487 template <
typename CpuOptionsT = CpuOptions>
489 m_cpuOptionsHasBeenSet =
true;
490 m_cpuOptions = std::forward<CpuOptionsT>(value);
492 template <
typename CpuOptionsT = CpuOptions>
507 template <
typename CapacityBlockIdT = Aws::String>
509 m_capacityBlockIdHasBeenSet =
true;
510 m_capacityBlockId = std::forward<CapacityBlockIdT>(value);
512 template <
typename CapacityBlockIdT = Aws::String>
525 template <
typename CapacityReservationIdT = Aws::String>
527 m_capacityReservationIdHasBeenSet =
true;
528 m_capacityReservationId = std::forward<CapacityReservationIdT>(value);
530 template <
typename CapacityReservationIdT = Aws::String>
542 return m_capacityReservationSpecification;
545 template <
typename CapacityReservationSpecificationT = CapacityReservationSpecificationResponse>
547 m_capacityReservationSpecificationHasBeenSet =
true;
548 m_capacityReservationSpecification = std::forward<CapacityReservationSpecificationT>(value);
550 template <
typename CapacityReservationSpecificationT = CapacityReservationSpecificationResponse>
563 template <
typename HibernationOptionsT = HibernationOptions>
565 m_hibernationOptionsHasBeenSet =
true;
566 m_hibernationOptions = std::forward<HibernationOptionsT>(value);
568 template <
typename HibernationOptionsT = HibernationOptions>
581 template <
typename LicensesT = Aws::Vector<LicenseConfiguration>>
583 m_licensesHasBeenSet =
true;
584 m_licenses = std::forward<LicensesT>(value);
586 template <
typename LicensesT = Aws::Vector<LicenseConfiguration>>
591 template <
typename LicensesT = LicenseConfiguration>
593 m_licensesHasBeenSet =
true;
594 m_licenses.emplace_back(std::forward<LicensesT>(value));
605 template <
typename MetadataOptionsT = InstanceMetadataOptionsResponse>
607 m_metadataOptionsHasBeenSet =
true;
608 m_metadataOptions = std::forward<MetadataOptionsT>(value);
610 template <
typename MetadataOptionsT = InstanceMetadataOptionsResponse>
624 template <
typename EnclaveOptionsT = EnclaveOptions>
626 m_enclaveOptionsHasBeenSet =
true;
627 m_enclaveOptions = std::forward<EnclaveOptionsT>(value);
629 template <
typename EnclaveOptionsT = EnclaveOptions>
650 m_bootModeHasBeenSet =
true;
667 template <
typename PlatformDetailsT = Aws::String>
669 m_platformDetailsHasBeenSet =
true;
670 m_platformDetails = std::forward<PlatformDetailsT>(value);
672 template <
typename PlatformDetailsT = Aws::String>
687 template <
typename UsageOperationT = Aws::String>
689 m_usageOperationHasBeenSet =
true;
690 m_usageOperation = std::forward<UsageOperationT>(value);
692 template <
typename UsageOperationT = Aws::String>
705 template <
typename UsageOperationUpdateTimeT = Aws::Utils::DateTime>
707 m_usageOperationUpdateTimeHasBeenSet =
true;
708 m_usageOperationUpdateTime = std::forward<UsageOperationUpdateTimeT>(value);
710 template <
typename UsageOperationUpdateTimeT = Aws::Utils::DateTime>
723 template <
typename PrivateDnsNameOptionsT = PrivateDnsNameOptionsResponse>
725 m_privateDnsNameOptionsHasBeenSet =
true;
726 m_privateDnsNameOptions = std::forward<PrivateDnsNameOptionsT>(value);
728 template <
typename PrivateDnsNameOptionsT = PrivateDnsNameOptionsResponse>
741 template <
typename Ipv6AddressT = Aws::String>
743 m_ipv6AddressHasBeenSet =
true;
744 m_ipv6Address = std::forward<Ipv6AddressT>(value);
746 template <
typename Ipv6AddressT = Aws::String>
762 template <
typename TpmSupportT = Aws::String>
764 m_tpmSupportHasBeenSet =
true;
765 m_tpmSupport = std::forward<TpmSupportT>(value);
767 template <
typename TpmSupportT = Aws::String>
781 template <
typename Ma
intenanceOptionsT = InstanceMa
intenanceOptions>
783 m_maintenanceOptionsHasBeenSet =
true;
784 m_maintenanceOptions = std::forward<MaintenanceOptionsT>(value);
786 template <
typename Ma
intenanceOptionsT = InstanceMa
intenanceOptions>
803 m_currentInstanceBootModeHasBeenSet =
true;
804 m_currentInstanceBootMode = value;
818 template <
typename NetworkPerformanceOptionsT = InstanceNetworkPerformanceOptions>
820 m_networkPerformanceOptionsHasBeenSet =
true;
821 m_networkPerformanceOptions = std::forward<NetworkPerformanceOptionsT>(value);
823 template <
typename NetworkPerformanceOptionsT = InstanceNetworkPerformanceOptions>
836 template <
typename OperatorT = OperatorResponse>
838 m_operatorHasBeenSet =
true;
839 m_operator = std::forward<OperatorT>(value);
841 template <
typename OperatorT = OperatorResponse>
854 template <
typename SecondaryInterfacesT = Aws::Vector<InstanceSecondaryInterface>>
856 m_secondaryInterfacesHasBeenSet =
true;
857 m_secondaryInterfaces = std::forward<SecondaryInterfacesT>(value);
859 template <
typename SecondaryInterfacesT = Aws::Vector<InstanceSecondaryInterface>>
864 template <
typename SecondaryInterfacesT = InstanceSecondaryInterface>
866 m_secondaryInterfacesHasBeenSet =
true;
867 m_secondaryInterfaces.emplace_back(std::forward<SecondaryInterfacesT>(value));
878 template <
typename InstanceIdT = Aws::String>
880 m_instanceIdHasBeenSet =
true;
881 m_instanceId = std::forward<InstanceIdT>(value);
883 template <
typename InstanceIdT = Aws::String>
896 template <
typename ImageIdT = Aws::String>
898 m_imageIdHasBeenSet =
true;
899 m_imageId = std::forward<ImageIdT>(value);
901 template <
typename ImageIdT = Aws::String>
914 template <
typename StateT = InstanceState>
916 m_stateHasBeenSet =
true;
917 m_state = std::forward<StateT>(value);
919 template <
typename StateT = InstanceState>
921 SetState(std::forward<StateT>(value));
938 template <
typename PrivateDnsNameT = Aws::String>
940 m_privateDnsNameHasBeenSet =
true;
941 m_privateDnsName = std::forward<PrivateDnsNameT>(value);
943 template <
typename PrivateDnsNameT = Aws::String>
961 template <
typename PublicDnsNameT = Aws::String>
963 m_publicDnsNameHasBeenSet =
true;
964 m_publicDnsName = std::forward<PublicDnsNameT>(value);
966 template <
typename PublicDnsNameT = Aws::String>
980 template <
typename StateTransitionReasonT = Aws::String>
982 m_stateTransitionReasonHasBeenSet =
true;
983 m_stateTransitionReason = std::forward<StateTransitionReasonT>(value);
985 template <
typename StateTransitionReasonT = Aws::String>
999 template <
typename KeyNameT = Aws::String>
1001 m_keyNameHasBeenSet =
true;
1002 m_keyName = std::forward<KeyNameT>(value);
1004 template <
typename KeyNameT = Aws::String>
1019 m_amiLaunchIndexHasBeenSet =
true;
1020 m_amiLaunchIndex = value;
1034 template <
typename ProductCodesT = Aws::Vector<ProductCode>>
1036 m_productCodesHasBeenSet =
true;
1037 m_productCodes = std::forward<ProductCodesT>(value);
1039 template <
typename ProductCodesT = Aws::Vector<ProductCode>>
1044 template <
typename ProductCodesT = ProductCode>
1046 m_productCodesHasBeenSet =
true;
1047 m_productCodes.emplace_back(std::forward<ProductCodesT>(value));
1059 m_instanceTypeHasBeenSet =
true;
1060 m_instanceType = value;
1076 template <
typename LaunchTimeT = Aws::Utils::DateTime>
1078 m_launchTimeHasBeenSet =
true;
1079 m_launchTime = std::forward<LaunchTimeT>(value);
1081 template <
typename LaunchTimeT = Aws::Utils::DateTime>
1094 template <
typename PlacementT = Placement>
1096 m_placementHasBeenSet =
true;
1097 m_placement = std::forward<PlacementT>(value);
1099 template <
typename PlacementT = Placement>
1112 template <
typename KernelIdT = Aws::String>
1114 m_kernelIdHasBeenSet =
true;
1115 m_kernelId = std::forward<KernelIdT>(value);
1117 template <
typename KernelIdT = Aws::String>
1130 template <
typename RamdiskIdT = Aws::String>
1132 m_ramdiskIdHasBeenSet =
true;
1133 m_ramdiskId = std::forward<RamdiskIdT>(value);
1135 template <
typename RamdiskIdT = Aws::String>
1150 m_platformHasBeenSet =
true;
1165 template <
typename MonitoringT = Monitoring>
1167 m_monitoringHasBeenSet =
true;
1168 m_monitoring = std::forward<MonitoringT>(value);
1170 template <
typename MonitoringT = Monitoring>
1183 template <
typename SubnetIdT = Aws::String>
1185 m_subnetIdHasBeenSet =
true;
1186 m_subnetId = std::forward<SubnetIdT>(value);
1188 template <
typename SubnetIdT = Aws::String>
1201 template <
typename VpcIdT = Aws::String>
1203 m_vpcIdHasBeenSet =
true;
1204 m_vpcId = std::forward<VpcIdT>(value);
1206 template <
typename VpcIdT = Aws::String>
1208 SetVpcId(std::forward<VpcIdT>(value));
1219 template <
typename PrivateIpAddressT = Aws::String>
1221 m_privateIpAddressHasBeenSet =
true;
1222 m_privateIpAddress = std::forward<PrivateIpAddressT>(value);
1224 template <
typename PrivateIpAddressT = Aws::String>
1239 template <
typename PublicIpAddressT = Aws::String>
1241 m_publicIpAddressHasBeenSet =
true;
1242 m_publicIpAddress = std::forward<PublicIpAddressT>(value);
1244 template <
typename PublicIpAddressT = Aws::String>
1257 bool m_ebsOptimized{
false};
1259 bool m_enaSupport{
false};
1263 IamInstanceProfile m_iamInstanceProfile;
1281 bool m_sourceDestCheck{
false};
1287 StateReason m_stateReason;
1293 CpuOptions m_cpuOptions;
1299 CapacityReservationSpecificationResponse m_capacityReservationSpecification;
1301 HibernationOptions m_hibernationOptions;
1305 InstanceMetadataOptionsResponse m_metadataOptions;
1307 EnclaveOptions m_enclaveOptions;
1317 PrivateDnsNameOptionsResponse m_privateDnsNameOptions;
1323 InstanceMaintenanceOptions m_maintenanceOptions;
1327 InstanceNetworkPerformanceOptions m_networkPerformanceOptions;
1329 OperatorResponse m_operator;
1337 InstanceState m_state;
1347 int m_amiLaunchIndex{0};
1355 Placement m_placement;
1363 Monitoring m_monitoring;
1372 bool m_architectureHasBeenSet =
false;
1373 bool m_blockDeviceMappingsHasBeenSet =
false;
1374 bool m_clientTokenHasBeenSet =
false;
1375 bool m_ebsOptimizedHasBeenSet =
false;
1376 bool m_enaSupportHasBeenSet =
false;
1377 bool m_hypervisorHasBeenSet =
false;
1378 bool m_iamInstanceProfileHasBeenSet =
false;
1379 bool m_instanceLifecycleHasBeenSet =
false;
1380 bool m_elasticGpuAssociationsHasBeenSet =
false;
1381 bool m_elasticInferenceAcceleratorAssociationsHasBeenSet =
false;
1382 bool m_networkInterfacesHasBeenSet =
false;
1383 bool m_outpostArnHasBeenSet =
false;
1384 bool m_rootDeviceNameHasBeenSet =
false;
1385 bool m_rootDeviceTypeHasBeenSet =
false;
1386 bool m_securityGroupsHasBeenSet =
false;
1387 bool m_sourceDestCheckHasBeenSet =
false;
1388 bool m_spotInstanceRequestIdHasBeenSet =
false;
1389 bool m_sriovNetSupportHasBeenSet =
false;
1390 bool m_stateReasonHasBeenSet =
false;
1391 bool m_tagsHasBeenSet =
false;
1392 bool m_virtualizationTypeHasBeenSet =
false;
1393 bool m_cpuOptionsHasBeenSet =
false;
1394 bool m_capacityBlockIdHasBeenSet =
false;
1395 bool m_capacityReservationIdHasBeenSet =
false;
1396 bool m_capacityReservationSpecificationHasBeenSet =
false;
1397 bool m_hibernationOptionsHasBeenSet =
false;
1398 bool m_licensesHasBeenSet =
false;
1399 bool m_metadataOptionsHasBeenSet =
false;
1400 bool m_enclaveOptionsHasBeenSet =
false;
1401 bool m_bootModeHasBeenSet =
false;
1402 bool m_platformDetailsHasBeenSet =
false;
1403 bool m_usageOperationHasBeenSet =
false;
1404 bool m_usageOperationUpdateTimeHasBeenSet =
false;
1405 bool m_privateDnsNameOptionsHasBeenSet =
false;
1406 bool m_ipv6AddressHasBeenSet =
false;
1407 bool m_tpmSupportHasBeenSet =
false;
1408 bool m_maintenanceOptionsHasBeenSet =
false;
1409 bool m_currentInstanceBootModeHasBeenSet =
false;
1410 bool m_networkPerformanceOptionsHasBeenSet =
false;
1411 bool m_operatorHasBeenSet =
false;
1412 bool m_secondaryInterfacesHasBeenSet =
false;
1413 bool m_instanceIdHasBeenSet =
false;
1414 bool m_imageIdHasBeenSet =
false;
1415 bool m_stateHasBeenSet =
false;
1416 bool m_privateDnsNameHasBeenSet =
false;
1417 bool m_publicDnsNameHasBeenSet =
false;
1418 bool m_stateTransitionReasonHasBeenSet =
false;
1419 bool m_keyNameHasBeenSet =
false;
1420 bool m_amiLaunchIndexHasBeenSet =
false;
1421 bool m_productCodesHasBeenSet =
false;
1422 bool m_instanceTypeHasBeenSet =
false;
1423 bool m_launchTimeHasBeenSet =
false;
1424 bool m_placementHasBeenSet =
false;
1425 bool m_kernelIdHasBeenSet =
false;
1426 bool m_ramdiskIdHasBeenSet =
false;
1427 bool m_platformHasBeenSet =
false;
1428 bool m_monitoringHasBeenSet =
false;
1429 bool m_subnetIdHasBeenSet =
false;
1430 bool m_vpcIdHasBeenSet =
false;
1431 bool m_privateIpAddressHasBeenSet =
false;
1432 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
const Aws::Vector< InstanceSecondaryInterface > & GetSecondaryInterfaces() 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)
Instance & WithSecondaryInterfaces(SecondaryInterfacesT &&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
bool SecondaryInterfacesHasBeenSet() 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
void SetSecondaryInterfaces(SecondaryInterfacesT &&value)
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 & AddSecondaryInterfaces(SecondaryInterfacesT &&value)
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