AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
AvailabilityZone.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/ec2/EC2_EXPORTS.h>
11#include <aws/ec2/model/AvailabilityZoneMessage.h>
12#include <aws/ec2/model/AvailabilityZoneOptInStatus.h>
13#include <aws/ec2/model/AvailabilityZoneState.h>
14
15#include <utility>
16
17namespace Aws {
18namespace Utils {
19namespace Xml {
20class XmlNode;
21} // namespace Xml
22} // namespace Utils
23namespace EC2 {
24namespace Model {
25
33 public:
34 AWS_EC2_API AvailabilityZone() = default;
35 AWS_EC2_API AvailabilityZone(const Aws::Utils::Xml::XmlNode& xmlNode);
37
38 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
39 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
40
42
48 inline AvailabilityZoneOptInStatus GetOptInStatus() const { return m_optInStatus; }
49 inline bool OptInStatusHasBeenSet() const { return m_optInStatusHasBeenSet; }
51 m_optInStatusHasBeenSet = true;
52 m_optInStatus = value;
53 }
55 SetOptInStatus(value);
56 return *this;
57 }
59
61
64 inline const Aws::Vector<AvailabilityZoneMessage>& GetMessages() const { return m_messages; }
65 inline bool MessagesHasBeenSet() const { return m_messagesHasBeenSet; }
66 template <typename MessagesT = Aws::Vector<AvailabilityZoneMessage>>
67 void SetMessages(MessagesT&& value) {
68 m_messagesHasBeenSet = true;
69 m_messages = std::forward<MessagesT>(value);
70 }
71 template <typename MessagesT = Aws::Vector<AvailabilityZoneMessage>>
72 AvailabilityZone& WithMessages(MessagesT&& value) {
73 SetMessages(std::forward<MessagesT>(value));
74 return *this;
75 }
76 template <typename MessagesT = AvailabilityZoneMessage>
77 AvailabilityZone& AddMessages(MessagesT&& value) {
78 m_messagesHasBeenSet = true;
79 m_messages.emplace_back(std::forward<MessagesT>(value));
80 return *this;
81 }
83
85
88 inline const Aws::String& GetRegionName() const { return m_regionName; }
89 inline bool RegionNameHasBeenSet() const { return m_regionNameHasBeenSet; }
90 template <typename RegionNameT = Aws::String>
91 void SetRegionName(RegionNameT&& value) {
92 m_regionNameHasBeenSet = true;
93 m_regionName = std::forward<RegionNameT>(value);
94 }
95 template <typename RegionNameT = Aws::String>
96 AvailabilityZone& WithRegionName(RegionNameT&& value) {
97 SetRegionName(std::forward<RegionNameT>(value));
98 return *this;
99 }
101
103
106 inline const Aws::String& GetZoneName() const { return m_zoneName; }
107 inline bool ZoneNameHasBeenSet() const { return m_zoneNameHasBeenSet; }
108 template <typename ZoneNameT = Aws::String>
109 void SetZoneName(ZoneNameT&& value) {
110 m_zoneNameHasBeenSet = true;
111 m_zoneName = std::forward<ZoneNameT>(value);
112 }
113 template <typename ZoneNameT = Aws::String>
114 AvailabilityZone& WithZoneName(ZoneNameT&& value) {
115 SetZoneName(std::forward<ZoneNameT>(value));
116 return *this;
117 }
119
121
124 inline const Aws::String& GetZoneId() const { return m_zoneId; }
125 inline bool ZoneIdHasBeenSet() const { return m_zoneIdHasBeenSet; }
126 template <typename ZoneIdT = Aws::String>
127 void SetZoneId(ZoneIdT&& value) {
128 m_zoneIdHasBeenSet = true;
129 m_zoneId = std::forward<ZoneIdT>(value);
130 }
131 template <typename ZoneIdT = Aws::String>
132 AvailabilityZone& WithZoneId(ZoneIdT&& value) {
133 SetZoneId(std::forward<ZoneIdT>(value));
134 return *this;
135 }
137
139
145 inline const Aws::String& GetGroupName() const { return m_groupName; }
146 inline bool GroupNameHasBeenSet() const { return m_groupNameHasBeenSet; }
147 template <typename GroupNameT = Aws::String>
148 void SetGroupName(GroupNameT&& value) {
149 m_groupNameHasBeenSet = true;
150 m_groupName = std::forward<GroupNameT>(value);
151 }
152 template <typename GroupNameT = Aws::String>
153 AvailabilityZone& WithGroupName(GroupNameT&& value) {
154 SetGroupName(std::forward<GroupNameT>(value));
155 return *this;
156 }
158
160
163 inline const Aws::String& GetNetworkBorderGroup() const { return m_networkBorderGroup; }
164 inline bool NetworkBorderGroupHasBeenSet() const { return m_networkBorderGroupHasBeenSet; }
165 template <typename NetworkBorderGroupT = Aws::String>
166 void SetNetworkBorderGroup(NetworkBorderGroupT&& value) {
167 m_networkBorderGroupHasBeenSet = true;
168 m_networkBorderGroup = std::forward<NetworkBorderGroupT>(value);
169 }
170 template <typename NetworkBorderGroupT = Aws::String>
171 AvailabilityZone& WithNetworkBorderGroup(NetworkBorderGroupT&& value) {
172 SetNetworkBorderGroup(std::forward<NetworkBorderGroupT>(value));
173 return *this;
174 }
176
178
182 inline const Aws::String& GetZoneType() const { return m_zoneType; }
183 inline bool ZoneTypeHasBeenSet() const { return m_zoneTypeHasBeenSet; }
184 template <typename ZoneTypeT = Aws::String>
185 void SetZoneType(ZoneTypeT&& value) {
186 m_zoneTypeHasBeenSet = true;
187 m_zoneType = std::forward<ZoneTypeT>(value);
188 }
189 template <typename ZoneTypeT = Aws::String>
190 AvailabilityZone& WithZoneType(ZoneTypeT&& value) {
191 SetZoneType(std::forward<ZoneTypeT>(value));
192 return *this;
193 }
195
197
201 inline const Aws::String& GetParentZoneName() const { return m_parentZoneName; }
202 inline bool ParentZoneNameHasBeenSet() const { return m_parentZoneNameHasBeenSet; }
203 template <typename ParentZoneNameT = Aws::String>
204 void SetParentZoneName(ParentZoneNameT&& value) {
205 m_parentZoneNameHasBeenSet = true;
206 m_parentZoneName = std::forward<ParentZoneNameT>(value);
207 }
208 template <typename ParentZoneNameT = Aws::String>
209 AvailabilityZone& WithParentZoneName(ParentZoneNameT&& value) {
210 SetParentZoneName(std::forward<ParentZoneNameT>(value));
211 return *this;
212 }
214
216
220 inline const Aws::String& GetParentZoneId() const { return m_parentZoneId; }
221 inline bool ParentZoneIdHasBeenSet() const { return m_parentZoneIdHasBeenSet; }
222 template <typename ParentZoneIdT = Aws::String>
223 void SetParentZoneId(ParentZoneIdT&& value) {
224 m_parentZoneIdHasBeenSet = true;
225 m_parentZoneId = std::forward<ParentZoneIdT>(value);
226 }
227 template <typename ParentZoneIdT = Aws::String>
228 AvailabilityZone& WithParentZoneId(ParentZoneIdT&& value) {
229 SetParentZoneId(std::forward<ParentZoneIdT>(value));
230 return *this;
231 }
233
235
239 inline const Aws::String& GetGroupLongName() const { return m_groupLongName; }
240 inline bool GroupLongNameHasBeenSet() const { return m_groupLongNameHasBeenSet; }
241 template <typename GroupLongNameT = Aws::String>
242 void SetGroupLongName(GroupLongNameT&& value) {
243 m_groupLongNameHasBeenSet = true;
244 m_groupLongName = std::forward<GroupLongNameT>(value);
245 }
246 template <typename GroupLongNameT = Aws::String>
247 AvailabilityZone& WithGroupLongName(GroupLongNameT&& value) {
248 SetGroupLongName(std::forward<GroupLongNameT>(value));
249 return *this;
250 }
252
254
259 inline AvailabilityZoneState GetState() const { return m_state; }
260 inline bool StateHasBeenSet() const { return m_stateHasBeenSet; }
261 inline void SetState(AvailabilityZoneState value) {
262 m_stateHasBeenSet = true;
263 m_state = value;
264 }
266 SetState(value);
267 return *this;
268 }
270 private:
272
274
275 Aws::String m_regionName;
276
277 Aws::String m_zoneName;
278
279 Aws::String m_zoneId;
280
281 Aws::String m_groupName;
282
283 Aws::String m_networkBorderGroup;
284
285 Aws::String m_zoneType;
286
287 Aws::String m_parentZoneName;
288
289 Aws::String m_parentZoneId;
290
291 Aws::String m_groupLongName;
292
294 bool m_optInStatusHasBeenSet = false;
295 bool m_messagesHasBeenSet = false;
296 bool m_regionNameHasBeenSet = false;
297 bool m_zoneNameHasBeenSet = false;
298 bool m_zoneIdHasBeenSet = false;
299 bool m_groupNameHasBeenSet = false;
300 bool m_networkBorderGroupHasBeenSet = false;
301 bool m_zoneTypeHasBeenSet = false;
302 bool m_parentZoneNameHasBeenSet = false;
303 bool m_parentZoneIdHasBeenSet = false;
304 bool m_groupLongNameHasBeenSet = false;
305 bool m_stateHasBeenSet = false;
306};
307
308} // namespace Model
309} // namespace EC2
310} // namespace Aws
const Aws::String & GetZoneId() const
const Aws::String & GetParentZoneId() const
AvailabilityZone & WithZoneType(ZoneTypeT &&value)
AWS_EC2_API AvailabilityZone()=default
const Aws::Vector< AvailabilityZoneMessage > & GetMessages() const
void SetGroupLongName(GroupLongNameT &&value)
const Aws::String & GetGroupName() const
AvailabilityZone & AddMessages(MessagesT &&value)
void SetNetworkBorderGroup(NetworkBorderGroupT &&value)
void SetZoneName(ZoneNameT &&value)
void SetRegionName(RegionNameT &&value)
AvailabilityZone & WithState(AvailabilityZoneState value)
const Aws::String & GetZoneType() const
AvailabilityZoneOptInStatus GetOptInStatus() const
AvailabilityZoneState GetState() const
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
void SetGroupName(GroupNameT &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
const Aws::String & GetZoneName() const
AvailabilityZone & WithRegionName(RegionNameT &&value)
void SetZoneType(ZoneTypeT &&value)
AWS_EC2_API AvailabilityZone(const Aws::Utils::Xml::XmlNode &xmlNode)
AvailabilityZone & WithZoneId(ZoneIdT &&value)
AvailabilityZone & WithZoneName(ZoneNameT &&value)
AvailabilityZone & WithGroupName(GroupNameT &&value)
AvailabilityZone & WithMessages(MessagesT &&value)
void SetOptInStatus(AvailabilityZoneOptInStatus value)
const Aws::String & GetRegionName() const
void SetMessages(MessagesT &&value)
AvailabilityZone & WithNetworkBorderGroup(NetworkBorderGroupT &&value)
const Aws::String & GetGroupLongName() const
AvailabilityZone & WithOptInStatus(AvailabilityZoneOptInStatus value)
void SetParentZoneId(ParentZoneIdT &&value)
AvailabilityZone & WithParentZoneName(ParentZoneNameT &&value)
AvailabilityZone & WithParentZoneId(ParentZoneIdT &&value)
const Aws::String & GetParentZoneName() const
void SetParentZoneName(ParentZoneNameT &&value)
AvailabilityZone & WithGroupLongName(GroupLongNameT &&value)
void SetState(AvailabilityZoneState value)
const Aws::String & GetNetworkBorderGroup() const
AWS_EC2_API AvailabilityZone & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
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