aws_sdk_lambda/protocol_serde/
shape_update_function_configuration.rs1#[allow(clippy::unnecessary_wraps)]
3pub fn de_update_function_configuration_http_error(
4 _response_status: u16,
5 _response_headers: &::aws_smithy_runtime_api::http::Headers,
6 _response_body: &[u8],
7) -> std::result::Result<
8 crate::operation::update_function_configuration::UpdateFunctionConfigurationOutput,
9 crate::operation::update_function_configuration::UpdateFunctionConfigurationError,
10> {
11 #[allow(unused_mut)]
12 let mut generic_builder = crate::protocol_serde::parse_http_error_metadata(_response_status, _response_headers, _response_body)
13 .map_err(crate::operation::update_function_configuration::UpdateFunctionConfigurationError::unhandled)?;
14 generic_builder = ::aws_types::request_id::apply_request_id(generic_builder, _response_headers);
15 let generic = generic_builder.build();
16 let error_code = match generic.code() {
17 Some(code) => code,
18 None => return Err(crate::operation::update_function_configuration::UpdateFunctionConfigurationError::unhandled(generic)),
19 };
20
21 let _error_message = generic.message().map(|msg| msg.to_owned());
22 Err(match error_code {
23 "CodeSigningConfigNotFoundException" => {
24 crate::operation::update_function_configuration::UpdateFunctionConfigurationError::CodeSigningConfigNotFoundException({
25 #[allow(unused_mut)]
26 let mut tmp = {
27 #[allow(unused_mut)]
28 let mut output = crate::types::error::builders::CodeSigningConfigNotFoundExceptionBuilder::default();
29 output =
30 crate::protocol_serde::shape_code_signing_config_not_found_exception::de_code_signing_config_not_found_exception_json_err(
31 _response_body,
32 output,
33 )
34 .map_err(crate::operation::update_function_configuration::UpdateFunctionConfigurationError::unhandled)?;
35 let output = output.meta(generic);
36 output.build()
37 };
38 if tmp.message.is_none() {
39 tmp.message = _error_message;
40 }
41 tmp
42 })
43 }
44 "CodeVerificationFailedException" => {
45 crate::operation::update_function_configuration::UpdateFunctionConfigurationError::CodeVerificationFailedException({
46 #[allow(unused_mut)]
47 let mut tmp = {
48 #[allow(unused_mut)]
49 let mut output = crate::types::error::builders::CodeVerificationFailedExceptionBuilder::default();
50 output = crate::protocol_serde::shape_code_verification_failed_exception::de_code_verification_failed_exception_json_err(
51 _response_body,
52 output,
53 )
54 .map_err(crate::operation::update_function_configuration::UpdateFunctionConfigurationError::unhandled)?;
55 let output = output.meta(generic);
56 output.build()
57 };
58 if tmp.message.is_none() {
59 tmp.message = _error_message;
60 }
61 tmp
62 })
63 }
64 "InvalidCodeSignatureException" => {
65 crate::operation::update_function_configuration::UpdateFunctionConfigurationError::InvalidCodeSignatureException({
66 #[allow(unused_mut)]
67 let mut tmp = {
68 #[allow(unused_mut)]
69 let mut output = crate::types::error::builders::InvalidCodeSignatureExceptionBuilder::default();
70 output = crate::protocol_serde::shape_invalid_code_signature_exception::de_invalid_code_signature_exception_json_err(
71 _response_body,
72 output,
73 )
74 .map_err(crate::operation::update_function_configuration::UpdateFunctionConfigurationError::unhandled)?;
75 let output = output.meta(generic);
76 output.build()
77 };
78 if tmp.message.is_none() {
79 tmp.message = _error_message;
80 }
81 tmp
82 })
83 }
84 "InvalidParameterValueException" => {
85 crate::operation::update_function_configuration::UpdateFunctionConfigurationError::InvalidParameterValueException({
86 #[allow(unused_mut)]
87 let mut tmp = {
88 #[allow(unused_mut)]
89 let mut output = crate::types::error::builders::InvalidParameterValueExceptionBuilder::default();
90 output = crate::protocol_serde::shape_invalid_parameter_value_exception::de_invalid_parameter_value_exception_json_err(
91 _response_body,
92 output,
93 )
94 .map_err(crate::operation::update_function_configuration::UpdateFunctionConfigurationError::unhandled)?;
95 let output = output.meta(generic);
96 output.build()
97 };
98 if tmp.message.is_none() {
99 tmp.message = _error_message;
100 }
101 tmp
102 })
103 }
104 "PreconditionFailedException" => {
105 crate::operation::update_function_configuration::UpdateFunctionConfigurationError::PreconditionFailedException({
106 #[allow(unused_mut)]
107 let mut tmp = {
108 #[allow(unused_mut)]
109 let mut output = crate::types::error::builders::PreconditionFailedExceptionBuilder::default();
110 output =
111 crate::protocol_serde::shape_precondition_failed_exception::de_precondition_failed_exception_json_err(_response_body, output)
112 .map_err(crate::operation::update_function_configuration::UpdateFunctionConfigurationError::unhandled)?;
113 let output = output.meta(generic);
114 output.build()
115 };
116 if tmp.message.is_none() {
117 tmp.message = _error_message;
118 }
119 tmp
120 })
121 }
122 "ResourceConflictException" => {
123 crate::operation::update_function_configuration::UpdateFunctionConfigurationError::ResourceConflictException({
124 #[allow(unused_mut)]
125 let mut tmp = {
126 #[allow(unused_mut)]
127 let mut output = crate::types::error::builders::ResourceConflictExceptionBuilder::default();
128 output =
129 crate::protocol_serde::shape_resource_conflict_exception::de_resource_conflict_exception_json_err(_response_body, output)
130 .map_err(crate::operation::update_function_configuration::UpdateFunctionConfigurationError::unhandled)?;
131 let output = output.meta(generic);
132 output.build()
133 };
134 if tmp.message.is_none() {
135 tmp.message = _error_message;
136 }
137 tmp
138 })
139 }
140 "ResourceNotFoundException" => {
141 crate::operation::update_function_configuration::UpdateFunctionConfigurationError::ResourceNotFoundException({
142 #[allow(unused_mut)]
143 let mut tmp = {
144 #[allow(unused_mut)]
145 let mut output = crate::types::error::builders::ResourceNotFoundExceptionBuilder::default();
146 output =
147 crate::protocol_serde::shape_resource_not_found_exception::de_resource_not_found_exception_json_err(_response_body, output)
148 .map_err(crate::operation::update_function_configuration::UpdateFunctionConfigurationError::unhandled)?;
149 let output = output.meta(generic);
150 output.build()
151 };
152 if tmp.message.is_none() {
153 tmp.message = _error_message;
154 }
155 tmp
156 })
157 }
158 "ServiceException" => crate::operation::update_function_configuration::UpdateFunctionConfigurationError::ServiceException({
159 #[allow(unused_mut)]
160 let mut tmp = {
161 #[allow(unused_mut)]
162 let mut output = crate::types::error::builders::ServiceExceptionBuilder::default();
163 output = crate::protocol_serde::shape_service_exception::de_service_exception_json_err(_response_body, output)
164 .map_err(crate::operation::update_function_configuration::UpdateFunctionConfigurationError::unhandled)?;
165 let output = output.meta(generic);
166 output.build()
167 };
168 if tmp.message.is_none() {
169 tmp.message = _error_message;
170 }
171 tmp
172 }),
173 "TooManyRequestsException" => crate::operation::update_function_configuration::UpdateFunctionConfigurationError::TooManyRequestsException({
174 #[allow(unused_mut)]
175 let mut tmp = {
176 #[allow(unused_mut)]
177 let mut output = crate::types::error::builders::TooManyRequestsExceptionBuilder::default();
178 output = crate::protocol_serde::shape_too_many_requests_exception::de_too_many_requests_exception_json_err(_response_body, output)
179 .map_err(crate::operation::update_function_configuration::UpdateFunctionConfigurationError::unhandled)?;
180 output = output.set_retry_after_seconds(
181 crate::protocol_serde::shape_too_many_requests_exception::de_retry_after_seconds_header(_response_headers).map_err(|_| {
182 crate::operation::update_function_configuration::UpdateFunctionConfigurationError::unhandled(
183 "Failed to parse retryAfterSeconds from header `Retry-After",
184 )
185 })?,
186 );
187 let output = output.meta(generic);
188 output.build()
189 };
190 if tmp.message.is_none() {
191 tmp.message = _error_message;
192 }
193 tmp
194 }),
195 _ => crate::operation::update_function_configuration::UpdateFunctionConfigurationError::generic(generic),
196 })
197}
198
199#[allow(clippy::unnecessary_wraps)]
200pub fn de_update_function_configuration_http_response(
201 _response_status: u16,
202 _response_headers: &::aws_smithy_runtime_api::http::Headers,
203 _response_body: &[u8],
204) -> std::result::Result<
205 crate::operation::update_function_configuration::UpdateFunctionConfigurationOutput,
206 crate::operation::update_function_configuration::UpdateFunctionConfigurationError,
207> {
208 Ok({
209 #[allow(unused_mut)]
210 let mut output = crate::operation::update_function_configuration::builders::UpdateFunctionConfigurationOutputBuilder::default();
211 output = crate::protocol_serde::shape_update_function_configuration::de_update_function_configuration(_response_body, output)
212 .map_err(crate::operation::update_function_configuration::UpdateFunctionConfigurationError::unhandled)?;
213 output._set_request_id(::aws_types::request_id::RequestId::request_id(_response_headers).map(str::to_string));
214 output.build()
215 })
216}
217
218pub fn ser_update_function_configuration_input(
219 input: &crate::operation::update_function_configuration::UpdateFunctionConfigurationInput,
220) -> ::std::result::Result<::aws_smithy_types::body::SdkBody, ::aws_smithy_types::error::operation::SerializationError> {
221 let mut out = String::new();
222 let mut object = ::aws_smithy_json::serialize::JsonObjectWriter::new(&mut out);
223 crate::protocol_serde::shape_update_function_configuration_input::ser_update_function_configuration_input_input(&mut object, input)?;
224 object.finish();
225 Ok(::aws_smithy_types::body::SdkBody::from(out))
226}
227
228pub(crate) fn de_update_function_configuration(
229 _value: &[u8],
230 mut builder: crate::operation::update_function_configuration::builders::UpdateFunctionConfigurationOutputBuilder,
231) -> ::std::result::Result<
232 crate::operation::update_function_configuration::builders::UpdateFunctionConfigurationOutputBuilder,
233 ::aws_smithy_json::deserialize::error::DeserializeError,
234> {
235 let mut tokens_owned = ::aws_smithy_json::deserialize::json_token_iter(crate::protocol_serde::or_empty_doc(_value)).peekable();
236 let tokens = &mut tokens_owned;
237 ::aws_smithy_json::deserialize::token::expect_start_object(tokens.next())?;
238 loop {
239 match tokens.next().transpose()? {
240 Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
241 Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => match key.to_unescaped()?.as_ref() {
242 "Architectures" => {
243 builder = builder.set_architectures(crate::protocol_serde::shape_architectures_list::de_architectures_list(tokens, _value)?);
244 }
245 "CapacityProviderConfig" => {
246 builder = builder.set_capacity_provider_config(
247 crate::protocol_serde::shape_capacity_provider_config::de_capacity_provider_config(tokens, _value)?,
248 );
249 }
250 "CodeSha256" => {
251 builder = builder.set_code_sha256(
252 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
253 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
254 .transpose()?,
255 );
256 }
257 "CodeSize" => {
258 builder = builder.set_code_size(
259 ::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
260 .map(i64::try_from)
261 .transpose()?,
262 );
263 }
264 "ConfigSha256" => {
265 builder = builder.set_config_sha256(
266 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
267 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
268 .transpose()?,
269 );
270 }
271 "DeadLetterConfig" => {
272 builder = builder.set_dead_letter_config(crate::protocol_serde::shape_dead_letter_config::de_dead_letter_config(tokens, _value)?);
273 }
274 "Description" => {
275 builder = builder.set_description(
276 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
277 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
278 .transpose()?,
279 );
280 }
281 "DurableConfig" => {
282 builder = builder.set_durable_config(crate::protocol_serde::shape_durable_config::de_durable_config(tokens, _value)?);
283 }
284 "Environment" => {
285 builder = builder.set_environment(crate::protocol_serde::shape_environment_response::de_environment_response(
286 tokens, _value,
287 )?);
288 }
289 "EphemeralStorage" => {
290 builder = builder.set_ephemeral_storage(crate::protocol_serde::shape_ephemeral_storage::de_ephemeral_storage(tokens, _value)?);
291 }
292 "FileSystemConfigs" => {
293 builder = builder.set_file_system_configs(crate::protocol_serde::shape_file_system_config_list::de_file_system_config_list(
294 tokens, _value,
295 )?);
296 }
297 "FunctionArn" => {
298 builder = builder.set_function_arn(
299 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
300 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
301 .transpose()?,
302 );
303 }
304 "FunctionName" => {
305 builder = builder.set_function_name(
306 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
307 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
308 .transpose()?,
309 );
310 }
311 "Handler" => {
312 builder = builder.set_handler(
313 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
314 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
315 .transpose()?,
316 );
317 }
318 "ImageConfigResponse" => {
319 builder = builder.set_image_config_response(crate::protocol_serde::shape_image_config_response::de_image_config_response(
320 tokens, _value,
321 )?);
322 }
323 "KMSKeyArn" => {
324 builder = builder.set_kms_key_arn(
325 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
326 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
327 .transpose()?,
328 );
329 }
330 "LastModified" => {
331 builder = builder.set_last_modified(
332 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
333 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
334 .transpose()?,
335 );
336 }
337 "LastUpdateStatus" => {
338 builder = builder.set_last_update_status(
339 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
340 .map(|s| s.to_unescaped().map(|u| crate::types::LastUpdateStatus::from(u.as_ref())))
341 .transpose()?,
342 );
343 }
344 "LastUpdateStatusReason" => {
345 builder = builder.set_last_update_status_reason(
346 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
347 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
348 .transpose()?,
349 );
350 }
351 "LastUpdateStatusReasonCode" => {
352 builder = builder.set_last_update_status_reason_code(
353 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
354 .map(|s| s.to_unescaped().map(|u| crate::types::LastUpdateStatusReasonCode::from(u.as_ref())))
355 .transpose()?,
356 );
357 }
358 "Layers" => {
359 builder = builder.set_layers(crate::protocol_serde::shape_layers_reference_list::de_layers_reference_list(
360 tokens, _value,
361 )?);
362 }
363 "LoggingConfig" => {
364 builder = builder.set_logging_config(crate::protocol_serde::shape_logging_config::de_logging_config(tokens, _value)?);
365 }
366 "MasterArn" => {
367 builder = builder.set_master_arn(
368 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
369 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
370 .transpose()?,
371 );
372 }
373 "MemorySize" => {
374 builder = builder.set_memory_size(
375 ::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
376 .map(i32::try_from)
377 .transpose()?,
378 );
379 }
380 "PackageType" => {
381 builder = builder.set_package_type(
382 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
383 .map(|s| s.to_unescaped().map(|u| crate::types::PackageType::from(u.as_ref())))
384 .transpose()?,
385 );
386 }
387 "RevisionId" => {
388 builder = builder.set_revision_id(
389 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
390 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
391 .transpose()?,
392 );
393 }
394 "Role" => {
395 builder = builder.set_role(
396 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
397 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
398 .transpose()?,
399 );
400 }
401 "Runtime" => {
402 builder = builder.set_runtime(
403 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
404 .map(|s| s.to_unescaped().map(|u| crate::types::Runtime::from(u.as_ref())))
405 .transpose()?,
406 );
407 }
408 "RuntimeVersionConfig" => {
409 builder = builder.set_runtime_version_config(crate::protocol_serde::shape_runtime_version_config::de_runtime_version_config(
410 tokens, _value,
411 )?);
412 }
413 "SigningJobArn" => {
414 builder = builder.set_signing_job_arn(
415 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
416 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
417 .transpose()?,
418 );
419 }
420 "SigningProfileVersionArn" => {
421 builder = builder.set_signing_profile_version_arn(
422 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
423 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
424 .transpose()?,
425 );
426 }
427 "SnapStart" => {
428 builder = builder.set_snap_start(crate::protocol_serde::shape_snap_start_response::de_snap_start_response(tokens, _value)?);
429 }
430 "State" => {
431 builder = builder.set_state(
432 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
433 .map(|s| s.to_unescaped().map(|u| crate::types::State::from(u.as_ref())))
434 .transpose()?,
435 );
436 }
437 "StateReason" => {
438 builder = builder.set_state_reason(
439 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
440 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
441 .transpose()?,
442 );
443 }
444 "StateReasonCode" => {
445 builder = builder.set_state_reason_code(
446 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
447 .map(|s| s.to_unescaped().map(|u| crate::types::StateReasonCode::from(u.as_ref())))
448 .transpose()?,
449 );
450 }
451 "TenancyConfig" => {
452 builder = builder.set_tenancy_config(crate::protocol_serde::shape_tenancy_config::de_tenancy_config(tokens, _value)?);
453 }
454 "Timeout" => {
455 builder = builder.set_timeout(
456 ::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
457 .map(i32::try_from)
458 .transpose()?,
459 );
460 }
461 "TracingConfig" => {
462 builder = builder.set_tracing_config(crate::protocol_serde::shape_tracing_config_response::de_tracing_config_response(
463 tokens, _value,
464 )?);
465 }
466 "Version" => {
467 builder = builder.set_version(
468 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
469 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
470 .transpose()?,
471 );
472 }
473 "VpcConfig" => {
474 builder = builder.set_vpc_config(crate::protocol_serde::shape_vpc_config_response::de_vpc_config_response(tokens, _value)?);
475 }
476 _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?,
477 },
478 other => {
479 return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
480 "expected object key or end object, found: {other:?}"
481 )))
482 }
483 }
484 }
485 if tokens.next().is_some() {
486 return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
487 "found more JSON tokens after completing parsing",
488 ));
489 }
490 Ok(builder)
491}