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 `DescribeDBClusterEndpoints` operation (IAM action
7 * `rds:DescribeDBClusterEndpoints`).
8 *
9 * Lists an Aurora cluster's endpoints (writer, reader, and custom
10 * endpoints) with their status and member lists. Provide the implementation with
11 * `Effect.provide(AWS.RDS.DescribeDBClusterEndpointsHttp)`.
12 * ### Monitoring Databases
13 * **Example:** List a Cluster's Endpoints
14 * ```typescript
15 * const describeDBClusterEndpoints =
16 * yield* AWS.RDS.DescribeDBClusterEndpoints();
17 *
18 * const page = yield* describeDBClusterEndpoints({
19 * DBClusterIdentifier: clusterId,
20 * });
21 * ```
22 *
23 * @binding
24 */
25export interface DescribeDBClusterEndpoints extends Binding.Service<
26 DescribeDBClusterEndpoints,
27 "AWS.RDS.DescribeDBClusterEndpoints",
28 () => Effect.Effect<
29 (
30 request?: rds.DescribeDBClusterEndpointsMessage,
31 ) => Effect.Effect<
32 rds.DBClusterEndpointMessage,
33 rds.DescribeDBClusterEndpointsError
34 >
35 >
36> {}
37export const DescribeDBClusterEndpoints =
38 Binding.Service<DescribeDBClusterEndpoints>(
39 "AWS.RDS.DescribeDBClusterEndpoints",
40 );