aws-sdk-elasticloadbalancing 1.100.0

AWS SDK for Elastic Load Balancing
Documentation
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
#[allow(unused_mut)]
pub fn ser_load_balancer_attributes(
    mut writer: ::aws_smithy_query::QueryValueWriter,
    input: &crate::types::LoadBalancerAttributes,
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
    #[allow(unused_mut)]
    let mut scope_1 = writer.prefix("CrossZoneLoadBalancing");
    if let Some(var_2) = &input.cross_zone_load_balancing {
        crate::protocol_serde::shape_cross_zone_load_balancing::ser_cross_zone_load_balancing(scope_1, var_2)?;
    }
    #[allow(unused_mut)]
    let mut scope_3 = writer.prefix("AccessLog");
    if let Some(var_4) = &input.access_log {
        crate::protocol_serde::shape_access_log::ser_access_log(scope_3, var_4)?;
    }
    #[allow(unused_mut)]
    let mut scope_5 = writer.prefix("ConnectionDraining");
    if let Some(var_6) = &input.connection_draining {
        crate::protocol_serde::shape_connection_draining::ser_connection_draining(scope_5, var_6)?;
    }
    #[allow(unused_mut)]
    let mut scope_7 = writer.prefix("ConnectionSettings");
    if let Some(var_8) = &input.connection_settings {
        crate::protocol_serde::shape_connection_settings::ser_connection_settings(scope_7, var_8)?;
    }
    #[allow(unused_mut)]
    let mut scope_9 = writer.prefix("AdditionalAttributes");
    if let Some(var_10) = &input.additional_attributes {
        let mut list_12 = scope_9.start_list(false, None);
        for item_11 in var_10 {
            #[allow(unused_mut)]
            let mut entry_13 = list_12.entry();
            crate::protocol_serde::shape_additional_attribute::ser_additional_attribute(entry_13, item_11)?;
        }
        list_12.finish();
    }
    Ok(())
}

#[allow(clippy::needless_question_mark)]
pub fn de_load_balancer_attributes(
    decoder: &mut ::aws_smithy_xml::decode::ScopedDecoder,
) -> ::std::result::Result<crate::types::LoadBalancerAttributes, ::aws_smithy_xml::decode::XmlDecodeError> {
    #[allow(unused_mut)]
    let mut builder = crate::types::LoadBalancerAttributes::builder();
    while let Some(mut tag) = decoder.next_tag() {
        match tag.start_el() {
            s if s.matches("CrossZoneLoadBalancing") /* CrossZoneLoadBalancing com.amazonaws.elasticloadbalancing#LoadBalancerAttributes$CrossZoneLoadBalancing */ =>  {
                let var_14 =
                    Some(
                        crate::protocol_serde::shape_cross_zone_load_balancing::de_cross_zone_load_balancing(&mut tag)
                        ?
                    )
                ;
                builder = builder.set_cross_zone_load_balancing(var_14);
            }
            ,
            s if s.matches("AccessLog") /* AccessLog com.amazonaws.elasticloadbalancing#LoadBalancerAttributes$AccessLog */ =>  {
                let var_15 =
                    Some(
                        crate::protocol_serde::shape_access_log::de_access_log(&mut tag)
                        ?
                    )
                ;
                builder = builder.set_access_log(var_15);
            }
            ,
            s if s.matches("ConnectionDraining") /* ConnectionDraining com.amazonaws.elasticloadbalancing#LoadBalancerAttributes$ConnectionDraining */ =>  {
                let var_16 =
                    Some(
                        crate::protocol_serde::shape_connection_draining::de_connection_draining(&mut tag)
                        ?
                    )
                ;
                builder = builder.set_connection_draining(var_16);
            }
            ,
            s if s.matches("ConnectionSettings") /* ConnectionSettings com.amazonaws.elasticloadbalancing#LoadBalancerAttributes$ConnectionSettings */ =>  {
                let var_17 =
                    Some(
                        crate::protocol_serde::shape_connection_settings::de_connection_settings(&mut tag)
                        ?
                    )
                ;
                builder = builder.set_connection_settings(var_17);
            }
            ,
            s if s.matches("AdditionalAttributes") /* AdditionalAttributes com.amazonaws.elasticloadbalancing#LoadBalancerAttributes$AdditionalAttributes */ =>  {
                let var_18 =
                    Some(
                        crate::protocol_serde::shape_additional_attributes::de_additional_attributes(&mut tag)
                        ?
                    )
                ;
                builder = builder.set_additional_attributes(var_18);
            }
            ,
            _ => {}
        }
    }
    Ok(builder.build())
}