#[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(())
}