1import type * as forecast from "@distilled.cloud/aws/forecast";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for `forecast:DescribeForecastExportJob` — poll the status
7 * of a forecast export started with {@link CreateForecastExportJob} until
8 * the files land in S3.
9 *
10 * Export job ARNs are created at runtime, so the binding takes no arguments
11 * and grants `forecast:DescribeForecastExportJob` on `*`. Provide the
12 * implementation with
13 * `Effect.provide(AWS.Forecast.DescribeForecastExportJobHttp)`.
14 *
15 * ### Exporting Forecasts
16 * **Example:** Poll an Export Job
17 * ```typescript
18 * // init
19 * const describeForecastExportJob =
20 * yield* AWS.Forecast.DescribeForecastExportJob();
21 *
22 * // runtime
23 * const { Status } = yield* describeForecastExportJob({
24 * ForecastExportJobArn: exportJobArn,
25 * });
26 * ```
27 *
28 * @binding
29 */
30export interface DescribeForecastExportJob extends Binding.Service<
31 DescribeForecastExportJob,
32 "AWS.Forecast.DescribeForecastExportJob",
33 () => Effect.Effect<
34 (
35 request: forecast.DescribeForecastExportJobRequest,
36 ) => Effect.Effect<
37 forecast.DescribeForecastExportJobResponse,
38 forecast.DescribeForecastExportJobError
39 >
40 >
41> {}
42export const DescribeForecastExportJob =
43 Binding.Service<DescribeForecastExportJob>(
44 "AWS.Forecast.DescribeForecastExportJob",
45 );