AWS SDK for C++

AWS SDK for C++ Version 1.11.716

Loading...
Searching...
No Matches
NodeGroupConfiguration.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
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Xml {
17class XmlNode;
18} // namespace Xml
19} // namespace Utils
20namespace ElastiCache {
21namespace Model {
22
32 public:
33 AWS_ELASTICACHE_API NodeGroupConfiguration() = default;
34 AWS_ELASTICACHE_API NodeGroupConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode);
35 AWS_ELASTICACHE_API NodeGroupConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
36
37 AWS_ELASTICACHE_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
38 AWS_ELASTICACHE_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
39
41
45 inline const Aws::String& GetNodeGroupId() const { return m_nodeGroupId; }
46 inline bool NodeGroupIdHasBeenSet() const { return m_nodeGroupIdHasBeenSet; }
47 template <typename NodeGroupIdT = Aws::String>
48 void SetNodeGroupId(NodeGroupIdT&& value) {
49 m_nodeGroupIdHasBeenSet = true;
50 m_nodeGroupId = std::forward<NodeGroupIdT>(value);
51 }
52 template <typename NodeGroupIdT = Aws::String>
53 NodeGroupConfiguration& WithNodeGroupId(NodeGroupIdT&& value) {
54 SetNodeGroupId(std::forward<NodeGroupIdT>(value));
55 return *this;
56 }
58
60
65 inline const Aws::String& GetSlots() const { return m_slots; }
66 inline bool SlotsHasBeenSet() const { return m_slotsHasBeenSet; }
67 template <typename SlotsT = Aws::String>
68 void SetSlots(SlotsT&& value) {
69 m_slotsHasBeenSet = true;
70 m_slots = std::forward<SlotsT>(value);
71 }
72 template <typename SlotsT = Aws::String>
74 SetSlots(std::forward<SlotsT>(value));
75 return *this;
76 }
78
80
83 inline int GetReplicaCount() const { return m_replicaCount; }
84 inline bool ReplicaCountHasBeenSet() const { return m_replicaCountHasBeenSet; }
85 inline void SetReplicaCount(int value) {
86 m_replicaCountHasBeenSet = true;
87 m_replicaCount = value;
88 }
90 SetReplicaCount(value);
91 return *this;
92 }
94
96
100 inline const Aws::String& GetPrimaryAvailabilityZone() const { return m_primaryAvailabilityZone; }
101 inline bool PrimaryAvailabilityZoneHasBeenSet() const { return m_primaryAvailabilityZoneHasBeenSet; }
102 template <typename PrimaryAvailabilityZoneT = Aws::String>
103 void SetPrimaryAvailabilityZone(PrimaryAvailabilityZoneT&& value) {
104 m_primaryAvailabilityZoneHasBeenSet = true;
105 m_primaryAvailabilityZone = std::forward<PrimaryAvailabilityZoneT>(value);
106 }
107 template <typename PrimaryAvailabilityZoneT = Aws::String>
108 NodeGroupConfiguration& WithPrimaryAvailabilityZone(PrimaryAvailabilityZoneT&& value) {
109 SetPrimaryAvailabilityZone(std::forward<PrimaryAvailabilityZoneT>(value));
110 return *this;
111 }
113
115
121 inline const Aws::Vector<Aws::String>& GetReplicaAvailabilityZones() const { return m_replicaAvailabilityZones; }
122 inline bool ReplicaAvailabilityZonesHasBeenSet() const { return m_replicaAvailabilityZonesHasBeenSet; }
123 template <typename ReplicaAvailabilityZonesT = Aws::Vector<Aws::String>>
124 void SetReplicaAvailabilityZones(ReplicaAvailabilityZonesT&& value) {
125 m_replicaAvailabilityZonesHasBeenSet = true;
126 m_replicaAvailabilityZones = std::forward<ReplicaAvailabilityZonesT>(value);
127 }
128 template <typename ReplicaAvailabilityZonesT = Aws::Vector<Aws::String>>
129 NodeGroupConfiguration& WithReplicaAvailabilityZones(ReplicaAvailabilityZonesT&& value) {
130 SetReplicaAvailabilityZones(std::forward<ReplicaAvailabilityZonesT>(value));
131 return *this;
132 }
133 template <typename ReplicaAvailabilityZonesT = Aws::String>
134 NodeGroupConfiguration& AddReplicaAvailabilityZones(ReplicaAvailabilityZonesT&& value) {
135 m_replicaAvailabilityZonesHasBeenSet = true;
136 m_replicaAvailabilityZones.emplace_back(std::forward<ReplicaAvailabilityZonesT>(value));
137 return *this;
138 }
140
142
145 inline const Aws::String& GetPrimaryOutpostArn() const { return m_primaryOutpostArn; }
146 inline bool PrimaryOutpostArnHasBeenSet() const { return m_primaryOutpostArnHasBeenSet; }
147 template <typename PrimaryOutpostArnT = Aws::String>
148 void SetPrimaryOutpostArn(PrimaryOutpostArnT&& value) {
149 m_primaryOutpostArnHasBeenSet = true;
150 m_primaryOutpostArn = std::forward<PrimaryOutpostArnT>(value);
151 }
152 template <typename PrimaryOutpostArnT = Aws::String>
153 NodeGroupConfiguration& WithPrimaryOutpostArn(PrimaryOutpostArnT&& value) {
154 SetPrimaryOutpostArn(std::forward<PrimaryOutpostArnT>(value));
155 return *this;
156 }
158
160
163 inline const Aws::Vector<Aws::String>& GetReplicaOutpostArns() const { return m_replicaOutpostArns; }
164 inline bool ReplicaOutpostArnsHasBeenSet() const { return m_replicaOutpostArnsHasBeenSet; }
165 template <typename ReplicaOutpostArnsT = Aws::Vector<Aws::String>>
166 void SetReplicaOutpostArns(ReplicaOutpostArnsT&& value) {
167 m_replicaOutpostArnsHasBeenSet = true;
168 m_replicaOutpostArns = std::forward<ReplicaOutpostArnsT>(value);
169 }
170 template <typename ReplicaOutpostArnsT = Aws::Vector<Aws::String>>
171 NodeGroupConfiguration& WithReplicaOutpostArns(ReplicaOutpostArnsT&& value) {
172 SetReplicaOutpostArns(std::forward<ReplicaOutpostArnsT>(value));
173 return *this;
174 }
175 template <typename ReplicaOutpostArnsT = Aws::String>
176 NodeGroupConfiguration& AddReplicaOutpostArns(ReplicaOutpostArnsT&& value) {
177 m_replicaOutpostArnsHasBeenSet = true;
178 m_replicaOutpostArns.emplace_back(std::forward<ReplicaOutpostArnsT>(value));
179 return *this;
180 }
182 private:
183 Aws::String m_nodeGroupId;
184
185 Aws::String m_slots;
186
187 int m_replicaCount{0};
188
189 Aws::String m_primaryAvailabilityZone;
190
191 Aws::Vector<Aws::String> m_replicaAvailabilityZones;
192
193 Aws::String m_primaryOutpostArn;
194
195 Aws::Vector<Aws::String> m_replicaOutpostArns;
196 bool m_nodeGroupIdHasBeenSet = false;
197 bool m_slotsHasBeenSet = false;
198 bool m_replicaCountHasBeenSet = false;
199 bool m_primaryAvailabilityZoneHasBeenSet = false;
200 bool m_replicaAvailabilityZonesHasBeenSet = false;
201 bool m_primaryOutpostArnHasBeenSet = false;
202 bool m_replicaOutpostArnsHasBeenSet = false;
203};
204
205} // namespace Model
206} // namespace ElastiCache
207} // namespace Aws
NodeGroupConfiguration & WithReplicaAvailabilityZones(ReplicaAvailabilityZonesT &&value)
AWS_ELASTICACHE_API NodeGroupConfiguration()=default
NodeGroupConfiguration & WithPrimaryOutpostArn(PrimaryOutpostArnT &&value)
const Aws::Vector< Aws::String > & GetReplicaAvailabilityZones() const
NodeGroupConfiguration & WithSlots(SlotsT &&value)
AWS_ELASTICACHE_API NodeGroupConfiguration(const Aws::Utils::Xml::XmlNode &xmlNode)
void SetReplicaAvailabilityZones(ReplicaAvailabilityZonesT &&value)
AWS_ELASTICACHE_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
NodeGroupConfiguration & WithNodeGroupId(NodeGroupIdT &&value)
void SetPrimaryAvailabilityZone(PrimaryAvailabilityZoneT &&value)
void SetReplicaOutpostArns(ReplicaOutpostArnsT &&value)
NodeGroupConfiguration & WithPrimaryAvailabilityZone(PrimaryAvailabilityZoneT &&value)
NodeGroupConfiguration & AddReplicaOutpostArns(ReplicaOutpostArnsT &&value)
NodeGroupConfiguration & WithReplicaOutpostArns(ReplicaOutpostArnsT &&value)
AWS_ELASTICACHE_API NodeGroupConfiguration & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
AWS_ELASTICACHE_API void OutputToStream(Aws::OStream &oStream, const char *location) const
NodeGroupConfiguration & WithReplicaCount(int value)
const Aws::Vector< Aws::String > & GetReplicaOutpostArns() const
NodeGroupConfiguration & AddReplicaAvailabilityZones(ReplicaAvailabilityZonesT &&value)
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