Skip to main content

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>;