7#include <aws/elasticache/ElastiCache_EXPORTS.h>
8#include <aws/elasticache/ElastiCacheRequest.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/elasticache/model/ReshardingConfiguration.h>
37 inline virtual const char*
GetServiceRequestName()
const override {
return "ModifyReplicationGroupShardConfiguration"; }
53 template<
typename ReplicationGroupIdT = Aws::String>
54 void SetReplicationGroupId(ReplicationGroupIdT&& value) { m_replicationGroupIdHasBeenSet =
true; m_replicationGroupId = std::forward<ReplicationGroupIdT>(value); }
55 template<
typename ReplicationGroupIdT = Aws::String>
66 inline void SetNodeGroupCount(
int value) { m_nodeGroupCountHasBeenSet =
true; m_nodeGroupCount = value; }
78 inline void SetApplyImmediately(
bool value) { m_applyImmediatelyHasBeenSet =
true; m_applyImmediately = value; }
94 template<
typename ReshardingConfigurationT = Aws::Vector<ReshardingConfiguration>>
95 void SetReshardingConfiguration(ReshardingConfigurationT&& value) { m_reshardingConfigurationHasBeenSet =
true; m_reshardingConfiguration = std::forward<ReshardingConfigurationT>(value); }
96 template<
typename ReshardingConfigurationT = Aws::Vector<ReshardingConfiguration>>
98 template<
typename ReshardingConfigurationT = ReshardingConfiguration>
113 template<
typename NodeGroupsToRemoveT = Aws::Vector<Aws::String>>
114 void SetNodeGroupsToRemove(NodeGroupsToRemoveT&& value) { m_nodeGroupsToRemoveHasBeenSet =
true; m_nodeGroupsToRemove = std::forward<NodeGroupsToRemoveT>(value); }
115 template<
typename NodeGroupsToRemoveT = Aws::Vector<Aws::String>>
117 template<
typename NodeGroupsToRemoveT = Aws::String>
132 template<
typename NodeGroupsToRetainT = Aws::Vector<Aws::String>>
133 void SetNodeGroupsToRetain(NodeGroupsToRetainT&& value) { m_nodeGroupsToRetainHasBeenSet =
true; m_nodeGroupsToRetain = std::forward<NodeGroupsToRetainT>(value); }
134 template<
typename NodeGroupsToRetainT = Aws::Vector<Aws::String>>
136 template<
typename NodeGroupsToRetainT = Aws::String>
142 bool m_replicationGroupIdHasBeenSet =
false;
144 int m_nodeGroupCount{0};
145 bool m_nodeGroupCountHasBeenSet =
false;
147 bool m_applyImmediately{
false};
148 bool m_applyImmediatelyHasBeenSet =
false;
151 bool m_reshardingConfigurationHasBeenSet =
false;
154 bool m_nodeGroupsToRemoveHasBeenSet =
false;
157 bool m_nodeGroupsToRetainHasBeenSet =
false;
ModifyReplicationGroupShardConfigurationRequest & WithNodeGroupsToRetain(NodeGroupsToRetainT &&value)
int GetNodeGroupCount() const
ModifyReplicationGroupShardConfigurationRequest & AddReshardingConfiguration(ReshardingConfigurationT &&value)
void SetNodeGroupsToRemove(NodeGroupsToRemoveT &&value)
void SetApplyImmediately(bool value)
ModifyReplicationGroupShardConfigurationRequest & WithNodeGroupCount(int value)
void SetNodeGroupsToRetain(NodeGroupsToRetainT &&value)
void SetReplicationGroupId(ReplicationGroupIdT &&value)
const Aws::Vector< ReshardingConfiguration > & GetReshardingConfiguration() const
bool ApplyImmediatelyHasBeenSet() const
virtual const char * GetServiceRequestName() const override
ModifyReplicationGroupShardConfigurationRequest & WithReplicationGroupId(ReplicationGroupIdT &&value)
bool ReplicationGroupIdHasBeenSet() const
const Aws::String & GetReplicationGroupId() const
AWS_ELASTICACHE_API ModifyReplicationGroupShardConfigurationRequest()=default
ModifyReplicationGroupShardConfigurationRequest & WithApplyImmediately(bool value)
bool NodeGroupCountHasBeenSet() const
void SetNodeGroupCount(int value)
bool GetApplyImmediately() const
bool NodeGroupsToRemoveHasBeenSet() const
void SetReshardingConfiguration(ReshardingConfigurationT &&value)
ModifyReplicationGroupShardConfigurationRequest & AddNodeGroupsToRemove(NodeGroupsToRemoveT &&value)
const Aws::Vector< Aws::String > & GetNodeGroupsToRetain() const
AWS_ELASTICACHE_API Aws::String SerializePayload() const override
ModifyReplicationGroupShardConfigurationRequest & WithReshardingConfiguration(ReshardingConfigurationT &&value)
AWS_ELASTICACHE_API void DumpBodyToUrl(Aws::Http::URI &uri) const override
ModifyReplicationGroupShardConfigurationRequest & WithNodeGroupsToRemove(NodeGroupsToRemoveT &&value)
bool ReshardingConfigurationHasBeenSet() const
bool NodeGroupsToRetainHasBeenSet() const
ModifyReplicationGroupShardConfigurationRequest & AddNodeGroupsToRetain(NodeGroupsToRetainT &&value)
const Aws::Vector< Aws::String > & GetNodeGroupsToRemove() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector