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>
49 inline void SetEncrypted(
bool value) { m_encryptedHasBeenSet =
true; m_encrypted = value; }
59 inline void SetDeleteOnTermination(
bool value) { m_deleteOnTerminationHasBeenSet =
true; m_deleteOnTermination = value; }
67 inline int GetIops()
const {
return m_iops; }
69 inline void SetIops(
int value) { m_iopsHasBeenSet =
true; m_iops = value; }
80 template<
typename KmsKeyIdT = Aws::String>
81 void SetKmsKeyId(KmsKeyIdT&& value) { m_kmsKeyIdHasBeenSet =
true; m_kmsKeyId = std::forward<KmsKeyIdT>(value); }
82 template<
typename KmsKeyIdT = Aws::String>
92 template<
typename SnapshotIdT = Aws::String>
93 void SetSnapshotId(SnapshotIdT&& value) { m_snapshotIdHasBeenSet =
true; m_snapshotId = std::forward<SnapshotIdT>(value); }
94 template<
typename SnapshotIdT = Aws::String>
104 inline void SetVolumeSize(
int value) { m_volumeSizeHasBeenSet =
true; m_volumeSize = value; }
124 inline void SetThroughput(
int value) { m_throughputHasBeenSet =
true; m_throughput = value; }
141 bool m_encrypted{
false};
142 bool m_encryptedHasBeenSet =
false;
144 bool m_deleteOnTermination{
false};
145 bool m_deleteOnTerminationHasBeenSet =
false;
148 bool m_iopsHasBeenSet =
false;
151 bool m_kmsKeyIdHasBeenSet =
false;
154 bool m_snapshotIdHasBeenSet =
false;
157 bool m_volumeSizeHasBeenSet =
false;
160 bool m_volumeTypeHasBeenSet =
false;
163 bool m_throughputHasBeenSet =
false;
165 int m_volumeInitializationRate{0};
166 bool m_volumeInitializationRateHasBeenSet =
false;
bool VolumeInitializationRateHasBeenSet() const
LaunchTemplateEbsBlockDevice & WithKmsKeyId(KmsKeyIdT &&value)
LaunchTemplateEbsBlockDevice & WithVolumeSize(int value)
bool GetEncrypted() const
void SetThroughput(int value)
const Aws::String & GetKmsKeyId() const
void SetVolumeInitializationRate(int value)
int GetVolumeSize() const
void SetVolumeType(VolumeType value)
LaunchTemplateEbsBlockDevice & WithThroughput(int value)
LaunchTemplateEbsBlockDevice & WithVolumeType(VolumeType value)
int GetVolumeInitializationRate() const
bool SnapshotIdHasBeenSet() const
bool GetDeleteOnTermination() const
LaunchTemplateEbsBlockDevice & WithDeleteOnTermination(bool value)
bool KmsKeyIdHasBeenSet() const
bool VolumeSizeHasBeenSet() const
void SetSnapshotId(SnapshotIdT &&value)
int GetThroughput() const
AWS_EC2_API LaunchTemplateEbsBlockDevice()=default
VolumeType GetVolumeType() const
void SetKmsKeyId(KmsKeyIdT &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
bool DeleteOnTerminationHasBeenSet() const
LaunchTemplateEbsBlockDevice & WithSnapshotId(SnapshotIdT &&value)
AWS_EC2_API LaunchTemplateEbsBlockDevice(const Aws::Utils::Xml::XmlNode &xmlNode)
bool IopsHasBeenSet() const
void SetEncrypted(bool value)
bool ThroughputHasBeenSet() const
void SetDeleteOnTermination(bool value)
AWS_EC2_API LaunchTemplateEbsBlockDevice & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
LaunchTemplateEbsBlockDevice & WithVolumeInitializationRate(int value)
LaunchTemplateEbsBlockDevice & WithIops(int value)
bool VolumeTypeHasBeenSet() const
const Aws::String & GetSnapshotId() const
void SetVolumeSize(int value)
bool EncryptedHasBeenSet() const
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
LaunchTemplateEbsBlockDevice & WithEncrypted(bool value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::basic_ostream< char, std::char_traits< char > > OStream