1import type * as docdbelastic from "@distilled.cloud/aws/docdb-elastic";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for the `DeleteClusterSnapshot` operation (IAM action
7 * `docdb-elastic:DeleteClusterSnapshot`).
8 *
9 * Deletes a manual elastic-cluster snapshot by ARN — e.g. from a Lambda that
10 * prunes on-demand backups past a retention horizon. Provide the
11 * implementation with
12 * `Effect.provide(AWS.DocDBElastic.DeleteClusterSnapshotHttp)`.
13 * ### Managing Snapshots
14 * **Example:** Prune an Old Snapshot
15 * ```typescript
16 * const deleteSnapshot = yield* DocDBElastic.DeleteClusterSnapshot();
17 *
18 * const result = yield* deleteSnapshot({ snapshotArn });
19 * // result.snapshot.status → "DELETING"
20 * ```
21 *
22 * @binding
23 */
24export interface DeleteClusterSnapshot extends Binding.Service<
25 DeleteClusterSnapshot,
26 "AWS.DocDBElastic.DeleteClusterSnapshot",
27 () => Effect.Effect<
28 (
29 request: docdbelastic.DeleteClusterSnapshotInput,
30 ) => Effect.Effect<
31 docdbelastic.DeleteClusterSnapshotOutput,
32 docdbelastic.DeleteClusterSnapshotError
33 >
34 >
35> {}
36export const DeleteClusterSnapshot = Binding.Service<DeleteClusterSnapshot>(
37 "AWS.DocDBElastic.DeleteClusterSnapshot",
38);