7#include <aws/ebs/EBS_EXPORTS.h>
8#include <aws/ebs/EBSRequest.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/ebs/model/Tag.h>
13#include <aws/core/utils/UUID.h>
45 inline void SetVolumeSize(
long long value) { m_volumeSizeHasBeenSet =
true; m_volumeSize = value; }
72 template<
typename ParentSnapshotIdT = Aws::String>
73 void SetParentSnapshotId(ParentSnapshotIdT&& value) { m_parentSnapshotIdHasBeenSet =
true; m_parentSnapshotId = std::forward<ParentSnapshotIdT>(value); }
74 template<
typename ParentSnapshotIdT = Aws::String>
84 template<
typename TagsT = Aws::Vector<Tag>>
85 void SetTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags = std::forward<TagsT>(value); }
86 template<
typename TagsT = Aws::Vector<Tag>>
88 template<
typename TagsT = Tag>
98 template<
typename DescriptionT = Aws::String>
99 void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet =
true; m_description = std::forward<DescriptionT>(value); }
100 template<
typename DescriptionT = Aws::String>
119 template<
typename ClientTokenT = Aws::String>
120 void SetClientToken(ClientTokenT&& value) { m_clientTokenHasBeenSet =
true; m_clientToken = std::forward<ClientTokenT>(value); }
121 template<
typename ClientTokenT = Aws::String>
146 inline void SetEncrypted(
bool value) { m_encryptedHasBeenSet =
true; m_encrypted = value; }
169 template<
typename KmsKeyArnT = Aws::String>
170 void SetKmsKeyArn(KmsKeyArnT&& value) { m_kmsKeyArnHasBeenSet =
true; m_kmsKeyArn = std::forward<KmsKeyArnT>(value); }
171 template<
typename KmsKeyArnT = Aws::String>
185 inline void SetTimeout(
int value) { m_timeoutHasBeenSet =
true; m_timeout = value; }
190 long long m_volumeSize{0};
191 bool m_volumeSizeHasBeenSet =
false;
194 bool m_parentSnapshotIdHasBeenSet =
false;
197 bool m_tagsHasBeenSet =
false;
200 bool m_descriptionHasBeenSet =
false;
203 bool m_clientTokenHasBeenSet =
true;
205 bool m_encrypted{
false};
206 bool m_encryptedHasBeenSet =
false;
209 bool m_kmsKeyArnHasBeenSet =
false;
212 bool m_timeoutHasBeenSet =
false;
StartSnapshotRequest & WithVolumeSize(long long value)
StartSnapshotRequest & WithKmsKeyArn(KmsKeyArnT &&value)
bool VolumeSizeHasBeenSet() const
StartSnapshotRequest & WithTags(TagsT &&value)
bool TagsHasBeenSet() const
StartSnapshotRequest & WithParentSnapshotId(ParentSnapshotIdT &&value)
StartSnapshotRequest & WithEncrypted(bool value)
bool ClientTokenHasBeenSet() const
StartSnapshotRequest & WithClientToken(ClientTokenT &&value)
const Aws::String & GetDescription() const
const Aws::String & GetKmsKeyArn() const
void SetTimeout(int value)
virtual const char * GetServiceRequestName() const override
const Aws::String & GetClientToken() const
StartSnapshotRequest & WithTimeout(int value)
void SetTags(TagsT &&value)
void SetEncrypted(bool value)
AWS_EBS_API Aws::String SerializePayload() const override
StartSnapshotRequest & AddTags(TagsT &&value)
void SetClientToken(ClientTokenT &&value)
const Aws::String & GetParentSnapshotId() const
bool TimeoutHasBeenSet() const
bool DescriptionHasBeenSet() const
void SetKmsKeyArn(KmsKeyArnT &&value)
bool EncryptedHasBeenSet() const
StartSnapshotRequest & WithDescription(DescriptionT &&value)
void SetDescription(DescriptionT &&value)
bool GetEncrypted() const
bool KmsKeyArnHasBeenSet() const
long long GetVolumeSize() const
AWS_EBS_API StartSnapshotRequest()=default
void SetParentSnapshotId(ParentSnapshotIdT &&value)
void SetVolumeSize(long long value)
const Aws::Vector< Tag > & GetTags() const
bool ParentSnapshotIdHasBeenSet() const
static Aws::Utils::UUID PseudoRandomUUID()
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector