/**
* 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 Amazon * Lightsail Developer Guide.
*/ inline const Aws::VectorThe tag keys and optional values for the resource. For more information about * tags in Lightsail, see the Amazon * Lightsail Developer 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 Amazon * Lightsail Developer Guide.
*/ inline void SetTags(const Aws::VectorThe tag keys and optional values for the resource. For more information about * tags in Lightsail, see the Amazon * Lightsail Developer Guide.
*/ inline void SetTags(Aws::VectorThe tag keys and optional values for the resource. For more information about * tags in Lightsail, see the Amazon * Lightsail Developer Guide.
*/ inline Instance& WithTags(const Aws::VectorThe tag keys and optional values for the resource. For more information about * tags in Lightsail, see the Amazon * Lightsail Developer Guide.
*/ inline Instance& WithTags(Aws::VectorThe tag keys and optional values for the resource. For more information about * tags in Lightsail, see the Amazon * Lightsail Developer 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 Amazon * Lightsail Developer 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 addresses of the instance.
*/ inline const Aws::VectorThe IPv6 addresses of the instance.
*/ inline bool Ipv6AddressesHasBeenSet() const { return m_ipv6AddressesHasBeenSet; } /** *The IPv6 addresses of the instance.
*/ inline void SetIpv6Addresses(const Aws::VectorThe IPv6 addresses of the instance.
*/ inline void SetIpv6Addresses(Aws::VectorThe IPv6 addresses of the instance.
*/ inline Instance& WithIpv6Addresses(const Aws::VectorThe IPv6 addresses of the instance.
*/ inline Instance& WithIpv6Addresses(Aws::VectorThe IPv6 addresses of the instance.
*/ inline Instance& AddIpv6Addresses(const Aws::String& value) { m_ipv6AddressesHasBeenSet = true; m_ipv6Addresses.push_back(value); return *this; } /** *The IPv6 addresses of the instance.
*/ inline Instance& AddIpv6Addresses(Aws::String&& value) { m_ipv6AddressesHasBeenSet = true; m_ipv6Addresses.push_back(std::move(value)); return *this; } /** *The IPv6 addresses of the instance.
*/ inline Instance& AddIpv6Addresses(const char* value) { m_ipv6AddressesHasBeenSet = true; m_ipv6Addresses.push_back(value); return *this; } /** *The IP address type of the instance.
The possible values are
* ipv4
for IPv4 only, and dualstack
for IPv4 and
* IPv6.
The IP address type of the instance.
The possible values are
* ipv4
for IPv4 only, and dualstack
for IPv4 and
* IPv6.
The IP address type of the instance.
The possible values are
* ipv4
for IPv4 only, and dualstack
for IPv4 and
* IPv6.
The IP address type of the instance.
The possible values are
* ipv4
for IPv4 only, and dualstack
for IPv4 and
* IPv6.
The IP address type of the instance.
The possible values are
* ipv4
for IPv4 only, and dualstack
for IPv4 and
* IPv6.
The IP address type of the instance.
The possible values are
* ipv4
for IPv4 only, and dualstack
for IPv4 and
* IPv6.
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
).
The metadata options for the Amazon Lightsail instance.
*/ inline const InstanceMetadataOptions& GetMetadataOptions() const{ return m_metadataOptions; } /** *The metadata options for the Amazon Lightsail instance.
*/ inline bool MetadataOptionsHasBeenSet() const { return m_metadataOptionsHasBeenSet; } /** *The metadata options for the Amazon Lightsail instance.
*/ inline void SetMetadataOptions(const InstanceMetadataOptions& value) { m_metadataOptionsHasBeenSet = true; m_metadataOptions = value; } /** *The metadata options for the Amazon Lightsail instance.
*/ inline void SetMetadataOptions(InstanceMetadataOptions&& value) { m_metadataOptionsHasBeenSet = true; m_metadataOptions = std::move(value); } /** *The metadata options for the Amazon Lightsail instance.
*/ inline Instance& WithMetadataOptions(const InstanceMetadataOptions& value) { SetMetadataOptions(value); return *this;} /** *The metadata options for the Amazon Lightsail instance.
*/ inline Instance& WithMetadataOptions(InstanceMetadataOptions&& value) { SetMetadataOptions(std::move(value)); return *this;} private: Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_arn; bool m_arnHasBeenSet = false; Aws::String m_supportCode; bool m_supportCodeHasBeenSet = false; Aws::Utils::DateTime m_createdAt; bool m_createdAtHasBeenSet = false; ResourceLocation m_location; bool m_locationHasBeenSet = false; ResourceType m_resourceType; bool m_resourceTypeHasBeenSet = false; Aws::Vector