/** * 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 ElastiCache { namespace Model { /** */ class IncreaseNodeGroupsInGlobalReplicationGroupRequest : public ElastiCacheRequest { public: AWS_ELASTICACHE_API IncreaseNodeGroupsInGlobalReplicationGroupRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "IncreaseNodeGroupsInGlobalReplicationGroup"; } AWS_ELASTICACHE_API Aws::String SerializePayload() const override; protected: AWS_ELASTICACHE_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; public: /** *

The name of the Global datastore

*/ inline const Aws::String& GetGlobalReplicationGroupId() const{ return m_globalReplicationGroupId; } /** *

The name of the Global datastore

*/ inline bool GlobalReplicationGroupIdHasBeenSet() const { return m_globalReplicationGroupIdHasBeenSet; } /** *

The name of the Global datastore

*/ inline void SetGlobalReplicationGroupId(const Aws::String& value) { m_globalReplicationGroupIdHasBeenSet = true; m_globalReplicationGroupId = value; } /** *

The name of the Global datastore

*/ inline void SetGlobalReplicationGroupId(Aws::String&& value) { m_globalReplicationGroupIdHasBeenSet = true; m_globalReplicationGroupId = std::move(value); } /** *

The name of the Global datastore

*/ inline void SetGlobalReplicationGroupId(const char* value) { m_globalReplicationGroupIdHasBeenSet = true; m_globalReplicationGroupId.assign(value); } /** *

The name of the Global datastore

*/ inline IncreaseNodeGroupsInGlobalReplicationGroupRequest& WithGlobalReplicationGroupId(const Aws::String& value) { SetGlobalReplicationGroupId(value); return *this;} /** *

The name of the Global datastore

*/ inline IncreaseNodeGroupsInGlobalReplicationGroupRequest& WithGlobalReplicationGroupId(Aws::String&& value) { SetGlobalReplicationGroupId(std::move(value)); return *this;} /** *

The name of the Global datastore

*/ inline IncreaseNodeGroupsInGlobalReplicationGroupRequest& WithGlobalReplicationGroupId(const char* value) { SetGlobalReplicationGroupId(value); return *this;} /** *

The number of node groups you wish to add

*/ inline int GetNodeGroupCount() const{ return m_nodeGroupCount; } /** *

The number of node groups you wish to add

*/ inline bool NodeGroupCountHasBeenSet() const { return m_nodeGroupCountHasBeenSet; } /** *

The number of node groups you wish to add

*/ inline void SetNodeGroupCount(int value) { m_nodeGroupCountHasBeenSet = true; m_nodeGroupCount = value; } /** *

The number of node groups you wish to add

*/ inline IncreaseNodeGroupsInGlobalReplicationGroupRequest& WithNodeGroupCount(int value) { SetNodeGroupCount(value); return *this;} /** *

Describes the replication group IDs, the Amazon regions where they are stored * and the shard configuration for each that comprise the Global datastore

*/ inline const Aws::Vector& GetRegionalConfigurations() const{ return m_regionalConfigurations; } /** *

Describes the replication group IDs, the Amazon regions where they are stored * and the shard configuration for each that comprise the Global datastore

*/ inline bool RegionalConfigurationsHasBeenSet() const { return m_regionalConfigurationsHasBeenSet; } /** *

Describes the replication group IDs, the Amazon regions where they are stored * and the shard configuration for each that comprise the Global datastore

*/ inline void SetRegionalConfigurations(const Aws::Vector& value) { m_regionalConfigurationsHasBeenSet = true; m_regionalConfigurations = value; } /** *

Describes the replication group IDs, the Amazon regions where they are stored * and the shard configuration for each that comprise the Global datastore

*/ inline void SetRegionalConfigurations(Aws::Vector&& value) { m_regionalConfigurationsHasBeenSet = true; m_regionalConfigurations = std::move(value); } /** *

Describes the replication group IDs, the Amazon regions where they are stored * and the shard configuration for each that comprise the Global datastore

*/ inline IncreaseNodeGroupsInGlobalReplicationGroupRequest& WithRegionalConfigurations(const Aws::Vector& value) { SetRegionalConfigurations(value); return *this;} /** *

Describes the replication group IDs, the Amazon regions where they are stored * and the shard configuration for each that comprise the Global datastore

*/ inline IncreaseNodeGroupsInGlobalReplicationGroupRequest& WithRegionalConfigurations(Aws::Vector&& value) { SetRegionalConfigurations(std::move(value)); return *this;} /** *

Describes the replication group IDs, the Amazon regions where they are stored * and the shard configuration for each that comprise the Global datastore

*/ inline IncreaseNodeGroupsInGlobalReplicationGroupRequest& AddRegionalConfigurations(const RegionalConfiguration& value) { m_regionalConfigurationsHasBeenSet = true; m_regionalConfigurations.push_back(value); return *this; } /** *

Describes the replication group IDs, the Amazon regions where they are stored * and the shard configuration for each that comprise the Global datastore

*/ inline IncreaseNodeGroupsInGlobalReplicationGroupRequest& AddRegionalConfigurations(RegionalConfiguration&& value) { m_regionalConfigurationsHasBeenSet = true; m_regionalConfigurations.push_back(std::move(value)); return *this; } /** *

Indicates that the process begins immediately. At present, the only permitted * value for this parameter is true.

*/ inline bool GetApplyImmediately() const{ return m_applyImmediately; } /** *

Indicates that the process begins immediately. At present, the only permitted * value for this parameter is true.

*/ inline bool ApplyImmediatelyHasBeenSet() const { return m_applyImmediatelyHasBeenSet; } /** *

Indicates that the process begins immediately. At present, the only permitted * value for this parameter is true.

*/ inline void SetApplyImmediately(bool value) { m_applyImmediatelyHasBeenSet = true; m_applyImmediately = value; } /** *

Indicates that the process begins immediately. At present, the only permitted * value for this parameter is true.

*/ inline IncreaseNodeGroupsInGlobalReplicationGroupRequest& WithApplyImmediately(bool value) { SetApplyImmediately(value); return *this;} private: Aws::String m_globalReplicationGroupId; bool m_globalReplicationGroupIdHasBeenSet = false; int m_nodeGroupCount; bool m_nodeGroupCountHasBeenSet = false; Aws::Vector m_regionalConfigurations; bool m_regionalConfigurationsHasBeenSet = false; bool m_applyImmediately; bool m_applyImmediatelyHasBeenSet = false; }; } // namespace Model } // namespace ElastiCache } // namespace Aws