aws_sdk_codecommit/protocol_serde/
shape_create_approval_rule_template.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2#[allow(clippy::unnecessary_wraps)]
3pub fn de_create_approval_rule_template_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::create_approval_rule_template::CreateApprovalRuleTemplateOutput,
9    crate::operation::create_approval_rule_template::CreateApprovalRuleTemplateError,
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::create_approval_rule_template::CreateApprovalRuleTemplateError::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::create_approval_rule_template::CreateApprovalRuleTemplateError::unhandled(generic)),
19    };
20
21    let _error_message = generic.message().map(|msg| msg.to_owned());
22    Err(match error_code {
23        "ApprovalRuleTemplateContentRequiredException" => {
24            crate::operation::create_approval_rule_template::CreateApprovalRuleTemplateError::ApprovalRuleTemplateContentRequiredException({
25                #[allow(unused_mut)]
26                let mut tmp = {
27                    #[allow(unused_mut)]
28                    let mut output = crate::types::error::builders::ApprovalRuleTemplateContentRequiredExceptionBuilder::default();
29                    output = crate::protocol_serde::shape_approval_rule_template_content_required_exception::de_approval_rule_template_content_required_exception_json_err(_response_body, output).map_err(crate::operation::create_approval_rule_template::CreateApprovalRuleTemplateError::unhandled)?;
30                    let output = output.meta(generic);
31                    output.build()
32                };
33                if tmp.message.is_none() {
34                    tmp.message = _error_message;
35                }
36                tmp
37            })
38        }
39        "ApprovalRuleTemplateNameAlreadyExistsException" => {
40            crate::operation::create_approval_rule_template::CreateApprovalRuleTemplateError::ApprovalRuleTemplateNameAlreadyExistsException({
41                #[allow(unused_mut)]
42                let mut tmp = {
43                    #[allow(unused_mut)]
44                    let mut output = crate::types::error::builders::ApprovalRuleTemplateNameAlreadyExistsExceptionBuilder::default();
45                    output = crate::protocol_serde::shape_approval_rule_template_name_already_exists_exception::de_approval_rule_template_name_already_exists_exception_json_err(_response_body, output).map_err(crate::operation::create_approval_rule_template::CreateApprovalRuleTemplateError::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        }
55        "ApprovalRuleTemplateNameRequiredException" => {
56            crate::operation::create_approval_rule_template::CreateApprovalRuleTemplateError::ApprovalRuleTemplateNameRequiredException({
57                #[allow(unused_mut)]
58                let mut tmp = {
59                    #[allow(unused_mut)]
60                    let mut output = crate::types::error::builders::ApprovalRuleTemplateNameRequiredExceptionBuilder::default();
61                    output = crate::protocol_serde::shape_approval_rule_template_name_required_exception::de_approval_rule_template_name_required_exception_json_err(_response_body, output).map_err(crate::operation::create_approval_rule_template::CreateApprovalRuleTemplateError::unhandled)?;
62                    let output = output.meta(generic);
63                    output.build()
64                };
65                if tmp.message.is_none() {
66                    tmp.message = _error_message;
67                }
68                tmp
69            })
70        }
71        "InvalidApprovalRuleTemplateContentException" => {
72            crate::operation::create_approval_rule_template::CreateApprovalRuleTemplateError::InvalidApprovalRuleTemplateContentException({
73                #[allow(unused_mut)]
74                let mut tmp = {
75                    #[allow(unused_mut)]
76                    let mut output = crate::types::error::builders::InvalidApprovalRuleTemplateContentExceptionBuilder::default();
77                    output = crate::protocol_serde::shape_invalid_approval_rule_template_content_exception::de_invalid_approval_rule_template_content_exception_json_err(_response_body, output).map_err(crate::operation::create_approval_rule_template::CreateApprovalRuleTemplateError::unhandled)?;
78                    let output = output.meta(generic);
79                    output.build()
80                };
81                if tmp.message.is_none() {
82                    tmp.message = _error_message;
83                }
84                tmp
85            })
86        }
87        "InvalidApprovalRuleTemplateDescriptionException" => {
88            crate::operation::create_approval_rule_template::CreateApprovalRuleTemplateError::InvalidApprovalRuleTemplateDescriptionException({
89                #[allow(unused_mut)]
90                let mut tmp = {
91                    #[allow(unused_mut)]
92                    let mut output = crate::types::error::builders::InvalidApprovalRuleTemplateDescriptionExceptionBuilder::default();
93                    output = crate::protocol_serde::shape_invalid_approval_rule_template_description_exception::de_invalid_approval_rule_template_description_exception_json_err(_response_body, output).map_err(crate::operation::create_approval_rule_template::CreateApprovalRuleTemplateError::unhandled)?;
94                    let output = output.meta(generic);
95                    output.build()
96                };
97                if tmp.message.is_none() {
98                    tmp.message = _error_message;
99                }
100                tmp
101            })
102        }
103        "InvalidApprovalRuleTemplateNameException" => {
104            crate::operation::create_approval_rule_template::CreateApprovalRuleTemplateError::InvalidApprovalRuleTemplateNameException({
105                #[allow(unused_mut)]
106                let mut tmp = {
107                    #[allow(unused_mut)]
108                    let mut output = crate::types::error::builders::InvalidApprovalRuleTemplateNameExceptionBuilder::default();
109                    output = crate::protocol_serde::shape_invalid_approval_rule_template_name_exception::de_invalid_approval_rule_template_name_exception_json_err(_response_body, output).map_err(crate::operation::create_approval_rule_template::CreateApprovalRuleTemplateError::unhandled)?;
110                    let output = output.meta(generic);
111                    output.build()
112                };
113                if tmp.message.is_none() {
114                    tmp.message = _error_message;
115                }
116                tmp
117            })
118        }
119        "NumberOfRuleTemplatesExceededException" => {
120            crate::operation::create_approval_rule_template::CreateApprovalRuleTemplateError::NumberOfRuleTemplatesExceededException({
121                #[allow(unused_mut)]
122                let mut tmp = {
123                    #[allow(unused_mut)]
124                    let mut output = crate::types::error::builders::NumberOfRuleTemplatesExceededExceptionBuilder::default();
125                    output = crate::protocol_serde::shape_number_of_rule_templates_exceeded_exception::de_number_of_rule_templates_exceeded_exception_json_err(_response_body, output).map_err(crate::operation::create_approval_rule_template::CreateApprovalRuleTemplateError::unhandled)?;
126                    let output = output.meta(generic);
127                    output.build()
128                };
129                if tmp.message.is_none() {
130                    tmp.message = _error_message;
131                }
132                tmp
133            })
134        }
135        _ => crate::operation::create_approval_rule_template::CreateApprovalRuleTemplateError::generic(generic),
136    })
137}
138
139#[allow(clippy::unnecessary_wraps)]
140pub fn de_create_approval_rule_template_http_response(
141    _response_status: u16,
142    _response_headers: &::aws_smithy_runtime_api::http::Headers,
143    _response_body: &[u8],
144) -> std::result::Result<
145    crate::operation::create_approval_rule_template::CreateApprovalRuleTemplateOutput,
146    crate::operation::create_approval_rule_template::CreateApprovalRuleTemplateError,
147> {
148    Ok({
149        #[allow(unused_mut)]
150        let mut output = crate::operation::create_approval_rule_template::builders::CreateApprovalRuleTemplateOutputBuilder::default();
151        output = crate::protocol_serde::shape_create_approval_rule_template::de_create_approval_rule_template(_response_body, output)
152            .map_err(crate::operation::create_approval_rule_template::CreateApprovalRuleTemplateError::unhandled)?;
153        output._set_request_id(::aws_types::request_id::RequestId::request_id(_response_headers).map(str::to_string));
154        crate::serde_util::create_approval_rule_template_output_output_correct_errors(output).build()
155    })
156}
157
158pub fn ser_create_approval_rule_template_input(
159    input: &crate::operation::create_approval_rule_template::CreateApprovalRuleTemplateInput,
160) -> ::std::result::Result<::aws_smithy_types::body::SdkBody, ::aws_smithy_types::error::operation::SerializationError> {
161    let mut out = String::new();
162    let mut object = ::aws_smithy_json::serialize::JsonObjectWriter::new(&mut out);
163    crate::protocol_serde::shape_create_approval_rule_template_input::ser_create_approval_rule_template_input_input(&mut object, input)?;
164    object.finish();
165    Ok(::aws_smithy_types::body::SdkBody::from(out))
166}
167
168pub(crate) fn de_create_approval_rule_template(
169    value: &[u8],
170    mut builder: crate::operation::create_approval_rule_template::builders::CreateApprovalRuleTemplateOutputBuilder,
171) -> ::std::result::Result<
172    crate::operation::create_approval_rule_template::builders::CreateApprovalRuleTemplateOutputBuilder,
173    ::aws_smithy_json::deserialize::error::DeserializeError,
174> {
175    let mut tokens_owned = ::aws_smithy_json::deserialize::json_token_iter(crate::protocol_serde::or_empty_doc(value)).peekable();
176    let tokens = &mut tokens_owned;
177    ::aws_smithy_json::deserialize::token::expect_start_object(tokens.next())?;
178    loop {
179        match tokens.next().transpose()? {
180            Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
181            Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => match key.to_unescaped()?.as_ref() {
182                "approvalRuleTemplate" => {
183                    builder =
184                        builder.set_approval_rule_template(crate::protocol_serde::shape_approval_rule_template::de_approval_rule_template(tokens)?);
185                }
186                _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?,
187            },
188            other => {
189                return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
190                    "expected object key or end object, found: {other:?}"
191                )))
192            }
193        }
194    }
195    if tokens.next().is_some() {
196        return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
197            "found more JSON tokens after completing parsing",
198        ));
199    }
200    Ok(builder)
201}