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 `DescribePendingMaintenanceActions` operation
7 * (IAM action `rds:DescribePendingMaintenanceActions` — DocumentDB shares
8 * the RDS control plane).
9 *
10 * Lists pending maintenance actions (engine patches, certificate
11 * rotations) across the account's DocumentDB clusters and instances —
12 * pairs with `ApplyPendingMaintenanceAction` for maintenance automation.
13 * Provide the implementation with
14 * `Effect.provide(AWS.DocDB.DescribePendingMaintenanceActionsHttp)`.
15 * ### Maintenance
16 * **Example:** List Pending Maintenance across the Account
17 * ```typescript
18 * const describePending = yield* DocDB.DescribePendingMaintenanceActions();
19 *
20 * const page = yield* describePending();
21 * for (const resource of page.PendingMaintenanceActions ?? []) {
22 * yield* Effect.log(
23 * `${resource.ResourceIdentifier}: ${resource.PendingMaintenanceActionDetails?.length} pending`,
24 * );
25 * }
26 * ```
27 *
28 * @binding
29 */
30export interface DescribePendingMaintenanceActions extends Binding.Service<
31 DescribePendingMaintenanceActions,
32 "AWS.DocDB.DescribePendingMaintenanceActions",
33 () => Effect.Effect<
34 (
35 request?: docdb.DescribePendingMaintenanceActionsMessage,
36 ) => Effect.Effect<
37 docdb.PendingMaintenanceActionsMessage,
38 docdb.DescribePendingMaintenanceActionsError
39 >
40 >
41> {}
42export const DescribePendingMaintenanceActions =
43 Binding.Service<DescribePendingMaintenanceActions>(
44 "AWS.DocDB.DescribePendingMaintenanceActions",
45 );