aws_sdk_cloudfront/protocol_serde/
shape_update_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_update_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::update_continuous_deployment_policy::UpdateContinuousDeploymentPolicyOutput,
9    crate::operation::update_continuous_deployment_policy::UpdateContinuousDeploymentPolicyError,
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_continuous_deployment_policy::UpdateContinuousDeploymentPolicyError::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_continuous_deployment_policy::UpdateContinuousDeploymentPolicyError::unhandled(generic)),
19    };
20
21    let _error_message = generic.message().map(|msg| msg.to_owned());
22    Err(match error_code {
23        "AccessDenied" => crate::operation::update_continuous_deployment_policy::UpdateContinuousDeploymentPolicyError::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::update_continuous_deployment_policy::UpdateContinuousDeploymentPolicyError::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        "InconsistentQuantities" => {
39            crate::operation::update_continuous_deployment_policy::UpdateContinuousDeploymentPolicyError::InconsistentQuantities({
40                #[allow(unused_mut)]
41                let mut tmp = {
42                    #[allow(unused_mut)]
43                    let mut output = crate::types::error::builders::InconsistentQuantitiesBuilder::default();
44                    output = crate::protocol_serde::shape_inconsistent_quantities::de_inconsistent_quantities_xml_err(_response_body, output)
45                        .map_err(crate::operation::update_continuous_deployment_policy::UpdateContinuousDeploymentPolicyError::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        "InvalidArgument" => crate::operation::update_continuous_deployment_policy::UpdateContinuousDeploymentPolicyError::InvalidArgument({
56            #[allow(unused_mut)]
57            let mut tmp = {
58                #[allow(unused_mut)]
59                let mut output = crate::types::error::builders::InvalidArgumentBuilder::default();
60                output = crate::protocol_serde::shape_invalid_argument::de_invalid_argument_xml_err(_response_body, output)
61                    .map_err(crate::operation::update_continuous_deployment_policy::UpdateContinuousDeploymentPolicyError::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        "InvalidIfMatchVersion" => {
71            crate::operation::update_continuous_deployment_policy::UpdateContinuousDeploymentPolicyError::InvalidIfMatchVersion({
72                #[allow(unused_mut)]
73                let mut tmp = {
74                    #[allow(unused_mut)]
75                    let mut output = crate::types::error::builders::InvalidIfMatchVersionBuilder::default();
76                    output = crate::protocol_serde::shape_invalid_if_match_version::de_invalid_if_match_version_xml_err(_response_body, output)
77                        .map_err(crate::operation::update_continuous_deployment_policy::UpdateContinuousDeploymentPolicyError::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        "NoSuchContinuousDeploymentPolicy" => {
88            crate::operation::update_continuous_deployment_policy::UpdateContinuousDeploymentPolicyError::NoSuchContinuousDeploymentPolicy({
89                #[allow(unused_mut)]
90                let mut tmp = {
91                    #[allow(unused_mut)]
92                    let mut output = crate::types::error::builders::NoSuchContinuousDeploymentPolicyBuilder::default();
93                    output = crate::protocol_serde::shape_no_such_continuous_deployment_policy::de_no_such_continuous_deployment_policy_xml_err(
94                        _response_body,
95                        output,
96                    )
97                    .map_err(crate::operation::update_continuous_deployment_policy::UpdateContinuousDeploymentPolicyError::unhandled)?;
98                    let output = output.meta(generic);
99                    output.build()
100                };
101                if tmp.message.is_none() {
102                    tmp.message = _error_message;
103                }
104                tmp
105            })
106        }
107        "PreconditionFailed" => crate::operation::update_continuous_deployment_policy::UpdateContinuousDeploymentPolicyError::PreconditionFailed({
108            #[allow(unused_mut)]
109            let mut tmp = {
110                #[allow(unused_mut)]
111                let mut output = crate::types::error::builders::PreconditionFailedBuilder::default();
112                output = crate::protocol_serde::shape_precondition_failed::de_precondition_failed_xml_err(_response_body, output)
113                    .map_err(crate::operation::update_continuous_deployment_policy::UpdateContinuousDeploymentPolicyError::unhandled)?;
114                let output = output.meta(generic);
115                output.build()
116            };
117            if tmp.message.is_none() {
118                tmp.message = _error_message;
119            }
120            tmp
121        }),
122        "StagingDistributionInUse" => {
123            crate::operation::update_continuous_deployment_policy::UpdateContinuousDeploymentPolicyError::StagingDistributionInUse({
124                #[allow(unused_mut)]
125                let mut tmp = {
126                    #[allow(unused_mut)]
127                    let mut output = crate::types::error::builders::StagingDistributionInUseBuilder::default();
128                    output = crate::protocol_serde::shape_staging_distribution_in_use::de_staging_distribution_in_use_xml_err(_response_body, output)
129                        .map_err(crate::operation::update_continuous_deployment_policy::UpdateContinuousDeploymentPolicyError::unhandled)?;
130                    let output = output.meta(generic);
131                    output.build()
132                };
133                if tmp.message.is_none() {
134                    tmp.message = _error_message;
135                }
136                tmp
137            })
138        }
139        _ => crate::operation::update_continuous_deployment_policy::UpdateContinuousDeploymentPolicyError::generic(generic),
140    })
141}
142
143#[allow(clippy::unnecessary_wraps)]
144pub fn de_update_continuous_deployment_policy_http_response(
145    _response_status: u16,
146    _response_headers: &::aws_smithy_runtime_api::http::Headers,
147    _response_body: &[u8],
148) -> std::result::Result<
149    crate::operation::update_continuous_deployment_policy::UpdateContinuousDeploymentPolicyOutput,
150    crate::operation::update_continuous_deployment_policy::UpdateContinuousDeploymentPolicyError,
151> {
152    Ok({
153        #[allow(unused_mut)]
154        let mut output = crate::operation::update_continuous_deployment_policy::builders::UpdateContinuousDeploymentPolicyOutputBuilder::default();
155        output = output.set_continuous_deployment_policy(
156            crate::protocol_serde::shape_update_continuous_deployment_policy_output::de_continuous_deployment_policy_payload(_response_body)?,
157        );
158        output = output.set_e_tag(
159            crate::protocol_serde::shape_update_continuous_deployment_policy_output::de_e_tag_header(_response_headers).map_err(|_| {
160                crate::operation::update_continuous_deployment_policy::UpdateContinuousDeploymentPolicyError::unhandled(
161                    "Failed to parse ETag from header `ETag",
162                )
163            })?,
164        );
165        output._set_request_id(::aws_types::request_id::RequestId::request_id(_response_headers).map(str::to_string));
166        output.build()
167    })
168}
169
170pub fn ser_update_continuous_deployment_policy_headers(
171    input: &crate::operation::update_continuous_deployment_policy::UpdateContinuousDeploymentPolicyInput,
172    mut builder: ::http::request::Builder,
173) -> std::result::Result<::http::request::Builder, ::aws_smithy_types::error::operation::BuildError> {
174    if let ::std::option::Option::Some(inner_1) = &input.if_match {
175        let formatted_2 = inner_1.as_str();
176        let header_value = formatted_2;
177        let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
178            ::aws_smithy_types::error::operation::BuildError::invalid_field(
179                "if_match",
180                format!("`{}` cannot be used as a header value: {}", &header_value, err),
181            )
182        })?;
183        builder = builder.header("If-Match", header_value);
184    }
185    Ok(builder)
186}