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