aws_sdk_redshift/protocol_serde/
shape_create_cluster.rs1#[allow(clippy::unnecessary_wraps)]
3pub fn de_create_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::create_cluster::CreateClusterOutput, crate::operation::create_cluster::CreateClusterError> {
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::create_cluster::CreateClusterError::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::create_cluster::CreateClusterError::unhandled(generic)),
16 };
17
18 let _error_message = generic.message().map(|msg| msg.to_owned());
19 Err(match error_code {
20 "ClusterAlreadyExists" => crate::operation::create_cluster::CreateClusterError::ClusterAlreadyExistsFault({
21 #[allow(unused_mut)]
22 let mut tmp = {
23 #[allow(unused_mut)]
24 let mut output = crate::types::error::builders::ClusterAlreadyExistsFaultBuilder::default();
25 output = crate::protocol_serde::shape_cluster_already_exists_fault::de_cluster_already_exists_fault_xml_err(_response_body, output)
26 .map_err(crate::operation::create_cluster::CreateClusterError::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 "ClusterParameterGroupNotFound" => crate::operation::create_cluster::CreateClusterError::ClusterParameterGroupNotFoundFault({
36 #[allow(unused_mut)]
37 let mut tmp = {
38 #[allow(unused_mut)]
39 let mut output = crate::types::error::builders::ClusterParameterGroupNotFoundFaultBuilder::default();
40 output = crate::protocol_serde::shape_cluster_parameter_group_not_found_fault::de_cluster_parameter_group_not_found_fault_xml_err(
41 _response_body,
42 output,
43 )
44 .map_err(crate::operation::create_cluster::CreateClusterError::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 "ClusterQuotaExceeded" => crate::operation::create_cluster::CreateClusterError::ClusterQuotaExceededFault({
54 #[allow(unused_mut)]
55 let mut tmp = {
56 #[allow(unused_mut)]
57 let mut output = crate::types::error::builders::ClusterQuotaExceededFaultBuilder::default();
58 output = crate::protocol_serde::shape_cluster_quota_exceeded_fault::de_cluster_quota_exceeded_fault_xml_err(_response_body, output)
59 .map_err(crate::operation::create_cluster::CreateClusterError::unhandled)?;
60 let output = output.meta(generic);
61 output.build()
62 };
63 if tmp.message.is_none() {
64 tmp.message = _error_message;
65 }
66 tmp
67 }),
68 "ClusterSecurityGroupNotFound" => crate::operation::create_cluster::CreateClusterError::ClusterSecurityGroupNotFoundFault({
69 #[allow(unused_mut)]
70 let mut tmp = {
71 #[allow(unused_mut)]
72 let mut output = crate::types::error::builders::ClusterSecurityGroupNotFoundFaultBuilder::default();
73 output = crate::protocol_serde::shape_cluster_security_group_not_found_fault::de_cluster_security_group_not_found_fault_xml_err(
74 _response_body,
75 output,
76 )
77 .map_err(crate::operation::create_cluster::CreateClusterError::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 "ClusterSubnetGroupNotFoundFault" => crate::operation::create_cluster::CreateClusterError::ClusterSubnetGroupNotFoundFault({
87 #[allow(unused_mut)]
88 let mut tmp = {
89 #[allow(unused_mut)]
90 let mut output = crate::types::error::builders::ClusterSubnetGroupNotFoundFaultBuilder::default();
91 output = crate::protocol_serde::shape_cluster_subnet_group_not_found_fault::de_cluster_subnet_group_not_found_fault_xml_err(
92 _response_body,
93 output,
94 )
95 .map_err(crate::operation::create_cluster::CreateClusterError::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 "DependentServiceRequestThrottlingFault" => {
105 crate::operation::create_cluster::CreateClusterError::DependentServiceRequestThrottlingFault({
106 #[allow(unused_mut)]
107 let mut tmp = {
108 #[allow(unused_mut)]
109 let mut output = crate::types::error::builders::DependentServiceRequestThrottlingFaultBuilder::default();
110 output = crate::protocol_serde::shape_dependent_service_request_throttling_fault::de_dependent_service_request_throttling_fault_xml_err(_response_body, output).map_err(crate::operation::create_cluster::CreateClusterError::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 }
120 "HsmClientCertificateNotFoundFault" => crate::operation::create_cluster::CreateClusterError::HsmClientCertificateNotFoundFault({
121 #[allow(unused_mut)]
122 let mut tmp = {
123 #[allow(unused_mut)]
124 let mut output = crate::types::error::builders::HsmClientCertificateNotFoundFaultBuilder::default();
125 output = crate::protocol_serde::shape_hsm_client_certificate_not_found_fault::de_hsm_client_certificate_not_found_fault_xml_err(
126 _response_body,
127 output,
128 )
129 .map_err(crate::operation::create_cluster::CreateClusterError::unhandled)?;
130 let output = output.meta(generic);
131 output.build()
132 };
133 if tmp.message.is_none() {
134 tmp.message = _error_message;
135 }
136 tmp
137 }),
138 "HsmConfigurationNotFoundFault" => crate::operation::create_cluster::CreateClusterError::HsmConfigurationNotFoundFault({
139 #[allow(unused_mut)]
140 let mut tmp = {
141 #[allow(unused_mut)]
142 let mut output = crate::types::error::builders::HsmConfigurationNotFoundFaultBuilder::default();
143 output = crate::protocol_serde::shape_hsm_configuration_not_found_fault::de_hsm_configuration_not_found_fault_xml_err(
144 _response_body,
145 output,
146 )
147 .map_err(crate::operation::create_cluster::CreateClusterError::unhandled)?;
148 let output = output.meta(generic);
149 output.build()
150 };
151 if tmp.message.is_none() {
152 tmp.message = _error_message;
153 }
154 tmp
155 }),
156 "InsufficientClusterCapacity" => crate::operation::create_cluster::CreateClusterError::InsufficientClusterCapacityFault({
157 #[allow(unused_mut)]
158 let mut tmp = {
159 #[allow(unused_mut)]
160 let mut output = crate::types::error::builders::InsufficientClusterCapacityFaultBuilder::default();
161 output = crate::protocol_serde::shape_insufficient_cluster_capacity_fault::de_insufficient_cluster_capacity_fault_xml_err(
162 _response_body,
163 output,
164 )
165 .map_err(crate::operation::create_cluster::CreateClusterError::unhandled)?;
166 let output = output.meta(generic);
167 output.build()
168 };
169 if tmp.message.is_none() {
170 tmp.message = _error_message;
171 }
172 tmp
173 }),
174 "InvalidClusterSubnetGroupStateFault" => crate::operation::create_cluster::CreateClusterError::InvalidClusterSubnetGroupStateFault({
175 #[allow(unused_mut)]
176 let mut tmp = {
177 #[allow(unused_mut)]
178 let mut output = crate::types::error::builders::InvalidClusterSubnetGroupStateFaultBuilder::default();
179 output = crate::protocol_serde::shape_invalid_cluster_subnet_group_state_fault::de_invalid_cluster_subnet_group_state_fault_xml_err(
180 _response_body,
181 output,
182 )
183 .map_err(crate::operation::create_cluster::CreateClusterError::unhandled)?;
184 let output = output.meta(generic);
185 output.build()
186 };
187 if tmp.message.is_none() {
188 tmp.message = _error_message;
189 }
190 tmp
191 }),
192 "InvalidClusterTrack" => crate::operation::create_cluster::CreateClusterError::InvalidClusterTrackFault({
193 #[allow(unused_mut)]
194 let mut tmp = {
195 #[allow(unused_mut)]
196 let mut output = crate::types::error::builders::InvalidClusterTrackFaultBuilder::default();
197 output = crate::protocol_serde::shape_invalid_cluster_track_fault::de_invalid_cluster_track_fault_xml_err(_response_body, output)
198 .map_err(crate::operation::create_cluster::CreateClusterError::unhandled)?;
199 let output = output.meta(generic);
200 output.build()
201 };
202 if tmp.message.is_none() {
203 tmp.message = _error_message;
204 }
205 tmp
206 }),
207 "InvalidElasticIpFault" => crate::operation::create_cluster::CreateClusterError::InvalidElasticIpFault({
208 #[allow(unused_mut)]
209 let mut tmp = {
210 #[allow(unused_mut)]
211 let mut output = crate::types::error::builders::InvalidElasticIpFaultBuilder::default();
212 output = crate::protocol_serde::shape_invalid_elastic_ip_fault::de_invalid_elastic_ip_fault_xml_err(_response_body, output)
213 .map_err(crate::operation::create_cluster::CreateClusterError::unhandled)?;
214 let output = output.meta(generic);
215 output.build()
216 };
217 if tmp.message.is_none() {
218 tmp.message = _error_message;
219 }
220 tmp
221 }),
222 "InvalidRetentionPeriodFault" => crate::operation::create_cluster::CreateClusterError::InvalidRetentionPeriodFault({
223 #[allow(unused_mut)]
224 let mut tmp = {
225 #[allow(unused_mut)]
226 let mut output = crate::types::error::builders::InvalidRetentionPeriodFaultBuilder::default();
227 output =
228 crate::protocol_serde::shape_invalid_retention_period_fault::de_invalid_retention_period_fault_xml_err(_response_body, output)
229 .map_err(crate::operation::create_cluster::CreateClusterError::unhandled)?;
230 let output = output.meta(generic);
231 output.build()
232 };
233 if tmp.message.is_none() {
234 tmp.message = _error_message;
235 }
236 tmp
237 }),
238 "InvalidSubnet" => crate::operation::create_cluster::CreateClusterError::InvalidSubnet({
239 #[allow(unused_mut)]
240 let mut tmp = {
241 #[allow(unused_mut)]
242 let mut output = crate::types::error::builders::InvalidSubnetBuilder::default();
243 output = crate::protocol_serde::shape_invalid_subnet::de_invalid_subnet_xml_err(_response_body, output)
244 .map_err(crate::operation::create_cluster::CreateClusterError::unhandled)?;
245 let output = output.meta(generic);
246 output.build()
247 };
248 if tmp.message.is_none() {
249 tmp.message = _error_message;
250 }
251 tmp
252 }),
253 "InvalidTagFault" => crate::operation::create_cluster::CreateClusterError::InvalidTagFault({
254 #[allow(unused_mut)]
255 let mut tmp = {
256 #[allow(unused_mut)]
257 let mut output = crate::types::error::builders::InvalidTagFaultBuilder::default();
258 output = crate::protocol_serde::shape_invalid_tag_fault::de_invalid_tag_fault_xml_err(_response_body, output)
259 .map_err(crate::operation::create_cluster::CreateClusterError::unhandled)?;
260 let output = output.meta(generic);
261 output.build()
262 };
263 if tmp.message.is_none() {
264 tmp.message = _error_message;
265 }
266 tmp
267 }),
268 "InvalidVPCNetworkStateFault" => crate::operation::create_cluster::CreateClusterError::InvalidVpcNetworkStateFault({
269 #[allow(unused_mut)]
270 let mut tmp = {
271 #[allow(unused_mut)]
272 let mut output = crate::types::error::builders::InvalidVpcNetworkStateFaultBuilder::default();
273 output =
274 crate::protocol_serde::shape_invalid_vpc_network_state_fault::de_invalid_vpc_network_state_fault_xml_err(_response_body, output)
275 .map_err(crate::operation::create_cluster::CreateClusterError::unhandled)?;
276 let output = output.meta(generic);
277 output.build()
278 };
279 if tmp.message.is_none() {
280 tmp.message = _error_message;
281 }
282 tmp
283 }),
284 "Ipv6CidrBlockNotFoundFault" => crate::operation::create_cluster::CreateClusterError::Ipv6CidrBlockNotFoundFault({
285 #[allow(unused_mut)]
286 let mut tmp = {
287 #[allow(unused_mut)]
288 let mut output = crate::types::error::builders::Ipv6CidrBlockNotFoundFaultBuilder::default();
289 output =
290 crate::protocol_serde::shape_ipv6_cidr_block_not_found_fault::de_ipv6_cidr_block_not_found_fault_xml_err(_response_body, output)
291 .map_err(crate::operation::create_cluster::CreateClusterError::unhandled)?;
292 let output = output.meta(generic);
293 output.build()
294 };
295 if tmp.message.is_none() {
296 tmp.message = _error_message;
297 }
298 tmp
299 }),
300 "LimitExceededFault" => crate::operation::create_cluster::CreateClusterError::LimitExceededFault({
301 #[allow(unused_mut)]
302 let mut tmp = {
303 #[allow(unused_mut)]
304 let mut output = crate::types::error::builders::LimitExceededFaultBuilder::default();
305 output = crate::protocol_serde::shape_limit_exceeded_fault::de_limit_exceeded_fault_xml_err(_response_body, output)
306 .map_err(crate::operation::create_cluster::CreateClusterError::unhandled)?;
307 let output = output.meta(generic);
308 output.build()
309 };
310 if tmp.message.is_none() {
311 tmp.message = _error_message;
312 }
313 tmp
314 }),
315 "NumberOfNodesPerClusterLimitExceeded" => crate::operation::create_cluster::CreateClusterError::NumberOfNodesPerClusterLimitExceededFault({
316 #[allow(unused_mut)]
317 let mut tmp = {
318 #[allow(unused_mut)]
319 let mut output = crate::types::error::builders::NumberOfNodesPerClusterLimitExceededFaultBuilder::default();
320 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::create_cluster::CreateClusterError::unhandled)?;
321 let output = output.meta(generic);
322 output.build()
323 };
324 if tmp.message.is_none() {
325 tmp.message = _error_message;
326 }
327 tmp
328 }),
329 "NumberOfNodesQuotaExceeded" => crate::operation::create_cluster::CreateClusterError::NumberOfNodesQuotaExceededFault({
330 #[allow(unused_mut)]
331 let mut tmp = {
332 #[allow(unused_mut)]
333 let mut output = crate::types::error::builders::NumberOfNodesQuotaExceededFaultBuilder::default();
334 output = crate::protocol_serde::shape_number_of_nodes_quota_exceeded_fault::de_number_of_nodes_quota_exceeded_fault_xml_err(
335 _response_body,
336 output,
337 )
338 .map_err(crate::operation::create_cluster::CreateClusterError::unhandled)?;
339 let output = output.meta(generic);
340 output.build()
341 };
342 if tmp.message.is_none() {
343 tmp.message = _error_message;
344 }
345 tmp
346 }),
347 "RedshiftIdcApplicationNotExists" => crate::operation::create_cluster::CreateClusterError::RedshiftIdcApplicationNotExistsFault({
348 #[allow(unused_mut)]
349 let mut tmp = {
350 #[allow(unused_mut)]
351 let mut output = crate::types::error::builders::RedshiftIdcApplicationNotExistsFaultBuilder::default();
352 output =
353 crate::protocol_serde::shape_redshift_idc_application_not_exists_fault::de_redshift_idc_application_not_exists_fault_xml_err(
354 _response_body,
355 output,
356 )
357 .map_err(crate::operation::create_cluster::CreateClusterError::unhandled)?;
358 let output = output.meta(generic);
359 output.build()
360 };
361 if tmp.message.is_none() {
362 tmp.message = _error_message;
363 }
364 tmp
365 }),
366 "SnapshotScheduleNotFound" => crate::operation::create_cluster::CreateClusterError::SnapshotScheduleNotFoundFault({
367 #[allow(unused_mut)]
368 let mut tmp = {
369 #[allow(unused_mut)]
370 let mut output = crate::types::error::builders::SnapshotScheduleNotFoundFaultBuilder::default();
371 output = crate::protocol_serde::shape_snapshot_schedule_not_found_fault::de_snapshot_schedule_not_found_fault_xml_err(
372 _response_body,
373 output,
374 )
375 .map_err(crate::operation::create_cluster::CreateClusterError::unhandled)?;
376 let output = output.meta(generic);
377 output.build()
378 };
379 if tmp.message.is_none() {
380 tmp.message = _error_message;
381 }
382 tmp
383 }),
384 "TagLimitExceededFault" => crate::operation::create_cluster::CreateClusterError::TagLimitExceededFault({
385 #[allow(unused_mut)]
386 let mut tmp = {
387 #[allow(unused_mut)]
388 let mut output = crate::types::error::builders::TagLimitExceededFaultBuilder::default();
389 output = crate::protocol_serde::shape_tag_limit_exceeded_fault::de_tag_limit_exceeded_fault_xml_err(_response_body, output)
390 .map_err(crate::operation::create_cluster::CreateClusterError::unhandled)?;
391 let output = output.meta(generic);
392 output.build()
393 };
394 if tmp.message.is_none() {
395 tmp.message = _error_message;
396 }
397 tmp
398 }),
399 "UnauthorizedOperation" => crate::operation::create_cluster::CreateClusterError::UnauthorizedOperation({
400 #[allow(unused_mut)]
401 let mut tmp = {
402 #[allow(unused_mut)]
403 let mut output = crate::types::error::builders::UnauthorizedOperationBuilder::default();
404 output = crate::protocol_serde::shape_unauthorized_operation::de_unauthorized_operation_xml_err(_response_body, output)
405 .map_err(crate::operation::create_cluster::CreateClusterError::unhandled)?;
406 let output = output.meta(generic);
407 output.build()
408 };
409 if tmp.message.is_none() {
410 tmp.message = _error_message;
411 }
412 tmp
413 }),
414 "UnsupportedOperation" => crate::operation::create_cluster::CreateClusterError::UnsupportedOperationFault({
415 #[allow(unused_mut)]
416 let mut tmp = {
417 #[allow(unused_mut)]
418 let mut output = crate::types::error::builders::UnsupportedOperationFaultBuilder::default();
419 output = crate::protocol_serde::shape_unsupported_operation_fault::de_unsupported_operation_fault_xml_err(_response_body, output)
420 .map_err(crate::operation::create_cluster::CreateClusterError::unhandled)?;
421 let output = output.meta(generic);
422 output.build()
423 };
424 if tmp.message.is_none() {
425 tmp.message = _error_message;
426 }
427 tmp
428 }),
429 _ => crate::operation::create_cluster::CreateClusterError::generic(generic),
430 })
431}
432
433#[allow(clippy::unnecessary_wraps)]
434pub fn de_create_cluster_http_response(
435 _response_status: u16,
436 _response_headers: &::aws_smithy_runtime_api::http::Headers,
437 _response_body: &[u8],
438) -> std::result::Result<crate::operation::create_cluster::CreateClusterOutput, crate::operation::create_cluster::CreateClusterError> {
439 Ok({
440 #[allow(unused_mut)]
441 let mut output = crate::operation::create_cluster::builders::CreateClusterOutputBuilder::default();
442 output = crate::protocol_serde::shape_create_cluster::de_create_cluster(_response_body, output)
443 .map_err(crate::operation::create_cluster::CreateClusterError::unhandled)?;
444 output._set_request_id(::aws_types::request_id::RequestId::request_id(_response_headers).map(str::to_string));
445 output.build()
446 })
447}
448
449#[allow(unused_mut)]
450pub fn de_create_cluster(
451 inp: &[u8],
452 mut builder: crate::operation::create_cluster::builders::CreateClusterOutputBuilder,
453) -> std::result::Result<crate::operation::create_cluster::builders::CreateClusterOutputBuilder, ::aws_smithy_xml::decode::XmlDecodeError> {
454 let mut doc = ::aws_smithy_xml::decode::Document::try_from(inp)?;
455
456 #[allow(unused_mut)]
457 let mut decoder = doc.root_element()?;
458 #[allow(unused_variables)]
459 let start_el = decoder.start_el();
460 if !(start_el.matches("CreateClusterResponse")) {
461 return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(format!(
462 "invalid root, expected CreateClusterResponse got {:?}",
463 start_el
464 )));
465 }
466 if let Some(mut result_tag) = decoder.next_tag() {
467 let start_el = result_tag.start_el();
468 if !(start_el.matches("CreateClusterResult")) {
469 return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(format!(
470 "invalid result, expected CreateClusterResult got {:?}",
471 start_el
472 )));
473 }
474 while let Some(mut tag) = result_tag.next_tag() {
475 match tag.start_el() {
476 s if s.matches("Cluster") => {
477 let var_1 =
478 Some(
479 crate::protocol_serde::shape_cluster::de_cluster(&mut tag)
480 ?
481 )
482 ;
483 builder = builder.set_cluster(var_1);
484 }
485 ,
486 _ => {}
487 }
488 }
489 } else {
490 return Err(::aws_smithy_xml::decode::XmlDecodeError::custom("expected CreateClusterResult tag"));
491 };
492 Ok(builder)
493}