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