pub enum EngineError {
Operation(OperationError),
Store(StoreError),
InvalidWorkflow(String),
StepConfig(String),
Serialization(Error),
RunBudgetExceeded {
run_id: Uuid,
limit_usd: Decimal,
spent_usd: Decimal,
step_budget_usd: Decimal,
},
MonthlyBudgetExceeded {
limit_usd: Decimal,
spent_usd: Decimal,
},
MissingArtifact {
step: String,
pattern: String,
},
ArtifactNotFound {
step: String,
name: String,
},
ArtifactsUnavailable(String),
Artifact(ArtifactError),
ApprovalRequired {
run_id: Uuid,
step_id: Uuid,
message: String,
},
}Expand description
Errors produced by the workflow engine.
Variants§
Operation(OperationError)
An operation (Shell, Http, Agent) failed during step execution.
Store(StoreError)
The backing store returned an error.
InvalidWorkflow(String)
The workflow definition is invalid.
StepConfig(String)
A step configuration could not be deserialized for execution.
Serialization(Error)
JSON serialization error.
RunBudgetExceeded
The run reached its cumulative cost cap before launching an agent step.
Raised before the step is created, so no work and no spend happen.
The engine transitions the run to
Cancelled.
Fields
MonthlyBudgetExceeded
The global monthly cost quota is exhausted; no new run may be created.
Runs already in flight are never interrupted by this error.
Fields
MissingArtifact
A step declared an output that produced no file.
Raised only when the step itself succeeded: a declared output that never materialised is a broken contract, and failing here beats failing later in whichever step tried to consume it.
Fields
ArtifactNotFound
A step asked for an artifact that no earlier step produced.
Fields
Artifacts were used but no storage backend is configured.
Artifact(ArtifactError)
The artifact storage backend failed.
ApprovalRequired
The run requires human approval before continuing.
Trait Implementations§
Source§impl Debug for EngineError
impl Debug for EngineError
Source§impl Display for EngineError
impl Display for EngineError
Source§impl Error for EngineError
impl Error for EngineError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
Source§impl From<ArtifactError> for EngineError
impl From<ArtifactError> for EngineError
Source§fn from(source: ArtifactError) -> Self
fn from(source: ArtifactError) -> Self
Source§impl From<Error> for EngineError
impl From<Error> for EngineError
Source§impl From<OperationError> for EngineError
impl From<OperationError> for EngineError
Source§fn from(source: OperationError) -> Self
fn from(source: OperationError) -> Self
Source§impl From<StoreError> for EngineError
impl From<StoreError> for EngineError
Source§fn from(source: StoreError) -> Self
fn from(source: StoreError) -> Self
Auto Trait Implementations§
impl !RefUnwindSafe for EngineError
impl !UnwindSafe for EngineError
impl Freeze for EngineError
impl Send for EngineError
impl Sync for EngineError
impl Unpin for EngineError
impl UnsafeUnpin for EngineError
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.