1import type * as comprehendmedical from "@distilled.cloud/aws/comprehendmedical";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for `comprehendmedical:StartSNOMEDCTInferenceJob` — start an asynchronous SNOMED CT ontology linking job over a collection of documents in S3. Also grants `iam:PassRole` (conditioned to `comprehendmedical.amazonaws.com`) for the job's data-access role.
7 *
8 * Comprehend Medical has no resource-level IAM, so the binding takes no
9 * arguments and grants `comprehendmedical:StartSNOMEDCTInferenceJob` on `*`. Provide the
10 * implementation with `Effect.provide(AWS.ComprehendMedical.StartSNOMEDCTInferenceJobHttp)`.
11 *
12 * ### Batch SNOMED CT Inference Jobs
13 * **Example:** Start a Batch Job
14 * ```typescript
15 * // init
16 * const startSNOMEDCTInferenceJob = yield* AWS.ComprehendMedical.StartSNOMEDCTInferenceJob();
17 *
18 * // runtime
19 * const job = yield* startSNOMEDCTInferenceJob({
20 * InputDataConfig: { S3Bucket: "my-input-bucket", S3Key: "notes/" },
21 * OutputDataConfig: { S3Bucket: "my-output-bucket" },
22 * DataAccessRoleArn: dataAccessRole.roleArn,
23 * LanguageCode: "en",
24 * });
25 * ```
26 *
27 * @binding
28 */
29export interface StartSNOMEDCTInferenceJob extends Binding.Service<
30 StartSNOMEDCTInferenceJob,
31 "AWS.ComprehendMedical.StartSNOMEDCTInferenceJob",
32 () => Effect.Effect<
33 (
34 request: comprehendmedical.StartSNOMEDCTInferenceJobRequest,
35 ) => Effect.Effect<
36 comprehendmedical.StartSNOMEDCTInferenceJobResponse,
37 comprehendmedical.StartSNOMEDCTInferenceJobError
38 >
39 >
40> {}
41export const StartSNOMEDCTInferenceJob =
42 Binding.Service<StartSNOMEDCTInferenceJob>(
43 "AWS.ComprehendMedical.StartSNOMEDCTInferenceJob",
44 );