1import type * as iotfleetwise from "@distilled.cloud/aws/iotfleetwise";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4import type { DecoderManifest } from "./DecoderManifest.ts";
5
6/**
7 * `ListDecoderManifestNetworkInterfaces` request with `name` injected from
8 * the bound decoder manifest.
9 */
10export interface ListDecoderManifestNetworkInterfacesRequest extends Omit<
11 iotfleetwise.ListDecoderManifestNetworkInterfacesRequest,
12 "name"
13> {}
14
15/**
16 * Runtime binding for the `ListDecoderManifestNetworkInterfaces` operation
17 * (IAM action `iotfleetwise:ListDecoderManifestNetworkInterfaces`), scoped
18 * to one {@link DecoderManifest}.
19 *
20 * Lists the CAN/OBD/Ethernet network interfaces defined in the bound
21 * decoder manifest. Provide the implementation with
22 * `Effect.provide(AWS.IoTFleetWise.ListDecoderManifestNetworkInterfacesHttp)`.
23 *
24 * ### Inspecting Signal Definitions
25 * **Example:** List a Decoder's Network Interfaces
26 * ```typescript
27 * const listNetworkInterfaces =
28 * yield* IoTFleetWise.ListDecoderManifestNetworkInterfaces(decoder);
29 *
30 * const { networkInterfaces } = yield* listNetworkInterfaces();
31 * ```
32 *
33 * @binding
34 */
35export interface ListDecoderManifestNetworkInterfaces extends Binding.Service<
36 ListDecoderManifestNetworkInterfaces,
37 "AWS.IoTFleetWise.ListDecoderManifestNetworkInterfaces",
38 (
39 decoder: DecoderManifest,
40 ) => Effect.Effect<
41 (
42 request?: ListDecoderManifestNetworkInterfacesRequest,
43 ) => Effect.Effect<
44 iotfleetwise.ListDecoderManifestNetworkInterfacesResponse,
45 iotfleetwise.ListDecoderManifestNetworkInterfacesError
46 >
47 >
48> {}
49export const ListDecoderManifestNetworkInterfaces =
50 Binding.Service<ListDecoderManifestNetworkInterfaces>(
51 "AWS.IoTFleetWise.ListDecoderManifestNetworkInterfaces",
52 );