7#include <aws/core/utils/DateTime.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/ec2/EC2_EXPORTS.h>
12#include <aws/ec2/model/OperatorResponse.h>
13#include <aws/ec2/model/ResponseMetadata.h>
14#include <aws/ec2/model/SSEType.h>
15#include <aws/ec2/model/Tag.h>
16#include <aws/ec2/model/VolumeAttachment.h>
17#include <aws/ec2/model/VolumeState.h>
18#include <aws/ec2/model/VolumeType.h>
51 template <
typename AvailabilityZoneIdT = Aws::String>
53 m_availabilityZoneIdHasBeenSet =
true;
54 m_availabilityZoneId = std::forward<AvailabilityZoneIdT>(value);
56 template <
typename AvailabilityZoneIdT = Aws::String>
69 template <
typename OutpostArnT = Aws::String>
71 m_outpostArnHasBeenSet =
true;
72 m_outpostArn = std::forward<OutpostArnT>(value);
74 template <
typename OutpostArnT = Aws::String>
88 template <
typename SourceVolumeIdT = Aws::String>
90 m_sourceVolumeIdHasBeenSet =
true;
91 m_sourceVolumeId = std::forward<SourceVolumeIdT>(value);
93 template <
typename SourceVolumeIdT = Aws::String>
111 m_iopsHasBeenSet =
true;
126 template <
typename TagsT = Aws::Vector<Tag>>
128 m_tagsHasBeenSet =
true;
129 m_tags = std::forward<TagsT>(value);
131 template <
typename TagsT = Aws::Vector<Tag>>
133 SetTags(std::forward<TagsT>(value));
136 template <
typename TagsT = Tag>
138 m_tagsHasBeenSet =
true;
139 m_tags.emplace_back(std::forward<TagsT>(value));
151 m_volumeTypeHasBeenSet =
true;
152 m_volumeType = value;
168 m_fastRestoredHasBeenSet =
true;
169 m_fastRestored = value;
184 m_multiAttachEnabledHasBeenSet =
true;
185 m_multiAttachEnabled = value;
200 m_throughputHasBeenSet =
true;
201 m_throughput = value;
217 m_sseTypeHasBeenSet =
true;
232 template <
typename OperatorT = OperatorResponse>
234 m_operatorHasBeenSet =
true;
235 m_operator = std::forward<OperatorT>(value);
237 template <
typename OperatorT = OperatorResponse>
253 m_volumeInitializationRateHasBeenSet =
true;
254 m_volumeInitializationRate = value;
268 template <
typename VolumeIdT = Aws::String>
270 m_volumeIdHasBeenSet =
true;
271 m_volumeId = std::forward<VolumeIdT>(value);
273 template <
typename VolumeIdT = Aws::String>
287 m_sizeHasBeenSet =
true;
302 template <
typename SnapshotIdT = Aws::String>
304 m_snapshotIdHasBeenSet =
true;
305 m_snapshotId = std::forward<SnapshotIdT>(value);
307 template <
typename SnapshotIdT = Aws::String>
320 template <
typename AvailabilityZoneT = Aws::String>
322 m_availabilityZoneHasBeenSet =
true;
323 m_availabilityZone = std::forward<AvailabilityZoneT>(value);
325 template <
typename AvailabilityZoneT = Aws::String>
339 m_stateHasBeenSet =
true;
354 template <
typename CreateTimeT = Aws::Utils::DateTime>
356 m_createTimeHasBeenSet =
true;
357 m_createTime = std::forward<CreateTimeT>(value);
359 template <
typename CreateTimeT = Aws::Utils::DateTime>
373 template <
typename AttachmentsT = Aws::Vector<VolumeAttachment>>
375 m_attachmentsHasBeenSet =
true;
376 m_attachments = std::forward<AttachmentsT>(value);
378 template <
typename AttachmentsT = Aws::Vector<VolumeAttachment>>
383 template <
typename AttachmentsT = VolumeAttachment>
385 m_attachmentsHasBeenSet =
true;
386 m_attachments.emplace_back(std::forward<AttachmentsT>(value));
398 m_encryptedHasBeenSet =
true;
414 template <
typename KmsKeyIdT = Aws::String>
416 m_kmsKeyIdHasBeenSet =
true;
417 m_kmsKeyId = std::forward<KmsKeyIdT>(value);
419 template <
typename KmsKeyIdT = Aws::String>
429 template <
typename ResponseMetadataT = ResponseMetadata>
431 m_responseMetadataHasBeenSet =
true;
432 m_responseMetadata = std::forward<ResponseMetadataT>(value);
434 template <
typename ResponseMetadataT = ResponseMetadata>
453 bool m_fastRestored{
false};
455 bool m_multiAttachEnabled{
false};
461 OperatorResponse m_operator;
463 int m_volumeInitializationRate{0};
479 bool m_encrypted{
false};
483 ResponseMetadata m_responseMetadata;
484 bool m_availabilityZoneIdHasBeenSet =
false;
485 bool m_outpostArnHasBeenSet =
false;
486 bool m_sourceVolumeIdHasBeenSet =
false;
487 bool m_iopsHasBeenSet =
false;
488 bool m_tagsHasBeenSet =
false;
489 bool m_volumeTypeHasBeenSet =
false;
490 bool m_fastRestoredHasBeenSet =
false;
491 bool m_multiAttachEnabledHasBeenSet =
false;
492 bool m_throughputHasBeenSet =
false;
493 bool m_sseTypeHasBeenSet =
false;
494 bool m_operatorHasBeenSet =
false;
495 bool m_volumeInitializationRateHasBeenSet =
false;
496 bool m_volumeIdHasBeenSet =
false;
497 bool m_sizeHasBeenSet =
false;
498 bool m_snapshotIdHasBeenSet =
false;
499 bool m_availabilityZoneHasBeenSet =
false;
500 bool m_stateHasBeenSet =
false;
501 bool m_createTimeHasBeenSet =
false;
502 bool m_attachmentsHasBeenSet =
false;
503 bool m_encryptedHasBeenSet =
false;
504 bool m_kmsKeyIdHasBeenSet =
false;
505 bool m_responseMetadataHasBeenSet =
true;
const Aws::Vector< Tag > & GetTags() const
void SetAttachments(AttachmentsT &&value)
void SetMultiAttachEnabled(bool value)
void SetOperator(OperatorT &&value)
Volume & WithTags(TagsT &&value)
bool SseTypeHasBeenSet() const
bool GetFastRestored() const
void SetVolumeId(VolumeIdT &&value)
Volume & WithAvailabilityZoneId(AvailabilityZoneIdT &&value)
bool VolumeTypeHasBeenSet() const
const Aws::String & GetSourceVolumeId() const
void SetSnapshotId(SnapshotIdT &&value)
void SetAvailabilityZoneId(AvailabilityZoneIdT &&value)
void SetVolumeInitializationRate(int value)
SSEType GetSseType() const
Volume & WithOutpostArn(OutpostArnT &&value)
Volume & WithOperator(OperatorT &&value)
const Aws::String & GetKmsKeyId() const
bool GetEncrypted() const
bool MultiAttachEnabledHasBeenSet() const
Volume & WithSnapshotId(SnapshotIdT &&value)
Volume & WithThroughput(int value)
Volume & AddAttachments(AttachmentsT &&value)
void SetAvailabilityZone(AvailabilityZoneT &&value)
bool AttachmentsHasBeenSet() const
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
Volume & WithFastRestored(bool value)
bool KmsKeyIdHasBeenSet() const
Volume & AddTags(TagsT &&value)
Volume & WithAttachments(AttachmentsT &&value)
Volume & WithSize(int value)
bool OperatorHasBeenSet() const
bool VolumeIdHasBeenSet() const
const Aws::Utils::DateTime & GetCreateTime() const
Volume & WithIops(int value)
int GetThroughput() const
void SetFastRestored(bool value)
const Aws::String & GetSnapshotId() const
AWS_EC2_API Volume()=default
const Aws::String & GetVolumeId() const
const Aws::String & GetAvailabilityZoneId() const
void SetSourceVolumeId(SourceVolumeIdT &&value)
Volume & WithKmsKeyId(KmsKeyIdT &&value)
Volume & WithState(VolumeState value)
bool AvailabilityZoneHasBeenSet() const
void SetSseType(SSEType value)
AWS_EC2_API Volume(const Aws::Utils::Xml::XmlNode &xmlNode)
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
void SetResponseMetadata(ResponseMetadataT &&value)
Volume & WithMultiAttachEnabled(bool value)
Volume & WithSourceVolumeId(SourceVolumeIdT &&value)
void SetOutpostArn(OutpostArnT &&value)
bool SizeHasBeenSet() const
void SetState(VolumeState value)
bool AvailabilityZoneIdHasBeenSet() const
Volume & WithCreateTime(CreateTimeT &&value)
const Aws::Vector< VolumeAttachment > & GetAttachments() const
bool IopsHasBeenSet() const
Volume & WithVolumeId(VolumeIdT &&value)
const Aws::String & GetOutpostArn() const
int GetVolumeInitializationRate() const
bool SnapshotIdHasBeenSet() const
bool StateHasBeenSet() const
void SetCreateTime(CreateTimeT &&value)
AWS_EC2_API Volume & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
bool FastRestoredHasBeenSet() const
bool GetMultiAttachEnabled() const
void SetThroughput(int value)
Volume & WithVolumeType(VolumeType value)
void SetTags(TagsT &&value)
Volume & WithVolumeInitializationRate(int value)
bool SourceVolumeIdHasBeenSet() const
Volume & WithSseType(SSEType value)
bool VolumeInitializationRateHasBeenSet() const
void SetVolumeType(VolumeType value)
VolumeType GetVolumeType() const
bool EncryptedHasBeenSet() const
const Aws::String & GetAvailabilityZone() const
bool CreateTimeHasBeenSet() const
void SetEncrypted(bool value)
bool OutpostArnHasBeenSet() const
bool ThroughputHasBeenSet() const
void SetKmsKeyId(KmsKeyIdT &&value)
Volume & WithEncrypted(bool value)
VolumeState GetState() const
const OperatorResponse & GetOperator() const
bool TagsHasBeenSet() const
Volume & WithAvailabilityZone(AvailabilityZoneT &&value)
Volume & WithResponseMetadata(ResponseMetadataT &&value)
const ResponseMetadata & GetResponseMetadata() const
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