AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
LaunchTemplateEbsBlockDevice.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/ec2/EC2_EXPORTS.h>
10#include <aws/ec2/model/VolumeType.h>
11
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Xml {
17class XmlNode;
18} // namespace Xml
19} // namespace Utils
20namespace EC2 {
21namespace Model {
22
29 public:
30 AWS_EC2_API LaunchTemplateEbsBlockDevice() = default;
33
34 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
35 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
36
38
41 inline bool GetEncrypted() const { return m_encrypted; }
42 inline bool EncryptedHasBeenSet() const { return m_encryptedHasBeenSet; }
43 inline void SetEncrypted(bool value) {
44 m_encryptedHasBeenSet = true;
45 m_encrypted = value;
46 }
48 SetEncrypted(value);
49 return *this;
50 }
52
54
57 inline bool GetDeleteOnTermination() const { return m_deleteOnTermination; }
58 inline bool DeleteOnTerminationHasBeenSet() const { return m_deleteOnTerminationHasBeenSet; }
59 inline void SetDeleteOnTermination(bool value) {
60 m_deleteOnTerminationHasBeenSet = true;
61 m_deleteOnTermination = value;
62 }
65 return *this;
66 }
68
70
73 inline int GetIops() const { return m_iops; }
74 inline bool IopsHasBeenSet() const { return m_iopsHasBeenSet; }
75 inline void SetIops(int value) {
76 m_iopsHasBeenSet = true;
77 m_iops = value;
78 }
80 SetIops(value);
81 return *this;
82 }
84
86
90 inline const Aws::String& GetKmsKeyId() const { return m_kmsKeyId; }
91 inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; }
92 template <typename KmsKeyIdT = Aws::String>
93 void SetKmsKeyId(KmsKeyIdT&& value) {
94 m_kmsKeyIdHasBeenSet = true;
95 m_kmsKeyId = std::forward<KmsKeyIdT>(value);
96 }
97 template <typename KmsKeyIdT = Aws::String>
99 SetKmsKeyId(std::forward<KmsKeyIdT>(value));
100 return *this;
101 }
103
105
108 inline const Aws::String& GetSnapshotId() const { return m_snapshotId; }
109 inline bool SnapshotIdHasBeenSet() const { return m_snapshotIdHasBeenSet; }
110 template <typename SnapshotIdT = Aws::String>
111 void SetSnapshotId(SnapshotIdT&& value) {
112 m_snapshotIdHasBeenSet = true;
113 m_snapshotId = std::forward<SnapshotIdT>(value);
114 }
115 template <typename SnapshotIdT = Aws::String>
117 SetSnapshotId(std::forward<SnapshotIdT>(value));
118 return *this;
119 }
121
123
126 inline int GetVolumeSize() const { return m_volumeSize; }
127 inline bool VolumeSizeHasBeenSet() const { return m_volumeSizeHasBeenSet; }
128 inline void SetVolumeSize(int value) {
129 m_volumeSizeHasBeenSet = true;
130 m_volumeSize = value;
131 }
133 SetVolumeSize(value);
134 return *this;
135 }
137
139
142 inline VolumeType GetVolumeType() const { return m_volumeType; }
143 inline bool VolumeTypeHasBeenSet() const { return m_volumeTypeHasBeenSet; }
144 inline void SetVolumeType(VolumeType value) {
145 m_volumeTypeHasBeenSet = true;
146 m_volumeType = value;
147 }
149 SetVolumeType(value);
150 return *this;
151 }
153
155
158 inline int GetThroughput() const { return m_throughput; }
159 inline bool ThroughputHasBeenSet() const { return m_throughputHasBeenSet; }
160 inline void SetThroughput(int value) {
161 m_throughputHasBeenSet = true;
162 m_throughput = value;
163 }
165 SetThroughput(value);
166 return *this;
167 }
169
171
176 inline int GetVolumeInitializationRate() const { return m_volumeInitializationRate; }
177 inline bool VolumeInitializationRateHasBeenSet() const { return m_volumeInitializationRateHasBeenSet; }
178 inline void SetVolumeInitializationRate(int value) {
179 m_volumeInitializationRateHasBeenSet = true;
180 m_volumeInitializationRate = value;
181 }
184 return *this;
185 }
187 private:
188 bool m_encrypted{false};
189
190 bool m_deleteOnTermination{false};
191
192 int m_iops{0};
193
194 Aws::String m_kmsKeyId;
195
196 Aws::String m_snapshotId;
197
198 int m_volumeSize{0};
199
200 VolumeType m_volumeType{VolumeType::NOT_SET};
201
202 int m_throughput{0};
203
204 int m_volumeInitializationRate{0};
205 bool m_encryptedHasBeenSet = false;
206 bool m_deleteOnTerminationHasBeenSet = false;
207 bool m_iopsHasBeenSet = false;
208 bool m_kmsKeyIdHasBeenSet = false;
209 bool m_snapshotIdHasBeenSet = false;
210 bool m_volumeSizeHasBeenSet = false;
211 bool m_volumeTypeHasBeenSet = false;
212 bool m_throughputHasBeenSet = false;
213 bool m_volumeInitializationRateHasBeenSet = false;
214};
215
216} // namespace Model
217} // namespace EC2
218} // namespace Aws
LaunchTemplateEbsBlockDevice & WithKmsKeyId(KmsKeyIdT &&value)
LaunchTemplateEbsBlockDevice & WithVolumeSize(int value)
LaunchTemplateEbsBlockDevice & WithThroughput(int value)
LaunchTemplateEbsBlockDevice & WithVolumeType(VolumeType value)
LaunchTemplateEbsBlockDevice & WithDeleteOnTermination(bool value)
AWS_EC2_API LaunchTemplateEbsBlockDevice()=default
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
LaunchTemplateEbsBlockDevice & WithSnapshotId(SnapshotIdT &&value)
AWS_EC2_API LaunchTemplateEbsBlockDevice(const Aws::Utils::Xml::XmlNode &xmlNode)
AWS_EC2_API LaunchTemplateEbsBlockDevice & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
LaunchTemplateEbsBlockDevice & WithVolumeInitializationRate(int value)
LaunchTemplateEbsBlockDevice & WithIops(int value)
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