/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Describes an instance (a virtual private server).See Also:
* AWS
* API Reference
The name the user gave the instance (e.g.,
* Amazon_Linux-1GB-Ohio-1).
The name the user gave the instance (e.g.,
* Amazon_Linux-1GB-Ohio-1).
The name the user gave the instance (e.g.,
* Amazon_Linux-1GB-Ohio-1).
The name the user gave the instance (e.g.,
* Amazon_Linux-1GB-Ohio-1).
The name the user gave the instance (e.g.,
* Amazon_Linux-1GB-Ohio-1).
The name the user gave the instance (e.g.,
* Amazon_Linux-1GB-Ohio-1).
The name the user gave the instance (e.g.,
* Amazon_Linux-1GB-Ohio-1).
The name the user gave the instance (e.g.,
* Amazon_Linux-1GB-Ohio-1).
The Amazon Resource Name (ARN) of the instance (e.g.,
* arn:aws:lightsail:us-east-2:123456789101:Instance/244ad76f-8aad-4741-809f-12345EXAMPLE).
The Amazon Resource Name (ARN) of the instance (e.g.,
* arn:aws:lightsail:us-east-2:123456789101:Instance/244ad76f-8aad-4741-809f-12345EXAMPLE).
The Amazon Resource Name (ARN) of the instance (e.g.,
* arn:aws:lightsail:us-east-2:123456789101:Instance/244ad76f-8aad-4741-809f-12345EXAMPLE).
The Amazon Resource Name (ARN) of the instance (e.g.,
* arn:aws:lightsail:us-east-2:123456789101:Instance/244ad76f-8aad-4741-809f-12345EXAMPLE).
The Amazon Resource Name (ARN) of the instance (e.g.,
* arn:aws:lightsail:us-east-2:123456789101:Instance/244ad76f-8aad-4741-809f-12345EXAMPLE).
The Amazon Resource Name (ARN) of the instance (e.g.,
* arn:aws:lightsail:us-east-2:123456789101:Instance/244ad76f-8aad-4741-809f-12345EXAMPLE).
The Amazon Resource Name (ARN) of the instance (e.g.,
* arn:aws:lightsail:us-east-2:123456789101:Instance/244ad76f-8aad-4741-809f-12345EXAMPLE).
The Amazon Resource Name (ARN) of the instance (e.g.,
* arn:aws:lightsail:us-east-2:123456789101:Instance/244ad76f-8aad-4741-809f-12345EXAMPLE).
The support code. Include this code in your email to support when you have * questions about an instance or another resource in Lightsail. This code enables * our support team to look up your Lightsail information more easily.
*/ inline const Aws::String& GetSupportCode() const{ return m_supportCode; } /** *The support code. Include this code in your email to support when you have * questions about an instance or another resource in Lightsail. This code enables * our support team to look up your Lightsail information more easily.
*/ inline bool SupportCodeHasBeenSet() const { return m_supportCodeHasBeenSet; } /** *The support code. Include this code in your email to support when you have * questions about an instance or another resource in Lightsail. This code enables * our support team to look up your Lightsail information more easily.
*/ inline void SetSupportCode(const Aws::String& value) { m_supportCodeHasBeenSet = true; m_supportCode = value; } /** *The support code. Include this code in your email to support when you have * questions about an instance or another resource in Lightsail. This code enables * our support team to look up your Lightsail information more easily.
*/ inline void SetSupportCode(Aws::String&& value) { m_supportCodeHasBeenSet = true; m_supportCode = std::move(value); } /** *The support code. Include this code in your email to support when you have * questions about an instance or another resource in Lightsail. This code enables * our support team to look up your Lightsail information more easily.
*/ inline void SetSupportCode(const char* value) { m_supportCodeHasBeenSet = true; m_supportCode.assign(value); } /** *The support code. Include this code in your email to support when you have * questions about an instance or another resource in Lightsail. This code enables * our support team to look up your Lightsail information more easily.
*/ inline Instance& WithSupportCode(const Aws::String& value) { SetSupportCode(value); return *this;} /** *The support code. Include this code in your email to support when you have * questions about an instance or another resource in Lightsail. This code enables * our support team to look up your Lightsail information more easily.
*/ inline Instance& WithSupportCode(Aws::String&& value) { SetSupportCode(std::move(value)); return *this;} /** *The support code. Include this code in your email to support when you have * questions about an instance or another resource in Lightsail. This code enables * our support team to look up your Lightsail information more easily.
*/ inline Instance& WithSupportCode(const char* value) { SetSupportCode(value); return *this;} /** *The timestamp when the instance was created (e.g.,
* 1479734909.17) in Unix time format.
The timestamp when the instance was created (e.g.,
* 1479734909.17) in Unix time format.
The timestamp when the instance was created (e.g.,
* 1479734909.17) in Unix time format.
The timestamp when the instance was created (e.g.,
* 1479734909.17) in Unix time format.
The timestamp when the instance was created (e.g.,
* 1479734909.17) in Unix time format.
The timestamp when the instance was created (e.g.,
* 1479734909.17) in Unix time format.
The region name and Availability Zone where the instance is located.
*/ inline const ResourceLocation& GetLocation() const{ return m_location; } /** *The region name and Availability Zone where the instance is located.
*/ inline bool LocationHasBeenSet() const { return m_locationHasBeenSet; } /** *The region name and Availability Zone where the instance is located.
*/ inline void SetLocation(const ResourceLocation& value) { m_locationHasBeenSet = true; m_location = value; } /** *The region name and Availability Zone where the instance is located.
*/ inline void SetLocation(ResourceLocation&& value) { m_locationHasBeenSet = true; m_location = std::move(value); } /** *The region name and Availability Zone where the instance is located.
*/ inline Instance& WithLocation(const ResourceLocation& value) { SetLocation(value); return *this;} /** *The region name and Availability Zone where the instance is located.
*/ inline Instance& WithLocation(ResourceLocation&& value) { SetLocation(std::move(value)); return *this;} /** *The type of resource (usually Instance).
The type of resource (usually Instance).
The type of resource (usually Instance).
The type of resource (usually Instance).
The type of resource (usually Instance).
The type of resource (usually Instance).
The tag keys and optional values for the resource. For more information about * tags in Lightsail, see the Lightsail * Dev Guide.
*/ inline const Aws::VectorThe tag keys and optional values for the resource. For more information about * tags in Lightsail, see the Lightsail * Dev Guide.
*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *The tag keys and optional values for the resource. For more information about * tags in Lightsail, see the Lightsail * Dev Guide.
*/ inline void SetTags(const Aws::VectorThe tag keys and optional values for the resource. For more information about * tags in Lightsail, see the Lightsail * Dev Guide.
*/ inline void SetTags(Aws::VectorThe tag keys and optional values for the resource. For more information about * tags in Lightsail, see the Lightsail * Dev Guide.
*/ inline Instance& WithTags(const Aws::VectorThe tag keys and optional values for the resource. For more information about * tags in Lightsail, see the Lightsail * Dev Guide.
*/ inline Instance& WithTags(Aws::VectorThe tag keys and optional values for the resource. For more information about * tags in Lightsail, see the Lightsail * Dev Guide.
*/ inline Instance& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *The tag keys and optional values for the resource. For more information about * tags in Lightsail, see the Lightsail * Dev Guide.
*/ inline Instance& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } /** *The blueprint ID (e.g., os_amlinux_2016_03).
The blueprint ID (e.g., os_amlinux_2016_03).
The blueprint ID (e.g., os_amlinux_2016_03).
The blueprint ID (e.g., os_amlinux_2016_03).
The blueprint ID (e.g., os_amlinux_2016_03).
The blueprint ID (e.g., os_amlinux_2016_03).
The blueprint ID (e.g., os_amlinux_2016_03).
The blueprint ID (e.g., os_amlinux_2016_03).
The friendly name of the blueprint (e.g., Amazon Linux).
The friendly name of the blueprint (e.g., Amazon Linux).
The friendly name of the blueprint (e.g., Amazon Linux).
The friendly name of the blueprint (e.g., Amazon Linux).
The friendly name of the blueprint (e.g., Amazon Linux).
The friendly name of the blueprint (e.g., Amazon Linux).
The friendly name of the blueprint (e.g., Amazon Linux).
The friendly name of the blueprint (e.g., Amazon Linux).
The bundle for the instance (e.g., micro_1_0).
The bundle for the instance (e.g., micro_1_0).
The bundle for the instance (e.g., micro_1_0).
The bundle for the instance (e.g., micro_1_0).
The bundle for the instance (e.g., micro_1_0).
The bundle for the instance (e.g., micro_1_0).
The bundle for the instance (e.g., micro_1_0).
The bundle for the instance (e.g., micro_1_0).
An array of objects representing the add-ons enabled on the instance.
*/ inline const Aws::VectorAn array of objects representing the add-ons enabled on the instance.
*/ inline bool AddOnsHasBeenSet() const { return m_addOnsHasBeenSet; } /** *An array of objects representing the add-ons enabled on the instance.
*/ inline void SetAddOns(const Aws::VectorAn array of objects representing the add-ons enabled on the instance.
*/ inline void SetAddOns(Aws::VectorAn array of objects representing the add-ons enabled on the instance.
*/ inline Instance& WithAddOns(const Aws::VectorAn array of objects representing the add-ons enabled on the instance.
*/ inline Instance& WithAddOns(Aws::VectorAn array of objects representing the add-ons enabled on the instance.
*/ inline Instance& AddAddOns(const AddOn& value) { m_addOnsHasBeenSet = true; m_addOns.push_back(value); return *this; } /** *An array of objects representing the add-ons enabled on the instance.
*/ inline Instance& AddAddOns(AddOn&& value) { m_addOnsHasBeenSet = true; m_addOns.push_back(std::move(value)); return *this; } /** *A Boolean value indicating whether this instance has a static IP assigned to * it.
*/ inline bool GetIsStaticIp() const{ return m_isStaticIp; } /** *A Boolean value indicating whether this instance has a static IP assigned to * it.
*/ inline bool IsStaticIpHasBeenSet() const { return m_isStaticIpHasBeenSet; } /** *A Boolean value indicating whether this instance has a static IP assigned to * it.
*/ inline void SetIsStaticIp(bool value) { m_isStaticIpHasBeenSet = true; m_isStaticIp = value; } /** *A Boolean value indicating whether this instance has a static IP assigned to * it.
*/ inline Instance& WithIsStaticIp(bool value) { SetIsStaticIp(value); return *this;} /** *The private IP address of the instance.
*/ inline const Aws::String& GetPrivateIpAddress() const{ return m_privateIpAddress; } /** *The private IP address of the instance.
*/ inline bool PrivateIpAddressHasBeenSet() const { return m_privateIpAddressHasBeenSet; } /** *The private IP address of the instance.
*/ inline void SetPrivateIpAddress(const Aws::String& value) { m_privateIpAddressHasBeenSet = true; m_privateIpAddress = value; } /** *The private IP address of the instance.
*/ inline void SetPrivateIpAddress(Aws::String&& value) { m_privateIpAddressHasBeenSet = true; m_privateIpAddress = std::move(value); } /** *The private IP address of the instance.
*/ inline void SetPrivateIpAddress(const char* value) { m_privateIpAddressHasBeenSet = true; m_privateIpAddress.assign(value); } /** *The private IP address of the instance.
*/ inline Instance& WithPrivateIpAddress(const Aws::String& value) { SetPrivateIpAddress(value); return *this;} /** *The private IP address of the instance.
*/ inline Instance& WithPrivateIpAddress(Aws::String&& value) { SetPrivateIpAddress(std::move(value)); return *this;} /** *The private IP address of the instance.
*/ inline Instance& WithPrivateIpAddress(const char* value) { SetPrivateIpAddress(value); return *this;} /** *The public IP address of the instance.
*/ inline const Aws::String& GetPublicIpAddress() const{ return m_publicIpAddress; } /** *The public IP address of the instance.
*/ inline bool PublicIpAddressHasBeenSet() const { return m_publicIpAddressHasBeenSet; } /** *The public IP address of the instance.
*/ inline void SetPublicIpAddress(const Aws::String& value) { m_publicIpAddressHasBeenSet = true; m_publicIpAddress = value; } /** *The public IP address of the instance.
*/ inline void SetPublicIpAddress(Aws::String&& value) { m_publicIpAddressHasBeenSet = true; m_publicIpAddress = std::move(value); } /** *The public IP address of the instance.
*/ inline void SetPublicIpAddress(const char* value) { m_publicIpAddressHasBeenSet = true; m_publicIpAddress.assign(value); } /** *The public IP address of the instance.
*/ inline Instance& WithPublicIpAddress(const Aws::String& value) { SetPublicIpAddress(value); return *this;} /** *The public IP address of the instance.
*/ inline Instance& WithPublicIpAddress(Aws::String&& value) { SetPublicIpAddress(std::move(value)); return *this;} /** *The public IP address of the instance.
*/ inline Instance& WithPublicIpAddress(const char* value) { SetPublicIpAddress(value); return *this;} /** *The IPv6 address of the instance.
*/ inline const Aws::String& GetIpv6Address() const{ return m_ipv6Address; } /** *The IPv6 address of the instance.
*/ inline bool Ipv6AddressHasBeenSet() const { return m_ipv6AddressHasBeenSet; } /** *The IPv6 address of the instance.
*/ inline void SetIpv6Address(const Aws::String& value) { m_ipv6AddressHasBeenSet = true; m_ipv6Address = value; } /** *The IPv6 address of the instance.
*/ inline void SetIpv6Address(Aws::String&& value) { m_ipv6AddressHasBeenSet = true; m_ipv6Address = std::move(value); } /** *The IPv6 address of the instance.
*/ inline void SetIpv6Address(const char* value) { m_ipv6AddressHasBeenSet = true; m_ipv6Address.assign(value); } /** *The IPv6 address of the instance.
*/ inline Instance& WithIpv6Address(const Aws::String& value) { SetIpv6Address(value); return *this;} /** *The IPv6 address of the instance.
*/ inline Instance& WithIpv6Address(Aws::String&& value) { SetIpv6Address(std::move(value)); return *this;} /** *The IPv6 address of the instance.
*/ inline Instance& WithIpv6Address(const char* value) { SetIpv6Address(value); return *this;} /** *The size of the vCPU and the amount of RAM for the instance.
*/ inline const InstanceHardware& GetHardware() const{ return m_hardware; } /** *The size of the vCPU and the amount of RAM for the instance.
*/ inline bool HardwareHasBeenSet() const { return m_hardwareHasBeenSet; } /** *The size of the vCPU and the amount of RAM for the instance.
*/ inline void SetHardware(const InstanceHardware& value) { m_hardwareHasBeenSet = true; m_hardware = value; } /** *The size of the vCPU and the amount of RAM for the instance.
*/ inline void SetHardware(InstanceHardware&& value) { m_hardwareHasBeenSet = true; m_hardware = std::move(value); } /** *The size of the vCPU and the amount of RAM for the instance.
*/ inline Instance& WithHardware(const InstanceHardware& value) { SetHardware(value); return *this;} /** *The size of the vCPU and the amount of RAM for the instance.
*/ inline Instance& WithHardware(InstanceHardware&& value) { SetHardware(std::move(value)); return *this;} /** *Information about the public ports and monthly data transfer rates for the * instance.
*/ inline const InstanceNetworking& GetNetworking() const{ return m_networking; } /** *Information about the public ports and monthly data transfer rates for the * instance.
*/ inline bool NetworkingHasBeenSet() const { return m_networkingHasBeenSet; } /** *Information about the public ports and monthly data transfer rates for the * instance.
*/ inline void SetNetworking(const InstanceNetworking& value) { m_networkingHasBeenSet = true; m_networking = value; } /** *Information about the public ports and monthly data transfer rates for the * instance.
*/ inline void SetNetworking(InstanceNetworking&& value) { m_networkingHasBeenSet = true; m_networking = std::move(value); } /** *Information about the public ports and monthly data transfer rates for the * instance.
*/ inline Instance& WithNetworking(const InstanceNetworking& value) { SetNetworking(value); return *this;} /** *Information about the public ports and monthly data transfer rates for the * instance.
*/ inline Instance& WithNetworking(InstanceNetworking&& value) { SetNetworking(std::move(value)); return *this;} /** *The status code and the state (e.g., running) for the
* instance.
The status code and the state (e.g., running) for the
* instance.
The status code and the state (e.g., running) for the
* instance.
The status code and the state (e.g., running) for the
* instance.
The status code and the state (e.g., running) for the
* instance.
The status code and the state (e.g., running) for the
* instance.
The user name for connecting to the instance (e.g.,
* ec2-user).
The user name for connecting to the instance (e.g.,
* ec2-user).
The user name for connecting to the instance (e.g.,
* ec2-user).
The user name for connecting to the instance (e.g.,
* ec2-user).
The user name for connecting to the instance (e.g.,
* ec2-user).
The user name for connecting to the instance (e.g.,
* ec2-user).
The user name for connecting to the instance (e.g.,
* ec2-user).
The user name for connecting to the instance (e.g.,
* ec2-user).
The name of the SSH key being used to connect to the instance (e.g.,
* LightsailDefaultKeyPair).
The name of the SSH key being used to connect to the instance (e.g.,
* LightsailDefaultKeyPair).
The name of the SSH key being used to connect to the instance (e.g.,
* LightsailDefaultKeyPair).
The name of the SSH key being used to connect to the instance (e.g.,
* LightsailDefaultKeyPair).
The name of the SSH key being used to connect to the instance (e.g.,
* LightsailDefaultKeyPair).
The name of the SSH key being used to connect to the instance (e.g.,
* LightsailDefaultKeyPair).
The name of the SSH key being used to connect to the instance (e.g.,
* LightsailDefaultKeyPair).
The name of the SSH key being used to connect to the instance (e.g.,
* LightsailDefaultKeyPair).