1import type * as neptunegraph from "@distilled.cloud/aws/neptune-graph";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for the `DeleteGraphSnapshot` operation (IAM action `neptune-graph:DeleteGraphSnapshot`).
7 *
8 * Deletes a graph snapshot by id — e.g. a retention Lambda pruning old backups found via {@link ListGraphSnapshots}. Provide the implementation with
9 * `Effect.provide(AWS.NeptuneGraph.DeleteGraphSnapshotHttp)`.
10 * ### Managing Snapshots
11 * **Example:** Prune an old snapshot
12 * ```typescript
13 * const deleteSnapshot = yield* NeptuneGraph.DeleteGraphSnapshot();
14 *
15 * yield* deleteSnapshot({ snapshotIdentifier });
16 * ```
17 *
18 * @binding
19 */
20export interface DeleteGraphSnapshot extends Binding.Service<
21 DeleteGraphSnapshot,
22 "AWS.NeptuneGraph.DeleteGraphSnapshot",
23 () => Effect.Effect<
24 (
25 request: neptunegraph.DeleteGraphSnapshotInput,
26 ) => Effect.Effect<
27 neptunegraph.DeleteGraphSnapshotOutput,
28 neptunegraph.DeleteGraphSnapshotError
29 >
30 >
31> {}
32export const DeleteGraphSnapshot = Binding.Service<DeleteGraphSnapshot>(
33 "AWS.NeptuneGraph.DeleteGraphSnapshot",
34);