aws_sdk_rds/protocol_serde/
shape_cancel_export_task.rs1#[allow(clippy::unnecessary_wraps)]
3pub fn de_cancel_export_task_http_error(
4 _response_status: u16,
5 _response_headers: &::aws_smithy_runtime_api::http::Headers,
6 _response_body: &[u8],
7) -> std::result::Result<crate::operation::cancel_export_task::CancelExportTaskOutput, crate::operation::cancel_export_task::CancelExportTaskError> {
8 #[allow(unused_mut)]
9 let mut generic_builder = crate::protocol_serde::parse_http_error_metadata(_response_status, _response_headers, _response_body)
10 .map_err(crate::operation::cancel_export_task::CancelExportTaskError::unhandled)?;
11 generic_builder = ::aws_types::request_id::apply_request_id(generic_builder, _response_headers);
12 let generic = generic_builder.build();
13 let error_code = match generic.code() {
14 Some(code) => code,
15 None => return Err(crate::operation::cancel_export_task::CancelExportTaskError::unhandled(generic)),
16 };
17
18 let _error_message = generic.message().map(|msg| msg.to_owned());
19 Err(match error_code {
20 "ExportTaskNotFound" => crate::operation::cancel_export_task::CancelExportTaskError::ExportTaskNotFoundFault({
21 #[allow(unused_mut)]
22 let mut tmp = {
23 #[allow(unused_mut)]
24 let mut output = crate::types::error::builders::ExportTaskNotFoundFaultBuilder::default();
25 output = crate::protocol_serde::shape_export_task_not_found_fault::de_export_task_not_found_fault_xml_err(_response_body, output)
26 .map_err(crate::operation::cancel_export_task::CancelExportTaskError::unhandled)?;
27 let output = output.meta(generic);
28 output.build()
29 };
30 if tmp.message.is_none() {
31 tmp.message = _error_message;
32 }
33 tmp
34 }),
35 "InvalidExportTaskStateFault" => crate::operation::cancel_export_task::CancelExportTaskError::InvalidExportTaskStateFault({
36 #[allow(unused_mut)]
37 let mut tmp = {
38 #[allow(unused_mut)]
39 let mut output = crate::types::error::builders::InvalidExportTaskStateFaultBuilder::default();
40 output =
41 crate::protocol_serde::shape_invalid_export_task_state_fault::de_invalid_export_task_state_fault_xml_err(_response_body, output)
42 .map_err(crate::operation::cancel_export_task::CancelExportTaskError::unhandled)?;
43 let output = output.meta(generic);
44 output.build()
45 };
46 if tmp.message.is_none() {
47 tmp.message = _error_message;
48 }
49 tmp
50 }),
51 _ => crate::operation::cancel_export_task::CancelExportTaskError::generic(generic),
52 })
53}
54
55#[allow(clippy::unnecessary_wraps)]
56pub fn de_cancel_export_task_http_response(
57 _response_status: u16,
58 _response_headers: &::aws_smithy_runtime_api::http::Headers,
59 _response_body: &[u8],
60) -> std::result::Result<crate::operation::cancel_export_task::CancelExportTaskOutput, crate::operation::cancel_export_task::CancelExportTaskError> {
61 Ok({
62 #[allow(unused_mut)]
63 let mut output = crate::operation::cancel_export_task::builders::CancelExportTaskOutputBuilder::default();
64 output = crate::protocol_serde::shape_cancel_export_task::de_cancel_export_task(_response_body, output)
65 .map_err(crate::operation::cancel_export_task::CancelExportTaskError::unhandled)?;
66 output._set_request_id(::aws_types::request_id::RequestId::request_id(_response_headers).map(str::to_string));
67 output.build()
68 })
69}
70
71#[allow(unused_mut)]
72pub fn de_cancel_export_task(
73 inp: &[u8],
74 mut builder: crate::operation::cancel_export_task::builders::CancelExportTaskOutputBuilder,
75) -> std::result::Result<crate::operation::cancel_export_task::builders::CancelExportTaskOutputBuilder, ::aws_smithy_xml::decode::XmlDecodeError> {
76 let mut doc = ::aws_smithy_xml::decode::Document::try_from(inp)?;
77
78 #[allow(unused_mut)]
79 let mut decoder = doc.root_element()?;
80 #[allow(unused_variables)]
81 let start_el = decoder.start_el();
82 if !(start_el.matches("CancelExportTaskResponse")) {
83 return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(format!(
84 "invalid root, expected CancelExportTaskResponse got {start_el:?}"
85 )));
86 }
87 if let Some(mut result_tag) = decoder.next_tag() {
88 let start_el = result_tag.start_el();
89 if !(start_el.matches("CancelExportTaskResult")) {
90 return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(format!(
91 "invalid result, expected CancelExportTaskResult got {start_el:?}"
92 )));
93 }
94 while let Some(mut tag) = result_tag.next_tag() {
95 match tag.start_el() {
96 s if s.matches("ExportTaskIdentifier") => {
97 let var_1 =
98 Some(
99 Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
100 ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
101 .into()
102 )
103 ?
104 )
105 ;
106 builder = builder.set_export_task_identifier(var_1);
107 }
108 ,
109 s if s.matches("SourceArn") => {
110 let var_2 =
111 Some(
112 Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
113 ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
114 .into()
115 )
116 ?
117 )
118 ;
119 builder = builder.set_source_arn(var_2);
120 }
121 ,
122 s if s.matches("ExportOnly") => {
123 let var_3 =
124 Some(
125 crate::protocol_serde::shape_string_list::de_string_list(&mut tag)
126 ?
127 )
128 ;
129 builder = builder.set_export_only(var_3);
130 }
131 ,
132 s if s.matches("SnapshotTime") => {
133 let var_4 =
134 Some(
135 ::aws_smithy_types::DateTime::from_str(
136 ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
137 , ::aws_smithy_types::date_time::Format::DateTimeWithOffset
138 )
139 .map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (timestamp: `com.amazonaws.rds#TStamp`)"))
140 ?
141 )
142 ;
143 builder = builder.set_snapshot_time(var_4);
144 }
145 ,
146 s if s.matches("TaskStartTime") => {
147 let var_5 =
148 Some(
149 ::aws_smithy_types::DateTime::from_str(
150 ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
151 , ::aws_smithy_types::date_time::Format::DateTimeWithOffset
152 )
153 .map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (timestamp: `com.amazonaws.rds#TStamp`)"))
154 ?
155 )
156 ;
157 builder = builder.set_task_start_time(var_5);
158 }
159 ,
160 s if s.matches("TaskEndTime") => {
161 let var_6 =
162 Some(
163 ::aws_smithy_types::DateTime::from_str(
164 ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
165 , ::aws_smithy_types::date_time::Format::DateTimeWithOffset
166 )
167 .map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (timestamp: `com.amazonaws.rds#TStamp`)"))
168 ?
169 )
170 ;
171 builder = builder.set_task_end_time(var_6);
172 }
173 ,
174 s if s.matches("S3Bucket") => {
175 let var_7 =
176 Some(
177 Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
178 ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
179 .into()
180 )
181 ?
182 )
183 ;
184 builder = builder.set_s3_bucket(var_7);
185 }
186 ,
187 s if s.matches("S3Prefix") => {
188 let var_8 =
189 Some(
190 Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
191 ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
192 .into()
193 )
194 ?
195 )
196 ;
197 builder = builder.set_s3_prefix(var_8);
198 }
199 ,
200 s if s.matches("IamRoleArn") => {
201 let var_9 =
202 Some(
203 Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
204 ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
205 .into()
206 )
207 ?
208 )
209 ;
210 builder = builder.set_iam_role_arn(var_9);
211 }
212 ,
213 s if s.matches("KmsKeyId") => {
214 let var_10 =
215 Some(
216 Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
217 ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
218 .into()
219 )
220 ?
221 )
222 ;
223 builder = builder.set_kms_key_id(var_10);
224 }
225 ,
226 s if s.matches("Status") => {
227 let var_11 =
228 Some(
229 Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
230 ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
231 .into()
232 )
233 ?
234 )
235 ;
236 builder = builder.set_status(var_11);
237 }
238 ,
239 s if s.matches("PercentProgress") => {
240 let var_12 =
241 Some(
242 {
243 <i32 as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
244 ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
245 )
246 .map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (integer: `com.amazonaws.rds#Integer`)"))
247 }
248 ?
249 )
250 ;
251 builder = builder.set_percent_progress(var_12);
252 }
253 ,
254 s if s.matches("TotalExtractedDataInGB") => {
255 let var_13 =
256 Some(
257 {
258 <i32 as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
259 ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
260 )
261 .map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (integer: `com.amazonaws.rds#Integer`)"))
262 }
263 ?
264 )
265 ;
266 builder = builder.set_total_extracted_data_in_gb(var_13);
267 }
268 ,
269 s if s.matches("FailureCause") => {
270 let var_14 =
271 Some(
272 Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
273 ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
274 .into()
275 )
276 ?
277 )
278 ;
279 builder = builder.set_failure_cause(var_14);
280 }
281 ,
282 s if s.matches("WarningMessage") => {
283 let var_15 =
284 Some(
285 Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
286 ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
287 .into()
288 )
289 ?
290 )
291 ;
292 builder = builder.set_warning_message(var_15);
293 }
294 ,
295 s if s.matches("SourceType") => {
296 let var_16 =
297 Some(
298 Result::<crate::types::ExportSourceType, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
299 crate::types::ExportSourceType::from(
300 ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
301 )
302 )
303 ?
304 )
305 ;
306 builder = builder.set_source_type(var_16);
307 }
308 ,
309 _ => {}
310 }
311 }
312 } else {
313 return Err(::aws_smithy_xml::decode::XmlDecodeError::custom("expected CancelExportTaskResult tag"));
314 };
315 Ok(builder)
316}