UNPKG

awscdk-construct-hls-session-runner

Version:

AWS CDK construct for deploying a Lambda function and SFN state machines to fetch an HLS manifest

31 lines 3.75 kB
"use strict"; var _a; Object.defineProperty(exports, "__esModule", { value: true }); exports.EventBridgeSchedule = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const aws_events_1 = require("aws-cdk-lib/aws-events"); const aws_events_targets_1 = require("aws-cdk-lib/aws-events-targets"); const aws_lambda_nodejs_1 = require("aws-cdk-lib/aws-lambda-nodejs"); const constructs_1 = require("constructs"); class EventBridgeSchedule extends constructs_1.Construct { constructor(scope, id, props) { super(scope, id); const { target, schedule } = props; this.rule = new aws_events_1.Rule(this, 'InvokeFunctionEveryXMinutes', { schedule, }); if (isFunction(target)) { this.rule.addTarget(new aws_events_targets_1.LambdaFunction(target)); } else { this.rule.addTarget(new aws_events_targets_1.SfnStateMachine(target)); } } } exports.EventBridgeSchedule = EventBridgeSchedule; _a = JSII_RTTI_SYMBOL_1; EventBridgeSchedule[_a] = { fqn: "awscdk-construct-hls-session-runner.EventBridgeSchedule", version: "0.0.6" }; function isFunction(target) { return target instanceof aws_lambda_nodejs_1.NodejsFunction; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZlbnRCcmlkZ2VTY2hlZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9FdmVudEJyaWRnZVNjaGVkdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsdURBQXdEO0FBQ3hELHVFQUFpRjtBQUNqRixxRUFBK0Q7QUFFL0QsMkNBQXVDO0FBT3ZDLE1BQWEsbUJBQW9CLFNBQVEsc0JBQVM7SUFHaEQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUErQjtRQUN2RSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsS0FBSyxDQUFDO1FBRW5DLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxpQkFBSSxDQUFDLElBQUksRUFBRSw2QkFBNkIsRUFBRTtZQUN4RCxRQUFRO1NBQ1QsQ0FBQyxDQUFDO1FBRUgsSUFBSSxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FDakIsSUFBSSxtQ0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUMzQixDQUFDO1FBQ0osQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FDakIsSUFBSSxvQ0FBZSxDQUFDLE1BQU0sQ0FBQyxDQUM1QixDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7O0FBckJILGtEQXNCQzs7O0FBRUQsU0FBUyxVQUFVLENBQUMsTUFBVztJQUM3QixPQUFPLE1BQU0sWUFBWSxrQ0FBYyxDQUFDO0FBQzFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSdWxlLCBTY2hlZHVsZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1ldmVudHMnO1xuaW1wb3J0IHsgTGFtYmRhRnVuY3Rpb24sIFNmblN0YXRlTWFjaGluZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1ldmVudHMtdGFyZ2V0cyc7XG5pbXBvcnQgeyBOb2RlanNGdW5jdGlvbiB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEtbm9kZWpzJztcbmltcG9ydCB7IFN0YXRlTWFjaGluZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1zdGVwZnVuY3Rpb25zJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEV2ZW50QnJpZGdlU2NoZWR1bGVQcm9wcyB7XG4gIHJlYWRvbmx5IHRhcmdldDogTm9kZWpzRnVuY3Rpb24gfCBTdGF0ZU1hY2hpbmU7XG4gIHJlYWRvbmx5IHNjaGVkdWxlOiBTY2hlZHVsZTtcbn1cblxuZXhwb3J0IGNsYXNzIEV2ZW50QnJpZGdlU2NoZWR1bGUgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBwdWJsaWMgcnVsZTogUnVsZTtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogRXZlbnRCcmlkZ2VTY2hlZHVsZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IHsgdGFyZ2V0LCBzY2hlZHVsZSB9ID0gcHJvcHM7XG5cbiAgICB0aGlzLnJ1bGUgPSBuZXcgUnVsZSh0aGlzLCAnSW52b2tlRnVuY3Rpb25FdmVyeVhNaW51dGVzJywge1xuICAgICAgc2NoZWR1bGUsXG4gICAgfSk7XG5cbiAgICBpZiAoaXNGdW5jdGlvbih0YXJnZXQpKSB7XG4gICAgICB0aGlzLnJ1bGUuYWRkVGFyZ2V0KFxuICAgICAgICBuZXcgTGFtYmRhRnVuY3Rpb24odGFyZ2V0KSxcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucnVsZS5hZGRUYXJnZXQoXG4gICAgICAgIG5ldyBTZm5TdGF0ZU1hY2hpbmUodGFyZ2V0KSxcbiAgICAgICk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGlzRnVuY3Rpb24odGFyZ2V0OiBhbnkpOiB0YXJnZXQgaXMgTm9kZWpzRnVuY3Rpb24ge1xuICByZXR1cm4gdGFyZ2V0IGluc3RhbmNlb2YgTm9kZWpzRnVuY3Rpb247XG59XG4iXX0=