1import type * as personalize from "@distilled.cloud/aws/personalize";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for `personalize:DescribeBatchInferenceJob` — Polls a batch inference job for completion — pairs with
7 * {@link CreateBatchInferenceJob}.
8 * Provide the implementation with
9 * `Effect.provide(AWS.Personalize.DescribeBatchInferenceJobHttp)`.
10 *
11 * ### Batch Inference
12 * **Example:** Poll a Batch Job
13 * ```typescript
14 * // init
15 * const describeBatchInferenceJob = yield* Personalize.DescribeBatchInferenceJob();
16 *
17 * const { batchInferenceJob } = yield* describeBatchInferenceJob({
18 * batchInferenceJobArn,
19 * });
20 * const done = batchInferenceJob?.status === "ACTIVE";
21 * ```
22 *
23 * @binding
24 */
25export interface DescribeBatchInferenceJob extends Binding.Service<
26 DescribeBatchInferenceJob,
27 "AWS.Personalize.DescribeBatchInferenceJob",
28 () => Effect.Effect<
29 (
30 request: personalize.DescribeBatchInferenceJobRequest,
31 ) => Effect.Effect<
32 personalize.DescribeBatchInferenceJobResponse,
33 personalize.DescribeBatchInferenceJobError
34 >
35 >
36> {}
37export const DescribeBatchInferenceJob =
38 Binding.Service<DescribeBatchInferenceJob>(
39 "AWS.Personalize.DescribeBatchInferenceJob",
40 );