1import type * as route53 from "@distilled.cloud/aws/route-53";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for the `ListHostedZonesByVPC` operation (IAM actions
7 * `route53:ListHostedZonesByVPC` + `ec2:DescribeVpcs` — Route 53 verifies the
8 * VPC on the caller's behalf; list actions do not support resource-level
9 * permissions, so both are granted on `*`).
10 *
11 * Lists the private hosted zones associated with a VPC — discovery for
12 * compute that audits or wires up split-horizon DNS at runtime. Provide the
13 * implementation with `Effect.provide(AWS.Route53.ListHostedZonesByVPCHttp)`.
14 * ### Discovering Zones
15 * **Example:** List a VPC's private zones
16 * ```typescript
17 * const listByVpc = yield* AWS.Route53.ListHostedZonesByVPC();
18 *
19 * const { HostedZoneSummaries } = yield* listByVpc({
20 * VPCId: "vpc-0123456789abcdef0",
21 * VPCRegion: "us-east-1",
22 * });
23 * ```
24 *
25 * @binding
26 */
27export interface ListHostedZonesByVPC extends Binding.Service<
28 ListHostedZonesByVPC,
29 "AWS.Route53.ListHostedZonesByVPC",
30 () => Effect.Effect<
31 (
32 request: route53.ListHostedZonesByVPCRequest,
33 ) => Effect.Effect<
34 route53.ListHostedZonesByVPCResponse,
35 route53.ListHostedZonesByVPCError
36 >
37 >
38> {}
39export const ListHostedZonesByVPC = Binding.Service<ListHostedZonesByVPC>(
40 "AWS.Route53.ListHostedZonesByVPC",
41);