Skip to content
23K
Console

Choice

The Choice state is internally used by the StepFunctions component to add a Choice workflow state to a state machine.

You’ll find this component returned by the choice method of the StepFunctions component.


Constructor

new Choice(args)

Parameters

ChoiceArgs

assign?

Type Record<string, any>

Used to store variables. The Assign field accepts a JSON object with key/value pairs that define variable names and their assigned values. Alternatively, you can pass in a JSONata expression directly.

For more information, see Passing data between states with variables.

Provide a JSON object with variable names and values.

{
assign: {
productName: "product1",
count: 42,
available: true,
}
}

Assign values from state input and result using JSONata expressions.

{
assign: {
product: "{% $states.input.order.product %}",
currentPrice: "{% $states.result.Payload.current_price %}"
}
}

comment?

Type Input<string>

A comment to describe the state.

name

Type string

The name of the state.

output?

Type Input<Record<string, any> | {% ${string} %}>

Specify and transform output from the state. When specified, the value overrides the state output default.

The output field accepts any JSON value (object, array, string, number, boolean, null). Alternatively, you can pass in a JSONata expression directly.

For more information, see Transforming data with JSONata in Step Functions.

Methods

otherwise

otherwise(next)

Parameters

  • next State

    The state to transition to.

Returns Choice

Add a default next state to the Choice state. If no other condition matches, continue execution with the given state.

when

when(condition, next)

Parameters

  • condition {% ${string} %}

    The condition to evaluate.
  • next State

    The state to transition to.

Returns Choice

Add a matching condition to the Choice state. If the given condition matches, continue execution with the given state.