/** * 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 #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace DynamoDB { namespace Model { /** *

Represents the properties of a replica.

See Also:

AWS * API Reference

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

The Region name of the replica.

*/ inline const Aws::String& GetRegionName() const{ return m_regionName; } /** *

The Region name of the replica.

*/ inline bool RegionNameHasBeenSet() const { return m_regionNameHasBeenSet; } /** *

The Region name of the replica.

*/ inline void SetRegionName(const Aws::String& value) { m_regionNameHasBeenSet = true; m_regionName = value; } /** *

The Region name of the replica.

*/ inline void SetRegionName(Aws::String&& value) { m_regionNameHasBeenSet = true; m_regionName = std::move(value); } /** *

The Region name of the replica.

*/ inline void SetRegionName(const char* value) { m_regionNameHasBeenSet = true; m_regionName.assign(value); } /** *

The Region name of the replica.

*/ inline ReplicaSettingsDescription& WithRegionName(const Aws::String& value) { SetRegionName(value); return *this;} /** *

The Region name of the replica.

*/ inline ReplicaSettingsDescription& WithRegionName(Aws::String&& value) { SetRegionName(std::move(value)); return *this;} /** *

The Region name of the replica.

*/ inline ReplicaSettingsDescription& WithRegionName(const char* value) { SetRegionName(value); return *this;} /** *

The current state of the Region:

  • CREATING - * The Region is being created.

  • UPDATING - The * Region is being updated.

  • DELETING - The Region * is being deleted.

  • ACTIVE - The Region is ready * for use.

*/ inline const ReplicaStatus& GetReplicaStatus() const{ return m_replicaStatus; } /** *

The current state of the Region:

  • CREATING - * The Region is being created.

  • UPDATING - The * Region is being updated.

  • DELETING - The Region * is being deleted.

  • ACTIVE - The Region is ready * for use.

*/ inline bool ReplicaStatusHasBeenSet() const { return m_replicaStatusHasBeenSet; } /** *

The current state of the Region:

  • CREATING - * The Region is being created.

  • UPDATING - The * Region is being updated.

  • DELETING - The Region * is being deleted.

  • ACTIVE - The Region is ready * for use.

*/ inline void SetReplicaStatus(const ReplicaStatus& value) { m_replicaStatusHasBeenSet = true; m_replicaStatus = value; } /** *

The current state of the Region:

  • CREATING - * The Region is being created.

  • UPDATING - The * Region is being updated.

  • DELETING - The Region * is being deleted.

  • ACTIVE - The Region is ready * for use.

*/ inline void SetReplicaStatus(ReplicaStatus&& value) { m_replicaStatusHasBeenSet = true; m_replicaStatus = std::move(value); } /** *

The current state of the Region:

  • CREATING - * The Region is being created.

  • UPDATING - The * Region is being updated.

  • DELETING - The Region * is being deleted.

  • ACTIVE - The Region is ready * for use.

*/ inline ReplicaSettingsDescription& WithReplicaStatus(const ReplicaStatus& value) { SetReplicaStatus(value); return *this;} /** *

The current state of the Region:

  • CREATING - * The Region is being created.

  • UPDATING - The * Region is being updated.

  • DELETING - The Region * is being deleted.

  • ACTIVE - The Region is ready * for use.

*/ inline ReplicaSettingsDescription& WithReplicaStatus(ReplicaStatus&& value) { SetReplicaStatus(std::move(value)); return *this;} /** *

The read/write capacity mode of the replica.

*/ inline const BillingModeSummary& GetReplicaBillingModeSummary() const{ return m_replicaBillingModeSummary; } /** *

The read/write capacity mode of the replica.

*/ inline bool ReplicaBillingModeSummaryHasBeenSet() const { return m_replicaBillingModeSummaryHasBeenSet; } /** *

The read/write capacity mode of the replica.

*/ inline void SetReplicaBillingModeSummary(const BillingModeSummary& value) { m_replicaBillingModeSummaryHasBeenSet = true; m_replicaBillingModeSummary = value; } /** *

The read/write capacity mode of the replica.

*/ inline void SetReplicaBillingModeSummary(BillingModeSummary&& value) { m_replicaBillingModeSummaryHasBeenSet = true; m_replicaBillingModeSummary = std::move(value); } /** *

The read/write capacity mode of the replica.

*/ inline ReplicaSettingsDescription& WithReplicaBillingModeSummary(const BillingModeSummary& value) { SetReplicaBillingModeSummary(value); return *this;} /** *

The read/write capacity mode of the replica.

*/ inline ReplicaSettingsDescription& WithReplicaBillingModeSummary(BillingModeSummary&& value) { SetReplicaBillingModeSummary(std::move(value)); return *this;} /** *

The maximum number of strongly consistent reads consumed per second before * DynamoDB returns a ThrottlingException. For more information, see * Specifying * Read and Write Requirements in the Amazon DynamoDB Developer Guide. *

*/ inline long long GetReplicaProvisionedReadCapacityUnits() const{ return m_replicaProvisionedReadCapacityUnits; } /** *

The maximum number of strongly consistent reads consumed per second before * DynamoDB returns a ThrottlingException. For more information, see * Specifying * Read and Write Requirements in the Amazon DynamoDB Developer Guide. *

*/ inline bool ReplicaProvisionedReadCapacityUnitsHasBeenSet() const { return m_replicaProvisionedReadCapacityUnitsHasBeenSet; } /** *

The maximum number of strongly consistent reads consumed per second before * DynamoDB returns a ThrottlingException. For more information, see * Specifying * Read and Write Requirements in the Amazon DynamoDB Developer Guide. *

*/ inline void SetReplicaProvisionedReadCapacityUnits(long long value) { m_replicaProvisionedReadCapacityUnitsHasBeenSet = true; m_replicaProvisionedReadCapacityUnits = value; } /** *

The maximum number of strongly consistent reads consumed per second before * DynamoDB returns a ThrottlingException. For more information, see * Specifying * Read and Write Requirements in the Amazon DynamoDB Developer Guide. *

*/ inline ReplicaSettingsDescription& WithReplicaProvisionedReadCapacityUnits(long long value) { SetReplicaProvisionedReadCapacityUnits(value); return *this;} /** *

Auto scaling settings for a global table replica's read capacity units.

*/ inline const AutoScalingSettingsDescription& GetReplicaProvisionedReadCapacityAutoScalingSettings() const{ return m_replicaProvisionedReadCapacityAutoScalingSettings; } /** *

Auto scaling settings for a global table replica's read capacity units.

*/ inline bool ReplicaProvisionedReadCapacityAutoScalingSettingsHasBeenSet() const { return m_replicaProvisionedReadCapacityAutoScalingSettingsHasBeenSet; } /** *

Auto scaling settings for a global table replica's read capacity units.

*/ inline void SetReplicaProvisionedReadCapacityAutoScalingSettings(const AutoScalingSettingsDescription& value) { m_replicaProvisionedReadCapacityAutoScalingSettingsHasBeenSet = true; m_replicaProvisionedReadCapacityAutoScalingSettings = value; } /** *

Auto scaling settings for a global table replica's read capacity units.

*/ inline void SetReplicaProvisionedReadCapacityAutoScalingSettings(AutoScalingSettingsDescription&& value) { m_replicaProvisionedReadCapacityAutoScalingSettingsHasBeenSet = true; m_replicaProvisionedReadCapacityAutoScalingSettings = std::move(value); } /** *

Auto scaling settings for a global table replica's read capacity units.

*/ inline ReplicaSettingsDescription& WithReplicaProvisionedReadCapacityAutoScalingSettings(const AutoScalingSettingsDescription& value) { SetReplicaProvisionedReadCapacityAutoScalingSettings(value); return *this;} /** *

Auto scaling settings for a global table replica's read capacity units.

*/ inline ReplicaSettingsDescription& WithReplicaProvisionedReadCapacityAutoScalingSettings(AutoScalingSettingsDescription&& value) { SetReplicaProvisionedReadCapacityAutoScalingSettings(std::move(value)); return *this;} /** *

The maximum number of writes consumed per second before DynamoDB returns a * ThrottlingException. For more information, see Specifying * Read and Write Requirements in the Amazon DynamoDB Developer * Guide.

*/ inline long long GetReplicaProvisionedWriteCapacityUnits() const{ return m_replicaProvisionedWriteCapacityUnits; } /** *

The maximum number of writes consumed per second before DynamoDB returns a * ThrottlingException. For more information, see Specifying * Read and Write Requirements in the Amazon DynamoDB Developer * Guide.

*/ inline bool ReplicaProvisionedWriteCapacityUnitsHasBeenSet() const { return m_replicaProvisionedWriteCapacityUnitsHasBeenSet; } /** *

The maximum number of writes consumed per second before DynamoDB returns a * ThrottlingException. For more information, see Specifying * Read and Write Requirements in the Amazon DynamoDB Developer * Guide.

*/ inline void SetReplicaProvisionedWriteCapacityUnits(long long value) { m_replicaProvisionedWriteCapacityUnitsHasBeenSet = true; m_replicaProvisionedWriteCapacityUnits = value; } /** *

The maximum number of writes consumed per second before DynamoDB returns a * ThrottlingException. For more information, see Specifying * Read and Write Requirements in the Amazon DynamoDB Developer * Guide.

*/ inline ReplicaSettingsDescription& WithReplicaProvisionedWriteCapacityUnits(long long value) { SetReplicaProvisionedWriteCapacityUnits(value); return *this;} /** *

Auto scaling settings for a global table replica's write capacity units.

*/ inline const AutoScalingSettingsDescription& GetReplicaProvisionedWriteCapacityAutoScalingSettings() const{ return m_replicaProvisionedWriteCapacityAutoScalingSettings; } /** *

Auto scaling settings for a global table replica's write capacity units.

*/ inline bool ReplicaProvisionedWriteCapacityAutoScalingSettingsHasBeenSet() const { return m_replicaProvisionedWriteCapacityAutoScalingSettingsHasBeenSet; } /** *

Auto scaling settings for a global table replica's write capacity units.

*/ inline void SetReplicaProvisionedWriteCapacityAutoScalingSettings(const AutoScalingSettingsDescription& value) { m_replicaProvisionedWriteCapacityAutoScalingSettingsHasBeenSet = true; m_replicaProvisionedWriteCapacityAutoScalingSettings = value; } /** *

Auto scaling settings for a global table replica's write capacity units.

*/ inline void SetReplicaProvisionedWriteCapacityAutoScalingSettings(AutoScalingSettingsDescription&& value) { m_replicaProvisionedWriteCapacityAutoScalingSettingsHasBeenSet = true; m_replicaProvisionedWriteCapacityAutoScalingSettings = std::move(value); } /** *

Auto scaling settings for a global table replica's write capacity units.

*/ inline ReplicaSettingsDescription& WithReplicaProvisionedWriteCapacityAutoScalingSettings(const AutoScalingSettingsDescription& value) { SetReplicaProvisionedWriteCapacityAutoScalingSettings(value); return *this;} /** *

Auto scaling settings for a global table replica's write capacity units.

*/ inline ReplicaSettingsDescription& WithReplicaProvisionedWriteCapacityAutoScalingSettings(AutoScalingSettingsDescription&& value) { SetReplicaProvisionedWriteCapacityAutoScalingSettings(std::move(value)); return *this;} /** *

Replica global secondary index settings for the global table.

*/ inline const Aws::Vector& GetReplicaGlobalSecondaryIndexSettings() const{ return m_replicaGlobalSecondaryIndexSettings; } /** *

Replica global secondary index settings for the global table.

*/ inline bool ReplicaGlobalSecondaryIndexSettingsHasBeenSet() const { return m_replicaGlobalSecondaryIndexSettingsHasBeenSet; } /** *

Replica global secondary index settings for the global table.

*/ inline void SetReplicaGlobalSecondaryIndexSettings(const Aws::Vector& value) { m_replicaGlobalSecondaryIndexSettingsHasBeenSet = true; m_replicaGlobalSecondaryIndexSettings = value; } /** *

Replica global secondary index settings for the global table.

*/ inline void SetReplicaGlobalSecondaryIndexSettings(Aws::Vector&& value) { m_replicaGlobalSecondaryIndexSettingsHasBeenSet = true; m_replicaGlobalSecondaryIndexSettings = std::move(value); } /** *

Replica global secondary index settings for the global table.

*/ inline ReplicaSettingsDescription& WithReplicaGlobalSecondaryIndexSettings(const Aws::Vector& value) { SetReplicaGlobalSecondaryIndexSettings(value); return *this;} /** *

Replica global secondary index settings for the global table.

*/ inline ReplicaSettingsDescription& WithReplicaGlobalSecondaryIndexSettings(Aws::Vector&& value) { SetReplicaGlobalSecondaryIndexSettings(std::move(value)); return *this;} /** *

Replica global secondary index settings for the global table.

*/ inline ReplicaSettingsDescription& AddReplicaGlobalSecondaryIndexSettings(const ReplicaGlobalSecondaryIndexSettingsDescription& value) { m_replicaGlobalSecondaryIndexSettingsHasBeenSet = true; m_replicaGlobalSecondaryIndexSettings.push_back(value); return *this; } /** *

Replica global secondary index settings for the global table.

*/ inline ReplicaSettingsDescription& AddReplicaGlobalSecondaryIndexSettings(ReplicaGlobalSecondaryIndexSettingsDescription&& value) { m_replicaGlobalSecondaryIndexSettingsHasBeenSet = true; m_replicaGlobalSecondaryIndexSettings.push_back(std::move(value)); return *this; } inline const TableClassSummary& GetReplicaTableClassSummary() const{ return m_replicaTableClassSummary; } inline bool ReplicaTableClassSummaryHasBeenSet() const { return m_replicaTableClassSummaryHasBeenSet; } inline void SetReplicaTableClassSummary(const TableClassSummary& value) { m_replicaTableClassSummaryHasBeenSet = true; m_replicaTableClassSummary = value; } inline void SetReplicaTableClassSummary(TableClassSummary&& value) { m_replicaTableClassSummaryHasBeenSet = true; m_replicaTableClassSummary = std::move(value); } inline ReplicaSettingsDescription& WithReplicaTableClassSummary(const TableClassSummary& value) { SetReplicaTableClassSummary(value); return *this;} inline ReplicaSettingsDescription& WithReplicaTableClassSummary(TableClassSummary&& value) { SetReplicaTableClassSummary(std::move(value)); return *this;} private: Aws::String m_regionName; bool m_regionNameHasBeenSet = false; ReplicaStatus m_replicaStatus; bool m_replicaStatusHasBeenSet = false; BillingModeSummary m_replicaBillingModeSummary; bool m_replicaBillingModeSummaryHasBeenSet = false; long long m_replicaProvisionedReadCapacityUnits; bool m_replicaProvisionedReadCapacityUnitsHasBeenSet = false; AutoScalingSettingsDescription m_replicaProvisionedReadCapacityAutoScalingSettings; bool m_replicaProvisionedReadCapacityAutoScalingSettingsHasBeenSet = false; long long m_replicaProvisionedWriteCapacityUnits; bool m_replicaProvisionedWriteCapacityUnitsHasBeenSet = false; AutoScalingSettingsDescription m_replicaProvisionedWriteCapacityAutoScalingSettings; bool m_replicaProvisionedWriteCapacityAutoScalingSettingsHasBeenSet = false; Aws::Vector m_replicaGlobalSecondaryIndexSettings; bool m_replicaGlobalSecondaryIndexSettingsHasBeenSet = false; TableClassSummary m_replicaTableClassSummary; bool m_replicaTableClassSummaryHasBeenSet = false; }; } // namespace Model } // namespace DynamoDB } // namespace Aws