1import type * as SVC from "@distilled.cloud/aws/databrew";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4import type { Job } from "./Job.ts";
5
6/**
7 * Runtime binding for `databrew:StartJobRun` — lets a workload kick off a
8 * run of a DataBrew job (a `PROFILE` analysis or a `RECIPE` transformation).
9 *
10 * The response carries the `RunId`, which can be observed with the
11 * {@link DescribeJobRun} binding and cancelled with {@link StopJobRun}.
12 * ### Starting Job Runs
13 * **Example:** Start a Job Run
14 * ```typescript
15 * const startJobRun = yield* AWS.DataBrew.StartJobRun(job);
16 *
17 * const { RunId } = yield* startJobRun();
18 * ```
19 *
20 * @binding
21 */
22export interface StartJobRun extends Binding.Service<
23 StartJobRun,
24 "AWS.DataBrew.StartJobRun",
25 <J extends Job>(
26 job: J,
27 ) => Effect.Effect<
28 () => Effect.Effect<SVC.StartJobRunResponse, SVC.StartJobRunError>
29 >
30> {}
31export const StartJobRun = Binding.Service<StartJobRun>(
32 "AWS.DataBrew.StartJobRun",
33);