| 1 | import * as route53 from "@distilled.cloud/aws/route-53"; |
| 2 | import * as Layer from "effect/Layer"; |
| 3 | import { makeRoute53AccountHttpBinding } from "./BindingHttp.ts"; |
| 4 | import { ListHostedZonesByVPC } from "./ListHostedZonesByVPC.ts"; |
| 5 | |
| 6 | export 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 | ); |