| 1 | import * as appsignals from "@distilled.cloud/aws/application-signals"; |
| 2 | import * as Layer from "effect/Layer"; |
| 3 | import { BatchGetServiceLevelObjectiveBudgetReport } from "./BatchGetServiceLevelObjectiveBudgetReport.ts"; |
| 4 | import { makeSloBatchHttpBinding } from "./BindingHttp.ts"; |
| 5 | |
| 6 | export 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 | ); |