1import type * as location from "@distilled.cloud/aws/location";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Retrieves the status, configuration, and error report of a Location batch metadata job.
7 *
8 * Runtime binding for the `GetJob` operation (IAM action
9 * `geo:GetJob`), account-scoped — batch jobs are created at runtime so the
10 * grant is on `*`. Provide the implementation with
11 * `Effect.provide(AWS.Location.GetJobHttp)`.
12 *
13 * ### Managing Batch Jobs
14 * **Example:** Poll a Batch Job
15 * ```typescript
16 * const getJob = yield* Location.GetJob();
17 *
18 * const job = yield* getJob({ JobId: jobId });
19 * // job.Status → "IN_PROGRESS" | "SUCCEEDED" | …
20 * ```
21 *
22 * @binding
23 */
24export interface GetJob extends Binding.Service<
25 GetJob,
26 "AWS.Location.GetJob",
27 () => Effect.Effect<
28 (
29 request: location.GetJobRequest,
30 ) => Effect.Effect<location.GetJobResponse, location.GetJobError>
31 >
32> {}
33export const GetJob = Binding.Service<GetJob>("AWS.Location.GetJob");