aws_sdk_cloudfront/protocol_serde/
shape_update_continuous_deployment_policy.rs1#[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}