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 * `ListManagedThingSchemas` request with `Identifier` injected from the
8 * bound managed thing.
9 */
10export interface ListManagedThingSchemasRequest extends Omit<
11 mi.ListManagedThingSchemasRequest,
12 "Identifier"
13> {}
14
15/**
16 * Runtime binding for the `ListManagedThingSchemas` operation (IAM action
17 * `iotmanagedintegrations:ListManagedThingSchemas`), scoped to one
18 * {@link ManagedThing}.
19 *
20 * Lists the capability schemas of the bound device, optionally filtered by
21 * endpoint or capability id. Provide the implementation with
22 * `Effect.provide(AWS.IoTManagedIntegrations.ListManagedThingSchemasHttp)`.
23 *
24 * ### Reading Device State
25 * **Example:** List Device Schemas
26 * ```typescript
27 * const listSchemas =
28 * yield* IoTManagedIntegrations.ListManagedThingSchemas(thing);
29 *
30 * const { Items } = yield* listSchemas({ EndpointIdFilter: "1" });
31 * ```
32 *
33 * @binding
34 */
35export interface ListManagedThingSchemas extends Binding.Service<
36 ListManagedThingSchemas,
37 "AWS.IoTManagedIntegrations.ListManagedThingSchemas",
38 (
39 thing: ManagedThing,
40 ) => Effect.Effect<
41 (
42 request?: ListManagedThingSchemasRequest,
43 ) => Effect.Effect<
44 mi.ListManagedThingSchemasResponse,
45 mi.ListManagedThingSchemasError
46 >
47 >
48> {}
49export const ListManagedThingSchemas = Binding.Service<ListManagedThingSchemas>(
50 "AWS.IoTManagedIntegrations.ListManagedThingSchemas",
51);