aws_sdk_s3/protocol_serde/
shape_tiering.rs
1#[allow(clippy::needless_question_mark)]
3pub fn de_tiering(
4 decoder: &mut ::aws_smithy_xml::decode::ScopedDecoder,
5) -> ::std::result::Result<crate::types::Tiering, ::aws_smithy_xml::decode::XmlDecodeError> {
6 #[allow(unused_mut)]
7 let mut builder = crate::types::Tiering::builder();
8 while let Some(mut tag) = decoder.next_tag() {
9 match tag.start_el() {
10 s if s.matches("Days") => {
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#IntelligentTieringDays`)"))
18 }
19 ?
20 )
21 ;
22 builder = builder.set_days(var_1);
23 }
24 ,
25 s if s.matches("AccessTier") => {
26 let var_2 =
27 Some(
28 Result::<crate::types::IntelligentTieringAccessTier, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
29 crate::types::IntelligentTieringAccessTier::from(
30 ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
31 )
32 )
33 ?
34 )
35 ;
36 builder = builder.set_access_tier(var_2);
37 }
38 ,
39 _ => {}
40 }
41 }
42 Ok(crate::serde_util::tiering_correct_errors(builder)
43 .build()
44 .map_err(|_| ::aws_smithy_xml::decode::XmlDecodeError::custom("missing field"))?)
45}
46
47pub fn ser_tiering(
48 input: &crate::types::Tiering,
49 writer: ::aws_smithy_xml::encode::ElWriter,
50) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
51 #[allow(unused_mut)]
52 let mut scope = writer.finish();
53 {
54 let mut inner_writer = scope.start_el("Days").finish();
55 inner_writer.data(::aws_smithy_types::primitive::Encoder::from(input.days).encode());
56 }
57 {
58 let mut inner_writer = scope.start_el("AccessTier").finish();
59 inner_writer.data(input.access_tier.as_str());
60 }
61 scope.finish();
62 Ok(())
63}