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 GetPipelineExecutionRequest extends Omit<
7 SVC.GetPipelineExecutionInput,
8 "pipelineName"
9> {}
10
11/**
12 * Runtime binding for `codepipeline:GetPipelineExecution` — returns the
13 * status, source revisions, and trigger of one execution.
14 * ### Observing Pipelines
15 * **Example:** Get an Execution
16 * ```typescript
17 * const getExecution = yield* AWS.CodePipeline.GetPipelineExecution(pipeline);
18 *
19 * const { pipelineExecution } = yield* getExecution({
20 * pipelineExecutionId: executionId,
21 * });
22 * ```
23 *
24 * @binding
25 */
26export interface GetPipelineExecution extends Binding.Service<
27 GetPipelineExecution,
28 "AWS.CodePipeline.GetPipelineExecution",
29 <P extends Pipeline>(
30 pipeline: P,
31 ) => Effect.Effect<
32 (
33 request: GetPipelineExecutionRequest,
34 ) => Effect.Effect<
35 SVC.GetPipelineExecutionOutput,
36 SVC.GetPipelineExecutionError
37 >
38 >
39> {}
40export const GetPipelineExecution = Binding.Service<GetPipelineExecution>(
41 "AWS.CodePipeline.GetPipelineExecution",
42);