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 availability_zone_id: ::std::option::Option<::std::string::String>,
9 pub outpost_arn: ::std::option::Option<::std::string::String>,
11 pub source_volume_id: ::std::option::Option<::std::string::String>,
13 pub iops: ::std::option::Option<i32>,
15 pub tags: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>,
17 pub volume_type: ::std::option::Option<crate::types::VolumeType>,
19 pub fast_restored: ::std::option::Option<bool>,
24 pub multi_attach_enabled: ::std::option::Option<bool>,
26 pub throughput: ::std::option::Option<i32>,
28 pub sse_type: ::std::option::Option<crate::types::SseType>,
33 pub operator: ::std::option::Option<crate::types::OperatorResponse>,
35 pub volume_initialization_rate: ::std::option::Option<i32>,
37 pub volume_id: ::std::option::Option<::std::string::String>,
39 pub size: ::std::option::Option<i32>,
41 pub snapshot_id: ::std::option::Option<::std::string::String>,
43 pub availability_zone: ::std::option::Option<::std::string::String>,
45 pub state: ::std::option::Option<crate::types::VolumeState>,
47 pub create_time: ::std::option::Option<::aws_smithy_types::DateTime>,
49 pub attachments: ::std::option::Option<::std::vec::Vec<crate::types::VolumeAttachment>>,
54 pub encrypted: ::std::option::Option<bool>,
56 pub kms_key_id: ::std::option::Option<::std::string::String>,
58 _request_id: Option<String>,
59}
60impl CreateVolumeOutput {
61 pub fn availability_zone_id(&self) -> ::std::option::Option<&str> {
63 self.availability_zone_id.as_deref()
64 }
65 pub fn outpost_arn(&self) -> ::std::option::Option<&str> {
67 self.outpost_arn.as_deref()
68 }
69 pub fn source_volume_id(&self) -> ::std::option::Option<&str> {
71 self.source_volume_id.as_deref()
72 }
73 pub fn iops(&self) -> ::std::option::Option<i32> {
75 self.iops
76 }
77 pub fn tags(&self) -> &[crate::types::Tag] {
81 self.tags.as_deref().unwrap_or_default()
82 }
83 pub fn volume_type(&self) -> ::std::option::Option<&crate::types::VolumeType> {
85 self.volume_type.as_ref()
86 }
87 pub fn fast_restored(&self) -> ::std::option::Option<bool> {
92 self.fast_restored
93 }
94 pub fn multi_attach_enabled(&self) -> ::std::option::Option<bool> {
96 self.multi_attach_enabled
97 }
98 pub fn throughput(&self) -> ::std::option::Option<i32> {
100 self.throughput
101 }
102 pub fn sse_type(&self) -> ::std::option::Option<&crate::types::SseType> {
107 self.sse_type.as_ref()
108 }
109 pub fn operator(&self) -> ::std::option::Option<&crate::types::OperatorResponse> {
111 self.operator.as_ref()
112 }
113 pub fn volume_initialization_rate(&self) -> ::std::option::Option<i32> {
115 self.volume_initialization_rate
116 }
117 pub fn volume_id(&self) -> ::std::option::Option<&str> {
119 self.volume_id.as_deref()
120 }
121 pub fn size(&self) -> ::std::option::Option<i32> {
123 self.size
124 }
125 pub fn snapshot_id(&self) -> ::std::option::Option<&str> {
127 self.snapshot_id.as_deref()
128 }
129 pub fn availability_zone(&self) -> ::std::option::Option<&str> {
131 self.availability_zone.as_deref()
132 }
133 pub fn state(&self) -> ::std::option::Option<&crate::types::VolumeState> {
135 self.state.as_ref()
136 }
137 pub fn create_time(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
139 self.create_time.as_ref()
140 }
141 pub fn attachments(&self) -> &[crate::types::VolumeAttachment] {
148 self.attachments.as_deref().unwrap_or_default()
149 }
150 pub fn encrypted(&self) -> ::std::option::Option<bool> {
152 self.encrypted
153 }
154 pub fn kms_key_id(&self) -> ::std::option::Option<&str> {
156 self.kms_key_id.as_deref()
157 }
158}
159impl ::aws_types::request_id::RequestId for CreateVolumeOutput {
160 fn request_id(&self) -> Option<&str> {
161 self._request_id.as_deref()
162 }
163}
164impl CreateVolumeOutput {
165 pub fn builder() -> crate::operation::create_volume::builders::CreateVolumeOutputBuilder {
167 crate::operation::create_volume::builders::CreateVolumeOutputBuilder::default()
168 }
169}
170
171#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
173#[non_exhaustive]
174pub struct CreateVolumeOutputBuilder {
175 pub(crate) availability_zone_id: ::std::option::Option<::std::string::String>,
176 pub(crate) outpost_arn: ::std::option::Option<::std::string::String>,
177 pub(crate) source_volume_id: ::std::option::Option<::std::string::String>,
178 pub(crate) iops: ::std::option::Option<i32>,
179 pub(crate) tags: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>,
180 pub(crate) volume_type: ::std::option::Option<crate::types::VolumeType>,
181 pub(crate) fast_restored: ::std::option::Option<bool>,
182 pub(crate) multi_attach_enabled: ::std::option::Option<bool>,
183 pub(crate) throughput: ::std::option::Option<i32>,
184 pub(crate) sse_type: ::std::option::Option<crate::types::SseType>,
185 pub(crate) operator: ::std::option::Option<crate::types::OperatorResponse>,
186 pub(crate) volume_initialization_rate: ::std::option::Option<i32>,
187 pub(crate) volume_id: ::std::option::Option<::std::string::String>,
188 pub(crate) size: ::std::option::Option<i32>,
189 pub(crate) snapshot_id: ::std::option::Option<::std::string::String>,
190 pub(crate) availability_zone: ::std::option::Option<::std::string::String>,
191 pub(crate) state: ::std::option::Option<crate::types::VolumeState>,
192 pub(crate) create_time: ::std::option::Option<::aws_smithy_types::DateTime>,
193 pub(crate) attachments: ::std::option::Option<::std::vec::Vec<crate::types::VolumeAttachment>>,
194 pub(crate) encrypted: ::std::option::Option<bool>,
195 pub(crate) kms_key_id: ::std::option::Option<::std::string::String>,
196 _request_id: Option<String>,
197}
198impl CreateVolumeOutputBuilder {
199 pub fn availability_zone_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
201 self.availability_zone_id = ::std::option::Option::Some(input.into());
202 self
203 }
204 pub fn set_availability_zone_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
206 self.availability_zone_id = input;
207 self
208 }
209 pub fn get_availability_zone_id(&self) -> &::std::option::Option<::std::string::String> {
211 &self.availability_zone_id
212 }
213 pub fn outpost_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
215 self.outpost_arn = ::std::option::Option::Some(input.into());
216 self
217 }
218 pub fn set_outpost_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
220 self.outpost_arn = input;
221 self
222 }
223 pub fn get_outpost_arn(&self) -> &::std::option::Option<::std::string::String> {
225 &self.outpost_arn
226 }
227 pub fn source_volume_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
229 self.source_volume_id = ::std::option::Option::Some(input.into());
230 self
231 }
232 pub fn set_source_volume_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
234 self.source_volume_id = input;
235 self
236 }
237 pub fn get_source_volume_id(&self) -> &::std::option::Option<::std::string::String> {
239 &self.source_volume_id
240 }
241 pub fn iops(mut self, input: i32) -> Self {
243 self.iops = ::std::option::Option::Some(input);
244 self
245 }
246 pub fn set_iops(mut self, input: ::std::option::Option<i32>) -> Self {
248 self.iops = input;
249 self
250 }
251 pub fn get_iops(&self) -> &::std::option::Option<i32> {
253 &self.iops
254 }
255 pub fn tags(mut self, input: crate::types::Tag) -> Self {
261 let mut v = self.tags.unwrap_or_default();
262 v.push(input);
263 self.tags = ::std::option::Option::Some(v);
264 self
265 }
266 pub fn set_tags(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>) -> Self {
268 self.tags = input;
269 self
270 }
271 pub fn get_tags(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
273 &self.tags
274 }
275 pub fn volume_type(mut self, input: crate::types::VolumeType) -> Self {
277 self.volume_type = ::std::option::Option::Some(input);
278 self
279 }
280 pub fn set_volume_type(mut self, input: ::std::option::Option<crate::types::VolumeType>) -> Self {
282 self.volume_type = input;
283 self
284 }
285 pub fn get_volume_type(&self) -> &::std::option::Option<crate::types::VolumeType> {
287 &self.volume_type
288 }
289 pub fn fast_restored(mut self, input: bool) -> Self {
294 self.fast_restored = ::std::option::Option::Some(input);
295 self
296 }
297 pub fn set_fast_restored(mut self, input: ::std::option::Option<bool>) -> Self {
302 self.fast_restored = input;
303 self
304 }
305 pub fn get_fast_restored(&self) -> &::std::option::Option<bool> {
310 &self.fast_restored
311 }
312 pub fn multi_attach_enabled(mut self, input: bool) -> Self {
314 self.multi_attach_enabled = ::std::option::Option::Some(input);
315 self
316 }
317 pub fn set_multi_attach_enabled(mut self, input: ::std::option::Option<bool>) -> Self {
319 self.multi_attach_enabled = input;
320 self
321 }
322 pub fn get_multi_attach_enabled(&self) -> &::std::option::Option<bool> {
324 &self.multi_attach_enabled
325 }
326 pub fn throughput(mut self, input: i32) -> Self {
328 self.throughput = ::std::option::Option::Some(input);
329 self
330 }
331 pub fn set_throughput(mut self, input: ::std::option::Option<i32>) -> Self {
333 self.throughput = input;
334 self
335 }
336 pub fn get_throughput(&self) -> &::std::option::Option<i32> {
338 &self.throughput
339 }
340 pub fn sse_type(mut self, input: crate::types::SseType) -> Self {
345 self.sse_type = ::std::option::Option::Some(input);
346 self
347 }
348 pub fn set_sse_type(mut self, input: ::std::option::Option<crate::types::SseType>) -> Self {
353 self.sse_type = input;
354 self
355 }
356 pub fn get_sse_type(&self) -> &::std::option::Option<crate::types::SseType> {
361 &self.sse_type
362 }
363 pub fn operator(mut self, input: crate::types::OperatorResponse) -> Self {
365 self.operator = ::std::option::Option::Some(input);
366 self
367 }
368 pub fn set_operator(mut self, input: ::std::option::Option<crate::types::OperatorResponse>) -> Self {
370 self.operator = input;
371 self
372 }
373 pub fn get_operator(&self) -> &::std::option::Option<crate::types::OperatorResponse> {
375 &self.operator
376 }
377 pub fn volume_initialization_rate(mut self, input: i32) -> Self {
379 self.volume_initialization_rate = ::std::option::Option::Some(input);
380 self
381 }
382 pub fn set_volume_initialization_rate(mut self, input: ::std::option::Option<i32>) -> Self {
384 self.volume_initialization_rate = input;
385 self
386 }
387 pub fn get_volume_initialization_rate(&self) -> &::std::option::Option<i32> {
389 &self.volume_initialization_rate
390 }
391 pub fn volume_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
393 self.volume_id = ::std::option::Option::Some(input.into());
394 self
395 }
396 pub fn set_volume_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
398 self.volume_id = input;
399 self
400 }
401 pub fn get_volume_id(&self) -> &::std::option::Option<::std::string::String> {
403 &self.volume_id
404 }
405 pub fn size(mut self, input: i32) -> Self {
407 self.size = ::std::option::Option::Some(input);
408 self
409 }
410 pub fn set_size(mut self, input: ::std::option::Option<i32>) -> Self {
412 self.size = input;
413 self
414 }
415 pub fn get_size(&self) -> &::std::option::Option<i32> {
417 &self.size
418 }
419 pub fn snapshot_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
421 self.snapshot_id = ::std::option::Option::Some(input.into());
422 self
423 }
424 pub fn set_snapshot_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
426 self.snapshot_id = input;
427 self
428 }
429 pub fn get_snapshot_id(&self) -> &::std::option::Option<::std::string::String> {
431 &self.snapshot_id
432 }
433 pub fn availability_zone(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
435 self.availability_zone = ::std::option::Option::Some(input.into());
436 self
437 }
438 pub fn set_availability_zone(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
440 self.availability_zone = input;
441 self
442 }
443 pub fn get_availability_zone(&self) -> &::std::option::Option<::std::string::String> {
445 &self.availability_zone
446 }
447 pub fn state(mut self, input: crate::types::VolumeState) -> Self {
449 self.state = ::std::option::Option::Some(input);
450 self
451 }
452 pub fn set_state(mut self, input: ::std::option::Option<crate::types::VolumeState>) -> Self {
454 self.state = input;
455 self
456 }
457 pub fn get_state(&self) -> &::std::option::Option<crate::types::VolumeState> {
459 &self.state
460 }
461 pub fn create_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
463 self.create_time = ::std::option::Option::Some(input);
464 self
465 }
466 pub fn set_create_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
468 self.create_time = input;
469 self
470 }
471 pub fn get_create_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
473 &self.create_time
474 }
475 pub fn attachments(mut self, input: crate::types::VolumeAttachment) -> Self {
484 let mut v = self.attachments.unwrap_or_default();
485 v.push(input);
486 self.attachments = ::std::option::Option::Some(v);
487 self
488 }
489 pub fn set_attachments(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::VolumeAttachment>>) -> Self {
494 self.attachments = input;
495 self
496 }
497 pub fn get_attachments(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::VolumeAttachment>> {
502 &self.attachments
503 }
504 pub fn encrypted(mut self, input: bool) -> Self {
506 self.encrypted = ::std::option::Option::Some(input);
507 self
508 }
509 pub fn set_encrypted(mut self, input: ::std::option::Option<bool>) -> Self {
511 self.encrypted = input;
512 self
513 }
514 pub fn get_encrypted(&self) -> &::std::option::Option<bool> {
516 &self.encrypted
517 }
518 pub fn kms_key_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
520 self.kms_key_id = ::std::option::Option::Some(input.into());
521 self
522 }
523 pub fn set_kms_key_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
525 self.kms_key_id = input;
526 self
527 }
528 pub fn get_kms_key_id(&self) -> &::std::option::Option<::std::string::String> {
530 &self.kms_key_id
531 }
532 pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
533 self._request_id = Some(request_id.into());
534 self
535 }
536
537 pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
538 self._request_id = request_id;
539 self
540 }
541 pub fn build(self) -> crate::operation::create_volume::CreateVolumeOutput {
543 crate::operation::create_volume::CreateVolumeOutput {
544 availability_zone_id: self.availability_zone_id,
545 outpost_arn: self.outpost_arn,
546 source_volume_id: self.source_volume_id,
547 iops: self.iops,
548 tags: self.tags,
549 volume_type: self.volume_type,
550 fast_restored: self.fast_restored,
551 multi_attach_enabled: self.multi_attach_enabled,
552 throughput: self.throughput,
553 sse_type: self.sse_type,
554 operator: self.operator,
555 volume_initialization_rate: self.volume_initialization_rate,
556 volume_id: self.volume_id,
557 size: self.size,
558 snapshot_id: self.snapshot_id,
559 availability_zone: self.availability_zone,
560 state: self.state,
561 create_time: self.create_time,
562 attachments: self.attachments,
563 encrypted: self.encrypted,
564 kms_key_id: self.kms_key_id,
565 _request_id: self._request_id,
566 }
567 }
568}