aws_sdk_databasemigration/protocol_serde/
shape_table_statistics.rs1pub(crate) fn de_table_statistics<'a, I>(
3 tokens: &mut ::std::iter::Peekable<I>,
4) -> ::std::result::Result<Option<crate::types::TableStatistics>, ::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::TableStatisticsBuilder::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, .. }) => match key.to_unescaped()?.as_ref() {
17 "SchemaName" => {
18 builder = builder.set_schema_name(
19 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
20 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
21 .transpose()?,
22 );
23 }
24 "TableName" => {
25 builder = builder.set_table_name(
26 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
27 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
28 .transpose()?,
29 );
30 }
31 "Inserts" => {
32 builder = builder.set_inserts(
33 ::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
34 .map(i64::try_from)
35 .transpose()?,
36 );
37 }
38 "Deletes" => {
39 builder = builder.set_deletes(
40 ::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
41 .map(i64::try_from)
42 .transpose()?,
43 );
44 }
45 "Updates" => {
46 builder = builder.set_updates(
47 ::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
48 .map(i64::try_from)
49 .transpose()?,
50 );
51 }
52 "Ddls" => {
53 builder = builder.set_ddls(
54 ::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
55 .map(i64::try_from)
56 .transpose()?,
57 );
58 }
59 "AppliedInserts" => {
60 builder = builder.set_applied_inserts(
61 ::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
62 .map(i64::try_from)
63 .transpose()?,
64 );
65 }
66 "AppliedDeletes" => {
67 builder = builder.set_applied_deletes(
68 ::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
69 .map(i64::try_from)
70 .transpose()?,
71 );
72 }
73 "AppliedUpdates" => {
74 builder = builder.set_applied_updates(
75 ::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
76 .map(i64::try_from)
77 .transpose()?,
78 );
79 }
80 "AppliedDdls" => {
81 builder = builder.set_applied_ddls(
82 ::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
83 .map(i64::try_from)
84 .transpose()?,
85 );
86 }
87 "FullLoadRows" => {
88 builder = builder.set_full_load_rows(
89 ::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
90 .map(i64::try_from)
91 .transpose()?,
92 );
93 }
94 "FullLoadCondtnlChkFailedRows" => {
95 builder = builder.set_full_load_condtnl_chk_failed_rows(
96 ::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
97 .map(i64::try_from)
98 .transpose()?,
99 );
100 }
101 "FullLoadErrorRows" => {
102 builder = builder.set_full_load_error_rows(
103 ::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
104 .map(i64::try_from)
105 .transpose()?,
106 );
107 }
108 "FullLoadStartTime" => {
109 builder = builder.set_full_load_start_time(::aws_smithy_json::deserialize::token::expect_timestamp_or_null(
110 tokens.next(),
111 ::aws_smithy_types::date_time::Format::EpochSeconds,
112 )?);
113 }
114 "FullLoadEndTime" => {
115 builder = builder.set_full_load_end_time(::aws_smithy_json::deserialize::token::expect_timestamp_or_null(
116 tokens.next(),
117 ::aws_smithy_types::date_time::Format::EpochSeconds,
118 )?);
119 }
120 "FullLoadReloaded" => {
121 builder = builder.set_full_load_reloaded(::aws_smithy_json::deserialize::token::expect_bool_or_null(tokens.next())?);
122 }
123 "LastUpdateTime" => {
124 builder = builder.set_last_update_time(::aws_smithy_json::deserialize::token::expect_timestamp_or_null(
125 tokens.next(),
126 ::aws_smithy_types::date_time::Format::EpochSeconds,
127 )?);
128 }
129 "TableState" => {
130 builder = builder.set_table_state(
131 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
132 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
133 .transpose()?,
134 );
135 }
136 "ValidationPendingRecords" => {
137 builder = builder.set_validation_pending_records(
138 ::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
139 .map(i64::try_from)
140 .transpose()?,
141 );
142 }
143 "ValidationFailedRecords" => {
144 builder = builder.set_validation_failed_records(
145 ::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
146 .map(i64::try_from)
147 .transpose()?,
148 );
149 }
150 "ValidationSuspendedRecords" => {
151 builder = builder.set_validation_suspended_records(
152 ::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
153 .map(i64::try_from)
154 .transpose()?,
155 );
156 }
157 "ValidationState" => {
158 builder = builder.set_validation_state(
159 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
160 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
161 .transpose()?,
162 );
163 }
164 "ValidationStateDetails" => {
165 builder = builder.set_validation_state_details(
166 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
167 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
168 .transpose()?,
169 );
170 }
171 "ResyncState" => {
172 builder = builder.set_resync_state(
173 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
174 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
175 .transpose()?,
176 );
177 }
178 "ResyncRowsAttempted" => {
179 builder = builder.set_resync_rows_attempted(
180 ::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
181 .map(i64::try_from)
182 .transpose()?,
183 );
184 }
185 "ResyncRowsSucceeded" => {
186 builder = builder.set_resync_rows_succeeded(
187 ::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
188 .map(i64::try_from)
189 .transpose()?,
190 );
191 }
192 "ResyncRowsFailed" => {
193 builder = builder.set_resync_rows_failed(
194 ::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
195 .map(i64::try_from)
196 .transpose()?,
197 );
198 }
199 "ResyncProgress" => {
200 builder = builder.set_resync_progress(
201 ::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?.map(|v| v.to_f64_lossy()),
202 );
203 }
204 _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?,
205 },
206 other => {
207 return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
208 "expected object key or end object, found: {:?}",
209 other
210 )))
211 }
212 }
213 }
214 Ok(Some(builder.build()))
215 }
216 _ => Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
217 "expected start object or null",
218 )),
219 }
220}