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 `DescribeRestoreJob` operation (IAM action
7 * `backup:DescribeRestoreJob`).
8 *
9 * Returns the details of a restore job by its ID — poll a job started with
10 * `StartRestoreJob` until it completes. Provide the implementation with
11 * `Effect.provide(AWS.Backup.DescribeRestoreJobHttp)`.
12 * ### Restoring Recovery Points
13 * **Example:** Poll A Restore Job
14 * ```typescript
15 * const describeRestoreJob = yield* AWS.Backup.DescribeRestoreJob();
16 *
17 * const job = yield* describeRestoreJob({ RestoreJobId: jobId });
18 * if (job.Status === "COMPLETED") {
19 * yield* Effect.log(`restored: ${job.CreatedResourceArn}`);
20 * }
21 * ```
22 *
23 * @binding
24 */
25export interface DescribeRestoreJob extends Binding.Service<
26 DescribeRestoreJob,
27 "AWS.Backup.DescribeRestoreJob",
28 () => Effect.Effect<
29 (
30 request: backup.DescribeRestoreJobInput,
31 ) => Effect.Effect<
32 backup.DescribeRestoreJobOutput,
33 backup.DescribeRestoreJobError
34 >
35 >
36> {}
37export const DescribeRestoreJob = Binding.Service<DescribeRestoreJob>(
38 "AWS.Backup.DescribeRestoreJob",
39);