1import type * as neptune from "@distilled.cloud/aws/neptune";
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 `rds:ApplyPendingMaintenanceAction`).
8 *
9 * Opts a Neptune resource (by ARN) into a pending maintenance action — e.g.
10 * apply an engine patch during the next maintenance window, or immediately.
11 * Provide the implementation with
12 * `Effect.provide(AWS.Neptune.ApplyPendingMaintenanceActionHttp)`.
13 * ### Maintenance
14 * **Example:** Apply Maintenance at the Next Window
15 * ```typescript
16 * const applyPendingMaintenanceAction =
17 * yield* AWS.Neptune.ApplyPendingMaintenanceAction();
18 *
19 * yield* applyPendingMaintenanceAction({
20 * ResourceIdentifier: clusterArn,
21 * ApplyAction: "system-update",
22 * OptInType: "next-maintenance",
23 * });
24 * ```
25 *
26 * @binding
27 */
28export interface ApplyPendingMaintenanceAction extends Binding.Service<
29 ApplyPendingMaintenanceAction,
30 "AWS.Neptune.ApplyPendingMaintenanceAction",
31 () => Effect.Effect<
32 (
33 request?: neptune.ApplyPendingMaintenanceActionMessage,
34 ) => Effect.Effect<
35 neptune.ApplyPendingMaintenanceActionResult,
36 neptune.ApplyPendingMaintenanceActionError
37 >
38 >
39> {}
40export const ApplyPendingMaintenanceAction =
41 Binding.Service<ApplyPendingMaintenanceAction>(
42 "AWS.Neptune.ApplyPendingMaintenanceAction",
43 );