/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Describes an instance.See Also:
AWS API
* Reference
The AMI launch index, which can be used to find this instance in the launch * group.
*/ inline int GetAmiLaunchIndex() const{ return m_amiLaunchIndex; } /** *The AMI launch index, which can be used to find this instance in the launch * group.
*/ inline bool AmiLaunchIndexHasBeenSet() const { return m_amiLaunchIndexHasBeenSet; } /** *The AMI launch index, which can be used to find this instance in the launch * group.
*/ inline void SetAmiLaunchIndex(int value) { m_amiLaunchIndexHasBeenSet = true; m_amiLaunchIndex = value; } /** *The AMI launch index, which can be used to find this instance in the launch * group.
*/ inline Instance& WithAmiLaunchIndex(int value) { SetAmiLaunchIndex(value); return *this;} /** *The ID of the AMI used to launch the instance.
*/ inline const Aws::String& GetImageId() const{ return m_imageId; } /** *The ID of the AMI used to launch the instance.
*/ inline bool ImageIdHasBeenSet() const { return m_imageIdHasBeenSet; } /** *The ID of the AMI used to launch the instance.
*/ inline void SetImageId(const Aws::String& value) { m_imageIdHasBeenSet = true; m_imageId = value; } /** *The ID of the AMI used to launch the instance.
*/ inline void SetImageId(Aws::String&& value) { m_imageIdHasBeenSet = true; m_imageId = std::move(value); } /** *The ID of the AMI used to launch the instance.
*/ inline void SetImageId(const char* value) { m_imageIdHasBeenSet = true; m_imageId.assign(value); } /** *The ID of the AMI used to launch the instance.
*/ inline Instance& WithImageId(const Aws::String& value) { SetImageId(value); return *this;} /** *The ID of the AMI used to launch the instance.
*/ inline Instance& WithImageId(Aws::String&& value) { SetImageId(std::move(value)); return *this;} /** *The ID of the AMI used to launch the instance.
*/ inline Instance& WithImageId(const char* value) { SetImageId(value); return *this;} /** *The ID of the instance.
*/ inline const Aws::String& GetInstanceId() const{ return m_instanceId; } /** *The ID of the instance.
*/ inline bool InstanceIdHasBeenSet() const { return m_instanceIdHasBeenSet; } /** *The ID of the instance.
*/ inline void SetInstanceId(const Aws::String& value) { m_instanceIdHasBeenSet = true; m_instanceId = value; } /** *The ID of the instance.
*/ inline void SetInstanceId(Aws::String&& value) { m_instanceIdHasBeenSet = true; m_instanceId = std::move(value); } /** *The ID of the instance.
*/ inline void SetInstanceId(const char* value) { m_instanceIdHasBeenSet = true; m_instanceId.assign(value); } /** *The ID of the instance.
*/ inline Instance& WithInstanceId(const Aws::String& value) { SetInstanceId(value); return *this;} /** *The ID of the instance.
*/ inline Instance& WithInstanceId(Aws::String&& value) { SetInstanceId(std::move(value)); return *this;} /** *The ID of the instance.
*/ inline Instance& WithInstanceId(const char* value) { SetInstanceId(value); return *this;} /** *The instance type.
*/ inline const InstanceType& GetInstanceType() const{ return m_instanceType; } /** *The instance type.
*/ inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; } /** *The instance type.
*/ inline void SetInstanceType(const InstanceType& value) { m_instanceTypeHasBeenSet = true; m_instanceType = value; } /** *The instance type.
*/ inline void SetInstanceType(InstanceType&& value) { m_instanceTypeHasBeenSet = true; m_instanceType = std::move(value); } /** *The instance type.
*/ inline Instance& WithInstanceType(const InstanceType& value) { SetInstanceType(value); return *this;} /** *The instance type.
*/ inline Instance& WithInstanceType(InstanceType&& value) { SetInstanceType(std::move(value)); return *this;} /** *The kernel associated with this instance, if applicable.
*/ inline const Aws::String& GetKernelId() const{ return m_kernelId; } /** *The kernel associated with this instance, if applicable.
*/ inline bool KernelIdHasBeenSet() const { return m_kernelIdHasBeenSet; } /** *The kernel associated with this instance, if applicable.
*/ inline void SetKernelId(const Aws::String& value) { m_kernelIdHasBeenSet = true; m_kernelId = value; } /** *The kernel associated with this instance, if applicable.
*/ inline void SetKernelId(Aws::String&& value) { m_kernelIdHasBeenSet = true; m_kernelId = std::move(value); } /** *The kernel associated with this instance, if applicable.
*/ inline void SetKernelId(const char* value) { m_kernelIdHasBeenSet = true; m_kernelId.assign(value); } /** *The kernel associated with this instance, if applicable.
*/ inline Instance& WithKernelId(const Aws::String& value) { SetKernelId(value); return *this;} /** *The kernel associated with this instance, if applicable.
*/ inline Instance& WithKernelId(Aws::String&& value) { SetKernelId(std::move(value)); return *this;} /** *The kernel associated with this instance, if applicable.
*/ inline Instance& WithKernelId(const char* value) { SetKernelId(value); return *this;} /** *The name of the key pair, if this instance was launched with an associated * key pair.
*/ inline const Aws::String& GetKeyName() const{ return m_keyName; } /** *The name of the key pair, if this instance was launched with an associated * key pair.
*/ inline bool KeyNameHasBeenSet() const { return m_keyNameHasBeenSet; } /** *The name of the key pair, if this instance was launched with an associated * key pair.
*/ inline void SetKeyName(const Aws::String& value) { m_keyNameHasBeenSet = true; m_keyName = value; } /** *The name of the key pair, if this instance was launched with an associated * key pair.
*/ inline void SetKeyName(Aws::String&& value) { m_keyNameHasBeenSet = true; m_keyName = std::move(value); } /** *The name of the key pair, if this instance was launched with an associated * key pair.
*/ inline void SetKeyName(const char* value) { m_keyNameHasBeenSet = true; m_keyName.assign(value); } /** *The name of the key pair, if this instance was launched with an associated * key pair.
*/ inline Instance& WithKeyName(const Aws::String& value) { SetKeyName(value); return *this;} /** *The name of the key pair, if this instance was launched with an associated * key pair.
*/ inline Instance& WithKeyName(Aws::String&& value) { SetKeyName(std::move(value)); return *this;} /** *The name of the key pair, if this instance was launched with an associated * key pair.
*/ inline Instance& WithKeyName(const char* value) { SetKeyName(value); return *this;} /** *The time the instance was launched.
*/ inline const Aws::Utils::DateTime& GetLaunchTime() const{ return m_launchTime; } /** *The time the instance was launched.
*/ inline bool LaunchTimeHasBeenSet() const { return m_launchTimeHasBeenSet; } /** *The time the instance was launched.
*/ inline void SetLaunchTime(const Aws::Utils::DateTime& value) { m_launchTimeHasBeenSet = true; m_launchTime = value; } /** *The time the instance was launched.
*/ inline void SetLaunchTime(Aws::Utils::DateTime&& value) { m_launchTimeHasBeenSet = true; m_launchTime = std::move(value); } /** *The time the instance was launched.
*/ inline Instance& WithLaunchTime(const Aws::Utils::DateTime& value) { SetLaunchTime(value); return *this;} /** *The time the instance was launched.
*/ inline Instance& WithLaunchTime(Aws::Utils::DateTime&& value) { SetLaunchTime(std::move(value)); return *this;} /** *The monitoring for the instance.
*/ inline const Monitoring& GetMonitoring() const{ return m_monitoring; } /** *The monitoring for the instance.
*/ inline bool MonitoringHasBeenSet() const { return m_monitoringHasBeenSet; } /** *The monitoring for the instance.
*/ inline void SetMonitoring(const Monitoring& value) { m_monitoringHasBeenSet = true; m_monitoring = value; } /** *The monitoring for the instance.
*/ inline void SetMonitoring(Monitoring&& value) { m_monitoringHasBeenSet = true; m_monitoring = std::move(value); } /** *The monitoring for the instance.
*/ inline Instance& WithMonitoring(const Monitoring& value) { SetMonitoring(value); return *this;} /** *The monitoring for the instance.
*/ inline Instance& WithMonitoring(Monitoring&& value) { SetMonitoring(std::move(value)); return *this;} /** *The location where the instance launched, if applicable.
*/ inline const Placement& GetPlacement() const{ return m_placement; } /** *The location where the instance launched, if applicable.
*/ inline bool PlacementHasBeenSet() const { return m_placementHasBeenSet; } /** *The location where the instance launched, if applicable.
*/ inline void SetPlacement(const Placement& value) { m_placementHasBeenSet = true; m_placement = value; } /** *The location where the instance launched, if applicable.
*/ inline void SetPlacement(Placement&& value) { m_placementHasBeenSet = true; m_placement = std::move(value); } /** *The location where the instance launched, if applicable.
*/ inline Instance& WithPlacement(const Placement& value) { SetPlacement(value); return *this;} /** *The location where the instance launched, if applicable.
*/ inline Instance& WithPlacement(Placement&& value) { SetPlacement(std::move(value)); return *this;} /** *The value is Windows
for Windows instances; otherwise blank.
The value is Windows
for Windows instances; otherwise blank.
The value is Windows
for Windows instances; otherwise blank.
The value is Windows
for Windows instances; otherwise blank.
The value is Windows
for Windows instances; otherwise blank.
The value is Windows
for Windows instances; otherwise blank.
[IPv4 only] The private DNS hostname name assigned to the instance. This DNS
* hostname can only be used inside the Amazon EC2 network. This name is not
* available until the instance enters the running
state.
The * Amazon-provided DNS server resolves Amazon-provided private DNS hostnames if * you've enabled DNS resolution and DNS hostnames in your VPC. If you are not * using the Amazon-provided DNS server in your VPC, your custom domain name * servers must resolve the hostname as appropriate.
*/ inline const Aws::String& GetPrivateDnsName() const{ return m_privateDnsName; } /** *[IPv4 only] The private DNS hostname name assigned to the instance. This DNS
* hostname can only be used inside the Amazon EC2 network. This name is not
* available until the instance enters the running
state.
The * Amazon-provided DNS server resolves Amazon-provided private DNS hostnames if * you've enabled DNS resolution and DNS hostnames in your VPC. If you are not * using the Amazon-provided DNS server in your VPC, your custom domain name * servers must resolve the hostname as appropriate.
*/ inline bool PrivateDnsNameHasBeenSet() const { return m_privateDnsNameHasBeenSet; } /** *[IPv4 only] The private DNS hostname name assigned to the instance. This DNS
* hostname can only be used inside the Amazon EC2 network. This name is not
* available until the instance enters the running
state.
The * Amazon-provided DNS server resolves Amazon-provided private DNS hostnames if * you've enabled DNS resolution and DNS hostnames in your VPC. If you are not * using the Amazon-provided DNS server in your VPC, your custom domain name * servers must resolve the hostname as appropriate.
*/ inline void SetPrivateDnsName(const Aws::String& value) { m_privateDnsNameHasBeenSet = true; m_privateDnsName = value; } /** *[IPv4 only] The private DNS hostname name assigned to the instance. This DNS
* hostname can only be used inside the Amazon EC2 network. This name is not
* available until the instance enters the running
state.
The * Amazon-provided DNS server resolves Amazon-provided private DNS hostnames if * you've enabled DNS resolution and DNS hostnames in your VPC. If you are not * using the Amazon-provided DNS server in your VPC, your custom domain name * servers must resolve the hostname as appropriate.
*/ inline void SetPrivateDnsName(Aws::String&& value) { m_privateDnsNameHasBeenSet = true; m_privateDnsName = std::move(value); } /** *[IPv4 only] The private DNS hostname name assigned to the instance. This DNS
* hostname can only be used inside the Amazon EC2 network. This name is not
* available until the instance enters the running
state.
The * Amazon-provided DNS server resolves Amazon-provided private DNS hostnames if * you've enabled DNS resolution and DNS hostnames in your VPC. If you are not * using the Amazon-provided DNS server in your VPC, your custom domain name * servers must resolve the hostname as appropriate.
*/ inline void SetPrivateDnsName(const char* value) { m_privateDnsNameHasBeenSet = true; m_privateDnsName.assign(value); } /** *[IPv4 only] The private DNS hostname name assigned to the instance. This DNS
* hostname can only be used inside the Amazon EC2 network. This name is not
* available until the instance enters the running
state.
The * Amazon-provided DNS server resolves Amazon-provided private DNS hostnames if * you've enabled DNS resolution and DNS hostnames in your VPC. If you are not * using the Amazon-provided DNS server in your VPC, your custom domain name * servers must resolve the hostname as appropriate.
*/ inline Instance& WithPrivateDnsName(const Aws::String& value) { SetPrivateDnsName(value); return *this;} /** *[IPv4 only] The private DNS hostname name assigned to the instance. This DNS
* hostname can only be used inside the Amazon EC2 network. This name is not
* available until the instance enters the running
state.
The * Amazon-provided DNS server resolves Amazon-provided private DNS hostnames if * you've enabled DNS resolution and DNS hostnames in your VPC. If you are not * using the Amazon-provided DNS server in your VPC, your custom domain name * servers must resolve the hostname as appropriate.
*/ inline Instance& WithPrivateDnsName(Aws::String&& value) { SetPrivateDnsName(std::move(value)); return *this;} /** *[IPv4 only] The private DNS hostname name assigned to the instance. This DNS
* hostname can only be used inside the Amazon EC2 network. This name is not
* available until the instance enters the running
state.
The * Amazon-provided DNS server resolves Amazon-provided private DNS hostnames if * you've enabled DNS resolution and DNS hostnames in your VPC. If you are not * using the Amazon-provided DNS server in your VPC, your custom domain name * servers must resolve the hostname as appropriate.
*/ inline Instance& WithPrivateDnsName(const char* value) { SetPrivateDnsName(value); return *this;} /** *The private IPv4 address assigned to the instance.
*/ inline const Aws::String& GetPrivateIpAddress() const{ return m_privateIpAddress; } /** *The private IPv4 address assigned to the instance.
*/ inline bool PrivateIpAddressHasBeenSet() const { return m_privateIpAddressHasBeenSet; } /** *The private IPv4 address assigned to the instance.
*/ inline void SetPrivateIpAddress(const Aws::String& value) { m_privateIpAddressHasBeenSet = true; m_privateIpAddress = value; } /** *The private IPv4 address assigned to the instance.
*/ inline void SetPrivateIpAddress(Aws::String&& value) { m_privateIpAddressHasBeenSet = true; m_privateIpAddress = std::move(value); } /** *The private IPv4 address assigned to the instance.
*/ inline void SetPrivateIpAddress(const char* value) { m_privateIpAddressHasBeenSet = true; m_privateIpAddress.assign(value); } /** *The private IPv4 address assigned to the instance.
*/ inline Instance& WithPrivateIpAddress(const Aws::String& value) { SetPrivateIpAddress(value); return *this;} /** *The private IPv4 address assigned to the instance.
*/ inline Instance& WithPrivateIpAddress(Aws::String&& value) { SetPrivateIpAddress(std::move(value)); return *this;} /** *The private IPv4 address assigned to the instance.
*/ inline Instance& WithPrivateIpAddress(const char* value) { SetPrivateIpAddress(value); return *this;} /** *The product codes attached to this instance, if applicable.
*/ inline const Aws::VectorThe product codes attached to this instance, if applicable.
*/ inline bool ProductCodesHasBeenSet() const { return m_productCodesHasBeenSet; } /** *The product codes attached to this instance, if applicable.
*/ inline void SetProductCodes(const Aws::VectorThe product codes attached to this instance, if applicable.
*/ inline void SetProductCodes(Aws::VectorThe product codes attached to this instance, if applicable.
*/ inline Instance& WithProductCodes(const Aws::VectorThe product codes attached to this instance, if applicable.
*/ inline Instance& WithProductCodes(Aws::VectorThe product codes attached to this instance, if applicable.
*/ inline Instance& AddProductCodes(const ProductCode& value) { m_productCodesHasBeenSet = true; m_productCodes.push_back(value); return *this; } /** *The product codes attached to this instance, if applicable.
*/ inline Instance& AddProductCodes(ProductCode&& value) { m_productCodesHasBeenSet = true; m_productCodes.push_back(std::move(value)); return *this; } /** *[IPv4 only] The public DNS name assigned to the instance. This name is not
* available until the instance enters the running
state. This name is
* only available if you've enabled DNS hostnames for your VPC.
[IPv4 only] The public DNS name assigned to the instance. This name is not
* available until the instance enters the running
state. This name is
* only available if you've enabled DNS hostnames for your VPC.
[IPv4 only] The public DNS name assigned to the instance. This name is not
* available until the instance enters the running
state. This name is
* only available if you've enabled DNS hostnames for your VPC.
[IPv4 only] The public DNS name assigned to the instance. This name is not
* available until the instance enters the running
state. This name is
* only available if you've enabled DNS hostnames for your VPC.
[IPv4 only] The public DNS name assigned to the instance. This name is not
* available until the instance enters the running
state. This name is
* only available if you've enabled DNS hostnames for your VPC.
[IPv4 only] The public DNS name assigned to the instance. This name is not
* available until the instance enters the running
state. This name is
* only available if you've enabled DNS hostnames for your VPC.
[IPv4 only] The public DNS name assigned to the instance. This name is not
* available until the instance enters the running
state. This name is
* only available if you've enabled DNS hostnames for your VPC.
[IPv4 only] The public DNS name assigned to the instance. This name is not
* available until the instance enters the running
state. This name is
* only available if you've enabled DNS hostnames for your VPC.
The public IPv4 address, or the Carrier IP address assigned to the instance, * if applicable.
A Carrier IP address only applies to an instance launched * in a subnet associated with a Wavelength Zone.
*/ inline const Aws::String& GetPublicIpAddress() const{ return m_publicIpAddress; } /** *The public IPv4 address, or the Carrier IP address assigned to the instance, * if applicable.
A Carrier IP address only applies to an instance launched * in a subnet associated with a Wavelength Zone.
*/ inline bool PublicIpAddressHasBeenSet() const { return m_publicIpAddressHasBeenSet; } /** *The public IPv4 address, or the Carrier IP address assigned to the instance, * if applicable.
A Carrier IP address only applies to an instance launched * in a subnet associated with a Wavelength Zone.
*/ inline void SetPublicIpAddress(const Aws::String& value) { m_publicIpAddressHasBeenSet = true; m_publicIpAddress = value; } /** *The public IPv4 address, or the Carrier IP address assigned to the instance, * if applicable.
A Carrier IP address only applies to an instance launched * in a subnet associated with a Wavelength Zone.
*/ inline void SetPublicIpAddress(Aws::String&& value) { m_publicIpAddressHasBeenSet = true; m_publicIpAddress = std::move(value); } /** *The public IPv4 address, or the Carrier IP address assigned to the instance, * if applicable.
A Carrier IP address only applies to an instance launched * in a subnet associated with a Wavelength Zone.
*/ inline void SetPublicIpAddress(const char* value) { m_publicIpAddressHasBeenSet = true; m_publicIpAddress.assign(value); } /** *The public IPv4 address, or the Carrier IP address assigned to the instance, * if applicable.
A Carrier IP address only applies to an instance launched * in a subnet associated with a Wavelength Zone.
*/ inline Instance& WithPublicIpAddress(const Aws::String& value) { SetPublicIpAddress(value); return *this;} /** *The public IPv4 address, or the Carrier IP address assigned to the instance, * if applicable.
A Carrier IP address only applies to an instance launched * in a subnet associated with a Wavelength Zone.
*/ inline Instance& WithPublicIpAddress(Aws::String&& value) { SetPublicIpAddress(std::move(value)); return *this;} /** *The public IPv4 address, or the Carrier IP address assigned to the instance, * if applicable.
A Carrier IP address only applies to an instance launched * in a subnet associated with a Wavelength Zone.
*/ inline Instance& WithPublicIpAddress(const char* value) { SetPublicIpAddress(value); return *this;} /** *The RAM disk associated with this instance, if applicable.
*/ inline const Aws::String& GetRamdiskId() const{ return m_ramdiskId; } /** *The RAM disk associated with this instance, if applicable.
*/ inline bool RamdiskIdHasBeenSet() const { return m_ramdiskIdHasBeenSet; } /** *The RAM disk associated with this instance, if applicable.
*/ inline void SetRamdiskId(const Aws::String& value) { m_ramdiskIdHasBeenSet = true; m_ramdiskId = value; } /** *The RAM disk associated with this instance, if applicable.
*/ inline void SetRamdiskId(Aws::String&& value) { m_ramdiskIdHasBeenSet = true; m_ramdiskId = std::move(value); } /** *The RAM disk associated with this instance, if applicable.
*/ inline void SetRamdiskId(const char* value) { m_ramdiskIdHasBeenSet = true; m_ramdiskId.assign(value); } /** *The RAM disk associated with this instance, if applicable.
*/ inline Instance& WithRamdiskId(const Aws::String& value) { SetRamdiskId(value); return *this;} /** *The RAM disk associated with this instance, if applicable.
*/ inline Instance& WithRamdiskId(Aws::String&& value) { SetRamdiskId(std::move(value)); return *this;} /** *The RAM disk associated with this instance, if applicable.
*/ inline Instance& WithRamdiskId(const char* value) { SetRamdiskId(value); return *this;} /** *The current state of the instance.
*/ inline const InstanceState& GetState() const{ return m_state; } /** *The current state of the instance.
*/ inline bool StateHasBeenSet() const { return m_stateHasBeenSet; } /** *The current state of the instance.
*/ inline void SetState(const InstanceState& value) { m_stateHasBeenSet = true; m_state = value; } /** *The current state of the instance.
*/ inline void SetState(InstanceState&& value) { m_stateHasBeenSet = true; m_state = std::move(value); } /** *The current state of the instance.
*/ inline Instance& WithState(const InstanceState& value) { SetState(value); return *this;} /** *The current state of the instance.
*/ inline Instance& WithState(InstanceState&& value) { SetState(std::move(value)); return *this;} /** *The reason for the most recent state transition. This might be an empty * string.
*/ inline const Aws::String& GetStateTransitionReason() const{ return m_stateTransitionReason; } /** *The reason for the most recent state transition. This might be an empty * string.
*/ inline bool StateTransitionReasonHasBeenSet() const { return m_stateTransitionReasonHasBeenSet; } /** *The reason for the most recent state transition. This might be an empty * string.
*/ inline void SetStateTransitionReason(const Aws::String& value) { m_stateTransitionReasonHasBeenSet = true; m_stateTransitionReason = value; } /** *The reason for the most recent state transition. This might be an empty * string.
*/ inline void SetStateTransitionReason(Aws::String&& value) { m_stateTransitionReasonHasBeenSet = true; m_stateTransitionReason = std::move(value); } /** *The reason for the most recent state transition. This might be an empty * string.
*/ inline void SetStateTransitionReason(const char* value) { m_stateTransitionReasonHasBeenSet = true; m_stateTransitionReason.assign(value); } /** *The reason for the most recent state transition. This might be an empty * string.
*/ inline Instance& WithStateTransitionReason(const Aws::String& value) { SetStateTransitionReason(value); return *this;} /** *The reason for the most recent state transition. This might be an empty * string.
*/ inline Instance& WithStateTransitionReason(Aws::String&& value) { SetStateTransitionReason(std::move(value)); return *this;} /** *The reason for the most recent state transition. This might be an empty * string.
*/ inline Instance& WithStateTransitionReason(const char* value) { SetStateTransitionReason(value); return *this;} /** *The ID of the subnet in which the instance is running.
*/ inline const Aws::String& GetSubnetId() const{ return m_subnetId; } /** *The ID of the subnet in which the instance is running.
*/ inline bool SubnetIdHasBeenSet() const { return m_subnetIdHasBeenSet; } /** *The ID of the subnet in which the instance is running.
*/ inline void SetSubnetId(const Aws::String& value) { m_subnetIdHasBeenSet = true; m_subnetId = value; } /** *The ID of the subnet in which the instance is running.
*/ inline void SetSubnetId(Aws::String&& value) { m_subnetIdHasBeenSet = true; m_subnetId = std::move(value); } /** *The ID of the subnet in which the instance is running.
*/ inline void SetSubnetId(const char* value) { m_subnetIdHasBeenSet = true; m_subnetId.assign(value); } /** *The ID of the subnet in which the instance is running.
*/ inline Instance& WithSubnetId(const Aws::String& value) { SetSubnetId(value); return *this;} /** *The ID of the subnet in which the instance is running.
*/ inline Instance& WithSubnetId(Aws::String&& value) { SetSubnetId(std::move(value)); return *this;} /** *The ID of the subnet in which the instance is running.
*/ inline Instance& WithSubnetId(const char* value) { SetSubnetId(value); return *this;} /** *The ID of the VPC in which the instance is running.
*/ inline const Aws::String& GetVpcId() const{ return m_vpcId; } /** *The ID of the VPC in which the instance is running.
*/ inline bool VpcIdHasBeenSet() const { return m_vpcIdHasBeenSet; } /** *The ID of the VPC in which the instance is running.
*/ inline void SetVpcId(const Aws::String& value) { m_vpcIdHasBeenSet = true; m_vpcId = value; } /** *The ID of the VPC in which the instance is running.
*/ inline void SetVpcId(Aws::String&& value) { m_vpcIdHasBeenSet = true; m_vpcId = std::move(value); } /** *The ID of the VPC in which the instance is running.
*/ inline void SetVpcId(const char* value) { m_vpcIdHasBeenSet = true; m_vpcId.assign(value); } /** *The ID of the VPC in which the instance is running.
*/ inline Instance& WithVpcId(const Aws::String& value) { SetVpcId(value); return *this;} /** *The ID of the VPC in which the instance is running.
*/ inline Instance& WithVpcId(Aws::String&& value) { SetVpcId(std::move(value)); return *this;} /** *The ID of the VPC in which the instance is running.
*/ inline Instance& WithVpcId(const char* value) { SetVpcId(value); return *this;} /** *The architecture of the image.
*/ inline const ArchitectureValues& GetArchitecture() const{ return m_architecture; } /** *The architecture of the image.
*/ inline bool ArchitectureHasBeenSet() const { return m_architectureHasBeenSet; } /** *The architecture of the image.
*/ inline void SetArchitecture(const ArchitectureValues& value) { m_architectureHasBeenSet = true; m_architecture = value; } /** *The architecture of the image.
*/ inline void SetArchitecture(ArchitectureValues&& value) { m_architectureHasBeenSet = true; m_architecture = std::move(value); } /** *The architecture of the image.
*/ inline Instance& WithArchitecture(const ArchitectureValues& value) { SetArchitecture(value); return *this;} /** *The architecture of the image.
*/ inline Instance& WithArchitecture(ArchitectureValues&& value) { SetArchitecture(std::move(value)); return *this;} /** *Any block device mapping entries for the instance.
*/ inline const Aws::VectorAny block device mapping entries for the instance.
*/ inline bool BlockDeviceMappingsHasBeenSet() const { return m_blockDeviceMappingsHasBeenSet; } /** *Any block device mapping entries for the instance.
*/ inline void SetBlockDeviceMappings(const Aws::VectorAny block device mapping entries for the instance.
*/ inline void SetBlockDeviceMappings(Aws::VectorAny block device mapping entries for the instance.
*/ inline Instance& WithBlockDeviceMappings(const Aws::VectorAny block device mapping entries for the instance.
*/ inline Instance& WithBlockDeviceMappings(Aws::VectorAny block device mapping entries for the instance.
*/ inline Instance& AddBlockDeviceMappings(const InstanceBlockDeviceMapping& value) { m_blockDeviceMappingsHasBeenSet = true; m_blockDeviceMappings.push_back(value); return *this; } /** *Any block device mapping entries for the instance.
*/ inline Instance& AddBlockDeviceMappings(InstanceBlockDeviceMapping&& value) { m_blockDeviceMappingsHasBeenSet = true; m_blockDeviceMappings.push_back(std::move(value)); return *this; } /** *The idempotency token you provided when you launched the instance, if * applicable.
*/ inline const Aws::String& GetClientToken() const{ return m_clientToken; } /** *The idempotency token you provided when you launched the instance, if * applicable.
*/ inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } /** *The idempotency token you provided when you launched the instance, if * applicable.
*/ inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } /** *The idempotency token you provided when you launched the instance, if * applicable.
*/ inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } /** *The idempotency token you provided when you launched the instance, if * applicable.
*/ inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } /** *The idempotency token you provided when you launched the instance, if * applicable.
*/ inline Instance& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} /** *The idempotency token you provided when you launched the instance, if * applicable.
*/ inline Instance& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} /** *The idempotency token you provided when you launched the instance, if * applicable.
*/ inline Instance& WithClientToken(const char* value) { SetClientToken(value); return *this;} /** *Indicates whether the instance is optimized for Amazon EBS I/O. This * optimization provides dedicated throughput to Amazon EBS and an optimized * configuration stack to provide optimal I/O performance. This optimization isn't * available with all instance types. Additional usage charges apply when using an * EBS Optimized instance.
*/ inline bool GetEbsOptimized() const{ return m_ebsOptimized; } /** *Indicates whether the instance is optimized for Amazon EBS I/O. This * optimization provides dedicated throughput to Amazon EBS and an optimized * configuration stack to provide optimal I/O performance. This optimization isn't * available with all instance types. Additional usage charges apply when using an * EBS Optimized instance.
*/ inline bool EbsOptimizedHasBeenSet() const { return m_ebsOptimizedHasBeenSet; } /** *Indicates whether the instance is optimized for Amazon EBS I/O. This * optimization provides dedicated throughput to Amazon EBS and an optimized * configuration stack to provide optimal I/O performance. This optimization isn't * available with all instance types. Additional usage charges apply when using an * EBS Optimized instance.
*/ inline void SetEbsOptimized(bool value) { m_ebsOptimizedHasBeenSet = true; m_ebsOptimized = value; } /** *Indicates whether the instance is optimized for Amazon EBS I/O. This * optimization provides dedicated throughput to Amazon EBS and an optimized * configuration stack to provide optimal I/O performance. This optimization isn't * available with all instance types. Additional usage charges apply when using an * EBS Optimized instance.
*/ inline Instance& WithEbsOptimized(bool value) { SetEbsOptimized(value); return *this;} /** *Specifies whether enhanced networking with ENA is enabled.
*/ inline bool GetEnaSupport() const{ return m_enaSupport; } /** *Specifies whether enhanced networking with ENA is enabled.
*/ inline bool EnaSupportHasBeenSet() const { return m_enaSupportHasBeenSet; } /** *Specifies whether enhanced networking with ENA is enabled.
*/ inline void SetEnaSupport(bool value) { m_enaSupportHasBeenSet = true; m_enaSupport = value; } /** *Specifies whether enhanced networking with ENA is enabled.
*/ inline Instance& WithEnaSupport(bool value) { SetEnaSupport(value); return *this;} /** *The hypervisor type of the instance. The value xen
is used for
* both Xen and Nitro hypervisors.
The hypervisor type of the instance. The value xen
is used for
* both Xen and Nitro hypervisors.
The hypervisor type of the instance. The value xen
is used for
* both Xen and Nitro hypervisors.
The hypervisor type of the instance. The value xen
is used for
* both Xen and Nitro hypervisors.
The hypervisor type of the instance. The value xen
is used for
* both Xen and Nitro hypervisors.
The hypervisor type of the instance. The value xen
is used for
* both Xen and Nitro hypervisors.
The IAM instance profile associated with the instance, if applicable.
*/ inline const IamInstanceProfile& GetIamInstanceProfile() const{ return m_iamInstanceProfile; } /** *The IAM instance profile associated with the instance, if applicable.
*/ inline bool IamInstanceProfileHasBeenSet() const { return m_iamInstanceProfileHasBeenSet; } /** *The IAM instance profile associated with the instance, if applicable.
*/ inline void SetIamInstanceProfile(const IamInstanceProfile& value) { m_iamInstanceProfileHasBeenSet = true; m_iamInstanceProfile = value; } /** *The IAM instance profile associated with the instance, if applicable.
*/ inline void SetIamInstanceProfile(IamInstanceProfile&& value) { m_iamInstanceProfileHasBeenSet = true; m_iamInstanceProfile = std::move(value); } /** *The IAM instance profile associated with the instance, if applicable.
*/ inline Instance& WithIamInstanceProfile(const IamInstanceProfile& value) { SetIamInstanceProfile(value); return *this;} /** *The IAM instance profile associated with the instance, if applicable.
*/ inline Instance& WithIamInstanceProfile(IamInstanceProfile&& value) { SetIamInstanceProfile(std::move(value)); return *this;} /** *Indicates whether this is a Spot Instance or a Scheduled Instance.
*/ inline const InstanceLifecycleType& GetInstanceLifecycle() const{ return m_instanceLifecycle; } /** *Indicates whether this is a Spot Instance or a Scheduled Instance.
*/ inline bool InstanceLifecycleHasBeenSet() const { return m_instanceLifecycleHasBeenSet; } /** *Indicates whether this is a Spot Instance or a Scheduled Instance.
*/ inline void SetInstanceLifecycle(const InstanceLifecycleType& value) { m_instanceLifecycleHasBeenSet = true; m_instanceLifecycle = value; } /** *Indicates whether this is a Spot Instance or a Scheduled Instance.
*/ inline void SetInstanceLifecycle(InstanceLifecycleType&& value) { m_instanceLifecycleHasBeenSet = true; m_instanceLifecycle = std::move(value); } /** *Indicates whether this is a Spot Instance or a Scheduled Instance.
*/ inline Instance& WithInstanceLifecycle(const InstanceLifecycleType& value) { SetInstanceLifecycle(value); return *this;} /** *Indicates whether this is a Spot Instance or a Scheduled Instance.
*/ inline Instance& WithInstanceLifecycle(InstanceLifecycleType&& value) { SetInstanceLifecycle(std::move(value)); return *this;} /** *The Elastic GPU associated with the instance.
*/ inline const Aws::VectorThe Elastic GPU associated with the instance.
*/ inline bool ElasticGpuAssociationsHasBeenSet() const { return m_elasticGpuAssociationsHasBeenSet; } /** *The Elastic GPU associated with the instance.
*/ inline void SetElasticGpuAssociations(const Aws::VectorThe Elastic GPU associated with the instance.
*/ inline void SetElasticGpuAssociations(Aws::VectorThe Elastic GPU associated with the instance.
*/ inline Instance& WithElasticGpuAssociations(const Aws::VectorThe Elastic GPU associated with the instance.
*/ inline Instance& WithElasticGpuAssociations(Aws::VectorThe Elastic GPU associated with the instance.
*/ inline Instance& AddElasticGpuAssociations(const ElasticGpuAssociation& value) { m_elasticGpuAssociationsHasBeenSet = true; m_elasticGpuAssociations.push_back(value); return *this; } /** *The Elastic GPU associated with the instance.
*/ inline Instance& AddElasticGpuAssociations(ElasticGpuAssociation&& value) { m_elasticGpuAssociationsHasBeenSet = true; m_elasticGpuAssociations.push_back(std::move(value)); return *this; } /** *The elastic inference accelerator associated with the instance.
*/ inline const Aws::VectorThe elastic inference accelerator associated with the instance.
*/ inline bool ElasticInferenceAcceleratorAssociationsHasBeenSet() const { return m_elasticInferenceAcceleratorAssociationsHasBeenSet; } /** *The elastic inference accelerator associated with the instance.
*/ inline void SetElasticInferenceAcceleratorAssociations(const Aws::VectorThe elastic inference accelerator associated with the instance.
*/ inline void SetElasticInferenceAcceleratorAssociations(Aws::VectorThe elastic inference accelerator associated with the instance.
*/ inline Instance& WithElasticInferenceAcceleratorAssociations(const Aws::VectorThe elastic inference accelerator associated with the instance.
*/ inline Instance& WithElasticInferenceAcceleratorAssociations(Aws::VectorThe elastic inference accelerator associated with the instance.
*/ inline Instance& AddElasticInferenceAcceleratorAssociations(const ElasticInferenceAcceleratorAssociation& value) { m_elasticInferenceAcceleratorAssociationsHasBeenSet = true; m_elasticInferenceAcceleratorAssociations.push_back(value); return *this; } /** *The elastic inference accelerator associated with the instance.
*/ inline Instance& AddElasticInferenceAcceleratorAssociations(ElasticInferenceAcceleratorAssociation&& value) { m_elasticInferenceAcceleratorAssociationsHasBeenSet = true; m_elasticInferenceAcceleratorAssociations.push_back(std::move(value)); return *this; } /** *The network interfaces for the instance.
*/ inline const Aws::VectorThe network interfaces for the instance.
*/ inline bool NetworkInterfacesHasBeenSet() const { return m_networkInterfacesHasBeenSet; } /** *The network interfaces for the instance.
*/ inline void SetNetworkInterfaces(const Aws::VectorThe network interfaces for the instance.
*/ inline void SetNetworkInterfaces(Aws::VectorThe network interfaces for the instance.
*/ inline Instance& WithNetworkInterfaces(const Aws::VectorThe network interfaces for the instance.
*/ inline Instance& WithNetworkInterfaces(Aws::VectorThe network interfaces for the instance.
*/ inline Instance& AddNetworkInterfaces(const InstanceNetworkInterface& value) { m_networkInterfacesHasBeenSet = true; m_networkInterfaces.push_back(value); return *this; } /** *The network interfaces for the instance.
*/ inline Instance& AddNetworkInterfaces(InstanceNetworkInterface&& value) { m_networkInterfacesHasBeenSet = true; m_networkInterfaces.push_back(std::move(value)); return *this; } /** *The Amazon Resource Name (ARN) of the Outpost.
*/ inline const Aws::String& GetOutpostArn() const{ return m_outpostArn; } /** *The Amazon Resource Name (ARN) of the Outpost.
*/ inline bool OutpostArnHasBeenSet() const { return m_outpostArnHasBeenSet; } /** *The Amazon Resource Name (ARN) of the Outpost.
*/ inline void SetOutpostArn(const Aws::String& value) { m_outpostArnHasBeenSet = true; m_outpostArn = value; } /** *The Amazon Resource Name (ARN) of the Outpost.
*/ inline void SetOutpostArn(Aws::String&& value) { m_outpostArnHasBeenSet = true; m_outpostArn = std::move(value); } /** *The Amazon Resource Name (ARN) of the Outpost.
*/ inline void SetOutpostArn(const char* value) { m_outpostArnHasBeenSet = true; m_outpostArn.assign(value); } /** *The Amazon Resource Name (ARN) of the Outpost.
*/ inline Instance& WithOutpostArn(const Aws::String& value) { SetOutpostArn(value); return *this;} /** *The Amazon Resource Name (ARN) of the Outpost.
*/ inline Instance& WithOutpostArn(Aws::String&& value) { SetOutpostArn(std::move(value)); return *this;} /** *The Amazon Resource Name (ARN) of the Outpost.
*/ inline Instance& WithOutpostArn(const char* value) { SetOutpostArn(value); return *this;} /** *The device name of the root device volume (for example,
* /dev/sda1
).
The device name of the root device volume (for example,
* /dev/sda1
).
The device name of the root device volume (for example,
* /dev/sda1
).
The device name of the root device volume (for example,
* /dev/sda1
).
The device name of the root device volume (for example,
* /dev/sda1
).
The device name of the root device volume (for example,
* /dev/sda1
).
The device name of the root device volume (for example,
* /dev/sda1
).
The device name of the root device volume (for example,
* /dev/sda1
).
The root device type used by the AMI. The AMI can use an EBS volume or an * instance store volume.
*/ inline const DeviceType& GetRootDeviceType() const{ return m_rootDeviceType; } /** *The root device type used by the AMI. The AMI can use an EBS volume or an * instance store volume.
*/ inline bool RootDeviceTypeHasBeenSet() const { return m_rootDeviceTypeHasBeenSet; } /** *The root device type used by the AMI. The AMI can use an EBS volume or an * instance store volume.
*/ inline void SetRootDeviceType(const DeviceType& value) { m_rootDeviceTypeHasBeenSet = true; m_rootDeviceType = value; } /** *The root device type used by the AMI. The AMI can use an EBS volume or an * instance store volume.
*/ inline void SetRootDeviceType(DeviceType&& value) { m_rootDeviceTypeHasBeenSet = true; m_rootDeviceType = std::move(value); } /** *The root device type used by the AMI. The AMI can use an EBS volume or an * instance store volume.
*/ inline Instance& WithRootDeviceType(const DeviceType& value) { SetRootDeviceType(value); return *this;} /** *The root device type used by the AMI. The AMI can use an EBS volume or an * instance store volume.
*/ inline Instance& WithRootDeviceType(DeviceType&& value) { SetRootDeviceType(std::move(value)); return *this;} /** *The security groups for the instance.
*/ inline const Aws::VectorThe security groups for the instance.
*/ inline bool SecurityGroupsHasBeenSet() const { return m_securityGroupsHasBeenSet; } /** *The security groups for the instance.
*/ inline void SetSecurityGroups(const Aws::VectorThe security groups for the instance.
*/ inline void SetSecurityGroups(Aws::VectorThe security groups for the instance.
*/ inline Instance& WithSecurityGroups(const Aws::VectorThe security groups for the instance.
*/ inline Instance& WithSecurityGroups(Aws::VectorThe security groups for the instance.
*/ inline Instance& AddSecurityGroups(const GroupIdentifier& value) { m_securityGroupsHasBeenSet = true; m_securityGroups.push_back(value); return *this; } /** *The security groups for the instance.
*/ inline Instance& AddSecurityGroups(GroupIdentifier&& value) { m_securityGroupsHasBeenSet = true; m_securityGroups.push_back(std::move(value)); return *this; } /** *Indicates whether source/destination checking is enabled.
*/ inline bool GetSourceDestCheck() const{ return m_sourceDestCheck; } /** *Indicates whether source/destination checking is enabled.
*/ inline bool SourceDestCheckHasBeenSet() const { return m_sourceDestCheckHasBeenSet; } /** *Indicates whether source/destination checking is enabled.
*/ inline void SetSourceDestCheck(bool value) { m_sourceDestCheckHasBeenSet = true; m_sourceDestCheck = value; } /** *Indicates whether source/destination checking is enabled.
*/ inline Instance& WithSourceDestCheck(bool value) { SetSourceDestCheck(value); return *this;} /** *If the request is a Spot Instance request, the ID of the request.
*/ inline const Aws::String& GetSpotInstanceRequestId() const{ return m_spotInstanceRequestId; } /** *If the request is a Spot Instance request, the ID of the request.
*/ inline bool SpotInstanceRequestIdHasBeenSet() const { return m_spotInstanceRequestIdHasBeenSet; } /** *If the request is a Spot Instance request, the ID of the request.
*/ inline void SetSpotInstanceRequestId(const Aws::String& value) { m_spotInstanceRequestIdHasBeenSet = true; m_spotInstanceRequestId = value; } /** *If the request is a Spot Instance request, the ID of the request.
*/ inline void SetSpotInstanceRequestId(Aws::String&& value) { m_spotInstanceRequestIdHasBeenSet = true; m_spotInstanceRequestId = std::move(value); } /** *If the request is a Spot Instance request, the ID of the request.
*/ inline void SetSpotInstanceRequestId(const char* value) { m_spotInstanceRequestIdHasBeenSet = true; m_spotInstanceRequestId.assign(value); } /** *If the request is a Spot Instance request, the ID of the request.
*/ inline Instance& WithSpotInstanceRequestId(const Aws::String& value) { SetSpotInstanceRequestId(value); return *this;} /** *If the request is a Spot Instance request, the ID of the request.
*/ inline Instance& WithSpotInstanceRequestId(Aws::String&& value) { SetSpotInstanceRequestId(std::move(value)); return *this;} /** *If the request is a Spot Instance request, the ID of the request.
*/ inline Instance& WithSpotInstanceRequestId(const char* value) { SetSpotInstanceRequestId(value); return *this;} /** *Specifies whether enhanced networking with the Intel 82599 Virtual Function * interface is enabled.
*/ inline const Aws::String& GetSriovNetSupport() const{ return m_sriovNetSupport; } /** *Specifies whether enhanced networking with the Intel 82599 Virtual Function * interface is enabled.
*/ inline bool SriovNetSupportHasBeenSet() const { return m_sriovNetSupportHasBeenSet; } /** *Specifies whether enhanced networking with the Intel 82599 Virtual Function * interface is enabled.
*/ inline void SetSriovNetSupport(const Aws::String& value) { m_sriovNetSupportHasBeenSet = true; m_sriovNetSupport = value; } /** *Specifies whether enhanced networking with the Intel 82599 Virtual Function * interface is enabled.
*/ inline void SetSriovNetSupport(Aws::String&& value) { m_sriovNetSupportHasBeenSet = true; m_sriovNetSupport = std::move(value); } /** *Specifies whether enhanced networking with the Intel 82599 Virtual Function * interface is enabled.
*/ inline void SetSriovNetSupport(const char* value) { m_sriovNetSupportHasBeenSet = true; m_sriovNetSupport.assign(value); } /** *Specifies whether enhanced networking with the Intel 82599 Virtual Function * interface is enabled.
*/ inline Instance& WithSriovNetSupport(const Aws::String& value) { SetSriovNetSupport(value); return *this;} /** *Specifies whether enhanced networking with the Intel 82599 Virtual Function * interface is enabled.
*/ inline Instance& WithSriovNetSupport(Aws::String&& value) { SetSriovNetSupport(std::move(value)); return *this;} /** *Specifies whether enhanced networking with the Intel 82599 Virtual Function * interface is enabled.
*/ inline Instance& WithSriovNetSupport(const char* value) { SetSriovNetSupport(value); return *this;} /** *The reason for the most recent state transition.
*/ inline const StateReason& GetStateReason() const{ return m_stateReason; } /** *The reason for the most recent state transition.
*/ inline bool StateReasonHasBeenSet() const { return m_stateReasonHasBeenSet; } /** *The reason for the most recent state transition.
*/ inline void SetStateReason(const StateReason& value) { m_stateReasonHasBeenSet = true; m_stateReason = value; } /** *The reason for the most recent state transition.
*/ inline void SetStateReason(StateReason&& value) { m_stateReasonHasBeenSet = true; m_stateReason = std::move(value); } /** *The reason for the most recent state transition.
*/ inline Instance& WithStateReason(const StateReason& value) { SetStateReason(value); return *this;} /** *The reason for the most recent state transition.
*/ inline Instance& WithStateReason(StateReason&& value) { SetStateReason(std::move(value)); return *this;} /** *Any tags assigned to the instance.
*/ inline const Aws::VectorAny tags assigned to the instance.
*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *Any tags assigned to the instance.
*/ inline void SetTags(const Aws::VectorAny tags assigned to the instance.
*/ inline void SetTags(Aws::VectorAny tags assigned to the instance.
*/ inline Instance& WithTags(const Aws::VectorAny tags assigned to the instance.
*/ inline Instance& WithTags(Aws::VectorAny tags assigned to the instance.
*/ inline Instance& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *Any tags assigned to the instance.
*/ inline Instance& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } /** *The virtualization type of the instance.
*/ inline const VirtualizationType& GetVirtualizationType() const{ return m_virtualizationType; } /** *The virtualization type of the instance.
*/ inline bool VirtualizationTypeHasBeenSet() const { return m_virtualizationTypeHasBeenSet; } /** *The virtualization type of the instance.
*/ inline void SetVirtualizationType(const VirtualizationType& value) { m_virtualizationTypeHasBeenSet = true; m_virtualizationType = value; } /** *The virtualization type of the instance.
*/ inline void SetVirtualizationType(VirtualizationType&& value) { m_virtualizationTypeHasBeenSet = true; m_virtualizationType = std::move(value); } /** *The virtualization type of the instance.
*/ inline Instance& WithVirtualizationType(const VirtualizationType& value) { SetVirtualizationType(value); return *this;} /** *The virtualization type of the instance.
*/ inline Instance& WithVirtualizationType(VirtualizationType&& value) { SetVirtualizationType(std::move(value)); return *this;} /** *The CPU options for the instance.
*/ inline const CpuOptions& GetCpuOptions() const{ return m_cpuOptions; } /** *The CPU options for the instance.
*/ inline bool CpuOptionsHasBeenSet() const { return m_cpuOptionsHasBeenSet; } /** *The CPU options for the instance.
*/ inline void SetCpuOptions(const CpuOptions& value) { m_cpuOptionsHasBeenSet = true; m_cpuOptions = value; } /** *The CPU options for the instance.
*/ inline void SetCpuOptions(CpuOptions&& value) { m_cpuOptionsHasBeenSet = true; m_cpuOptions = std::move(value); } /** *The CPU options for the instance.
*/ inline Instance& WithCpuOptions(const CpuOptions& value) { SetCpuOptions(value); return *this;} /** *The CPU options for the instance.
*/ inline Instance& WithCpuOptions(CpuOptions&& value) { SetCpuOptions(std::move(value)); return *this;} /** *The ID of the Capacity Reservation.
*/ inline const Aws::String& GetCapacityReservationId() const{ return m_capacityReservationId; } /** *The ID of the Capacity Reservation.
*/ inline bool CapacityReservationIdHasBeenSet() const { return m_capacityReservationIdHasBeenSet; } /** *The ID of the Capacity Reservation.
*/ inline void SetCapacityReservationId(const Aws::String& value) { m_capacityReservationIdHasBeenSet = true; m_capacityReservationId = value; } /** *The ID of the Capacity Reservation.
*/ inline void SetCapacityReservationId(Aws::String&& value) { m_capacityReservationIdHasBeenSet = true; m_capacityReservationId = std::move(value); } /** *The ID of the Capacity Reservation.
*/ inline void SetCapacityReservationId(const char* value) { m_capacityReservationIdHasBeenSet = true; m_capacityReservationId.assign(value); } /** *The ID of the Capacity Reservation.
*/ inline Instance& WithCapacityReservationId(const Aws::String& value) { SetCapacityReservationId(value); return *this;} /** *The ID of the Capacity Reservation.
*/ inline Instance& WithCapacityReservationId(Aws::String&& value) { SetCapacityReservationId(std::move(value)); return *this;} /** *The ID of the Capacity Reservation.
*/ inline Instance& WithCapacityReservationId(const char* value) { SetCapacityReservationId(value); return *this;} /** *Information about the Capacity Reservation targeting option.
*/ inline const CapacityReservationSpecificationResponse& GetCapacityReservationSpecification() const{ return m_capacityReservationSpecification; } /** *Information about the Capacity Reservation targeting option.
*/ inline bool CapacityReservationSpecificationHasBeenSet() const { return m_capacityReservationSpecificationHasBeenSet; } /** *Information about the Capacity Reservation targeting option.
*/ inline void SetCapacityReservationSpecification(const CapacityReservationSpecificationResponse& value) { m_capacityReservationSpecificationHasBeenSet = true; m_capacityReservationSpecification = value; } /** *Information about the Capacity Reservation targeting option.
*/ inline void SetCapacityReservationSpecification(CapacityReservationSpecificationResponse&& value) { m_capacityReservationSpecificationHasBeenSet = true; m_capacityReservationSpecification = std::move(value); } /** *Information about the Capacity Reservation targeting option.
*/ inline Instance& WithCapacityReservationSpecification(const CapacityReservationSpecificationResponse& value) { SetCapacityReservationSpecification(value); return *this;} /** *Information about the Capacity Reservation targeting option.
*/ inline Instance& WithCapacityReservationSpecification(CapacityReservationSpecificationResponse&& value) { SetCapacityReservationSpecification(std::move(value)); return *this;} /** *Indicates whether the instance is enabled for hibernation.
*/ inline const HibernationOptions& GetHibernationOptions() const{ return m_hibernationOptions; } /** *Indicates whether the instance is enabled for hibernation.
*/ inline bool HibernationOptionsHasBeenSet() const { return m_hibernationOptionsHasBeenSet; } /** *Indicates whether the instance is enabled for hibernation.
*/ inline void SetHibernationOptions(const HibernationOptions& value) { m_hibernationOptionsHasBeenSet = true; m_hibernationOptions = value; } /** *Indicates whether the instance is enabled for hibernation.
*/ inline void SetHibernationOptions(HibernationOptions&& value) { m_hibernationOptionsHasBeenSet = true; m_hibernationOptions = std::move(value); } /** *Indicates whether the instance is enabled for hibernation.
*/ inline Instance& WithHibernationOptions(const HibernationOptions& value) { SetHibernationOptions(value); return *this;} /** *Indicates whether the instance is enabled for hibernation.
*/ inline Instance& WithHibernationOptions(HibernationOptions&& value) { SetHibernationOptions(std::move(value)); return *this;} /** *The license configurations for the instance.
*/ inline const Aws::VectorThe license configurations for the instance.
*/ inline bool LicensesHasBeenSet() const { return m_licensesHasBeenSet; } /** *The license configurations for the instance.
*/ inline void SetLicenses(const Aws::VectorThe license configurations for the instance.
*/ inline void SetLicenses(Aws::VectorThe license configurations for the instance.
*/ inline Instance& WithLicenses(const Aws::VectorThe license configurations for the instance.
*/ inline Instance& WithLicenses(Aws::VectorThe license configurations for the instance.
*/ inline Instance& AddLicenses(const LicenseConfiguration& value) { m_licensesHasBeenSet = true; m_licenses.push_back(value); return *this; } /** *The license configurations for the instance.
*/ inline Instance& AddLicenses(LicenseConfiguration&& value) { m_licensesHasBeenSet = true; m_licenses.push_back(std::move(value)); return *this; } /** *The metadata options for the instance.
*/ inline const InstanceMetadataOptionsResponse& GetMetadataOptions() const{ return m_metadataOptions; } /** *The metadata options for the instance.
*/ inline bool MetadataOptionsHasBeenSet() const { return m_metadataOptionsHasBeenSet; } /** *The metadata options for the instance.
*/ inline void SetMetadataOptions(const InstanceMetadataOptionsResponse& value) { m_metadataOptionsHasBeenSet = true; m_metadataOptions = value; } /** *The metadata options for the instance.
*/ inline void SetMetadataOptions(InstanceMetadataOptionsResponse&& value) { m_metadataOptionsHasBeenSet = true; m_metadataOptions = std::move(value); } /** *The metadata options for the instance.
*/ inline Instance& WithMetadataOptions(const InstanceMetadataOptionsResponse& value) { SetMetadataOptions(value); return *this;} /** *The metadata options for the instance.
*/ inline Instance& WithMetadataOptions(InstanceMetadataOptionsResponse&& value) { SetMetadataOptions(std::move(value)); return *this;} /** *Indicates whether the instance is enabled for Amazon Web Services Nitro * Enclaves.
*/ inline const EnclaveOptions& GetEnclaveOptions() const{ return m_enclaveOptions; } /** *Indicates whether the instance is enabled for Amazon Web Services Nitro * Enclaves.
*/ inline bool EnclaveOptionsHasBeenSet() const { return m_enclaveOptionsHasBeenSet; } /** *Indicates whether the instance is enabled for Amazon Web Services Nitro * Enclaves.
*/ inline void SetEnclaveOptions(const EnclaveOptions& value) { m_enclaveOptionsHasBeenSet = true; m_enclaveOptions = value; } /** *Indicates whether the instance is enabled for Amazon Web Services Nitro * Enclaves.
*/ inline void SetEnclaveOptions(EnclaveOptions&& value) { m_enclaveOptionsHasBeenSet = true; m_enclaveOptions = std::move(value); } /** *Indicates whether the instance is enabled for Amazon Web Services Nitro * Enclaves.
*/ inline Instance& WithEnclaveOptions(const EnclaveOptions& value) { SetEnclaveOptions(value); return *this;} /** *Indicates whether the instance is enabled for Amazon Web Services Nitro * Enclaves.
*/ inline Instance& WithEnclaveOptions(EnclaveOptions&& value) { SetEnclaveOptions(std::move(value)); return *this;} /** *The boot mode that was specified by the AMI. If the value is
* uefi-preferred
, the AMI supports both UEFI and Legacy BIOS. The
* currentInstanceBootMode
parameter is the boot mode that is used to
* boot the instance at launch or start.
The operating system * contained in the AMI must be configured to support the specified boot mode.
*For more information, see Boot * modes in the Amazon EC2 User Guide.
*/ inline const BootModeValues& GetBootMode() const{ return m_bootMode; } /** *The boot mode that was specified by the AMI. If the value is
* uefi-preferred
, the AMI supports both UEFI and Legacy BIOS. The
* currentInstanceBootMode
parameter is the boot mode that is used to
* boot the instance at launch or start.
The operating system * contained in the AMI must be configured to support the specified boot mode.
*For more information, see Boot * modes in the Amazon EC2 User Guide.
*/ inline bool BootModeHasBeenSet() const { return m_bootModeHasBeenSet; } /** *The boot mode that was specified by the AMI. If the value is
* uefi-preferred
, the AMI supports both UEFI and Legacy BIOS. The
* currentInstanceBootMode
parameter is the boot mode that is used to
* boot the instance at launch or start.
The operating system * contained in the AMI must be configured to support the specified boot mode.
*For more information, see Boot * modes in the Amazon EC2 User Guide.
*/ inline void SetBootMode(const BootModeValues& value) { m_bootModeHasBeenSet = true; m_bootMode = value; } /** *The boot mode that was specified by the AMI. If the value is
* uefi-preferred
, the AMI supports both UEFI and Legacy BIOS. The
* currentInstanceBootMode
parameter is the boot mode that is used to
* boot the instance at launch or start.
The operating system * contained in the AMI must be configured to support the specified boot mode.
*For more information, see Boot * modes in the Amazon EC2 User Guide.
*/ inline void SetBootMode(BootModeValues&& value) { m_bootModeHasBeenSet = true; m_bootMode = std::move(value); } /** *The boot mode that was specified by the AMI. If the value is
* uefi-preferred
, the AMI supports both UEFI and Legacy BIOS. The
* currentInstanceBootMode
parameter is the boot mode that is used to
* boot the instance at launch or start.
The operating system * contained in the AMI must be configured to support the specified boot mode.
*For more information, see Boot * modes in the Amazon EC2 User Guide.
*/ inline Instance& WithBootMode(const BootModeValues& value) { SetBootMode(value); return *this;} /** *The boot mode that was specified by the AMI. If the value is
* uefi-preferred
, the AMI supports both UEFI and Legacy BIOS. The
* currentInstanceBootMode
parameter is the boot mode that is used to
* boot the instance at launch or start.
The operating system * contained in the AMI must be configured to support the specified boot mode.
*For more information, see Boot * modes in the Amazon EC2 User Guide.
*/ inline Instance& WithBootMode(BootModeValues&& value) { SetBootMode(std::move(value)); return *this;} /** *The platform details value for the instance. For more information, see AMI * billing information fields in the Amazon EC2 User Guide.
*/ inline const Aws::String& GetPlatformDetails() const{ return m_platformDetails; } /** *The platform details value for the instance. For more information, see AMI * billing information fields in the Amazon EC2 User Guide.
*/ inline bool PlatformDetailsHasBeenSet() const { return m_platformDetailsHasBeenSet; } /** *The platform details value for the instance. For more information, see AMI * billing information fields in the Amazon EC2 User Guide.
*/ inline void SetPlatformDetails(const Aws::String& value) { m_platformDetailsHasBeenSet = true; m_platformDetails = value; } /** *The platform details value for the instance. For more information, see AMI * billing information fields in the Amazon EC2 User Guide.
*/ inline void SetPlatformDetails(Aws::String&& value) { m_platformDetailsHasBeenSet = true; m_platformDetails = std::move(value); } /** *The platform details value for the instance. For more information, see AMI * billing information fields in the Amazon EC2 User Guide.
*/ inline void SetPlatformDetails(const char* value) { m_platformDetailsHasBeenSet = true; m_platformDetails.assign(value); } /** *The platform details value for the instance. For more information, see AMI * billing information fields in the Amazon EC2 User Guide.
*/ inline Instance& WithPlatformDetails(const Aws::String& value) { SetPlatformDetails(value); return *this;} /** *The platform details value for the instance. For more information, see AMI * billing information fields in the Amazon EC2 User Guide.
*/ inline Instance& WithPlatformDetails(Aws::String&& value) { SetPlatformDetails(std::move(value)); return *this;} /** *The platform details value for the instance. For more information, see AMI * billing information fields in the Amazon EC2 User Guide.
*/ inline Instance& WithPlatformDetails(const char* value) { SetPlatformDetails(value); return *this;} /** *The usage operation value for the instance. For more information, see AMI * billing information fields in the Amazon EC2 User Guide.
*/ inline const Aws::String& GetUsageOperation() const{ return m_usageOperation; } /** *The usage operation value for the instance. For more information, see AMI * billing information fields in the Amazon EC2 User Guide.
*/ inline bool UsageOperationHasBeenSet() const { return m_usageOperationHasBeenSet; } /** *The usage operation value for the instance. For more information, see AMI * billing information fields in the Amazon EC2 User Guide.
*/ inline void SetUsageOperation(const Aws::String& value) { m_usageOperationHasBeenSet = true; m_usageOperation = value; } /** *The usage operation value for the instance. For more information, see AMI * billing information fields in the Amazon EC2 User Guide.
*/ inline void SetUsageOperation(Aws::String&& value) { m_usageOperationHasBeenSet = true; m_usageOperation = std::move(value); } /** *The usage operation value for the instance. For more information, see AMI * billing information fields in the Amazon EC2 User Guide.
*/ inline void SetUsageOperation(const char* value) { m_usageOperationHasBeenSet = true; m_usageOperation.assign(value); } /** *The usage operation value for the instance. For more information, see AMI * billing information fields in the Amazon EC2 User Guide.
*/ inline Instance& WithUsageOperation(const Aws::String& value) { SetUsageOperation(value); return *this;} /** *The usage operation value for the instance. For more information, see AMI * billing information fields in the Amazon EC2 User Guide.
*/ inline Instance& WithUsageOperation(Aws::String&& value) { SetUsageOperation(std::move(value)); return *this;} /** *The usage operation value for the instance. For more information, see AMI * billing information fields in the Amazon EC2 User Guide.
*/ inline Instance& WithUsageOperation(const char* value) { SetUsageOperation(value); return *this;} /** *The time that the usage operation was last updated.
*/ inline const Aws::Utils::DateTime& GetUsageOperationUpdateTime() const{ return m_usageOperationUpdateTime; } /** *The time that the usage operation was last updated.
*/ inline bool UsageOperationUpdateTimeHasBeenSet() const { return m_usageOperationUpdateTimeHasBeenSet; } /** *The time that the usage operation was last updated.
*/ inline void SetUsageOperationUpdateTime(const Aws::Utils::DateTime& value) { m_usageOperationUpdateTimeHasBeenSet = true; m_usageOperationUpdateTime = value; } /** *The time that the usage operation was last updated.
*/ inline void SetUsageOperationUpdateTime(Aws::Utils::DateTime&& value) { m_usageOperationUpdateTimeHasBeenSet = true; m_usageOperationUpdateTime = std::move(value); } /** *The time that the usage operation was last updated.
*/ inline Instance& WithUsageOperationUpdateTime(const Aws::Utils::DateTime& value) { SetUsageOperationUpdateTime(value); return *this;} /** *The time that the usage operation was last updated.
*/ inline Instance& WithUsageOperationUpdateTime(Aws::Utils::DateTime&& value) { SetUsageOperationUpdateTime(std::move(value)); return *this;} /** *The options for the instance hostname.
*/ inline const PrivateDnsNameOptionsResponse& GetPrivateDnsNameOptions() const{ return m_privateDnsNameOptions; } /** *The options for the instance hostname.
*/ inline bool PrivateDnsNameOptionsHasBeenSet() const { return m_privateDnsNameOptionsHasBeenSet; } /** *The options for the instance hostname.
*/ inline void SetPrivateDnsNameOptions(const PrivateDnsNameOptionsResponse& value) { m_privateDnsNameOptionsHasBeenSet = true; m_privateDnsNameOptions = value; } /** *The options for the instance hostname.
*/ inline void SetPrivateDnsNameOptions(PrivateDnsNameOptionsResponse&& value) { m_privateDnsNameOptionsHasBeenSet = true; m_privateDnsNameOptions = std::move(value); } /** *The options for the instance hostname.
*/ inline Instance& WithPrivateDnsNameOptions(const PrivateDnsNameOptionsResponse& value) { SetPrivateDnsNameOptions(value); return *this;} /** *The options for the instance hostname.
*/ inline Instance& WithPrivateDnsNameOptions(PrivateDnsNameOptionsResponse&& value) { SetPrivateDnsNameOptions(std::move(value)); return *this;} /** *The IPv6 address assigned to the instance.
*/ inline const Aws::String& GetIpv6Address() const{ return m_ipv6Address; } /** *The IPv6 address assigned to the instance.
*/ inline bool Ipv6AddressHasBeenSet() const { return m_ipv6AddressHasBeenSet; } /** *The IPv6 address assigned to the instance.
*/ inline void SetIpv6Address(const Aws::String& value) { m_ipv6AddressHasBeenSet = true; m_ipv6Address = value; } /** *The IPv6 address assigned to the instance.
*/ inline void SetIpv6Address(Aws::String&& value) { m_ipv6AddressHasBeenSet = true; m_ipv6Address = std::move(value); } /** *The IPv6 address assigned to the instance.
*/ inline void SetIpv6Address(const char* value) { m_ipv6AddressHasBeenSet = true; m_ipv6Address.assign(value); } /** *The IPv6 address assigned to the instance.
*/ inline Instance& WithIpv6Address(const Aws::String& value) { SetIpv6Address(value); return *this;} /** *The IPv6 address assigned to the instance.
*/ inline Instance& WithIpv6Address(Aws::String&& value) { SetIpv6Address(std::move(value)); return *this;} /** *The IPv6 address assigned to the instance.
*/ inline Instance& WithIpv6Address(const char* value) { SetIpv6Address(value); return *this;} /** *If the instance is configured for NitroTPM support, the value is
* v2.0
. For more information, see NitroTPM
* in the Amazon EC2 User Guide.
If the instance is configured for NitroTPM support, the value is
* v2.0
. For more information, see NitroTPM
* in the Amazon EC2 User Guide.
If the instance is configured for NitroTPM support, the value is
* v2.0
. For more information, see NitroTPM
* in the Amazon EC2 User Guide.
If the instance is configured for NitroTPM support, the value is
* v2.0
. For more information, see NitroTPM
* in the Amazon EC2 User Guide.
If the instance is configured for NitroTPM support, the value is
* v2.0
. For more information, see NitroTPM
* in the Amazon EC2 User Guide.
If the instance is configured for NitroTPM support, the value is
* v2.0
. For more information, see NitroTPM
* in the Amazon EC2 User Guide.
If the instance is configured for NitroTPM support, the value is
* v2.0
. For more information, see NitroTPM
* in the Amazon EC2 User Guide.
If the instance is configured for NitroTPM support, the value is
* v2.0
. For more information, see NitroTPM
* in the Amazon EC2 User Guide.
Provides information on the recovery and maintenance options of your * instance.
*/ inline const InstanceMaintenanceOptions& GetMaintenanceOptions() const{ return m_maintenanceOptions; } /** *Provides information on the recovery and maintenance options of your * instance.
*/ inline bool MaintenanceOptionsHasBeenSet() const { return m_maintenanceOptionsHasBeenSet; } /** *Provides information on the recovery and maintenance options of your * instance.
*/ inline void SetMaintenanceOptions(const InstanceMaintenanceOptions& value) { m_maintenanceOptionsHasBeenSet = true; m_maintenanceOptions = value; } /** *Provides information on the recovery and maintenance options of your * instance.
*/ inline void SetMaintenanceOptions(InstanceMaintenanceOptions&& value) { m_maintenanceOptionsHasBeenSet = true; m_maintenanceOptions = std::move(value); } /** *Provides information on the recovery and maintenance options of your * instance.
*/ inline Instance& WithMaintenanceOptions(const InstanceMaintenanceOptions& value) { SetMaintenanceOptions(value); return *this;} /** *Provides information on the recovery and maintenance options of your * instance.
*/ inline Instance& WithMaintenanceOptions(InstanceMaintenanceOptions&& value) { SetMaintenanceOptions(std::move(value)); return *this;} /** *The boot mode that is used to boot the instance at launch or start. For more * information, see Boot * modes in the Amazon EC2 User Guide.
*/ inline const InstanceBootModeValues& GetCurrentInstanceBootMode() const{ return m_currentInstanceBootMode; } /** *The boot mode that is used to boot the instance at launch or start. For more * information, see Boot * modes in the Amazon EC2 User Guide.
*/ inline bool CurrentInstanceBootModeHasBeenSet() const { return m_currentInstanceBootModeHasBeenSet; } /** *The boot mode that is used to boot the instance at launch or start. For more * information, see Boot * modes in the Amazon EC2 User Guide.
*/ inline void SetCurrentInstanceBootMode(const InstanceBootModeValues& value) { m_currentInstanceBootModeHasBeenSet = true; m_currentInstanceBootMode = value; } /** *The boot mode that is used to boot the instance at launch or start. For more * information, see Boot * modes in the Amazon EC2 User Guide.
*/ inline void SetCurrentInstanceBootMode(InstanceBootModeValues&& value) { m_currentInstanceBootModeHasBeenSet = true; m_currentInstanceBootMode = std::move(value); } /** *The boot mode that is used to boot the instance at launch or start. For more * information, see Boot * modes in the Amazon EC2 User Guide.
*/ inline Instance& WithCurrentInstanceBootMode(const InstanceBootModeValues& value) { SetCurrentInstanceBootMode(value); return *this;} /** *The boot mode that is used to boot the instance at launch or start. For more * information, see Boot * modes in the Amazon EC2 User Guide.
*/ inline Instance& WithCurrentInstanceBootMode(InstanceBootModeValues&& value) { SetCurrentInstanceBootMode(std::move(value)); return *this;} private: int m_amiLaunchIndex; bool m_amiLaunchIndexHasBeenSet = false; Aws::String m_imageId; bool m_imageIdHasBeenSet = false; Aws::String m_instanceId; bool m_instanceIdHasBeenSet = false; InstanceType m_instanceType; bool m_instanceTypeHasBeenSet = false; Aws::String m_kernelId; bool m_kernelIdHasBeenSet = false; Aws::String m_keyName; bool m_keyNameHasBeenSet = false; Aws::Utils::DateTime m_launchTime; bool m_launchTimeHasBeenSet = false; Monitoring m_monitoring; bool m_monitoringHasBeenSet = false; Placement m_placement; bool m_placementHasBeenSet = false; PlatformValues m_platform; bool m_platformHasBeenSet = false; Aws::String m_privateDnsName; bool m_privateDnsNameHasBeenSet = false; Aws::String m_privateIpAddress; bool m_privateIpAddressHasBeenSet = false; Aws::Vector