1import type * as obs from "@distilled.cloud/aws/observabilityadmin";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for `observabilityadmin:ListTelemetryRules` — enumerates
7 * the account's telemetry rules (name, ARN, telemetry type, source types),
8 * e.g. for an audit function that reports which auto-enable rules exist.
9 *
10 * Provide `AWS.ObservabilityAdmin.ListTelemetryRulesHttp` on the hosting
11 * Lambda Function to satisfy the requirement.
12 * ### Listing Telemetry Rules
13 * **Example:** Enumerate the account's telemetry rules
14 * ```typescript
15 * // init — grants observabilityadmin:ListTelemetryRules
16 * const listTelemetryRules = yield* AWS.ObservabilityAdmin.ListTelemetryRules();
17 *
18 * // runtime
19 * const { TelemetryRuleSummaries } = yield* listTelemetryRules();
20 * for (const rule of TelemetryRuleSummaries ?? []) {
21 * yield* Effect.log(`${rule.RuleName}: ${rule.TelemetryType}`);
22 * }
23 * ```
24 *
25 * @binding
26 */
27export interface ListTelemetryRules extends Binding.Service<
28 ListTelemetryRules,
29 "AWS.ObservabilityAdmin.ListTelemetryRules",
30 () => Effect.Effect<
31 (
32 request?: obs.ListTelemetryRulesInput,
33 ) => Effect.Effect<
34 obs.ListTelemetryRulesOutput,
35 obs.ListTelemetryRulesError
36 >
37 >
38> {}
39
40export const ListTelemetryRules = Binding.Service<ListTelemetryRules>(
41 "AWS.ObservabilityAdmin.ListTelemetryRules",
42);