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