AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
ModifyReplicationGroupShardConfigurationRequest.h
1
6#pragma once
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>
12#include <utility>
13
14namespace Aws
15{
16namespace ElastiCache
17{
18namespace Model
19{
20
29 {
30 public:
31 AWS_ELASTICACHE_API ModifyReplicationGroupShardConfigurationRequest() = default;
32
33 // Service request name is the Operation name which will send this request out,
34 // each operation should has unique request name, so that we can get operation's name from this request.
35 // Note: this is not true for response, multiple operations may have the same response name,
36 // so we can not get operation's name from response.
37 inline virtual const char* GetServiceRequestName() const override { return "ModifyReplicationGroupShardConfiguration"; }
38
39 AWS_ELASTICACHE_API Aws::String SerializePayload() const override;
40
41 protected:
42 AWS_ELASTICACHE_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
43
44 public:
45
47
51 inline const Aws::String& GetReplicationGroupId() const { return m_replicationGroupId; }
52 inline bool ReplicationGroupIdHasBeenSet() const { return m_replicationGroupIdHasBeenSet; }
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>
56 ModifyReplicationGroupShardConfigurationRequest& WithReplicationGroupId(ReplicationGroupIdT&& value) { SetReplicationGroupId(std::forward<ReplicationGroupIdT>(value)); return *this;}
58
60
64 inline int GetNodeGroupCount() const { return m_nodeGroupCount; }
65 inline bool NodeGroupCountHasBeenSet() const { return m_nodeGroupCountHasBeenSet; }
66 inline void SetNodeGroupCount(int value) { m_nodeGroupCountHasBeenSet = true; m_nodeGroupCount = value; }
69
71
76 inline bool GetApplyImmediately() const { return m_applyImmediately; }
77 inline bool ApplyImmediatelyHasBeenSet() const { return m_applyImmediatelyHasBeenSet; }
78 inline void SetApplyImmediately(bool value) { m_applyImmediatelyHasBeenSet = true; m_applyImmediately = value; }
81
83
92 inline const Aws::Vector<ReshardingConfiguration>& GetReshardingConfiguration() const { return m_reshardingConfiguration; }
93 inline bool ReshardingConfigurationHasBeenSet() const { return m_reshardingConfigurationHasBeenSet; }
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>>
97 ModifyReplicationGroupShardConfigurationRequest& WithReshardingConfiguration(ReshardingConfigurationT&& value) { SetReshardingConfiguration(std::forward<ReshardingConfigurationT>(value)); return *this;}
98 template<typename ReshardingConfigurationT = ReshardingConfiguration>
99 ModifyReplicationGroupShardConfigurationRequest& AddReshardingConfiguration(ReshardingConfigurationT&& value) { m_reshardingConfigurationHasBeenSet = true; m_reshardingConfiguration.emplace_back(std::forward<ReshardingConfigurationT>(value)); return *this; }
101
103
111 inline const Aws::Vector<Aws::String>& GetNodeGroupsToRemove() const { return m_nodeGroupsToRemove; }
112 inline bool NodeGroupsToRemoveHasBeenSet() const { return m_nodeGroupsToRemoveHasBeenSet; }
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>>
116 ModifyReplicationGroupShardConfigurationRequest& WithNodeGroupsToRemove(NodeGroupsToRemoveT&& value) { SetNodeGroupsToRemove(std::forward<NodeGroupsToRemoveT>(value)); return *this;}
117 template<typename NodeGroupsToRemoveT = Aws::String>
118 ModifyReplicationGroupShardConfigurationRequest& AddNodeGroupsToRemove(NodeGroupsToRemoveT&& value) { m_nodeGroupsToRemoveHasBeenSet = true; m_nodeGroupsToRemove.emplace_back(std::forward<NodeGroupsToRemoveT>(value)); return *this; }
120
122
130 inline const Aws::Vector<Aws::String>& GetNodeGroupsToRetain() const { return m_nodeGroupsToRetain; }
131 inline bool NodeGroupsToRetainHasBeenSet() const { return m_nodeGroupsToRetainHasBeenSet; }
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>>
135 ModifyReplicationGroupShardConfigurationRequest& WithNodeGroupsToRetain(NodeGroupsToRetainT&& value) { SetNodeGroupsToRetain(std::forward<NodeGroupsToRetainT>(value)); return *this;}
136 template<typename NodeGroupsToRetainT = Aws::String>
137 ModifyReplicationGroupShardConfigurationRequest& AddNodeGroupsToRetain(NodeGroupsToRetainT&& value) { m_nodeGroupsToRetainHasBeenSet = true; m_nodeGroupsToRetain.emplace_back(std::forward<NodeGroupsToRetainT>(value)); return *this; }
139 private:
140
141 Aws::String m_replicationGroupId;
142 bool m_replicationGroupIdHasBeenSet = false;
143
144 int m_nodeGroupCount{0};
145 bool m_nodeGroupCountHasBeenSet = false;
146
147 bool m_applyImmediately{false};
148 bool m_applyImmediatelyHasBeenSet = false;
149
150 Aws::Vector<ReshardingConfiguration> m_reshardingConfiguration;
151 bool m_reshardingConfigurationHasBeenSet = false;
152
153 Aws::Vector<Aws::String> m_nodeGroupsToRemove;
154 bool m_nodeGroupsToRemoveHasBeenSet = false;
155
156 Aws::Vector<Aws::String> m_nodeGroupsToRetain;
157 bool m_nodeGroupsToRetainHasBeenSet = false;
158 };
159
160} // namespace Model
161} // namespace ElastiCache
162} // namespace Aws
ModifyReplicationGroupShardConfigurationRequest & WithNodeGroupsToRetain(NodeGroupsToRetainT &&value)
ModifyReplicationGroupShardConfigurationRequest & AddReshardingConfiguration(ReshardingConfigurationT &&value)
ModifyReplicationGroupShardConfigurationRequest & WithReplicationGroupId(ReplicationGroupIdT &&value)
ModifyReplicationGroupShardConfigurationRequest & AddNodeGroupsToRemove(NodeGroupsToRemoveT &&value)
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)
ModifyReplicationGroupShardConfigurationRequest & AddNodeGroupsToRetain(NodeGroupsToRetainT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector