/** * 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 DynamoDB { namespace Model { /** *

The description of the point in time settings applied to the * table.

See Also:

AWS * API Reference

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

The current state of point in time recovery:

  • * ENABLED - Point in time recovery is enabled.

  • * DISABLED - Point in time recovery is disabled.

*/ inline const PointInTimeRecoveryStatus& GetPointInTimeRecoveryStatus() const{ return m_pointInTimeRecoveryStatus; } /** *

The current state of point in time recovery:

  • * ENABLED - Point in time recovery is enabled.

  • * DISABLED - Point in time recovery is disabled.

*/ inline bool PointInTimeRecoveryStatusHasBeenSet() const { return m_pointInTimeRecoveryStatusHasBeenSet; } /** *

The current state of point in time recovery:

  • * ENABLED - Point in time recovery is enabled.

  • * DISABLED - Point in time recovery is disabled.

*/ inline void SetPointInTimeRecoveryStatus(const PointInTimeRecoveryStatus& value) { m_pointInTimeRecoveryStatusHasBeenSet = true; m_pointInTimeRecoveryStatus = value; } /** *

The current state of point in time recovery:

  • * ENABLED - Point in time recovery is enabled.

  • * DISABLED - Point in time recovery is disabled.

*/ inline void SetPointInTimeRecoveryStatus(PointInTimeRecoveryStatus&& value) { m_pointInTimeRecoveryStatusHasBeenSet = true; m_pointInTimeRecoveryStatus = std::move(value); } /** *

The current state of point in time recovery:

  • * ENABLED - Point in time recovery is enabled.

  • * DISABLED - Point in time recovery is disabled.

*/ inline PointInTimeRecoveryDescription& WithPointInTimeRecoveryStatus(const PointInTimeRecoveryStatus& value) { SetPointInTimeRecoveryStatus(value); return *this;} /** *

The current state of point in time recovery:

  • * ENABLED - Point in time recovery is enabled.

  • * DISABLED - Point in time recovery is disabled.

*/ inline PointInTimeRecoveryDescription& WithPointInTimeRecoveryStatus(PointInTimeRecoveryStatus&& value) { SetPointInTimeRecoveryStatus(std::move(value)); return *this;} /** *

Specifies the earliest point in time you can restore your table to. You can * restore your table to any point in time during the last 35 days.

*/ inline const Aws::Utils::DateTime& GetEarliestRestorableDateTime() const{ return m_earliestRestorableDateTime; } /** *

Specifies the earliest point in time you can restore your table to. You can * restore your table to any point in time during the last 35 days.

*/ inline bool EarliestRestorableDateTimeHasBeenSet() const { return m_earliestRestorableDateTimeHasBeenSet; } /** *

Specifies the earliest point in time you can restore your table to. You can * restore your table to any point in time during the last 35 days.

*/ inline void SetEarliestRestorableDateTime(const Aws::Utils::DateTime& value) { m_earliestRestorableDateTimeHasBeenSet = true; m_earliestRestorableDateTime = value; } /** *

Specifies the earliest point in time you can restore your table to. You can * restore your table to any point in time during the last 35 days.

*/ inline void SetEarliestRestorableDateTime(Aws::Utils::DateTime&& value) { m_earliestRestorableDateTimeHasBeenSet = true; m_earliestRestorableDateTime = std::move(value); } /** *

Specifies the earliest point in time you can restore your table to. You can * restore your table to any point in time during the last 35 days.

*/ inline PointInTimeRecoveryDescription& WithEarliestRestorableDateTime(const Aws::Utils::DateTime& value) { SetEarliestRestorableDateTime(value); return *this;} /** *

Specifies the earliest point in time you can restore your table to. You can * restore your table to any point in time during the last 35 days.

*/ inline PointInTimeRecoveryDescription& WithEarliestRestorableDateTime(Aws::Utils::DateTime&& value) { SetEarliestRestorableDateTime(std::move(value)); return *this;} /** *

LatestRestorableDateTime is typically 5 minutes before the * current time.

*/ inline const Aws::Utils::DateTime& GetLatestRestorableDateTime() const{ return m_latestRestorableDateTime; } /** *

LatestRestorableDateTime is typically 5 minutes before the * current time.

*/ inline bool LatestRestorableDateTimeHasBeenSet() const { return m_latestRestorableDateTimeHasBeenSet; } /** *

LatestRestorableDateTime is typically 5 minutes before the * current time.

*/ inline void SetLatestRestorableDateTime(const Aws::Utils::DateTime& value) { m_latestRestorableDateTimeHasBeenSet = true; m_latestRestorableDateTime = value; } /** *

LatestRestorableDateTime is typically 5 minutes before the * current time.

*/ inline void SetLatestRestorableDateTime(Aws::Utils::DateTime&& value) { m_latestRestorableDateTimeHasBeenSet = true; m_latestRestorableDateTime = std::move(value); } /** *

LatestRestorableDateTime is typically 5 minutes before the * current time.

*/ inline PointInTimeRecoveryDescription& WithLatestRestorableDateTime(const Aws::Utils::DateTime& value) { SetLatestRestorableDateTime(value); return *this;} /** *

LatestRestorableDateTime is typically 5 minutes before the * current time.

*/ inline PointInTimeRecoveryDescription& WithLatestRestorableDateTime(Aws::Utils::DateTime&& value) { SetLatestRestorableDateTime(std::move(value)); return *this;} private: PointInTimeRecoveryStatus m_pointInTimeRecoveryStatus; bool m_pointInTimeRecoveryStatusHasBeenSet = false; Aws::Utils::DateTime m_earliestRestorableDateTime; bool m_earliestRestorableDateTimeHasBeenSet = false; Aws::Utils::DateTime m_latestRestorableDateTime; bool m_latestRestorableDateTimeHasBeenSet = false; }; } // namespace Model } // namespace DynamoDB } // namespace Aws