1import type * as serverless from "@distilled.cloud/aws/redshift-serverless";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for the `GetTableRestoreStatus` operation (IAM actions
7 * `redshift-serverless:GetTableRestoreStatus`).
8 *
9 * Polls one table-restore request started with
10 * {@link RestoreTableFromSnapshot} or {@link RestoreTableFromRecoveryPoint}. Provide the implementation with
11 * `Effect.provide(AWS.RedshiftServerless.GetTableRestoreStatusHttp)`.
12 * ### Restoring Data
13 * **Example:** Poll a Table Restore
14 * ```typescript
15 * // init — resolve the runtime client
16 * const getTableRestoreStatus = yield* AWS.RedshiftServerless.GetTableRestoreStatus();
17 *
18 * const { tableRestoreStatus } = yield* getTableRestoreStatus({
19 * tableRestoreRequestId,
20 * });
21 * ```
22 *
23 * @binding
24 */
25export interface GetTableRestoreStatus extends Binding.Service<
26 GetTableRestoreStatus,
27 "AWS.RedshiftServerless.GetTableRestoreStatus",
28 () => Effect.Effect<
29 (
30 request: serverless.GetTableRestoreStatusRequest,
31 ) => Effect.Effect<
32 serverless.GetTableRestoreStatusResponse,
33 serverless.GetTableRestoreStatusError
34 >
35 >
36> {}
37export const GetTableRestoreStatus = Binding.Service<GetTableRestoreStatus>(
38 "AWS.RedshiftServerless.GetTableRestoreStatus",
39);