aws_sdk_s3/protocol_serde/
shape_default_retention.rs
1pub fn ser_default_retention(
3 input: &crate::types::DefaultRetention,
4 writer: ::aws_smithy_xml::encode::ElWriter,
5) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
6 #[allow(unused_mut)]
7 let mut scope = writer.finish();
8 if let Some(var_1) = &input.mode {
9 let mut inner_writer = scope.start_el("Mode").finish();
10 inner_writer.data(var_1.as_str());
11 }
12 if let Some(var_2) = &input.days {
13 let mut inner_writer = scope.start_el("Days").finish();
14 inner_writer.data(::aws_smithy_types::primitive::Encoder::from(*var_2).encode());
15 }
16 if let Some(var_3) = &input.years {
17 let mut inner_writer = scope.start_el("Years").finish();
18 inner_writer.data(::aws_smithy_types::primitive::Encoder::from(*var_3).encode());
19 }
20 scope.finish();
21 Ok(())
22}
23
24#[allow(clippy::needless_question_mark)]
25pub fn de_default_retention(
26 decoder: &mut ::aws_smithy_xml::decode::ScopedDecoder,
27) -> ::std::result::Result<crate::types::DefaultRetention, ::aws_smithy_xml::decode::XmlDecodeError> {
28 #[allow(unused_mut)]
29 let mut builder = crate::types::DefaultRetention::builder();
30 while let Some(mut tag) = decoder.next_tag() {
31 match tag.start_el() {
32 s if s.matches("Mode") => {
33 let var_4 =
34 Some(
35 Result::<crate::types::ObjectLockRetentionMode, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
36 crate::types::ObjectLockRetentionMode::from(
37 ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
38 )
39 )
40 ?
41 )
42 ;
43 builder = builder.set_mode(var_4);
44 }
45 ,
46 s if s.matches("Days") => {
47 let var_5 =
48 Some(
49 {
50 <i32 as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
51 ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
52 )
53 .map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (integer: `com.amazonaws.s3#Days`)"))
54 }
55 ?
56 )
57 ;
58 builder = builder.set_days(var_5);
59 }
60 ,
61 s if s.matches("Years") => {
62 let var_6 =
63 Some(
64 {
65 <i32 as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
66 ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
67 )
68 .map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (integer: `com.amazonaws.s3#Years`)"))
69 }
70 ?
71 )
72 ;
73 builder = builder.set_years(var_6);
74 }
75 ,
76 _ => {}
77 }
78 }
79 Ok(builder.build())
80}