1import * as omics from "@distilled.cloud/aws/omics";
2import * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4import type { ReferenceStore } from "./ReferenceStore.ts";
5
6export interface StartReferenceImportJobRequest extends Omit<
7 omics.StartReferenceImportJobRequest,
8 "referenceStoreId"
9> {}
10
11/**
12 * Runtime binding for `omics:StartReferenceImportJob`.
13 *
14 * Bind this operation to a `ReferenceStore` to get a callable that starts a job that imports reference genomes into the store — the
15 * store/workflow id is injected automatically and the action is granted on the
16 * bound resource. Provide the implementation with
17 * `Effect.provide(AWS.Omics.StartReferenceImportJobHttp)`.
18 * ### References
19 * **Example:** Bind StartReferenceImportJob to a ReferenceStore
20 * ```typescript
21 * // init
22 * const startReferenceImportJob = yield* AWS.Omics.StartReferenceImportJob(store);
23 * // runtime
24 * const result = yield* startReferenceImportJob({});
25 * ```
26 *
27 * @binding
28 */
29export interface StartReferenceImportJob extends Binding.Service<
30 StartReferenceImportJob,
31 "AWS.Omics.StartReferenceImportJob",
32 (
33 store: ReferenceStore,
34 ) => Effect.Effect<
35 (
36 request?: StartReferenceImportJobRequest,
37 ) => Effect.Effect<
38 omics.StartReferenceImportJobResponse,
39 omics.StartReferenceImportJobError
40 >
41 >
42> {}
43
44export const StartReferenceImportJob = Binding.Service<StartReferenceImportJob>(
45 "AWS.Omics.StartReferenceImportJob",
46);