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:StartChannel` — start a channel-assembly
7 * channel so it begins producing its linear stream.
8 *
9 * Channel names are runtime parameters, so the binding is account-level and
10 * grants `mediatailor:StartChannel` on `*`. Provide the implementation with
11 * `Effect.provide(AWS.MediaTailor.StartChannelHttp)`.
12 *
13 * ### Channel Assembly
14 * **Example:** Start a channel
15 * ```typescript
16 * const startChannel = yield* AWS.MediaTailor.StartChannel();
17 *
18 * yield* startChannel({ ChannelName: "my-channel" });
19 * ```
20 *
21 * @binding
22 */
23export interface StartChannel extends Binding.Service<
24 StartChannel,
25 "AWS.MediaTailor.StartChannel",
26 () => Effect.Effect<
27 (
28 request: mediatailor.StartChannelRequest,
29 ) => Effect.Effect<
30 mediatailor.StartChannelResponse,
31 mediatailor.StartChannelError
32 >
33 >
34> {}
35export const StartChannel = Binding.Service<StartChannel>(
36 "AWS.MediaTailor.StartChannel",
37);