aws_sdk_ec2/protocol_serde/
shape_launch_template_config.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2#[allow(unused_mut)]
3pub fn ser_launch_template_config(
4    mut writer: ::aws_smithy_query::QueryValueWriter,
5    input: &crate::types::LaunchTemplateConfig,
6) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
7    #[allow(unused_mut)]
8    let mut scope_1 = writer.prefix("LaunchTemplateSpecification");
9    if let Some(var_2) = &input.launch_template_specification {
10        crate::protocol_serde::shape_fleet_launch_template_specification::ser_fleet_launch_template_specification(scope_1, var_2)?;
11    }
12    #[allow(unused_mut)]
13    let mut scope_3 = writer.prefix("Overrides");
14    if let Some(var_4) = &input.overrides {
15        if !var_4.is_empty() {
16            let mut list_6 = scope_3.start_list(true, Some("item"));
17            for item_5 in var_4 {
18                #[allow(unused_mut)]
19                let mut entry_7 = list_6.entry();
20                crate::protocol_serde::shape_launch_template_overrides::ser_launch_template_overrides(entry_7, item_5)?;
21            }
22            list_6.finish();
23        }
24    }
25    Ok(())
26}
27
28#[allow(clippy::needless_question_mark)]
29pub fn de_launch_template_config(
30    decoder: &mut ::aws_smithy_xml::decode::ScopedDecoder,
31) -> ::std::result::Result<crate::types::LaunchTemplateConfig, ::aws_smithy_xml::decode::XmlDecodeError> {
32    #[allow(unused_mut)]
33    let mut builder = crate::types::LaunchTemplateConfig::builder();
34    while let Some(mut tag) = decoder.next_tag() {
35        match tag.start_el() {
36            s if s.matches("launchTemplateSpecification") /* LaunchTemplateSpecification com.amazonaws.ec2#LaunchTemplateConfig$LaunchTemplateSpecification */ =>  {
37                let var_8 =
38                    Some(
39                        crate::protocol_serde::shape_fleet_launch_template_specification::de_fleet_launch_template_specification(&mut tag)
40                        ?
41                    )
42                ;
43                builder = builder.set_launch_template_specification(var_8);
44            }
45            ,
46            s if s.matches("overrides") /* Overrides com.amazonaws.ec2#LaunchTemplateConfig$Overrides */ =>  {
47                let var_9 =
48                    Some(
49                        crate::protocol_serde::shape_launch_template_overrides_list::de_launch_template_overrides_list(&mut tag)
50                        ?
51                    )
52                ;
53                builder = builder.set_overrides(var_9);
54            }
55            ,
56            _ => {}
57        }
58    }
59    Ok(builder.build())
60}