aws_sdk_s3/protocol_serde/
shape_logging_enabled.rs
1#[allow(clippy::needless_question_mark)]
3pub fn de_logging_enabled(
4 decoder: &mut ::aws_smithy_xml::decode::ScopedDecoder,
5) -> ::std::result::Result<crate::types::LoggingEnabled, ::aws_smithy_xml::decode::XmlDecodeError> {
6 #[allow(unused_mut)]
7 let mut builder = crate::types::LoggingEnabled::builder();
8 while let Some(mut tag) = decoder.next_tag() {
9 match tag.start_el() {
10 s if s.matches("TargetBucket") => {
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_target_bucket(var_1);
21 }
22 ,
23 s if s.matches("TargetGrants") => {
24 let var_2 =
25 Some(
26 crate::protocol_serde::shape_target_grants::de_target_grants(&mut tag)
27 ?
28 )
29 ;
30 builder = builder.set_target_grants(var_2);
31 }
32 ,
33 s if s.matches("TargetPrefix") => {
34 let var_3 =
35 Some(
36 Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
37 ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
38 .into()
39 )
40 ?
41 )
42 ;
43 builder = builder.set_target_prefix(var_3);
44 }
45 ,
46 s if s.matches("TargetObjectKeyFormat") => {
47 let var_4 =
48 Some(
49 crate::protocol_serde::shape_target_object_key_format::de_target_object_key_format(&mut tag)
50 ?
51 )
52 ;
53 builder = builder.set_target_object_key_format(var_4);
54 }
55 ,
56 _ => {}
57 }
58 }
59 Ok(crate::serde_util::logging_enabled_correct_errors(builder)
60 .build()
61 .map_err(|_| ::aws_smithy_xml::decode::XmlDecodeError::custom("missing field"))?)
62}
63
64pub fn ser_logging_enabled(
65 input: &crate::types::LoggingEnabled,
66 writer: ::aws_smithy_xml::encode::ElWriter,
67) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
68 #[allow(unused_mut)]
69 let mut scope = writer.finish();
70 {
71 let mut inner_writer = scope.start_el("TargetBucket").finish();
72 inner_writer.data(input.target_bucket.as_str());
73 }
74 if let Some(var_5) = &input.target_grants {
75 let mut inner_writer = scope.start_el("TargetGrants").finish();
76 for list_item_6 in var_5 {
77 {
78 let inner_writer = inner_writer.start_el("Grant");
79 crate::protocol_serde::shape_target_grant::ser_target_grant(list_item_6, inner_writer)?
80 }
81 }
82 }
83 {
84 let mut inner_writer = scope.start_el("TargetPrefix").finish();
85 inner_writer.data(input.target_prefix.as_str());
86 }
87 if let Some(var_7) = &input.target_object_key_format {
88 let inner_writer = scope.start_el("TargetObjectKeyFormat");
89 crate::protocol_serde::shape_target_object_key_format::ser_target_object_key_format(var_7, inner_writer)?
90 }
91 scope.finish();
92 Ok(())
93}