/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace MemoryDB { namespace Model { /** *

Shard configuration options. Each shard configuration has the following: * Slots and ReplicaCount.

See Also:

AWS * API Reference

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

A string that specifies the keyspace for a particular node group. Keyspaces * range from 0 to 16,383. The string is in the format startkey-endkey.

*/ inline const Aws::String& GetSlots() const{ return m_slots; } /** *

A string that specifies the keyspace for a particular node group. Keyspaces * range from 0 to 16,383. The string is in the format startkey-endkey.

*/ inline bool SlotsHasBeenSet() const { return m_slotsHasBeenSet; } /** *

A string that specifies the keyspace for a particular node group. Keyspaces * range from 0 to 16,383. The string is in the format startkey-endkey.

*/ inline void SetSlots(const Aws::String& value) { m_slotsHasBeenSet = true; m_slots = value; } /** *

A string that specifies the keyspace for a particular node group. Keyspaces * range from 0 to 16,383. The string is in the format startkey-endkey.

*/ inline void SetSlots(Aws::String&& value) { m_slotsHasBeenSet = true; m_slots = std::move(value); } /** *

A string that specifies the keyspace for a particular node group. Keyspaces * range from 0 to 16,383. The string is in the format startkey-endkey.

*/ inline void SetSlots(const char* value) { m_slotsHasBeenSet = true; m_slots.assign(value); } /** *

A string that specifies the keyspace for a particular node group. Keyspaces * range from 0 to 16,383. The string is in the format startkey-endkey.

*/ inline ShardConfiguration& WithSlots(const Aws::String& value) { SetSlots(value); return *this;} /** *

A string that specifies the keyspace for a particular node group. Keyspaces * range from 0 to 16,383. The string is in the format startkey-endkey.

*/ inline ShardConfiguration& WithSlots(Aws::String&& value) { SetSlots(std::move(value)); return *this;} /** *

A string that specifies the keyspace for a particular node group. Keyspaces * range from 0 to 16,383. The string is in the format startkey-endkey.

*/ inline ShardConfiguration& WithSlots(const char* value) { SetSlots(value); return *this;} /** *

The number of read replica nodes in this shard.

*/ inline int GetReplicaCount() const{ return m_replicaCount; } /** *

The number of read replica nodes in this shard.

*/ inline bool ReplicaCountHasBeenSet() const { return m_replicaCountHasBeenSet; } /** *

The number of read replica nodes in this shard.

*/ inline void SetReplicaCount(int value) { m_replicaCountHasBeenSet = true; m_replicaCount = value; } /** *

The number of read replica nodes in this shard.

*/ inline ShardConfiguration& WithReplicaCount(int value) { SetReplicaCount(value); return *this;} private: Aws::String m_slots; bool m_slotsHasBeenSet = false; int m_replicaCount; bool m_replicaCountHasBeenSet = false; }; } // namespace Model } // namespace MemoryDB } // namespace Aws