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:RetryBuild` — restarts a finished
8 * (failed, stopped, …) build of the bound project by build id, producing a
9 * new build.
10 * ### Retrying Builds
11 * **Example:** Retry a Failed Build
12 * ```typescript
13 * const retryBuild = yield* AWS.CodeBuild.RetryBuild(project);
14 *
15 * const { build } = yield* retryBuild({ id: failedBuildId });
16 * ```
17 *
18 * @binding
19 */
20export interface RetryBuild extends Binding.Service<
21 RetryBuild,
22 "AWS.CodeBuild.RetryBuild",
23 <P extends Project>(
24 project: P,
25 ) => Effect.Effect<
26 (
27 request: SVC.RetryBuildInput,
28 ) => Effect.Effect<SVC.RetryBuildOutput, SVC.RetryBuildError>
29 >
30> {}
31export const RetryBuild = Binding.Service<RetryBuild>(
32 "AWS.CodeBuild.RetryBuild",
33);