1import type * as mi from "@distilled.cloud/aws/iot-managed-integrations";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4import type { ManagedThing } from "./ManagedThing.ts";
5
6/**
7 * Runtime binding for the `GetManagedThingMetaData` operation (IAM action
8 * `iotmanagedintegrations:GetManagedThingMetaData`), scoped to one
9 * {@link ManagedThing}.
10 *
11 * Reads the metadata key-value pairs attached to the bound managed thing.
12 * Provide the implementation with
13 * `Effect.provide(AWS.IoTManagedIntegrations.GetManagedThingMetaDataHttp)`.
14 *
15 * ### Reading Device State
16 * **Example:** Read Device Metadata
17 * ```typescript
18 * const getMetaData =
19 * yield* IoTManagedIntegrations.GetManagedThingMetaData(thing);
20 *
21 * const { MetaData } = yield* getMetaData();
22 * ```
23 *
24 * @binding
25 */
26export interface GetManagedThingMetaData extends Binding.Service<
27 GetManagedThingMetaData,
28 "AWS.IoTManagedIntegrations.GetManagedThingMetaData",
29 (
30 thing: ManagedThing,
31 ) => Effect.Effect<
32 () => Effect.Effect<
33 mi.GetManagedThingMetaDataResponse,
34 mi.GetManagedThingMetaDataError
35 >
36 >
37> {}
38export const GetManagedThingMetaData = Binding.Service<GetManagedThingMetaData>(
39 "AWS.IoTManagedIntegrations.GetManagedThingMetaData",
40);