pub fn de_resource_identifier_properties(
decoder: &mut ::aws_smithy_xml::decode::ScopedDecoder,
) -> ::std::result::Result<::std::collections::HashMap<::std::string::String, ::std::string::String>, ::aws_smithy_xml::decode::XmlDecodeError> {
let mut out = ::std::collections::HashMap::new();
while let Some(mut tag) = decoder.next_tag() {
match tag.start_el() {
s if s.matches("entry") => {
crate::protocol_serde::shape_resource_identifier_properties::de_resource_identifier_properties_entry(&mut tag, &mut out)?;
}
_ => {}
}
}
Ok(out)
}
pub fn de_resource_identifier_properties_entry(
decoder: &mut ::aws_smithy_xml::decode::ScopedDecoder,
out: &mut ::std::collections::HashMap<::std::string::String, ::std::string::String>,
) -> ::std::result::Result<(), ::aws_smithy_xml::decode::XmlDecodeError> {
let mut k: Option<::std::string::String> = None;
let mut v: Option<::std::string::String> = None;
while let Some(mut tag) = decoder.next_tag() {
match tag.start_el() {
s if s.matches("key") => {
k = Some(
Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
.into()
)
?
)
}
,
s if s.matches("value") => {
v = Some(
Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
.into()
)
?
)
}
,
_ => {}
}
}
let k = k.ok_or_else(|| ::aws_smithy_xml::decode::XmlDecodeError::custom("missing key map entry"))?;
let v = v.ok_or_else(|| ::aws_smithy_xml::decode::XmlDecodeError::custom("missing value map entry"))?;
out.insert(k, v);
Ok(())
}