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:DescribeOrderableReplicationInstances`.
7 *
8 * Bind this operation (account-level) to enumerate the replication instance
9 * classes and storage ranges orderable in the region — e.g. for tooling that
10 * right-sizes migration infrastructure. Provide the implementation with
11 * `Effect.provide(AWS.DMS.DescribeOrderableReplicationInstancesHttp)`.
12 * ### Sizing Replication Instances
13 * **Example:** List Orderable Instance Classes
14 * ```typescript
15 * // init — account-level, no target resource
16 * const orderable = yield* AWS.DMS.DescribeOrderableReplicationInstances();
17 *
18 * // runtime
19 * const { OrderableReplicationInstances } = yield* orderable();
20 * ```
21 *
22 * @binding
23 */
24export interface DescribeOrderableReplicationInstances extends Binding.Service<
25 DescribeOrderableReplicationInstances,
26 "AWS.DMS.DescribeOrderableReplicationInstances",
27 () => Effect.Effect<
28 (
29 request?: dms.DescribeOrderableReplicationInstancesMessage,
30 ) => Effect.Effect<
31 dms.DescribeOrderableReplicationInstancesResponse,
32 dms.DescribeOrderableReplicationInstancesError
33 >
34 >
35> {}
36
37export const DescribeOrderableReplicationInstances =
38 Binding.Service<DescribeOrderableReplicationInstances>(
39 "AWS.DMS.DescribeOrderableReplicationInstances",
40 );