use super::provider_schema_fragment::ProviderSchemaFragment;
#[expect(
clippy::large_enum_variant,
reason = "this transient result avoids a heap allocation on every successful lookup"
)]
#[derive(Clone, Debug)]
pub enum ProviderLookupResult {
Found {
schema: ProviderSchemaFragment,
resolved_k8s_version: Option<String>,
},
PathUnresolved,
ResourceDocMissing {
io_error: String,
source_path: String,
},
NotOwned,
}
impl ProviderLookupResult {
#[must_use]
pub fn into_schema_fragment(self) -> Option<ProviderSchemaFragment> {
match self {
Self::Found { schema, .. } => Some(schema),
Self::PathUnresolved | Self::ResourceDocMissing { .. } | Self::NotOwned => None,
}
}
}