UNPKG

1.89 kBTypeScriptView Raw
1import { IVpcEndpointService } from '@aws-cdk/aws-ec2';
2import { Construct } from 'constructs';
3import { IPublicHostedZone } from '../lib';
4import { Construct as CoreConstruct } from '@aws-cdk/core';
5/**
6 * Properties to configure a VPC Endpoint Service domain name
7 */
8export interface VpcEndpointServiceDomainNameProps {
9 /**
10 * The VPC Endpoint Service to configure Private DNS for
11 */
12 readonly endpointService: IVpcEndpointService;
13 /**
14 * The domain name to use.
15 *
16 * This domain name must be owned by this account (registered through Route53),
17 * or delegated to this account. Domain ownership will be verified by AWS before
18 * private DNS can be used.
19 * @see https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-services-dns-validation.html
20 */
21 readonly domainName: string;
22 /**
23 * The public hosted zone to use for the domain.
24 */
25 readonly publicHostedZone: IPublicHostedZone;
26}
27/**
28 * A Private DNS configuration for a VPC endpoint service.
29 */
30export declare class VpcEndpointServiceDomainName extends CoreConstruct {
31 private static readonly endpointServices;
32 private static readonly endpointServicesMap;
33 /**
34 * The domain name associated with the private DNS configuration
35 */
36 domainName: string;
37 constructor(scope: Construct, id: string, props: VpcEndpointServiceDomainNameProps);
38 private validateProps;
39 /**
40 * Sets up Custom Resources to make AWS calls to set up Private DNS on an endpoint service,
41 * returning the values to use in a TxtRecord, which AWS uses to verify domain ownership.
42 */
43 private getPrivateDnsConfiguration;
44 /**
45 * Creates a Route53 entry and a Custom Resource which explicitly tells AWS to verify ownership
46 * of the domain name attached to an endpoint service.
47 */
48 private verifyPrivateDnsConfiguration;
49}