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:UpdateConnectivityInfo`.
7 *
8 * Replaces a core device's connectivity information — the endpoints and
9 * ports client devices use to reach the core's local MQTT broker. Typically
10 * driven by automation that knows the core's current IP (e.g. reacting to a
11 * DHCP change). The caller supplies the core device's thing name and the new
12 * endpoint list at runtime. Provide the implementation with
13 * `Effect.provide(AWS.GreengrassV2.UpdateConnectivityInfoHttp)`.
14 * ### Managing Client Devices
15 * **Example:** Publish A Core's Broker Endpoint
16 * ```typescript
17 * // init — account-level binding, no resource argument
18 * const updateConnectivityInfo = yield* AWS.GreengrassV2.UpdateConnectivityInfo();
19 *
20 * // runtime
21 * yield* updateConnectivityInfo({
22 * thingName: "MyCore",
23 * connectivityInfo: [
24 * { id: "lan", hostAddress: "192.168.1.20", portNumber: 8883 },
25 * ],
26 * });
27 * ```
28 *
29 * @binding
30 */
31export interface UpdateConnectivityInfo extends Binding.Service<
32 UpdateConnectivityInfo,
33 "AWS.GreengrassV2.UpdateConnectivityInfo",
34 () => Effect.Effect<
35 (
36 request: greengrassv2.UpdateConnectivityInfoRequest,
37 ) => Effect.Effect<
38 greengrassv2.UpdateConnectivityInfoResponse,
39 greengrassv2.UpdateConnectivityInfoError
40 >
41 >
42> {}
43export const UpdateConnectivityInfo = Binding.Service<UpdateConnectivityInfo>(
44 "AWS.GreengrassV2.UpdateConnectivityInfo",
45);