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 `BatchCreateVehicle` operation (IAM action
7 * `iotfleetwise:BatchCreateVehicle`), account-level.
8 *
9 * Creates up to 10 vehicles in one call — the data plane of vehicle
10 * provisioning pipelines (each item names its model and decoder manifest).
11 * Per-item failures are returned in the response `errors` list, not the
12 * error channel. Provide the implementation with
13 * `Effect.provide(AWS.IoTFleetWise.BatchCreateVehicleHttp)`.
14 *
15 * ### Provisioning Vehicles
16 * **Example:** Provision a Batch of Vehicles
17 * ```typescript
18 * const batchCreateVehicle = yield* IoTFleetWise.BatchCreateVehicle();
19 *
20 * const { vehicles, errors } = yield* batchCreateVehicle({
21 * vehicles: [
22 * {
23 * vehicleName: "vin-1HGBH41JXMN109186",
24 * modelManifestArn,
25 * decoderManifestArn,
26 * },
27 * ],
28 * });
29 * ```
30 *
31 * @binding
32 */
33export interface BatchCreateVehicle extends Binding.Service<
34 BatchCreateVehicle,
35 "AWS.IoTFleetWise.BatchCreateVehicle",
36 () => Effect.Effect<
37 (
38 request: iotfleetwise.BatchCreateVehicleRequest,
39 ) => Effect.Effect<
40 iotfleetwise.BatchCreateVehicleResponse,
41 iotfleetwise.BatchCreateVehicleError
42 >
43 >
44> {}
45export const BatchCreateVehicle = Binding.Service<BatchCreateVehicle>(
46 "AWS.IoTFleetWise.BatchCreateVehicle",
47);