1import type * as SVC from "@distilled.cloud/aws/emr";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4import type { Cluster } from "./Cluster.ts";
5
6/**
7 * Runtime binding for `elasticmapreduce:ListSteps` — lists the bound cluster's steps, newest first (optionally filtered by state or id). Page with `Marker`.
8 * ### Running Steps
9 * **Example:** List Running Steps
10 * ```typescript
11 * const listSteps = yield* AWS.EMR.ListSteps(cluster);
12 *
13 * const { Steps } = yield* listSteps({ StepStates: ["RUNNING"] });
14 * ```
15 *
16 * @binding
17 */
18export interface ListSteps extends Binding.Service<
19 ListSteps,
20 "AWS.EMR.ListSteps",
21 <C extends Cluster>(
22 cluster: C,
23 ) => Effect.Effect<
24 (
25 request?: Omit<SVC.ListStepsInput, "ClusterId">,
26 ) => Effect.Effect<SVC.ListStepsOutput, SVC.ListStepsError>
27 >
28> {}
29export const ListSteps = Binding.Service<ListSteps>("AWS.EMR.ListSteps");