UNPKG

awscdk-mediatailor-cloudfront-construct

Version:

CDK Construct to associate MediaTailor config with CloudFront distribution

31 lines 3.96 kB
"use strict"; var _a; Object.defineProperty(exports, "__esModule", { value: true }); exports.MediaTailor = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const crypto = require("crypto"); const aws_cdk_lib_1 = require("aws-cdk-lib"); const aws_mediatailor_1 = require("aws-cdk-lib/aws-mediatailor"); const constructs_1 = require("constructs"); class MediaTailor extends constructs_1.Construct { constructor(scope, id, { videoContentSourceUrl, adDecisionServerUrl, slateAdUrl, configurationAliases, prerollAdUrl, }) { super(scope, id); // Assuming the source is MediaPackage endpoint videoContentSourceUrl = `https://${aws_cdk_lib_1.Fn.parseDomainName(videoContentSourceUrl)}/out/v1/`; // Create EMT config this.config = new aws_mediatailor_1.CfnPlaybackConfiguration(this, 'CfnPlaybackConfiguration', { name: `${crypto.randomUUID()}`, videoContentSourceUrl, adDecisionServerUrl, slateAdUrl, configurationAliases, livePreRollConfiguration: { adDecisionServerUrl: prerollAdUrl, }, }); } } exports.MediaTailor = MediaTailor; _a = JSII_RTTI_SYMBOL_1; MediaTailor[_a] = { fqn: "awscdk-mediatailor-cloudfront-construct.MediaTailor", version: "0.0.43" }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWVkaWFUYWlsb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvTWVkaWFUYWlsb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxpQ0FBaUM7QUFDakMsNkNBQWlDO0FBQ2pDLGlFQUF1RTtBQUN2RSwyQ0FBdUM7QUFVdkMsTUFBYSxXQUFZLFNBQVEsc0JBQVM7SUFHeEMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxFQUN4QyxxQkFBcUIsRUFDckIsbUJBQW1CLEVBQ25CLFVBQVUsRUFDVixvQkFBb0IsRUFDcEIsWUFBWSxHQUNLO1FBRWpCLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDakIsK0NBQStDO1FBQy9DLHFCQUFxQixHQUFHLFdBQVcsZ0JBQUUsQ0FBQyxlQUFlLENBQUMscUJBQXFCLENBQUMsVUFBVSxDQUFDO1FBRXZGLG9CQUFvQjtRQUNwQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksMENBQXdCLENBQUMsSUFBSSxFQUFFLDBCQUEwQixFQUFFO1lBQzNFLElBQUksRUFBRSxHQUFHLE1BQU0sQ0FBQyxVQUFVLEVBQUUsRUFBRTtZQUM5QixxQkFBcUI7WUFDckIsbUJBQW1CO1lBQ25CLFVBQVU7WUFDVixvQkFBb0I7WUFDcEIsd0JBQXdCLEVBQUU7Z0JBQ3hCLG1CQUFtQixFQUFFLFlBQVk7YUFDbEM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDOztBQTFCSCxrQ0EyQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjcnlwdG8gZnJvbSAnY3J5cHRvJztcbmltcG9ydCB7IEZuIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQ2ZuUGxheWJhY2tDb25maWd1cmF0aW9uIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLW1lZGlhdGFpbG9yJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE1lZGlhVGFpbG9yUHJvcHMge1xuICByZWFkb25seSB2aWRlb0NvbnRlbnRTb3VyY2VVcmw6IHN0cmluZztcbiAgcmVhZG9ubHkgYWREZWNpc2lvblNlcnZlclVybDogc3RyaW5nO1xuICByZWFkb25seSBzbGF0ZUFkVXJsPzogc3RyaW5nO1xuICByZWFkb25seSBjb25maWd1cmF0aW9uQWxpYXNlcz86IG9iamVjdDtcbiAgcmVhZG9ubHkgcHJlcm9sbEFkVXJsPzogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgTWVkaWFUYWlsb3IgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBwdWJsaWMgcmVhZG9ubHkgY29uZmlnOiBDZm5QbGF5YmFja0NvbmZpZ3VyYXRpb247XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywge1xuICAgIHZpZGVvQ29udGVudFNvdXJjZVVybCxcbiAgICBhZERlY2lzaW9uU2VydmVyVXJsLFxuICAgIHNsYXRlQWRVcmwsXG4gICAgY29uZmlndXJhdGlvbkFsaWFzZXMsXG4gICAgcHJlcm9sbEFkVXJsLFxuICB9OiBNZWRpYVRhaWxvclByb3BzKSB7XG5cbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIC8vIEFzc3VtaW5nIHRoZSBzb3VyY2UgaXMgTWVkaWFQYWNrYWdlIGVuZHBvaW50XG4gICAgdmlkZW9Db250ZW50U291cmNlVXJsID0gYGh0dHBzOi8vJHtGbi5wYXJzZURvbWFpbk5hbWUodmlkZW9Db250ZW50U291cmNlVXJsKX0vb3V0L3YxL2A7XG5cbiAgICAvLyBDcmVhdGUgRU1UIGNvbmZpZ1xuICAgIHRoaXMuY29uZmlnID0gbmV3IENmblBsYXliYWNrQ29uZmlndXJhdGlvbih0aGlzLCAnQ2ZuUGxheWJhY2tDb25maWd1cmF0aW9uJywge1xuICAgICAgbmFtZTogYCR7Y3J5cHRvLnJhbmRvbVVVSUQoKX1gLFxuICAgICAgdmlkZW9Db250ZW50U291cmNlVXJsLFxuICAgICAgYWREZWNpc2lvblNlcnZlclVybCxcbiAgICAgIHNsYXRlQWRVcmwsXG4gICAgICBjb25maWd1cmF0aW9uQWxpYXNlcyxcbiAgICAgIGxpdmVQcmVSb2xsQ29uZmlndXJhdGlvbjoge1xuICAgICAgICBhZERlY2lzaW9uU2VydmVyVXJsOiBwcmVyb2xsQWRVcmwsXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59Il19