1import type * as iotdata from "@distilled.cloud/aws/iot-data-plane";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5export interface ListRetainedMessagesRequest
6 extends iotdata.ListRetainedMessagesRequest {}
7
8/**
9 * Runtime binding for the IoT data-plane `ListRetainedMessages` operation
10 * (IAM action `iot:ListRetainedMessages`, granted on `*` — the action does
11 * not support resource-level permissions).
12 *
13 * Returns summaries (topic, payload size, QoS) of all retained MQTT
14 * messages in the account; read a payload with
15 * {@link GetRetainedMessage}. Provide the implementation with
16 * `Effect.provide(AWS.IoT.ListRetainedMessagesHttp)`.
17 * ### Retained Messages
18 * **Example:** List Retained Topics
19 * ```typescript
20 * const listRetained = yield* AWS.IoT.ListRetainedMessages();
21 *
22 * const { retainedTopics } = yield* listRetained();
23 * ```
24 *
25 * @binding
26 */
27export interface ListRetainedMessages extends Binding.Service<
28 ListRetainedMessages,
29 "AWS.IoT.ListRetainedMessages",
30 () => Effect.Effect<
31 (
32 request?: ListRetainedMessagesRequest,
33 ) => Effect.Effect<
34 iotdata.ListRetainedMessagesResponse,
35 iotdata.ListRetainedMessagesError
36 >
37 >
38> {}
39
40export const ListRetainedMessages = Binding.Service<ListRetainedMessages>(
41 "AWS.IoT.ListRetainedMessages",
42);