aws_sdk_ec2/operation/create_volume/
_create_volume_output.rs1#[non_exhaustive]
5#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
6pub struct CreateVolumeOutput {
7 pub outpost_arn: ::std::option::Option<::std::string::String>,
9 pub iops: ::std::option::Option<i32>,
11 pub tags: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>,
13 pub volume_type: ::std::option::Option<crate::types::VolumeType>,
15 pub fast_restored: ::std::option::Option<bool>,
20 pub multi_attach_enabled: ::std::option::Option<bool>,
22 pub throughput: ::std::option::Option<i32>,
24 pub sse_type: ::std::option::Option<crate::types::SseType>,
29 pub operator: ::std::option::Option<crate::types::OperatorResponse>,
31 pub volume_initialization_rate: ::std::option::Option<i32>,
33 pub volume_id: ::std::option::Option<::std::string::String>,
35 pub size: ::std::option::Option<i32>,
37 pub snapshot_id: ::std::option::Option<::std::string::String>,
39 pub availability_zone: ::std::option::Option<::std::string::String>,
41 pub state: ::std::option::Option<crate::types::VolumeState>,
43 pub create_time: ::std::option::Option<::aws_smithy_types::DateTime>,
45 pub attachments: ::std::option::Option<::std::vec::Vec<crate::types::VolumeAttachment>>,
50 pub encrypted: ::std::option::Option<bool>,
52 pub kms_key_id: ::std::option::Option<::std::string::String>,
54 _request_id: Option<String>,
55}
56impl CreateVolumeOutput {
57 pub fn outpost_arn(&self) -> ::std::option::Option<&str> {
59 self.outpost_arn.as_deref()
60 }
61 pub fn iops(&self) -> ::std::option::Option<i32> {
63 self.iops
64 }
65 pub fn tags(&self) -> &[crate::types::Tag] {
69 self.tags.as_deref().unwrap_or_default()
70 }
71 pub fn volume_type(&self) -> ::std::option::Option<&crate::types::VolumeType> {
73 self.volume_type.as_ref()
74 }
75 pub fn fast_restored(&self) -> ::std::option::Option<bool> {
80 self.fast_restored
81 }
82 pub fn multi_attach_enabled(&self) -> ::std::option::Option<bool> {
84 self.multi_attach_enabled
85 }
86 pub fn throughput(&self) -> ::std::option::Option<i32> {
88 self.throughput
89 }
90 pub fn sse_type(&self) -> ::std::option::Option<&crate::types::SseType> {
95 self.sse_type.as_ref()
96 }
97 pub fn operator(&self) -> ::std::option::Option<&crate::types::OperatorResponse> {
99 self.operator.as_ref()
100 }
101 pub fn volume_initialization_rate(&self) -> ::std::option::Option<i32> {
103 self.volume_initialization_rate
104 }
105 pub fn volume_id(&self) -> ::std::option::Option<&str> {
107 self.volume_id.as_deref()
108 }
109 pub fn size(&self) -> ::std::option::Option<i32> {
111 self.size
112 }
113 pub fn snapshot_id(&self) -> ::std::option::Option<&str> {
115 self.snapshot_id.as_deref()
116 }
117 pub fn availability_zone(&self) -> ::std::option::Option<&str> {
119 self.availability_zone.as_deref()
120 }
121 pub fn state(&self) -> ::std::option::Option<&crate::types::VolumeState> {
123 self.state.as_ref()
124 }
125 pub fn create_time(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
127 self.create_time.as_ref()
128 }
129 pub fn attachments(&self) -> &[crate::types::VolumeAttachment] {
136 self.attachments.as_deref().unwrap_or_default()
137 }
138 pub fn encrypted(&self) -> ::std::option::Option<bool> {
140 self.encrypted
141 }
142 pub fn kms_key_id(&self) -> ::std::option::Option<&str> {
144 self.kms_key_id.as_deref()
145 }
146}
147impl ::aws_types::request_id::RequestId for CreateVolumeOutput {
148 fn request_id(&self) -> Option<&str> {
149 self._request_id.as_deref()
150 }
151}
152impl CreateVolumeOutput {
153 pub fn builder() -> crate::operation::create_volume::builders::CreateVolumeOutputBuilder {
155 crate::operation::create_volume::builders::CreateVolumeOutputBuilder::default()
156 }
157}
158
159#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
161#[non_exhaustive]
162pub struct CreateVolumeOutputBuilder {
163 pub(crate) outpost_arn: ::std::option::Option<::std::string::String>,
164 pub(crate) iops: ::std::option::Option<i32>,
165 pub(crate) tags: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>,
166 pub(crate) volume_type: ::std::option::Option<crate::types::VolumeType>,
167 pub(crate) fast_restored: ::std::option::Option<bool>,
168 pub(crate) multi_attach_enabled: ::std::option::Option<bool>,
169 pub(crate) throughput: ::std::option::Option<i32>,
170 pub(crate) sse_type: ::std::option::Option<crate::types::SseType>,
171 pub(crate) operator: ::std::option::Option<crate::types::OperatorResponse>,
172 pub(crate) volume_initialization_rate: ::std::option::Option<i32>,
173 pub(crate) volume_id: ::std::option::Option<::std::string::String>,
174 pub(crate) size: ::std::option::Option<i32>,
175 pub(crate) snapshot_id: ::std::option::Option<::std::string::String>,
176 pub(crate) availability_zone: ::std::option::Option<::std::string::String>,
177 pub(crate) state: ::std::option::Option<crate::types::VolumeState>,
178 pub(crate) create_time: ::std::option::Option<::aws_smithy_types::DateTime>,
179 pub(crate) attachments: ::std::option::Option<::std::vec::Vec<crate::types::VolumeAttachment>>,
180 pub(crate) encrypted: ::std::option::Option<bool>,
181 pub(crate) kms_key_id: ::std::option::Option<::std::string::String>,
182 _request_id: Option<String>,
183}
184impl CreateVolumeOutputBuilder {
185 pub fn outpost_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
187 self.outpost_arn = ::std::option::Option::Some(input.into());
188 self
189 }
190 pub fn set_outpost_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
192 self.outpost_arn = input;
193 self
194 }
195 pub fn get_outpost_arn(&self) -> &::std::option::Option<::std::string::String> {
197 &self.outpost_arn
198 }
199 pub fn iops(mut self, input: i32) -> Self {
201 self.iops = ::std::option::Option::Some(input);
202 self
203 }
204 pub fn set_iops(mut self, input: ::std::option::Option<i32>) -> Self {
206 self.iops = input;
207 self
208 }
209 pub fn get_iops(&self) -> &::std::option::Option<i32> {
211 &self.iops
212 }
213 pub fn tags(mut self, input: crate::types::Tag) -> Self {
219 let mut v = self.tags.unwrap_or_default();
220 v.push(input);
221 self.tags = ::std::option::Option::Some(v);
222 self
223 }
224 pub fn set_tags(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>) -> Self {
226 self.tags = input;
227 self
228 }
229 pub fn get_tags(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
231 &self.tags
232 }
233 pub fn volume_type(mut self, input: crate::types::VolumeType) -> Self {
235 self.volume_type = ::std::option::Option::Some(input);
236 self
237 }
238 pub fn set_volume_type(mut self, input: ::std::option::Option<crate::types::VolumeType>) -> Self {
240 self.volume_type = input;
241 self
242 }
243 pub fn get_volume_type(&self) -> &::std::option::Option<crate::types::VolumeType> {
245 &self.volume_type
246 }
247 pub fn fast_restored(mut self, input: bool) -> Self {
252 self.fast_restored = ::std::option::Option::Some(input);
253 self
254 }
255 pub fn set_fast_restored(mut self, input: ::std::option::Option<bool>) -> Self {
260 self.fast_restored = input;
261 self
262 }
263 pub fn get_fast_restored(&self) -> &::std::option::Option<bool> {
268 &self.fast_restored
269 }
270 pub fn multi_attach_enabled(mut self, input: bool) -> Self {
272 self.multi_attach_enabled = ::std::option::Option::Some(input);
273 self
274 }
275 pub fn set_multi_attach_enabled(mut self, input: ::std::option::Option<bool>) -> Self {
277 self.multi_attach_enabled = input;
278 self
279 }
280 pub fn get_multi_attach_enabled(&self) -> &::std::option::Option<bool> {
282 &self.multi_attach_enabled
283 }
284 pub fn throughput(mut self, input: i32) -> Self {
286 self.throughput = ::std::option::Option::Some(input);
287 self
288 }
289 pub fn set_throughput(mut self, input: ::std::option::Option<i32>) -> Self {
291 self.throughput = input;
292 self
293 }
294 pub fn get_throughput(&self) -> &::std::option::Option<i32> {
296 &self.throughput
297 }
298 pub fn sse_type(mut self, input: crate::types::SseType) -> Self {
303 self.sse_type = ::std::option::Option::Some(input);
304 self
305 }
306 pub fn set_sse_type(mut self, input: ::std::option::Option<crate::types::SseType>) -> Self {
311 self.sse_type = input;
312 self
313 }
314 pub fn get_sse_type(&self) -> &::std::option::Option<crate::types::SseType> {
319 &self.sse_type
320 }
321 pub fn operator(mut self, input: crate::types::OperatorResponse) -> Self {
323 self.operator = ::std::option::Option::Some(input);
324 self
325 }
326 pub fn set_operator(mut self, input: ::std::option::Option<crate::types::OperatorResponse>) -> Self {
328 self.operator = input;
329 self
330 }
331 pub fn get_operator(&self) -> &::std::option::Option<crate::types::OperatorResponse> {
333 &self.operator
334 }
335 pub fn volume_initialization_rate(mut self, input: i32) -> Self {
337 self.volume_initialization_rate = ::std::option::Option::Some(input);
338 self
339 }
340 pub fn set_volume_initialization_rate(mut self, input: ::std::option::Option<i32>) -> Self {
342 self.volume_initialization_rate = input;
343 self
344 }
345 pub fn get_volume_initialization_rate(&self) -> &::std::option::Option<i32> {
347 &self.volume_initialization_rate
348 }
349 pub fn volume_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
351 self.volume_id = ::std::option::Option::Some(input.into());
352 self
353 }
354 pub fn set_volume_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
356 self.volume_id = input;
357 self
358 }
359 pub fn get_volume_id(&self) -> &::std::option::Option<::std::string::String> {
361 &self.volume_id
362 }
363 pub fn size(mut self, input: i32) -> Self {
365 self.size = ::std::option::Option::Some(input);
366 self
367 }
368 pub fn set_size(mut self, input: ::std::option::Option<i32>) -> Self {
370 self.size = input;
371 self
372 }
373 pub fn get_size(&self) -> &::std::option::Option<i32> {
375 &self.size
376 }
377 pub fn snapshot_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
379 self.snapshot_id = ::std::option::Option::Some(input.into());
380 self
381 }
382 pub fn set_snapshot_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
384 self.snapshot_id = input;
385 self
386 }
387 pub fn get_snapshot_id(&self) -> &::std::option::Option<::std::string::String> {
389 &self.snapshot_id
390 }
391 pub fn availability_zone(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
393 self.availability_zone = ::std::option::Option::Some(input.into());
394 self
395 }
396 pub fn set_availability_zone(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
398 self.availability_zone = input;
399 self
400 }
401 pub fn get_availability_zone(&self) -> &::std::option::Option<::std::string::String> {
403 &self.availability_zone
404 }
405 pub fn state(mut self, input: crate::types::VolumeState) -> Self {
407 self.state = ::std::option::Option::Some(input);
408 self
409 }
410 pub fn set_state(mut self, input: ::std::option::Option<crate::types::VolumeState>) -> Self {
412 self.state = input;
413 self
414 }
415 pub fn get_state(&self) -> &::std::option::Option<crate::types::VolumeState> {
417 &self.state
418 }
419 pub fn create_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
421 self.create_time = ::std::option::Option::Some(input);
422 self
423 }
424 pub fn set_create_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
426 self.create_time = input;
427 self
428 }
429 pub fn get_create_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
431 &self.create_time
432 }
433 pub fn attachments(mut self, input: crate::types::VolumeAttachment) -> Self {
442 let mut v = self.attachments.unwrap_or_default();
443 v.push(input);
444 self.attachments = ::std::option::Option::Some(v);
445 self
446 }
447 pub fn set_attachments(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::VolumeAttachment>>) -> Self {
452 self.attachments = input;
453 self
454 }
455 pub fn get_attachments(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::VolumeAttachment>> {
460 &self.attachments
461 }
462 pub fn encrypted(mut self, input: bool) -> Self {
464 self.encrypted = ::std::option::Option::Some(input);
465 self
466 }
467 pub fn set_encrypted(mut self, input: ::std::option::Option<bool>) -> Self {
469 self.encrypted = input;
470 self
471 }
472 pub fn get_encrypted(&self) -> &::std::option::Option<bool> {
474 &self.encrypted
475 }
476 pub fn kms_key_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
478 self.kms_key_id = ::std::option::Option::Some(input.into());
479 self
480 }
481 pub fn set_kms_key_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
483 self.kms_key_id = input;
484 self
485 }
486 pub fn get_kms_key_id(&self) -> &::std::option::Option<::std::string::String> {
488 &self.kms_key_id
489 }
490 pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
491 self._request_id = Some(request_id.into());
492 self
493 }
494
495 pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
496 self._request_id = request_id;
497 self
498 }
499 pub fn build(self) -> crate::operation::create_volume::CreateVolumeOutput {
501 crate::operation::create_volume::CreateVolumeOutput {
502 outpost_arn: self.outpost_arn,
503 iops: self.iops,
504 tags: self.tags,
505 volume_type: self.volume_type,
506 fast_restored: self.fast_restored,
507 multi_attach_enabled: self.multi_attach_enabled,
508 throughput: self.throughput,
509 sse_type: self.sse_type,
510 operator: self.operator,
511 volume_initialization_rate: self.volume_initialization_rate,
512 volume_id: self.volume_id,
513 size: self.size,
514 snapshot_id: self.snapshot_id,
515 availability_zone: self.availability_zone,
516 state: self.state,
517 create_time: self.create_time,
518 attachments: self.attachments,
519 encrypted: self.encrypted,
520 kms_key_id: self.kms_key_id,
521 _request_id: self._request_id,
522 }
523 }
524}