1import type * as iotfleetwise from "@distilled.cloud/aws/iotfleetwise";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4import type { ModelManifest } from "./ModelManifest.ts";
5
6/**
7 * `ListModelManifestNodes` request with `name` injected from the bound
8 * model manifest.
9 */
10export interface ListModelManifestNodesRequest extends Omit<
11 iotfleetwise.ListModelManifestNodesRequest,
12 "name"
13> {}
14
15/**
16 * Runtime binding for the `ListModelManifestNodes` operation (IAM action
17 * `iotfleetwise:ListModelManifestNodes`), scoped to one
18 * {@link ModelManifest}.
19 *
20 * Lists the signal nodes referenced by the bound vehicle model. Provide
21 * the implementation with
22 * `Effect.provide(AWS.IoTFleetWise.ListModelManifestNodesHttp)`.
23 *
24 * ### Inspecting Signal Definitions
25 * **Example:** List a Vehicle Model's Signals
26 * ```typescript
27 * const listModelManifestNodes =
28 * yield* IoTFleetWise.ListModelManifestNodes(model);
29 *
30 * const { nodes } = yield* listModelManifestNodes();
31 * ```
32 *
33 * @binding
34 */
35export interface ListModelManifestNodes extends Binding.Service<
36 ListModelManifestNodes,
37 "AWS.IoTFleetWise.ListModelManifestNodes",
38 (
39 model: ModelManifest,
40 ) => Effect.Effect<
41 (
42 request?: ListModelManifestNodesRequest,
43 ) => Effect.Effect<
44 iotfleetwise.ListModelManifestNodesResponse,
45 iotfleetwise.ListModelManifestNodesError
46 >
47 >
48> {}
49export const ListModelManifestNodes = Binding.Service<ListModelManifestNodes>(
50 "AWS.IoTFleetWise.ListModelManifestNodes",
51);