1import type * as greengrassv2 from "@distilled.cloud/aws/greengrassv2";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for `greengrass:ListDeployments`.
7 *
8 * Enumerates the account's deployments, optionally filtered to one target
9 * thing/thing group or to the latest revision per target — a fleet-wide view
10 * of what is rolling out where. Provide the implementation with
11 * `Effect.provide(AWS.GreengrassV2.ListDeploymentsHttp)`.
12 * ### Monitoring Deployments
13 * **Example:** List The Latest Deployment Per Target
14 * ```typescript
15 * // init — account-level binding, no resource argument
16 * const listDeployments = yield* AWS.GreengrassV2.ListDeployments();
17 *
18 * // runtime
19 * const { deployments } = yield* listDeployments({
20 * historyFilter: "LATEST_ONLY",
21 * });
22 * ```
23 *
24 * @binding
25 */
26export interface ListDeployments extends Binding.Service<
27 ListDeployments,
28 "AWS.GreengrassV2.ListDeployments",
29 () => Effect.Effect<
30 (
31 request?: greengrassv2.ListDeploymentsRequest,
32 ) => Effect.Effect<
33 greengrassv2.ListDeploymentsResponse,
34 greengrassv2.ListDeploymentsError
35 >
36 >
37> {}
38export const ListDeployments = Binding.Service<ListDeployments>(
39 "AWS.GreengrassV2.ListDeployments",
40);