aws_sdk_ec2/protocol_serde/
shape_instance_status_details.rs1#[allow(clippy::needless_question_mark)]
3pub fn de_instance_status_details(
4 decoder: &mut ::aws_smithy_xml::decode::ScopedDecoder,
5) -> ::std::result::Result<crate::types::InstanceStatusDetails, ::aws_smithy_xml::decode::XmlDecodeError> {
6 #[allow(unused_mut)]
7 let mut builder = crate::types::InstanceStatusDetails::builder();
8 while let Some(mut tag) = decoder.next_tag() {
9 match tag.start_el() {
10 s if s.matches("impairedSince") => {
11 let var_1 =
12 Some(
13 ::aws_smithy_types::DateTime::from_str(
14 ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
15 , ::aws_smithy_types::date_time::Format::DateTimeWithOffset
16 )
17 .map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (timestamp: `com.amazonaws.ec2#DateTime`)"))
18 ?
19 )
20 ;
21 builder = builder.set_impaired_since(var_1);
22 }
23 ,
24 s if s.matches("name") => {
25 let var_2 =
26 Some(
27 Result::<crate::types::StatusName, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
28 crate::types::StatusName::from(
29 ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
30 )
31 )
32 ?
33 )
34 ;
35 builder = builder.set_name(var_2);
36 }
37 ,
38 s if s.matches("status") => {
39 let var_3 =
40 Some(
41 Result::<crate::types::StatusType, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
42 crate::types::StatusType::from(
43 ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
44 )
45 )
46 ?
47 )
48 ;
49 builder = builder.set_status(var_3);
50 }
51 ,
52 _ => {}
53 }
54 }
55 Ok(builder.build())
56}