1import type * as quicksight from "@distilled.cloud/aws/quicksight";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4import type { DataSet } from "./DataSet.ts";
5
6/**
7 * Runtime binding for `quicksight:ListIngestions`.
8 *
9 * Lists the SPICE ingestion history of the bound {@link DataSet} (most
10 * recent first) — useful for skipping a refresh that is already running or
11 * for surfacing the last refresh outcome. `AwsAccountId` and `DataSetId`
12 * are injected from the binding. Provide the implementation with
13 * `Effect.provide(AWS.QuickSight.ListIngestionsHttp)`.
14 * ### Refreshing SPICE Data
15 * **Example:** Read The Latest Refresh Outcome
16 * ```typescript
17 * // init — bind the operation to the dataset
18 * const listIngestions = yield* AWS.QuickSight.ListIngestions(dataSet);
19 *
20 * // runtime
21 * const { Ingestions } = yield* listIngestions({ MaxResults: 1 });
22 * const latest = Ingestions?.[0];
23 * ```
24 *
25 * @binding
26 */
27export interface ListIngestions extends Binding.Service<
28 ListIngestions,
29 "AWS.QuickSight.ListIngestions",
30 (
31 dataSet: DataSet,
32 ) => Effect.Effect<
33 (
34 request?: Omit<
35 quicksight.ListIngestionsRequest,
36 "AwsAccountId" | "DataSetId"
37 >,
38 ) => Effect.Effect<
39 quicksight.ListIngestionsResponse,
40 quicksight.ListIngestionsError
41 >
42 >
43> {}
44export const ListIngestions = Binding.Service<ListIngestions>(
45 "AWS.QuickSight.ListIngestions",
46);