1import type * as memorydb from "@distilled.cloud/aws/memorydb";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for the `DescribeServiceUpdates` operation (IAM action
7 * `memorydb:DescribeServiceUpdates`).
8 *
9 * Lists the service updates (security patches, engine upgrades) available or
10 * scheduled for the account's clusters — pair with
11 * {@link BatchUpdateCluster} to build patch automation. Provide the
12 * implementation with
13 * `Effect.provide(AWS.MemoryDB.DescribeServiceUpdatesHttp)`.
14 * ### Applying Service Updates
15 * **Example:** List Available Service Updates
16 * ```typescript
17 * const describeServiceUpdates = yield* MemoryDB.DescribeServiceUpdates();
18 *
19 * const page = yield* describeServiceUpdates({ Status: ["available"] });
20 * // page.ServiceUpdates[0].ServiceUpdateName
21 * ```
22 *
23 * @binding
24 */
25export interface DescribeServiceUpdates extends Binding.Service<
26 DescribeServiceUpdates,
27 "AWS.MemoryDB.DescribeServiceUpdates",
28 () => Effect.Effect<
29 (
30 request?: memorydb.DescribeServiceUpdatesRequest,
31 ) => Effect.Effect<
32 memorydb.DescribeServiceUpdatesResponse,
33 memorydb.DescribeServiceUpdatesError
34 >
35 >
36> {}
37export const DescribeServiceUpdates = Binding.Service<DescribeServiceUpdates>(
38 "AWS.MemoryDB.DescribeServiceUpdates",
39);