/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { template class AmazonWebServiceResult; namespace Utils { namespace Json { class JsonValue; } // namespace Json } // namespace Utils namespace Lightsail { namespace Model { class AWS_LIGHTSAIL_API GetAutoSnapshotsResult { public: GetAutoSnapshotsResult(); GetAutoSnapshotsResult(const Aws::AmazonWebServiceResult& result); GetAutoSnapshotsResult& operator=(const Aws::AmazonWebServiceResult& result); /** *

The name of the source instance or disk for the automatic snapshots.

*/ inline const Aws::String& GetResourceName() const{ return m_resourceName; } /** *

The name of the source instance or disk for the automatic snapshots.

*/ inline void SetResourceName(const Aws::String& value) { m_resourceName = value; } /** *

The name of the source instance or disk for the automatic snapshots.

*/ inline void SetResourceName(Aws::String&& value) { m_resourceName = std::move(value); } /** *

The name of the source instance or disk for the automatic snapshots.

*/ inline void SetResourceName(const char* value) { m_resourceName.assign(value); } /** *

The name of the source instance or disk for the automatic snapshots.

*/ inline GetAutoSnapshotsResult& WithResourceName(const Aws::String& value) { SetResourceName(value); return *this;} /** *

The name of the source instance or disk for the automatic snapshots.

*/ inline GetAutoSnapshotsResult& WithResourceName(Aws::String&& value) { SetResourceName(std::move(value)); return *this;} /** *

The name of the source instance or disk for the automatic snapshots.

*/ inline GetAutoSnapshotsResult& WithResourceName(const char* value) { SetResourceName(value); return *this;} /** *

The resource type (e.g., Instance or Disk).

*/ inline const ResourceType& GetResourceType() const{ return m_resourceType; } /** *

The resource type (e.g., Instance or Disk).

*/ inline void SetResourceType(const ResourceType& value) { m_resourceType = value; } /** *

The resource type (e.g., Instance or Disk).

*/ inline void SetResourceType(ResourceType&& value) { m_resourceType = std::move(value); } /** *

The resource type (e.g., Instance or Disk).

*/ inline GetAutoSnapshotsResult& WithResourceType(const ResourceType& value) { SetResourceType(value); return *this;} /** *

The resource type (e.g., Instance or Disk).

*/ inline GetAutoSnapshotsResult& WithResourceType(ResourceType&& value) { SetResourceType(std::move(value)); return *this;} /** *

An array of objects that describe the automatic snapshots that are available * for the specified source instance or disk.

*/ inline const Aws::Vector& GetAutoSnapshots() const{ return m_autoSnapshots; } /** *

An array of objects that describe the automatic snapshots that are available * for the specified source instance or disk.

*/ inline void SetAutoSnapshots(const Aws::Vector& value) { m_autoSnapshots = value; } /** *

An array of objects that describe the automatic snapshots that are available * for the specified source instance or disk.

*/ inline void SetAutoSnapshots(Aws::Vector&& value) { m_autoSnapshots = std::move(value); } /** *

An array of objects that describe the automatic snapshots that are available * for the specified source instance or disk.

*/ inline GetAutoSnapshotsResult& WithAutoSnapshots(const Aws::Vector& value) { SetAutoSnapshots(value); return *this;} /** *

An array of objects that describe the automatic snapshots that are available * for the specified source instance or disk.

*/ inline GetAutoSnapshotsResult& WithAutoSnapshots(Aws::Vector&& value) { SetAutoSnapshots(std::move(value)); return *this;} /** *

An array of objects that describe the automatic snapshots that are available * for the specified source instance or disk.

*/ inline GetAutoSnapshotsResult& AddAutoSnapshots(const AutoSnapshotDetails& value) { m_autoSnapshots.push_back(value); return *this; } /** *

An array of objects that describe the automatic snapshots that are available * for the specified source instance or disk.

*/ inline GetAutoSnapshotsResult& AddAutoSnapshots(AutoSnapshotDetails&& value) { m_autoSnapshots.push_back(std::move(value)); return *this; } private: Aws::String m_resourceName; ResourceType m_resourceType; Aws::Vector m_autoSnapshots; }; } // namespace Model } // namespace Lightsail } // namespace Aws