in source/aws-bootstrap-kit/lib/dns.ts [35:71]
constructor(scope: Construct, id: string, props: RootDnsProps) {
super(scope, id);
this.rootHostedZone = this.createRootHostedZone(props);
for (const accountIndex in props.stagesAccounts) {
const account = props.stagesAccounts[accountIndex];
const stageSubZone = this.createStageSubZone(
account,
props.rootHostedZoneDNSName
);
this.createDNSAutoUpdateRole(account, stageSubZone);
if (stageSubZone.hostedZoneNameServers) {
new route53.RecordSet(
this,
`${account.accountName}SubZoneDelegationNSRecord`,
{
recordType: route53.RecordType.NS,
target: RecordTarget.fromValues(...stageSubZone.hostedZoneNameServers?stageSubZone.hostedZoneNameServers:''),
recordName: stageSubZone.zoneName,
zone: this.rootHostedZone,
}
);
}
}
if (
props.thirdPartyProviderDNSUsed &&
this.rootHostedZone.hostedZoneNameServers
) {
new cdk.CfnOutput(this, `NS records`, {
value: cdk.Fn.join(",", this.rootHostedZone.hostedZoneNameServers),
});
} else {
throw new Error("Creation of DNS domain is not yet supported");
// TODO: implement call to https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Route53Domains.html#registerDomain-property
}
}