1import type * as greengrassv2 from "@distilled.cloud/aws/greengrassv2";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for `greengrass:BatchDisassociateClientDeviceFromCoreDevice`.
7 *
8 * Removes up to 100 client-device associations from a core device — the
9 * cleanup half of client-device fleet management. The caller supplies the
10 * core device thing name and the client device entries at runtime. Provide
11 * the implementation with
12 * `Effect.provide(AWS.GreengrassV2.BatchDisassociateClientDeviceFromCoreDeviceHttp)`.
13 * ### Managing Client Devices
14 * **Example:** Disassociate Client Devices
15 * ```typescript
16 * // init — account-level binding, no resource argument
17 * const disassociateClientDevices =
18 * yield* AWS.GreengrassV2.BatchDisassociateClientDeviceFromCoreDevice();
19 *
20 * // runtime
21 * const { errorEntries } = yield* disassociateClientDevices({
22 * coreDeviceThingName: "MyCore",
23 * entries: [{ thingName: "RetiredSensor" }],
24 * });
25 * ```
26 *
27 * @binding
28 */
29export interface BatchDisassociateClientDeviceFromCoreDevice extends Binding.Service<
30 BatchDisassociateClientDeviceFromCoreDevice,
31 "AWS.GreengrassV2.BatchDisassociateClientDeviceFromCoreDevice",
32 () => Effect.Effect<
33 (
34 request: greengrassv2.BatchDisassociateClientDeviceFromCoreDeviceRequest,
35 ) => Effect.Effect<
36 greengrassv2.BatchDisassociateClientDeviceFromCoreDeviceResponse,
37 greengrassv2.BatchDisassociateClientDeviceFromCoreDeviceError
38 >
39 >
40> {}
41export const BatchDisassociateClientDeviceFromCoreDevice =
42 Binding.Service<BatchDisassociateClientDeviceFromCoreDevice>(
43 "AWS.GreengrassV2.BatchDisassociateClientDeviceFromCoreDevice",
44 );