1import type * as dataexchange from "@distilled.cloud/aws/dataexchange";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4import type { Revision } from "./Revision.ts";
5
6/**
7 * Runtime binding for `dataexchange:ListRevisionAssets`.
8 *
9 * Enumerates the assets imported into the bound revision. The data set
10 * and revision ids are injected from the binding.
11 * Provide the implementation with
12 * `Effect.provide(AWS.DataExchange.ListRevisionAssetsHttp)`.
13 * ### Reading Revisions & Assets
14 * **Example:** List A Revision's Assets
15 * ```typescript
16 * const listAssets = yield* AWS.DataExchange.ListRevisionAssets(revision);
17 *
18 * // runtime
19 * const { Assets } = yield* listAssets();
20 * yield* Effect.log(`${(Assets ?? []).length} assets`);
21 * ```
22 *
23 * @binding
24 */
25export interface ListRevisionAssets extends Binding.Service<
26 ListRevisionAssets,
27 "AWS.DataExchange.ListRevisionAssets",
28 (
29 revision: Revision,
30 ) => Effect.Effect<
31 (
32 request?: Omit<
33 dataexchange.ListRevisionAssetsRequest,
34 "DataSetId" | "RevisionId"
35 >,
36 ) => Effect.Effect<
37 dataexchange.ListRevisionAssetsResponse,
38 dataexchange.ListRevisionAssetsError
39 >
40 >
41> {}
42export const ListRevisionAssets = Binding.Service<ListRevisionAssets>(
43 "AWS.DataExchange.ListRevisionAssets",
44);