Skip to main content

aws_sdk_lambda/protocol_serde/
shape_update_function_configuration.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2#[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}