1import type * as iotfleetwise from "@distilled.cloud/aws/iotfleetwise";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4import type { Vehicle } from "./Vehicle.ts";
5
6/**
7 * `ListFleetsForVehicle` request with `vehicleName` injected from the bound
8 * vehicle.
9 */
10export interface ListFleetsForVehicleRequest extends Omit<
11 iotfleetwise.ListFleetsForVehicleRequest,
12 "vehicleName"
13> {}
14
15/**
16 * Runtime binding for the `ListFleetsForVehicle` operation (IAM action
17 * `iotfleetwise:ListFleetsForVehicle`), scoped to one {@link Vehicle}.
18 *
19 * Lists the IDs of the fleets the bound vehicle belongs to. Provide the
20 * implementation with
21 * `Effect.provide(AWS.IoTFleetWise.ListFleetsForVehicleHttp)`.
22 *
23 * ### Fleet Membership
24 * **Example:** List the Fleets a Vehicle Belongs To
25 * ```typescript
26 * const listFleetsForVehicle = yield* IoTFleetWise.ListFleetsForVehicle(vehicle);
27 *
28 * const { fleets } = yield* listFleetsForVehicle();
29 * ```
30 *
31 * @binding
32 */
33export interface ListFleetsForVehicle extends Binding.Service<
34 ListFleetsForVehicle,
35 "AWS.IoTFleetWise.ListFleetsForVehicle",
36 (
37 vehicle: Vehicle,
38 ) => Effect.Effect<
39 (
40 request?: ListFleetsForVehicleRequest,
41 ) => Effect.Effect<
42 iotfleetwise.ListFleetsForVehicleResponse,
43 iotfleetwise.ListFleetsForVehicleError
44 >
45 >
46> {}
47export const ListFleetsForVehicle = Binding.Service<ListFleetsForVehicle>(
48 "AWS.IoTFleetWise.ListFleetsForVehicle",
49);