aws_sdk_ec2/protocol_serde/
shape_launch_template_overrides.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2#[allow(unused_mut)]
3pub fn ser_launch_template_overrides(
4    mut writer: ::aws_smithy_query::QueryValueWriter,
5    input: &crate::types::LaunchTemplateOverrides,
6) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
7    #[allow(unused_mut)]
8    let mut scope_1 = writer.prefix("InstanceType");
9    if let Some(var_2) = &input.instance_type {
10        scope_1.string(var_2.as_str());
11    }
12    #[allow(unused_mut)]
13    let mut scope_3 = writer.prefix("SpotPrice");
14    if let Some(var_4) = &input.spot_price {
15        scope_3.string(var_4);
16    }
17    #[allow(unused_mut)]
18    let mut scope_5 = writer.prefix("SubnetId");
19    if let Some(var_6) = &input.subnet_id {
20        scope_5.string(var_6);
21    }
22    #[allow(unused_mut)]
23    let mut scope_7 = writer.prefix("AvailabilityZone");
24    if let Some(var_8) = &input.availability_zone {
25        scope_7.string(var_8);
26    }
27    #[allow(unused_mut)]
28    let mut scope_9 = writer.prefix("WeightedCapacity");
29    if let Some(var_10) = &input.weighted_capacity {
30        scope_9.number(
31            #[allow(clippy::useless_conversion)]
32            ::aws_smithy_types::Number::Float((*var_10).into()),
33        );
34    }
35    #[allow(unused_mut)]
36    let mut scope_11 = writer.prefix("Priority");
37    if let Some(var_12) = &input.priority {
38        scope_11.number(
39            #[allow(clippy::useless_conversion)]
40            ::aws_smithy_types::Number::Float((*var_12).into()),
41        );
42    }
43    #[allow(unused_mut)]
44    let mut scope_13 = writer.prefix("InstanceRequirements");
45    if let Some(var_14) = &input.instance_requirements {
46        crate::protocol_serde::shape_instance_requirements::ser_instance_requirements(scope_13, var_14)?;
47    }
48    Ok(())
49}
50
51#[allow(clippy::needless_question_mark)]
52pub fn de_launch_template_overrides(
53    decoder: &mut ::aws_smithy_xml::decode::ScopedDecoder,
54) -> ::std::result::Result<crate::types::LaunchTemplateOverrides, ::aws_smithy_xml::decode::XmlDecodeError> {
55    #[allow(unused_mut)]
56    let mut builder = crate::types::LaunchTemplateOverrides::builder();
57    while let Some(mut tag) = decoder.next_tag() {
58        match tag.start_el() {
59            s if s.matches("instanceType") /* InstanceType com.amazonaws.ec2#LaunchTemplateOverrides$InstanceType */ =>  {
60                let var_15 =
61                    Some(
62                        Result::<crate::types::InstanceType, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
63                            crate::types::InstanceType::from(
64                                ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
65                            )
66                        )
67                        ?
68                    )
69                ;
70                builder = builder.set_instance_type(var_15);
71            }
72            ,
73            s if s.matches("spotPrice") /* SpotPrice com.amazonaws.ec2#LaunchTemplateOverrides$SpotPrice */ =>  {
74                let var_16 =
75                    Some(
76                        Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
77                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
78                            .into()
79                        )
80                        ?
81                    )
82                ;
83                builder = builder.set_spot_price(var_16);
84            }
85            ,
86            s if s.matches("subnetId") /* SubnetId com.amazonaws.ec2#LaunchTemplateOverrides$SubnetId */ =>  {
87                let var_17 =
88                    Some(
89                        Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
90                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
91                            .into()
92                        )
93                        ?
94                    )
95                ;
96                builder = builder.set_subnet_id(var_17);
97            }
98            ,
99            s if s.matches("availabilityZone") /* AvailabilityZone com.amazonaws.ec2#LaunchTemplateOverrides$AvailabilityZone */ =>  {
100                let var_18 =
101                    Some(
102                        Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
103                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
104                            .into()
105                        )
106                        ?
107                    )
108                ;
109                builder = builder.set_availability_zone(var_18);
110            }
111            ,
112            s if s.matches("weightedCapacity") /* WeightedCapacity com.amazonaws.ec2#LaunchTemplateOverrides$WeightedCapacity */ =>  {
113                let var_19 =
114                    Some(
115                         {
116                            <f64 as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
117                                ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
118                            )
119                            .map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (double: `com.amazonaws.ec2#Double`)"))
120                        }
121                        ?
122                    )
123                ;
124                builder = builder.set_weighted_capacity(var_19);
125            }
126            ,
127            s if s.matches("priority") /* Priority com.amazonaws.ec2#LaunchTemplateOverrides$Priority */ =>  {
128                let var_20 =
129                    Some(
130                         {
131                            <f64 as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
132                                ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
133                            )
134                            .map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (double: `com.amazonaws.ec2#Double`)"))
135                        }
136                        ?
137                    )
138                ;
139                builder = builder.set_priority(var_20);
140            }
141            ,
142            s if s.matches("instanceRequirements") /* InstanceRequirements com.amazonaws.ec2#LaunchTemplateOverrides$InstanceRequirements */ =>  {
143                let var_21 =
144                    Some(
145                        crate::protocol_serde::shape_instance_requirements::de_instance_requirements(&mut tag)
146                        ?
147                    )
148                ;
149                builder = builder.set_instance_requirements(var_21);
150            }
151            ,
152            _ => {}
153        }
154    }
155    Ok(builder.build())
156}