1import type * as NFW from "@distilled.cloud/aws/network-firewall";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4import type { Firewall } from "./Firewall.ts";
5
6export interface ListFlowOperationsRequest extends Omit<
7 NFW.ListFlowOperationsRequest,
8 "FirewallArn"
9> {}
10
11/**
12 * Runtime binding for `network-firewall:ListFlowOperations` — list the flow
13 * capture/flush operations that ran on the bound {@link Firewall}; the
14 * firewall ARN is injected automatically.
15 *
16 * Provide `NetworkFirewall.ListFlowOperationsHttp` on the hosting Lambda
17 * Function to satisfy the requirement.
18 * ### Flow Operations
19 * **Example:** List Recent Flow Captures
20 * ```typescript
21 * // init — grants network-firewall:ListFlowOperations on the firewall
22 * const listFlowOperations =
23 * yield* AWS.NetworkFirewall.ListFlowOperations(firewall);
24 *
25 * // runtime
26 * const { FlowOperations } = yield* listFlowOperations({
27 * FlowOperationType: "FLOW_CAPTURE",
28 * });
29 * ```
30 *
31 * @binding
32 */
33export interface ListFlowOperations extends Binding.Service<
34 ListFlowOperations,
35 "AWS.NetworkFirewall.ListFlowOperations",
36 (
37 firewall: Firewall,
38 ) => Effect.Effect<
39 (
40 request?: ListFlowOperationsRequest,
41 ) => Effect.Effect<
42 NFW.ListFlowOperationsResponse,
43 NFW.ListFlowOperationsError
44 >
45 >
46> {}
47
48export const ListFlowOperations = Binding.Service<ListFlowOperations>(
49 "AWS.NetworkFirewall.ListFlowOperations",
50);