AWS SDK for C++

AWS SDK for C++ Version 1.11.745

Loading...
Searching...
No Matches
Instance.h
1
6#pragma once
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>
44
45#include <utility>
46
47namespace Aws {
48namespace Utils {
49namespace Xml {
50class XmlNode;
51} // namespace Xml
52} // namespace Utils
53namespace EC2 {
54namespace Model {
55
61class Instance {
62 public:
63 AWS_EC2_API Instance() = default;
64 AWS_EC2_API Instance(const Aws::Utils::Xml::XmlNode& xmlNode);
65 AWS_EC2_API Instance& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
66
67 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
68 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
69
71
74 inline ArchitectureValues GetArchitecture() const { return m_architecture; }
75 inline bool ArchitectureHasBeenSet() const { return m_architectureHasBeenSet; }
77 m_architectureHasBeenSet = true;
78 m_architecture = value;
79 }
81 SetArchitecture(value);
82 return *this;
83 }
85
87
90 inline const Aws::Vector<InstanceBlockDeviceMapping>& GetBlockDeviceMappings() const { return m_blockDeviceMappings; }
91 inline bool BlockDeviceMappingsHasBeenSet() const { return m_blockDeviceMappingsHasBeenSet; }
92 template <typename BlockDeviceMappingsT = Aws::Vector<InstanceBlockDeviceMapping>>
93 void SetBlockDeviceMappings(BlockDeviceMappingsT&& value) {
94 m_blockDeviceMappingsHasBeenSet = true;
95 m_blockDeviceMappings = std::forward<BlockDeviceMappingsT>(value);
96 }
97 template <typename BlockDeviceMappingsT = Aws::Vector<InstanceBlockDeviceMapping>>
98 Instance& WithBlockDeviceMappings(BlockDeviceMappingsT&& value) {
99 SetBlockDeviceMappings(std::forward<BlockDeviceMappingsT>(value));
100 return *this;
101 }
102 template <typename BlockDeviceMappingsT = InstanceBlockDeviceMapping>
103 Instance& AddBlockDeviceMappings(BlockDeviceMappingsT&& value) {
104 m_blockDeviceMappingsHasBeenSet = true;
105 m_blockDeviceMappings.emplace_back(std::forward<BlockDeviceMappingsT>(value));
106 return *this;
107 }
109
111
115 inline const Aws::String& GetClientToken() const { return m_clientToken; }
116 inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; }
117 template <typename ClientTokenT = Aws::String>
118 void SetClientToken(ClientTokenT&& value) {
119 m_clientTokenHasBeenSet = true;
120 m_clientToken = std::forward<ClientTokenT>(value);
121 }
122 template <typename ClientTokenT = Aws::String>
123 Instance& WithClientToken(ClientTokenT&& value) {
124 SetClientToken(std::forward<ClientTokenT>(value));
125 return *this;
126 }
128
130
137 inline bool GetEbsOptimized() const { return m_ebsOptimized; }
138 inline bool EbsOptimizedHasBeenSet() const { return m_ebsOptimizedHasBeenSet; }
139 inline void SetEbsOptimized(bool value) {
140 m_ebsOptimizedHasBeenSet = true;
141 m_ebsOptimized = value;
142 }
143 inline Instance& WithEbsOptimized(bool value) {
144 SetEbsOptimized(value);
145 return *this;
146 }
148
150
153 inline bool GetEnaSupport() const { return m_enaSupport; }
154 inline bool EnaSupportHasBeenSet() const { return m_enaSupportHasBeenSet; }
155 inline void SetEnaSupport(bool value) {
156 m_enaSupportHasBeenSet = true;
157 m_enaSupport = value;
158 }
159 inline Instance& WithEnaSupport(bool value) {
160 SetEnaSupport(value);
161 return *this;
162 }
164
166
170 inline HypervisorType GetHypervisor() const { return m_hypervisor; }
171 inline bool HypervisorHasBeenSet() const { return m_hypervisorHasBeenSet; }
172 inline void SetHypervisor(HypervisorType value) {
173 m_hypervisorHasBeenSet = true;
174 m_hypervisor = value;
175 }
177 SetHypervisor(value);
178 return *this;
179 }
181
183
186 inline const IamInstanceProfile& GetIamInstanceProfile() const { return m_iamInstanceProfile; }
187 inline bool IamInstanceProfileHasBeenSet() const { return m_iamInstanceProfileHasBeenSet; }
188 template <typename IamInstanceProfileT = IamInstanceProfile>
189 void SetIamInstanceProfile(IamInstanceProfileT&& value) {
190 m_iamInstanceProfileHasBeenSet = true;
191 m_iamInstanceProfile = std::forward<IamInstanceProfileT>(value);
192 }
193 template <typename IamInstanceProfileT = IamInstanceProfile>
194 Instance& WithIamInstanceProfile(IamInstanceProfileT&& value) {
195 SetIamInstanceProfile(std::forward<IamInstanceProfileT>(value));
196 return *this;
197 }
199
201
204 inline InstanceLifecycleType GetInstanceLifecycle() const { return m_instanceLifecycle; }
205 inline bool InstanceLifecycleHasBeenSet() const { return m_instanceLifecycleHasBeenSet; }
207 m_instanceLifecycleHasBeenSet = true;
208 m_instanceLifecycle = value;
209 }
212 return *this;
213 }
215
217
221 inline const Aws::Vector<ElasticGpuAssociation>& GetElasticGpuAssociations() const { return m_elasticGpuAssociations; }
222 inline bool ElasticGpuAssociationsHasBeenSet() const { return m_elasticGpuAssociationsHasBeenSet; }
223 template <typename ElasticGpuAssociationsT = Aws::Vector<ElasticGpuAssociation>>
224 void SetElasticGpuAssociations(ElasticGpuAssociationsT&& value) {
225 m_elasticGpuAssociationsHasBeenSet = true;
226 m_elasticGpuAssociations = std::forward<ElasticGpuAssociationsT>(value);
227 }
228 template <typename ElasticGpuAssociationsT = Aws::Vector<ElasticGpuAssociation>>
229 Instance& WithElasticGpuAssociations(ElasticGpuAssociationsT&& value) {
230 SetElasticGpuAssociations(std::forward<ElasticGpuAssociationsT>(value));
231 return *this;
232 }
233 template <typename ElasticGpuAssociationsT = ElasticGpuAssociation>
234 Instance& AddElasticGpuAssociations(ElasticGpuAssociationsT&& value) {
235 m_elasticGpuAssociationsHasBeenSet = true;
236 m_elasticGpuAssociations.emplace_back(std::forward<ElasticGpuAssociationsT>(value));
237 return *this;
238 }
240
242
247 return m_elasticInferenceAcceleratorAssociations;
248 }
249 inline bool ElasticInferenceAcceleratorAssociationsHasBeenSet() const { return m_elasticInferenceAcceleratorAssociationsHasBeenSet; }
250 template <typename ElasticInferenceAcceleratorAssociationsT = Aws::Vector<ElasticInferenceAcceleratorAssociation>>
251 void SetElasticInferenceAcceleratorAssociations(ElasticInferenceAcceleratorAssociationsT&& value) {
252 m_elasticInferenceAcceleratorAssociationsHasBeenSet = true;
253 m_elasticInferenceAcceleratorAssociations = std::forward<ElasticInferenceAcceleratorAssociationsT>(value);
254 }
255 template <typename ElasticInferenceAcceleratorAssociationsT = Aws::Vector<ElasticInferenceAcceleratorAssociation>>
256 Instance& WithElasticInferenceAcceleratorAssociations(ElasticInferenceAcceleratorAssociationsT&& value) {
257 SetElasticInferenceAcceleratorAssociations(std::forward<ElasticInferenceAcceleratorAssociationsT>(value));
258 return *this;
259 }
260 template <typename ElasticInferenceAcceleratorAssociationsT = ElasticInferenceAcceleratorAssociation>
261 Instance& AddElasticInferenceAcceleratorAssociations(ElasticInferenceAcceleratorAssociationsT&& value) {
262 m_elasticInferenceAcceleratorAssociationsHasBeenSet = true;
263 m_elasticInferenceAcceleratorAssociations.emplace_back(std::forward<ElasticInferenceAcceleratorAssociationsT>(value));
264 return *this;
265 }
267
269
272 inline const Aws::Vector<InstanceNetworkInterface>& GetNetworkInterfaces() const { return m_networkInterfaces; }
273 inline bool NetworkInterfacesHasBeenSet() const { return m_networkInterfacesHasBeenSet; }
274 template <typename NetworkInterfacesT = Aws::Vector<InstanceNetworkInterface>>
275 void SetNetworkInterfaces(NetworkInterfacesT&& value) {
276 m_networkInterfacesHasBeenSet = true;
277 m_networkInterfaces = std::forward<NetworkInterfacesT>(value);
278 }
279 template <typename NetworkInterfacesT = Aws::Vector<InstanceNetworkInterface>>
280 Instance& WithNetworkInterfaces(NetworkInterfacesT&& value) {
281 SetNetworkInterfaces(std::forward<NetworkInterfacesT>(value));
282 return *this;
283 }
284 template <typename NetworkInterfacesT = InstanceNetworkInterface>
285 Instance& AddNetworkInterfaces(NetworkInterfacesT&& value) {
286 m_networkInterfacesHasBeenSet = true;
287 m_networkInterfaces.emplace_back(std::forward<NetworkInterfacesT>(value));
288 return *this;
289 }
291
293
296 inline const Aws::String& GetOutpostArn() const { return m_outpostArn; }
297 inline bool OutpostArnHasBeenSet() const { return m_outpostArnHasBeenSet; }
298 template <typename OutpostArnT = Aws::String>
299 void SetOutpostArn(OutpostArnT&& value) {
300 m_outpostArnHasBeenSet = true;
301 m_outpostArn = std::forward<OutpostArnT>(value);
302 }
303 template <typename OutpostArnT = Aws::String>
304 Instance& WithOutpostArn(OutpostArnT&& value) {
305 SetOutpostArn(std::forward<OutpostArnT>(value));
306 return *this;
307 }
309
311
315 inline const Aws::String& GetRootDeviceName() const { return m_rootDeviceName; }
316 inline bool RootDeviceNameHasBeenSet() const { return m_rootDeviceNameHasBeenSet; }
317 template <typename RootDeviceNameT = Aws::String>
318 void SetRootDeviceName(RootDeviceNameT&& value) {
319 m_rootDeviceNameHasBeenSet = true;
320 m_rootDeviceName = std::forward<RootDeviceNameT>(value);
321 }
322 template <typename RootDeviceNameT = Aws::String>
323 Instance& WithRootDeviceName(RootDeviceNameT&& value) {
324 SetRootDeviceName(std::forward<RootDeviceNameT>(value));
325 return *this;
326 }
328
330
334 inline DeviceType GetRootDeviceType() const { return m_rootDeviceType; }
335 inline bool RootDeviceTypeHasBeenSet() const { return m_rootDeviceTypeHasBeenSet; }
336 inline void SetRootDeviceType(DeviceType value) {
337 m_rootDeviceTypeHasBeenSet = true;
338 m_rootDeviceType = value;
339 }
341 SetRootDeviceType(value);
342 return *this;
343 }
345
347
350 inline const Aws::Vector<GroupIdentifier>& GetSecurityGroups() const { return m_securityGroups; }
351 inline bool SecurityGroupsHasBeenSet() const { return m_securityGroupsHasBeenSet; }
352 template <typename SecurityGroupsT = Aws::Vector<GroupIdentifier>>
353 void SetSecurityGroups(SecurityGroupsT&& value) {
354 m_securityGroupsHasBeenSet = true;
355 m_securityGroups = std::forward<SecurityGroupsT>(value);
356 }
357 template <typename SecurityGroupsT = Aws::Vector<GroupIdentifier>>
358 Instance& WithSecurityGroups(SecurityGroupsT&& value) {
359 SetSecurityGroups(std::forward<SecurityGroupsT>(value));
360 return *this;
361 }
362 template <typename SecurityGroupsT = GroupIdentifier>
363 Instance& AddSecurityGroups(SecurityGroupsT&& value) {
364 m_securityGroupsHasBeenSet = true;
365 m_securityGroups.emplace_back(std::forward<SecurityGroupsT>(value));
366 return *this;
367 }
369
371
374 inline bool GetSourceDestCheck() const { return m_sourceDestCheck; }
375 inline bool SourceDestCheckHasBeenSet() const { return m_sourceDestCheckHasBeenSet; }
376 inline void SetSourceDestCheck(bool value) {
377 m_sourceDestCheckHasBeenSet = true;
378 m_sourceDestCheck = value;
379 }
380 inline Instance& WithSourceDestCheck(bool value) {
381 SetSourceDestCheck(value);
382 return *this;
383 }
385
387
390 inline const Aws::String& GetSpotInstanceRequestId() const { return m_spotInstanceRequestId; }
391 inline bool SpotInstanceRequestIdHasBeenSet() const { return m_spotInstanceRequestIdHasBeenSet; }
392 template <typename SpotInstanceRequestIdT = Aws::String>
393 void SetSpotInstanceRequestId(SpotInstanceRequestIdT&& value) {
394 m_spotInstanceRequestIdHasBeenSet = true;
395 m_spotInstanceRequestId = std::forward<SpotInstanceRequestIdT>(value);
396 }
397 template <typename SpotInstanceRequestIdT = Aws::String>
398 Instance& WithSpotInstanceRequestId(SpotInstanceRequestIdT&& value) {
399 SetSpotInstanceRequestId(std::forward<SpotInstanceRequestIdT>(value));
400 return *this;
401 }
403
405
409 inline const Aws::String& GetSriovNetSupport() const { return m_sriovNetSupport; }
410 inline bool SriovNetSupportHasBeenSet() const { return m_sriovNetSupportHasBeenSet; }
411 template <typename SriovNetSupportT = Aws::String>
412 void SetSriovNetSupport(SriovNetSupportT&& value) {
413 m_sriovNetSupportHasBeenSet = true;
414 m_sriovNetSupport = std::forward<SriovNetSupportT>(value);
415 }
416 template <typename SriovNetSupportT = Aws::String>
417 Instance& WithSriovNetSupport(SriovNetSupportT&& value) {
418 SetSriovNetSupport(std::forward<SriovNetSupportT>(value));
419 return *this;
420 }
422
424
427 inline const StateReason& GetStateReason() const { return m_stateReason; }
428 inline bool StateReasonHasBeenSet() const { return m_stateReasonHasBeenSet; }
429 template <typename StateReasonT = StateReason>
430 void SetStateReason(StateReasonT&& value) {
431 m_stateReasonHasBeenSet = true;
432 m_stateReason = std::forward<StateReasonT>(value);
433 }
434 template <typename StateReasonT = StateReason>
435 Instance& WithStateReason(StateReasonT&& value) {
436 SetStateReason(std::forward<StateReasonT>(value));
437 return *this;
438 }
440
442
445 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
446 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
447 template <typename TagsT = Aws::Vector<Tag>>
448 void SetTags(TagsT&& value) {
449 m_tagsHasBeenSet = true;
450 m_tags = std::forward<TagsT>(value);
451 }
452 template <typename TagsT = Aws::Vector<Tag>>
453 Instance& WithTags(TagsT&& value) {
454 SetTags(std::forward<TagsT>(value));
455 return *this;
456 }
457 template <typename TagsT = Tag>
458 Instance& AddTags(TagsT&& value) {
459 m_tagsHasBeenSet = true;
460 m_tags.emplace_back(std::forward<TagsT>(value));
461 return *this;
462 }
464
466
469 inline VirtualizationType GetVirtualizationType() const { return m_virtualizationType; }
470 inline bool VirtualizationTypeHasBeenSet() const { return m_virtualizationTypeHasBeenSet; }
472 m_virtualizationTypeHasBeenSet = true;
473 m_virtualizationType = value;
474 }
477 return *this;
478 }
480
482
485 inline const CpuOptions& GetCpuOptions() const { return m_cpuOptions; }
486 inline bool CpuOptionsHasBeenSet() const { return m_cpuOptionsHasBeenSet; }
487 template <typename CpuOptionsT = CpuOptions>
488 void SetCpuOptions(CpuOptionsT&& value) {
489 m_cpuOptionsHasBeenSet = true;
490 m_cpuOptions = std::forward<CpuOptionsT>(value);
491 }
492 template <typename CpuOptionsT = CpuOptions>
493 Instance& WithCpuOptions(CpuOptionsT&& value) {
494 SetCpuOptions(std::forward<CpuOptionsT>(value));
495 return *this;
496 }
498
500
505 inline const Aws::String& GetCapacityBlockId() const { return m_capacityBlockId; }
506 inline bool CapacityBlockIdHasBeenSet() const { return m_capacityBlockIdHasBeenSet; }
507 template <typename CapacityBlockIdT = Aws::String>
508 void SetCapacityBlockId(CapacityBlockIdT&& value) {
509 m_capacityBlockIdHasBeenSet = true;
510 m_capacityBlockId = std::forward<CapacityBlockIdT>(value);
511 }
512 template <typename CapacityBlockIdT = Aws::String>
513 Instance& WithCapacityBlockId(CapacityBlockIdT&& value) {
514 SetCapacityBlockId(std::forward<CapacityBlockIdT>(value));
515 return *this;
516 }
518
520
523 inline const Aws::String& GetCapacityReservationId() const { return m_capacityReservationId; }
524 inline bool CapacityReservationIdHasBeenSet() const { return m_capacityReservationIdHasBeenSet; }
525 template <typename CapacityReservationIdT = Aws::String>
526 void SetCapacityReservationId(CapacityReservationIdT&& value) {
527 m_capacityReservationIdHasBeenSet = true;
528 m_capacityReservationId = std::forward<CapacityReservationIdT>(value);
529 }
530 template <typename CapacityReservationIdT = Aws::String>
531 Instance& WithCapacityReservationId(CapacityReservationIdT&& value) {
532 SetCapacityReservationId(std::forward<CapacityReservationIdT>(value));
533 return *this;
534 }
536
538
542 return m_capacityReservationSpecification;
543 }
544 inline bool CapacityReservationSpecificationHasBeenSet() const { return m_capacityReservationSpecificationHasBeenSet; }
545 template <typename CapacityReservationSpecificationT = CapacityReservationSpecificationResponse>
546 void SetCapacityReservationSpecification(CapacityReservationSpecificationT&& value) {
547 m_capacityReservationSpecificationHasBeenSet = true;
548 m_capacityReservationSpecification = std::forward<CapacityReservationSpecificationT>(value);
549 }
550 template <typename CapacityReservationSpecificationT = CapacityReservationSpecificationResponse>
551 Instance& WithCapacityReservationSpecification(CapacityReservationSpecificationT&& value) {
552 SetCapacityReservationSpecification(std::forward<CapacityReservationSpecificationT>(value));
553 return *this;
554 }
556
558
561 inline const HibernationOptions& GetHibernationOptions() const { return m_hibernationOptions; }
562 inline bool HibernationOptionsHasBeenSet() const { return m_hibernationOptionsHasBeenSet; }
563 template <typename HibernationOptionsT = HibernationOptions>
564 void SetHibernationOptions(HibernationOptionsT&& value) {
565 m_hibernationOptionsHasBeenSet = true;
566 m_hibernationOptions = std::forward<HibernationOptionsT>(value);
567 }
568 template <typename HibernationOptionsT = HibernationOptions>
569 Instance& WithHibernationOptions(HibernationOptionsT&& value) {
570 SetHibernationOptions(std::forward<HibernationOptionsT>(value));
571 return *this;
572 }
574
576
579 inline const Aws::Vector<LicenseConfiguration>& GetLicenses() const { return m_licenses; }
580 inline bool LicensesHasBeenSet() const { return m_licensesHasBeenSet; }
581 template <typename LicensesT = Aws::Vector<LicenseConfiguration>>
582 void SetLicenses(LicensesT&& value) {
583 m_licensesHasBeenSet = true;
584 m_licenses = std::forward<LicensesT>(value);
585 }
586 template <typename LicensesT = Aws::Vector<LicenseConfiguration>>
587 Instance& WithLicenses(LicensesT&& value) {
588 SetLicenses(std::forward<LicensesT>(value));
589 return *this;
590 }
591 template <typename LicensesT = LicenseConfiguration>
592 Instance& AddLicenses(LicensesT&& value) {
593 m_licensesHasBeenSet = true;
594 m_licenses.emplace_back(std::forward<LicensesT>(value));
595 return *this;
596 }
598
600
603 inline const InstanceMetadataOptionsResponse& GetMetadataOptions() const { return m_metadataOptions; }
604 inline bool MetadataOptionsHasBeenSet() const { return m_metadataOptionsHasBeenSet; }
605 template <typename MetadataOptionsT = InstanceMetadataOptionsResponse>
606 void SetMetadataOptions(MetadataOptionsT&& value) {
607 m_metadataOptionsHasBeenSet = true;
608 m_metadataOptions = std::forward<MetadataOptionsT>(value);
609 }
610 template <typename MetadataOptionsT = InstanceMetadataOptionsResponse>
611 Instance& WithMetadataOptions(MetadataOptionsT&& value) {
612 SetMetadataOptions(std::forward<MetadataOptionsT>(value));
613 return *this;
614 }
616
618
622 inline const EnclaveOptions& GetEnclaveOptions() const { return m_enclaveOptions; }
623 inline bool EnclaveOptionsHasBeenSet() const { return m_enclaveOptionsHasBeenSet; }
624 template <typename EnclaveOptionsT = EnclaveOptions>
625 void SetEnclaveOptions(EnclaveOptionsT&& value) {
626 m_enclaveOptionsHasBeenSet = true;
627 m_enclaveOptions = std::forward<EnclaveOptionsT>(value);
628 }
629 template <typename EnclaveOptionsT = EnclaveOptions>
630 Instance& WithEnclaveOptions(EnclaveOptionsT&& value) {
631 SetEnclaveOptions(std::forward<EnclaveOptionsT>(value));
632 return *this;
633 }
635
637
647 inline BootModeValues GetBootMode() const { return m_bootMode; }
648 inline bool BootModeHasBeenSet() const { return m_bootModeHasBeenSet; }
649 inline void SetBootMode(BootModeValues value) {
650 m_bootModeHasBeenSet = true;
651 m_bootMode = value;
652 }
654 SetBootMode(value);
655 return *this;
656 }
658
660
665 inline const Aws::String& GetPlatformDetails() const { return m_platformDetails; }
666 inline bool PlatformDetailsHasBeenSet() const { return m_platformDetailsHasBeenSet; }
667 template <typename PlatformDetailsT = Aws::String>
668 void SetPlatformDetails(PlatformDetailsT&& value) {
669 m_platformDetailsHasBeenSet = true;
670 m_platformDetails = std::forward<PlatformDetailsT>(value);
671 }
672 template <typename PlatformDetailsT = Aws::String>
673 Instance& WithPlatformDetails(PlatformDetailsT&& value) {
674 SetPlatformDetails(std::forward<PlatformDetailsT>(value));
675 return *this;
676 }
678
680
685 inline const Aws::String& GetUsageOperation() const { return m_usageOperation; }
686 inline bool UsageOperationHasBeenSet() const { return m_usageOperationHasBeenSet; }
687 template <typename UsageOperationT = Aws::String>
688 void SetUsageOperation(UsageOperationT&& value) {
689 m_usageOperationHasBeenSet = true;
690 m_usageOperation = std::forward<UsageOperationT>(value);
691 }
692 template <typename UsageOperationT = Aws::String>
693 Instance& WithUsageOperation(UsageOperationT&& value) {
694 SetUsageOperation(std::forward<UsageOperationT>(value));
695 return *this;
696 }
698
700
703 inline const Aws::Utils::DateTime& GetUsageOperationUpdateTime() const { return m_usageOperationUpdateTime; }
704 inline bool UsageOperationUpdateTimeHasBeenSet() const { return m_usageOperationUpdateTimeHasBeenSet; }
705 template <typename UsageOperationUpdateTimeT = Aws::Utils::DateTime>
706 void SetUsageOperationUpdateTime(UsageOperationUpdateTimeT&& value) {
707 m_usageOperationUpdateTimeHasBeenSet = true;
708 m_usageOperationUpdateTime = std::forward<UsageOperationUpdateTimeT>(value);
709 }
710 template <typename UsageOperationUpdateTimeT = Aws::Utils::DateTime>
711 Instance& WithUsageOperationUpdateTime(UsageOperationUpdateTimeT&& value) {
712 SetUsageOperationUpdateTime(std::forward<UsageOperationUpdateTimeT>(value));
713 return *this;
714 }
716
718
721 inline const PrivateDnsNameOptionsResponse& GetPrivateDnsNameOptions() const { return m_privateDnsNameOptions; }
722 inline bool PrivateDnsNameOptionsHasBeenSet() const { return m_privateDnsNameOptionsHasBeenSet; }
723 template <typename PrivateDnsNameOptionsT = PrivateDnsNameOptionsResponse>
724 void SetPrivateDnsNameOptions(PrivateDnsNameOptionsT&& value) {
725 m_privateDnsNameOptionsHasBeenSet = true;
726 m_privateDnsNameOptions = std::forward<PrivateDnsNameOptionsT>(value);
727 }
728 template <typename PrivateDnsNameOptionsT = PrivateDnsNameOptionsResponse>
729 Instance& WithPrivateDnsNameOptions(PrivateDnsNameOptionsT&& value) {
730 SetPrivateDnsNameOptions(std::forward<PrivateDnsNameOptionsT>(value));
731 return *this;
732 }
734
736
739 inline const Aws::String& GetIpv6Address() const { return m_ipv6Address; }
740 inline bool Ipv6AddressHasBeenSet() const { return m_ipv6AddressHasBeenSet; }
741 template <typename Ipv6AddressT = Aws::String>
742 void SetIpv6Address(Ipv6AddressT&& value) {
743 m_ipv6AddressHasBeenSet = true;
744 m_ipv6Address = std::forward<Ipv6AddressT>(value);
745 }
746 template <typename Ipv6AddressT = Aws::String>
747 Instance& WithIpv6Address(Ipv6AddressT&& value) {
748 SetIpv6Address(std::forward<Ipv6AddressT>(value));
749 return *this;
750 }
752
754
760 inline const Aws::String& GetTpmSupport() const { return m_tpmSupport; }
761 inline bool TpmSupportHasBeenSet() const { return m_tpmSupportHasBeenSet; }
762 template <typename TpmSupportT = Aws::String>
763 void SetTpmSupport(TpmSupportT&& value) {
764 m_tpmSupportHasBeenSet = true;
765 m_tpmSupport = std::forward<TpmSupportT>(value);
766 }
767 template <typename TpmSupportT = Aws::String>
768 Instance& WithTpmSupport(TpmSupportT&& value) {
769 SetTpmSupport(std::forward<TpmSupportT>(value));
770 return *this;
771 }
773
775
779 inline const InstanceMaintenanceOptions& GetMaintenanceOptions() const { return m_maintenanceOptions; }
780 inline bool MaintenanceOptionsHasBeenSet() const { return m_maintenanceOptionsHasBeenSet; }
781 template <typename MaintenanceOptionsT = InstanceMaintenanceOptions>
782 void SetMaintenanceOptions(MaintenanceOptionsT&& value) {
783 m_maintenanceOptionsHasBeenSet = true;
784 m_maintenanceOptions = std::forward<MaintenanceOptionsT>(value);
785 }
786 template <typename MaintenanceOptionsT = InstanceMaintenanceOptions>
787 Instance& WithMaintenanceOptions(MaintenanceOptionsT&& value) {
788 SetMaintenanceOptions(std::forward<MaintenanceOptionsT>(value));
789 return *this;
790 }
792
794
800 inline InstanceBootModeValues GetCurrentInstanceBootMode() const { return m_currentInstanceBootMode; }
801 inline bool CurrentInstanceBootModeHasBeenSet() const { return m_currentInstanceBootModeHasBeenSet; }
803 m_currentInstanceBootModeHasBeenSet = true;
804 m_currentInstanceBootMode = value;
805 }
808 return *this;
809 }
811
813
816 inline const InstanceNetworkPerformanceOptions& GetNetworkPerformanceOptions() const { return m_networkPerformanceOptions; }
817 inline bool NetworkPerformanceOptionsHasBeenSet() const { return m_networkPerformanceOptionsHasBeenSet; }
818 template <typename NetworkPerformanceOptionsT = InstanceNetworkPerformanceOptions>
819 void SetNetworkPerformanceOptions(NetworkPerformanceOptionsT&& value) {
820 m_networkPerformanceOptionsHasBeenSet = true;
821 m_networkPerformanceOptions = std::forward<NetworkPerformanceOptionsT>(value);
822 }
823 template <typename NetworkPerformanceOptionsT = InstanceNetworkPerformanceOptions>
824 Instance& WithNetworkPerformanceOptions(NetworkPerformanceOptionsT&& value) {
825 SetNetworkPerformanceOptions(std::forward<NetworkPerformanceOptionsT>(value));
826 return *this;
827 }
829
831
834 inline const OperatorResponse& GetOperator() const { return m_operator; }
835 inline bool OperatorHasBeenSet() const { return m_operatorHasBeenSet; }
836 template <typename OperatorT = OperatorResponse>
837 void SetOperator(OperatorT&& value) {
838 m_operatorHasBeenSet = true;
839 m_operator = std::forward<OperatorT>(value);
840 }
841 template <typename OperatorT = OperatorResponse>
842 Instance& WithOperator(OperatorT&& value) {
843 SetOperator(std::forward<OperatorT>(value));
844 return *this;
845 }
847
849
852 inline const Aws::Vector<InstanceSecondaryInterface>& GetSecondaryInterfaces() const { return m_secondaryInterfaces; }
853 inline bool SecondaryInterfacesHasBeenSet() const { return m_secondaryInterfacesHasBeenSet; }
854 template <typename SecondaryInterfacesT = Aws::Vector<InstanceSecondaryInterface>>
855 void SetSecondaryInterfaces(SecondaryInterfacesT&& value) {
856 m_secondaryInterfacesHasBeenSet = true;
857 m_secondaryInterfaces = std::forward<SecondaryInterfacesT>(value);
858 }
859 template <typename SecondaryInterfacesT = Aws::Vector<InstanceSecondaryInterface>>
860 Instance& WithSecondaryInterfaces(SecondaryInterfacesT&& value) {
861 SetSecondaryInterfaces(std::forward<SecondaryInterfacesT>(value));
862 return *this;
863 }
864 template <typename SecondaryInterfacesT = InstanceSecondaryInterface>
865 Instance& AddSecondaryInterfaces(SecondaryInterfacesT&& value) {
866 m_secondaryInterfacesHasBeenSet = true;
867 m_secondaryInterfaces.emplace_back(std::forward<SecondaryInterfacesT>(value));
868 return *this;
869 }
871
873
876 inline const Aws::String& GetInstanceId() const { return m_instanceId; }
877 inline bool InstanceIdHasBeenSet() const { return m_instanceIdHasBeenSet; }
878 template <typename InstanceIdT = Aws::String>
879 void SetInstanceId(InstanceIdT&& value) {
880 m_instanceIdHasBeenSet = true;
881 m_instanceId = std::forward<InstanceIdT>(value);
882 }
883 template <typename InstanceIdT = Aws::String>
884 Instance& WithInstanceId(InstanceIdT&& value) {
885 SetInstanceId(std::forward<InstanceIdT>(value));
886 return *this;
887 }
889
891
894 inline const Aws::String& GetImageId() const { return m_imageId; }
895 inline bool ImageIdHasBeenSet() const { return m_imageIdHasBeenSet; }
896 template <typename ImageIdT = Aws::String>
897 void SetImageId(ImageIdT&& value) {
898 m_imageIdHasBeenSet = true;
899 m_imageId = std::forward<ImageIdT>(value);
900 }
901 template <typename ImageIdT = Aws::String>
902 Instance& WithImageId(ImageIdT&& value) {
903 SetImageId(std::forward<ImageIdT>(value));
904 return *this;
905 }
907
909
912 inline const InstanceState& GetState() const { return m_state; }
913 inline bool StateHasBeenSet() const { return m_stateHasBeenSet; }
914 template <typename StateT = InstanceState>
915 void SetState(StateT&& value) {
916 m_stateHasBeenSet = true;
917 m_state = std::forward<StateT>(value);
918 }
919 template <typename StateT = InstanceState>
920 Instance& WithState(StateT&& value) {
921 SetState(std::forward<StateT>(value));
922 return *this;
923 }
925
927
936 inline const Aws::String& GetPrivateDnsName() const { return m_privateDnsName; }
937 inline bool PrivateDnsNameHasBeenSet() const { return m_privateDnsNameHasBeenSet; }
938 template <typename PrivateDnsNameT = Aws::String>
939 void SetPrivateDnsName(PrivateDnsNameT&& value) {
940 m_privateDnsNameHasBeenSet = true;
941 m_privateDnsName = std::forward<PrivateDnsNameT>(value);
942 }
943 template <typename PrivateDnsNameT = Aws::String>
944 Instance& WithPrivateDnsName(PrivateDnsNameT&& value) {
945 SetPrivateDnsName(std::forward<PrivateDnsNameT>(value));
946 return *this;
947 }
949
951
959 inline const Aws::String& GetPublicDnsName() const { return m_publicDnsName; }
960 inline bool PublicDnsNameHasBeenSet() const { return m_publicDnsNameHasBeenSet; }
961 template <typename PublicDnsNameT = Aws::String>
962 void SetPublicDnsName(PublicDnsNameT&& value) {
963 m_publicDnsNameHasBeenSet = true;
964 m_publicDnsName = std::forward<PublicDnsNameT>(value);
965 }
966 template <typename PublicDnsNameT = Aws::String>
967 Instance& WithPublicDnsName(PublicDnsNameT&& value) {
968 SetPublicDnsName(std::forward<PublicDnsNameT>(value));
969 return *this;
970 }
972
974
978 inline const Aws::String& GetStateTransitionReason() const { return m_stateTransitionReason; }
979 inline bool StateTransitionReasonHasBeenSet() const { return m_stateTransitionReasonHasBeenSet; }
980 template <typename StateTransitionReasonT = Aws::String>
981 void SetStateTransitionReason(StateTransitionReasonT&& value) {
982 m_stateTransitionReasonHasBeenSet = true;
983 m_stateTransitionReason = std::forward<StateTransitionReasonT>(value);
984 }
985 template <typename StateTransitionReasonT = Aws::String>
986 Instance& WithStateTransitionReason(StateTransitionReasonT&& value) {
987 SetStateTransitionReason(std::forward<StateTransitionReasonT>(value));
988 return *this;
989 }
991
993
997 inline const Aws::String& GetKeyName() const { return m_keyName; }
998 inline bool KeyNameHasBeenSet() const { return m_keyNameHasBeenSet; }
999 template <typename KeyNameT = Aws::String>
1000 void SetKeyName(KeyNameT&& value) {
1001 m_keyNameHasBeenSet = true;
1002 m_keyName = std::forward<KeyNameT>(value);
1003 }
1004 template <typename KeyNameT = Aws::String>
1005 Instance& WithKeyName(KeyNameT&& value) {
1006 SetKeyName(std::forward<KeyNameT>(value));
1007 return *this;
1008 }
1010
1012
1016 inline int GetAmiLaunchIndex() const { return m_amiLaunchIndex; }
1017 inline bool AmiLaunchIndexHasBeenSet() const { return m_amiLaunchIndexHasBeenSet; }
1018 inline void SetAmiLaunchIndex(int value) {
1019 m_amiLaunchIndexHasBeenSet = true;
1020 m_amiLaunchIndex = value;
1021 }
1022 inline Instance& WithAmiLaunchIndex(int value) {
1023 SetAmiLaunchIndex(value);
1024 return *this;
1025 }
1027
1029
1032 inline const Aws::Vector<ProductCode>& GetProductCodes() const { return m_productCodes; }
1033 inline bool ProductCodesHasBeenSet() const { return m_productCodesHasBeenSet; }
1034 template <typename ProductCodesT = Aws::Vector<ProductCode>>
1035 void SetProductCodes(ProductCodesT&& value) {
1036 m_productCodesHasBeenSet = true;
1037 m_productCodes = std::forward<ProductCodesT>(value);
1038 }
1039 template <typename ProductCodesT = Aws::Vector<ProductCode>>
1040 Instance& WithProductCodes(ProductCodesT&& value) {
1041 SetProductCodes(std::forward<ProductCodesT>(value));
1042 return *this;
1043 }
1044 template <typename ProductCodesT = ProductCode>
1045 Instance& AddProductCodes(ProductCodesT&& value) {
1046 m_productCodesHasBeenSet = true;
1047 m_productCodes.emplace_back(std::forward<ProductCodesT>(value));
1048 return *this;
1049 }
1051
1053
1056 inline InstanceType GetInstanceType() const { return m_instanceType; }
1057 inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; }
1058 inline void SetInstanceType(InstanceType value) {
1059 m_instanceTypeHasBeenSet = true;
1060 m_instanceType = value;
1061 }
1063 SetInstanceType(value);
1064 return *this;
1065 }
1067
1069
1074 inline const Aws::Utils::DateTime& GetLaunchTime() const { return m_launchTime; }
1075 inline bool LaunchTimeHasBeenSet() const { return m_launchTimeHasBeenSet; }
1076 template <typename LaunchTimeT = Aws::Utils::DateTime>
1077 void SetLaunchTime(LaunchTimeT&& value) {
1078 m_launchTimeHasBeenSet = true;
1079 m_launchTime = std::forward<LaunchTimeT>(value);
1080 }
1081 template <typename LaunchTimeT = Aws::Utils::DateTime>
1082 Instance& WithLaunchTime(LaunchTimeT&& value) {
1083 SetLaunchTime(std::forward<LaunchTimeT>(value));
1084 return *this;
1085 }
1087
1089
1092 inline const Placement& GetPlacement() const { return m_placement; }
1093 inline bool PlacementHasBeenSet() const { return m_placementHasBeenSet; }
1094 template <typename PlacementT = Placement>
1095 void SetPlacement(PlacementT&& value) {
1096 m_placementHasBeenSet = true;
1097 m_placement = std::forward<PlacementT>(value);
1098 }
1099 template <typename PlacementT = Placement>
1100 Instance& WithPlacement(PlacementT&& value) {
1101 SetPlacement(std::forward<PlacementT>(value));
1102 return *this;
1103 }
1105
1107
1110 inline const Aws::String& GetKernelId() const { return m_kernelId; }
1111 inline bool KernelIdHasBeenSet() const { return m_kernelIdHasBeenSet; }
1112 template <typename KernelIdT = Aws::String>
1113 void SetKernelId(KernelIdT&& value) {
1114 m_kernelIdHasBeenSet = true;
1115 m_kernelId = std::forward<KernelIdT>(value);
1116 }
1117 template <typename KernelIdT = Aws::String>
1118 Instance& WithKernelId(KernelIdT&& value) {
1119 SetKernelId(std::forward<KernelIdT>(value));
1120 return *this;
1121 }
1123
1125
1128 inline const Aws::String& GetRamdiskId() const { return m_ramdiskId; }
1129 inline bool RamdiskIdHasBeenSet() const { return m_ramdiskIdHasBeenSet; }
1130 template <typename RamdiskIdT = Aws::String>
1131 void SetRamdiskId(RamdiskIdT&& value) {
1132 m_ramdiskIdHasBeenSet = true;
1133 m_ramdiskId = std::forward<RamdiskIdT>(value);
1134 }
1135 template <typename RamdiskIdT = Aws::String>
1136 Instance& WithRamdiskId(RamdiskIdT&& value) {
1137 SetRamdiskId(std::forward<RamdiskIdT>(value));
1138 return *this;
1139 }
1141
1143
1147 inline PlatformValues GetPlatform() const { return m_platform; }
1148 inline bool PlatformHasBeenSet() const { return m_platformHasBeenSet; }
1149 inline void SetPlatform(PlatformValues value) {
1150 m_platformHasBeenSet = true;
1151 m_platform = value;
1152 }
1154 SetPlatform(value);
1155 return *this;
1156 }
1158
1160
1163 inline const Monitoring& GetMonitoring() const { return m_monitoring; }
1164 inline bool MonitoringHasBeenSet() const { return m_monitoringHasBeenSet; }
1165 template <typename MonitoringT = Monitoring>
1166 void SetMonitoring(MonitoringT&& value) {
1167 m_monitoringHasBeenSet = true;
1168 m_monitoring = std::forward<MonitoringT>(value);
1169 }
1170 template <typename MonitoringT = Monitoring>
1171 Instance& WithMonitoring(MonitoringT&& value) {
1172 SetMonitoring(std::forward<MonitoringT>(value));
1173 return *this;
1174 }
1176
1178
1181 inline const Aws::String& GetSubnetId() const { return m_subnetId; }
1182 inline bool SubnetIdHasBeenSet() const { return m_subnetIdHasBeenSet; }
1183 template <typename SubnetIdT = Aws::String>
1184 void SetSubnetId(SubnetIdT&& value) {
1185 m_subnetIdHasBeenSet = true;
1186 m_subnetId = std::forward<SubnetIdT>(value);
1187 }
1188 template <typename SubnetIdT = Aws::String>
1189 Instance& WithSubnetId(SubnetIdT&& value) {
1190 SetSubnetId(std::forward<SubnetIdT>(value));
1191 return *this;
1192 }
1194
1196
1199 inline const Aws::String& GetVpcId() const { return m_vpcId; }
1200 inline bool VpcIdHasBeenSet() const { return m_vpcIdHasBeenSet; }
1201 template <typename VpcIdT = Aws::String>
1202 void SetVpcId(VpcIdT&& value) {
1203 m_vpcIdHasBeenSet = true;
1204 m_vpcId = std::forward<VpcIdT>(value);
1205 }
1206 template <typename VpcIdT = Aws::String>
1207 Instance& WithVpcId(VpcIdT&& value) {
1208 SetVpcId(std::forward<VpcIdT>(value));
1209 return *this;
1210 }
1212
1214
1217 inline const Aws::String& GetPrivateIpAddress() const { return m_privateIpAddress; }
1218 inline bool PrivateIpAddressHasBeenSet() const { return m_privateIpAddressHasBeenSet; }
1219 template <typename PrivateIpAddressT = Aws::String>
1220 void SetPrivateIpAddress(PrivateIpAddressT&& value) {
1221 m_privateIpAddressHasBeenSet = true;
1222 m_privateIpAddress = std::forward<PrivateIpAddressT>(value);
1223 }
1224 template <typename PrivateIpAddressT = Aws::String>
1225 Instance& WithPrivateIpAddress(PrivateIpAddressT&& value) {
1226 SetPrivateIpAddress(std::forward<PrivateIpAddressT>(value));
1227 return *this;
1228 }
1230
1232
1237 inline const Aws::String& GetPublicIpAddress() const { return m_publicIpAddress; }
1238 inline bool PublicIpAddressHasBeenSet() const { return m_publicIpAddressHasBeenSet; }
1239 template <typename PublicIpAddressT = Aws::String>
1240 void SetPublicIpAddress(PublicIpAddressT&& value) {
1241 m_publicIpAddressHasBeenSet = true;
1242 m_publicIpAddress = std::forward<PublicIpAddressT>(value);
1243 }
1244 template <typename PublicIpAddressT = Aws::String>
1245 Instance& WithPublicIpAddress(PublicIpAddressT&& value) {
1246 SetPublicIpAddress(std::forward<PublicIpAddressT>(value));
1247 return *this;
1248 }
1250 private:
1252
1253 Aws::Vector<InstanceBlockDeviceMapping> m_blockDeviceMappings;
1254
1255 Aws::String m_clientToken;
1256
1257 bool m_ebsOptimized{false};
1258
1259 bool m_enaSupport{false};
1260
1262
1263 IamInstanceProfile m_iamInstanceProfile;
1264
1266
1267 Aws::Vector<ElasticGpuAssociation> m_elasticGpuAssociations;
1268
1269 Aws::Vector<ElasticInferenceAcceleratorAssociation> m_elasticInferenceAcceleratorAssociations;
1270
1271 Aws::Vector<InstanceNetworkInterface> m_networkInterfaces;
1272
1273 Aws::String m_outpostArn;
1274
1275 Aws::String m_rootDeviceName;
1276
1277 DeviceType m_rootDeviceType{DeviceType::NOT_SET};
1278
1279 Aws::Vector<GroupIdentifier> m_securityGroups;
1280
1281 bool m_sourceDestCheck{false};
1282
1283 Aws::String m_spotInstanceRequestId;
1284
1285 Aws::String m_sriovNetSupport;
1286
1287 StateReason m_stateReason;
1288
1289 Aws::Vector<Tag> m_tags;
1290
1291 VirtualizationType m_virtualizationType{VirtualizationType::NOT_SET};
1292
1293 CpuOptions m_cpuOptions;
1294
1295 Aws::String m_capacityBlockId;
1296
1297 Aws::String m_capacityReservationId;
1298
1299 CapacityReservationSpecificationResponse m_capacityReservationSpecification;
1300
1301 HibernationOptions m_hibernationOptions;
1302
1304
1305 InstanceMetadataOptionsResponse m_metadataOptions;
1306
1307 EnclaveOptions m_enclaveOptions;
1308
1310
1311 Aws::String m_platformDetails;
1312
1313 Aws::String m_usageOperation;
1314
1315 Aws::Utils::DateTime m_usageOperationUpdateTime{};
1316
1317 PrivateDnsNameOptionsResponse m_privateDnsNameOptions;
1318
1319 Aws::String m_ipv6Address;
1320
1321 Aws::String m_tpmSupport;
1322
1323 InstanceMaintenanceOptions m_maintenanceOptions;
1324
1326
1327 InstanceNetworkPerformanceOptions m_networkPerformanceOptions;
1328
1329 OperatorResponse m_operator;
1330
1331 Aws::Vector<InstanceSecondaryInterface> m_secondaryInterfaces;
1332
1333 Aws::String m_instanceId;
1334
1335 Aws::String m_imageId;
1336
1337 InstanceState m_state;
1338
1339 Aws::String m_privateDnsName;
1340
1341 Aws::String m_publicDnsName;
1342
1343 Aws::String m_stateTransitionReason;
1344
1345 Aws::String m_keyName;
1346
1347 int m_amiLaunchIndex{0};
1348
1349 Aws::Vector<ProductCode> m_productCodes;
1350
1351 InstanceType m_instanceType{InstanceType::NOT_SET};
1352
1353 Aws::Utils::DateTime m_launchTime{};
1354
1355 Placement m_placement;
1356
1357 Aws::String m_kernelId;
1358
1359 Aws::String m_ramdiskId;
1360
1362
1363 Monitoring m_monitoring;
1364
1365 Aws::String m_subnetId;
1366
1367 Aws::String m_vpcId;
1368
1369 Aws::String m_privateIpAddress;
1370
1371 Aws::String m_publicIpAddress;
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;
1433};
1434
1435} // namespace Model
1436} // namespace EC2
1437} // namespace Aws
void SetStateTransitionReason(StateTransitionReasonT &&value)
Definition Instance.h:981
const Aws::Vector< InstanceBlockDeviceMapping > & GetBlockDeviceMappings() const
Definition Instance.h:90
Instance & WithVirtualizationType(VirtualizationType value)
Definition Instance.h:475
bool StateTransitionReasonHasBeenSet() const
Definition Instance.h:979
void SetProductCodes(ProductCodesT &&value)
Definition Instance.h:1035
const Aws::String & GetCapacityBlockId() const
Definition Instance.h:505
ArchitectureValues GetArchitecture() const
Definition Instance.h:74
Instance & WithTags(TagsT &&value)
Definition Instance.h:453
Instance & WithPrivateDnsName(PrivateDnsNameT &&value)
Definition Instance.h:944
bool RootDeviceNameHasBeenSet() const
Definition Instance.h:316
Instance & WithClientToken(ClientTokenT &&value)
Definition Instance.h:123
bool PrivateDnsNameOptionsHasBeenSet() const
Definition Instance.h:722
const InstanceState & GetState() const
Definition Instance.h:912
void SetLicenses(LicensesT &&value)
Definition Instance.h:582
void SetState(StateT &&value)
Definition Instance.h:915
void SetPlatformDetails(PlatformDetailsT &&value)
Definition Instance.h:668
Instance & WithProductCodes(ProductCodesT &&value)
Definition Instance.h:1040
Instance & WithLaunchTime(LaunchTimeT &&value)
Definition Instance.h:1082
Instance & WithCapacityBlockId(CapacityBlockIdT &&value)
Definition Instance.h:513
bool ElasticInferenceAcceleratorAssociationsHasBeenSet() const
Definition Instance.h:249
Instance & WithMetadataOptions(MetadataOptionsT &&value)
Definition Instance.h:611
Instance & AddTags(TagsT &&value)
Definition Instance.h:458
bool BlockDeviceMappingsHasBeenSet() const
Definition Instance.h:91
Instance & WithVpcId(VpcIdT &&value)
Definition Instance.h:1207
void SetClientToken(ClientTokenT &&value)
Definition Instance.h:118
bool GetEnaSupport() const
Definition Instance.h:153
const Aws::String & GetKeyName() const
Definition Instance.h:997
void SetOperator(OperatorT &&value)
Definition Instance.h:837
const Aws::String & GetIpv6Address() const
Definition Instance.h:739
void SetBootMode(BootModeValues value)
Definition Instance.h:649
bool LicensesHasBeenSet() const
Definition Instance.h:580
Instance & WithLicenses(LicensesT &&value)
Definition Instance.h:587
Instance & WithCpuOptions(CpuOptionsT &&value)
Definition Instance.h:493
HypervisorType GetHypervisor() const
Definition Instance.h:170
bool CapacityBlockIdHasBeenSet() const
Definition Instance.h:506
bool Ipv6AddressHasBeenSet() const
Definition Instance.h:740
bool HibernationOptionsHasBeenSet() const
Definition Instance.h:562
VirtualizationType GetVirtualizationType() const
Definition Instance.h:469
AWS_EC2_API Instance()=default
Instance & AddElasticGpuAssociations(ElasticGpuAssociationsT &&value)
Definition Instance.h:234
bool KeyNameHasBeenSet() const
Definition Instance.h:998
bool PlatformDetailsHasBeenSet() const
Definition Instance.h:666
const Aws::Vector< LicenseConfiguration > & GetLicenses() const
Definition Instance.h:579
const Aws::Vector< InstanceSecondaryInterface > & GetSecondaryInterfaces() const
Definition Instance.h:852
void SetEnaSupport(bool value)
Definition Instance.h:155
Instance & AddProductCodes(ProductCodesT &&value)
Definition Instance.h:1045
const Aws::Vector< ProductCode > & GetProductCodes() const
Definition Instance.h:1032
const Aws::String & GetVpcId() const
Definition Instance.h:1199
PlatformValues GetPlatform() const
Definition Instance.h:1147
Instance & WithSourceDestCheck(bool value)
Definition Instance.h:380
bool CurrentInstanceBootModeHasBeenSet() const
Definition Instance.h:801
const Aws::Vector< ElasticGpuAssociation > & GetElasticGpuAssociations() const
Definition Instance.h:221
void SetInstanceType(InstanceType value)
Definition Instance.h:1058
Instance & WithRamdiskId(RamdiskIdT &&value)
Definition Instance.h:1136
void SetElasticInferenceAcceleratorAssociations(ElasticInferenceAcceleratorAssociationsT &&value)
Definition Instance.h:251
const OperatorResponse & GetOperator() const
Definition Instance.h:834
Instance & WithArchitecture(ArchitectureValues value)
Definition Instance.h:80
Instance & WithImageId(ImageIdT &&value)
Definition Instance.h:902
Instance & WithPrivateDnsNameOptions(PrivateDnsNameOptionsT &&value)
Definition Instance.h:729
bool EnaSupportHasBeenSet() const
Definition Instance.h:154
void SetUsageOperationUpdateTime(UsageOperationUpdateTimeT &&value)
Definition Instance.h:706
Instance & WithHibernationOptions(HibernationOptionsT &&value)
Definition Instance.h:569
const Aws::String & GetCapacityReservationId() const
Definition Instance.h:523
Instance & WithStateTransitionReason(StateTransitionReasonT &&value)
Definition Instance.h:986
const StateReason & GetStateReason() const
Definition Instance.h:427
const Aws::String & GetPrivateDnsName() const
Definition Instance.h:936
bool MonitoringHasBeenSet() const
Definition Instance.h:1164
Instance & WithSubnetId(SubnetIdT &&value)
Definition Instance.h:1189
bool AmiLaunchIndexHasBeenSet() const
Definition Instance.h:1017
void SetKeyName(KeyNameT &&value)
Definition Instance.h:1000
Instance & WithPublicDnsName(PublicDnsNameT &&value)
Definition Instance.h:967
Instance & WithCapacityReservationId(CapacityReservationIdT &&value)
Definition Instance.h:531
bool InstanceLifecycleHasBeenSet() const
Definition Instance.h:205
void SetRamdiskId(RamdiskIdT &&value)
Definition Instance.h:1131
bool PublicIpAddressHasBeenSet() const
Definition Instance.h:1238
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
const Aws::String & GetPublicDnsName() const
Definition Instance.h:959
void SetMetadataOptions(MetadataOptionsT &&value)
Definition Instance.h:606
Instance & WithSecondaryInterfaces(SecondaryInterfacesT &&value)
Definition Instance.h:860
const Aws::Utils::DateTime & GetUsageOperationUpdateTime() const
Definition Instance.h:703
bool NetworkPerformanceOptionsHasBeenSet() const
Definition Instance.h:817
Instance & WithCurrentInstanceBootMode(InstanceBootModeValues value)
Definition Instance.h:806
const Aws::String & GetOutpostArn() const
Definition Instance.h:296
void SetPrivateDnsName(PrivateDnsNameT &&value)
Definition Instance.h:939
void SetOutpostArn(OutpostArnT &&value)
Definition Instance.h:299
Instance & WithMonitoring(MonitoringT &&value)
Definition Instance.h:1171
const Aws::String & GetPublicIpAddress() const
Definition Instance.h:1237
const Placement & GetPlacement() const
Definition Instance.h:1092
void SetPrivateDnsNameOptions(PrivateDnsNameOptionsT &&value)
Definition Instance.h:724
void SetImageId(ImageIdT &&value)
Definition Instance.h:897
Instance & WithBlockDeviceMappings(BlockDeviceMappingsT &&value)
Definition Instance.h:98
Instance & WithHypervisor(HypervisorType value)
Definition Instance.h:176
Instance & AddSecurityGroups(SecurityGroupsT &&value)
Definition Instance.h:363
bool SubnetIdHasBeenSet() const
Definition Instance.h:1182
const Aws::String & GetKernelId() const
Definition Instance.h:1110
bool SecondaryInterfacesHasBeenSet() const
Definition Instance.h:853
Instance & AddElasticInferenceAcceleratorAssociations(ElasticInferenceAcceleratorAssociationsT &&value)
Definition Instance.h:261
Instance & WithBootMode(BootModeValues value)
Definition Instance.h:653
InstanceType GetInstanceType() const
Definition Instance.h:1056
void SetIamInstanceProfile(IamInstanceProfileT &&value)
Definition Instance.h:189
Instance & WithRootDeviceName(RootDeviceNameT &&value)
Definition Instance.h:323
void SetEnclaveOptions(EnclaveOptionsT &&value)
Definition Instance.h:625
bool LaunchTimeHasBeenSet() const
Definition Instance.h:1075
bool CapacityReservationSpecificationHasBeenSet() const
Definition Instance.h:544
void SetRootDeviceName(RootDeviceNameT &&value)
Definition Instance.h:318
Instance & WithElasticGpuAssociations(ElasticGpuAssociationsT &&value)
Definition Instance.h:229
bool PublicDnsNameHasBeenSet() const
Definition Instance.h:960
bool TagsHasBeenSet() const
Definition Instance.h:446
const Aws::Utils::DateTime & GetLaunchTime() const
Definition Instance.h:1074
bool SriovNetSupportHasBeenSet() const
Definition Instance.h:410
void SetSecondaryInterfaces(SecondaryInterfacesT &&value)
Definition Instance.h:855
bool RootDeviceTypeHasBeenSet() const
Definition Instance.h:335
const Aws::String & GetSriovNetSupport() const
Definition Instance.h:409
const Aws::String & GetRootDeviceName() const
Definition Instance.h:315
Instance & WithStateReason(StateReasonT &&value)
Definition Instance.h:435
void SetSecurityGroups(SecurityGroupsT &&value)
Definition Instance.h:353
const Aws::String & GetImageId() const
Definition Instance.h:894
bool PrivateIpAddressHasBeenSet() const
Definition Instance.h:1218
Instance & AddSecondaryInterfaces(SecondaryInterfacesT &&value)
Definition Instance.h:865
Instance & WithKernelId(KernelIdT &&value)
Definition Instance.h:1118
void SetInstanceLifecycle(InstanceLifecycleType value)
Definition Instance.h:206
Instance & WithOutpostArn(OutpostArnT &&value)
Definition Instance.h:304
Instance & WithEnaSupport(bool value)
Definition Instance.h:159
Instance & WithSecurityGroups(SecurityGroupsT &&value)
Definition Instance.h:358
int GetAmiLaunchIndex() const
Definition Instance.h:1016
const InstanceMaintenanceOptions & GetMaintenanceOptions() const
Definition Instance.h:779
Instance & WithOperator(OperatorT &&value)
Definition Instance.h:842
void SetTpmSupport(TpmSupportT &&value)
Definition Instance.h:763
bool InstanceIdHasBeenSet() const
Definition Instance.h:877
void SetInstanceId(InstanceIdT &&value)
Definition Instance.h:879
const Aws::Vector< Tag > & GetTags() const
Definition Instance.h:445
bool EbsOptimizedHasBeenSet() const
Definition Instance.h:138
bool GetEbsOptimized() const
Definition Instance.h:137
void SetRootDeviceType(DeviceType value)
Definition Instance.h:336
bool SpotInstanceRequestIdHasBeenSet() const
Definition Instance.h:391
Instance & WithInstanceId(InstanceIdT &&value)
Definition Instance.h:884
Instance & WithUsageOperation(UsageOperationT &&value)
Definition Instance.h:693
bool TpmSupportHasBeenSet() const
Definition Instance.h:761
bool CpuOptionsHasBeenSet() const
Definition Instance.h:486
bool SourceDestCheckHasBeenSet() const
Definition Instance.h:375
bool ClientTokenHasBeenSet() const
Definition Instance.h:116
Instance & WithInstanceLifecycle(InstanceLifecycleType value)
Definition Instance.h:210
const Aws::String & GetRamdiskId() const
Definition Instance.h:1128
bool VpcIdHasBeenSet() const
Definition Instance.h:1200
Instance & WithNetworkPerformanceOptions(NetworkPerformanceOptionsT &&value)
Definition Instance.h:824
void SetCapacityReservationId(CapacityReservationIdT &&value)
Definition Instance.h:526
void SetPlatform(PlatformValues value)
Definition Instance.h:1149
void SetVpcId(VpcIdT &&value)
Definition Instance.h:1202
void SetPublicIpAddress(PublicIpAddressT &&value)
Definition Instance.h:1240
const Aws::String & GetPrivateIpAddress() const
Definition Instance.h:1217
bool OperatorHasBeenSet() const
Definition Instance.h:835
bool PrivateDnsNameHasBeenSet() const
Definition Instance.h:937
bool StateReasonHasBeenSet() const
Definition Instance.h:428
void SetLaunchTime(LaunchTimeT &&value)
Definition Instance.h:1077
Instance & WithInstanceType(InstanceType value)
Definition Instance.h:1062
void SetVirtualizationType(VirtualizationType value)
Definition Instance.h:471
const EnclaveOptions & GetEnclaveOptions() const
Definition Instance.h:622
void SetNetworkPerformanceOptions(NetworkPerformanceOptionsT &&value)
Definition Instance.h:819
bool EnclaveOptionsHasBeenSet() const
Definition Instance.h:623
AWS_EC2_API Instance & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
const HibernationOptions & GetHibernationOptions() const
Definition Instance.h:561
const Aws::String & GetSubnetId() const
Definition Instance.h:1181
Instance & AddNetworkInterfaces(NetworkInterfacesT &&value)
Definition Instance.h:285
const IamInstanceProfile & GetIamInstanceProfile() const
Definition Instance.h:186
void SetSriovNetSupport(SriovNetSupportT &&value)
Definition Instance.h:412
bool ImageIdHasBeenSet() const
Definition Instance.h:895
void SetSpotInstanceRequestId(SpotInstanceRequestIdT &&value)
Definition Instance.h:393
const PrivateDnsNameOptionsResponse & GetPrivateDnsNameOptions() const
Definition Instance.h:721
void SetPlacement(PlacementT &&value)
Definition Instance.h:1095
void SetTags(TagsT &&value)
Definition Instance.h:448
bool MaintenanceOptionsHasBeenSet() const
Definition Instance.h:780
void SetHibernationOptions(HibernationOptionsT &&value)
Definition Instance.h:564
bool ArchitectureHasBeenSet() const
Definition Instance.h:75
const Aws::Vector< GroupIdentifier > & GetSecurityGroups() const
Definition Instance.h:350
void SetEbsOptimized(bool value)
Definition Instance.h:139
Instance & WithPlacement(PlacementT &&value)
Definition Instance.h:1100
Instance & AddBlockDeviceMappings(BlockDeviceMappingsT &&value)
Definition Instance.h:103
const InstanceNetworkPerformanceOptions & GetNetworkPerformanceOptions() const
Definition Instance.h:816
void SetElasticGpuAssociations(ElasticGpuAssociationsT &&value)
Definition Instance.h:224
const Aws::Vector< InstanceNetworkInterface > & GetNetworkInterfaces() const
Definition Instance.h:272
bool VirtualizationTypeHasBeenSet() const
Definition Instance.h:470
Instance & WithIpv6Address(Ipv6AddressT &&value)
Definition Instance.h:747
bool BootModeHasBeenSet() const
Definition Instance.h:648
const CpuOptions & GetCpuOptions() const
Definition Instance.h:485
const Aws::String & GetPlatformDetails() const
Definition Instance.h:665
bool ElasticGpuAssociationsHasBeenSet() const
Definition Instance.h:222
void SetCapacityReservationSpecification(CapacityReservationSpecificationT &&value)
Definition Instance.h:546
Instance & WithAmiLaunchIndex(int value)
Definition Instance.h:1022
Instance & WithState(StateT &&value)
Definition Instance.h:920
Instance & WithSriovNetSupport(SriovNetSupportT &&value)
Definition Instance.h:417
Instance & WithKeyName(KeyNameT &&value)
Definition Instance.h:1005
bool MetadataOptionsHasBeenSet() const
Definition Instance.h:604
const InstanceMetadataOptionsResponse & GetMetadataOptions() const
Definition Instance.h:603
void SetNetworkInterfaces(NetworkInterfacesT &&value)
Definition Instance.h:275
const Aws::String & GetUsageOperation() const
Definition Instance.h:685
Instance & WithCapacityReservationSpecification(CapacityReservationSpecificationT &&value)
Definition Instance.h:551
void SetSubnetId(SubnetIdT &&value)
Definition Instance.h:1184
void SetKernelId(KernelIdT &&value)
Definition Instance.h:1113
bool StateHasBeenSet() const
Definition Instance.h:913
Instance & WithElasticInferenceAcceleratorAssociations(ElasticInferenceAcceleratorAssociationsT &&value)
Definition Instance.h:256
bool UsageOperationUpdateTimeHasBeenSet() const
Definition Instance.h:704
bool InstanceTypeHasBeenSet() const
Definition Instance.h:1057
void SetPrivateIpAddress(PrivateIpAddressT &&value)
Definition Instance.h:1220
bool PlacementHasBeenSet() const
Definition Instance.h:1093
DeviceType GetRootDeviceType() const
Definition Instance.h:334
bool HypervisorHasBeenSet() const
Definition Instance.h:171
void SetCpuOptions(CpuOptionsT &&value)
Definition Instance.h:488
void SetSourceDestCheck(bool value)
Definition Instance.h:376
Instance & WithPlatformDetails(PlatformDetailsT &&value)
Definition Instance.h:673
bool KernelIdHasBeenSet() const
Definition Instance.h:1111
Instance & WithUsageOperationUpdateTime(UsageOperationUpdateTimeT &&value)
Definition Instance.h:711
const Aws::String & GetStateTransitionReason() const
Definition Instance.h:978
bool RamdiskIdHasBeenSet() const
Definition Instance.h:1129
void SetStateReason(StateReasonT &&value)
Definition Instance.h:430
bool SecurityGroupsHasBeenSet() const
Definition Instance.h:351
InstanceBootModeValues GetCurrentInstanceBootMode() const
Definition Instance.h:800
bool ProductCodesHasBeenSet() const
Definition Instance.h:1033
bool OutpostArnHasBeenSet() const
Definition Instance.h:297
void SetUsageOperation(UsageOperationT &&value)
Definition Instance.h:688
bool UsageOperationHasBeenSet() const
Definition Instance.h:686
const Monitoring & GetMonitoring() const
Definition Instance.h:1163
const Aws::Vector< ElasticInferenceAcceleratorAssociation > & GetElasticInferenceAcceleratorAssociations() const
Definition Instance.h:246
const Aws::String & GetSpotInstanceRequestId() const
Definition Instance.h:390
void SetAmiLaunchIndex(int value)
Definition Instance.h:1018
bool PlatformHasBeenSet() const
Definition Instance.h:1148
bool GetSourceDestCheck() const
Definition Instance.h:374
InstanceLifecycleType GetInstanceLifecycle() const
Definition Instance.h:204
void SetCapacityBlockId(CapacityBlockIdT &&value)
Definition Instance.h:508
const Aws::String & GetInstanceId() const
Definition Instance.h:876
void SetIpv6Address(Ipv6AddressT &&value)
Definition Instance.h:742
Instance & WithEbsOptimized(bool value)
Definition Instance.h:143
Instance & WithMaintenanceOptions(MaintenanceOptionsT &&value)
Definition Instance.h:787
Instance & WithRootDeviceType(DeviceType value)
Definition Instance.h:340
void SetMaintenanceOptions(MaintenanceOptionsT &&value)
Definition Instance.h:782
void SetArchitecture(ArchitectureValues value)
Definition Instance.h:76
Instance & AddLicenses(LicensesT &&value)
Definition Instance.h:592
Instance & WithIamInstanceProfile(IamInstanceProfileT &&value)
Definition Instance.h:194
Instance & WithNetworkInterfaces(NetworkInterfacesT &&value)
Definition Instance.h:280
bool IamInstanceProfileHasBeenSet() const
Definition Instance.h:187
bool NetworkInterfacesHasBeenSet() const
Definition Instance.h:273
const Aws::String & GetClientToken() const
Definition Instance.h:115
BootModeValues GetBootMode() const
Definition Instance.h:647
Instance & WithPublicIpAddress(PublicIpAddressT &&value)
Definition Instance.h:1245
Instance & WithSpotInstanceRequestId(SpotInstanceRequestIdT &&value)
Definition Instance.h:398
Instance & WithPlatform(PlatformValues value)
Definition Instance.h:1153
Instance & WithPrivateIpAddress(PrivateIpAddressT &&value)
Definition Instance.h:1225
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
void SetPublicDnsName(PublicDnsNameT &&value)
Definition Instance.h:962
bool CapacityReservationIdHasBeenSet() const
Definition Instance.h:524
void SetHypervisor(HypervisorType value)
Definition Instance.h:172
AWS_EC2_API Instance(const Aws::Utils::Xml::XmlNode &xmlNode)
Instance & WithEnclaveOptions(EnclaveOptionsT &&value)
Definition Instance.h:630
Instance & WithTpmSupport(TpmSupportT &&value)
Definition Instance.h:768
void SetBlockDeviceMappings(BlockDeviceMappingsT &&value)
Definition Instance.h:93
void SetCurrentInstanceBootMode(InstanceBootModeValues value)
Definition Instance.h:802
const CapacityReservationSpecificationResponse & GetCapacityReservationSpecification() const
Definition Instance.h:541
const Aws::String & GetTpmSupport() const
Definition Instance.h:760
void SetMonitoring(MonitoringT &&value)
Definition Instance.h:1166
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