UNPKG

@cdkx/web-application

Version:

Static web application hosting related constructs

32 lines 3.83 kB
(function (factory) { if (typeof module === "object" && typeof module.exports === "object") { var v = factory(require, exports); if (v !== undefined) module.exports = v; } else if (typeof define === "function" && define.amd) { define("@cdkx/web-application/facades/add-cname-records", ["require", "exports", "@aws-cdk/aws-route53", "change-case", "@cdkx/web-application/constants"], factory); } })(function (require, exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.addCnameRecords = void 0; const aws_route53_1 = require("@aws-cdk/aws-route53"); const change_case_1 = require("change-case"); const constants_1 = require("@cdkx/web-application/constants"); function addCnameRecords(scope, { distribution, aliases, domainNameRegistrar, hostedZone, }) { if (domainNameRegistrar === constants_1.DOMAIN_NAME_REGISTRAR.AWS) { if (!hostedZone) { throw new Error('Missing required hosted zone configuration for AWS domain registrar.'); } aliases.forEach((alias) => { new aws_route53_1.CnameRecord(scope, change_case_1.pascalCase(`${alias}CnameRecord`), { zone: hostedZone, recordName: alias, domainName: distribution.distributionDomainName, }); }); } } exports.addCnameRecords = addCnameRecords; }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWNuYW1lLXJlY29yZHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy93ZWItYXBwbGljYXRpb24vZmFjYWRlcy9hZGQtY25hbWUtcmVjb3Jkcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFBQSxzREFBZ0U7SUFDaEUsNkNBQXlDO0lBQ3pDLGdFQUFxRDtJQUlyRCxTQUFnQixlQUFlLENBQzdCLEtBQWdCLEVBQ2hCLEVBQ0UsWUFBWSxFQUNaLE9BQU8sRUFDUCxtQkFBbUIsRUFDbkIsVUFBVSxHQU1YO1FBRUQsSUFBSSxtQkFBbUIsS0FBSyxpQ0FBcUIsQ0FBQyxHQUFHLEVBQUU7WUFDckQsSUFBSSxDQUFDLFVBQVUsRUFBRTtnQkFDZixNQUFNLElBQUksS0FBSyxDQUNiLHNFQUFzRSxDQUN2RSxDQUFDO2FBQ0g7WUFDRCxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFRLEVBQUU7Z0JBQzlCLElBQUkseUJBQVcsQ0FBQyxLQUFLLEVBQUUsd0JBQVUsQ0FBQyxHQUFHLEtBQUssYUFBYSxDQUFDLEVBQUU7b0JBQ3hELElBQUksRUFBRSxVQUFVO29CQUNoQixVQUFVLEVBQUUsS0FBSztvQkFDakIsVUFBVSxFQUFFLFlBQVksQ0FBQyxzQkFBc0I7aUJBQ2hELENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBNUJELDBDQTRCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENuYW1lUmVjb3JkLCBJSG9zdGVkWm9uZSB9IGZyb20gJ0Bhd3MtY2RrL2F3cy1yb3V0ZTUzJztcbmltcG9ydCB7IHBhc2NhbENhc2UgfSBmcm9tICdjaGFuZ2UtY2FzZSc7XG5pbXBvcnQgeyBET01BSU5fTkFNRV9SRUdJU1RSQVIgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgSURpc3RyaWJ1dGlvbiB9IGZyb20gJ0Bhd3MtY2RrL2F3cy1jbG91ZGZyb250JztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ0Bhd3MtY2RrL2NvcmUnO1xuXG5leHBvcnQgZnVuY3Rpb24gYWRkQ25hbWVSZWNvcmRzKFxuICBzY29wZTogQ29uc3RydWN0LFxuICB7XG4gICAgZGlzdHJpYnV0aW9uLFxuICAgIGFsaWFzZXMsXG4gICAgZG9tYWluTmFtZVJlZ2lzdHJhcixcbiAgICBob3N0ZWRab25lLFxuICB9OiB7XG4gICAgZGlzdHJpYnV0aW9uOiBJRGlzdHJpYnV0aW9uO1xuICAgIGFsaWFzZXM6IHN0cmluZ1tdO1xuICAgIGRvbWFpbk5hbWVSZWdpc3RyYXI/OiBET01BSU5fTkFNRV9SRUdJU1RSQVI7XG4gICAgaG9zdGVkWm9uZT86IElIb3N0ZWRab25lO1xuICB9XG4pOiB2b2lkIHtcbiAgaWYgKGRvbWFpbk5hbWVSZWdpc3RyYXIgPT09IERPTUFJTl9OQU1FX1JFR0lTVFJBUi5BV1MpIHtcbiAgICBpZiAoIWhvc3RlZFpvbmUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ01pc3NpbmcgcmVxdWlyZWQgaG9zdGVkIHpvbmUgY29uZmlndXJhdGlvbiBmb3IgQVdTIGRvbWFpbiByZWdpc3RyYXIuJ1xuICAgICAgKTtcbiAgICB9XG4gICAgYWxpYXNlcy5mb3JFYWNoKChhbGlhcyk6IHZvaWQgPT4ge1xuICAgICAgbmV3IENuYW1lUmVjb3JkKHNjb3BlLCBwYXNjYWxDYXNlKGAke2FsaWFzfUNuYW1lUmVjb3JkYCksIHtcbiAgICAgICAgem9uZTogaG9zdGVkWm9uZSxcbiAgICAgICAgcmVjb3JkTmFtZTogYWxpYXMsXG4gICAgICAgIGRvbWFpbk5hbWU6IGRpc3RyaWJ1dGlvbi5kaXN0cmlidXRpb25Eb21haW5OYW1lLFxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==