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:InvalidateProjectCache` — resets the
8 * bound project's build cache so the next build starts cold.
9 * ### Project Cache
10 * **Example:** Invalidate the Build Cache
11 * ```typescript
12 * const invalidateProjectCache = yield* AWS.CodeBuild.InvalidateProjectCache(project);
13 *
14 * yield* invalidateProjectCache();
15 * ```
16 *
17 * @binding
18 */
19export interface InvalidateProjectCache extends Binding.Service<
20 InvalidateProjectCache,
21 "AWS.CodeBuild.InvalidateProjectCache",
22 <P extends Project>(
23 project: P,
24 ) => Effect.Effect<
25 () => Effect.Effect<
26 SVC.InvalidateProjectCacheOutput,
27 SVC.InvalidateProjectCacheError
28 >
29 >
30> {}
31export const InvalidateProjectCache = Binding.Service<InvalidateProjectCache>(
32 "AWS.CodeBuild.InvalidateProjectCache",
33);