1import type * as iotfleetwise from "@distilled.cloud/aws/iotfleetwise";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for the `ListVehicles` operation (IAM action
7 * `iotfleetwise:ListVehicles`), account-level.
8 *
9 * Lists the vehicles in the account, optionally filtered by model
10 * manifest or attribute values. Provide the implementation with
11 * `Effect.provide(AWS.IoTFleetWise.ListVehiclesHttp)`.
12 *
13 * ### Provisioning Vehicles
14 * **Example:** List Vehicles by Attribute
15 * ```typescript
16 * const listVehicles = yield* IoTFleetWise.ListVehicles();
17 *
18 * const { vehicleSummaries } = yield* listVehicles({
19 * attributeNames: ["Vehicle.Color"],
20 * attributeValues: ["red"],
21 * });
22 * ```
23 *
24 * @binding
25 */
26export interface ListVehicles extends Binding.Service<
27 ListVehicles,
28 "AWS.IoTFleetWise.ListVehicles",
29 () => Effect.Effect<
30 (
31 request?: iotfleetwise.ListVehiclesRequest,
32 ) => Effect.Effect<
33 iotfleetwise.ListVehiclesResponse,
34 iotfleetwise.ListVehiclesError
35 >
36 >
37> {}
38export const ListVehicles = Binding.Service<ListVehicles>(
39 "AWS.IoTFleetWise.ListVehicles",
40);