aws_sdk_redshift/protocol_serde/
shape_cluster.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2#[allow(clippy::needless_question_mark)]
3pub fn de_cluster(
4    decoder: &mut ::aws_smithy_xml::decode::ScopedDecoder,
5) -> ::std::result::Result<crate::types::Cluster, ::aws_smithy_xml::decode::XmlDecodeError> {
6    #[allow(unused_mut)]
7    let mut builder = crate::types::Cluster::builder();
8    while let Some(mut tag) = decoder.next_tag() {
9        match tag.start_el() {
10            s if s.matches("ClusterIdentifier") /* ClusterIdentifier com.amazonaws.redshift#Cluster$ClusterIdentifier */ =>  {
11                let var_1 =
12                    Some(
13                        Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
14                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
15                            .into()
16                        )
17                        ?
18                    )
19                ;
20                builder = builder.set_cluster_identifier(var_1);
21            }
22            ,
23            s if s.matches("NodeType") /* NodeType com.amazonaws.redshift#Cluster$NodeType */ =>  {
24                let var_2 =
25                    Some(
26                        Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
27                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
28                            .into()
29                        )
30                        ?
31                    )
32                ;
33                builder = builder.set_node_type(var_2);
34            }
35            ,
36            s if s.matches("ClusterStatus") /* ClusterStatus com.amazonaws.redshift#Cluster$ClusterStatus */ =>  {
37                let var_3 =
38                    Some(
39                        Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
40                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
41                            .into()
42                        )
43                        ?
44                    )
45                ;
46                builder = builder.set_cluster_status(var_3);
47            }
48            ,
49            s if s.matches("ClusterAvailabilityStatus") /* ClusterAvailabilityStatus com.amazonaws.redshift#Cluster$ClusterAvailabilityStatus */ =>  {
50                let var_4 =
51                    Some(
52                        Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
53                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
54                            .into()
55                        )
56                        ?
57                    )
58                ;
59                builder = builder.set_cluster_availability_status(var_4);
60            }
61            ,
62            s if s.matches("ModifyStatus") /* ModifyStatus com.amazonaws.redshift#Cluster$ModifyStatus */ =>  {
63                let var_5 =
64                    Some(
65                        Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
66                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
67                            .into()
68                        )
69                        ?
70                    )
71                ;
72                builder = builder.set_modify_status(var_5);
73            }
74            ,
75            s if s.matches("MasterUsername") /* MasterUsername com.amazonaws.redshift#Cluster$MasterUsername */ =>  {
76                let var_6 =
77                    Some(
78                        Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
79                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
80                            .into()
81                        )
82                        ?
83                    )
84                ;
85                builder = builder.set_master_username(var_6);
86            }
87            ,
88            s if s.matches("DBName") /* DBName com.amazonaws.redshift#Cluster$DBName */ =>  {
89                let var_7 =
90                    Some(
91                        Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
92                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
93                            .into()
94                        )
95                        ?
96                    )
97                ;
98                builder = builder.set_db_name(var_7);
99            }
100            ,
101            s if s.matches("Endpoint") /* Endpoint com.amazonaws.redshift#Cluster$Endpoint */ =>  {
102                let var_8 =
103                    Some(
104                        crate::protocol_serde::shape_endpoint::de_endpoint(&mut tag)
105                        ?
106                    )
107                ;
108                builder = builder.set_endpoint(var_8);
109            }
110            ,
111            s if s.matches("ClusterCreateTime") /* ClusterCreateTime com.amazonaws.redshift#Cluster$ClusterCreateTime */ =>  {
112                let var_9 =
113                    Some(
114                        ::aws_smithy_types::DateTime::from_str(
115                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
116                            , ::aws_smithy_types::date_time::Format::DateTimeWithOffset
117                        )
118                        .map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (timestamp: `com.amazonaws.redshift#TStamp`)"))
119                        ?
120                    )
121                ;
122                builder = builder.set_cluster_create_time(var_9);
123            }
124            ,
125            s if s.matches("AutomatedSnapshotRetentionPeriod") /* AutomatedSnapshotRetentionPeriod com.amazonaws.redshift#Cluster$AutomatedSnapshotRetentionPeriod */ =>  {
126                let var_10 =
127                    Some(
128                         {
129                            <i32 as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
130                                ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
131                            )
132                            .map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (integer: `com.amazonaws.redshift#Integer`)"))
133                        }
134                        ?
135                    )
136                ;
137                builder = builder.set_automated_snapshot_retention_period(var_10);
138            }
139            ,
140            s if s.matches("ManualSnapshotRetentionPeriod") /* ManualSnapshotRetentionPeriod com.amazonaws.redshift#Cluster$ManualSnapshotRetentionPeriod */ =>  {
141                let var_11 =
142                    Some(
143                         {
144                            <i32 as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
145                                ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
146                            )
147                            .map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (integer: `com.amazonaws.redshift#Integer`)"))
148                        }
149                        ?
150                    )
151                ;
152                builder = builder.set_manual_snapshot_retention_period(var_11);
153            }
154            ,
155            s if s.matches("ClusterSecurityGroups") /* ClusterSecurityGroups com.amazonaws.redshift#Cluster$ClusterSecurityGroups */ =>  {
156                let var_12 =
157                    Some(
158                        crate::protocol_serde::shape_cluster_security_group_membership_list::de_cluster_security_group_membership_list(&mut tag)
159                        ?
160                    )
161                ;
162                builder = builder.set_cluster_security_groups(var_12);
163            }
164            ,
165            s if s.matches("VpcSecurityGroups") /* VpcSecurityGroups com.amazonaws.redshift#Cluster$VpcSecurityGroups */ =>  {
166                let var_13 =
167                    Some(
168                        crate::protocol_serde::shape_vpc_security_group_membership_list::de_vpc_security_group_membership_list(&mut tag)
169                        ?
170                    )
171                ;
172                builder = builder.set_vpc_security_groups(var_13);
173            }
174            ,
175            s if s.matches("ClusterParameterGroups") /* ClusterParameterGroups com.amazonaws.redshift#Cluster$ClusterParameterGroups */ =>  {
176                let var_14 =
177                    Some(
178                        crate::protocol_serde::shape_cluster_parameter_group_status_list::de_cluster_parameter_group_status_list(&mut tag)
179                        ?
180                    )
181                ;
182                builder = builder.set_cluster_parameter_groups(var_14);
183            }
184            ,
185            s if s.matches("ClusterSubnetGroupName") /* ClusterSubnetGroupName com.amazonaws.redshift#Cluster$ClusterSubnetGroupName */ =>  {
186                let var_15 =
187                    Some(
188                        Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
189                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
190                            .into()
191                        )
192                        ?
193                    )
194                ;
195                builder = builder.set_cluster_subnet_group_name(var_15);
196            }
197            ,
198            s if s.matches("VpcId") /* VpcId com.amazonaws.redshift#Cluster$VpcId */ =>  {
199                let var_16 =
200                    Some(
201                        Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
202                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
203                            .into()
204                        )
205                        ?
206                    )
207                ;
208                builder = builder.set_vpc_id(var_16);
209            }
210            ,
211            s if s.matches("AvailabilityZone") /* AvailabilityZone com.amazonaws.redshift#Cluster$AvailabilityZone */ =>  {
212                let var_17 =
213                    Some(
214                        Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
215                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
216                            .into()
217                        )
218                        ?
219                    )
220                ;
221                builder = builder.set_availability_zone(var_17);
222            }
223            ,
224            s if s.matches("PreferredMaintenanceWindow") /* PreferredMaintenanceWindow com.amazonaws.redshift#Cluster$PreferredMaintenanceWindow */ =>  {
225                let var_18 =
226                    Some(
227                        Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
228                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
229                            .into()
230                        )
231                        ?
232                    )
233                ;
234                builder = builder.set_preferred_maintenance_window(var_18);
235            }
236            ,
237            s if s.matches("PendingModifiedValues") /* PendingModifiedValues com.amazonaws.redshift#Cluster$PendingModifiedValues */ =>  {
238                let var_19 =
239                    Some(
240                        crate::protocol_serde::shape_pending_modified_values::de_pending_modified_values(&mut tag)
241                        ?
242                    )
243                ;
244                builder = builder.set_pending_modified_values(var_19);
245            }
246            ,
247            s if s.matches("ClusterVersion") /* ClusterVersion com.amazonaws.redshift#Cluster$ClusterVersion */ =>  {
248                let var_20 =
249                    Some(
250                        Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
251                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
252                            .into()
253                        )
254                        ?
255                    )
256                ;
257                builder = builder.set_cluster_version(var_20);
258            }
259            ,
260            s if s.matches("AllowVersionUpgrade") /* AllowVersionUpgrade com.amazonaws.redshift#Cluster$AllowVersionUpgrade */ =>  {
261                let var_21 =
262                    Some(
263                         {
264                            <bool as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
265                                ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
266                            )
267                            .map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (boolean: `com.amazonaws.redshift#Boolean`)"))
268                        }
269                        ?
270                    )
271                ;
272                builder = builder.set_allow_version_upgrade(var_21);
273            }
274            ,
275            s if s.matches("NumberOfNodes") /* NumberOfNodes com.amazonaws.redshift#Cluster$NumberOfNodes */ =>  {
276                let var_22 =
277                    Some(
278                         {
279                            <i32 as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
280                                ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
281                            )
282                            .map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (integer: `com.amazonaws.redshift#Integer`)"))
283                        }
284                        ?
285                    )
286                ;
287                builder = builder.set_number_of_nodes(var_22);
288            }
289            ,
290            s if s.matches("PubliclyAccessible") /* PubliclyAccessible com.amazonaws.redshift#Cluster$PubliclyAccessible */ =>  {
291                let var_23 =
292                    Some(
293                         {
294                            <bool as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
295                                ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
296                            )
297                            .map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (boolean: `com.amazonaws.redshift#Boolean`)"))
298                        }
299                        ?
300                    )
301                ;
302                builder = builder.set_publicly_accessible(var_23);
303            }
304            ,
305            s if s.matches("Encrypted") /* Encrypted com.amazonaws.redshift#Cluster$Encrypted */ =>  {
306                let var_24 =
307                    Some(
308                         {
309                            <bool as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
310                                ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
311                            )
312                            .map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (boolean: `com.amazonaws.redshift#Boolean`)"))
313                        }
314                        ?
315                    )
316                ;
317                builder = builder.set_encrypted(var_24);
318            }
319            ,
320            s if s.matches("RestoreStatus") /* RestoreStatus com.amazonaws.redshift#Cluster$RestoreStatus */ =>  {
321                let var_25 =
322                    Some(
323                        crate::protocol_serde::shape_restore_status::de_restore_status(&mut tag)
324                        ?
325                    )
326                ;
327                builder = builder.set_restore_status(var_25);
328            }
329            ,
330            s if s.matches("DataTransferProgress") /* DataTransferProgress com.amazonaws.redshift#Cluster$DataTransferProgress */ =>  {
331                let var_26 =
332                    Some(
333                        crate::protocol_serde::shape_data_transfer_progress::de_data_transfer_progress(&mut tag)
334                        ?
335                    )
336                ;
337                builder = builder.set_data_transfer_progress(var_26);
338            }
339            ,
340            s if s.matches("HsmStatus") /* HsmStatus com.amazonaws.redshift#Cluster$HsmStatus */ =>  {
341                let var_27 =
342                    Some(
343                        crate::protocol_serde::shape_hsm_status::de_hsm_status(&mut tag)
344                        ?
345                    )
346                ;
347                builder = builder.set_hsm_status(var_27);
348            }
349            ,
350            s if s.matches("ClusterSnapshotCopyStatus") /* ClusterSnapshotCopyStatus com.amazonaws.redshift#Cluster$ClusterSnapshotCopyStatus */ =>  {
351                let var_28 =
352                    Some(
353                        crate::protocol_serde::shape_cluster_snapshot_copy_status::de_cluster_snapshot_copy_status(&mut tag)
354                        ?
355                    )
356                ;
357                builder = builder.set_cluster_snapshot_copy_status(var_28);
358            }
359            ,
360            s if s.matches("ClusterPublicKey") /* ClusterPublicKey com.amazonaws.redshift#Cluster$ClusterPublicKey */ =>  {
361                let var_29 =
362                    Some(
363                        Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
364                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
365                            .into()
366                        )
367                        ?
368                    )
369                ;
370                builder = builder.set_cluster_public_key(var_29);
371            }
372            ,
373            s if s.matches("ClusterNodes") /* ClusterNodes com.amazonaws.redshift#Cluster$ClusterNodes */ =>  {
374                let var_30 =
375                    Some(
376                        crate::protocol_serde::shape_cluster_nodes_list::de_cluster_nodes_list(&mut tag)
377                        ?
378                    )
379                ;
380                builder = builder.set_cluster_nodes(var_30);
381            }
382            ,
383            s if s.matches("ElasticIpStatus") /* ElasticIpStatus com.amazonaws.redshift#Cluster$ElasticIpStatus */ =>  {
384                let var_31 =
385                    Some(
386                        crate::protocol_serde::shape_elastic_ip_status::de_elastic_ip_status(&mut tag)
387                        ?
388                    )
389                ;
390                builder = builder.set_elastic_ip_status(var_31);
391            }
392            ,
393            s if s.matches("ClusterRevisionNumber") /* ClusterRevisionNumber com.amazonaws.redshift#Cluster$ClusterRevisionNumber */ =>  {
394                let var_32 =
395                    Some(
396                        Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
397                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
398                            .into()
399                        )
400                        ?
401                    )
402                ;
403                builder = builder.set_cluster_revision_number(var_32);
404            }
405            ,
406            s if s.matches("Tags") /* Tags com.amazonaws.redshift#Cluster$Tags */ =>  {
407                let var_33 =
408                    Some(
409                        crate::protocol_serde::shape_tag_list::de_tag_list(&mut tag)
410                        ?
411                    )
412                ;
413                builder = builder.set_tags(var_33);
414            }
415            ,
416            s if s.matches("KmsKeyId") /* KmsKeyId com.amazonaws.redshift#Cluster$KmsKeyId */ =>  {
417                let var_34 =
418                    Some(
419                        Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
420                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
421                            .into()
422                        )
423                        ?
424                    )
425                ;
426                builder = builder.set_kms_key_id(var_34);
427            }
428            ,
429            s if s.matches("EnhancedVpcRouting") /* EnhancedVpcRouting com.amazonaws.redshift#Cluster$EnhancedVpcRouting */ =>  {
430                let var_35 =
431                    Some(
432                         {
433                            <bool as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
434                                ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
435                            )
436                            .map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (boolean: `com.amazonaws.redshift#Boolean`)"))
437                        }
438                        ?
439                    )
440                ;
441                builder = builder.set_enhanced_vpc_routing(var_35);
442            }
443            ,
444            s if s.matches("IamRoles") /* IamRoles com.amazonaws.redshift#Cluster$IamRoles */ =>  {
445                let var_36 =
446                    Some(
447                        crate::protocol_serde::shape_cluster_iam_role_list::de_cluster_iam_role_list(&mut tag)
448                        ?
449                    )
450                ;
451                builder = builder.set_iam_roles(var_36);
452            }
453            ,
454            s if s.matches("PendingActions") /* PendingActions com.amazonaws.redshift#Cluster$PendingActions */ =>  {
455                let var_37 =
456                    Some(
457                        crate::protocol_serde::shape_pending_actions_list::de_pending_actions_list(&mut tag)
458                        ?
459                    )
460                ;
461                builder = builder.set_pending_actions(var_37);
462            }
463            ,
464            s if s.matches("MaintenanceTrackName") /* MaintenanceTrackName com.amazonaws.redshift#Cluster$MaintenanceTrackName */ =>  {
465                let var_38 =
466                    Some(
467                        Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
468                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
469                            .into()
470                        )
471                        ?
472                    )
473                ;
474                builder = builder.set_maintenance_track_name(var_38);
475            }
476            ,
477            s if s.matches("ElasticResizeNumberOfNodeOptions") /* ElasticResizeNumberOfNodeOptions com.amazonaws.redshift#Cluster$ElasticResizeNumberOfNodeOptions */ =>  {
478                let var_39 =
479                    Some(
480                        Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
481                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
482                            .into()
483                        )
484                        ?
485                    )
486                ;
487                builder = builder.set_elastic_resize_number_of_node_options(var_39);
488            }
489            ,
490            s if s.matches("DeferredMaintenanceWindows") /* DeferredMaintenanceWindows com.amazonaws.redshift#Cluster$DeferredMaintenanceWindows */ =>  {
491                let var_40 =
492                    Some(
493                        crate::protocol_serde::shape_deferred_maintenance_windows_list::de_deferred_maintenance_windows_list(&mut tag)
494                        ?
495                    )
496                ;
497                builder = builder.set_deferred_maintenance_windows(var_40);
498            }
499            ,
500            s if s.matches("SnapshotScheduleIdentifier") /* SnapshotScheduleIdentifier com.amazonaws.redshift#Cluster$SnapshotScheduleIdentifier */ =>  {
501                let var_41 =
502                    Some(
503                        Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
504                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
505                            .into()
506                        )
507                        ?
508                    )
509                ;
510                builder = builder.set_snapshot_schedule_identifier(var_41);
511            }
512            ,
513            s if s.matches("SnapshotScheduleState") /* SnapshotScheduleState com.amazonaws.redshift#Cluster$SnapshotScheduleState */ =>  {
514                let var_42 =
515                    Some(
516                        Result::<crate::types::ScheduleState, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
517                            crate::types::ScheduleState::from(
518                                ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
519                            )
520                        )
521                        ?
522                    )
523                ;
524                builder = builder.set_snapshot_schedule_state(var_42);
525            }
526            ,
527            s if s.matches("ExpectedNextSnapshotScheduleTime") /* ExpectedNextSnapshotScheduleTime com.amazonaws.redshift#Cluster$ExpectedNextSnapshotScheduleTime */ =>  {
528                let var_43 =
529                    Some(
530                        ::aws_smithy_types::DateTime::from_str(
531                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
532                            , ::aws_smithy_types::date_time::Format::DateTimeWithOffset
533                        )
534                        .map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (timestamp: `com.amazonaws.redshift#TStamp`)"))
535                        ?
536                    )
537                ;
538                builder = builder.set_expected_next_snapshot_schedule_time(var_43);
539            }
540            ,
541            s if s.matches("ExpectedNextSnapshotScheduleTimeStatus") /* ExpectedNextSnapshotScheduleTimeStatus com.amazonaws.redshift#Cluster$ExpectedNextSnapshotScheduleTimeStatus */ =>  {
542                let var_44 =
543                    Some(
544                        Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
545                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
546                            .into()
547                        )
548                        ?
549                    )
550                ;
551                builder = builder.set_expected_next_snapshot_schedule_time_status(var_44);
552            }
553            ,
554            s if s.matches("NextMaintenanceWindowStartTime") /* NextMaintenanceWindowStartTime com.amazonaws.redshift#Cluster$NextMaintenanceWindowStartTime */ =>  {
555                let var_45 =
556                    Some(
557                        ::aws_smithy_types::DateTime::from_str(
558                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
559                            , ::aws_smithy_types::date_time::Format::DateTimeWithOffset
560                        )
561                        .map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (timestamp: `com.amazonaws.redshift#TStamp`)"))
562                        ?
563                    )
564                ;
565                builder = builder.set_next_maintenance_window_start_time(var_45);
566            }
567            ,
568            s if s.matches("ResizeInfo") /* ResizeInfo com.amazonaws.redshift#Cluster$ResizeInfo */ =>  {
569                let var_46 =
570                    Some(
571                        crate::protocol_serde::shape_resize_info::de_resize_info(&mut tag)
572                        ?
573                    )
574                ;
575                builder = builder.set_resize_info(var_46);
576            }
577            ,
578            s if s.matches("AvailabilityZoneRelocationStatus") /* AvailabilityZoneRelocationStatus com.amazonaws.redshift#Cluster$AvailabilityZoneRelocationStatus */ =>  {
579                let var_47 =
580                    Some(
581                        Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
582                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
583                            .into()
584                        )
585                        ?
586                    )
587                ;
588                builder = builder.set_availability_zone_relocation_status(var_47);
589            }
590            ,
591            s if s.matches("ClusterNamespaceArn") /* ClusterNamespaceArn com.amazonaws.redshift#Cluster$ClusterNamespaceArn */ =>  {
592                let var_48 =
593                    Some(
594                        Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
595                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
596                            .into()
597                        )
598                        ?
599                    )
600                ;
601                builder = builder.set_cluster_namespace_arn(var_48);
602            }
603            ,
604            s if s.matches("TotalStorageCapacityInMegaBytes") /* TotalStorageCapacityInMegaBytes com.amazonaws.redshift#Cluster$TotalStorageCapacityInMegaBytes */ =>  {
605                let var_49 =
606                    Some(
607                         {
608                            <i64 as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
609                                ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
610                            )
611                            .map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (long: `com.amazonaws.redshift#LongOptional`)"))
612                        }
613                        ?
614                    )
615                ;
616                builder = builder.set_total_storage_capacity_in_mega_bytes(var_49);
617            }
618            ,
619            s if s.matches("AquaConfiguration") /* AquaConfiguration com.amazonaws.redshift#Cluster$AquaConfiguration */ =>  {
620                let var_50 =
621                    Some(
622                        crate::protocol_serde::shape_aqua_configuration::de_aqua_configuration(&mut tag)
623                        ?
624                    )
625                ;
626                builder = builder.set_aqua_configuration(var_50);
627            }
628            ,
629            s if s.matches("DefaultIamRoleArn") /* DefaultIamRoleArn com.amazonaws.redshift#Cluster$DefaultIamRoleArn */ =>  {
630                let var_51 =
631                    Some(
632                        Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
633                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
634                            .into()
635                        )
636                        ?
637                    )
638                ;
639                builder = builder.set_default_iam_role_arn(var_51);
640            }
641            ,
642            s if s.matches("ReservedNodeExchangeStatus") /* ReservedNodeExchangeStatus com.amazonaws.redshift#Cluster$ReservedNodeExchangeStatus */ =>  {
643                let var_52 =
644                    Some(
645                        crate::protocol_serde::shape_reserved_node_exchange_status::de_reserved_node_exchange_status(&mut tag)
646                        ?
647                    )
648                ;
649                builder = builder.set_reserved_node_exchange_status(var_52);
650            }
651            ,
652            s if s.matches("CustomDomainName") /* CustomDomainName com.amazonaws.redshift#Cluster$CustomDomainName */ =>  {
653                let var_53 =
654                    Some(
655                        Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
656                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
657                            .into()
658                        )
659                        ?
660                    )
661                ;
662                builder = builder.set_custom_domain_name(var_53);
663            }
664            ,
665            s if s.matches("CustomDomainCertificateArn") /* CustomDomainCertificateArn com.amazonaws.redshift#Cluster$CustomDomainCertificateArn */ =>  {
666                let var_54 =
667                    Some(
668                        Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
669                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
670                            .into()
671                        )
672                        ?
673                    )
674                ;
675                builder = builder.set_custom_domain_certificate_arn(var_54);
676            }
677            ,
678            s if s.matches("CustomDomainCertificateExpiryDate") /* CustomDomainCertificateExpiryDate com.amazonaws.redshift#Cluster$CustomDomainCertificateExpiryDate */ =>  {
679                let var_55 =
680                    Some(
681                        ::aws_smithy_types::DateTime::from_str(
682                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
683                            , ::aws_smithy_types::date_time::Format::DateTimeWithOffset
684                        )
685                        .map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (timestamp: `com.amazonaws.redshift#TStamp`)"))
686                        ?
687                    )
688                ;
689                builder = builder.set_custom_domain_certificate_expiry_date(var_55);
690            }
691            ,
692            s if s.matches("MasterPasswordSecretArn") /* MasterPasswordSecretArn com.amazonaws.redshift#Cluster$MasterPasswordSecretArn */ =>  {
693                let var_56 =
694                    Some(
695                        Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
696                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
697                            .into()
698                        )
699                        ?
700                    )
701                ;
702                builder = builder.set_master_password_secret_arn(var_56);
703            }
704            ,
705            s if s.matches("MasterPasswordSecretKmsKeyId") /* MasterPasswordSecretKmsKeyId com.amazonaws.redshift#Cluster$MasterPasswordSecretKmsKeyId */ =>  {
706                let var_57 =
707                    Some(
708                        Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
709                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
710                            .into()
711                        )
712                        ?
713                    )
714                ;
715                builder = builder.set_master_password_secret_kms_key_id(var_57);
716            }
717            ,
718            s if s.matches("IpAddressType") /* IpAddressType com.amazonaws.redshift#Cluster$IpAddressType */ =>  {
719                let var_58 =
720                    Some(
721                        Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
722                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
723                            .into()
724                        )
725                        ?
726                    )
727                ;
728                builder = builder.set_ip_address_type(var_58);
729            }
730            ,
731            s if s.matches("MultiAZ") /* MultiAZ com.amazonaws.redshift#Cluster$MultiAZ */ =>  {
732                let var_59 =
733                    Some(
734                        Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
735                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
736                            .into()
737                        )
738                        ?
739                    )
740                ;
741                builder = builder.set_multi_az(var_59);
742            }
743            ,
744            s if s.matches("MultiAZSecondary") /* MultiAZSecondary com.amazonaws.redshift#Cluster$MultiAZSecondary */ =>  {
745                let var_60 =
746                    Some(
747                        crate::protocol_serde::shape_secondary_cluster_info::de_secondary_cluster_info(&mut tag)
748                        ?
749                    )
750                ;
751                builder = builder.set_multi_az_secondary(var_60);
752            }
753            ,
754            _ => {}
755        }
756    }
757    Ok(builder.build())
758}