/** * 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 { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace drs { namespace Model { /** *

An object representing the Source Network recovery Lifecycle.

See * Also:

AWS * API Reference

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

The date and time the last Source Network recovery was initiated.

*/ inline const Aws::Utils::DateTime& GetApiCallDateTime() const{ return m_apiCallDateTime; } /** *

The date and time the last Source Network recovery was initiated.

*/ inline bool ApiCallDateTimeHasBeenSet() const { return m_apiCallDateTimeHasBeenSet; } /** *

The date and time the last Source Network recovery was initiated.

*/ inline void SetApiCallDateTime(const Aws::Utils::DateTime& value) { m_apiCallDateTimeHasBeenSet = true; m_apiCallDateTime = value; } /** *

The date and time the last Source Network recovery was initiated.

*/ inline void SetApiCallDateTime(Aws::Utils::DateTime&& value) { m_apiCallDateTimeHasBeenSet = true; m_apiCallDateTime = std::move(value); } /** *

The date and time the last Source Network recovery was initiated.

*/ inline RecoveryLifeCycle& WithApiCallDateTime(const Aws::Utils::DateTime& value) { SetApiCallDateTime(value); return *this;} /** *

The date and time the last Source Network recovery was initiated.

*/ inline RecoveryLifeCycle& WithApiCallDateTime(Aws::Utils::DateTime&& value) { SetApiCallDateTime(std::move(value)); return *this;} /** *

The ID of the Job that was used to last recover the Source Network.

*/ inline const Aws::String& GetJobID() const{ return m_jobID; } /** *

The ID of the Job that was used to last recover the Source Network.

*/ inline bool JobIDHasBeenSet() const { return m_jobIDHasBeenSet; } /** *

The ID of the Job that was used to last recover the Source Network.

*/ inline void SetJobID(const Aws::String& value) { m_jobIDHasBeenSet = true; m_jobID = value; } /** *

The ID of the Job that was used to last recover the Source Network.

*/ inline void SetJobID(Aws::String&& value) { m_jobIDHasBeenSet = true; m_jobID = std::move(value); } /** *

The ID of the Job that was used to last recover the Source Network.

*/ inline void SetJobID(const char* value) { m_jobIDHasBeenSet = true; m_jobID.assign(value); } /** *

The ID of the Job that was used to last recover the Source Network.

*/ inline RecoveryLifeCycle& WithJobID(const Aws::String& value) { SetJobID(value); return *this;} /** *

The ID of the Job that was used to last recover the Source Network.

*/ inline RecoveryLifeCycle& WithJobID(Aws::String&& value) { SetJobID(std::move(value)); return *this;} /** *

The ID of the Job that was used to last recover the Source Network.

*/ inline RecoveryLifeCycle& WithJobID(const char* value) { SetJobID(value); return *this;} /** *

The status of the last recovery status of this Source Network.

*/ inline const RecoveryResult& GetLastRecoveryResult() const{ return m_lastRecoveryResult; } /** *

The status of the last recovery status of this Source Network.

*/ inline bool LastRecoveryResultHasBeenSet() const { return m_lastRecoveryResultHasBeenSet; } /** *

The status of the last recovery status of this Source Network.

*/ inline void SetLastRecoveryResult(const RecoveryResult& value) { m_lastRecoveryResultHasBeenSet = true; m_lastRecoveryResult = value; } /** *

The status of the last recovery status of this Source Network.

*/ inline void SetLastRecoveryResult(RecoveryResult&& value) { m_lastRecoveryResultHasBeenSet = true; m_lastRecoveryResult = std::move(value); } /** *

The status of the last recovery status of this Source Network.

*/ inline RecoveryLifeCycle& WithLastRecoveryResult(const RecoveryResult& value) { SetLastRecoveryResult(value); return *this;} /** *

The status of the last recovery status of this Source Network.

*/ inline RecoveryLifeCycle& WithLastRecoveryResult(RecoveryResult&& value) { SetLastRecoveryResult(std::move(value)); return *this;} private: Aws::Utils::DateTime m_apiCallDateTime; bool m_apiCallDateTimeHasBeenSet = false; Aws::String m_jobID; bool m_jobIDHasBeenSet = false; RecoveryResult m_lastRecoveryResult; bool m_lastRecoveryResultHasBeenSet = false; }; } // namespace Model } // namespace drs } // namespace Aws