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 `DescribeDBClusterSnapshots` operation (IAM action
7 * `rds:DescribeDBClusterSnapshots`).
8 *
9 * Lists the account's Aurora cluster snapshots — the discovery half of a
10 * snapshot-rotation or verification function. Provide the implementation with
11 * `Effect.provide(AWS.RDS.DescribeDBClusterSnapshotsHttp)`.
12 * ### Managing Cluster Snapshots
13 * **Example:** List a Cluster's Manual Snapshots
14 * ```typescript
15 * const describeDBClusterSnapshots =
16 * yield* AWS.RDS.DescribeDBClusterSnapshots();
17 *
18 * const page = yield* describeDBClusterSnapshots({
19 * DBClusterIdentifier: clusterId,
20 * SnapshotType: "manual",
21 * });
22 * ```
23 *
24 * @binding
25 */
26export interface DescribeDBClusterSnapshots extends Binding.Service<
27 DescribeDBClusterSnapshots,
28 "AWS.RDS.DescribeDBClusterSnapshots",
29 () => Effect.Effect<
30 (
31 request?: rds.DescribeDBClusterSnapshotsMessage,
32 ) => Effect.Effect<
33 rds.DBClusterSnapshotMessage,
34 rds.DescribeDBClusterSnapshotsError
35 >
36 >
37> {}
38export const DescribeDBClusterSnapshots =
39 Binding.Service<DescribeDBClusterSnapshots>(
40 "AWS.RDS.DescribeDBClusterSnapshots",
41 );