1import type * as mediatailor from "@distilled.cloud/aws/mediatailor";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for `mediatailor:StopChannel` — stop a running
7 * channel-assembly channel.
8 *
9 * Channel names are runtime parameters, so the binding is account-level and
10 * grants `mediatailor:StopChannel` on `*`. Provide the implementation with
11 * `Effect.provide(AWS.MediaTailor.StopChannelHttp)`.
12 *
13 * ### Channel Assembly
14 * **Example:** Stop a channel
15 * ```typescript
16 * const stopChannel = yield* AWS.MediaTailor.StopChannel();
17 *
18 * yield* stopChannel({ ChannelName: "my-channel" });
19 * ```
20 *
21 * @binding
22 */
23export interface StopChannel extends Binding.Service<
24 StopChannel,
25 "AWS.MediaTailor.StopChannel",
26 () => Effect.Effect<
27 (
28 request: mediatailor.StopChannelRequest,
29 ) => Effect.Effect<
30 mediatailor.StopChannelResponse,
31 mediatailor.StopChannelError
32 >
33 >
34> {}
35export const StopChannel = Binding.Service<StopChannel>(
36 "AWS.MediaTailor.StopChannel",
37);