@dx-do/client 5.2.35 → 5.2.37
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +37 -0
- package/dist/index.cjs.js +1856 -2
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +1721 -3
- package/dist/index.esm.js.map +1 -1
- package/dist/src/index.d.ts +10 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/lib/model/agent/AgentSourceQuery.d.ts +2 -0
- package/dist/src/lib/model/agent/AgentSourceQuery.d.ts.map +1 -1
- package/dist/src/lib/model/alarm/alarm-enrichment-filter.d.ts +5 -0
- package/dist/src/lib/model/alarm/alarm-enrichment-filter.d.ts.map +1 -1
- package/dist/src/lib/model/alarm/alarm-enrichment.d.ts +1 -0
- package/dist/src/lib/model/alarm/alarm-enrichment.d.ts.map +1 -1
- package/dist/src/lib/model/alert/AlertResponse.d.ts +9 -0
- package/dist/src/lib/model/alert/AlertResponse.d.ts.map +1 -1
- package/dist/src/lib/model/alert/PlatformAlert.d.ts +83 -0
- package/dist/src/lib/model/alert/PlatformAlert.d.ts.map +1 -0
- package/dist/src/lib/model/apm-universe/APMUniverseResponse.d.ts +2 -0
- package/dist/src/lib/model/apm-universe/APMUniverseResponse.d.ts.map +1 -1
- package/dist/src/lib/model/channel/ChannelCreateRequest.d.ts +1 -0
- package/dist/src/lib/model/channel/ChannelCreateRequest.d.ts.map +1 -1
- package/dist/src/lib/model/channel/ChannelResponse.d.ts +3 -0
- package/dist/src/lib/model/channel/ChannelResponse.d.ts.map +1 -1
- package/dist/src/lib/model/channel/TemplatesResponse.d.ts +3 -0
- package/dist/src/lib/model/channel/TemplatesResponse.d.ts.map +1 -1
- package/dist/src/lib/model/config/DXDoConfiguration.d.ts +23 -0
- package/dist/src/lib/model/config/DXDoConfiguration.d.ts.map +1 -1
- package/dist/src/lib/model/config/DXSaaSConfiguration.d.ts +33 -1
- package/dist/src/lib/model/config/DXSaaSConfiguration.d.ts.map +1 -1
- package/dist/src/lib/model/datastore/index.d.ts +4 -0
- package/dist/src/lib/model/datastore/index.d.ts.map +1 -0
- package/dist/src/lib/model/datastore/metrics-metadata/attribute-name-specifier.d.ts +120 -0
- package/dist/src/lib/model/datastore/metrics-metadata/attribute-name-specifier.d.ts.map +1 -0
- package/dist/src/lib/model/datastore/metrics-metadata/folder-name-specifier.d.ts +41 -0
- package/dist/src/lib/model/datastore/metrics-metadata/folder-name-specifier.d.ts.map +1 -0
- package/dist/src/lib/model/datastore/metrics-metadata/index.d.ts +7 -0
- package/dist/src/lib/model/datastore/metrics-metadata/index.d.ts.map +1 -0
- package/dist/src/lib/model/datastore/metrics-metadata/query-specifier.d.ts +76 -0
- package/dist/src/lib/model/datastore/metrics-metadata/query-specifier.d.ts.map +1 -0
- package/dist/src/lib/model/datastore/metrics-metadata/query.d.ts +24 -0
- package/dist/src/lib/model/datastore/metrics-metadata/query.d.ts.map +1 -0
- package/dist/src/lib/model/datastore/metrics-metadata/response.d.ts +44 -0
- package/dist/src/lib/model/datastore/metrics-metadata/response.d.ts.map +1 -0
- package/dist/src/lib/model/datastore/metrics-metadata/source-name-specifier.d.ts +57 -0
- package/dist/src/lib/model/datastore/metrics-metadata/source-name-specifier.d.ts.map +1 -0
- package/dist/src/lib/model/datastore/nassql/filter-specs.d.ts +16 -0
- package/dist/src/lib/model/datastore/nassql/filter-specs.d.ts.map +1 -0
- package/dist/src/lib/model/datastore/nassql/index.d.ts +5 -0
- package/dist/src/lib/model/datastore/nassql/index.d.ts.map +1 -0
- package/dist/src/lib/model/datastore/nassql/operations.d.ts +462 -0
- package/dist/src/lib/model/datastore/nassql/operations.d.ts.map +1 -0
- package/dist/src/lib/model/datastore/nassql/query.d.ts +412 -0
- package/dist/src/lib/model/datastore/nassql/query.d.ts.map +1 -0
- package/dist/src/lib/model/datastore/nassql/response.d.ts +4 -0
- package/dist/src/lib/model/datastore/nassql/response.d.ts.map +1 -0
- package/dist/src/lib/model/datastore/tas/filters.d.ts +388 -0
- package/dist/src/lib/model/datastore/tas/filters.d.ts.map +1 -0
- package/dist/src/lib/model/datastore/tas/index.d.ts +4 -0
- package/dist/src/lib/model/datastore/tas/index.d.ts.map +1 -0
- package/dist/src/lib/model/datastore/tas/query.d.ts +64 -0
- package/dist/src/lib/model/datastore/tas/query.d.ts.map +1 -0
- package/dist/src/lib/model/datastore/tas/response.d.ts +151 -0
- package/dist/src/lib/model/datastore/tas/response.d.ts.map +1 -0
- package/dist/src/lib/model/dxchannel/DXChannel.d.ts +3 -0
- package/dist/src/lib/model/dxchannel/DXChannel.d.ts.map +1 -1
- package/dist/src/lib/model/managementmodule/PlatformManagementModule.d.ts +59 -0
- package/dist/src/lib/model/managementmodule/PlatformManagementModule.d.ts.map +1 -0
- package/dist/src/lib/model/metricgrouping/PlatformMetricGrouping.d.ts +95 -0
- package/dist/src/lib/model/metricgrouping/PlatformMetricGrouping.d.ts.map +1 -0
- package/dist/src/lib/model/oi/services.d.ts +6 -0
- package/dist/src/lib/model/oi/services.d.ts.map +1 -1
- package/dist/src/lib/model/postman/Postman.d.ts +2 -0
- package/dist/src/lib/model/postman/Postman.d.ts.map +1 -1
- package/dist/src/lib/model/service/service-detail.d.ts +2 -0
- package/dist/src/lib/model/service/service-detail.d.ts.map +1 -1
- package/dist/src/lib/model/service/service-search.d.ts +1 -1
- package/dist/src/lib/model/service/service-search.d.ts.map +1 -1
- package/dist/src/lib/model/tas/TAS.d.ts +3 -0
- package/dist/src/lib/model/tas/TAS.d.ts.map +1 -1
- package/dist/src/lib/model/vertex/BulkVertexPatch.d.ts +1 -0
- package/dist/src/lib/model/vertex/BulkVertexPatch.d.ts.map +1 -1
- package/dist/src/lib/services/agent.service.d.ts +17 -0
- package/dist/src/lib/services/agent.service.d.ts.map +1 -1
- package/dist/src/lib/services/alarm.service.d.ts +13 -0
- package/dist/src/lib/services/alarm.service.d.ts.map +1 -1
- package/dist/src/lib/services/alert.service.d.ts +15 -0
- package/dist/src/lib/services/alert.service.d.ts.map +1 -1
- package/dist/src/lib/services/apm-universe.service.d.ts +5 -0
- package/dist/src/lib/services/apm-universe.service.d.ts.map +1 -1
- package/dist/src/lib/services/asm.service.d.ts +2 -0
- package/dist/src/lib/services/asm.service.d.ts.map +1 -1
- package/dist/src/lib/services/attribute.service.d.ts +3 -0
- package/dist/src/lib/services/attribute.service.d.ts.map +1 -1
- package/dist/src/lib/services/authorization.service.d.ts +3 -0
- package/dist/src/lib/services/authorization.service.d.ts.map +1 -1
- package/dist/src/lib/services/axa.service.d.ts +21 -0
- package/dist/src/lib/services/axa.service.d.ts.map +1 -1
- package/dist/src/lib/services/blob.service.d.ts +3 -0
- package/dist/src/lib/services/blob.service.d.ts.map +1 -1
- package/dist/src/lib/services/channel.service.d.ts +12 -0
- package/dist/src/lib/services/channel.service.d.ts.map +1 -1
- package/dist/src/lib/services/dashboard.service.d.ts +23 -0
- package/dist/src/lib/services/dashboard.service.d.ts.map +1 -1
- package/dist/src/lib/services/datastore/datastore-metrics-metadata.service.d.ts +25 -0
- package/dist/src/lib/services/datastore/datastore-metrics-metadata.service.d.ts.map +1 -0
- package/dist/src/lib/services/datastore/datastore-nassql.service.d.ts +44 -0
- package/dist/src/lib/services/datastore/datastore-nassql.service.d.ts.map +1 -0
- package/dist/src/lib/services/datastore/datastore-tas.service.d.ts +25 -0
- package/dist/src/lib/services/datastore/datastore-tas.service.d.ts.map +1 -0
- package/dist/src/lib/services/dx-saas.service.d.ts +139 -0
- package/dist/src/lib/services/dx-saas.service.d.ts.map +1 -1
- package/dist/src/lib/services/dxoi.service.d.ts +6 -0
- package/dist/src/lib/services/dxoi.service.d.ts.map +1 -1
- package/dist/src/lib/services/event.service.d.ts +4 -0
- package/dist/src/lib/services/event.service.d.ts.map +1 -1
- package/dist/src/lib/services/experience.service.d.ts +10 -0
- package/dist/src/lib/services/experience.service.d.ts.map +1 -1
- package/dist/src/lib/services/graph.service.d.ts +7 -0
- package/dist/src/lib/services/graph.service.d.ts.map +1 -1
- package/dist/src/lib/services/inventory.service.d.ts +11 -2
- package/dist/src/lib/services/inventory.service.d.ts.map +1 -1
- package/dist/src/lib/services/js-extension.service.d.ts +5 -0
- package/dist/src/lib/services/js-extension.service.d.ts.map +1 -1
- package/dist/src/lib/services/logs.service.d.ts +1 -0
- package/dist/src/lib/services/logs.service.d.ts.map +1 -1
- package/dist/src/lib/services/management-module.service.d.ts +10 -0
- package/dist/src/lib/services/management-module.service.d.ts.map +1 -1
- package/dist/src/lib/services/metric-batch.service.d.ts +8 -0
- package/dist/src/lib/services/metric-batch.service.d.ts.map +1 -1
- package/dist/src/lib/services/metric-grouping.service.d.ts +6 -0
- package/dist/src/lib/services/metric-grouping.service.d.ts.map +1 -1
- package/dist/src/lib/services/nass.service.d.ts +7 -0
- package/dist/src/lib/services/nass.service.d.ts.map +1 -1
- package/dist/src/lib/services/notification.service.d.ts +1 -0
- package/dist/src/lib/services/notification.service.d.ts.map +1 -1
- package/dist/src/lib/services/o2-notification.service.d.ts +1 -0
- package/dist/src/lib/services/o2-notification.service.d.ts.map +1 -1
- package/dist/src/lib/services/o2-universe.service.d.ts +8 -0
- package/dist/src/lib/services/o2-universe.service.d.ts.map +1 -1
- package/dist/src/lib/services/perspective.service.d.ts +3 -0
- package/dist/src/lib/services/perspective.service.d.ts.map +1 -1
- package/dist/src/lib/services/platform-alert.service.d.ts +24 -0
- package/dist/src/lib/services/platform-alert.service.d.ts.map +1 -0
- package/dist/src/lib/services/platform-management-module.service.d.ts +21 -0
- package/dist/src/lib/services/platform-management-module.service.d.ts.map +1 -0
- package/dist/src/lib/services/platform-metric-grouping.service.d.ts +24 -0
- package/dist/src/lib/services/platform-metric-grouping.service.d.ts.map +1 -0
- package/dist/src/lib/services/service-monolith.d.ts +23 -1
- package/dist/src/lib/services/service-monolith.d.ts.map +1 -1
- package/dist/src/lib/services/service.service.d.ts +16 -0
- package/dist/src/lib/services/service.service.d.ts.map +1 -1
- package/dist/src/lib/services/session.service.d.ts +1 -0
- package/dist/src/lib/services/session.service.d.ts.map +1 -1
- package/dist/src/lib/services/situation.service.d.ts +7 -0
- package/dist/src/lib/services/situation.service.d.ts.map +1 -1
- package/dist/src/lib/services/sql.service.d.ts +1 -0
- package/dist/src/lib/services/sql.service.d.ts.map +1 -1
- package/dist/src/lib/services/tas.service.d.ts +2 -0
- package/dist/src/lib/services/tas.service.d.ts.map +1 -1
- package/dist/src/lib/services/vertex.service.d.ts +25 -0
- package/dist/src/lib/services/vertex.service.d.ts.map +1 -1
- package/package.json +11 -2
package/dist/index.cjs.js
CHANGED
|
@@ -14,6 +14,7 @@ var require$$1$2 = require('tty');
|
|
|
14
14
|
var require$$0$4 = require('os');
|
|
15
15
|
var zlib = require('zlib');
|
|
16
16
|
var require$$0$5 = require('events');
|
|
17
|
+
var v4 = require('zod/v4');
|
|
17
18
|
var require$$0$7 = require('node:stream');
|
|
18
19
|
var require$$0$6 = require('net');
|
|
19
20
|
var require$$1$3 = require('tls');
|
|
@@ -60,6 +61,7 @@ var fs__namespace = /*#__PURE__*/_interopNamespaceDefault(fs$1);
|
|
|
60
61
|
var process__namespace = /*#__PURE__*/_interopNamespaceDefault(process$1);
|
|
61
62
|
var os__namespace = /*#__PURE__*/_interopNamespaceDefault(os);
|
|
62
63
|
|
|
64
|
+
/** @internal */
|
|
63
65
|
const ags = {
|
|
64
66
|
"specifier": {
|
|
65
67
|
"op": "OR",
|
|
@@ -75,6 +77,7 @@ const ags = {
|
|
|
75
77
|
},
|
|
76
78
|
"authorizationView": null,
|
|
77
79
|
};
|
|
80
|
+
/** @internal */
|
|
78
81
|
const agsresponse = {
|
|
79
82
|
"items": [
|
|
80
83
|
{ "name": "SuperDomain|lvnkprod010236|Spectrum|SpectrumWeb" },
|
|
@@ -179,6 +182,7 @@ exports.AlarmEnrichmentFilter = void 0;
|
|
|
179
182
|
throw new Error(':unknown alarm filter type');
|
|
180
183
|
}
|
|
181
184
|
AlarmEnrichmentFilter.getAlarmFilterType = getAlarmFilterType;
|
|
185
|
+
/** @internal */
|
|
182
186
|
class FilterNode {
|
|
183
187
|
data;
|
|
184
188
|
children = new Array();
|
|
@@ -193,6 +197,7 @@ exports.AlarmEnrichmentFilter = void 0;
|
|
|
193
197
|
}
|
|
194
198
|
}
|
|
195
199
|
AlarmEnrichmentFilter.FilterNode = FilterNode;
|
|
200
|
+
/** @internal */
|
|
196
201
|
function convertAnd(andFilter, parent) {
|
|
197
202
|
if (andFilter.and.expressions.length == 1) {
|
|
198
203
|
return convertFilterToNode(andFilter.and.expressions[0], parent);
|
|
@@ -209,6 +214,7 @@ exports.AlarmEnrichmentFilter = void 0;
|
|
|
209
214
|
}
|
|
210
215
|
}
|
|
211
216
|
AlarmEnrichmentFilter.convertAnd = convertAnd;
|
|
217
|
+
/** @internal */
|
|
212
218
|
function convertOr(orFilter, parent) {
|
|
213
219
|
if (orFilter.or.expressions.length == 1) {
|
|
214
220
|
return convertFilterToNode(orFilter.or.expressions[0], parent);
|
|
@@ -236,6 +242,7 @@ exports.AlarmEnrichmentFilter = void 0;
|
|
|
236
242
|
}
|
|
237
243
|
}
|
|
238
244
|
AlarmEnrichmentFilter.conditionReadable = conditionReadable;
|
|
245
|
+
/** @internal */
|
|
239
246
|
function convertAttribute(alarmAttributeFilter, parent) {
|
|
240
247
|
const node = new FilterNode({
|
|
241
248
|
filterType: 'attribute',
|
|
@@ -244,6 +251,7 @@ exports.AlarmEnrichmentFilter = void 0;
|
|
|
244
251
|
return node;
|
|
245
252
|
}
|
|
246
253
|
AlarmEnrichmentFilter.convertAttribute = convertAttribute;
|
|
254
|
+
/** @internal */
|
|
247
255
|
function convertFilterToNode(alarmFilter, parent) {
|
|
248
256
|
switch (getAlarmFilterType(alarmFilter)) {
|
|
249
257
|
case 'and':
|
|
@@ -261,6 +269,7 @@ exports.AlarmEnrichmentFilter = void 0;
|
|
|
261
269
|
|
|
262
270
|
exports.AlarmEnrichment = void 0;
|
|
263
271
|
(function (AlarmEnrichment) {
|
|
272
|
+
/** @internal */
|
|
264
273
|
AlarmEnrichment.SAMPLE_RULES_RESPONSE = [
|
|
265
274
|
{
|
|
266
275
|
tenant_id: 'AA0725E0-0402-4320-A2B7-407025E9D673',
|
|
@@ -548,6 +557,9 @@ exports.AlertDefinitionResponse = void 0;
|
|
|
548
557
|
|
|
549
558
|
exports.AlertResponse = void 0;
|
|
550
559
|
(function (AlertResponse) {
|
|
560
|
+
/**
|
|
561
|
+
* @deprecated Use {@link AlertResponseV2.AllAlertsRequestBody} instead.
|
|
562
|
+
*/
|
|
551
563
|
AlertResponse.AllAlertsRequestBody = {
|
|
552
564
|
mgmtModuleExtIds: [],
|
|
553
565
|
alertType: 'all',
|
|
@@ -25351,8 +25363,1074 @@ exports.DashboardSearch = void 0;
|
|
|
25351
25363
|
})(DashboardSearch.SearchType || (DashboardSearch.SearchType = {}));
|
|
25352
25364
|
})(exports.DashboardSearch || (exports.DashboardSearch = {}));
|
|
25353
25365
|
|
|
25366
|
+
const AttributeExpressionOperatorSchema = v4.z.enum([
|
|
25367
|
+
'IN',
|
|
25368
|
+
'NOT_IN',
|
|
25369
|
+
'MATCHES',
|
|
25370
|
+
'NOT_MATCHES',
|
|
25371
|
+
'GE',
|
|
25372
|
+
'GT',
|
|
25373
|
+
'LE',
|
|
25374
|
+
'LT',
|
|
25375
|
+
]);
|
|
25376
|
+
const AttributeExpressionComparatorSchema = v4.z.enum([
|
|
25377
|
+
'LEXICAL',
|
|
25378
|
+
'NUMBER',
|
|
25379
|
+
'DATETIME',
|
|
25380
|
+
]);
|
|
25381
|
+
const AttributeExpressionSchema = v4.z.looseObject({
|
|
25382
|
+
name: v4.z.string().optional(),
|
|
25383
|
+
pointer: v4.z.string().optional(),
|
|
25384
|
+
values: v4.z.array(v4.z.string()).optional(),
|
|
25385
|
+
operator: AttributeExpressionOperatorSchema.optional(),
|
|
25386
|
+
layer: v4.z.string().optional(),
|
|
25387
|
+
comparator: AttributeExpressionComparatorSchema.optional(),
|
|
25388
|
+
caseInsensitive: v4.z.boolean().optional(),
|
|
25389
|
+
});
|
|
25390
|
+
const AttributeValueAsFieldSchema = v4.z.looseObject({
|
|
25391
|
+
name: v4.z.string().optional(),
|
|
25392
|
+
pointer: v4.z.string().optional(),
|
|
25393
|
+
as: v4.z.string().optional(),
|
|
25394
|
+
});
|
|
25395
|
+
const TraversalVertexFilterSchema = v4.z.looseObject({
|
|
25396
|
+
op: v4.z.string().optional(),
|
|
25397
|
+
input: v4.z.lazy(() => v4.z.array(TraversalVertexFilterSchema)).optional(),
|
|
25398
|
+
expressions: v4.z.array(AttributeExpressionSchema).optional(),
|
|
25399
|
+
layer: v4.z.string().optional(),
|
|
25400
|
+
values: v4.z.array(v4.z.string()).optional(),
|
|
25401
|
+
vertexId: v4.z.array(v4.z.number()).optional(),
|
|
25402
|
+
});
|
|
25403
|
+
const TraversalEdgeFilterSchema = v4.z.looseObject({
|
|
25404
|
+
op: v4.z.string().optional(),
|
|
25405
|
+
input: v4.z.lazy(() => v4.z.array(TraversalEdgeFilterSchema)).optional(),
|
|
25406
|
+
expressions: v4.z.array(AttributeExpressionSchema).optional(),
|
|
25407
|
+
flowFilter: v4.z.array(v4.z.string()).optional(),
|
|
25408
|
+
});
|
|
25409
|
+
const TraverseDirectionSchema = v4.z.enum(['FORWARD', 'BACKWARD', 'ANY']);
|
|
25410
|
+
const TraverseCollectSchema = v4.z.enum(['ALL', 'EDGE', 'VERTEX', 'NONE']);
|
|
25411
|
+
const TraverseSchema = v4.z.looseObject({
|
|
25412
|
+
edgeFilter: TraversalEdgeFilterSchema.optional(),
|
|
25413
|
+
vertexFilter: TraversalVertexFilterSchema.optional(),
|
|
25414
|
+
collect: TraverseCollectSchema.optional(),
|
|
25415
|
+
direction: TraverseDirectionSchema.optional(),
|
|
25416
|
+
repeatMin: v4.z.number().optional(),
|
|
25417
|
+
repeat: v4.z.number().optional(),
|
|
25418
|
+
optional: v4.z.boolean().optional(),
|
|
25419
|
+
next: v4.z.lazy(() => v4.z.array(TraverseSchema)).optional(),
|
|
25420
|
+
});
|
|
25421
|
+
const VertexStateFilterSchema = v4.z.looseObject({
|
|
25422
|
+
op: v4.z.string().optional(),
|
|
25423
|
+
});
|
|
25424
|
+
const TasGroupingItemSchema = v4.z.looseObject({
|
|
25425
|
+
name: v4.z.string().optional(),
|
|
25426
|
+
layer: v4.z.string().optional(),
|
|
25427
|
+
});
|
|
25428
|
+
const TasAttributeFilterModeSchema = v4.z.enum([
|
|
25429
|
+
'VERTEX_AND_RELATED_EDGES',
|
|
25430
|
+
'EDGE_AND_RELATED_VERTICES',
|
|
25431
|
+
'VERTEX_ONLY',
|
|
25432
|
+
'EDGE_ONLY',
|
|
25433
|
+
]);
|
|
25434
|
+
const TasFollowPathTypeSchema = v4.z.enum([
|
|
25435
|
+
'BOTH',
|
|
25436
|
+
'DOWN',
|
|
25437
|
+
'UP',
|
|
25438
|
+
'UP_THEN_DOWN',
|
|
25439
|
+
'DOWN_THEN_UP',
|
|
25440
|
+
'FULL',
|
|
25441
|
+
'COVERAGE',
|
|
25442
|
+
]);
|
|
25443
|
+
const TasFollowPathFlowFilterSchema = v4.z.enum([
|
|
25444
|
+
'UNDEFINED_FLOW',
|
|
25445
|
+
'DEFINED_FLOW',
|
|
25446
|
+
'FLOW_FROM_INPUT',
|
|
25447
|
+
]);
|
|
25448
|
+
const TasJoinTypeSchema = v4.z.enum(['LEFT', 'INNER', 'RIGHT', 'NOT']);
|
|
25449
|
+
const TasCollectCardInfoTierSchema = v4.z.enum([
|
|
25450
|
+
'EXPERIENCE',
|
|
25451
|
+
'FRONTEND',
|
|
25452
|
+
'DATABASE',
|
|
25453
|
+
'BACKEND',
|
|
25454
|
+
'ANY_ATC',
|
|
25455
|
+
'AGENT',
|
|
25456
|
+
]);
|
|
25457
|
+
const TasCollectExperienceSelectorSchema = v4.z.enum(['EXPERIENCE', 'BT']);
|
|
25458
|
+
const TasFilterLazy = v4.z.lazy(() => TasFilterSchema);
|
|
25459
|
+
const TasAllFilterSchema = v4.z.looseObject({
|
|
25460
|
+
op: v4.z.literal('ALL'),
|
|
25461
|
+
});
|
|
25462
|
+
const TasEmptyFilterSchema = v4.z.looseObject({
|
|
25463
|
+
op: v4.z.literal('EMPTY'),
|
|
25464
|
+
input: TasFilterLazy.optional(),
|
|
25465
|
+
});
|
|
25466
|
+
const TasAndFilterSchema = v4.z.looseObject({
|
|
25467
|
+
op: v4.z.literal('AND'),
|
|
25468
|
+
input: v4.z.array(TasFilterLazy).optional(),
|
|
25469
|
+
});
|
|
25470
|
+
const TasOrFilterSchema = v4.z.looseObject({
|
|
25471
|
+
op: v4.z.literal('OR'),
|
|
25472
|
+
input: v4.z.array(TasFilterLazy).optional(),
|
|
25473
|
+
});
|
|
25474
|
+
const TasNotFilterSchema = v4.z.looseObject({
|
|
25475
|
+
op: v4.z.literal('NOT'),
|
|
25476
|
+
input: TasFilterLazy.optional(),
|
|
25477
|
+
});
|
|
25478
|
+
const TasAttributeFilterSchema = v4.z.looseObject({
|
|
25479
|
+
op: v4.z.literal('ATTRIBUTE'),
|
|
25480
|
+
input: TasFilterLazy.optional(),
|
|
25481
|
+
expressions: v4.z.array(AttributeExpressionSchema).optional(),
|
|
25482
|
+
layer: v4.z.string().optional(),
|
|
25483
|
+
mode: TasAttributeFilterModeSchema.optional(),
|
|
25484
|
+
});
|
|
25485
|
+
const TasTraverseFilterSchema = v4.z.looseObject({
|
|
25486
|
+
op: v4.z.literal('TRAVERSE'),
|
|
25487
|
+
input: TasFilterLazy.optional(),
|
|
25488
|
+
traverse: v4.z.array(TraverseSchema).optional(),
|
|
25489
|
+
collectStart: v4.z.boolean().optional(),
|
|
25490
|
+
includeInput: v4.z.boolean().optional(),
|
|
25491
|
+
});
|
|
25492
|
+
const TasVertexIdFilterSchema = v4.z.looseObject({
|
|
25493
|
+
op: v4.z.literal('VERTEX'),
|
|
25494
|
+
input: TasFilterLazy.optional(),
|
|
25495
|
+
vertexId: v4.z.array(v4.z.number()).optional(),
|
|
25496
|
+
externalId: v4.z.array(v4.z.string()).optional(),
|
|
25497
|
+
not: v4.z.boolean().optional(),
|
|
25498
|
+
});
|
|
25499
|
+
const TasServiceFilterSchema = v4.z.looseObject({
|
|
25500
|
+
op: v4.z.literal('SERVICE'),
|
|
25501
|
+
input: TasFilterLazy.optional(),
|
|
25502
|
+
values: v4.z.array(v4.z.string()).optional(),
|
|
25503
|
+
includeServiceHierarchy: v4.z.boolean().optional(),
|
|
25504
|
+
excludeSubServices: v4.z.boolean().optional(),
|
|
25505
|
+
});
|
|
25506
|
+
const TasLuceneFilterSchema = v4.z.looseObject({
|
|
25507
|
+
op: v4.z.literal('LUCENE'),
|
|
25508
|
+
input: TasFilterLazy.optional(),
|
|
25509
|
+
query: v4.z.string().optional(),
|
|
25510
|
+
});
|
|
25511
|
+
const TasLayerFilterSchema = v4.z.looseObject({
|
|
25512
|
+
op: v4.z.literal('LAYER'),
|
|
25513
|
+
input: TasFilterLazy.optional(),
|
|
25514
|
+
value: v4.z.string().optional(),
|
|
25515
|
+
values: v4.z.array(v4.z.string()).optional(),
|
|
25516
|
+
});
|
|
25517
|
+
const TasJoinFilterSchema = v4.z.looseObject({
|
|
25518
|
+
op: v4.z.literal('JOIN'),
|
|
25519
|
+
input: TasFilterLazy.optional(),
|
|
25520
|
+
type: TasJoinTypeSchema.optional(),
|
|
25521
|
+
rightInput: TasFilterLazy.optional(),
|
|
25522
|
+
});
|
|
25523
|
+
const TasFollowPathFilterSchema = v4.z.looseObject({
|
|
25524
|
+
op: v4.z.literal('FOLLOW_PATH'),
|
|
25525
|
+
input: TasFilterLazy.optional(),
|
|
25526
|
+
type: TasFollowPathTypeSchema.optional(),
|
|
25527
|
+
upHops: v4.z.number().optional(),
|
|
25528
|
+
downHops: v4.z.number().optional(),
|
|
25529
|
+
flowFilter: v4.z.array(TasFollowPathFlowFilterSchema).optional(),
|
|
25530
|
+
followToLayers: v4.z.array(v4.z.string()).optional(),
|
|
25531
|
+
});
|
|
25532
|
+
const TasCoverageFilterSchema = v4.z.looseObject({
|
|
25533
|
+
op: v4.z.literal('COVERAGE'),
|
|
25534
|
+
input: TasFilterLazy.optional(),
|
|
25535
|
+
});
|
|
25536
|
+
const TasStatusFilterSchema = v4.z.looseObject({
|
|
25537
|
+
op: v4.z.literal('STATUS'),
|
|
25538
|
+
input: TasFilterLazy.optional(),
|
|
25539
|
+
statusFilter: VertexStateFilterSchema.optional(),
|
|
25540
|
+
});
|
|
25541
|
+
const TasVariableFilterSchema = v4.z.looseObject({
|
|
25542
|
+
op: v4.z.literal('VARIABLE'),
|
|
25543
|
+
name: v4.z.string().optional(),
|
|
25544
|
+
});
|
|
25545
|
+
const TasLegacyFilterSchema = v4.z.looseObject({
|
|
25546
|
+
op: v4.z.literal('LEGACY'),
|
|
25547
|
+
legacy: v4.z.unknown().optional(),
|
|
25548
|
+
});
|
|
25549
|
+
const TasAddFlowsFilterSchema = v4.z.looseObject({
|
|
25550
|
+
op: v4.z.literal('ADD_FLOWS'),
|
|
25551
|
+
input: TasFilterLazy.optional(),
|
|
25552
|
+
includeJoined: v4.z.boolean().optional(),
|
|
25553
|
+
});
|
|
25554
|
+
const TasAddWiresFilterSchema = v4.z.looseObject({
|
|
25555
|
+
op: v4.z.literal('ADD_WIRES'),
|
|
25556
|
+
input: TasFilterLazy.optional(),
|
|
25557
|
+
considerIncompleteEdges: v4.z.boolean().optional(),
|
|
25558
|
+
});
|
|
25559
|
+
const TasAddWireContextFilterSchema = v4.z.looseObject({
|
|
25560
|
+
op: v4.z.literal('ADD_WIRE_CONTEXT'),
|
|
25561
|
+
input: TasFilterLazy.optional(),
|
|
25562
|
+
addEdges: v4.z.boolean().optional(),
|
|
25563
|
+
addSourceVertices: v4.z.boolean().optional(),
|
|
25564
|
+
addTargetVertices: v4.z.boolean().optional(),
|
|
25565
|
+
});
|
|
25566
|
+
const TasAddTransitioningEdgesFilterSchema = v4.z.looseObject({
|
|
25567
|
+
op: v4.z.literal('ADD_TRANSITIONING_EDGES'),
|
|
25568
|
+
input: TasFilterLazy.optional(),
|
|
25569
|
+
});
|
|
25570
|
+
const TasTakeVerticesFilterSchema = v4.z.looseObject({
|
|
25571
|
+
op: v4.z.literal('TAKE_VERTICES'),
|
|
25572
|
+
input: TasFilterLazy.optional(),
|
|
25573
|
+
});
|
|
25574
|
+
const TasTakeEdgesFilterSchema = v4.z.looseObject({
|
|
25575
|
+
op: v4.z.literal('TAKE_EDGES'),
|
|
25576
|
+
input: TasFilterLazy.optional(),
|
|
25577
|
+
});
|
|
25578
|
+
const TasTakeFlowsFilterSchema = v4.z.looseObject({
|
|
25579
|
+
op: v4.z.literal('TAKE_FLOWS'),
|
|
25580
|
+
input: TasFilterLazy.optional(),
|
|
25581
|
+
});
|
|
25582
|
+
const TasCollectAttributesFilterSchema = v4.z.looseObject({
|
|
25583
|
+
op: v4.z.literal('COLLECT_ATTRIBUTES'),
|
|
25584
|
+
input: TasFilterLazy.optional(),
|
|
25585
|
+
id: v4.z.string().optional(),
|
|
25586
|
+
attributeName: v4.z.string().optional(),
|
|
25587
|
+
layer: v4.z.string().optional(),
|
|
25588
|
+
includeIds: v4.z.boolean().optional(),
|
|
25589
|
+
caseInsensitive: v4.z.boolean().optional(),
|
|
25590
|
+
skipBackends: v4.z.boolean().optional(),
|
|
25591
|
+
});
|
|
25592
|
+
const TasCollectAttributeNamesFilterSchema = v4.z.looseObject({
|
|
25593
|
+
op: v4.z.literal('COLLECT_ATTRIBUTE_NAMES'),
|
|
25594
|
+
input: TasFilterLazy.optional(),
|
|
25595
|
+
id: v4.z.string().optional(),
|
|
25596
|
+
layer: v4.z.string().optional(),
|
|
25597
|
+
});
|
|
25598
|
+
const TasCollectCountsFilterSchema = v4.z.looseObject({
|
|
25599
|
+
op: v4.z.literal('COLLECT_COUNTS'),
|
|
25600
|
+
input: TasFilterLazy.optional(),
|
|
25601
|
+
id: v4.z.string().optional(),
|
|
25602
|
+
});
|
|
25603
|
+
const TasCollectVertexIdFilterSchema = v4.z.looseObject({
|
|
25604
|
+
op: v4.z.literal('COLLECT_VERTEX_ID'),
|
|
25605
|
+
input: TasFilterLazy.optional(),
|
|
25606
|
+
id: v4.z.string().optional(),
|
|
25607
|
+
layer: v4.z.string().optional(),
|
|
25608
|
+
skipBackends: v4.z.boolean().optional(),
|
|
25609
|
+
});
|
|
25610
|
+
const TasCollectGroupingInfoFilterSchema = v4.z.looseObject({
|
|
25611
|
+
op: v4.z.literal('COLLECT_GROUPING_INFO'),
|
|
25612
|
+
input: TasFilterLazy.optional(),
|
|
25613
|
+
id: v4.z.string().optional(),
|
|
25614
|
+
layer: v4.z.string().optional(),
|
|
25615
|
+
grouping: v4.z.array(TasGroupingItemSchema).optional(),
|
|
25616
|
+
});
|
|
25617
|
+
const TasCollectCardInfoFilterSchema = v4.z.looseObject({
|
|
25618
|
+
op: v4.z.literal('COLLECT_CARD_INFO'),
|
|
25619
|
+
input: TasFilterLazy.optional(),
|
|
25620
|
+
tier: TasCollectCardInfoTierSchema.optional(),
|
|
25621
|
+
grouping: TasGroupingItemSchema.optional(),
|
|
25622
|
+
includeVertexInfo: v4.z.boolean().optional(),
|
|
25623
|
+
});
|
|
25624
|
+
const TasCollectExperienceAttributesFilterSchema = v4.z.looseObject({
|
|
25625
|
+
op: v4.z.literal('COLLECT_EXPERIENCE_ATTRIBUTES'),
|
|
25626
|
+
input: TasFilterLazy.optional(),
|
|
25627
|
+
id: v4.z.string().optional(),
|
|
25628
|
+
attributeName: v4.z.string().optional(),
|
|
25629
|
+
layer: v4.z.string().optional(),
|
|
25630
|
+
caseInsensitive: v4.z.boolean().optional(),
|
|
25631
|
+
selector: TasCollectExperienceSelectorSchema.optional(),
|
|
25632
|
+
});
|
|
25633
|
+
const TasFilterSchema = v4.z.discriminatedUnion('op', [
|
|
25634
|
+
TasAddFlowsFilterSchema,
|
|
25635
|
+
TasAddTransitioningEdgesFilterSchema,
|
|
25636
|
+
TasAddWiresFilterSchema,
|
|
25637
|
+
TasAddWireContextFilterSchema,
|
|
25638
|
+
TasAllFilterSchema,
|
|
25639
|
+
TasAndFilterSchema,
|
|
25640
|
+
TasAttributeFilterSchema,
|
|
25641
|
+
TasEmptyFilterSchema,
|
|
25642
|
+
TasFollowPathFilterSchema,
|
|
25643
|
+
TasJoinFilterSchema,
|
|
25644
|
+
TasLayerFilterSchema,
|
|
25645
|
+
TasNotFilterSchema,
|
|
25646
|
+
TasOrFilterSchema,
|
|
25647
|
+
TasCoverageFilterSchema,
|
|
25648
|
+
TasTakeEdgesFilterSchema,
|
|
25649
|
+
TasTakeFlowsFilterSchema,
|
|
25650
|
+
TasTakeVerticesFilterSchema,
|
|
25651
|
+
TasTraverseFilterSchema,
|
|
25652
|
+
TasVertexIdFilterSchema,
|
|
25653
|
+
TasLegacyFilterSchema,
|
|
25654
|
+
TasVariableFilterSchema,
|
|
25655
|
+
TasCollectAttributesFilterSchema,
|
|
25656
|
+
TasCollectAttributeNamesFilterSchema,
|
|
25657
|
+
TasCollectExperienceAttributesFilterSchema,
|
|
25658
|
+
TasCollectGroupingInfoFilterSchema,
|
|
25659
|
+
TasCollectCardInfoFilterSchema,
|
|
25660
|
+
TasLuceneFilterSchema,
|
|
25661
|
+
TasCollectVertexIdFilterSchema,
|
|
25662
|
+
TasCollectCountsFilterSchema,
|
|
25663
|
+
TasStatusFilterSchema,
|
|
25664
|
+
TasServiceFilterSchema,
|
|
25665
|
+
]);
|
|
25666
|
+
const TasVariableSchema = v4.z.looseObject({
|
|
25667
|
+
name: v4.z.string().optional(),
|
|
25668
|
+
input: TasFilterLazy.optional(),
|
|
25669
|
+
});
|
|
25670
|
+
const TasProjectionFilterSchema = v4.z.looseObject({
|
|
25671
|
+
attributes: v4.z.array(v4.z.string()).optional(),
|
|
25672
|
+
attributeValueAsFields: v4.z.array(AttributeValueAsFieldSchema).optional(),
|
|
25673
|
+
});
|
|
25674
|
+
|
|
25675
|
+
const TasViewSchema = v4.z.enum(['DETAILED', 'BRIEF', 'NO_TYPE']);
|
|
25676
|
+
const TasOrderSchema = v4.z.looseObject({
|
|
25677
|
+
name: v4.z.string().optional(),
|
|
25678
|
+
comparator: AttributeExpressionComparatorSchema.optional(),
|
|
25679
|
+
caseInsensitive: v4.z.boolean().optional(),
|
|
25680
|
+
desc: v4.z.boolean().optional(),
|
|
25681
|
+
});
|
|
25682
|
+
const TasQuerySchema = v4.z.looseObject({
|
|
25683
|
+
version: v4.z.string().optional(),
|
|
25684
|
+
time: v4.z.number().optional(),
|
|
25685
|
+
schema: v4.z.string().optional(),
|
|
25686
|
+
offset: v4.z.number().optional(),
|
|
25687
|
+
limit: v4.z.number().optional(),
|
|
25688
|
+
order: v4.z.array(TasOrderSchema).optional(),
|
|
25689
|
+
variables: v4.z.array(TasVariableSchema).optional(),
|
|
25690
|
+
filter: TasFilterSchema.optional(),
|
|
25691
|
+
universe: TasFilterSchema.optional(),
|
|
25692
|
+
authorizationView: v4.z.string().optional(),
|
|
25693
|
+
postFilter: TasFilterSchema.optional(),
|
|
25694
|
+
stateFilter: VertexStateFilterSchema.optional(),
|
|
25695
|
+
includeStatus: v4.z.boolean().optional(),
|
|
25696
|
+
includeServices: v4.z.boolean().optional(),
|
|
25697
|
+
includeProfile: v4.z.boolean().optional(),
|
|
25698
|
+
flushCacheBeforeQuery: v4.z.boolean().optional(),
|
|
25699
|
+
projection: TasViewSchema.optional(),
|
|
25700
|
+
projectionFilter: TasProjectionFilterSchema.optional(),
|
|
25701
|
+
});
|
|
25702
|
+
|
|
25703
|
+
const TasExternalIdSchema = v4.z.string();
|
|
25704
|
+
const TasAttributeTypeSchema = v4.z.enum([
|
|
25705
|
+
'GATHERED',
|
|
25706
|
+
'CUSTOM',
|
|
25707
|
+
'DECORATED',
|
|
25708
|
+
'HIDDEN',
|
|
25709
|
+
]);
|
|
25710
|
+
const TasVertexSchema = v4.z.looseObject({
|
|
25711
|
+
id: v4.z.number(),
|
|
25712
|
+
externalId: TasExternalIdSchema.optional(),
|
|
25713
|
+
startTime: v4.z.number().optional(),
|
|
25714
|
+
endTime: v4.z.number().optional(),
|
|
25715
|
+
attributes: v4.z.record(v4.z.string(), v4.z.unknown()).optional(),
|
|
25716
|
+
attributesType: v4.z.record(v4.z.string(), TasAttributeTypeSchema).optional(),
|
|
25717
|
+
});
|
|
25718
|
+
const EdgeNumericIdSchema = v4.z.looseObject({
|
|
25719
|
+
sourceId: v4.z.number(),
|
|
25720
|
+
targetId: v4.z.number(),
|
|
25721
|
+
flowId: v4.z.number(),
|
|
25722
|
+
wireId: v4.z.number(),
|
|
25723
|
+
});
|
|
25724
|
+
const TasEdgeSchema = v4.z.looseObject({
|
|
25725
|
+
sourceId: v4.z.number(),
|
|
25726
|
+
targetId: v4.z.number(),
|
|
25727
|
+
flowId: v4.z.number(),
|
|
25728
|
+
wireId: v4.z.number(),
|
|
25729
|
+
sourceExternalId: TasExternalIdSchema.optional(),
|
|
25730
|
+
targetExternalId: TasExternalIdSchema.optional(),
|
|
25731
|
+
flowExternalId: TasExternalIdSchema.optional(),
|
|
25732
|
+
wireExternalId: TasExternalIdSchema.optional(),
|
|
25733
|
+
startTime: v4.z.number().optional(),
|
|
25734
|
+
endTime: v4.z.number().optional(),
|
|
25735
|
+
attributes: v4.z.record(v4.z.string(), v4.z.unknown()).optional(),
|
|
25736
|
+
attributesType: v4.z.record(v4.z.string(), TasAttributeTypeSchema).optional(),
|
|
25737
|
+
});
|
|
25738
|
+
const VertexStateExternalIdSchema = v4.z.looseObject({
|
|
25739
|
+
vertexExternalId: TasExternalIdSchema.optional(),
|
|
25740
|
+
alertExternalId: v4.z.string().optional(),
|
|
25741
|
+
metricExternalId: v4.z.string().optional(),
|
|
25742
|
+
});
|
|
25743
|
+
const VertexStateNumericIdSchema = v4.z.looseObject({
|
|
25744
|
+
vertexId: v4.z.number(),
|
|
25745
|
+
alertId: v4.z.number(),
|
|
25746
|
+
metricId: v4.z.number(),
|
|
25747
|
+
});
|
|
25748
|
+
const VertexStateSchema = v4.z.looseObject({
|
|
25749
|
+
vertexId: v4.z.number(),
|
|
25750
|
+
alertId: v4.z.number(),
|
|
25751
|
+
metricId: v4.z.number(),
|
|
25752
|
+
stateExternalId: VertexStateExternalIdSchema.optional(),
|
|
25753
|
+
status: v4.z.number(),
|
|
25754
|
+
data: v4.z.unknown().optional(),
|
|
25755
|
+
startTime: v4.z.number().optional(),
|
|
25756
|
+
endTime: v4.z.number().optional(),
|
|
25757
|
+
});
|
|
25758
|
+
const TasAnalyticResultSchema = v4.z.looseObject({
|
|
25759
|
+
t: v4.z.string().optional(),
|
|
25760
|
+
});
|
|
25761
|
+
const TasGraphSchema = v4.z.looseObject({
|
|
25762
|
+
vertices: v4.z.array(TasVertexSchema).optional(),
|
|
25763
|
+
edges: v4.z.array(TasEdgeSchema).optional(),
|
|
25764
|
+
states: v4.z.array(VertexStateSchema).optional(),
|
|
25765
|
+
expiredVertices: v4.z.array(v4.z.number()).optional(),
|
|
25766
|
+
expiredEdges: v4.z.array(EdgeNumericIdSchema).optional(),
|
|
25767
|
+
expiredStates: v4.z.array(VertexStateNumericIdSchema).optional(),
|
|
25768
|
+
version: v4.z.string().optional(),
|
|
25769
|
+
analytics: v4.z.array(TasAnalyticResultSchema).optional(),
|
|
25770
|
+
nextOffset: v4.z.number().optional(),
|
|
25771
|
+
totalVertices: v4.z.number().optional(),
|
|
25772
|
+
totalEdges: v4.z.number().optional(),
|
|
25773
|
+
});
|
|
25774
|
+
|
|
25775
|
+
const OperatorSchema = v4.z.enum(['EQ', 'GE', 'GT', 'LE', 'LT', 'NE']);
|
|
25776
|
+
const SourceNameAllSpecifierSchema = v4.z.looseObject({
|
|
25777
|
+
op: v4.z.literal('ALL'),
|
|
25778
|
+
});
|
|
25779
|
+
const SourceNameNoneSpecifierSchema = v4.z.looseObject({
|
|
25780
|
+
op: v4.z.literal('NONE'),
|
|
25781
|
+
});
|
|
25782
|
+
const SourceNameAndSpecifierSchema = v4.z.looseObject({
|
|
25783
|
+
op: v4.z.literal('AND'),
|
|
25784
|
+
specifiers: v4.z.array(v4.z.lazy(() => SourceNameSpecifierSchema)),
|
|
25785
|
+
});
|
|
25786
|
+
const SourceNameOrSpecifierSchema = v4.z.looseObject({
|
|
25787
|
+
op: v4.z.literal('OR'),
|
|
25788
|
+
specifiers: v4.z.array(v4.z.lazy(() => SourceNameSpecifierSchema)),
|
|
25789
|
+
});
|
|
25790
|
+
const SourceNameNotSpecifierSchema = v4.z.looseObject({
|
|
25791
|
+
op: v4.z.literal('NOT'),
|
|
25792
|
+
specifier: v4.z.lazy(() => SourceNameSpecifierSchema),
|
|
25793
|
+
});
|
|
25794
|
+
const SourceNameExactSpecifierSchema = v4.z.looseObject({
|
|
25795
|
+
op: v4.z.literal('EXACT'),
|
|
25796
|
+
names: v4.z.array(v4.z.string()).optional(),
|
|
25797
|
+
ignoreCase: v4.z.boolean().optional(),
|
|
25798
|
+
});
|
|
25799
|
+
const SourceNameRegExSpecifierSchema = v4.z.looseObject({
|
|
25800
|
+
op: v4.z.literal('REGEX'),
|
|
25801
|
+
pattern: v4.z.string().optional(),
|
|
25802
|
+
ignoreCase: v4.z.boolean().optional(),
|
|
25803
|
+
});
|
|
25804
|
+
const SourceNamePartOperatorSpecifierSchema = v4.z.looseObject({
|
|
25805
|
+
op: v4.z.literal('PART'),
|
|
25806
|
+
operator: OperatorSchema.optional(),
|
|
25807
|
+
part: v4.z.number(),
|
|
25808
|
+
partValue: v4.z.string().optional(),
|
|
25809
|
+
});
|
|
25810
|
+
const SourceNameSpecifierSchema = v4.z.discriminatedUnion('op', [
|
|
25811
|
+
SourceNameAllSpecifierSchema,
|
|
25812
|
+
SourceNameNoneSpecifierSchema,
|
|
25813
|
+
SourceNameAndSpecifierSchema,
|
|
25814
|
+
SourceNameOrSpecifierSchema,
|
|
25815
|
+
SourceNameNotSpecifierSchema,
|
|
25816
|
+
SourceNameExactSpecifierSchema,
|
|
25817
|
+
SourceNameRegExSpecifierSchema,
|
|
25818
|
+
SourceNamePartOperatorSpecifierSchema,
|
|
25819
|
+
]);
|
|
25820
|
+
|
|
25821
|
+
const FolderNameAllSpecifierSchema = v4.z.looseObject({
|
|
25822
|
+
op: v4.z.literal('ALL'),
|
|
25823
|
+
});
|
|
25824
|
+
const FolderNameNoneSpecifierSchema = v4.z.looseObject({
|
|
25825
|
+
op: v4.z.literal('NONE'),
|
|
25826
|
+
});
|
|
25827
|
+
const FolderNameAndSpecifierSchema = v4.z.looseObject({
|
|
25828
|
+
op: v4.z.literal('AND'),
|
|
25829
|
+
specifiers: v4.z.array(v4.z.lazy(() => FolderNameSpecifierSchema)),
|
|
25830
|
+
});
|
|
25831
|
+
const FolderNameOrSpecifierSchema = v4.z.looseObject({
|
|
25832
|
+
op: v4.z.literal('OR'),
|
|
25833
|
+
specifiers: v4.z.array(v4.z.lazy(() => FolderNameSpecifierSchema)),
|
|
25834
|
+
});
|
|
25835
|
+
const FolderNameNotSpecifierSchema = v4.z.looseObject({
|
|
25836
|
+
op: v4.z.literal('NOT'),
|
|
25837
|
+
specifier: v4.z.lazy(() => FolderNameSpecifierSchema),
|
|
25838
|
+
});
|
|
25839
|
+
const FolderNameExactSpecifierSchema = v4.z.looseObject({
|
|
25840
|
+
op: v4.z.literal('EXACT'),
|
|
25841
|
+
names: v4.z.array(v4.z.string()).optional(),
|
|
25842
|
+
ignoreCase: v4.z.boolean().optional(),
|
|
25843
|
+
});
|
|
25844
|
+
const FolderNameRegExSpecifierSchema = v4.z.looseObject({
|
|
25845
|
+
op: v4.z.literal('REGEX'),
|
|
25846
|
+
pattern: v4.z.string().optional(),
|
|
25847
|
+
ignoreCase: v4.z.boolean().optional(),
|
|
25848
|
+
});
|
|
25849
|
+
const FolderNameChildrenSpecifierSchema = v4.z.looseObject({
|
|
25850
|
+
op: v4.z.literal('CHILDREN'),
|
|
25851
|
+
prefix: v4.z.string().optional(),
|
|
25852
|
+
recursive: v4.z.boolean().optional(),
|
|
25853
|
+
});
|
|
25854
|
+
const FolderNameSpecifierSchema = v4.z.discriminatedUnion('op', [
|
|
25855
|
+
FolderNameAllSpecifierSchema,
|
|
25856
|
+
FolderNameNoneSpecifierSchema,
|
|
25857
|
+
FolderNameAndSpecifierSchema,
|
|
25858
|
+
FolderNameOrSpecifierSchema,
|
|
25859
|
+
FolderNameNotSpecifierSchema,
|
|
25860
|
+
FolderNameExactSpecifierSchema,
|
|
25861
|
+
FolderNameRegExSpecifierSchema,
|
|
25862
|
+
FolderNameChildrenSpecifierSchema,
|
|
25863
|
+
]);
|
|
25864
|
+
|
|
25865
|
+
const QueryAttributeExpressionSchema = v4.z.looseObject({
|
|
25866
|
+
name: v4.z.string().optional(),
|
|
25867
|
+
values: v4.z.array(v4.z.string()).optional(),
|
|
25868
|
+
operator: v4.z.enum(['IN', 'NOT_IN', 'MATCHES', 'NOT_MATCHES', 'GE', 'GT', 'LE', 'LT']).optional(),
|
|
25869
|
+
comparator: v4.z.enum(['LEXICAL', 'NUMBER', 'DATETIME']).optional(),
|
|
25870
|
+
caseInsensitive: v4.z.boolean().optional(),
|
|
25871
|
+
});
|
|
25872
|
+
const AttributeNameAllSpecifierSchema = v4.z.looseObject({
|
|
25873
|
+
op: v4.z.literal('ALL'),
|
|
25874
|
+
});
|
|
25875
|
+
const AttributeNameNoneSpecifierSchema = v4.z.looseObject({
|
|
25876
|
+
op: v4.z.literal('NONE'),
|
|
25877
|
+
});
|
|
25878
|
+
const AttributeNameAndSpecifierSchema = v4.z.looseObject({
|
|
25879
|
+
op: v4.z.literal('AND'),
|
|
25880
|
+
specifiers: v4.z.array(v4.z.lazy(() => AttributeNameSpecifierSchema)),
|
|
25881
|
+
});
|
|
25882
|
+
const AttributeNameOrSpecifierSchema = v4.z.looseObject({
|
|
25883
|
+
op: v4.z.literal('OR'),
|
|
25884
|
+
specifiers: v4.z.array(v4.z.lazy(() => AttributeNameSpecifierSchema)),
|
|
25885
|
+
});
|
|
25886
|
+
const AttributeNameNotSpecifierSchema = v4.z.looseObject({
|
|
25887
|
+
op: v4.z.literal('NOT'),
|
|
25888
|
+
specifier: v4.z.lazy(() => AttributeNameSpecifierSchema),
|
|
25889
|
+
});
|
|
25890
|
+
const AttributeNameExactSpecifierSchema = v4.z.looseObject({
|
|
25891
|
+
op: v4.z.literal('EXACT'),
|
|
25892
|
+
names: v4.z.array(v4.z.string()).optional(),
|
|
25893
|
+
type: v4.z.number().optional(),
|
|
25894
|
+
ignoreCase: v4.z.boolean().optional(),
|
|
25895
|
+
});
|
|
25896
|
+
const AttributeNameRegExSpecifierSchema = v4.z.looseObject({
|
|
25897
|
+
op: v4.z.literal('REGEX'),
|
|
25898
|
+
pattern: v4.z.string().optional(),
|
|
25899
|
+
ignoreCase: v4.z.boolean().optional(),
|
|
25900
|
+
});
|
|
25901
|
+
const AttributeNameFolderSpecifierSchema = v4.z.looseObject({
|
|
25902
|
+
op: v4.z.literal('FOLDER'),
|
|
25903
|
+
specifier: FolderNameSpecifierSchema.optional(),
|
|
25904
|
+
});
|
|
25905
|
+
const AttributeNameChildrenSpecifierSchema = v4.z.looseObject({
|
|
25906
|
+
op: v4.z.literal('CHILDREN'),
|
|
25907
|
+
prefix: v4.z.string().optional(),
|
|
25908
|
+
recursive: v4.z.boolean().optional(),
|
|
25909
|
+
});
|
|
25910
|
+
const AttributeNameTypeSpecifierSchema = v4.z.looseObject({
|
|
25911
|
+
op: v4.z.literal('TYPE'),
|
|
25912
|
+
specifier: v4.z.lazy(() => AttributeNameSpecifierSchema).optional(),
|
|
25913
|
+
bitMask: v4.z.number().optional(),
|
|
25914
|
+
bitMatch: v4.z.number().optional(),
|
|
25915
|
+
operator: OperatorSchema.optional(),
|
|
25916
|
+
});
|
|
25917
|
+
const AttributeNameOperatorSpecifierSchema = v4.z.looseObject({
|
|
25918
|
+
op: v4.z.literal('OPERATOR'),
|
|
25919
|
+
name: v4.z.string().optional(),
|
|
25920
|
+
fullPath: v4.z.boolean().optional(),
|
|
25921
|
+
operator: OperatorSchema.optional(),
|
|
25922
|
+
});
|
|
25923
|
+
const AttributeNameAnyNumericSpecifierSchema = v4.z.looseObject({
|
|
25924
|
+
op: v4.z.literal('NUMERIC'),
|
|
25925
|
+
});
|
|
25926
|
+
const AttributeNameAttributeSpecifierSchema = v4.z.looseObject({
|
|
25927
|
+
op: v4.z.literal('ATTRIBUTE'),
|
|
25928
|
+
expressions: v4.z.array(QueryAttributeExpressionSchema).optional(),
|
|
25929
|
+
});
|
|
25930
|
+
const AttributeNameSpecifierSchema = v4.z.discriminatedUnion('op', [
|
|
25931
|
+
AttributeNameAllSpecifierSchema,
|
|
25932
|
+
AttributeNameNoneSpecifierSchema,
|
|
25933
|
+
AttributeNameAndSpecifierSchema,
|
|
25934
|
+
AttributeNameOrSpecifierSchema,
|
|
25935
|
+
AttributeNameNotSpecifierSchema,
|
|
25936
|
+
AttributeNameExactSpecifierSchema,
|
|
25937
|
+
AttributeNameRegExSpecifierSchema,
|
|
25938
|
+
AttributeNameFolderSpecifierSchema,
|
|
25939
|
+
AttributeNameChildrenSpecifierSchema,
|
|
25940
|
+
AttributeNameTypeSpecifierSchema,
|
|
25941
|
+
AttributeNameOperatorSpecifierSchema,
|
|
25942
|
+
AttributeNameAnyNumericSpecifierSchema,
|
|
25943
|
+
AttributeNameAttributeSpecifierSchema,
|
|
25944
|
+
]);
|
|
25945
|
+
|
|
25946
|
+
const ManagementModuleIdSchema = v4.z.looseObject({
|
|
25947
|
+
name: v4.z.string().optional(),
|
|
25948
|
+
});
|
|
25949
|
+
const QueryAllSpecifierSchema = v4.z.looseObject({
|
|
25950
|
+
op: v4.z.literal('ALL'),
|
|
25951
|
+
includeFolders: v4.z.boolean().optional(),
|
|
25952
|
+
includeMetrics: v4.z.boolean().optional(),
|
|
25953
|
+
});
|
|
25954
|
+
const QueryNoneSpecifierSchema = v4.z.looseObject({
|
|
25955
|
+
op: v4.z.literal('NONE'),
|
|
25956
|
+
});
|
|
25957
|
+
const QueryAndSpecifierSchema = v4.z.looseObject({
|
|
25958
|
+
op: v4.z.literal('AND'),
|
|
25959
|
+
specifiers: v4.z.array(v4.z.lazy(() => QuerySpecifierSchema)),
|
|
25960
|
+
});
|
|
25961
|
+
const QueryOrSpecifierSchema = v4.z.looseObject({
|
|
25962
|
+
op: v4.z.literal('OR'),
|
|
25963
|
+
specifiers: v4.z.array(v4.z.lazy(() => QuerySpecifierSchema)),
|
|
25964
|
+
});
|
|
25965
|
+
const QueryNotSpecifierSchema = v4.z.looseObject({
|
|
25966
|
+
op: v4.z.literal('NOT'),
|
|
25967
|
+
specifier: v4.z.lazy(() => QuerySpecifierSchema),
|
|
25968
|
+
});
|
|
25969
|
+
const QuerySpecSpecifierSchema = v4.z.looseObject({
|
|
25970
|
+
op: v4.z.literal('SPEC'),
|
|
25971
|
+
sourceNameSpecifier: SourceNameSpecifierSchema.optional(),
|
|
25972
|
+
folderNameSpecifier: FolderNameSpecifierSchema.optional(),
|
|
25973
|
+
attributeNameSpecifier: AttributeNameSpecifierSchema.optional(),
|
|
25974
|
+
});
|
|
25975
|
+
const QueryIdSpecifierSchema = v4.z.looseObject({
|
|
25976
|
+
op: v4.z.literal('ID'),
|
|
25977
|
+
ids: v4.z.array(v4.z.string()).optional(),
|
|
25978
|
+
});
|
|
25979
|
+
const QueryAttributeSpecifierSchema = v4.z.looseObject({
|
|
25980
|
+
op: v4.z.literal('ATTRIBUTE'),
|
|
25981
|
+
expressions: v4.z.array(QueryAttributeExpressionSchema).optional(),
|
|
25982
|
+
});
|
|
25983
|
+
const QueryMetricGroupSpecifierSchema = v4.z.looseObject({
|
|
25984
|
+
op: v4.z.literal('GROUP'),
|
|
25985
|
+
id: v4.z.string().optional(),
|
|
25986
|
+
managementModuleId: ManagementModuleIdSchema.optional(),
|
|
25987
|
+
});
|
|
25988
|
+
const ServiceFilterSpecifierSchema = v4.z.looseObject({
|
|
25989
|
+
op: v4.z.literal('SERVICE'),
|
|
25990
|
+
values: v4.z.array(v4.z.string()).optional(),
|
|
25991
|
+
});
|
|
25992
|
+
const QuerySpecifierSchema = v4.z.discriminatedUnion('op', [
|
|
25993
|
+
QueryAllSpecifierSchema,
|
|
25994
|
+
QueryNoneSpecifierSchema,
|
|
25995
|
+
QueryAndSpecifierSchema,
|
|
25996
|
+
QueryOrSpecifierSchema,
|
|
25997
|
+
QueryNotSpecifierSchema,
|
|
25998
|
+
QuerySpecSpecifierSchema,
|
|
25999
|
+
QueryIdSpecifierSchema,
|
|
26000
|
+
QueryAttributeSpecifierSchema,
|
|
26001
|
+
QueryMetricGroupSpecifierSchema,
|
|
26002
|
+
ServiceFilterSpecifierSchema,
|
|
26003
|
+
]);
|
|
26004
|
+
|
|
26005
|
+
const QueryHintForceRangeSchema = v4.z.looseObject({
|
|
26006
|
+
hint: v4.z.literal('ForceRange'),
|
|
26007
|
+
});
|
|
26008
|
+
const QueryHintSchema = v4.z.discriminatedUnion('hint', [
|
|
26009
|
+
QueryHintForceRangeSchema,
|
|
26010
|
+
]);
|
|
26011
|
+
const MetadataMetricQuerySchema = v4.z.looseObject({
|
|
26012
|
+
specifier: QuerySpecifierSchema.optional(),
|
|
26013
|
+
clamp: v4.z.number().optional(),
|
|
26014
|
+
time: v4.z.number().optional(),
|
|
26015
|
+
range: v4.z.number().optional(),
|
|
26016
|
+
includeLive: v4.z.boolean().optional(),
|
|
26017
|
+
authorizationView: v4.z.string().optional(),
|
|
26018
|
+
includeProfile: v4.z.boolean().optional(),
|
|
26019
|
+
profileLevel: v4.z.string().optional(),
|
|
26020
|
+
queryHints: v4.z.array(QueryHintSchema).optional(),
|
|
26021
|
+
});
|
|
26022
|
+
|
|
26023
|
+
const MetricAttributeSchema = v4.z.looseObject({
|
|
26024
|
+
id: v4.z.string().optional(),
|
|
26025
|
+
sourceName: v4.z.string().optional(),
|
|
26026
|
+
type: v4.z.number(),
|
|
26027
|
+
attributeName: v4.z.string().optional(),
|
|
26028
|
+
attributes: v4.z.record(v4.z.string(), v4.z.unknown()).optional(),
|
|
26029
|
+
firstSeen: v4.z.number().optional(),
|
|
26030
|
+
lastSeen: v4.z.number().optional(),
|
|
26031
|
+
live: v4.z.boolean().optional(),
|
|
26032
|
+
});
|
|
26033
|
+
const MetricFolderSchema = v4.z.looseObject({
|
|
26034
|
+
sourceId: v4.z.string().optional(),
|
|
26035
|
+
sourceName: v4.z.string().optional(),
|
|
26036
|
+
folderName: v4.z.string().optional(),
|
|
26037
|
+
firstSeen: v4.z.number().optional(),
|
|
26038
|
+
lastSeen: v4.z.number().optional(),
|
|
26039
|
+
live: v4.z.boolean().optional(),
|
|
26040
|
+
});
|
|
26041
|
+
const MetadataMetricQueryResponseV2Schema = v4.z.looseObject({
|
|
26042
|
+
metrics: v4.z.array(MetricAttributeSchema).optional(),
|
|
26043
|
+
folders: v4.z.array(MetricFolderSchema).optional(),
|
|
26044
|
+
analytics: v4.z.record(v4.z.string(), v4.z.unknown()).optional(),
|
|
26045
|
+
});
|
|
26046
|
+
|
|
26047
|
+
const NumericOperatorSchema = v4.z.enum(['EQ', 'LT', 'LE', 'GT', 'GE', 'NE']);
|
|
26048
|
+
const QueryFilterAndSpecSchema = v4.z.looseObject({
|
|
26049
|
+
op: v4.z.literal('AND'),
|
|
26050
|
+
spec: v4.z.lazy(() => v4.z.array(QueryFilterPredicateSpecSchema)),
|
|
26051
|
+
});
|
|
26052
|
+
const QueryFilterOrSpecSchema = v4.z.looseObject({
|
|
26053
|
+
op: v4.z.literal('OR'),
|
|
26054
|
+
spec: v4.z.lazy(() => v4.z.array(QueryFilterPredicateSpecSchema)),
|
|
26055
|
+
});
|
|
26056
|
+
const QueryFilterNotSpecSchema = v4.z.looseObject({
|
|
26057
|
+
op: v4.z.literal('NOT'),
|
|
26058
|
+
spec: v4.z.lazy(() => QueryFilterPredicateSpecSchema),
|
|
26059
|
+
});
|
|
26060
|
+
const QueryFilterExprSpecSchema = v4.z.looseObject({
|
|
26061
|
+
op: v4.z.literal('EXPR'),
|
|
26062
|
+
spec: v4.z.string(),
|
|
26063
|
+
});
|
|
26064
|
+
const QueryFilterInSpecSchema = v4.z.looseObject({
|
|
26065
|
+
op: v4.z.literal('IN'),
|
|
26066
|
+
column: v4.z.string(),
|
|
26067
|
+
values: v4.z.array(v4.z.unknown()),
|
|
26068
|
+
});
|
|
26069
|
+
const QueryFilterRegexSpecSchema = v4.z.looseObject({
|
|
26070
|
+
op: v4.z.literal('REGEX'),
|
|
26071
|
+
column: v4.z.string(),
|
|
26072
|
+
pattern: v4.z.string(),
|
|
26073
|
+
ignoreCase: v4.z.boolean(),
|
|
26074
|
+
});
|
|
26075
|
+
const QueryFilterNumericSpecSchema = v4.z.looseObject({
|
|
26076
|
+
op: v4.z.literal('NUMERIC'),
|
|
26077
|
+
column: v4.z.string(),
|
|
26078
|
+
operator: NumericOperatorSchema,
|
|
26079
|
+
value: v4.z.number().optional(),
|
|
26080
|
+
});
|
|
26081
|
+
const QueryFilterPredicateSpecSchema = v4.z.union([
|
|
26082
|
+
QueryFilterAndSpecSchema,
|
|
26083
|
+
QueryFilterOrSpecSchema,
|
|
26084
|
+
QueryFilterNotSpecSchema,
|
|
26085
|
+
QueryFilterExprSpecSchema,
|
|
26086
|
+
QueryFilterInSpecSchema,
|
|
26087
|
+
QueryFilterRegexSpecSchema,
|
|
26088
|
+
QueryFilterNumericSpecSchema,
|
|
26089
|
+
]);
|
|
26090
|
+
|
|
26091
|
+
const QueryRangeSpecSchema = v4.z.looseObject({
|
|
26092
|
+
endTime: v4.z.number(),
|
|
26093
|
+
rangeSize: v4.z.number(),
|
|
26094
|
+
frequency: v4.z.number(),
|
|
26095
|
+
});
|
|
26096
|
+
const QueryMetricIdSchema = v4.z.looseObject({
|
|
26097
|
+
metrics: v4.z.array(v4.z.string()),
|
|
26098
|
+
});
|
|
26099
|
+
const JoinTypeSchema = v4.z.enum(['INNER_JOIN', 'LEFT_OUTER_JOIN']);
|
|
26100
|
+
const FillModeSchema = v4.z.enum(['MARK', 'INNER', 'ALL']);
|
|
26101
|
+
const AlignmentSchema = v4.z.enum(['ABSOLUTE', 'LEFT', 'RIGHT']);
|
|
26102
|
+
const CalendarIntervalSchema = v4.z.enum([
|
|
26103
|
+
'MINUTE', 'HOUR', 'DAY', 'WEEK', 'MONTH', 'QUARTER', 'YEAR',
|
|
26104
|
+
]);
|
|
26105
|
+
const QuantileMethodSchema = v4.z.enum(['EXACT_INTERPOLATION', 'EXACT_SELECTOR']);
|
|
26106
|
+
const NassValueTypeSchema = v4.z.enum(['DOUBLE', 'LONG', 'STRING']);
|
|
26107
|
+
const QueryColumnTypeSpecSchema = v4.z.enum(['LONG', 'DOUBLE', 'STRING']);
|
|
26108
|
+
const aggregationFields = {
|
|
26109
|
+
fillGaps: v4.z.boolean().optional(),
|
|
26110
|
+
fillValue: v4.z.union([v4.z.string(), v4.z.number(), v4.z.boolean(), v4.z.null()]).optional(),
|
|
26111
|
+
fillMode: FillModeSchema.optional(),
|
|
26112
|
+
};
|
|
26113
|
+
const OrderItemSchema = v4.z.looseObject({
|
|
26114
|
+
column: v4.z.string(),
|
|
26115
|
+
sortDescending: v4.z.boolean(),
|
|
26116
|
+
});
|
|
26117
|
+
const QueryFromSpecSchema = v4.z.looseObject({
|
|
26118
|
+
op: v4.z.literal('FROM'),
|
|
26119
|
+
querySpecifier: QuerySpecifierSchema,
|
|
26120
|
+
queryRange: QueryRangeSpecSchema.optional(),
|
|
26121
|
+
queryHints: v4.z.array(QueryHintSchema).optional(),
|
|
26122
|
+
alias: v4.z.string().optional(),
|
|
26123
|
+
clampSize: v4.z.number().optional(),
|
|
26124
|
+
rowsClampSize: v4.z.number().optional(),
|
|
26125
|
+
metadataOnly: v4.z.boolean().optional(),
|
|
26126
|
+
});
|
|
26127
|
+
const QueryFromTableSpecSchema = v4.z.looseObject({
|
|
26128
|
+
op: v4.z.literal('FROM_TABLE'),
|
|
26129
|
+
tableName: v4.z.string(),
|
|
26130
|
+
alias: v4.z.string().optional(),
|
|
26131
|
+
limit: v4.z.number().optional(),
|
|
26132
|
+
lowerBoundKey: v4.z.array(v4.z.unknown()).optional(),
|
|
26133
|
+
upperBoundKey: v4.z.array(v4.z.unknown()).optional(),
|
|
26134
|
+
});
|
|
26135
|
+
const QueryShowTablesSpecSchema = v4.z.looseObject({
|
|
26136
|
+
op: v4.z.literal('SHOW_TABLES'),
|
|
26137
|
+
});
|
|
26138
|
+
const QueryWindowSpecSchema = v4.z.looseObject({
|
|
26139
|
+
op: v4.z.literal('WINDOW'),
|
|
26140
|
+
every: v4.z.number(),
|
|
26141
|
+
align: AlignmentSchema.optional(),
|
|
26142
|
+
incomplete: v4.z.boolean().optional(),
|
|
26143
|
+
useFrequency: v4.z.boolean().optional(),
|
|
26144
|
+
});
|
|
26145
|
+
const QueryCalendarWindowSpecSchema = v4.z.looseObject({
|
|
26146
|
+
op: v4.z.literal('WINDOW_CALENDAR'),
|
|
26147
|
+
calendarInterval: CalendarIntervalSchema,
|
|
26148
|
+
timeZone: v4.z.string().optional(),
|
|
26149
|
+
});
|
|
26150
|
+
const QueryGroupSpecSchema = v4.z.looseObject({
|
|
26151
|
+
op: v4.z.literal('GROUP'),
|
|
26152
|
+
columns: v4.z.array(v4.z.string()),
|
|
26153
|
+
});
|
|
26154
|
+
const QueryOrderSpecSchema = v4.z.looseObject({
|
|
26155
|
+
op: v4.z.literal('ORDER'),
|
|
26156
|
+
columns: v4.z.array(OrderItemSchema),
|
|
26157
|
+
topN: v4.z.number().optional(),
|
|
26158
|
+
});
|
|
26159
|
+
const QueryKeepSpecSchema = v4.z.looseObject({
|
|
26160
|
+
op: v4.z.literal('KEEP'),
|
|
26161
|
+
columns: v4.z.array(v4.z.string()),
|
|
26162
|
+
as: v4.z.array(v4.z.string()).optional(),
|
|
26163
|
+
});
|
|
26164
|
+
const QueryCountSpecSchema = v4.z.looseObject({
|
|
26165
|
+
op: v4.z.literal('COUNT'),
|
|
26166
|
+
...aggregationFields,
|
|
26167
|
+
column: v4.z.string().optional(),
|
|
26168
|
+
as: v4.z.string().optional(),
|
|
26169
|
+
});
|
|
26170
|
+
const QuerySumSpecSchema = v4.z.looseObject({
|
|
26171
|
+
op: v4.z.literal('SUM'),
|
|
26172
|
+
...aggregationFields,
|
|
26173
|
+
column: v4.z.string(),
|
|
26174
|
+
as: v4.z.string().optional(),
|
|
26175
|
+
});
|
|
26176
|
+
const QueryMinSpecSchema = v4.z.looseObject({
|
|
26177
|
+
op: v4.z.literal('MIN'),
|
|
26178
|
+
...aggregationFields,
|
|
26179
|
+
column: v4.z.string(),
|
|
26180
|
+
as: v4.z.string().optional(),
|
|
26181
|
+
});
|
|
26182
|
+
const QueryMaxSpecSchema = v4.z.looseObject({
|
|
26183
|
+
op: v4.z.literal('MAX'),
|
|
26184
|
+
...aggregationFields,
|
|
26185
|
+
column: v4.z.string(),
|
|
26186
|
+
as: v4.z.string().optional(),
|
|
26187
|
+
});
|
|
26188
|
+
const QueryMeanSpecSchema = v4.z.looseObject({
|
|
26189
|
+
op: v4.z.literal('MEAN'),
|
|
26190
|
+
...aggregationFields,
|
|
26191
|
+
column: v4.z.string(),
|
|
26192
|
+
as: v4.z.string().optional(),
|
|
26193
|
+
weightColumn: v4.z.string().optional(),
|
|
26194
|
+
});
|
|
26195
|
+
const QueryMultiAggregationSpecSchema = v4.z.looseObject({
|
|
26196
|
+
op: v4.z.literal('AGG'),
|
|
26197
|
+
...aggregationFields,
|
|
26198
|
+
spec: v4.z.array(v4.z.looseObject({
|
|
26199
|
+
...aggregationFields,
|
|
26200
|
+
op: v4.z.string().optional(),
|
|
26201
|
+
column: v4.z.string().optional(),
|
|
26202
|
+
as: v4.z.string().optional(),
|
|
26203
|
+
fromAlias: v4.z.string().optional(),
|
|
26204
|
+
weightColumn: v4.z.string().optional(),
|
|
26205
|
+
orderSrc: v4.z.string().optional(),
|
|
26206
|
+
index: v4.z.number().optional(),
|
|
26207
|
+
scale: v4.z.number().optional(),
|
|
26208
|
+
method: QuantileMethodSchema.optional(),
|
|
26209
|
+
})),
|
|
26210
|
+
});
|
|
26211
|
+
const QueryNassAggregationSpecSchema = v4.z.looseObject({
|
|
26212
|
+
op: v4.z.literal('NASS_AGG'),
|
|
26213
|
+
...aggregationFields,
|
|
26214
|
+
fromAlias: v4.z.string().optional(),
|
|
26215
|
+
as: v4.z.string().optional(),
|
|
26216
|
+
});
|
|
26217
|
+
const QueryDerivativeSpecSchema = v4.z.looseObject({
|
|
26218
|
+
op: v4.z.literal('DERIVATIVE'),
|
|
26219
|
+
column: v4.z.string(),
|
|
26220
|
+
unit: v4.z.number().optional(),
|
|
26221
|
+
negative: v4.z.boolean().optional(),
|
|
26222
|
+
as: v4.z.string().optional(),
|
|
26223
|
+
timeSrc: v4.z.string().optional(),
|
|
26224
|
+
});
|
|
26225
|
+
const QueryDifferenceSpecSchema = v4.z.looseObject({
|
|
26226
|
+
op: v4.z.literal('DIFFERENCE'),
|
|
26227
|
+
column: v4.z.string(),
|
|
26228
|
+
negative: v4.z.boolean().optional(),
|
|
26229
|
+
as: v4.z.string().optional(),
|
|
26230
|
+
timeSrc: v4.z.string().optional(),
|
|
26231
|
+
});
|
|
26232
|
+
const QueryFirstSpecSchema = v4.z.looseObject({
|
|
26233
|
+
op: v4.z.literal('FIRST'),
|
|
26234
|
+
...aggregationFields,
|
|
26235
|
+
column: v4.z.string(),
|
|
26236
|
+
as: v4.z.string().optional(),
|
|
26237
|
+
orderSrc: v4.z.string().optional(),
|
|
26238
|
+
});
|
|
26239
|
+
const QueryLastSpecSchema = v4.z.looseObject({
|
|
26240
|
+
op: v4.z.literal('LAST'),
|
|
26241
|
+
...aggregationFields,
|
|
26242
|
+
column: v4.z.string(),
|
|
26243
|
+
as: v4.z.string().optional(),
|
|
26244
|
+
orderSrc: v4.z.string().optional(),
|
|
26245
|
+
});
|
|
26246
|
+
const QueryQuantileSpecSchema = v4.z.looseObject({
|
|
26247
|
+
op: v4.z.literal('QUANTILE'),
|
|
26248
|
+
...aggregationFields,
|
|
26249
|
+
column: v4.z.string(),
|
|
26250
|
+
as: v4.z.string().optional(),
|
|
26251
|
+
method: QuantileMethodSchema.optional(),
|
|
26252
|
+
index: v4.z.number(),
|
|
26253
|
+
scale: v4.z.number().optional(),
|
|
26254
|
+
});
|
|
26255
|
+
const QueryDistinctSpecSchema = v4.z.looseObject({
|
|
26256
|
+
op: v4.z.literal('DISTINCT'),
|
|
26257
|
+
...aggregationFields,
|
|
26258
|
+
});
|
|
26259
|
+
const QueryDescribeSpecSchema = v4.z.looseObject({
|
|
26260
|
+
op: v4.z.literal('DESCRIBE'),
|
|
26261
|
+
});
|
|
26262
|
+
const QueryTopSpecSchema = v4.z.looseObject({
|
|
26263
|
+
op: v4.z.literal('TOP'),
|
|
26264
|
+
column: v4.z.string(),
|
|
26265
|
+
n: v4.z.number(),
|
|
26266
|
+
sortAscending: v4.z.boolean().optional(),
|
|
26267
|
+
});
|
|
26268
|
+
const QueryBottomSpecSchema = v4.z.looseObject({
|
|
26269
|
+
op: v4.z.literal('BOTTOM'),
|
|
26270
|
+
column: v4.z.string(),
|
|
26271
|
+
n: v4.z.number(),
|
|
26272
|
+
sortAscending: v4.z.boolean().optional(),
|
|
26273
|
+
});
|
|
26274
|
+
const QueryMapSpecSchema = v4.z.looseObject({
|
|
26275
|
+
op: v4.z.literal('MAP'),
|
|
26276
|
+
fn: v4.z.string(),
|
|
26277
|
+
as: v4.z.string(),
|
|
26278
|
+
});
|
|
26279
|
+
const QueryMapStringSpecSchema = v4.z.looseObject({
|
|
26280
|
+
op: v4.z.literal('MAP_STRING'),
|
|
26281
|
+
column: v4.z.string(),
|
|
26282
|
+
pattern: v4.z.string(),
|
|
26283
|
+
as: v4.z.array(v4.z.string()).optional(),
|
|
26284
|
+
asType: v4.z.array(QueryColumnTypeSpecSchema).optional(),
|
|
26285
|
+
fillValues: v4.z.array(v4.z.string()).optional(),
|
|
26286
|
+
filterNotMatching: v4.z.boolean().optional(),
|
|
26287
|
+
});
|
|
26288
|
+
const QueryNassMapSpecSchema = v4.z.looseObject({
|
|
26289
|
+
op: v4.z.literal('NASS_MAP'),
|
|
26290
|
+
type: NassValueTypeSchema.optional(),
|
|
26291
|
+
time: v4.z.string().optional(),
|
|
26292
|
+
interval: v4.z.unknown().optional(),
|
|
26293
|
+
min: v4.z.unknown().optional(),
|
|
26294
|
+
max: v4.z.unknown().optional(),
|
|
26295
|
+
value: v4.z.string().optional(),
|
|
26296
|
+
count: v4.z.unknown().optional(),
|
|
26297
|
+
frequency: v4.z.number().optional(),
|
|
26298
|
+
});
|
|
26299
|
+
const QueryFilterSpecSchema = v4.z.looseObject({
|
|
26300
|
+
op: v4.z.literal('FILTER'),
|
|
26301
|
+
spec: QueryFilterPredicateSpecSchema,
|
|
26302
|
+
});
|
|
26303
|
+
const QueryFilterExprFnSpecSchema = v4.z.looseObject({
|
|
26304
|
+
op: v4.z.literal('FILTER_EXPR'),
|
|
26305
|
+
spec: v4.z.string(),
|
|
26306
|
+
});
|
|
26307
|
+
const QueryJoinDataSpecSchema = v4.z.looseObject({
|
|
26308
|
+
op: v4.z.literal('JOIN_DATA'),
|
|
26309
|
+
queryRange: QueryRangeSpecSchema.optional(),
|
|
26310
|
+
metricIdColumn: v4.z.string(),
|
|
26311
|
+
alias: v4.z.string().optional(),
|
|
26312
|
+
joinFirstOnly: v4.z.boolean().optional(),
|
|
26313
|
+
rowsClampSize: v4.z.number().optional(),
|
|
26314
|
+
});
|
|
26315
|
+
const QueryFromMetadataSpecSchema = v4.z.looseObject({
|
|
26316
|
+
op: v4.z.literal('FROM_METADATA'),
|
|
26317
|
+
querySpecifier: QuerySpecifierSchema,
|
|
26318
|
+
queryRange: QueryRangeSpecSchema.optional(),
|
|
26319
|
+
queryHints: v4.z.array(QueryHintSchema).optional(),
|
|
26320
|
+
alias: v4.z.string().optional(),
|
|
26321
|
+
rowsClampSize: v4.z.number().optional(),
|
|
26322
|
+
});
|
|
26323
|
+
const QueryFromTopologySpecSchema = v4.z.looseObject({
|
|
26324
|
+
op: v4.z.literal('FROM_TOPOLOGY'),
|
|
26325
|
+
querySpecifier: TasQuerySchema,
|
|
26326
|
+
alias: v4.z.string().optional(),
|
|
26327
|
+
rowsClampSize: v4.z.number().optional(),
|
|
26328
|
+
});
|
|
26329
|
+
const QueryFromDataSpecSchema = v4.z.looseObject({
|
|
26330
|
+
op: v4.z.literal('FROM_DATA'),
|
|
26331
|
+
querySpecifier: QueryMetricIdSchema,
|
|
26332
|
+
queryRange: QueryRangeSpecSchema.optional(),
|
|
26333
|
+
alias: v4.z.string().optional(),
|
|
26334
|
+
});
|
|
26335
|
+
const QueryJoinMetadataSpecSchema = v4.z.looseObject({
|
|
26336
|
+
op: v4.z.literal('JOIN_METADATA'),
|
|
26337
|
+
querySpecifier: QuerySpecifierSchema.optional(),
|
|
26338
|
+
queryRange: QueryRangeSpecSchema.optional(),
|
|
26339
|
+
queryHints: v4.z.array(QueryHintSchema).optional(),
|
|
26340
|
+
alias: v4.z.string().optional(),
|
|
26341
|
+
rowsClampSize: v4.z.number().optional(),
|
|
26342
|
+
externalIdColumn: v4.z.string().optional(),
|
|
26343
|
+
joinType: JoinTypeSchema.optional(),
|
|
26344
|
+
});
|
|
26345
|
+
const QueryJoinTopologySpecSchema = v4.z.looseObject({
|
|
26346
|
+
op: v4.z.literal('JOIN_TOPOLOGY'),
|
|
26347
|
+
rowsClampSize: v4.z.number().optional(),
|
|
26348
|
+
externalIdColumn: v4.z.string().optional(),
|
|
26349
|
+
joinType: JoinTypeSchema.optional(),
|
|
26350
|
+
});
|
|
26351
|
+
const QueryFormatTimeSpecSchema = v4.z.looseObject({
|
|
26352
|
+
op: v4.z.literal('FORMAT_TIME'),
|
|
26353
|
+
column: v4.z.string(),
|
|
26354
|
+
as: v4.z.string().optional(),
|
|
26355
|
+
duration: v4.z.boolean().optional(),
|
|
26356
|
+
pattern: v4.z.string().optional(),
|
|
26357
|
+
timezone: v4.z.string().optional(),
|
|
26358
|
+
});
|
|
26359
|
+
const QueryFormatSpecSchema = v4.z.looseObject({
|
|
26360
|
+
op: v4.z.literal('FORMAT'),
|
|
26361
|
+
format: v4.z.string(),
|
|
26362
|
+
columns: v4.z.array(v4.z.string()).optional(),
|
|
26363
|
+
as: v4.z.string().optional(),
|
|
26364
|
+
languageTag: v4.z.string().optional(),
|
|
26365
|
+
fillFormatError: v4.z.boolean().optional(),
|
|
26366
|
+
fillValue: v4.z.string().optional(),
|
|
26367
|
+
});
|
|
26368
|
+
const QueryLogSpecSchema = v4.z.looseObject({
|
|
26369
|
+
op: v4.z.literal('LOG'),
|
|
26370
|
+
name: v4.z.string().optional(),
|
|
26371
|
+
limit: v4.z.number().optional(),
|
|
26372
|
+
countRecords: v4.z.boolean().optional(),
|
|
26373
|
+
excludeFinalResult: v4.z.boolean().optional(),
|
|
26374
|
+
});
|
|
26375
|
+
const QueryScriptSpecSchema = v4.z.looseObject({
|
|
26376
|
+
op: v4.z.literal('SCRIPT'),
|
|
26377
|
+
script: v4.z.string(),
|
|
26378
|
+
inputColumns: v4.z.array(v4.z.string()).optional(),
|
|
26379
|
+
outputColumns: v4.z.array(v4.z.string()).optional(),
|
|
26380
|
+
});
|
|
26381
|
+
const QueryFunctionSpecSchema = v4.z.discriminatedUnion('op', [
|
|
26382
|
+
QueryFromSpecSchema,
|
|
26383
|
+
QueryFromTableSpecSchema,
|
|
26384
|
+
QueryShowTablesSpecSchema,
|
|
26385
|
+
QueryWindowSpecSchema,
|
|
26386
|
+
QueryCalendarWindowSpecSchema,
|
|
26387
|
+
QueryGroupSpecSchema,
|
|
26388
|
+
QueryOrderSpecSchema,
|
|
26389
|
+
QueryKeepSpecSchema,
|
|
26390
|
+
QueryCountSpecSchema,
|
|
26391
|
+
QuerySumSpecSchema,
|
|
26392
|
+
QueryMinSpecSchema,
|
|
26393
|
+
QueryMaxSpecSchema,
|
|
26394
|
+
QueryMeanSpecSchema,
|
|
26395
|
+
QueryMultiAggregationSpecSchema,
|
|
26396
|
+
QueryDerivativeSpecSchema,
|
|
26397
|
+
QueryDifferenceSpecSchema,
|
|
26398
|
+
QueryFirstSpecSchema,
|
|
26399
|
+
QueryLastSpecSchema,
|
|
26400
|
+
QueryQuantileSpecSchema,
|
|
26401
|
+
QueryDistinctSpecSchema,
|
|
26402
|
+
QueryDescribeSpecSchema,
|
|
26403
|
+
QueryTopSpecSchema,
|
|
26404
|
+
QueryBottomSpecSchema,
|
|
26405
|
+
QueryNassAggregationSpecSchema,
|
|
26406
|
+
QueryFilterSpecSchema,
|
|
26407
|
+
QueryFilterExprFnSpecSchema,
|
|
26408
|
+
QueryJoinDataSpecSchema,
|
|
26409
|
+
QueryFormatTimeSpecSchema,
|
|
26410
|
+
QueryFromMetadataSpecSchema,
|
|
26411
|
+
QueryFromTopologySpecSchema,
|
|
26412
|
+
QueryFromDataSpecSchema,
|
|
26413
|
+
QueryJoinMetadataSpecSchema,
|
|
26414
|
+
QueryJoinTopologySpecSchema,
|
|
26415
|
+
QueryLogSpecSchema,
|
|
26416
|
+
QueryNassMapSpecSchema,
|
|
26417
|
+
QueryMapStringSpecSchema,
|
|
26418
|
+
QueryMapSpecSchema,
|
|
26419
|
+
QueryFormatSpecSchema,
|
|
26420
|
+
QueryScriptSpecSchema,
|
|
26421
|
+
]);
|
|
26422
|
+
|
|
26423
|
+
const QueryRequestSchema = v4.z.looseObject({
|
|
26424
|
+
query: v4.z.array(QueryFunctionSpecSchema),
|
|
26425
|
+
authorizationView: v4.z.string().optional(),
|
|
26426
|
+
limit: v4.z.number().optional(),
|
|
26427
|
+
});
|
|
26428
|
+
|
|
26429
|
+
const QueryResultSchema = v4.z.array(v4.z.unknown());
|
|
26430
|
+
|
|
25354
26431
|
exports.DXChannel = void 0;
|
|
25355
26432
|
(function (DXChannel) {
|
|
26433
|
+
/** @internal */
|
|
25356
26434
|
DXChannel.DX_CHANNEL_RESPONSE_EXAMPLE_WEBHOOK = {
|
|
25357
26435
|
id: 32498,
|
|
25358
26436
|
orgId: 'ITOM-DX-DEMO-PROD',
|
|
@@ -25565,6 +26643,7 @@ exports.DXChannel = void 0;
|
|
|
25565
26643
|
],
|
|
25566
26644
|
enableProxy: false,
|
|
25567
26645
|
};
|
|
26646
|
+
/** @internal */
|
|
25568
26647
|
DXChannel.DX_CHANNEL_RESPONSE_EXAMPLE_SMTP = {
|
|
25569
26648
|
id: 32393,
|
|
25570
26649
|
orgId: 'ITOM-DX-DEMO-PROD',
|
|
@@ -25618,6 +26697,7 @@ exports.DXChannel = void 0;
|
|
|
25618
26697
|
],
|
|
25619
26698
|
enableProxy: false,
|
|
25620
26699
|
};
|
|
26700
|
+
/** @internal */
|
|
25621
26701
|
DXChannel.DX_CHANNEL_RESPONSE_EXAMPLE_ITSM = {
|
|
25622
26702
|
id: 32182,
|
|
25623
26703
|
orgId: 'ITOM-DX-DEMO-PROD',
|
|
@@ -40739,6 +41819,7 @@ exports.OIAlarm = void 0;
|
|
|
40739
41819
|
|
|
40740
41820
|
exports.OIService = void 0;
|
|
40741
41821
|
(function (OIService) {
|
|
41822
|
+
/** @internal */
|
|
40742
41823
|
OIService.DEFAULT_SERVICE_INVENTORY_FILTER = {
|
|
40743
41824
|
"and": {
|
|
40744
41825
|
"expressions": [{
|
|
@@ -40753,6 +41834,7 @@ exports.OIService = void 0;
|
|
|
40753
41834
|
}],
|
|
40754
41835
|
},
|
|
40755
41836
|
};
|
|
41837
|
+
/** @internal */
|
|
40756
41838
|
OIService.DEFAULT_SERVICE_INVENTORY_REQUEST_BODY = {
|
|
40757
41839
|
"pageSize": 1000,
|
|
40758
41840
|
"customFilter": OIService.DEFAULT_SERVICE_INVENTORY_FILTER,
|
|
@@ -40762,6 +41844,7 @@ exports.OIService = void 0;
|
|
|
40762
41844
|
"projectionFields": ["product", "name", "ipAddresses", "serviceNames", "type", "maintenance"],
|
|
40763
41845
|
"groupByField": "type",
|
|
40764
41846
|
};
|
|
41847
|
+
/** @internal */
|
|
40765
41848
|
OIService.SAMPLE_SERVICE_INVENTORY_RESPONSE = {
|
|
40766
41849
|
"totalCount": 11,
|
|
40767
41850
|
"pageSize": 100,
|
|
@@ -40970,6 +42053,7 @@ exports.OIService = void 0;
|
|
|
40970
42053
|
OIService.TYPICAL_SERVICE_REQUEST_PROJECTION_FILTER = ["rollupFilteredAlarmCount", "situationCount", "availability", "filteredParent", "availability_lastday",
|
|
40971
42054
|
"immediateFilteredChildren", "immediateFilterChildrenCount", "health", "extId", "location", "maintenance",
|
|
40972
42055
|
"name", "risk", "status", "tags", "serviceMetricGroups", "healthBucket"];
|
|
42056
|
+
/** @internal */
|
|
40973
42057
|
OIService.DEFAULT_SERVICE_REQUEST_BODY = {
|
|
40974
42058
|
"time": DateTime.now().toMillis(),
|
|
40975
42059
|
"filters": [],
|
|
@@ -40981,6 +42065,7 @@ exports.OIService = void 0;
|
|
|
40981
42065
|
"projectionFilter": OIService.DEFAULT_SERVICE_REQUEST_PROJECTION_FILTER,
|
|
40982
42066
|
"showAlarms": true,
|
|
40983
42067
|
};
|
|
42068
|
+
/** @internal */
|
|
40984
42069
|
OIService.PARENT_SERVICE_REQUEST_BODY = {
|
|
40985
42070
|
"time": DateTime.now().toMillis(),
|
|
40986
42071
|
"filters": [],
|
|
@@ -40992,6 +42077,7 @@ exports.OIService = void 0;
|
|
|
40992
42077
|
"projectionFilter": OIService.TYPICAL_SERVICE_REQUEST_PROJECTION_FILTER,
|
|
40993
42078
|
"showSituations": true,
|
|
40994
42079
|
};
|
|
42080
|
+
/** @internal */
|
|
40995
42081
|
OIService.sampleServices = {
|
|
40996
42082
|
"services": [{
|
|
40997
42083
|
"name": "ACME NetOps Salisbury DC - NetOps-O2",
|
|
@@ -41202,6 +42288,7 @@ exports.OIService = void 0;
|
|
|
41202
42288
|
};
|
|
41203
42289
|
})(exports.OIService || (exports.OIService = {}));
|
|
41204
42290
|
|
|
42291
|
+
/** @internal */
|
|
41205
42292
|
function createPostmanRequest(request) {
|
|
41206
42293
|
function createPostmanHeaders(request) {
|
|
41207
42294
|
const headersToReturn = new Array();
|
|
@@ -41307,6 +42394,7 @@ class SimpleHTTPError extends Error {
|
|
|
41307
42394
|
}
|
|
41308
42395
|
}
|
|
41309
42396
|
|
|
42397
|
+
/** @internal */
|
|
41310
42398
|
const sampleServiceDetailRequestBody = {
|
|
41311
42399
|
timeFrom: 1772843076673,
|
|
41312
42400
|
timeTo: 1772929476673,
|
|
@@ -41315,6 +42403,7 @@ const sampleServiceDetailRequestBody = {
|
|
|
41315
42403
|
userTimeZone: 'America/Los_Angeles',
|
|
41316
42404
|
metrics: ['x6d-CE-H9B-1nQf0I0B', 'd_b-AE-H9B-3azifJ0B'],
|
|
41317
42405
|
};
|
|
42406
|
+
/** @internal */
|
|
41318
42407
|
const serviceDetailResponseBody = {
|
|
41319
42408
|
service_name: 'SiteMinder PROD',
|
|
41320
42409
|
id: 'SA:AA0725E0-0402-4320-A2B7-407025E9D673:41669409-e352-4ae5-af58-ba0da8989cd6',
|
|
@@ -43077,9 +44166,11 @@ exports.Situations = void 0;
|
|
|
43077
44166
|
|
|
43078
44167
|
exports.TAS = void 0;
|
|
43079
44168
|
(function (TAS) {
|
|
44169
|
+
/** @internal */
|
|
43080
44170
|
TAS.ALL_QUERY = {
|
|
43081
44171
|
filter: { op: 'ALL' },
|
|
43082
44172
|
};
|
|
44173
|
+
/** @internal */
|
|
43083
44174
|
TAS.GUENTER_AGENT_EDGE_QUERY = {
|
|
43084
44175
|
filter: {
|
|
43085
44176
|
op: 'TAKE_EDGES',
|
|
@@ -43096,6 +44187,7 @@ exports.TAS = void 0;
|
|
|
43096
44187
|
],
|
|
43097
44188
|
},
|
|
43098
44189
|
};
|
|
44190
|
+
/** @internal */
|
|
43099
44191
|
TAS.AGENT_QUERY = {
|
|
43100
44192
|
filter: {
|
|
43101
44193
|
op: 'ATTRIBUTE',
|
|
@@ -43326,6 +44418,7 @@ exports.MatchType = void 0;
|
|
|
43326
44418
|
MatchType["ATTRIBUTE_PREFIX_IGNORE_CASE"] = "ATTRIBUTE_PREFIX_IGNORE_CASE";
|
|
43327
44419
|
MatchType["ATTRIBUTE_CONTAINS"] = "ATTRIBUTE_CONTAINS";
|
|
43328
44420
|
})(exports.MatchType || (exports.MatchType = {}));
|
|
44421
|
+
/** @internal */
|
|
43329
44422
|
const excludedAttributes = [
|
|
43330
44423
|
"agent",
|
|
43331
44424
|
"product",
|
|
@@ -55680,6 +56773,7 @@ class AgentService {
|
|
|
55680
56773
|
this.dxSaaSService = dxSaaSService;
|
|
55681
56774
|
this.log = log ?? new Logging.NullSimpleLog();
|
|
55682
56775
|
}
|
|
56776
|
+
/** Queries agent sources whose name matches the given regex pattern. */
|
|
55683
56777
|
queryAgentsByRegex(pattern) {
|
|
55684
56778
|
const requestBody = {
|
|
55685
56779
|
authorizationView: null,
|
|
@@ -55695,6 +56789,7 @@ class AgentService {
|
|
|
55695
56789
|
};
|
|
55696
56790
|
return this.dxSaaSService.tenantPost('/atc/views/querySource', requestBody);
|
|
55697
56791
|
}
|
|
56792
|
+
/** Queries agent sources by exact full name (prepends `SuperDomain|` if missing). */
|
|
55698
56793
|
queryAgentsByExactName(name) {
|
|
55699
56794
|
const sName = name.startsWith('SuperDomain|')
|
|
55700
56795
|
? name
|
|
@@ -55713,12 +56808,14 @@ class AgentService {
|
|
|
55713
56808
|
};
|
|
55714
56809
|
return this.dxSaaSService.tenantPost('/atc/views/querySource', requestBody);
|
|
55715
56810
|
}
|
|
56811
|
+
/** Retrieves all agent names, retrying once on failure. */
|
|
55716
56812
|
retrieveAgentsWithRetry() {
|
|
55717
56813
|
return this.retrieveAgents().catch((reason) => {
|
|
55718
56814
|
this.log.warn('Error on first attempt (expected): ' + reason);
|
|
55719
56815
|
return this.retrieveAgents();
|
|
55720
56816
|
});
|
|
55721
56817
|
}
|
|
56818
|
+
/** Generates a configurable license report grouping agents by the provided licensing configuration rules. */
|
|
55722
56819
|
async configurableLicenseReport(licenseConfiguration) {
|
|
55723
56820
|
const agentNames = await this.retrieveAgentsWithRetry();
|
|
55724
56821
|
this.log.debug(`AgentNames: ${agentNames.length}`);
|
|
@@ -55839,6 +56936,7 @@ class AgentService {
|
|
|
55839
56936
|
regexMatches(agentNameRegex, agentName) {
|
|
55840
56937
|
return new RegExp(agentNameRegex, 'i').test(agentName);
|
|
55841
56938
|
}
|
|
56939
|
+
/** Generates a default license report categorizing agents into Java, Node, Python, .NET, Infra, etc. */
|
|
55842
56940
|
licenseReport() {
|
|
55843
56941
|
return this.retrieveAgents().then((agentNames) => {
|
|
55844
56942
|
const agentDescriptors = new Array();
|
|
@@ -55956,12 +57054,14 @@ class AgentService {
|
|
|
55956
57054
|
return agentDescriptor.agentName.startsWith('Kubernetes Agent');
|
|
55957
57055
|
}
|
|
55958
57056
|
// /apm/atc/api/private/trace/detail
|
|
57057
|
+
/** Returns the full trace detail for a given trace ID. */
|
|
55959
57058
|
getTrace(traceId) {
|
|
55960
57059
|
const traceRequestBody = {
|
|
55961
57060
|
traceIds: [traceId],
|
|
55962
57061
|
};
|
|
55963
57062
|
return this.dxSaaSService.tenantPost('/apm/atc/api/private/trace/detail', traceRequestBody);
|
|
55964
57063
|
}
|
|
57064
|
+
/** Returns trace summaries for a specific agent within a time range. */
|
|
55965
57065
|
getTraceSummaries(startTime, endTime, agentName, index, limit, errorsOnly) {
|
|
55966
57066
|
const traceSummaryRequestBody = {
|
|
55967
57067
|
endTime: endTime.toISO(),
|
|
@@ -55974,6 +57074,7 @@ class AgentService {
|
|
|
55974
57074
|
};
|
|
55975
57075
|
return this.dxSaaSService.tenantPost('/apm/atc/api/private/trace/summary', traceSummaryRequestBody);
|
|
55976
57076
|
}
|
|
57077
|
+
/** Starts a trace session on one or more agents with optional filters. */
|
|
55977
57078
|
startAgentTrace(agents, minTXDuration, sessionDuration, parameterName, operationType, parameterNotSign, parameterValue, errorFilterValue) {
|
|
55978
57079
|
let body = {
|
|
55979
57080
|
agentList: agents,
|
|
@@ -55994,6 +57095,7 @@ class AgentService {
|
|
|
55994
57095
|
}
|
|
55995
57096
|
return this.dxSaaSService.tenantPost('/apm/atc/api/private/agentlist/starttrace', body);
|
|
55996
57097
|
}
|
|
57098
|
+
/** Returns all agent statuses (deduped by processURL), optionally scoped to a universe or query. */
|
|
55997
57099
|
async retrieveAllAgentStatuses(universeId, query) {
|
|
55998
57100
|
const params = {
|
|
55999
57101
|
page: 0,
|
|
@@ -56017,6 +57119,7 @@ class AgentService {
|
|
|
56017
57119
|
this.log.debug(`retrieved ${statuses.items.length ?? 0} statuses`);
|
|
56018
57120
|
return Array.from(statusMap.values());
|
|
56019
57121
|
}
|
|
57122
|
+
/** Returns a single page of agent statuses with explicit page/size control. */
|
|
56020
57123
|
retrieveAgentStatuses(page, size, universeId, query) {
|
|
56021
57124
|
return this.dxSaaSService
|
|
56022
57125
|
.tenantGet('/apm/atc/api/private/agentlist', { page, size, universeId, q: query ?? 'latest:true' })
|
|
@@ -56024,6 +57127,7 @@ class AgentService {
|
|
|
56024
57127
|
return agentStatusList.items;
|
|
56025
57128
|
});
|
|
56026
57129
|
}
|
|
57130
|
+
/** Returns agent names active within a time window (defaults to last 12 hours). */
|
|
56027
57131
|
retrieveAgents(startTime, endTime) {
|
|
56028
57132
|
if (!endTime) {
|
|
56029
57133
|
endTime = Date.now();
|
|
@@ -56040,12 +57144,14 @@ class AgentService {
|
|
|
56040
57144
|
return agentNameList.items ?? [];
|
|
56041
57145
|
});
|
|
56042
57146
|
}
|
|
57147
|
+
/** Returns agents matching a universe's NASS filter specifier. */
|
|
56043
57148
|
retrieveAgentsForUniverseNASSFilter(universeNASSFilter) {
|
|
56044
57149
|
return this.dxSaaSService.tenantPost('/atc/views/querySource', {
|
|
56045
57150
|
authorizationView: null,
|
|
56046
57151
|
specifier: universeNASSFilter,
|
|
56047
57152
|
});
|
|
56048
57153
|
}
|
|
57154
|
+
/** Returns agent names active within a time window for a specific universe. */
|
|
56049
57155
|
retrieveUniverseAgents(universeId, startTime, endTime) {
|
|
56050
57156
|
if (!endTime) {
|
|
56051
57157
|
endTime = Date.now();
|
|
@@ -56094,6 +57200,7 @@ class AgentService {
|
|
|
56094
57200
|
}
|
|
56095
57201
|
}
|
|
56096
57202
|
}
|
|
57203
|
+
/** Returns the previously collected thread dump data for a given thread dump ID. */
|
|
56097
57204
|
async getThreadDump(threadDumpId) {
|
|
56098
57205
|
const threadDumpBody = {
|
|
56099
57206
|
id: threadDumpId,
|
|
@@ -56104,6 +57211,7 @@ class AgentService {
|
|
|
56104
57211
|
return response;
|
|
56105
57212
|
});
|
|
56106
57213
|
}
|
|
57214
|
+
/** Triggers a thread dump collection for the specified agent. */
|
|
56107
57215
|
async collectThreadDump(fullAgentName) {
|
|
56108
57216
|
if (!fullAgentName.startsWith('SuperDomain|')) {
|
|
56109
57217
|
fullAgentName = 'SuperDomain|' + fullAgentName;
|
|
@@ -56119,6 +57227,7 @@ class AgentService {
|
|
|
56119
57227
|
return response;
|
|
56120
57228
|
});
|
|
56121
57229
|
}
|
|
57230
|
+
/** Returns existing thread dump records for the specified agent. */
|
|
56122
57231
|
async queryThreadDumps(fullAgentName) {
|
|
56123
57232
|
if (!fullAgentName.startsWith('SuperDomain|')) {
|
|
56124
57233
|
fullAgentName = 'SuperDomain|' + fullAgentName;
|
|
@@ -56132,6 +57241,7 @@ class AgentService {
|
|
|
56132
57241
|
return response;
|
|
56133
57242
|
});
|
|
56134
57243
|
}
|
|
57244
|
+
/** Returns whether the specified agent supports thread dump collection. */
|
|
56135
57245
|
async threadDumpCapable(fullAgentName) {
|
|
56136
57246
|
if (!fullAgentName.startsWith('SuperDomain|')) {
|
|
56137
57247
|
fullAgentName = 'SuperDomain|' + fullAgentName;
|
|
@@ -56163,11 +57273,13 @@ class AlarmService {
|
|
|
56163
57273
|
this.dxSaaSService = dxSaaSService;
|
|
56164
57274
|
this.simpleLog = simpleLog;
|
|
56165
57275
|
}
|
|
57276
|
+
/** Returns a single alarm by its ID using the GET endpoint. */
|
|
56166
57277
|
async getAlarm(alarmId) {
|
|
56167
57278
|
return this.dxSaaSService.oiGet('oi/v2/api/alarms/_search', {
|
|
56168
57279
|
alarmId: alarmId,
|
|
56169
57280
|
});
|
|
56170
57281
|
}
|
|
57282
|
+
/** Returns the overview (first alarm in a custom-filter search) for an alarm ID. */
|
|
56171
57283
|
async getAlarmOverview(alarmId) {
|
|
56172
57284
|
const singleAlarmQuery = await this.dxSaaSService.oiPost('oi/v2/api/alarms/_search', {
|
|
56173
57285
|
deviceNames: [],
|
|
@@ -56214,6 +57326,7 @@ class AlarmService {
|
|
|
56214
57326
|
throw new Error('Bad Alarm Query');
|
|
56215
57327
|
}
|
|
56216
57328
|
}
|
|
57329
|
+
/** Sends a notification for an alarm to the specified channel with optional template/locale. */
|
|
56217
57330
|
async triggerNotification(alarmId, notificationChannelName, template = '', locale = 'en-US') {
|
|
56218
57331
|
const alarm = await this.getAlarmOverview(alarmId);
|
|
56219
57332
|
const triggerBody = {
|
|
@@ -56228,6 +57341,7 @@ class AlarmService {
|
|
|
56228
57341
|
this.simpleLog.debug(JSON.stringify(triggerBody, null, 2));
|
|
56229
57342
|
return this.dxSaaSService.oiPost('oi/v2/api/alarmactions/channel', triggerBody);
|
|
56230
57343
|
}
|
|
57344
|
+
/** Assigns an alarm to a user by their user ID. */
|
|
56231
57345
|
async assign(alarmId, userId) {
|
|
56232
57346
|
const alarm = await this.getAlarm(alarmId);
|
|
56233
57347
|
this.simpleLog.debug('original alarm:', JSON.stringify(alarm, null, 2));
|
|
@@ -56248,6 +57362,7 @@ class AlarmService {
|
|
|
56248
57362
|
};
|
|
56249
57363
|
return this.dxSaaSService.tenantPost('oi/v2/api/alarmactions/assign', body);
|
|
56250
57364
|
}
|
|
57365
|
+
/** Clears (closes) an alarm. */
|
|
56251
57366
|
async clear(alarmId) {
|
|
56252
57367
|
const alarm = await this.getAlarm(alarmId);
|
|
56253
57368
|
this.simpleLog.debug('original alarm:', JSON.stringify(alarm, null, 2));
|
|
@@ -56268,6 +57383,7 @@ class AlarmService {
|
|
|
56268
57383
|
};
|
|
56269
57384
|
return this.dxSaaSService.tenantPost('oi/v2/api/alarmactions/clear', body);
|
|
56270
57385
|
}
|
|
57386
|
+
/** Acknowledges or unacknowledges an alarm. */
|
|
56271
57387
|
async acknowledge(alarmId, unacknowledge = false) {
|
|
56272
57388
|
const alarm = await this.getAlarm(alarmId);
|
|
56273
57389
|
this.simpleLog.debug('original alarm:', JSON.stringify(alarm, null, 2));
|
|
@@ -56288,6 +57404,7 @@ class AlarmService {
|
|
|
56288
57404
|
};
|
|
56289
57405
|
return this.dxSaaSService.tenantPost('oi/v2/api/alarmactions/ack', body);
|
|
56290
57406
|
}
|
|
57407
|
+
/** Updates a single field on an alarm document via the Jarvis ingestion API. */
|
|
56291
57408
|
async updateAlarmField(alarmId, field, value) {
|
|
56292
57409
|
const alarm = await this.getAlarm(alarmId);
|
|
56293
57410
|
this.simpleLog.debug('original alarm:', JSON.stringify(alarm, null, 2));
|
|
@@ -56324,6 +57441,7 @@ class AlarmService {
|
|
|
56324
57441
|
this.simpleLog.debug('update request body', JSON.stringify(body, null, 2));
|
|
56325
57442
|
return this.dxSaaSService.tenantPost('jarvis/v2/ingestion', body, {}, headers);
|
|
56326
57443
|
}
|
|
57444
|
+
/** Returns the lifecycle event history for a given alarm ID. */
|
|
56327
57445
|
async getAlarmLifeCycle(alarmId) {
|
|
56328
57446
|
const alarmLifeCycleRequestBody = {
|
|
56329
57447
|
alarmId: alarmId,
|
|
@@ -56339,6 +57457,7 @@ class AlarmService {
|
|
|
56339
57457
|
};
|
|
56340
57458
|
return this.dxSaaSService.oiPost('oi/v2/api/alarms/lifecycle/_search', alarmLifeCycleRequestBody);
|
|
56341
57459
|
}
|
|
57460
|
+
/** Returns all alarms within a time range, with optional type/closed/filter params. */
|
|
56342
57461
|
async getAlarms(startTime, endTime, includedAlarmTypes = [], includeClosed = false, pageSize = 100, alarmFilter) {
|
|
56343
57462
|
const alarmRequestBody = DEFAULT_ALARMS_REQUEST_BODY$1;
|
|
56344
57463
|
alarmRequestBody.timeFrom = startTime.toMillis();
|
|
@@ -56366,9 +57485,11 @@ class AlarmService {
|
|
|
56366
57485
|
mapAlarms(alarmAllPage.alarms);
|
|
56367
57486
|
return alarmIdMap;
|
|
56368
57487
|
}
|
|
57488
|
+
/** Returns all alarm enrichment rules configured for the tenant. */
|
|
56369
57489
|
async getEnrichmentRules() {
|
|
56370
57490
|
return this.dxSaaSService.oiGet('oi/v2/alarm/enrichment/rules');
|
|
56371
57491
|
}
|
|
57492
|
+
/** Lists all alarm queue (filter) configurations. */
|
|
56372
57493
|
async getAlarmQueues() {
|
|
56373
57494
|
//https://apmgw.dxi-na1.saas.broadcom.com/aa0725e004024320a2b7407025e9d673/oi/v2/api/alarmfilters/_search
|
|
56374
57495
|
// ?sortBy=filterName&alarmCategory=rawAlarm&userRoles=TA
|
|
@@ -56376,6 +57497,7 @@ class AlarmService {
|
|
|
56376
57497
|
sortBy: 'filterName',
|
|
56377
57498
|
});
|
|
56378
57499
|
}
|
|
57500
|
+
/** Returns the detail of a single alarm queue by its ID. */
|
|
56379
57501
|
async getAlarmQueueDetail(queueId) {
|
|
56380
57502
|
//https://apmgw.dxi-na1.saas.broadcom.com/aa0725e004024320a2b7407025e9d673/oi/v2/api/alarmfilters/_search
|
|
56381
57503
|
// ?id=0d8b6f6c-184e-4bba-b610-dfb07c275264&alarmCategory=rawAlarm
|
|
@@ -56391,6 +57513,7 @@ class AlarmService {
|
|
|
56391
57513
|
showClosedAlarms: true,
|
|
56392
57514
|
frequency: -1,
|
|
56393
57515
|
};
|
|
57516
|
+
/** Returns historically related alarms for a given alarm ID. */
|
|
56394
57517
|
async getRelatedAlarms(alarmId) {
|
|
56395
57518
|
const alarm = await this.getAlarm(alarmId);
|
|
56396
57519
|
return this.dxSaaSService.oiPost('oi/v2/api/inspect/historicalRef', {
|
|
@@ -58010,6 +59133,7 @@ class AlertService {
|
|
|
58010
59133
|
this.dxSaaSService = dxSaaSService;
|
|
58011
59134
|
this.log = log;
|
|
58012
59135
|
}
|
|
59136
|
+
/** Returns all alerts using the v2 internal API (up to the API limit). */
|
|
58013
59137
|
async retrieveAllAlertsV2() {
|
|
58014
59138
|
return this.dxSaaSService
|
|
58015
59139
|
.tenantPost('atc/private/internal/alert/query', AllAlertsRequestBody)
|
|
@@ -58020,6 +59144,7 @@ class AlertService {
|
|
|
58020
59144
|
return alertList;
|
|
58021
59145
|
});
|
|
58022
59146
|
}
|
|
59147
|
+
/** Returns up to the first 1000 alerts using the legacy alert API. */
|
|
58023
59148
|
async retrieveFirst1000Alerts() {
|
|
58024
59149
|
return this.dxSaaSService
|
|
58025
59150
|
.tenantPost('/apm/atc/api/private/alert/query', AllAlertsRequestBody)
|
|
@@ -58030,6 +59155,7 @@ class AlertService {
|
|
|
58030
59155
|
return alertList;
|
|
58031
59156
|
});
|
|
58032
59157
|
}
|
|
59158
|
+
/** Retrieves all alerts across multiple cursor-paginated requests (increments of 500). */
|
|
58033
59159
|
async reallyRetrieveAllAlerts() {
|
|
58034
59160
|
const increment = 500;
|
|
58035
59161
|
const alertList = await this.dxSaaSService.tenantPost('/apm/atc/api/private/alert/query', AlertService.createAlertRequestCursorRequestBody(0, increment));
|
|
@@ -58059,6 +59185,7 @@ class AlertService {
|
|
|
58059
59185
|
throw new Error('Alert list contained no data.');
|
|
58060
59186
|
}
|
|
58061
59187
|
}
|
|
59188
|
+
/** Returns all alerts for a management module using the v2 internal API. */
|
|
58062
59189
|
async retrieveManagementModuleAlertsV2(managementModuleId) {
|
|
58063
59190
|
return this.dxSaaSService
|
|
58064
59191
|
.tenantPost('atc/private/internal/alert/query', {
|
|
@@ -58074,6 +59201,7 @@ class AlertService {
|
|
|
58074
59201
|
return alertList;
|
|
58075
59202
|
});
|
|
58076
59203
|
}
|
|
59204
|
+
/** Returns alerts belonging to a management module using the legacy alert API. */
|
|
58077
59205
|
async retrieveManagementModuleAlerts(managementModuleId) {
|
|
58078
59206
|
return this.dxSaaSService
|
|
58079
59207
|
.tenantPost('/apm/atc/api/private/alert/query', AlertService.createManagementModuleAlertRequestBody(managementModuleId))
|
|
@@ -58084,6 +59212,7 @@ class AlertService {
|
|
|
58084
59212
|
return alertList;
|
|
58085
59213
|
});
|
|
58086
59214
|
}
|
|
59215
|
+
/** Returns all alerts (normal + summary) for a management module using the legacy API. */
|
|
58087
59216
|
async retrieveAllManagementModuleAlerts(managementModuleId) {
|
|
58088
59217
|
return this.dxSaaSService
|
|
58089
59218
|
.tenantPost('/apm/atc/api/private/alert/query', AlertService.createManagementModuleAllAlertRequestBody(managementModuleId))
|
|
@@ -58094,14 +59223,17 @@ class AlertService {
|
|
|
58094
59223
|
return alertList;
|
|
58095
59224
|
});
|
|
58096
59225
|
}
|
|
59226
|
+
/** Returns a single alert definition by ID using the v2 internal API. */
|
|
58097
59227
|
async retrieveAlertDefinitionV2(alertId, managementModuleId) {
|
|
58098
59228
|
return this.dxSaaSService.tenantPost(`atc/private/internal/alert/get`, { itemId: alertId, mmId: managementModuleId });
|
|
58099
59229
|
}
|
|
59230
|
+
/** Returns a single alert definition by external ID using the legacy alert API. */
|
|
58100
59231
|
async retrieveAlertDefinition(alertId) {
|
|
58101
59232
|
const params = { externalId: alertId };
|
|
58102
59233
|
const paramEncoded = lib$1.stringify(params);
|
|
58103
59234
|
return this.dxSaaSService.tenantGet(`/apm/atc/api/private/alert/query?${paramEncoded}`);
|
|
58104
59235
|
}
|
|
59236
|
+
/** Copies an alert (v2) to a target management module with a new name, optionally changing active state/description. */
|
|
58105
59237
|
async copyAlertV2(originalAlertId, originalManagementModuleId, newAlertName, targetManagementModuleId, active, description) {
|
|
58106
59238
|
return this.retrieveAlertDefinitionV2(originalAlertId, originalManagementModuleId).then((alert) => {
|
|
58107
59239
|
alert.managementModuleId = targetManagementModuleId;
|
|
@@ -58114,6 +59246,7 @@ class AlertService {
|
|
|
58114
59246
|
return this.createAlertV2(alert);
|
|
58115
59247
|
});
|
|
58116
59248
|
}
|
|
59249
|
+
/** Copies an alert (legacy) to a target management module with a new name. */
|
|
58117
59250
|
async copyAlert(originalAlertId, newAlertName, targetManagementModuleName, active, description) {
|
|
58118
59251
|
return this.retrieveAlertDefinition(originalAlertId).then((alert) => {
|
|
58119
59252
|
alert.managementModuleName = targetManagementModuleName;
|
|
@@ -58126,6 +59259,7 @@ class AlertService {
|
|
|
58126
59259
|
return this.createAlert(alert);
|
|
58127
59260
|
});
|
|
58128
59261
|
}
|
|
59262
|
+
/** Copies an alert (legacy) to a new management module and assigns a different metric grouping. */
|
|
58129
59263
|
async copyAlertWithNewMetricGrouping(originalAlertId, newAlertName, targetManagementModuleName, active, description, mgId) {
|
|
58130
59264
|
return this.retrieveAlertDefinition(originalAlertId).then((alert) => {
|
|
58131
59265
|
alert.managementModuleName = targetManagementModuleName;
|
|
@@ -58139,17 +59273,21 @@ class AlertService {
|
|
|
58139
59273
|
return this.createAlert(alert);
|
|
58140
59274
|
});
|
|
58141
59275
|
}
|
|
59276
|
+
/** Creates a new alert using the v2 internal API (strips ID before sending). */
|
|
58142
59277
|
createAlertV2(alert) {
|
|
58143
59278
|
delete alert.id;
|
|
58144
59279
|
return this.dxSaaSService.tenantPost('atc/private/internal/alert', alert);
|
|
58145
59280
|
}
|
|
59281
|
+
/** Creates a new alert using the legacy alert API (strips ID before sending). */
|
|
58146
59282
|
createAlert(alert) {
|
|
58147
59283
|
delete alert.id;
|
|
58148
59284
|
return this.dxSaaSService.tenantPost('/apm/atc/api/private/alert/', alert);
|
|
58149
59285
|
}
|
|
59286
|
+
/** Updates an existing alert using the v2 internal API. */
|
|
58150
59287
|
updateAlertV2(alert) {
|
|
58151
59288
|
return this.dxSaaSService.tenantPost('atc/private/internal/alert', alert);
|
|
58152
59289
|
}
|
|
59290
|
+
/** Updates an existing alert using the legacy alert API. */
|
|
58153
59291
|
updateAlert(alert) {
|
|
58154
59292
|
return this.dxSaaSService.tenantPost('/apm/atc/api/private/alert/', alert);
|
|
58155
59293
|
}
|
|
@@ -58187,19 +59325,24 @@ class ApmUniverseService {
|
|
|
58187
59325
|
constructor(dxSaaSService) {
|
|
58188
59326
|
this.dxSaaSService = dxSaaSService;
|
|
58189
59327
|
}
|
|
59328
|
+
/** Returns all APM universes (views) for the tenant. */
|
|
58190
59329
|
async retrieveAllUniverses() {
|
|
58191
59330
|
let universeList = await this.dxSaaSService.tenantGet('/atc/views/view', { skipCount: 'true' });
|
|
58192
59331
|
return universeList.items;
|
|
58193
59332
|
}
|
|
59333
|
+
/** Returns a single APM universe by its view ID. */
|
|
58194
59334
|
retrieveUniverse(universeId) {
|
|
58195
59335
|
return this.dxSaaSService.tenantGet(`/atc/views/view/${universeId}`);
|
|
58196
59336
|
}
|
|
59337
|
+
/** Creates a new APM universe from the given request body. */
|
|
58197
59338
|
createUniverse(universe) {
|
|
58198
59339
|
return this.dxSaaSService.tenantPost('/atc/views/view', universe);
|
|
58199
59340
|
}
|
|
59341
|
+
/** Deletes an APM universe by its view ID. */
|
|
58200
59342
|
deleteUniverse(viewId) {
|
|
58201
59343
|
return this.dxSaaSService.tenantDelete('/atc/views/view/' + viewId);
|
|
58202
59344
|
}
|
|
59345
|
+
/** Updates an existing APM universe. */
|
|
58203
59346
|
updateUniverse(universe) {
|
|
58204
59347
|
return this.dxSaaSService.tenantPut('/atc/views/view/' + universe.viewId, universe);
|
|
58205
59348
|
}
|
|
@@ -58221,6 +59364,7 @@ class AsmService {
|
|
|
58221
59364
|
this.dxSaaSService = dxSaaSService;
|
|
58222
59365
|
this.log = log;
|
|
58223
59366
|
}
|
|
59367
|
+
/** Lazily creates and returns the ASM API client, using token and base URL from configuration. */
|
|
58224
59368
|
getClient() {
|
|
58225
59369
|
if (!this.localClient) {
|
|
58226
59370
|
if (!this.dxSaaSService.dxdoConfiguration.dxConfiguration.dxASMToken) {
|
|
@@ -58243,6 +59387,7 @@ class AsmService {
|
|
|
58243
59387
|
}
|
|
58244
59388
|
return this.localClient;
|
|
58245
59389
|
}
|
|
59390
|
+
/** Lists all ASM scan folders accessible with the configured token. */
|
|
58246
59391
|
async listFolders() {
|
|
58247
59392
|
return foldersList({
|
|
58248
59393
|
client: this.getClient(),
|
|
@@ -58273,9 +59418,11 @@ class AttributeService {
|
|
|
58273
59418
|
this.dxSaaSService = dxSaaSService;
|
|
58274
59419
|
this.log = log;
|
|
58275
59420
|
}
|
|
59421
|
+
/** Returns all intellisense attributes, optionally including gathered attributes. */
|
|
58276
59422
|
async getAttributes(includeGathered) {
|
|
58277
59423
|
return this.dxSaaSService.tenantGet('/apm/atc/api/private/intellisense/attribute', { includeGathered: includeGathered });
|
|
58278
59424
|
}
|
|
59425
|
+
/** Returns a `ListMap` of layer → attribute names for all gathered attributes. */
|
|
58279
59426
|
async getAttributesAsListMap() {
|
|
58280
59427
|
const newAttributesListMap = new ListMap();
|
|
58281
59428
|
const attributesResponse = await this.getAttributes(true);
|
|
@@ -58285,6 +59432,7 @@ class AttributeService {
|
|
|
58285
59432
|
}
|
|
58286
59433
|
return newAttributesListMap;
|
|
58287
59434
|
}
|
|
59435
|
+
/** Returns `true` if an attribute with the given layer and name exists (uses cache). */
|
|
58288
59436
|
async attributeExists(layer, name) {
|
|
58289
59437
|
if (this.cachedAttributes.getMap().size == 0) {
|
|
58290
59438
|
this.cachedAttributes = await this.getAttributesAsListMap();
|
|
@@ -58309,9 +59457,11 @@ class AuthorizationService {
|
|
|
58309
59457
|
this.dxSaaSService = dxSaaSService;
|
|
58310
59458
|
this.log = log;
|
|
58311
59459
|
}
|
|
59460
|
+
/** Returns all ACA groups, up to `maxResults` entries. */
|
|
58312
59461
|
getGroups(maxResults = 200) {
|
|
58313
59462
|
return this.dxSaaSService.tenantGet('/apm/atc/api/private/aca/group', { size: maxResults - 1, groupId: '*' });
|
|
58314
59463
|
}
|
|
59464
|
+
/** Finds ACA users matching a username, up to `maxResults` entries. */
|
|
58315
59465
|
findUser(userName, maxResults = 200) {
|
|
58316
59466
|
this.log.debug('Getting user');
|
|
58317
59467
|
return this.dxSaaSService.tenantGet('/apm/atc/api/private/aca/user', {
|
|
@@ -58319,6 +59469,7 @@ class AuthorizationService {
|
|
|
58319
59469
|
userId: userName,
|
|
58320
59470
|
});
|
|
58321
59471
|
}
|
|
59472
|
+
/** Returns all OI users for the tenant. */
|
|
58322
59473
|
getUsers() {
|
|
58323
59474
|
return this.dxSaaSService.tenantGet('oi/v2/api/users');
|
|
58324
59475
|
}
|
|
@@ -58339,6 +59490,7 @@ class AxaService {
|
|
|
58339
59490
|
this.dxSaaSService = dxSaaSService;
|
|
58340
59491
|
this.log = log;
|
|
58341
59492
|
}
|
|
59493
|
+
/** Returns a paginated list of user sessions for an application within a time range. */
|
|
58342
59494
|
getSessions(applicationName, onlyWithScreenshots, startDateTime, endDateTime, cursor) {
|
|
58343
59495
|
const params = {
|
|
58344
59496
|
app_id: applicationName,
|
|
@@ -58356,6 +59508,7 @@ class AxaService {
|
|
|
58356
59508
|
}
|
|
58357
59509
|
return this.dxSaaSService.axaRequest('GET', 'mdo/v4/sessions/list', false, false, undefined, params);
|
|
58358
59510
|
}
|
|
59511
|
+
/** Returns the BA extension snippet (custom or default) for a given application. */
|
|
58359
59512
|
getApplicationBAExtSnippet(applicationName, baJSType, profileId, tenantId) {
|
|
58360
59513
|
return this.dxSaaSService.axaRequest('GET', 'mdo/v4/custombajs', false, false, undefined, {
|
|
58361
59514
|
app_id: applicationName,
|
|
@@ -58364,9 +59517,11 @@ class AxaService {
|
|
|
58364
59517
|
tenantId,
|
|
58365
59518
|
});
|
|
58366
59519
|
}
|
|
59520
|
+
/** Uploads a custom BA extension snippet for an application. */
|
|
58367
59521
|
setApplicationBAExtSnippet(applicationName, tenantId, formData) {
|
|
58368
59522
|
return this.dxSaaSService.axaRequest('POST', `mdo/v4/custombajs/${tenantId}/${applicationName}`, false, false, formData, undefined, formData.getHeaders());
|
|
58369
59523
|
}
|
|
59524
|
+
/** Returns aggregated crash summary data for an application over a time range. */
|
|
58370
59525
|
getCrashSummary(applicationName, startTime, endTime, aggregation) {
|
|
58371
59526
|
return this.dxSaaSService.axaRequest('GET', 'mdo/v4/crashes/data', false, false, null, {
|
|
58372
59527
|
app_id: applicationName,
|
|
@@ -58375,6 +59530,7 @@ class AxaService {
|
|
|
58375
59530
|
start_date: startTime.toISO(),
|
|
58376
59531
|
});
|
|
58377
59532
|
}
|
|
59533
|
+
/** Returns total crash summary (count/rate) for an application over a time range. */
|
|
58378
59534
|
getCrashTotalSummary(applicationName, startTime, endTime, aggregation) {
|
|
58379
59535
|
return this.dxSaaSService.axaRequest('GET', 'mdo/v4/crashes/total_summary', false, false, null, {
|
|
58380
59536
|
app_id: applicationName,
|
|
@@ -58383,6 +59539,7 @@ class AxaService {
|
|
|
58383
59539
|
start_date: startTime.toISO(),
|
|
58384
59540
|
});
|
|
58385
59541
|
}
|
|
59542
|
+
/** Returns crash groups for an application within a time range. */
|
|
58386
59543
|
getCrashGroups(applicationName, startTime, endTime, aggregation) {
|
|
58387
59544
|
return this.dxSaaSService.axaRequest('GET', 'mdo/v4/crashes/crash_groups', false, false, null, {
|
|
58388
59545
|
app_id: applicationName,
|
|
@@ -58391,6 +59548,7 @@ class AxaService {
|
|
|
58391
59548
|
start_date: startTime.toISO(),
|
|
58392
59549
|
});
|
|
58393
59550
|
}
|
|
59551
|
+
/** Returns all crash groups for an application within a time range (alias of getCrashGroups). */
|
|
58394
59552
|
async getAllCrashGroups(applicationName, startTime, endTime, aggregation) {
|
|
58395
59553
|
return this.dxSaaSService.axaRequest('GET', 'mdo/v4/crashes/crash_groups', false, false, null, {
|
|
58396
59554
|
app_id: applicationName,
|
|
@@ -58399,6 +59557,7 @@ class AxaService {
|
|
|
58399
59557
|
start_date: startTime.toISO(),
|
|
58400
59558
|
});
|
|
58401
59559
|
}
|
|
59560
|
+
/** Returns individual crash records within a specific crash group. */
|
|
58402
59561
|
getCrashesInGroup(applicationName, groupId, startTime, endTime, aggregation) {
|
|
58403
59562
|
return this.dxSaaSService.axaRequest('GET', `mdo/v4/crashes/crashlist/${groupId}`, false, false, null, {
|
|
58404
59563
|
app_id: applicationName,
|
|
@@ -58407,40 +59566,51 @@ class AxaService {
|
|
|
58407
59566
|
start_date: startTime.toISO(),
|
|
58408
59567
|
});
|
|
58409
59568
|
}
|
|
59569
|
+
/** Returns the detail payload for a single crash by its ID. */
|
|
58410
59570
|
getCrashDetails(crashId) {
|
|
58411
59571
|
return this.dxSaaSService.axaRequest('GET', `mdo/v4/crashes/crashes/${crashId}`, false, false, null);
|
|
58412
59572
|
}
|
|
59573
|
+
/** Creates a new AXA application. */
|
|
58413
59574
|
createApplication(application) {
|
|
58414
59575
|
this.log.debug('creating application using mda/v4');
|
|
58415
59576
|
return this.dxSaaSService.axaRequest('POST', 'mdo/v4/apps', false, false, application);
|
|
58416
59577
|
}
|
|
59578
|
+
/** Returns all AXA applications for the tenant. */
|
|
58417
59579
|
getApplications() {
|
|
58418
59580
|
this.log.debug('getting applications using mda/v4');
|
|
58419
59581
|
return this.dxSaaSService.axaRequest('GET', 'mdo/v4/apps', false, false);
|
|
58420
59582
|
}
|
|
59583
|
+
/** Returns a single AXA application by name. */
|
|
58421
59584
|
getApplication(applicationName) {
|
|
58422
59585
|
return this.dxSaaSService.axaRequest('GET', `mdo/v4/apps/${applicationName}`, false, false);
|
|
58423
59586
|
}
|
|
59587
|
+
/** Deletes an AXA application by name. */
|
|
58424
59588
|
deleteApplication(applicationName) {
|
|
58425
59589
|
return this.dxSaaSService.axaRequest('DELETE', `mdo/v4/apps/${applicationName}`, false, false);
|
|
58426
59590
|
}
|
|
59591
|
+
/** Returns all data collection profiles for the tenant. */
|
|
58427
59592
|
getDataCollectionProfiles() {
|
|
58428
59593
|
return this.dxSaaSService.axaRequest('GET', 'mdo/v4/profiles/tenant', false, false);
|
|
58429
59594
|
}
|
|
59595
|
+
/** Updates an existing data collection profile by its numeric ID. */
|
|
58430
59596
|
async updateDataCollectionProfile(profileId, updatedProfile) {
|
|
58431
59597
|
return this.dxSaaSService.axaRequest('PUT', `mdo/v4/profiles/${profileId}`, false, false, updatedProfile);
|
|
58432
59598
|
}
|
|
59599
|
+
/** Creates (imports) a data collection profile for a given cohort and application. */
|
|
58433
59600
|
async importDataCollectionProfile(cohortId, applicationName, updatedProfile) {
|
|
58434
59601
|
return this.dxSaaSService.axaRequest('POST', `mdo/v4/profiles/create/${cohortId}/${applicationName}`, false, false, updatedProfile);
|
|
58435
59602
|
}
|
|
59603
|
+
/** Returns the currently assigned data collection profile for an application. */
|
|
58436
59604
|
async getApplicationProfile(applicationName) {
|
|
58437
59605
|
return this.dxSaaSService.axaRequest('GET', `mdo/v4/profiles/${applicationName}`, false, false);
|
|
58438
59606
|
}
|
|
59607
|
+
/** Assigns a data collection profile to an application by profile ID. */
|
|
58439
59608
|
async setApplicationProfile(applicationName, profileId) {
|
|
58440
59609
|
return this.dxSaaSService.axaRequest('PUT', `mdo/v4/profiles/app/${applicationName}`, false, false, {}, {
|
|
58441
59610
|
profile_id: profileId,
|
|
58442
59611
|
});
|
|
58443
59612
|
}
|
|
59613
|
+
/** Returns user activity data for an application (last 24 hours). */
|
|
58444
59614
|
async getActivities(appName) {
|
|
58445
59615
|
return this.dxSaaSService.axaRequest('GET', 'mdo/v4/user_activity/activities/', false, false, {}, {
|
|
58446
59616
|
start_date: DateTime.now().minus({ days: 1 }).toISO(),
|
|
@@ -58450,6 +59620,7 @@ class AxaService {
|
|
|
58450
59620
|
cachebuster: DateTime.now().toMillis(),
|
|
58451
59621
|
});
|
|
58452
59622
|
}
|
|
59623
|
+
/** Returns screen-level activity data for an application (last 30 days). */
|
|
58453
59624
|
async getScreens(appName) {
|
|
58454
59625
|
return this.dxSaaSService.axaRequest('GET', 'mdo/v4/user_activity/screens/', false, false, {}, {
|
|
58455
59626
|
start_date: DateTime.now().minus({ days: 30 }).toISO(),
|
|
@@ -58460,6 +59631,7 @@ class AxaService {
|
|
|
58460
59631
|
num_of_results: 100,
|
|
58461
59632
|
});
|
|
58462
59633
|
}
|
|
59634
|
+
/** Creates a new user activity record. */
|
|
58463
59635
|
async createActivity(activityCreateRequest) {
|
|
58464
59636
|
return this.dxSaaSService.axaRequest('POST', 'mdo/v4/user_activity', false, false, activityCreateRequest);
|
|
58465
59637
|
}
|
|
@@ -58480,9 +59652,11 @@ class BlobService {
|
|
|
58480
59652
|
this.dxSaaSService = dxSaaSService;
|
|
58481
59653
|
this.log = log;
|
|
58482
59654
|
}
|
|
59655
|
+
/** Returns the list of available blob schemas. */
|
|
58483
59656
|
async listSchemas() {
|
|
58484
59657
|
return this.dxSaaSService.tenantPost('/blobstorage/schema/list', {});
|
|
58485
59658
|
}
|
|
59659
|
+
/** Fetches a blob by schema, ID, and optional version; returns the raw data string. */
|
|
58486
59660
|
async fetchBlob(schema, id, version) {
|
|
58487
59661
|
return this.dxSaaSService
|
|
58488
59662
|
.tenantPost('/blobstorage/blob/fetch', {}, {
|
|
@@ -58494,6 +59668,7 @@ class BlobService {
|
|
|
58494
59668
|
return response.data;
|
|
58495
59669
|
});
|
|
58496
59670
|
}
|
|
59671
|
+
/** Returns all blobs (without content) registered under a given schema. */
|
|
58497
59672
|
async listBlobsForSchema(schema) {
|
|
58498
59673
|
this.log.debug(`requesting all blobs for schema '${schema}'`);
|
|
58499
59674
|
return this.dxSaaSService.tenantPost('/blobstorage/blob/query', {
|
|
@@ -58518,6 +59693,7 @@ class ChannelService {
|
|
|
58518
59693
|
constructor(dxSaaSService) {
|
|
58519
59694
|
this.dxSaaSService = dxSaaSService;
|
|
58520
59695
|
}
|
|
59696
|
+
/** Returns all notification channels using the new DXChannelConfiguration model. */
|
|
58521
59697
|
retrieveAllChannelsNew() {
|
|
58522
59698
|
return this.dxSaaSService
|
|
58523
59699
|
.axaRequest('get', 'dxinotify/notify/v1/channels', true, false)
|
|
@@ -58525,6 +59701,7 @@ class ChannelService {
|
|
|
58525
59701
|
return channelResponseBody.channels;
|
|
58526
59702
|
});
|
|
58527
59703
|
}
|
|
59704
|
+
/** Returns all notification channels using the legacy Channel model. */
|
|
58528
59705
|
retrieveAllChannels() {
|
|
58529
59706
|
return this.dxSaaSService
|
|
58530
59707
|
.axaRequest('get', 'dxinotify/notify/v1/channels', true, false)
|
|
@@ -58532,30 +59709,35 @@ class ChannelService {
|
|
|
58532
59709
|
return channelResponseBody.channels;
|
|
58533
59710
|
});
|
|
58534
59711
|
}
|
|
59712
|
+
/** Creates a new notification channel using the new DXChannelConfiguration model. */
|
|
58535
59713
|
async createChannelNew(channelToCreate) {
|
|
58536
59714
|
delete channelToCreate.id;
|
|
58537
59715
|
channelToCreate.orgId = await this.dxSaaSService.getTenantCN();
|
|
58538
59716
|
channelToCreate.author = 'dx-do';
|
|
58539
59717
|
return this.dxSaaSService.axaRequest('put', 'dxinotify/notify/v1/channels', false, false, channelToCreate);
|
|
58540
59718
|
}
|
|
59719
|
+
/** Creates a new notification channel using the legacy Channel model. */
|
|
58541
59720
|
async createChannel(channelToCreate) {
|
|
58542
59721
|
delete channelToCreate.id;
|
|
58543
59722
|
channelToCreate.orgId = await this.dxSaaSService.getTenantCN();
|
|
58544
59723
|
channelToCreate.author = 'dx-do';
|
|
58545
59724
|
return this.dxSaaSService.axaRequest('put', 'dxinotify/notify/v1/channels', false, false, channelToCreate);
|
|
58546
59725
|
}
|
|
59726
|
+
/** Updates an existing channel by ID using the new DXChannelConfiguration model. */
|
|
58547
59727
|
async updateChannelNew(existingChannelId, channelUpdate) {
|
|
58548
59728
|
channelUpdate.orgId = await this.dxSaaSService.getTenantCN();
|
|
58549
59729
|
channelUpdate.id = existingChannelId;
|
|
58550
59730
|
channelUpdate.author = 'dx-do';
|
|
58551
59731
|
return this.dxSaaSService.axaRequest('put', 'dxinotify/notify/v1/channels', false, false, channelUpdate);
|
|
58552
59732
|
}
|
|
59733
|
+
/** Updates an existing channel by ID using the legacy Channel model. */
|
|
58553
59734
|
async updateChannel(existingChannelId, channelUpdate) {
|
|
58554
59735
|
channelUpdate.orgId = await this.dxSaaSService.getTenantCN();
|
|
58555
59736
|
channelUpdate.id = existingChannelId;
|
|
58556
59737
|
channelUpdate.author = 'dx-do';
|
|
58557
59738
|
return this.dxSaaSService.axaRequest('put', 'dxinotify/notify/v1/channels', false, false, channelUpdate);
|
|
58558
59739
|
}
|
|
59740
|
+
/** Returns all notification templates. */
|
|
58559
59741
|
retrieveAllTemplates() {
|
|
58560
59742
|
return this.dxSaaSService
|
|
58561
59743
|
.axaRequest('get', 'dxinotify/notify/v1/templates', false, true)
|
|
@@ -58563,6 +59745,7 @@ class ChannelService {
|
|
|
58563
59745
|
return templatesResponseBody.templates;
|
|
58564
59746
|
});
|
|
58565
59747
|
}
|
|
59748
|
+
/** Returns all notification filter policies. */
|
|
58566
59749
|
retrieveAllPolicies() {
|
|
58567
59750
|
return this.dxSaaSService
|
|
58568
59751
|
.axaRequest('get', 'dxinotify/notify/v1/filters', true, false)
|
|
@@ -58570,12 +59753,15 @@ class ChannelService {
|
|
|
58570
59753
|
return policyResponse.filters;
|
|
58571
59754
|
});
|
|
58572
59755
|
}
|
|
59756
|
+
/** Updates an existing notification filter policy. */
|
|
58573
59757
|
updatePolicy(policy) {
|
|
58574
59758
|
return this.dxSaaSService.axaRequest('put', 'dxinotify/notify/v1/filters', false, false, policy);
|
|
58575
59759
|
}
|
|
59760
|
+
/** Creates a new notification filter policy. */
|
|
58576
59761
|
createPolicy(policy) {
|
|
58577
59762
|
return this.dxSaaSService.axaRequest('put', 'dxinotify/notify/v1/filters', false, false, policy);
|
|
58578
59763
|
}
|
|
59764
|
+
/** Creates a new notification template with text (base64-encoded) and optional metadata. */
|
|
58579
59765
|
createTemplate(templateName, templateSubject, templateText, senderNameTemplate, locale, makeDefault, author) {
|
|
58580
59766
|
return this.dxSaaSService.axaRequest('put', 'dxinotify/notify/v1/templates', false, false, {
|
|
58581
59767
|
orgId: this.dxSaaSService.getTenantCN(),
|
|
@@ -58594,6 +59780,7 @@ class ChannelService {
|
|
|
58594
59780
|
templateText: Buffer.from(templateText).toString('base64'),
|
|
58595
59781
|
});
|
|
58596
59782
|
}
|
|
59783
|
+
/** Updates fields on an existing template; any omitted fields keep their current values. */
|
|
58597
59784
|
updateTemplate(currentTemplate, newTemplateName, newTemplateSubject, newTemplateText, senderNameTemplate, locale, makeDefault, author) {
|
|
58598
59785
|
currentTemplate.oldTemplateName = currentTemplate.templateName;
|
|
58599
59786
|
currentTemplate.templateName =
|
|
@@ -58617,11 +59804,13 @@ class DashboardService {
|
|
|
58617
59804
|
constructor(dxSaaSService) {
|
|
58618
59805
|
this.dxSaaSService = dxSaaSService;
|
|
58619
59806
|
}
|
|
59807
|
+
/** Returns the current org theme setting (e.g. "light" or "dark"). */
|
|
58620
59808
|
getTheme() {
|
|
58621
59809
|
return this.dxSaaSService
|
|
58622
59810
|
.dashboardGet('api/org/preferences')
|
|
58623
59811
|
.then((preferences) => preferences.theme);
|
|
58624
59812
|
}
|
|
59813
|
+
/** Sets the org theme preference. */
|
|
58625
59814
|
setTheme(themeString) {
|
|
58626
59815
|
return this.dxSaaSService
|
|
58627
59816
|
.dashboardPut('api/org/preferences', {
|
|
@@ -58633,9 +59822,11 @@ class DashboardService {
|
|
|
58633
59822
|
return undefined;
|
|
58634
59823
|
});
|
|
58635
59824
|
}
|
|
59825
|
+
/** Lists all API keys for the org. */
|
|
58636
59826
|
listApiKeys() {
|
|
58637
59827
|
return this.dxSaaSService.dashboardGet('api/auth/keys');
|
|
58638
59828
|
}
|
|
59829
|
+
/** Creates a new dashboard in the specified folder (clears the ID before sending). */
|
|
58639
59830
|
createDashboard(folderId, dashboard, updateCommitMessage) {
|
|
58640
59831
|
dashboard.id = undefined;
|
|
58641
59832
|
return this.dxSaaSService.dashboardPost('api/dashboards/db', {
|
|
@@ -58645,6 +59836,7 @@ class DashboardService {
|
|
|
58645
59836
|
message: updateCommitMessage,
|
|
58646
59837
|
});
|
|
58647
59838
|
}
|
|
59839
|
+
/** Updates an existing dashboard by ID, optionally overwriting the current version. */
|
|
58648
59840
|
updateDashboard(id, folderId, dashboard, updateCommitMessage, overwrite) {
|
|
58649
59841
|
if (!dashboard.id || dashboard.id != id) {
|
|
58650
59842
|
dashboard.id = id;
|
|
@@ -58656,23 +59848,28 @@ class DashboardService {
|
|
|
58656
59848
|
message: updateCommitMessage,
|
|
58657
59849
|
});
|
|
58658
59850
|
}
|
|
59851
|
+
/** Returns all dashboard tags used across the org. */
|
|
58659
59852
|
getAllDashboardTags() {
|
|
58660
59853
|
return this.dxSaaSService.dashboardGet('api/dashboards/tags');
|
|
58661
59854
|
}
|
|
59855
|
+
/** Appends new tags to a dashboard (skips tags already present). */
|
|
58662
59856
|
async addDashboardTags(uid, tags) {
|
|
58663
59857
|
const currentDashboard = await this.getDashboard(uid);
|
|
58664
59858
|
const actualNewTags = tags.filter((newTag) => !currentDashboard.dashboard.tags.includes(newTag));
|
|
58665
59859
|
currentDashboard.dashboard.tags.push(...actualNewTags);
|
|
58666
59860
|
return this.updateDashboard(currentDashboard.dashboard.id, currentDashboard.meta.folderId, currentDashboard.dashboard, `Added Tags: [${actualNewTags.join(',')}]`);
|
|
58667
59861
|
}
|
|
59862
|
+
/** Replaces all existing tags on a dashboard with the provided set. */
|
|
58668
59863
|
async replaceDashboardTags(uid, newTags) {
|
|
58669
59864
|
const currentDashboard = await this.getDashboard(uid);
|
|
58670
59865
|
currentDashboard.dashboard.tags = newTags;
|
|
58671
59866
|
return this.updateDashboard(currentDashboard.dashboard.id, currentDashboard.meta.folderId, currentDashboard.dashboard, `Replaced Tags: [${newTags.join(',')}]`);
|
|
58672
59867
|
}
|
|
59868
|
+
/** Returns the full dashboard (model + meta) for a given UID. */
|
|
58673
59869
|
getDashboard(uid) {
|
|
58674
59870
|
return this.dxSaaSService.dashboardGet(`api/dashboards/uid/${uid}`);
|
|
58675
59871
|
}
|
|
59872
|
+
/** Returns all dashboards within a specific folder. */
|
|
58676
59873
|
getDashboardsInFolder(folderId) {
|
|
58677
59874
|
return this.dxSaaSService.dashboardGet('api/search', {
|
|
58678
59875
|
type: exports.DashboardSearch.SearchType.DASHBOARD,
|
|
@@ -58680,23 +59877,28 @@ class DashboardService {
|
|
|
58680
59877
|
folderIds: folderId,
|
|
58681
59878
|
});
|
|
58682
59879
|
}
|
|
59880
|
+
/** Searches dashboards or folders by type and query string. */
|
|
58683
59881
|
search(searchType, query) {
|
|
58684
59882
|
return this.dxSaaSService.dashboardGet('api/search', {
|
|
58685
59883
|
type: searchType,
|
|
58686
59884
|
query: query,
|
|
58687
59885
|
});
|
|
58688
59886
|
}
|
|
59887
|
+
/** Returns folder metadata by numeric folder ID. */
|
|
58689
59888
|
getFolderById(folderId) {
|
|
58690
59889
|
return this.dxSaaSService.dashboardGet(`api/folders/id/${folderId}`);
|
|
58691
59890
|
}
|
|
59891
|
+
/** Returns folder metadata by UID string. */
|
|
58692
59892
|
getFolderByUid(folderUid) {
|
|
58693
59893
|
return this.dxSaaSService.dashboardGet(`api/folders/${folderUid}`);
|
|
58694
59894
|
}
|
|
59895
|
+
/** Returns the UID for a folder with the given title, or `undefined` if not found. */
|
|
58695
59896
|
getFolderUid(folderTitle) {
|
|
58696
59897
|
return this.getFoldersMapByTitle().then((folderMap) => {
|
|
58697
59898
|
return folderMap.get(folderTitle)?.uid ?? undefined;
|
|
58698
59899
|
});
|
|
58699
59900
|
}
|
|
59901
|
+
/** Returns a map of folder title → folder item for all folders. */
|
|
58700
59902
|
getFoldersMapByTitle() {
|
|
58701
59903
|
return this.getFolders().then((folders) => {
|
|
58702
59904
|
return folders.reduce(function (map, folder) {
|
|
@@ -58705,9 +59907,11 @@ class DashboardService {
|
|
|
58705
59907
|
}, new Map());
|
|
58706
59908
|
});
|
|
58707
59909
|
}
|
|
59910
|
+
/** Returns all folders for the org. */
|
|
58708
59911
|
getFolders() {
|
|
58709
59912
|
return this.dxSaaSService.dashboardGet('api/folders');
|
|
58710
59913
|
}
|
|
59914
|
+
/** Creates a new folder with the given title and optional UID. */
|
|
58711
59915
|
createFolder(folderTitle, folderUid) {
|
|
58712
59916
|
const body = {
|
|
58713
59917
|
title: folderTitle,
|
|
@@ -58717,9 +59921,11 @@ class DashboardService {
|
|
|
58717
59921
|
}
|
|
58718
59922
|
return this.dxSaaSService.dashboardPost('api/folders', body);
|
|
58719
59923
|
}
|
|
59924
|
+
/** Returns the permission list for a folder by UID. */
|
|
58720
59925
|
getFolderPermissions(folderUid) {
|
|
58721
59926
|
return this.dxSaaSService.dashboardGet(`api/folders/${folderUid}/permissions`);
|
|
58722
59927
|
}
|
|
59928
|
+
/** Adds a permission entry for a user to a folder, preserving existing permissions. */
|
|
58723
59929
|
async addFolderPermission(folderUid, userId, permissionType) {
|
|
58724
59930
|
const existingPermissions = await this.getFolderPermissions(folderUid);
|
|
58725
59931
|
const updatePermissions = new Array();
|
|
@@ -58753,6 +59959,7 @@ class DashboardService {
|
|
|
58753
59959
|
});
|
|
58754
59960
|
return this.setFolderPermissions(folderUid, updatePermissions);
|
|
58755
59961
|
}
|
|
59962
|
+
/** Issues a multi-search against the audit log datasource using a session cookie. */
|
|
58756
59963
|
mSearch(validSessionCookie, startTime, endTime) {
|
|
58757
59964
|
const body1 = {
|
|
58758
59965
|
search_type: 'query_then_fetch',
|
|
@@ -58789,13 +59996,16 @@ class DashboardService {
|
|
|
58789
59996
|
const body = JSON.stringify(body1) + '\n' + JSON.stringify(body2);
|
|
58790
59997
|
return this.dxSaaSService.dashboardCookiePost('api/datasources/proxy/29484/_msearch', body, {}, { Cookie: validSessionCookie });
|
|
58791
59998
|
}
|
|
59999
|
+
/** Replaces all permissions on a folder with the provided list. */
|
|
58792
60000
|
setFolderPermissions(folderUid, permissions) {
|
|
58793
60001
|
return this.dxSaaSService.dashboardPost(`api/folders/${folderUid}/permissions`, { items: permissions });
|
|
58794
60002
|
}
|
|
60003
|
+
/** Searches org users by a query term (useful for permission assignment). */
|
|
58795
60004
|
searchUsers(searchTerm) {
|
|
58796
60005
|
// /api/users/search?perpage=10&page=1&query=mygraf
|
|
58797
60006
|
return this.dxSaaSService.dashboardGet('api/org/users/lookup', { query: searchTerm });
|
|
58798
60007
|
}
|
|
60008
|
+
/** Looks up a single org user by email or login name. */
|
|
58799
60009
|
lookupUser(userEmail) {
|
|
58800
60010
|
return this.dxSaaSService.dashboardGet('api/org/users/lookup', {
|
|
58801
60011
|
loginOrEmail: userEmail,
|
|
@@ -64338,10 +65548,12 @@ class DxSaasService {
|
|
|
64338
65548
|
getTokenUser() {
|
|
64339
65549
|
return getUserTokenSub(this.dxdoConfiguration.dxConfiguration.userToken);
|
|
64340
65550
|
}
|
|
65551
|
+
/** Verify connectivity by fetching the ATC view list. */
|
|
64341
65552
|
ping() {
|
|
64342
65553
|
this.log.debug('Pinging DX Tenant');
|
|
64343
65554
|
return this.tenantGet('/atc/views/view', { skipCount: 'true' });
|
|
64344
65555
|
}
|
|
65556
|
+
/** Authenticate and return the current user's profile from the AXA security endpoint. */
|
|
64345
65557
|
auth() {
|
|
64346
65558
|
return this.axaRequest('GET', 'ess/security/v1/me', false, false);
|
|
64347
65559
|
}
|
|
@@ -64375,6 +65587,14 @@ class DxSaasService {
|
|
|
64375
65587
|
this.log.debug(`debug: prepared axa session host as ${gwURL.toString()}`);
|
|
64376
65588
|
return gwURL.toString();
|
|
64377
65589
|
}
|
|
65590
|
+
/**
|
|
65591
|
+
* Fetch AXA session events (APM Synthetic / AXA user sessions) from the Elasticsearch exporter.
|
|
65592
|
+
* @param startTimestamp - Start of the time window (epoch ms).
|
|
65593
|
+
* @param endTimestamp - End of the time window (epoch ms).
|
|
65594
|
+
* @param maxSessions - Maximum number of session records to return.
|
|
65595
|
+
* @param appId - AXA application ID to filter by.
|
|
65596
|
+
* @param query - Optional Lucene query string override. Defaults to `app.id:"<appId>"`.
|
|
65597
|
+
*/
|
|
64378
65598
|
async axaSessionRequest(startTimestamp, endTimestamp, maxSessions, appId, query) {
|
|
64379
65599
|
if (!query) {
|
|
64380
65600
|
query = `app.id:"${appId}"`;
|
|
@@ -64426,6 +65646,16 @@ class DxSaasService {
|
|
|
64426
65646
|
async getConnectorConfig() {
|
|
64427
65647
|
return this.axaRequest('GET', 'ess/udsconfig/v1/connectorconfig', false, false);
|
|
64428
65648
|
}
|
|
65649
|
+
/**
|
|
65650
|
+
* Issue an arbitrary HTTP request to the AXA sub-domain (Elasticsearch exporter or UDS config).
|
|
65651
|
+
* @param method - HTTP method.
|
|
65652
|
+
* @param path - Path relative to the AXA host, optionally suffixed with tenant CN.
|
|
65653
|
+
* @param appendTenantToPath - When `true`, the tenant common name is appended to `path`.
|
|
65654
|
+
* @param appendOrgIdToParams - When `true`, `orgid` query param is added automatically.
|
|
65655
|
+
* @param body - Request body (non-GET only).
|
|
65656
|
+
* @param params - Query-string parameters.
|
|
65657
|
+
* @param extraHeaders - Additional request headers.
|
|
65658
|
+
*/
|
|
64429
65659
|
async axaRequest(method, path, appendTenantToPath, appendOrgIdToParams, body, params, extraHeaders) {
|
|
64430
65660
|
const url = `${this.dxdoConfiguration.dxConfiguration.dxGatewayHost}${this.getCohortIDForURL()}/${path}${appendTenantToPath ? '/' + (await this.getTenantCN()) : ''}`;
|
|
64431
65661
|
this.log.debug('retrieving axa:', url);
|
|
@@ -64462,6 +65692,11 @@ class DxSaasService {
|
|
|
64462
65692
|
}
|
|
64463
65693
|
});
|
|
64464
65694
|
}
|
|
65695
|
+
/**
|
|
65696
|
+
* Issue an HTTP PATCH to a tenant-scoped path under the DX gateway.
|
|
65697
|
+
* @param path - Relative path after the cohort segment.
|
|
65698
|
+
* @param body - Partial update payload.
|
|
65699
|
+
*/
|
|
64465
65700
|
async tenantPatch(path, body) {
|
|
64466
65701
|
const url = `${this.dxdoConfiguration.dxConfiguration.dxGatewayHost}${this.getCohortIDForURL()}/${path}`;
|
|
64467
65702
|
return this._httpClient
|
|
@@ -64478,6 +65713,13 @@ class DxSaasService {
|
|
|
64478
65713
|
}
|
|
64479
65714
|
});
|
|
64480
65715
|
}
|
|
65716
|
+
/**
|
|
65717
|
+
* Issue an HTTP POST to a tenant-scoped path under the DX gateway.
|
|
65718
|
+
* @param path - Relative path after the cohort segment (e.g. `"atc/views/view"`).
|
|
65719
|
+
* @param body - Request body (JSON-serializable). Defaults to `{}`.
|
|
65720
|
+
* @param params - Query-string parameters.
|
|
65721
|
+
* @param headers - Additional request headers merged over the auth header.
|
|
65722
|
+
*/
|
|
64481
65723
|
async tenantPost(path, body, params, headers = {}) {
|
|
64482
65724
|
const url = `${this.dxdoConfiguration.dxConfiguration.dxGatewayHost}${this.getCohortIDForURL()}/${path}`;
|
|
64483
65725
|
const requestConfig = this.createSimpleUserAuthorizedRequestConfig(params ?? {});
|
|
@@ -64497,6 +65739,12 @@ class DxSaasService {
|
|
|
64497
65739
|
}
|
|
64498
65740
|
});
|
|
64499
65741
|
}
|
|
65742
|
+
/**
|
|
65743
|
+
* Issue an HTTP PUT to a tenant-scoped path under the DX gateway.
|
|
65744
|
+
* @param path - Relative path after the cohort segment.
|
|
65745
|
+
* @param body - Request body.
|
|
65746
|
+
* @param params - Query-string parameters.
|
|
65747
|
+
*/
|
|
64500
65748
|
async tenantPut(path, body, params) {
|
|
64501
65749
|
const url = `${this.dxdoConfiguration.dxConfiguration.dxGatewayHost}${this.getCohortIDForURL()}/${path}`;
|
|
64502
65750
|
return this._httpClient
|
|
@@ -64513,6 +65761,10 @@ class DxSaasService {
|
|
|
64513
65761
|
}
|
|
64514
65762
|
});
|
|
64515
65763
|
}
|
|
65764
|
+
/**
|
|
65765
|
+
* Issue an HTTP POST to a tenant path and return the response as a Node.js stream.
|
|
65766
|
+
* Useful for large binary downloads (e.g. metric data exports).
|
|
65767
|
+
*/
|
|
64516
65768
|
async tenantPostForStream(path, body, params) {
|
|
64517
65769
|
const url = `${this.dxdoConfiguration.dxConfiguration.dxGatewayHost}${this.getCohortIDForURL()}/${path}`;
|
|
64518
65770
|
const config = this.createSimpleUserAuthorizedRequestConfig(params ?? {});
|
|
@@ -64531,6 +65783,15 @@ class DxSaasService {
|
|
|
64531
65783
|
}
|
|
64532
65784
|
});
|
|
64533
65785
|
}
|
|
65786
|
+
/**
|
|
65787
|
+
* Issue an arbitrary HTTP method to a tenant-scoped path.
|
|
65788
|
+
* Prefer the typed helpers (`tenantGet`, `tenantPost`, etc.) when the method is known.
|
|
65789
|
+
* @param method - HTTP method (GET, POST, PUT, DELETE, …).
|
|
65790
|
+
* @param path - Relative path after the cohort segment.
|
|
65791
|
+
* @param body - Request body (non-GET methods only).
|
|
65792
|
+
* @param params - Query-string parameters.
|
|
65793
|
+
* @param extraHeaders - Additional request headers.
|
|
65794
|
+
*/
|
|
64534
65795
|
async tenantRequest(method, path, body, params, extraHeaders) {
|
|
64535
65796
|
const url = `${this.dxdoConfiguration.dxConfiguration.dxGatewayHost}${this.getCohortIDForURL()}/${path}`;
|
|
64536
65797
|
if (!params) {
|
|
@@ -64562,6 +65823,12 @@ class DxSaasService {
|
|
|
64562
65823
|
}
|
|
64563
65824
|
});
|
|
64564
65825
|
}
|
|
65826
|
+
/**
|
|
65827
|
+
* Issue an HTTP GET to a tenant-scoped path under the DX gateway.
|
|
65828
|
+
* @param path - Relative path after the cohort segment.
|
|
65829
|
+
* @param params - Query-string parameters.
|
|
65830
|
+
* @param extraHeaders - Additional request headers.
|
|
65831
|
+
*/
|
|
64565
65832
|
async tenantGet(path, params, extraHeaders) {
|
|
64566
65833
|
const url = `${this.dxdoConfiguration.dxConfiguration.dxGatewayHost}${this.getCohortIDForURL()}/${path}`;
|
|
64567
65834
|
const config = this.createSimpleUserAuthorizedRequestConfig(params ?? {});
|
|
@@ -64587,6 +65854,12 @@ class DxSaasService {
|
|
|
64587
65854
|
}
|
|
64588
65855
|
});
|
|
64589
65856
|
}
|
|
65857
|
+
/**
|
|
65858
|
+
* Issue an HTTP DELETE to a tenant-scoped path under the DX gateway.
|
|
65859
|
+
* @param path - Relative path after the cohort segment.
|
|
65860
|
+
* @param params - Query-string parameters.
|
|
65861
|
+
* @param extraHeaders - Additional request headers.
|
|
65862
|
+
*/
|
|
64590
65863
|
async tenantDelete(path, params, extraHeaders) {
|
|
64591
65864
|
const url = `${this.dxdoConfiguration.dxConfiguration.dxGatewayHost}${this.getCohortIDForURL()}/${path}`;
|
|
64592
65865
|
const config = this.createSimpleUserAuthorizedRequestConfig(params ?? {});
|
|
@@ -64629,6 +65902,13 @@ class DxSaasService {
|
|
|
64629
65902
|
params: params,
|
|
64630
65903
|
};
|
|
64631
65904
|
}
|
|
65905
|
+
/**
|
|
65906
|
+
* POST to an OI (Operational Intelligence) path with `x-authorizationview: VIEWALL` header.
|
|
65907
|
+
* @param path - Relative path after the cohort segment.
|
|
65908
|
+
* @param body - Request body.
|
|
65909
|
+
* @param params - Query-string parameters.
|
|
65910
|
+
* @param extraHeaders - Additional request headers.
|
|
65911
|
+
*/
|
|
64632
65912
|
async oiPost(path, body, params, extraHeaders) {
|
|
64633
65913
|
const url = `${this.dxdoConfiguration.dxConfiguration.dxGatewayHost}${this.getCohortIDForURL()}/${path}`;
|
|
64634
65914
|
const config = this.createUserAuthorizedRequestConfig(params ?? {});
|
|
@@ -64654,6 +65934,12 @@ class DxSaasService {
|
|
|
64654
65934
|
}
|
|
64655
65935
|
});
|
|
64656
65936
|
}
|
|
65937
|
+
/**
|
|
65938
|
+
* GET from an OI (Operational Intelligence) path with `x-authorizationview: VIEWALL` header.
|
|
65939
|
+
* @param path - Relative path after the cohort segment.
|
|
65940
|
+
* @param params - Query-string parameters.
|
|
65941
|
+
* @param extraHeaders - Additional request headers.
|
|
65942
|
+
*/
|
|
64657
65943
|
async oiGet(path, params, extraHeaders) {
|
|
64658
65944
|
const url = `${this.dxdoConfiguration.dxConfiguration.dxGatewayHost}${this.getCohortIDForURL()}/${path}`;
|
|
64659
65945
|
const config = this.createUserAuthorizedRequestConfig(params ?? {});
|
|
@@ -64679,6 +65965,12 @@ class DxSaasService {
|
|
|
64679
65965
|
}
|
|
64680
65966
|
});
|
|
64681
65967
|
}
|
|
65968
|
+
/**
|
|
65969
|
+
* GET from an ACC path, returning the response as a Node.js readable stream.
|
|
65970
|
+
* @param path - Path segment appended after `.../acc/`.
|
|
65971
|
+
* @param params - Query-string parameters.
|
|
65972
|
+
* @param extraHeaders - Additional request headers.
|
|
65973
|
+
*/
|
|
64682
65974
|
async accStream(path, params, extraHeaders) {
|
|
64683
65975
|
const url = `${this.dxdoConfiguration.dxConfiguration.dxGatewayHost}${this.getCohortIDForURL()}/acc/${path}`;
|
|
64684
65976
|
const aheaders = this.createUserAuthorizedRequestConfig(params);
|
|
@@ -64709,6 +66001,12 @@ class DxSaasService {
|
|
|
64709
66001
|
}
|
|
64710
66002
|
});
|
|
64711
66003
|
}
|
|
66004
|
+
/**
|
|
66005
|
+
* GET from an ACC path.
|
|
66006
|
+
* @param path - Path segment appended after `.../acc/`.
|
|
66007
|
+
* @param params - Query-string parameters.
|
|
66008
|
+
* @param extraHeaders - Additional request headers.
|
|
66009
|
+
*/
|
|
64712
66010
|
async accGet(path, params, extraHeaders) {
|
|
64713
66011
|
const url = `${this.dxdoConfiguration.dxConfiguration.dxGatewayHost}${this.getCohortIDForURL()}/acc/${path}`;
|
|
64714
66012
|
const aheaders = this.createUserAuthorizedRequestConfig({});
|
|
@@ -64738,6 +66036,13 @@ class DxSaasService {
|
|
|
64738
66036
|
}
|
|
64739
66037
|
});
|
|
64740
66038
|
}
|
|
66039
|
+
/**
|
|
66040
|
+
* PATCH to an ACC path.
|
|
66041
|
+
* @param path - Path segment appended after `.../acc/`.
|
|
66042
|
+
* @param body - Partial update payload.
|
|
66043
|
+
* @param params - Query-string parameters.
|
|
66044
|
+
* @param extraHeaders - Additional request headers.
|
|
66045
|
+
*/
|
|
64741
66046
|
async accPatch(path, body, params, extraHeaders) {
|
|
64742
66047
|
const url = `${this.dxdoConfiguration.dxConfiguration.dxGatewayHost}${this.getCohortIDForURL()}/acc/${path}`;
|
|
64743
66048
|
const headers = this.createUserAuthorizedRequestConfig({}).headers;
|
|
@@ -64767,6 +66072,13 @@ class DxSaasService {
|
|
|
64767
66072
|
}
|
|
64768
66073
|
});
|
|
64769
66074
|
}
|
|
66075
|
+
/**
|
|
66076
|
+
* POST a file to an ACC path using `multipart/form-data`.
|
|
66077
|
+
* @param urlpath - Path segment appended after `.../acc/`.
|
|
66078
|
+
* @param filepath - Absolute path on disk to the file to upload.
|
|
66079
|
+
* @param params - Query-string parameters.
|
|
66080
|
+
* @param extraHeaders - Additional request headers.
|
|
66081
|
+
*/
|
|
64770
66082
|
async accPostFile(urlpath, filepath, params, extraHeaders) {
|
|
64771
66083
|
const url = `${this.dxdoConfiguration.dxConfiguration.dxGatewayHost}${this.getCohortIDForURL()}/acc/${path__namespace}`;
|
|
64772
66084
|
const headers = this.createUserAuthorizedRequestConfig({}).headers;
|
|
@@ -64806,6 +66118,13 @@ class DxSaasService {
|
|
|
64806
66118
|
}
|
|
64807
66119
|
});
|
|
64808
66120
|
}
|
|
66121
|
+
/**
|
|
66122
|
+
* POST to an ACC path.
|
|
66123
|
+
* @param path - Path segment appended after `.../acc/`.
|
|
66124
|
+
* @param body - Request body.
|
|
66125
|
+
* @param params - Query-string parameters.
|
|
66126
|
+
* @param extraHeaders - Additional request headers.
|
|
66127
|
+
*/
|
|
64809
66128
|
async accPost(path, body, params, extraHeaders) {
|
|
64810
66129
|
const url = `${this.dxdoConfiguration.dxConfiguration.dxGatewayHost}${this.getCohortIDForURL()}/acc/${path}`;
|
|
64811
66130
|
const headers = this.createUserAuthorizedRequestConfig({}).headers;
|
|
@@ -64845,6 +66164,12 @@ class DxSaasService {
|
|
|
64845
66164
|
return {};
|
|
64846
66165
|
}
|
|
64847
66166
|
}
|
|
66167
|
+
/**
|
|
66168
|
+
* GET from a Dashboard (Grafana) path under `.../dxd/`.
|
|
66169
|
+
* @param path - Path segment appended after `.../dxd/`.
|
|
66170
|
+
* @param params - Query-string parameters.
|
|
66171
|
+
* @param extraHeaders - Additional request headers.
|
|
66172
|
+
*/
|
|
64848
66173
|
async dashboardGet(path, params, extraHeaders) {
|
|
64849
66174
|
const url = `${this.dxdoConfiguration.dxConfiguration.dxGatewayHost}${this.getCohortIDForURL()}/dxd/${path}`;
|
|
64850
66175
|
const headers = this.createDashboardAuthorizedRequestHeaders();
|
|
@@ -64874,6 +66199,12 @@ class DxSaasService {
|
|
|
64874
66199
|
}
|
|
64875
66200
|
});
|
|
64876
66201
|
}
|
|
66202
|
+
/**
|
|
66203
|
+
* DELETE from a Dashboard (Grafana) path under `.../dxd/`.
|
|
66204
|
+
* @param path - Path segment appended after `.../dxd/`.
|
|
66205
|
+
* @param params - Query-string parameters.
|
|
66206
|
+
* @param extraHeaders - Additional request headers.
|
|
66207
|
+
*/
|
|
64877
66208
|
async dashboardDelete(path, params, extraHeaders) {
|
|
64878
66209
|
const url = `${this.dxdoConfiguration.dxConfiguration.dxGatewayHost}${this.getCohortIDForURL()}/dxd/${path}`;
|
|
64879
66210
|
const headers = this.createDashboardAuthorizedRequestHeaders();
|
|
@@ -64903,6 +66234,10 @@ class DxSaasService {
|
|
|
64903
66234
|
}
|
|
64904
66235
|
});
|
|
64905
66236
|
}
|
|
66237
|
+
/**
|
|
66238
|
+
* POST to a Dashboard path using cookie-based (anonymous) auth instead of the bearer token.
|
|
66239
|
+
* Used for Grafana endpoints that authenticate via session cookies.
|
|
66240
|
+
*/
|
|
64906
66241
|
async dashboardCookiePost(path, body, params, extraHeaders) {
|
|
64907
66242
|
const url = `${this.dxdoConfiguration.dxConfiguration.dxGatewayHost}${this.getCohortIDForURL()}/dxd/${path}`;
|
|
64908
66243
|
const headers = {};
|
|
@@ -64934,6 +66269,13 @@ class DxSaasService {
|
|
|
64934
66269
|
}
|
|
64935
66270
|
});
|
|
64936
66271
|
}
|
|
66272
|
+
/**
|
|
66273
|
+
* POST to a Dashboard (Grafana) path under `.../dxd/`.
|
|
66274
|
+
* @param path - Path segment appended after `.../dxd/`.
|
|
66275
|
+
* @param body - Request body.
|
|
66276
|
+
* @param params - Query-string parameters.
|
|
66277
|
+
* @param extraHeaders - Additional request headers.
|
|
66278
|
+
*/
|
|
64937
66279
|
async dashboardPost(path, body, params, extraHeaders) {
|
|
64938
66280
|
const url = `${this.dxdoConfiguration.dxConfiguration.dxGatewayHost}${this.getCohortIDForURL()}/dxd/${path}`;
|
|
64939
66281
|
const headers = this.createDashboardAuthorizedRequestHeaders();
|
|
@@ -64964,6 +66306,13 @@ class DxSaasService {
|
|
|
64964
66306
|
}
|
|
64965
66307
|
});
|
|
64966
66308
|
}
|
|
66309
|
+
/**
|
|
66310
|
+
* PUT to a Dashboard (Grafana) path under `.../dxd/`.
|
|
66311
|
+
* @param path - Path segment appended after `.../dxd/`.
|
|
66312
|
+
* @param body - Request body.
|
|
66313
|
+
* @param params - Query-string parameters.
|
|
66314
|
+
* @param extraHeaders - Additional request headers.
|
|
66315
|
+
*/
|
|
64967
66316
|
async dashboardPut(path, body, params, extraHeaders) {
|
|
64968
66317
|
const url = `${this.dxdoConfiguration.dxConfiguration.dxGatewayHost}${this.getCohortIDForURL()}/dxd/${path}`;
|
|
64969
66318
|
const headers = this.createDashboardAuthorizedRequestHeaders();
|
|
@@ -65078,26 +66427,31 @@ class DxoiService {
|
|
|
65078
66427
|
constructor(dxSaaSService) {
|
|
65079
66428
|
this.dxSaaSService = dxSaaSService;
|
|
65080
66429
|
}
|
|
66430
|
+
/** Returns top-level OI services using the default service request body. */
|
|
65081
66431
|
getServices() {
|
|
65082
66432
|
const filterBody = exports.OIService.DEFAULT_SERVICE_REQUEST_BODY;
|
|
65083
66433
|
return this.dxSaaSService.oiPost('oi/v2/servicerepo/services', filterBody);
|
|
65084
66434
|
}
|
|
66435
|
+
/** Returns cluster alarms (situations) within the given time range. */
|
|
65085
66436
|
async getSituations(startTime, endTime) {
|
|
65086
66437
|
const alarmRequestBody = DEFAULT_SITUATIONS_REQUEST_BODY;
|
|
65087
66438
|
alarmRequestBody.timeFrom = startTime.toMillis();
|
|
65088
66439
|
alarmRequestBody.timeTo = endTime.toMillis();
|
|
65089
66440
|
return this.dxSaaSService.oiPost('oi/v2/api/clusteralarms/_search', alarmRequestBody);
|
|
65090
66441
|
}
|
|
66442
|
+
/** Returns the entity-detail attributes for a given entity external ID. */
|
|
65091
66443
|
async getEntityAttributes(entityExternalId) {
|
|
65092
66444
|
return this.dxSaaSService.oiPost('oi/v3/api/inventory/entity-details', {
|
|
65093
66445
|
externalId: entityExternalId,
|
|
65094
66446
|
});
|
|
65095
66447
|
}
|
|
66448
|
+
/** Returns a single alarm by its ID. */
|
|
65096
66449
|
async getAlarm(alarmId) {
|
|
65097
66450
|
return this.dxSaaSService.oiGet('oi/v2/api/alarms/_search', {
|
|
65098
66451
|
alarmId: alarmId,
|
|
65099
66452
|
});
|
|
65100
66453
|
}
|
|
66454
|
+
/** Returns the lifecycle event history for a given alarm ID. */
|
|
65101
66455
|
async getAlarmLifeCycle(alarmId) {
|
|
65102
66456
|
const alarmLifeCycleRequestBody = {
|
|
65103
66457
|
alarmId: alarmId,
|
|
@@ -65113,6 +66467,7 @@ class DxoiService {
|
|
|
65113
66467
|
};
|
|
65114
66468
|
return this.dxSaaSService.oiPost('oi/v2/api/alarms/lifecycle/_search', alarmLifeCycleRequestBody);
|
|
65115
66469
|
}
|
|
66470
|
+
/** Returns all alarms in a time range, paginating until the full count is fetched. */
|
|
65116
66471
|
async getAlarms(startTime, endTime) {
|
|
65117
66472
|
const alarmRequestBody = DEFAULT_ALARMS_REQUEST_BODY;
|
|
65118
66473
|
alarmRequestBody.timeFrom = startTime.toMillis();
|
|
@@ -65154,6 +66509,7 @@ class EventService {
|
|
|
65154
66509
|
this.dxSaaSService = dxSaaSService;
|
|
65155
66510
|
this.log = log;
|
|
65156
66511
|
}
|
|
66512
|
+
/** Ingests a custom alarm event via the Jarvis ingestion API. */
|
|
65157
66513
|
createAlarm(alarmEvent) {
|
|
65158
66514
|
const ingestionBody = {
|
|
65159
66515
|
documents: [
|
|
@@ -65174,6 +66530,7 @@ class EventService {
|
|
|
65174
66530
|
index_name: 'ao_itoa_alarms_custom_1',
|
|
65175
66531
|
});
|
|
65176
66532
|
}
|
|
66533
|
+
/** Ingests a custom event (non-change) via the Jarvis ingestion API. */
|
|
65177
66534
|
createEvent(changeEvent) {
|
|
65178
66535
|
const ingestionBody = {
|
|
65179
66536
|
documents: [
|
|
@@ -65194,6 +66551,7 @@ class EventService {
|
|
|
65194
66551
|
index_name: 'ao_itoa_events_custom_1',
|
|
65195
66552
|
});
|
|
65196
66553
|
}
|
|
66554
|
+
/** Ingests a custom change event via the Jarvis ingestion API. */
|
|
65197
66555
|
createChangeEvent(changeEvent) {
|
|
65198
66556
|
const ingestionBody = {
|
|
65199
66557
|
documents: [
|
|
@@ -65214,6 +66572,7 @@ class EventService {
|
|
|
65214
66572
|
index_name: 'ao_itoa_events_change_custom_1',
|
|
65215
66573
|
});
|
|
65216
66574
|
}
|
|
66575
|
+
/** Queries change events using a Lucene query string within a time range. */
|
|
65217
66576
|
queryChangeEvents(luceneQuery, startTime, endTime, from = 0, size = 100) {
|
|
65218
66577
|
return this.dxSaaSService.oiGet('oi/v2/aoanalytics/events/events_change_custom/_search', {
|
|
65219
66578
|
q: luceneQuery,
|
|
@@ -65240,6 +66599,7 @@ class ExperienceService {
|
|
|
65240
66599
|
this.dxSaaSService = dxSaaSService;
|
|
65241
66600
|
this.log = log;
|
|
65242
66601
|
}
|
|
66602
|
+
/** Returns a map of experience name → latest experience settings (one entry per name). */
|
|
65243
66603
|
async getLatestExperienceSettings() {
|
|
65244
66604
|
const experienceSettings = await this.getExperienceSettings();
|
|
65245
66605
|
const nameExperienceSettingsMap = new Map();
|
|
@@ -65250,6 +66610,7 @@ class ExperienceService {
|
|
|
65250
66610
|
});
|
|
65251
66611
|
return nameExperienceSettingsMap;
|
|
65252
66612
|
}
|
|
66613
|
+
/** Returns a map of experience ID → latest experience settings (one entry per ID). */
|
|
65253
66614
|
async getLatestExperienceSettingsById() {
|
|
65254
66615
|
const experienceSettings = await this.getExperienceSettings();
|
|
65255
66616
|
const idExperienceSettingsMap = new Map();
|
|
@@ -65260,9 +66621,11 @@ class ExperienceService {
|
|
|
65260
66621
|
});
|
|
65261
66622
|
return idExperienceSettingsMap;
|
|
65262
66623
|
}
|
|
66624
|
+
/** Returns all raw experience settings items from the API. */
|
|
65263
66625
|
async getExperienceSettings() {
|
|
65264
66626
|
return this.dxSaaSService.tenantGet('/apm/atc/api/private/settings/experience');
|
|
65265
66627
|
}
|
|
66628
|
+
/** Returns a single experience settings record by its ID; throws if not found. */
|
|
65266
66629
|
async getExperienceSettingsById(experienceId) {
|
|
65267
66630
|
const experiencesById = await this.getLatestExperienceSettingsById();
|
|
65268
66631
|
if (experiencesById.has(experienceId)) {
|
|
@@ -65272,6 +66635,7 @@ class ExperienceService {
|
|
|
65272
66635
|
throw new Error(`Experience ${experienceId} not found.`);
|
|
65273
66636
|
}
|
|
65274
66637
|
}
|
|
66638
|
+
/** Returns top-level experience data for all configured experiences in a time range. */
|
|
65275
66639
|
async getTopLevelExperiences(startTime, endTime) {
|
|
65276
66640
|
const latestExperienceSettings = await this.getLatestExperienceSettings();
|
|
65277
66641
|
const dashboardExperienceRequestItems = new Array();
|
|
@@ -65292,10 +66656,12 @@ class ExperienceService {
|
|
|
65292
66656
|
};
|
|
65293
66657
|
return this.dxSaaSService.tenantPost('/atc/dashboard/experience', request);
|
|
65294
66658
|
}
|
|
66659
|
+
/** Returns drilldown experience data filtered by the given attribute values. */
|
|
65295
66660
|
async getDrilldownExperiences(experienceId, drilldown, startTime, endTime) {
|
|
65296
66661
|
const experienceSettings = await this.getExperienceSettingsById(experienceId);
|
|
65297
66662
|
return this.dxSaaSService.tenantPost('/atc/dashboard/application', this.createDrilldownExperienceRequestBody(experienceSettings, drilldown, startTime, endTime));
|
|
65298
66663
|
}
|
|
66664
|
+
/** Returns experience data for a single experience ID in a time range. */
|
|
65299
66665
|
async getExperiences(experienceId, startTime, endTime) {
|
|
65300
66666
|
const experienceSettings = await this.getExperienceSettingsById(experienceId);
|
|
65301
66667
|
return this.dxSaaSService.tenantPost('/atc/dashboard/application', this.createExperienceRequestBody(experienceSettings, startTime, endTime));
|
|
@@ -65335,9 +66701,11 @@ class ExperienceService {
|
|
|
65335
66701
|
throw new Error('drilldown has more layers than experience has groupings');
|
|
65336
66702
|
}
|
|
65337
66703
|
}
|
|
66704
|
+
/** Imports (creates) an experience settings record from a partial payload. */
|
|
65338
66705
|
async importExperience(experience) {
|
|
65339
66706
|
return this.dxSaaSService.tenantPost('/apm/atc/api/private/settings/experience', experience);
|
|
65340
66707
|
}
|
|
66708
|
+
/** Creates a new experience settings definition with the given name, universe, and group attributes. */
|
|
65341
66709
|
async createExperience(experienceName, universeId, groupAttributes, graphType, owner) {
|
|
65342
66710
|
return this.dxSaaSService.tenantPost('/apm/atc/api/private/settings/experience', {
|
|
65343
66711
|
type: 'experience',
|
|
@@ -65351,6 +66719,7 @@ class ExperienceService {
|
|
|
65351
66719
|
},
|
|
65352
66720
|
});
|
|
65353
66721
|
}
|
|
66722
|
+
/** Deletes an experience settings definition by its ID. */
|
|
65354
66723
|
async deleteExperience(experienceId) {
|
|
65355
66724
|
return this.dxSaaSService.tenantDelete(`/apm/atc/api/private/settings/experience/${experienceId}`);
|
|
65356
66725
|
}
|
|
@@ -68007,9 +69376,11 @@ class GraphService {
|
|
|
68007
69376
|
constructor(dxSaaSService) {
|
|
68008
69377
|
this.dxSaaSService = dxSaaSService;
|
|
68009
69378
|
}
|
|
69379
|
+
/** Stores a graph (vertices and edges) using the appmap ATS graph store endpoint. */
|
|
68010
69380
|
async storeGraph(graphBody) {
|
|
68011
69381
|
return this.dxSaaSService.tenantPost('/apm/appmap/ats/graph/store', graphBody);
|
|
68012
69382
|
}
|
|
69383
|
+
/** Returns an HTTP stream of the graph range (diff between two times) for a universe. */
|
|
68013
69384
|
retrieveGraphRangeStream(universeId, startDateTime, endDateTime, layer = GraphLayer$1.INFRASTRUCTURE) {
|
|
68014
69385
|
const graphRangeRequestParams = {
|
|
68015
69386
|
endTime: endDateTime.toISO(),
|
|
@@ -68026,6 +69397,7 @@ class GraphService {
|
|
|
68026
69397
|
};
|
|
68027
69398
|
return this.dxSaaSService.tenantPostForStream('/apm/atc/api/private/graph/range', graphRangeRequestBody, graphRangeRequestParams);
|
|
68028
69399
|
}
|
|
69400
|
+
/** Returns an HTTP stream of the full graph for a universe and layer. */
|
|
68029
69401
|
retrieveGraphStream(universeId, layer = GraphLayer$1.ATC) {
|
|
68030
69402
|
const graphRequestBody = {
|
|
68031
69403
|
includedVertices: [],
|
|
@@ -68036,6 +69408,7 @@ class GraphService {
|
|
|
68036
69408
|
};
|
|
68037
69409
|
return this.dxSaaSService.tenantPostForStream('/apm/atc/api/private/graph/', graphRequestBody, { universeId: universeId, layer: 'ATC' });
|
|
68038
69410
|
}
|
|
69411
|
+
/** Collects all edges and vertices from a graph stream into a `GraphElements` result. */
|
|
68039
69412
|
async getGraphElementsFromStream(graphStream) {
|
|
68040
69413
|
const graphElementMaps = await this.getGraphElementMapsFromStream(graphStream);
|
|
68041
69414
|
return {
|
|
@@ -68043,6 +69416,7 @@ class GraphService {
|
|
|
68043
69416
|
vertices: Array.from(graphElementMaps.vertices.values()),
|
|
68044
69417
|
};
|
|
68045
69418
|
}
|
|
69419
|
+
/** Collects all edges and vertices from a graph stream into keyed maps. */
|
|
68046
69420
|
async getGraphElementMapsFromStream(graphStream) {
|
|
68047
69421
|
const edges = new Map();
|
|
68048
69422
|
const nodes = new Map();
|
|
@@ -68055,6 +69429,7 @@ class GraphService {
|
|
|
68055
69429
|
await this.processGraphStreamWithHandlers(graphStream, r1EdgeHandler, r1NodeHandler);
|
|
68056
69430
|
return { edges: edges, vertices: nodes };
|
|
68057
69431
|
}
|
|
69432
|
+
/** Processes a graph stream, dispatching each edge/vertex to the provided handler callbacks. */
|
|
68058
69433
|
processGraphStreamWithHandlers(graphStream, edgeHandler, vertexHandler) {
|
|
68059
69434
|
const edgePipeline = chain$2([
|
|
68060
69435
|
graphStream,
|
|
@@ -68090,6 +69465,7 @@ class GraphService {
|
|
|
68090
69465
|
edgePipeline.on('error', (error) => reject(error));
|
|
68091
69466
|
});
|
|
68092
69467
|
}
|
|
69468
|
+
/** Processes a graph stream, emitting each edge/vertex to the provided RxJS subjects. */
|
|
68093
69469
|
processGraphStream(graphStream, edgeSubject, vertexSubject, layer = GraphLayer$1.ATC) {
|
|
68094
69470
|
const edgePipeline = chain$2([
|
|
68095
69471
|
graphStream,
|
|
@@ -68118,8 +69494,8 @@ class GraphService {
|
|
|
68118
69494
|
}
|
|
68119
69495
|
|
|
68120
69496
|
/**
|
|
68121
|
-
* Service for
|
|
68122
|
-
*
|
|
69497
|
+
* Service for entity inventory: search, lookup, inventorize configuration
|
|
69498
|
+
* management, and related metric retrieval across the OI topology.
|
|
68123
69499
|
*/
|
|
68124
69500
|
class InventoryService {
|
|
68125
69501
|
dxSaaSService;
|
|
@@ -68137,16 +69513,19 @@ class InventoryService {
|
|
|
68137
69513
|
this.dxTASService = dxTASService;
|
|
68138
69514
|
this.log = log;
|
|
68139
69515
|
}
|
|
69516
|
+
/** Lists all inventorize (topology creator) rule configurations. */
|
|
68140
69517
|
async listInventorizeConfigurations() {
|
|
68141
69518
|
return this.dxSaaSService
|
|
68142
69519
|
.oiGet('oi/v2/topologycreator/rules/list')
|
|
68143
69520
|
.then((response) => response.config);
|
|
68144
69521
|
}
|
|
69522
|
+
/** Creates (saves) a new inventorize rule configuration. */
|
|
68145
69523
|
async createInventorizeConfiguration(inventorizeConfiguration) {
|
|
68146
69524
|
return this.dxSaaSService.oiPost('oi/v2/topologycreator/rules/save', {
|
|
68147
69525
|
config: [inventorizeConfiguration],
|
|
68148
69526
|
});
|
|
68149
69527
|
}
|
|
69528
|
+
/** Previews the entities that would be created by an inventorize configuration. */
|
|
68150
69529
|
async previewInventorizeConfiguration(inventorizeConfiguration) {
|
|
68151
69530
|
const body = {
|
|
68152
69531
|
config: [inventorizeConfiguration],
|
|
@@ -68154,14 +69533,17 @@ class InventoryService {
|
|
|
68154
69533
|
console.log(JSON.stringify(body, null, 2));
|
|
68155
69534
|
return this.dxSaaSService.oiPost('oi/v2/topologycreator/rules/preview', body);
|
|
68156
69535
|
}
|
|
69536
|
+
/** Deletes an existing inventorize rule configuration. */
|
|
68157
69537
|
async deleteInventorizeConfiguration(inventorizeConfiguration) {
|
|
68158
69538
|
return this.dxSaaSService.oiPost('oi/v2/topologycreator/rules/delete', {
|
|
68159
69539
|
config: [inventorizeConfiguration],
|
|
68160
69540
|
});
|
|
68161
69541
|
}
|
|
69542
|
+
/** Performs an inventory lookup using a structured lookup request. */
|
|
68162
69543
|
async lookupInventory(lookupRequest) {
|
|
68163
69544
|
return this.dxSaaSService.oiPost('oi/v2/api/maintenance/inventory/_search', lookupRequest);
|
|
68164
69545
|
}
|
|
69546
|
+
/** Returns the distinct list of `product` attribute values present in the topology. */
|
|
68165
69547
|
async listInventorySources() {
|
|
68166
69548
|
const productAttributeTASQuery = {
|
|
68167
69549
|
filter: {
|
|
@@ -68180,13 +69562,16 @@ class InventoryService {
|
|
|
68180
69562
|
const tasQueryResult = await this.dxTASService.executeQuery(productAttributeTASQuery);
|
|
68181
69563
|
return tasQueryResult.analytics[0].values.map((value) => value.attribValue);
|
|
68182
69564
|
}
|
|
69565
|
+
/** Searches the OI v3 inventory using a structured search request body. */
|
|
68183
69566
|
async searchInventory(inventorySearchRequestBody) {
|
|
68184
69567
|
this.log.debug('searching inventory');
|
|
68185
69568
|
return this.dxSaaSService.oiPost('oi/v3/api/inventory/_search', inventorySearchRequestBody);
|
|
68186
69569
|
}
|
|
69570
|
+
/** Returns available attribute names for a given inventory attribute request. */
|
|
68187
69571
|
async getAttributes(attributeRequest) {
|
|
68188
69572
|
return this.dxSaaSService.oiPost('oi/v3/queryTas/attributeNames', attributeRequest);
|
|
68189
69573
|
}
|
|
69574
|
+
/** Returns a map of externalId → registered metrics for the given entity IDs. */
|
|
68190
69575
|
async getRelatedMetrics(externalIds) {
|
|
68191
69576
|
const topoMetadataResults = (await this.dxNASSService.query({
|
|
68192
69577
|
query: [
|
|
@@ -68258,9 +69643,11 @@ class JsExtensionService {
|
|
|
68258
69643
|
this.dxSaaSService = dxSaaSService;
|
|
68259
69644
|
this.log = log;
|
|
68260
69645
|
}
|
|
69646
|
+
/** Returns all JavaScript extensions registered for the tenant. */
|
|
68261
69647
|
getJSExtensions() {
|
|
68262
69648
|
return this.dxSaaSService.tenantGet('/apm/atc/api/private/em/extensions');
|
|
68263
69649
|
}
|
|
69650
|
+
/** Disables a JavaScript extension by name and file size. */
|
|
68264
69651
|
disableJSExtension(name, size) {
|
|
68265
69652
|
const base64name = Buffer.from(name).toString('base64');
|
|
68266
69653
|
const disableBody = {
|
|
@@ -68273,6 +69660,7 @@ class JsExtensionService {
|
|
|
68273
69660
|
this.log.debug(`disabling js extension ${name}`);
|
|
68274
69661
|
return this.dxSaaSService.tenantPut(`/apm/atc/api/private/em/extensions/${base64name}`, disableBody);
|
|
68275
69662
|
}
|
|
69663
|
+
/** Enables a previously disabled JavaScript extension by name and file size. */
|
|
68276
69664
|
enableJSExtension(name, size) {
|
|
68277
69665
|
const base64name = Buffer.from(name).toString('base64');
|
|
68278
69666
|
const enableBody = {
|
|
@@ -68284,12 +69672,14 @@ class JsExtensionService {
|
|
|
68284
69672
|
};
|
|
68285
69673
|
return this.dxSaaSService.tenantPut(`/apm/atc/api/private/em/extensions/${base64name}`, enableBody);
|
|
68286
69674
|
}
|
|
69675
|
+
/** Deletes a JavaScript extension by name. */
|
|
68287
69676
|
deleteJSExtension(name) {
|
|
68288
69677
|
const base64name = Buffer.from(name).toString('base64');
|
|
68289
69678
|
return (this.dxSaaSService.tenantDelete(`/apm/atc/api/private/em/extensions/${base64name}`, {
|
|
68290
69679
|
extensionDisabled: false,
|
|
68291
69680
|
}));
|
|
68292
69681
|
}
|
|
69682
|
+
/** Uploads and creates a new JavaScript extension from a local source file. */
|
|
68293
69683
|
createJSExtension(scriptName, sourcefile) {
|
|
68294
69684
|
const fsize = fs__namespace.statSync(sourcefile).size;
|
|
68295
69685
|
const jsStream = fs__namespace.createReadStream(sourcefile);
|
|
@@ -68312,6 +69702,7 @@ class LogsService {
|
|
|
68312
69702
|
constructor(dxSaasService) {
|
|
68313
69703
|
this.dxSaasService = dxSaasService;
|
|
68314
69704
|
}
|
|
69705
|
+
/** Executes a log query against the OI log analytics filter API. */
|
|
68315
69706
|
queryLogs(logQueryBody) {
|
|
68316
69707
|
return this.dxSaasService.oiPost('oi/loganalytics/v1/api/logs/filter', logQueryBody);
|
|
68317
69708
|
}
|
|
@@ -68327,6 +69718,7 @@ class ManagementModuleService {
|
|
|
68327
69718
|
constructor(dxSaaSService) {
|
|
68328
69719
|
this.dxSaaSService = dxSaaSService;
|
|
68329
69720
|
}
|
|
69721
|
+
/** Returns all management modules for the tenant (up to 500). */
|
|
68330
69722
|
retrieveManagementModules() {
|
|
68331
69723
|
return this.dxSaaSService.tenantPost('atc/private/internal/module/query', ManagementModuleService.createManagementModuleListRequestBody());
|
|
68332
69724
|
}
|
|
@@ -68336,6 +69728,7 @@ class ManagementModuleService {
|
|
|
68336
69728
|
offset: offset ?? 0,
|
|
68337
69729
|
};
|
|
68338
69730
|
}
|
|
69731
|
+
/** Returns all calculators associated with a management module. */
|
|
68339
69732
|
getManagementModuleCalculators(managementModuleId) {
|
|
68340
69733
|
return this.dxSaaSService
|
|
68341
69734
|
.tenantPost('atc/private/internal/calculator/query', {
|
|
@@ -68347,25 +69740,30 @@ class ManagementModuleService {
|
|
|
68347
69740
|
return response.items || [];
|
|
68348
69741
|
});
|
|
68349
69742
|
}
|
|
69743
|
+
/** Creates a new calculator (strips ID if present before sending). */
|
|
68350
69744
|
createCalculator(calculator) {
|
|
68351
69745
|
if (calculator.id) {
|
|
68352
69746
|
delete calculator.id;
|
|
68353
69747
|
}
|
|
68354
69748
|
return this.dxSaaSService.tenantPost('atc/private/internal/calculator', calculator);
|
|
68355
69749
|
}
|
|
69750
|
+
/** Finds a management module by its exact ID; returns `undefined` if not found. */
|
|
68356
69751
|
getManagementModuleById(id) {
|
|
68357
69752
|
return this.retrieveManagementModules().then((managementModulesList) => {
|
|
68358
69753
|
return managementModulesList.items.find((mgmtModule) => mgmtModule.id === id);
|
|
68359
69754
|
});
|
|
68360
69755
|
}
|
|
69756
|
+
/** Imports an existing management module object (creates it on the target tenant). */
|
|
68361
69757
|
importManagementModule(managementModule) {
|
|
68362
69758
|
return this.dxSaaSService.tenantPost('atc/private/internal/module', managementModule);
|
|
68363
69759
|
}
|
|
69760
|
+
/** Deletes a management module by its ID. */
|
|
68364
69761
|
deleteManagementModule(managementModuleId) {
|
|
68365
69762
|
return this.dxSaaSService.tenantPost('atc/private/internal/module/delete', {
|
|
68366
69763
|
itemId: managementModuleId,
|
|
68367
69764
|
});
|
|
68368
69765
|
}
|
|
69766
|
+
/** Creates a new management module with the given name, description, active flag, and agent expressions. */
|
|
68369
69767
|
createManagementModule(name, description, active, agentExpressions) {
|
|
68370
69768
|
return this.dxSaaSService.tenantPost('atc/private/internal/module', ManagementModuleService.createManagementModuleCreateRequestBody(name, description, active, agentExpressions));
|
|
68371
69769
|
}
|
|
@@ -68377,6 +69775,7 @@ class ManagementModuleService {
|
|
|
68377
69775
|
agentExpressions: agentExpressions,
|
|
68378
69776
|
};
|
|
68379
69777
|
}
|
|
69778
|
+
/** Copies an existing management module to a new one with an optional new name/description/active state. */
|
|
68380
69779
|
copyManagementModule(targetManagementModuleId, newManagementModuleName, description, active) {
|
|
68381
69780
|
return this.getManagementModuleById(targetManagementModuleId).then((mgmtModule) => {
|
|
68382
69781
|
if (!mgmtModule) {
|
|
@@ -68385,6 +69784,7 @@ class ManagementModuleService {
|
|
|
68385
69784
|
return this.createManagementModule(newManagementModuleName, description ? description : mgmtModule.description, active == null ? mgmtModule.active : active, mgmtModule.agentExpressions);
|
|
68386
69785
|
});
|
|
68387
69786
|
}
|
|
69787
|
+
/** Updates fields on an existing management module; `null` values leave the field unchanged. */
|
|
68388
69788
|
updateManagementModule(id, managementModuleName, description, active, agentExpressions) {
|
|
68389
69789
|
return this.getManagementModuleById(id).then((mgmtModule) => {
|
|
68390
69790
|
if (!mgmtModule) {
|
|
@@ -68393,6 +69793,7 @@ class ManagementModuleService {
|
|
|
68393
69793
|
return this.dxSaaSService.tenantPost('/apm/atc/api/private/module', this.createManagementModuleUpdateRequestBody(mgmtModule, id, managementModuleName, description, active, agentExpressions));
|
|
68394
69794
|
});
|
|
68395
69795
|
}
|
|
69796
|
+
/** Builds an update request body by applying changed fields to the existing module. */
|
|
68396
69797
|
createManagementModuleUpdateRequestBody(originalMgmtModule, id, name, description, active, agentExpressions) {
|
|
68397
69798
|
if (active !== null) {
|
|
68398
69799
|
originalMgmtModule['active'] = active;
|
|
@@ -68428,12 +69829,15 @@ class MetricBatchService {
|
|
|
68428
69829
|
this.log = log;
|
|
68429
69830
|
MetricBatchService.staticLog = this.log;
|
|
68430
69831
|
}
|
|
69832
|
+
/** Retrieves a metric batch using a metric grouping and management module agent expressions. */
|
|
68431
69833
|
retrieveMetricsBatch(metricGrouping, managementModule) {
|
|
68432
69834
|
return this.dxSaaSService.tenantPost('/apm/atc/api/private/metric/batch', MetricBatchService.createMetricBatchRequestRequestBody(metricGrouping, managementModule));
|
|
68433
69835
|
}
|
|
69836
|
+
/** Retrieves a metric batch using explicit time range and frequency parameters. */
|
|
68434
69837
|
retrieveSimpleMetricsBatch(metricGrouping, endTime, range, frequency) {
|
|
68435
69838
|
return this.dxSaaSService.tenantPost('/apm/atc/api/private/metric/batch', MetricBatchService.createSimpleMetricBatchRequestRequestBody(metricGrouping, endTime, range, frequency));
|
|
68436
69839
|
}
|
|
69840
|
+
/** Returns the metric attributes for a full metric path (must start with `SuperDomain` and include `:metricName`). */
|
|
68437
69841
|
getMetricAttributesForFullMetricPath(fullMetricPath, metricUniverse) {
|
|
68438
69842
|
if (fullMetricPath.indexOf(':') < 0 ||
|
|
68439
69843
|
!fullMetricPath.startsWith('SuperDomain')) {
|
|
@@ -68461,16 +69865,20 @@ class MetricBatchService {
|
|
|
68461
69865
|
}
|
|
68462
69866
|
});
|
|
68463
69867
|
}
|
|
69868
|
+
/** Executes a vertex metric query for a given time range. */
|
|
68464
69869
|
async executeVertexMetricQuery(metricQueryReq, startTime, endTime) {
|
|
68465
69870
|
// metricQueryReq.queryRange = InputTimeParsing.getVertexMetricQueryTimeParameters(startTime.toMillis(), endTime.toMillis());
|
|
68466
69871
|
return this.dxSaaSService.tenantPost('/atc/private/internal/metrics/queryMetric', metricQueryReq, { ignoreUniverse: true });
|
|
68467
69872
|
}
|
|
69873
|
+
/** @deprecated No-op placeholder; returns `this`. */
|
|
68468
69874
|
getMetricIdForPathNew() {
|
|
68469
69875
|
return this;
|
|
68470
69876
|
}
|
|
69877
|
+
/** Returns the metric tree for a given metric resource path and universe. */
|
|
68471
69878
|
getMetricIdForPath(metricResourcePath, universeId) {
|
|
68472
69879
|
return this.dxSaaSService.tenantPost('/apm/atc/api/private/metrictree/query', MetricBatchService.createMetricTreeRequestBody(metricResourcePath, universeId));
|
|
68473
69880
|
}
|
|
69881
|
+
/** Returns metric attributes and their values for a metric tree ID over a time window. */
|
|
68474
69882
|
getMetricAttributesAndValues(metricTreeId, endTime, frequency, rangeSize) {
|
|
68475
69883
|
return this.dxSaaSService
|
|
68476
69884
|
.tenantPost('/metrics/queryMetric', MetricBatchService.getMetricAttributeQueryBody(metricTreeId, endTime, frequency, rangeSize))
|
|
@@ -68484,6 +69892,7 @@ class MetricBatchService {
|
|
|
68484
69892
|
}
|
|
68485
69893
|
});
|
|
68486
69894
|
}
|
|
69895
|
+
/** Returns only the metric attribute keys (no values) for a metric tree ID. */
|
|
68487
69896
|
getMetricAttributes(metricTreeId) {
|
|
68488
69897
|
return this.dxSaaSService
|
|
68489
69898
|
.tenantPost('/metrics/queryMetric', MetricBatchService.getMetricAttributeQueryBody(metricTreeId))
|
|
@@ -68641,9 +70050,11 @@ class MetricGroupingService {
|
|
|
68641
70050
|
this.log = log;
|
|
68642
70051
|
MetricGroupingService.staticLog = this.log;
|
|
68643
70052
|
}
|
|
70053
|
+
/** Creates a new metric grouping using the v2 internal API. */
|
|
68644
70054
|
async createMetricGroupingV2(metricGrouping) {
|
|
68645
70055
|
return await this.dxSaaSService.tenantPost('atc/private/internal/grouping', metricGrouping);
|
|
68646
70056
|
}
|
|
70057
|
+
/** Creates a new metric grouping using the legacy API, resolving the management module first. */
|
|
68647
70058
|
async createMetricGrouping(managementModuleId, metricGroupingName, metricGroupingExpressions, description, useManagementModuleAgentExpression, active, editable) {
|
|
68648
70059
|
const managementModule = await this.managementModuleService.getManagementModuleById(managementModuleId);
|
|
68649
70060
|
if (!managementModule) {
|
|
@@ -68659,6 +70070,7 @@ class MetricGroupingService {
|
|
|
68659
70070
|
editable: editable,
|
|
68660
70071
|
});
|
|
68661
70072
|
}
|
|
70073
|
+
/** Returns a single metric grouping by full ID (resolves management module from ID prefix). */
|
|
68662
70074
|
retrieveMetricGrouping(metricGroupingId) {
|
|
68663
70075
|
const mgParts = metricGroupingId.split(':');
|
|
68664
70076
|
const mgmtModuleId = mgParts[0] + ':' + mgParts[1];
|
|
@@ -68675,12 +70087,14 @@ class MetricGroupingService {
|
|
|
68675
70087
|
}
|
|
68676
70088
|
});
|
|
68677
70089
|
}
|
|
70090
|
+
/** Returns a single metric grouping (v2) by ID with usage info. */
|
|
68678
70091
|
async getMetricGroupingV2(metricGroupingId, managementModuleId) {
|
|
68679
70092
|
return this.dxSaaSService.tenantPost('atc/private/internal/grouping/get', {
|
|
68680
70093
|
mmId: managementModuleId,
|
|
68681
70094
|
itemId: metricGroupingId,
|
|
68682
70095
|
}, { includeUsage: true });
|
|
68683
70096
|
}
|
|
70097
|
+
/** Returns all metric groupings (v2) for a management module with usage info. */
|
|
68684
70098
|
async retrieveMetricGroupingsV2(managementModuleId) {
|
|
68685
70099
|
const managementModule = await this.managementModuleService.getManagementModuleById(managementModuleId);
|
|
68686
70100
|
if (!managementModule) {
|
|
@@ -68693,6 +70107,7 @@ class MetricGroupingService {
|
|
|
68693
70107
|
includeUsage: true,
|
|
68694
70108
|
});
|
|
68695
70109
|
}
|
|
70110
|
+
/** Returns all metric groupings for a management module using the legacy API. */
|
|
68696
70111
|
retrieveMetricGroupings(managementModuleId, offset) {
|
|
68697
70112
|
return this.managementModuleService
|
|
68698
70113
|
.getManagementModuleById(managementModuleId)
|
|
@@ -68736,6 +70151,7 @@ class NASSService {
|
|
|
68736
70151
|
this.dxSaaSService = dxSaaSService;
|
|
68737
70152
|
this.log = log;
|
|
68738
70153
|
}
|
|
70154
|
+
/** Registers one or more metrics in the NASS metadata store. */
|
|
68739
70155
|
async registerMetrics(metricRegistrations) {
|
|
68740
70156
|
const metricRegistrationBody = {
|
|
68741
70157
|
metrics: metricRegistrations,
|
|
@@ -68756,6 +70172,7 @@ class NASSService {
|
|
|
68756
70172
|
};
|
|
68757
70173
|
}
|
|
68758
70174
|
}
|
|
70175
|
+
/** Returns metric metadata for a list of metric IDs. */
|
|
68759
70176
|
async queryMetadataByIDs(ids) {
|
|
68760
70177
|
const metadataQuery = {
|
|
68761
70178
|
specifier: {
|
|
@@ -68765,6 +70182,7 @@ class NASSService {
|
|
|
68765
70182
|
};
|
|
68766
70183
|
return this.dxSaaSService.tenantPost('/metadata/queryMetric', metadataQuery);
|
|
68767
70184
|
}
|
|
70185
|
+
/** Queries metric time-series data for a source/attribute specifier over a time range. */
|
|
68768
70186
|
async queryMetricData(sourceName, sourceOpType, attributeName, attributeOpType, endTimeEpochSeconds, rangeInSeconds, frequency, clampSize = 500) {
|
|
68769
70187
|
const metricDataQuery = {
|
|
68770
70188
|
querySpecifier: {
|
|
@@ -68782,6 +70200,7 @@ class NASSService {
|
|
|
68782
70200
|
this.log.debug(JSON.stringify(metricDataQuery, null, 2));
|
|
68783
70201
|
return this.dxSaaSService.tenantPost('/metrics/queryMetric', metricDataQuery);
|
|
68784
70202
|
}
|
|
70203
|
+
/** Queries metric metadata by source and attribute name specifiers. */
|
|
68785
70204
|
async queryMetadata(sourceName, sourceOpType, attributeName, attributeOpType) {
|
|
68786
70205
|
const metadataQuery = {
|
|
68787
70206
|
specifier: {
|
|
@@ -68792,6 +70211,7 @@ class NASSService {
|
|
|
68792
70211
|
};
|
|
68793
70212
|
return this.dxSaaSService.tenantPost('/metadata/queryMetric', metadataQuery);
|
|
68794
70213
|
}
|
|
70214
|
+
/** Registers a single metric with the given source/attribute name, type, and custom attributes. */
|
|
68795
70215
|
async registerMetric(sourceName, attributeName, metricType, attributes) {
|
|
68796
70216
|
const metricRegistrationBody = {
|
|
68797
70217
|
metrics: [
|
|
@@ -68805,6 +70225,7 @@ class NASSService {
|
|
|
68805
70225
|
};
|
|
68806
70226
|
return this.dxSaaSService.tenantPost('/metadata/registerMetric', metricRegistrationBody);
|
|
68807
70227
|
}
|
|
70228
|
+
/** Stores one or more metric values in the NASS metric value store. */
|
|
68808
70229
|
async storeMetricValue(metricValues) {
|
|
68809
70230
|
const metricStoreBody = { values: new Array() };
|
|
68810
70231
|
metricValues.forEach((metricValue) => metricStoreBody.values.push([
|
|
@@ -68818,6 +70239,7 @@ class NASSService {
|
|
|
68818
70239
|
]));
|
|
68819
70240
|
return this.dxSaaSService.tenantPost('/nass/metricValue/store', metricStoreBody);
|
|
68820
70241
|
}
|
|
70242
|
+
/** Executes a raw NASS pipeline query (e.g. FROM_TOPOLOGY + JOIN_METADATA). */
|
|
68821
70243
|
async query(nassQuery) {
|
|
68822
70244
|
return this.dxSaaSService.tenantPost('/atc/private/internal/metrics/nassQuery', nassQuery);
|
|
68823
70245
|
}
|
|
@@ -68832,6 +70254,7 @@ class NotificationService {
|
|
|
68832
70254
|
constructor(dxSaaSService) {
|
|
68833
70255
|
this.dxSaaSService = dxSaaSService;
|
|
68834
70256
|
}
|
|
70257
|
+
/** Returns all configured event notification services for the tenant. */
|
|
68835
70258
|
retrieveNotificationServices() {
|
|
68836
70259
|
return this.dxSaaSService.tenantGet('/apm/atc/api/private/eventnotification', {}, {});
|
|
68837
70260
|
}
|
|
@@ -68846,6 +70269,7 @@ class O2NotificationService {
|
|
|
68846
70269
|
constructor(dxSaaSService) {
|
|
68847
70270
|
this.dxSaaSService = dxSaaSService;
|
|
68848
70271
|
}
|
|
70272
|
+
/** Fetches all configured notification channels from the O2 notify API. */
|
|
68849
70273
|
retrieveNotificationChannels() {
|
|
68850
70274
|
return this.dxSaaSService.axaRequest('GET', 'notify/notify/v1/channels', true, false, {}, {});
|
|
68851
70275
|
}
|
|
@@ -68869,6 +70293,7 @@ class O2UniverseService {
|
|
|
68869
70293
|
this.dxTASService = dxTASService;
|
|
68870
70294
|
this.simpleLog = simpleLog;
|
|
68871
70295
|
}
|
|
70296
|
+
/** Returns all O2 universes (views owned by OI), including inactive ones. */
|
|
68872
70297
|
retrieveAllUniverses() {
|
|
68873
70298
|
return this.dxSaaSService
|
|
68874
70299
|
.tenantPost('views/queryView', {
|
|
@@ -68883,6 +70308,7 @@ class O2UniverseService {
|
|
|
68883
70308
|
return universeList.views;
|
|
68884
70309
|
});
|
|
68885
70310
|
}
|
|
70311
|
+
/** Returns a map of service name → universe labels it belongs to. */
|
|
68886
70312
|
async getServiceNameToUniverseLabelMap() {
|
|
68887
70313
|
const serviceUniverseNameMap = new SetMap();
|
|
68888
70314
|
const universeNameServiceMap = await this.getUniverseLabelToServiceNameMap();
|
|
@@ -68893,6 +70319,7 @@ class O2UniverseService {
|
|
|
68893
70319
|
});
|
|
68894
70320
|
return serviceUniverseNameMap;
|
|
68895
70321
|
}
|
|
70322
|
+
/** Returns a map of universe label → set of service names via TAS queries on each universe's TAS views. */
|
|
68896
70323
|
async getUniverseLabelToServiceNameMap() {
|
|
68897
70324
|
const universeServiceNameMap = new SetMap();
|
|
68898
70325
|
const allUniverses = await this.retrieveAllUniverses();
|
|
@@ -68933,6 +70360,7 @@ class O2UniverseService {
|
|
|
68933
70360
|
});
|
|
68934
70361
|
return universeServiceNameMap;
|
|
68935
70362
|
}
|
|
70363
|
+
/** Returns a single O2 universe by its view ID; throws if not exactly one result. */
|
|
68936
70364
|
retrieveUniverseByViewId(viewId) {
|
|
68937
70365
|
return this.dxSaaSService
|
|
68938
70366
|
.tenantPost('views/queryView', {
|
|
@@ -68946,9 +70374,11 @@ class O2UniverseService {
|
|
|
68946
70374
|
return universeList.views[0];
|
|
68947
70375
|
});
|
|
68948
70376
|
}
|
|
70377
|
+
/** Creates a new O2 universe from the given request body. */
|
|
68949
70378
|
createUniverse(universe) {
|
|
68950
70379
|
return this.dxSaaSService.tenantPost('/views/view', universe);
|
|
68951
70380
|
}
|
|
70381
|
+
/** Builds a group access permission object for use in universe creation. */
|
|
68952
70382
|
createGroupAccessBody(groupName, canManage) {
|
|
68953
70383
|
return {
|
|
68954
70384
|
name: groupName,
|
|
@@ -68958,6 +70388,7 @@ class O2UniverseService {
|
|
|
68958
70388
|
attributeInclude: [],
|
|
68959
70389
|
};
|
|
68960
70390
|
}
|
|
70391
|
+
/** Builds a user access permission object for use in universe creation. */
|
|
68961
70392
|
createUserAccessBody(userName, canManage) {
|
|
68962
70393
|
return {
|
|
68963
70394
|
name: userName,
|
|
@@ -68967,6 +70398,7 @@ class O2UniverseService {
|
|
|
68967
70398
|
attributeInclude: [],
|
|
68968
70399
|
};
|
|
68969
70400
|
}
|
|
70401
|
+
/** Generates a full create-universe request body with TAS and NASS filters for the given services. */
|
|
68970
70402
|
generateCreateUniverseRequestBody(name, description, serviceNames) {
|
|
68971
70403
|
const tasAllFilter = {
|
|
68972
70404
|
op: 'ALL',
|
|
@@ -69024,19 +70456,122 @@ class PerspectiveService {
|
|
|
69024
70456
|
this.log = log;
|
|
69025
70457
|
this.log = log ?? new NullSimpleLog$1();
|
|
69026
70458
|
}
|
|
70459
|
+
/** Returns all perspectives (groupings) for the tenant. */
|
|
69027
70460
|
getPerspectives() {
|
|
69028
70461
|
this.log.debug('getting perspectives');
|
|
69029
70462
|
return this.dxSaaSService.tenantGet('/apm/atc/api/private/grouping');
|
|
69030
70463
|
}
|
|
70464
|
+
/** Creates a new perspective (grouping). */
|
|
69031
70465
|
createPerspective(perspective) {
|
|
69032
70466
|
return this.dxSaaSService.tenantPost('/apm/atc/api/private/grouping', perspective);
|
|
69033
70467
|
}
|
|
70468
|
+
/** Deletes a perspective by its ID. */
|
|
69034
70469
|
async deletePerspective(id) {
|
|
69035
70470
|
const result = await this.dxSaaSService.tenantDelete(`/apm/atc/api/private/grouping/${id}`);
|
|
69036
70471
|
this.log.debug('deletion result', result);
|
|
69037
70472
|
}
|
|
69038
70473
|
}
|
|
69039
70474
|
|
|
70475
|
+
/**
|
|
70476
|
+
* Service for platform (o2/v2) alert specs: search, save, and retrieve
|
|
70477
|
+
* available message template fields.
|
|
70478
|
+
*
|
|
70479
|
+
* These operate against the `/oi/v2/alert/spec/` endpoints and are distinct
|
|
70480
|
+
* from the legacy ATC alert API. The UI refers to these as "alarms" but they
|
|
70481
|
+
* are modeled here as "alerts" for consistency; `alarmType` is preserved as-is
|
|
70482
|
+
* since it refers to the type of alarm generated when a threshold is crossed.
|
|
70483
|
+
*/
|
|
70484
|
+
class PlatformAlertService {
|
|
70485
|
+
dxSaaSService;
|
|
70486
|
+
constructor(dxSaaSService) {
|
|
70487
|
+
this.dxSaaSService = dxSaaSService;
|
|
70488
|
+
}
|
|
70489
|
+
/** Searches for alert specs, optionally filtered by management module ID. */
|
|
70490
|
+
async search(mmId) {
|
|
70491
|
+
const body = mmId ? { mmId } : {};
|
|
70492
|
+
return this.dxSaaSService.tenantPost('oi/v2/alert/spec/search', body);
|
|
70493
|
+
}
|
|
70494
|
+
/** Creates or updates a platform alert spec. */
|
|
70495
|
+
async save(request) {
|
|
70496
|
+
return this.dxSaaSService.tenantPost('oi/v2/alert/spec/save', request);
|
|
70497
|
+
}
|
|
70498
|
+
/** Deletes an alert spec by its specId (component, id, managementModuleId). */
|
|
70499
|
+
async delete(specId) {
|
|
70500
|
+
return this.dxSaaSService.tenantPost('oi/v2/alert/spec/delete', specId);
|
|
70501
|
+
}
|
|
70502
|
+
/** Returns the set of available message template field names (e.g. alertName, severity, hostname). */
|
|
70503
|
+
async getMessageFields() {
|
|
70504
|
+
return this.dxSaaSService.tenantGet('oi/v2/alert/spec/message/fields');
|
|
70505
|
+
}
|
|
70506
|
+
}
|
|
70507
|
+
|
|
70508
|
+
/**
|
|
70509
|
+
* Service for platform (o2/v2) management modules: query, export, save, and delete.
|
|
70510
|
+
*
|
|
70511
|
+
* These operate against the `/oi/v2/managementmodule/` endpoints and are distinct
|
|
70512
|
+
* from the legacy ATC management module API.
|
|
70513
|
+
*/
|
|
70514
|
+
class PlatformManagementModuleService {
|
|
70515
|
+
dxSaaSService;
|
|
70516
|
+
constructor(dxSaaSService) {
|
|
70517
|
+
this.dxSaaSService = dxSaaSService;
|
|
70518
|
+
}
|
|
70519
|
+
/** Lists all platform management modules. */
|
|
70520
|
+
async query() {
|
|
70521
|
+
return this.dxSaaSService.tenantPost('oi/v2/managementmodule/query', {});
|
|
70522
|
+
}
|
|
70523
|
+
/** Exports a single management module with its full detail (metricGroups, metricSpecs). */
|
|
70524
|
+
async exportModule(name) {
|
|
70525
|
+
return this.dxSaaSService.tenantPost('oi/v2/managementmodule/export', { id: { name } });
|
|
70526
|
+
}
|
|
70527
|
+
/** Creates or updates a platform management module. */
|
|
70528
|
+
async save(request) {
|
|
70529
|
+
return this.dxSaaSService.tenantPost('oi/v2/managementmodule/save', request);
|
|
70530
|
+
}
|
|
70531
|
+
/** Deletes a platform management module and its associated entities. */
|
|
70532
|
+
async delete(name) {
|
|
70533
|
+
return this.dxSaaSService.tenantPost('oi/v2/managementmodule/delete', { name });
|
|
70534
|
+
}
|
|
70535
|
+
}
|
|
70536
|
+
|
|
70537
|
+
/**
|
|
70538
|
+
* Service for platform (o2/v2) metric groupings: search, save, preview metrics,
|
|
70539
|
+
* and retrieve available metric filter fields.
|
|
70540
|
+
*
|
|
70541
|
+
* These operate against the `/oi/v2/alert/metricgroup/` and `/oi/v2/alert/metric/`
|
|
70542
|
+
* endpoints and are distinct from the legacy ATC metric grouping API.
|
|
70543
|
+
*/
|
|
70544
|
+
class PlatformMetricGroupingService {
|
|
70545
|
+
dxSaaSService;
|
|
70546
|
+
constructor(dxSaaSService) {
|
|
70547
|
+
this.dxSaaSService = dxSaaSService;
|
|
70548
|
+
}
|
|
70549
|
+
/** Searches for metric groupings, optionally filtered by management module ID. */
|
|
70550
|
+
async search(mmId) {
|
|
70551
|
+
const body = mmId ? { mmId } : {};
|
|
70552
|
+
return this.dxSaaSService.tenantPost('oi/v2/alert/metricgroup/search', body);
|
|
70553
|
+
}
|
|
70554
|
+
/** Creates or updates a platform metric grouping. */
|
|
70555
|
+
async save(request) {
|
|
70556
|
+
return this.dxSaaSService.tenantPost('oi/v2/alert/metricgroup/save', request);
|
|
70557
|
+
}
|
|
70558
|
+
/** Retrieves live metrics matching a metric grouping and/or custom filter. */
|
|
70559
|
+
async getMetrics(request) {
|
|
70560
|
+
return this.dxSaaSService.tenantPost('oi/v2/alert/metricgroup/metrics', request);
|
|
70561
|
+
}
|
|
70562
|
+
/** Deletes a metric grouping by ID (and optionally management module ID). */
|
|
70563
|
+
async delete(id, managementModuleId) {
|
|
70564
|
+
const body = managementModuleId
|
|
70565
|
+
? { id, managementModuleId: { name: managementModuleId } }
|
|
70566
|
+
: { id };
|
|
70567
|
+
return this.dxSaaSService.tenantPost('oi/v2/alert/metricgroup/delete', body);
|
|
70568
|
+
}
|
|
70569
|
+
/** Returns the set of available metric filter fields (source, metric, metadata). */
|
|
70570
|
+
async getMetricFields() {
|
|
70571
|
+
return this.dxSaaSService.tenantPost('oi/v2/alert/metric/fields', {});
|
|
70572
|
+
}
|
|
70573
|
+
}
|
|
70574
|
+
|
|
69040
70575
|
exports.FilterOperation = void 0;
|
|
69041
70576
|
(function (FilterOperation) {
|
|
69042
70577
|
FilterOperation["EQUALS"] = "eq";
|
|
@@ -69181,6 +70716,7 @@ class VertexService {
|
|
|
69181
70716
|
this.dxSaaSService = dxSaaSService;
|
|
69182
70717
|
this.log = log;
|
|
69183
70718
|
}
|
|
70719
|
+
/** Returns attribute value groups for a given attribute name in a universe, optionally filtered by layer. */
|
|
69184
70720
|
async getAttributeValues(universeId, attributeName, layer) {
|
|
69185
70721
|
const fq = {
|
|
69186
70722
|
filter: {
|
|
@@ -69213,6 +70749,7 @@ class VertexService {
|
|
|
69213
70749
|
return attributeValuesResponse.items;
|
|
69214
70750
|
});
|
|
69215
70751
|
}
|
|
70752
|
+
/** Returns all intellisense attributes (including gathered) from the ATC API. */
|
|
69216
70753
|
async listAllAttributes() {
|
|
69217
70754
|
return this.dxSaaSService
|
|
69218
70755
|
.tenantGet('/apm/atc/api/private/intellisense/attribute', { includeGathered: true })
|
|
@@ -69220,6 +70757,7 @@ class VertexService {
|
|
|
69220
70757
|
return attributeResponseBody.items;
|
|
69221
70758
|
});
|
|
69222
70759
|
}
|
|
70760
|
+
/** Returns the state (attributes) of a vertex by its ID. */
|
|
69223
70761
|
retrieveVertexState(vertexId) {
|
|
69224
70762
|
return this.dxSaaSService.tenantPost('/apm/atc/api/private/attributes/retrieve', { vertexIds: [vertexId] });
|
|
69225
70763
|
}
|
|
@@ -69230,9 +70768,11 @@ class VertexService {
|
|
|
69230
70768
|
// throw new Error("Unimplemented.")
|
|
69231
70769
|
// }
|
|
69232
70770
|
// public retrieveUniverseStatusChanges(universeId: string, startTime: number, endTime: number ) {}
|
|
70771
|
+
/** Returns a vertex by its ID from the ATC vertex REST endpoint. */
|
|
69233
70772
|
retrieveVertex(vertexId) {
|
|
69234
70773
|
return this.dxSaaSService.tenantGet('/apm/atc/api/vertex/' + vertexId);
|
|
69235
70774
|
}
|
|
70775
|
+
/** Returns a flat key→value map of attributes for the single agent vertex matching `fullAgentName`. */
|
|
69236
70776
|
async retrieveFlattenedAgentVertexAttributes(fullAgentName) {
|
|
69237
70777
|
return this.retrieveAgentVertex(fullAgentName).then((vertexResponse) => {
|
|
69238
70778
|
if (vertexResponse._embedded.vertex.length == 1) {
|
|
@@ -69246,6 +70786,7 @@ class VertexService {
|
|
|
69246
70786
|
}
|
|
69247
70787
|
});
|
|
69248
70788
|
}
|
|
70789
|
+
/** Returns all vertices that have an `agent` attribute matching `fullAgentName`. */
|
|
69249
70790
|
async retrieveAllVerticesForAgent(fullAgentName) {
|
|
69250
70791
|
return this.dxSaaSService
|
|
69251
70792
|
.tenantPost('/apm/atc/api/graph/vertex', VertexService.getAllVerticesForHostnameRequestBody(fullAgentName))
|
|
@@ -69253,6 +70794,7 @@ class VertexService {
|
|
|
69253
70794
|
return response._embedded.vertex;
|
|
69254
70795
|
});
|
|
69255
70796
|
}
|
|
70797
|
+
/** Returns the AGENT-type vertex for the given fully-qualified agent name. */
|
|
69256
70798
|
retrieveAgentVertex(fullAgentName) {
|
|
69257
70799
|
return this.dxSaaSService.tenantPost('/apm/atc/api/graph/vertex', VertexService.getAgentVertexRequestBody(fullAgentName));
|
|
69258
70800
|
}
|
|
@@ -69267,6 +70809,7 @@ class VertexService {
|
|
|
69267
70809
|
});
|
|
69268
70810
|
return r;
|
|
69269
70811
|
}
|
|
70812
|
+
/** Patches a vertex's attributes; pass `null` values to delete an attribute. */
|
|
69270
70813
|
patchVertex(vertexId, attributes) {
|
|
69271
70814
|
const patchAttributes = {};
|
|
69272
70815
|
Object.entries(attributes).forEach(([key, value]) => {
|
|
@@ -69279,21 +70822,26 @@ class VertexService {
|
|
|
69279
70822
|
});
|
|
69280
70823
|
return this.dxSaaSService.tenantPatch('/apm/atc/api/graph/vertex/' + vertexId, { attributes: patchAttributes });
|
|
69281
70824
|
}
|
|
70825
|
+
/** Returns vertices matching a set of AND attribute filter items. */
|
|
69282
70826
|
getVertices(andItems) {
|
|
69283
70827
|
return this.dxSaaSService.tenantPost('/apm/atc/api/graph/vertex', VertexService.getBulkVertexRequestBody(andItems));
|
|
69284
70828
|
}
|
|
69285
70829
|
vertexMappingConfigurationCached = null;
|
|
70830
|
+
/** Saves a vertex definition extension configuration. */
|
|
69286
70831
|
async setVertexDefinition(vertexDefinition) {
|
|
69287
70832
|
return this.dxSaaSService.tenantPost('/apm/appmap/ats/extension/configure', vertexDefinition);
|
|
69288
70833
|
}
|
|
70834
|
+
/** Returns all vertex type definitions for the tenant. */
|
|
69289
70835
|
async getVertexDefinitions() {
|
|
69290
70836
|
return this.dxSaaSService.tenantGet('/atc/vertexdefinition');
|
|
69291
70837
|
}
|
|
70838
|
+
/** Returns vertex definitions filtered to a specific vertex type. */
|
|
69292
70839
|
async getVertexDefinition(vertexType) {
|
|
69293
70840
|
return this.dxSaaSService.tenantGet('/atc/vertexdefinition', {
|
|
69294
70841
|
vertexType: vertexType,
|
|
69295
70842
|
});
|
|
69296
70843
|
}
|
|
70844
|
+
/** Returns the vertex metric mapping configuration (parsed from static config), optionally cached. */
|
|
69297
70845
|
async getVertexMappingConfiguration(useCache = true, allowOverride = true) {
|
|
69298
70846
|
if (useCache && this.vertexMappingConfigurationCached != null) {
|
|
69299
70847
|
return this.vertexMappingConfigurationCached;
|
|
@@ -69394,6 +70942,7 @@ class VertexService {
|
|
|
69394
70942
|
],
|
|
69395
70943
|
};
|
|
69396
70944
|
}
|
|
70945
|
+
/** Returns trace summaries for a set of vertex IDs within a time window. */
|
|
69397
70946
|
async getTraceSummaries(startTime, endTime, vertexIds, index, limit, errorsOnly) {
|
|
69398
70947
|
const traceSummaryRequestBody = {
|
|
69399
70948
|
endTime: endTime.toISO(),
|
|
@@ -69405,6 +70954,7 @@ class VertexService {
|
|
|
69405
70954
|
};
|
|
69406
70955
|
return this.dxSaaSService.tenantPost('/apm/atc/api/private/trace/summary', traceSummaryRequestBody);
|
|
69407
70956
|
}
|
|
70957
|
+
/** Builds metric query request bodies for a vertex ID using its mapped performance specifiers. */
|
|
69408
70958
|
async getVertexMappedMetricQueryRequestBody(vertexId) {
|
|
69409
70959
|
const vertexMapping = await this.getVertexMappingConfiguration();
|
|
69410
70960
|
vertexMapping.vertexMetricMap.forEach((specArray, key) => {
|
|
@@ -69480,6 +71030,7 @@ class VertexService {
|
|
|
69480
71030
|
});
|
|
69481
71031
|
return metricQueryBodyArray;
|
|
69482
71032
|
}
|
|
71033
|
+
/** Returns true if the vertex matches all filter conditions in the specifier. */
|
|
69483
71034
|
matchesFilter(spec, vertex) {
|
|
69484
71035
|
if (!spec.filter) {
|
|
69485
71036
|
return true;
|
|
@@ -69497,6 +71048,7 @@ class VertexService {
|
|
|
69497
71048
|
return filterMatches.every((match) => match);
|
|
69498
71049
|
}
|
|
69499
71050
|
}
|
|
71051
|
+
/** Replaces `<attributeName>` placeholders in a specifier format string with vertex attribute values. */
|
|
69500
71052
|
materializeSpecifier(specifier, vertex, escapeAttributeValue = false) {
|
|
69501
71053
|
this.getAllReplacementAttributes(specifier).forEach((attribute) => {
|
|
69502
71054
|
const vaValue = getVertexAttributeValue(vertex, attribute);
|
|
@@ -69506,6 +71058,7 @@ class VertexService {
|
|
|
69506
71058
|
});
|
|
69507
71059
|
return specifier;
|
|
69508
71060
|
}
|
|
71061
|
+
/** Extracts all `<attributeName>` placeholder names from a specifier format string. */
|
|
69509
71062
|
getAllReplacementAttributes(specifierFormat) {
|
|
69510
71063
|
const replacementAttributes = new Array();
|
|
69511
71064
|
let index = 0;
|
|
@@ -69522,12 +71075,14 @@ class VertexService {
|
|
|
69522
71075
|
this.log.debug(`found replacement attributes: ${replacementAttributes} in ${specifierFormat}`);
|
|
69523
71076
|
return replacementAttributes;
|
|
69524
71077
|
}
|
|
71078
|
+
/** Returns true if the vertex has all attributes required by the specifier's format strings. */
|
|
69525
71079
|
hasAllAttributes(specifier, vertex) {
|
|
69526
71080
|
const hasASReplacementAttributes = this.getAllReplacementAttributes(specifier.agentSpecifier.format).every((attribute) => hasVertexAttribute(vertex, attribute));
|
|
69527
71081
|
const hasMSReplacementAttributes = this.getAllReplacementAttributes(specifier.metricSpecifier.format).every((attribute) => hasVertexAttribute(vertex, attribute));
|
|
69528
71082
|
this.log.debug(`has replacements: ${hasASReplacementAttributes}/${hasMSReplacementAttributes}`);
|
|
69529
71083
|
return hasASReplacementAttributes && hasMSReplacementAttributes;
|
|
69530
71084
|
}
|
|
71085
|
+
/** Returns an empty metric query body skeleton with default range/frequency values. */
|
|
69531
71086
|
getEmptyMetricQueryBody() {
|
|
69532
71087
|
return {
|
|
69533
71088
|
querySpecifier: {
|
|
@@ -69545,6 +71100,7 @@ class VertexService {
|
|
|
69545
71100
|
authorizationView: null,
|
|
69546
71101
|
};
|
|
69547
71102
|
}
|
|
71103
|
+
/** Returns the directory path where vertex mapping override JSON files are stored. */
|
|
69548
71104
|
getVertexMappingOverrideLocation() {
|
|
69549
71105
|
let overrideLocation = null;
|
|
69550
71106
|
if (process.env.DXDO_VERTEX_MAPPING_OVERRIDE_LOCATION) {
|
|
@@ -69586,14 +71142,17 @@ class VertexService {
|
|
|
69586
71142
|
return overrideLocation;
|
|
69587
71143
|
}
|
|
69588
71144
|
}
|
|
71145
|
+
/** Returns true if an override file exists for the given vertex type and mapping type. */
|
|
69589
71146
|
vertexMappingOverrideFileExists(type, mappingType) {
|
|
69590
71147
|
return fs__namespace.existsSync(this.getVertexMappingLocation(type, mappingType));
|
|
69591
71148
|
}
|
|
71149
|
+
/** Parses and returns the contents of a vertex mapping override JSON file. */
|
|
69592
71150
|
getVertexMappingOverrideContents(type, mappingType) {
|
|
69593
71151
|
return JSON.parse(fs__namespace
|
|
69594
71152
|
.readFileSync(this.getVertexMappingLocation(type, mappingType))
|
|
69595
71153
|
.toString());
|
|
69596
71154
|
}
|
|
71155
|
+
/** Returns the `.original` backup path for a vertex mapping override; throws if it already exists. */
|
|
69597
71156
|
getTemporaryVertexMappingOverrideLocation(type, mappingType) {
|
|
69598
71157
|
const tempPath = path__namespace.join(this.getVertexMappingOverrideLocation(), `${type}.${mappingType}.json.original`);
|
|
69599
71158
|
if (fs__namespace.existsSync(tempPath)) {
|
|
@@ -69602,6 +71161,7 @@ class VertexService {
|
|
|
69602
71161
|
else
|
|
69603
71162
|
return tempPath;
|
|
69604
71163
|
}
|
|
71164
|
+
/** Returns the file path for a vertex mapping override JSON file. */
|
|
69605
71165
|
getVertexMappingLocation(type, mappingType) {
|
|
69606
71166
|
return path__namespace.join(this.getVertexMappingOverrideLocation(), `${type}.${mappingType}.json`);
|
|
69607
71167
|
}
|
|
@@ -69616,6 +71176,7 @@ class SQLService {
|
|
|
69616
71176
|
constructor(dxSaaSService) {
|
|
69617
71177
|
this.dxSaaSService = dxSaaSService;
|
|
69618
71178
|
}
|
|
71179
|
+
/** Executes a SQL-style APM data query and returns the response body. */
|
|
69619
71180
|
executeQuery(query) {
|
|
69620
71181
|
return this.dxSaaSService
|
|
69621
71182
|
.tenantPost('/apm/atc/api/apmData/query', { query: query })
|
|
@@ -69639,6 +71200,7 @@ class SessionService {
|
|
|
69639
71200
|
this.dxSaaSService = dxSaaSService;
|
|
69640
71201
|
this.log = log;
|
|
69641
71202
|
}
|
|
71203
|
+
/** Placeholder session verification; currently logs a warning and resolves immediately. */
|
|
69642
71204
|
test() {
|
|
69643
71205
|
this.log.warn(`Not able to verify session for ${this.dxSaaSService.getTenantCN()}`);
|
|
69644
71206
|
return Promise.resolve();
|
|
@@ -69659,10 +71221,12 @@ class TASService {
|
|
|
69659
71221
|
this.dxSaaSService = dxSaaSService;
|
|
69660
71222
|
this.log = log;
|
|
69661
71223
|
}
|
|
71224
|
+
/** Stores a graph (vertices and edges) in the TAS topology store. */
|
|
69662
71225
|
async storeGraph(graphBody) {
|
|
69663
71226
|
this.log.debug('storing');
|
|
69664
71227
|
return this.dxSaaSService.tenantPost('/tas/graph/store', graphBody);
|
|
69665
71228
|
}
|
|
71229
|
+
/** Executes a TAS graph query and returns the result body. */
|
|
69666
71230
|
async executeQuery(query) {
|
|
69667
71231
|
return this.dxSaaSService.tenantPost('/tas/graph/query', query);
|
|
69668
71232
|
}
|
|
@@ -69684,9 +71248,11 @@ class ServiceService {
|
|
|
69684
71248
|
this.dxSaaSService = dxSaaSService;
|
|
69685
71249
|
this.log = log;
|
|
69686
71250
|
}
|
|
71251
|
+
/** Returns the TAS topology dependency graph for a named service. */
|
|
69687
71252
|
async getServiceDependencyGraph(serviceName) {
|
|
69688
71253
|
return this.dxSaaSService.oiPost('oi/v2/sa/saTopologyGraph', { serviceName: serviceName, startTime: Date.now(), endTime: Date.now() });
|
|
69689
71254
|
}
|
|
71255
|
+
/** Returns metric time-series for each metric ID associated with a service. */
|
|
69690
71256
|
async getServiceDetailMetrics(serviceName, startTime, endTime, ianaTimeZone = 'Europe/London') {
|
|
69691
71257
|
const serviceOverview = await this.getServiceOverview(serviceName);
|
|
69692
71258
|
const serviceDetailRequest = {
|
|
@@ -69706,11 +71272,13 @@ class ServiceService {
|
|
|
69706
71272
|
};
|
|
69707
71273
|
});
|
|
69708
71274
|
}
|
|
71275
|
+
/** Searches services using a structured search request body. */
|
|
69709
71276
|
async searchServices(searchRequest) {
|
|
69710
71277
|
return this.dxSaaSService.oiPost('oi/v2/api/maintenance/inventory/_search', searchRequest, {
|
|
69711
71278
|
services: true,
|
|
69712
71279
|
});
|
|
69713
71280
|
}
|
|
71281
|
+
/** Returns SLI metrics for a specific service within a time range. */
|
|
69714
71282
|
async getServiceSLIs(serviceId, serviceName, startTime, endTime) {
|
|
69715
71283
|
const requestBody = {
|
|
69716
71284
|
serviceId,
|
|
@@ -69721,6 +71289,7 @@ class ServiceService {
|
|
|
69721
71289
|
};
|
|
69722
71290
|
return this.dxSaaSService.oiPost('oi/v2/servicerepo/slis', requestBody);
|
|
69723
71291
|
}
|
|
71292
|
+
/** Returns the full service detail (metrics with values) for a named service. */
|
|
69724
71293
|
async getServiceDetail(serviceName, startTime, endTime, ianaTimeZone = 'Europe/London') {
|
|
69725
71294
|
const serviceOverview = await this.getServiceOverview(serviceName);
|
|
69726
71295
|
const serviceDetailRequest = {
|
|
@@ -69733,6 +71302,7 @@ class ServiceService {
|
|
|
69733
71302
|
};
|
|
69734
71303
|
return this.dxSaaSService.oiPost('oi/v2/sa/serviceDetails', serviceDetailRequest);
|
|
69735
71304
|
}
|
|
71305
|
+
/** Returns the overview vertex for a named service; throws if not found. */
|
|
69736
71306
|
async getServiceOverview(serviceName) {
|
|
69737
71307
|
return this.dxSaaSService
|
|
69738
71308
|
.oiGet(`oi/v2/sa/services/${serviceName}`, {
|
|
@@ -69746,6 +71316,7 @@ class ServiceService {
|
|
|
69746
71316
|
throw new Error(`No Service with name '${serviceName}' Found`);
|
|
69747
71317
|
});
|
|
69748
71318
|
}
|
|
71319
|
+
/** Returns paginated top-level (grouped) services up to `maxRequests` pages. */
|
|
69749
71320
|
async getTopLevelServices(pageSize = 100, maxRequests = 20) {
|
|
69750
71321
|
const returnServices = new Array();
|
|
69751
71322
|
let totalRequests = 0;
|
|
@@ -69770,6 +71341,7 @@ class ServiceService {
|
|
|
69770
71341
|
return returnServices;
|
|
69771
71342
|
});
|
|
69772
71343
|
}
|
|
71344
|
+
/** Returns all services (ungrouped) paginating up to `maxRequests` pages. */
|
|
69773
71345
|
async getAllServices(pageSize = 100, maxRequests = 10) {
|
|
69774
71346
|
const returnServices = new Array();
|
|
69775
71347
|
let totalRequests = 0;
|
|
@@ -69794,6 +71366,7 @@ class ServiceService {
|
|
|
69794
71366
|
return returnServices;
|
|
69795
71367
|
});
|
|
69796
71368
|
}
|
|
71369
|
+
/** Builds a services request body scoped to parent (top-level) services. */
|
|
69797
71370
|
createParentServiceRequestBody(pageSize) {
|
|
69798
71371
|
return {
|
|
69799
71372
|
...exports.OIService.PARENT_SERVICE_REQUEST_BODY,
|
|
@@ -69801,6 +71374,7 @@ class ServiceService {
|
|
|
69801
71374
|
pageSize: pageSize,
|
|
69802
71375
|
};
|
|
69803
71376
|
}
|
|
71377
|
+
/** Builds a services request body that includes all services (no grouping). */
|
|
69804
71378
|
createAllServiceRequestBody(pageSize) {
|
|
69805
71379
|
return {
|
|
69806
71380
|
...exports.OIService.PARENT_SERVICE_REQUEST_BODY,
|
|
@@ -69809,6 +71383,7 @@ class ServiceService {
|
|
|
69809
71383
|
groupServices: false,
|
|
69810
71384
|
};
|
|
69811
71385
|
}
|
|
71386
|
+
/** Returns inventory records for entities belonging to the named service. */
|
|
69812
71387
|
async getServiceInventory(serviceName) {
|
|
69813
71388
|
const initialRequestBody = this.createServiceInventoryRequestBody(serviceName);
|
|
69814
71389
|
return this.dxSaaSService
|
|
@@ -69829,14 +71404,17 @@ class ServiceService {
|
|
|
69829
71404
|
sirb.customFilter.and.expressions[0].or.expressions[0].value = serviceName;
|
|
69830
71405
|
return sirb;
|
|
69831
71406
|
}
|
|
71407
|
+
/** Creates a new service from the given body; replaces any existing service with the same name. */
|
|
69832
71408
|
async createService(createServiceBody) {
|
|
69833
71409
|
return this.dxSaaSService.tenantPost('/oi/v2/sa/save', createServiceBody, {
|
|
69834
71410
|
replace: true,
|
|
69835
71411
|
});
|
|
69836
71412
|
}
|
|
71413
|
+
/** Deletes a service by name; optionally deletes child services recursively. */
|
|
69837
71414
|
async deleteService(serviceName, recursive = false) {
|
|
69838
71415
|
return this.dxSaaSService.tenantPost('/oi/v2/sa/service/status', { name: serviceName, action: 'delete' }, { recursive });
|
|
69839
71416
|
}
|
|
71417
|
+
/** Builds a `ServiceContent` query fragment for a single attribute filter. */
|
|
69840
71418
|
generateServiceContent(attributeName, attributeValue, operator = 'IN', followTransactions = false) {
|
|
69841
71419
|
return {
|
|
69842
71420
|
query: [
|
|
@@ -69851,6 +71429,7 @@ class ServiceService {
|
|
|
69851
71429
|
},
|
|
69852
71430
|
};
|
|
69853
71431
|
}
|
|
71432
|
+
/** Builds an empty (no-content) service vertex payload ready to be populated. */
|
|
69854
71433
|
generateEmptyServiceVertex(serviceName, serviceDescription, situationsIncludeChildServices, tags = [], customProperties = []) {
|
|
69855
71434
|
return {
|
|
69856
71435
|
attributes: {
|
|
@@ -69871,6 +71450,7 @@ class ServiceService {
|
|
|
69871
71450
|
externalId: `SERVICE:${serviceName}`,
|
|
69872
71451
|
};
|
|
69873
71452
|
}
|
|
71453
|
+
/** Returns an empty `CreateSimpleServiceBody` with no vertices or edges. */
|
|
69874
71454
|
generateCreateServiceBody() {
|
|
69875
71455
|
return {
|
|
69876
71456
|
edges: [],
|
|
@@ -69894,6 +71474,7 @@ class SituationService {
|
|
|
69894
71474
|
this.dxSaaSService = dxSaaSService;
|
|
69895
71475
|
this.log = log;
|
|
69896
71476
|
}
|
|
71477
|
+
/** Sends a notification for a situation to the specified channel with optional template/locale. */
|
|
69897
71478
|
async triggerNotification(alarmId, notificationChannelName, template = '', locale = 'en-US') {
|
|
69898
71479
|
const situationDetail = JSON.parse((await this.getSituationOverview(alarmId)).alarmData);
|
|
69899
71480
|
situationDetail.alarmType = 'situation';
|
|
@@ -69908,6 +71489,7 @@ class SituationService {
|
|
|
69908
71489
|
};
|
|
69909
71490
|
return this.dxSaaSService.oiPost('oi/v2/api/alarmactions/channel', body);
|
|
69910
71491
|
}
|
|
71492
|
+
/** Searches cluster alarms (situations) within a time range using a filter operation. */
|
|
69911
71493
|
async getSituations(searchOperation, startTime, endTime, includeClosed = false, pageSize = 50) {
|
|
69912
71494
|
return this.dxSaaSService.oiPost('oi/v2/api/clusteralarms/_search', this.getSituationRequestBody(searchOperation, startTime, endTime, includeClosed, pageSize));
|
|
69913
71495
|
}
|
|
@@ -69933,9 +71515,11 @@ class SituationService {
|
|
|
69933
71515
|
customFilter: searchOperation,
|
|
69934
71516
|
};
|
|
69935
71517
|
}
|
|
71518
|
+
/** Returns the overview record for a situation by its alarm ID. */
|
|
69936
71519
|
async getSituationOverview(situationId) {
|
|
69937
71520
|
return this.dxSaaSService.oiGet(`oi/v2/api/groupalarms/_search/${situationId}/overview`, { type: 'cluster' });
|
|
69938
71521
|
}
|
|
71522
|
+
/** Returns lifecycle (state change) events for a situation. */
|
|
69939
71523
|
async getSituationLifecycleEvents(situationId) {
|
|
69940
71524
|
return this.dxSaaSService.oiPost('oi/v2/api/alarms/lifecycle/_search', {
|
|
69941
71525
|
alarmId: situationId,
|
|
@@ -69945,6 +71529,7 @@ class SituationService {
|
|
|
69945
71529
|
lifeCycleType: 'SITUATION',
|
|
69946
71530
|
});
|
|
69947
71531
|
}
|
|
71532
|
+
/** Returns the inspector inspection result for a situation (related alarms, topology). */
|
|
69948
71533
|
async getSituationInspection(situationId) {
|
|
69949
71534
|
return this.dxSaaSService.oiPost('oi/v2/api/inspect/situation', {
|
|
69950
71535
|
backwardHopCount: 1,
|
|
@@ -69953,6 +71538,7 @@ class SituationService {
|
|
|
69953
71538
|
tenantId: this.dxSaaSService.dxdoConfiguration.dxConfiguration.cohortId,
|
|
69954
71539
|
});
|
|
69955
71540
|
}
|
|
71541
|
+
/** Returns all alarms belonging to a situation in a time window. */
|
|
69956
71542
|
async getSituationAlarms(situationId, startTime, endTime, pageSize = 50) {
|
|
69957
71543
|
this.log.debug(`getting situations with pagesize ${pageSize}`);
|
|
69958
71544
|
return this.dxSaaSService.oiPost('oi/v2/api/clusteralarms/_search', {
|
|
@@ -69977,6 +71563,7 @@ class SituationService {
|
|
|
69977
71563
|
clusterAlarmId: situationId,
|
|
69978
71564
|
});
|
|
69979
71565
|
}
|
|
71566
|
+
/** Generates a GenAI inspector summary for a situation in the given timezone. */
|
|
69980
71567
|
async getSituationSummary(situationId, timezoneTimeZoneIANA) {
|
|
69981
71568
|
const situationInspection = await this.getSituationInspection(situationId);
|
|
69982
71569
|
const relatedAlarms = Object.values(situationInspection.relatedAlarmsDetails.relatedAlarms).map((relatedAlarm) => {
|
|
@@ -70054,6 +71641,9 @@ function createServiceMonolith(dxDoConfiguration, log = new NullSimpleLog()) {
|
|
|
70054
71641
|
dxO2UniverseService: new O2UniverseService(dxSaaSService, dxTASService, log),
|
|
70055
71642
|
dxOIService: new DxoiService(dxSaaSService),
|
|
70056
71643
|
dxPerspectiveService: new PerspectiveService(dxSaaSService),
|
|
71644
|
+
dxPlatformAlertService: new PlatformAlertService(dxSaaSService),
|
|
71645
|
+
dxPlatformManagementModuleService: new PlatformManagementModuleService(dxSaaSService),
|
|
71646
|
+
dxPlatformMetricGroupingService: new PlatformMetricGroupingService(dxSaaSService),
|
|
70057
71647
|
dxSaaSService,
|
|
70058
71648
|
dxServiceService: new ServiceService(dxSaaSService, log),
|
|
70059
71649
|
dxSessionService: new SessionService(dxSaaSService),
|
|
@@ -70064,42 +71654,306 @@ function createServiceMonolith(dxDoConfiguration, log = new NullSimpleLog()) {
|
|
|
70064
71654
|
};
|
|
70065
71655
|
}
|
|
70066
71656
|
|
|
71657
|
+
/**
|
|
71658
|
+
* Service for issuing metric metadata queries against the DX SaaS DataStore
|
|
71659
|
+
* API (`/metadata/queryMetric`).
|
|
71660
|
+
*
|
|
71661
|
+
* Requests are validated against {@link MetadataMetricQuerySchema}; responses
|
|
71662
|
+
* are validated against {@link MetadataMetricQueryResponseV2Schema}.
|
|
71663
|
+
* Validation failures on the response side are logged as warnings, not thrown.
|
|
71664
|
+
*/
|
|
71665
|
+
class DataStoreMetricsMetadataService {
|
|
71666
|
+
dxSaasService;
|
|
71667
|
+
log;
|
|
71668
|
+
constructor(dxSaasService, log) {
|
|
71669
|
+
this.dxSaasService = dxSaasService;
|
|
71670
|
+
this.log = log;
|
|
71671
|
+
}
|
|
71672
|
+
/**
|
|
71673
|
+
* POSTs a metadata query to `/metadata/queryMetric` and returns the matching
|
|
71674
|
+
* metric / folder records.
|
|
71675
|
+
*
|
|
71676
|
+
* @throws ZodError if the request fails schema validation.
|
|
71677
|
+
*/
|
|
71678
|
+
async queryMetric(query) {
|
|
71679
|
+
MetadataMetricQuerySchema.parse(query);
|
|
71680
|
+
const raw = await this.dxSaasService.tenantPost('metadata/queryMetric', query);
|
|
71681
|
+
const result = MetadataMetricQueryResponseV2Schema.safeParse(raw);
|
|
71682
|
+
if (!result.success) {
|
|
71683
|
+
this.log.warn('MetadataMetricQueryResponseV2 validation warning:', result.error.message);
|
|
71684
|
+
}
|
|
71685
|
+
return raw;
|
|
71686
|
+
}
|
|
71687
|
+
}
|
|
71688
|
+
|
|
71689
|
+
/**
|
|
71690
|
+
* Service for issuing NASSQL queries against the DX SaaS DataStore API
|
|
71691
|
+
* (`/metrics/nassQuery`).
|
|
71692
|
+
*
|
|
71693
|
+
* NASSQL is a pipeline query language that composes operations across
|
|
71694
|
+
* topology, metric metadata, and metric data sources. The response is a
|
|
71695
|
+
* tabular array where the first row is the column header and subsequent
|
|
71696
|
+
* rows are data; use {@link splitResult} or {@link resultAsRecords} to
|
|
71697
|
+
* work with the data conveniently.
|
|
71698
|
+
*
|
|
71699
|
+
* Requests are validated against {@link QueryRequestSchema}; responses are
|
|
71700
|
+
* validated against {@link QueryResultSchema}. Validation failures on the
|
|
71701
|
+
* response side are logged as warnings, not thrown.
|
|
71702
|
+
*/
|
|
71703
|
+
class DataStoreNASSQLService {
|
|
71704
|
+
dxSaasService;
|
|
71705
|
+
log;
|
|
71706
|
+
constructor(dxSaasService, log) {
|
|
71707
|
+
this.dxSaasService = dxSaasService;
|
|
71708
|
+
this.log = log;
|
|
71709
|
+
}
|
|
71710
|
+
/**
|
|
71711
|
+
* POSTs a NASSQL query to `/metrics/nassQuery` and returns the raw tabular
|
|
71712
|
+
* result (header row followed by data rows).
|
|
71713
|
+
*
|
|
71714
|
+
* @throws ZodError if the request fails schema validation.
|
|
71715
|
+
*/
|
|
71716
|
+
async query(request) {
|
|
71717
|
+
QueryRequestSchema.parse(request);
|
|
71718
|
+
const raw = await this.dxSaasService.tenantPost('metrics/nassQuery', request);
|
|
71719
|
+
const result = QueryResultSchema.safeParse(raw);
|
|
71720
|
+
if (!result.success) {
|
|
71721
|
+
this.log.warn('QueryResult validation warning:', result.error.message);
|
|
71722
|
+
}
|
|
71723
|
+
return raw;
|
|
71724
|
+
}
|
|
71725
|
+
/**
|
|
71726
|
+
* Splits a NASSQL query result into its header row and data rows.
|
|
71727
|
+
* Assumes the first row is always the header.
|
|
71728
|
+
*/
|
|
71729
|
+
splitResult(result) {
|
|
71730
|
+
if (result.length === 0) {
|
|
71731
|
+
return { header: [], data: [] };
|
|
71732
|
+
}
|
|
71733
|
+
const header = result[0];
|
|
71734
|
+
const data = result.slice(1);
|
|
71735
|
+
return { header, data };
|
|
71736
|
+
}
|
|
71737
|
+
/**
|
|
71738
|
+
* Converts a NASSQL query result into an array of objects (Records),
|
|
71739
|
+
* where each object's keys are the column names from the header row.
|
|
71740
|
+
*/
|
|
71741
|
+
resultAsRecords(result) {
|
|
71742
|
+
const { header, data } = this.splitResult(result);
|
|
71743
|
+
return data.map((row) => {
|
|
71744
|
+
const record = {};
|
|
71745
|
+
header.forEach((colName, index) => {
|
|
71746
|
+
record[colName] = row[index];
|
|
71747
|
+
});
|
|
71748
|
+
return record;
|
|
71749
|
+
});
|
|
71750
|
+
}
|
|
71751
|
+
}
|
|
71752
|
+
|
|
71753
|
+
/**
|
|
71754
|
+
* Service for issuing Topological Attribute Store (TAS) graph queries
|
|
71755
|
+
* against the DX SaaS DataStore API (`/tas/graph/query`).
|
|
71756
|
+
*
|
|
71757
|
+
* Requests are validated against {@link TasQuerySchema}; responses are
|
|
71758
|
+
* validated against {@link TasGraphSchema}. Validation failures on the
|
|
71759
|
+
* response side are logged as warnings, not thrown.
|
|
71760
|
+
*/
|
|
71761
|
+
class DataStoreTASService {
|
|
71762
|
+
dxSaasService;
|
|
71763
|
+
log;
|
|
71764
|
+
constructor(dxSaasService, log) {
|
|
71765
|
+
this.dxSaasService = dxSaasService;
|
|
71766
|
+
this.log = log;
|
|
71767
|
+
}
|
|
71768
|
+
/**
|
|
71769
|
+
* POSTs a TAS graph query to `/tas/graph/query` and returns the resulting
|
|
71770
|
+
* graph (vertices, edges, states).
|
|
71771
|
+
*
|
|
71772
|
+
* @throws ZodError if the request fails schema validation.
|
|
71773
|
+
*/
|
|
71774
|
+
async executeQuery(query) {
|
|
71775
|
+
TasQuerySchema.parse(query);
|
|
71776
|
+
const raw = await this.dxSaasService.tenantPost('tas/graph/query', query);
|
|
71777
|
+
const result = TasGraphSchema.safeParse(raw);
|
|
71778
|
+
if (!result.success) {
|
|
71779
|
+
this.log.warn('TasGraph response validation warning:', result.error.message);
|
|
71780
|
+
}
|
|
71781
|
+
return raw;
|
|
71782
|
+
}
|
|
71783
|
+
}
|
|
71784
|
+
|
|
70067
71785
|
exports.AccService = AccService;
|
|
70068
71786
|
exports.AgentService = AgentService;
|
|
70069
71787
|
exports.AlarmService = AlarmService;
|
|
70070
71788
|
exports.AlertService = AlertService;
|
|
71789
|
+
exports.AlignmentSchema = AlignmentSchema;
|
|
70071
71790
|
exports.ApmUniverseService = ApmUniverseService;
|
|
70072
71791
|
exports.AsmService = AsmService;
|
|
71792
|
+
exports.AttributeExpressionComparatorSchema = AttributeExpressionComparatorSchema;
|
|
71793
|
+
exports.AttributeExpressionOperatorSchema = AttributeExpressionOperatorSchema;
|
|
71794
|
+
exports.AttributeExpressionSchema = AttributeExpressionSchema;
|
|
71795
|
+
exports.AttributeNameAllSpecifierSchema = AttributeNameAllSpecifierSchema;
|
|
71796
|
+
exports.AttributeNameAndSpecifierSchema = AttributeNameAndSpecifierSchema;
|
|
71797
|
+
exports.AttributeNameAnyNumericSpecifierSchema = AttributeNameAnyNumericSpecifierSchema;
|
|
71798
|
+
exports.AttributeNameAttributeSpecifierSchema = AttributeNameAttributeSpecifierSchema;
|
|
71799
|
+
exports.AttributeNameChildrenSpecifierSchema = AttributeNameChildrenSpecifierSchema;
|
|
71800
|
+
exports.AttributeNameExactSpecifierSchema = AttributeNameExactSpecifierSchema;
|
|
71801
|
+
exports.AttributeNameFolderSpecifierSchema = AttributeNameFolderSpecifierSchema;
|
|
71802
|
+
exports.AttributeNameNoneSpecifierSchema = AttributeNameNoneSpecifierSchema;
|
|
71803
|
+
exports.AttributeNameNotSpecifierSchema = AttributeNameNotSpecifierSchema;
|
|
71804
|
+
exports.AttributeNameOperatorSpecifierSchema = AttributeNameOperatorSpecifierSchema;
|
|
71805
|
+
exports.AttributeNameOrSpecifierSchema = AttributeNameOrSpecifierSchema;
|
|
71806
|
+
exports.AttributeNameRegExSpecifierSchema = AttributeNameRegExSpecifierSchema;
|
|
71807
|
+
exports.AttributeNameSpecifierSchema = AttributeNameSpecifierSchema;
|
|
71808
|
+
exports.AttributeNameTypeSpecifierSchema = AttributeNameTypeSpecifierSchema;
|
|
70073
71809
|
exports.AttributeService = AttributeService;
|
|
71810
|
+
exports.AttributeValueAsFieldSchema = AttributeValueAsFieldSchema;
|
|
70074
71811
|
exports.AuthorizationService = AuthorizationService;
|
|
70075
71812
|
exports.AxaService = AxaService;
|
|
70076
71813
|
exports.BlobService = BlobService;
|
|
71814
|
+
exports.CalendarIntervalSchema = CalendarIntervalSchema;
|
|
70077
71815
|
exports.ChannelService = ChannelService;
|
|
70078
71816
|
exports.DEFAULT_EXPERIENCE_REQUEST_BODY = DEFAULT_EXPERIENCE_REQUEST_BODY;
|
|
70079
71817
|
exports.DashboardService = DashboardService;
|
|
71818
|
+
exports.DataStoreMetricsMetadataService = DataStoreMetricsMetadataService;
|
|
71819
|
+
exports.DataStoreNASSQLService = DataStoreNASSQLService;
|
|
71820
|
+
exports.DataStoreTASService = DataStoreTASService;
|
|
70080
71821
|
exports.DxSaasService = DxSaasService;
|
|
70081
71822
|
exports.DxoiService = DxoiService;
|
|
71823
|
+
exports.EdgeNumericIdSchema = EdgeNumericIdSchema;
|
|
70082
71824
|
exports.EventService = EventService;
|
|
70083
71825
|
exports.ExperienceService = ExperienceService;
|
|
71826
|
+
exports.FillModeSchema = FillModeSchema;
|
|
71827
|
+
exports.FolderNameAllSpecifierSchema = FolderNameAllSpecifierSchema;
|
|
71828
|
+
exports.FolderNameAndSpecifierSchema = FolderNameAndSpecifierSchema;
|
|
71829
|
+
exports.FolderNameChildrenSpecifierSchema = FolderNameChildrenSpecifierSchema;
|
|
71830
|
+
exports.FolderNameExactSpecifierSchema = FolderNameExactSpecifierSchema;
|
|
71831
|
+
exports.FolderNameNoneSpecifierSchema = FolderNameNoneSpecifierSchema;
|
|
71832
|
+
exports.FolderNameNotSpecifierSchema = FolderNameNotSpecifierSchema;
|
|
71833
|
+
exports.FolderNameOrSpecifierSchema = FolderNameOrSpecifierSchema;
|
|
71834
|
+
exports.FolderNameRegExSpecifierSchema = FolderNameRegExSpecifierSchema;
|
|
71835
|
+
exports.FolderNameSpecifierSchema = FolderNameSpecifierSchema;
|
|
70084
71836
|
exports.GraphService = GraphService;
|
|
70085
71837
|
exports.InventoryService = InventoryService;
|
|
71838
|
+
exports.JoinTypeSchema = JoinTypeSchema;
|
|
70086
71839
|
exports.JsExtensionService = JsExtensionService;
|
|
70087
71840
|
exports.LogsService = LogsService;
|
|
71841
|
+
exports.ManagementModuleIdSchema = ManagementModuleIdSchema;
|
|
70088
71842
|
exports.ManagementModuleService = ManagementModuleService;
|
|
71843
|
+
exports.MetadataMetricQueryResponseV2Schema = MetadataMetricQueryResponseV2Schema;
|
|
71844
|
+
exports.MetadataMetricQuerySchema = MetadataMetricQuerySchema;
|
|
71845
|
+
exports.MetricAttributeSchema = MetricAttributeSchema;
|
|
70089
71846
|
exports.MetricBatchService = MetricBatchService;
|
|
71847
|
+
exports.MetricFolderSchema = MetricFolderSchema;
|
|
70090
71848
|
exports.MetricGroupingService = MetricGroupingService;
|
|
70091
71849
|
exports.NASSService = NASSService;
|
|
71850
|
+
exports.NassValueTypeSchema = NassValueTypeSchema;
|
|
70092
71851
|
exports.NotificationService = NotificationService;
|
|
71852
|
+
exports.NumericOperatorSchema = NumericOperatorSchema;
|
|
70093
71853
|
exports.O2NotificationService = O2NotificationService;
|
|
70094
71854
|
exports.O2UniverseService = O2UniverseService;
|
|
71855
|
+
exports.OperatorSchema = OperatorSchema;
|
|
70095
71856
|
exports.PerspectiveService = PerspectiveService;
|
|
71857
|
+
exports.PlatformAlertService = PlatformAlertService;
|
|
71858
|
+
exports.PlatformManagementModuleService = PlatformManagementModuleService;
|
|
71859
|
+
exports.PlatformMetricGroupingService = PlatformMetricGroupingService;
|
|
71860
|
+
exports.QuantileMethodSchema = QuantileMethodSchema;
|
|
71861
|
+
exports.QueryAllSpecifierSchema = QueryAllSpecifierSchema;
|
|
71862
|
+
exports.QueryAndSpecifierSchema = QueryAndSpecifierSchema;
|
|
71863
|
+
exports.QueryAttributeExpressionSchema = QueryAttributeExpressionSchema;
|
|
71864
|
+
exports.QueryAttributeSpecifierSchema = QueryAttributeSpecifierSchema;
|
|
71865
|
+
exports.QueryColumnTypeSpecSchema = QueryColumnTypeSpecSchema;
|
|
71866
|
+
exports.QueryFilterPredicateSpecSchema = QueryFilterPredicateSpecSchema;
|
|
71867
|
+
exports.QueryFunctionSpecSchema = QueryFunctionSpecSchema;
|
|
71868
|
+
exports.QueryHintForceRangeSchema = QueryHintForceRangeSchema;
|
|
71869
|
+
exports.QueryHintSchema = QueryHintSchema;
|
|
71870
|
+
exports.QueryIdSpecifierSchema = QueryIdSpecifierSchema;
|
|
71871
|
+
exports.QueryMetricGroupSpecifierSchema = QueryMetricGroupSpecifierSchema;
|
|
71872
|
+
exports.QueryMetricIdSchema = QueryMetricIdSchema;
|
|
71873
|
+
exports.QueryNoneSpecifierSchema = QueryNoneSpecifierSchema;
|
|
71874
|
+
exports.QueryNotSpecifierSchema = QueryNotSpecifierSchema;
|
|
71875
|
+
exports.QueryOrSpecifierSchema = QueryOrSpecifierSchema;
|
|
71876
|
+
exports.QueryRangeSpecSchema = QueryRangeSpecSchema;
|
|
71877
|
+
exports.QueryRequestSchema = QueryRequestSchema;
|
|
71878
|
+
exports.QueryResultSchema = QueryResultSchema;
|
|
71879
|
+
exports.QuerySpecSpecifierSchema = QuerySpecSpecifierSchema;
|
|
71880
|
+
exports.QuerySpecifierSchema = QuerySpecifierSchema;
|
|
70096
71881
|
exports.SQLService = SQLService;
|
|
71882
|
+
exports.ServiceFilterSpecifierSchema = ServiceFilterSpecifierSchema;
|
|
70097
71883
|
exports.ServiceService = ServiceService;
|
|
70098
71884
|
exports.SessionService = SessionService;
|
|
70099
71885
|
exports.SimpleHTTPError = SimpleHTTPError;
|
|
70100
71886
|
exports.SituationService = SituationService;
|
|
71887
|
+
exports.SourceNameAllSpecifierSchema = SourceNameAllSpecifierSchema;
|
|
71888
|
+
exports.SourceNameAndSpecifierSchema = SourceNameAndSpecifierSchema;
|
|
71889
|
+
exports.SourceNameExactSpecifierSchema = SourceNameExactSpecifierSchema;
|
|
71890
|
+
exports.SourceNameNoneSpecifierSchema = SourceNameNoneSpecifierSchema;
|
|
71891
|
+
exports.SourceNameNotSpecifierSchema = SourceNameNotSpecifierSchema;
|
|
71892
|
+
exports.SourceNameOrSpecifierSchema = SourceNameOrSpecifierSchema;
|
|
71893
|
+
exports.SourceNamePartOperatorSpecifierSchema = SourceNamePartOperatorSpecifierSchema;
|
|
71894
|
+
exports.SourceNameRegExSpecifierSchema = SourceNameRegExSpecifierSchema;
|
|
71895
|
+
exports.SourceNameSpecifierSchema = SourceNameSpecifierSchema;
|
|
70101
71896
|
exports.TASService = TASService;
|
|
71897
|
+
exports.TasAddFlowsFilterSchema = TasAddFlowsFilterSchema;
|
|
71898
|
+
exports.TasAddTransitioningEdgesFilterSchema = TasAddTransitioningEdgesFilterSchema;
|
|
71899
|
+
exports.TasAddWireContextFilterSchema = TasAddWireContextFilterSchema;
|
|
71900
|
+
exports.TasAddWiresFilterSchema = TasAddWiresFilterSchema;
|
|
71901
|
+
exports.TasAllFilterSchema = TasAllFilterSchema;
|
|
71902
|
+
exports.TasAnalyticResultSchema = TasAnalyticResultSchema;
|
|
71903
|
+
exports.TasAndFilterSchema = TasAndFilterSchema;
|
|
71904
|
+
exports.TasAttributeFilterModeSchema = TasAttributeFilterModeSchema;
|
|
71905
|
+
exports.TasAttributeFilterSchema = TasAttributeFilterSchema;
|
|
71906
|
+
exports.TasAttributeTypeSchema = TasAttributeTypeSchema;
|
|
71907
|
+
exports.TasCollectAttributeNamesFilterSchema = TasCollectAttributeNamesFilterSchema;
|
|
71908
|
+
exports.TasCollectAttributesFilterSchema = TasCollectAttributesFilterSchema;
|
|
71909
|
+
exports.TasCollectCardInfoFilterSchema = TasCollectCardInfoFilterSchema;
|
|
71910
|
+
exports.TasCollectCardInfoTierSchema = TasCollectCardInfoTierSchema;
|
|
71911
|
+
exports.TasCollectCountsFilterSchema = TasCollectCountsFilterSchema;
|
|
71912
|
+
exports.TasCollectExperienceAttributesFilterSchema = TasCollectExperienceAttributesFilterSchema;
|
|
71913
|
+
exports.TasCollectExperienceSelectorSchema = TasCollectExperienceSelectorSchema;
|
|
71914
|
+
exports.TasCollectGroupingInfoFilterSchema = TasCollectGroupingInfoFilterSchema;
|
|
71915
|
+
exports.TasCollectVertexIdFilterSchema = TasCollectVertexIdFilterSchema;
|
|
71916
|
+
exports.TasCoverageFilterSchema = TasCoverageFilterSchema;
|
|
71917
|
+
exports.TasEdgeSchema = TasEdgeSchema;
|
|
71918
|
+
exports.TasEmptyFilterSchema = TasEmptyFilterSchema;
|
|
71919
|
+
exports.TasExternalIdSchema = TasExternalIdSchema;
|
|
71920
|
+
exports.TasFilterSchema = TasFilterSchema;
|
|
71921
|
+
exports.TasFollowPathFilterSchema = TasFollowPathFilterSchema;
|
|
71922
|
+
exports.TasFollowPathFlowFilterSchema = TasFollowPathFlowFilterSchema;
|
|
71923
|
+
exports.TasFollowPathTypeSchema = TasFollowPathTypeSchema;
|
|
71924
|
+
exports.TasGraphSchema = TasGraphSchema;
|
|
71925
|
+
exports.TasGroupingItemSchema = TasGroupingItemSchema;
|
|
71926
|
+
exports.TasJoinFilterSchema = TasJoinFilterSchema;
|
|
71927
|
+
exports.TasJoinTypeSchema = TasJoinTypeSchema;
|
|
71928
|
+
exports.TasLayerFilterSchema = TasLayerFilterSchema;
|
|
71929
|
+
exports.TasLegacyFilterSchema = TasLegacyFilterSchema;
|
|
71930
|
+
exports.TasLuceneFilterSchema = TasLuceneFilterSchema;
|
|
71931
|
+
exports.TasNotFilterSchema = TasNotFilterSchema;
|
|
71932
|
+
exports.TasOrFilterSchema = TasOrFilterSchema;
|
|
71933
|
+
exports.TasOrderSchema = TasOrderSchema;
|
|
71934
|
+
exports.TasProjectionFilterSchema = TasProjectionFilterSchema;
|
|
71935
|
+
exports.TasQuerySchema = TasQuerySchema;
|
|
71936
|
+
exports.TasServiceFilterSchema = TasServiceFilterSchema;
|
|
71937
|
+
exports.TasStatusFilterSchema = TasStatusFilterSchema;
|
|
71938
|
+
exports.TasTakeEdgesFilterSchema = TasTakeEdgesFilterSchema;
|
|
71939
|
+
exports.TasTakeFlowsFilterSchema = TasTakeFlowsFilterSchema;
|
|
71940
|
+
exports.TasTakeVerticesFilterSchema = TasTakeVerticesFilterSchema;
|
|
71941
|
+
exports.TasTraverseFilterSchema = TasTraverseFilterSchema;
|
|
71942
|
+
exports.TasVariableFilterSchema = TasVariableFilterSchema;
|
|
71943
|
+
exports.TasVariableSchema = TasVariableSchema;
|
|
71944
|
+
exports.TasVertexIdFilterSchema = TasVertexIdFilterSchema;
|
|
71945
|
+
exports.TasVertexSchema = TasVertexSchema;
|
|
71946
|
+
exports.TasViewSchema = TasViewSchema;
|
|
71947
|
+
exports.TraversalEdgeFilterSchema = TraversalEdgeFilterSchema;
|
|
71948
|
+
exports.TraversalVertexFilterSchema = TraversalVertexFilterSchema;
|
|
71949
|
+
exports.TraverseCollectSchema = TraverseCollectSchema;
|
|
71950
|
+
exports.TraverseDirectionSchema = TraverseDirectionSchema;
|
|
71951
|
+
exports.TraverseSchema = TraverseSchema;
|
|
70102
71952
|
exports.VertexService = VertexService;
|
|
71953
|
+
exports.VertexStateExternalIdSchema = VertexStateExternalIdSchema;
|
|
71954
|
+
exports.VertexStateFilterSchema = VertexStateFilterSchema;
|
|
71955
|
+
exports.VertexStateNumericIdSchema = VertexStateNumericIdSchema;
|
|
71956
|
+
exports.VertexStateSchema = VertexStateSchema;
|
|
70103
71957
|
exports.ags = ags;
|
|
70104
71958
|
exports.agsresponse = agsresponse;
|
|
70105
71959
|
exports.apiTokenCreate = apiTokenCreate;
|