/** * 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 { /** *

Contains the details for the read/write capacity mode. This page talks about * PROVISIONED and PAY_PER_REQUEST billing modes. For * more information about these modes, see Read/write * capacity mode.

You may need to switch to on-demand mode at * least once in order to return a BillingModeSummary response.

*

See Also:

AWS * API Reference

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

Controls how you are charged for read and write throughput and how you manage * capacity. This setting can be changed later.

  • * PROVISIONED - Sets the read/write capacity mode to * PROVISIONED. We recommend using PROVISIONED for * predictable workloads.

  • PAY_PER_REQUEST - Sets * the read/write capacity mode to PAY_PER_REQUEST. We recommend using * PAY_PER_REQUEST for unpredictable workloads.

*/ inline const BillingMode& GetBillingMode() const{ return m_billingMode; } /** *

Controls how you are charged for read and write throughput and how you manage * capacity. This setting can be changed later.

  • * PROVISIONED - Sets the read/write capacity mode to * PROVISIONED. We recommend using PROVISIONED for * predictable workloads.

  • PAY_PER_REQUEST - Sets * the read/write capacity mode to PAY_PER_REQUEST. We recommend using * PAY_PER_REQUEST for unpredictable workloads.

*/ inline bool BillingModeHasBeenSet() const { return m_billingModeHasBeenSet; } /** *

Controls how you are charged for read and write throughput and how you manage * capacity. This setting can be changed later.

  • * PROVISIONED - Sets the read/write capacity mode to * PROVISIONED. We recommend using PROVISIONED for * predictable workloads.

  • PAY_PER_REQUEST - Sets * the read/write capacity mode to PAY_PER_REQUEST. We recommend using * PAY_PER_REQUEST for unpredictable workloads.

*/ inline void SetBillingMode(const BillingMode& value) { m_billingModeHasBeenSet = true; m_billingMode = value; } /** *

Controls how you are charged for read and write throughput and how you manage * capacity. This setting can be changed later.

  • * PROVISIONED - Sets the read/write capacity mode to * PROVISIONED. We recommend using PROVISIONED for * predictable workloads.

  • PAY_PER_REQUEST - Sets * the read/write capacity mode to PAY_PER_REQUEST. We recommend using * PAY_PER_REQUEST for unpredictable workloads.

*/ inline void SetBillingMode(BillingMode&& value) { m_billingModeHasBeenSet = true; m_billingMode = std::move(value); } /** *

Controls how you are charged for read and write throughput and how you manage * capacity. This setting can be changed later.

  • * PROVISIONED - Sets the read/write capacity mode to * PROVISIONED. We recommend using PROVISIONED for * predictable workloads.

  • PAY_PER_REQUEST - Sets * the read/write capacity mode to PAY_PER_REQUEST. We recommend using * PAY_PER_REQUEST for unpredictable workloads.

*/ inline BillingModeSummary& WithBillingMode(const BillingMode& value) { SetBillingMode(value); return *this;} /** *

Controls how you are charged for read and write throughput and how you manage * capacity. This setting can be changed later.

  • * PROVISIONED - Sets the read/write capacity mode to * PROVISIONED. We recommend using PROVISIONED for * predictable workloads.

  • PAY_PER_REQUEST - Sets * the read/write capacity mode to PAY_PER_REQUEST. We recommend using * PAY_PER_REQUEST for unpredictable workloads.

*/ inline BillingModeSummary& WithBillingMode(BillingMode&& value) { SetBillingMode(std::move(value)); return *this;} /** *

Represents the time when PAY_PER_REQUEST was last set as the * read/write capacity mode.

*/ inline const Aws::Utils::DateTime& GetLastUpdateToPayPerRequestDateTime() const{ return m_lastUpdateToPayPerRequestDateTime; } /** *

Represents the time when PAY_PER_REQUEST was last set as the * read/write capacity mode.

*/ inline bool LastUpdateToPayPerRequestDateTimeHasBeenSet() const { return m_lastUpdateToPayPerRequestDateTimeHasBeenSet; } /** *

Represents the time when PAY_PER_REQUEST was last set as the * read/write capacity mode.

*/ inline void SetLastUpdateToPayPerRequestDateTime(const Aws::Utils::DateTime& value) { m_lastUpdateToPayPerRequestDateTimeHasBeenSet = true; m_lastUpdateToPayPerRequestDateTime = value; } /** *

Represents the time when PAY_PER_REQUEST was last set as the * read/write capacity mode.

*/ inline void SetLastUpdateToPayPerRequestDateTime(Aws::Utils::DateTime&& value) { m_lastUpdateToPayPerRequestDateTimeHasBeenSet = true; m_lastUpdateToPayPerRequestDateTime = std::move(value); } /** *

Represents the time when PAY_PER_REQUEST was last set as the * read/write capacity mode.

*/ inline BillingModeSummary& WithLastUpdateToPayPerRequestDateTime(const Aws::Utils::DateTime& value) { SetLastUpdateToPayPerRequestDateTime(value); return *this;} /** *

Represents the time when PAY_PER_REQUEST was last set as the * read/write capacity mode.

*/ inline BillingModeSummary& WithLastUpdateToPayPerRequestDateTime(Aws::Utils::DateTime&& value) { SetLastUpdateToPayPerRequestDateTime(std::move(value)); return *this;} private: BillingMode m_billingMode; bool m_billingModeHasBeenSet = false; Aws::Utils::DateTime m_lastUpdateToPayPerRequestDateTime; bool m_lastUpdateToPayPerRequestDateTimeHasBeenSet = false; }; } // namespace Model } // namespace DynamoDB } // namespace Aws