1import type * as SVC from "@distilled.cloud/aws/codebuild";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4import type { Project } from "./Project.ts";
5
6/**
7 * Runtime binding for `codebuild:StartBuildBatch` — kicks off a batch
8 * (fan-out) build of the bound project. The project must have a build batch
9 * configuration and the buildspec a `batch:` section.
10 * ### Batch Builds
11 * **Example:** Start a Batch Build
12 * ```typescript
13 * const startBuildBatch = yield* AWS.CodeBuild.StartBuildBatch(project);
14 *
15 * const { buildBatch } = yield* startBuildBatch();
16 * ```
17 *
18 * @binding
19 */
20export interface StartBuildBatch extends Binding.Service<
21 StartBuildBatch,
22 "AWS.CodeBuild.StartBuildBatch",
23 <P extends Project>(
24 project: P,
25 ) => Effect.Effect<
26 (
27 request?: Omit<SVC.StartBuildBatchInput, "projectName">,
28 ) => Effect.Effect<SVC.StartBuildBatchOutput, SVC.StartBuildBatchError>
29 >
30> {}
31export const StartBuildBatch = Binding.Service<StartBuildBatch>(
32 "AWS.CodeBuild.StartBuildBatch",
33);