aws_sdk_ec2/protocol_serde/
shape_price_schedule.rs1#[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") => {
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") => {
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") => {
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") => {
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}