1import type * as backup from "@distilled.cloud/aws/backup";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for the `DescribeCopyJob` operation (IAM action
7 * `backup:DescribeCopyJob`).
8 *
9 * Returns the details of a copy job by its ID — poll a job started with
10 * `StartCopyJob` until it completes. Provide the implementation with
11 * `Effect.provide(AWS.Backup.DescribeCopyJobHttp)`.
12 * ### Copying Recovery Points
13 * **Example:** Poll A Copy Job
14 * ```typescript
15 * const describeCopyJob = yield* AWS.Backup.DescribeCopyJob();
16 *
17 * const { CopyJob } = yield* describeCopyJob({ CopyJobId: jobId });
18 * ```
19 *
20 * @binding
21 */
22export interface DescribeCopyJob extends Binding.Service<
23 DescribeCopyJob,
24 "AWS.Backup.DescribeCopyJob",
25 () => Effect.Effect<
26 (
27 request: backup.DescribeCopyJobInput,
28 ) => Effect.Effect<
29 backup.DescribeCopyJobOutput,
30 backup.DescribeCopyJobError
31 >
32 >
33> {}
34export const DescribeCopyJob = Binding.Service<DescribeCopyJob>(
35 "AWS.Backup.DescribeCopyJob",
36);