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