aws_sdk_ec2/protocol_serde/
shape_create_image_input.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub fn ser_create_image_input_input_input(
3    input: &crate::operation::create_image::CreateImageInput,
4) -> ::std::result::Result<::aws_smithy_types::body::SdkBody, ::aws_smithy_types::error::operation::SerializationError> {
5    let mut out = String::new();
6    #[allow(unused_mut)]
7    let mut writer = ::aws_smithy_query::QueryWriter::new(&mut out, "CreateImage", "2016-11-15");
8    #[allow(unused_mut)]
9    let mut scope_1 = writer.prefix("TagSpecification");
10    if let Some(var_2) = &input.tag_specifications {
11        if !var_2.is_empty() {
12            let mut list_4 = scope_1.start_list(true, Some("item"));
13            for item_3 in var_2 {
14                #[allow(unused_mut)]
15                let mut entry_5 = list_4.entry();
16                crate::protocol_serde::shape_tag_specification::ser_tag_specification(entry_5, item_3)?;
17            }
18            list_4.finish();
19        }
20    }
21    #[allow(unused_mut)]
22    let mut scope_6 = writer.prefix("DryRun");
23    if let Some(var_7) = &input.dry_run {
24        scope_6.boolean(*var_7);
25    }
26    #[allow(unused_mut)]
27    let mut scope_8 = writer.prefix("InstanceId");
28    if let Some(var_9) = &input.instance_id {
29        scope_8.string(var_9);
30    }
31    #[allow(unused_mut)]
32    let mut scope_10 = writer.prefix("Name");
33    if let Some(var_11) = &input.name {
34        scope_10.string(var_11);
35    }
36    #[allow(unused_mut)]
37    let mut scope_12 = writer.prefix("Description");
38    if let Some(var_13) = &input.description {
39        scope_12.string(var_13);
40    }
41    #[allow(unused_mut)]
42    let mut scope_14 = writer.prefix("NoReboot");
43    if let Some(var_15) = &input.no_reboot {
44        scope_14.boolean(*var_15);
45    }
46    #[allow(unused_mut)]
47    let mut scope_16 = writer.prefix("BlockDeviceMapping");
48    if let Some(var_17) = &input.block_device_mappings {
49        if !var_17.is_empty() {
50            let mut list_19 = scope_16.start_list(true, Some("BlockDeviceMapping"));
51            for item_18 in var_17 {
52                #[allow(unused_mut)]
53                let mut entry_20 = list_19.entry();
54                crate::protocol_serde::shape_block_device_mapping::ser_block_device_mapping(entry_20, item_18)?;
55            }
56            list_19.finish();
57        }
58    }
59    writer.finish();
60    Ok(::aws_smithy_types::body::SdkBody::from(out))
61}