1import * as route53 from "@distilled.cloud/aws/route-53";
2import * as Layer from "effect/Layer";
3import { makeRoute53AccountHttpBinding } from "./BindingHttp.ts";
4import { ListHostedZonesByVPC } from "./ListHostedZonesByVPC.ts";
5
6export const ListHostedZonesByVPCHttp = Layer.effect(
7 ListHostedZonesByVPC,
8 makeRoute53AccountHttpBinding({
9 tag: "AWS.Route53.ListHostedZonesByVPC",
10 operation: route53.listHostedZonesByVPC,
11 // Route 53 verifies the VPC on the caller's behalf via ec2:DescribeVpcs —
12 // without that grant every call fails with AccessDeniedException
13 // ("Failed to verify the given VPC by calling ec2:DescribeVpcs").
14 actions: ["route53:ListHostedZonesByVPC", "ec2:DescribeVpcs"],
15 }),
16);