UNPKG

cdk-monitoring-constructs

Version:

[![NPM version](https://badge.fury.io/js/cdk-monitoring-constructs.svg)](https://badge.fury.io/js/cdk-monitoring-constructs) [![Maven Central](https://maven-badges.herokuapp.com/maven-central/io.github.cdklabs/cdkmonitoringconstructs/badge.svg)](https://m

56 lines 5.96 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.GraphWidgetType = void 0; exports.createGraphWidget = createGraphWidget; const aws_cloudwatch_1 = require("aws-cdk-lib/aws-cloudwatch"); var GraphWidgetType; (function (GraphWidgetType) { GraphWidgetType["BAR"] = "Bar"; GraphWidgetType["LINE"] = "Line"; GraphWidgetType["PIE"] = "Pie"; GraphWidgetType["SINGLE_VALUE"] = "SingleValue"; GraphWidgetType["STACKED_AREA"] = "StackedArea"; GraphWidgetType["TABLE"] = "Table"; })(GraphWidgetType || (exports.GraphWidgetType = GraphWidgetType = {})); /** * Creates a graph widget of the desired type. * * @param type graph type (e.g. Pie or Bar) * @param props graph widget properties */ function createGraphWidget(type, props) { switch (type) { case GraphWidgetType.BAR: return new aws_cloudwatch_1.GraphWidget({ ...props, view: aws_cloudwatch_1.GraphWidgetView.BAR, setPeriodToTimeRange: true, }); case GraphWidgetType.LINE: return new aws_cloudwatch_1.GraphWidget(props); case GraphWidgetType.PIE: return new aws_cloudwatch_1.GraphWidget({ ...props, view: aws_cloudwatch_1.GraphWidgetView.PIE, setPeriodToTimeRange: true, }); case GraphWidgetType.SINGLE_VALUE: return new aws_cloudwatch_1.SingleValueWidget({ ...props, metrics: [...(props.left ?? []), ...(props.right ?? [])], }); case GraphWidgetType.STACKED_AREA: return new aws_cloudwatch_1.GraphWidget({ ...props, stacked: true, }); case GraphWidgetType.TABLE: return new aws_cloudwatch_1.TableWidget({ ...props, metrics: [...(props.left ?? []), ...(props.right ?? [])], }); default: throw new Error(`Unsupported graph type: ${type}`); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUF3QkEsOENBMkNDO0FBbkVELCtEQU9vQztBQUVwQyxJQUFZLGVBT1g7QUFQRCxXQUFZLGVBQWU7SUFDekIsOEJBQVcsQ0FBQTtJQUNYLGdDQUFhLENBQUE7SUFDYiw4QkFBVyxDQUFBO0lBQ1gsK0NBQTRCLENBQUE7SUFDNUIsK0NBQTRCLENBQUE7SUFDNUIsa0NBQWUsQ0FBQTtBQUNqQixDQUFDLEVBUFcsZUFBZSwrQkFBZixlQUFlLFFBTzFCO0FBRUQ7Ozs7O0dBS0c7QUFDSCxTQUFnQixpQkFBaUIsQ0FDL0IsSUFBcUIsRUFDckIsS0FBdUI7SUFFdkIsUUFBUSxJQUFJLEVBQUUsQ0FBQztRQUNiLEtBQUssZUFBZSxDQUFDLEdBQUc7WUFDdEIsT0FBTyxJQUFJLDRCQUFXLENBQUM7Z0JBQ3JCLEdBQUcsS0FBSztnQkFDUixJQUFJLEVBQUUsZ0NBQWUsQ0FBQyxHQUFHO2dCQUN6QixvQkFBb0IsRUFBRSxJQUFJO2FBQzNCLENBQUMsQ0FBQztRQUVMLEtBQUssZUFBZSxDQUFDLElBQUk7WUFDdkIsT0FBTyxJQUFJLDRCQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFaEMsS0FBSyxlQUFlLENBQUMsR0FBRztZQUN0QixPQUFPLElBQUksNEJBQVcsQ0FBQztnQkFDckIsR0FBRyxLQUFLO2dCQUNSLElBQUksRUFBRSxnQ0FBZSxDQUFDLEdBQUc7Z0JBQ3pCLG9CQUFvQixFQUFFLElBQUk7YUFDM0IsQ0FBQyxDQUFDO1FBRUwsS0FBSyxlQUFlLENBQUMsWUFBWTtZQUMvQixPQUFPLElBQUksa0NBQWlCLENBQUM7Z0JBQzNCLEdBQUcsS0FBSztnQkFDUixPQUFPLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQzthQUN6RCxDQUFDLENBQUM7UUFFTCxLQUFLLGVBQWUsQ0FBQyxZQUFZO1lBQy9CLE9BQU8sSUFBSSw0QkFBVyxDQUFDO2dCQUNyQixHQUFHLEtBQUs7Z0JBQ1IsT0FBTyxFQUFFLElBQUk7YUFDZCxDQUFDLENBQUM7UUFFTCxLQUFLLGVBQWUsQ0FBQyxLQUFLO1lBQ3hCLE9BQU8sSUFBSSw0QkFBVyxDQUFDO2dCQUNyQixHQUFHLEtBQUs7Z0JBQ1IsT0FBTyxFQUFFLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUM7YUFDekQsQ0FBQyxDQUFDO1FBRUw7WUFDRSxNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgR3JhcGhXaWRnZXQsXG4gIEdyYXBoV2lkZ2V0UHJvcHMsXG4gIEdyYXBoV2lkZ2V0VmlldyxcbiAgSVdpZGdldCxcbiAgU2luZ2xlVmFsdWVXaWRnZXQsXG4gIFRhYmxlV2lkZ2V0LFxufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNsb3Vkd2F0Y2hcIjtcblxuZXhwb3J0IGVudW0gR3JhcGhXaWRnZXRUeXBlIHtcbiAgQkFSID0gXCJCYXJcIixcbiAgTElORSA9IFwiTGluZVwiLFxuICBQSUUgPSBcIlBpZVwiLFxuICBTSU5HTEVfVkFMVUUgPSBcIlNpbmdsZVZhbHVlXCIsXG4gIFNUQUNLRURfQVJFQSA9IFwiU3RhY2tlZEFyZWFcIixcbiAgVEFCTEUgPSBcIlRhYmxlXCIsXG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIGdyYXBoIHdpZGdldCBvZiB0aGUgZGVzaXJlZCB0eXBlLlxuICpcbiAqIEBwYXJhbSB0eXBlIGdyYXBoIHR5cGUgKGUuZy4gUGllIG9yIEJhcilcbiAqIEBwYXJhbSBwcm9wcyBncmFwaCB3aWRnZXQgcHJvcGVydGllc1xuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlR3JhcGhXaWRnZXQoXG4gIHR5cGU6IEdyYXBoV2lkZ2V0VHlwZSxcbiAgcHJvcHM6IEdyYXBoV2lkZ2V0UHJvcHMsXG4pOiBJV2lkZ2V0IHtcbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSBHcmFwaFdpZGdldFR5cGUuQkFSOlxuICAgICAgcmV0dXJuIG5ldyBHcmFwaFdpZGdldCh7XG4gICAgICAgIC4uLnByb3BzLFxuICAgICAgICB2aWV3OiBHcmFwaFdpZGdldFZpZXcuQkFSLFxuICAgICAgICBzZXRQZXJpb2RUb1RpbWVSYW5nZTogdHJ1ZSxcbiAgICAgIH0pO1xuXG4gICAgY2FzZSBHcmFwaFdpZGdldFR5cGUuTElORTpcbiAgICAgIHJldHVybiBuZXcgR3JhcGhXaWRnZXQocHJvcHMpO1xuXG4gICAgY2FzZSBHcmFwaFdpZGdldFR5cGUuUElFOlxuICAgICAgcmV0dXJuIG5ldyBHcmFwaFdpZGdldCh7XG4gICAgICAgIC4uLnByb3BzLFxuICAgICAgICB2aWV3OiBHcmFwaFdpZGdldFZpZXcuUElFLFxuICAgICAgICBzZXRQZXJpb2RUb1RpbWVSYW5nZTogdHJ1ZSxcbiAgICAgIH0pO1xuXG4gICAgY2FzZSBHcmFwaFdpZGdldFR5cGUuU0lOR0xFX1ZBTFVFOlxuICAgICAgcmV0dXJuIG5ldyBTaW5nbGVWYWx1ZVdpZGdldCh7XG4gICAgICAgIC4uLnByb3BzLFxuICAgICAgICBtZXRyaWNzOiBbLi4uKHByb3BzLmxlZnQgPz8gW10pLCAuLi4ocHJvcHMucmlnaHQgPz8gW10pXSxcbiAgICAgIH0pO1xuXG4gICAgY2FzZSBHcmFwaFdpZGdldFR5cGUuU1RBQ0tFRF9BUkVBOlxuICAgICAgcmV0dXJuIG5ldyBHcmFwaFdpZGdldCh7XG4gICAgICAgIC4uLnByb3BzLFxuICAgICAgICBzdGFja2VkOiB0cnVlLFxuICAgICAgfSk7XG5cbiAgICBjYXNlIEdyYXBoV2lkZ2V0VHlwZS5UQUJMRTpcbiAgICAgIHJldHVybiBuZXcgVGFibGVXaWRnZXQoe1xuICAgICAgICAuLi5wcm9wcyxcbiAgICAgICAgbWV0cmljczogWy4uLihwcm9wcy5sZWZ0ID8/IFtdKSwgLi4uKHByb3BzLnJpZ2h0ID8/IFtdKV0sXG4gICAgICB9KTtcblxuICAgIGRlZmF1bHQ6XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuc3VwcG9ydGVkIGdyYXBoIHR5cGU6ICR7dHlwZX1gKTtcbiAgfVxufVxuIl19