aws_sdk_signer/protocol_serde/
shape_get_signing_profile.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2#[allow(clippy::unnecessary_wraps)]
3pub fn de_get_signing_profile_http_error(
4    _response_status: u16,
5    _response_headers: &::aws_smithy_runtime_api::http::Headers,
6    _response_body: &[u8],
7) -> std::result::Result<crate::operation::get_signing_profile::GetSigningProfileOutput, crate::operation::get_signing_profile::GetSigningProfileError>
8{
9    #[allow(unused_mut)]
10    let mut generic_builder = crate::protocol_serde::parse_http_error_metadata(_response_status, _response_headers, _response_body)
11        .map_err(crate::operation::get_signing_profile::GetSigningProfileError::unhandled)?;
12    generic_builder = ::aws_types::request_id::apply_request_id(generic_builder, _response_headers);
13    let generic = generic_builder.build();
14    let error_code = match generic.code() {
15        Some(code) => code,
16        None => return Err(crate::operation::get_signing_profile::GetSigningProfileError::unhandled(generic)),
17    };
18
19    let _error_message = generic.message().map(|msg| msg.to_owned());
20    Err(match error_code {
21        "AccessDeniedException" => crate::operation::get_signing_profile::GetSigningProfileError::AccessDeniedException({
22            #[allow(unused_mut)]
23            let mut tmp = {
24                #[allow(unused_mut)]
25                let mut output = crate::types::error::builders::AccessDeniedExceptionBuilder::default();
26                output = crate::protocol_serde::shape_access_denied_exception::de_access_denied_exception_json_err(_response_body, output)
27                    .map_err(crate::operation::get_signing_profile::GetSigningProfileError::unhandled)?;
28                let output = output.meta(generic);
29                output.build()
30            };
31            if tmp.message.is_none() {
32                tmp.message = _error_message;
33            }
34            tmp
35        }),
36        "InternalServiceErrorException" => crate::operation::get_signing_profile::GetSigningProfileError::InternalServiceErrorException({
37            #[allow(unused_mut)]
38            let mut tmp = {
39                #[allow(unused_mut)]
40                let mut output = crate::types::error::builders::InternalServiceErrorExceptionBuilder::default();
41                output = crate::protocol_serde::shape_internal_service_error_exception::de_internal_service_error_exception_json_err(
42                    _response_body,
43                    output,
44                )
45                .map_err(crate::operation::get_signing_profile::GetSigningProfileError::unhandled)?;
46                let output = output.meta(generic);
47                output.build()
48            };
49            if tmp.message.is_none() {
50                tmp.message = _error_message;
51            }
52            tmp
53        }),
54        "ResourceNotFoundException" => crate::operation::get_signing_profile::GetSigningProfileError::ResourceNotFoundException({
55            #[allow(unused_mut)]
56            let mut tmp = {
57                #[allow(unused_mut)]
58                let mut output = crate::types::error::builders::ResourceNotFoundExceptionBuilder::default();
59                output = crate::protocol_serde::shape_resource_not_found_exception::de_resource_not_found_exception_json_err(_response_body, output)
60                    .map_err(crate::operation::get_signing_profile::GetSigningProfileError::unhandled)?;
61                let output = output.meta(generic);
62                output.build()
63            };
64            if tmp.message.is_none() {
65                tmp.message = _error_message;
66            }
67            tmp
68        }),
69        "TooManyRequestsException" => crate::operation::get_signing_profile::GetSigningProfileError::TooManyRequestsException({
70            #[allow(unused_mut)]
71            let mut tmp = {
72                #[allow(unused_mut)]
73                let mut output = crate::types::error::builders::TooManyRequestsExceptionBuilder::default();
74                output = crate::protocol_serde::shape_too_many_requests_exception::de_too_many_requests_exception_json_err(_response_body, output)
75                    .map_err(crate::operation::get_signing_profile::GetSigningProfileError::unhandled)?;
76                let output = output.meta(generic);
77                output.build()
78            };
79            if tmp.message.is_none() {
80                tmp.message = _error_message;
81            }
82            tmp
83        }),
84        _ => crate::operation::get_signing_profile::GetSigningProfileError::generic(generic),
85    })
86}
87
88#[allow(clippy::unnecessary_wraps)]
89pub fn de_get_signing_profile_http_response(
90    _response_status: u16,
91    _response_headers: &::aws_smithy_runtime_api::http::Headers,
92    _response_body: &[u8],
93) -> std::result::Result<crate::operation::get_signing_profile::GetSigningProfileOutput, crate::operation::get_signing_profile::GetSigningProfileError>
94{
95    Ok({
96        #[allow(unused_mut)]
97        let mut output = crate::operation::get_signing_profile::builders::GetSigningProfileOutputBuilder::default();
98        output = crate::protocol_serde::shape_get_signing_profile::de_get_signing_profile(_response_body, output)
99            .map_err(crate::operation::get_signing_profile::GetSigningProfileError::unhandled)?;
100        output._set_request_id(::aws_types::request_id::RequestId::request_id(_response_headers).map(str::to_string));
101        output.build()
102    })
103}
104
105pub(crate) fn de_get_signing_profile(
106    value: &[u8],
107    mut builder: crate::operation::get_signing_profile::builders::GetSigningProfileOutputBuilder,
108) -> ::std::result::Result<
109    crate::operation::get_signing_profile::builders::GetSigningProfileOutputBuilder,
110    ::aws_smithy_json::deserialize::error::DeserializeError,
111> {
112    let mut tokens_owned = ::aws_smithy_json::deserialize::json_token_iter(crate::protocol_serde::or_empty_doc(value)).peekable();
113    let tokens = &mut tokens_owned;
114    ::aws_smithy_json::deserialize::token::expect_start_object(tokens.next())?;
115    loop {
116        match tokens.next().transpose()? {
117            Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
118            Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => match key.to_unescaped()?.as_ref() {
119                "arn" => {
120                    builder = builder.set_arn(
121                        ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
122                            .map(|s| s.to_unescaped().map(|u| u.into_owned()))
123                            .transpose()?,
124                    );
125                }
126                "overrides" => {
127                    builder = builder.set_overrides(crate::protocol_serde::shape_signing_platform_overrides::de_signing_platform_overrides(
128                        tokens,
129                    )?);
130                }
131                "platformDisplayName" => {
132                    builder = builder.set_platform_display_name(
133                        ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
134                            .map(|s| s.to_unescaped().map(|u| u.into_owned()))
135                            .transpose()?,
136                    );
137                }
138                "platformId" => {
139                    builder = builder.set_platform_id(
140                        ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
141                            .map(|s| s.to_unescaped().map(|u| u.into_owned()))
142                            .transpose()?,
143                    );
144                }
145                "profileName" => {
146                    builder = builder.set_profile_name(
147                        ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
148                            .map(|s| s.to_unescaped().map(|u| u.into_owned()))
149                            .transpose()?,
150                    );
151                }
152                "profileVersion" => {
153                    builder = builder.set_profile_version(
154                        ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
155                            .map(|s| s.to_unescaped().map(|u| u.into_owned()))
156                            .transpose()?,
157                    );
158                }
159                "profileVersionArn" => {
160                    builder = builder.set_profile_version_arn(
161                        ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
162                            .map(|s| s.to_unescaped().map(|u| u.into_owned()))
163                            .transpose()?,
164                    );
165                }
166                "revocationRecord" => {
167                    builder = builder.set_revocation_record(
168                        crate::protocol_serde::shape_signing_profile_revocation_record::de_signing_profile_revocation_record(tokens)?,
169                    );
170                }
171                "signatureValidityPeriod" => {
172                    builder = builder.set_signature_validity_period(
173                        crate::protocol_serde::shape_signature_validity_period::de_signature_validity_period(tokens)?,
174                    );
175                }
176                "signingMaterial" => {
177                    builder = builder.set_signing_material(crate::protocol_serde::shape_signing_material::de_signing_material(tokens)?);
178                }
179                "signingParameters" => {
180                    builder = builder.set_signing_parameters(crate::protocol_serde::shape_signing_parameters::de_signing_parameters(tokens)?);
181                }
182                "status" => {
183                    builder = builder.set_status(
184                        ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
185                            .map(|s| s.to_unescaped().map(|u| crate::types::SigningProfileStatus::from(u.as_ref())))
186                            .transpose()?,
187                    );
188                }
189                "statusReason" => {
190                    builder = builder.set_status_reason(
191                        ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
192                            .map(|s| s.to_unescaped().map(|u| u.into_owned()))
193                            .transpose()?,
194                    );
195                }
196                "tags" => {
197                    builder = builder.set_tags(crate::protocol_serde::shape_tag_map::de_tag_map(tokens)?);
198                }
199                _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?,
200            },
201            other => {
202                return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
203                    "expected object key or end object, found: {:?}",
204                    other
205                )))
206            }
207        }
208    }
209    if tokens.next().is_some() {
210        return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
211            "found more JSON tokens after completing parsing",
212        ));
213    }
214    Ok(builder)
215}