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 to next_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.