aws-sdk-ec2 1.224.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_scheduled_instances_launch_specification(
    mut writer: ::aws_smithy_query::QueryValueWriter,
    input: &crate::types::ScheduledInstancesLaunchSpecification,
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
    #[allow(unused_mut)]
    let mut scope_1 = writer.prefix("BlockDeviceMapping");
    if let Some(var_2) = &input.block_device_mappings {
        if !var_2.is_empty() {
            let mut list_4 = scope_1.start_list(true, Some("BlockDeviceMapping"));
            for item_3 in var_2 {
                #[allow(unused_mut)]
                let mut entry_5 = list_4.entry();
                crate::protocol_serde::shape_scheduled_instances_block_device_mapping::ser_scheduled_instances_block_device_mapping(entry_5, item_3)?;
            }
            list_4.finish();
        }
    }
    #[allow(unused_mut)]
    let mut scope_6 = writer.prefix("EbsOptimized");
    if let Some(var_7) = &input.ebs_optimized {
        scope_6.boolean(*var_7);
    }
    #[allow(unused_mut)]
    let mut scope_8 = writer.prefix("IamInstanceProfile");
    if let Some(var_9) = &input.iam_instance_profile {
        crate::protocol_serde::shape_scheduled_instances_iam_instance_profile::ser_scheduled_instances_iam_instance_profile(scope_8, var_9)?;
    }
    #[allow(unused_mut)]
    let mut scope_10 = writer.prefix("ImageId");
    if let Some(var_11) = &input.image_id {
        scope_10.string(var_11);
    }
    #[allow(unused_mut)]
    let mut scope_12 = writer.prefix("InstanceType");
    if let Some(var_13) = &input.instance_type {
        scope_12.string(var_13);
    }
    #[allow(unused_mut)]
    let mut scope_14 = writer.prefix("KernelId");
    if let Some(var_15) = &input.kernel_id {
        scope_14.string(var_15);
    }
    #[allow(unused_mut)]
    let mut scope_16 = writer.prefix("KeyName");
    if let Some(var_17) = &input.key_name {
        scope_16.string(var_17);
    }
    #[allow(unused_mut)]
    let mut scope_18 = writer.prefix("Monitoring");
    if let Some(var_19) = &input.monitoring {
        crate::protocol_serde::shape_scheduled_instances_monitoring::ser_scheduled_instances_monitoring(scope_18, var_19)?;
    }
    #[allow(unused_mut)]
    let mut scope_20 = writer.prefix("NetworkInterface");
    if let Some(var_21) = &input.network_interfaces {
        if !var_21.is_empty() {
            let mut list_23 = scope_20.start_list(true, Some("NetworkInterface"));
            for item_22 in var_21 {
                #[allow(unused_mut)]
                let mut entry_24 = list_23.entry();
                crate::protocol_serde::shape_scheduled_instances_network_interface::ser_scheduled_instances_network_interface(entry_24, item_22)?;
            }
            list_23.finish();
        }
    }
    #[allow(unused_mut)]
    let mut scope_25 = writer.prefix("Placement");
    if let Some(var_26) = &input.placement {
        crate::protocol_serde::shape_scheduled_instances_placement::ser_scheduled_instances_placement(scope_25, var_26)?;
    }
    #[allow(unused_mut)]
    let mut scope_27 = writer.prefix("RamdiskId");
    if let Some(var_28) = &input.ramdisk_id {
        scope_27.string(var_28);
    }
    #[allow(unused_mut)]
    let mut scope_29 = writer.prefix("SecurityGroupId");
    if let Some(var_30) = &input.security_group_ids {
        if !var_30.is_empty() {
            let mut list_32 = scope_29.start_list(true, Some("SecurityGroupId"));
            for item_31 in var_30 {
                #[allow(unused_mut)]
                let mut entry_33 = list_32.entry();
                entry_33.string(item_31);
            }
            list_32.finish();
        }
    }
    #[allow(unused_mut)]
    let mut scope_34 = writer.prefix("SubnetId");
    if let Some(var_35) = &input.subnet_id {
        scope_34.string(var_35);
    }
    #[allow(unused_mut)]
    let mut scope_36 = writer.prefix("UserData");
    if let Some(var_37) = &input.user_data {
        scope_36.string(var_37);
    }
    Ok(())
}