AWS SDK for C++  0.12.9
AWS SDK for C++
NodeGroup.h
Go to the documentation of this file.
1 /*
2 * Copyright 2010-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License").
5 * You may not use this file except in compliance with the License.
6 * A copy of the License is located at
7 *
8 * http://aws.amazon.com/apache2.0
9 *
10 * or in the "license" file accompanying this file. This file is distributed
11 * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
12 * express or implied. See the License for the specific language governing
13 * permissions and limitations under the License.
14 */
15 #pragma once
22 
23 namespace Aws
24 {
25 namespace Utils
26 {
27 namespace Xml
28 {
29  class XmlNode;
30 } // namespace Xml
31 } // namespace Utils
32 namespace ElastiCache
33 {
34 namespace Model
35 {
36 
41  {
42  public:
43  NodeGroup();
44  NodeGroup(const Aws::Utils::Xml::XmlNode& xmlNode);
45  NodeGroup& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
46 
47  void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
48  void OutputToStream(Aws::OStream& oStream, const char* location) const;
49 
54  inline const Aws::String& GetNodeGroupId() const{ return m_nodeGroupId; }
55 
60  inline void SetNodeGroupId(const Aws::String& value) { m_nodeGroupIdHasBeenSet = true; m_nodeGroupId = value; }
61 
66  inline void SetNodeGroupId(Aws::String&& value) { m_nodeGroupIdHasBeenSet = true; m_nodeGroupId = value; }
67 
72  inline void SetNodeGroupId(const char* value) { m_nodeGroupIdHasBeenSet = true; m_nodeGroupId.assign(value); }
73 
78  inline NodeGroup& WithNodeGroupId(const Aws::String& value) { SetNodeGroupId(value); return *this;}
79 
84  inline NodeGroup& WithNodeGroupId(Aws::String&& value) { SetNodeGroupId(value); return *this;}
85 
90  inline NodeGroup& WithNodeGroupId(const char* value) { SetNodeGroupId(value); return *this;}
91 
96  inline const Aws::String& GetStatus() const{ return m_status; }
97 
102  inline void SetStatus(const Aws::String& value) { m_statusHasBeenSet = true; m_status = value; }
103 
108  inline void SetStatus(Aws::String&& value) { m_statusHasBeenSet = true; m_status = value; }
109 
114  inline void SetStatus(const char* value) { m_statusHasBeenSet = true; m_status.assign(value); }
115 
120  inline NodeGroup& WithStatus(const Aws::String& value) { SetStatus(value); return *this;}
121 
126  inline NodeGroup& WithStatus(Aws::String&& value) { SetStatus(value); return *this;}
127 
132  inline NodeGroup& WithStatus(const char* value) { SetStatus(value); return *this;}
133 
134 
135  inline const Endpoint& GetPrimaryEndpoint() const{ return m_primaryEndpoint; }
136 
137 
138  inline void SetPrimaryEndpoint(const Endpoint& value) { m_primaryEndpointHasBeenSet = true; m_primaryEndpoint = value; }
139 
140 
141  inline void SetPrimaryEndpoint(Endpoint&& value) { m_primaryEndpointHasBeenSet = true; m_primaryEndpoint = value; }
142 
143 
144  inline NodeGroup& WithPrimaryEndpoint(const Endpoint& value) { SetPrimaryEndpoint(value); return *this;}
145 
146 
147  inline NodeGroup& WithPrimaryEndpoint(Endpoint&& value) { SetPrimaryEndpoint(value); return *this;}
148 
153  inline const Aws::Vector<NodeGroupMember>& GetNodeGroupMembers() const{ return m_nodeGroupMembers; }
154 
159  inline void SetNodeGroupMembers(const Aws::Vector<NodeGroupMember>& value) { m_nodeGroupMembersHasBeenSet = true; m_nodeGroupMembers = value; }
160 
165  inline void SetNodeGroupMembers(Aws::Vector<NodeGroupMember>&& value) { m_nodeGroupMembersHasBeenSet = true; m_nodeGroupMembers = value; }
166 
171  inline NodeGroup& WithNodeGroupMembers(const Aws::Vector<NodeGroupMember>& value) { SetNodeGroupMembers(value); return *this;}
172 
177  inline NodeGroup& WithNodeGroupMembers(Aws::Vector<NodeGroupMember>&& value) { SetNodeGroupMembers(value); return *this;}
178 
183  inline NodeGroup& AddNodeGroupMembers(const NodeGroupMember& value) { m_nodeGroupMembersHasBeenSet = true; m_nodeGroupMembers.push_back(value); return *this; }
184 
189  inline NodeGroup& AddNodeGroupMembers(NodeGroupMember&& value) { m_nodeGroupMembersHasBeenSet = true; m_nodeGroupMembers.push_back(value); return *this; }
190 
191  private:
192  Aws::String m_nodeGroupId;
193  bool m_nodeGroupIdHasBeenSet;
194  Aws::String m_status;
195  bool m_statusHasBeenSet;
196  Endpoint m_primaryEndpoint;
197  bool m_primaryEndpointHasBeenSet;
198  Aws::Vector<NodeGroupMember> m_nodeGroupMembers;
199  bool m_nodeGroupMembersHasBeenSet;
200  };
201 
202 } // namespace Model
203 } // namespace ElastiCache
204 } // namespace Aws
void SetNodeGroupMembers(const Aws::Vector< NodeGroupMember > &value)
Definition: NodeGroup.h:159
NodeGroup & WithNodeGroupId(const Aws::String &value)
Definition: NodeGroup.h:78
void SetNodeGroupMembers(Aws::Vector< NodeGroupMember > &&value)
Definition: NodeGroup.h:165
NodeGroup & WithPrimaryEndpoint(Endpoint &&value)
Definition: NodeGroup.h:147
void SetPrimaryEndpoint(const Endpoint &value)
Definition: NodeGroup.h:138
void SetStatus(const Aws::String &value)
Definition: NodeGroup.h:102
const Aws::Vector< NodeGroupMember > & GetNodeGroupMembers() const
Definition: NodeGroup.h:153
NodeGroup & WithPrimaryEndpoint(const Endpoint &value)
Definition: NodeGroup.h:144
const Aws::String & GetStatus() const
Definition: NodeGroup.h:96
NodeGroup & WithNodeGroupId(const char *value)
Definition: NodeGroup.h:90
std::vector< T, Aws::Allocator< T > > Vector
Definition: AWSVector.h:27
NodeGroup & WithStatus(const Aws::String &value)
Definition: NodeGroup.h:120
const Aws::String & GetNodeGroupId() const
Definition: NodeGroup.h:54
void SetStatus(const char *value)
Definition: NodeGroup.h:114
NodeGroup & WithNodeGroupId(Aws::String &&value)
Definition: NodeGroup.h:84
NodeGroup & WithStatus(const char *value)
Definition: NodeGroup.h:132
void SetPrimaryEndpoint(Endpoint &&value)
Definition: NodeGroup.h:141
void SetNodeGroupId(Aws::String &&value)
Definition: NodeGroup.h:66
NodeGroup & WithStatus(Aws::String &&value)
Definition: NodeGroup.h:126
const Endpoint & GetPrimaryEndpoint() const
Definition: NodeGroup.h:135
NodeGroup & AddNodeGroupMembers(NodeGroupMember &&value)
Definition: NodeGroup.h:189
std::basic_ostream< char, std::char_traits< char > > OStream
Definition: AWSStreamFwd.h:31
void SetNodeGroupId(const Aws::String &value)
Definition: NodeGroup.h:60
void SetStatus(Aws::String &&value)
Definition: NodeGroup.h:108
NodeGroup & WithNodeGroupMembers(const Aws::Vector< NodeGroupMember > &value)
Definition: NodeGroup.h:171
NodeGroup & WithNodeGroupMembers(Aws::Vector< NodeGroupMember > &&value)
Definition: NodeGroup.h:177
void SetNodeGroupId(const char *value)
Definition: NodeGroup.h:72
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
#define AWS_ELASTICACHE_API
NodeGroup & AddNodeGroupMembers(const NodeGroupMember &value)
Definition: NodeGroup.h:183
JSON (JavaScript Object Notation).