1import * as rdsdata from "@distilled.cloud/aws/rds-data";
2import * as Layer from "effect/Layer";
3import { makeRDSDataHttpBinding } from "./BindingHttp.ts";
4import { ExecuteSql, type ExecuteSqlRequest } from "./ExecuteSql.ts";
5
6export const ExecuteSqlHttp = Layer.effect(
7 ExecuteSql,
8 makeRDSDataHttpBinding({
9 tag: "AWS.RDSData.ExecuteSql",
10 action: "rds-data:ExecuteSql",
11 operation: rdsdata.executeSql,
12 // the deprecated ExecuteSql API uses legacy wire keys for the same pair
13 makeInput: (
14 request: ExecuteSqlRequest,
15 { resourceArn, secretArn, database, schema },
16 ): rdsdata.ExecuteSqlRequest => ({
17 ...request,
18 dbClusterOrInstanceArn: resourceArn,
19 awsSecretStoreArn: secretArn,
20 database,
21 schema,
22 }),
23 }),
24);