aws_sdk_ec2/protocol_serde/
shape_target_capacity_specification.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2#[allow(clippy::needless_question_mark)]
3pub fn de_target_capacity_specification(
4    decoder: &mut ::aws_smithy_xml::decode::ScopedDecoder,
5) -> ::std::result::Result<crate::types::TargetCapacitySpecification, ::aws_smithy_xml::decode::XmlDecodeError> {
6    #[allow(unused_mut)]
7    let mut builder = crate::types::TargetCapacitySpecification::builder();
8    while let Some(mut tag) = decoder.next_tag() {
9        match tag.start_el() {
10            s if s.matches("totalTargetCapacity") /* TotalTargetCapacity com.amazonaws.ec2#TargetCapacitySpecification$TotalTargetCapacity */ =>  {
11                let var_1 =
12                    Some(
13                         {
14                            <i32 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 (integer: `com.amazonaws.ec2#Integer`)"))
18                        }
19                        ?
20                    )
21                ;
22                builder = builder.set_total_target_capacity(var_1);
23            }
24            ,
25            s if s.matches("onDemandTargetCapacity") /* OnDemandTargetCapacity com.amazonaws.ec2#TargetCapacitySpecification$OnDemandTargetCapacity */ =>  {
26                let var_2 =
27                    Some(
28                         {
29                            <i32 as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
30                                ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
31                            )
32                            .map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (integer: `com.amazonaws.ec2#Integer`)"))
33                        }
34                        ?
35                    )
36                ;
37                builder = builder.set_on_demand_target_capacity(var_2);
38            }
39            ,
40            s if s.matches("spotTargetCapacity") /* SpotTargetCapacity com.amazonaws.ec2#TargetCapacitySpecification$SpotTargetCapacity */ =>  {
41                let var_3 =
42                    Some(
43                         {
44                            <i32 as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
45                                ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
46                            )
47                            .map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (integer: `com.amazonaws.ec2#Integer`)"))
48                        }
49                        ?
50                    )
51                ;
52                builder = builder.set_spot_target_capacity(var_3);
53            }
54            ,
55            s if s.matches("defaultTargetCapacityType") /* DefaultTargetCapacityType com.amazonaws.ec2#TargetCapacitySpecification$DefaultTargetCapacityType */ =>  {
56                let var_4 =
57                    Some(
58                        Result::<crate::types::DefaultTargetCapacityType, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
59                            crate::types::DefaultTargetCapacityType::from(
60                                ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
61                            )
62                        )
63                        ?
64                    )
65                ;
66                builder = builder.set_default_target_capacity_type(var_4);
67            }
68            ,
69            s if s.matches("targetCapacityUnitType") /* TargetCapacityUnitType com.amazonaws.ec2#TargetCapacitySpecification$TargetCapacityUnitType */ =>  {
70                let var_5 =
71                    Some(
72                        Result::<crate::types::TargetCapacityUnitType, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
73                            crate::types::TargetCapacityUnitType::from(
74                                ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
75                            )
76                        )
77                        ?
78                    )
79                ;
80                builder = builder.set_target_capacity_unit_type(var_5);
81            }
82            ,
83            _ => {}
84        }
85    }
86    Ok(builder.build())
87}