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:StopReplication`.
7 *
8 * Bind this operation (account-level) to stop a running DMS Serverless
9 * replication by replication-config ARN (the stopped replication keeps its
10 * provisioned capacity). The serverless counterpart of
11 * {@link StopReplicationTask}. Provide the implementation with
12 * `Effect.provide(AWS.DMS.StopReplicationHttp)`.
13 * ### Orchestrating Serverless Replications
14 * **Example:** Stop a Serverless Replication
15 * ```typescript
16 * // init — account-level, no target resource
17 * const stopReplication = yield* AWS.DMS.StopReplication();
18 *
19 * // runtime
20 * const { Replication } = yield* stopReplication({
21 * ReplicationConfigArn: configArn,
22 * });
23 * ```
24 *
25 * @binding
26 */
27export interface StopReplication extends Binding.Service<
28 StopReplication,
29 "AWS.DMS.StopReplication",
30 () => Effect.Effect<
31 (
32 request: dms.StopReplicationMessage,
33 ) => Effect.Effect<dms.StopReplicationResponse, dms.StopReplicationError>
34 >
35> {}
36
37export const StopReplication = Binding.Service<StopReplication>(
38 "AWS.DMS.StopReplication",
39);