aws_sdk_s3/protocol_serde/
shape_analytics_s3_bucket_destination.rs
1#[allow(clippy::needless_question_mark)]
3pub fn de_analytics_s3_bucket_destination(
4 decoder: &mut ::aws_smithy_xml::decode::ScopedDecoder,
5) -> ::std::result::Result<crate::types::AnalyticsS3BucketDestination, ::aws_smithy_xml::decode::XmlDecodeError> {
6 #[allow(unused_mut)]
7 let mut builder = crate::types::AnalyticsS3BucketDestination::builder();
8 while let Some(mut tag) = decoder.next_tag() {
9 match tag.start_el() {
10 s if s.matches("Format") => {
11 let var_1 =
12 Some(
13 Result::<crate::types::AnalyticsS3ExportFileFormat, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
14 crate::types::AnalyticsS3ExportFileFormat::from(
15 ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
16 )
17 )
18 ?
19 )
20 ;
21 builder = builder.set_format(var_1);
22 }
23 ,
24 s if s.matches("BucketAccountId") => {
25 let var_2 =
26 Some(
27 Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
28 ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
29 .into()
30 )
31 ?
32 )
33 ;
34 builder = builder.set_bucket_account_id(var_2);
35 }
36 ,
37 s if s.matches("Bucket") => {
38 let var_3 =
39 Some(
40 Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
41 ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
42 .into()
43 )
44 ?
45 )
46 ;
47 builder = builder.set_bucket(var_3);
48 }
49 ,
50 s if s.matches("Prefix") => {
51 let var_4 =
52 Some(
53 Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
54 ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
55 .into()
56 )
57 ?
58 )
59 ;
60 builder = builder.set_prefix(var_4);
61 }
62 ,
63 _ => {}
64 }
65 }
66 Ok(crate::serde_util::analytics_s3_bucket_destination_correct_errors(builder)
67 .build()
68 .map_err(|_| ::aws_smithy_xml::decode::XmlDecodeError::custom("missing field"))?)
69}
70
71pub fn ser_analytics_s3_bucket_destination(
72 input: &crate::types::AnalyticsS3BucketDestination,
73 writer: ::aws_smithy_xml::encode::ElWriter,
74) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
75 #[allow(unused_mut)]
76 let mut scope = writer.finish();
77 {
78 let mut inner_writer = scope.start_el("Format").finish();
79 inner_writer.data(input.format.as_str());
80 }
81 if let Some(var_5) = &input.bucket_account_id {
82 let mut inner_writer = scope.start_el("BucketAccountId").finish();
83 inner_writer.data(var_5.as_str());
84 }
85 {
86 let mut inner_writer = scope.start_el("Bucket").finish();
87 inner_writer.data(input.bucket.as_str());
88 }
89 if let Some(var_6) = &input.prefix {
90 let mut inner_writer = scope.start_el("Prefix").finish();
91 inner_writer.data(var_6.as_str());
92 }
93 scope.finish();
94 Ok(())
95}