1import type * as rekognition from "@distilled.cloud/aws/rekognition";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for `rekognition:GetMediaAnalysisJob` — get the status and results location of a media analysis job.
7 *
8 * The binding takes no arguments and grants the function
9 * `rekognition:GetMediaAnalysisJob` on `*` (Rekognition data-plane resources such
10 * as collections, users, and jobs are routinely created at runtime, so
11 * their identifiers are unknown at deploy time). Provide the
12 * implementation with `Effect.provide(AWS.Rekognition.GetMediaAnalysisJobHttp)`.
13 *
14 * ### Media Analysis Jobs
15 * **Example:** Poll a Media Analysis Job
16 * ```typescript
17 * // init
18 * const getMediaAnalysisJob = yield* AWS.Rekognition.GetMediaAnalysisJob();
19 *
20 * // runtime
21 * const job = yield* getMediaAnalysisJob({ JobId: jobId });
22 * // job.Status, job.Results?.S3Object
23 * ```
24 *
25 * @binding
26 */
27export interface GetMediaAnalysisJob extends Binding.Service<
28 GetMediaAnalysisJob,
29 "AWS.Rekognition.GetMediaAnalysisJob",
30 () => Effect.Effect<
31 (
32 request: rekognition.GetMediaAnalysisJobRequest,
33 ) => Effect.Effect<
34 rekognition.GetMediaAnalysisJobResponse,
35 rekognition.GetMediaAnalysisJobError
36 >
37 >
38> {}
39export const GetMediaAnalysisJob = Binding.Service<GetMediaAnalysisJob>(
40 "AWS.Rekognition.GetMediaAnalysisJob",
41);