pub struct SubWorkflowStep {
pub workflow_id: String,
pub version: u32,
pub inputs: Value,
pub output_keys: Vec<String>,
pub input_schema: Option<WorkflowSchema>,
pub output_schema: Option<WorkflowSchema>,
}Expand description
A step that starts a child workflow and waits for its completion.
On first invocation, it validates inputs against input_schema, starts the
child workflow via the host context, and returns a “wait for event” result.
When the child workflow completes, the event data arrives, output keys are extracted, and the step proceeds.
Fields§
§workflow_id: StringThe definition ID of the child workflow to start.
version: u32The version of the child workflow definition.
inputs: ValueInput data to pass to the child workflow.
output_keys: Vec<String>Keys to extract from the child workflow’s completion event data.
input_schema: Option<WorkflowSchema>Optional schema to validate inputs before starting the child.
output_schema: Option<WorkflowSchema>Optional schema to validate outputs from the child.
Trait Implementations§
Source§impl Default for SubWorkflowStep
impl Default for SubWorkflowStep
Source§fn default() -> SubWorkflowStep
fn default() -> SubWorkflowStep
Returns the “default value” for a type. Read more
Source§impl StepBody for SubWorkflowStep
impl StepBody for SubWorkflowStep
Source§fn run<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
context: &'life1 StepExecutionContext<'life2>,
) -> Pin<Box<dyn Future<Output = Result<ExecutionResult>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn run<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
context: &'life1 StepExecutionContext<'life2>,
) -> Pin<Box<dyn Future<Output = Result<ExecutionResult>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Execute the step. Read more
Source§fn mount_artifacts<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
_context: &'life1 StepExecutionContext<'life2>,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn mount_artifacts<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
_context: &'life1 StepExecutionContext<'life2>,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Mount any artifacts this step requires. Read more
Source§fn unmount_artifacts<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
_context: &'life1 StepExecutionContext<'life2>,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn unmount_artifacts<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
_context: &'life1 StepExecutionContext<'life2>,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Unmount and clean up artifacts. Read more
Auto Trait Implementations§
impl Freeze for SubWorkflowStep
impl RefUnwindSafe for SubWorkflowStep
impl Send for SubWorkflowStep
impl Sync for SubWorkflowStep
impl Unpin for SubWorkflowStep
impl UnsafeUnpin for SubWorkflowStep
impl UnwindSafe for SubWorkflowStep
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