7#include <aws/ec2/EC2_EXPORTS.h>
8#include <aws/ec2/EC2Request.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/ec2/model/VolumeType.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/ec2/model/OperatorRequest.h>
13#include <aws/ec2/model/TagSpecification.h>
15#include <aws/core/utils/UUID.h>
51 template<
typename AvailabilityZoneT = Aws::String>
52 void SetAvailabilityZone(AvailabilityZoneT&& value) { m_availabilityZoneHasBeenSet =
true; m_availabilityZone = std::forward<AvailabilityZoneT>(value); }
53 template<
typename AvailabilityZoneT = Aws::String>
72 inline void SetEncrypted(
bool value) { m_encryptedHasBeenSet =
true; m_encrypted = value; }
94 inline int GetIops()
const {
return m_iops; }
96 inline void SetIops(
int value) { m_iopsHasBeenSet =
true; m_iops = value; }
118 template<
typename KmsKeyIdT = Aws::String>
119 void SetKmsKeyId(KmsKeyIdT&& value) { m_kmsKeyIdHasBeenSet =
true; m_kmsKeyId = std::forward<KmsKeyIdT>(value); }
120 template<
typename KmsKeyIdT = Aws::String>
134 template<
typename OutpostArnT = Aws::String>
135 void SetOutpostArn(OutpostArnT&& value) { m_outpostArnHasBeenSet =
true; m_outpostArn = std::forward<OutpostArnT>(value); }
136 template<
typename OutpostArnT = Aws::String>
154 inline void SetSize(
int value) { m_sizeHasBeenSet =
true; m_size = value; }
165 template<
typename SnapshotIdT = Aws::String>
166 void SetSnapshotId(SnapshotIdT&& value) { m_snapshotIdHasBeenSet =
true; m_snapshotId = std::forward<SnapshotIdT>(value); }
167 template<
typename SnapshotIdT = Aws::String>
197 template<
typename TagSpecificationsT = Aws::Vector<TagSpecification>>
198 void SetTagSpecifications(TagSpecificationsT&& value) { m_tagSpecificationsHasBeenSet =
true; m_tagSpecifications = std::forward<TagSpecificationsT>(value); }
199 template<
typename TagSpecificationsT = Aws::Vector<TagSpecification>>
201 template<
typename TagSpecificationsT = TagSpecification>
218 inline void SetMultiAttachEnabled(
bool value) { m_multiAttachEnabledHasBeenSet =
true; m_multiAttachEnabled = value; }
230 inline void SetThroughput(
int value) { m_throughputHasBeenSet =
true; m_throughput = value; }
243 template<
typename ClientTokenT = Aws::String>
244 void SetClientToken(ClientTokenT&& value) { m_clientTokenHasBeenSet =
true; m_clientToken = std::forward<ClientTokenT>(value); }
245 template<
typename ClientTokenT = Aws::String>
280 template<
typename OperatorT = OperatorRequest>
281 void SetOperator(OperatorT&& value) { m_operatorHasBeenSet =
true; m_operator = std::forward<OperatorT>(value); }
282 template<
typename OperatorT = OperatorRequest>
295 inline void SetDryRun(
bool value) { m_dryRunHasBeenSet =
true; m_dryRun = value; }
301 bool m_availabilityZoneHasBeenSet =
false;
303 bool m_encrypted{
false};
304 bool m_encryptedHasBeenSet =
false;
307 bool m_iopsHasBeenSet =
false;
310 bool m_kmsKeyIdHasBeenSet =
false;
313 bool m_outpostArnHasBeenSet =
false;
316 bool m_sizeHasBeenSet =
false;
319 bool m_snapshotIdHasBeenSet =
false;
322 bool m_volumeTypeHasBeenSet =
false;
325 bool m_tagSpecificationsHasBeenSet =
false;
327 bool m_multiAttachEnabled{
false};
328 bool m_multiAttachEnabledHasBeenSet =
false;
331 bool m_throughputHasBeenSet =
false;
334 bool m_clientTokenHasBeenSet =
true;
336 int m_volumeInitializationRate{0};
337 bool m_volumeInitializationRateHasBeenSet =
false;
339 OperatorRequest m_operator;
340 bool m_operatorHasBeenSet =
false;
342 bool m_dryRun{
false};
343 bool m_dryRunHasBeenSet =
false;
const Aws::String & GetKmsKeyId() const
bool GetMultiAttachEnabled() const
CreateVolumeRequest & WithClientToken(ClientTokenT &&value)
bool DryRunHasBeenSet() const
void SetVolumeType(VolumeType value)
bool GetEncrypted() const
void SetOperator(OperatorT &&value)
int GetThroughput() const
void SetThroughput(int value)
bool SnapshotIdHasBeenSet() const
bool ThroughputHasBeenSet() const
bool EncryptedHasBeenSet() const
const Aws::String & GetOutpostArn() const
CreateVolumeRequest & WithVolumeType(VolumeType value)
CreateVolumeRequest & WithVolumeInitializationRate(int value)
VolumeType GetVolumeType() const
CreateVolumeRequest & WithDryRun(bool value)
void SetDryRun(bool value)
const Aws::String & GetAvailabilityZone() const
const Aws::Vector< TagSpecification > & GetTagSpecifications() const
void SetAvailabilityZone(AvailabilityZoneT &&value)
void SetKmsKeyId(KmsKeyIdT &&value)
bool SizeHasBeenSet() const
bool VolumeInitializationRateHasBeenSet() const
void SetMultiAttachEnabled(bool value)
CreateVolumeRequest & AddTagSpecifications(TagSpecificationsT &&value)
bool TagSpecificationsHasBeenSet() const
void SetSnapshotId(SnapshotIdT &&value)
void SetClientToken(ClientTokenT &&value)
void SetOutpostArn(OutpostArnT &&value)
bool KmsKeyIdHasBeenSet() const
bool AvailabilityZoneHasBeenSet() const
CreateVolumeRequest & WithKmsKeyId(KmsKeyIdT &&value)
void SetEncrypted(bool value)
CreateVolumeRequest & WithEncrypted(bool value)
AWS_EC2_API Aws::String SerializePayload() const override
bool IopsHasBeenSet() const
const Aws::String & GetSnapshotId() const
void SetTagSpecifications(TagSpecificationsT &&value)
bool OperatorHasBeenSet() const
CreateVolumeRequest & WithOutpostArn(OutpostArnT &&value)
CreateVolumeRequest & WithSnapshotId(SnapshotIdT &&value)
CreateVolumeRequest & WithSize(int value)
virtual const char * GetServiceRequestName() const override
CreateVolumeRequest & WithAvailabilityZone(AvailabilityZoneT &&value)
bool MultiAttachEnabledHasBeenSet() const
void SetVolumeInitializationRate(int value)
AWS_EC2_API void DumpBodyToUrl(Aws::Http::URI &uri) const override
CreateVolumeRequest & WithTagSpecifications(TagSpecificationsT &&value)
AWS_EC2_API CreateVolumeRequest()=default
const OperatorRequest & GetOperator() const
bool VolumeTypeHasBeenSet() const
CreateVolumeRequest & WithIops(int value)
bool ClientTokenHasBeenSet() const
CreateVolumeRequest & WithThroughput(int value)
const Aws::String & GetClientToken() const
int GetVolumeInitializationRate() const
bool OutpostArnHasBeenSet() const
CreateVolumeRequest & WithMultiAttachEnabled(bool value)
CreateVolumeRequest & WithOperator(OperatorT &&value)
static Aws::Utils::UUID PseudoRandomUUID()
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector