aws_sdk_s3/protocol_serde/
shape_get_object_attributes_parts.rs
1#[allow(clippy::needless_question_mark)]
3pub fn de_get_object_attributes_parts(
4 decoder: &mut ::aws_smithy_xml::decode::ScopedDecoder,
5) -> ::std::result::Result<crate::types::GetObjectAttributesParts, ::aws_smithy_xml::decode::XmlDecodeError> {
6 #[allow(unused_mut)]
7 let mut builder = crate::types::GetObjectAttributesParts::builder();
8 while let Some(mut tag) = decoder.next_tag() {
9 match tag.start_el() {
10 s if s.matches("PartsCount") => {
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#PartsCount`)"))
18 }
19 ?
20 )
21 ;
22 builder = builder.set_total_parts_count(var_1);
23 }
24 ,
25 s if s.matches("PartNumberMarker") => {
26 let var_2 =
27 Some(
28 Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
29 ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
30 .into()
31 )
32 ?
33 )
34 ;
35 builder = builder.set_part_number_marker(var_2);
36 }
37 ,
38 s if s.matches("NextPartNumberMarker") => {
39 let var_3 =
40 Some(
41 Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
42 ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
43 .into()
44 )
45 ?
46 )
47 ;
48 builder = builder.set_next_part_number_marker(var_3);
49 }
50 ,
51 s if s.matches("MaxParts") => {
52 let var_4 =
53 Some(
54 {
55 <i32 as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
56 ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
57 )
58 .map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (integer: `com.amazonaws.s3#MaxParts`)"))
59 }
60 ?
61 )
62 ;
63 builder = builder.set_max_parts(var_4);
64 }
65 ,
66 s if s.matches("IsTruncated") => {
67 let var_5 =
68 Some(
69 {
70 <bool as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
71 ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
72 )
73 .map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (boolean: `com.amazonaws.s3#IsTruncated`)"))
74 }
75 ?
76 )
77 ;
78 builder = builder.set_is_truncated(var_5);
79 }
80 ,
81 s if s.matches("Part") => {
82 let var_6 =
83 Some(
84 Result::<::std::vec::Vec::<crate::types::ObjectPart>, ::aws_smithy_xml::decode::XmlDecodeError>::Ok({
85 let mut list_7 = builder.parts.take().unwrap_or_default();
86 list_7.push(
87 crate::protocol_serde::shape_object_part::de_object_part(&mut tag)
88 ?
89 );
90 list_7
91 })
92 ?
93 )
94 ;
95 builder = builder.set_parts(var_6);
96 }
97 ,
98 _ => {}
99 }
100 }
101 Ok(builder.build())
102}