Step Functions
Full ASL interpreter, cross-service task integrations, execution history.
fakecloud implements 37 of 37 Step Functions operations at 100% Smithy conformance, including a full ASL (Amazon States Language) interpreter.
Supported features
- State machines — CRUD, versions, aliases, tags
- Executions — StartExecution, StartSyncExecution, StopExecution, DescribeExecution, GetExecutionHistory
- ASL states — Pass, Task, Choice, Wait, Parallel, Map, Succeed, Fail
- Retry and Catch — full retry logic with exponential backoff, catch clauses with error filters
- JSONPath and JSONata — both query languages for state input/output
- Task integrations — Lambda (invoke, invoke.waitForTaskToken), SQS (sendMessage), SNS (publish), EventBridge (putEvents), DynamoDB (getItem/putItem/updateItem/deleteItem)
- Map state — parallel item processing with concurrency control
- Parallel state — concurrent branch execution
- Activities — task workers, GetActivityTask, SendTaskSuccess/Failure
- State machine execution history — full event log per execution
- Error handling — states.ALL, states.TaskFailed, custom error names
Protocol
JSON protocol. X-Amz-Target header, JSON body, JSON responses.
Introspection
GET /_fakecloud/stepfunctions/executions— list all executions with status, input, output, and timestamps
Cross-service delivery
- Step Functions -> Lambda / SQS / SNS / EventBridge / DynamoDB — Task states invoke functions, send messages, publish events, and read/write items
Why this matters
Most emulators stub Step Functions or support a tiny subset of the ASL spec. fakecloud runs the full interpreter — your state machine definitions execute with real branching, retries, catches, and task integrations. This lets you test orchestration logic end-to-end without touching real AWS.