1import type * as sfn from "@distilled.cloud/aws/sfn";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4import type { StateMachine } from "./StateMachine.ts";
5
6export interface ListMapRunsRequest extends sfn.ListMapRunsInput {}
7
8/**
9 * Runtime binding for `states:ListMapRuns`.
10 *
11 * Lists the Distributed Map Runs started by an execution of the bound
12 * {@link StateMachine} — use the returned `mapRunArn`s with
13 * `DescribeMapRun` / `UpdateMapRun`. IAM access is scoped to executions of
14 * the bound state machine.
15 * ### Distributed Map Runs
16 * **Example:** List an execution's Map Runs
17 * ```typescript
18 * const listMapRuns = yield* StepFunctions.ListMapRuns(machine);
19 *
20 * const { mapRuns } = yield* listMapRuns({ executionArn });
21 * ```
22 *
23 * @binding
24 */
25export interface ListMapRuns extends Binding.Service<
26 ListMapRuns,
27 "AWS.StepFunctions.ListMapRuns",
28 (
29 stateMachine: StateMachine,
30 ) => Effect.Effect<
31 (
32 request: ListMapRunsRequest,
33 ) => Effect.Effect<sfn.ListMapRunsOutput, sfn.ListMapRunsError>
34 >
35> {}
36export const ListMapRuns = Binding.Service<ListMapRuns>(
37 "AWS.StepFunctions.ListMapRuns",
38);