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