AWS SDK for C++

AWS SDK for C++ Version 1.11.718

Loading...
Searching...
No Matches
Cluster.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/dax/DAX_EXPORTS.h>
10#include <aws/dax/model/ClusterEndpointEncryptionType.h>
11#include <aws/dax/model/Endpoint.h>
12#include <aws/dax/model/NetworkType.h>
13#include <aws/dax/model/Node.h>
14#include <aws/dax/model/NotificationConfiguration.h>
15#include <aws/dax/model/ParameterGroupStatus.h>
16#include <aws/dax/model/SSEDescription.h>
17#include <aws/dax/model/SecurityGroupMembership.h>
18
19#include <utility>
20
21namespace Aws {
22namespace Utils {
23namespace Json {
24class JsonValue;
25class JsonView;
26} // namespace Json
27} // namespace Utils
28namespace DAX {
29namespace Model {
30
37class Cluster {
38 public:
39 AWS_DAX_API Cluster() = default;
40 AWS_DAX_API Cluster(Aws::Utils::Json::JsonView jsonValue);
43
45
48 inline const Aws::String& GetClusterName() const { return m_clusterName; }
49 inline bool ClusterNameHasBeenSet() const { return m_clusterNameHasBeenSet; }
50 template <typename ClusterNameT = Aws::String>
51 void SetClusterName(ClusterNameT&& value) {
52 m_clusterNameHasBeenSet = true;
53 m_clusterName = std::forward<ClusterNameT>(value);
54 }
55 template <typename ClusterNameT = Aws::String>
56 Cluster& WithClusterName(ClusterNameT&& value) {
57 SetClusterName(std::forward<ClusterNameT>(value));
58 return *this;
59 }
61
63
66 inline const Aws::String& GetDescription() const { return m_description; }
67 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
68 template <typename DescriptionT = Aws::String>
69 void SetDescription(DescriptionT&& value) {
70 m_descriptionHasBeenSet = true;
71 m_description = std::forward<DescriptionT>(value);
72 }
73 template <typename DescriptionT = Aws::String>
74 Cluster& WithDescription(DescriptionT&& value) {
75 SetDescription(std::forward<DescriptionT>(value));
76 return *this;
77 }
79
81
84 inline const Aws::String& GetClusterArn() const { return m_clusterArn; }
85 inline bool ClusterArnHasBeenSet() const { return m_clusterArnHasBeenSet; }
86 template <typename ClusterArnT = Aws::String>
87 void SetClusterArn(ClusterArnT&& value) {
88 m_clusterArnHasBeenSet = true;
89 m_clusterArn = std::forward<ClusterArnT>(value);
90 }
91 template <typename ClusterArnT = Aws::String>
92 Cluster& WithClusterArn(ClusterArnT&& value) {
93 SetClusterArn(std::forward<ClusterArnT>(value));
94 return *this;
95 }
97
99
102 inline int GetTotalNodes() const { return m_totalNodes; }
103 inline bool TotalNodesHasBeenSet() const { return m_totalNodesHasBeenSet; }
104 inline void SetTotalNodes(int value) {
105 m_totalNodesHasBeenSet = true;
106 m_totalNodes = value;
107 }
108 inline Cluster& WithTotalNodes(int value) {
109 SetTotalNodes(value);
110 return *this;
111 }
113
115
119 inline int GetActiveNodes() const { return m_activeNodes; }
120 inline bool ActiveNodesHasBeenSet() const { return m_activeNodesHasBeenSet; }
121 inline void SetActiveNodes(int value) {
122 m_activeNodesHasBeenSet = true;
123 m_activeNodes = value;
124 }
125 inline Cluster& WithActiveNodes(int value) {
126 SetActiveNodes(value);
127 return *this;
128 }
130
132
136 inline const Aws::String& GetNodeType() const { return m_nodeType; }
137 inline bool NodeTypeHasBeenSet() const { return m_nodeTypeHasBeenSet; }
138 template <typename NodeTypeT = Aws::String>
139 void SetNodeType(NodeTypeT&& value) {
140 m_nodeTypeHasBeenSet = true;
141 m_nodeType = std::forward<NodeTypeT>(value);
142 }
143 template <typename NodeTypeT = Aws::String>
144 Cluster& WithNodeType(NodeTypeT&& value) {
145 SetNodeType(std::forward<NodeTypeT>(value));
146 return *this;
147 }
149
151
154 inline const Aws::String& GetStatus() const { return m_status; }
155 inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
156 template <typename StatusT = Aws::String>
157 void SetStatus(StatusT&& value) {
158 m_statusHasBeenSet = true;
159 m_status = std::forward<StatusT>(value);
160 }
161 template <typename StatusT = Aws::String>
162 Cluster& WithStatus(StatusT&& value) {
163 SetStatus(std::forward<StatusT>(value));
164 return *this;
165 }
167
169
174 inline const Endpoint& GetClusterDiscoveryEndpoint() const { return m_clusterDiscoveryEndpoint; }
175 inline bool ClusterDiscoveryEndpointHasBeenSet() const { return m_clusterDiscoveryEndpointHasBeenSet; }
176 template <typename ClusterDiscoveryEndpointT = Endpoint>
177 void SetClusterDiscoveryEndpoint(ClusterDiscoveryEndpointT&& value) {
178 m_clusterDiscoveryEndpointHasBeenSet = true;
179 m_clusterDiscoveryEndpoint = std::forward<ClusterDiscoveryEndpointT>(value);
180 }
181 template <typename ClusterDiscoveryEndpointT = Endpoint>
182 Cluster& WithClusterDiscoveryEndpoint(ClusterDiscoveryEndpointT&& value) {
183 SetClusterDiscoveryEndpoint(std::forward<ClusterDiscoveryEndpointT>(value));
184 return *this;
185 }
187
189
192 inline const Aws::Vector<Aws::String>& GetNodeIdsToRemove() const { return m_nodeIdsToRemove; }
193 inline bool NodeIdsToRemoveHasBeenSet() const { return m_nodeIdsToRemoveHasBeenSet; }
194 template <typename NodeIdsToRemoveT = Aws::Vector<Aws::String>>
195 void SetNodeIdsToRemove(NodeIdsToRemoveT&& value) {
196 m_nodeIdsToRemoveHasBeenSet = true;
197 m_nodeIdsToRemove = std::forward<NodeIdsToRemoveT>(value);
198 }
199 template <typename NodeIdsToRemoveT = Aws::Vector<Aws::String>>
200 Cluster& WithNodeIdsToRemove(NodeIdsToRemoveT&& value) {
201 SetNodeIdsToRemove(std::forward<NodeIdsToRemoveT>(value));
202 return *this;
203 }
204 template <typename NodeIdsToRemoveT = Aws::String>
205 Cluster& AddNodeIdsToRemove(NodeIdsToRemoveT&& value) {
206 m_nodeIdsToRemoveHasBeenSet = true;
207 m_nodeIdsToRemove.emplace_back(std::forward<NodeIdsToRemoveT>(value));
208 return *this;
209 }
211
213
216 inline const Aws::Vector<Node>& GetNodes() const { return m_nodes; }
217 inline bool NodesHasBeenSet() const { return m_nodesHasBeenSet; }
218 template <typename NodesT = Aws::Vector<Node>>
219 void SetNodes(NodesT&& value) {
220 m_nodesHasBeenSet = true;
221 m_nodes = std::forward<NodesT>(value);
222 }
223 template <typename NodesT = Aws::Vector<Node>>
224 Cluster& WithNodes(NodesT&& value) {
225 SetNodes(std::forward<NodesT>(value));
226 return *this;
227 }
228 template <typename NodesT = Node>
229 Cluster& AddNodes(NodesT&& value) {
230 m_nodesHasBeenSet = true;
231 m_nodes.emplace_back(std::forward<NodesT>(value));
232 return *this;
233 }
235
237
243 inline const Aws::String& GetPreferredMaintenanceWindow() const { return m_preferredMaintenanceWindow; }
244 inline bool PreferredMaintenanceWindowHasBeenSet() const { return m_preferredMaintenanceWindowHasBeenSet; }
245 template <typename PreferredMaintenanceWindowT = Aws::String>
246 void SetPreferredMaintenanceWindow(PreferredMaintenanceWindowT&& value) {
247 m_preferredMaintenanceWindowHasBeenSet = true;
248 m_preferredMaintenanceWindow = std::forward<PreferredMaintenanceWindowT>(value);
249 }
250 template <typename PreferredMaintenanceWindowT = Aws::String>
251 Cluster& WithPreferredMaintenanceWindow(PreferredMaintenanceWindowT&& value) {
252 SetPreferredMaintenanceWindow(std::forward<PreferredMaintenanceWindowT>(value));
253 return *this;
254 }
256
258
263 inline const NotificationConfiguration& GetNotificationConfiguration() const { return m_notificationConfiguration; }
264 inline bool NotificationConfigurationHasBeenSet() const { return m_notificationConfigurationHasBeenSet; }
265 template <typename NotificationConfigurationT = NotificationConfiguration>
266 void SetNotificationConfiguration(NotificationConfigurationT&& value) {
267 m_notificationConfigurationHasBeenSet = true;
268 m_notificationConfiguration = std::forward<NotificationConfigurationT>(value);
269 }
270 template <typename NotificationConfigurationT = NotificationConfiguration>
271 Cluster& WithNotificationConfiguration(NotificationConfigurationT&& value) {
272 SetNotificationConfiguration(std::forward<NotificationConfigurationT>(value));
273 return *this;
274 }
276
278
281 inline const Aws::String& GetSubnetGroup() const { return m_subnetGroup; }
282 inline bool SubnetGroupHasBeenSet() const { return m_subnetGroupHasBeenSet; }
283 template <typename SubnetGroupT = Aws::String>
284 void SetSubnetGroup(SubnetGroupT&& value) {
285 m_subnetGroupHasBeenSet = true;
286 m_subnetGroup = std::forward<SubnetGroupT>(value);
287 }
288 template <typename SubnetGroupT = Aws::String>
289 Cluster& WithSubnetGroup(SubnetGroupT&& value) {
290 SetSubnetGroup(std::forward<SubnetGroupT>(value));
291 return *this;
292 }
294
296
300 inline const Aws::Vector<SecurityGroupMembership>& GetSecurityGroups() const { return m_securityGroups; }
301 inline bool SecurityGroupsHasBeenSet() const { return m_securityGroupsHasBeenSet; }
302 template <typename SecurityGroupsT = Aws::Vector<SecurityGroupMembership>>
303 void SetSecurityGroups(SecurityGroupsT&& value) {
304 m_securityGroupsHasBeenSet = true;
305 m_securityGroups = std::forward<SecurityGroupsT>(value);
306 }
307 template <typename SecurityGroupsT = Aws::Vector<SecurityGroupMembership>>
308 Cluster& WithSecurityGroups(SecurityGroupsT&& value) {
309 SetSecurityGroups(std::forward<SecurityGroupsT>(value));
310 return *this;
311 }
312 template <typename SecurityGroupsT = SecurityGroupMembership>
313 Cluster& AddSecurityGroups(SecurityGroupsT&& value) {
314 m_securityGroupsHasBeenSet = true;
315 m_securityGroups.emplace_back(std::forward<SecurityGroupsT>(value));
316 return *this;
317 }
319
321
326 inline const Aws::String& GetIamRoleArn() const { return m_iamRoleArn; }
327 inline bool IamRoleArnHasBeenSet() const { return m_iamRoleArnHasBeenSet; }
328 template <typename IamRoleArnT = Aws::String>
329 void SetIamRoleArn(IamRoleArnT&& value) {
330 m_iamRoleArnHasBeenSet = true;
331 m_iamRoleArn = std::forward<IamRoleArnT>(value);
332 }
333 template <typename IamRoleArnT = Aws::String>
334 Cluster& WithIamRoleArn(IamRoleArnT&& value) {
335 SetIamRoleArn(std::forward<IamRoleArnT>(value));
336 return *this;
337 }
339
341
344 inline const ParameterGroupStatus& GetParameterGroup() const { return m_parameterGroup; }
345 inline bool ParameterGroupHasBeenSet() const { return m_parameterGroupHasBeenSet; }
346 template <typename ParameterGroupT = ParameterGroupStatus>
347 void SetParameterGroup(ParameterGroupT&& value) {
348 m_parameterGroupHasBeenSet = true;
349 m_parameterGroup = std::forward<ParameterGroupT>(value);
350 }
351 template <typename ParameterGroupT = ParameterGroupStatus>
352 Cluster& WithParameterGroup(ParameterGroupT&& value) {
353 SetParameterGroup(std::forward<ParameterGroupT>(value));
354 return *this;
355 }
357
359
363 inline const SSEDescription& GetSSEDescription() const { return m_sSEDescription; }
364 inline bool SSEDescriptionHasBeenSet() const { return m_sSEDescriptionHasBeenSet; }
365 template <typename SSEDescriptionT = SSEDescription>
366 void SetSSEDescription(SSEDescriptionT&& value) {
367 m_sSEDescriptionHasBeenSet = true;
368 m_sSEDescription = std::forward<SSEDescriptionT>(value);
369 }
370 template <typename SSEDescriptionT = SSEDescription>
371 Cluster& WithSSEDescription(SSEDescriptionT&& value) {
372 SetSSEDescription(std::forward<SSEDescriptionT>(value));
373 return *this;
374 }
376
378
383 inline ClusterEndpointEncryptionType GetClusterEndpointEncryptionType() const { return m_clusterEndpointEncryptionType; }
384 inline bool ClusterEndpointEncryptionTypeHasBeenSet() const { return m_clusterEndpointEncryptionTypeHasBeenSet; }
386 m_clusterEndpointEncryptionTypeHasBeenSet = true;
387 m_clusterEndpointEncryptionType = value;
388 }
391 return *this;
392 }
394
396
402 inline NetworkType GetNetworkType() const { return m_networkType; }
403 inline bool NetworkTypeHasBeenSet() const { return m_networkTypeHasBeenSet; }
404 inline void SetNetworkType(NetworkType value) {
405 m_networkTypeHasBeenSet = true;
406 m_networkType = value;
407 }
409 SetNetworkType(value);
410 return *this;
411 }
413 private:
414 Aws::String m_clusterName;
415
416 Aws::String m_description;
417
418 Aws::String m_clusterArn;
419
420 int m_totalNodes{0};
421
422 int m_activeNodes{0};
423
424 Aws::String m_nodeType;
425
426 Aws::String m_status;
427
428 Endpoint m_clusterDiscoveryEndpoint;
429
430 Aws::Vector<Aws::String> m_nodeIdsToRemove;
431
432 Aws::Vector<Node> m_nodes;
433
434 Aws::String m_preferredMaintenanceWindow;
435
436 NotificationConfiguration m_notificationConfiguration;
437
438 Aws::String m_subnetGroup;
439
441
442 Aws::String m_iamRoleArn;
443
444 ParameterGroupStatus m_parameterGroup;
445
446 SSEDescription m_sSEDescription;
447
449
450 NetworkType m_networkType{NetworkType::NOT_SET};
451 bool m_clusterNameHasBeenSet = false;
452 bool m_descriptionHasBeenSet = false;
453 bool m_clusterArnHasBeenSet = false;
454 bool m_totalNodesHasBeenSet = false;
455 bool m_activeNodesHasBeenSet = false;
456 bool m_nodeTypeHasBeenSet = false;
457 bool m_statusHasBeenSet = false;
458 bool m_clusterDiscoveryEndpointHasBeenSet = false;
459 bool m_nodeIdsToRemoveHasBeenSet = false;
460 bool m_nodesHasBeenSet = false;
461 bool m_preferredMaintenanceWindowHasBeenSet = false;
462 bool m_notificationConfigurationHasBeenSet = false;
463 bool m_subnetGroupHasBeenSet = false;
464 bool m_securityGroupsHasBeenSet = false;
465 bool m_iamRoleArnHasBeenSet = false;
466 bool m_parameterGroupHasBeenSet = false;
467 bool m_sSEDescriptionHasBeenSet = false;
468 bool m_clusterEndpointEncryptionTypeHasBeenSet = false;
469 bool m_networkTypeHasBeenSet = false;
470};
471
472} // namespace Model
473} // namespace DAX
474} // namespace Aws
bool PreferredMaintenanceWindowHasBeenSet() const
Definition Cluster.h:244
void SetDescription(DescriptionT &&value)
Definition Cluster.h:69
bool TotalNodesHasBeenSet() const
Definition Cluster.h:103
const Aws::String & GetPreferredMaintenanceWindow() const
Definition Cluster.h:243
void SetNotificationConfiguration(NotificationConfigurationT &&value)
Definition Cluster.h:266
const SSEDescription & GetSSEDescription() const
Definition Cluster.h:363
Cluster & WithClusterName(ClusterNameT &&value)
Definition Cluster.h:56
const NotificationConfiguration & GetNotificationConfiguration() const
Definition Cluster.h:263
Cluster & WithSecurityGroups(SecurityGroupsT &&value)
Definition Cluster.h:308
void SetSubnetGroup(SubnetGroupT &&value)
Definition Cluster.h:284
Cluster & AddNodeIdsToRemove(NodeIdsToRemoveT &&value)
Definition Cluster.h:205
const Aws::String & GetStatus() const
Definition Cluster.h:154
Cluster & WithNodes(NodesT &&value)
Definition Cluster.h:224
AWS_DAX_API Aws::Utils::Json::JsonValue Jsonize() const
Cluster & AddSecurityGroups(SecurityGroupsT &&value)
Definition Cluster.h:313
const Aws::String & GetClusterArn() const
Definition Cluster.h:84
void SetSSEDescription(SSEDescriptionT &&value)
Definition Cluster.h:366
const Aws::String & GetDescription() const
Definition Cluster.h:66
void SetClusterName(ClusterNameT &&value)
Definition Cluster.h:51
bool NetworkTypeHasBeenSet() const
Definition Cluster.h:403
int GetTotalNodes() const
Definition Cluster.h:102
bool DescriptionHasBeenSet() const
Definition Cluster.h:67
AWS_DAX_API Cluster(Aws::Utils::Json::JsonView jsonValue)
Cluster & WithNetworkType(NetworkType value)
Definition Cluster.h:408
void SetActiveNodes(int value)
Definition Cluster.h:121
bool NodeTypeHasBeenSet() const
Definition Cluster.h:137
AWS_DAX_API Cluster()=default
Cluster & WithParameterGroup(ParameterGroupT &&value)
Definition Cluster.h:352
Cluster & WithPreferredMaintenanceWindow(PreferredMaintenanceWindowT &&value)
Definition Cluster.h:251
bool SecurityGroupsHasBeenSet() const
Definition Cluster.h:301
void SetClusterEndpointEncryptionType(ClusterEndpointEncryptionType value)
Definition Cluster.h:385
bool SubnetGroupHasBeenSet() const
Definition Cluster.h:282
NetworkType GetNetworkType() const
Definition Cluster.h:402
Cluster & AddNodes(NodesT &&value)
Definition Cluster.h:229
ClusterEndpointEncryptionType GetClusterEndpointEncryptionType() const
Definition Cluster.h:383
Cluster & WithSSEDescription(SSEDescriptionT &&value)
Definition Cluster.h:371
const Aws::String & GetClusterName() const
Definition Cluster.h:48
bool NotificationConfigurationHasBeenSet() const
Definition Cluster.h:264
AWS_DAX_API Cluster & operator=(Aws::Utils::Json::JsonView jsonValue)
bool ClusterDiscoveryEndpointHasBeenSet() const
Definition Cluster.h:175
const Aws::Vector< Node > & GetNodes() const
Definition Cluster.h:216
Cluster & WithActiveNodes(int value)
Definition Cluster.h:125
void SetClusterArn(ClusterArnT &&value)
Definition Cluster.h:87
int GetActiveNodes() const
Definition Cluster.h:119
Cluster & WithDescription(DescriptionT &&value)
Definition Cluster.h:74
void SetIamRoleArn(IamRoleArnT &&value)
Definition Cluster.h:329
const ParameterGroupStatus & GetParameterGroup() const
Definition Cluster.h:344
void SetClusterDiscoveryEndpoint(ClusterDiscoveryEndpointT &&value)
Definition Cluster.h:177
void SetSecurityGroups(SecurityGroupsT &&value)
Definition Cluster.h:303
bool ParameterGroupHasBeenSet() const
Definition Cluster.h:345
void SetNodeIdsToRemove(NodeIdsToRemoveT &&value)
Definition Cluster.h:195
void SetParameterGroup(ParameterGroupT &&value)
Definition Cluster.h:347
Cluster & WithIamRoleArn(IamRoleArnT &&value)
Definition Cluster.h:334
void SetNodes(NodesT &&value)
Definition Cluster.h:219
bool ClusterEndpointEncryptionTypeHasBeenSet() const
Definition Cluster.h:384
const Aws::String & GetIamRoleArn() const
Definition Cluster.h:326
bool SSEDescriptionHasBeenSet() const
Definition Cluster.h:364
const Aws::String & GetSubnetGroup() const
Definition Cluster.h:281
bool StatusHasBeenSet() const
Definition Cluster.h:155
Cluster & WithNodeIdsToRemove(NodeIdsToRemoveT &&value)
Definition Cluster.h:200
Cluster & WithClusterEndpointEncryptionType(ClusterEndpointEncryptionType value)
Definition Cluster.h:389
const Endpoint & GetClusterDiscoveryEndpoint() const
Definition Cluster.h:174
void SetStatus(StatusT &&value)
Definition Cluster.h:157
void SetTotalNodes(int value)
Definition Cluster.h:104
Cluster & WithSubnetGroup(SubnetGroupT &&value)
Definition Cluster.h:289
bool ActiveNodesHasBeenSet() const
Definition Cluster.h:120
bool NodeIdsToRemoveHasBeenSet() const
Definition Cluster.h:193
bool NodesHasBeenSet() const
Definition Cluster.h:217
void SetNodeType(NodeTypeT &&value)
Definition Cluster.h:139
Cluster & WithClusterArn(ClusterArnT &&value)
Definition Cluster.h:92
void SetNetworkType(NetworkType value)
Definition Cluster.h:404
Cluster & WithClusterDiscoveryEndpoint(ClusterDiscoveryEndpointT &&value)
Definition Cluster.h:182
bool IamRoleArnHasBeenSet() const
Definition Cluster.h:327
const Aws::String & GetNodeType() const
Definition Cluster.h:136
Cluster & WithNotificationConfiguration(NotificationConfigurationT &&value)
Definition Cluster.h:271
bool ClusterArnHasBeenSet() const
Definition Cluster.h:85
bool ClusterNameHasBeenSet() const
Definition Cluster.h:49
Cluster & WithStatus(StatusT &&value)
Definition Cluster.h:162
Cluster & WithNodeType(NodeTypeT &&value)
Definition Cluster.h:144
void SetPreferredMaintenanceWindow(PreferredMaintenanceWindowT &&value)
Definition Cluster.h:246
Cluster & WithTotalNodes(int value)
Definition Cluster.h:108
const Aws::Vector< SecurityGroupMembership > & GetSecurityGroups() const
Definition Cluster.h:300
const Aws::Vector< Aws::String > & GetNodeIdsToRemove() const
Definition Cluster.h:192
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue