1import * as appsignals from "@distilled.cloud/aws/application-signals";
2import * as Layer from "effect/Layer";
3import { BatchGetServiceLevelObjectiveBudgetReport } from "./BatchGetServiceLevelObjectiveBudgetReport.ts";
4import { makeSloBatchHttpBinding } from "./BindingHttp.ts";
5
6export const BatchGetServiceLevelObjectiveBudgetReportHttp = Layer.effect(
7 BatchGetServiceLevelObjectiveBudgetReport,
8 makeSloBatchHttpBinding({
9 tag: "AWS.ApplicationSignals.BatchGetServiceLevelObjectiveBudgetReport",
10 operation: appsignals.batchGetServiceLevelObjectiveBudgetReport,
11 actions: ["application-signals:BatchGetServiceLevelObjectiveBudgetReport"],
12 // Budget reports evaluate the SLI with the CALLER's credentials —
13 // verified live: without cloudwatch:GetMetricData the operation fails
14 // with AccessDeniedException (empty message).
15 accountActions: ["cloudwatch:GetMetricData"],
16 }),
17);