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

Represents the provisioned throughput settings for the table, consisting of * read and write capacity units, along with data about increases and * decreases.

See Also:

AWS * API Reference

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

The date and time of the last provisioned throughput increase for this * table.

*/ inline const Aws::Utils::DateTime& GetLastIncreaseDateTime() const{ return m_lastIncreaseDateTime; } /** *

The date and time of the last provisioned throughput increase for this * table.

*/ inline bool LastIncreaseDateTimeHasBeenSet() const { return m_lastIncreaseDateTimeHasBeenSet; } /** *

The date and time of the last provisioned throughput increase for this * table.

*/ inline void SetLastIncreaseDateTime(const Aws::Utils::DateTime& value) { m_lastIncreaseDateTimeHasBeenSet = true; m_lastIncreaseDateTime = value; } /** *

The date and time of the last provisioned throughput increase for this * table.

*/ inline void SetLastIncreaseDateTime(Aws::Utils::DateTime&& value) { m_lastIncreaseDateTimeHasBeenSet = true; m_lastIncreaseDateTime = std::move(value); } /** *

The date and time of the last provisioned throughput increase for this * table.

*/ inline ProvisionedThroughputDescription& WithLastIncreaseDateTime(const Aws::Utils::DateTime& value) { SetLastIncreaseDateTime(value); return *this;} /** *

The date and time of the last provisioned throughput increase for this * table.

*/ inline ProvisionedThroughputDescription& WithLastIncreaseDateTime(Aws::Utils::DateTime&& value) { SetLastIncreaseDateTime(std::move(value)); return *this;} /** *

The date and time of the last provisioned throughput decrease for this * table.

*/ inline const Aws::Utils::DateTime& GetLastDecreaseDateTime() const{ return m_lastDecreaseDateTime; } /** *

The date and time of the last provisioned throughput decrease for this * table.

*/ inline bool LastDecreaseDateTimeHasBeenSet() const { return m_lastDecreaseDateTimeHasBeenSet; } /** *

The date and time of the last provisioned throughput decrease for this * table.

*/ inline void SetLastDecreaseDateTime(const Aws::Utils::DateTime& value) { m_lastDecreaseDateTimeHasBeenSet = true; m_lastDecreaseDateTime = value; } /** *

The date and time of the last provisioned throughput decrease for this * table.

*/ inline void SetLastDecreaseDateTime(Aws::Utils::DateTime&& value) { m_lastDecreaseDateTimeHasBeenSet = true; m_lastDecreaseDateTime = std::move(value); } /** *

The date and time of the last provisioned throughput decrease for this * table.

*/ inline ProvisionedThroughputDescription& WithLastDecreaseDateTime(const Aws::Utils::DateTime& value) { SetLastDecreaseDateTime(value); return *this;} /** *

The date and time of the last provisioned throughput decrease for this * table.

*/ inline ProvisionedThroughputDescription& WithLastDecreaseDateTime(Aws::Utils::DateTime&& value) { SetLastDecreaseDateTime(std::move(value)); return *this;} /** *

The number of provisioned throughput decreases for this table during this UTC * calendar day. For current maximums on provisioned throughput decreases, see Service, * Account, and Table Quotas in the Amazon DynamoDB Developer Guide.

*/ inline long long GetNumberOfDecreasesToday() const{ return m_numberOfDecreasesToday; } /** *

The number of provisioned throughput decreases for this table during this UTC * calendar day. For current maximums on provisioned throughput decreases, see Service, * Account, and Table Quotas in the Amazon DynamoDB Developer Guide.

*/ inline bool NumberOfDecreasesTodayHasBeenSet() const { return m_numberOfDecreasesTodayHasBeenSet; } /** *

The number of provisioned throughput decreases for this table during this UTC * calendar day. For current maximums on provisioned throughput decreases, see Service, * Account, and Table Quotas in the Amazon DynamoDB Developer Guide.

*/ inline void SetNumberOfDecreasesToday(long long value) { m_numberOfDecreasesTodayHasBeenSet = true; m_numberOfDecreasesToday = value; } /** *

The number of provisioned throughput decreases for this table during this UTC * calendar day. For current maximums on provisioned throughput decreases, see Service, * Account, and Table Quotas in the Amazon DynamoDB Developer Guide.

*/ inline ProvisionedThroughputDescription& WithNumberOfDecreasesToday(long long value) { SetNumberOfDecreasesToday(value); return *this;} /** *

The maximum number of strongly consistent reads consumed per second before * DynamoDB returns a ThrottlingException. Eventually consistent reads * require less effort than strongly consistent reads, so a setting of 50 * ReadCapacityUnits per second provides 100 eventually consistent * ReadCapacityUnits per second.

*/ inline long long GetReadCapacityUnits() const{ return m_readCapacityUnits; } /** *

The maximum number of strongly consistent reads consumed per second before * DynamoDB returns a ThrottlingException. Eventually consistent reads * require less effort than strongly consistent reads, so a setting of 50 * ReadCapacityUnits per second provides 100 eventually consistent * ReadCapacityUnits per second.

*/ inline bool ReadCapacityUnitsHasBeenSet() const { return m_readCapacityUnitsHasBeenSet; } /** *

The maximum number of strongly consistent reads consumed per second before * DynamoDB returns a ThrottlingException. Eventually consistent reads * require less effort than strongly consistent reads, so a setting of 50 * ReadCapacityUnits per second provides 100 eventually consistent * ReadCapacityUnits per second.

*/ inline void SetReadCapacityUnits(long long value) { m_readCapacityUnitsHasBeenSet = true; m_readCapacityUnits = value; } /** *

The maximum number of strongly consistent reads consumed per second before * DynamoDB returns a ThrottlingException. Eventually consistent reads * require less effort than strongly consistent reads, so a setting of 50 * ReadCapacityUnits per second provides 100 eventually consistent * ReadCapacityUnits per second.

*/ inline ProvisionedThroughputDescription& WithReadCapacityUnits(long long value) { SetReadCapacityUnits(value); return *this;} /** *

The maximum number of writes consumed per second before DynamoDB returns a * ThrottlingException.

*/ inline long long GetWriteCapacityUnits() const{ return m_writeCapacityUnits; } /** *

The maximum number of writes consumed per second before DynamoDB returns a * ThrottlingException.

*/ inline bool WriteCapacityUnitsHasBeenSet() const { return m_writeCapacityUnitsHasBeenSet; } /** *

The maximum number of writes consumed per second before DynamoDB returns a * ThrottlingException.

*/ inline void SetWriteCapacityUnits(long long value) { m_writeCapacityUnitsHasBeenSet = true; m_writeCapacityUnits = value; } /** *

The maximum number of writes consumed per second before DynamoDB returns a * ThrottlingException.

*/ inline ProvisionedThroughputDescription& WithWriteCapacityUnits(long long value) { SetWriteCapacityUnits(value); return *this;} private: Aws::Utils::DateTime m_lastIncreaseDateTime; bool m_lastIncreaseDateTimeHasBeenSet = false; Aws::Utils::DateTime m_lastDecreaseDateTime; bool m_lastDecreaseDateTimeHasBeenSet = false; long long m_numberOfDecreasesToday; bool m_numberOfDecreasesTodayHasBeenSet = false; long long m_readCapacityUnits; bool m_readCapacityUnitsHasBeenSet = false; long long m_writeCapacityUnits; bool m_writeCapacityUnitsHasBeenSet = false; }; } // namespace Model } // namespace DynamoDB } // namespace Aws