AWS SDK for C++

AWS SDK for C++ Version 1.11.719

Loading...
Searching...
No Matches
DecreaseReplicaCountRequest.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/elasticache/ElastiCacheRequest.h>
10#include <aws/elasticache/ElastiCache_EXPORTS.h>
11#include <aws/elasticache/model/ConfigureShard.h>
12
13#include <utility>
14
15namespace Aws {
16namespace ElastiCache {
17namespace Model {
18
22 public:
23 AWS_ELASTICACHE_API DecreaseReplicaCountRequest() = default;
24
25 // Service request name is the Operation name which will send this request out,
26 // each operation should has unique request name, so that we can get operation's name from this request.
27 // Note: this is not true for response, multiple operations may have the same response name,
28 // so we can not get operation's name from response.
29 inline virtual const char* GetServiceRequestName() const override { return "DecreaseReplicaCount"; }
30
31 AWS_ELASTICACHE_API Aws::String SerializePayload() const override;
32
33 protected:
34 AWS_ELASTICACHE_API void DumpBodyToUrl(Aws::Http::URI& uri) const override;
35
36 public:
38
42 inline const Aws::String& GetReplicationGroupId() const { return m_replicationGroupId; }
43 inline bool ReplicationGroupIdHasBeenSet() const { return m_replicationGroupIdHasBeenSet; }
44 template <typename ReplicationGroupIdT = Aws::String>
45 void SetReplicationGroupId(ReplicationGroupIdT&& value) {
46 m_replicationGroupIdHasBeenSet = true;
47 m_replicationGroupId = std::forward<ReplicationGroupIdT>(value);
48 }
49 template <typename ReplicationGroupIdT = Aws::String>
51 SetReplicationGroupId(std::forward<ReplicationGroupIdT>(value));
52 return *this;
53 }
55
57
69 inline int GetNewReplicaCount() const { return m_newReplicaCount; }
70 inline bool NewReplicaCountHasBeenSet() const { return m_newReplicaCountHasBeenSet; }
71 inline void SetNewReplicaCount(int value) {
72 m_newReplicaCountHasBeenSet = true;
73 m_newReplicaCount = value;
74 }
76 SetNewReplicaCount(value);
77 return *this;
78 }
80
82
88 inline const Aws::Vector<ConfigureShard>& GetReplicaConfiguration() const { return m_replicaConfiguration; }
89 inline bool ReplicaConfigurationHasBeenSet() const { return m_replicaConfigurationHasBeenSet; }
90 template <typename ReplicaConfigurationT = Aws::Vector<ConfigureShard>>
91 void SetReplicaConfiguration(ReplicaConfigurationT&& value) {
92 m_replicaConfigurationHasBeenSet = true;
93 m_replicaConfiguration = std::forward<ReplicaConfigurationT>(value);
94 }
95 template <typename ReplicaConfigurationT = Aws::Vector<ConfigureShard>>
96 DecreaseReplicaCountRequest& WithReplicaConfiguration(ReplicaConfigurationT&& value) {
97 SetReplicaConfiguration(std::forward<ReplicaConfigurationT>(value));
98 return *this;
99 }
100 template <typename ReplicaConfigurationT = ConfigureShard>
101 DecreaseReplicaCountRequest& AddReplicaConfiguration(ReplicaConfigurationT&& value) {
102 m_replicaConfigurationHasBeenSet = true;
103 m_replicaConfiguration.emplace_back(std::forward<ReplicaConfigurationT>(value));
104 return *this;
105 }
107
109
113 inline const Aws::Vector<Aws::String>& GetReplicasToRemove() const { return m_replicasToRemove; }
114 inline bool ReplicasToRemoveHasBeenSet() const { return m_replicasToRemoveHasBeenSet; }
115 template <typename ReplicasToRemoveT = Aws::Vector<Aws::String>>
116 void SetReplicasToRemove(ReplicasToRemoveT&& value) {
117 m_replicasToRemoveHasBeenSet = true;
118 m_replicasToRemove = std::forward<ReplicasToRemoveT>(value);
119 }
120 template <typename ReplicasToRemoveT = Aws::Vector<Aws::String>>
122 SetReplicasToRemove(std::forward<ReplicasToRemoveT>(value));
123 return *this;
124 }
125 template <typename ReplicasToRemoveT = Aws::String>
127 m_replicasToRemoveHasBeenSet = true;
128 m_replicasToRemove.emplace_back(std::forward<ReplicasToRemoveT>(value));
129 return *this;
130 }
132
134
138 inline bool GetApplyImmediately() const { return m_applyImmediately; }
139 inline bool ApplyImmediatelyHasBeenSet() const { return m_applyImmediatelyHasBeenSet; }
140 inline void SetApplyImmediately(bool value) {
141 m_applyImmediatelyHasBeenSet = true;
142 m_applyImmediately = value;
143 }
145 SetApplyImmediately(value);
146 return *this;
147 }
149 private:
150 Aws::String m_replicationGroupId;
151
152 int m_newReplicaCount{0};
153
154 Aws::Vector<ConfigureShard> m_replicaConfiguration;
155
156 Aws::Vector<Aws::String> m_replicasToRemove;
157
158 bool m_applyImmediately{false};
159 bool m_replicationGroupIdHasBeenSet = false;
160 bool m_newReplicaCountHasBeenSet = false;
161 bool m_replicaConfigurationHasBeenSet = false;
162 bool m_replicasToRemoveHasBeenSet = false;
163 bool m_applyImmediatelyHasBeenSet = false;
164};
165
166} // namespace Model
167} // namespace ElastiCache
168} // namespace Aws
DecreaseReplicaCountRequest & WithReplicasToRemove(ReplicasToRemoveT &&value)
AWS_ELASTICACHE_API void DumpBodyToUrl(Aws::Http::URI &uri) const override
DecreaseReplicaCountRequest & WithReplicaConfiguration(ReplicaConfigurationT &&value)
AWS_ELASTICACHE_API Aws::String SerializePayload() const override
DecreaseReplicaCountRequest & WithApplyImmediately(bool value)
const Aws::Vector< Aws::String > & GetReplicasToRemove() const
DecreaseReplicaCountRequest & AddReplicasToRemove(ReplicasToRemoveT &&value)
const Aws::Vector< ConfigureShard > & GetReplicaConfiguration() const
DecreaseReplicaCountRequest & AddReplicaConfiguration(ReplicaConfigurationT &&value)
DecreaseReplicaCountRequest & WithNewReplicaCount(int value)
AWS_ELASTICACHE_API DecreaseReplicaCountRequest()=default
DecreaseReplicaCountRequest & WithReplicationGroupId(ReplicationGroupIdT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector