in libazureinit/src/imds.rs [125:143]
fn string_bool<'de, D>(deserializer: D) -> Result<bool, D::Error>
where
D: Deserializer<'de>,
{
match Deserialize::deserialize(deserializer)? {
Value::String(string) => match string.as_str() {
"true" => Ok(true),
"false" => Ok(false),
unknown => Err(serde::de::Error::unknown_variant(
unknown,
&["true", "false"],
)),
},
Value::Bool(boolean) => Ok(boolean),
_ => Err(serde::de::Error::custom(
"Unexpected type, expected 'true' or 'false'",
)),
}
}