/** * 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 failback related information of the Recovery * Instance.

See Also:

AWS * API Reference

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

The date and time the agent on the Recovery Instance was last seen by the * service.

*/ inline const Aws::String& GetAgentLastSeenByServiceDateTime() const{ return m_agentLastSeenByServiceDateTime; } /** *

The date and time the agent on the Recovery Instance was last seen by the * service.

*/ inline bool AgentLastSeenByServiceDateTimeHasBeenSet() const { return m_agentLastSeenByServiceDateTimeHasBeenSet; } /** *

The date and time the agent on the Recovery Instance was last seen by the * service.

*/ inline void SetAgentLastSeenByServiceDateTime(const Aws::String& value) { m_agentLastSeenByServiceDateTimeHasBeenSet = true; m_agentLastSeenByServiceDateTime = value; } /** *

The date and time the agent on the Recovery Instance was last seen by the * service.

*/ inline void SetAgentLastSeenByServiceDateTime(Aws::String&& value) { m_agentLastSeenByServiceDateTimeHasBeenSet = true; m_agentLastSeenByServiceDateTime = std::move(value); } /** *

The date and time the agent on the Recovery Instance was last seen by the * service.

*/ inline void SetAgentLastSeenByServiceDateTime(const char* value) { m_agentLastSeenByServiceDateTimeHasBeenSet = true; m_agentLastSeenByServiceDateTime.assign(value); } /** *

The date and time the agent on the Recovery Instance was last seen by the * service.

*/ inline RecoveryInstanceFailback& WithAgentLastSeenByServiceDateTime(const Aws::String& value) { SetAgentLastSeenByServiceDateTime(value); return *this;} /** *

The date and time the agent on the Recovery Instance was last seen by the * service.

*/ inline RecoveryInstanceFailback& WithAgentLastSeenByServiceDateTime(Aws::String&& value) { SetAgentLastSeenByServiceDateTime(std::move(value)); return *this;} /** *

The date and time the agent on the Recovery Instance was last seen by the * service.

*/ inline RecoveryInstanceFailback& WithAgentLastSeenByServiceDateTime(const char* value) { SetAgentLastSeenByServiceDateTime(value); return *this;} /** *

The amount of time that the Recovery Instance has been replicating for.

*/ inline const Aws::String& GetElapsedReplicationDuration() const{ return m_elapsedReplicationDuration; } /** *

The amount of time that the Recovery Instance has been replicating for.

*/ inline bool ElapsedReplicationDurationHasBeenSet() const { return m_elapsedReplicationDurationHasBeenSet; } /** *

The amount of time that the Recovery Instance has been replicating for.

*/ inline void SetElapsedReplicationDuration(const Aws::String& value) { m_elapsedReplicationDurationHasBeenSet = true; m_elapsedReplicationDuration = value; } /** *

The amount of time that the Recovery Instance has been replicating for.

*/ inline void SetElapsedReplicationDuration(Aws::String&& value) { m_elapsedReplicationDurationHasBeenSet = true; m_elapsedReplicationDuration = std::move(value); } /** *

The amount of time that the Recovery Instance has been replicating for.

*/ inline void SetElapsedReplicationDuration(const char* value) { m_elapsedReplicationDurationHasBeenSet = true; m_elapsedReplicationDuration.assign(value); } /** *

The amount of time that the Recovery Instance has been replicating for.

*/ inline RecoveryInstanceFailback& WithElapsedReplicationDuration(const Aws::String& value) { SetElapsedReplicationDuration(value); return *this;} /** *

The amount of time that the Recovery Instance has been replicating for.

*/ inline RecoveryInstanceFailback& WithElapsedReplicationDuration(Aws::String&& value) { SetElapsedReplicationDuration(std::move(value)); return *this;} /** *

The amount of time that the Recovery Instance has been replicating for.

*/ inline RecoveryInstanceFailback& WithElapsedReplicationDuration(const char* value) { SetElapsedReplicationDuration(value); return *this;} /** *

The ID of the failback client that this Recovery Instance is associated * with.

*/ inline const Aws::String& GetFailbackClientID() const{ return m_failbackClientID; } /** *

The ID of the failback client that this Recovery Instance is associated * with.

*/ inline bool FailbackClientIDHasBeenSet() const { return m_failbackClientIDHasBeenSet; } /** *

The ID of the failback client that this Recovery Instance is associated * with.

*/ inline void SetFailbackClientID(const Aws::String& value) { m_failbackClientIDHasBeenSet = true; m_failbackClientID = value; } /** *

The ID of the failback client that this Recovery Instance is associated * with.

*/ inline void SetFailbackClientID(Aws::String&& value) { m_failbackClientIDHasBeenSet = true; m_failbackClientID = std::move(value); } /** *

The ID of the failback client that this Recovery Instance is associated * with.

*/ inline void SetFailbackClientID(const char* value) { m_failbackClientIDHasBeenSet = true; m_failbackClientID.assign(value); } /** *

The ID of the failback client that this Recovery Instance is associated * with.

*/ inline RecoveryInstanceFailback& WithFailbackClientID(const Aws::String& value) { SetFailbackClientID(value); return *this;} /** *

The ID of the failback client that this Recovery Instance is associated * with.

*/ inline RecoveryInstanceFailback& WithFailbackClientID(Aws::String&& value) { SetFailbackClientID(std::move(value)); return *this;} /** *

The ID of the failback client that this Recovery Instance is associated * with.

*/ inline RecoveryInstanceFailback& WithFailbackClientID(const char* value) { SetFailbackClientID(value); return *this;} /** *

The date and time that the failback client was last seen by the service.

*/ inline const Aws::String& GetFailbackClientLastSeenByServiceDateTime() const{ return m_failbackClientLastSeenByServiceDateTime; } /** *

The date and time that the failback client was last seen by the service.

*/ inline bool FailbackClientLastSeenByServiceDateTimeHasBeenSet() const { return m_failbackClientLastSeenByServiceDateTimeHasBeenSet; } /** *

The date and time that the failback client was last seen by the service.

*/ inline void SetFailbackClientLastSeenByServiceDateTime(const Aws::String& value) { m_failbackClientLastSeenByServiceDateTimeHasBeenSet = true; m_failbackClientLastSeenByServiceDateTime = value; } /** *

The date and time that the failback client was last seen by the service.

*/ inline void SetFailbackClientLastSeenByServiceDateTime(Aws::String&& value) { m_failbackClientLastSeenByServiceDateTimeHasBeenSet = true; m_failbackClientLastSeenByServiceDateTime = std::move(value); } /** *

The date and time that the failback client was last seen by the service.

*/ inline void SetFailbackClientLastSeenByServiceDateTime(const char* value) { m_failbackClientLastSeenByServiceDateTimeHasBeenSet = true; m_failbackClientLastSeenByServiceDateTime.assign(value); } /** *

The date and time that the failback client was last seen by the service.

*/ inline RecoveryInstanceFailback& WithFailbackClientLastSeenByServiceDateTime(const Aws::String& value) { SetFailbackClientLastSeenByServiceDateTime(value); return *this;} /** *

The date and time that the failback client was last seen by the service.

*/ inline RecoveryInstanceFailback& WithFailbackClientLastSeenByServiceDateTime(Aws::String&& value) { SetFailbackClientLastSeenByServiceDateTime(std::move(value)); return *this;} /** *

The date and time that the failback client was last seen by the service.

*/ inline RecoveryInstanceFailback& WithFailbackClientLastSeenByServiceDateTime(const char* value) { SetFailbackClientLastSeenByServiceDateTime(value); return *this;} /** *

The date and time that the failback initiation started.

*/ inline const Aws::String& GetFailbackInitiationTime() const{ return m_failbackInitiationTime; } /** *

The date and time that the failback initiation started.

*/ inline bool FailbackInitiationTimeHasBeenSet() const { return m_failbackInitiationTimeHasBeenSet; } /** *

The date and time that the failback initiation started.

*/ inline void SetFailbackInitiationTime(const Aws::String& value) { m_failbackInitiationTimeHasBeenSet = true; m_failbackInitiationTime = value; } /** *

The date and time that the failback initiation started.

*/ inline void SetFailbackInitiationTime(Aws::String&& value) { m_failbackInitiationTimeHasBeenSet = true; m_failbackInitiationTime = std::move(value); } /** *

The date and time that the failback initiation started.

*/ inline void SetFailbackInitiationTime(const char* value) { m_failbackInitiationTimeHasBeenSet = true; m_failbackInitiationTime.assign(value); } /** *

The date and time that the failback initiation started.

*/ inline RecoveryInstanceFailback& WithFailbackInitiationTime(const Aws::String& value) { SetFailbackInitiationTime(value); return *this;} /** *

The date and time that the failback initiation started.

*/ inline RecoveryInstanceFailback& WithFailbackInitiationTime(Aws::String&& value) { SetFailbackInitiationTime(std::move(value)); return *this;} /** *

The date and time that the failback initiation started.

*/ inline RecoveryInstanceFailback& WithFailbackInitiationTime(const char* value) { SetFailbackInitiationTime(value); return *this;} /** *

The Job ID of the last failback log for this Recovery Instance.

*/ inline const Aws::String& GetFailbackJobID() const{ return m_failbackJobID; } /** *

The Job ID of the last failback log for this Recovery Instance.

*/ inline bool FailbackJobIDHasBeenSet() const { return m_failbackJobIDHasBeenSet; } /** *

The Job ID of the last failback log for this Recovery Instance.

*/ inline void SetFailbackJobID(const Aws::String& value) { m_failbackJobIDHasBeenSet = true; m_failbackJobID = value; } /** *

The Job ID of the last failback log for this Recovery Instance.

*/ inline void SetFailbackJobID(Aws::String&& value) { m_failbackJobIDHasBeenSet = true; m_failbackJobID = std::move(value); } /** *

The Job ID of the last failback log for this Recovery Instance.

*/ inline void SetFailbackJobID(const char* value) { m_failbackJobIDHasBeenSet = true; m_failbackJobID.assign(value); } /** *

The Job ID of the last failback log for this Recovery Instance.

*/ inline RecoveryInstanceFailback& WithFailbackJobID(const Aws::String& value) { SetFailbackJobID(value); return *this;} /** *

The Job ID of the last failback log for this Recovery Instance.

*/ inline RecoveryInstanceFailback& WithFailbackJobID(Aws::String&& value) { SetFailbackJobID(std::move(value)); return *this;} /** *

The Job ID of the last failback log for this Recovery Instance.

*/ inline RecoveryInstanceFailback& WithFailbackJobID(const char* value) { SetFailbackJobID(value); return *this;} /** *

The launch type (Recovery / Drill) of the last launch for the failback * replication of this recovery instance.

*/ inline const FailbackLaunchType& GetFailbackLaunchType() const{ return m_failbackLaunchType; } /** *

The launch type (Recovery / Drill) of the last launch for the failback * replication of this recovery instance.

*/ inline bool FailbackLaunchTypeHasBeenSet() const { return m_failbackLaunchTypeHasBeenSet; } /** *

The launch type (Recovery / Drill) of the last launch for the failback * replication of this recovery instance.

*/ inline void SetFailbackLaunchType(const FailbackLaunchType& value) { m_failbackLaunchTypeHasBeenSet = true; m_failbackLaunchType = value; } /** *

The launch type (Recovery / Drill) of the last launch for the failback * replication of this recovery instance.

*/ inline void SetFailbackLaunchType(FailbackLaunchType&& value) { m_failbackLaunchTypeHasBeenSet = true; m_failbackLaunchType = std::move(value); } /** *

The launch type (Recovery / Drill) of the last launch for the failback * replication of this recovery instance.

*/ inline RecoveryInstanceFailback& WithFailbackLaunchType(const FailbackLaunchType& value) { SetFailbackLaunchType(value); return *this;} /** *

The launch type (Recovery / Drill) of the last launch for the failback * replication of this recovery instance.

*/ inline RecoveryInstanceFailback& WithFailbackLaunchType(FailbackLaunchType&& value) { SetFailbackLaunchType(std::move(value)); return *this;} /** *

Whether we are failing back to the original Source Server for this Recovery * Instance.

*/ inline bool GetFailbackToOriginalServer() const{ return m_failbackToOriginalServer; } /** *

Whether we are failing back to the original Source Server for this Recovery * Instance.

*/ inline bool FailbackToOriginalServerHasBeenSet() const { return m_failbackToOriginalServerHasBeenSet; } /** *

Whether we are failing back to the original Source Server for this Recovery * Instance.

*/ inline void SetFailbackToOriginalServer(bool value) { m_failbackToOriginalServerHasBeenSet = true; m_failbackToOriginalServer = value; } /** *

Whether we are failing back to the original Source Server for this Recovery * Instance.

*/ inline RecoveryInstanceFailback& WithFailbackToOriginalServer(bool value) { SetFailbackToOriginalServer(value); return *this;} /** *

The date and time of the first byte that was replicated from the Recovery * Instance.

*/ inline const Aws::String& GetFirstByteDateTime() const{ return m_firstByteDateTime; } /** *

The date and time of the first byte that was replicated from the Recovery * Instance.

*/ inline bool FirstByteDateTimeHasBeenSet() const { return m_firstByteDateTimeHasBeenSet; } /** *

The date and time of the first byte that was replicated from the Recovery * Instance.

*/ inline void SetFirstByteDateTime(const Aws::String& value) { m_firstByteDateTimeHasBeenSet = true; m_firstByteDateTime = value; } /** *

The date and time of the first byte that was replicated from the Recovery * Instance.

*/ inline void SetFirstByteDateTime(Aws::String&& value) { m_firstByteDateTimeHasBeenSet = true; m_firstByteDateTime = std::move(value); } /** *

The date and time of the first byte that was replicated from the Recovery * Instance.

*/ inline void SetFirstByteDateTime(const char* value) { m_firstByteDateTimeHasBeenSet = true; m_firstByteDateTime.assign(value); } /** *

The date and time of the first byte that was replicated from the Recovery * Instance.

*/ inline RecoveryInstanceFailback& WithFirstByteDateTime(const Aws::String& value) { SetFirstByteDateTime(value); return *this;} /** *

The date and time of the first byte that was replicated from the Recovery * Instance.

*/ inline RecoveryInstanceFailback& WithFirstByteDateTime(Aws::String&& value) { SetFirstByteDateTime(std::move(value)); return *this;} /** *

The date and time of the first byte that was replicated from the Recovery * Instance.

*/ inline RecoveryInstanceFailback& WithFirstByteDateTime(const char* value) { SetFirstByteDateTime(value); return *this;} /** *

The state of the failback process that this Recovery Instance is in.

*/ inline const FailbackState& GetState() const{ return m_state; } /** *

The state of the failback process that this Recovery Instance is in.

*/ inline bool StateHasBeenSet() const { return m_stateHasBeenSet; } /** *

The state of the failback process that this Recovery Instance is in.

*/ inline void SetState(const FailbackState& value) { m_stateHasBeenSet = true; m_state = value; } /** *

The state of the failback process that this Recovery Instance is in.

*/ inline void SetState(FailbackState&& value) { m_stateHasBeenSet = true; m_state = std::move(value); } /** *

The state of the failback process that this Recovery Instance is in.

*/ inline RecoveryInstanceFailback& WithState(const FailbackState& value) { SetState(value); return *this;} /** *

The state of the failback process that this Recovery Instance is in.

*/ inline RecoveryInstanceFailback& WithState(FailbackState&& value) { SetState(std::move(value)); return *this;} private: Aws::String m_agentLastSeenByServiceDateTime; bool m_agentLastSeenByServiceDateTimeHasBeenSet = false; Aws::String m_elapsedReplicationDuration; bool m_elapsedReplicationDurationHasBeenSet = false; Aws::String m_failbackClientID; bool m_failbackClientIDHasBeenSet = false; Aws::String m_failbackClientLastSeenByServiceDateTime; bool m_failbackClientLastSeenByServiceDateTimeHasBeenSet = false; Aws::String m_failbackInitiationTime; bool m_failbackInitiationTimeHasBeenSet = false; Aws::String m_failbackJobID; bool m_failbackJobIDHasBeenSet = false; FailbackLaunchType m_failbackLaunchType; bool m_failbackLaunchTypeHasBeenSet = false; bool m_failbackToOriginalServer; bool m_failbackToOriginalServerHasBeenSet = false; Aws::String m_firstByteDateTime; bool m_firstByteDateTimeHasBeenSet = false; FailbackState m_state; bool m_stateHasBeenSet = false; }; } // namespace Model } // namespace drs } // namespace Aws