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