use std::borrow::Cow;
use thiserror::Error;
#[derive(Debug, Error)]
#[non_exhaustive]
pub enum ModelError {
#[error("unknown admission policy: {0}")]
UnknownAdmission(String),
#[error("unknown restart policy: {0}")]
UnknownRestart(String),
#[error("unknown jitter policy: {0}")]
UnknownJitter(String),
#[error("unknown task phase: {0}")]
UnknownTaskPhase(String),
#[error("invalid model: {0}")]
Invalid(Cow<'static, str>),
}
pub type ModelResult<T> = Result<T, ModelError>;