7#include <aws/ec2/EC2_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/core/utils/memory/stl/AWSString.h>
11#include <aws/ec2/model/VolumeStatusInfo.h>
12#include <aws/ec2/model/InitializationStatusDetails.h>
13#include <aws/ec2/model/VolumeStatusAction.h>
14#include <aws/ec2/model/VolumeStatusEvent.h>
15#include <aws/ec2/model/VolumeStatusAttachmentStatus.h>
54 template<
typename ActionsT = Aws::Vector<VolumeStatusAction>>
55 void SetActions(ActionsT&& value) { m_actionsHasBeenSet =
true; m_actions = std::forward<ActionsT>(value); }
56 template<
typename ActionsT = Aws::Vector<VolumeStatusAction>>
58 template<
typename ActionsT = VolumeStatusAction>
59 VolumeStatusItem&
AddActions(ActionsT&& value) { m_actionsHasBeenSet =
true; m_actions.emplace_back(std::forward<ActionsT>(value));
return *
this; }
68 template<
typename AvailabilityZoneT = Aws::String>
69 void SetAvailabilityZone(AvailabilityZoneT&& value) { m_availabilityZoneHasBeenSet =
true; m_availabilityZone = std::forward<AvailabilityZoneT>(value); }
70 template<
typename AvailabilityZoneT = Aws::String>
80 template<
typename OutpostArnT = Aws::String>
81 void SetOutpostArn(OutpostArnT&& value) { m_outpostArnHasBeenSet =
true; m_outpostArn = std::forward<OutpostArnT>(value); }
82 template<
typename OutpostArnT = Aws::String>
92 template<
typename EventsT = Aws::Vector<VolumeStatusEvent>>
93 void SetEvents(EventsT&& value) { m_eventsHasBeenSet =
true; m_events = std::forward<EventsT>(value); }
94 template<
typename EventsT = Aws::Vector<VolumeStatusEvent>>
96 template<
typename EventsT = VolumeStatusEvent>
97 VolumeStatusItem&
AddEvents(EventsT&& value) { m_eventsHasBeenSet =
true; m_events.emplace_back(std::forward<EventsT>(value));
return *
this; }
106 template<
typename VolumeIdT = Aws::String>
107 void SetVolumeId(VolumeIdT&& value) { m_volumeIdHasBeenSet =
true; m_volumeId = std::forward<VolumeIdT>(value); }
108 template<
typename VolumeIdT = Aws::String>
118 template<
typename VolumeStatusT = VolumeStatusInfo>
119 void SetVolumeStatus(VolumeStatusT&& value) { m_volumeStatusHasBeenSet =
true; m_volumeStatus = std::forward<VolumeStatusT>(value); }
120 template<
typename VolumeStatusT = VolumeStatusInfo>
130 template<
typename AttachmentStatusesT = Aws::Vector<VolumeStatusAttachmentStatus>>
131 void SetAttachmentStatuses(AttachmentStatusesT&& value) { m_attachmentStatusesHasBeenSet =
true; m_attachmentStatuses = std::forward<AttachmentStatusesT>(value); }
132 template<
typename AttachmentStatusesT = Aws::Vector<VolumeStatusAttachmentStatus>>
134 template<
typename AttachmentStatusesT = VolumeStatusAttachmentStatus>
135 VolumeStatusItem&
AddAttachmentStatuses(AttachmentStatusesT&& value) { m_attachmentStatusesHasBeenSet =
true; m_attachmentStatuses.emplace_back(std::forward<AttachmentStatusesT>(value));
return *
this; }
149 template<
typename InitializationStatusDetailsT = InitializationStatusDetails>
150 void SetInitializationStatusDetails(InitializationStatusDetailsT&& value) { m_initializationStatusDetailsHasBeenSet =
true; m_initializationStatusDetails = std::forward<InitializationStatusDetailsT>(value); }
151 template<
typename InitializationStatusDetailsT = InitializationStatusDetails>
161 template<
typename AvailabilityZoneIdT = Aws::String>
162 void SetAvailabilityZoneId(AvailabilityZoneIdT&& value) { m_availabilityZoneIdHasBeenSet =
true; m_availabilityZoneId = std::forward<AvailabilityZoneIdT>(value); }
163 template<
typename AvailabilityZoneIdT = Aws::String>
169 bool m_actionsHasBeenSet =
false;
172 bool m_availabilityZoneHasBeenSet =
false;
175 bool m_outpostArnHasBeenSet =
false;
178 bool m_eventsHasBeenSet =
false;
181 bool m_volumeIdHasBeenSet =
false;
184 bool m_volumeStatusHasBeenSet =
false;
187 bool m_attachmentStatusesHasBeenSet =
false;
190 bool m_initializationStatusDetailsHasBeenSet =
false;
193 bool m_availabilityZoneIdHasBeenSet =
false;
const Aws::Vector< VolumeStatusEvent > & GetEvents() const
bool InitializationStatusDetailsHasBeenSet() const
void SetVolumeId(VolumeIdT &&value)
const InitializationStatusDetails & GetInitializationStatusDetails() const
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
bool VolumeStatusHasBeenSet() const
void SetOutpostArn(OutpostArnT &&value)
VolumeStatusItem & AddEvents(EventsT &&value)
VolumeStatusItem & WithOutpostArn(OutpostArnT &&value)
bool VolumeIdHasBeenSet() const
AWS_EC2_API VolumeStatusItem(const Aws::Utils::Xml::XmlNode &xmlNode)
VolumeStatusItem & AddActions(ActionsT &&value)
const Aws::String & GetOutpostArn() const
bool OutpostArnHasBeenSet() const
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
bool EventsHasBeenSet() 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)
bool AttachmentStatusesHasBeenSet() const
bool ActionsHasBeenSet() const
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)
void SetEvents(EventsT &&value)
const VolumeStatusInfo & GetVolumeStatus() const
bool AvailabilityZoneHasBeenSet() const
void SetActions(ActionsT &&value)
AWS_EC2_API VolumeStatusItem & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
bool AvailabilityZoneIdHasBeenSet() const
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