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:ListLandingZoneOperations`.
7 *
8 * An account-level operation that enumerates recent landing zone operations
9 * (creates, updates, deletes, and resets), optionally filtered by type or
10 * status. Useful for governance dashboards that surface in-flight landing
11 * zone upgrades. Provide the implementation with
12 * `Effect.provide(AWS.ControlTower.ListLandingZoneOperationsHttp)`.
13 * ### Polling Asynchronous Operations
14 * **Example:** List In-Progress Landing Zone Operations
15 * ```typescript
16 * // init — account-level binding takes no resource
17 * const listLandingZoneOperations =
18 * yield* AWS.ControlTower.ListLandingZoneOperations();
19 *
20 * // runtime
21 * const result = yield* listLandingZoneOperations({
22 * filter: { statuses: ["IN_PROGRESS"] },
23 * });
24 * console.log(result.landingZoneOperations.length);
25 * ```
26 *
27 * @binding
28 */
29export interface ListLandingZoneOperations extends Binding.Service<
30 ListLandingZoneOperations,
31 "AWS.ControlTower.ListLandingZoneOperations",
32 () => Effect.Effect<
33 (
34 request?: controltower.ListLandingZoneOperationsInput,
35 ) => Effect.Effect<
36 controltower.ListLandingZoneOperationsOutput,
37 controltower.ListLandingZoneOperationsError
38 >
39 >
40> {}
41
42export const ListLandingZoneOperations =
43 Binding.Service<ListLandingZoneOperations>(
44 "AWS.ControlTower.ListLandingZoneOperations",
45 );