aws_sdk_databasemigration/protocol_serde/
shape_replication_task_assessment_run.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub(crate) fn de_replication_task_assessment_run<'a, I>(
3    tokens: &mut ::std::iter::Peekable<I>,
4) -> ::std::result::Result<Option<crate::types::ReplicationTaskAssessmentRun>, ::aws_smithy_json::deserialize::error::DeserializeError>
5where
6    I: Iterator<Item = Result<::aws_smithy_json::deserialize::Token<'a>, ::aws_smithy_json::deserialize::error::DeserializeError>>,
7{
8    match tokens.next().transpose()? {
9        Some(::aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
10        Some(::aws_smithy_json::deserialize::Token::StartObject { .. }) => {
11            #[allow(unused_mut)]
12            let mut builder = crate::types::builders::ReplicationTaskAssessmentRunBuilder::default();
13            loop {
14                match tokens.next().transpose()? {
15                    Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
16                    Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
17                        match key.to_unescaped()?.as_ref() {
18                            "ReplicationTaskAssessmentRunArn" => {
19                                builder = builder.set_replication_task_assessment_run_arn(
20                                    ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
21                                        .map(|s| s.to_unescaped().map(|u| u.into_owned()))
22                                        .transpose()?,
23                                );
24                            }
25                            "ReplicationTaskArn" => {
26                                builder = builder.set_replication_task_arn(
27                                    ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
28                                        .map(|s| s.to_unescaped().map(|u| u.into_owned()))
29                                        .transpose()?,
30                                );
31                            }
32                            "Status" => {
33                                builder = builder.set_status(
34                                    ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
35                                        .map(|s| s.to_unescaped().map(|u| u.into_owned()))
36                                        .transpose()?,
37                                );
38                            }
39                            "ReplicationTaskAssessmentRunCreationDate" => {
40                                builder = builder.set_replication_task_assessment_run_creation_date(
41                                    ::aws_smithy_json::deserialize::token::expect_timestamp_or_null(
42                                        tokens.next(),
43                                        ::aws_smithy_types::date_time::Format::EpochSeconds,
44                                    )?,
45                                );
46                            }
47                            "AssessmentProgress" => {
48                                builder = builder.set_assessment_progress(
49                                    crate::protocol_serde::shape_replication_task_assessment_run_progress::de_replication_task_assessment_run_progress(tokens)?
50                                );
51                            }
52                            "LastFailureMessage" => {
53                                builder = builder.set_last_failure_message(
54                                    ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
55                                        .map(|s| s.to_unescaped().map(|u| u.into_owned()))
56                                        .transpose()?,
57                                );
58                            }
59                            "ServiceAccessRoleArn" => {
60                                builder = builder.set_service_access_role_arn(
61                                    ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
62                                        .map(|s| s.to_unescaped().map(|u| u.into_owned()))
63                                        .transpose()?,
64                                );
65                            }
66                            "ResultLocationBucket" => {
67                                builder = builder.set_result_location_bucket(
68                                    ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
69                                        .map(|s| s.to_unescaped().map(|u| u.into_owned()))
70                                        .transpose()?,
71                                );
72                            }
73                            "ResultLocationFolder" => {
74                                builder = builder.set_result_location_folder(
75                                    ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
76                                        .map(|s| s.to_unescaped().map(|u| u.into_owned()))
77                                        .transpose()?,
78                                );
79                            }
80                            "ResultEncryptionMode" => {
81                                builder = builder.set_result_encryption_mode(
82                                    ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
83                                        .map(|s| s.to_unescaped().map(|u| u.into_owned()))
84                                        .transpose()?,
85                                );
86                            }
87                            "ResultKmsKeyArn" => {
88                                builder = builder.set_result_kms_key_arn(
89                                    ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
90                                        .map(|s| s.to_unescaped().map(|u| u.into_owned()))
91                                        .transpose()?,
92                                );
93                            }
94                            "AssessmentRunName" => {
95                                builder = builder.set_assessment_run_name(
96                                    ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
97                                        .map(|s| s.to_unescaped().map(|u| u.into_owned()))
98                                        .transpose()?,
99                                );
100                            }
101                            "IsLatestTaskAssessmentRun" => {
102                                builder = builder
103                                    .set_is_latest_task_assessment_run(::aws_smithy_json::deserialize::token::expect_bool_or_null(tokens.next())?);
104                            }
105                            "ResultStatistic" => {
106                                builder = builder.set_result_statistic(
107                                    crate::protocol_serde::shape_replication_task_assessment_run_result_statistic::de_replication_task_assessment_run_result_statistic(tokens)?
108                                );
109                            }
110                            _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?,
111                        }
112                    }
113                    other => {
114                        return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
115                            "expected object key or end object, found: {:?}",
116                            other
117                        )))
118                    }
119                }
120            }
121            Ok(Some(builder.build()))
122        }
123        _ => Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
124            "expected start object or null",
125        )),
126    }
127}