AWS SDK for C++

AWS SDK for C++ Version 1.11.716

Loading...
Searching...
No Matches
ConfigureShard.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
31 public:
32 AWS_ELASTICACHE_API ConfigureShard() = default;
33 AWS_ELASTICACHE_API ConfigureShard(const Aws::Utils::Xml::XmlNode& xmlNode);
34 AWS_ELASTICACHE_API ConfigureShard& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
35
36 AWS_ELASTICACHE_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
37 AWS_ELASTICACHE_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
38
40
48 inline const Aws::String& GetNodeGroupId() const { return m_nodeGroupId; }
49 inline bool NodeGroupIdHasBeenSet() const { return m_nodeGroupIdHasBeenSet; }
50 template <typename NodeGroupIdT = Aws::String>
51 void SetNodeGroupId(NodeGroupIdT&& value) {
52 m_nodeGroupIdHasBeenSet = true;
53 m_nodeGroupId = std::forward<NodeGroupIdT>(value);
54 }
55 template <typename NodeGroupIdT = Aws::String>
56 ConfigureShard& WithNodeGroupId(NodeGroupIdT&& value) {
57 SetNodeGroupId(std::forward<NodeGroupIdT>(value));
58 return *this;
59 }
61
63
73 inline int GetNewReplicaCount() const { return m_newReplicaCount; }
74 inline bool NewReplicaCountHasBeenSet() const { return m_newReplicaCountHasBeenSet; }
75 inline void SetNewReplicaCount(int value) {
76 m_newReplicaCountHasBeenSet = true;
77 m_newReplicaCount = value;
78 }
80 SetNewReplicaCount(value);
81 return *this;
82 }
84
86
94 inline const Aws::Vector<Aws::String>& GetPreferredAvailabilityZones() const { return m_preferredAvailabilityZones; }
95 inline bool PreferredAvailabilityZonesHasBeenSet() const { return m_preferredAvailabilityZonesHasBeenSet; }
96 template <typename PreferredAvailabilityZonesT = Aws::Vector<Aws::String>>
97 void SetPreferredAvailabilityZones(PreferredAvailabilityZonesT&& value) {
98 m_preferredAvailabilityZonesHasBeenSet = true;
99 m_preferredAvailabilityZones = std::forward<PreferredAvailabilityZonesT>(value);
100 }
101 template <typename PreferredAvailabilityZonesT = Aws::Vector<Aws::String>>
102 ConfigureShard& WithPreferredAvailabilityZones(PreferredAvailabilityZonesT&& value) {
103 SetPreferredAvailabilityZones(std::forward<PreferredAvailabilityZonesT>(value));
104 return *this;
105 }
106 template <typename PreferredAvailabilityZonesT = Aws::String>
107 ConfigureShard& AddPreferredAvailabilityZones(PreferredAvailabilityZonesT&& value) {
108 m_preferredAvailabilityZonesHasBeenSet = true;
109 m_preferredAvailabilityZones.emplace_back(std::forward<PreferredAvailabilityZonesT>(value));
110 return *this;
111 }
113
115
118 inline const Aws::Vector<Aws::String>& GetPreferredOutpostArns() const { return m_preferredOutpostArns; }
119 inline bool PreferredOutpostArnsHasBeenSet() const { return m_preferredOutpostArnsHasBeenSet; }
120 template <typename PreferredOutpostArnsT = Aws::Vector<Aws::String>>
121 void SetPreferredOutpostArns(PreferredOutpostArnsT&& value) {
122 m_preferredOutpostArnsHasBeenSet = true;
123 m_preferredOutpostArns = std::forward<PreferredOutpostArnsT>(value);
124 }
125 template <typename PreferredOutpostArnsT = Aws::Vector<Aws::String>>
126 ConfigureShard& WithPreferredOutpostArns(PreferredOutpostArnsT&& value) {
127 SetPreferredOutpostArns(std::forward<PreferredOutpostArnsT>(value));
128 return *this;
129 }
130 template <typename PreferredOutpostArnsT = Aws::String>
131 ConfigureShard& AddPreferredOutpostArns(PreferredOutpostArnsT&& value) {
132 m_preferredOutpostArnsHasBeenSet = true;
133 m_preferredOutpostArns.emplace_back(std::forward<PreferredOutpostArnsT>(value));
134 return *this;
135 }
137 private:
138 Aws::String m_nodeGroupId;
139
140 int m_newReplicaCount{0};
141
142 Aws::Vector<Aws::String> m_preferredAvailabilityZones;
143
144 Aws::Vector<Aws::String> m_preferredOutpostArns;
145 bool m_nodeGroupIdHasBeenSet = false;
146 bool m_newReplicaCountHasBeenSet = false;
147 bool m_preferredAvailabilityZonesHasBeenSet = false;
148 bool m_preferredOutpostArnsHasBeenSet = false;
149};
150
151} // namespace Model
152} // namespace ElastiCache
153} // namespace Aws
ConfigureShard & WithNodeGroupId(NodeGroupIdT &&value)
ConfigureShard & AddPreferredAvailabilityZones(PreferredAvailabilityZonesT &&value)
void SetPreferredOutpostArns(PreferredOutpostArnsT &&value)
void SetPreferredAvailabilityZones(PreferredAvailabilityZonesT &&value)
ConfigureShard & WithNewReplicaCount(int value)
AWS_ELASTICACHE_API ConfigureShard & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
AWS_ELASTICACHE_API ConfigureShard(const Aws::Utils::Xml::XmlNode &xmlNode)
AWS_ELASTICACHE_API ConfigureShard()=default
const Aws::String & GetNodeGroupId() const
void SetNodeGroupId(NodeGroupIdT &&value)
const Aws::Vector< Aws::String > & GetPreferredAvailabilityZones() const
AWS_ELASTICACHE_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
const Aws::Vector< Aws::String > & GetPreferredOutpostArns() const
ConfigureShard & WithPreferredOutpostArns(PreferredOutpostArnsT &&value)
ConfigureShard & WithPreferredAvailabilityZones(PreferredAvailabilityZonesT &&value)
ConfigureShard & AddPreferredOutpostArns(PreferredOutpostArnsT &&value)
AWS_ELASTICACHE_API void OutputToStream(Aws::OStream &oStream, const char *location) const
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