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

The ID of the snapshot.

*/ inline const Aws::String& GetSnapshotId() const{ return m_snapshotId; } /** *

The ID of the snapshot.

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

The ID of the snapshot.

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

The ID of the snapshot.

*/ inline void SetSnapshotId(const char* value) { m_snapshotId.assign(value); } /** *

The ID of the snapshot.

*/ inline RestoreSnapshotTierResponse& WithSnapshotId(const Aws::String& value) { SetSnapshotId(value); return *this;} /** *

The ID of the snapshot.

*/ inline RestoreSnapshotTierResponse& WithSnapshotId(Aws::String&& value) { SetSnapshotId(std::move(value)); return *this;} /** *

The ID of the snapshot.

*/ inline RestoreSnapshotTierResponse& WithSnapshotId(const char* value) { SetSnapshotId(value); return *this;} /** *

The date and time when the snapshot restore process started.

*/ inline const Aws::Utils::DateTime& GetRestoreStartTime() const{ return m_restoreStartTime; } /** *

The date and time when the snapshot restore process started.

*/ inline void SetRestoreStartTime(const Aws::Utils::DateTime& value) { m_restoreStartTime = value; } /** *

The date and time when the snapshot restore process started.

*/ inline void SetRestoreStartTime(Aws::Utils::DateTime&& value) { m_restoreStartTime = std::move(value); } /** *

The date and time when the snapshot restore process started.

*/ inline RestoreSnapshotTierResponse& WithRestoreStartTime(const Aws::Utils::DateTime& value) { SetRestoreStartTime(value); return *this;} /** *

The date and time when the snapshot restore process started.

*/ inline RestoreSnapshotTierResponse& WithRestoreStartTime(Aws::Utils::DateTime&& value) { SetRestoreStartTime(std::move(value)); return *this;} /** *

For temporary restores only. The number of days for which the archived * snapshot is temporarily restored.

*/ inline int GetRestoreDuration() const{ return m_restoreDuration; } /** *

For temporary restores only. The number of days for which the archived * snapshot is temporarily restored.

*/ inline void SetRestoreDuration(int value) { m_restoreDuration = value; } /** *

For temporary restores only. The number of days for which the archived * snapshot is temporarily restored.

*/ inline RestoreSnapshotTierResponse& WithRestoreDuration(int value) { SetRestoreDuration(value); return *this;} /** *

Indicates whether the snapshot is permanently restored. true * indicates a permanent restore. false indicates a temporary * restore.

*/ inline bool GetIsPermanentRestore() const{ return m_isPermanentRestore; } /** *

Indicates whether the snapshot is permanently restored. true * indicates a permanent restore. false indicates a temporary * restore.

*/ inline void SetIsPermanentRestore(bool value) { m_isPermanentRestore = value; } /** *

Indicates whether the snapshot is permanently restored. true * indicates a permanent restore. false indicates a temporary * restore.

*/ inline RestoreSnapshotTierResponse& WithIsPermanentRestore(bool value) { SetIsPermanentRestore(value); return *this;} inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } inline RestoreSnapshotTierResponse& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} inline RestoreSnapshotTierResponse& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} private: Aws::String m_snapshotId; Aws::Utils::DateTime m_restoreStartTime; int m_restoreDuration; bool m_isPermanentRestore; ResponseMetadata m_responseMetadata; }; } // namespace Model } // namespace EC2 } // namespace Aws