1import type * as rds from "@distilled.cloud/aws/rds";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for the `DeleteDBClusterSnapshot` operation (IAM action
7 * `rds:DeleteDBClusterSnapshot`).
8 *
9 * Deletes a manual Aurora cluster snapshot — the pruning half of a
10 * snapshot-rotation function. Provide the implementation with
11 * `Effect.provide(AWS.RDS.DeleteDBClusterSnapshotHttp)`.
12 * ### Managing Cluster Snapshots
13 * **Example:** Prune an Old Cluster Snapshot
14 * ```typescript
15 * const deleteDBClusterSnapshot = yield* AWS.RDS.DeleteDBClusterSnapshot();
16 *
17 * yield* deleteDBClusterSnapshot({
18 * DBClusterSnapshotIdentifier: oldSnapshotId,
19 * });
20 * ```
21 *
22 * @binding
23 */
24export interface DeleteDBClusterSnapshot extends Binding.Service<
25 DeleteDBClusterSnapshot,
26 "AWS.RDS.DeleteDBClusterSnapshot",
27 () => Effect.Effect<
28 (
29 request: rds.DeleteDBClusterSnapshotMessage,
30 ) => Effect.Effect<
31 rds.DeleteDBClusterSnapshotResult,
32 rds.DeleteDBClusterSnapshotError
33 >
34 >
35> {}
36export const DeleteDBClusterSnapshot = Binding.Service<DeleteDBClusterSnapshot>(
37 "AWS.RDS.DeleteDBClusterSnapshot",
38);