[ { "input": { "foo": 1, "bar": 2 }, "output": { "foo": 1, "bar": 2 }, "states": ["FirstState", "ChoiceState", "SecondMatchState", "NextState"], "task_behavior": { } }, { "input": { "foo": 3 }, "output": { "foo": 3 }, "states": ["FirstState", "ChoiceState", "SecondMatchState", "NextState"], "task_behavior": { } }, { "input": { "foo": 2, "bar": 3 }, "error": { "Error": "DefaultStateError", "Cause": "No Matches!" }, "states": ["FirstState", "ChoiceState", "DefaultState"], "task_behavior": { } }, { "input": { "foo": 2 }, "error": { "Error": "DefaultStateError", "Cause": "No Matches!" }, "states": ["FirstState", "ChoiceState", "DefaultState"], "task_behavior": { } }, { // In this case, the Choice cannot evaluate the $.foo, so it crashes the state machine "input": { "bar": 2 }, "error": { "Error": "States.NoChoiceMatched", // TODO: When running on Step Functions, this caused a States.Runtime. "Cause": "Malformed choice due to: Value not found from input" // TODO: Provide the same cause as Step Functions (good for debugging) }, "states": ["FirstState", "ChoiceState"], "task_behavior": { } } ]