1import type * as pipes from "@distilled.cloud/aws/pipes";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for `pipes:ListPipes`.
7 *
8 * Lists the account's pipes, optionally filtered by name prefix, current
9 * state, or source/target prefix — e.g. an operational console enumerating
10 * the pipes it manages. Account-level: no resource argument. Provide the
11 * implementation with `Effect.provide(AWS.Pipes.ListPipesHttp)`.
12 * ### Observing a Pipe
13 * **Example:** List Pipes by Name Prefix
14 * ```typescript
15 * // init — account-level binding, no resource argument
16 * const listPipes = yield* AWS.Pipes.ListPipes();
17 *
18 * // runtime
19 * const { Pipes } = yield* listPipes({ NamePrefix: "orders-" });
20 * // [{ Name: "orders-pipe", CurrentState: "RUNNING", ... }, ...]
21 * ```
22 *
23 * @binding
24 */
25export interface ListPipes extends Binding.Service<
26 ListPipes,
27 "AWS.Pipes.ListPipes",
28 () => Effect.Effect<
29 (
30 request?: pipes.ListPipesRequest,
31 ) => Effect.Effect<pipes.ListPipesResponse, pipes.ListPipesError>
32 >
33> {}
34export const ListPipes = Binding.Service<ListPipes>("AWS.Pipes.ListPipes");