aws_sdk_redshift/protocol_serde/
shape_modify_redshift_idc_application.rs1#[allow(clippy::unnecessary_wraps)]
3pub fn de_modify_redshift_idc_application_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::modify_redshift_idc_application::ModifyRedshiftIdcApplicationOutput,
9 crate::operation::modify_redshift_idc_application::ModifyRedshiftIdcApplicationError,
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::modify_redshift_idc_application::ModifyRedshiftIdcApplicationError::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::modify_redshift_idc_application::ModifyRedshiftIdcApplicationError::unhandled(generic)),
19 };
20
21 let _error_message = generic.message().map(|msg| msg.to_owned());
22 Err(match error_code {
23 "DependentServiceAccessDenied" => {
24 crate::operation::modify_redshift_idc_application::ModifyRedshiftIdcApplicationError::DependentServiceAccessDeniedFault({
25 #[allow(unused_mut)]
26 let mut tmp = {
27 #[allow(unused_mut)]
28 let mut output = crate::types::error::builders::DependentServiceAccessDeniedFaultBuilder::default();
29 output = crate::protocol_serde::shape_dependent_service_access_denied_fault::de_dependent_service_access_denied_fault_xml_err(
30 _response_body,
31 output,
32 )
33 .map_err(crate::operation::modify_redshift_idc_application::ModifyRedshiftIdcApplicationError::unhandled)?;
34 let output = output.meta(generic);
35 output.build()
36 };
37 if tmp.message.is_none() {
38 tmp.message = _error_message;
39 }
40 tmp
41 })
42 }
43 "DependentServiceUnavailableFault" => {
44 crate::operation::modify_redshift_idc_application::ModifyRedshiftIdcApplicationError::DependentServiceUnavailableFault({
45 #[allow(unused_mut)]
46 let mut tmp = {
47 #[allow(unused_mut)]
48 let mut output = crate::types::error::builders::DependentServiceUnavailableFaultBuilder::default();
49 output = crate::protocol_serde::shape_dependent_service_unavailable_fault::de_dependent_service_unavailable_fault_xml_err(
50 _response_body,
51 output,
52 )
53 .map_err(crate::operation::modify_redshift_idc_application::ModifyRedshiftIdcApplicationError::unhandled)?;
54 let output = output.meta(generic);
55 output.build()
56 };
57 if tmp.message.is_none() {
58 tmp.message = _error_message;
59 }
60 tmp
61 })
62 }
63 "RedshiftIdcApplicationNotExists" => {
64 crate::operation::modify_redshift_idc_application::ModifyRedshiftIdcApplicationError::RedshiftIdcApplicationNotExistsFault({
65 #[allow(unused_mut)]
66 let mut tmp = {
67 #[allow(unused_mut)]
68 let mut output = crate::types::error::builders::RedshiftIdcApplicationNotExistsFaultBuilder::default();
69 output =
70 crate::protocol_serde::shape_redshift_idc_application_not_exists_fault::de_redshift_idc_application_not_exists_fault_xml_err(
71 _response_body,
72 output,
73 )
74 .map_err(crate::operation::modify_redshift_idc_application::ModifyRedshiftIdcApplicationError::unhandled)?;
75 let output = output.meta(generic);
76 output.build()
77 };
78 if tmp.message.is_none() {
79 tmp.message = _error_message;
80 }
81 tmp
82 })
83 }
84 "UnsupportedOperation" => crate::operation::modify_redshift_idc_application::ModifyRedshiftIdcApplicationError::UnsupportedOperationFault({
85 #[allow(unused_mut)]
86 let mut tmp = {
87 #[allow(unused_mut)]
88 let mut output = crate::types::error::builders::UnsupportedOperationFaultBuilder::default();
89 output = crate::protocol_serde::shape_unsupported_operation_fault::de_unsupported_operation_fault_xml_err(_response_body, output)
90 .map_err(crate::operation::modify_redshift_idc_application::ModifyRedshiftIdcApplicationError::unhandled)?;
91 let output = output.meta(generic);
92 output.build()
93 };
94 if tmp.message.is_none() {
95 tmp.message = _error_message;
96 }
97 tmp
98 }),
99 _ => crate::operation::modify_redshift_idc_application::ModifyRedshiftIdcApplicationError::generic(generic),
100 })
101}
102
103#[allow(clippy::unnecessary_wraps)]
104pub fn de_modify_redshift_idc_application_http_response(
105 _response_status: u16,
106 _response_headers: &::aws_smithy_runtime_api::http::Headers,
107 _response_body: &[u8],
108) -> std::result::Result<
109 crate::operation::modify_redshift_idc_application::ModifyRedshiftIdcApplicationOutput,
110 crate::operation::modify_redshift_idc_application::ModifyRedshiftIdcApplicationError,
111> {
112 Ok({
113 #[allow(unused_mut)]
114 let mut output = crate::operation::modify_redshift_idc_application::builders::ModifyRedshiftIdcApplicationOutputBuilder::default();
115 output = crate::protocol_serde::shape_modify_redshift_idc_application::de_modify_redshift_idc_application(_response_body, output)
116 .map_err(crate::operation::modify_redshift_idc_application::ModifyRedshiftIdcApplicationError::unhandled)?;
117 output._set_request_id(::aws_types::request_id::RequestId::request_id(_response_headers).map(str::to_string));
118 output.build()
119 })
120}
121
122#[allow(unused_mut)]
123pub fn de_modify_redshift_idc_application(
124 inp: &[u8],
125 mut builder: crate::operation::modify_redshift_idc_application::builders::ModifyRedshiftIdcApplicationOutputBuilder,
126) -> std::result::Result<
127 crate::operation::modify_redshift_idc_application::builders::ModifyRedshiftIdcApplicationOutputBuilder,
128 ::aws_smithy_xml::decode::XmlDecodeError,
129> {
130 let mut doc = ::aws_smithy_xml::decode::Document::try_from(inp)?;
131
132 #[allow(unused_mut)]
133 let mut decoder = doc.root_element()?;
134 #[allow(unused_variables)]
135 let start_el = decoder.start_el();
136 if !(start_el.matches("ModifyRedshiftIdcApplicationResponse")) {
137 return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(format!(
138 "invalid root, expected ModifyRedshiftIdcApplicationResponse got {:?}",
139 start_el
140 )));
141 }
142 if let Some(mut result_tag) = decoder.next_tag() {
143 let start_el = result_tag.start_el();
144 if !(start_el.matches("ModifyRedshiftIdcApplicationResult")) {
145 return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(format!(
146 "invalid result, expected ModifyRedshiftIdcApplicationResult got {:?}",
147 start_el
148 )));
149 }
150 while let Some(mut tag) = result_tag.next_tag() {
151 match tag.start_el() {
152 s if s.matches("RedshiftIdcApplication") => {
153 let var_1 =
154 Some(
155 crate::protocol_serde::shape_redshift_idc_application::de_redshift_idc_application(&mut tag)
156 ?
157 )
158 ;
159 builder = builder.set_redshift_idc_application(var_1);
160 }
161 ,
162 _ => {}
163 }
164 }
165 } else {
166 return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(
167 "expected ModifyRedshiftIdcApplicationResult tag",
168 ));
169 };
170 Ok(builder)
171}