aws_sdk_redshift/protocol_serde/
shape_resize_cluster_message.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2#[allow(unused_mut)]
3pub fn ser_resize_cluster_message(
4    mut writer: ::aws_smithy_query::QueryValueWriter,
5    input: &crate::types::ResizeClusterMessage,
6) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
7    #[allow(unused_mut)]
8    let mut scope_1 = writer.prefix("ClusterIdentifier");
9    if let Some(var_2) = &input.cluster_identifier {
10        scope_1.string(var_2);
11    }
12    #[allow(unused_mut)]
13    let mut scope_3 = writer.prefix("ClusterType");
14    if let Some(var_4) = &input.cluster_type {
15        scope_3.string(var_4);
16    }
17    #[allow(unused_mut)]
18    let mut scope_5 = writer.prefix("NodeType");
19    if let Some(var_6) = &input.node_type {
20        scope_5.string(var_6);
21    }
22    #[allow(unused_mut)]
23    let mut scope_7 = writer.prefix("NumberOfNodes");
24    if let Some(var_8) = &input.number_of_nodes {
25        scope_7.number(
26            #[allow(clippy::useless_conversion)]
27            ::aws_smithy_types::Number::NegInt((*var_8).into()),
28        );
29    }
30    #[allow(unused_mut)]
31    let mut scope_9 = writer.prefix("Classic");
32    if let Some(var_10) = &input.classic {
33        scope_9.boolean(*var_10);
34    }
35    #[allow(unused_mut)]
36    let mut scope_11 = writer.prefix("ReservedNodeId");
37    if let Some(var_12) = &input.reserved_node_id {
38        scope_11.string(var_12);
39    }
40    #[allow(unused_mut)]
41    let mut scope_13 = writer.prefix("TargetReservedNodeOfferingId");
42    if let Some(var_14) = &input.target_reserved_node_offering_id {
43        scope_13.string(var_14);
44    }
45    Ok(())
46}
47
48#[allow(clippy::needless_question_mark)]
49pub fn de_resize_cluster_message(
50    decoder: &mut ::aws_smithy_xml::decode::ScopedDecoder,
51) -> ::std::result::Result<crate::types::ResizeClusterMessage, ::aws_smithy_xml::decode::XmlDecodeError> {
52    #[allow(unused_mut)]
53    let mut builder = crate::types::ResizeClusterMessage::builder();
54    while let Some(mut tag) = decoder.next_tag() {
55        match tag.start_el() {
56            s if s.matches("ClusterIdentifier") /* ClusterIdentifier com.amazonaws.redshift#ResizeClusterMessage$ClusterIdentifier */ =>  {
57                let var_15 =
58                    Some(
59                        Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
60                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
61                            .into()
62                        )
63                        ?
64                    )
65                ;
66                builder = builder.set_cluster_identifier(var_15);
67            }
68            ,
69            s if s.matches("ClusterType") /* ClusterType com.amazonaws.redshift#ResizeClusterMessage$ClusterType */ =>  {
70                let var_16 =
71                    Some(
72                        Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
73                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
74                            .into()
75                        )
76                        ?
77                    )
78                ;
79                builder = builder.set_cluster_type(var_16);
80            }
81            ,
82            s if s.matches("NodeType") /* NodeType com.amazonaws.redshift#ResizeClusterMessage$NodeType */ =>  {
83                let var_17 =
84                    Some(
85                        Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
86                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
87                            .into()
88                        )
89                        ?
90                    )
91                ;
92                builder = builder.set_node_type(var_17);
93            }
94            ,
95            s if s.matches("NumberOfNodes") /* NumberOfNodes com.amazonaws.redshift#ResizeClusterMessage$NumberOfNodes */ =>  {
96                let var_18 =
97                    Some(
98                         {
99                            <i32 as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
100                                ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
101                            )
102                            .map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (integer: `com.amazonaws.redshift#IntegerOptional`)"))
103                        }
104                        ?
105                    )
106                ;
107                builder = builder.set_number_of_nodes(var_18);
108            }
109            ,
110            s if s.matches("Classic") /* Classic com.amazonaws.redshift#ResizeClusterMessage$Classic */ =>  {
111                let var_19 =
112                    Some(
113                         {
114                            <bool as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
115                                ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
116                            )
117                            .map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (boolean: `com.amazonaws.redshift#BooleanOptional`)"))
118                        }
119                        ?
120                    )
121                ;
122                builder = builder.set_classic(var_19);
123            }
124            ,
125            s if s.matches("ReservedNodeId") /* ReservedNodeId com.amazonaws.redshift#ResizeClusterMessage$ReservedNodeId */ =>  {
126                let var_20 =
127                    Some(
128                        Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
129                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
130                            .into()
131                        )
132                        ?
133                    )
134                ;
135                builder = builder.set_reserved_node_id(var_20);
136            }
137            ,
138            s if s.matches("TargetReservedNodeOfferingId") /* TargetReservedNodeOfferingId com.amazonaws.redshift#ResizeClusterMessage$TargetReservedNodeOfferingId */ =>  {
139                let var_21 =
140                    Some(
141                        Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
142                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
143                            .into()
144                        )
145                        ?
146                    )
147                ;
148                builder = builder.set_target_reserved_node_offering_id(var_21);
149            }
150            ,
151            _ => {}
152        }
153    }
154    Ok(crate::serde_util::resize_cluster_message_correct_errors(builder).build())
155}