1import type * as docdb from "@distilled.cloud/aws/docdb";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for the `DescribeDBClusters` operation (IAM action
7 * `rds:DescribeDBClusters`).
8 *
9 * Lists the account's DocumentDB clusters (or one cluster by identifier) —
10 * status, endpoints, members, engine versions — for health checks and
11 * cluster discovery. Provide the implementation with
12 * `Effect.provide(AWS.DocDB.DescribeDBClustersHttp)`.
13 * ### Monitoring Clusters
14 * **Example:** Check a Cluster's Status
15 * ```typescript
16 * const describeDBClusters = yield* AWS.DocDB.DescribeDBClusters();
17 *
18 * const page = yield* describeDBClusters({
19 * DBClusterIdentifier: clusterId,
20 * });
21 * const status = page.DBClusters?.[0]?.Status;
22 * ```
23 *
24 * @binding
25 */
26export interface DescribeDBClusters extends Binding.Service<
27 DescribeDBClusters,
28 "AWS.DocDB.DescribeDBClusters",
29 () => Effect.Effect<
30 (
31 request?: docdb.DescribeDBClustersMessage,
32 ) => Effect.Effect<docdb.DBClusterMessage, docdb.DescribeDBClustersError>
33 >
34> {}
35export const DescribeDBClusters = Binding.Service<DescribeDBClusters>(
36 "AWS.DocDB.DescribeDBClusters",
37);