7#include <aws/ec2/EC2_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/ec2/model/VolumeType.h>
53 inline void SetDeleteOnTermination(
bool value) { m_deleteOnTerminationHasBeenSet =
true; m_deleteOnTermination = value; }
74 inline int GetIops()
const {
return m_iops; }
76 inline void SetIops(
int value) { m_iopsHasBeenSet =
true; m_iops = value; }
86 template<
typename SnapshotIdT = Aws::String>
87 void SetSnapshotId(SnapshotIdT&& value) { m_snapshotIdHasBeenSet =
true; m_snapshotId = std::forward<SnapshotIdT>(value); }
88 template<
typename SnapshotIdT = Aws::String>
105 inline void SetVolumeSize(
int value) { m_volumeSizeHasBeenSet =
true; m_volumeSize = value; }
134 template<
typename KmsKeyIdT = Aws::String>
135 void SetKmsKeyId(KmsKeyIdT&& value) { m_kmsKeyIdHasBeenSet =
true; m_kmsKeyId = std::forward<KmsKeyIdT>(value); }
136 template<
typename KmsKeyIdT = Aws::String>
148 inline void SetThroughput(
int value) { m_throughputHasBeenSet =
true; m_throughput = value; }
160 template<
typename OutpostArnT = Aws::String>
161 void SetOutpostArn(OutpostArnT&& value) { m_outpostArnHasBeenSet =
true; m_outpostArn = std::forward<OutpostArnT>(value); }
162 template<
typename OutpostArnT = Aws::String>
181 template<
typename AvailabilityZoneT = Aws::String>
182 void SetAvailabilityZone(AvailabilityZoneT&& value) { m_availabilityZoneHasBeenSet =
true; m_availabilityZone = std::forward<AvailabilityZoneT>(value); }
183 template<
typename AvailabilityZoneT = Aws::String>
224 inline void SetEncrypted(
bool value) { m_encryptedHasBeenSet =
true; m_encrypted = value; }
270 template<
typename AvailabilityZoneIdT = Aws::String>
271 void SetAvailabilityZoneId(AvailabilityZoneIdT&& value) { m_availabilityZoneIdHasBeenSet =
true; m_availabilityZoneId = std::forward<AvailabilityZoneIdT>(value); }
272 template<
typename AvailabilityZoneIdT = Aws::String>
277 bool m_deleteOnTermination{
false};
278 bool m_deleteOnTerminationHasBeenSet =
false;
281 bool m_iopsHasBeenSet =
false;
284 bool m_snapshotIdHasBeenSet =
false;
287 bool m_volumeSizeHasBeenSet =
false;
290 bool m_volumeTypeHasBeenSet =
false;
293 bool m_kmsKeyIdHasBeenSet =
false;
296 bool m_throughputHasBeenSet =
false;
299 bool m_outpostArnHasBeenSet =
false;
302 bool m_availabilityZoneHasBeenSet =
false;
304 bool m_encrypted{
false};
305 bool m_encryptedHasBeenSet =
false;
307 int m_volumeInitializationRate{0};
308 bool m_volumeInitializationRateHasBeenSet =
false;
311 bool m_availabilityZoneIdHasBeenSet =
false;
EbsBlockDevice & WithAvailabilityZoneId(AvailabilityZoneIdT &&value)
EbsBlockDevice & WithIops(int value)
const Aws::String & GetSnapshotId() const
void SetAvailabilityZoneId(AvailabilityZoneIdT &&value)
void SetVolumeType(VolumeType value)
void SetEncrypted(bool value)
const Aws::String & GetKmsKeyId() const
bool AvailabilityZoneHasBeenSet() const
bool KmsKeyIdHasBeenSet() const
EbsBlockDevice & WithSnapshotId(SnapshotIdT &&value)
AWS_EC2_API EbsBlockDevice & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
bool VolumeInitializationRateHasBeenSet() const
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
void SetOutpostArn(OutpostArnT &&value)
void SetKmsKeyId(KmsKeyIdT &&value)
bool ThroughputHasBeenSet() const
EbsBlockDevice & WithEncrypted(bool value)
void SetThroughput(int value)
const Aws::String & GetOutpostArn() const
void SetSnapshotId(SnapshotIdT &&value)
VolumeType GetVolumeType() const
bool GetDeleteOnTermination() const
EbsBlockDevice & WithThroughput(int value)
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
void SetVolumeInitializationRate(int value)
bool GetEncrypted() const
bool SnapshotIdHasBeenSet() const
EbsBlockDevice & WithOutpostArn(OutpostArnT &&value)
EbsBlockDevice & WithVolumeType(VolumeType value)
const Aws::String & GetAvailabilityZone() const
int GetVolumeInitializationRate() const
bool IopsHasBeenSet() const
EbsBlockDevice & WithDeleteOnTermination(bool value)
int GetThroughput() const
bool OutpostArnHasBeenSet() const
bool VolumeSizeHasBeenSet() const
void SetVolumeSize(int value)
EbsBlockDevice & WithAvailabilityZone(AvailabilityZoneT &&value)
AWS_EC2_API EbsBlockDevice()=default
const Aws::String & GetAvailabilityZoneId() const
bool VolumeTypeHasBeenSet() const
EbsBlockDevice & WithVolumeSize(int value)
bool EncryptedHasBeenSet() const
AWS_EC2_API EbsBlockDevice(const Aws::Utils::Xml::XmlNode &xmlNode)
bool DeleteOnTerminationHasBeenSet() const
bool AvailabilityZoneIdHasBeenSet() const
EbsBlockDevice & WithKmsKeyId(KmsKeyIdT &&value)
void SetDeleteOnTermination(bool value)
int GetVolumeSize() const
EbsBlockDevice & WithVolumeInitializationRate(int value)
void SetAvailabilityZone(AvailabilityZoneT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::basic_ostream< char, std::char_traits< char > > OStream