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:StopReplicationTask`.
7 *
8 * Bind this operation (account-level) to stop a running replication task by
9 * ARN — the other half of scheduled CDC windows and cost-control automation
10 * (pair with {@link StartReplicationTask}). Provide the implementation with
11 * `Effect.provide(AWS.DMS.StopReplicationTaskHttp)`.
12 * ### Orchestrating Replication Tasks
13 * **Example:** Stop a Running Task
14 * ```typescript
15 * // init — account-level, no target resource
16 * const stopReplicationTask = yield* AWS.DMS.StopReplicationTask();
17 *
18 * // runtime
19 * const { ReplicationTask } = yield* stopReplicationTask({
20 * ReplicationTaskArn: taskArn,
21 * });
22 * ```
23 *
24 * @binding
25 */
26export interface StopReplicationTask extends Binding.Service<
27 StopReplicationTask,
28 "AWS.DMS.StopReplicationTask",
29 () => Effect.Effect<
30 (
31 request: dms.StopReplicationTaskMessage,
32 ) => Effect.Effect<
33 dms.StopReplicationTaskResponse,
34 dms.StopReplicationTaskError
35 >
36 >
37> {}
38
39export const StopReplicationTask = Binding.Service<StopReplicationTask>(
40 "AWS.DMS.StopReplicationTask",
41);