/** * 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 auto scaling settings of the replica.

See Also:

* AWS * API Reference

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

The Region where the replica exists.

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

The Region where the replica exists.

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

The Region where the replica exists.

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

The Region where the replica exists.

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

The Region where the replica exists.

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

The Region where the replica exists.

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

The Region where the replica exists.

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

The Region where the replica exists.

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

Replica-specific global secondary index auto scaling settings.

*/ inline const Aws::Vector& GetGlobalSecondaryIndexes() const{ return m_globalSecondaryIndexes; } /** *

Replica-specific global secondary index auto scaling settings.

*/ inline bool GlobalSecondaryIndexesHasBeenSet() const { return m_globalSecondaryIndexesHasBeenSet; } /** *

Replica-specific global secondary index auto scaling settings.

*/ inline void SetGlobalSecondaryIndexes(const Aws::Vector& value) { m_globalSecondaryIndexesHasBeenSet = true; m_globalSecondaryIndexes = value; } /** *

Replica-specific global secondary index auto scaling settings.

*/ inline void SetGlobalSecondaryIndexes(Aws::Vector&& value) { m_globalSecondaryIndexesHasBeenSet = true; m_globalSecondaryIndexes = std::move(value); } /** *

Replica-specific global secondary index auto scaling settings.

*/ inline ReplicaAutoScalingDescription& WithGlobalSecondaryIndexes(const Aws::Vector& value) { SetGlobalSecondaryIndexes(value); return *this;} /** *

Replica-specific global secondary index auto scaling settings.

*/ inline ReplicaAutoScalingDescription& WithGlobalSecondaryIndexes(Aws::Vector&& value) { SetGlobalSecondaryIndexes(std::move(value)); return *this;} /** *

Replica-specific global secondary index auto scaling settings.

*/ inline ReplicaAutoScalingDescription& AddGlobalSecondaryIndexes(const ReplicaGlobalSecondaryIndexAutoScalingDescription& value) { m_globalSecondaryIndexesHasBeenSet = true; m_globalSecondaryIndexes.push_back(value); return *this; } /** *

Replica-specific global secondary index auto scaling settings.

*/ inline ReplicaAutoScalingDescription& AddGlobalSecondaryIndexes(ReplicaGlobalSecondaryIndexAutoScalingDescription&& value) { m_globalSecondaryIndexesHasBeenSet = true; m_globalSecondaryIndexes.push_back(std::move(value)); return *this; } inline const AutoScalingSettingsDescription& GetReplicaProvisionedReadCapacityAutoScalingSettings() const{ return m_replicaProvisionedReadCapacityAutoScalingSettings; } inline bool ReplicaProvisionedReadCapacityAutoScalingSettingsHasBeenSet() const { return m_replicaProvisionedReadCapacityAutoScalingSettingsHasBeenSet; } inline void SetReplicaProvisionedReadCapacityAutoScalingSettings(const AutoScalingSettingsDescription& value) { m_replicaProvisionedReadCapacityAutoScalingSettingsHasBeenSet = true; m_replicaProvisionedReadCapacityAutoScalingSettings = value; } inline void SetReplicaProvisionedReadCapacityAutoScalingSettings(AutoScalingSettingsDescription&& value) { m_replicaProvisionedReadCapacityAutoScalingSettingsHasBeenSet = true; m_replicaProvisionedReadCapacityAutoScalingSettings = std::move(value); } inline ReplicaAutoScalingDescription& WithReplicaProvisionedReadCapacityAutoScalingSettings(const AutoScalingSettingsDescription& value) { SetReplicaProvisionedReadCapacityAutoScalingSettings(value); return *this;} inline ReplicaAutoScalingDescription& WithReplicaProvisionedReadCapacityAutoScalingSettings(AutoScalingSettingsDescription&& value) { SetReplicaProvisionedReadCapacityAutoScalingSettings(std::move(value)); return *this;} inline const AutoScalingSettingsDescription& GetReplicaProvisionedWriteCapacityAutoScalingSettings() const{ return m_replicaProvisionedWriteCapacityAutoScalingSettings; } inline bool ReplicaProvisionedWriteCapacityAutoScalingSettingsHasBeenSet() const { return m_replicaProvisionedWriteCapacityAutoScalingSettingsHasBeenSet; } inline void SetReplicaProvisionedWriteCapacityAutoScalingSettings(const AutoScalingSettingsDescription& value) { m_replicaProvisionedWriteCapacityAutoScalingSettingsHasBeenSet = true; m_replicaProvisionedWriteCapacityAutoScalingSettings = value; } inline void SetReplicaProvisionedWriteCapacityAutoScalingSettings(AutoScalingSettingsDescription&& value) { m_replicaProvisionedWriteCapacityAutoScalingSettingsHasBeenSet = true; m_replicaProvisionedWriteCapacityAutoScalingSettings = std::move(value); } inline ReplicaAutoScalingDescription& WithReplicaProvisionedWriteCapacityAutoScalingSettings(const AutoScalingSettingsDescription& value) { SetReplicaProvisionedWriteCapacityAutoScalingSettings(value); return *this;} inline ReplicaAutoScalingDescription& WithReplicaProvisionedWriteCapacityAutoScalingSettings(AutoScalingSettingsDescription&& value) { SetReplicaProvisionedWriteCapacityAutoScalingSettings(std::move(value)); return *this;} /** *

The current state of the replica:

  • CREATING - * The replica is being created.

  • UPDATING - The * replica is being updated.

  • DELETING - The replica * is being deleted.

  • ACTIVE - The replica is ready * for use.

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

The current state of the replica:

  • CREATING - * The replica is being created.

  • UPDATING - The * replica is being updated.

  • DELETING - The replica * is being deleted.

  • ACTIVE - The replica is ready * for use.

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

The current state of the replica:

  • CREATING - * The replica is being created.

  • UPDATING - The * replica is being updated.

  • DELETING - The replica * is being deleted.

  • ACTIVE - The replica is ready * for use.

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

The current state of the replica:

  • CREATING - * The replica is being created.

  • UPDATING - The * replica is being updated.

  • DELETING - The replica * is being deleted.

  • ACTIVE - The replica is ready * for use.

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

The current state of the replica:

  • CREATING - * The replica is being created.

  • UPDATING - The * replica is being updated.

  • DELETING - The replica * is being deleted.

  • ACTIVE - The replica is ready * for use.

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

The current state of the replica:

  • CREATING - * The replica is being created.

  • UPDATING - The * replica is being updated.

  • DELETING - The replica * is being deleted.

  • ACTIVE - The replica is ready * for use.

*/ inline ReplicaAutoScalingDescription& WithReplicaStatus(ReplicaStatus&& value) { SetReplicaStatus(std::move(value)); return *this;} private: Aws::String m_regionName; bool m_regionNameHasBeenSet = false; Aws::Vector m_globalSecondaryIndexes; bool m_globalSecondaryIndexesHasBeenSet = false; AutoScalingSettingsDescription m_replicaProvisionedReadCapacityAutoScalingSettings; bool m_replicaProvisionedReadCapacityAutoScalingSettingsHasBeenSet = false; AutoScalingSettingsDescription m_replicaProvisionedWriteCapacityAutoScalingSettings; bool m_replicaProvisionedWriteCapacityAutoScalingSettingsHasBeenSet = false; ReplicaStatus m_replicaStatus; bool m_replicaStatusHasBeenSet = false; }; } // namespace Model } // namespace DynamoDB } // namespace Aws