/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The description of an instance. Currently, Amazon EC2 instances are the only
* supported instance type.See Also:
AWS
* API Reference
The Amazon Machine Image (AMI) launch index, which you can use to find this * instance in the launch group.
*/ inline int GetAmiLaunchIndex() const{ return m_amiLaunchIndex; } /** *The Amazon Machine Image (AMI) launch index, which you can use to find this * instance in the launch group.
*/ inline bool AmiLaunchIndexHasBeenSet() const { return m_amiLaunchIndexHasBeenSet; } /** *The Amazon Machine Image (AMI) launch index, which you can use to find this * instance in the launch group.
*/ inline void SetAmiLaunchIndex(int value) { m_amiLaunchIndexHasBeenSet = true; m_amiLaunchIndex = value; } /** *The Amazon Machine Image (AMI) launch index, which you can use to find this * instance in the launch group.
*/ inline Instance& WithAmiLaunchIndex(int value) { SetAmiLaunchIndex(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 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;} /** *When the instance was created.
*/ inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } /** *When the instance was created.
*/ inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } /** *When the instance was created.
*/ inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; } /** *When the instance was created.
*/ inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); } /** *When the instance was created.
*/ inline Instance& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} /** *When the instance was created.
*/ inline Instance& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(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 Aws::String& GetInstanceType() const{ return m_instanceType; } /** *The instance type.
*/ inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; } /** *The instance type.
*/ inline void SetInstanceType(const Aws::String& value) { m_instanceTypeHasBeenSet = true; m_instanceType = value; } /** *The instance type.
*/ inline void SetInstanceType(Aws::String&& value) { m_instanceTypeHasBeenSet = true; m_instanceType = std::move(value); } /** *The instance type.
*/ inline void SetInstanceType(const char* value) { m_instanceTypeHasBeenSet = true; m_instanceType.assign(value); } /** *The instance type.
*/ inline Instance& WithInstanceType(const Aws::String& value) { SetInstanceType(value); return *this;} /** *The instance type.
*/ inline Instance& WithInstanceType(Aws::String&& value) { SetInstanceType(std::move(value)); return *this;} /** *The instance type.
*/ inline Instance& WithInstanceType(const char* value) { SetInstanceType(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 public IPv4 address assigned to the instance.
*/ inline const Aws::String& GetPublicIpAddress() const{ return m_publicIpAddress; } /** *The public IPv4 address assigned to the instance.
*/ inline bool PublicIpAddressHasBeenSet() const { return m_publicIpAddressHasBeenSet; } /** *The public IPv4 address assigned to the instance.
*/ inline void SetPublicIpAddress(const Aws::String& value) { m_publicIpAddressHasBeenSet = true; m_publicIpAddress = value; } /** *The public IPv4 address assigned to the instance.
*/ inline void SetPublicIpAddress(Aws::String&& value) { m_publicIpAddressHasBeenSet = true; m_publicIpAddress = std::move(value); } /** *The public IPv4 address assigned to the instance.
*/ inline void SetPublicIpAddress(const char* value) { m_publicIpAddressHasBeenSet = true; m_publicIpAddress.assign(value); } /** *The public IPv4 address assigned to the instance.
*/ inline Instance& WithPublicIpAddress(const Aws::String& value) { SetPublicIpAddress(value); return *this;} /** *The public IPv4 address assigned to the instance.
*/ inline Instance& WithPublicIpAddress(Aws::String&& value) { SetPublicIpAddress(std::move(value)); return *this;} /** *The public IPv4 address assigned to the instance.
*/ inline Instance& WithPublicIpAddress(const char* value) { SetPublicIpAddress(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 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 SecurityGroupIdentifier& value) { m_securityGroupsHasBeenSet = true; m_securityGroups.push_back(value); return *this; } /** *The security groups for the instance.
*/ inline Instance& AddSecurityGroups(SecurityGroupIdentifier&& value) { m_securityGroupsHasBeenSet = true; m_securityGroups.push_back(std::move(value)); return *this; } inline const InstanceState& GetState() const{ return m_state; } inline bool StateHasBeenSet() const { return m_stateHasBeenSet; } inline void SetState(const InstanceState& value) { m_stateHasBeenSet = true; m_state = value; } inline void SetState(InstanceState&& value) { m_stateHasBeenSet = true; m_state = std::move(value); } inline Instance& WithState(const InstanceState& value) { SetState(value); return *this;} inline Instance& WithState(InstanceState&& value) { SetState(std::move(value)); return *this;} /** *When the instance was last updated.
*/ inline const Aws::Utils::DateTime& GetUpdatedAt() const{ return m_updatedAt; } /** *When the instance was last updated.
*/ inline bool UpdatedAtHasBeenSet() const { return m_updatedAtHasBeenSet; } /** *When the instance was last updated.
*/ inline void SetUpdatedAt(const Aws::Utils::DateTime& value) { m_updatedAtHasBeenSet = true; m_updatedAt = value; } /** *When the instance was last updated.
*/ inline void SetUpdatedAt(Aws::Utils::DateTime&& value) { m_updatedAtHasBeenSet = true; m_updatedAt = std::move(value); } /** *When the instance was last updated.
*/ inline Instance& WithUpdatedAt(const Aws::Utils::DateTime& value) { SetUpdatedAt(value); return *this;} /** *When the instance was last updated.
*/ inline Instance& WithUpdatedAt(Aws::Utils::DateTime&& value) { SetUpdatedAt(std::move(value)); return *this;} private: int m_amiLaunchIndex; bool m_amiLaunchIndexHasBeenSet = false; Aws::Vector