/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Lifecycle.See Also:
AWS API
* Reference
Lifecycle added to service data and time.
*/ inline const Aws::String& GetAddedToServiceDateTime() const{ return m_addedToServiceDateTime; } /** *Lifecycle added to service data and time.
*/ inline bool AddedToServiceDateTimeHasBeenSet() const { return m_addedToServiceDateTimeHasBeenSet; } /** *Lifecycle added to service data and time.
*/ inline void SetAddedToServiceDateTime(const Aws::String& value) { m_addedToServiceDateTimeHasBeenSet = true; m_addedToServiceDateTime = value; } /** *Lifecycle added to service data and time.
*/ inline void SetAddedToServiceDateTime(Aws::String&& value) { m_addedToServiceDateTimeHasBeenSet = true; m_addedToServiceDateTime = std::move(value); } /** *Lifecycle added to service data and time.
*/ inline void SetAddedToServiceDateTime(const char* value) { m_addedToServiceDateTimeHasBeenSet = true; m_addedToServiceDateTime.assign(value); } /** *Lifecycle added to service data and time.
*/ inline LifeCycle& WithAddedToServiceDateTime(const Aws::String& value) { SetAddedToServiceDateTime(value); return *this;} /** *Lifecycle added to service data and time.
*/ inline LifeCycle& WithAddedToServiceDateTime(Aws::String&& value) { SetAddedToServiceDateTime(std::move(value)); return *this;} /** *Lifecycle added to service data and time.
*/ inline LifeCycle& WithAddedToServiceDateTime(const char* value) { SetAddedToServiceDateTime(value); return *this;} /** *Lifecycle elapsed time and duration.
*/ inline const Aws::String& GetElapsedReplicationDuration() const{ return m_elapsedReplicationDuration; } /** *Lifecycle elapsed time and duration.
*/ inline bool ElapsedReplicationDurationHasBeenSet() const { return m_elapsedReplicationDurationHasBeenSet; } /** *Lifecycle elapsed time and duration.
*/ inline void SetElapsedReplicationDuration(const Aws::String& value) { m_elapsedReplicationDurationHasBeenSet = true; m_elapsedReplicationDuration = value; } /** *Lifecycle elapsed time and duration.
*/ inline void SetElapsedReplicationDuration(Aws::String&& value) { m_elapsedReplicationDurationHasBeenSet = true; m_elapsedReplicationDuration = std::move(value); } /** *Lifecycle elapsed time and duration.
*/ inline void SetElapsedReplicationDuration(const char* value) { m_elapsedReplicationDurationHasBeenSet = true; m_elapsedReplicationDuration.assign(value); } /** *Lifecycle elapsed time and duration.
*/ inline LifeCycle& WithElapsedReplicationDuration(const Aws::String& value) { SetElapsedReplicationDuration(value); return *this;} /** *Lifecycle elapsed time and duration.
*/ inline LifeCycle& WithElapsedReplicationDuration(Aws::String&& value) { SetElapsedReplicationDuration(std::move(value)); return *this;} /** *Lifecycle elapsed time and duration.
*/ inline LifeCycle& WithElapsedReplicationDuration(const char* value) { SetElapsedReplicationDuration(value); return *this;} /** *Lifecycle replication initiation date and time.
*/ inline const Aws::String& GetFirstByteDateTime() const{ return m_firstByteDateTime; } /** *Lifecycle replication initiation date and time.
*/ inline bool FirstByteDateTimeHasBeenSet() const { return m_firstByteDateTimeHasBeenSet; } /** *Lifecycle replication initiation date and time.
*/ inline void SetFirstByteDateTime(const Aws::String& value) { m_firstByteDateTimeHasBeenSet = true; m_firstByteDateTime = value; } /** *Lifecycle replication initiation date and time.
*/ inline void SetFirstByteDateTime(Aws::String&& value) { m_firstByteDateTimeHasBeenSet = true; m_firstByteDateTime = std::move(value); } /** *Lifecycle replication initiation date and time.
*/ inline void SetFirstByteDateTime(const char* value) { m_firstByteDateTimeHasBeenSet = true; m_firstByteDateTime.assign(value); } /** *Lifecycle replication initiation date and time.
*/ inline LifeCycle& WithFirstByteDateTime(const Aws::String& value) { SetFirstByteDateTime(value); return *this;} /** *Lifecycle replication initiation date and time.
*/ inline LifeCycle& WithFirstByteDateTime(Aws::String&& value) { SetFirstByteDateTime(std::move(value)); return *this;} /** *Lifecycle replication initiation date and time.
*/ inline LifeCycle& WithFirstByteDateTime(const char* value) { SetFirstByteDateTime(value); return *this;} /** *Lifecycle last Cutover.
*/ inline const LifeCycleLastCutover& GetLastCutover() const{ return m_lastCutover; } /** *Lifecycle last Cutover.
*/ inline bool LastCutoverHasBeenSet() const { return m_lastCutoverHasBeenSet; } /** *Lifecycle last Cutover.
*/ inline void SetLastCutover(const LifeCycleLastCutover& value) { m_lastCutoverHasBeenSet = true; m_lastCutover = value; } /** *Lifecycle last Cutover.
*/ inline void SetLastCutover(LifeCycleLastCutover&& value) { m_lastCutoverHasBeenSet = true; m_lastCutover = std::move(value); } /** *Lifecycle last Cutover.
*/ inline LifeCycle& WithLastCutover(const LifeCycleLastCutover& value) { SetLastCutover(value); return *this;} /** *Lifecycle last Cutover.
*/ inline LifeCycle& WithLastCutover(LifeCycleLastCutover&& value) { SetLastCutover(std::move(value)); return *this;} /** *Lifecycle last seen date and time.
*/ inline const Aws::String& GetLastSeenByServiceDateTime() const{ return m_lastSeenByServiceDateTime; } /** *Lifecycle last seen date and time.
*/ inline bool LastSeenByServiceDateTimeHasBeenSet() const { return m_lastSeenByServiceDateTimeHasBeenSet; } /** *Lifecycle last seen date and time.
*/ inline void SetLastSeenByServiceDateTime(const Aws::String& value) { m_lastSeenByServiceDateTimeHasBeenSet = true; m_lastSeenByServiceDateTime = value; } /** *Lifecycle last seen date and time.
*/ inline void SetLastSeenByServiceDateTime(Aws::String&& value) { m_lastSeenByServiceDateTimeHasBeenSet = true; m_lastSeenByServiceDateTime = std::move(value); } /** *Lifecycle last seen date and time.
*/ inline void SetLastSeenByServiceDateTime(const char* value) { m_lastSeenByServiceDateTimeHasBeenSet = true; m_lastSeenByServiceDateTime.assign(value); } /** *Lifecycle last seen date and time.
*/ inline LifeCycle& WithLastSeenByServiceDateTime(const Aws::String& value) { SetLastSeenByServiceDateTime(value); return *this;} /** *Lifecycle last seen date and time.
*/ inline LifeCycle& WithLastSeenByServiceDateTime(Aws::String&& value) { SetLastSeenByServiceDateTime(std::move(value)); return *this;} /** *Lifecycle last seen date and time.
*/ inline LifeCycle& WithLastSeenByServiceDateTime(const char* value) { SetLastSeenByServiceDateTime(value); return *this;} /** *Lifecycle last Test.
*/ inline const LifeCycleLastTest& GetLastTest() const{ return m_lastTest; } /** *Lifecycle last Test.
*/ inline bool LastTestHasBeenSet() const { return m_lastTestHasBeenSet; } /** *Lifecycle last Test.
*/ inline void SetLastTest(const LifeCycleLastTest& value) { m_lastTestHasBeenSet = true; m_lastTest = value; } /** *Lifecycle last Test.
*/ inline void SetLastTest(LifeCycleLastTest&& value) { m_lastTestHasBeenSet = true; m_lastTest = std::move(value); } /** *Lifecycle last Test.
*/ inline LifeCycle& WithLastTest(const LifeCycleLastTest& value) { SetLastTest(value); return *this;} /** *Lifecycle last Test.
*/ inline LifeCycle& WithLastTest(LifeCycleLastTest&& value) { SetLastTest(std::move(value)); return *this;} /** *Lifecycle state.
*/ inline const LifeCycleState& GetState() const{ return m_state; } /** *Lifecycle state.
*/ inline bool StateHasBeenSet() const { return m_stateHasBeenSet; } /** *Lifecycle state.
*/ inline void SetState(const LifeCycleState& value) { m_stateHasBeenSet = true; m_state = value; } /** *Lifecycle state.
*/ inline void SetState(LifeCycleState&& value) { m_stateHasBeenSet = true; m_state = std::move(value); } /** *Lifecycle state.
*/ inline LifeCycle& WithState(const LifeCycleState& value) { SetState(value); return *this;} /** *Lifecycle state.
*/ inline LifeCycle& WithState(LifeCycleState&& value) { SetState(std::move(value)); return *this;} private: Aws::String m_addedToServiceDateTime; bool m_addedToServiceDateTimeHasBeenSet = false; Aws::String m_elapsedReplicationDuration; bool m_elapsedReplicationDurationHasBeenSet = false; Aws::String m_firstByteDateTime; bool m_firstByteDateTimeHasBeenSet = false; LifeCycleLastCutover m_lastCutover; bool m_lastCutoverHasBeenSet = false; Aws::String m_lastSeenByServiceDateTime; bool m_lastSeenByServiceDateTimeHasBeenSet = false; LifeCycleLastTest m_lastTest; bool m_lastTestHasBeenSet = false; LifeCycleState m_state; bool m_stateHasBeenSet = false; }; } // namespace Model } // namespace mgn } // namespace Aws