pub enum StepCondition {
Always,
OnPreviousSuccess,
OnPreviousFailure,
Expression(String),
FieldEquals {
field: String,
value: String,
},
FieldContains {
field: String,
substring: String,
},
And(Vec<StepCondition>),
Or(Vec<StepCondition>),
Not(Box<StepCondition>),
}Expand description
A condition that gates whether a workflow step should execute.
Variants§
Always
Always execute — the step is unconditional.
OnPreviousSuccess
Execute only when the immediately preceding step succeeded.
OnPreviousFailure
Execute only when the immediately preceding step failed.
Expression(String)
Evaluate a simple expression of the form "field op value".
Supported operators: >, <, ==, !=, >=, <=, contains.
FieldEquals
Execute when ctx.previous_output[field] == value.
FieldContains
Execute when ctx.previous_output[field] contains substring.
And(Vec<StepCondition>)
All sub-conditions must be true (short-circuit).
Or(Vec<StepCondition>)
At least one sub-condition must be true (short-circuit).
Not(Box<StepCondition>)
Negation of the inner condition.
Implementations§
Source§impl StepCondition
impl StepCondition
Sourcepub fn parse(s: &str) -> Result<Self, String>
pub fn parse(s: &str) -> Result<Self, String>
Parse a StepCondition from its string representation.
Supported forms:
"always"→StepCondition::Always"on_success"/"on_previous_success"→StepCondition::OnPreviousSuccess"on_failure"/"on_previous_failure"→StepCondition::OnPreviousFailure"expr: <expression>"→StepCondition::Expression"field_equals: <field>=<value>"→StepCondition::FieldEquals"field_contains: <field>=<substring>"→StepCondition::FieldContains
§Errors
Returns an error string for unrecognised or malformed input.
Trait Implementations§
Source§impl Clone for StepCondition
impl Clone for StepCondition
Source§fn clone(&self) -> StepCondition
fn clone(&self) -> StepCondition
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 StepCondition
impl Debug for StepCondition
Source§impl<'de> Deserialize<'de> for StepCondition
impl<'de> Deserialize<'de> for StepCondition
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 StepCondition
impl RefUnwindSafe for StepCondition
impl Send for StepCondition
impl Sync for StepCondition
impl Unpin for StepCondition
impl UnsafeUnpin for StepCondition
impl UnwindSafe for StepCondition
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