AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
Instance.h
1
6#pragma once
7#include <aws/ec2/EC2_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/ec2/model/ArchitectureValues.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/core/utils/memory/stl/AWSString.h>
12#include <aws/ec2/model/HypervisorType.h>
13#include <aws/ec2/model/IamInstanceProfile.h>
14#include <aws/ec2/model/InstanceLifecycleType.h>
15#include <aws/ec2/model/DeviceType.h>
16#include <aws/ec2/model/StateReason.h>
17#include <aws/ec2/model/VirtualizationType.h>
18#include <aws/ec2/model/CpuOptions.h>
19#include <aws/ec2/model/CapacityReservationSpecificationResponse.h>
20#include <aws/ec2/model/HibernationOptions.h>
21#include <aws/ec2/model/InstanceMetadataOptionsResponse.h>
22#include <aws/ec2/model/EnclaveOptions.h>
23#include <aws/ec2/model/BootModeValues.h>
24#include <aws/core/utils/DateTime.h>
25#include <aws/ec2/model/PrivateDnsNameOptionsResponse.h>
26#include <aws/ec2/model/InstanceMaintenanceOptions.h>
27#include <aws/ec2/model/InstanceBootModeValues.h>
28#include <aws/ec2/model/InstanceNetworkPerformanceOptions.h>
29#include <aws/ec2/model/OperatorResponse.h>
30#include <aws/ec2/model/InstanceState.h>
31#include <aws/ec2/model/InstanceType.h>
32#include <aws/ec2/model/Placement.h>
33#include <aws/ec2/model/PlatformValues.h>
34#include <aws/ec2/model/Monitoring.h>
35#include <aws/ec2/model/InstanceBlockDeviceMapping.h>
36#include <aws/ec2/model/ElasticGpuAssociation.h>
37#include <aws/ec2/model/ElasticInferenceAcceleratorAssociation.h>
38#include <aws/ec2/model/InstanceNetworkInterface.h>
39#include <aws/ec2/model/GroupIdentifier.h>
40#include <aws/ec2/model/Tag.h>
41#include <aws/ec2/model/LicenseConfiguration.h>
42#include <aws/ec2/model/ProductCode.h>
43#include <utility>
44
45namespace Aws
46{
47namespace Utils
48{
49namespace Xml
50{
51 class XmlNode;
52} // namespace Xml
53} // namespace Utils
54namespace EC2
55{
56namespace Model
57{
58
65 {
66 public:
67 AWS_EC2_API Instance() = default;
68 AWS_EC2_API Instance(const Aws::Utils::Xml::XmlNode& xmlNode);
69 AWS_EC2_API Instance& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
70
71 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
72 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
73
74
76
79 inline ArchitectureValues GetArchitecture() const { return m_architecture; }
80 inline bool ArchitectureHasBeenSet() const { return m_architectureHasBeenSet; }
81 inline void SetArchitecture(ArchitectureValues value) { m_architectureHasBeenSet = true; m_architecture = value; }
82 inline Instance& WithArchitecture(ArchitectureValues value) { SetArchitecture(value); return *this;}
84
86
89 inline const Aws::Vector<InstanceBlockDeviceMapping>& GetBlockDeviceMappings() const { return m_blockDeviceMappings; }
90 inline bool BlockDeviceMappingsHasBeenSet() const { return m_blockDeviceMappingsHasBeenSet; }
91 template<typename BlockDeviceMappingsT = Aws::Vector<InstanceBlockDeviceMapping>>
92 void SetBlockDeviceMappings(BlockDeviceMappingsT&& value) { m_blockDeviceMappingsHasBeenSet = true; m_blockDeviceMappings = std::forward<BlockDeviceMappingsT>(value); }
93 template<typename BlockDeviceMappingsT = Aws::Vector<InstanceBlockDeviceMapping>>
94 Instance& WithBlockDeviceMappings(BlockDeviceMappingsT&& value) { SetBlockDeviceMappings(std::forward<BlockDeviceMappingsT>(value)); return *this;}
95 template<typename BlockDeviceMappingsT = InstanceBlockDeviceMapping>
96 Instance& AddBlockDeviceMappings(BlockDeviceMappingsT&& value) { m_blockDeviceMappingsHasBeenSet = true; m_blockDeviceMappings.emplace_back(std::forward<BlockDeviceMappingsT>(value)); return *this; }
98
100
104 inline const Aws::String& GetClientToken() const { return m_clientToken; }
105 inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; }
106 template<typename ClientTokenT = Aws::String>
107 void SetClientToken(ClientTokenT&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::forward<ClientTokenT>(value); }
108 template<typename ClientTokenT = Aws::String>
109 Instance& WithClientToken(ClientTokenT&& value) { SetClientToken(std::forward<ClientTokenT>(value)); return *this;}
111
113
120 inline bool GetEbsOptimized() const { return m_ebsOptimized; }
121 inline bool EbsOptimizedHasBeenSet() const { return m_ebsOptimizedHasBeenSet; }
122 inline void SetEbsOptimized(bool value) { m_ebsOptimizedHasBeenSet = true; m_ebsOptimized = value; }
123 inline Instance& WithEbsOptimized(bool value) { SetEbsOptimized(value); return *this;}
125
127
130 inline bool GetEnaSupport() const { return m_enaSupport; }
131 inline bool EnaSupportHasBeenSet() const { return m_enaSupportHasBeenSet; }
132 inline void SetEnaSupport(bool value) { m_enaSupportHasBeenSet = true; m_enaSupport = value; }
133 inline Instance& WithEnaSupport(bool value) { SetEnaSupport(value); return *this;}
135
137
141 inline HypervisorType GetHypervisor() const { return m_hypervisor; }
142 inline bool HypervisorHasBeenSet() const { return m_hypervisorHasBeenSet; }
143 inline void SetHypervisor(HypervisorType value) { m_hypervisorHasBeenSet = true; m_hypervisor = value; }
144 inline Instance& WithHypervisor(HypervisorType value) { SetHypervisor(value); return *this;}
146
148
151 inline const IamInstanceProfile& GetIamInstanceProfile() const { return m_iamInstanceProfile; }
152 inline bool IamInstanceProfileHasBeenSet() const { return m_iamInstanceProfileHasBeenSet; }
153 template<typename IamInstanceProfileT = IamInstanceProfile>
154 void SetIamInstanceProfile(IamInstanceProfileT&& value) { m_iamInstanceProfileHasBeenSet = true; m_iamInstanceProfile = std::forward<IamInstanceProfileT>(value); }
155 template<typename IamInstanceProfileT = IamInstanceProfile>
156 Instance& WithIamInstanceProfile(IamInstanceProfileT&& value) { SetIamInstanceProfile(std::forward<IamInstanceProfileT>(value)); return *this;}
158
160
163 inline InstanceLifecycleType GetInstanceLifecycle() const { return m_instanceLifecycle; }
164 inline bool InstanceLifecycleHasBeenSet() const { return m_instanceLifecycleHasBeenSet; }
165 inline void SetInstanceLifecycle(InstanceLifecycleType value) { m_instanceLifecycleHasBeenSet = true; m_instanceLifecycle = value; }
168
170
174 inline const Aws::Vector<ElasticGpuAssociation>& GetElasticGpuAssociations() const { return m_elasticGpuAssociations; }
175 inline bool ElasticGpuAssociationsHasBeenSet() const { return m_elasticGpuAssociationsHasBeenSet; }
176 template<typename ElasticGpuAssociationsT = Aws::Vector<ElasticGpuAssociation>>
177 void SetElasticGpuAssociations(ElasticGpuAssociationsT&& value) { m_elasticGpuAssociationsHasBeenSet = true; m_elasticGpuAssociations = std::forward<ElasticGpuAssociationsT>(value); }
178 template<typename ElasticGpuAssociationsT = Aws::Vector<ElasticGpuAssociation>>
179 Instance& WithElasticGpuAssociations(ElasticGpuAssociationsT&& value) { SetElasticGpuAssociations(std::forward<ElasticGpuAssociationsT>(value)); return *this;}
180 template<typename ElasticGpuAssociationsT = ElasticGpuAssociation>
181 Instance& AddElasticGpuAssociations(ElasticGpuAssociationsT&& value) { m_elasticGpuAssociationsHasBeenSet = true; m_elasticGpuAssociations.emplace_back(std::forward<ElasticGpuAssociationsT>(value)); return *this; }
183
185
189 inline const Aws::Vector<ElasticInferenceAcceleratorAssociation>& GetElasticInferenceAcceleratorAssociations() const { return m_elasticInferenceAcceleratorAssociations; }
190 inline bool ElasticInferenceAcceleratorAssociationsHasBeenSet() const { return m_elasticInferenceAcceleratorAssociationsHasBeenSet; }
191 template<typename ElasticInferenceAcceleratorAssociationsT = Aws::Vector<ElasticInferenceAcceleratorAssociation>>
192 void SetElasticInferenceAcceleratorAssociations(ElasticInferenceAcceleratorAssociationsT&& value) { m_elasticInferenceAcceleratorAssociationsHasBeenSet = true; m_elasticInferenceAcceleratorAssociations = std::forward<ElasticInferenceAcceleratorAssociationsT>(value); }
193 template<typename ElasticInferenceAcceleratorAssociationsT = Aws::Vector<ElasticInferenceAcceleratorAssociation>>
194 Instance& WithElasticInferenceAcceleratorAssociations(ElasticInferenceAcceleratorAssociationsT&& value) { SetElasticInferenceAcceleratorAssociations(std::forward<ElasticInferenceAcceleratorAssociationsT>(value)); return *this;}
195 template<typename ElasticInferenceAcceleratorAssociationsT = ElasticInferenceAcceleratorAssociation>
196 Instance& AddElasticInferenceAcceleratorAssociations(ElasticInferenceAcceleratorAssociationsT&& value) { m_elasticInferenceAcceleratorAssociationsHasBeenSet = true; m_elasticInferenceAcceleratorAssociations.emplace_back(std::forward<ElasticInferenceAcceleratorAssociationsT>(value)); return *this; }
198
200
203 inline const Aws::Vector<InstanceNetworkInterface>& GetNetworkInterfaces() const { return m_networkInterfaces; }
204 inline bool NetworkInterfacesHasBeenSet() const { return m_networkInterfacesHasBeenSet; }
205 template<typename NetworkInterfacesT = Aws::Vector<InstanceNetworkInterface>>
206 void SetNetworkInterfaces(NetworkInterfacesT&& value) { m_networkInterfacesHasBeenSet = true; m_networkInterfaces = std::forward<NetworkInterfacesT>(value); }
207 template<typename NetworkInterfacesT = Aws::Vector<InstanceNetworkInterface>>
208 Instance& WithNetworkInterfaces(NetworkInterfacesT&& value) { SetNetworkInterfaces(std::forward<NetworkInterfacesT>(value)); return *this;}
209 template<typename NetworkInterfacesT = InstanceNetworkInterface>
210 Instance& AddNetworkInterfaces(NetworkInterfacesT&& value) { m_networkInterfacesHasBeenSet = true; m_networkInterfaces.emplace_back(std::forward<NetworkInterfacesT>(value)); return *this; }
212
214
217 inline const Aws::String& GetOutpostArn() const { return m_outpostArn; }
218 inline bool OutpostArnHasBeenSet() const { return m_outpostArnHasBeenSet; }
219 template<typename OutpostArnT = Aws::String>
220 void SetOutpostArn(OutpostArnT&& value) { m_outpostArnHasBeenSet = true; m_outpostArn = std::forward<OutpostArnT>(value); }
221 template<typename OutpostArnT = Aws::String>
222 Instance& WithOutpostArn(OutpostArnT&& value) { SetOutpostArn(std::forward<OutpostArnT>(value)); return *this;}
224
226
230 inline const Aws::String& GetRootDeviceName() const { return m_rootDeviceName; }
231 inline bool RootDeviceNameHasBeenSet() const { return m_rootDeviceNameHasBeenSet; }
232 template<typename RootDeviceNameT = Aws::String>
233 void SetRootDeviceName(RootDeviceNameT&& value) { m_rootDeviceNameHasBeenSet = true; m_rootDeviceName = std::forward<RootDeviceNameT>(value); }
234 template<typename RootDeviceNameT = Aws::String>
235 Instance& WithRootDeviceName(RootDeviceNameT&& value) { SetRootDeviceName(std::forward<RootDeviceNameT>(value)); return *this;}
237
239
243 inline DeviceType GetRootDeviceType() const { return m_rootDeviceType; }
244 inline bool RootDeviceTypeHasBeenSet() const { return m_rootDeviceTypeHasBeenSet; }
245 inline void SetRootDeviceType(DeviceType value) { m_rootDeviceTypeHasBeenSet = true; m_rootDeviceType = value; }
246 inline Instance& WithRootDeviceType(DeviceType value) { SetRootDeviceType(value); return *this;}
248
250
253 inline const Aws::Vector<GroupIdentifier>& GetSecurityGroups() const { return m_securityGroups; }
254 inline bool SecurityGroupsHasBeenSet() const { return m_securityGroupsHasBeenSet; }
255 template<typename SecurityGroupsT = Aws::Vector<GroupIdentifier>>
256 void SetSecurityGroups(SecurityGroupsT&& value) { m_securityGroupsHasBeenSet = true; m_securityGroups = std::forward<SecurityGroupsT>(value); }
257 template<typename SecurityGroupsT = Aws::Vector<GroupIdentifier>>
258 Instance& WithSecurityGroups(SecurityGroupsT&& value) { SetSecurityGroups(std::forward<SecurityGroupsT>(value)); return *this;}
259 template<typename SecurityGroupsT = GroupIdentifier>
260 Instance& AddSecurityGroups(SecurityGroupsT&& value) { m_securityGroupsHasBeenSet = true; m_securityGroups.emplace_back(std::forward<SecurityGroupsT>(value)); return *this; }
262
264
267 inline bool GetSourceDestCheck() const { return m_sourceDestCheck; }
268 inline bool SourceDestCheckHasBeenSet() const { return m_sourceDestCheckHasBeenSet; }
269 inline void SetSourceDestCheck(bool value) { m_sourceDestCheckHasBeenSet = true; m_sourceDestCheck = value; }
270 inline Instance& WithSourceDestCheck(bool value) { SetSourceDestCheck(value); return *this;}
272
274
277 inline const Aws::String& GetSpotInstanceRequestId() const { return m_spotInstanceRequestId; }
278 inline bool SpotInstanceRequestIdHasBeenSet() const { return m_spotInstanceRequestIdHasBeenSet; }
279 template<typename SpotInstanceRequestIdT = Aws::String>
280 void SetSpotInstanceRequestId(SpotInstanceRequestIdT&& value) { m_spotInstanceRequestIdHasBeenSet = true; m_spotInstanceRequestId = std::forward<SpotInstanceRequestIdT>(value); }
281 template<typename SpotInstanceRequestIdT = Aws::String>
282 Instance& WithSpotInstanceRequestId(SpotInstanceRequestIdT&& value) { SetSpotInstanceRequestId(std::forward<SpotInstanceRequestIdT>(value)); return *this;}
284
286
290 inline const Aws::String& GetSriovNetSupport() const { return m_sriovNetSupport; }
291 inline bool SriovNetSupportHasBeenSet() const { return m_sriovNetSupportHasBeenSet; }
292 template<typename SriovNetSupportT = Aws::String>
293 void SetSriovNetSupport(SriovNetSupportT&& value) { m_sriovNetSupportHasBeenSet = true; m_sriovNetSupport = std::forward<SriovNetSupportT>(value); }
294 template<typename SriovNetSupportT = Aws::String>
295 Instance& WithSriovNetSupport(SriovNetSupportT&& value) { SetSriovNetSupport(std::forward<SriovNetSupportT>(value)); return *this;}
297
299
302 inline const StateReason& GetStateReason() const { return m_stateReason; }
303 inline bool StateReasonHasBeenSet() const { return m_stateReasonHasBeenSet; }
304 template<typename StateReasonT = StateReason>
305 void SetStateReason(StateReasonT&& value) { m_stateReasonHasBeenSet = true; m_stateReason = std::forward<StateReasonT>(value); }
306 template<typename StateReasonT = StateReason>
307 Instance& WithStateReason(StateReasonT&& value) { SetStateReason(std::forward<StateReasonT>(value)); return *this;}
309
311
314 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
315 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
316 template<typename TagsT = Aws::Vector<Tag>>
317 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
318 template<typename TagsT = Aws::Vector<Tag>>
319 Instance& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
320 template<typename TagsT = Tag>
321 Instance& AddTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags.emplace_back(std::forward<TagsT>(value)); return *this; }
323
325
328 inline VirtualizationType GetVirtualizationType() const { return m_virtualizationType; }
329 inline bool VirtualizationTypeHasBeenSet() const { return m_virtualizationTypeHasBeenSet; }
330 inline void SetVirtualizationType(VirtualizationType value) { m_virtualizationTypeHasBeenSet = true; m_virtualizationType = value; }
333
335
338 inline const CpuOptions& GetCpuOptions() const { return m_cpuOptions; }
339 inline bool CpuOptionsHasBeenSet() const { return m_cpuOptionsHasBeenSet; }
340 template<typename CpuOptionsT = CpuOptions>
341 void SetCpuOptions(CpuOptionsT&& value) { m_cpuOptionsHasBeenSet = true; m_cpuOptions = std::forward<CpuOptionsT>(value); }
342 template<typename CpuOptionsT = CpuOptions>
343 Instance& WithCpuOptions(CpuOptionsT&& value) { SetCpuOptions(std::forward<CpuOptionsT>(value)); return *this;}
345
347
352 inline const Aws::String& GetCapacityBlockId() const { return m_capacityBlockId; }
353 inline bool CapacityBlockIdHasBeenSet() const { return m_capacityBlockIdHasBeenSet; }
354 template<typename CapacityBlockIdT = Aws::String>
355 void SetCapacityBlockId(CapacityBlockIdT&& value) { m_capacityBlockIdHasBeenSet = true; m_capacityBlockId = std::forward<CapacityBlockIdT>(value); }
356 template<typename CapacityBlockIdT = Aws::String>
357 Instance& WithCapacityBlockId(CapacityBlockIdT&& value) { SetCapacityBlockId(std::forward<CapacityBlockIdT>(value)); return *this;}
359
361
364 inline const Aws::String& GetCapacityReservationId() const { return m_capacityReservationId; }
365 inline bool CapacityReservationIdHasBeenSet() const { return m_capacityReservationIdHasBeenSet; }
366 template<typename CapacityReservationIdT = Aws::String>
367 void SetCapacityReservationId(CapacityReservationIdT&& value) { m_capacityReservationIdHasBeenSet = true; m_capacityReservationId = std::forward<CapacityReservationIdT>(value); }
368 template<typename CapacityReservationIdT = Aws::String>
369 Instance& WithCapacityReservationId(CapacityReservationIdT&& value) { SetCapacityReservationId(std::forward<CapacityReservationIdT>(value)); return *this;}
371
373
376 inline const CapacityReservationSpecificationResponse& GetCapacityReservationSpecification() const { return m_capacityReservationSpecification; }
377 inline bool CapacityReservationSpecificationHasBeenSet() const { return m_capacityReservationSpecificationHasBeenSet; }
378 template<typename CapacityReservationSpecificationT = CapacityReservationSpecificationResponse>
379 void SetCapacityReservationSpecification(CapacityReservationSpecificationT&& value) { m_capacityReservationSpecificationHasBeenSet = true; m_capacityReservationSpecification = std::forward<CapacityReservationSpecificationT>(value); }
380 template<typename CapacityReservationSpecificationT = CapacityReservationSpecificationResponse>
381 Instance& WithCapacityReservationSpecification(CapacityReservationSpecificationT&& value) { SetCapacityReservationSpecification(std::forward<CapacityReservationSpecificationT>(value)); return *this;}
383
385
388 inline const HibernationOptions& GetHibernationOptions() const { return m_hibernationOptions; }
389 inline bool HibernationOptionsHasBeenSet() const { return m_hibernationOptionsHasBeenSet; }
390 template<typename HibernationOptionsT = HibernationOptions>
391 void SetHibernationOptions(HibernationOptionsT&& value) { m_hibernationOptionsHasBeenSet = true; m_hibernationOptions = std::forward<HibernationOptionsT>(value); }
392 template<typename HibernationOptionsT = HibernationOptions>
393 Instance& WithHibernationOptions(HibernationOptionsT&& value) { SetHibernationOptions(std::forward<HibernationOptionsT>(value)); return *this;}
395
397
400 inline const Aws::Vector<LicenseConfiguration>& GetLicenses() const { return m_licenses; }
401 inline bool LicensesHasBeenSet() const { return m_licensesHasBeenSet; }
402 template<typename LicensesT = Aws::Vector<LicenseConfiguration>>
403 void SetLicenses(LicensesT&& value) { m_licensesHasBeenSet = true; m_licenses = std::forward<LicensesT>(value); }
404 template<typename LicensesT = Aws::Vector<LicenseConfiguration>>
405 Instance& WithLicenses(LicensesT&& value) { SetLicenses(std::forward<LicensesT>(value)); return *this;}
406 template<typename LicensesT = LicenseConfiguration>
407 Instance& AddLicenses(LicensesT&& value) { m_licensesHasBeenSet = true; m_licenses.emplace_back(std::forward<LicensesT>(value)); return *this; }
409
411
414 inline const InstanceMetadataOptionsResponse& GetMetadataOptions() const { return m_metadataOptions; }
415 inline bool MetadataOptionsHasBeenSet() const { return m_metadataOptionsHasBeenSet; }
416 template<typename MetadataOptionsT = InstanceMetadataOptionsResponse>
417 void SetMetadataOptions(MetadataOptionsT&& value) { m_metadataOptionsHasBeenSet = true; m_metadataOptions = std::forward<MetadataOptionsT>(value); }
418 template<typename MetadataOptionsT = InstanceMetadataOptionsResponse>
419 Instance& WithMetadataOptions(MetadataOptionsT&& value) { SetMetadataOptions(std::forward<MetadataOptionsT>(value)); return *this;}
421
423
427 inline const EnclaveOptions& GetEnclaveOptions() const { return m_enclaveOptions; }
428 inline bool EnclaveOptionsHasBeenSet() const { return m_enclaveOptionsHasBeenSet; }
429 template<typename EnclaveOptionsT = EnclaveOptions>
430 void SetEnclaveOptions(EnclaveOptionsT&& value) { m_enclaveOptionsHasBeenSet = true; m_enclaveOptions = std::forward<EnclaveOptionsT>(value); }
431 template<typename EnclaveOptionsT = EnclaveOptions>
432 Instance& WithEnclaveOptions(EnclaveOptionsT&& value) { SetEnclaveOptions(std::forward<EnclaveOptionsT>(value)); return *this;}
434
436
446 inline BootModeValues GetBootMode() const { return m_bootMode; }
447 inline bool BootModeHasBeenSet() const { return m_bootModeHasBeenSet; }
448 inline void SetBootMode(BootModeValues value) { m_bootModeHasBeenSet = true; m_bootMode = value; }
449 inline Instance& WithBootMode(BootModeValues value) { SetBootMode(value); return *this;}
451
453
458 inline const Aws::String& GetPlatformDetails() const { return m_platformDetails; }
459 inline bool PlatformDetailsHasBeenSet() const { return m_platformDetailsHasBeenSet; }
460 template<typename PlatformDetailsT = Aws::String>
461 void SetPlatformDetails(PlatformDetailsT&& value) { m_platformDetailsHasBeenSet = true; m_platformDetails = std::forward<PlatformDetailsT>(value); }
462 template<typename PlatformDetailsT = Aws::String>
463 Instance& WithPlatformDetails(PlatformDetailsT&& value) { SetPlatformDetails(std::forward<PlatformDetailsT>(value)); return *this;}
465
467
472 inline const Aws::String& GetUsageOperation() const { return m_usageOperation; }
473 inline bool UsageOperationHasBeenSet() const { return m_usageOperationHasBeenSet; }
474 template<typename UsageOperationT = Aws::String>
475 void SetUsageOperation(UsageOperationT&& value) { m_usageOperationHasBeenSet = true; m_usageOperation = std::forward<UsageOperationT>(value); }
476 template<typename UsageOperationT = Aws::String>
477 Instance& WithUsageOperation(UsageOperationT&& value) { SetUsageOperation(std::forward<UsageOperationT>(value)); return *this;}
479
481
484 inline const Aws::Utils::DateTime& GetUsageOperationUpdateTime() const { return m_usageOperationUpdateTime; }
485 inline bool UsageOperationUpdateTimeHasBeenSet() const { return m_usageOperationUpdateTimeHasBeenSet; }
486 template<typename UsageOperationUpdateTimeT = Aws::Utils::DateTime>
487 void SetUsageOperationUpdateTime(UsageOperationUpdateTimeT&& value) { m_usageOperationUpdateTimeHasBeenSet = true; m_usageOperationUpdateTime = std::forward<UsageOperationUpdateTimeT>(value); }
488 template<typename UsageOperationUpdateTimeT = Aws::Utils::DateTime>
489 Instance& WithUsageOperationUpdateTime(UsageOperationUpdateTimeT&& value) { SetUsageOperationUpdateTime(std::forward<UsageOperationUpdateTimeT>(value)); return *this;}
491
493
496 inline const PrivateDnsNameOptionsResponse& GetPrivateDnsNameOptions() const { return m_privateDnsNameOptions; }
497 inline bool PrivateDnsNameOptionsHasBeenSet() const { return m_privateDnsNameOptionsHasBeenSet; }
498 template<typename PrivateDnsNameOptionsT = PrivateDnsNameOptionsResponse>
499 void SetPrivateDnsNameOptions(PrivateDnsNameOptionsT&& value) { m_privateDnsNameOptionsHasBeenSet = true; m_privateDnsNameOptions = std::forward<PrivateDnsNameOptionsT>(value); }
500 template<typename PrivateDnsNameOptionsT = PrivateDnsNameOptionsResponse>
501 Instance& WithPrivateDnsNameOptions(PrivateDnsNameOptionsT&& value) { SetPrivateDnsNameOptions(std::forward<PrivateDnsNameOptionsT>(value)); return *this;}
503
505
508 inline const Aws::String& GetIpv6Address() const { return m_ipv6Address; }
509 inline bool Ipv6AddressHasBeenSet() const { return m_ipv6AddressHasBeenSet; }
510 template<typename Ipv6AddressT = Aws::String>
511 void SetIpv6Address(Ipv6AddressT&& value) { m_ipv6AddressHasBeenSet = true; m_ipv6Address = std::forward<Ipv6AddressT>(value); }
512 template<typename Ipv6AddressT = Aws::String>
513 Instance& WithIpv6Address(Ipv6AddressT&& value) { SetIpv6Address(std::forward<Ipv6AddressT>(value)); return *this;}
515
517
523 inline const Aws::String& GetTpmSupport() const { return m_tpmSupport; }
524 inline bool TpmSupportHasBeenSet() const { return m_tpmSupportHasBeenSet; }
525 template<typename TpmSupportT = Aws::String>
526 void SetTpmSupport(TpmSupportT&& value) { m_tpmSupportHasBeenSet = true; m_tpmSupport = std::forward<TpmSupportT>(value); }
527 template<typename TpmSupportT = Aws::String>
528 Instance& WithTpmSupport(TpmSupportT&& value) { SetTpmSupport(std::forward<TpmSupportT>(value)); return *this;}
530
532
536 inline const InstanceMaintenanceOptions& GetMaintenanceOptions() const { return m_maintenanceOptions; }
537 inline bool MaintenanceOptionsHasBeenSet() const { return m_maintenanceOptionsHasBeenSet; }
538 template<typename MaintenanceOptionsT = InstanceMaintenanceOptions>
539 void SetMaintenanceOptions(MaintenanceOptionsT&& value) { m_maintenanceOptionsHasBeenSet = true; m_maintenanceOptions = std::forward<MaintenanceOptionsT>(value); }
540 template<typename MaintenanceOptionsT = InstanceMaintenanceOptions>
541 Instance& WithMaintenanceOptions(MaintenanceOptionsT&& value) { SetMaintenanceOptions(std::forward<MaintenanceOptionsT>(value)); return *this;}
543
545
551 inline InstanceBootModeValues GetCurrentInstanceBootMode() const { return m_currentInstanceBootMode; }
552 inline bool CurrentInstanceBootModeHasBeenSet() const { return m_currentInstanceBootModeHasBeenSet; }
553 inline void SetCurrentInstanceBootMode(InstanceBootModeValues value) { m_currentInstanceBootModeHasBeenSet = true; m_currentInstanceBootMode = value; }
556
558
561 inline const InstanceNetworkPerformanceOptions& GetNetworkPerformanceOptions() const { return m_networkPerformanceOptions; }
562 inline bool NetworkPerformanceOptionsHasBeenSet() const { return m_networkPerformanceOptionsHasBeenSet; }
563 template<typename NetworkPerformanceOptionsT = InstanceNetworkPerformanceOptions>
564 void SetNetworkPerformanceOptions(NetworkPerformanceOptionsT&& value) { m_networkPerformanceOptionsHasBeenSet = true; m_networkPerformanceOptions = std::forward<NetworkPerformanceOptionsT>(value); }
565 template<typename NetworkPerformanceOptionsT = InstanceNetworkPerformanceOptions>
566 Instance& WithNetworkPerformanceOptions(NetworkPerformanceOptionsT&& value) { SetNetworkPerformanceOptions(std::forward<NetworkPerformanceOptionsT>(value)); return *this;}
568
570
573 inline const OperatorResponse& GetOperator() const { return m_operator; }
574 inline bool OperatorHasBeenSet() const { return m_operatorHasBeenSet; }
575 template<typename OperatorT = OperatorResponse>
576 void SetOperator(OperatorT&& value) { m_operatorHasBeenSet = true; m_operator = std::forward<OperatorT>(value); }
577 template<typename OperatorT = OperatorResponse>
578 Instance& WithOperator(OperatorT&& value) { SetOperator(std::forward<OperatorT>(value)); return *this;}
580
582
585 inline const Aws::String& GetInstanceId() const { return m_instanceId; }
586 inline bool InstanceIdHasBeenSet() const { return m_instanceIdHasBeenSet; }
587 template<typename InstanceIdT = Aws::String>
588 void SetInstanceId(InstanceIdT&& value) { m_instanceIdHasBeenSet = true; m_instanceId = std::forward<InstanceIdT>(value); }
589 template<typename InstanceIdT = Aws::String>
590 Instance& WithInstanceId(InstanceIdT&& value) { SetInstanceId(std::forward<InstanceIdT>(value)); return *this;}
592
594
597 inline const Aws::String& GetImageId() const { return m_imageId; }
598 inline bool ImageIdHasBeenSet() const { return m_imageIdHasBeenSet; }
599 template<typename ImageIdT = Aws::String>
600 void SetImageId(ImageIdT&& value) { m_imageIdHasBeenSet = true; m_imageId = std::forward<ImageIdT>(value); }
601 template<typename ImageIdT = Aws::String>
602 Instance& WithImageId(ImageIdT&& value) { SetImageId(std::forward<ImageIdT>(value)); return *this;}
604
606
609 inline const InstanceState& GetState() const { return m_state; }
610 inline bool StateHasBeenSet() const { return m_stateHasBeenSet; }
611 template<typename StateT = InstanceState>
612 void SetState(StateT&& value) { m_stateHasBeenSet = true; m_state = std::forward<StateT>(value); }
613 template<typename StateT = InstanceState>
614 Instance& WithState(StateT&& value) { SetState(std::forward<StateT>(value)); return *this;}
616
618
627 inline const Aws::String& GetPrivateDnsName() const { return m_privateDnsName; }
628 inline bool PrivateDnsNameHasBeenSet() const { return m_privateDnsNameHasBeenSet; }
629 template<typename PrivateDnsNameT = Aws::String>
630 void SetPrivateDnsName(PrivateDnsNameT&& value) { m_privateDnsNameHasBeenSet = true; m_privateDnsName = std::forward<PrivateDnsNameT>(value); }
631 template<typename PrivateDnsNameT = Aws::String>
632 Instance& WithPrivateDnsName(PrivateDnsNameT&& value) { SetPrivateDnsName(std::forward<PrivateDnsNameT>(value)); return *this;}
634
636
644 inline const Aws::String& GetPublicDnsName() const { return m_publicDnsName; }
645 inline bool PublicDnsNameHasBeenSet() const { return m_publicDnsNameHasBeenSet; }
646 template<typename PublicDnsNameT = Aws::String>
647 void SetPublicDnsName(PublicDnsNameT&& value) { m_publicDnsNameHasBeenSet = true; m_publicDnsName = std::forward<PublicDnsNameT>(value); }
648 template<typename PublicDnsNameT = Aws::String>
649 Instance& WithPublicDnsName(PublicDnsNameT&& value) { SetPublicDnsName(std::forward<PublicDnsNameT>(value)); return *this;}
651
653
657 inline const Aws::String& GetStateTransitionReason() const { return m_stateTransitionReason; }
658 inline bool StateTransitionReasonHasBeenSet() const { return m_stateTransitionReasonHasBeenSet; }
659 template<typename StateTransitionReasonT = Aws::String>
660 void SetStateTransitionReason(StateTransitionReasonT&& value) { m_stateTransitionReasonHasBeenSet = true; m_stateTransitionReason = std::forward<StateTransitionReasonT>(value); }
661 template<typename StateTransitionReasonT = Aws::String>
662 Instance& WithStateTransitionReason(StateTransitionReasonT&& value) { SetStateTransitionReason(std::forward<StateTransitionReasonT>(value)); return *this;}
664
666
670 inline const Aws::String& GetKeyName() const { return m_keyName; }
671 inline bool KeyNameHasBeenSet() const { return m_keyNameHasBeenSet; }
672 template<typename KeyNameT = Aws::String>
673 void SetKeyName(KeyNameT&& value) { m_keyNameHasBeenSet = true; m_keyName = std::forward<KeyNameT>(value); }
674 template<typename KeyNameT = Aws::String>
675 Instance& WithKeyName(KeyNameT&& value) { SetKeyName(std::forward<KeyNameT>(value)); return *this;}
677
679
683 inline int GetAmiLaunchIndex() const { return m_amiLaunchIndex; }
684 inline bool AmiLaunchIndexHasBeenSet() const { return m_amiLaunchIndexHasBeenSet; }
685 inline void SetAmiLaunchIndex(int value) { m_amiLaunchIndexHasBeenSet = true; m_amiLaunchIndex = value; }
686 inline Instance& WithAmiLaunchIndex(int value) { SetAmiLaunchIndex(value); return *this;}
688
690
693 inline const Aws::Vector<ProductCode>& GetProductCodes() const { return m_productCodes; }
694 inline bool ProductCodesHasBeenSet() const { return m_productCodesHasBeenSet; }
695 template<typename ProductCodesT = Aws::Vector<ProductCode>>
696 void SetProductCodes(ProductCodesT&& value) { m_productCodesHasBeenSet = true; m_productCodes = std::forward<ProductCodesT>(value); }
697 template<typename ProductCodesT = Aws::Vector<ProductCode>>
698 Instance& WithProductCodes(ProductCodesT&& value) { SetProductCodes(std::forward<ProductCodesT>(value)); return *this;}
699 template<typename ProductCodesT = ProductCode>
700 Instance& AddProductCodes(ProductCodesT&& value) { m_productCodesHasBeenSet = true; m_productCodes.emplace_back(std::forward<ProductCodesT>(value)); return *this; }
702
704
707 inline InstanceType GetInstanceType() const { return m_instanceType; }
708 inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; }
709 inline void SetInstanceType(InstanceType value) { m_instanceTypeHasBeenSet = true; m_instanceType = value; }
710 inline Instance& WithInstanceType(InstanceType value) { SetInstanceType(value); return *this;}
712
714
719 inline const Aws::Utils::DateTime& GetLaunchTime() const { return m_launchTime; }
720 inline bool LaunchTimeHasBeenSet() const { return m_launchTimeHasBeenSet; }
721 template<typename LaunchTimeT = Aws::Utils::DateTime>
722 void SetLaunchTime(LaunchTimeT&& value) { m_launchTimeHasBeenSet = true; m_launchTime = std::forward<LaunchTimeT>(value); }
723 template<typename LaunchTimeT = Aws::Utils::DateTime>
724 Instance& WithLaunchTime(LaunchTimeT&& value) { SetLaunchTime(std::forward<LaunchTimeT>(value)); return *this;}
726
728
731 inline const Placement& GetPlacement() const { return m_placement; }
732 inline bool PlacementHasBeenSet() const { return m_placementHasBeenSet; }
733 template<typename PlacementT = Placement>
734 void SetPlacement(PlacementT&& value) { m_placementHasBeenSet = true; m_placement = std::forward<PlacementT>(value); }
735 template<typename PlacementT = Placement>
736 Instance& WithPlacement(PlacementT&& value) { SetPlacement(std::forward<PlacementT>(value)); return *this;}
738
740
743 inline const Aws::String& GetKernelId() const { return m_kernelId; }
744 inline bool KernelIdHasBeenSet() const { return m_kernelIdHasBeenSet; }
745 template<typename KernelIdT = Aws::String>
746 void SetKernelId(KernelIdT&& value) { m_kernelIdHasBeenSet = true; m_kernelId = std::forward<KernelIdT>(value); }
747 template<typename KernelIdT = Aws::String>
748 Instance& WithKernelId(KernelIdT&& value) { SetKernelId(std::forward<KernelIdT>(value)); return *this;}
750
752
755 inline const Aws::String& GetRamdiskId() const { return m_ramdiskId; }
756 inline bool RamdiskIdHasBeenSet() const { return m_ramdiskIdHasBeenSet; }
757 template<typename RamdiskIdT = Aws::String>
758 void SetRamdiskId(RamdiskIdT&& value) { m_ramdiskIdHasBeenSet = true; m_ramdiskId = std::forward<RamdiskIdT>(value); }
759 template<typename RamdiskIdT = Aws::String>
760 Instance& WithRamdiskId(RamdiskIdT&& value) { SetRamdiskId(std::forward<RamdiskIdT>(value)); return *this;}
762
764
768 inline PlatformValues GetPlatform() const { return m_platform; }
769 inline bool PlatformHasBeenSet() const { return m_platformHasBeenSet; }
770 inline void SetPlatform(PlatformValues value) { m_platformHasBeenSet = true; m_platform = value; }
771 inline Instance& WithPlatform(PlatformValues value) { SetPlatform(value); return *this;}
773
775
778 inline const Monitoring& GetMonitoring() const { return m_monitoring; }
779 inline bool MonitoringHasBeenSet() const { return m_monitoringHasBeenSet; }
780 template<typename MonitoringT = Monitoring>
781 void SetMonitoring(MonitoringT&& value) { m_monitoringHasBeenSet = true; m_monitoring = std::forward<MonitoringT>(value); }
782 template<typename MonitoringT = Monitoring>
783 Instance& WithMonitoring(MonitoringT&& value) { SetMonitoring(std::forward<MonitoringT>(value)); return *this;}
785
787
790 inline const Aws::String& GetSubnetId() const { return m_subnetId; }
791 inline bool SubnetIdHasBeenSet() const { return m_subnetIdHasBeenSet; }
792 template<typename SubnetIdT = Aws::String>
793 void SetSubnetId(SubnetIdT&& value) { m_subnetIdHasBeenSet = true; m_subnetId = std::forward<SubnetIdT>(value); }
794 template<typename SubnetIdT = Aws::String>
795 Instance& WithSubnetId(SubnetIdT&& value) { SetSubnetId(std::forward<SubnetIdT>(value)); return *this;}
797
799
802 inline const Aws::String& GetVpcId() const { return m_vpcId; }
803 inline bool VpcIdHasBeenSet() const { return m_vpcIdHasBeenSet; }
804 template<typename VpcIdT = Aws::String>
805 void SetVpcId(VpcIdT&& value) { m_vpcIdHasBeenSet = true; m_vpcId = std::forward<VpcIdT>(value); }
806 template<typename VpcIdT = Aws::String>
807 Instance& WithVpcId(VpcIdT&& value) { SetVpcId(std::forward<VpcIdT>(value)); return *this;}
809
811
814 inline const Aws::String& GetPrivateIpAddress() const { return m_privateIpAddress; }
815 inline bool PrivateIpAddressHasBeenSet() const { return m_privateIpAddressHasBeenSet; }
816 template<typename PrivateIpAddressT = Aws::String>
817 void SetPrivateIpAddress(PrivateIpAddressT&& value) { m_privateIpAddressHasBeenSet = true; m_privateIpAddress = std::forward<PrivateIpAddressT>(value); }
818 template<typename PrivateIpAddressT = Aws::String>
819 Instance& WithPrivateIpAddress(PrivateIpAddressT&& value) { SetPrivateIpAddress(std::forward<PrivateIpAddressT>(value)); return *this;}
821
823
828 inline const Aws::String& GetPublicIpAddress() const { return m_publicIpAddress; }
829 inline bool PublicIpAddressHasBeenSet() const { return m_publicIpAddressHasBeenSet; }
830 template<typename PublicIpAddressT = Aws::String>
831 void SetPublicIpAddress(PublicIpAddressT&& value) { m_publicIpAddressHasBeenSet = true; m_publicIpAddress = std::forward<PublicIpAddressT>(value); }
832 template<typename PublicIpAddressT = Aws::String>
833 Instance& WithPublicIpAddress(PublicIpAddressT&& value) { SetPublicIpAddress(std::forward<PublicIpAddressT>(value)); return *this;}
835 private:
836
838 bool m_architectureHasBeenSet = false;
839
840 Aws::Vector<InstanceBlockDeviceMapping> m_blockDeviceMappings;
841 bool m_blockDeviceMappingsHasBeenSet = false;
842
843 Aws::String m_clientToken;
844 bool m_clientTokenHasBeenSet = false;
845
846 bool m_ebsOptimized{false};
847 bool m_ebsOptimizedHasBeenSet = false;
848
849 bool m_enaSupport{false};
850 bool m_enaSupportHasBeenSet = false;
851
853 bool m_hypervisorHasBeenSet = false;
854
855 IamInstanceProfile m_iamInstanceProfile;
856 bool m_iamInstanceProfileHasBeenSet = false;
857
859 bool m_instanceLifecycleHasBeenSet = false;
860
861 Aws::Vector<ElasticGpuAssociation> m_elasticGpuAssociations;
862 bool m_elasticGpuAssociationsHasBeenSet = false;
863
864 Aws::Vector<ElasticInferenceAcceleratorAssociation> m_elasticInferenceAcceleratorAssociations;
865 bool m_elasticInferenceAcceleratorAssociationsHasBeenSet = false;
866
867 Aws::Vector<InstanceNetworkInterface> m_networkInterfaces;
868 bool m_networkInterfacesHasBeenSet = false;
869
870 Aws::String m_outpostArn;
871 bool m_outpostArnHasBeenSet = false;
872
873 Aws::String m_rootDeviceName;
874 bool m_rootDeviceNameHasBeenSet = false;
875
876 DeviceType m_rootDeviceType{DeviceType::NOT_SET};
877 bool m_rootDeviceTypeHasBeenSet = false;
878
879 Aws::Vector<GroupIdentifier> m_securityGroups;
880 bool m_securityGroupsHasBeenSet = false;
881
882 bool m_sourceDestCheck{false};
883 bool m_sourceDestCheckHasBeenSet = false;
884
885 Aws::String m_spotInstanceRequestId;
886 bool m_spotInstanceRequestIdHasBeenSet = false;
887
888 Aws::String m_sriovNetSupport;
889 bool m_sriovNetSupportHasBeenSet = false;
890
891 StateReason m_stateReason;
892 bool m_stateReasonHasBeenSet = false;
893
894 Aws::Vector<Tag> m_tags;
895 bool m_tagsHasBeenSet = false;
896
898 bool m_virtualizationTypeHasBeenSet = false;
899
900 CpuOptions m_cpuOptions;
901 bool m_cpuOptionsHasBeenSet = false;
902
903 Aws::String m_capacityBlockId;
904 bool m_capacityBlockIdHasBeenSet = false;
905
906 Aws::String m_capacityReservationId;
907 bool m_capacityReservationIdHasBeenSet = false;
908
909 CapacityReservationSpecificationResponse m_capacityReservationSpecification;
910 bool m_capacityReservationSpecificationHasBeenSet = false;
911
912 HibernationOptions m_hibernationOptions;
913 bool m_hibernationOptionsHasBeenSet = false;
914
916 bool m_licensesHasBeenSet = false;
917
918 InstanceMetadataOptionsResponse m_metadataOptions;
919 bool m_metadataOptionsHasBeenSet = false;
920
921 EnclaveOptions m_enclaveOptions;
922 bool m_enclaveOptionsHasBeenSet = false;
923
925 bool m_bootModeHasBeenSet = false;
926
927 Aws::String m_platformDetails;
928 bool m_platformDetailsHasBeenSet = false;
929
930 Aws::String m_usageOperation;
931 bool m_usageOperationHasBeenSet = false;
932
933 Aws::Utils::DateTime m_usageOperationUpdateTime{};
934 bool m_usageOperationUpdateTimeHasBeenSet = false;
935
936 PrivateDnsNameOptionsResponse m_privateDnsNameOptions;
937 bool m_privateDnsNameOptionsHasBeenSet = false;
938
939 Aws::String m_ipv6Address;
940 bool m_ipv6AddressHasBeenSet = false;
941
942 Aws::String m_tpmSupport;
943 bool m_tpmSupportHasBeenSet = false;
944
945 InstanceMaintenanceOptions m_maintenanceOptions;
946 bool m_maintenanceOptionsHasBeenSet = false;
947
949 bool m_currentInstanceBootModeHasBeenSet = false;
950
951 InstanceNetworkPerformanceOptions m_networkPerformanceOptions;
952 bool m_networkPerformanceOptionsHasBeenSet = false;
953
954 OperatorResponse m_operator;
955 bool m_operatorHasBeenSet = false;
956
957 Aws::String m_instanceId;
958 bool m_instanceIdHasBeenSet = false;
959
960 Aws::String m_imageId;
961 bool m_imageIdHasBeenSet = false;
962
963 InstanceState m_state;
964 bool m_stateHasBeenSet = false;
965
966 Aws::String m_privateDnsName;
967 bool m_privateDnsNameHasBeenSet = false;
968
969 Aws::String m_publicDnsName;
970 bool m_publicDnsNameHasBeenSet = false;
971
972 Aws::String m_stateTransitionReason;
973 bool m_stateTransitionReasonHasBeenSet = false;
974
975 Aws::String m_keyName;
976 bool m_keyNameHasBeenSet = false;
977
978 int m_amiLaunchIndex{0};
979 bool m_amiLaunchIndexHasBeenSet = false;
980
981 Aws::Vector<ProductCode> m_productCodes;
982 bool m_productCodesHasBeenSet = false;
983
984 InstanceType m_instanceType{InstanceType::NOT_SET};
985 bool m_instanceTypeHasBeenSet = false;
986
987 Aws::Utils::DateTime m_launchTime{};
988 bool m_launchTimeHasBeenSet = false;
989
990 Placement m_placement;
991 bool m_placementHasBeenSet = false;
992
993 Aws::String m_kernelId;
994 bool m_kernelIdHasBeenSet = false;
995
996 Aws::String m_ramdiskId;
997 bool m_ramdiskIdHasBeenSet = false;
998
1000 bool m_platformHasBeenSet = false;
1001
1002 Monitoring m_monitoring;
1003 bool m_monitoringHasBeenSet = false;
1004
1005 Aws::String m_subnetId;
1006 bool m_subnetIdHasBeenSet = false;
1007
1008 Aws::String m_vpcId;
1009 bool m_vpcIdHasBeenSet = false;
1010
1011 Aws::String m_privateIpAddress;
1012 bool m_privateIpAddressHasBeenSet = false;
1013
1014 Aws::String m_publicIpAddress;
1015 bool m_publicIpAddressHasBeenSet = false;
1016 };
1017
1018} // namespace Model
1019} // namespace EC2
1020} // namespace Aws
void SetStateTransitionReason(StateTransitionReasonT &&value)
Definition Instance.h:660
const Aws::Vector< InstanceBlockDeviceMapping > & GetBlockDeviceMappings() const
Definition Instance.h:89
Instance & WithVirtualizationType(VirtualizationType value)
Definition Instance.h:331
bool StateTransitionReasonHasBeenSet() const
Definition Instance.h:658
void SetProductCodes(ProductCodesT &&value)
Definition Instance.h:696
const Aws::String & GetCapacityBlockId() const
Definition Instance.h:352
ArchitectureValues GetArchitecture() const
Definition Instance.h:79
Instance & WithTags(TagsT &&value)
Definition Instance.h:319
Instance & WithPrivateDnsName(PrivateDnsNameT &&value)
Definition Instance.h:632
bool RootDeviceNameHasBeenSet() const
Definition Instance.h:231
Instance & WithClientToken(ClientTokenT &&value)
Definition Instance.h:109
bool PrivateDnsNameOptionsHasBeenSet() const
Definition Instance.h:497
const InstanceState & GetState() const
Definition Instance.h:609
void SetLicenses(LicensesT &&value)
Definition Instance.h:403
void SetState(StateT &&value)
Definition Instance.h:612
void SetPlatformDetails(PlatformDetailsT &&value)
Definition Instance.h:461
Instance & WithProductCodes(ProductCodesT &&value)
Definition Instance.h:698
Instance & WithLaunchTime(LaunchTimeT &&value)
Definition Instance.h:724
Instance & WithCapacityBlockId(CapacityBlockIdT &&value)
Definition Instance.h:357
bool ElasticInferenceAcceleratorAssociationsHasBeenSet() const
Definition Instance.h:190
Instance & WithMetadataOptions(MetadataOptionsT &&value)
Definition Instance.h:419
Instance & AddTags(TagsT &&value)
Definition Instance.h:321
bool BlockDeviceMappingsHasBeenSet() const
Definition Instance.h:90
Instance & WithVpcId(VpcIdT &&value)
Definition Instance.h:807
void SetClientToken(ClientTokenT &&value)
Definition Instance.h:107
bool GetEnaSupport() const
Definition Instance.h:130
const Aws::String & GetKeyName() const
Definition Instance.h:670
void SetOperator(OperatorT &&value)
Definition Instance.h:576
const Aws::String & GetIpv6Address() const
Definition Instance.h:508
void SetBootMode(BootModeValues value)
Definition Instance.h:448
bool LicensesHasBeenSet() const
Definition Instance.h:401
Instance & WithLicenses(LicensesT &&value)
Definition Instance.h:405
Instance & WithCpuOptions(CpuOptionsT &&value)
Definition Instance.h:343
HypervisorType GetHypervisor() const
Definition Instance.h:141
bool CapacityBlockIdHasBeenSet() const
Definition Instance.h:353
bool Ipv6AddressHasBeenSet() const
Definition Instance.h:509
bool HibernationOptionsHasBeenSet() const
Definition Instance.h:389
VirtualizationType GetVirtualizationType() const
Definition Instance.h:328
AWS_EC2_API Instance()=default
Instance & AddElasticGpuAssociations(ElasticGpuAssociationsT &&value)
Definition Instance.h:181
bool KeyNameHasBeenSet() const
Definition Instance.h:671
bool PlatformDetailsHasBeenSet() const
Definition Instance.h:459
const Aws::Vector< LicenseConfiguration > & GetLicenses() const
Definition Instance.h:400
void SetEnaSupport(bool value)
Definition Instance.h:132
Instance & AddProductCodes(ProductCodesT &&value)
Definition Instance.h:700
const Aws::Vector< ProductCode > & GetProductCodes() const
Definition Instance.h:693
const Aws::String & GetVpcId() const
Definition Instance.h:802
PlatformValues GetPlatform() const
Definition Instance.h:768
Instance & WithSourceDestCheck(bool value)
Definition Instance.h:270
bool CurrentInstanceBootModeHasBeenSet() const
Definition Instance.h:552
const Aws::Vector< ElasticGpuAssociation > & GetElasticGpuAssociations() const
Definition Instance.h:174
void SetInstanceType(InstanceType value)
Definition Instance.h:709
Instance & WithRamdiskId(RamdiskIdT &&value)
Definition Instance.h:760
void SetElasticInferenceAcceleratorAssociations(ElasticInferenceAcceleratorAssociationsT &&value)
Definition Instance.h:192
const OperatorResponse & GetOperator() const
Definition Instance.h:573
Instance & WithArchitecture(ArchitectureValues value)
Definition Instance.h:82
Instance & WithImageId(ImageIdT &&value)
Definition Instance.h:602
Instance & WithPrivateDnsNameOptions(PrivateDnsNameOptionsT &&value)
Definition Instance.h:501
bool EnaSupportHasBeenSet() const
Definition Instance.h:131
void SetUsageOperationUpdateTime(UsageOperationUpdateTimeT &&value)
Definition Instance.h:487
Instance & WithHibernationOptions(HibernationOptionsT &&value)
Definition Instance.h:393
const Aws::String & GetCapacityReservationId() const
Definition Instance.h:364
Instance & WithStateTransitionReason(StateTransitionReasonT &&value)
Definition Instance.h:662
const StateReason & GetStateReason() const
Definition Instance.h:302
const Aws::String & GetPrivateDnsName() const
Definition Instance.h:627
bool MonitoringHasBeenSet() const
Definition Instance.h:779
Instance & WithSubnetId(SubnetIdT &&value)
Definition Instance.h:795
bool AmiLaunchIndexHasBeenSet() const
Definition Instance.h:684
void SetKeyName(KeyNameT &&value)
Definition Instance.h:673
Instance & WithPublicDnsName(PublicDnsNameT &&value)
Definition Instance.h:649
Instance & WithCapacityReservationId(CapacityReservationIdT &&value)
Definition Instance.h:369
bool InstanceLifecycleHasBeenSet() const
Definition Instance.h:164
void SetRamdiskId(RamdiskIdT &&value)
Definition Instance.h:758
bool PublicIpAddressHasBeenSet() const
Definition Instance.h:829
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
const Aws::String & GetPublicDnsName() const
Definition Instance.h:644
void SetMetadataOptions(MetadataOptionsT &&value)
Definition Instance.h:417
const Aws::Utils::DateTime & GetUsageOperationUpdateTime() const
Definition Instance.h:484
bool NetworkPerformanceOptionsHasBeenSet() const
Definition Instance.h:562
Instance & WithCurrentInstanceBootMode(InstanceBootModeValues value)
Definition Instance.h:554
const Aws::String & GetOutpostArn() const
Definition Instance.h:217
void SetPrivateDnsName(PrivateDnsNameT &&value)
Definition Instance.h:630
void SetOutpostArn(OutpostArnT &&value)
Definition Instance.h:220
Instance & WithMonitoring(MonitoringT &&value)
Definition Instance.h:783
const Aws::String & GetPublicIpAddress() const
Definition Instance.h:828
const Placement & GetPlacement() const
Definition Instance.h:731
void SetPrivateDnsNameOptions(PrivateDnsNameOptionsT &&value)
Definition Instance.h:499
void SetImageId(ImageIdT &&value)
Definition Instance.h:600
Instance & WithBlockDeviceMappings(BlockDeviceMappingsT &&value)
Definition Instance.h:94
Instance & WithHypervisor(HypervisorType value)
Definition Instance.h:144
Instance & AddSecurityGroups(SecurityGroupsT &&value)
Definition Instance.h:260
bool SubnetIdHasBeenSet() const
Definition Instance.h:791
const Aws::String & GetKernelId() const
Definition Instance.h:743
Instance & AddElasticInferenceAcceleratorAssociations(ElasticInferenceAcceleratorAssociationsT &&value)
Definition Instance.h:196
Instance & WithBootMode(BootModeValues value)
Definition Instance.h:449
InstanceType GetInstanceType() const
Definition Instance.h:707
void SetIamInstanceProfile(IamInstanceProfileT &&value)
Definition Instance.h:154
Instance & WithRootDeviceName(RootDeviceNameT &&value)
Definition Instance.h:235
void SetEnclaveOptions(EnclaveOptionsT &&value)
Definition Instance.h:430
bool LaunchTimeHasBeenSet() const
Definition Instance.h:720
bool CapacityReservationSpecificationHasBeenSet() const
Definition Instance.h:377
void SetRootDeviceName(RootDeviceNameT &&value)
Definition Instance.h:233
Instance & WithElasticGpuAssociations(ElasticGpuAssociationsT &&value)
Definition Instance.h:179
bool PublicDnsNameHasBeenSet() const
Definition Instance.h:645
bool TagsHasBeenSet() const
Definition Instance.h:315
const Aws::Utils::DateTime & GetLaunchTime() const
Definition Instance.h:719
bool SriovNetSupportHasBeenSet() const
Definition Instance.h:291
bool RootDeviceTypeHasBeenSet() const
Definition Instance.h:244
const Aws::String & GetSriovNetSupport() const
Definition Instance.h:290
const Aws::String & GetRootDeviceName() const
Definition Instance.h:230
Instance & WithStateReason(StateReasonT &&value)
Definition Instance.h:307
void SetSecurityGroups(SecurityGroupsT &&value)
Definition Instance.h:256
const Aws::String & GetImageId() const
Definition Instance.h:597
bool PrivateIpAddressHasBeenSet() const
Definition Instance.h:815
Instance & WithKernelId(KernelIdT &&value)
Definition Instance.h:748
void SetInstanceLifecycle(InstanceLifecycleType value)
Definition Instance.h:165
Instance & WithOutpostArn(OutpostArnT &&value)
Definition Instance.h:222
Instance & WithEnaSupport(bool value)
Definition Instance.h:133
Instance & WithSecurityGroups(SecurityGroupsT &&value)
Definition Instance.h:258
int GetAmiLaunchIndex() const
Definition Instance.h:683
const InstanceMaintenanceOptions & GetMaintenanceOptions() const
Definition Instance.h:536
Instance & WithOperator(OperatorT &&value)
Definition Instance.h:578
void SetTpmSupport(TpmSupportT &&value)
Definition Instance.h:526
bool InstanceIdHasBeenSet() const
Definition Instance.h:586
void SetInstanceId(InstanceIdT &&value)
Definition Instance.h:588
const Aws::Vector< Tag > & GetTags() const
Definition Instance.h:314
bool EbsOptimizedHasBeenSet() const
Definition Instance.h:121
bool GetEbsOptimized() const
Definition Instance.h:120
void SetRootDeviceType(DeviceType value)
Definition Instance.h:245
bool SpotInstanceRequestIdHasBeenSet() const
Definition Instance.h:278
Instance & WithInstanceId(InstanceIdT &&value)
Definition Instance.h:590
Instance & WithUsageOperation(UsageOperationT &&value)
Definition Instance.h:477
bool TpmSupportHasBeenSet() const
Definition Instance.h:524
bool CpuOptionsHasBeenSet() const
Definition Instance.h:339
bool SourceDestCheckHasBeenSet() const
Definition Instance.h:268
bool ClientTokenHasBeenSet() const
Definition Instance.h:105
Instance & WithInstanceLifecycle(InstanceLifecycleType value)
Definition Instance.h:166
const Aws::String & GetRamdiskId() const
Definition Instance.h:755
bool VpcIdHasBeenSet() const
Definition Instance.h:803
Instance & WithNetworkPerformanceOptions(NetworkPerformanceOptionsT &&value)
Definition Instance.h:566
void SetCapacityReservationId(CapacityReservationIdT &&value)
Definition Instance.h:367
void SetPlatform(PlatformValues value)
Definition Instance.h:770
void SetVpcId(VpcIdT &&value)
Definition Instance.h:805
void SetPublicIpAddress(PublicIpAddressT &&value)
Definition Instance.h:831
const Aws::String & GetPrivateIpAddress() const
Definition Instance.h:814
bool OperatorHasBeenSet() const
Definition Instance.h:574
bool PrivateDnsNameHasBeenSet() const
Definition Instance.h:628
bool StateReasonHasBeenSet() const
Definition Instance.h:303
void SetLaunchTime(LaunchTimeT &&value)
Definition Instance.h:722
Instance & WithInstanceType(InstanceType value)
Definition Instance.h:710
void SetVirtualizationType(VirtualizationType value)
Definition Instance.h:330
const EnclaveOptions & GetEnclaveOptions() const
Definition Instance.h:427
void SetNetworkPerformanceOptions(NetworkPerformanceOptionsT &&value)
Definition Instance.h:564
bool EnclaveOptionsHasBeenSet() const
Definition Instance.h:428
AWS_EC2_API Instance & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
const HibernationOptions & GetHibernationOptions() const
Definition Instance.h:388
const Aws::String & GetSubnetId() const
Definition Instance.h:790
Instance & AddNetworkInterfaces(NetworkInterfacesT &&value)
Definition Instance.h:210
const IamInstanceProfile & GetIamInstanceProfile() const
Definition Instance.h:151
void SetSriovNetSupport(SriovNetSupportT &&value)
Definition Instance.h:293
bool ImageIdHasBeenSet() const
Definition Instance.h:598
void SetSpotInstanceRequestId(SpotInstanceRequestIdT &&value)
Definition Instance.h:280
const PrivateDnsNameOptionsResponse & GetPrivateDnsNameOptions() const
Definition Instance.h:496
void SetPlacement(PlacementT &&value)
Definition Instance.h:734
void SetTags(TagsT &&value)
Definition Instance.h:317
bool MaintenanceOptionsHasBeenSet() const
Definition Instance.h:537
void SetHibernationOptions(HibernationOptionsT &&value)
Definition Instance.h:391
bool ArchitectureHasBeenSet() const
Definition Instance.h:80
const Aws::Vector< GroupIdentifier > & GetSecurityGroups() const
Definition Instance.h:253
void SetEbsOptimized(bool value)
Definition Instance.h:122
Instance & WithPlacement(PlacementT &&value)
Definition Instance.h:736
Instance & AddBlockDeviceMappings(BlockDeviceMappingsT &&value)
Definition Instance.h:96
const InstanceNetworkPerformanceOptions & GetNetworkPerformanceOptions() const
Definition Instance.h:561
void SetElasticGpuAssociations(ElasticGpuAssociationsT &&value)
Definition Instance.h:177
const Aws::Vector< InstanceNetworkInterface > & GetNetworkInterfaces() const
Definition Instance.h:203
bool VirtualizationTypeHasBeenSet() const
Definition Instance.h:329
Instance & WithIpv6Address(Ipv6AddressT &&value)
Definition Instance.h:513
bool BootModeHasBeenSet() const
Definition Instance.h:447
const CpuOptions & GetCpuOptions() const
Definition Instance.h:338
const Aws::String & GetPlatformDetails() const
Definition Instance.h:458
bool ElasticGpuAssociationsHasBeenSet() const
Definition Instance.h:175
void SetCapacityReservationSpecification(CapacityReservationSpecificationT &&value)
Definition Instance.h:379
Instance & WithAmiLaunchIndex(int value)
Definition Instance.h:686
Instance & WithState(StateT &&value)
Definition Instance.h:614
Instance & WithSriovNetSupport(SriovNetSupportT &&value)
Definition Instance.h:295
Instance & WithKeyName(KeyNameT &&value)
Definition Instance.h:675
bool MetadataOptionsHasBeenSet() const
Definition Instance.h:415
const InstanceMetadataOptionsResponse & GetMetadataOptions() const
Definition Instance.h:414
void SetNetworkInterfaces(NetworkInterfacesT &&value)
Definition Instance.h:206
const Aws::String & GetUsageOperation() const
Definition Instance.h:472
Instance & WithCapacityReservationSpecification(CapacityReservationSpecificationT &&value)
Definition Instance.h:381
void SetSubnetId(SubnetIdT &&value)
Definition Instance.h:793
void SetKernelId(KernelIdT &&value)
Definition Instance.h:746
bool StateHasBeenSet() const
Definition Instance.h:610
Instance & WithElasticInferenceAcceleratorAssociations(ElasticInferenceAcceleratorAssociationsT &&value)
Definition Instance.h:194
bool UsageOperationUpdateTimeHasBeenSet() const
Definition Instance.h:485
bool InstanceTypeHasBeenSet() const
Definition Instance.h:708
void SetPrivateIpAddress(PrivateIpAddressT &&value)
Definition Instance.h:817
bool PlacementHasBeenSet() const
Definition Instance.h:732
DeviceType GetRootDeviceType() const
Definition Instance.h:243
bool HypervisorHasBeenSet() const
Definition Instance.h:142
void SetCpuOptions(CpuOptionsT &&value)
Definition Instance.h:341
void SetSourceDestCheck(bool value)
Definition Instance.h:269
Instance & WithPlatformDetails(PlatformDetailsT &&value)
Definition Instance.h:463
bool KernelIdHasBeenSet() const
Definition Instance.h:744
Instance & WithUsageOperationUpdateTime(UsageOperationUpdateTimeT &&value)
Definition Instance.h:489
const Aws::String & GetStateTransitionReason() const
Definition Instance.h:657
bool RamdiskIdHasBeenSet() const
Definition Instance.h:756
void SetStateReason(StateReasonT &&value)
Definition Instance.h:305
bool SecurityGroupsHasBeenSet() const
Definition Instance.h:254
InstanceBootModeValues GetCurrentInstanceBootMode() const
Definition Instance.h:551
bool ProductCodesHasBeenSet() const
Definition Instance.h:694
bool OutpostArnHasBeenSet() const
Definition Instance.h:218
void SetUsageOperation(UsageOperationT &&value)
Definition Instance.h:475
bool UsageOperationHasBeenSet() const
Definition Instance.h:473
const Monitoring & GetMonitoring() const
Definition Instance.h:778
const Aws::Vector< ElasticInferenceAcceleratorAssociation > & GetElasticInferenceAcceleratorAssociations() const
Definition Instance.h:189
const Aws::String & GetSpotInstanceRequestId() const
Definition Instance.h:277
void SetAmiLaunchIndex(int value)
Definition Instance.h:685
bool PlatformHasBeenSet() const
Definition Instance.h:769
bool GetSourceDestCheck() const
Definition Instance.h:267
InstanceLifecycleType GetInstanceLifecycle() const
Definition Instance.h:163
void SetCapacityBlockId(CapacityBlockIdT &&value)
Definition Instance.h:355
const Aws::String & GetInstanceId() const
Definition Instance.h:585
void SetIpv6Address(Ipv6AddressT &&value)
Definition Instance.h:511
Instance & WithEbsOptimized(bool value)
Definition Instance.h:123
Instance & WithMaintenanceOptions(MaintenanceOptionsT &&value)
Definition Instance.h:541
Instance & WithRootDeviceType(DeviceType value)
Definition Instance.h:246
void SetMaintenanceOptions(MaintenanceOptionsT &&value)
Definition Instance.h:539
void SetArchitecture(ArchitectureValues value)
Definition Instance.h:81
Instance & AddLicenses(LicensesT &&value)
Definition Instance.h:407
Instance & WithIamInstanceProfile(IamInstanceProfileT &&value)
Definition Instance.h:156
Instance & WithNetworkInterfaces(NetworkInterfacesT &&value)
Definition Instance.h:208
bool IamInstanceProfileHasBeenSet() const
Definition Instance.h:152
bool NetworkInterfacesHasBeenSet() const
Definition Instance.h:204
const Aws::String & GetClientToken() const
Definition Instance.h:104
BootModeValues GetBootMode() const
Definition Instance.h:446
Instance & WithPublicIpAddress(PublicIpAddressT &&value)
Definition Instance.h:833
Instance & WithSpotInstanceRequestId(SpotInstanceRequestIdT &&value)
Definition Instance.h:282
Instance & WithPlatform(PlatformValues value)
Definition Instance.h:771
Instance & WithPrivateIpAddress(PrivateIpAddressT &&value)
Definition Instance.h:819
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
void SetPublicDnsName(PublicDnsNameT &&value)
Definition Instance.h:647
bool CapacityReservationIdHasBeenSet() const
Definition Instance.h:365
void SetHypervisor(HypervisorType value)
Definition Instance.h:143
AWS_EC2_API Instance(const Aws::Utils::Xml::XmlNode &xmlNode)
Instance & WithEnclaveOptions(EnclaveOptionsT &&value)
Definition Instance.h:432
Instance & WithTpmSupport(TpmSupportT &&value)
Definition Instance.h:528
void SetBlockDeviceMappings(BlockDeviceMappingsT &&value)
Definition Instance.h:92
void SetCurrentInstanceBootMode(InstanceBootModeValues value)
Definition Instance.h:553
const CapacityReservationSpecificationResponse & GetCapacityReservationSpecification() const
Definition Instance.h:376
const Aws::String & GetTpmSupport() const
Definition Instance.h:523
void SetMonitoring(MonitoringT &&value)
Definition Instance.h:781
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