solti_model/error.rs
1//! # Model errors.
2//!
3//! [`ModelError`] covers validation and consistency failures in the domain model.
4
5use std::borrow::Cow;
6
7use thiserror::Error;
8
9/// Errors produced by domain model validation and construction.
10///
11/// ## Also
12///
13/// - [`TaskSpec::validate`](crate::TaskSpec::validate) — submit-boundary validation.
14/// - [`TaskSpecBuilder::build`](crate::TaskSpecBuilder::build) — builder-time validation.
15/// - [`BackoffPolicy::validate`](crate::BackoffPolicy::validate) — backoff parameter validation.
16#[derive(Debug, Error)]
17pub enum ModelError {
18 #[error("unknown admission policy: {0}")]
19 UnknownAdmission(String),
20
21 #[error("unknown restart policy: {0}")]
22 UnknownRestart(String),
23
24 #[error("unknown jitter policy: {0}")]
25 UnknownJitter(String),
26
27 #[error("unknown task phase: {0}")]
28 UnknownTaskPhase(String),
29
30 #[error("invalid model: {0}")]
31 Invalid(Cow<'static, str>),
32}
33
34pub type ModelResult<T> = Result<T, ModelError>;