aws_sdk_applicationinsights/protocol_serde/
shape_observation.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub(crate) fn de_observation<'a, I>(
3    tokens: &mut ::std::iter::Peekable<I>,
4) -> ::std::result::Result<Option<crate::types::Observation>, ::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::ObservationBuilder::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                        "Id" => {
18                            builder = builder.set_id(
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                        "StartTime" => {
25                            builder = builder.set_start_time(::aws_smithy_json::deserialize::token::expect_timestamp_or_null(
26                                tokens.next(),
27                                ::aws_smithy_types::date_time::Format::EpochSeconds,
28                            )?);
29                        }
30                        "EndTime" => {
31                            builder = builder.set_end_time(::aws_smithy_json::deserialize::token::expect_timestamp_or_null(
32                                tokens.next(),
33                                ::aws_smithy_types::date_time::Format::EpochSeconds,
34                            )?);
35                        }
36                        "SourceType" => {
37                            builder = builder.set_source_type(
38                                ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
39                                    .map(|s| s.to_unescaped().map(|u| u.into_owned()))
40                                    .transpose()?,
41                            );
42                        }
43                        "SourceARN" => {
44                            builder = builder.set_source_arn(
45                                ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
46                                    .map(|s| s.to_unescaped().map(|u| u.into_owned()))
47                                    .transpose()?,
48                            );
49                        }
50                        "LogGroup" => {
51                            builder = builder.set_log_group(
52                                ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
53                                    .map(|s| s.to_unescaped().map(|u| u.into_owned()))
54                                    .transpose()?,
55                            );
56                        }
57                        "LineTime" => {
58                            builder = builder.set_line_time(::aws_smithy_json::deserialize::token::expect_timestamp_or_null(
59                                tokens.next(),
60                                ::aws_smithy_types::date_time::Format::EpochSeconds,
61                            )?);
62                        }
63                        "LogText" => {
64                            builder = builder.set_log_text(
65                                ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
66                                    .map(|s| s.to_unescaped().map(|u| u.into_owned()))
67                                    .transpose()?,
68                            );
69                        }
70                        "LogFilter" => {
71                            builder = builder.set_log_filter(
72                                ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
73                                    .map(|s| s.to_unescaped().map(|u| crate::types::LogFilter::from(u.as_ref())))
74                                    .transpose()?,
75                            );
76                        }
77                        "MetricNamespace" => {
78                            builder = builder.set_metric_namespace(
79                                ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
80                                    .map(|s| s.to_unescaped().map(|u| u.into_owned()))
81                                    .transpose()?,
82                            );
83                        }
84                        "MetricName" => {
85                            builder = builder.set_metric_name(
86                                ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
87                                    .map(|s| s.to_unescaped().map(|u| u.into_owned()))
88                                    .transpose()?,
89                            );
90                        }
91                        "Unit" => {
92                            builder = builder.set_unit(
93                                ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
94                                    .map(|s| s.to_unescaped().map(|u| u.into_owned()))
95                                    .transpose()?,
96                            );
97                        }
98                        "Value" => {
99                            builder = builder
100                                .set_value(::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?.map(|v| v.to_f64_lossy()));
101                        }
102                        "CloudWatchEventId" => {
103                            builder = builder.set_cloud_watch_event_id(
104                                ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
105                                    .map(|s| s.to_unescaped().map(|u| u.into_owned()))
106                                    .transpose()?,
107                            );
108                        }
109                        "CloudWatchEventSource" => {
110                            builder = builder.set_cloud_watch_event_source(
111                                ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
112                                    .map(|s| s.to_unescaped().map(|u| crate::types::CloudWatchEventSource::from(u.as_ref())))
113                                    .transpose()?,
114                            );
115                        }
116                        "CloudWatchEventDetailType" => {
117                            builder = builder.set_cloud_watch_event_detail_type(
118                                ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
119                                    .map(|s| s.to_unescaped().map(|u| u.into_owned()))
120                                    .transpose()?,
121                            );
122                        }
123                        "HealthEventArn" => {
124                            builder = builder.set_health_event_arn(
125                                ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
126                                    .map(|s| s.to_unescaped().map(|u| u.into_owned()))
127                                    .transpose()?,
128                            );
129                        }
130                        "HealthService" => {
131                            builder = builder.set_health_service(
132                                ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
133                                    .map(|s| s.to_unescaped().map(|u| u.into_owned()))
134                                    .transpose()?,
135                            );
136                        }
137                        "HealthEventTypeCode" => {
138                            builder = builder.set_health_event_type_code(
139                                ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
140                                    .map(|s| s.to_unescaped().map(|u| u.into_owned()))
141                                    .transpose()?,
142                            );
143                        }
144                        "HealthEventTypeCategory" => {
145                            builder = builder.set_health_event_type_category(
146                                ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
147                                    .map(|s| s.to_unescaped().map(|u| u.into_owned()))
148                                    .transpose()?,
149                            );
150                        }
151                        "HealthEventDescription" => {
152                            builder = builder.set_health_event_description(
153                                ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
154                                    .map(|s| s.to_unescaped().map(|u| u.into_owned()))
155                                    .transpose()?,
156                            );
157                        }
158                        "CodeDeployDeploymentId" => {
159                            builder = builder.set_code_deploy_deployment_id(
160                                ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
161                                    .map(|s| s.to_unescaped().map(|u| u.into_owned()))
162                                    .transpose()?,
163                            );
164                        }
165                        "CodeDeployDeploymentGroup" => {
166                            builder = builder.set_code_deploy_deployment_group(
167                                ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
168                                    .map(|s| s.to_unescaped().map(|u| u.into_owned()))
169                                    .transpose()?,
170                            );
171                        }
172                        "CodeDeployState" => {
173                            builder = builder.set_code_deploy_state(
174                                ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
175                                    .map(|s| s.to_unescaped().map(|u| u.into_owned()))
176                                    .transpose()?,
177                            );
178                        }
179                        "CodeDeployApplication" => {
180                            builder = builder.set_code_deploy_application(
181                                ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
182                                    .map(|s| s.to_unescaped().map(|u| u.into_owned()))
183                                    .transpose()?,
184                            );
185                        }
186                        "CodeDeployInstanceGroupId" => {
187                            builder = builder.set_code_deploy_instance_group_id(
188                                ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
189                                    .map(|s| s.to_unescaped().map(|u| u.into_owned()))
190                                    .transpose()?,
191                            );
192                        }
193                        "Ec2State" => {
194                            builder = builder.set_ec2_state(
195                                ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
196                                    .map(|s| s.to_unescaped().map(|u| u.into_owned()))
197                                    .transpose()?,
198                            );
199                        }
200                        "RdsEventCategories" => {
201                            builder = builder.set_rds_event_categories(
202                                ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
203                                    .map(|s| s.to_unescaped().map(|u| u.into_owned()))
204                                    .transpose()?,
205                            );
206                        }
207                        "RdsEventMessage" => {
208                            builder = builder.set_rds_event_message(
209                                ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
210                                    .map(|s| s.to_unescaped().map(|u| u.into_owned()))
211                                    .transpose()?,
212                            );
213                        }
214                        "S3EventName" => {
215                            builder = builder.set_s3_event_name(
216                                ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
217                                    .map(|s| s.to_unescaped().map(|u| u.into_owned()))
218                                    .transpose()?,
219                            );
220                        }
221                        "StatesExecutionArn" => {
222                            builder = builder.set_states_execution_arn(
223                                ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
224                                    .map(|s| s.to_unescaped().map(|u| u.into_owned()))
225                                    .transpose()?,
226                            );
227                        }
228                        "StatesArn" => {
229                            builder = builder.set_states_arn(
230                                ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
231                                    .map(|s| s.to_unescaped().map(|u| u.into_owned()))
232                                    .transpose()?,
233                            );
234                        }
235                        "StatesStatus" => {
236                            builder = builder.set_states_status(
237                                ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
238                                    .map(|s| s.to_unescaped().map(|u| u.into_owned()))
239                                    .transpose()?,
240                            );
241                        }
242                        "StatesInput" => {
243                            builder = builder.set_states_input(
244                                ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
245                                    .map(|s| s.to_unescaped().map(|u| u.into_owned()))
246                                    .transpose()?,
247                            );
248                        }
249                        "EbsEvent" => {
250                            builder = builder.set_ebs_event(
251                                ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
252                                    .map(|s| s.to_unescaped().map(|u| u.into_owned()))
253                                    .transpose()?,
254                            );
255                        }
256                        "EbsResult" => {
257                            builder = builder.set_ebs_result(
258                                ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
259                                    .map(|s| s.to_unescaped().map(|u| u.into_owned()))
260                                    .transpose()?,
261                            );
262                        }
263                        "EbsCause" => {
264                            builder = builder.set_ebs_cause(
265                                ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
266                                    .map(|s| s.to_unescaped().map(|u| u.into_owned()))
267                                    .transpose()?,
268                            );
269                        }
270                        "EbsRequestId" => {
271                            builder = builder.set_ebs_request_id(
272                                ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
273                                    .map(|s| s.to_unescaped().map(|u| u.into_owned()))
274                                    .transpose()?,
275                            );
276                        }
277                        "XRayFaultPercent" => {
278                            builder = builder.set_x_ray_fault_percent(
279                                ::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
280                                    .map(i32::try_from)
281                                    .transpose()?,
282                            );
283                        }
284                        "XRayThrottlePercent" => {
285                            builder = builder.set_x_ray_throttle_percent(
286                                ::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
287                                    .map(i32::try_from)
288                                    .transpose()?,
289                            );
290                        }
291                        "XRayErrorPercent" => {
292                            builder = builder.set_x_ray_error_percent(
293                                ::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
294                                    .map(i32::try_from)
295                                    .transpose()?,
296                            );
297                        }
298                        "XRayRequestCount" => {
299                            builder = builder.set_x_ray_request_count(
300                                ::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
301                                    .map(i32::try_from)
302                                    .transpose()?,
303                            );
304                        }
305                        "XRayRequestAverageLatency" => {
306                            builder = builder.set_x_ray_request_average_latency(
307                                ::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
308                                    .map(i64::try_from)
309                                    .transpose()?,
310                            );
311                        }
312                        "XRayNodeName" => {
313                            builder = builder.set_x_ray_node_name(
314                                ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
315                                    .map(|s| s.to_unescaped().map(|u| u.into_owned()))
316                                    .transpose()?,
317                            );
318                        }
319                        "XRayNodeType" => {
320                            builder = builder.set_x_ray_node_type(
321                                ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
322                                    .map(|s| s.to_unescaped().map(|u| u.into_owned()))
323                                    .transpose()?,
324                            );
325                        }
326                        _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?,
327                    },
328                    other => {
329                        return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
330                            "expected object key or end object, found: {:?}",
331                            other
332                        )))
333                    }
334                }
335            }
336            Ok(Some(builder.build()))
337        }
338        _ => Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
339            "expected start object or null",
340        )),
341    }
342}