aws-cdk-lib.aws_stepfunctions.StateGraph

class StateGraph

LanguageType name
.NETAmazon.CDK.AWS.StepFunctions.StateGraph
Gogithub.com/aws/aws-cdk-go/awscdk/v2/awsstepfunctions#StateGraph
Javasoftware.amazon.awscdk.services.stepfunctions.StateGraph
Pythonaws_cdk.aws_stepfunctions.StateGraph
TypeScript (source)aws-cdk-lib » aws_stepfunctions » StateGraph

A collection of connected states.

A StateGraph is used to keep track of all states that are connected (have transitions between them). It does not include the substatemachines in a Parallel's branches: those are their own StateGraphs, but the graphs themselves have a hierarchical relationship as well.

By assigning states to a definitive StateGraph, we verify that no state machines are constructed. In particular:

  • Every state object can only ever be in 1 StateGraph, and not inadvertently be used in two graphs.
  • Every stateId must be unique across all states in the entire state machine.

All policy statements in all states in all substatemachines are bubbled so that the top-level StateMachine instantiation can read them all and add them to the IAM Role.

You do not need to instantiate this class; it is used internally.

Example

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { aws_stepfunctions as stepfunctions } from 'aws-cdk-lib';

declare const state: stepfunctions.State;
const stateGraph = new stepfunctions.StateGraph(state, 'graphDescription');

Initializer

new StateGraph(startState: State, graphDescription: string)

Parameters

  • startState State — state that gets executed when the state machine is launched.
  • graphDescription string — description of the state machine.

Properties

NameTypeDescription
policyStatementsPolicyStatement[]The accumulated policy statements.
startStateStatestate that gets executed when the state machine is launched.
timeout?DurationSet a timeout to render into the graph JSON.

policyStatements

Type: PolicyStatement[]

The accumulated policy statements.


startState

Type: State

state that gets executed when the state machine is launched.


timeout?

Type: Duration (optional, default: No timeout)

Set a timeout to render into the graph JSON.

Read/write. Only makes sense on the top-level graph, subgraphs do not support this feature.

Methods

NameDescription
registerPolicyStatement(statement)Register a Policy Statement used by states in this graph.
registerState(state)Register a state as part of this graph.
registerSuperGraph(graph)Register this graph as a child of the given graph.
toGraphJson()Return the Amazon States Language JSON for this graph.
toString()Return a string description of this graph.

registerPolicyStatement(statement)

public registerPolicyStatement(statement: PolicyStatement): void

Parameters

  • statement PolicyStatement

Register a Policy Statement used by states in this graph.


registerState(state)

public registerState(state: State): void

Parameters

  • state State

Register a state as part of this graph.

Called by State.bindToGraph().


registerSuperGraph(graph)

public registerSuperGraph(graph: StateGraph): void

Parameters

  • graph StateGraph

Register this graph as a child of the given graph.

Resource changes will be bubbled up to the given graph.


toGraphJson()

public toGraphJson(): json

Returns

  • json

Return the Amazon States Language JSON for this graph.


toString()

public toString(): string

Returns

  • string

Return a string description of this graph.