aws_sdk_s3/protocol_serde/
shape_noncurrent_version_expiration.rs
1#[allow(clippy::needless_question_mark)]
3pub fn de_noncurrent_version_expiration(
4 decoder: &mut ::aws_smithy_xml::decode::ScopedDecoder,
5) -> ::std::result::Result<crate::types::NoncurrentVersionExpiration, ::aws_smithy_xml::decode::XmlDecodeError> {
6 #[allow(unused_mut)]
7 let mut builder = crate::types::NoncurrentVersionExpiration::builder();
8 while let Some(mut tag) = decoder.next_tag() {
9 match tag.start_el() {
10 s if s.matches("NoncurrentDays") => {
11 let var_1 =
12 Some(
13 {
14 <i32 as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
15 ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
16 )
17 .map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (integer: `com.amazonaws.s3#Days`)"))
18 }
19 ?
20 )
21 ;
22 builder = builder.set_noncurrent_days(var_1);
23 }
24 ,
25 s if s.matches("NewerNoncurrentVersions") => {
26 let var_2 =
27 Some(
28 {
29 <i32 as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
30 ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
31 )
32 .map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (integer: `com.amazonaws.s3#VersionCount`)"))
33 }
34 ?
35 )
36 ;
37 builder = builder.set_newer_noncurrent_versions(var_2);
38 }
39 ,
40 _ => {}
41 }
42 }
43 Ok(builder.build())
44}
45
46pub fn ser_noncurrent_version_expiration(
47 input: &crate::types::NoncurrentVersionExpiration,
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_3) = &input.noncurrent_days {
53 let mut inner_writer = scope.start_el("NoncurrentDays").finish();
54 inner_writer.data(::aws_smithy_types::primitive::Encoder::from(*var_3).encode());
55 }
56 if let Some(var_4) = &input.newer_noncurrent_versions {
57 let mut inner_writer = scope.start_el("NewerNoncurrentVersions").finish();
58 inner_writer.data(::aws_smithy_types::primitive::Encoder::from(*var_4).encode());
59 }
60 scope.finish();
61 Ok(())
62}