AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
EbsBlockDevice.h
1
6#pragma once
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>
11#include <utility>
12
13namespace Aws
14{
15namespace Utils
16{
17namespace Xml
18{
19 class XmlNode;
20} // namespace Xml
21} // namespace Utils
22namespace EC2
23{
24namespace Model
25{
26
33 {
34 public:
35 AWS_EC2_API EbsBlockDevice() = default;
36 AWS_EC2_API EbsBlockDevice(const Aws::Utils::Xml::XmlNode& xmlNode);
38
39 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
40 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
41
42
44
51 inline bool GetDeleteOnTermination() const { return m_deleteOnTermination; }
52 inline bool DeleteOnTerminationHasBeenSet() const { return m_deleteOnTerminationHasBeenSet; }
53 inline void SetDeleteOnTermination(bool value) { m_deleteOnTerminationHasBeenSet = true; m_deleteOnTermination = value; }
54 inline EbsBlockDevice& WithDeleteOnTermination(bool value) { SetDeleteOnTermination(value); return *this;}
56
58
74 inline int GetIops() const { return m_iops; }
75 inline bool IopsHasBeenSet() const { return m_iopsHasBeenSet; }
76 inline void SetIops(int value) { m_iopsHasBeenSet = true; m_iops = value; }
77 inline EbsBlockDevice& WithIops(int value) { SetIops(value); return *this;}
79
81
84 inline const Aws::String& GetSnapshotId() const { return m_snapshotId; }
85 inline bool SnapshotIdHasBeenSet() const { return m_snapshotIdHasBeenSet; }
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>
89 EbsBlockDevice& WithSnapshotId(SnapshotIdT&& value) { SetSnapshotId(std::forward<SnapshotIdT>(value)); return *this;}
91
93
103 inline int GetVolumeSize() const { return m_volumeSize; }
104 inline bool VolumeSizeHasBeenSet() const { return m_volumeSizeHasBeenSet; }
105 inline void SetVolumeSize(int value) { m_volumeSizeHasBeenSet = true; m_volumeSize = value; }
106 inline EbsBlockDevice& WithVolumeSize(int value) { SetVolumeSize(value); return *this;}
108
110
115 inline VolumeType GetVolumeType() const { return m_volumeType; }
116 inline bool VolumeTypeHasBeenSet() const { return m_volumeTypeHasBeenSet; }
117 inline void SetVolumeType(VolumeType value) { m_volumeTypeHasBeenSet = true; m_volumeType = value; }
118 inline EbsBlockDevice& WithVolumeType(VolumeType value) { SetVolumeType(value); return *this;}
120
122
132 inline const Aws::String& GetKmsKeyId() const { return m_kmsKeyId; }
133 inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; }
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>
137 EbsBlockDevice& WithKmsKeyId(KmsKeyIdT&& value) { SetKmsKeyId(std::forward<KmsKeyIdT>(value)); return *this;}
139
141
146 inline int GetThroughput() const { return m_throughput; }
147 inline bool ThroughputHasBeenSet() const { return m_throughputHasBeenSet; }
148 inline void SetThroughput(int value) { m_throughputHasBeenSet = true; m_throughput = value; }
149 inline EbsBlockDevice& WithThroughput(int value) { SetThroughput(value); return *this;}
151
153
158 inline const Aws::String& GetOutpostArn() const { return m_outpostArn; }
159 inline bool OutpostArnHasBeenSet() const { return m_outpostArnHasBeenSet; }
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>
163 EbsBlockDevice& WithOutpostArn(OutpostArnT&& value) { SetOutpostArn(std::forward<OutpostArnT>(value)); return *this;}
165
167
179 inline const Aws::String& GetAvailabilityZone() const { return m_availabilityZone; }
180 inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; }
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>
184 EbsBlockDevice& WithAvailabilityZone(AvailabilityZoneT&& value) { SetAvailabilityZone(std::forward<AvailabilityZoneT>(value)); return *this;}
186
188
222 inline bool GetEncrypted() const { return m_encrypted; }
223 inline bool EncryptedHasBeenSet() const { return m_encryptedHasBeenSet; }
224 inline void SetEncrypted(bool value) { m_encryptedHasBeenSet = true; m_encrypted = value; }
225 inline EbsBlockDevice& WithEncrypted(bool value) { SetEncrypted(value); return *this;}
227
229
249 inline int GetVolumeInitializationRate() const { return m_volumeInitializationRate; }
250 inline bool VolumeInitializationRateHasBeenSet() const { return m_volumeInitializationRateHasBeenSet; }
251 inline void SetVolumeInitializationRate(int value) { m_volumeInitializationRateHasBeenSet = true; m_volumeInitializationRate = value; }
254
256
268 inline const Aws::String& GetAvailabilityZoneId() const { return m_availabilityZoneId; }
269 inline bool AvailabilityZoneIdHasBeenSet() const { return m_availabilityZoneIdHasBeenSet; }
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>
273 EbsBlockDevice& WithAvailabilityZoneId(AvailabilityZoneIdT&& value) { SetAvailabilityZoneId(std::forward<AvailabilityZoneIdT>(value)); return *this;}
275 private:
276
277 bool m_deleteOnTermination{false};
278 bool m_deleteOnTerminationHasBeenSet = false;
279
280 int m_iops{0};
281 bool m_iopsHasBeenSet = false;
282
283 Aws::String m_snapshotId;
284 bool m_snapshotIdHasBeenSet = false;
285
286 int m_volumeSize{0};
287 bool m_volumeSizeHasBeenSet = false;
288
289 VolumeType m_volumeType{VolumeType::NOT_SET};
290 bool m_volumeTypeHasBeenSet = false;
291
292 Aws::String m_kmsKeyId;
293 bool m_kmsKeyIdHasBeenSet = false;
294
295 int m_throughput{0};
296 bool m_throughputHasBeenSet = false;
297
298 Aws::String m_outpostArn;
299 bool m_outpostArnHasBeenSet = false;
300
301 Aws::String m_availabilityZone;
302 bool m_availabilityZoneHasBeenSet = false;
303
304 bool m_encrypted{false};
305 bool m_encryptedHasBeenSet = false;
306
307 int m_volumeInitializationRate{0};
308 bool m_volumeInitializationRateHasBeenSet = false;
309
310 Aws::String m_availabilityZoneId;
311 bool m_availabilityZoneIdHasBeenSet = false;
312 };
313
314} // namespace Model
315} // namespace EC2
316} // namespace Aws
EbsBlockDevice & WithAvailabilityZoneId(AvailabilityZoneIdT &&value)
EbsBlockDevice & WithIops(int value)
const Aws::String & GetSnapshotId() const
void SetAvailabilityZoneId(AvailabilityZoneIdT &&value)
void SetVolumeType(VolumeType value)
const Aws::String & GetKmsKeyId() 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)
EbsBlockDevice & WithEncrypted(bool value)
const Aws::String & GetOutpostArn() const
void SetSnapshotId(SnapshotIdT &&value)
EbsBlockDevice & WithThroughput(int value)
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
void SetVolumeInitializationRate(int value)
EbsBlockDevice & WithOutpostArn(OutpostArnT &&value)
EbsBlockDevice & WithVolumeType(VolumeType value)
const Aws::String & GetAvailabilityZone() const
EbsBlockDevice & WithDeleteOnTermination(bool value)
EbsBlockDevice & WithAvailabilityZone(AvailabilityZoneT &&value)
AWS_EC2_API EbsBlockDevice()=default
const Aws::String & GetAvailabilityZoneId() const
EbsBlockDevice & WithVolumeSize(int value)
AWS_EC2_API EbsBlockDevice(const Aws::Utils::Xml::XmlNode &xmlNode)
EbsBlockDevice & WithKmsKeyId(KmsKeyIdT &&value)
void SetDeleteOnTermination(bool value)
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