/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #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 AWS_DYNAMODB_API ReplicaSettingsUpdate { public: ReplicaSettingsUpdate(); ReplicaSettingsUpdate(Aws::Utils::Json::JsonView jsonValue); ReplicaSettingsUpdate& operator=(Aws::Utils::Json::JsonView jsonValue); 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; } private: Aws::String m_regionName; bool m_regionNameHasBeenSet; long long m_replicaProvisionedReadCapacityUnits; bool m_replicaProvisionedReadCapacityUnitsHasBeenSet; AutoScalingSettingsUpdate m_replicaProvisionedReadCapacityAutoScalingSettingsUpdate; bool m_replicaProvisionedReadCapacityAutoScalingSettingsUpdateHasBeenSet; Aws::Vector m_replicaGlobalSecondaryIndexSettingsUpdate; bool m_replicaGlobalSecondaryIndexSettingsUpdateHasBeenSet; }; } // namespace Model } // namespace DynamoDB } // namespace Aws