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

The replication specification of the keyspace includes:

  • * regionList - up to six Amazon Web Services Regions where the * keyspace is replicated in.

  • replicationStrategy - * the required value is SINGLE_REGION or * MULTI_REGION.

See Also:

AWS * API Reference

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

The replicationStrategy of a keyspace, the required value is * SINGLE_REGION or MULTI_REGION.

*/ inline const Rs& GetReplicationStrategy() const{ return m_replicationStrategy; } /** *

The replicationStrategy of a keyspace, the required value is * SINGLE_REGION or MULTI_REGION.

*/ inline bool ReplicationStrategyHasBeenSet() const { return m_replicationStrategyHasBeenSet; } /** *

The replicationStrategy of a keyspace, the required value is * SINGLE_REGION or MULTI_REGION.

*/ inline void SetReplicationStrategy(const Rs& value) { m_replicationStrategyHasBeenSet = true; m_replicationStrategy = value; } /** *

The replicationStrategy of a keyspace, the required value is * SINGLE_REGION or MULTI_REGION.

*/ inline void SetReplicationStrategy(Rs&& value) { m_replicationStrategyHasBeenSet = true; m_replicationStrategy = std::move(value); } /** *

The replicationStrategy of a keyspace, the required value is * SINGLE_REGION or MULTI_REGION.

*/ inline ReplicationSpecification& WithReplicationStrategy(const Rs& value) { SetReplicationStrategy(value); return *this;} /** *

The replicationStrategy of a keyspace, the required value is * SINGLE_REGION or MULTI_REGION.

*/ inline ReplicationSpecification& WithReplicationStrategy(Rs&& value) { SetReplicationStrategy(std::move(value)); return *this;} /** *

The regionList can contain up to six Amazon Web Services * Regions where the keyspace is replicated in.

*/ inline const Aws::Vector& GetRegionList() const{ return m_regionList; } /** *

The regionList can contain up to six Amazon Web Services * Regions where the keyspace is replicated in.

*/ inline bool RegionListHasBeenSet() const { return m_regionListHasBeenSet; } /** *

The regionList can contain up to six Amazon Web Services * Regions where the keyspace is replicated in.

*/ inline void SetRegionList(const Aws::Vector& value) { m_regionListHasBeenSet = true; m_regionList = value; } /** *

The regionList can contain up to six Amazon Web Services * Regions where the keyspace is replicated in.

*/ inline void SetRegionList(Aws::Vector&& value) { m_regionListHasBeenSet = true; m_regionList = std::move(value); } /** *

The regionList can contain up to six Amazon Web Services * Regions where the keyspace is replicated in.

*/ inline ReplicationSpecification& WithRegionList(const Aws::Vector& value) { SetRegionList(value); return *this;} /** *

The regionList can contain up to six Amazon Web Services * Regions where the keyspace is replicated in.

*/ inline ReplicationSpecification& WithRegionList(Aws::Vector&& value) { SetRegionList(std::move(value)); return *this;} /** *

The regionList can contain up to six Amazon Web Services * Regions where the keyspace is replicated in.

*/ inline ReplicationSpecification& AddRegionList(const Aws::String& value) { m_regionListHasBeenSet = true; m_regionList.push_back(value); return *this; } /** *

The regionList can contain up to six Amazon Web Services * Regions where the keyspace is replicated in.

*/ inline ReplicationSpecification& AddRegionList(Aws::String&& value) { m_regionListHasBeenSet = true; m_regionList.push_back(std::move(value)); return *this; } /** *

The regionList can contain up to six Amazon Web Services * Regions where the keyspace is replicated in.

*/ inline ReplicationSpecification& AddRegionList(const char* value) { m_regionListHasBeenSet = true; m_regionList.push_back(value); return *this; } private: Rs m_replicationStrategy; bool m_replicationStrategyHasBeenSet = false; Aws::Vector m_regionList; bool m_regionListHasBeenSet = false; }; } // namespace Model } // namespace Keyspaces } // namespace Aws