pub fn ser_create_network_interface_input_input_input(
input: &crate::operation::create_network_interface::CreateNetworkInterfaceInput,
) -> ::std::result::Result<::aws_smithy_types::body::SdkBody, ::aws_smithy_types::error::operation::SerializationError> {
let mut out = String::new();
#[allow(unused_mut)]
let mut writer = ::aws_smithy_query::QueryWriter::new(&mut out, "CreateNetworkInterface", "2016-11-15");
#[allow(unused_mut)]
let mut scope_1 = writer.prefix("Ipv4Prefix");
if let Some(var_2) = &input.ipv4_prefixes {
if !var_2.is_empty() {
let mut list_4 = scope_1.start_list(true, Some("item"));
for item_3 in var_2 {
#[allow(unused_mut)]
let mut entry_5 = list_4.entry();
crate::protocol_serde::shape_ipv4_prefix_specification_request::ser_ipv4_prefix_specification_request(entry_5, item_3)?;
}
list_4.finish();
}
}
#[allow(unused_mut)]
let mut scope_6 = writer.prefix("Ipv4PrefixCount");
if let Some(var_7) = &input.ipv4_prefix_count {
scope_6.number(
#[allow(clippy::useless_conversion)]
::aws_smithy_types::Number::NegInt((*var_7).into()),
);
}
#[allow(unused_mut)]
let mut scope_8 = writer.prefix("Ipv6Prefix");
if let Some(var_9) = &input.ipv6_prefixes {
if !var_9.is_empty() {
let mut list_11 = scope_8.start_list(true, Some("item"));
for item_10 in var_9 {
#[allow(unused_mut)]
let mut entry_12 = list_11.entry();
crate::protocol_serde::shape_ipv6_prefix_specification_request::ser_ipv6_prefix_specification_request(entry_12, item_10)?;
}
list_11.finish();
}
}
#[allow(unused_mut)]
let mut scope_13 = writer.prefix("Ipv6PrefixCount");
if let Some(var_14) = &input.ipv6_prefix_count {
scope_13.number(
#[allow(clippy::useless_conversion)]
::aws_smithy_types::Number::NegInt((*var_14).into()),
);
}
#[allow(unused_mut)]
let mut scope_15 = writer.prefix("InterfaceType");
if let Some(var_16) = &input.interface_type {
scope_15.string(var_16.as_str());
}
#[allow(unused_mut)]
let mut scope_17 = writer.prefix("TagSpecification");
if let Some(var_18) = &input.tag_specifications {
if !var_18.is_empty() {
let mut list_20 = scope_17.start_list(true, Some("item"));
for item_19 in var_18 {
#[allow(unused_mut)]
let mut entry_21 = list_20.entry();
crate::protocol_serde::shape_tag_specification::ser_tag_specification(entry_21, item_19)?;
}
list_20.finish();
}
}
#[allow(unused_mut)]
let mut scope_22 = writer.prefix("ClientToken");
if let Some(var_23) = &input.client_token {
scope_22.string(var_23);
}
#[allow(unused_mut)]
let mut scope_24 = writer.prefix("EnablePrimaryIpv6");
if let Some(var_25) = &input.enable_primary_ipv6 {
scope_24.boolean(*var_25);
}
#[allow(unused_mut)]
let mut scope_26 = writer.prefix("ConnectionTrackingSpecification");
if let Some(var_27) = &input.connection_tracking_specification {
crate::protocol_serde::shape_connection_tracking_specification_request::ser_connection_tracking_specification_request(scope_26, var_27)?;
}
#[allow(unused_mut)]
let mut scope_28 = writer.prefix("Operator");
if let Some(var_29) = &input.operator {
crate::protocol_serde::shape_operator_request::ser_operator_request(scope_28, var_29)?;
}
#[allow(unused_mut)]
let mut scope_30 = writer.prefix("SubnetId");
if let Some(var_31) = &input.subnet_id {
scope_30.string(var_31);
}
#[allow(unused_mut)]
let mut scope_32 = writer.prefix("Description");
if let Some(var_33) = &input.description {
scope_32.string(var_33);
}
#[allow(unused_mut)]
let mut scope_34 = writer.prefix("PrivateIpAddress");
if let Some(var_35) = &input.private_ip_address {
scope_34.string(var_35);
}
#[allow(unused_mut)]
let mut scope_36 = writer.prefix("SecurityGroupId");
if let Some(var_37) = &input.groups {
if !var_37.is_empty() {
let mut list_39 = scope_36.start_list(true, Some("SecurityGroupId"));
for item_38 in var_37 {
#[allow(unused_mut)]
let mut entry_40 = list_39.entry();
entry_40.string(item_38);
}
list_39.finish();
}
}
#[allow(unused_mut)]
let mut scope_41 = writer.prefix("PrivateIpAddresses");
if let Some(var_42) = &input.private_ip_addresses {
if !var_42.is_empty() {
let mut list_44 = scope_41.start_list(true, Some("item"));
for item_43 in var_42 {
#[allow(unused_mut)]
let mut entry_45 = list_44.entry();
crate::protocol_serde::shape_private_ip_address_specification::ser_private_ip_address_specification(entry_45, item_43)?;
}
list_44.finish();
}
}
#[allow(unused_mut)]
let mut scope_46 = writer.prefix("SecondaryPrivateIpAddressCount");
if let Some(var_47) = &input.secondary_private_ip_address_count {
scope_46.number(
#[allow(clippy::useless_conversion)]
::aws_smithy_types::Number::NegInt((*var_47).into()),
);
}
#[allow(unused_mut)]
let mut scope_48 = writer.prefix("Ipv6Addresses");
if let Some(var_49) = &input.ipv6_addresses {
if !var_49.is_empty() {
let mut list_51 = scope_48.start_list(true, Some("item"));
for item_50 in var_49 {
#[allow(unused_mut)]
let mut entry_52 = list_51.entry();
crate::protocol_serde::shape_instance_ipv6_address::ser_instance_ipv6_address(entry_52, item_50)?;
}
list_51.finish();
}
}
#[allow(unused_mut)]
let mut scope_53 = writer.prefix("Ipv6AddressCount");
if let Some(var_54) = &input.ipv6_address_count {
scope_53.number(
#[allow(clippy::useless_conversion)]
::aws_smithy_types::Number::NegInt((*var_54).into()),
);
}
#[allow(unused_mut)]
let mut scope_55 = writer.prefix("DryRun");
if let Some(var_56) = &input.dry_run {
scope_55.boolean(*var_56);
}
writer.finish();
Ok(::aws_smithy_types::body::SdkBody::from(out))
}