aws_sdk_ec2/protocol_serde/
shape_price_schedule.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2#[allow(clippy::needless_question_mark)]
3pub fn de_price_schedule(
4    decoder: &mut ::aws_smithy_xml::decode::ScopedDecoder,
5) -> ::std::result::Result<crate::types::PriceSchedule, ::aws_smithy_xml::decode::XmlDecodeError> {
6    #[allow(unused_mut)]
7    let mut builder = crate::types::PriceSchedule::builder();
8    while let Some(mut tag) = decoder.next_tag() {
9        match tag.start_el() {
10            s if s.matches("active") /* Active com.amazonaws.ec2#PriceSchedule$Active */ =>  {
11                let var_1 =
12                    Some(
13                         {
14                            <bool as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
15                                ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
16                            )
17                            .map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (boolean: `com.amazonaws.ec2#Boolean`)"))
18                        }
19                        ?
20                    )
21                ;
22                builder = builder.set_active(var_1);
23            }
24            ,
25            s if s.matches("currencyCode") /* CurrencyCode com.amazonaws.ec2#PriceSchedule$CurrencyCode */ =>  {
26                let var_2 =
27                    Some(
28                        Result::<crate::types::CurrencyCodeValues, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
29                            crate::types::CurrencyCodeValues::from(
30                                ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
31                            )
32                        )
33                        ?
34                    )
35                ;
36                builder = builder.set_currency_code(var_2);
37            }
38            ,
39            s if s.matches("price") /* Price com.amazonaws.ec2#PriceSchedule$Price */ =>  {
40                let var_3 =
41                    Some(
42                         {
43                            <f64 as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
44                                ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
45                            )
46                            .map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (double: `com.amazonaws.ec2#Double`)"))
47                        }
48                        ?
49                    )
50                ;
51                builder = builder.set_price(var_3);
52            }
53            ,
54            s if s.matches("term") /* Term com.amazonaws.ec2#PriceSchedule$Term */ =>  {
55                let var_4 =
56                    Some(
57                         {
58                            <i64 as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
59                                ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
60                            )
61                            .map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (long: `com.amazonaws.ec2#Long`)"))
62                        }
63                        ?
64                    )
65                ;
66                builder = builder.set_term(var_4);
67            }
68            ,
69            _ => {}
70        }
71    }
72    Ok(builder.build())
73}