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 `DeleteDBSnapshot` operation (IAM action
7 * `rds:DeleteDBSnapshot`).
8 *
9 * Deletes a manual DB instance snapshot — the pruning half of a
10 * snapshot-rotation function. Provide the implementation with
11 * `Effect.provide(AWS.RDS.DeleteDBSnapshotHttp)`.
12 * ### Managing Instance Snapshots
13 * **Example:** Prune an Old Instance Snapshot
14 * ```typescript
15 * const deleteDBSnapshot = yield* AWS.RDS.DeleteDBSnapshot();
16 *
17 * yield* deleteDBSnapshot({ DBSnapshotIdentifier: oldSnapshotId });
18 * ```
19 *
20 * @binding
21 */
22export interface DeleteDBSnapshot extends Binding.Service<
23 DeleteDBSnapshot,
24 "AWS.RDS.DeleteDBSnapshot",
25 () => Effect.Effect<
26 (
27 request: rds.DeleteDBSnapshotMessage,
28 ) => Effect.Effect<rds.DeleteDBSnapshotResult, rds.DeleteDBSnapshotError>
29 >
30> {}
31export const DeleteDBSnapshot = Binding.Service<DeleteDBSnapshot>(
32 "AWS.RDS.DeleteDBSnapshot",
33);