pub struct ProcedureExecutionStepNode {
pub id: String,
pub template_node_id: String,
pub is_outdated: bool,
pub state: Option<ExecutionStepState>,
pub value: Option<StepContentValue>,
pub auto_proceed_config: Option<AutoProceedConfig>,
pub success_condition_status: Option<SuccessConditionStatus>,
pub completion_action_statuses: Vec<CompletionActionStatus>,
pub outputs: HashMap<String, FieldOutput>,
pub template_commit_id: Option<String>,
}
Expand description
Execution steps are the interactive steps in a procedure.
Fields§
§id: String
Unique identifier of this execution node.
template_node_id: String
Unique identifier of the template node this execution node is based on.
is_outdated: bool
Execution steps become “outdated” once any upstream steps are re-run An outdated execution step should not be further modified.
state: Option<ExecutionStepState>
The current status of the step along with metadata about the status transitions.
value: Option<StepContentValue>
The current value for the content of the step.
auto_proceed_config: Option<AutoProceedConfig>
Whether the step has auto-proceed enabled.
success_condition_status: Option<SuccessConditionStatus>
Completion_condition_status is the status of the completion condition for the step The backend manages this property and will update it while it monitors the completion_condition if set. This property will be unset if no completion_condition is set on the step or if the execution step’s contents has not been submitted yet. TODO(niwong): do we store the temporal workflow ID? Do we just derive it from the step ID and execution rid?
completion_action_statuses: Vec<CompletionActionStatus>
Completion_action_statuses are the status of the completion actions for the step The backend manages this property and will update it after performing completion_actions.
outputs: HashMap<String, FieldOutput>
Outputs are the values of the fields within this step, set by the backend after the step has reached
a completed state (SUCCEEDED, ERRORED, SKIPPED).
The backend will know how to introspect the node and determine these values, for example looking for
form fields with ids in a FormStep.
These outputs can be consumed by other steps later in the procedure by referencing {output_id}:{field_id}
template_commit_id: Option<String>
If set, the commit ID of the procedure template this step is based on. Otherwise, the step is based on the template commit specified at the top level of the execution.
Implementations§
Source§impl ProcedureExecutionStepNode
impl ProcedureExecutionStepNode
Sourcepub fn template_commit_id(&self) -> &str
pub fn template_commit_id(&self) -> &str
Returns the value of template_commit_id
, or the default value if template_commit_id
is unset.
Trait Implementations§
Source§impl Clone for ProcedureExecutionStepNode
impl Clone for ProcedureExecutionStepNode
Source§fn clone(&self) -> ProcedureExecutionStepNode
fn clone(&self) -> ProcedureExecutionStepNode
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for ProcedureExecutionStepNode
impl Debug for ProcedureExecutionStepNode
Source§impl Default for ProcedureExecutionStepNode
impl Default for ProcedureExecutionStepNode
Source§impl Message for ProcedureExecutionStepNode
impl Message for ProcedureExecutionStepNode
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
. Read moreSource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
.impl StructuralPartialEq for ProcedureExecutionStepNode
Auto Trait Implementations§
impl Freeze for ProcedureExecutionStepNode
impl RefUnwindSafe for ProcedureExecutionStepNode
impl Send for ProcedureExecutionStepNode
impl Sync for ProcedureExecutionStepNode
impl Unpin for ProcedureExecutionStepNode
impl UnwindSafe for ProcedureExecutionStepNode
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request