1import type * as redshift from "@distilled.cloud/aws/redshift";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4import type { Cluster } from "./Cluster.ts";
5
6/**
7 * Runtime binding for the `ResumeCluster` operation (IAM action
8 * `redshift:ResumeCluster`).
9 *
10 * Resumes the bound paused {@link Cluster} — the morning half of an
11 * overnight pause schedule. The cluster identifier is injected from the
12 * binding. Provide the implementation with
13 * `Effect.provide(AWS.Redshift.ResumeClusterHttp)`.
14 * ### Operating a Cluster
15 * **Example:** Resume the Warehouse in the Morning
16 * ```typescript
17 * // init — bind the operation to the cluster
18 * const resumeCluster = yield* AWS.Redshift.ResumeCluster(cluster);
19 *
20 * // runtime
21 * yield* resumeCluster();
22 * ```
23 *
24 * @binding
25 */
26export interface ResumeCluster extends Binding.Service<
27 ResumeCluster,
28 "AWS.Redshift.ResumeCluster",
29 (
30 cluster: Cluster,
31 ) => Effect.Effect<
32 () => Effect.Effect<
33 redshift.ResumeClusterResult,
34 redshift.ResumeClusterError
35 >
36 >
37> {}
38export const ResumeCluster = Binding.Service<ResumeCluster>(
39 "AWS.Redshift.ResumeCluster",
40);