1import type * as dms from "@distilled.cloud/aws/database-migration-service";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for `dms:DescribeEndpointSettings`.
7 *
8 * Bind this operation (account-level) to enumerate the settings an endpoint
9 * engine supports — names, types, enum values, defaults — e.g. to validate
10 * user-supplied endpoint configuration before creating endpoints. Provide
11 * the implementation with
12 * `Effect.provide(AWS.DMS.DescribeEndpointSettingsHttp)`.
13 * ### Inspecting Engine Settings
14 * **Example:** List the Settings MySQL Endpoints Accept
15 * ```typescript
16 * // init — account-level, no target resource
17 * const endpointSettings = yield* AWS.DMS.DescribeEndpointSettings();
18 *
19 * // runtime
20 * const { EndpointSettings } = yield* endpointSettings({
21 * EngineName: "mysql",
22 * });
23 * ```
24 *
25 * @binding
26 */
27export interface DescribeEndpointSettings extends Binding.Service<
28 DescribeEndpointSettings,
29 "AWS.DMS.DescribeEndpointSettings",
30 () => Effect.Effect<
31 (
32 request: dms.DescribeEndpointSettingsMessage,
33 ) => Effect.Effect<
34 dms.DescribeEndpointSettingsResponse,
35 dms.DescribeEndpointSettingsError
36 >
37 >
38> {}
39
40export const DescribeEndpointSettings =
41 Binding.Service<DescribeEndpointSettings>("AWS.DMS.DescribeEndpointSettings");