1import * as appsync from "@distilled.cloud/aws/appsync";
2import * as Layer from "effect/Layer";
3import { makeAppSyncAccountHttpBinding } from "./BindingHttp.ts";
4import { EvaluateMappingTemplate } from "./EvaluateMappingTemplate.ts";
5
6/**
7 * HTTP implementation of the {@link EvaluateMappingTemplate} binding. Calls
8 * `appsync:EvaluateMappingTemplate` with the host Function's IAM role. The
9 * action defines no IAM resource types, so the grant is necessarily
10 * `Resource: "*"`.
11 */
12export const EvaluateMappingTemplateHttp = Layer.effect(
13 EvaluateMappingTemplate,
14 makeAppSyncAccountHttpBinding({
15 tag: "AWS.AppSync.EvaluateMappingTemplate",
16 actions: ["appsync:EvaluateMappingTemplate"],
17 operation: appsync.evaluateMappingTemplate,
18 }),
19);