aws_sdk_applicationinsights/protocol_serde/
shape_observation.rs1pub(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}