/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #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 features enabled on the table when the backup was * created. For example, LSIs, GSIs, streams, TTL.

See Also:

AWS * API Reference

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

Represents the LSI properties for the table when the backup was created. It * includes the IndexName, KeySchema and Projection for the LSIs on the table at * the time of backup.

*/ inline const Aws::Vector& GetLocalSecondaryIndexes() const{ return m_localSecondaryIndexes; } /** *

Represents the LSI properties for the table when the backup was created. It * includes the IndexName, KeySchema and Projection for the LSIs on the table at * the time of backup.

*/ inline bool LocalSecondaryIndexesHasBeenSet() const { return m_localSecondaryIndexesHasBeenSet; } /** *

Represents the LSI properties for the table when the backup was created. It * includes the IndexName, KeySchema and Projection for the LSIs on the table at * the time of backup.

*/ inline void SetLocalSecondaryIndexes(const Aws::Vector& value) { m_localSecondaryIndexesHasBeenSet = true; m_localSecondaryIndexes = value; } /** *

Represents the LSI properties for the table when the backup was created. It * includes the IndexName, KeySchema and Projection for the LSIs on the table at * the time of backup.

*/ inline void SetLocalSecondaryIndexes(Aws::Vector&& value) { m_localSecondaryIndexesHasBeenSet = true; m_localSecondaryIndexes = std::move(value); } /** *

Represents the LSI properties for the table when the backup was created. It * includes the IndexName, KeySchema and Projection for the LSIs on the table at * the time of backup.

*/ inline SourceTableFeatureDetails& WithLocalSecondaryIndexes(const Aws::Vector& value) { SetLocalSecondaryIndexes(value); return *this;} /** *

Represents the LSI properties for the table when the backup was created. It * includes the IndexName, KeySchema and Projection for the LSIs on the table at * the time of backup.

*/ inline SourceTableFeatureDetails& WithLocalSecondaryIndexes(Aws::Vector&& value) { SetLocalSecondaryIndexes(std::move(value)); return *this;} /** *

Represents the LSI properties for the table when the backup was created. It * includes the IndexName, KeySchema and Projection for the LSIs on the table at * the time of backup.

*/ inline SourceTableFeatureDetails& AddLocalSecondaryIndexes(const LocalSecondaryIndexInfo& value) { m_localSecondaryIndexesHasBeenSet = true; m_localSecondaryIndexes.push_back(value); return *this; } /** *

Represents the LSI properties for the table when the backup was created. It * includes the IndexName, KeySchema and Projection for the LSIs on the table at * the time of backup.

*/ inline SourceTableFeatureDetails& AddLocalSecondaryIndexes(LocalSecondaryIndexInfo&& value) { m_localSecondaryIndexesHasBeenSet = true; m_localSecondaryIndexes.push_back(std::move(value)); return *this; } /** *

Represents the GSI properties for the table when the backup was created. It * includes the IndexName, KeySchema, Projection, and ProvisionedThroughput for the * GSIs on the table at the time of backup.

*/ inline const Aws::Vector& GetGlobalSecondaryIndexes() const{ return m_globalSecondaryIndexes; } /** *

Represents the GSI properties for the table when the backup was created. It * includes the IndexName, KeySchema, Projection, and ProvisionedThroughput for the * GSIs on the table at the time of backup.

*/ inline bool GlobalSecondaryIndexesHasBeenSet() const { return m_globalSecondaryIndexesHasBeenSet; } /** *

Represents the GSI properties for the table when the backup was created. It * includes the IndexName, KeySchema, Projection, and ProvisionedThroughput for the * GSIs on the table at the time of backup.

*/ inline void SetGlobalSecondaryIndexes(const Aws::Vector& value) { m_globalSecondaryIndexesHasBeenSet = true; m_globalSecondaryIndexes = value; } /** *

Represents the GSI properties for the table when the backup was created. It * includes the IndexName, KeySchema, Projection, and ProvisionedThroughput for the * GSIs on the table at the time of backup.

*/ inline void SetGlobalSecondaryIndexes(Aws::Vector&& value) { m_globalSecondaryIndexesHasBeenSet = true; m_globalSecondaryIndexes = std::move(value); } /** *

Represents the GSI properties for the table when the backup was created. It * includes the IndexName, KeySchema, Projection, and ProvisionedThroughput for the * GSIs on the table at the time of backup.

*/ inline SourceTableFeatureDetails& WithGlobalSecondaryIndexes(const Aws::Vector& value) { SetGlobalSecondaryIndexes(value); return *this;} /** *

Represents the GSI properties for the table when the backup was created. It * includes the IndexName, KeySchema, Projection, and ProvisionedThroughput for the * GSIs on the table at the time of backup.

*/ inline SourceTableFeatureDetails& WithGlobalSecondaryIndexes(Aws::Vector&& value) { SetGlobalSecondaryIndexes(std::move(value)); return *this;} /** *

Represents the GSI properties for the table when the backup was created. It * includes the IndexName, KeySchema, Projection, and ProvisionedThroughput for the * GSIs on the table at the time of backup.

*/ inline SourceTableFeatureDetails& AddGlobalSecondaryIndexes(const GlobalSecondaryIndexInfo& value) { m_globalSecondaryIndexesHasBeenSet = true; m_globalSecondaryIndexes.push_back(value); return *this; } /** *

Represents the GSI properties for the table when the backup was created. It * includes the IndexName, KeySchema, Projection, and ProvisionedThroughput for the * GSIs on the table at the time of backup.

*/ inline SourceTableFeatureDetails& AddGlobalSecondaryIndexes(GlobalSecondaryIndexInfo&& value) { m_globalSecondaryIndexesHasBeenSet = true; m_globalSecondaryIndexes.push_back(std::move(value)); return *this; } /** *

Stream settings on the table when the backup was created.

*/ inline const StreamSpecification& GetStreamDescription() const{ return m_streamDescription; } /** *

Stream settings on the table when the backup was created.

*/ inline bool StreamDescriptionHasBeenSet() const { return m_streamDescriptionHasBeenSet; } /** *

Stream settings on the table when the backup was created.

*/ inline void SetStreamDescription(const StreamSpecification& value) { m_streamDescriptionHasBeenSet = true; m_streamDescription = value; } /** *

Stream settings on the table when the backup was created.

*/ inline void SetStreamDescription(StreamSpecification&& value) { m_streamDescriptionHasBeenSet = true; m_streamDescription = std::move(value); } /** *

Stream settings on the table when the backup was created.

*/ inline SourceTableFeatureDetails& WithStreamDescription(const StreamSpecification& value) { SetStreamDescription(value); return *this;} /** *

Stream settings on the table when the backup was created.

*/ inline SourceTableFeatureDetails& WithStreamDescription(StreamSpecification&& value) { SetStreamDescription(std::move(value)); return *this;} /** *

Time to Live settings on the table when the backup was created.

*/ inline const TimeToLiveDescription& GetTimeToLiveDescription() const{ return m_timeToLiveDescription; } /** *

Time to Live settings on the table when the backup was created.

*/ inline bool TimeToLiveDescriptionHasBeenSet() const { return m_timeToLiveDescriptionHasBeenSet; } /** *

Time to Live settings on the table when the backup was created.

*/ inline void SetTimeToLiveDescription(const TimeToLiveDescription& value) { m_timeToLiveDescriptionHasBeenSet = true; m_timeToLiveDescription = value; } /** *

Time to Live settings on the table when the backup was created.

*/ inline void SetTimeToLiveDescription(TimeToLiveDescription&& value) { m_timeToLiveDescriptionHasBeenSet = true; m_timeToLiveDescription = std::move(value); } /** *

Time to Live settings on the table when the backup was created.

*/ inline SourceTableFeatureDetails& WithTimeToLiveDescription(const TimeToLiveDescription& value) { SetTimeToLiveDescription(value); return *this;} /** *

Time to Live settings on the table when the backup was created.

*/ inline SourceTableFeatureDetails& WithTimeToLiveDescription(TimeToLiveDescription&& value) { SetTimeToLiveDescription(std::move(value)); return *this;} /** *

The description of the server-side encryption status on the table when the * backup was created.

*/ inline const SSEDescription& GetSSEDescription() const{ return m_sSEDescription; } /** *

The description of the server-side encryption status on the table when the * backup was created.

*/ inline bool SSEDescriptionHasBeenSet() const { return m_sSEDescriptionHasBeenSet; } /** *

The description of the server-side encryption status on the table when the * backup was created.

*/ inline void SetSSEDescription(const SSEDescription& value) { m_sSEDescriptionHasBeenSet = true; m_sSEDescription = value; } /** *

The description of the server-side encryption status on the table when the * backup was created.

*/ inline void SetSSEDescription(SSEDescription&& value) { m_sSEDescriptionHasBeenSet = true; m_sSEDescription = std::move(value); } /** *

The description of the server-side encryption status on the table when the * backup was created.

*/ inline SourceTableFeatureDetails& WithSSEDescription(const SSEDescription& value) { SetSSEDescription(value); return *this;} /** *

The description of the server-side encryption status on the table when the * backup was created.

*/ inline SourceTableFeatureDetails& WithSSEDescription(SSEDescription&& value) { SetSSEDescription(std::move(value)); return *this;} private: Aws::Vector m_localSecondaryIndexes; bool m_localSecondaryIndexesHasBeenSet = false; Aws::Vector m_globalSecondaryIndexes; bool m_globalSecondaryIndexesHasBeenSet = false; StreamSpecification m_streamDescription; bool m_streamDescriptionHasBeenSet = false; TimeToLiveDescription m_timeToLiveDescription; bool m_timeToLiveDescriptionHasBeenSet = false; SSEDescription m_sSEDescription; bool m_sSEDescriptionHasBeenSet = false; }; } // namespace Model } // namespace DynamoDB } // namespace Aws