aws-sdk-ec2 1.222.0

AWS SDK for Amazon Elastic Compute Cloud
Documentation
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
#[allow(unused_mut)]
pub fn ser_import_instance_launch_specification(
    mut writer: ::aws_smithy_query::QueryValueWriter,
    input: &crate::types::ImportInstanceLaunchSpecification,
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
    #[allow(unused_mut)]
    let mut scope_1 = writer.prefix("Architecture");
    if let Some(var_2) = &input.architecture {
        scope_1.string(var_2.as_str());
    }
    #[allow(unused_mut)]
    let mut scope_3 = writer.prefix("GroupName");
    if let Some(var_4) = &input.group_names {
        if !var_4.is_empty() {
            let mut list_6 = scope_3.start_list(true, Some("SecurityGroup"));
            for item_5 in var_4 {
                #[allow(unused_mut)]
                let mut entry_7 = list_6.entry();
                entry_7.string(item_5);
            }
            list_6.finish();
        }
    }
    #[allow(unused_mut)]
    let mut scope_8 = writer.prefix("GroupId");
    if let Some(var_9) = &input.group_ids {
        if !var_9.is_empty() {
            let mut list_11 = scope_8.start_list(true, Some("SecurityGroupId"));
            for item_10 in var_9 {
                #[allow(unused_mut)]
                let mut entry_12 = list_11.entry();
                entry_12.string(item_10);
            }
            list_11.finish();
        }
    }
    #[allow(unused_mut)]
    let mut scope_13 = writer.prefix("AdditionalInfo");
    if let Some(var_14) = &input.additional_info {
        scope_13.string(var_14);
    }
    #[allow(unused_mut)]
    let mut scope_15 = writer.prefix("UserData");
    if let Some(var_16) = &input.user_data {
        crate::protocol_serde::shape_user_data::ser_user_data(scope_15, var_16)?;
    }
    #[allow(unused_mut)]
    let mut scope_17 = writer.prefix("InstanceType");
    if let Some(var_18) = &input.instance_type {
        scope_17.string(var_18.as_str());
    }
    #[allow(unused_mut)]
    let mut scope_19 = writer.prefix("Placement");
    if let Some(var_20) = &input.placement {
        crate::protocol_serde::shape_placement::ser_placement(scope_19, var_20)?;
    }
    #[allow(unused_mut)]
    let mut scope_21 = writer.prefix("Monitoring");
    if let Some(var_22) = &input.monitoring {
        scope_21.boolean(*var_22);
    }
    #[allow(unused_mut)]
    let mut scope_23 = writer.prefix("SubnetId");
    if let Some(var_24) = &input.subnet_id {
        scope_23.string(var_24);
    }
    #[allow(unused_mut)]
    let mut scope_25 = writer.prefix("InstanceInitiatedShutdownBehavior");
    if let Some(var_26) = &input.instance_initiated_shutdown_behavior {
        scope_25.string(var_26.as_str());
    }
    #[allow(unused_mut)]
    let mut scope_27 = writer.prefix("PrivateIpAddress");
    if let Some(var_28) = &input.private_ip_address {
        scope_27.string(var_28);
    }
    Ok(())
}