workflow¶
- class aws_stepfunction.workflow.Workflow(id: str = _Nothing.NOTHING, comment: Optional[str] = None, version: Optional[str] = None, timeout_seconds: Optional[int] = None, start_at: Optional[str] = None, states: Dict[str, Union[aws_stepfunction.state.Task, aws_stepfunction.state.Parallel, aws_stepfunction.state.Map, aws_stepfunction.state.Pass, aws_stepfunction.state.Wait, aws_stepfunction.state.Choice, aws_stepfunction.state.Succeed, aws_stepfunction.state.Fail]] = _Nothing.NOTHING, started: bool = False, previous_state: Optional[Union[aws_stepfunction.state.Task, aws_stepfunction.state.Parallel, aws_stepfunction.state.Map, aws_stepfunction.state.Pass, aws_stepfunction.state.Wait, aws_stepfunction.state.Choice, aws_stepfunction.state.Succeed, aws_stepfunction.state.Fail]] = None)[source]¶
Workflow is a series of event-driven steps.
This class defines the transition logic from one step to another.
- Parameters
id –
start_at –
comment –
states –
version –
timeout_seconds –
Reference:
- subflow_from(state: Union[aws_stepfunction.state.Task, aws_stepfunction.state.Parallel, aws_stepfunction.state.Map, aws_stepfunction.state.Pass, aws_stepfunction.state.Wait, aws_stepfunction.state.Choice, aws_stepfunction.state.Succeed, aws_stepfunction.state.Fail]) aws_stepfunction.workflow.Workflow [source]¶
Similar to
Workflow.start_from()
, but it creates a new workflow instance and start from there.
- start_from(state: Union[aws_stepfunction.state.Task, aws_stepfunction.state.Parallel, aws_stepfunction.state.Map, aws_stepfunction.state.Pass, aws_stepfunction.state.Wait, aws_stepfunction.state.Choice, aws_stepfunction.state.Succeed, aws_stepfunction.state.Fail]) aws_stepfunction.workflow.Workflow [source]¶
Start the workflow from a state.
- next_then(state: Union[aws_stepfunction.state.Task, aws_stepfunction.state.Parallel, aws_stepfunction.state.Map, aws_stepfunction.state.Pass, aws_stepfunction.state.Wait, aws_stepfunction.state.Choice, aws_stepfunction.state.Succeed, aws_stepfunction.state.Fail]) aws_stepfunction.workflow.Workflow [source]¶
Move from previous state to the next state.
- start_from_parallel(branches: Iterable[aws_stepfunction.workflow.Workflow], id: Optional[str] = None) aws_stepfunction.workflow.Workflow [source]¶
- parallel(branches: Iterable[aws_stepfunction.workflow.Workflow], id: Optional[str] = None) aws_stepfunction.workflow.Workflow [source]¶
Create a
Parallel
state and set it as the next.You definitely can manually create a
Parallel
state and pass tonext_then()
. However, it damages the code readability and NOT RECOMMENDED.
- start_from_map(iterator: aws_stepfunction.workflow.Workflow, items_path: Optional[str] = None, max_concurrency: Optional[int] = None, id: Optional[str] = None) aws_stepfunction.workflow.Workflow [source]¶
- map(iterator: aws_stepfunction.workflow.Workflow, items_path: Optional[str] = None, max_concurrency: Optional[int] = None, id: Optional[str] = None) aws_stepfunction.workflow.Workflow [source]¶
- start_from_choice(choices: List[aws_stepfunction.choice_rule.ChoiceRule], default: Optional[Union[aws_stepfunction.state.Task, aws_stepfunction.state.Parallel, aws_stepfunction.state.Map, aws_stepfunction.state.Pass, aws_stepfunction.state.Wait, aws_stepfunction.state.Choice, aws_stepfunction.state.Succeed, aws_stepfunction.state.Fail]] = None, id: Optional[str] = None)[source]¶
Example:
workflow.start_from_choice( # this is chocies [ ] )
- choice(choices: List[aws_stepfunction.choice_rule.ChoiceRule], default: Optional[Union[aws_stepfunction.state.Task, aws_stepfunction.state.Parallel, aws_stepfunction.state.Map, aws_stepfunction.state.Pass, aws_stepfunction.state.Wait, aws_stepfunction.state.Choice, aws_stepfunction.state.Succeed, aws_stepfunction.state.Fail]] = None, id: Optional[str] = None)[source]¶
- wait(id: Optional[str] = None, seconds: Optional[int] = None, timestamp: Optional[str] = None, seconds_path: Optional[str] = None, timestamp_path: Optional[str] = None) aws_stepfunction.workflow.Workflow [source]¶
Create a
Wait
state and set it as the next.
- succeed(id: Optional[str] = None) aws_stepfunction.workflow.Workflow [source]¶
Create a
Succeed
state and set it as the next.
- fail(cause: Optional[str] = None, error: Optional[str] = None, id: Optional[str] = None) aws_stepfunction.workflow.Workflow [source]¶
Create a
Fail
state and set it as the next.
- end() aws_stepfunction.workflow.Workflow [source]¶
Mark the workflow is end, and also set the last state in the workflow End = True.
- continue_from(state: Union[aws_stepfunction.state.Task, aws_stepfunction.state.Parallel, aws_stepfunction.state.Map, aws_stepfunction.state.Pass, aws_stepfunction.state.Wait, aws_stepfunction.state.Choice, aws_stepfunction.state.Succeed, aws_stepfunction.state.Fail]) aws_stepfunction.workflow.Workflow [source]¶
Continue workflow from a given state.