1import type * as SVC from "@distilled.cloud/aws/codedeploy";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4import type { DeploymentGroup } from "./DeploymentGroup.ts";
5
6export interface ListDeploymentsRequest extends Omit<
7 SVC.ListDeploymentsInput,
8 "applicationName" | "deploymentGroupName"
9> {}
10
11/**
12 * Runtime binding for `codedeploy:ListDeployments` — lists the deployment
13 * ids of the bound deployment group (optionally filtered by status or
14 * create-time range).
15 * ### Observing Deployments
16 * **Example:** List In-Progress Deployments
17 * ```typescript
18 * const listDeployments = yield* AWS.CodeDeploy.ListDeployments(group);
19 *
20 * const { deployments } = yield* listDeployments({
21 * includeOnlyStatuses: ["InProgress"],
22 * });
23 * ```
24 *
25 * @binding
26 */
27export interface ListDeployments extends Binding.Service<
28 ListDeployments,
29 "AWS.CodeDeploy.ListDeployments",
30 <G extends DeploymentGroup>(
31 group: G,
32 ) => Effect.Effect<
33 (
34 request?: ListDeploymentsRequest,
35 ) => Effect.Effect<SVC.ListDeploymentsOutput, SVC.ListDeploymentsError>
36 >
37> {}
38export const ListDeployments = Binding.Service<ListDeployments>(
39 "AWS.CodeDeploy.ListDeployments",
40);