from collections import OrderedDict from typing import Dict from localstack.services.stores import AccountRegionBundle, BaseStore, LocalAttribute from moto.stepfunctions.parser.api import Arn from moto.stepfunctions.parser.backend.activity import Activity from moto.stepfunctions.parser.backend.execution import Execution from moto.stepfunctions.parser.backend.state_machine import StateMachineInstance class SFNStore(BaseStore): # Maps ARNs to state machines. state_machines: Dict[Arn, StateMachineInstance] = LocalAttribute(default=dict) # Maps Execution-ARNs to state machines. executions: Dict[Arn, Execution] = LocalAttribute( default=OrderedDict ) # TODO: when snapshot to pods stop execution(?) activities: OrderedDict[Arn, Activity] = LocalAttribute(default=dict) sfn_stores: AccountRegionBundle = AccountRegionBundle("stepfunctions", SFNStore)
Memory