1import type * as controltower from "@distilled.cloud/aws/controltower";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for `controltower:ListControlOperations`.
7 *
8 * An account-level operation that enumerates recent control operations
9 * (enables, disables, updates, and resets), optionally filtered by status,
10 * control, or target. Useful for governance dashboards that surface
11 * in-flight or failed guardrail deployments. Provide the implementation
12 * with `Effect.provide(AWS.ControlTower.ListControlOperationsHttp)`.
13 * ### Polling Asynchronous Operations
14 * **Example:** List Failed Control Operations
15 * ```typescript
16 * // init — account-level binding takes no resource
17 * const listControlOperations = yield* AWS.ControlTower.ListControlOperations();
18 *
19 * // runtime
20 * const result = yield* listControlOperations({
21 * filter: { statuses: ["FAILED"] },
22 * });
23 * console.log(result.controlOperations.length);
24 * ```
25 *
26 * @binding
27 */
28export interface ListControlOperations extends Binding.Service<
29 ListControlOperations,
30 "AWS.ControlTower.ListControlOperations",
31 () => Effect.Effect<
32 (
33 request?: controltower.ListControlOperationsInput,
34 ) => Effect.Effect<
35 controltower.ListControlOperationsOutput,
36 controltower.ListControlOperationsError
37 >
38 >
39> {}
40
41export const ListControlOperations = Binding.Service<ListControlOperations>(
42 "AWS.ControlTower.ListControlOperations",
43);