cdk-monitoring-constructs
Version:
[](https://badge.fury.io/js/cdk-monitoring-constructs) [](https://m
70 lines • 9.22 kB
JavaScript
var _a, _b;
Object.defineProperty(exports, "__esModule", { value: true });
exports.DoubleAxisGraphWidget = exports.SingleAxisGraphWidget = void 0;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
const aws_cloudwatch_1 = require("aws-cdk-lib/aws-cloudwatch");
/**
* Line graph widget with one axis only (left).
* If there is just one metric, it will hide the legend to save space.
* The purpose of this custom class is to make the properties more strict.
* It will avoid graphs with undefined axis and dimensions.
*/
class SingleAxisGraphWidget extends aws_cloudwatch_1.GraphWidget {
constructor(props) {
super(SingleAxisGraphWidget.transformProps(props));
}
static transformProps(props) {
if (props.leftMetrics.length < 1) {
throw new Error("No metrics defined. Please define at least one metric.");
}
const legendPosition = props.leftMetrics.length === 1 ? aws_cloudwatch_1.LegendPosition.HIDDEN : undefined;
return {
title: props.title,
width: props.width,
height: props.height,
left: props.leftMetrics,
leftYAxis: props.leftAxis,
leftAnnotations: props.leftAnnotations,
verticalAnnotations: props.verticalAnnotations,
legendPosition,
};
}
}
exports.SingleAxisGraphWidget = SingleAxisGraphWidget;
_a = JSII_RTTI_SYMBOL_1;
SingleAxisGraphWidget[_a] = { fqn: "cdk-monitoring-constructs.SingleAxisGraphWidget", version: "9.15.2" };
/**
* Line graph widget with both left and right axes.
* The purpose of this custom class is to make the properties more strict.
* It will avoid graphs with undefined axes and dimensions.
*/
class DoubleAxisGraphWidget extends aws_cloudwatch_1.GraphWidget {
constructor(props) {
super(DoubleAxisGraphWidget.transformProps(props));
}
static transformProps(props) {
if (props.leftMetrics.length < 1) {
throw new Error("No left metrics defined. Please define at least one metric.");
}
if (props.rightMetrics.length < 1) {
throw new Error("No right metrics defined. Please define at least one metric.");
}
return {
title: props.title,
width: props.width,
height: props.height,
left: props.leftMetrics,
leftYAxis: props.leftAxis,
leftAnnotations: props.leftAnnotations,
right: props.rightMetrics,
rightYAxis: props.rightAxis,
rightAnnotations: props.rightAnnotations,
verticalAnnotations: props.verticalAnnotations,
};
}
}
exports.DoubleAxisGraphWidget = DoubleAxisGraphWidget;
_b = JSII_RTTI_SYMBOL_1;
DoubleAxisGraphWidget[_b] = { fqn: "cdk-monitoring-constructs.DoubleAxisGraphWidget", version: "9.15.2" };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RyaWN0R3JhcGhXaWRnZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJTdHJpY3RHcmFwaFdpZGdldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLCtEQVFvQztBQVlwQzs7Ozs7R0FLRztBQUNILE1BQWEscUJBQXNCLFNBQVEsNEJBQVc7SUFDcEQsWUFBWSxLQUFpQztRQUMzQyxLQUFLLENBQUMscUJBQXFCLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVPLE1BQU0sQ0FBQyxjQUFjLENBQzNCLEtBQWlDO1FBRWpDLElBQUksS0FBSyxDQUFDLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ2hDLE1BQU0sSUFBSSxLQUFLLENBQUMsd0RBQXdELENBQUMsQ0FBQztTQUMzRTtRQUVELE1BQU0sY0FBYyxHQUNsQixLQUFLLENBQUMsV0FBVyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLCtCQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFFckUsT0FBTztZQUNMLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztZQUNsQixLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUs7WUFDbEIsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNO1lBQ3BCLElBQUksRUFBRSxLQUFLLENBQUMsV0FBVztZQUN2QixTQUFTLEVBQUUsS0FBSyxDQUFDLFFBQVE7WUFDekIsZUFBZSxFQUFFLEtBQUssQ0FBQyxlQUFlO1lBQ3RDLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxtQkFBbUI7WUFDOUMsY0FBYztTQUNmLENBQUM7SUFDSixDQUFDOztBQXpCSCxzREEwQkM7OztBQWVEOzs7O0dBSUc7QUFDSCxNQUFhLHFCQUFzQixTQUFRLDRCQUFXO0lBQ3BELFlBQVksS0FBaUM7UUFDM0MsS0FBSyxDQUFDLHFCQUFxQixDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFTyxNQUFNLENBQUMsY0FBYyxDQUMzQixLQUFpQztRQUVqQyxJQUFJLEtBQUssQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNoQyxNQUFNLElBQUksS0FBSyxDQUNiLDZEQUE2RCxDQUM5RCxDQUFDO1NBQ0g7UUFDRCxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNqQyxNQUFNLElBQUksS0FBSyxDQUNiLDhEQUE4RCxDQUMvRCxDQUFDO1NBQ0g7UUFFRCxPQUFPO1lBQ0wsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO1lBQ2xCLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztZQUNsQixNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU07WUFDcEIsSUFBSSxFQUFFLEtBQUssQ0FBQyxXQUFXO1lBQ3ZCLFNBQVMsRUFBRSxLQUFLLENBQUMsUUFBUTtZQUN6QixlQUFlLEVBQUUsS0FBSyxDQUFDLGVBQWU7WUFDdEMsS0FBSyxFQUFFLEtBQUssQ0FBQyxZQUFZO1lBQ3pCLFVBQVUsRUFBRSxLQUFLLENBQUMsU0FBUztZQUMzQixnQkFBZ0IsRUFBRSxLQUFLLENBQUMsZ0JBQWdCO1lBQ3hDLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxtQkFBbUI7U0FDL0MsQ0FBQztJQUNKLENBQUM7O0FBL0JILHNEQWdDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEdyYXBoV2lkZ2V0LFxuICBHcmFwaFdpZGdldFByb3BzLFxuICBIb3Jpem9udGFsQW5ub3RhdGlvbixcbiAgSU1ldHJpYyxcbiAgTGVnZW5kUG9zaXRpb24sXG4gIFZlcnRpY2FsQW5ub3RhdGlvbixcbiAgWUF4aXNQcm9wcyxcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1jbG91ZHdhdGNoXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2luZ2xlQXhpc0dyYXBoV2lkZ2V0UHJvcHMge1xuICByZWFkb25seSB0aXRsZT86IHN0cmluZztcbiAgcmVhZG9ubHkgd2lkdGg6IG51bWJlcjtcbiAgcmVhZG9ubHkgaGVpZ2h0OiBudW1iZXI7XG4gIHJlYWRvbmx5IGxlZnRNZXRyaWNzOiBJTWV0cmljW107XG4gIHJlYWRvbmx5IGxlZnRBeGlzOiBZQXhpc1Byb3BzO1xuICByZWFkb25seSBsZWZ0QW5ub3RhdGlvbnM/OiBIb3Jpem9udGFsQW5ub3RhdGlvbltdO1xuICByZWFkb25seSB2ZXJ0aWNhbEFubm90YXRpb25zPzogVmVydGljYWxBbm5vdGF0aW9uW107XG59XG5cbi8qKlxuICogTGluZSBncmFwaCB3aWRnZXQgd2l0aCBvbmUgYXhpcyBvbmx5IChsZWZ0KS5cbiAqIElmIHRoZXJlIGlzIGp1c3Qgb25lIG1ldHJpYywgaXQgd2lsbCBoaWRlIHRoZSBsZWdlbmQgdG8gc2F2ZSBzcGFjZS5cbiAqIFRoZSBwdXJwb3NlIG9mIHRoaXMgY3VzdG9tIGNsYXNzIGlzIHRvIG1ha2UgdGhlIHByb3BlcnRpZXMgbW9yZSBzdHJpY3QuXG4gKiBJdCB3aWxsIGF2b2lkIGdyYXBocyB3aXRoIHVuZGVmaW5lZCBheGlzIGFuZCBkaW1lbnNpb25zLlxuICovXG5leHBvcnQgY2xhc3MgU2luZ2xlQXhpc0dyYXBoV2lkZ2V0IGV4dGVuZHMgR3JhcGhXaWRnZXQge1xuICBjb25zdHJ1Y3Rvcihwcm9wczogU2luZ2xlQXhpc0dyYXBoV2lkZ2V0UHJvcHMpIHtcbiAgICBzdXBlcihTaW5nbGVBeGlzR3JhcGhXaWRnZXQudHJhbnNmb3JtUHJvcHMocHJvcHMpKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIHRyYW5zZm9ybVByb3BzKFxuICAgIHByb3BzOiBTaW5nbGVBeGlzR3JhcGhXaWRnZXRQcm9wcyxcbiAgKTogR3JhcGhXaWRnZXRQcm9wcyB7XG4gICAgaWYgKHByb3BzLmxlZnRNZXRyaWNzLmxlbmd0aCA8IDEpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIk5vIG1ldHJpY3MgZGVmaW5lZC4gUGxlYXNlIGRlZmluZSBhdCBsZWFzdCBvbmUgbWV0cmljLlwiKTtcbiAgICB9XG5cbiAgICBjb25zdCBsZWdlbmRQb3NpdGlvbiA9XG4gICAgICBwcm9wcy5sZWZ0TWV0cmljcy5sZW5ndGggPT09IDEgPyBMZWdlbmRQb3NpdGlvbi5ISURERU4gOiB1bmRlZmluZWQ7XG5cbiAgICByZXR1cm4ge1xuICAgICAgdGl0bGU6IHByb3BzLnRpdGxlLFxuICAgICAgd2lkdGg6IHByb3BzLndpZHRoLFxuICAgICAgaGVpZ2h0OiBwcm9wcy5oZWlnaHQsXG4gICAgICBsZWZ0OiBwcm9wcy5sZWZ0TWV0cmljcyxcbiAgICAgIGxlZnRZQXhpczogcHJvcHMubGVmdEF4aXMsXG4gICAgICBsZWZ0QW5ub3RhdGlvbnM6IHByb3BzLmxlZnRBbm5vdGF0aW9ucyxcbiAgICAgIHZlcnRpY2FsQW5ub3RhdGlvbnM6IHByb3BzLnZlcnRpY2FsQW5ub3RhdGlvbnMsXG4gICAgICBsZWdlbmRQb3NpdGlvbixcbiAgICB9O1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRG91YmxlQXhpc0dyYXBoV2lkZ2V0UHJvcHMge1xuICByZWFkb25seSB0aXRsZT86IHN0cmluZztcbiAgcmVhZG9ubHkgd2lkdGg6IG51bWJlcjtcbiAgcmVhZG9ubHkgaGVpZ2h0OiBudW1iZXI7XG4gIHJlYWRvbmx5IGxlZnRNZXRyaWNzOiBJTWV0cmljW107XG4gIHJlYWRvbmx5IGxlZnRBeGlzOiBZQXhpc1Byb3BzO1xuICByZWFkb25seSBsZWZ0QW5ub3RhdGlvbnM/OiBIb3Jpem9udGFsQW5ub3RhdGlvbltdO1xuICByZWFkb25seSByaWdodE1ldHJpY3M6IElNZXRyaWNbXTtcbiAgcmVhZG9ubHkgcmlnaHRBeGlzOiBZQXhpc1Byb3BzO1xuICByZWFkb25seSByaWdodEFubm90YXRpb25zPzogSG9yaXpvbnRhbEFubm90YXRpb25bXTtcbiAgcmVhZG9ubHkgdmVydGljYWxBbm5vdGF0aW9ucz86IFZlcnRpY2FsQW5ub3RhdGlvbltdO1xufVxuXG4vKipcbiAqIExpbmUgZ3JhcGggd2lkZ2V0IHdpdGggYm90aCBsZWZ0IGFuZCByaWdodCBheGVzLlxuICogVGhlIHB1cnBvc2Ugb2YgdGhpcyBjdXN0b20gY2xhc3MgaXMgdG8gbWFrZSB0aGUgcHJvcGVydGllcyBtb3JlIHN0cmljdC5cbiAqIEl0IHdpbGwgYXZvaWQgZ3JhcGhzIHdpdGggdW5kZWZpbmVkIGF4ZXMgYW5kIGRpbWVuc2lvbnMuXG4gKi9cbmV4cG9ydCBjbGFzcyBEb3VibGVBeGlzR3JhcGhXaWRnZXQgZXh0ZW5kcyBHcmFwaFdpZGdldCB7XG4gIGNvbnN0cnVjdG9yKHByb3BzOiBEb3VibGVBeGlzR3JhcGhXaWRnZXRQcm9wcykge1xuICAgIHN1cGVyKERvdWJsZUF4aXNHcmFwaFdpZGdldC50cmFuc2Zvcm1Qcm9wcyhwcm9wcykpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgdHJhbnNmb3JtUHJvcHMoXG4gICAgcHJvcHM6IERvdWJsZUF4aXNHcmFwaFdpZGdldFByb3BzLFxuICApOiBHcmFwaFdpZGdldFByb3BzIHtcbiAgICBpZiAocHJvcHMubGVmdE1ldHJpY3MubGVuZ3RoIDwgMSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcIk5vIGxlZnQgbWV0cmljcyBkZWZpbmVkLiBQbGVhc2UgZGVmaW5lIGF0IGxlYXN0IG9uZSBtZXRyaWMuXCIsXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAocHJvcHMucmlnaHRNZXRyaWNzLmxlbmd0aCA8IDEpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgXCJObyByaWdodCBtZXRyaWNzIGRlZmluZWQuIFBsZWFzZSBkZWZpbmUgYXQgbGVhc3Qgb25lIG1ldHJpYy5cIixcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIHRpdGxlOiBwcm9wcy50aXRsZSxcbiAgICAgIHdpZHRoOiBwcm9wcy53aWR0aCxcbiAgICAgIGhlaWdodDogcHJvcHMuaGVpZ2h0LFxuICAgICAgbGVmdDogcHJvcHMubGVmdE1ldHJpY3MsXG4gICAgICBsZWZ0WUF4aXM6IHByb3BzLmxlZnRBeGlzLFxuICAgICAgbGVmdEFubm90YXRpb25zOiBwcm9wcy5sZWZ0QW5ub3RhdGlvbnMsXG4gICAgICByaWdodDogcHJvcHMucmlnaHRNZXRyaWNzLFxuICAgICAgcmlnaHRZQXhpczogcHJvcHMucmlnaHRBeGlzLFxuICAgICAgcmlnaHRBbm5vdGF0aW9uczogcHJvcHMucmlnaHRBbm5vdGF0aW9ucyxcbiAgICAgIHZlcnRpY2FsQW5ub3RhdGlvbnM6IHByb3BzLnZlcnRpY2FsQW5ub3RhdGlvbnMsXG4gICAgfTtcbiAgfVxufVxuIl19
;