AWS SDK for C++

AWS SDK for C++ Version 1.11.716

Loading...
Searching...
No Matches
NodeGroup.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/elasticache/ElastiCache_EXPORTS.h>
11#include <aws/elasticache/model/Endpoint.h>
12#include <aws/elasticache/model/NodeGroupMember.h>
13
14#include <utility>
15
16namespace Aws {
17namespace Utils {
18namespace Xml {
19class XmlNode;
20} // namespace Xml
21} // namespace Utils
22namespace ElastiCache {
23namespace Model {
24
32class NodeGroup {
33 public:
34 AWS_ELASTICACHE_API NodeGroup() = default;
35 AWS_ELASTICACHE_API NodeGroup(const Aws::Utils::Xml::XmlNode& xmlNode);
36 AWS_ELASTICACHE_API NodeGroup& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
37
38 AWS_ELASTICACHE_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
39 AWS_ELASTICACHE_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
40
42
49 inline const Aws::String& GetNodeGroupId() const { return m_nodeGroupId; }
50 inline bool NodeGroupIdHasBeenSet() const { return m_nodeGroupIdHasBeenSet; }
51 template <typename NodeGroupIdT = Aws::String>
52 void SetNodeGroupId(NodeGroupIdT&& value) {
53 m_nodeGroupIdHasBeenSet = true;
54 m_nodeGroupId = std::forward<NodeGroupIdT>(value);
55 }
56 template <typename NodeGroupIdT = Aws::String>
57 NodeGroup& WithNodeGroupId(NodeGroupIdT&& value) {
58 SetNodeGroupId(std::forward<NodeGroupIdT>(value));
59 return *this;
60 }
62
64
68 inline const Aws::String& GetStatus() const { return m_status; }
69 inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
70 template <typename StatusT = Aws::String>
71 void SetStatus(StatusT&& value) {
72 m_statusHasBeenSet = true;
73 m_status = std::forward<StatusT>(value);
74 }
75 template <typename StatusT = Aws::String>
76 NodeGroup& WithStatus(StatusT&& value) {
77 SetStatus(std::forward<StatusT>(value));
78 return *this;
79 }
81
83
86 inline const Endpoint& GetPrimaryEndpoint() const { return m_primaryEndpoint; }
87 inline bool PrimaryEndpointHasBeenSet() const { return m_primaryEndpointHasBeenSet; }
88 template <typename PrimaryEndpointT = Endpoint>
89 void SetPrimaryEndpoint(PrimaryEndpointT&& value) {
90 m_primaryEndpointHasBeenSet = true;
91 m_primaryEndpoint = std::forward<PrimaryEndpointT>(value);
92 }
93 template <typename PrimaryEndpointT = Endpoint>
94 NodeGroup& WithPrimaryEndpoint(PrimaryEndpointT&& value) {
95 SetPrimaryEndpoint(std::forward<PrimaryEndpointT>(value));
96 return *this;
97 }
99
101
105 inline const Endpoint& GetReaderEndpoint() const { return m_readerEndpoint; }
106 inline bool ReaderEndpointHasBeenSet() const { return m_readerEndpointHasBeenSet; }
107 template <typename ReaderEndpointT = Endpoint>
108 void SetReaderEndpoint(ReaderEndpointT&& value) {
109 m_readerEndpointHasBeenSet = true;
110 m_readerEndpoint = std::forward<ReaderEndpointT>(value);
111 }
112 template <typename ReaderEndpointT = Endpoint>
113 NodeGroup& WithReaderEndpoint(ReaderEndpointT&& value) {
114 SetReaderEndpoint(std::forward<ReaderEndpointT>(value));
115 return *this;
116 }
118
120
123 inline const Aws::String& GetSlots() const { return m_slots; }
124 inline bool SlotsHasBeenSet() const { return m_slotsHasBeenSet; }
125 template <typename SlotsT = Aws::String>
126 void SetSlots(SlotsT&& value) {
127 m_slotsHasBeenSet = true;
128 m_slots = std::forward<SlotsT>(value);
129 }
130 template <typename SlotsT = Aws::String>
131 NodeGroup& WithSlots(SlotsT&& value) {
132 SetSlots(std::forward<SlotsT>(value));
133 return *this;
134 }
136
138
142 inline const Aws::Vector<NodeGroupMember>& GetNodeGroupMembers() const { return m_nodeGroupMembers; }
143 inline bool NodeGroupMembersHasBeenSet() const { return m_nodeGroupMembersHasBeenSet; }
144 template <typename NodeGroupMembersT = Aws::Vector<NodeGroupMember>>
145 void SetNodeGroupMembers(NodeGroupMembersT&& value) {
146 m_nodeGroupMembersHasBeenSet = true;
147 m_nodeGroupMembers = std::forward<NodeGroupMembersT>(value);
148 }
149 template <typename NodeGroupMembersT = Aws::Vector<NodeGroupMember>>
150 NodeGroup& WithNodeGroupMembers(NodeGroupMembersT&& value) {
151 SetNodeGroupMembers(std::forward<NodeGroupMembersT>(value));
152 return *this;
153 }
154 template <typename NodeGroupMembersT = NodeGroupMember>
155 NodeGroup& AddNodeGroupMembers(NodeGroupMembersT&& value) {
156 m_nodeGroupMembersHasBeenSet = true;
157 m_nodeGroupMembers.emplace_back(std::forward<NodeGroupMembersT>(value));
158 return *this;
159 }
161 private:
162 Aws::String m_nodeGroupId;
163
164 Aws::String m_status;
165
166 Endpoint m_primaryEndpoint;
167
168 Endpoint m_readerEndpoint;
169
170 Aws::String m_slots;
171
172 Aws::Vector<NodeGroupMember> m_nodeGroupMembers;
173 bool m_nodeGroupIdHasBeenSet = false;
174 bool m_statusHasBeenSet = false;
175 bool m_primaryEndpointHasBeenSet = false;
176 bool m_readerEndpointHasBeenSet = false;
177 bool m_slotsHasBeenSet = false;
178 bool m_nodeGroupMembersHasBeenSet = false;
179};
180
181} // namespace Model
182} // namespace ElastiCache
183} // namespace Aws
AWS_ELASTICACHE_API NodeGroup & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
NodeGroup & WithStatus(StatusT &&value)
Definition NodeGroup.h:76
const Endpoint & GetPrimaryEndpoint() const
Definition NodeGroup.h:86
NodeGroup & AddNodeGroupMembers(NodeGroupMembersT &&value)
Definition NodeGroup.h:155
NodeGroup & WithSlots(SlotsT &&value)
Definition NodeGroup.h:131
const Endpoint & GetReaderEndpoint() const
Definition NodeGroup.h:105
AWS_ELASTICACHE_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
void SetPrimaryEndpoint(PrimaryEndpointT &&value)
Definition NodeGroup.h:89
const Aws::String & GetNodeGroupId() const
Definition NodeGroup.h:49
void SetStatus(StatusT &&value)
Definition NodeGroup.h:71
void SetNodeGroupId(NodeGroupIdT &&value)
Definition NodeGroup.h:52
AWS_ELASTICACHE_API NodeGroup(const Aws::Utils::Xml::XmlNode &xmlNode)
void SetReaderEndpoint(ReaderEndpointT &&value)
Definition NodeGroup.h:108
NodeGroup & WithPrimaryEndpoint(PrimaryEndpointT &&value)
Definition NodeGroup.h:94
AWS_ELASTICACHE_API NodeGroup()=default
void SetNodeGroupMembers(NodeGroupMembersT &&value)
Definition NodeGroup.h:145
AWS_ELASTICACHE_API void OutputToStream(Aws::OStream &oStream, const char *location) const
const Aws::String & GetSlots() const
Definition NodeGroup.h:123
const Aws::Vector< NodeGroupMember > & GetNodeGroupMembers() const
Definition NodeGroup.h:142
NodeGroup & WithNodeGroupMembers(NodeGroupMembersT &&value)
Definition NodeGroup.h:150
NodeGroup & WithNodeGroupId(NodeGroupIdT &&value)
Definition NodeGroup.h:57
const Aws::String & GetStatus() const
Definition NodeGroup.h:68
void SetSlots(SlotsT &&value)
Definition NodeGroup.h:126
NodeGroup & WithReaderEndpoint(ReaderEndpointT &&value)
Definition NodeGroup.h:113
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
std::basic_ostream< char, std::char_traits< char > > OStream