fn string_bool()

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'",
        )),
    }
}