1import type * as mediaconvert from "@distilled.cloud/aws/mediaconvert";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for `mediaconvert:SearchJobs` — search your recent
7 * transcode jobs by input file, queue, or status from runtime code (e.g.
8 * "did we already transcode this upload?").
9 *
10 * The binding takes no arguments and grants `mediaconvert:SearchJobs` on
11 * `*`. Provide the implementation with
12 * `Effect.provide(AWS.MediaConvert.SearchJobsHttp)`.
13 *
14 * ### Tracking Jobs
15 * **Example:** Find Jobs for an Input File
16 * ```typescript
17 * // init
18 * const searchJobs = yield* AWS.MediaConvert.SearchJobs();
19 *
20 * // runtime
21 * const { Jobs } = yield* searchJobs({
22 * InputFile: `s3://${bucket}/${key}`,
23 * Status: "COMPLETE",
24 * });
25 * ```
26 *
27 * @binding
28 */
29export interface SearchJobs extends Binding.Service<
30 SearchJobs,
31 "AWS.MediaConvert.SearchJobs",
32 () => Effect.Effect<
33 (
34 request?: mediaconvert.SearchJobsRequest,
35 ) => Effect.Effect<
36 mediaconvert.SearchJobsResponse,
37 mediaconvert.SearchJobsError
38 >
39 >
40> {}
41export const SearchJobs = Binding.Service<SearchJobs>(
42 "AWS.MediaConvert.SearchJobs",
43);