1import type * as mediatailor from "@distilled.cloud/aws/mediatailor";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4import type { PlaybackConfiguration } from "./PlaybackConfiguration.ts";
5
6/**
7 * `DeletePrefetchSchedule` request with `PlaybackConfigurationName` injected
8 * from the bound {@link PlaybackConfiguration}.
9 */
10export interface DeletePrefetchScheduleRequest extends Omit<
11 mediatailor.DeletePrefetchScheduleRequest,
12 "PlaybackConfigurationName"
13> {}
14
15/**
16 * Runtime binding for `mediatailor:DeletePrefetchSchedule` — remove a
17 * prefetch schedule from the bound {@link PlaybackConfiguration} (e.g. when
18 * a live event is cancelled).
19 *
20 * Provide the implementation with
21 * `Effect.provide(AWS.MediaTailor.DeletePrefetchScheduleHttp)`.
22 *
23 * ### Prefetching Ads
24 * **Example:** Delete a prefetch schedule
25 * ```typescript
26 * const deletePrefetchSchedule = yield* AWS.MediaTailor.DeletePrefetchSchedule(config);
27 *
28 * yield* deletePrefetchSchedule({ Name: `event-${eventId}` });
29 * ```
30 *
31 * @binding
32 */
33export interface DeletePrefetchSchedule extends Binding.Service<
34 DeletePrefetchSchedule,
35 "AWS.MediaTailor.DeletePrefetchSchedule",
36 (
37 config: PlaybackConfiguration,
38 ) => Effect.Effect<
39 (
40 request: DeletePrefetchScheduleRequest,
41 ) => Effect.Effect<
42 mediatailor.DeletePrefetchScheduleResponse,
43 mediatailor.DeletePrefetchScheduleError
44 >
45 >
46> {}
47export const DeletePrefetchSchedule = Binding.Service<DeletePrefetchSchedule>(
48 "AWS.MediaTailor.DeletePrefetchSchedule",
49);