UNPKG

@cdkx/web-application

Version:

Static web application hosting related constructs

33 lines 4.29 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-assets-server-distribution", ["require", "exports", "@aws-cdk/aws-cloudfront", "@aws-cdk/aws-cloudfront-origins"], factory); } })(function (require, exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.addAssetsServerDistribution = void 0; const aws_cloudfront_1 = require("@aws-cdk/aws-cloudfront"); const aws_cloudfront_origins_1 = require("@aws-cdk/aws-cloudfront-origins"); function addAssetsServerDistribution(scope, { s3BucketSource, aliases, certificate, }) { const originAccessIdentity = new aws_cloudfront_1.OriginAccessIdentity(scope, 'AccessIdentity', { comment: `Auto generated access identity for ${aliases[0]}`, }); s3BucketSource.grantRead(originAccessIdentity); return new aws_cloudfront_1.Distribution(scope, 'Distribution', { defaultBehavior: { compress: true, origin: new aws_cloudfront_origins_1.S3Origin(s3BucketSource), viewerProtocolPolicy: aws_cloudfront_1.ViewerProtocolPolicy.REDIRECT_TO_HTTPS, }, domainNames: aliases, comment: 'Auto generated distribution for static assets', certificate, }); } exports.addAssetsServerDistribution = addAssetsServerDistribution; }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWFzc2V0cy1zZXJ2ZXItZGlzdHJpYnV0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvd2ViLWFwcGxpY2F0aW9uL2ZhY2FkZXMvYWRkLWFzc2V0cy1zZXJ2ZXItZGlzdHJpYnV0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQUNBLDREQUlpQztJQUNqQyw0RUFBMkQ7SUFJM0QsU0FBZ0IsMkJBQTJCLENBQ3pDLEtBQW1CLEVBQ25CLEVBQ0UsY0FBYyxFQUNkLE9BQU8sRUFDUCxXQUFXLEdBS1o7UUFFRCxNQUFNLG9CQUFvQixHQUFHLElBQUkscUNBQW9CLENBQ25ELEtBQUssRUFDTCxnQkFBZ0IsRUFDaEI7WUFDRSxPQUFPLEVBQUUsc0NBQXNDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtTQUM1RCxDQUNGLENBQUM7UUFFRixjQUFjLENBQUMsU0FBUyxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFFL0MsT0FBTyxJQUFJLDZCQUFZLENBQUMsS0FBSyxFQUFFLGNBQWMsRUFBRTtZQUM3QyxlQUFlLEVBQUU7Z0JBQ2YsUUFBUSxFQUFFLElBQUk7Z0JBQ2QsTUFBTSxFQUFFLElBQUksaUNBQVEsQ0FBQyxjQUFjLENBQUM7Z0JBQ3BDLG9CQUFvQixFQUFFLHFDQUFvQixDQUFDLGlCQUFpQjthQUM3RDtZQUNELFdBQVcsRUFBRSxPQUFPO1lBQ3BCLE9BQU8sRUFBRSwrQ0FBK0M7WUFDeEQsV0FBVztTQUNaLENBQUMsQ0FBQztJQUNMLENBQUM7SUFoQ0Qsa0VBZ0NDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUNlcnRpZmljYXRlIH0gZnJvbSAnQGF3cy1jZGsvYXdzLWNlcnRpZmljYXRlbWFuYWdlcic7XG5pbXBvcnQge1xuICBEaXN0cmlidXRpb24sXG4gIE9yaWdpbkFjY2Vzc0lkZW50aXR5LFxuICBWaWV3ZXJQcm90b2NvbFBvbGljeSxcbn0gZnJvbSAnQGF3cy1jZGsvYXdzLWNsb3VkZnJvbnQnO1xuaW1wb3J0IHsgUzNPcmlnaW4gfSBmcm9tICdAYXdzLWNkay9hd3MtY2xvdWRmcm9udC1vcmlnaW5zJztcbmltcG9ydCB7IEJ1Y2tldCwgSUJ1Y2tldCB9IGZyb20gJ0Bhd3MtY2RrL2F3cy1zMyc7XG5pbXBvcnQgeyBBc3NldHNTZXJ2ZXIgfSBmcm9tICcuLi9jb25zdHJ1Y3RzL2Fzc2V0cy1zZXJ2ZXIuY29uc3RydWN0JztcblxuZXhwb3J0IGZ1bmN0aW9uIGFkZEFzc2V0c1NlcnZlckRpc3RyaWJ1dGlvbihcbiAgc2NvcGU6IEFzc2V0c1NlcnZlcixcbiAge1xuICAgIHMzQnVja2V0U291cmNlLFxuICAgIGFsaWFzZXMsXG4gICAgY2VydGlmaWNhdGUsXG4gIH06IHtcbiAgICBzM0J1Y2tldFNvdXJjZTogQnVja2V0IHwgSUJ1Y2tldDtcbiAgICBhbGlhc2VzOiBzdHJpbmdbXTtcbiAgICBjZXJ0aWZpY2F0ZT86IElDZXJ0aWZpY2F0ZTtcbiAgfVxuKTogRGlzdHJpYnV0aW9uIHtcbiAgY29uc3Qgb3JpZ2luQWNjZXNzSWRlbnRpdHkgPSBuZXcgT3JpZ2luQWNjZXNzSWRlbnRpdHkoXG4gICAgc2NvcGUsXG4gICAgJ0FjY2Vzc0lkZW50aXR5JyxcbiAgICB7XG4gICAgICBjb21tZW50OiBgQXV0byBnZW5lcmF0ZWQgYWNjZXNzIGlkZW50aXR5IGZvciAke2FsaWFzZXNbMF19YCxcbiAgICB9XG4gICk7XG5cbiAgczNCdWNrZXRTb3VyY2UuZ3JhbnRSZWFkKG9yaWdpbkFjY2Vzc0lkZW50aXR5KTtcblxuICByZXR1cm4gbmV3IERpc3RyaWJ1dGlvbihzY29wZSwgJ0Rpc3RyaWJ1dGlvbicsIHtcbiAgICBkZWZhdWx0QmVoYXZpb3I6IHtcbiAgICAgIGNvbXByZXNzOiB0cnVlLFxuICAgICAgb3JpZ2luOiBuZXcgUzNPcmlnaW4oczNCdWNrZXRTb3VyY2UpLFxuICAgICAgdmlld2VyUHJvdG9jb2xQb2xpY3k6IFZpZXdlclByb3RvY29sUG9saWN5LlJFRElSRUNUX1RPX0hUVFBTLFxuICAgIH0sXG4gICAgZG9tYWluTmFtZXM6IGFsaWFzZXMsXG4gICAgY29tbWVudDogJ0F1dG8gZ2VuZXJhdGVkIGRpc3RyaWJ1dGlvbiBmb3Igc3RhdGljIGFzc2V0cycsXG4gICAgY2VydGlmaWNhdGUsXG4gIH0pO1xufVxuIl19