1import type * as dataexchange from "@distilled.cloud/aws/dataexchange";
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 `dataexchange:GetDataSet`.
8 *
9 * Reads the bound data set's detail — name, description, asset type,
10 * origin (`OWNED` or `ENTITLED`), and origin details. The data set id is
11 * injected from the binding.
12 * Provide the implementation with
13 * `Effect.provide(AWS.DataExchange.GetDataSetHttp)`.
14 * ### Reading Data Sets
15 * **Example:** Read The Bound Data Set
16 * ```typescript
17 * // init — bind the operation to the data set
18 * const getDataSet = yield* AWS.DataExchange.GetDataSet(dataSet);
19 *
20 * // runtime
21 * const detail = yield* getDataSet();
22 * yield* Effect.log(`data set ${detail.Name} (${detail.AssetType})`);
23 * ```
24 *
25 * @binding
26 */
27export interface GetDataSet extends Binding.Service<
28 GetDataSet,
29 "AWS.DataExchange.GetDataSet",
30 (
31 dataSet: DataSet,
32 ) => Effect.Effect<
33 () => Effect.Effect<
34 dataexchange.GetDataSetResponse,
35 dataexchange.GetDataSetError
36 >
37 >
38> {}
39export const GetDataSet = Binding.Service<GetDataSet>(
40 "AWS.DataExchange.GetDataSet",
41);