1import type * as iotfleetwise from "@distilled.cloud/aws/iotfleetwise";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4import type { Fleet } from "./Fleet.ts";
5
6/**
7 * `DisassociateVehicleFleet` request with `fleetId` injected from the bound
8 * fleet.
9 */
10export interface DisassociateVehicleFleetRequest extends Omit<
11 iotfleetwise.DisassociateVehicleFleetRequest,
12 "fleetId"
13> {}
14
15/**
16 * Runtime binding for the `DisassociateVehicleFleet` operation (IAM action
17 * `iotfleetwise:DisassociateVehicleFleet`), scoped to one {@link Fleet}.
18 *
19 * Removes a vehicle from the bound fleet at runtime. Provide the
20 * implementation with
21 * `Effect.provide(AWS.IoTFleetWise.DisassociateVehicleFleetHttp)`.
22 *
23 * ### Fleet Membership
24 * **Example:** Remove a Vehicle from the Fleet
25 * ```typescript
26 * const disassociateVehicleFleet =
27 * yield* IoTFleetWise.DisassociateVehicleFleet(fleet);
28 *
29 * yield* disassociateVehicleFleet({ vehicleName: "vin-1HGBH41JXMN109186" });
30 * ```
31 *
32 * @binding
33 */
34export interface DisassociateVehicleFleet extends Binding.Service<
35 DisassociateVehicleFleet,
36 "AWS.IoTFleetWise.DisassociateVehicleFleet",
37 (
38 fleet: Fleet,
39 ) => Effect.Effect<
40 (
41 request: DisassociateVehicleFleetRequest,
42 ) => Effect.Effect<
43 iotfleetwise.DisassociateVehicleFleetResponse,
44 iotfleetwise.DisassociateVehicleFleetError
45 >
46 >
47> {}
48export const DisassociateVehicleFleet =
49 Binding.Service<DisassociateVehicleFleet>(
50 "AWS.IoTFleetWise.DisassociateVehicleFleet",
51 );