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

54 lines 13.1 kB
"use strict"; var _a; Object.defineProperty(exports, "__esModule", { value: true }); exports.OpenSearchIngestionPipelineMetricFactory = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const common_1 = require("../../common"); const OpenSearchIngestionNamespace = "AWS/OSIS"; /** * @experimental This is subject to change if an L2 construct becomes available. * * @see https://docs.aws.amazon.com/opensearch-service/latest/developerguide/monitoring-pipeline-metrics.html */ class OpenSearchIngestionPipelineMetricFactory extends common_1.BaseMetricFactory { constructor(metricFactory, props) { super(metricFactory, props); this.subPipelineName = props.subPipelineName; this.source = props.source; this.sink = props.sink; this.dimensionsMap = { PipelineName: props.pipelineName, }; } metricSourceBytesReceivedSum() { return this.metricFactory.createMetric(`${this.subPipelineName}.${this.source}.bytesReceived.sum`, common_1.MetricStatistic.SUM, `${this.source}.bytesReceived.sum`, this.dimensionsMap, undefined, OpenSearchIngestionNamespace, undefined, this.region, this.account); } metricSinkBulkRequestLatencyMax() { return this.metricFactory.createMetric(`${this.subPipelineName}.${this.sink}.bulkRequestLatency.max`, common_1.MetricStatistic.MAX, `${this.sink}.bulkRequestLatency.max`, this.dimensionsMap, undefined, OpenSearchIngestionNamespace, undefined, this.region, this.account); } metricSinkBulkPipelineLatencyMax() { return this.metricFactory.createMetric(`${this.subPipelineName}.${this.sink}.PipelineLatency.max`, common_1.MetricStatistic.MAX, `${this.sink}.PipelineLatency.max`, this.dimensionsMap, undefined, OpenSearchIngestionNamespace, undefined, this.region, this.account); } metricRecordsProcessedCount() { return this.metricFactory.createMetric(`${this.subPipelineName}.recordsProcessed.count`, common_1.MetricStatistic.SUM, "recordsProcessed.count", this.dimensionsMap, undefined, OpenSearchIngestionNamespace, undefined, this.region, this.account); } metricSinkRecordsInCount() { return this.metricFactory.createMetric(`${this.subPipelineName}.${this.sink}.recordsIn.count`, common_1.MetricStatistic.SUM, `${this.sink}.recordsIn.count`, this.dimensionsMap, undefined, OpenSearchIngestionNamespace, undefined, this.region, this.account); } metricDlqS3RecordsCount() { return this.metricFactory.createMetricMath("successCount + failedCount", { successCount: this.metricDlqS3RecordsSuccessCount(), failedCount: this.metricDlqS3RecordsFailedCount(), }, "DLQ records count"); } metricDlqS3RecordsSuccessCount() { return this.metricFactory.createMetric(`${this.subPipelineName}.${this.sink}.s3.dlqS3RecordsSuccess.count`, common_1.MetricStatistic.SUM, "s3.dlqS3RecordsSuccess.count", this.dimensionsMap, undefined, OpenSearchIngestionNamespace, undefined, this.region, this.account); } metricDlqS3RecordsFailedCount() { return this.metricFactory.createMetric(`${this.subPipelineName}.${this.sink}.s3.dlqS3RecordsFailed.count`, common_1.MetricStatistic.SUM, "s3.dlqS3RecordsFailed.count", this.dimensionsMap, undefined, OpenSearchIngestionNamespace, undefined, this.region, this.account); } } exports.OpenSearchIngestionPipelineMetricFactory = OpenSearchIngestionPipelineMetricFactory; _a = JSII_RTTI_SYMBOL_1; OpenSearchIngestionPipelineMetricFactory[_a] = { fqn: "cdk-monitoring-constructs.OpenSearchIngestionPipelineMetricFactory", version: "9.15.2" }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3BlblNlYXJjaEluZ2VzdGlvblBpcGVsaW5lTWV0cmljRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIk9wZW5TZWFyY2hJbmdlc3Rpb25QaXBlbGluZU1ldHJpY0ZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSx5Q0FNc0I7QUFFdEIsTUFBTSw0QkFBNEIsR0FBRyxVQUFVLENBQUM7QUFVaEQ7Ozs7R0FJRztBQUNILE1BQWEsd0NBQXlDLFNBQVEsMEJBQWdFO0lBTzVILFlBQ0UsYUFBNEIsRUFDNUIsS0FBb0Q7UUFFcEQsS0FBSyxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUU1QixJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQyxlQUFlLENBQUM7UUFDN0MsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBQzNCLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQztRQUV2QixJQUFJLENBQUMsYUFBYSxHQUFHO1lBQ25CLFlBQVksRUFBRSxLQUFLLENBQUMsWUFBWTtTQUNqQyxDQUFDO0lBQ0osQ0FBQztJQUVELDRCQUE0QjtRQUMxQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUNwQyxHQUFHLElBQUksQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLE1BQU0sb0JBQW9CLEVBQzFELHdCQUFlLENBQUMsR0FBRyxFQUNuQixHQUFHLElBQUksQ0FBQyxNQUFNLG9CQUFvQixFQUNsQyxJQUFJLENBQUMsYUFBYSxFQUNsQixTQUFTLEVBQ1QsNEJBQTRCLEVBQzVCLFNBQVMsRUFDVCxJQUFJLENBQUMsTUFBTSxFQUNYLElBQUksQ0FBQyxPQUFPLENBQ2IsQ0FBQztJQUNKLENBQUM7SUFFRCwrQkFBK0I7UUFDN0IsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FDcEMsR0FBRyxJQUFJLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxJQUFJLHlCQUF5QixFQUM3RCx3QkFBZSxDQUFDLEdBQUcsRUFDbkIsR0FBRyxJQUFJLENBQUMsSUFBSSx5QkFBeUIsRUFDckMsSUFBSSxDQUFDLGFBQWEsRUFDbEIsU0FBUyxFQUNULDRCQUE0QixFQUM1QixTQUFTLEVBQ1QsSUFBSSxDQUFDLE1BQU0sRUFDWCxJQUFJLENBQUMsT0FBTyxDQUNiLENBQUM7SUFDSixDQUFDO0lBRUQsZ0NBQWdDO1FBQzlCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQ3BDLEdBQUcsSUFBSSxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUMsSUFBSSxzQkFBc0IsRUFDMUQsd0JBQWUsQ0FBQyxHQUFHLEVBQ25CLEdBQUcsSUFBSSxDQUFDLElBQUksc0JBQXNCLEVBQ2xDLElBQUksQ0FBQyxhQUFhLEVBQ2xCLFNBQVMsRUFDVCw0QkFBNEIsRUFDNUIsU0FBUyxFQUNULElBQUksQ0FBQyxNQUFNLEVBQ1gsSUFBSSxDQUFDLE9BQU8sQ0FDYixDQUFDO0lBQ0osQ0FBQztJQUVELDJCQUEyQjtRQUN6QixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUNwQyxHQUFHLElBQUksQ0FBQyxlQUFlLHlCQUF5QixFQUNoRCx3QkFBZSxDQUFDLEdBQUcsRUFDbkIsd0JBQXdCLEVBQ3hCLElBQUksQ0FBQyxhQUFhLEVBQ2xCLFNBQVMsRUFDVCw0QkFBNEIsRUFDNUIsU0FBUyxFQUNULElBQUksQ0FBQyxNQUFNLEVBQ1gsSUFBSSxDQUFDLE9BQU8sQ0FDYixDQUFDO0lBQ0osQ0FBQztJQUVELHdCQUF3QjtRQUN0QixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUNwQyxHQUFHLElBQUksQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLElBQUksa0JBQWtCLEVBQ3RELHdCQUFlLENBQUMsR0FBRyxFQUNuQixHQUFHLElBQUksQ0FBQyxJQUFJLGtCQUFrQixFQUM5QixJQUFJLENBQUMsYUFBYSxFQUNsQixTQUFTLEVBQ1QsNEJBQTRCLEVBQzVCLFNBQVMsRUFDVCxJQUFJLENBQUMsTUFBTSxFQUNYLElBQUksQ0FBQyxPQUFPLENBQ2IsQ0FBQztJQUNKLENBQUM7SUFFRCx1QkFBdUI7UUFDckIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUN4Qyw0QkFBNEIsRUFDNUI7WUFDRSxZQUFZLEVBQUUsSUFBSSxDQUFDLDhCQUE4QixFQUFFO1lBQ25ELFdBQVcsRUFBRSxJQUFJLENBQUMsNkJBQTZCLEVBQUU7U0FDbEQsRUFDRCxtQkFBbUIsQ0FDcEIsQ0FBQztJQUNKLENBQUM7SUFFRCw4QkFBOEI7UUFDNUIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FDcEMsR0FBRyxJQUFJLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxJQUFJLCtCQUErQixFQUNuRSx3QkFBZSxDQUFDLEdBQUcsRUFDbkIsOEJBQThCLEVBQzlCLElBQUksQ0FBQyxhQUFhLEVBQ2xCLFNBQVMsRUFDVCw0QkFBNEIsRUFDNUIsU0FBUyxFQUNULElBQUksQ0FBQyxNQUFNLEVBQ1gsSUFBSSxDQUFDLE9BQU8sQ0FDYixDQUFDO0lBQ0osQ0FBQztJQUVELDZCQUE2QjtRQUMzQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUNwQyxHQUFHLElBQUksQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLElBQUksOEJBQThCLEVBQ2xFLHdCQUFlLENBQUMsR0FBRyxFQUNuQiw2QkFBNkIsRUFDN0IsSUFBSSxDQUFDLGFBQWEsRUFDbEIsU0FBUyxFQUNULDRCQUE0QixFQUM1QixTQUFTLEVBQ1QsSUFBSSxDQUFDLE1BQU0sRUFDWCxJQUFJLENBQUMsT0FBTyxDQUNiLENBQUM7SUFDSixDQUFDOztBQWpJSCw0RkFrSUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IERpbWVuc2lvbnNNYXAgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNsb3Vkd2F0Y2hcIjtcbmltcG9ydCB7XG4gIEJhc2VNZXRyaWNGYWN0b3J5UHJvcHMsXG4gIEJhc2VNZXRyaWNGYWN0b3J5LFxuICBNZXRyaWNGYWN0b3J5LFxuICBNZXRyaWNXaXRoQWxhcm1TdXBwb3J0LFxuICBNZXRyaWNTdGF0aXN0aWMsXG59IGZyb20gXCIuLi8uLi9jb21tb25cIjtcblxuY29uc3QgT3BlblNlYXJjaEluZ2VzdGlvbk5hbWVzcGFjZSA9IFwiQVdTL09TSVNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBPcGVuU2VhcmNoSW5nZXN0aW9uUGlwZWxpbmVNZXRyaWNGYWN0b3J5UHJvcHNcbiAgZXh0ZW5kcyBCYXNlTWV0cmljRmFjdG9yeVByb3BzIHtcbiAgcmVhZG9ubHkgc3ViUGlwZWxpbmVOYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHNvdXJjZTogc3RyaW5nO1xuICByZWFkb25seSBzaW5rOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHBpcGVsaW5lTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIEBleHBlcmltZW50YWwgVGhpcyBpcyBzdWJqZWN0IHRvIGNoYW5nZSBpZiBhbiBMMiBjb25zdHJ1Y3QgYmVjb21lcyBhdmFpbGFibGUuXG4gKlxuICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vb3BlbnNlYXJjaC1zZXJ2aWNlL2xhdGVzdC9kZXZlbG9wZXJndWlkZS9tb25pdG9yaW5nLXBpcGVsaW5lLW1ldHJpY3MuaHRtbFxuICovXG5leHBvcnQgY2xhc3MgT3BlblNlYXJjaEluZ2VzdGlvblBpcGVsaW5lTWV0cmljRmFjdG9yeSBleHRlbmRzIEJhc2VNZXRyaWNGYWN0b3J5PE9wZW5TZWFyY2hJbmdlc3Rpb25QaXBlbGluZU1ldHJpY0ZhY3RvcnlQcm9wcz4ge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc3ViUGlwZWxpbmVOYW1lOiBzdHJpbmc7XG4gIHByb3RlY3RlZCByZWFkb25seSBzb3VyY2U6IHN0cmluZztcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHNpbms6IHN0cmluZztcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGltZW5zaW9uc01hcDogRGltZW5zaW9uc01hcDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBtZXRyaWNGYWN0b3J5OiBNZXRyaWNGYWN0b3J5LFxuICAgIHByb3BzOiBPcGVuU2VhcmNoSW5nZXN0aW9uUGlwZWxpbmVNZXRyaWNGYWN0b3J5UHJvcHMsXG4gICkge1xuICAgIHN1cGVyKG1ldHJpY0ZhY3RvcnksIHByb3BzKTtcblxuICAgIHRoaXMuc3ViUGlwZWxpbmVOYW1lID0gcHJvcHMuc3ViUGlwZWxpbmVOYW1lO1xuICAgIHRoaXMuc291cmNlID0gcHJvcHMuc291cmNlO1xuICAgIHRoaXMuc2luayA9IHByb3BzLnNpbms7XG5cbiAgICB0aGlzLmRpbWVuc2lvbnNNYXAgPSB7XG4gICAgICBQaXBlbGluZU5hbWU6IHByb3BzLnBpcGVsaW5lTmFtZSxcbiAgICB9O1xuICB9XG5cbiAgbWV0cmljU291cmNlQnl0ZXNSZWNlaXZlZFN1bSgpOiBNZXRyaWNXaXRoQWxhcm1TdXBwb3J0IHtcbiAgICByZXR1cm4gdGhpcy5tZXRyaWNGYWN0b3J5LmNyZWF0ZU1ldHJpYyhcbiAgICAgIGAke3RoaXMuc3ViUGlwZWxpbmVOYW1lfS4ke3RoaXMuc291cmNlfS5ieXRlc1JlY2VpdmVkLnN1bWAsXG4gICAgICBNZXRyaWNTdGF0aXN0aWMuU1VNLFxuICAgICAgYCR7dGhpcy5zb3VyY2V9LmJ5dGVzUmVjZWl2ZWQuc3VtYCxcbiAgICAgIHRoaXMuZGltZW5zaW9uc01hcCxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIE9wZW5TZWFyY2hJbmdlc3Rpb25OYW1lc3BhY2UsXG4gICAgICB1bmRlZmluZWQsXG4gICAgICB0aGlzLnJlZ2lvbixcbiAgICAgIHRoaXMuYWNjb3VudCxcbiAgICApO1xuICB9XG5cbiAgbWV0cmljU2lua0J1bGtSZXF1ZXN0TGF0ZW5jeU1heCgpOiBNZXRyaWNXaXRoQWxhcm1TdXBwb3J0IHtcbiAgICByZXR1cm4gdGhpcy5tZXRyaWNGYWN0b3J5LmNyZWF0ZU1ldHJpYyhcbiAgICAgIGAke3RoaXMuc3ViUGlwZWxpbmVOYW1lfS4ke3RoaXMuc2lua30uYnVsa1JlcXVlc3RMYXRlbmN5Lm1heGAsXG4gICAgICBNZXRyaWNTdGF0aXN0aWMuTUFYLFxuICAgICAgYCR7dGhpcy5zaW5rfS5idWxrUmVxdWVzdExhdGVuY3kubWF4YCxcbiAgICAgIHRoaXMuZGltZW5zaW9uc01hcCxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIE9wZW5TZWFyY2hJbmdlc3Rpb25OYW1lc3BhY2UsXG4gICAgICB1bmRlZmluZWQsXG4gICAgICB0aGlzLnJlZ2lvbixcbiAgICAgIHRoaXMuYWNjb3VudCxcbiAgICApO1xuICB9XG5cbiAgbWV0cmljU2lua0J1bGtQaXBlbGluZUxhdGVuY3lNYXgoKTogTWV0cmljV2l0aEFsYXJtU3VwcG9ydCB7XG4gICAgcmV0dXJuIHRoaXMubWV0cmljRmFjdG9yeS5jcmVhdGVNZXRyaWMoXG4gICAgICBgJHt0aGlzLnN1YlBpcGVsaW5lTmFtZX0uJHt0aGlzLnNpbmt9LlBpcGVsaW5lTGF0ZW5jeS5tYXhgLFxuICAgICAgTWV0cmljU3RhdGlzdGljLk1BWCxcbiAgICAgIGAke3RoaXMuc2lua30uUGlwZWxpbmVMYXRlbmN5Lm1heGAsXG4gICAgICB0aGlzLmRpbWVuc2lvbnNNYXAsXG4gICAgICB1bmRlZmluZWQsXG4gICAgICBPcGVuU2VhcmNoSW5nZXN0aW9uTmFtZXNwYWNlLFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgdGhpcy5yZWdpb24sXG4gICAgICB0aGlzLmFjY291bnQsXG4gICAgKTtcbiAgfVxuXG4gIG1ldHJpY1JlY29yZHNQcm9jZXNzZWRDb3VudCgpOiBNZXRyaWNXaXRoQWxhcm1TdXBwb3J0IHtcbiAgICByZXR1cm4gdGhpcy5tZXRyaWNGYWN0b3J5LmNyZWF0ZU1ldHJpYyhcbiAgICAgIGAke3RoaXMuc3ViUGlwZWxpbmVOYW1lfS5yZWNvcmRzUHJvY2Vzc2VkLmNvdW50YCxcbiAgICAgIE1ldHJpY1N0YXRpc3RpYy5TVU0sXG4gICAgICBcInJlY29yZHNQcm9jZXNzZWQuY291bnRcIixcbiAgICAgIHRoaXMuZGltZW5zaW9uc01hcCxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIE9wZW5TZWFyY2hJbmdlc3Rpb25OYW1lc3BhY2UsXG4gICAgICB1bmRlZmluZWQsXG4gICAgICB0aGlzLnJlZ2lvbixcbiAgICAgIHRoaXMuYWNjb3VudCxcbiAgICApO1xuICB9XG5cbiAgbWV0cmljU2lua1JlY29yZHNJbkNvdW50KCk6IE1ldHJpY1dpdGhBbGFybVN1cHBvcnQge1xuICAgIHJldHVybiB0aGlzLm1ldHJpY0ZhY3RvcnkuY3JlYXRlTWV0cmljKFxuICAgICAgYCR7dGhpcy5zdWJQaXBlbGluZU5hbWV9LiR7dGhpcy5zaW5rfS5yZWNvcmRzSW4uY291bnRgLFxuICAgICAgTWV0cmljU3RhdGlzdGljLlNVTSxcbiAgICAgIGAke3RoaXMuc2lua30ucmVjb3Jkc0luLmNvdW50YCxcbiAgICAgIHRoaXMuZGltZW5zaW9uc01hcCxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIE9wZW5TZWFyY2hJbmdlc3Rpb25OYW1lc3BhY2UsXG4gICAgICB1bmRlZmluZWQsXG4gICAgICB0aGlzLnJlZ2lvbixcbiAgICAgIHRoaXMuYWNjb3VudCxcbiAgICApO1xuICB9XG5cbiAgbWV0cmljRGxxUzNSZWNvcmRzQ291bnQoKTogTWV0cmljV2l0aEFsYXJtU3VwcG9ydCB7XG4gICAgcmV0dXJuIHRoaXMubWV0cmljRmFjdG9yeS5jcmVhdGVNZXRyaWNNYXRoKFxuICAgICAgXCJzdWNjZXNzQ291bnQgKyBmYWlsZWRDb3VudFwiLFxuICAgICAge1xuICAgICAgICBzdWNjZXNzQ291bnQ6IHRoaXMubWV0cmljRGxxUzNSZWNvcmRzU3VjY2Vzc0NvdW50KCksXG4gICAgICAgIGZhaWxlZENvdW50OiB0aGlzLm1ldHJpY0RscVMzUmVjb3Jkc0ZhaWxlZENvdW50KCksXG4gICAgICB9LFxuICAgICAgXCJETFEgcmVjb3JkcyBjb3VudFwiLFxuICAgICk7XG4gIH1cblxuICBtZXRyaWNEbHFTM1JlY29yZHNTdWNjZXNzQ291bnQoKTogTWV0cmljV2l0aEFsYXJtU3VwcG9ydCB7XG4gICAgcmV0dXJuIHRoaXMubWV0cmljRmFjdG9yeS5jcmVhdGVNZXRyaWMoXG4gICAgICBgJHt0aGlzLnN1YlBpcGVsaW5lTmFtZX0uJHt0aGlzLnNpbmt9LnMzLmRscVMzUmVjb3Jkc1N1Y2Nlc3MuY291bnRgLFxuICAgICAgTWV0cmljU3RhdGlzdGljLlNVTSxcbiAgICAgIFwiczMuZGxxUzNSZWNvcmRzU3VjY2Vzcy5jb3VudFwiLFxuICAgICAgdGhpcy5kaW1lbnNpb25zTWFwLFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgT3BlblNlYXJjaEluZ2VzdGlvbk5hbWVzcGFjZSxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIHRoaXMucmVnaW9uLFxuICAgICAgdGhpcy5hY2NvdW50LFxuICAgICk7XG4gIH1cblxuICBtZXRyaWNEbHFTM1JlY29yZHNGYWlsZWRDb3VudCgpOiBNZXRyaWNXaXRoQWxhcm1TdXBwb3J0IHtcbiAgICByZXR1cm4gdGhpcy5tZXRyaWNGYWN0b3J5LmNyZWF0ZU1ldHJpYyhcbiAgICAgIGAke3RoaXMuc3ViUGlwZWxpbmVOYW1lfS4ke3RoaXMuc2lua30uczMuZGxxUzNSZWNvcmRzRmFpbGVkLmNvdW50YCxcbiAgICAgIE1ldHJpY1N0YXRpc3RpYy5TVU0sXG4gICAgICBcInMzLmRscVMzUmVjb3Jkc0ZhaWxlZC5jb3VudFwiLFxuICAgICAgdGhpcy5kaW1lbnNpb25zTWFwLFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgT3BlblNlYXJjaEluZ2VzdGlvbk5hbWVzcGFjZSxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIHRoaXMucmVnaW9uLFxuICAgICAgdGhpcy5hY2NvdW50LFxuICAgICk7XG4gIH1cbn1cbiJdfQ==