aws_sdk_ec2/protocol_serde/
shape_recurring_charge.rs1#[allow(clippy::needless_question_mark)]
3pub fn de_recurring_charge(
4 decoder: &mut ::aws_smithy_xml::decode::ScopedDecoder,
5) -> ::std::result::Result<crate::types::RecurringCharge, ::aws_smithy_xml::decode::XmlDecodeError> {
6 #[allow(unused_mut)]
7 let mut builder = crate::types::RecurringCharge::builder();
8 while let Some(mut tag) = decoder.next_tag() {
9 match tag.start_el() {
10 s if s.matches("amount") => {
11 let var_1 =
12 Some(
13 {
14 <f64 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 (double: `com.amazonaws.ec2#Double`)"))
18 }
19 ?
20 )
21 ;
22 builder = builder.set_amount(var_1);
23 }
24 ,
25 s if s.matches("frequency") => {
26 let var_2 =
27 Some(
28 Result::<crate::types::RecurringChargeFrequency, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
29 crate::types::RecurringChargeFrequency::from(
30 ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
31 )
32 )
33 ?
34 )
35 ;
36 builder = builder.set_frequency(var_2);
37 }
38 ,
39 _ => {}
40 }
41 }
42 Ok(builder.build())
43}