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
6/**
7 * Runtime binding for `codedeploy:GetDeployment` — reads a deployment's
8 * status, revision, and rollout overview. CodeDeploy authorizes the call
9 * against the deployment group the deployment belongs to.
10 * ### Observing Deployments
11 * **Example:** Poll a Deployment's Status
12 * ```typescript
13 * const getDeployment = yield* AWS.CodeDeploy.GetDeployment(group);
14 *
15 * const { deploymentInfo } = yield* getDeployment({ deploymentId });
16 * ```
17 *
18 * @binding
19 */
20export interface GetDeployment extends Binding.Service<
21 GetDeployment,
22 "AWS.CodeDeploy.GetDeployment",
23 <G extends DeploymentGroup>(
24 group: G,
25 ) => Effect.Effect<
26 (
27 request: SVC.GetDeploymentInput,
28 ) => Effect.Effect<SVC.GetDeploymentOutput, SVC.GetDeploymentError>
29 >
30> {}
31export const GetDeployment = Binding.Service<GetDeployment>(
32 "AWS.CodeDeploy.GetDeployment",
33);