@renovosolutions/cdk-library-one-time-event
Version:
AWS CDK Construct Library to create one time event schedules.
39 lines • 5.14 kB
JavaScript
;
var _a, _b;
Object.defineProperty(exports, "__esModule", { value: true });
exports.At = exports.OnDeploy = void 0;
exports.dateToCron = dateToCron;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
const aws_cdk_lib_1 = require("aws-cdk-lib");
const constructs_1 = require("constructs");
function dateToCron(date) {
const minutes = date.getUTCMinutes();
const hours = date.getUTCHours();
const days = date.getDate();
const months = date.getUTCMonth() + 1;
const years = date.getUTCFullYear();
return `${minutes} ${hours} ${days} ${months} ? ${years}`;
}
;
class OnDeploy extends constructs_1.Construct {
constructor(scope, id, props) {
super(scope, id);
const date = new Date();
const minutesToAdd = props.offsetMinutes || 10;
const future = new Date(date.getTime() + minutesToAdd * 60000);
this.schedule = aws_cdk_lib_1.aws_events.Schedule.expression('cron(' + dateToCron(future) + ')');
}
}
exports.OnDeploy = OnDeploy;
_a = JSII_RTTI_SYMBOL_1;
OnDeploy[_a] = { fqn: "@renovosolutions/cdk-library-one-time-event.OnDeploy", version: "2.1.126" };
class At extends constructs_1.Construct {
constructor(scope, id, props) {
super(scope, id);
this.schedule = aws_cdk_lib_1.aws_events.Schedule.expression('cron(' + dateToCron(props.date) + ')');
}
}
exports.At = At;
_b = JSII_RTTI_SYMBOL_1;
At[_b] = { fqn: "@renovosolutions/cdk-library-one-time-event.At", version: "2.1.126" };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQXFCQSxnQ0FRQzs7QUE3QkQsNkNBQW1EO0FBQ25ELDJDQUF1QztBQW9CdkMsU0FBZ0IsVUFBVSxDQUFDLElBQVM7SUFDbEMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3JDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNqQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDNUIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN0QyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFFcEMsT0FBTyxHQUFHLE9BQU8sSUFBSSxLQUFLLElBQUksSUFBSSxJQUFJLE1BQU0sTUFBTSxLQUFLLEVBQUUsQ0FBQztBQUM1RCxDQUFDO0FBQUEsQ0FBQztBQUVGLE1BQWEsUUFBUyxTQUFRLHNCQUFTO0lBSXJDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBb0I7UUFDNUQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLElBQUksR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3hCLE1BQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxhQUFhLElBQUksRUFBRSxDQUFDO1FBQy9DLE1BQU0sTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxZQUFZLEdBQUcsS0FBSyxDQUFDLENBQUM7UUFFL0QsSUFBSSxDQUFDLFFBQVEsR0FBRyx3QkFBTSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQztJQUNqRixDQUFDOztBQVpILDRCQWFDOzs7QUFFRCxNQUFhLEVBQUcsU0FBUSxzQkFBUztJQUkvQixZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQWM7UUFDdEQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLENBQUMsUUFBUSxHQUFHLHdCQUFNLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQztJQUNyRixDQUFDOztBQVJILGdCQVNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXdzX2V2ZW50cyBhcyBldmVudHMgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcblxuZXhwb3J0IGludGVyZmFjZSBPbkRlcGxveVByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2YgbWludXRlcyB0byBhZGQgdG8gdGhlIGN1cnJlbnQgdGltZSB3aGVuIGdlbmVyYXRpbmcgdGhlIGV4cHJlc3Npb24uXG4gICAqIFNob3VsZCBleGNlZWQgdGhlIGV4cGVjdGVkIHRpbWUgZm9yIHRoZSBhcHByb3ByaWF0ZSByZXNvdXJjZXMgdG8gY29udmVyZ2UuXG4gICAqXG4gICAqXG4gICAqIEBkZWZhdWx0IDEwXG4gICAqL1xuICByZWFkb25seSBvZmZzZXRNaW51dGVzPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEF0UHJvcHMge1xuICAvKipcbiAgICogVGhlIGZ1dHVyZSBkYXRlIHRvIHVzZSBmb3Igb25lIHRpbWUgZXZlbnQuXG4gICAqL1xuICByZWFkb25seSBkYXRlOiBEYXRlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGF0ZVRvQ3JvbihkYXRlOkRhdGUpIHtcbiAgY29uc3QgbWludXRlcyA9IGRhdGUuZ2V0VVRDTWludXRlcygpO1xuICBjb25zdCBob3VycyA9IGRhdGUuZ2V0VVRDSG91cnMoKTtcbiAgY29uc3QgZGF5cyA9IGRhdGUuZ2V0RGF0ZSgpO1xuICBjb25zdCBtb250aHMgPSBkYXRlLmdldFVUQ01vbnRoKCkgKyAxO1xuICBjb25zdCB5ZWFycyA9IGRhdGUuZ2V0VVRDRnVsbFllYXIoKTtcblxuICByZXR1cm4gYCR7bWludXRlc30gJHtob3Vyc30gJHtkYXlzfSAke21vbnRoc30gPyAke3llYXJzfWA7XG59O1xuXG5leHBvcnQgY2xhc3MgT25EZXBsb3kgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuXG4gIHB1YmxpYyByZWFkb25seSBzY2hlZHVsZTogZXZlbnRzLlNjaGVkdWxlO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBPbkRlcGxveVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSgpO1xuICAgIGNvbnN0IG1pbnV0ZXNUb0FkZCA9IHByb3BzLm9mZnNldE1pbnV0ZXMgfHwgMTA7XG4gICAgY29uc3QgZnV0dXJlID0gbmV3IERhdGUoZGF0ZS5nZXRUaW1lKCkgKyBtaW51dGVzVG9BZGQgKiA2MDAwMCk7XG5cbiAgICB0aGlzLnNjaGVkdWxlID0gZXZlbnRzLlNjaGVkdWxlLmV4cHJlc3Npb24oJ2Nyb24oJyArIGRhdGVUb0Nyb24oZnV0dXJlKSArICcpJyk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEF0IGV4dGVuZHMgQ29uc3RydWN0IHtcblxuICBwdWJsaWMgcmVhZG9ubHkgc2NoZWR1bGU6IGV2ZW50cy5TY2hlZHVsZTtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQXRQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICB0aGlzLnNjaGVkdWxlID0gZXZlbnRzLlNjaGVkdWxlLmV4cHJlc3Npb24oJ2Nyb24oJyArIGRhdGVUb0Nyb24ocHJvcHMuZGF0ZSkgKyAnKScpO1xuICB9XG59XG4iXX0=