pub enum Condition {
Show 13 variants
Equals {
variable: String,
value: Value,
},
NotEquals {
variable: String,
value: Value,
},
GreaterThan {
variable: String,
value: f64,
},
LessThan {
variable: String,
value: f64,
},
GreaterThanOrEqual {
variable: String,
value: f64,
},
LessThanOrEqual {
variable: String,
value: f64,
},
Exists {
variable: String,
},
And {
conditions: Vec<Condition>,
},
Or {
conditions: Vec<Condition>,
},
Not {
condition: Box<Condition>,
},
PreviousStepSucceeded,
PreviousStepFailed,
MetricThreshold {
metric_name: String,
operator: ComparisonOperator,
threshold: f64,
},
}Expand description
Conditional expression for if/then logic
Variants§
Equals
Variable equals value
NotEquals
Variable not equals value
GreaterThan
Variable greater than value
LessThan
Variable less than value
GreaterThanOrEqual
Variable greater than or equal to value
LessThanOrEqual
Variable less than or equal to value
Exists
Variable exists
And
AND condition
Or
OR condition
Not
NOT condition
PreviousStepSucceeded
Previous step succeeded
PreviousStepFailed
Previous step failed
MetricThreshold
Metric threshold
Implementations§
Source§impl Condition
impl Condition
Sourcepub fn evaluate(
&self,
context: &ExecutionContext,
) -> Result<bool, OrchestrationError>
pub fn evaluate( &self, context: &ExecutionContext, ) -> Result<bool, OrchestrationError>
Evaluate the condition
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Condition
impl<'de> Deserialize<'de> for Condition
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 Condition
impl RefUnwindSafe for Condition
impl Send for Condition
impl Sync for Condition
impl Unpin for Condition
impl UnwindSafe for Condition
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request