1#[non_exhaustive]
5#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
6pub struct DescribeTaskOutput {
7 pub task_arn: ::std::option::Option<::std::string::String>,
9 pub status: ::std::option::Option<crate::types::TaskStatus>,
11 pub name: ::std::option::Option<::std::string::String>,
13 pub current_task_execution_arn: ::std::option::Option<::std::string::String>,
15 pub source_location_arn: ::std::option::Option<::std::string::String>,
17 pub destination_location_arn: ::std::option::Option<::std::string::String>,
19 pub cloud_watch_log_group_arn: ::std::option::Option<::std::string::String>,
22 pub source_network_interface_arns: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
24 pub destination_network_interface_arns: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
26 pub options: ::std::option::Option<crate::types::Options>,
28 pub excludes: ::std::option::Option<::std::vec::Vec<crate::types::FilterRule>>,
30 pub schedule: ::std::option::Option<crate::types::TaskSchedule>,
32 pub error_code: ::std::option::Option<::std::string::String>,
34 pub error_detail: ::std::option::Option<::std::string::String>,
36 pub creation_time: ::std::option::Option<::aws_smithy_types::DateTime>,
38 pub includes: ::std::option::Option<::std::vec::Vec<crate::types::FilterRule>>,
40 pub manifest_config: ::std::option::Option<crate::types::ManifestConfig>,
42 pub task_report_config: ::std::option::Option<crate::types::TaskReportConfig>,
44 pub schedule_details: ::std::option::Option<crate::types::TaskScheduleDetails>,
46 pub task_mode: ::std::option::Option<crate::types::TaskMode>,
48 _request_id: Option<String>,
49}
50impl DescribeTaskOutput {
51 pub fn task_arn(&self) -> ::std::option::Option<&str> {
53 self.task_arn.as_deref()
54 }
55 pub fn status(&self) -> ::std::option::Option<&crate::types::TaskStatus> {
57 self.status.as_ref()
58 }
59 pub fn name(&self) -> ::std::option::Option<&str> {
61 self.name.as_deref()
62 }
63 pub fn current_task_execution_arn(&self) -> ::std::option::Option<&str> {
65 self.current_task_execution_arn.as_deref()
66 }
67 pub fn source_location_arn(&self) -> ::std::option::Option<&str> {
69 self.source_location_arn.as_deref()
70 }
71 pub fn destination_location_arn(&self) -> ::std::option::Option<&str> {
73 self.destination_location_arn.as_deref()
74 }
75 pub fn cloud_watch_log_group_arn(&self) -> ::std::option::Option<&str> {
78 self.cloud_watch_log_group_arn.as_deref()
79 }
80 pub fn source_network_interface_arns(&self) -> &[::std::string::String] {
84 self.source_network_interface_arns.as_deref().unwrap_or_default()
85 }
86 pub fn destination_network_interface_arns(&self) -> &[::std::string::String] {
90 self.destination_network_interface_arns.as_deref().unwrap_or_default()
91 }
92 pub fn options(&self) -> ::std::option::Option<&crate::types::Options> {
94 self.options.as_ref()
95 }
96 pub fn excludes(&self) -> &[crate::types::FilterRule] {
100 self.excludes.as_deref().unwrap_or_default()
101 }
102 pub fn schedule(&self) -> ::std::option::Option<&crate::types::TaskSchedule> {
104 self.schedule.as_ref()
105 }
106 pub fn error_code(&self) -> ::std::option::Option<&str> {
108 self.error_code.as_deref()
109 }
110 pub fn error_detail(&self) -> ::std::option::Option<&str> {
112 self.error_detail.as_deref()
113 }
114 pub fn creation_time(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
116 self.creation_time.as_ref()
117 }
118 pub fn includes(&self) -> &[crate::types::FilterRule] {
122 self.includes.as_deref().unwrap_or_default()
123 }
124 pub fn manifest_config(&self) -> ::std::option::Option<&crate::types::ManifestConfig> {
126 self.manifest_config.as_ref()
127 }
128 pub fn task_report_config(&self) -> ::std::option::Option<&crate::types::TaskReportConfig> {
130 self.task_report_config.as_ref()
131 }
132 pub fn schedule_details(&self) -> ::std::option::Option<&crate::types::TaskScheduleDetails> {
134 self.schedule_details.as_ref()
135 }
136 pub fn task_mode(&self) -> ::std::option::Option<&crate::types::TaskMode> {
138 self.task_mode.as_ref()
139 }
140}
141static DESCRIBETASKOUTPUT_MEMBER_TASK_ARN: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
142 ::aws_smithy_schema::ShapeId::from_parts(
143 "com.amazonaws.datasync.synthetic#DescribeTaskOutput$TaskArn",
144 "com.amazonaws.datasync.synthetic",
145 "DescribeTaskOutput",
146 ),
147 ::aws_smithy_schema::ShapeType::String,
148 "TaskArn",
149 0,
150);
151static DESCRIBETASKOUTPUT_MEMBER_STATUS: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
152 ::aws_smithy_schema::ShapeId::from_parts(
153 "com.amazonaws.datasync.synthetic#DescribeTaskOutput$Status",
154 "com.amazonaws.datasync.synthetic",
155 "DescribeTaskOutput",
156 ),
157 ::aws_smithy_schema::ShapeType::String,
158 "Status",
159 1,
160);
161static DESCRIBETASKOUTPUT_MEMBER_NAME: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
162 ::aws_smithy_schema::ShapeId::from_parts(
163 "com.amazonaws.datasync.synthetic#DescribeTaskOutput$Name",
164 "com.amazonaws.datasync.synthetic",
165 "DescribeTaskOutput",
166 ),
167 ::aws_smithy_schema::ShapeType::String,
168 "Name",
169 2,
170);
171static DESCRIBETASKOUTPUT_MEMBER_CURRENT_TASK_EXECUTION_ARN: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
172 ::aws_smithy_schema::ShapeId::from_parts(
173 "com.amazonaws.datasync.synthetic#DescribeTaskOutput$CurrentTaskExecutionArn",
174 "com.amazonaws.datasync.synthetic",
175 "DescribeTaskOutput",
176 ),
177 ::aws_smithy_schema::ShapeType::String,
178 "CurrentTaskExecutionArn",
179 3,
180);
181static DESCRIBETASKOUTPUT_MEMBER_SOURCE_LOCATION_ARN: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
182 ::aws_smithy_schema::ShapeId::from_parts(
183 "com.amazonaws.datasync.synthetic#DescribeTaskOutput$SourceLocationArn",
184 "com.amazonaws.datasync.synthetic",
185 "DescribeTaskOutput",
186 ),
187 ::aws_smithy_schema::ShapeType::String,
188 "SourceLocationArn",
189 4,
190);
191static DESCRIBETASKOUTPUT_MEMBER_DESTINATION_LOCATION_ARN: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
192 ::aws_smithy_schema::ShapeId::from_parts(
193 "com.amazonaws.datasync.synthetic#DescribeTaskOutput$DestinationLocationArn",
194 "com.amazonaws.datasync.synthetic",
195 "DescribeTaskOutput",
196 ),
197 ::aws_smithy_schema::ShapeType::String,
198 "DestinationLocationArn",
199 5,
200);
201static DESCRIBETASKOUTPUT_MEMBER_CLOUD_WATCH_LOG_GROUP_ARN: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
202 ::aws_smithy_schema::ShapeId::from_parts(
203 "com.amazonaws.datasync.synthetic#DescribeTaskOutput$CloudWatchLogGroupArn",
204 "com.amazonaws.datasync.synthetic",
205 "DescribeTaskOutput",
206 ),
207 ::aws_smithy_schema::ShapeType::String,
208 "CloudWatchLogGroupArn",
209 6,
210);
211static DESCRIBETASKOUTPUT_MEMBER_SOURCE_NETWORK_INTERFACE_ARNS_MEMBER: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
212 ::aws_smithy_schema::ShapeId::from_parts(
213 "com.amazonaws.datasync#SourceNetworkInterfaceArns$member",
214 "com.amazonaws.datasync",
215 "SourceNetworkInterfaceArns",
216 ),
217 ::aws_smithy_schema::ShapeType::String,
218 "member",
219 0,
220);
221static DESCRIBETASKOUTPUT_MEMBER_SOURCE_NETWORK_INTERFACE_ARNS: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
222 ::aws_smithy_schema::ShapeId::from_parts(
223 "com.amazonaws.datasync.synthetic#DescribeTaskOutput$SourceNetworkInterfaceArns",
224 "com.amazonaws.datasync.synthetic",
225 "DescribeTaskOutput",
226 ),
227 ::aws_smithy_schema::ShapeType::List,
228 "SourceNetworkInterfaceArns",
229 7,
230)
231.with_list_member(&DESCRIBETASKOUTPUT_MEMBER_SOURCE_NETWORK_INTERFACE_ARNS_MEMBER);
232static DESCRIBETASKOUTPUT_MEMBER_DESTINATION_NETWORK_INTERFACE_ARNS_MEMBER: ::aws_smithy_schema::Schema<'static> =
233 ::aws_smithy_schema::Schema::new_member(
234 ::aws_smithy_schema::ShapeId::from_parts(
235 "com.amazonaws.datasync#DestinationNetworkInterfaceArns$member",
236 "com.amazonaws.datasync",
237 "DestinationNetworkInterfaceArns",
238 ),
239 ::aws_smithy_schema::ShapeType::String,
240 "member",
241 0,
242 );
243static DESCRIBETASKOUTPUT_MEMBER_DESTINATION_NETWORK_INTERFACE_ARNS: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
244 ::aws_smithy_schema::ShapeId::from_parts(
245 "com.amazonaws.datasync.synthetic#DescribeTaskOutput$DestinationNetworkInterfaceArns",
246 "com.amazonaws.datasync.synthetic",
247 "DescribeTaskOutput",
248 ),
249 ::aws_smithy_schema::ShapeType::List,
250 "DestinationNetworkInterfaceArns",
251 8,
252)
253.with_list_member(&DESCRIBETASKOUTPUT_MEMBER_DESTINATION_NETWORK_INTERFACE_ARNS_MEMBER);
254static DESCRIBETASKOUTPUT_MEMBER_OPTIONS: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
255 ::aws_smithy_schema::ShapeId::from_parts(
256 "com.amazonaws.datasync.synthetic#DescribeTaskOutput$Options",
257 "com.amazonaws.datasync.synthetic",
258 "DescribeTaskOutput",
259 ),
260 ::aws_smithy_schema::ShapeType::Structure,
261 "Options",
262 9,
263);
264static DESCRIBETASKOUTPUT_MEMBER_EXCLUDES_MEMBER: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
265 ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.datasync#FilterList$member", "com.amazonaws.datasync", "FilterList"),
266 ::aws_smithy_schema::ShapeType::Structure,
267 "member",
268 0,
269);
270static DESCRIBETASKOUTPUT_MEMBER_EXCLUDES: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
271 ::aws_smithy_schema::ShapeId::from_parts(
272 "com.amazonaws.datasync.synthetic#DescribeTaskOutput$Excludes",
273 "com.amazonaws.datasync.synthetic",
274 "DescribeTaskOutput",
275 ),
276 ::aws_smithy_schema::ShapeType::List,
277 "Excludes",
278 10,
279)
280.with_list_member(&DESCRIBETASKOUTPUT_MEMBER_EXCLUDES_MEMBER);
281static DESCRIBETASKOUTPUT_MEMBER_SCHEDULE: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
282 ::aws_smithy_schema::ShapeId::from_parts(
283 "com.amazonaws.datasync.synthetic#DescribeTaskOutput$Schedule",
284 "com.amazonaws.datasync.synthetic",
285 "DescribeTaskOutput",
286 ),
287 ::aws_smithy_schema::ShapeType::Structure,
288 "Schedule",
289 11,
290);
291static DESCRIBETASKOUTPUT_MEMBER_ERROR_CODE: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
292 ::aws_smithy_schema::ShapeId::from_parts(
293 "com.amazonaws.datasync.synthetic#DescribeTaskOutput$ErrorCode",
294 "com.amazonaws.datasync.synthetic",
295 "DescribeTaskOutput",
296 ),
297 ::aws_smithy_schema::ShapeType::String,
298 "ErrorCode",
299 12,
300);
301static DESCRIBETASKOUTPUT_MEMBER_ERROR_DETAIL: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
302 ::aws_smithy_schema::ShapeId::from_parts(
303 "com.amazonaws.datasync.synthetic#DescribeTaskOutput$ErrorDetail",
304 "com.amazonaws.datasync.synthetic",
305 "DescribeTaskOutput",
306 ),
307 ::aws_smithy_schema::ShapeType::String,
308 "ErrorDetail",
309 13,
310);
311static DESCRIBETASKOUTPUT_MEMBER_CREATION_TIME: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
312 ::aws_smithy_schema::ShapeId::from_parts(
313 "com.amazonaws.datasync.synthetic#DescribeTaskOutput$CreationTime",
314 "com.amazonaws.datasync.synthetic",
315 "DescribeTaskOutput",
316 ),
317 ::aws_smithy_schema::ShapeType::Timestamp,
318 "CreationTime",
319 14,
320);
321static DESCRIBETASKOUTPUT_MEMBER_INCLUDES_MEMBER: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
322 ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.datasync#FilterList$member", "com.amazonaws.datasync", "FilterList"),
323 ::aws_smithy_schema::ShapeType::Structure,
324 "member",
325 0,
326);
327static DESCRIBETASKOUTPUT_MEMBER_INCLUDES: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
328 ::aws_smithy_schema::ShapeId::from_parts(
329 "com.amazonaws.datasync.synthetic#DescribeTaskOutput$Includes",
330 "com.amazonaws.datasync.synthetic",
331 "DescribeTaskOutput",
332 ),
333 ::aws_smithy_schema::ShapeType::List,
334 "Includes",
335 15,
336)
337.with_list_member(&DESCRIBETASKOUTPUT_MEMBER_INCLUDES_MEMBER);
338static DESCRIBETASKOUTPUT_MEMBER_MANIFEST_CONFIG: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
339 ::aws_smithy_schema::ShapeId::from_parts(
340 "com.amazonaws.datasync.synthetic#DescribeTaskOutput$ManifestConfig",
341 "com.amazonaws.datasync.synthetic",
342 "DescribeTaskOutput",
343 ),
344 ::aws_smithy_schema::ShapeType::Structure,
345 "ManifestConfig",
346 16,
347);
348static DESCRIBETASKOUTPUT_MEMBER_TASK_REPORT_CONFIG: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
349 ::aws_smithy_schema::ShapeId::from_parts(
350 "com.amazonaws.datasync.synthetic#DescribeTaskOutput$TaskReportConfig",
351 "com.amazonaws.datasync.synthetic",
352 "DescribeTaskOutput",
353 ),
354 ::aws_smithy_schema::ShapeType::Structure,
355 "TaskReportConfig",
356 17,
357);
358static DESCRIBETASKOUTPUT_MEMBER_SCHEDULE_DETAILS: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
359 ::aws_smithy_schema::ShapeId::from_parts(
360 "com.amazonaws.datasync.synthetic#DescribeTaskOutput$ScheduleDetails",
361 "com.amazonaws.datasync.synthetic",
362 "DescribeTaskOutput",
363 ),
364 ::aws_smithy_schema::ShapeType::Structure,
365 "ScheduleDetails",
366 18,
367);
368static DESCRIBETASKOUTPUT_MEMBER_TASK_MODE: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
369 ::aws_smithy_schema::ShapeId::from_parts(
370 "com.amazonaws.datasync.synthetic#DescribeTaskOutput$TaskMode",
371 "com.amazonaws.datasync.synthetic",
372 "DescribeTaskOutput",
373 ),
374 ::aws_smithy_schema::ShapeType::String,
375 "TaskMode",
376 19,
377);
378static DESCRIBETASKOUTPUT_SCHEMA: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_struct(
379 ::aws_smithy_schema::ShapeId::from_parts(
380 "com.amazonaws.datasync.synthetic#DescribeTaskOutput",
381 "com.amazonaws.datasync.synthetic",
382 "DescribeTaskOutput",
383 ),
384 ::aws_smithy_schema::ShapeType::Structure,
385 &[
386 &DESCRIBETASKOUTPUT_MEMBER_TASK_ARN,
387 &DESCRIBETASKOUTPUT_MEMBER_STATUS,
388 &DESCRIBETASKOUTPUT_MEMBER_NAME,
389 &DESCRIBETASKOUTPUT_MEMBER_CURRENT_TASK_EXECUTION_ARN,
390 &DESCRIBETASKOUTPUT_MEMBER_SOURCE_LOCATION_ARN,
391 &DESCRIBETASKOUTPUT_MEMBER_DESTINATION_LOCATION_ARN,
392 &DESCRIBETASKOUTPUT_MEMBER_CLOUD_WATCH_LOG_GROUP_ARN,
393 &DESCRIBETASKOUTPUT_MEMBER_SOURCE_NETWORK_INTERFACE_ARNS,
394 &DESCRIBETASKOUTPUT_MEMBER_DESTINATION_NETWORK_INTERFACE_ARNS,
395 &DESCRIBETASKOUTPUT_MEMBER_OPTIONS,
396 &DESCRIBETASKOUTPUT_MEMBER_EXCLUDES,
397 &DESCRIBETASKOUTPUT_MEMBER_SCHEDULE,
398 &DESCRIBETASKOUTPUT_MEMBER_ERROR_CODE,
399 &DESCRIBETASKOUTPUT_MEMBER_ERROR_DETAIL,
400 &DESCRIBETASKOUTPUT_MEMBER_CREATION_TIME,
401 &DESCRIBETASKOUTPUT_MEMBER_INCLUDES,
402 &DESCRIBETASKOUTPUT_MEMBER_MANIFEST_CONFIG,
403 &DESCRIBETASKOUTPUT_MEMBER_TASK_REPORT_CONFIG,
404 &DESCRIBETASKOUTPUT_MEMBER_SCHEDULE_DETAILS,
405 &DESCRIBETASKOUTPUT_MEMBER_TASK_MODE,
406 ],
407)
408.with_original_name("DescribeTaskResponse");
409impl DescribeTaskOutput {
410 pub const SCHEMA: &'static ::aws_smithy_schema::Schema<'static> = &DESCRIBETASKOUTPUT_SCHEMA;
412}
413impl ::aws_smithy_schema::serde::SerializableStruct for DescribeTaskOutput {
414 fn schema(&self) -> &::aws_smithy_schema::Schema<'_> {
415 Self::SCHEMA
416 }
417
418 #[allow(unused_variables, clippy::diverging_sub_expression)]
419 fn serialize_members(
420 &self,
421 ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
422 ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
423 if let Some(ref val) = self.task_arn {
424 ser.write_string(&DESCRIBETASKOUTPUT_MEMBER_TASK_ARN, val)?;
425 }
426 if let Some(ref val) = self.status {
427 ser.write_string(&DESCRIBETASKOUTPUT_MEMBER_STATUS, val.as_str())?;
428 }
429 if let Some(ref val) = self.name {
430 ser.write_string(&DESCRIBETASKOUTPUT_MEMBER_NAME, val)?;
431 }
432 if let Some(ref val) = self.current_task_execution_arn {
433 ser.write_string(&DESCRIBETASKOUTPUT_MEMBER_CURRENT_TASK_EXECUTION_ARN, val)?;
434 }
435 if let Some(ref val) = self.source_location_arn {
436 ser.write_string(&DESCRIBETASKOUTPUT_MEMBER_SOURCE_LOCATION_ARN, val)?;
437 }
438 if let Some(ref val) = self.destination_location_arn {
439 ser.write_string(&DESCRIBETASKOUTPUT_MEMBER_DESTINATION_LOCATION_ARN, val)?;
440 }
441 if let Some(ref val) = self.cloud_watch_log_group_arn {
442 ser.write_string(&DESCRIBETASKOUTPUT_MEMBER_CLOUD_WATCH_LOG_GROUP_ARN, val)?;
443 }
444 if let Some(ref val) = self.source_network_interface_arns {
445 ser.write_list(
446 &DESCRIBETASKOUTPUT_MEMBER_SOURCE_NETWORK_INTERFACE_ARNS,
447 &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
448 for item in val {
449 ser.write_string(&aws_smithy_schema::prelude::STRING, item)?;
450 }
451 Ok(())
452 },
453 )?;
454 }
455 if let Some(ref val) = self.destination_network_interface_arns {
456 ser.write_list(
457 &DESCRIBETASKOUTPUT_MEMBER_DESTINATION_NETWORK_INTERFACE_ARNS,
458 &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
459 for item in val {
460 ser.write_string(&aws_smithy_schema::prelude::STRING, item)?;
461 }
462 Ok(())
463 },
464 )?;
465 }
466 if let Some(ref val) = self.options {
467 ser.write_struct(&DESCRIBETASKOUTPUT_MEMBER_OPTIONS, val)?;
468 }
469 if let Some(ref val) = self.excludes {
470 ser.write_list(
471 &DESCRIBETASKOUTPUT_MEMBER_EXCLUDES,
472 &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
473 for item in val {
474 ser.write_struct(crate::types::FilterRule::SCHEMA, item)?;
475 }
476 Ok(())
477 },
478 )?;
479 }
480 if let Some(ref val) = self.schedule {
481 ser.write_struct(&DESCRIBETASKOUTPUT_MEMBER_SCHEDULE, val)?;
482 }
483 if let Some(ref val) = self.error_code {
484 ser.write_string(&DESCRIBETASKOUTPUT_MEMBER_ERROR_CODE, val)?;
485 }
486 if let Some(ref val) = self.error_detail {
487 ser.write_string(&DESCRIBETASKOUTPUT_MEMBER_ERROR_DETAIL, val)?;
488 }
489 if let Some(ref val) = self.creation_time {
490 ser.write_timestamp(&DESCRIBETASKOUTPUT_MEMBER_CREATION_TIME, val)?;
491 }
492 if let Some(ref val) = self.includes {
493 ser.write_list(
494 &DESCRIBETASKOUTPUT_MEMBER_INCLUDES,
495 &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
496 for item in val {
497 ser.write_struct(crate::types::FilterRule::SCHEMA, item)?;
498 }
499 Ok(())
500 },
501 )?;
502 }
503 if let Some(ref val) = self.manifest_config {
504 ser.write_struct(&DESCRIBETASKOUTPUT_MEMBER_MANIFEST_CONFIG, val)?;
505 }
506 if let Some(ref val) = self.task_report_config {
507 ser.write_struct(&DESCRIBETASKOUTPUT_MEMBER_TASK_REPORT_CONFIG, val)?;
508 }
509 if let Some(ref val) = self.schedule_details {
510 ser.write_struct(&DESCRIBETASKOUTPUT_MEMBER_SCHEDULE_DETAILS, val)?;
511 }
512 if let Some(ref val) = self.task_mode {
513 ser.write_string(&DESCRIBETASKOUTPUT_MEMBER_TASK_MODE, val.as_str())?;
514 }
515 Ok(())
516 }
517}
518impl crate::operation::describe_task::builders::DescribeTaskOutputBuilder {
519 #[allow(
520 unused_variables,
521 unreachable_code,
522 clippy::single_match,
523 clippy::match_single_binding,
524 clippy::diverging_sub_expression
525 )]
526 pub(crate) fn deserialize_members(
527 &mut self,
528 deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
529 ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
530 deserializer.read_struct(&DESCRIBETASKOUTPUT_SCHEMA, &mut |member, deser| {
531 match member.member_index() {
532 Some(0) => {
533 if deser.is_null() {
534 deser.read_null()?;
535 } else {
536 self.task_arn = Some(deser.read_string(member)?);
537 }
538 }
539 Some(1) => {
540 if deser.is_null() {
541 deser.read_null()?;
542 } else {
543 self.status = Some(crate::types::TaskStatus::from(deser.read_string(member)?.as_str()));
544 }
545 }
546 Some(2) => {
547 if deser.is_null() {
548 deser.read_null()?;
549 } else {
550 self.name = Some(deser.read_string(member)?);
551 }
552 }
553 Some(3) => {
554 if deser.is_null() {
555 deser.read_null()?;
556 } else {
557 self.current_task_execution_arn = Some(deser.read_string(member)?);
558 }
559 }
560 Some(4) => {
561 if deser.is_null() {
562 deser.read_null()?;
563 } else {
564 self.source_location_arn = Some(deser.read_string(member)?);
565 }
566 }
567 Some(5) => {
568 if deser.is_null() {
569 deser.read_null()?;
570 } else {
571 self.destination_location_arn = Some(deser.read_string(member)?);
572 }
573 }
574 Some(6) => {
575 if deser.is_null() {
576 deser.read_null()?;
577 } else {
578 self.cloud_watch_log_group_arn = Some(deser.read_string(member)?);
579 }
580 }
581 Some(7) => {
582 if deser.is_null() {
583 deser.read_null()?;
584 } else {
585 self.source_network_interface_arns = Some(deser.read_string_list(member)?);
586 }
587 }
588 Some(8) => {
589 if deser.is_null() {
590 deser.read_null()?;
591 } else {
592 self.destination_network_interface_arns = Some(deser.read_string_list(member)?);
593 }
594 }
595 Some(9) => {
596 if deser.is_null() {
597 deser.read_null()?;
598 } else {
599 self.options = Some(crate::types::Options::deserialize(deser)?);
600 }
601 }
602 Some(10) => {
603 if deser.is_null() {
604 deser.read_null()?;
605 } else {
606 self.excludes = Some({
607 let mut container = Vec::new();
608 deser.read_list(member, &mut |deser| {
609 container.push(crate::types::FilterRule::deserialize(deser)?);
610 Ok(())
611 })?;
612 container
613 });
614 }
615 }
616 Some(11) => {
617 if deser.is_null() {
618 deser.read_null()?;
619 } else {
620 self.schedule = Some(crate::types::TaskSchedule::deserialize(deser)?);
621 }
622 }
623 Some(12) => {
624 if deser.is_null() {
625 deser.read_null()?;
626 } else {
627 self.error_code = Some(deser.read_string(member)?);
628 }
629 }
630 Some(13) => {
631 if deser.is_null() {
632 deser.read_null()?;
633 } else {
634 self.error_detail = Some(deser.read_string(member)?);
635 }
636 }
637 Some(14) => {
638 if deser.is_null() {
639 deser.read_null()?;
640 } else {
641 self.creation_time = Some(deser.read_timestamp(member)?);
642 }
643 }
644 Some(15) => {
645 if deser.is_null() {
646 deser.read_null()?;
647 } else {
648 self.includes = Some({
649 let mut container = Vec::new();
650 deser.read_list(member, &mut |deser| {
651 container.push(crate::types::FilterRule::deserialize(deser)?);
652 Ok(())
653 })?;
654 container
655 });
656 }
657 }
658 Some(16) => {
659 if deser.is_null() {
660 deser.read_null()?;
661 } else {
662 self.manifest_config = Some(crate::types::ManifestConfig::deserialize(deser)?);
663 }
664 }
665 Some(17) => {
666 if deser.is_null() {
667 deser.read_null()?;
668 } else {
669 self.task_report_config = Some(crate::types::TaskReportConfig::deserialize(deser)?);
670 }
671 }
672 Some(18) => {
673 if deser.is_null() {
674 deser.read_null()?;
675 } else {
676 self.schedule_details = Some(crate::types::TaskScheduleDetails::deserialize(deser)?);
677 }
678 }
679 Some(19) => {
680 if deser.is_null() {
681 deser.read_null()?;
682 } else {
683 self.task_mode = Some(crate::types::TaskMode::from(deser.read_string(member)?.as_str()));
684 }
685 }
686 _ => {}
687 }
688 Ok(())
689 })
690 }
691}
692
693impl DescribeTaskOutput {
694 pub fn deserialize(
696 deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
697 ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
698 let mut builder = Self::builder();
699 builder.deserialize_members(deserializer)?;
700 Ok(builder.build())
701 }
702}
703impl ::aws_types::request_id::RequestId for DescribeTaskOutput {
704 fn request_id(&self) -> Option<&str> {
705 self._request_id.as_deref()
706 }
707}
708impl DescribeTaskOutput {
709 pub fn builder() -> crate::operation::describe_task::builders::DescribeTaskOutputBuilder {
711 crate::operation::describe_task::builders::DescribeTaskOutputBuilder::default()
712 }
713}
714
715#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
717#[non_exhaustive]
718pub struct DescribeTaskOutputBuilder {
719 pub(crate) task_arn: ::std::option::Option<::std::string::String>,
720 pub(crate) status: ::std::option::Option<crate::types::TaskStatus>,
721 pub(crate) name: ::std::option::Option<::std::string::String>,
722 pub(crate) current_task_execution_arn: ::std::option::Option<::std::string::String>,
723 pub(crate) source_location_arn: ::std::option::Option<::std::string::String>,
724 pub(crate) destination_location_arn: ::std::option::Option<::std::string::String>,
725 pub(crate) cloud_watch_log_group_arn: ::std::option::Option<::std::string::String>,
726 pub(crate) source_network_interface_arns: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
727 pub(crate) destination_network_interface_arns: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
728 pub(crate) options: ::std::option::Option<crate::types::Options>,
729 pub(crate) excludes: ::std::option::Option<::std::vec::Vec<crate::types::FilterRule>>,
730 pub(crate) schedule: ::std::option::Option<crate::types::TaskSchedule>,
731 pub(crate) error_code: ::std::option::Option<::std::string::String>,
732 pub(crate) error_detail: ::std::option::Option<::std::string::String>,
733 pub(crate) creation_time: ::std::option::Option<::aws_smithy_types::DateTime>,
734 pub(crate) includes: ::std::option::Option<::std::vec::Vec<crate::types::FilterRule>>,
735 pub(crate) manifest_config: ::std::option::Option<crate::types::ManifestConfig>,
736 pub(crate) task_report_config: ::std::option::Option<crate::types::TaskReportConfig>,
737 pub(crate) schedule_details: ::std::option::Option<crate::types::TaskScheduleDetails>,
738 pub(crate) task_mode: ::std::option::Option<crate::types::TaskMode>,
739 _request_id: Option<String>,
740}
741impl DescribeTaskOutputBuilder {
742 pub fn task_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
744 self.task_arn = ::std::option::Option::Some(input.into());
745 self
746 }
747 pub fn set_task_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
749 self.task_arn = input;
750 self
751 }
752 pub fn get_task_arn(&self) -> &::std::option::Option<::std::string::String> {
754 &self.task_arn
755 }
756 pub fn status(mut self, input: crate::types::TaskStatus) -> Self {
758 self.status = ::std::option::Option::Some(input);
759 self
760 }
761 pub fn set_status(mut self, input: ::std::option::Option<crate::types::TaskStatus>) -> Self {
763 self.status = input;
764 self
765 }
766 pub fn get_status(&self) -> &::std::option::Option<crate::types::TaskStatus> {
768 &self.status
769 }
770 pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
772 self.name = ::std::option::Option::Some(input.into());
773 self
774 }
775 pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
777 self.name = input;
778 self
779 }
780 pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
782 &self.name
783 }
784 pub fn current_task_execution_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
786 self.current_task_execution_arn = ::std::option::Option::Some(input.into());
787 self
788 }
789 pub fn set_current_task_execution_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
791 self.current_task_execution_arn = input;
792 self
793 }
794 pub fn get_current_task_execution_arn(&self) -> &::std::option::Option<::std::string::String> {
796 &self.current_task_execution_arn
797 }
798 pub fn source_location_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
800 self.source_location_arn = ::std::option::Option::Some(input.into());
801 self
802 }
803 pub fn set_source_location_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
805 self.source_location_arn = input;
806 self
807 }
808 pub fn get_source_location_arn(&self) -> &::std::option::Option<::std::string::String> {
810 &self.source_location_arn
811 }
812 pub fn destination_location_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
814 self.destination_location_arn = ::std::option::Option::Some(input.into());
815 self
816 }
817 pub fn set_destination_location_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
819 self.destination_location_arn = input;
820 self
821 }
822 pub fn get_destination_location_arn(&self) -> &::std::option::Option<::std::string::String> {
824 &self.destination_location_arn
825 }
826 pub fn cloud_watch_log_group_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
829 self.cloud_watch_log_group_arn = ::std::option::Option::Some(input.into());
830 self
831 }
832 pub fn set_cloud_watch_log_group_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
835 self.cloud_watch_log_group_arn = input;
836 self
837 }
838 pub fn get_cloud_watch_log_group_arn(&self) -> &::std::option::Option<::std::string::String> {
841 &self.cloud_watch_log_group_arn
842 }
843 pub fn source_network_interface_arns(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
849 let mut v = self.source_network_interface_arns.unwrap_or_default();
850 v.push(input.into());
851 self.source_network_interface_arns = ::std::option::Option::Some(v);
852 self
853 }
854 pub fn set_source_network_interface_arns(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
856 self.source_network_interface_arns = input;
857 self
858 }
859 pub fn get_source_network_interface_arns(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
861 &self.source_network_interface_arns
862 }
863 pub fn destination_network_interface_arns(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
869 let mut v = self.destination_network_interface_arns.unwrap_or_default();
870 v.push(input.into());
871 self.destination_network_interface_arns = ::std::option::Option::Some(v);
872 self
873 }
874 pub fn set_destination_network_interface_arns(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
876 self.destination_network_interface_arns = input;
877 self
878 }
879 pub fn get_destination_network_interface_arns(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
881 &self.destination_network_interface_arns
882 }
883 pub fn options(mut self, input: crate::types::Options) -> Self {
885 self.options = ::std::option::Option::Some(input);
886 self
887 }
888 pub fn set_options(mut self, input: ::std::option::Option<crate::types::Options>) -> Self {
890 self.options = input;
891 self
892 }
893 pub fn get_options(&self) -> &::std::option::Option<crate::types::Options> {
895 &self.options
896 }
897 pub fn excludes(mut self, input: crate::types::FilterRule) -> Self {
903 let mut v = self.excludes.unwrap_or_default();
904 v.push(input);
905 self.excludes = ::std::option::Option::Some(v);
906 self
907 }
908 pub fn set_excludes(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::FilterRule>>) -> Self {
910 self.excludes = input;
911 self
912 }
913 pub fn get_excludes(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::FilterRule>> {
915 &self.excludes
916 }
917 pub fn schedule(mut self, input: crate::types::TaskSchedule) -> Self {
919 self.schedule = ::std::option::Option::Some(input);
920 self
921 }
922 pub fn set_schedule(mut self, input: ::std::option::Option<crate::types::TaskSchedule>) -> Self {
924 self.schedule = input;
925 self
926 }
927 pub fn get_schedule(&self) -> &::std::option::Option<crate::types::TaskSchedule> {
929 &self.schedule
930 }
931 pub fn error_code(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
933 self.error_code = ::std::option::Option::Some(input.into());
934 self
935 }
936 pub fn set_error_code(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
938 self.error_code = input;
939 self
940 }
941 pub fn get_error_code(&self) -> &::std::option::Option<::std::string::String> {
943 &self.error_code
944 }
945 pub fn error_detail(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
947 self.error_detail = ::std::option::Option::Some(input.into());
948 self
949 }
950 pub fn set_error_detail(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
952 self.error_detail = input;
953 self
954 }
955 pub fn get_error_detail(&self) -> &::std::option::Option<::std::string::String> {
957 &self.error_detail
958 }
959 pub fn creation_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
961 self.creation_time = ::std::option::Option::Some(input);
962 self
963 }
964 pub fn set_creation_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
966 self.creation_time = input;
967 self
968 }
969 pub fn get_creation_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
971 &self.creation_time
972 }
973 pub fn includes(mut self, input: crate::types::FilterRule) -> Self {
979 let mut v = self.includes.unwrap_or_default();
980 v.push(input);
981 self.includes = ::std::option::Option::Some(v);
982 self
983 }
984 pub fn set_includes(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::FilterRule>>) -> Self {
986 self.includes = input;
987 self
988 }
989 pub fn get_includes(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::FilterRule>> {
991 &self.includes
992 }
993 pub fn manifest_config(mut self, input: crate::types::ManifestConfig) -> Self {
995 self.manifest_config = ::std::option::Option::Some(input);
996 self
997 }
998 pub fn set_manifest_config(mut self, input: ::std::option::Option<crate::types::ManifestConfig>) -> Self {
1000 self.manifest_config = input;
1001 self
1002 }
1003 pub fn get_manifest_config(&self) -> &::std::option::Option<crate::types::ManifestConfig> {
1005 &self.manifest_config
1006 }
1007 pub fn task_report_config(mut self, input: crate::types::TaskReportConfig) -> Self {
1009 self.task_report_config = ::std::option::Option::Some(input);
1010 self
1011 }
1012 pub fn set_task_report_config(mut self, input: ::std::option::Option<crate::types::TaskReportConfig>) -> Self {
1014 self.task_report_config = input;
1015 self
1016 }
1017 pub fn get_task_report_config(&self) -> &::std::option::Option<crate::types::TaskReportConfig> {
1019 &self.task_report_config
1020 }
1021 pub fn schedule_details(mut self, input: crate::types::TaskScheduleDetails) -> Self {
1023 self.schedule_details = ::std::option::Option::Some(input);
1024 self
1025 }
1026 pub fn set_schedule_details(mut self, input: ::std::option::Option<crate::types::TaskScheduleDetails>) -> Self {
1028 self.schedule_details = input;
1029 self
1030 }
1031 pub fn get_schedule_details(&self) -> &::std::option::Option<crate::types::TaskScheduleDetails> {
1033 &self.schedule_details
1034 }
1035 pub fn task_mode(mut self, input: crate::types::TaskMode) -> Self {
1037 self.task_mode = ::std::option::Option::Some(input);
1038 self
1039 }
1040 pub fn set_task_mode(mut self, input: ::std::option::Option<crate::types::TaskMode>) -> Self {
1042 self.task_mode = input;
1043 self
1044 }
1045 pub fn get_task_mode(&self) -> &::std::option::Option<crate::types::TaskMode> {
1047 &self.task_mode
1048 }
1049 pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
1050 self._request_id = Some(request_id.into());
1051 self
1052 }
1053
1054 pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
1055 self._request_id = request_id;
1056 self
1057 }
1058 pub fn build(self) -> crate::operation::describe_task::DescribeTaskOutput {
1060 crate::operation::describe_task::DescribeTaskOutput {
1061 task_arn: self.task_arn,
1062 status: self.status,
1063 name: self.name,
1064 current_task_execution_arn: self.current_task_execution_arn,
1065 source_location_arn: self.source_location_arn,
1066 destination_location_arn: self.destination_location_arn,
1067 cloud_watch_log_group_arn: self.cloud_watch_log_group_arn,
1068 source_network_interface_arns: self.source_network_interface_arns,
1069 destination_network_interface_arns: self.destination_network_interface_arns,
1070 options: self.options,
1071 excludes: self.excludes,
1072 schedule: self.schedule,
1073 error_code: self.error_code,
1074 error_detail: self.error_detail,
1075 creation_time: self.creation_time,
1076 includes: self.includes,
1077 manifest_config: self.manifest_config,
1078 task_report_config: self.task_report_config,
1079 schedule_details: self.schedule_details,
1080 task_mode: self.task_mode,
1081 _request_id: self._request_id,
1082 }
1083 }
1084}