#[allow(unused_mut)]
pub fn ser_instance_network_interface_specification(
mut writer: ::aws_smithy_query::QueryValueWriter,
input: &crate::types::InstanceNetworkInterfaceSpecification,
) -> Result<(), ::aws_smithy_http::operation::error::SerializationError> {
#[allow(unused_mut)]
let mut scope_1 = writer.prefix("AssociatePublicIpAddress");
if let Some(var_2) = &input.associate_public_ip_address {
scope_1.boolean(*var_2);
}
#[allow(unused_mut)]
let mut scope_3 = writer.prefix("DeleteOnTermination");
if let Some(var_4) = &input.delete_on_termination {
scope_3.boolean(*var_4);
}
#[allow(unused_mut)]
let mut scope_5 = writer.prefix("Description");
if let Some(var_6) = &input.description {
scope_5.string(var_6);
}
#[allow(unused_mut)]
let mut scope_7 = writer.prefix("DeviceIndex");
if let Some(var_8) = &input.device_index {
scope_7.number(
#[allow(clippy::useless_conversion)]
::aws_smithy_types::Number::NegInt((*var_8).into()),
);
}
#[allow(unused_mut)]
let mut scope_9 = writer.prefix("SecurityGroupId");
if let Some(var_10) = &input.groups {
let mut list_12 = scope_9.start_list(true, Some("SecurityGroupId"));
for item_11 in var_10 {
#[allow(unused_mut)]
let mut entry_13 = list_12.entry();
entry_13.string(item_11);
}
list_12.finish();
}
#[allow(unused_mut)]
let mut scope_14 = writer.prefix("Ipv6AddressCount");
if let Some(var_15) = &input.ipv6_address_count {
scope_14.number(
#[allow(clippy::useless_conversion)]
::aws_smithy_types::Number::NegInt((*var_15).into()),
);
}
#[allow(unused_mut)]
let mut scope_16 = writer.prefix("Ipv6Addresses");
if let Some(var_17) = &input.ipv6_addresses {
let mut list_19 = scope_16.start_list(true, Some("item"));
for item_18 in var_17 {
#[allow(unused_mut)]
let mut entry_20 = list_19.entry();
crate::protocol_serde::shape_instance_ipv6_address::ser_instance_ipv6_address(entry_20, item_18)?;
}
list_19.finish();
}
#[allow(unused_mut)]
let mut scope_21 = writer.prefix("NetworkInterfaceId");
if let Some(var_22) = &input.network_interface_id {
scope_21.string(var_22);
}
#[allow(unused_mut)]
let mut scope_23 = writer.prefix("PrivateIpAddress");
if let Some(var_24) = &input.private_ip_address {
scope_23.string(var_24);
}
#[allow(unused_mut)]
let mut scope_25 = writer.prefix("PrivateIpAddresses");
if let Some(var_26) = &input.private_ip_addresses {
let mut list_28 = scope_25.start_list(true, Some("item"));
for item_27 in var_26 {
#[allow(unused_mut)]
let mut entry_29 = list_28.entry();
crate::protocol_serde::shape_private_ip_address_specification::ser_private_ip_address_specification(entry_29, item_27)?;
}
list_28.finish();
}
#[allow(unused_mut)]
let mut scope_30 = writer.prefix("SecondaryPrivateIpAddressCount");
if let Some(var_31) = &input.secondary_private_ip_address_count {
scope_30.number(
#[allow(clippy::useless_conversion)]
::aws_smithy_types::Number::NegInt((*var_31).into()),
);
}
#[allow(unused_mut)]
let mut scope_32 = writer.prefix("SubnetId");
if let Some(var_33) = &input.subnet_id {
scope_32.string(var_33);
}
#[allow(unused_mut)]
let mut scope_34 = writer.prefix("AssociateCarrierIpAddress");
if let Some(var_35) = &input.associate_carrier_ip_address {
scope_34.boolean(*var_35);
}
#[allow(unused_mut)]
let mut scope_36 = writer.prefix("InterfaceType");
if let Some(var_37) = &input.interface_type {
scope_36.string(var_37);
}
#[allow(unused_mut)]
let mut scope_38 = writer.prefix("NetworkCardIndex");
if let Some(var_39) = &input.network_card_index {
scope_38.number(
#[allow(clippy::useless_conversion)]
::aws_smithy_types::Number::NegInt((*var_39).into()),
);
}
#[allow(unused_mut)]
let mut scope_40 = writer.prefix("Ipv4Prefix");
if let Some(var_41) = &input.ipv4_prefixes {
let mut list_43 = scope_40.start_list(true, Some("item"));
for item_42 in var_41 {
#[allow(unused_mut)]
let mut entry_44 = list_43.entry();
crate::protocol_serde::shape_ipv4_prefix_specification_request::ser_ipv4_prefix_specification_request(entry_44, item_42)?;
}
list_43.finish();
}
#[allow(unused_mut)]
let mut scope_45 = writer.prefix("Ipv4PrefixCount");
if let Some(var_46) = &input.ipv4_prefix_count {
scope_45.number(
#[allow(clippy::useless_conversion)]
::aws_smithy_types::Number::NegInt((*var_46).into()),
);
}
#[allow(unused_mut)]
let mut scope_47 = writer.prefix("Ipv6Prefix");
if let Some(var_48) = &input.ipv6_prefixes {
let mut list_50 = scope_47.start_list(true, Some("item"));
for item_49 in var_48 {
#[allow(unused_mut)]
let mut entry_51 = list_50.entry();
crate::protocol_serde::shape_ipv6_prefix_specification_request::ser_ipv6_prefix_specification_request(entry_51, item_49)?;
}
list_50.finish();
}
#[allow(unused_mut)]
let mut scope_52 = writer.prefix("Ipv6PrefixCount");
if let Some(var_53) = &input.ipv6_prefix_count {
scope_52.number(
#[allow(clippy::useless_conversion)]
::aws_smithy_types::Number::NegInt((*var_53).into()),
);
}
#[allow(unused_mut)]
let mut scope_54 = writer.prefix("PrimaryIpv6");
if let Some(var_55) = &input.primary_ipv6 {
scope_54.boolean(*var_55);
}
Ok(())
}
pub fn de_instance_network_interface_specification(
decoder: &mut ::aws_smithy_xml::decode::ScopedDecoder,
) -> Result<crate::types::InstanceNetworkInterfaceSpecification, ::aws_smithy_xml::decode::XmlDecodeError> {
#[allow(unused_mut)]
let mut builder = crate::types::InstanceNetworkInterfaceSpecification::builder();
while let Some(mut tag) = decoder.next_tag() {
match tag.start_el() {
s if s.matches("associatePublicIpAddress") => {
let var_56 =
Some(
{
<bool as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
)
.map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (boolean: `com.amazonaws.ec2#Boolean`)"))
}
?
)
;
builder = builder.set_associate_public_ip_address(var_56);
}
,
s if s.matches("deleteOnTermination") => {
let var_57 =
Some(
{
<bool as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
)
.map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (boolean: `com.amazonaws.ec2#Boolean`)"))
}
?
)
;
builder = builder.set_delete_on_termination(var_57);
}
,
s if s.matches("description") => {
let var_58 =
Some(
Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
.into()
)
?
)
;
builder = builder.set_description(var_58);
}
,
s if s.matches("deviceIndex") => {
let var_59 =
Some(
{
<i32 as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
)
.map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (integer: `com.amazonaws.ec2#Integer`)"))
}
?
)
;
builder = builder.set_device_index(var_59);
}
,
s if s.matches("SecurityGroupId") => {
let var_60 =
Some(
crate::protocol_serde::shape_security_group_id_string_list::de_security_group_id_string_list(&mut tag)
?
)
;
builder = builder.set_groups(var_60);
}
,
s if s.matches("ipv6AddressCount") => {
let var_61 =
Some(
{
<i32 as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
)
.map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (integer: `com.amazonaws.ec2#Integer`)"))
}
?
)
;
builder = builder.set_ipv6_address_count(var_61);
}
,
s if s.matches("ipv6AddressesSet") => {
let var_62 =
Some(
crate::protocol_serde::shape_instance_ipv6_address_list::de_instance_ipv6_address_list(&mut tag)
?
)
;
builder = builder.set_ipv6_addresses(var_62);
}
,
s if s.matches("networkInterfaceId") => {
let var_63 =
Some(
Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
.into()
)
?
)
;
builder = builder.set_network_interface_id(var_63);
}
,
s if s.matches("privateIpAddress") => {
let var_64 =
Some(
Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
.into()
)
?
)
;
builder = builder.set_private_ip_address(var_64);
}
,
s if s.matches("privateIpAddressesSet") => {
let var_65 =
Some(
crate::protocol_serde::shape_private_ip_address_specification_list::de_private_ip_address_specification_list(&mut tag)
?
)
;
builder = builder.set_private_ip_addresses(var_65);
}
,
s if s.matches("secondaryPrivateIpAddressCount") => {
let var_66 =
Some(
{
<i32 as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
)
.map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (integer: `com.amazonaws.ec2#Integer`)"))
}
?
)
;
builder = builder.set_secondary_private_ip_address_count(var_66);
}
,
s if s.matches("subnetId") => {
let var_67 =
Some(
Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
.into()
)
?
)
;
builder = builder.set_subnet_id(var_67);
}
,
s if s.matches("AssociateCarrierIpAddress") => {
let var_68 =
Some(
{
<bool as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
)
.map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (boolean: `com.amazonaws.ec2#Boolean`)"))
}
?
)
;
builder = builder.set_associate_carrier_ip_address(var_68);
}
,
s if s.matches("InterfaceType") => {
let var_69 =
Some(
Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
.into()
)
?
)
;
builder = builder.set_interface_type(var_69);
}
,
s if s.matches("NetworkCardIndex") => {
let var_70 =
Some(
{
<i32 as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
)
.map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (integer: `com.amazonaws.ec2#Integer`)"))
}
?
)
;
builder = builder.set_network_card_index(var_70);
}
,
s if s.matches("Ipv4Prefix") => {
let var_71 =
Some(
crate::protocol_serde::shape_ipv4_prefix_list::de_ipv4_prefix_list(&mut tag)
?
)
;
builder = builder.set_ipv4_prefixes(var_71);
}
,
s if s.matches("Ipv4PrefixCount") => {
let var_72 =
Some(
{
<i32 as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
)
.map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (integer: `com.amazonaws.ec2#Integer`)"))
}
?
)
;
builder = builder.set_ipv4_prefix_count(var_72);
}
,
s if s.matches("Ipv6Prefix") => {
let var_73 =
Some(
crate::protocol_serde::shape_ipv6_prefix_list::de_ipv6_prefix_list(&mut tag)
?
)
;
builder = builder.set_ipv6_prefixes(var_73);
}
,
s if s.matches("Ipv6PrefixCount") => {
let var_74 =
Some(
{
<i32 as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
)
.map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (integer: `com.amazonaws.ec2#Integer`)"))
}
?
)
;
builder = builder.set_ipv6_prefix_count(var_74);
}
,
s if s.matches("PrimaryIpv6") => {
let var_75 =
Some(
{
<bool as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
)
.map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (boolean: `com.amazonaws.ec2#Boolean`)"))
}
?
)
;
builder = builder.set_primary_ipv6(var_75);
}
,
_ => {}
}
}
Ok(builder.build())
}