aws_sdk_elasticloadbalancingv2/protocol_serde/
shape_target_group_tuple.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2#[allow(unused_mut)]
3pub fn ser_target_group_tuple(
4    mut writer: ::aws_smithy_query::QueryValueWriter,
5    input: &crate::types::TargetGroupTuple,
6) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
7    #[allow(unused_mut)]
8    let mut scope_1 = writer.prefix("TargetGroupArn");
9    if let Some(var_2) = &input.target_group_arn {
10        scope_1.string(var_2);
11    }
12    #[allow(unused_mut)]
13    let mut scope_3 = writer.prefix("Weight");
14    if let Some(var_4) = &input.weight {
15        scope_3.number(
16            #[allow(clippy::useless_conversion)]
17            ::aws_smithy_types::Number::NegInt((*var_4).into()),
18        );
19    }
20    Ok(())
21}
22
23#[allow(clippy::needless_question_mark)]
24pub fn de_target_group_tuple(
25    decoder: &mut ::aws_smithy_xml::decode::ScopedDecoder,
26) -> ::std::result::Result<crate::types::TargetGroupTuple, ::aws_smithy_xml::decode::XmlDecodeError> {
27    #[allow(unused_mut)]
28    let mut builder = crate::types::TargetGroupTuple::builder();
29    while let Some(mut tag) = decoder.next_tag() {
30        match tag.start_el() {
31            s if s.matches("TargetGroupArn") /* TargetGroupArn com.amazonaws.elasticloadbalancingv2#TargetGroupTuple$TargetGroupArn */ =>  {
32                let var_5 =
33                    Some(
34                        Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
35                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
36                            .into()
37                        )
38                        ?
39                    )
40                ;
41                builder = builder.set_target_group_arn(var_5);
42            }
43            ,
44            s if s.matches("Weight") /* Weight com.amazonaws.elasticloadbalancingv2#TargetGroupTuple$Weight */ =>  {
45                let var_6 =
46                    Some(
47                         {
48                            <i32 as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
49                                ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
50                            )
51                            .map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (integer: `com.amazonaws.elasticloadbalancingv2#TargetGroupWeight`)"))
52                        }
53                        ?
54                    )
55                ;
56                builder = builder.set_weight(var_6);
57            }
58            ,
59            _ => {}
60        }
61    }
62    Ok(builder.build())
63}