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
JavaScript
;
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=