aws_sdk_elasticloadbalancing/protocol_serde/
shape_load_balancer_attributes.rs1#[allow(unused_mut)]
3pub fn ser_load_balancer_attributes(
4 mut writer: ::aws_smithy_query::QueryValueWriter,
5 input: &crate::types::LoadBalancerAttributes,
6) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
7 #[allow(unused_mut)]
8 let mut scope_1 = writer.prefix("CrossZoneLoadBalancing");
9 if let Some(var_2) = &input.cross_zone_load_balancing {
10 crate::protocol_serde::shape_cross_zone_load_balancing::ser_cross_zone_load_balancing(scope_1, var_2)?;
11 }
12 #[allow(unused_mut)]
13 let mut scope_3 = writer.prefix("AccessLog");
14 if let Some(var_4) = &input.access_log {
15 crate::protocol_serde::shape_access_log::ser_access_log(scope_3, var_4)?;
16 }
17 #[allow(unused_mut)]
18 let mut scope_5 = writer.prefix("ConnectionDraining");
19 if let Some(var_6) = &input.connection_draining {
20 crate::protocol_serde::shape_connection_draining::ser_connection_draining(scope_5, var_6)?;
21 }
22 #[allow(unused_mut)]
23 let mut scope_7 = writer.prefix("ConnectionSettings");
24 if let Some(var_8) = &input.connection_settings {
25 crate::protocol_serde::shape_connection_settings::ser_connection_settings(scope_7, var_8)?;
26 }
27 #[allow(unused_mut)]
28 let mut scope_9 = writer.prefix("AdditionalAttributes");
29 if let Some(var_10) = &input.additional_attributes {
30 let mut list_12 = scope_9.start_list(false, None);
31 for item_11 in var_10 {
32 #[allow(unused_mut)]
33 let mut entry_13 = list_12.entry();
34 crate::protocol_serde::shape_additional_attribute::ser_additional_attribute(entry_13, item_11)?;
35 }
36 list_12.finish();
37 }
38 Ok(())
39}
40
41#[allow(clippy::needless_question_mark)]
42pub fn de_load_balancer_attributes(
43 decoder: &mut ::aws_smithy_xml::decode::ScopedDecoder,
44) -> ::std::result::Result<crate::types::LoadBalancerAttributes, ::aws_smithy_xml::decode::XmlDecodeError> {
45 #[allow(unused_mut)]
46 let mut builder = crate::types::LoadBalancerAttributes::builder();
47 while let Some(mut tag) = decoder.next_tag() {
48 match tag.start_el() {
49 s if s.matches("CrossZoneLoadBalancing") => {
50 let var_14 =
51 Some(
52 crate::protocol_serde::shape_cross_zone_load_balancing::de_cross_zone_load_balancing(&mut tag)
53 ?
54 )
55 ;
56 builder = builder.set_cross_zone_load_balancing(var_14);
57 }
58 ,
59 s if s.matches("AccessLog") => {
60 let var_15 =
61 Some(
62 crate::protocol_serde::shape_access_log::de_access_log(&mut tag)
63 ?
64 )
65 ;
66 builder = builder.set_access_log(var_15);
67 }
68 ,
69 s if s.matches("ConnectionDraining") => {
70 let var_16 =
71 Some(
72 crate::protocol_serde::shape_connection_draining::de_connection_draining(&mut tag)
73 ?
74 )
75 ;
76 builder = builder.set_connection_draining(var_16);
77 }
78 ,
79 s if s.matches("ConnectionSettings") => {
80 let var_17 =
81 Some(
82 crate::protocol_serde::shape_connection_settings::de_connection_settings(&mut tag)
83 ?
84 )
85 ;
86 builder = builder.set_connection_settings(var_17);
87 }
88 ,
89 s if s.matches("AdditionalAttributes") => {
90 let var_18 =
91 Some(
92 crate::protocol_serde::shape_additional_attributes::de_additional_attributes(&mut tag)
93 ?
94 )
95 ;
96 builder = builder.set_additional_attributes(var_18);
97 }
98 ,
99 _ => {}
100 }
101 }
102 Ok(builder.build())
103}