aws_sdk_redshift/protocol_serde/
shape_modify_cluster_db_revision.rs1#[allow(clippy::unnecessary_wraps)]
3pub fn de_modify_cluster_db_revision_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_cluster_db_revision::ModifyClusterDbRevisionOutput,
9 crate::operation::modify_cluster_db_revision::ModifyClusterDbRevisionError,
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_cluster_db_revision::ModifyClusterDbRevisionError::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 => {
19 return Err(crate::operation::modify_cluster_db_revision::ModifyClusterDbRevisionError::unhandled(
20 generic,
21 ))
22 }
23 };
24
25 let _error_message = generic.message().map(|msg| msg.to_owned());
26 Err(match error_code {
27 "ClusterNotFound" => crate::operation::modify_cluster_db_revision::ModifyClusterDbRevisionError::ClusterNotFoundFault({
28 #[allow(unused_mut)]
29 let mut tmp = {
30 #[allow(unused_mut)]
31 let mut output = crate::types::error::builders::ClusterNotFoundFaultBuilder::default();
32 output = crate::protocol_serde::shape_cluster_not_found_fault::de_cluster_not_found_fault_xml_err(_response_body, output)
33 .map_err(crate::operation::modify_cluster_db_revision::ModifyClusterDbRevisionError::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 "ClusterOnLatestRevision" => crate::operation::modify_cluster_db_revision::ModifyClusterDbRevisionError::ClusterOnLatestRevisionFault({
43 #[allow(unused_mut)]
44 let mut tmp = {
45 #[allow(unused_mut)]
46 let mut output = crate::types::error::builders::ClusterOnLatestRevisionFaultBuilder::default();
47 output = crate::protocol_serde::shape_cluster_on_latest_revision_fault::de_cluster_on_latest_revision_fault_xml_err(
48 _response_body,
49 output,
50 )
51 .map_err(crate::operation::modify_cluster_db_revision::ModifyClusterDbRevisionError::unhandled)?;
52 let output = output.meta(generic);
53 output.build()
54 };
55 if tmp.message.is_none() {
56 tmp.message = _error_message;
57 }
58 tmp
59 }),
60 "InvalidClusterState" => crate::operation::modify_cluster_db_revision::ModifyClusterDbRevisionError::InvalidClusterStateFault({
61 #[allow(unused_mut)]
62 let mut tmp = {
63 #[allow(unused_mut)]
64 let mut output = crate::types::error::builders::InvalidClusterStateFaultBuilder::default();
65 output = crate::protocol_serde::shape_invalid_cluster_state_fault::de_invalid_cluster_state_fault_xml_err(_response_body, output)
66 .map_err(crate::operation::modify_cluster_db_revision::ModifyClusterDbRevisionError::unhandled)?;
67 let output = output.meta(generic);
68 output.build()
69 };
70 if tmp.message.is_none() {
71 tmp.message = _error_message;
72 }
73 tmp
74 }),
75 "UnsupportedOperation" => crate::operation::modify_cluster_db_revision::ModifyClusterDbRevisionError::UnsupportedOperationFault({
76 #[allow(unused_mut)]
77 let mut tmp = {
78 #[allow(unused_mut)]
79 let mut output = crate::types::error::builders::UnsupportedOperationFaultBuilder::default();
80 output = crate::protocol_serde::shape_unsupported_operation_fault::de_unsupported_operation_fault_xml_err(_response_body, output)
81 .map_err(crate::operation::modify_cluster_db_revision::ModifyClusterDbRevisionError::unhandled)?;
82 let output = output.meta(generic);
83 output.build()
84 };
85 if tmp.message.is_none() {
86 tmp.message = _error_message;
87 }
88 tmp
89 }),
90 _ => crate::operation::modify_cluster_db_revision::ModifyClusterDbRevisionError::generic(generic),
91 })
92}
93
94#[allow(clippy::unnecessary_wraps)]
95pub fn de_modify_cluster_db_revision_http_response(
96 _response_status: u16,
97 _response_headers: &::aws_smithy_runtime_api::http::Headers,
98 _response_body: &[u8],
99) -> std::result::Result<
100 crate::operation::modify_cluster_db_revision::ModifyClusterDbRevisionOutput,
101 crate::operation::modify_cluster_db_revision::ModifyClusterDbRevisionError,
102> {
103 Ok({
104 #[allow(unused_mut)]
105 let mut output = crate::operation::modify_cluster_db_revision::builders::ModifyClusterDbRevisionOutputBuilder::default();
106 output = crate::protocol_serde::shape_modify_cluster_db_revision::de_modify_cluster_db_revision(_response_body, output)
107 .map_err(crate::operation::modify_cluster_db_revision::ModifyClusterDbRevisionError::unhandled)?;
108 output._set_request_id(::aws_types::request_id::RequestId::request_id(_response_headers).map(str::to_string));
109 output.build()
110 })
111}
112
113#[allow(unused_mut)]
114pub fn de_modify_cluster_db_revision(
115 inp: &[u8],
116 mut builder: crate::operation::modify_cluster_db_revision::builders::ModifyClusterDbRevisionOutputBuilder,
117) -> std::result::Result<
118 crate::operation::modify_cluster_db_revision::builders::ModifyClusterDbRevisionOutputBuilder,
119 ::aws_smithy_xml::decode::XmlDecodeError,
120> {
121 let mut doc = ::aws_smithy_xml::decode::Document::try_from(inp)?;
122
123 #[allow(unused_mut)]
124 let mut decoder = doc.root_element()?;
125 #[allow(unused_variables)]
126 let start_el = decoder.start_el();
127 if !(start_el.matches("ModifyClusterDbRevisionResponse")) {
128 return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(format!(
129 "invalid root, expected ModifyClusterDbRevisionResponse got {:?}",
130 start_el
131 )));
132 }
133 if let Some(mut result_tag) = decoder.next_tag() {
134 let start_el = result_tag.start_el();
135 if !(start_el.matches("ModifyClusterDbRevisionResult")) {
136 return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(format!(
137 "invalid result, expected ModifyClusterDbRevisionResult got {:?}",
138 start_el
139 )));
140 }
141 while let Some(mut tag) = result_tag.next_tag() {
142 match tag.start_el() {
143 s if s.matches("Cluster") => {
144 let var_1 =
145 Some(
146 crate::protocol_serde::shape_cluster::de_cluster(&mut tag)
147 ?
148 )
149 ;
150 builder = builder.set_cluster(var_1);
151 }
152 ,
153 _ => {}
154 }
155 }
156 } else {
157 return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(
158 "expected ModifyClusterDbRevisionResult tag",
159 ));
160 };
161 Ok(builder)
162}