1import type * as xray from "@distilled.cloud/aws/xray";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5export interface GetSamplingStatisticSummariesRequest
6 extends xray.GetSamplingStatisticSummariesRequest {}
7
8/**
9 * Retrieve recent aggregate sampling results (requests matched, sampled,
10 * and borrowed) for every sampling rule.
11 *
12 * Bind the operation in the function's init phase to get a runtime callable;
13 * provide the implementation with `Effect.provide(XRay.GetSamplingStatisticSummariesHttp)`.
14 * The action is account-scoped: X-Ray does not support resource-level
15 * permissions for `xray:GetSamplingStatisticSummaries`, so the binding grants it on `*`.
16 * ### Sampling
17 * **Example:** Inspect recent sampling activity
18 * ```typescript
19 * import * as XRay from "alchemy/AWS/XRay";
20 *
21 * // init — grants xray:GetSamplingStatisticSummaries
22 * const getSamplingStatisticSummaries =
23 * yield* XRay.GetSamplingStatisticSummaries();
24 *
25 * // runtime
26 * const summaries = yield* getSamplingStatisticSummaries();
27 * const perRule = summaries.SamplingStatisticSummaries ?? [];
28 * ```
29 *
30 * @binding
31 */
32export interface GetSamplingStatisticSummaries extends Binding.Service<
33 GetSamplingStatisticSummaries,
34 "AWS.XRay.GetSamplingStatisticSummaries",
35 () => Effect.Effect<
36 (
37 request?: GetSamplingStatisticSummariesRequest,
38 ) => Effect.Effect<
39 xray.GetSamplingStatisticSummariesResult,
40 xray.GetSamplingStatisticSummariesError
41 >
42 >
43> {}
44export const GetSamplingStatisticSummaries =
45 Binding.Service<GetSamplingStatisticSummaries>(
46 "AWS.XRay.GetSamplingStatisticSummaries",
47 );