aws_sdk_s3/protocol_serde/
shape_analytics_and_operator.rs
1#[allow(clippy::needless_question_mark)]
3pub fn de_analytics_and_operator(
4 decoder: &mut ::aws_smithy_xml::decode::ScopedDecoder,
5) -> ::std::result::Result<crate::types::AnalyticsAndOperator, ::aws_smithy_xml::decode::XmlDecodeError> {
6 #[allow(unused_mut)]
7 let mut builder = crate::types::AnalyticsAndOperator::builder();
8 while let Some(mut tag) = decoder.next_tag() {
9 match tag.start_el() {
10 s if s.matches("Prefix") => {
11 let var_1 =
12 Some(
13 Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
14 ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
15 .into()
16 )
17 ?
18 )
19 ;
20 builder = builder.set_prefix(var_1);
21 }
22 ,
23 s if s.matches("Tag") => {
24 let var_2 =
25 Some(
26 Result::<::std::vec::Vec::<crate::types::Tag>, ::aws_smithy_xml::decode::XmlDecodeError>::Ok({
27 let mut list_3 = builder.tags.take().unwrap_or_default();
28 list_3.push(
29 crate::protocol_serde::shape_tag::de_tag(&mut tag)
30 ?
31 );
32 list_3
33 })
34 ?
35 )
36 ;
37 builder = builder.set_tags(var_2);
38 }
39 ,
40 _ => {}
41 }
42 }
43 Ok(builder.build())
44}
45
46pub fn ser_analytics_and_operator(
47 input: &crate::types::AnalyticsAndOperator,
48 writer: ::aws_smithy_xml::encode::ElWriter,
49) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
50 #[allow(unused_mut)]
51 let mut scope = writer.finish();
52 if let Some(var_4) = &input.prefix {
53 let mut inner_writer = scope.start_el("Prefix").finish();
54 inner_writer.data(var_4.as_str());
55 }
56 if let Some(var_5) = &input.tags {
57 for list_item_6 in var_5 {
58 {
59 let inner_writer = scope.start_el("Tag");
60 crate::protocol_serde::shape_tag::ser_tag(list_item_6, inner_writer)?
61 }
62 }
63 }
64 scope.finish();
65 Ok(())
66}