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 `BatchUpdateVehicle` operation (IAM action
7 * `iotfleetwise:BatchUpdateVehicle`), account-level.
8 *
9 * Updates up to 10 vehicles in one call — attributes, manifest
10 * associations, and state-template associations. Per-item failures are
11 * returned in the response `errors` list, not the error channel. Provide
12 * the implementation with
13 * `Effect.provide(AWS.IoTFleetWise.BatchUpdateVehicleHttp)`.
14 *
15 * ### Provisioning Vehicles
16 * **Example:** Update a Batch of Vehicle Attributes
17 * ```typescript
18 * const batchUpdateVehicle = yield* IoTFleetWise.BatchUpdateVehicle();
19 *
20 * yield* batchUpdateVehicle({
21 * vehicles: [
22 * {
23 * vehicleName: "vin-1HGBH41JXMN109186",
24 * attributes: { "Vehicle.Color": "red" },
25 * attributeUpdateMode: "Merge",
26 * },
27 * ],
28 * });
29 * ```
30 *
31 * @binding
32 */
33export interface BatchUpdateVehicle extends Binding.Service<
34 BatchUpdateVehicle,
35 "AWS.IoTFleetWise.BatchUpdateVehicle",
36 () => Effect.Effect<
37 (
38 request: iotfleetwise.BatchUpdateVehicleRequest,
39 ) => Effect.Effect<
40 iotfleetwise.BatchUpdateVehicleResponse,
41 iotfleetwise.BatchUpdateVehicleError
42 >
43 >
44> {}
45export const BatchUpdateVehicle = Binding.Service<BatchUpdateVehicle>(
46 "AWS.IoTFleetWise.BatchUpdateVehicle",
47);