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:GetChannelSchedule` — read the current
7 * schedule (programs + ad breaks) of a channel-assembly channel.
8 *
9 * Channel names are runtime parameters, so the binding is account-level and
10 * grants `mediatailor:GetChannelSchedule` on `*`. Provide the implementation
11 * with `Effect.provide(AWS.MediaTailor.GetChannelScheduleHttp)`.
12 *
13 * ### Channel Assembly
14 * **Example:** Read a channel's schedule
15 * ```typescript
16 * const getChannelSchedule = yield* AWS.MediaTailor.GetChannelSchedule();
17 *
18 * const { Items } = yield* getChannelSchedule({ ChannelName: "my-channel" });
19 * ```
20 *
21 * @binding
22 */
23export interface GetChannelSchedule extends Binding.Service<
24 GetChannelSchedule,
25 "AWS.MediaTailor.GetChannelSchedule",
26 () => Effect.Effect<
27 (
28 request: mediatailor.GetChannelScheduleRequest,
29 ) => Effect.Effect<
30 mediatailor.GetChannelScheduleResponse,
31 mediatailor.GetChannelScheduleError
32 >
33 >
34> {}
35export const GetChannelSchedule = Binding.Service<GetChannelSchedule>(
36 "AWS.MediaTailor.GetChannelSchedule",
37);