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:ReloadTables`.
7 *
8 * Bind this operation (account-level) to re-run the full load for specific
9 * tables of a running replication task — the standard remediation when
10 * {@link DescribeTableStatistics} reports table errors or validation
11 * failures. Provide the implementation with
12 * `Effect.provide(AWS.DMS.ReloadTablesHttp)`.
13 * ### Monitoring Migration Progress
14 * **Example:** Reload a Failed Table
15 * ```typescript
16 * // init — account-level, no target resource
17 * const reloadTables = yield* AWS.DMS.ReloadTables();
18 *
19 * // runtime
20 * yield* reloadTables({
21 * ReplicationTaskArn: taskArn,
22 * TablesToReload: [{ SchemaName: "public", TableName: "orders" }],
23 * });
24 * ```
25 *
26 * @binding
27 */
28export interface ReloadTables extends Binding.Service<
29 ReloadTables,
30 "AWS.DMS.ReloadTables",
31 () => Effect.Effect<
32 (
33 request: dms.ReloadTablesMessage,
34 ) => Effect.Effect<dms.ReloadTablesResponse, dms.ReloadTablesError>
35 >
36> {}
37
38export const ReloadTables = Binding.Service<ReloadTables>(
39 "AWS.DMS.ReloadTables",
40);