pub struct WorkflowDefinition {
pub id: String,
pub name: Option<String>,
pub version: u32,
pub description: Option<String>,
pub steps: Vec<WorkflowStep>,
pub default_error_behavior: ErrorBehavior,
pub default_error_retry_interval: Option<Duration>,
pub services: Vec<ServiceDefinition>,
pub shared_volume: Option<SharedVolume>,
}Expand description
A compiled workflow definition ready for execution.
Fields§
§id: StringStable slug used as the primary key (e.g. “ci”, “checkout”). Must be unique within a host. Referenced by other workflows, webhooks, and clients when starting new instances.
name: Option<String>Optional human-friendly display name surfaced in UIs, listings, and
logs (e.g. “Continuous Integration”). Falls back to id when unset.
version: u32§description: Option<String>§steps: Vec<WorkflowStep>§default_error_behavior: ErrorBehavior§default_error_retry_interval: Option<Duration>§services: Vec<ServiceDefinition>Infrastructure services required by this workflow (databases, caches, etc.).
When set, the backend provisions a single persistent volume for the top-level workflow instance and mounts it on every step container. All sub-workflows inherit the same volume through their shared namespace/isolation domain. Sub-workflow declarations are ignored.
Implementations§
Trait Implementations§
Source§impl Clone for WorkflowDefinition
impl Clone for WorkflowDefinition
Source§fn clone(&self) -> WorkflowDefinition
fn clone(&self) -> WorkflowDefinition
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for WorkflowDefinition
impl Debug for WorkflowDefinition
Source§impl<'de> Deserialize<'de> for WorkflowDefinition
impl<'de> Deserialize<'de> for WorkflowDefinition
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for WorkflowDefinition
impl RefUnwindSafe for WorkflowDefinition
impl Send for WorkflowDefinition
impl Sync for WorkflowDefinition
impl Unpin for WorkflowDefinition
impl UnsafeUnpin for WorkflowDefinition
impl UnwindSafe for WorkflowDefinition
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
Mutably borrows from an owned value. Read more