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/ResponseMetadata.h>
13#include <aws/ec2/model/SSEType.h>
14#include <aws/ec2/model/SnapshotState.h>
15#include <aws/ec2/model/StorageTier.h>
16#include <aws/ec2/model/Tag.h>
17#include <aws/ec2/model/TransferType.h>
52 template <
typename OwnerAliasT = Aws::String>
54 m_ownerAliasHasBeenSet =
true;
55 m_ownerAlias = std::forward<OwnerAliasT>(value);
57 template <
typename OwnerAliasT = Aws::String>
73 template <
typename OutpostArnT = Aws::String>
75 m_outpostArnHasBeenSet =
true;
76 m_outpostArn = std::forward<OutpostArnT>(value);
78 template <
typename OutpostArnT = Aws::String>
91 template <
typename TagsT = Aws::Vector<Tag>>
93 m_tagsHasBeenSet =
true;
94 m_tags = std::forward<TagsT>(value);
96 template <
typename TagsT = Aws::Vector<Tag>>
98 SetTags(std::forward<TagsT>(value));
101 template <
typename TagsT = Tag>
103 m_tagsHasBeenSet =
true;
104 m_tags.emplace_back(std::forward<TagsT>(value));
119 m_storageTierHasBeenSet =
true;
120 m_storageTier = value;
136 template <
typename RestoreExpiryTimeT = Aws::Utils::DateTime>
138 m_restoreExpiryTimeHasBeenSet =
true;
139 m_restoreExpiryTime = std::forward<RestoreExpiryTimeT>(value);
141 template <
typename RestoreExpiryTimeT = Aws::Utils::DateTime>
155 m_sseTypeHasBeenSet =
true;
172 template <
typename AvailabilityZoneT = Aws::String>
174 m_availabilityZoneHasBeenSet =
true;
175 m_availabilityZone = std::forward<AvailabilityZoneT>(value);
177 template <
typename AvailabilityZoneT = Aws::String>
198 m_transferTypeHasBeenSet =
true;
199 m_transferType = value;
216 m_completionDurationMinutesHasBeenSet =
true;
217 m_completionDurationMinutes = value;
231 template <
typename CompletionTimeT = Aws::Utils::DateTime>
233 m_completionTimeHasBeenSet =
true;
234 m_completionTime = std::forward<CompletionTimeT>(value);
236 template <
typename CompletionTimeT = Aws::Utils::DateTime>
253 m_fullSnapshotSizeInBytesHasBeenSet =
true;
254 m_fullSnapshotSizeInBytes = value;
269 template <
typename SnapshotIdT = Aws::String>
271 m_snapshotIdHasBeenSet =
true;
272 m_snapshotId = std::forward<SnapshotIdT>(value);
274 template <
typename SnapshotIdT = Aws::String>
289 template <
typename VolumeIdT = Aws::String>
291 m_volumeIdHasBeenSet =
true;
292 m_volumeId = std::forward<VolumeIdT>(value);
294 template <
typename VolumeIdT = Aws::String>
308 m_stateHasBeenSet =
true;
326 template <
typename StateMessageT = Aws::String>
328 m_stateMessageHasBeenSet =
true;
329 m_stateMessage = std::forward<StateMessageT>(value);
331 template <
typename StateMessageT = Aws::String>
344 template <
typename StartTimeT = Aws::Utils::DateTime>
346 m_startTimeHasBeenSet =
true;
347 m_startTime = std::forward<StartTimeT>(value);
349 template <
typename StartTimeT = Aws::Utils::DateTime>
362 template <
typename ProgressT = Aws::String>
364 m_progressHasBeenSet =
true;
365 m_progress = std::forward<ProgressT>(value);
367 template <
typename ProgressT = Aws::String>
380 template <
typename OwnerIdT = Aws::String>
382 m_ownerIdHasBeenSet =
true;
383 m_ownerId = std::forward<OwnerIdT>(value);
385 template <
typename OwnerIdT = Aws::String>
398 template <
typename DescriptionT = Aws::String>
400 m_descriptionHasBeenSet =
true;
401 m_description = std::forward<DescriptionT>(value);
403 template <
typename DescriptionT = Aws::String>
417 m_volumeSizeHasBeenSet =
true;
418 m_volumeSize = value;
433 m_encryptedHasBeenSet =
true;
449 template <
typename KmsKeyIdT = Aws::String>
451 m_kmsKeyIdHasBeenSet =
true;
452 m_kmsKeyId = std::forward<KmsKeyIdT>(value);
454 template <
typename KmsKeyIdT = Aws::String>
472 template <
typename DataEncryptionKeyIdT = Aws::String>
474 m_dataEncryptionKeyIdHasBeenSet =
true;
475 m_dataEncryptionKeyId = std::forward<DataEncryptionKeyIdT>(value);
477 template <
typename DataEncryptionKeyIdT = Aws::String>
487 template <
typename ResponseMetadataT = ResponseMetadata>
489 m_responseMetadataHasBeenSet =
true;
490 m_responseMetadata = std::forward<ResponseMetadataT>(value);
492 template <
typename ResponseMetadataT = ResponseMetadata>
515 int m_completionDurationMinutes{0};
519 long long m_fullSnapshotSizeInBytes{0};
539 bool m_encrypted{
false};
545 ResponseMetadata m_responseMetadata;
546 bool m_ownerAliasHasBeenSet =
false;
547 bool m_outpostArnHasBeenSet =
false;
548 bool m_tagsHasBeenSet =
false;
549 bool m_storageTierHasBeenSet =
false;
550 bool m_restoreExpiryTimeHasBeenSet =
false;
551 bool m_sseTypeHasBeenSet =
false;
552 bool m_availabilityZoneHasBeenSet =
false;
553 bool m_transferTypeHasBeenSet =
false;
554 bool m_completionDurationMinutesHasBeenSet =
false;
555 bool m_completionTimeHasBeenSet =
false;
556 bool m_fullSnapshotSizeInBytesHasBeenSet =
false;
557 bool m_snapshotIdHasBeenSet =
false;
558 bool m_volumeIdHasBeenSet =
false;
559 bool m_stateHasBeenSet =
false;
560 bool m_stateMessageHasBeenSet =
false;
561 bool m_startTimeHasBeenSet =
false;
562 bool m_progressHasBeenSet =
false;
563 bool m_ownerIdHasBeenSet =
false;
564 bool m_descriptionHasBeenSet =
false;
565 bool m_volumeSizeHasBeenSet =
false;
566 bool m_encryptedHasBeenSet =
false;
567 bool m_kmsKeyIdHasBeenSet =
false;
568 bool m_dataEncryptionKeyIdHasBeenSet =
false;
569 bool m_responseMetadataHasBeenSet =
true;
Snapshot & WithStorageTier(StorageTier value)
Snapshot & WithOutpostArn(OutpostArnT &&value)
bool ProgressHasBeenSet() const
int GetVolumeSize() const
void SetProgress(ProgressT &&value)
bool SnapshotIdHasBeenSet() const
AWS_EC2_API Snapshot(const Aws::Utils::Xml::XmlNode &xmlNode)
bool TagsHasBeenSet() const
void SetVolumeId(VolumeIdT &&value)
bool DescriptionHasBeenSet() const
Snapshot & WithProgress(ProgressT &&value)
bool SseTypeHasBeenSet() const
void SetCompletionDurationMinutes(int value)
bool CompletionDurationMinutesHasBeenSet() const
void SetOwnerId(OwnerIdT &&value)
bool TransferTypeHasBeenSet() const
void SetSseType(SSEType value)
void SetFullSnapshotSizeInBytes(long long value)
const ResponseMetadata & GetResponseMetadata() const
Snapshot & WithResponseMetadata(ResponseMetadataT &&value)
const Aws::Utils::DateTime & GetCompletionTime() const
const Aws::String & GetOwnerAlias() const
Snapshot & WithSseType(SSEType value)
void SetStateMessage(StateMessageT &&value)
const Aws::String & GetProgress() const
Snapshot & WithStateMessage(StateMessageT &&value)
int GetCompletionDurationMinutes() const
StorageTier GetStorageTier() const
const Aws::String & GetOutpostArn() const
void SetSnapshotId(SnapshotIdT &&value)
bool StateHasBeenSet() const
SSEType GetSseType() const
void SetVolumeSize(int value)
Snapshot & WithEncrypted(bool value)
Snapshot & AddTags(TagsT &&value)
SnapshotState GetState() const
void SetState(SnapshotState value)
Snapshot & WithVolumeSize(int value)
Snapshot & WithDataEncryptionKeyId(DataEncryptionKeyIdT &&value)
const Aws::Vector< Tag > & GetTags() const
Snapshot & WithDescription(DescriptionT &&value)
void SetTags(TagsT &&value)
const Aws::String & GetDescription() const
const Aws::Utils::DateTime & GetRestoreExpiryTime() const
void SetKmsKeyId(KmsKeyIdT &&value)
bool DataEncryptionKeyIdHasBeenSet() const
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
void SetResponseMetadata(ResponseMetadataT &&value)
Snapshot & WithTransferType(TransferType value)
Snapshot & WithOwnerAlias(OwnerAliasT &&value)
bool AvailabilityZoneHasBeenSet() const
void SetOwnerAlias(OwnerAliasT &&value)
const Aws::String & GetStateMessage() const
bool VolumeIdHasBeenSet() const
const Aws::Utils::DateTime & GetStartTime() const
Snapshot & WithTags(TagsT &&value)
const Aws::String & GetAvailabilityZone() const
bool GetEncrypted() const
void SetDataEncryptionKeyId(DataEncryptionKeyIdT &&value)
TransferType GetTransferType() const
const Aws::String & GetKmsKeyId() const
Snapshot & WithOwnerId(OwnerIdT &&value)
bool VolumeSizeHasBeenSet() const
void SetCompletionTime(CompletionTimeT &&value)
long long GetFullSnapshotSizeInBytes() const
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
bool OutpostArnHasBeenSet() const
Snapshot & WithFullSnapshotSizeInBytes(long long value)
const Aws::String & GetDataEncryptionKeyId() const
bool CompletionTimeHasBeenSet() const
void SetTransferType(TransferType value)
void SetDescription(DescriptionT &&value)
const Aws::String & GetOwnerId() const
void SetAvailabilityZone(AvailabilityZoneT &&value)
void SetStartTime(StartTimeT &&value)
AWS_EC2_API Snapshot()=default
Snapshot & WithStartTime(StartTimeT &&value)
Snapshot & WithRestoreExpiryTime(RestoreExpiryTimeT &&value)
bool FullSnapshotSizeInBytesHasBeenSet() const
void SetOutpostArn(OutpostArnT &&value)
Snapshot & WithVolumeId(VolumeIdT &&value)
AWS_EC2_API Snapshot & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
void SetStorageTier(StorageTier value)
const Aws::String & GetSnapshotId() const
bool OwnerIdHasBeenSet() const
bool StorageTierHasBeenSet() const
const Aws::String & GetVolumeId() const
void SetRestoreExpiryTime(RestoreExpiryTimeT &&value)
bool OwnerAliasHasBeenSet() const
bool KmsKeyIdHasBeenSet() const
void SetEncrypted(bool value)
Snapshot & WithAvailabilityZone(AvailabilityZoneT &&value)
Snapshot & WithSnapshotId(SnapshotIdT &&value)
bool EncryptedHasBeenSet() const
bool StateMessageHasBeenSet() const
bool RestoreExpiryTimeHasBeenSet() const
Snapshot & WithCompletionTime(CompletionTimeT &&value)
bool StartTimeHasBeenSet() const
Snapshot & WithState(SnapshotState value)
Snapshot & WithKmsKeyId(KmsKeyIdT &&value)
Snapshot & WithCompletionDurationMinutes(int 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