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

Contains the details of the backup created for the table.

See * Also:

AWS * API Reference

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

ARN associated with the backup.

*/ inline const Aws::String& GetBackupArn() const{ return m_backupArn; } /** *

ARN associated with the backup.

*/ inline bool BackupArnHasBeenSet() const { return m_backupArnHasBeenSet; } /** *

ARN associated with the backup.

*/ inline void SetBackupArn(const Aws::String& value) { m_backupArnHasBeenSet = true; m_backupArn = value; } /** *

ARN associated with the backup.

*/ inline void SetBackupArn(Aws::String&& value) { m_backupArnHasBeenSet = true; m_backupArn = std::move(value); } /** *

ARN associated with the backup.

*/ inline void SetBackupArn(const char* value) { m_backupArnHasBeenSet = true; m_backupArn.assign(value); } /** *

ARN associated with the backup.

*/ inline BackupDetails& WithBackupArn(const Aws::String& value) { SetBackupArn(value); return *this;} /** *

ARN associated with the backup.

*/ inline BackupDetails& WithBackupArn(Aws::String&& value) { SetBackupArn(std::move(value)); return *this;} /** *

ARN associated with the backup.

*/ inline BackupDetails& WithBackupArn(const char* value) { SetBackupArn(value); return *this;} /** *

Name of the requested backup.

*/ inline const Aws::String& GetBackupName() const{ return m_backupName; } /** *

Name of the requested backup.

*/ inline bool BackupNameHasBeenSet() const { return m_backupNameHasBeenSet; } /** *

Name of the requested backup.

*/ inline void SetBackupName(const Aws::String& value) { m_backupNameHasBeenSet = true; m_backupName = value; } /** *

Name of the requested backup.

*/ inline void SetBackupName(Aws::String&& value) { m_backupNameHasBeenSet = true; m_backupName = std::move(value); } /** *

Name of the requested backup.

*/ inline void SetBackupName(const char* value) { m_backupNameHasBeenSet = true; m_backupName.assign(value); } /** *

Name of the requested backup.

*/ inline BackupDetails& WithBackupName(const Aws::String& value) { SetBackupName(value); return *this;} /** *

Name of the requested backup.

*/ inline BackupDetails& WithBackupName(Aws::String&& value) { SetBackupName(std::move(value)); return *this;} /** *

Name of the requested backup.

*/ inline BackupDetails& WithBackupName(const char* value) { SetBackupName(value); return *this;} /** *

Size of the backup in bytes. DynamoDB updates this value approximately every * six hours. Recent changes might not be reflected in this value.

*/ inline long long GetBackupSizeBytes() const{ return m_backupSizeBytes; } /** *

Size of the backup in bytes. DynamoDB updates this value approximately every * six hours. Recent changes might not be reflected in this value.

*/ inline bool BackupSizeBytesHasBeenSet() const { return m_backupSizeBytesHasBeenSet; } /** *

Size of the backup in bytes. DynamoDB updates this value approximately every * six hours. Recent changes might not be reflected in this value.

*/ inline void SetBackupSizeBytes(long long value) { m_backupSizeBytesHasBeenSet = true; m_backupSizeBytes = value; } /** *

Size of the backup in bytes. DynamoDB updates this value approximately every * six hours. Recent changes might not be reflected in this value.

*/ inline BackupDetails& WithBackupSizeBytes(long long value) { SetBackupSizeBytes(value); return *this;} /** *

Backup can be in one of the following states: CREATING, ACTIVE, DELETED.

*/ inline const BackupStatus& GetBackupStatus() const{ return m_backupStatus; } /** *

Backup can be in one of the following states: CREATING, ACTIVE, DELETED.

*/ inline bool BackupStatusHasBeenSet() const { return m_backupStatusHasBeenSet; } /** *

Backup can be in one of the following states: CREATING, ACTIVE, DELETED.

*/ inline void SetBackupStatus(const BackupStatus& value) { m_backupStatusHasBeenSet = true; m_backupStatus = value; } /** *

Backup can be in one of the following states: CREATING, ACTIVE, DELETED.

*/ inline void SetBackupStatus(BackupStatus&& value) { m_backupStatusHasBeenSet = true; m_backupStatus = std::move(value); } /** *

Backup can be in one of the following states: CREATING, ACTIVE, DELETED.

*/ inline BackupDetails& WithBackupStatus(const BackupStatus& value) { SetBackupStatus(value); return *this;} /** *

Backup can be in one of the following states: CREATING, ACTIVE, DELETED.

*/ inline BackupDetails& WithBackupStatus(BackupStatus&& value) { SetBackupStatus(std::move(value)); return *this;} /** *

BackupType:

  • USER - You create and manage these * using the on-demand backup feature.

  • SYSTEM - If * you delete a table with point-in-time recovery enabled, a SYSTEM * backup is automatically created and is retained for 35 days (at no additional * cost). System backups allow you to restore the deleted table to the state it was * in just before the point of deletion.

  • * AWS_BACKUP - On-demand backup created by you from Backup * service.

*/ inline const BackupType& GetBackupType() const{ return m_backupType; } /** *

BackupType:

  • USER - You create and manage these * using the on-demand backup feature.

  • SYSTEM - If * you delete a table with point-in-time recovery enabled, a SYSTEM * backup is automatically created and is retained for 35 days (at no additional * cost). System backups allow you to restore the deleted table to the state it was * in just before the point of deletion.

  • * AWS_BACKUP - On-demand backup created by you from Backup * service.

*/ inline bool BackupTypeHasBeenSet() const { return m_backupTypeHasBeenSet; } /** *

BackupType:

  • USER - You create and manage these * using the on-demand backup feature.

  • SYSTEM - If * you delete a table with point-in-time recovery enabled, a SYSTEM * backup is automatically created and is retained for 35 days (at no additional * cost). System backups allow you to restore the deleted table to the state it was * in just before the point of deletion.

  • * AWS_BACKUP - On-demand backup created by you from Backup * service.

*/ inline void SetBackupType(const BackupType& value) { m_backupTypeHasBeenSet = true; m_backupType = value; } /** *

BackupType:

  • USER - You create and manage these * using the on-demand backup feature.

  • SYSTEM - If * you delete a table with point-in-time recovery enabled, a SYSTEM * backup is automatically created and is retained for 35 days (at no additional * cost). System backups allow you to restore the deleted table to the state it was * in just before the point of deletion.

  • * AWS_BACKUP - On-demand backup created by you from Backup * service.

*/ inline void SetBackupType(BackupType&& value) { m_backupTypeHasBeenSet = true; m_backupType = std::move(value); } /** *

BackupType:

  • USER - You create and manage these * using the on-demand backup feature.

  • SYSTEM - If * you delete a table with point-in-time recovery enabled, a SYSTEM * backup is automatically created and is retained for 35 days (at no additional * cost). System backups allow you to restore the deleted table to the state it was * in just before the point of deletion.

  • * AWS_BACKUP - On-demand backup created by you from Backup * service.

*/ inline BackupDetails& WithBackupType(const BackupType& value) { SetBackupType(value); return *this;} /** *

BackupType:

  • USER - You create and manage these * using the on-demand backup feature.

  • SYSTEM - If * you delete a table with point-in-time recovery enabled, a SYSTEM * backup is automatically created and is retained for 35 days (at no additional * cost). System backups allow you to restore the deleted table to the state it was * in just before the point of deletion.

  • * AWS_BACKUP - On-demand backup created by you from Backup * service.

*/ inline BackupDetails& WithBackupType(BackupType&& value) { SetBackupType(std::move(value)); return *this;} /** *

Time at which the backup was created. This is the request time of the backup. *

*/ inline const Aws::Utils::DateTime& GetBackupCreationDateTime() const{ return m_backupCreationDateTime; } /** *

Time at which the backup was created. This is the request time of the backup. *

*/ inline bool BackupCreationDateTimeHasBeenSet() const { return m_backupCreationDateTimeHasBeenSet; } /** *

Time at which the backup was created. This is the request time of the backup. *

*/ inline void SetBackupCreationDateTime(const Aws::Utils::DateTime& value) { m_backupCreationDateTimeHasBeenSet = true; m_backupCreationDateTime = value; } /** *

Time at which the backup was created. This is the request time of the backup. *

*/ inline void SetBackupCreationDateTime(Aws::Utils::DateTime&& value) { m_backupCreationDateTimeHasBeenSet = true; m_backupCreationDateTime = std::move(value); } /** *

Time at which the backup was created. This is the request time of the backup. *

*/ inline BackupDetails& WithBackupCreationDateTime(const Aws::Utils::DateTime& value) { SetBackupCreationDateTime(value); return *this;} /** *

Time at which the backup was created. This is the request time of the backup. *

*/ inline BackupDetails& WithBackupCreationDateTime(Aws::Utils::DateTime&& value) { SetBackupCreationDateTime(std::move(value)); return *this;} /** *

Time at which the automatic on-demand backup created by DynamoDB will expire. * This SYSTEM on-demand backup expires automatically 35 days after * its creation.

*/ inline const Aws::Utils::DateTime& GetBackupExpiryDateTime() const{ return m_backupExpiryDateTime; } /** *

Time at which the automatic on-demand backup created by DynamoDB will expire. * This SYSTEM on-demand backup expires automatically 35 days after * its creation.

*/ inline bool BackupExpiryDateTimeHasBeenSet() const { return m_backupExpiryDateTimeHasBeenSet; } /** *

Time at which the automatic on-demand backup created by DynamoDB will expire. * This SYSTEM on-demand backup expires automatically 35 days after * its creation.

*/ inline void SetBackupExpiryDateTime(const Aws::Utils::DateTime& value) { m_backupExpiryDateTimeHasBeenSet = true; m_backupExpiryDateTime = value; } /** *

Time at which the automatic on-demand backup created by DynamoDB will expire. * This SYSTEM on-demand backup expires automatically 35 days after * its creation.

*/ inline void SetBackupExpiryDateTime(Aws::Utils::DateTime&& value) { m_backupExpiryDateTimeHasBeenSet = true; m_backupExpiryDateTime = std::move(value); } /** *

Time at which the automatic on-demand backup created by DynamoDB will expire. * This SYSTEM on-demand backup expires automatically 35 days after * its creation.

*/ inline BackupDetails& WithBackupExpiryDateTime(const Aws::Utils::DateTime& value) { SetBackupExpiryDateTime(value); return *this;} /** *

Time at which the automatic on-demand backup created by DynamoDB will expire. * This SYSTEM on-demand backup expires automatically 35 days after * its creation.

*/ inline BackupDetails& WithBackupExpiryDateTime(Aws::Utils::DateTime&& value) { SetBackupExpiryDateTime(std::move(value)); return *this;} private: Aws::String m_backupArn; bool m_backupArnHasBeenSet = false; Aws::String m_backupName; bool m_backupNameHasBeenSet = false; long long m_backupSizeBytes; bool m_backupSizeBytesHasBeenSet = false; BackupStatus m_backupStatus; bool m_backupStatusHasBeenSet = false; BackupType m_backupType; bool m_backupTypeHasBeenSet = false; Aws::Utils::DateTime m_backupCreationDateTime; bool m_backupCreationDateTimeHasBeenSet = false; Aws::Utils::DateTime m_backupExpiryDateTime; bool m_backupExpiryDateTimeHasBeenSet = false; }; } // namespace Model } // namespace DynamoDB } // namespace Aws