UNPKG

@cdkx/web-application

Version:

Static web application hosting related constructs

52 lines 5.81 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/create-cloudfront-web-distribution", ["require", "exports", "@aws-cdk/aws-cloudfront"], factory); } })(function (require, exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createCloudfrontWebDistribution = void 0; const aws_cloudfront_1 = require("@aws-cdk/aws-cloudfront"); function createCloudfrontWebDistribution(scope, props, { s3BucketSource, originAccessIdentity, viewerCertificate, }) { const { defaultRootObject, cloudfrontPriceClass, aliases } = props; return new aws_cloudfront_1.CloudFrontWebDistribution(scope, 'CloudFrontWebDistribution', { originConfigs: [ { s3OriginSource: { s3BucketSource, originAccessIdentity, }, behaviors: [ { isDefaultBehavior: true, forwardedValues: { queryString: true, cookies: { forward: 'none', }, }, }, ], }, ], errorConfigurations: [ // routes will be handled by SPA, so redirect to default page path { errorCode: 404, responsePagePath: `/${defaultRootObject || 'index.html'}`, responseCode: 200, }, ], comment: `Cloudfront Distribution for ${aliases[0]}`, priceClass: cloudfrontPriceClass, viewerProtocolPolicy: aws_cloudfront_1.ViewerProtocolPolicy.REDIRECT_TO_HTTPS, viewerCertificate, }); } exports.createCloudfrontWebDistribution = createCloudfrontWebDistribution; }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWNsb3VkZnJvbnQtd2ViLWRpc3RyaWJ1dGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3dlYi1hcHBsaWNhdGlvbi9mYWNhZGVzL2NyZWF0ZS1jbG91ZGZyb250LXdlYi1kaXN0cmlidXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBSUEsNERBS2lDO0lBR2pDLFNBQWdCLCtCQUErQixDQUM3QyxLQUFxQixFQUNyQixLQUEyQixFQUMzQixFQUNFLGNBQWMsRUFDZCxvQkFBb0IsRUFDcEIsaUJBQWlCLEdBS2xCO1FBRUQsTUFBTSxFQUFFLGlCQUFpQixFQUFFLG9CQUFvQixFQUFFLE9BQU8sRUFBRSxHQUFHLEtBQUssQ0FBQztRQUVuRSxPQUFPLElBQUksMENBQXlCLENBQUMsS0FBSyxFQUFFLDJCQUEyQixFQUFFO1lBQ3ZFLGFBQWEsRUFBRTtnQkFDYjtvQkFDRSxjQUFjLEVBQUU7d0JBQ2QsY0FBYzt3QkFDZCxvQkFBb0I7cUJBQ3JCO29CQUNELFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxpQkFBaUIsRUFBRSxJQUFJOzRCQUN2QixlQUFlLEVBQUU7Z0NBQ2YsV0FBVyxFQUFFLElBQUk7Z0NBQ2pCLE9BQU8sRUFBRTtvQ0FDUCxPQUFPLEVBQUUsTUFBTTtpQ0FDaEI7NkJBQ0Y7eUJBQ0Y7cUJBQ0Y7aUJBQ0Y7YUFDRjtZQUNELG1CQUFtQixFQUFFO2dCQUNuQixrRUFBa0U7Z0JBQ2xFO29CQUNFLFNBQVMsRUFBRSxHQUFHO29CQUNkLGdCQUFnQixFQUFFLElBQUksaUJBQWlCLElBQUksWUFBWSxFQUFFO29CQUN6RCxZQUFZLEVBQUUsR0FBRztpQkFDbEI7YUFDRjtZQUNELE9BQU8sRUFBRSwrQkFBK0IsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3BELFVBQVUsRUFBRSxvQkFBb0I7WUFDaEMsb0JBQW9CLEVBQUUscUNBQW9CLENBQUMsaUJBQWlCO1lBQzVELGlCQUFpQjtTQUNsQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBaERELDBFQWdEQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIFdlYkFwcGxpY2F0aW9uLFxuICBJV2ViQXBwbGljYXRpb25Qcm9wcyxcbn0gZnJvbSAnLi4vY29uc3RydWN0cy93ZWItYXBwbGljYXRpb24uY29uc3RydWN0JztcbmltcG9ydCB7XG4gIENsb3VkRnJvbnRXZWJEaXN0cmlidXRpb24sXG4gIFZpZXdlclByb3RvY29sUG9saWN5LFxuICBWaWV3ZXJDZXJ0aWZpY2F0ZSxcbiAgT3JpZ2luQWNjZXNzSWRlbnRpdHksXG59IGZyb20gJ0Bhd3MtY2RrL2F3cy1jbG91ZGZyb250JztcbmltcG9ydCB7IEJ1Y2tldCB9IGZyb20gJ0Bhd3MtY2RrL2F3cy1zMyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVDbG91ZGZyb250V2ViRGlzdHJpYnV0aW9uKFxuICBzY29wZTogV2ViQXBwbGljYXRpb24sXG4gIHByb3BzOiBJV2ViQXBwbGljYXRpb25Qcm9wcyxcbiAge1xuICAgIHMzQnVja2V0U291cmNlLFxuICAgIG9yaWdpbkFjY2Vzc0lkZW50aXR5LFxuICAgIHZpZXdlckNlcnRpZmljYXRlLFxuICB9OiB7XG4gICAgczNCdWNrZXRTb3VyY2U6IEJ1Y2tldDtcbiAgICBvcmlnaW5BY2Nlc3NJZGVudGl0eTogT3JpZ2luQWNjZXNzSWRlbnRpdHk7XG4gICAgdmlld2VyQ2VydGlmaWNhdGU6IFZpZXdlckNlcnRpZmljYXRlO1xuICB9XG4pOiBDbG91ZEZyb250V2ViRGlzdHJpYnV0aW9uIHtcbiAgY29uc3QgeyBkZWZhdWx0Um9vdE9iamVjdCwgY2xvdWRmcm9udFByaWNlQ2xhc3MsIGFsaWFzZXMgfSA9IHByb3BzO1xuXG4gIHJldHVybiBuZXcgQ2xvdWRGcm9udFdlYkRpc3RyaWJ1dGlvbihzY29wZSwgJ0Nsb3VkRnJvbnRXZWJEaXN0cmlidXRpb24nLCB7XG4gICAgb3JpZ2luQ29uZmlnczogW1xuICAgICAge1xuICAgICAgICBzM09yaWdpblNvdXJjZToge1xuICAgICAgICAgIHMzQnVja2V0U291cmNlLFxuICAgICAgICAgIG9yaWdpbkFjY2Vzc0lkZW50aXR5LFxuICAgICAgICB9LFxuICAgICAgICBiZWhhdmlvcnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBpc0RlZmF1bHRCZWhhdmlvcjogdHJ1ZSxcbiAgICAgICAgICAgIGZvcndhcmRlZFZhbHVlczoge1xuICAgICAgICAgICAgICBxdWVyeVN0cmluZzogdHJ1ZSxcbiAgICAgICAgICAgICAgY29va2llczoge1xuICAgICAgICAgICAgICAgIGZvcndhcmQ6ICdub25lJyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBlcnJvckNvbmZpZ3VyYXRpb25zOiBbXG4gICAgICAvLyByb3V0ZXMgd2lsbCBiZSBoYW5kbGVkIGJ5IFNQQSwgc28gcmVkaXJlY3QgdG8gZGVmYXVsdCBwYWdlIHBhdGhcbiAgICAgIHtcbiAgICAgICAgZXJyb3JDb2RlOiA0MDQsXG4gICAgICAgIHJlc3BvbnNlUGFnZVBhdGg6IGAvJHtkZWZhdWx0Um9vdE9iamVjdCB8fCAnaW5kZXguaHRtbCd9YCxcbiAgICAgICAgcmVzcG9uc2VDb2RlOiAyMDAsXG4gICAgICB9LFxuICAgIF0sXG4gICAgY29tbWVudDogYENsb3VkZnJvbnQgRGlzdHJpYnV0aW9uIGZvciAke2FsaWFzZXNbMF19YCxcbiAgICBwcmljZUNsYXNzOiBjbG91ZGZyb250UHJpY2VDbGFzcyxcbiAgICB2aWV3ZXJQcm90b2NvbFBvbGljeTogVmlld2VyUHJvdG9jb2xQb2xpY3kuUkVESVJFQ1RfVE9fSFRUUFMsXG4gICAgdmlld2VyQ2VydGlmaWNhdGUsXG4gIH0pO1xufVxuIl19