aws_sdk_cloudfront/protocol_serde/
shape_create_continuous_deployment_policy.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2#[allow(clippy::unnecessary_wraps)]
3pub fn de_create_continuous_deployment_policy_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_continuous_deployment_policy::CreateContinuousDeploymentPolicyOutput,
9    crate::operation::create_continuous_deployment_policy::CreateContinuousDeploymentPolicyError,
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_continuous_deployment_policy::CreateContinuousDeploymentPolicyError::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_continuous_deployment_policy::CreateContinuousDeploymentPolicyError::unhandled(generic)),
19    };
20
21    let _error_message = generic.message().map(|msg| msg.to_owned());
22    Err(match error_code {
23        "AccessDenied" => crate::operation::create_continuous_deployment_policy::CreateContinuousDeploymentPolicyError::AccessDenied({
24            #[allow(unused_mut)]
25            let mut tmp = {
26                #[allow(unused_mut)]
27                let mut output = crate::types::error::builders::AccessDeniedBuilder::default();
28                output = crate::protocol_serde::shape_access_denied::de_access_denied_xml_err(_response_body, output)
29                    .map_err(crate::operation::create_continuous_deployment_policy::CreateContinuousDeploymentPolicyError::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        "ContinuousDeploymentPolicyAlreadyExists" => {
39            crate::operation::create_continuous_deployment_policy::CreateContinuousDeploymentPolicyError::ContinuousDeploymentPolicyAlreadyExists({
40                #[allow(unused_mut)]
41                let mut tmp = {
42                    #[allow(unused_mut)]
43                    let mut output = crate::types::error::builders::ContinuousDeploymentPolicyAlreadyExistsBuilder::default();
44                    output = crate::protocol_serde::shape_continuous_deployment_policy_already_exists::de_continuous_deployment_policy_already_exists_xml_err(_response_body, output).map_err(crate::operation::create_continuous_deployment_policy::CreateContinuousDeploymentPolicyError::unhandled)?;
45                    let output = output.meta(generic);
46                    output.build()
47                };
48                if tmp.message.is_none() {
49                    tmp.message = _error_message;
50                }
51                tmp
52            })
53        }
54        "InconsistentQuantities" => {
55            crate::operation::create_continuous_deployment_policy::CreateContinuousDeploymentPolicyError::InconsistentQuantities({
56                #[allow(unused_mut)]
57                let mut tmp = {
58                    #[allow(unused_mut)]
59                    let mut output = crate::types::error::builders::InconsistentQuantitiesBuilder::default();
60                    output = crate::protocol_serde::shape_inconsistent_quantities::de_inconsistent_quantities_xml_err(_response_body, output)
61                        .map_err(crate::operation::create_continuous_deployment_policy::CreateContinuousDeploymentPolicyError::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        "InvalidArgument" => crate::operation::create_continuous_deployment_policy::CreateContinuousDeploymentPolicyError::InvalidArgument({
72            #[allow(unused_mut)]
73            let mut tmp = {
74                #[allow(unused_mut)]
75                let mut output = crate::types::error::builders::InvalidArgumentBuilder::default();
76                output = crate::protocol_serde::shape_invalid_argument::de_invalid_argument_xml_err(_response_body, output)
77                    .map_err(crate::operation::create_continuous_deployment_policy::CreateContinuousDeploymentPolicyError::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        "StagingDistributionInUse" => {
87            crate::operation::create_continuous_deployment_policy::CreateContinuousDeploymentPolicyError::StagingDistributionInUse({
88                #[allow(unused_mut)]
89                let mut tmp = {
90                    #[allow(unused_mut)]
91                    let mut output = crate::types::error::builders::StagingDistributionInUseBuilder::default();
92                    output = crate::protocol_serde::shape_staging_distribution_in_use::de_staging_distribution_in_use_xml_err(_response_body, output)
93                        .map_err(crate::operation::create_continuous_deployment_policy::CreateContinuousDeploymentPolicyError::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        "TooManyContinuousDeploymentPolicies" => {
104            crate::operation::create_continuous_deployment_policy::CreateContinuousDeploymentPolicyError::TooManyContinuousDeploymentPolicies({
105                #[allow(unused_mut)]
106                let mut tmp = {
107                    #[allow(unused_mut)]
108                    let mut output = crate::types::error::builders::TooManyContinuousDeploymentPoliciesBuilder::default();
109                    output =
110                        crate::protocol_serde::shape_too_many_continuous_deployment_policies::de_too_many_continuous_deployment_policies_xml_err(
111                            _response_body,
112                            output,
113                        )
114                        .map_err(crate::operation::create_continuous_deployment_policy::CreateContinuousDeploymentPolicyError::unhandled)?;
115                    let output = output.meta(generic);
116                    output.build()
117                };
118                if tmp.message.is_none() {
119                    tmp.message = _error_message;
120                }
121                tmp
122            })
123        }
124        _ => crate::operation::create_continuous_deployment_policy::CreateContinuousDeploymentPolicyError::generic(generic),
125    })
126}
127
128#[allow(clippy::unnecessary_wraps)]
129pub fn de_create_continuous_deployment_policy_http_response(
130    _response_status: u16,
131    _response_headers: &::aws_smithy_runtime_api::http::Headers,
132    _response_body: &[u8],
133) -> std::result::Result<
134    crate::operation::create_continuous_deployment_policy::CreateContinuousDeploymentPolicyOutput,
135    crate::operation::create_continuous_deployment_policy::CreateContinuousDeploymentPolicyError,
136> {
137    Ok({
138        #[allow(unused_mut)]
139        let mut output = crate::operation::create_continuous_deployment_policy::builders::CreateContinuousDeploymentPolicyOutputBuilder::default();
140        output = output.set_continuous_deployment_policy(
141            crate::protocol_serde::shape_create_continuous_deployment_policy_output::de_continuous_deployment_policy_payload(_response_body)?,
142        );
143        output = output.set_e_tag(
144            crate::protocol_serde::shape_create_continuous_deployment_policy_output::de_e_tag_header(_response_headers).map_err(|_| {
145                crate::operation::create_continuous_deployment_policy::CreateContinuousDeploymentPolicyError::unhandled(
146                    "Failed to parse ETag from header `ETag",
147                )
148            })?,
149        );
150        output = output.set_location(
151            crate::protocol_serde::shape_create_continuous_deployment_policy_output::de_location_header(_response_headers).map_err(|_| {
152                crate::operation::create_continuous_deployment_policy::CreateContinuousDeploymentPolicyError::unhandled(
153                    "Failed to parse Location from header `Location",
154                )
155            })?,
156        );
157        output._set_request_id(::aws_types::request_id::RequestId::request_id(_response_headers).map(str::to_string));
158        output.build()
159    })
160}