@renovosolutions/cdk-library-cloudwatch-alarms
Version:
AWS CDK Construct Library to automatically create CloudWatch Alarms for resources in a CDK app based on resource type.
11 lines • 3.06 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.validateTotalAlarmPeriod = validateTotalAlarmPeriod;
function validateTotalAlarmPeriod(period, evaluationPeriods, alarmName) {
const totalSeconds = period.toSeconds() * evaluationPeriods;
const oneDayInSeconds = 86400; // 1 day = 86400 seconds
if (totalSeconds > oneDayInSeconds) {
throw new Error(`The period (${period.toSeconds()}) over which the metric for ${alarmName} is measured multiplied by the number of evaluation periods (${evaluationPeriods}) exceeds one day. This is not allowed.`);
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbW1vbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQW9DQSw0REFPQztBQVBELFNBQWdCLHdCQUF3QixDQUFDLE1BQWdCLEVBQUUsaUJBQXlCLEVBQUUsU0FBaUI7SUFDckcsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLFNBQVMsRUFBRSxHQUFHLGlCQUFpQixDQUFDO0lBQzVELE1BQU0sZUFBZSxHQUFHLEtBQUssQ0FBQyxDQUFDLHdCQUF3QjtJQUV2RCxJQUFJLFlBQVksR0FBRyxlQUFlLEVBQUUsQ0FBQztRQUNuQyxNQUFNLElBQUksS0FBSyxDQUFDLGVBQWUsTUFBTSxDQUFDLFNBQVMsRUFBRSwrQkFBK0IsU0FBUyxnRUFBZ0UsaUJBQWlCLHlDQUF5QyxDQUFDLENBQUM7SUFDdk4sQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBhd3NfY2xvdWR3YXRjaCBhcyBjbG91ZHdhdGNoLFxuICBEdXJhdGlvbixcbn0gZnJvbSAnYXdzLWNkay1saWInO1xuXG4vKipcbiAqIFRoZSBiYXNlIHByb3BlcnRpZXMgZm9yIGFuIGFsYXJtIHdoZXJlIGRlZmF1bHQgdmFsdWVzXG4gKiBhcmUgY29uc2lzdGVudCBhY3Jvc3MgYWxsIGFsYXJtcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBbGFybUJhc2VQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgYWN0aW9uIHRvIHRha2Ugd2hlbiBhbiBhbGFybSBpcyB0cmlnZ2VyZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm9uZVxuICAgKi9cbiAgcmVhZG9ubHkgYWxhcm1BY3Rpb24/OiBjbG91ZHdhdGNoLklBbGFybUFjdGlvbjtcbiAgLyoqXG4gICAqIFRoZSBhY3Rpb24gdG8gdGFrZSB3aGVuIGFuIGFsYXJtIGVudGVycyB0aGUgb2sgc3RhdGUuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm9uZVxuICAgKi9cbiAgcmVhZG9ubHkgb2tBY3Rpb24/OiBjbG91ZHdhdGNoLklBbGFybUFjdGlvbjtcbiAgLyoqXG4gICAqIFRoZSBhY3Rpb24gdG8gdGFrZSB3aGVuIGFuIGFsYXJtIGhhcyBpbnN1ZmZpY2llbnQgZGF0YS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBOb25lXG4gICAqL1xuICByZWFkb25seSBpbnN1ZmZpY2llbnREYXRhQWN0aW9uPzogY2xvdWR3YXRjaC5JQWxhcm1BY3Rpb247XG4gIC8qKlxuICAgKiBIb3cgdG8gaGFuZGxlIG1pc3NpbmcgZGF0YSBmb3IgdGhpcyBhbGFybS5cbiAgICpcbiAgICogQGRlZmF1bHQgVHJlYXRNaXNzaW5nRGF0YS5NSVNTSU5HXG4gICAqL1xuICByZWFkb25seSB0cmVhdE1pc3NpbmdEYXRhPzogY2xvdWR3YXRjaC5UcmVhdE1pc3NpbmdEYXRhO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVUb3RhbEFsYXJtUGVyaW9kKHBlcmlvZDogRHVyYXRpb24sIGV2YWx1YXRpb25QZXJpb2RzOiBudW1iZXIsIGFsYXJtTmFtZTogc3RyaW5nKSB7XG4gIGNvbnN0IHRvdGFsU2Vjb25kcyA9IHBlcmlvZC50b1NlY29uZHMoKSAqIGV2YWx1YXRpb25QZXJpb2RzO1xuICBjb25zdCBvbmVEYXlJblNlY29uZHMgPSA4NjQwMDsgLy8gMSBkYXkgPSA4NjQwMCBzZWNvbmRzXG5cbiAgaWYgKHRvdGFsU2Vjb25kcyA+IG9uZURheUluU2Vjb25kcykge1xuICAgIHRocm93IG5ldyBFcnJvcihgVGhlIHBlcmlvZCAoJHtwZXJpb2QudG9TZWNvbmRzKCl9KSBvdmVyIHdoaWNoIHRoZSBtZXRyaWMgZm9yICR7YWxhcm1OYW1lfSBpcyBtZWFzdXJlZCBtdWx0aXBsaWVkIGJ5IHRoZSBudW1iZXIgb2YgZXZhbHVhdGlvbiBwZXJpb2RzICgke2V2YWx1YXRpb25QZXJpb2RzfSkgZXhjZWVkcyBvbmUgZGF5LiBUaGlzIGlzIG5vdCBhbGxvd2VkLmApO1xuICB9XG59Il19