/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Describes an instance snapshot.See Also:
AWS
* API Reference
The name of the snapshot.
*/ inline const Aws::String& GetName() const{ return m_name; } /** *The name of the snapshot.
*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *The name of the snapshot.
*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *The name of the snapshot.
*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *The name of the snapshot.
*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *The name of the snapshot.
*/ inline InstanceSnapshot& WithName(const Aws::String& value) { SetName(value); return *this;} /** *The name of the snapshot.
*/ inline InstanceSnapshot& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *The name of the snapshot.
*/ inline InstanceSnapshot& WithName(const char* value) { SetName(value); return *this;} /** *The Amazon Resource Name (ARN) of the snapshot (e.g.,
* arn:aws:lightsail:us-east-2:123456789101:InstanceSnapshot/d23b5706-3322-4d83-81e5-12345EXAMPLE
).
The Amazon Resource Name (ARN) of the snapshot (e.g.,
* arn:aws:lightsail:us-east-2:123456789101:InstanceSnapshot/d23b5706-3322-4d83-81e5-12345EXAMPLE
).
The Amazon Resource Name (ARN) of the snapshot (e.g.,
* arn:aws:lightsail:us-east-2:123456789101:InstanceSnapshot/d23b5706-3322-4d83-81e5-12345EXAMPLE
).
The Amazon Resource Name (ARN) of the snapshot (e.g.,
* arn:aws:lightsail:us-east-2:123456789101:InstanceSnapshot/d23b5706-3322-4d83-81e5-12345EXAMPLE
).
The Amazon Resource Name (ARN) of the snapshot (e.g.,
* arn:aws:lightsail:us-east-2:123456789101:InstanceSnapshot/d23b5706-3322-4d83-81e5-12345EXAMPLE
).
The Amazon Resource Name (ARN) of the snapshot (e.g.,
* arn:aws:lightsail:us-east-2:123456789101:InstanceSnapshot/d23b5706-3322-4d83-81e5-12345EXAMPLE
).
The Amazon Resource Name (ARN) of the snapshot (e.g.,
* arn:aws:lightsail:us-east-2:123456789101:InstanceSnapshot/d23b5706-3322-4d83-81e5-12345EXAMPLE
).
The Amazon Resource Name (ARN) of the snapshot (e.g.,
* arn:aws:lightsail:us-east-2:123456789101:InstanceSnapshot/d23b5706-3322-4d83-81e5-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 InstanceSnapshot& 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 InstanceSnapshot& 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 InstanceSnapshot& WithSupportCode(const char* value) { SetSupportCode(value); return *this;} /** *The timestamp when the snapshot was created (e.g.,
* 1479907467.024
).
The timestamp when the snapshot was created (e.g.,
* 1479907467.024
).
The timestamp when the snapshot was created (e.g.,
* 1479907467.024
).
The timestamp when the snapshot was created (e.g.,
* 1479907467.024
).
The timestamp when the snapshot was created (e.g.,
* 1479907467.024
).
The timestamp when the snapshot was created (e.g.,
* 1479907467.024
).
The region name and Availability Zone where you created the snapshot.
*/ inline const ResourceLocation& GetLocation() const{ return m_location; } /** *The region name and Availability Zone where you created the snapshot.
*/ inline bool LocationHasBeenSet() const { return m_locationHasBeenSet; } /** *The region name and Availability Zone where you created the snapshot.
*/ inline void SetLocation(const ResourceLocation& value) { m_locationHasBeenSet = true; m_location = value; } /** *The region name and Availability Zone where you created the snapshot.
*/ inline void SetLocation(ResourceLocation&& value) { m_locationHasBeenSet = true; m_location = std::move(value); } /** *The region name and Availability Zone where you created the snapshot.
*/ inline InstanceSnapshot& WithLocation(const ResourceLocation& value) { SetLocation(value); return *this;} /** *The region name and Availability Zone where you created the snapshot.
*/ inline InstanceSnapshot& WithLocation(ResourceLocation&& value) { SetLocation(std::move(value)); return *this;} /** *The type of resource (usually InstanceSnapshot
).
The type of resource (usually InstanceSnapshot
).
The type of resource (usually InstanceSnapshot
).
The type of resource (usually InstanceSnapshot
).
The type of resource (usually InstanceSnapshot
).
The type of resource (usually InstanceSnapshot
).
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 InstanceSnapshot& 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 InstanceSnapshot& 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 InstanceSnapshot& 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 InstanceSnapshot& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } /** *The state the snapshot is in.
*/ inline const InstanceSnapshotState& GetState() const{ return m_state; } /** *The state the snapshot is in.
*/ inline bool StateHasBeenSet() const { return m_stateHasBeenSet; } /** *The state the snapshot is in.
*/ inline void SetState(const InstanceSnapshotState& value) { m_stateHasBeenSet = true; m_state = value; } /** *The state the snapshot is in.
*/ inline void SetState(InstanceSnapshotState&& value) { m_stateHasBeenSet = true; m_state = std::move(value); } /** *The state the snapshot is in.
*/ inline InstanceSnapshot& WithState(const InstanceSnapshotState& value) { SetState(value); return *this;} /** *The state the snapshot is in.
*/ inline InstanceSnapshot& WithState(InstanceSnapshotState&& value) { SetState(std::move(value)); return *this;} /** *The progress of the snapshot.
This is populated only for disk
* snapshots, and is null
for instance snapshots.
The progress of the snapshot.
This is populated only for disk
* snapshots, and is null
for instance snapshots.
The progress of the snapshot.
This is populated only for disk
* snapshots, and is null
for instance snapshots.
The progress of the snapshot.
This is populated only for disk
* snapshots, and is null
for instance snapshots.
The progress of the snapshot.
This is populated only for disk
* snapshots, and is null
for instance snapshots.
The progress of the snapshot.
This is populated only for disk
* snapshots, and is null
for instance snapshots.
The progress of the snapshot.
This is populated only for disk
* snapshots, and is null
for instance snapshots.
The progress of the snapshot.
This is populated only for disk
* snapshots, and is null
for instance snapshots.
An array of disk objects containing information about all block storage * disks.
*/ inline const Aws::VectorAn array of disk objects containing information about all block storage * disks.
*/ inline bool FromAttachedDisksHasBeenSet() const { return m_fromAttachedDisksHasBeenSet; } /** *An array of disk objects containing information about all block storage * disks.
*/ inline void SetFromAttachedDisks(const Aws::VectorAn array of disk objects containing information about all block storage * disks.
*/ inline void SetFromAttachedDisks(Aws::VectorAn array of disk objects containing information about all block storage * disks.
*/ inline InstanceSnapshot& WithFromAttachedDisks(const Aws::VectorAn array of disk objects containing information about all block storage * disks.
*/ inline InstanceSnapshot& WithFromAttachedDisks(Aws::VectorAn array of disk objects containing information about all block storage * disks.
*/ inline InstanceSnapshot& AddFromAttachedDisks(const Disk& value) { m_fromAttachedDisksHasBeenSet = true; m_fromAttachedDisks.push_back(value); return *this; } /** *An array of disk objects containing information about all block storage * disks.
*/ inline InstanceSnapshot& AddFromAttachedDisks(Disk&& value) { m_fromAttachedDisksHasBeenSet = true; m_fromAttachedDisks.push_back(std::move(value)); return *this; } /** *The instance from which the snapshot was created.
*/ inline const Aws::String& GetFromInstanceName() const{ return m_fromInstanceName; } /** *The instance from which the snapshot was created.
*/ inline bool FromInstanceNameHasBeenSet() const { return m_fromInstanceNameHasBeenSet; } /** *The instance from which the snapshot was created.
*/ inline void SetFromInstanceName(const Aws::String& value) { m_fromInstanceNameHasBeenSet = true; m_fromInstanceName = value; } /** *The instance from which the snapshot was created.
*/ inline void SetFromInstanceName(Aws::String&& value) { m_fromInstanceNameHasBeenSet = true; m_fromInstanceName = std::move(value); } /** *The instance from which the snapshot was created.
*/ inline void SetFromInstanceName(const char* value) { m_fromInstanceNameHasBeenSet = true; m_fromInstanceName.assign(value); } /** *The instance from which the snapshot was created.
*/ inline InstanceSnapshot& WithFromInstanceName(const Aws::String& value) { SetFromInstanceName(value); return *this;} /** *The instance from which the snapshot was created.
*/ inline InstanceSnapshot& WithFromInstanceName(Aws::String&& value) { SetFromInstanceName(std::move(value)); return *this;} /** *The instance from which the snapshot was created.
*/ inline InstanceSnapshot& WithFromInstanceName(const char* value) { SetFromInstanceName(value); return *this;} /** *The Amazon Resource Name (ARN) of the instance from which the snapshot was
* created (e.g.,
* arn:aws:lightsail:us-east-2:123456789101:Instance/64b8404c-ccb1-430b-8daf-12345EXAMPLE
).
The Amazon Resource Name (ARN) of the instance from which the snapshot was
* created (e.g.,
* arn:aws:lightsail:us-east-2:123456789101:Instance/64b8404c-ccb1-430b-8daf-12345EXAMPLE
).
The Amazon Resource Name (ARN) of the instance from which the snapshot was
* created (e.g.,
* arn:aws:lightsail:us-east-2:123456789101:Instance/64b8404c-ccb1-430b-8daf-12345EXAMPLE
).
The Amazon Resource Name (ARN) of the instance from which the snapshot was
* created (e.g.,
* arn:aws:lightsail:us-east-2:123456789101:Instance/64b8404c-ccb1-430b-8daf-12345EXAMPLE
).
The Amazon Resource Name (ARN) of the instance from which the snapshot was
* created (e.g.,
* arn:aws:lightsail:us-east-2:123456789101:Instance/64b8404c-ccb1-430b-8daf-12345EXAMPLE
).
The Amazon Resource Name (ARN) of the instance from which the snapshot was
* created (e.g.,
* arn:aws:lightsail:us-east-2:123456789101:Instance/64b8404c-ccb1-430b-8daf-12345EXAMPLE
).
The Amazon Resource Name (ARN) of the instance from which the snapshot was
* created (e.g.,
* arn:aws:lightsail:us-east-2:123456789101:Instance/64b8404c-ccb1-430b-8daf-12345EXAMPLE
).
The Amazon Resource Name (ARN) of the instance from which the snapshot was
* created (e.g.,
* arn:aws:lightsail:us-east-2:123456789101:Instance/64b8404c-ccb1-430b-8daf-12345EXAMPLE
).
The blueprint ID from which you created the snapshot (e.g.,
* os_debian_8_3
). A blueprint is a virtual private server (or
* instance) image used to create instances quickly.
The blueprint ID from which you created the snapshot (e.g.,
* os_debian_8_3
). A blueprint is a virtual private server (or
* instance) image used to create instances quickly.
The blueprint ID from which you created the snapshot (e.g.,
* os_debian_8_3
). A blueprint is a virtual private server (or
* instance) image used to create instances quickly.
The blueprint ID from which you created the snapshot (e.g.,
* os_debian_8_3
). A blueprint is a virtual private server (or
* instance) image used to create instances quickly.
The blueprint ID from which you created the snapshot (e.g.,
* os_debian_8_3
). A blueprint is a virtual private server (or
* instance) image used to create instances quickly.
The blueprint ID from which you created the snapshot (e.g.,
* os_debian_8_3
). A blueprint is a virtual private server (or
* instance) image used to create instances quickly.
The blueprint ID from which you created the snapshot (e.g.,
* os_debian_8_3
). A blueprint is a virtual private server (or
* instance) image used to create instances quickly.
The blueprint ID from which you created the snapshot (e.g.,
* os_debian_8_3
). A blueprint is a virtual private server (or
* instance) image used to create instances quickly.
The bundle ID from which you created the snapshot (e.g.,
* micro_1_0
).
The bundle ID from which you created the snapshot (e.g.,
* micro_1_0
).
The bundle ID from which you created the snapshot (e.g.,
* micro_1_0
).
The bundle ID from which you created the snapshot (e.g.,
* micro_1_0
).
The bundle ID from which you created the snapshot (e.g.,
* micro_1_0
).
The bundle ID from which you created the snapshot (e.g.,
* micro_1_0
).
The bundle ID from which you created the snapshot (e.g.,
* micro_1_0
).
The bundle ID from which you created the snapshot (e.g.,
* micro_1_0
).
A Boolean value indicating whether the snapshot was created from an automatic * snapshot.
*/ inline bool GetIsFromAutoSnapshot() const{ return m_isFromAutoSnapshot; } /** *A Boolean value indicating whether the snapshot was created from an automatic * snapshot.
*/ inline bool IsFromAutoSnapshotHasBeenSet() const { return m_isFromAutoSnapshotHasBeenSet; } /** *A Boolean value indicating whether the snapshot was created from an automatic * snapshot.
*/ inline void SetIsFromAutoSnapshot(bool value) { m_isFromAutoSnapshotHasBeenSet = true; m_isFromAutoSnapshot = value; } /** *A Boolean value indicating whether the snapshot was created from an automatic * snapshot.
*/ inline InstanceSnapshot& WithIsFromAutoSnapshot(bool value) { SetIsFromAutoSnapshot(value); return *this;} /** *The size in GB of the SSD.
*/ inline int GetSizeInGb() const{ return m_sizeInGb; } /** *The size in GB of the SSD.
*/ inline bool SizeInGbHasBeenSet() const { return m_sizeInGbHasBeenSet; } /** *The size in GB of the SSD.
*/ inline void SetSizeInGb(int value) { m_sizeInGbHasBeenSet = true; m_sizeInGb = value; } /** *The size in GB of the SSD.
*/ inline InstanceSnapshot& WithSizeInGb(int value) { SetSizeInGb(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