AWS SDK for C++

AWS SDK for C++ Version 1.11.717

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/VolumeStatusAction.h>
13#include <aws/ec2/model/VolumeStatusAttachmentStatus.h>
14#include <aws/ec2/model/VolumeStatusEvent.h>
15#include <aws/ec2/model/VolumeStatusInfo.h>
16
17#include <utility>
18
19namespace Aws {
20namespace Utils {
21namespace Xml {
22class XmlNode;
23} // namespace Xml
24} // namespace Utils
25namespace EC2 {
26namespace Model {
27
34 public:
35 AWS_EC2_API VolumeStatusItem() = default;
36 AWS_EC2_API VolumeStatusItem(const Aws::Utils::Xml::XmlNode& xmlNode);
38
39 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
40 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
41
43
46 inline const Aws::Vector<VolumeStatusAction>& GetActions() const { return m_actions; }
47 inline bool ActionsHasBeenSet() const { return m_actionsHasBeenSet; }
48 template <typename ActionsT = Aws::Vector<VolumeStatusAction>>
49 void SetActions(ActionsT&& value) {
50 m_actionsHasBeenSet = true;
51 m_actions = std::forward<ActionsT>(value);
52 }
53 template <typename ActionsT = Aws::Vector<VolumeStatusAction>>
54 VolumeStatusItem& WithActions(ActionsT&& value) {
55 SetActions(std::forward<ActionsT>(value));
56 return *this;
57 }
58 template <typename ActionsT = VolumeStatusAction>
59 VolumeStatusItem& AddActions(ActionsT&& value) {
60 m_actionsHasBeenSet = true;
61 m_actions.emplace_back(std::forward<ActionsT>(value));
62 return *this;
63 }
65
67
70 inline const Aws::String& GetAvailabilityZone() const { return m_availabilityZone; }
71 inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; }
72 template <typename AvailabilityZoneT = Aws::String>
73 void SetAvailabilityZone(AvailabilityZoneT&& value) {
74 m_availabilityZoneHasBeenSet = true;
75 m_availabilityZone = std::forward<AvailabilityZoneT>(value);
76 }
77 template <typename AvailabilityZoneT = Aws::String>
78 VolumeStatusItem& WithAvailabilityZone(AvailabilityZoneT&& value) {
79 SetAvailabilityZone(std::forward<AvailabilityZoneT>(value));
80 return *this;
81 }
83
85
88 inline const Aws::String& GetOutpostArn() const { return m_outpostArn; }
89 inline bool OutpostArnHasBeenSet() const { return m_outpostArnHasBeenSet; }
90 template <typename OutpostArnT = Aws::String>
91 void SetOutpostArn(OutpostArnT&& value) {
92 m_outpostArnHasBeenSet = true;
93 m_outpostArn = std::forward<OutpostArnT>(value);
94 }
95 template <typename OutpostArnT = Aws::String>
96 VolumeStatusItem& WithOutpostArn(OutpostArnT&& value) {
97 SetOutpostArn(std::forward<OutpostArnT>(value));
98 return *this;
99 }
101
103
106 inline const Aws::Vector<VolumeStatusEvent>& GetEvents() const { return m_events; }
107 inline bool EventsHasBeenSet() const { return m_eventsHasBeenSet; }
108 template <typename EventsT = Aws::Vector<VolumeStatusEvent>>
109 void SetEvents(EventsT&& value) {
110 m_eventsHasBeenSet = true;
111 m_events = std::forward<EventsT>(value);
112 }
113 template <typename EventsT = Aws::Vector<VolumeStatusEvent>>
114 VolumeStatusItem& WithEvents(EventsT&& value) {
115 SetEvents(std::forward<EventsT>(value));
116 return *this;
117 }
118 template <typename EventsT = VolumeStatusEvent>
119 VolumeStatusItem& AddEvents(EventsT&& value) {
120 m_eventsHasBeenSet = true;
121 m_events.emplace_back(std::forward<EventsT>(value));
122 return *this;
123 }
125
127
130 inline const Aws::String& GetVolumeId() const { return m_volumeId; }
131 inline bool VolumeIdHasBeenSet() const { return m_volumeIdHasBeenSet; }
132 template <typename VolumeIdT = Aws::String>
133 void SetVolumeId(VolumeIdT&& value) {
134 m_volumeIdHasBeenSet = true;
135 m_volumeId = std::forward<VolumeIdT>(value);
136 }
137 template <typename VolumeIdT = Aws::String>
138 VolumeStatusItem& WithVolumeId(VolumeIdT&& value) {
139 SetVolumeId(std::forward<VolumeIdT>(value));
140 return *this;
141 }
143
145
148 inline const VolumeStatusInfo& GetVolumeStatus() const { return m_volumeStatus; }
149 inline bool VolumeStatusHasBeenSet() const { return m_volumeStatusHasBeenSet; }
150 template <typename VolumeStatusT = VolumeStatusInfo>
151 void SetVolumeStatus(VolumeStatusT&& value) {
152 m_volumeStatusHasBeenSet = true;
153 m_volumeStatus = std::forward<VolumeStatusT>(value);
154 }
155 template <typename VolumeStatusT = VolumeStatusInfo>
156 VolumeStatusItem& WithVolumeStatus(VolumeStatusT&& value) {
157 SetVolumeStatus(std::forward<VolumeStatusT>(value));
158 return *this;
159 }
161
163
166 inline const Aws::Vector<VolumeStatusAttachmentStatus>& GetAttachmentStatuses() const { return m_attachmentStatuses; }
167 inline bool AttachmentStatusesHasBeenSet() const { return m_attachmentStatusesHasBeenSet; }
168 template <typename AttachmentStatusesT = Aws::Vector<VolumeStatusAttachmentStatus>>
169 void SetAttachmentStatuses(AttachmentStatusesT&& value) {
170 m_attachmentStatusesHasBeenSet = true;
171 m_attachmentStatuses = std::forward<AttachmentStatusesT>(value);
172 }
173 template <typename AttachmentStatusesT = Aws::Vector<VolumeStatusAttachmentStatus>>
174 VolumeStatusItem& WithAttachmentStatuses(AttachmentStatusesT&& value) {
175 SetAttachmentStatuses(std::forward<AttachmentStatusesT>(value));
176 return *this;
177 }
178 template <typename AttachmentStatusesT = VolumeStatusAttachmentStatus>
179 VolumeStatusItem& AddAttachmentStatuses(AttachmentStatusesT&& value) {
180 m_attachmentStatusesHasBeenSet = true;
181 m_attachmentStatuses.emplace_back(std::forward<AttachmentStatusesT>(value));
182 return *this;
183 }
185
187
195 inline const InitializationStatusDetails& GetInitializationStatusDetails() const { return m_initializationStatusDetails; }
196 inline bool InitializationStatusDetailsHasBeenSet() const { return m_initializationStatusDetailsHasBeenSet; }
197 template <typename InitializationStatusDetailsT = InitializationStatusDetails>
198 void SetInitializationStatusDetails(InitializationStatusDetailsT&& value) {
199 m_initializationStatusDetailsHasBeenSet = true;
200 m_initializationStatusDetails = std::forward<InitializationStatusDetailsT>(value);
201 }
202 template <typename InitializationStatusDetailsT = InitializationStatusDetails>
203 VolumeStatusItem& WithInitializationStatusDetails(InitializationStatusDetailsT&& value) {
204 SetInitializationStatusDetails(std::forward<InitializationStatusDetailsT>(value));
205 return *this;
206 }
208
210
213 inline const Aws::String& GetAvailabilityZoneId() const { return m_availabilityZoneId; }
214 inline bool AvailabilityZoneIdHasBeenSet() const { return m_availabilityZoneIdHasBeenSet; }
215 template <typename AvailabilityZoneIdT = Aws::String>
216 void SetAvailabilityZoneId(AvailabilityZoneIdT&& value) {
217 m_availabilityZoneIdHasBeenSet = true;
218 m_availabilityZoneId = std::forward<AvailabilityZoneIdT>(value);
219 }
220 template <typename AvailabilityZoneIdT = Aws::String>
221 VolumeStatusItem& WithAvailabilityZoneId(AvailabilityZoneIdT&& value) {
222 SetAvailabilityZoneId(std::forward<AvailabilityZoneIdT>(value));
223 return *this;
224 }
226 private:
228
229 Aws::String m_availabilityZone;
230
231 Aws::String m_outpostArn;
232
234
235 Aws::String m_volumeId;
236
237 VolumeStatusInfo m_volumeStatus;
238
240
241 InitializationStatusDetails m_initializationStatusDetails;
242
243 Aws::String m_availabilityZoneId;
244 bool m_actionsHasBeenSet = false;
245 bool m_availabilityZoneHasBeenSet = false;
246 bool m_outpostArnHasBeenSet = false;
247 bool m_eventsHasBeenSet = false;
248 bool m_volumeIdHasBeenSet = false;
249 bool m_volumeStatusHasBeenSet = false;
250 bool m_attachmentStatusesHasBeenSet = false;
251 bool m_initializationStatusDetailsHasBeenSet = false;
252 bool m_availabilityZoneIdHasBeenSet = false;
253};
254
255} // namespace Model
256} // namespace EC2
257} // namespace Aws
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)
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
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