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:ContinueDeployment` — for a blue/green
8 * deployment paused in the ready state (`actionOnTimeout:
9 * "STOP_DEPLOYMENT"`), starts rerouting traffic to the replacement
10 * environment without waiting for the configured wait time.
11 * ### Controlling Deployments
12 * **Example:** Approve Traffic Rerouting
13 * ```typescript
14 * const continueDeployment = yield* AWS.CodeDeploy.ContinueDeployment(group);
15 *
16 * yield* continueDeployment({
17 * deploymentId,
18 * deploymentWaitType: "READY_WAIT",
19 * });
20 * ```
21 *
22 * @binding
23 */
24export interface ContinueDeployment extends Binding.Service<
25 ContinueDeployment,
26 "AWS.CodeDeploy.ContinueDeployment",
27 <G extends DeploymentGroup>(
28 group: G,
29 ) => Effect.Effect<
30 (
31 request: SVC.ContinueDeploymentInput,
32 ) => Effect.Effect<
33 SVC.ContinueDeploymentResponse,
34 SVC.ContinueDeploymentError
35 >
36 >
37> {}
38export const ContinueDeployment = Binding.Service<ContinueDeployment>(
39 "AWS.CodeDeploy.ContinueDeployment",
40);