1import type * as SVC from "@distilled.cloud/aws/codepipeline";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4import type { Pipeline } from "./Pipeline.ts";
5
6export interface PutActionRevisionRequest extends Omit<
7 SVC.PutActionRevisionInput,
8 "pipelineName"
9> {}
10
11/**
12 * Runtime binding for `codepipeline:PutActionRevision` — informs
13 * CodePipeline about a new revision available to a source action, starting
14 * an execution if the revision is new.
15 * ### Sources
16 * **Example:** Report a New Source Revision
17 * ```typescript
18 * const putRevision = yield* AWS.CodePipeline.PutActionRevision(pipeline);
19 *
20 * const { newRevision, pipelineExecutionId } = yield* putRevision({
21 * stageName: "Source",
22 * actionName: "S3Source",
23 * actionRevision: {
24 * revisionId: versionId,
25 * revisionChangeId: changeId,
26 * created: new Date(),
27 * },
28 * });
29 * ```
30 *
31 * @binding
32 */
33export interface PutActionRevision extends Binding.Service<
34 PutActionRevision,
35 "AWS.CodePipeline.PutActionRevision",
36 <P extends Pipeline>(
37 pipeline: P,
38 ) => Effect.Effect<
39 (
40 request: PutActionRevisionRequest,
41 ) => Effect.Effect<SVC.PutActionRevisionOutput, SVC.PutActionRevisionError>
42 >
43> {}
44export const PutActionRevision = Binding.Service<PutActionRevision>(
45 "AWS.CodePipeline.PutActionRevision",
46);