1import type * as SVC from "@distilled.cloud/aws/codepipeline";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5export interface GetJobDetailsRequest extends SVC.GetJobDetailsInput {}
6
7/**
8 * Runtime binding for `codepipeline:GetJobDetails` — fetches the details of
9 * a job handed to a custom/Invoke action, including input artifacts and the
10 * temporary artifact-store credentials (returned as `Redacted` values).
11 *
12 * CodePipeline job operations do not support resource-level permissions, so
13 * the grant is on `*`. The binding takes no resource — the job id arrives
14 * with the invocation event.
15 * ### Job Workers
16 * **Example:** Fetch Job Details
17 * ```typescript
18 * const getJobDetails = yield* AWS.CodePipeline.GetJobDetails();
19 *
20 * const { jobDetails } = yield* getJobDetails({ jobId });
21 * ```
22 *
23 * @binding
24 */
25export interface GetJobDetails extends Binding.Service<
26 GetJobDetails,
27 "AWS.CodePipeline.GetJobDetails",
28 () => Effect.Effect<
29 (
30 request: GetJobDetailsRequest,
31 ) => Effect.Effect<SVC.GetJobDetailsOutput, SVC.GetJobDetailsError>
32 >
33> {}
34export const GetJobDetails = Binding.Service<GetJobDetails>(
35 "AWS.CodePipeline.GetJobDetails",
36);