1import type * as entityresolution from "@distilled.cloud/aws/entityresolution";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4import type { IdMappingWorkflow } from "./IdMappingWorkflow.ts";
5
6/**
7 * Runtime binding for `entityresolution:StartIdMappingJob`.
8 *
9 * Starts an ID mapping job run of the bound workflow — a batch process over
10 * the workflow's full input that takes many minutes. Provide the
11 * implementation with `Effect.provide(AWS.EntityResolution.StartIdMappingJobHttp)`.
12 * ### Running ID Mapping Jobs
13 * **Example:** Start a Job
14 * ```typescript
15 * // init — bind the operation to the workflow
16 * const startIdMappingJob = yield* AWS.EntityResolution.StartIdMappingJob(workflow);
17 *
18 * // runtime
19 * const { jobId } = yield* startIdMappingJob({});
20 * ```
21 *
22 * @binding
23 */
24export interface StartIdMappingJob extends Binding.Service<
25 StartIdMappingJob,
26 "AWS.EntityResolution.StartIdMappingJob",
27 (
28 workflow: IdMappingWorkflow,
29 ) => Effect.Effect<
30 (
31 request: Omit<entityresolution.StartIdMappingJobInput, "workflowName">,
32 ) => Effect.Effect<
33 entityresolution.StartIdMappingJobOutput,
34 entityresolution.StartIdMappingJobError
35 >
36 >
37> {}
38
39export const StartIdMappingJob = Binding.Service<StartIdMappingJob>(
40 "AWS.EntityResolution.StartIdMappingJob",
41);