1import type * as mediaconnect from "@distilled.cloud/aws/mediaconnect";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for `mediaconnect:ListFlows`.
7 *
8 * Enumerates the account's MediaConnect flows (one page per call — pass
9 * `NextToken` from the previous response to continue). Account-level: the
10 * deploy-time grant is `mediaconnect:ListFlows` on `*`. Provide the
11 * implementation with `Effect.provide(AWS.MediaConnect.ListFlowsHttp)`.
12 * ### Observing Flows
13 * **Example:** Enumerate the Account's Flows
14 * ```typescript
15 * // init — bind the account-level operation
16 * const listFlows = yield* AWS.MediaConnect.ListFlows();
17 *
18 * // runtime
19 * const { Flows } = yield* listFlows({ MaxResults: 20 });
20 * const active = (Flows ?? []).filter((f) => f.Status === "ACTIVE");
21 * ```
22 *
23 * @binding
24 */
25export interface ListFlows extends Binding.Service<
26 ListFlows,
27 "AWS.MediaConnect.ListFlows",
28 () => Effect.Effect<
29 (
30 request?: mediaconnect.ListFlowsRequest,
31 ) => Effect.Effect<
32 mediaconnect.ListFlowsResponse,
33 mediaconnect.ListFlowsError
34 >
35 >
36> {}
37export const ListFlows = Binding.Service<ListFlows>(
38 "AWS.MediaConnect.ListFlows",
39);