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

Represents the settings for a global table in a Region that will be * modified.

See Also:

AWS * API Reference

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

The Region of the replica to be added.

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

The Region of the replica to be added.

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

The Region of the replica to be added.

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

The Region of the replica to be added.

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

The Region of the replica to be added.

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

The Region of the replica to be added.

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

The Region of the replica to be added.

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

The Region of the replica to be added.

*/ inline ReplicaSettingsUpdate& WithRegionName(const char* value) { SetRegionName(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 ReplicaSettingsUpdate& WithReplicaProvisionedReadCapacityUnits(long long value) { SetReplicaProvisionedReadCapacityUnits(value); return *this;} /** *

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

*/ inline const AutoScalingSettingsUpdate& GetReplicaProvisionedReadCapacityAutoScalingSettingsUpdate() const{ return m_replicaProvisionedReadCapacityAutoScalingSettingsUpdate; } /** *

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

*/ inline bool ReplicaProvisionedReadCapacityAutoScalingSettingsUpdateHasBeenSet() const { return m_replicaProvisionedReadCapacityAutoScalingSettingsUpdateHasBeenSet; } /** *

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

*/ inline void SetReplicaProvisionedReadCapacityAutoScalingSettingsUpdate(const AutoScalingSettingsUpdate& value) { m_replicaProvisionedReadCapacityAutoScalingSettingsUpdateHasBeenSet = true; m_replicaProvisionedReadCapacityAutoScalingSettingsUpdate = value; } /** *

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

*/ inline void SetReplicaProvisionedReadCapacityAutoScalingSettingsUpdate(AutoScalingSettingsUpdate&& value) { m_replicaProvisionedReadCapacityAutoScalingSettingsUpdateHasBeenSet = true; m_replicaProvisionedReadCapacityAutoScalingSettingsUpdate = std::move(value); } /** *

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

*/ inline ReplicaSettingsUpdate& WithReplicaProvisionedReadCapacityAutoScalingSettingsUpdate(const AutoScalingSettingsUpdate& value) { SetReplicaProvisionedReadCapacityAutoScalingSettingsUpdate(value); return *this;} /** *

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

*/ inline ReplicaSettingsUpdate& WithReplicaProvisionedReadCapacityAutoScalingSettingsUpdate(AutoScalingSettingsUpdate&& value) { SetReplicaProvisionedReadCapacityAutoScalingSettingsUpdate(std::move(value)); return *this;} /** *

Represents the settings of a global secondary index for a global table that * will be modified.

*/ inline const Aws::Vector& GetReplicaGlobalSecondaryIndexSettingsUpdate() const{ return m_replicaGlobalSecondaryIndexSettingsUpdate; } /** *

Represents the settings of a global secondary index for a global table that * will be modified.

*/ inline bool ReplicaGlobalSecondaryIndexSettingsUpdateHasBeenSet() const { return m_replicaGlobalSecondaryIndexSettingsUpdateHasBeenSet; } /** *

Represents the settings of a global secondary index for a global table that * will be modified.

*/ inline void SetReplicaGlobalSecondaryIndexSettingsUpdate(const Aws::Vector& value) { m_replicaGlobalSecondaryIndexSettingsUpdateHasBeenSet = true; m_replicaGlobalSecondaryIndexSettingsUpdate = value; } /** *

Represents the settings of a global secondary index for a global table that * will be modified.

*/ inline void SetReplicaGlobalSecondaryIndexSettingsUpdate(Aws::Vector&& value) { m_replicaGlobalSecondaryIndexSettingsUpdateHasBeenSet = true; m_replicaGlobalSecondaryIndexSettingsUpdate = std::move(value); } /** *

Represents the settings of a global secondary index for a global table that * will be modified.

*/ inline ReplicaSettingsUpdate& WithReplicaGlobalSecondaryIndexSettingsUpdate(const Aws::Vector& value) { SetReplicaGlobalSecondaryIndexSettingsUpdate(value); return *this;} /** *

Represents the settings of a global secondary index for a global table that * will be modified.

*/ inline ReplicaSettingsUpdate& WithReplicaGlobalSecondaryIndexSettingsUpdate(Aws::Vector&& value) { SetReplicaGlobalSecondaryIndexSettingsUpdate(std::move(value)); return *this;} /** *

Represents the settings of a global secondary index for a global table that * will be modified.

*/ inline ReplicaSettingsUpdate& AddReplicaGlobalSecondaryIndexSettingsUpdate(const ReplicaGlobalSecondaryIndexSettingsUpdate& value) { m_replicaGlobalSecondaryIndexSettingsUpdateHasBeenSet = true; m_replicaGlobalSecondaryIndexSettingsUpdate.push_back(value); return *this; } /** *

Represents the settings of a global secondary index for a global table that * will be modified.

*/ inline ReplicaSettingsUpdate& AddReplicaGlobalSecondaryIndexSettingsUpdate(ReplicaGlobalSecondaryIndexSettingsUpdate&& value) { m_replicaGlobalSecondaryIndexSettingsUpdateHasBeenSet = true; m_replicaGlobalSecondaryIndexSettingsUpdate.push_back(std::move(value)); return *this; } /** *

Replica-specific table class. If not specified, uses the source table's table * class.

*/ inline const TableClass& GetReplicaTableClass() const{ return m_replicaTableClass; } /** *

Replica-specific table class. If not specified, uses the source table's table * class.

*/ inline bool ReplicaTableClassHasBeenSet() const { return m_replicaTableClassHasBeenSet; } /** *

Replica-specific table class. If not specified, uses the source table's table * class.

*/ inline void SetReplicaTableClass(const TableClass& value) { m_replicaTableClassHasBeenSet = true; m_replicaTableClass = value; } /** *

Replica-specific table class. If not specified, uses the source table's table * class.

*/ inline void SetReplicaTableClass(TableClass&& value) { m_replicaTableClassHasBeenSet = true; m_replicaTableClass = std::move(value); } /** *

Replica-specific table class. If not specified, uses the source table's table * class.

*/ inline ReplicaSettingsUpdate& WithReplicaTableClass(const TableClass& value) { SetReplicaTableClass(value); return *this;} /** *

Replica-specific table class. If not specified, uses the source table's table * class.

*/ inline ReplicaSettingsUpdate& WithReplicaTableClass(TableClass&& value) { SetReplicaTableClass(std::move(value)); return *this;} private: Aws::String m_regionName; bool m_regionNameHasBeenSet = false; long long m_replicaProvisionedReadCapacityUnits; bool m_replicaProvisionedReadCapacityUnitsHasBeenSet = false; AutoScalingSettingsUpdate m_replicaProvisionedReadCapacityAutoScalingSettingsUpdate; bool m_replicaProvisionedReadCapacityAutoScalingSettingsUpdateHasBeenSet = false; Aws::Vector m_replicaGlobalSecondaryIndexSettingsUpdate; bool m_replicaGlobalSecondaryIndexSettingsUpdateHasBeenSet = false; TableClass m_replicaTableClass; bool m_replicaTableClassHasBeenSet = false; }; } // namespace Model } // namespace DynamoDB } // namespace Aws