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:BatchAssociateClientDeviceWithCoreDevice`.
7 *
8 * Associates up to 100 client devices with a core device so they can use it
9 * as their local MQTT broker — the write half of client-device fleet
10 * management. The caller supplies the core device thing name and the client
11 * device entries at runtime. Provide the implementation with
12 * `Effect.provide(AWS.GreengrassV2.BatchAssociateClientDeviceWithCoreDeviceHttp)`.
13 * ### Managing Client Devices
14 * **Example:** Associate Client Devices
15 * ```typescript
16 * // init — account-level binding, no resource argument
17 * const associateClientDevices =
18 * yield* AWS.GreengrassV2.BatchAssociateClientDeviceWithCoreDevice();
19 *
20 * // runtime
21 * const { errorEntries } = yield* associateClientDevices({
22 * coreDeviceThingName: "MyCore",
23 * entries: [{ thingName: "Sensor1" }, { thingName: "Sensor2" }],
24 * });
25 * ```
26 *
27 * @binding
28 */
29export interface BatchAssociateClientDeviceWithCoreDevice extends Binding.Service<
30 BatchAssociateClientDeviceWithCoreDevice,
31 "AWS.GreengrassV2.BatchAssociateClientDeviceWithCoreDevice",
32 () => Effect.Effect<
33 (
34 request: greengrassv2.BatchAssociateClientDeviceWithCoreDeviceRequest,
35 ) => Effect.Effect<
36 greengrassv2.BatchAssociateClientDeviceWithCoreDeviceResponse,
37 greengrassv2.BatchAssociateClientDeviceWithCoreDeviceError
38 >
39 >
40> {}
41export const BatchAssociateClientDeviceWithCoreDevice =
42 Binding.Service<BatchAssociateClientDeviceWithCoreDevice>(
43 "AWS.GreengrassV2.BatchAssociateClientDeviceWithCoreDevice",
44 );