@cdkx/web-application
Version:
Static web application hosting related constructs
32 lines • 3.83 kB
JavaScript
(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==