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 `ApplyPendingMaintenanceAction` operation (IAM action
7 * `rds:ApplyPendingMaintenanceAction`).
8 *
9 * Applies (or schedules) a pending maintenance action on an RDS resource
10 * — e.g. an ops function that rolls maintenance during a controlled window. Provide the implementation with
11 * `Effect.provide(AWS.RDS.ApplyPendingMaintenanceActionHttp)`.
12 * ### Maintenance
13 * **Example:** Apply Maintenance Immediately
14 * ```typescript
15 * const applyPendingMaintenanceAction =
16 * yield* AWS.RDS.ApplyPendingMaintenanceAction();
17 *
18 * yield* applyPendingMaintenanceAction({
19 * ResourceIdentifier: clusterArn,
20 * ApplyAction: "system-update",
21 * OptInType: "immediate",
22 * });
23 * ```
24 *
25 * @binding
26 */
27export interface ApplyPendingMaintenanceAction extends Binding.Service<
28 ApplyPendingMaintenanceAction,
29 "AWS.RDS.ApplyPendingMaintenanceAction",
30 () => Effect.Effect<
31 (
32 request: rds.ApplyPendingMaintenanceActionMessage,
33 ) => Effect.Effect<
34 rds.ApplyPendingMaintenanceActionResult,
35 rds.ApplyPendingMaintenanceActionError
36 >
37 >
38> {}
39export const ApplyPendingMaintenanceAction =
40 Binding.Service<ApplyPendingMaintenanceAction>(
41 "AWS.RDS.ApplyPendingMaintenanceAction",
42 );