1import type * as docdbelastic from "@distilled.cloud/aws/docdb-elastic";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for the `ApplyPendingMaintenanceAction` operation (IAM
7 * action `docdb-elastic:ApplyPendingMaintenanceAction`).
8 *
9 * Opts a resource in to (or out of) a pending maintenance action — apply an
10 * engine update immediately, at the next maintenance window, or undo an
11 * earlier opt-in. Provide the implementation with
12 * `Effect.provide(AWS.DocDBElastic.ApplyPendingMaintenanceActionHttp)`.
13 * ### Scheduling Maintenance
14 * **Example:** Apply Maintenance at the Next Window
15 * ```typescript
16 * const applyPending = yield* DocDBElastic.ApplyPendingMaintenanceAction();
17 *
18 * yield* applyPending({
19 * resourceArn: cluster.clusterArn,
20 * applyAction: "ENGINE_UPDATE",
21 * optInType: "NEXT_MAINTENANCE",
22 * });
23 * ```
24 *
25 * @binding
26 */
27export interface ApplyPendingMaintenanceAction extends Binding.Service<
28 ApplyPendingMaintenanceAction,
29 "AWS.DocDBElastic.ApplyPendingMaintenanceAction",
30 () => Effect.Effect<
31 (
32 request: docdbelastic.ApplyPendingMaintenanceActionInput,
33 ) => Effect.Effect<
34 docdbelastic.ApplyPendingMaintenanceActionOutput,
35 docdbelastic.ApplyPendingMaintenanceActionError
36 >
37 >
38> {}
39export const ApplyPendingMaintenanceAction =
40 Binding.Service<ApplyPendingMaintenanceAction>(
41 "AWS.DocDBElastic.ApplyPendingMaintenanceAction",
42 );