1import type * as mq from "@distilled.cloud/aws/mq";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for the `ListBrokers` operation (IAM action
7 * `mq:ListBrokers` on `*` — the operation is not resource-scoped).
8 *
9 * Lists all Amazon MQ brokers in the account/region. Provide the
10 * implementation with `Effect.provide(AWS.MQ.ListBrokersHttp)`.
11 * ### Observing a Broker
12 * **Example:** List All Brokers
13 * ```typescript
14 * const listBrokers = yield* MQ.ListBrokers();
15 *
16 * const page = yield* listBrokers();
17 * // page.BrokerSummaries → [{ BrokerName: "orders", BrokerState: "RUNNING", … }]
18 * ```
19 *
20 * @binding
21 */
22export interface ListBrokers extends Binding.Service<
23 ListBrokers,
24 "AWS.MQ.ListBrokers",
25 () => Effect.Effect<
26 (
27 request?: mq.ListBrokersRequest,
28 ) => Effect.Effect<mq.ListBrokersResponse, mq.ListBrokersError>
29 >
30> {}
31export const ListBrokers = Binding.Service<ListBrokers>("AWS.MQ.ListBrokers");