AWS SDK for C++

AWS SDK for C++ Version 1.11.788

Loading...
Searching...
No Matches
StartSnapshotResult.h
1
6#pragma once
7#include <aws/core/http/HttpResponse.h>
8#include <aws/core/utils/DateTime.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/ebs/EBS_EXPORTS.h>
12#include <aws/ebs/model/SSEType.h>
13#include <aws/ebs/model/Status.h>
14#include <aws/ebs/model/Tag.h>
15
16#include <utility>
17
18namespace Aws {
19template <typename RESULT_TYPE>
20class AmazonWebServiceResult;
21
22namespace Utils {
23namespace Json {
24class JsonValue;
25} // namespace Json
26} // namespace Utils
27namespace EBS {
28namespace Model {
30 public:
31 AWS_EBS_API StartSnapshotResult() = default;
34
36
39 inline const Aws::String& GetDescription() const { return m_description; }
40 template <typename DescriptionT = Aws::String>
41 void SetDescription(DescriptionT&& value) {
42 m_descriptionHasBeenSet = true;
43 m_description = std::forward<DescriptionT>(value);
44 }
45 template <typename DescriptionT = Aws::String>
46 StartSnapshotResult& WithDescription(DescriptionT&& value) {
47 SetDescription(std::forward<DescriptionT>(value));
48 return *this;
49 }
51
53
56 inline const Aws::String& GetSnapshotId() const { return m_snapshotId; }
57 template <typename SnapshotIdT = Aws::String>
58 void SetSnapshotId(SnapshotIdT&& value) {
59 m_snapshotIdHasBeenSet = true;
60 m_snapshotId = std::forward<SnapshotIdT>(value);
61 }
62 template <typename SnapshotIdT = Aws::String>
63 StartSnapshotResult& WithSnapshotId(SnapshotIdT&& value) {
64 SetSnapshotId(std::forward<SnapshotIdT>(value));
65 return *this;
66 }
68
70
73 inline const Aws::String& GetOwnerId() const { return m_ownerId; }
74 template <typename OwnerIdT = Aws::String>
75 void SetOwnerId(OwnerIdT&& value) {
76 m_ownerIdHasBeenSet = true;
77 m_ownerId = std::forward<OwnerIdT>(value);
78 }
79 template <typename OwnerIdT = Aws::String>
80 StartSnapshotResult& WithOwnerId(OwnerIdT&& value) {
81 SetOwnerId(std::forward<OwnerIdT>(value));
82 return *this;
83 }
85
87
90 inline Status GetStatus() const { return m_status; }
91 inline void SetStatus(Status value) {
92 m_statusHasBeenSet = true;
93 m_status = value;
94 }
96 SetStatus(value);
97 return *this;
98 }
100
102
105 inline const Aws::Utils::DateTime& GetStartTime() const { return m_startTime; }
106 template <typename StartTimeT = Aws::Utils::DateTime>
107 void SetStartTime(StartTimeT&& value) {
108 m_startTimeHasBeenSet = true;
109 m_startTime = std::forward<StartTimeT>(value);
110 }
111 template <typename StartTimeT = Aws::Utils::DateTime>
112 StartSnapshotResult& WithStartTime(StartTimeT&& value) {
113 SetStartTime(std::forward<StartTimeT>(value));
114 return *this;
115 }
117
119
122 inline long long GetVolumeSize() const { return m_volumeSize; }
123 inline void SetVolumeSize(long long value) {
124 m_volumeSizeHasBeenSet = true;
125 m_volumeSize = value;
126 }
127 inline StartSnapshotResult& WithVolumeSize(long long value) {
128 SetVolumeSize(value);
129 return *this;
130 }
132
134
137 inline int GetBlockSize() const { return m_blockSize; }
138 inline void SetBlockSize(int value) {
139 m_blockSizeHasBeenSet = true;
140 m_blockSize = value;
141 }
143 SetBlockSize(value);
144 return *this;
145 }
147
149
156 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
157 template <typename TagsT = Aws::Vector<Tag>>
158 void SetTags(TagsT&& value) {
159 m_tagsHasBeenSet = true;
160 m_tags = std::forward<TagsT>(value);
161 }
162 template <typename TagsT = Aws::Vector<Tag>>
164 SetTags(std::forward<TagsT>(value));
165 return *this;
166 }
167 template <typename TagsT = Tag>
168 StartSnapshotResult& AddTags(TagsT&& value) {
169 m_tagsHasBeenSet = true;
170 m_tags.emplace_back(std::forward<TagsT>(value));
171 return *this;
172 }
174
176
179 inline const Aws::String& GetParentSnapshotId() const { return m_parentSnapshotId; }
180 template <typename ParentSnapshotIdT = Aws::String>
181 void SetParentSnapshotId(ParentSnapshotIdT&& value) {
182 m_parentSnapshotIdHasBeenSet = true;
183 m_parentSnapshotId = std::forward<ParentSnapshotIdT>(value);
184 }
185 template <typename ParentSnapshotIdT = Aws::String>
186 StartSnapshotResult& WithParentSnapshotId(ParentSnapshotIdT&& value) {
187 SetParentSnapshotId(std::forward<ParentSnapshotIdT>(value));
188 return *this;
189 }
191
193
197 inline const Aws::String& GetKmsKeyArn() const { return m_kmsKeyArn; }
198 template <typename KmsKeyArnT = Aws::String>
199 void SetKmsKeyArn(KmsKeyArnT&& value) {
200 m_kmsKeyArnHasBeenSet = true;
201 m_kmsKeyArn = std::forward<KmsKeyArnT>(value);
202 }
203 template <typename KmsKeyArnT = Aws::String>
204 StartSnapshotResult& WithKmsKeyArn(KmsKeyArnT&& value) {
205 SetKmsKeyArn(std::forward<KmsKeyArnT>(value));
206 return *this;
207 }
209
211
214 inline SSEType GetSseType() const { return m_sseType; }
215 inline void SetSseType(SSEType value) {
216 m_sseTypeHasBeenSet = true;
217 m_sseType = value;
218 }
220 SetSseType(value);
221 return *this;
222 }
224
226
227 inline const Aws::String& GetRequestId() const { return m_requestId; }
228 template <typename RequestIdT = Aws::String>
229 void SetRequestId(RequestIdT&& value) {
230 m_requestIdHasBeenSet = true;
231 m_requestId = std::forward<RequestIdT>(value);
232 }
233 template <typename RequestIdT = Aws::String>
234 StartSnapshotResult& WithRequestId(RequestIdT&& value) {
235 SetRequestId(std::forward<RequestIdT>(value));
236 return *this;
237 }
239 inline Aws::Http::HttpResponseCode GetHttpResponseCode() const { return m_HttpResponseCode; }
240
241 private:
242 Aws::String m_description;
243
244 Aws::String m_snapshotId;
245
246 Aws::String m_ownerId;
247
248 Status m_status{Status::NOT_SET};
249
250 Aws::Utils::DateTime m_startTime{};
251
252 long long m_volumeSize{0};
253
254 int m_blockSize{0};
255
256 Aws::Vector<Tag> m_tags;
257
258 Aws::String m_parentSnapshotId;
259
260 Aws::String m_kmsKeyArn;
261
262 SSEType m_sseType{SSEType::NOT_SET};
263
264 Aws::String m_requestId;
265 Aws::Http::HttpResponseCode m_HttpResponseCode;
266 bool m_descriptionHasBeenSet = false;
267 bool m_snapshotIdHasBeenSet = false;
268 bool m_ownerIdHasBeenSet = false;
269 bool m_statusHasBeenSet = false;
270 bool m_startTimeHasBeenSet = false;
271 bool m_volumeSizeHasBeenSet = false;
272 bool m_blockSizeHasBeenSet = false;
273 bool m_tagsHasBeenSet = false;
274 bool m_parentSnapshotIdHasBeenSet = false;
275 bool m_kmsKeyArnHasBeenSet = false;
276 bool m_sseTypeHasBeenSet = false;
277 bool m_requestIdHasBeenSet = false;
278};
279
280} // namespace Model
281} // namespace EBS
282} // namespace Aws
StartSnapshotResult & WithRequestId(RequestIdT &&value)
void SetSnapshotId(SnapshotIdT &&value)
const Aws::String & GetKmsKeyArn() const
StartSnapshotResult & AddTags(TagsT &&value)
const Aws::String & GetSnapshotId() const
const Aws::String & GetOwnerId() const
AWS_EBS_API StartSnapshotResult & operator=(const Aws::AmazonWebServiceResult< Aws::Utils::Json::JsonValue > &result)
void SetDescription(DescriptionT &&value)
const Aws::Vector< Tag > & GetTags() const
const Aws::String & GetRequestId() const
const Aws::Utils::DateTime & GetStartTime() const
StartSnapshotResult & WithSseType(SSEType value)
StartSnapshotResult & WithTags(TagsT &&value)
Aws::Http::HttpResponseCode GetHttpResponseCode() const
StartSnapshotResult & WithParentSnapshotId(ParentSnapshotIdT &&value)
StartSnapshotResult & WithBlockSize(int value)
const Aws::String & GetDescription() const
StartSnapshotResult & WithSnapshotId(SnapshotIdT &&value)
AWS_EBS_API StartSnapshotResult(const Aws::AmazonWebServiceResult< Aws::Utils::Json::JsonValue > &result)
const Aws::String & GetParentSnapshotId() const
StartSnapshotResult & WithStartTime(StartTimeT &&value)
void SetParentSnapshotId(ParentSnapshotIdT &&value)
StartSnapshotResult & WithOwnerId(OwnerIdT &&value)
StartSnapshotResult & WithStatus(Status value)
StartSnapshotResult & WithKmsKeyArn(KmsKeyArnT &&value)
StartSnapshotResult & WithDescription(DescriptionT &&value)
AWS_EBS_API StartSnapshotResult()=default
StartSnapshotResult & WithVolumeSize(long long value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue