/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace drs { namespace Model { /** *

A snapshot of a Source Server used during recovery.

See Also:

* AWS * API Reference

*/ class RecoverySnapshot { public: AWS_DRS_API RecoverySnapshot(); AWS_DRS_API RecoverySnapshot(Aws::Utils::Json::JsonView jsonValue); AWS_DRS_API RecoverySnapshot& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_DRS_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

A list of EBS snapshots.

*/ inline const Aws::Vector& GetEbsSnapshots() const{ return m_ebsSnapshots; } /** *

A list of EBS snapshots.

*/ inline bool EbsSnapshotsHasBeenSet() const { return m_ebsSnapshotsHasBeenSet; } /** *

A list of EBS snapshots.

*/ inline void SetEbsSnapshots(const Aws::Vector& value) { m_ebsSnapshotsHasBeenSet = true; m_ebsSnapshots = value; } /** *

A list of EBS snapshots.

*/ inline void SetEbsSnapshots(Aws::Vector&& value) { m_ebsSnapshotsHasBeenSet = true; m_ebsSnapshots = std::move(value); } /** *

A list of EBS snapshots.

*/ inline RecoverySnapshot& WithEbsSnapshots(const Aws::Vector& value) { SetEbsSnapshots(value); return *this;} /** *

A list of EBS snapshots.

*/ inline RecoverySnapshot& WithEbsSnapshots(Aws::Vector&& value) { SetEbsSnapshots(std::move(value)); return *this;} /** *

A list of EBS snapshots.

*/ inline RecoverySnapshot& AddEbsSnapshots(const Aws::String& value) { m_ebsSnapshotsHasBeenSet = true; m_ebsSnapshots.push_back(value); return *this; } /** *

A list of EBS snapshots.

*/ inline RecoverySnapshot& AddEbsSnapshots(Aws::String&& value) { m_ebsSnapshotsHasBeenSet = true; m_ebsSnapshots.push_back(std::move(value)); return *this; } /** *

A list of EBS snapshots.

*/ inline RecoverySnapshot& AddEbsSnapshots(const char* value) { m_ebsSnapshotsHasBeenSet = true; m_ebsSnapshots.push_back(value); return *this; } /** *

The timestamp of when we expect the snapshot to be taken.

*/ inline const Aws::String& GetExpectedTimestamp() const{ return m_expectedTimestamp; } /** *

The timestamp of when we expect the snapshot to be taken.

*/ inline bool ExpectedTimestampHasBeenSet() const { return m_expectedTimestampHasBeenSet; } /** *

The timestamp of when we expect the snapshot to be taken.

*/ inline void SetExpectedTimestamp(const Aws::String& value) { m_expectedTimestampHasBeenSet = true; m_expectedTimestamp = value; } /** *

The timestamp of when we expect the snapshot to be taken.

*/ inline void SetExpectedTimestamp(Aws::String&& value) { m_expectedTimestampHasBeenSet = true; m_expectedTimestamp = std::move(value); } /** *

The timestamp of when we expect the snapshot to be taken.

*/ inline void SetExpectedTimestamp(const char* value) { m_expectedTimestampHasBeenSet = true; m_expectedTimestamp.assign(value); } /** *

The timestamp of when we expect the snapshot to be taken.

*/ inline RecoverySnapshot& WithExpectedTimestamp(const Aws::String& value) { SetExpectedTimestamp(value); return *this;} /** *

The timestamp of when we expect the snapshot to be taken.

*/ inline RecoverySnapshot& WithExpectedTimestamp(Aws::String&& value) { SetExpectedTimestamp(std::move(value)); return *this;} /** *

The timestamp of when we expect the snapshot to be taken.

*/ inline RecoverySnapshot& WithExpectedTimestamp(const char* value) { SetExpectedTimestamp(value); return *this;} /** *

The ID of the Recovery Snapshot.

*/ inline const Aws::String& GetSnapshotID() const{ return m_snapshotID; } /** *

The ID of the Recovery Snapshot.

*/ inline bool SnapshotIDHasBeenSet() const { return m_snapshotIDHasBeenSet; } /** *

The ID of the Recovery Snapshot.

*/ inline void SetSnapshotID(const Aws::String& value) { m_snapshotIDHasBeenSet = true; m_snapshotID = value; } /** *

The ID of the Recovery Snapshot.

*/ inline void SetSnapshotID(Aws::String&& value) { m_snapshotIDHasBeenSet = true; m_snapshotID = std::move(value); } /** *

The ID of the Recovery Snapshot.

*/ inline void SetSnapshotID(const char* value) { m_snapshotIDHasBeenSet = true; m_snapshotID.assign(value); } /** *

The ID of the Recovery Snapshot.

*/ inline RecoverySnapshot& WithSnapshotID(const Aws::String& value) { SetSnapshotID(value); return *this;} /** *

The ID of the Recovery Snapshot.

*/ inline RecoverySnapshot& WithSnapshotID(Aws::String&& value) { SetSnapshotID(std::move(value)); return *this;} /** *

The ID of the Recovery Snapshot.

*/ inline RecoverySnapshot& WithSnapshotID(const char* value) { SetSnapshotID(value); return *this;} /** *

The ID of the Source Server that the snapshot was taken for.

*/ inline const Aws::String& GetSourceServerID() const{ return m_sourceServerID; } /** *

The ID of the Source Server that the snapshot was taken for.

*/ inline bool SourceServerIDHasBeenSet() const { return m_sourceServerIDHasBeenSet; } /** *

The ID of the Source Server that the snapshot was taken for.

*/ inline void SetSourceServerID(const Aws::String& value) { m_sourceServerIDHasBeenSet = true; m_sourceServerID = value; } /** *

The ID of the Source Server that the snapshot was taken for.

*/ inline void SetSourceServerID(Aws::String&& value) { m_sourceServerIDHasBeenSet = true; m_sourceServerID = std::move(value); } /** *

The ID of the Source Server that the snapshot was taken for.

*/ inline void SetSourceServerID(const char* value) { m_sourceServerIDHasBeenSet = true; m_sourceServerID.assign(value); } /** *

The ID of the Source Server that the snapshot was taken for.

*/ inline RecoverySnapshot& WithSourceServerID(const Aws::String& value) { SetSourceServerID(value); return *this;} /** *

The ID of the Source Server that the snapshot was taken for.

*/ inline RecoverySnapshot& WithSourceServerID(Aws::String&& value) { SetSourceServerID(std::move(value)); return *this;} /** *

The ID of the Source Server that the snapshot was taken for.

*/ inline RecoverySnapshot& WithSourceServerID(const char* value) { SetSourceServerID(value); return *this;} /** *

The actual timestamp that the snapshot was taken.

*/ inline const Aws::String& GetTimestamp() const{ return m_timestamp; } /** *

The actual timestamp that the snapshot was taken.

*/ inline bool TimestampHasBeenSet() const { return m_timestampHasBeenSet; } /** *

The actual timestamp that the snapshot was taken.

*/ inline void SetTimestamp(const Aws::String& value) { m_timestampHasBeenSet = true; m_timestamp = value; } /** *

The actual timestamp that the snapshot was taken.

*/ inline void SetTimestamp(Aws::String&& value) { m_timestampHasBeenSet = true; m_timestamp = std::move(value); } /** *

The actual timestamp that the snapshot was taken.

*/ inline void SetTimestamp(const char* value) { m_timestampHasBeenSet = true; m_timestamp.assign(value); } /** *

The actual timestamp that the snapshot was taken.

*/ inline RecoverySnapshot& WithTimestamp(const Aws::String& value) { SetTimestamp(value); return *this;} /** *

The actual timestamp that the snapshot was taken.

*/ inline RecoverySnapshot& WithTimestamp(Aws::String&& value) { SetTimestamp(std::move(value)); return *this;} /** *

The actual timestamp that the snapshot was taken.

*/ inline RecoverySnapshot& WithTimestamp(const char* value) { SetTimestamp(value); return *this;} private: Aws::Vector m_ebsSnapshots; bool m_ebsSnapshotsHasBeenSet = false; Aws::String m_expectedTimestamp; bool m_expectedTimestampHasBeenSet = false; Aws::String m_snapshotID; bool m_snapshotIDHasBeenSet = false; Aws::String m_sourceServerID; bool m_sourceServerIDHasBeenSet = false; Aws::String m_timestamp; bool m_timestampHasBeenSet = false; }; } // namespace Model } // namespace drs } // namespace Aws