aws_sdk_redshift/protocol_serde/
shape_resize_cluster.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2#[allow(clippy::unnecessary_wraps)]
3pub fn de_resize_cluster_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::resize_cluster::ResizeClusterOutput, crate::operation::resize_cluster::ResizeClusterError> {
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::resize_cluster::ResizeClusterError::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::resize_cluster::ResizeClusterError::unhandled(generic)),
16    };
17
18    let _error_message = generic.message().map(|msg| msg.to_owned());
19    Err(match error_code {
20        "ClusterNotFound" => crate::operation::resize_cluster::ResizeClusterError::ClusterNotFoundFault({
21            #[allow(unused_mut)]
22            let mut tmp = {
23                #[allow(unused_mut)]
24                let mut output = crate::types::error::builders::ClusterNotFoundFaultBuilder::default();
25                output = crate::protocol_serde::shape_cluster_not_found_fault::de_cluster_not_found_fault_xml_err(_response_body, output)
26                    .map_err(crate::operation::resize_cluster::ResizeClusterError::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        "DependentServiceUnavailableFault" => crate::operation::resize_cluster::ResizeClusterError::DependentServiceUnavailableFault({
36            #[allow(unused_mut)]
37            let mut tmp = {
38                #[allow(unused_mut)]
39                let mut output = crate::types::error::builders::DependentServiceUnavailableFaultBuilder::default();
40                output = crate::protocol_serde::shape_dependent_service_unavailable_fault::de_dependent_service_unavailable_fault_xml_err(
41                    _response_body,
42                    output,
43                )
44                .map_err(crate::operation::resize_cluster::ResizeClusterError::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        "InsufficientClusterCapacity" => crate::operation::resize_cluster::ResizeClusterError::InsufficientClusterCapacityFault({
54            #[allow(unused_mut)]
55            let mut tmp = {
56                #[allow(unused_mut)]
57                let mut output = crate::types::error::builders::InsufficientClusterCapacityFaultBuilder::default();
58                output = crate::protocol_serde::shape_insufficient_cluster_capacity_fault::de_insufficient_cluster_capacity_fault_xml_err(
59                    _response_body,
60                    output,
61                )
62                .map_err(crate::operation::resize_cluster::ResizeClusterError::unhandled)?;
63                let output = output.meta(generic);
64                output.build()
65            };
66            if tmp.message.is_none() {
67                tmp.message = _error_message;
68            }
69            tmp
70        }),
71        "InvalidClusterState" => crate::operation::resize_cluster::ResizeClusterError::InvalidClusterStateFault({
72            #[allow(unused_mut)]
73            let mut tmp = {
74                #[allow(unused_mut)]
75                let mut output = crate::types::error::builders::InvalidClusterStateFaultBuilder::default();
76                output = crate::protocol_serde::shape_invalid_cluster_state_fault::de_invalid_cluster_state_fault_xml_err(_response_body, output)
77                    .map_err(crate::operation::resize_cluster::ResizeClusterError::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        "InvalidReservedNodeState" => crate::operation::resize_cluster::ResizeClusterError::InvalidReservedNodeStateFault({
87            #[allow(unused_mut)]
88            let mut tmp = {
89                #[allow(unused_mut)]
90                let mut output = crate::types::error::builders::InvalidReservedNodeStateFaultBuilder::default();
91                output = crate::protocol_serde::shape_invalid_reserved_node_state_fault::de_invalid_reserved_node_state_fault_xml_err(
92                    _response_body,
93                    output,
94                )
95                .map_err(crate::operation::resize_cluster::ResizeClusterError::unhandled)?;
96                let output = output.meta(generic);
97                output.build()
98            };
99            if tmp.message.is_none() {
100                tmp.message = _error_message;
101            }
102            tmp
103        }),
104        "LimitExceededFault" => crate::operation::resize_cluster::ResizeClusterError::LimitExceededFault({
105            #[allow(unused_mut)]
106            let mut tmp = {
107                #[allow(unused_mut)]
108                let mut output = crate::types::error::builders::LimitExceededFaultBuilder::default();
109                output = crate::protocol_serde::shape_limit_exceeded_fault::de_limit_exceeded_fault_xml_err(_response_body, output)
110                    .map_err(crate::operation::resize_cluster::ResizeClusterError::unhandled)?;
111                let output = output.meta(generic);
112                output.build()
113            };
114            if tmp.message.is_none() {
115                tmp.message = _error_message;
116            }
117            tmp
118        }),
119        "NumberOfNodesPerClusterLimitExceeded" => crate::operation::resize_cluster::ResizeClusterError::NumberOfNodesPerClusterLimitExceededFault({
120            #[allow(unused_mut)]
121            let mut tmp = {
122                #[allow(unused_mut)]
123                let mut output = crate::types::error::builders::NumberOfNodesPerClusterLimitExceededFaultBuilder::default();
124                output = crate::protocol_serde::shape_number_of_nodes_per_cluster_limit_exceeded_fault::de_number_of_nodes_per_cluster_limit_exceeded_fault_xml_err(_response_body, output).map_err(crate::operation::resize_cluster::ResizeClusterError::unhandled)?;
125                let output = output.meta(generic);
126                output.build()
127            };
128            if tmp.message.is_none() {
129                tmp.message = _error_message;
130            }
131            tmp
132        }),
133        "NumberOfNodesQuotaExceeded" => crate::operation::resize_cluster::ResizeClusterError::NumberOfNodesQuotaExceededFault({
134            #[allow(unused_mut)]
135            let mut tmp = {
136                #[allow(unused_mut)]
137                let mut output = crate::types::error::builders::NumberOfNodesQuotaExceededFaultBuilder::default();
138                output = crate::protocol_serde::shape_number_of_nodes_quota_exceeded_fault::de_number_of_nodes_quota_exceeded_fault_xml_err(
139                    _response_body,
140                    output,
141                )
142                .map_err(crate::operation::resize_cluster::ResizeClusterError::unhandled)?;
143                let output = output.meta(generic);
144                output.build()
145            };
146            if tmp.message.is_none() {
147                tmp.message = _error_message;
148            }
149            tmp
150        }),
151        "ReservedNodeAlreadyExists" => crate::operation::resize_cluster::ResizeClusterError::ReservedNodeAlreadyExistsFault({
152            #[allow(unused_mut)]
153            let mut tmp = {
154                #[allow(unused_mut)]
155                let mut output = crate::types::error::builders::ReservedNodeAlreadyExistsFaultBuilder::default();
156                output = crate::protocol_serde::shape_reserved_node_already_exists_fault::de_reserved_node_already_exists_fault_xml_err(
157                    _response_body,
158                    output,
159                )
160                .map_err(crate::operation::resize_cluster::ResizeClusterError::unhandled)?;
161                let output = output.meta(generic);
162                output.build()
163            };
164            if tmp.message.is_none() {
165                tmp.message = _error_message;
166            }
167            tmp
168        }),
169        "ReservedNodeAlreadyMigrated" => crate::operation::resize_cluster::ResizeClusterError::ReservedNodeAlreadyMigratedFault({
170            #[allow(unused_mut)]
171            let mut tmp = {
172                #[allow(unused_mut)]
173                let mut output = crate::types::error::builders::ReservedNodeAlreadyMigratedFaultBuilder::default();
174                output = crate::protocol_serde::shape_reserved_node_already_migrated_fault::de_reserved_node_already_migrated_fault_xml_err(
175                    _response_body,
176                    output,
177                )
178                .map_err(crate::operation::resize_cluster::ResizeClusterError::unhandled)?;
179                let output = output.meta(generic);
180                output.build()
181            };
182            if tmp.message.is_none() {
183                tmp.message = _error_message;
184            }
185            tmp
186        }),
187        "ReservedNodeNotFound" => crate::operation::resize_cluster::ResizeClusterError::ReservedNodeNotFoundFault({
188            #[allow(unused_mut)]
189            let mut tmp = {
190                #[allow(unused_mut)]
191                let mut output = crate::types::error::builders::ReservedNodeNotFoundFaultBuilder::default();
192                output = crate::protocol_serde::shape_reserved_node_not_found_fault::de_reserved_node_not_found_fault_xml_err(_response_body, output)
193                    .map_err(crate::operation::resize_cluster::ResizeClusterError::unhandled)?;
194                let output = output.meta(generic);
195                output.build()
196            };
197            if tmp.message.is_none() {
198                tmp.message = _error_message;
199            }
200            tmp
201        }),
202        "ReservedNodeOfferingNotFound" => crate::operation::resize_cluster::ResizeClusterError::ReservedNodeOfferingNotFoundFault({
203            #[allow(unused_mut)]
204            let mut tmp = {
205                #[allow(unused_mut)]
206                let mut output = crate::types::error::builders::ReservedNodeOfferingNotFoundFaultBuilder::default();
207                output = crate::protocol_serde::shape_reserved_node_offering_not_found_fault::de_reserved_node_offering_not_found_fault_xml_err(
208                    _response_body,
209                    output,
210                )
211                .map_err(crate::operation::resize_cluster::ResizeClusterError::unhandled)?;
212                let output = output.meta(generic);
213                output.build()
214            };
215            if tmp.message.is_none() {
216                tmp.message = _error_message;
217            }
218            tmp
219        }),
220        "UnauthorizedOperation" => crate::operation::resize_cluster::ResizeClusterError::UnauthorizedOperation({
221            #[allow(unused_mut)]
222            let mut tmp = {
223                #[allow(unused_mut)]
224                let mut output = crate::types::error::builders::UnauthorizedOperationBuilder::default();
225                output = crate::protocol_serde::shape_unauthorized_operation::de_unauthorized_operation_xml_err(_response_body, output)
226                    .map_err(crate::operation::resize_cluster::ResizeClusterError::unhandled)?;
227                let output = output.meta(generic);
228                output.build()
229            };
230            if tmp.message.is_none() {
231                tmp.message = _error_message;
232            }
233            tmp
234        }),
235        "UnsupportedOperation" => crate::operation::resize_cluster::ResizeClusterError::UnsupportedOperationFault({
236            #[allow(unused_mut)]
237            let mut tmp = {
238                #[allow(unused_mut)]
239                let mut output = crate::types::error::builders::UnsupportedOperationFaultBuilder::default();
240                output = crate::protocol_serde::shape_unsupported_operation_fault::de_unsupported_operation_fault_xml_err(_response_body, output)
241                    .map_err(crate::operation::resize_cluster::ResizeClusterError::unhandled)?;
242                let output = output.meta(generic);
243                output.build()
244            };
245            if tmp.message.is_none() {
246                tmp.message = _error_message;
247            }
248            tmp
249        }),
250        "UnsupportedOptionFault" => crate::operation::resize_cluster::ResizeClusterError::UnsupportedOptionFault({
251            #[allow(unused_mut)]
252            let mut tmp = {
253                #[allow(unused_mut)]
254                let mut output = crate::types::error::builders::UnsupportedOptionFaultBuilder::default();
255                output = crate::protocol_serde::shape_unsupported_option_fault::de_unsupported_option_fault_xml_err(_response_body, output)
256                    .map_err(crate::operation::resize_cluster::ResizeClusterError::unhandled)?;
257                let output = output.meta(generic);
258                output.build()
259            };
260            if tmp.message.is_none() {
261                tmp.message = _error_message;
262            }
263            tmp
264        }),
265        _ => crate::operation::resize_cluster::ResizeClusterError::generic(generic),
266    })
267}
268
269#[allow(clippy::unnecessary_wraps)]
270pub fn de_resize_cluster_http_response(
271    _response_status: u16,
272    _response_headers: &::aws_smithy_runtime_api::http::Headers,
273    _response_body: &[u8],
274) -> std::result::Result<crate::operation::resize_cluster::ResizeClusterOutput, crate::operation::resize_cluster::ResizeClusterError> {
275    Ok({
276        #[allow(unused_mut)]
277        let mut output = crate::operation::resize_cluster::builders::ResizeClusterOutputBuilder::default();
278        output = crate::protocol_serde::shape_resize_cluster::de_resize_cluster(_response_body, output)
279            .map_err(crate::operation::resize_cluster::ResizeClusterError::unhandled)?;
280        output._set_request_id(::aws_types::request_id::RequestId::request_id(_response_headers).map(str::to_string));
281        output.build()
282    })
283}
284
285#[allow(unused_mut)]
286pub fn de_resize_cluster(
287    inp: &[u8],
288    mut builder: crate::operation::resize_cluster::builders::ResizeClusterOutputBuilder,
289) -> std::result::Result<crate::operation::resize_cluster::builders::ResizeClusterOutputBuilder, ::aws_smithy_xml::decode::XmlDecodeError> {
290    let mut doc = ::aws_smithy_xml::decode::Document::try_from(inp)?;
291
292    #[allow(unused_mut)]
293    let mut decoder = doc.root_element()?;
294    #[allow(unused_variables)]
295    let start_el = decoder.start_el();
296    if !(start_el.matches("ResizeClusterResponse")) {
297        return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(format!(
298            "invalid root, expected ResizeClusterResponse got {:?}",
299            start_el
300        )));
301    }
302    if let Some(mut result_tag) = decoder.next_tag() {
303        let start_el = result_tag.start_el();
304        if !(start_el.matches("ResizeClusterResult")) {
305            return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(format!(
306                "invalid result, expected ResizeClusterResult got {:?}",
307                start_el
308            )));
309        }
310        while let Some(mut tag) = result_tag.next_tag() {
311            match tag.start_el() {
312            s if s.matches("Cluster") /* Cluster com.amazonaws.redshift.synthetic#ResizeClusterOutput$Cluster */ =>  {
313                let var_1 =
314                    Some(
315                        crate::protocol_serde::shape_cluster::de_cluster(&mut tag)
316                        ?
317                    )
318                ;
319                builder = builder.set_cluster(var_1);
320            }
321            ,
322            _ => {}
323        }
324        }
325    } else {
326        return Err(::aws_smithy_xml::decode::XmlDecodeError::custom("expected ResizeClusterResult tag"));
327    };
328    Ok(builder)
329}