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 `DescribeDBSnapshots` operation (IAM action
7 * `rds:DescribeDBSnapshots`).
8 *
9 * Lists the account's DB instance snapshots — the discovery half of a
10 * snapshot-rotation or verification function. Provide the implementation with
11 * `Effect.provide(AWS.RDS.DescribeDBSnapshotsHttp)`.
12 * ### Managing Instance Snapshots
13 * **Example:** List an Instance's Manual Snapshots
14 * ```typescript
15 * const describeDBSnapshots = yield* AWS.RDS.DescribeDBSnapshots();
16 *
17 * const page = yield* describeDBSnapshots({
18 * DBInstanceIdentifier: instanceId,
19 * SnapshotType: "manual",
20 * });
21 * ```
22 *
23 * @binding
24 */
25export interface DescribeDBSnapshots extends Binding.Service<
26 DescribeDBSnapshots,
27 "AWS.RDS.DescribeDBSnapshots",
28 () => Effect.Effect<
29 (
30 request?: rds.DescribeDBSnapshotsMessage,
31 ) => Effect.Effect<rds.DBSnapshotMessage, rds.DescribeDBSnapshotsError>
32 >
33> {}
34export const DescribeDBSnapshots = Binding.Service<DescribeDBSnapshots>(
35 "AWS.RDS.DescribeDBSnapshots",
36);