UNPKG

@cdkx/web-application

Version:

Static web application hosting related constructs

44 lines 5.36 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/get-viewer-certificate", ["require", "exports", "@aws-cdk/aws-certificatemanager", "@aws-cdk/aws-cloudfront"], factory); } })(function (require, exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getViewerCertificate = void 0; const aws_certificatemanager_1 = require("@aws-cdk/aws-certificatemanager"); const aws_cloudfront_1 = require("@aws-cdk/aws-cloudfront"); function getViewerCertificate(scope, props) { const { certificate, hostedZone, aliases } = props; let viewerCertificate = certificate; if (!isICertificate(certificate)) { if (!hostedZone) { throw new Error('Missing required hosted zone property. Hosted zone is required to be able to request certificate.'); } viewerCertificate = new aws_certificatemanager_1.DnsValidatedCertificate(scope, 'ViewerCertificate', { domainName: certificate.domainName, hostedZone: hostedZone, // cloudfront require the region to be us-east-1 as of 2020, Aug 23. region: 'us-east-1', }); } return aws_cloudfront_1.ViewerCertificate.fromAcmCertificate(viewerCertificate, { aliases, securityPolicy: aws_cloudfront_1.SecurityPolicyProtocol.TLS_V1_2_2019, sslMethod: aws_cloudfront_1.SSLMethod.SNI, }); } exports.getViewerCertificate = getViewerCertificate; /** * Checks if given certificates is of type ICertificate * @param certificate */ function isICertificate(certificate) { return certificate.certificateArn !== undefined; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXZpZXdlci1jZXJ0aWZpY2F0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3dlYi1hcHBsaWNhdGlvbi9mYWNhZGVzL2dldC12aWV3ZXItY2VydGlmaWNhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBQUEsNEVBR3lDO0lBTXpDLDREQUlpQztJQUVqQyxTQUFnQixvQkFBb0IsQ0FDbEMsS0FBcUIsRUFDckIsS0FBMkI7UUFFM0IsTUFBTSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLEdBQUcsS0FBSyxDQUFDO1FBRW5ELElBQUksaUJBQWlCLEdBQUcsV0FBMkIsQ0FBQztRQUNwRCxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQ2hDLElBQUksQ0FBQyxVQUFVLEVBQUU7Z0JBQ2YsTUFBTSxJQUFJLEtBQUssQ0FDYixtR0FBbUcsQ0FDcEcsQ0FBQzthQUNIO1lBQ0QsaUJBQWlCLEdBQUcsSUFBSSxnREFBdUIsQ0FDN0MsS0FBSyxFQUNMLG1CQUFtQixFQUNuQjtnQkFDRSxVQUFVLEVBQUUsV0FBVyxDQUFDLFVBQVU7Z0JBQ2xDLFVBQVUsRUFBRSxVQUFVO2dCQUN0QixvRUFBb0U7Z0JBQ3BFLE1BQU0sRUFBRSxXQUFXO2FBQ3BCLENBQ0YsQ0FBQztTQUNIO1FBRUQsT0FBTyxrQ0FBaUIsQ0FBQyxrQkFBa0IsQ0FBQyxpQkFBaUIsRUFBRTtZQUM3RCxPQUFPO1lBQ1AsY0FBYyxFQUFFLHVDQUFzQixDQUFDLGFBQWE7WUFDcEQsU0FBUyxFQUFFLDBCQUFTLENBQUMsR0FBRztTQUN6QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBOUJELG9EQThCQztJQUVEOzs7T0FHRztJQUNILFNBQVMsY0FBYyxDQUNyQixXQUFvRDtRQUVwRCxPQUFRLFdBQTRCLENBQUMsY0FBYyxLQUFLLFNBQVMsQ0FBQztJQUNwRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRG5zVmFsaWRhdGVkQ2VydGlmaWNhdGUsXG4gIElDZXJ0aWZpY2F0ZSxcbn0gZnJvbSAnQGF3cy1jZGsvYXdzLWNlcnRpZmljYXRlbWFuYWdlcic7XG5pbXBvcnQge1xuICBXZWJBcHBsaWNhdGlvbixcbiAgSVJlcXVlc3RDZXJ0aWZpY2F0ZVByb3BzLFxuICBJV2ViQXBwbGljYXRpb25Qcm9wcyxcbn0gZnJvbSAnLi4vY29uc3RydWN0cy93ZWItYXBwbGljYXRpb24uY29uc3RydWN0JztcbmltcG9ydCB7XG4gIFZpZXdlckNlcnRpZmljYXRlLFxuICBTU0xNZXRob2QsXG4gIFNlY3VyaXR5UG9saWN5UHJvdG9jb2wsXG59IGZyb20gJ0Bhd3MtY2RrL2F3cy1jbG91ZGZyb250JztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFZpZXdlckNlcnRpZmljYXRlKFxuICBzY29wZTogV2ViQXBwbGljYXRpb24sXG4gIHByb3BzOiBJV2ViQXBwbGljYXRpb25Qcm9wc1xuKTogVmlld2VyQ2VydGlmaWNhdGUge1xuICBjb25zdCB7IGNlcnRpZmljYXRlLCBob3N0ZWRab25lLCBhbGlhc2VzIH0gPSBwcm9wcztcblxuICBsZXQgdmlld2VyQ2VydGlmaWNhdGUgPSBjZXJ0aWZpY2F0ZSBhcyBJQ2VydGlmaWNhdGU7XG4gIGlmICghaXNJQ2VydGlmaWNhdGUoY2VydGlmaWNhdGUpKSB7XG4gICAgaWYgKCFob3N0ZWRab25lKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdNaXNzaW5nIHJlcXVpcmVkIGhvc3RlZCB6b25lIHByb3BlcnR5LiBIb3N0ZWQgem9uZSBpcyByZXF1aXJlZCB0byBiZSBhYmxlIHRvIHJlcXVlc3QgY2VydGlmaWNhdGUuJ1xuICAgICAgKTtcbiAgICB9XG4gICAgdmlld2VyQ2VydGlmaWNhdGUgPSBuZXcgRG5zVmFsaWRhdGVkQ2VydGlmaWNhdGUoXG4gICAgICBzY29wZSxcbiAgICAgICdWaWV3ZXJDZXJ0aWZpY2F0ZScsXG4gICAgICB7XG4gICAgICAgIGRvbWFpbk5hbWU6IGNlcnRpZmljYXRlLmRvbWFpbk5hbWUsXG4gICAgICAgIGhvc3RlZFpvbmU6IGhvc3RlZFpvbmUsXG4gICAgICAgIC8vIGNsb3VkZnJvbnQgcmVxdWlyZSB0aGUgcmVnaW9uIHRvIGJlIHVzLWVhc3QtMSBhcyBvZiAyMDIwLCBBdWcgMjMuXG4gICAgICAgIHJlZ2lvbjogJ3VzLWVhc3QtMScsXG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiBWaWV3ZXJDZXJ0aWZpY2F0ZS5mcm9tQWNtQ2VydGlmaWNhdGUodmlld2VyQ2VydGlmaWNhdGUsIHtcbiAgICBhbGlhc2VzLFxuICAgIHNlY3VyaXR5UG9saWN5OiBTZWN1cml0eVBvbGljeVByb3RvY29sLlRMU19WMV8yXzIwMTksXG4gICAgc3NsTWV0aG9kOiBTU0xNZXRob2QuU05JLFxuICB9KTtcbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgZ2l2ZW4gY2VydGlmaWNhdGVzIGlzIG9mIHR5cGUgSUNlcnRpZmljYXRlXG4gKiBAcGFyYW0gY2VydGlmaWNhdGVcbiAqL1xuZnVuY3Rpb24gaXNJQ2VydGlmaWNhdGUoXG4gIGNlcnRpZmljYXRlOiBJQ2VydGlmaWNhdGUgfCBJUmVxdWVzdENlcnRpZmljYXRlUHJvcHNcbik6IGNlcnRpZmljYXRlIGlzIElDZXJ0aWZpY2F0ZSB7XG4gIHJldHVybiAoY2VydGlmaWNhdGUgYXMgSUNlcnRpZmljYXRlKS5jZXJ0aWZpY2F0ZUFybiAhPT0gdW5kZWZpbmVkO1xufVxuIl19