AWS SDK for C++

AWS SDK for C++ Version 1.11.816

Loading...
Searching...
No Matches
VolumeStatusItem.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/InitializationStatusDetails.h>
12#include <aws/ec2/model/OperatorResponse.h>
13#include <aws/ec2/model/VolumeStatusAction.h>
14#include <aws/ec2/model/VolumeStatusAttachmentStatus.h>
15#include <aws/ec2/model/VolumeStatusEvent.h>
16#include <aws/ec2/model/VolumeStatusInfo.h>
17
18#include <utility>
19
20namespace Aws {
21namespace Utils {
22namespace Xml {
23class XmlNode;
24} // namespace Xml
25} // namespace Utils
26namespace EC2 {
27namespace Model {
28
35 public:
36 AWS_EC2_API VolumeStatusItem() = default;
37 AWS_EC2_API VolumeStatusItem(const Aws::Utils::Xml::XmlNode& xmlNode);
39
40 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
41 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
42
44
47 inline const Aws::Vector<VolumeStatusAction>& GetActions() const { return m_actions; }
48 inline bool ActionsHasBeenSet() const { return m_actionsHasBeenSet; }
49 template <typename ActionsT = Aws::Vector<VolumeStatusAction>>
50 void SetActions(ActionsT&& value) {
51 m_actionsHasBeenSet = true;
52 m_actions = std::forward<ActionsT>(value);
53 }
54 template <typename ActionsT = Aws::Vector<VolumeStatusAction>>
55 VolumeStatusItem& WithActions(ActionsT&& value) {
56 SetActions(std::forward<ActionsT>(value));
57 return *this;
58 }
59 template <typename ActionsT = VolumeStatusAction>
60 VolumeStatusItem& AddActions(ActionsT&& value) {
61 m_actionsHasBeenSet = true;
62 m_actions.emplace_back(std::forward<ActionsT>(value));
63 return *this;
64 }
66
68
71 inline const Aws::String& GetAvailabilityZone() const { return m_availabilityZone; }
72 inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; }
73 template <typename AvailabilityZoneT = Aws::String>
74 void SetAvailabilityZone(AvailabilityZoneT&& value) {
75 m_availabilityZoneHasBeenSet = true;
76 m_availabilityZone = std::forward<AvailabilityZoneT>(value);
77 }
78 template <typename AvailabilityZoneT = Aws::String>
79 VolumeStatusItem& WithAvailabilityZone(AvailabilityZoneT&& value) {
80 SetAvailabilityZone(std::forward<AvailabilityZoneT>(value));
81 return *this;
82 }
84
86
89 inline const Aws::String& GetOutpostArn() const { return m_outpostArn; }
90 inline bool OutpostArnHasBeenSet() const { return m_outpostArnHasBeenSet; }
91 template <typename OutpostArnT = Aws::String>
92 void SetOutpostArn(OutpostArnT&& value) {
93 m_outpostArnHasBeenSet = true;
94 m_outpostArn = std::forward<OutpostArnT>(value);
95 }
96 template <typename OutpostArnT = Aws::String>
97 VolumeStatusItem& WithOutpostArn(OutpostArnT&& value) {
98 SetOutpostArn(std::forward<OutpostArnT>(value));
99 return *this;
100 }
102
104
107 inline const Aws::Vector<VolumeStatusEvent>& GetEvents() const { return m_events; }
108 inline bool EventsHasBeenSet() const { return m_eventsHasBeenSet; }
109 template <typename EventsT = Aws::Vector<VolumeStatusEvent>>
110 void SetEvents(EventsT&& value) {
111 m_eventsHasBeenSet = true;
112 m_events = std::forward<EventsT>(value);
113 }
114 template <typename EventsT = Aws::Vector<VolumeStatusEvent>>
115 VolumeStatusItem& WithEvents(EventsT&& value) {
116 SetEvents(std::forward<EventsT>(value));
117 return *this;
118 }
119 template <typename EventsT = VolumeStatusEvent>
120 VolumeStatusItem& AddEvents(EventsT&& value) {
121 m_eventsHasBeenSet = true;
122 m_events.emplace_back(std::forward<EventsT>(value));
123 return *this;
124 }
126
128
131 inline const Aws::String& GetVolumeId() const { return m_volumeId; }
132 inline bool VolumeIdHasBeenSet() const { return m_volumeIdHasBeenSet; }
133 template <typename VolumeIdT = Aws::String>
134 void SetVolumeId(VolumeIdT&& value) {
135 m_volumeIdHasBeenSet = true;
136 m_volumeId = std::forward<VolumeIdT>(value);
137 }
138 template <typename VolumeIdT = Aws::String>
139 VolumeStatusItem& WithVolumeId(VolumeIdT&& value) {
140 SetVolumeId(std::forward<VolumeIdT>(value));
141 return *this;
142 }
144
146
149 inline const VolumeStatusInfo& GetVolumeStatus() const { return m_volumeStatus; }
150 inline bool VolumeStatusHasBeenSet() const { return m_volumeStatusHasBeenSet; }
151 template <typename VolumeStatusT = VolumeStatusInfo>
152 void SetVolumeStatus(VolumeStatusT&& value) {
153 m_volumeStatusHasBeenSet = true;
154 m_volumeStatus = std::forward<VolumeStatusT>(value);
155 }
156 template <typename VolumeStatusT = VolumeStatusInfo>
157 VolumeStatusItem& WithVolumeStatus(VolumeStatusT&& value) {
158 SetVolumeStatus(std::forward<VolumeStatusT>(value));
159 return *this;
160 }
162
164
167 inline const Aws::Vector<VolumeStatusAttachmentStatus>& GetAttachmentStatuses() const { return m_attachmentStatuses; }
168 inline bool AttachmentStatusesHasBeenSet() const { return m_attachmentStatusesHasBeenSet; }
169 template <typename AttachmentStatusesT = Aws::Vector<VolumeStatusAttachmentStatus>>
170 void SetAttachmentStatuses(AttachmentStatusesT&& value) {
171 m_attachmentStatusesHasBeenSet = true;
172 m_attachmentStatuses = std::forward<AttachmentStatusesT>(value);
173 }
174 template <typename AttachmentStatusesT = Aws::Vector<VolumeStatusAttachmentStatus>>
175 VolumeStatusItem& WithAttachmentStatuses(AttachmentStatusesT&& value) {
176 SetAttachmentStatuses(std::forward<AttachmentStatusesT>(value));
177 return *this;
178 }
179 template <typename AttachmentStatusesT = VolumeStatusAttachmentStatus>
180 VolumeStatusItem& AddAttachmentStatuses(AttachmentStatusesT&& value) {
181 m_attachmentStatusesHasBeenSet = true;
182 m_attachmentStatuses.emplace_back(std::forward<AttachmentStatusesT>(value));
183 return *this;
184 }
186
188
196 inline const InitializationStatusDetails& GetInitializationStatusDetails() const { return m_initializationStatusDetails; }
197 inline bool InitializationStatusDetailsHasBeenSet() const { return m_initializationStatusDetailsHasBeenSet; }
198 template <typename InitializationStatusDetailsT = InitializationStatusDetails>
199 void SetInitializationStatusDetails(InitializationStatusDetailsT&& value) {
200 m_initializationStatusDetailsHasBeenSet = true;
201 m_initializationStatusDetails = std::forward<InitializationStatusDetailsT>(value);
202 }
203 template <typename InitializationStatusDetailsT = InitializationStatusDetails>
204 VolumeStatusItem& WithInitializationStatusDetails(InitializationStatusDetailsT&& value) {
205 SetInitializationStatusDetails(std::forward<InitializationStatusDetailsT>(value));
206 return *this;
207 }
209
211
214 inline const Aws::String& GetAvailabilityZoneId() const { return m_availabilityZoneId; }
215 inline bool AvailabilityZoneIdHasBeenSet() const { return m_availabilityZoneIdHasBeenSet; }
216 template <typename AvailabilityZoneIdT = Aws::String>
217 void SetAvailabilityZoneId(AvailabilityZoneIdT&& value) {
218 m_availabilityZoneIdHasBeenSet = true;
219 m_availabilityZoneId = std::forward<AvailabilityZoneIdT>(value);
220 }
221 template <typename AvailabilityZoneIdT = Aws::String>
222 VolumeStatusItem& WithAvailabilityZoneId(AvailabilityZoneIdT&& value) {
223 SetAvailabilityZoneId(std::forward<AvailabilityZoneIdT>(value));
224 return *this;
225 }
227
229
232 inline const OperatorResponse& GetOperator() const { return m_operator; }
233 inline bool OperatorHasBeenSet() const { return m_operatorHasBeenSet; }
234 template <typename OperatorT = OperatorResponse>
235 void SetOperator(OperatorT&& value) {
236 m_operatorHasBeenSet = true;
237 m_operator = std::forward<OperatorT>(value);
238 }
239 template <typename OperatorT = OperatorResponse>
240 VolumeStatusItem& WithOperator(OperatorT&& value) {
241 SetOperator(std::forward<OperatorT>(value));
242 return *this;
243 }
245 private:
247
248 Aws::String m_availabilityZone;
249
250 Aws::String m_outpostArn;
251
253
254 Aws::String m_volumeId;
255
256 VolumeStatusInfo m_volumeStatus;
257
259
260 InitializationStatusDetails m_initializationStatusDetails;
261
262 Aws::String m_availabilityZoneId;
263
264 OperatorResponse m_operator;
265 bool m_actionsHasBeenSet = false;
266 bool m_availabilityZoneHasBeenSet = false;
267 bool m_outpostArnHasBeenSet = false;
268 bool m_eventsHasBeenSet = false;
269 bool m_volumeIdHasBeenSet = false;
270 bool m_volumeStatusHasBeenSet = false;
271 bool m_attachmentStatusesHasBeenSet = false;
272 bool m_initializationStatusDetailsHasBeenSet = false;
273 bool m_availabilityZoneIdHasBeenSet = false;
274 bool m_operatorHasBeenSet = false;
275};
276
277} // namespace Model
278} // namespace EC2
279} // namespace Aws
void SetOperator(OperatorT &&value)
const Aws::Vector< VolumeStatusEvent > & GetEvents() const
void SetVolumeId(VolumeIdT &&value)
const InitializationStatusDetails & GetInitializationStatusDetails() const
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
void SetOutpostArn(OutpostArnT &&value)
const OperatorResponse & GetOperator() const
VolumeStatusItem & AddEvents(EventsT &&value)
VolumeStatusItem & WithOutpostArn(OutpostArnT &&value)
AWS_EC2_API VolumeStatusItem(const Aws::Utils::Xml::XmlNode &xmlNode)
VolumeStatusItem & AddActions(ActionsT &&value)
const Aws::String & GetOutpostArn() const
VolumeStatusItem & WithOperator(OperatorT &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
void SetVolumeStatus(VolumeStatusT &&value)
void SetAttachmentStatuses(AttachmentStatusesT &&value)
AWS_EC2_API VolumeStatusItem()=default
VolumeStatusItem & WithEvents(EventsT &&value)
const Aws::String & GetAvailabilityZone() const
VolumeStatusItem & WithAvailabilityZoneId(AvailabilityZoneIdT &&value)
VolumeStatusItem & AddAttachmentStatuses(AttachmentStatusesT &&value)
void SetInitializationStatusDetails(InitializationStatusDetailsT &&value)
const Aws::Vector< VolumeStatusAttachmentStatus > & GetAttachmentStatuses() const
const Aws::String & GetAvailabilityZoneId() const
const Aws::Vector< VolumeStatusAction > & GetActions() const
VolumeStatusItem & WithActions(ActionsT &&value)
VolumeStatusItem & WithAvailabilityZone(AvailabilityZoneT &&value)
VolumeStatusItem & WithAttachmentStatuses(AttachmentStatusesT &&value)
VolumeStatusItem & WithVolumeId(VolumeIdT &&value)
VolumeStatusItem & WithInitializationStatusDetails(InitializationStatusDetailsT &&value)
const VolumeStatusInfo & GetVolumeStatus() const
void SetActions(ActionsT &&value)
AWS_EC2_API VolumeStatusItem & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
void SetAvailabilityZone(AvailabilityZoneT &&value)
const Aws::String & GetVolumeId() const
VolumeStatusItem & WithVolumeStatus(VolumeStatusT &&value)
void SetAvailabilityZoneId(AvailabilityZoneIdT &&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