acryl-datahub-cloud 0.3.9.2rc1__py3-none-any.whl → 0.3.10rc0__py3-none-any.whl

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.

Potentially problematic release.


This version of acryl-datahub-cloud might be problematic. Click here for more details.

Files changed (54) hide show
  1. acryl_datahub_cloud/_codegen_config.json +1 -1
  2. acryl_datahub_cloud/metadata/_urns/urn_defs.py +80 -56
  3. acryl_datahub_cloud/metadata/com/linkedin/pegasus2avro/anomaly/__init__.py +2 -12
  4. acryl_datahub_cloud/metadata/com/linkedin/pegasus2avro/assertion/__init__.py +6 -0
  5. acryl_datahub_cloud/metadata/com/linkedin/pegasus2avro/common/__init__.py +2 -0
  6. acryl_datahub_cloud/metadata/com/linkedin/pegasus2avro/metadata/key/__init__.py +2 -0
  7. acryl_datahub_cloud/metadata/com/linkedin/pegasus2avro/monitor/__init__.py +16 -0
  8. acryl_datahub_cloud/metadata/com/linkedin/pegasus2avro/timeseries/__init__.py +8 -0
  9. acryl_datahub_cloud/metadata/schema.avsc +1137 -663
  10. acryl_datahub_cloud/metadata/schema_classes.py +1094 -310
  11. acryl_datahub_cloud/metadata/schemas/AnomalyKey.avsc +1 -7
  12. acryl_datahub_cloud/metadata/schemas/AssertionAnalyticsRunEvent.avsc +445 -213
  13. acryl_datahub_cloud/metadata/schemas/AssertionInferenceDetails.avsc +237 -12
  14. acryl_datahub_cloud/metadata/schemas/AssertionInfo.avsc +277 -212
  15. acryl_datahub_cloud/metadata/schemas/AssertionRunEvent.avsc +445 -213
  16. acryl_datahub_cloud/metadata/schemas/CorpGroupKey.avsc +1 -0
  17. acryl_datahub_cloud/metadata/schemas/CorpGroupSettings.avsc +48 -1
  18. acryl_datahub_cloud/metadata/schemas/CorpUserKey.avsc +3 -2
  19. acryl_datahub_cloud/metadata/schemas/CorpUserSettings.avsc +48 -1
  20. acryl_datahub_cloud/metadata/schemas/DataProcessInstanceInput.avsc +2 -1
  21. acryl_datahub_cloud/metadata/schemas/DataProcessInstanceOutput.avsc +2 -1
  22. acryl_datahub_cloud/metadata/schemas/DataProcessKey.avsc +2 -1
  23. acryl_datahub_cloud/metadata/schemas/DataProductKey.avsc +1 -0
  24. acryl_datahub_cloud/metadata/schemas/Deprecation.avsc +2 -0
  25. acryl_datahub_cloud/metadata/schemas/GlobalSettingsInfo.avsc +1 -1
  26. acryl_datahub_cloud/metadata/schemas/GlossaryNodeKey.avsc +1 -0
  27. acryl_datahub_cloud/metadata/schemas/GlossaryTermKey.avsc +1 -0
  28. acryl_datahub_cloud/metadata/schemas/InstitutionalMemory.avsc +31 -0
  29. acryl_datahub_cloud/metadata/schemas/MLFeatureKey.avsc +1 -0
  30. acryl_datahub_cloud/metadata/schemas/MLFeatureTableKey.avsc +1 -0
  31. acryl_datahub_cloud/metadata/schemas/MLModelDeploymentKey.avsc +2 -1
  32. acryl_datahub_cloud/metadata/schemas/MLModelGroupKey.avsc +3 -0
  33. acryl_datahub_cloud/metadata/schemas/MLModelGroupProperties.avsc +16 -0
  34. acryl_datahub_cloud/metadata/schemas/MLModelKey.avsc +2 -0
  35. acryl_datahub_cloud/metadata/schemas/MLPrimaryKeyKey.avsc +1 -0
  36. acryl_datahub_cloud/metadata/schemas/MetadataChangeEvent.avsc +49 -0
  37. acryl_datahub_cloud/metadata/schemas/MonitorAnomalyEvent.avsc +265 -0
  38. acryl_datahub_cloud/metadata/schemas/MonitorInfo.avsc +549 -212
  39. acryl_datahub_cloud/metadata/schemas/MonitorKey.avsc +2 -1
  40. acryl_datahub_cloud/metadata/schemas/MonitorSuiteInfo.avsc +790 -0
  41. acryl_datahub_cloud/metadata/schemas/MonitorSuiteKey.avsc +21 -0
  42. acryl_datahub_cloud/metadata/schemas/NotificationRequest.avsc +3 -1
  43. acryl_datahub_cloud/metadata/schemas/PostKey.avsc +1 -0
  44. acryl_datahub_cloud/metadata/schemas/QueryProperties.avsc +20 -0
  45. acryl_datahub_cloud/metadata/schemas/RemoteExecutorPoolInfo.avsc +9 -0
  46. acryl_datahub_cloud/metadata/schemas/SchemaFieldKey.avsc +1 -0
  47. acryl_datahub_cloud/metadata/schemas/Siblings.avsc +2 -0
  48. acryl_datahub_cloud/metadata/schemas/SubscriptionInfo.avsc +48 -1
  49. {acryl_datahub_cloud-0.3.9.2rc1.dist-info → acryl_datahub_cloud-0.3.10rc0.dist-info}/METADATA +42 -42
  50. {acryl_datahub_cloud-0.3.9.2rc1.dist-info → acryl_datahub_cloud-0.3.10rc0.dist-info}/RECORD +53 -51
  51. acryl_datahub_cloud/metadata/schemas/AnomalyInfo.avsc +0 -342
  52. {acryl_datahub_cloud-0.3.9.2rc1.dist-info → acryl_datahub_cloud-0.3.10rc0.dist-info}/WHEEL +0 -0
  53. {acryl_datahub_cloud-0.3.9.2rc1.dist-info → acryl_datahub_cloud-0.3.10rc0.dist-info}/entry_points.txt +0 -0
  54. {acryl_datahub_cloud-0.3.9.2rc1.dist-info → acryl_datahub_cloud-0.3.10rc0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,790 @@
1
+ {
2
+ "type": "record",
3
+ "Aspect": {
4
+ "name": "monitorSuiteInfo"
5
+ },
6
+ "name": "MonitorSuiteInfo",
7
+ "namespace": "com.linkedin.pegasus2avro.monitor",
8
+ "fields": [
9
+ {
10
+ "Searchable": {},
11
+ "type": {
12
+ "type": "enum",
13
+ "symbolDocs": {
14
+ "DATA_SCHEMA": "A monitor responsible for evaluating schema changes.",
15
+ "FRESHNESS": "A monitor responsible for evaluating freshness anomalies.",
16
+ "VOLUME": "A monitor responsible for evaluating volume anomalies."
17
+ },
18
+ "name": "MonitorSuiteType",
19
+ "namespace": "com.linkedin.pegasus2avro.monitor",
20
+ "symbols": [
21
+ "FRESHNESS",
22
+ "VOLUME",
23
+ "DATA_SCHEMA"
24
+ ]
25
+ },
26
+ "name": "type",
27
+ "doc": "Type of monitor suite."
28
+ },
29
+ {
30
+ "type": {
31
+ "type": "record",
32
+ "name": "MonitorSuiteAssignmentSpec",
33
+ "namespace": "com.linkedin.pegasus2avro.monitor",
34
+ "fields": [
35
+ {
36
+ "type": {
37
+ "type": "record",
38
+ "name": "Filter",
39
+ "namespace": "com.linkedin.pegasus2avro.metadata.query.filter",
40
+ "fields": [
41
+ {
42
+ "type": [
43
+ "null",
44
+ {
45
+ "type": "array",
46
+ "items": {
47
+ "type": "record",
48
+ "name": "ConjunctiveCriterion",
49
+ "namespace": "com.linkedin.pegasus2avro.metadata.query.filter",
50
+ "fields": [
51
+ {
52
+ "type": {
53
+ "type": "array",
54
+ "items": {
55
+ "type": "record",
56
+ "name": "Criterion",
57
+ "namespace": "com.linkedin.pegasus2avro.metadata.query.filter",
58
+ "fields": [
59
+ {
60
+ "type": "string",
61
+ "name": "field",
62
+ "doc": "The name of the field that the criterion refers to"
63
+ },
64
+ {
65
+ "type": "string",
66
+ "name": "value",
67
+ "doc": "The value of the intended field"
68
+ },
69
+ {
70
+ "type": {
71
+ "type": "array",
72
+ "items": "string"
73
+ },
74
+ "name": "values",
75
+ "default": [],
76
+ "doc": "Values. one of which the intended field should match\nNote, if values is set, the above \"value\" field will be ignored"
77
+ },
78
+ {
79
+ "type": {
80
+ "type": "enum",
81
+ "symbolDocs": {
82
+ "ANCESTORS_INCL": "Represent the relation: URN field matches any nested parent in addition to the given URN",
83
+ "BETWEEN": "Represent the relation within an inclusive range, e.g. 3 <= ownerCount <= 5. Note that the values in Criterion must have two entries for a lower and upper bound.",
84
+ "CONTAIN": "Represent the relation: String field contains value, e.g. name contains Profile",
85
+ "DESCENDANTS_INCL": "Represent the relation: URN field any nested children in addition to the given URN",
86
+ "END_WITH": "Represent the relation: String field ends with value, e.g. name ends with Event",
87
+ "EQUAL": "Represent the relation: field = value, e.g. platform = hdfs",
88
+ "EXISTS": "Represents the relation: field exists and is non-empty, e.g. owners is not null and != [] (empty)",
89
+ "GREATER_THAN": "Represent the relation greater than, e.g. ownerCount > 5",
90
+ "GREATER_THAN_OR_EQUAL_TO": "Represent the relation greater than or equal to, e.g. ownerCount >= 5",
91
+ "IEQUAL": "Represent the relation: field = value and support case insensitive values, e.g. platform = hdfs",
92
+ "IN": "Represent the relation: String field is one of the array values to, e.g. name in [\"Profile\", \"Event\"]",
93
+ "IS_NULL": "Represent the relation: field is null, e.g. platform is null",
94
+ "LESS_THAN": "Represent the relation less than, e.g. ownerCount < 3",
95
+ "LESS_THAN_OR_EQUAL_TO": "Represent the relation less than or equal to, e.g. ownerCount <= 3",
96
+ "RELATED_INCL": "Represent the relation: URN field matches any nested child or parent in addition to the given URN",
97
+ "START_WITH": "Represent the relation: String field starts with value, e.g. name starts with PageView"
98
+ },
99
+ "name": "Condition",
100
+ "namespace": "com.linkedin.pegasus2avro.metadata.query.filter",
101
+ "symbols": [
102
+ "CONTAIN",
103
+ "END_WITH",
104
+ "EQUAL",
105
+ "IEQUAL",
106
+ "IS_NULL",
107
+ "EXISTS",
108
+ "GREATER_THAN",
109
+ "GREATER_THAN_OR_EQUAL_TO",
110
+ "IN",
111
+ "LESS_THAN",
112
+ "LESS_THAN_OR_EQUAL_TO",
113
+ "BETWEEN",
114
+ "START_WITH",
115
+ "DESCENDANTS_INCL",
116
+ "ANCESTORS_INCL",
117
+ "RELATED_INCL"
118
+ ],
119
+ "doc": "The matching condition in a filter criterion"
120
+ },
121
+ "name": "condition",
122
+ "default": "EQUAL",
123
+ "doc": "The condition for the criterion, e.g. EQUAL, START_WITH"
124
+ },
125
+ {
126
+ "type": "boolean",
127
+ "name": "negated",
128
+ "default": false,
129
+ "doc": "Whether the condition should be negated"
130
+ }
131
+ ],
132
+ "doc": "A criterion for matching a field with given value"
133
+ }
134
+ },
135
+ "name": "and",
136
+ "doc": "A list of and criteria the filter applies to the query"
137
+ }
138
+ ],
139
+ "doc": "A list of criterion and'd together."
140
+ }
141
+ }
142
+ ],
143
+ "name": "or",
144
+ "default": null,
145
+ "doc": "A list of disjunctive criterion for the filter. (or operation to combine filters)"
146
+ },
147
+ {
148
+ "type": [
149
+ "null",
150
+ {
151
+ "type": "array",
152
+ "items": "com.linkedin.pegasus2avro.metadata.query.filter.Criterion"
153
+ }
154
+ ],
155
+ "name": "criteria",
156
+ "default": null,
157
+ "doc": "Deprecated! A list of conjunctive criterion for the filter. If \"or\" field is provided, then this field is ignored."
158
+ }
159
+ ],
160
+ "doc": "The filter for finding a record or a collection of records"
161
+ },
162
+ "name": "filter",
163
+ "doc": "The filter applied when assigning this form to entities. Entities that match this filter\nwill have this form applied to them. Right now this filter only supports filtering by\nplatform, entity type, container, term, tag, domain, and urns through the UI."
164
+ },
165
+ {
166
+ "type": [
167
+ "null",
168
+ "string"
169
+ ],
170
+ "name": "json",
171
+ "default": null,
172
+ "doc": "The stringified json representing the logical predicate built in the UI to select assets.\nThis predicate is turned into orFilters to send through graphql since graphql doesn't support\narbitrary nesting. This string is used to restore the UI for this logical predicate."
173
+ }
174
+ ],
175
+ "doc": "Information about entities that should be monitored by a monitor suite."
176
+ },
177
+ "name": "assignment",
178
+ "doc": "The assignment rule to define the entities that are monitored by this group."
179
+ },
180
+ {
181
+ "type": [
182
+ "null",
183
+ {
184
+ "type": "record",
185
+ "name": "MonitorSuiteAssertionSettings",
186
+ "namespace": "com.linkedin.pegasus2avro.monitor",
187
+ "fields": [
188
+ {
189
+ "type": [
190
+ "null",
191
+ {
192
+ "type": "record",
193
+ "name": "FixedIntervalSchedule",
194
+ "namespace": "com.linkedin.pegasus2avro.assertion",
195
+ "fields": [
196
+ {
197
+ "type": {
198
+ "type": "enum",
199
+ "name": "CalendarInterval",
200
+ "namespace": "com.linkedin.pegasus2avro.timeseries",
201
+ "symbols": [
202
+ "SECOND",
203
+ "MINUTE",
204
+ "HOUR",
205
+ "DAY",
206
+ "WEEK",
207
+ "MONTH",
208
+ "QUARTER",
209
+ "YEAR"
210
+ ]
211
+ },
212
+ "name": "unit",
213
+ "doc": "Interval unit such as minute/hour/day etc."
214
+ },
215
+ {
216
+ "type": "int",
217
+ "name": "multiple",
218
+ "default": 1,
219
+ "doc": "How many units. Defaults to 1."
220
+ }
221
+ ],
222
+ "doc": "Attributes defining a relative fixed interval SLA schedule."
223
+ }
224
+ ],
225
+ "name": "schedule",
226
+ "default": null,
227
+ "doc": "The schedule for the assertion monitors within this group.\nNot applicable for freshness anomaly monitors."
228
+ },
229
+ {
230
+ "type": "long",
231
+ "name": "trainingDataLookbackWindowDays",
232
+ "default": 60,
233
+ "doc": "The lookback window configuration for retrieving training data points.\nDefines how far back in time to look when gathering data for training.\nDefaults to 60 days if not specified."
234
+ },
235
+ {
236
+ "type": [
237
+ "null",
238
+ {
239
+ "type": "record",
240
+ "name": "AssertionAction",
241
+ "namespace": "com.linkedin.pegasus2avro.assertion",
242
+ "fields": [
243
+ {
244
+ "type": {
245
+ "type": "enum",
246
+ "symbolDocs": {
247
+ "RAISE_INCIDENT": "Raise an incident.",
248
+ "RESOLVE_INCIDENT": "Resolve open incidents related to the assertion."
249
+ },
250
+ "name": "AssertionActionType",
251
+ "namespace": "com.linkedin.pegasus2avro.assertion",
252
+ "symbols": [
253
+ "RAISE_INCIDENT",
254
+ "RESOLVE_INCIDENT"
255
+ ]
256
+ },
257
+ "name": "type",
258
+ "doc": "The type of the Action"
259
+ }
260
+ ],
261
+ "doc": "The Actions about an Assertion.\nIn the future, we'll likely extend this model to support additional\nparameters or options related to the assertion actions."
262
+ }
263
+ ],
264
+ "name": "action",
265
+ "default": null,
266
+ "doc": "The action to take when an assertion evaluates.\nI.e., raise an incident if the assertion fails."
267
+ },
268
+ {
269
+ "type": [
270
+ "null",
271
+ {
272
+ "type": "array",
273
+ "items": {
274
+ "type": "record",
275
+ "name": "AssertionExclusionWindow",
276
+ "namespace": "com.linkedin.pegasus2avro.assertion",
277
+ "fields": [
278
+ {
279
+ "type": {
280
+ "type": "enum",
281
+ "symbolDocs": {
282
+ "FIXED_RANGE": "One-off time range to exclude",
283
+ "HOLIDAY": "Specific holiday to exclude",
284
+ "WEEKLY": "Recurring time range to exclude each week"
285
+ },
286
+ "name": "AssertionExclusionWindowType",
287
+ "namespace": "com.linkedin.pegasus2avro.assertion",
288
+ "symbols": [
289
+ "FIXED_RANGE",
290
+ "WEEKLY",
291
+ "HOLIDAY"
292
+ ]
293
+ },
294
+ "name": "type",
295
+ "doc": "The type of exclusion window."
296
+ },
297
+ {
298
+ "type": [
299
+ "null",
300
+ "string"
301
+ ],
302
+ "name": "displayName",
303
+ "default": null,
304
+ "doc": "Display name for this exclusion window"
305
+ },
306
+ {
307
+ "type": [
308
+ "null",
309
+ {
310
+ "type": "record",
311
+ "name": "AbsoluteTimeWindow",
312
+ "namespace": "com.linkedin.pegasus2avro.timeseries",
313
+ "fields": [
314
+ {
315
+ "type": "long",
316
+ "name": "startTimeMillis",
317
+ "doc": "Start time as epoch at UTC."
318
+ },
319
+ {
320
+ "type": "long",
321
+ "name": "endTimeMillis",
322
+ "doc": "End time as epoch at UTC."
323
+ }
324
+ ]
325
+ }
326
+ ],
327
+ "name": "fixedRange",
328
+ "default": null,
329
+ "doc": "Date window for one-off exclusion range\nOnly used when type is FIXED_RANGE"
330
+ },
331
+ {
332
+ "type": [
333
+ "null",
334
+ {
335
+ "type": "record",
336
+ "name": "WeeklyWindow",
337
+ "namespace": "com.linkedin.pegasus2avro.timeseries",
338
+ "fields": [
339
+ {
340
+ "type": {
341
+ "type": "array",
342
+ "items": {
343
+ "type": "enum",
344
+ "name": "DayOfWeek",
345
+ "namespace": "com.linkedin.pegasus2avro.timeseries",
346
+ "symbols": [
347
+ "MONDAY",
348
+ "TUESDAY",
349
+ "WEDNESDAY",
350
+ "THURSDAY",
351
+ "FRIDAY",
352
+ "SATURDAY",
353
+ "SUNDAY"
354
+ ]
355
+ }
356
+ },
357
+ "name": "daysOfWeek",
358
+ "doc": "Days of the week to include in the window.\nIf not specified, all days are included."
359
+ },
360
+ {
361
+ "type": [
362
+ "null",
363
+ "string"
364
+ ],
365
+ "name": "startTime",
366
+ "default": null,
367
+ "doc": "Start time for the window on each specified day.\nFormat: \"HH:MM\" in 24-hour format (e.g., \"09:00\" for 9am, \"17:30\" for 5:30pm).\nIf not specified, defaults to start of day (\"00:00\")."
368
+ },
369
+ {
370
+ "type": [
371
+ "null",
372
+ "string"
373
+ ],
374
+ "name": "endTime",
375
+ "default": null,
376
+ "doc": "End time for the window on each specified day.\nFormat: \"HH:MM\" in 24-hour format (e.g., \"17:00\" for 5pm, \"23:59\" for end of day).\nIf not specified, defaults to end of day (\"23:59\")."
377
+ },
378
+ {
379
+ "type": [
380
+ "null",
381
+ "string"
382
+ ],
383
+ "name": "timezone",
384
+ "default": null,
385
+ "doc": "Time zone to interpret start and end times in.\nUses standard time zone identifiers (e.g., \"America/Los_Angeles\", \"UTC\").\nIf not specified, defaults to UTC."
386
+ }
387
+ ],
388
+ "doc": "Represents a recurring time window that repeats weekly.\nUsed to define exclusion periods for model training based on day of week and time of day."
389
+ }
390
+ ],
391
+ "name": "weekly",
392
+ "default": null,
393
+ "doc": "Window of time each week to exclude."
394
+ },
395
+ {
396
+ "type": [
397
+ "null",
398
+ {
399
+ "type": "record",
400
+ "name": "HolidayWindow",
401
+ "namespace": "com.linkedin.pegasus2avro.timeseries",
402
+ "fields": [
403
+ {
404
+ "type": "string",
405
+ "name": "name",
406
+ "doc": "The name of the holiday."
407
+ },
408
+ {
409
+ "type": [
410
+ "null",
411
+ "string"
412
+ ],
413
+ "name": "region",
414
+ "default": null,
415
+ "doc": "The region of the holiday.\nExample: 'US'"
416
+ },
417
+ {
418
+ "type": [
419
+ "null",
420
+ "string"
421
+ ],
422
+ "name": "timezone",
423
+ "default": null,
424
+ "doc": "The timezone of the holiday.\nExample: 'America/New_York'"
425
+ }
426
+ ]
427
+ }
428
+ ],
429
+ "name": "holiday",
430
+ "default": null,
431
+ "doc": "The holiday to exclude\nOnly used when type is HOLIDAY"
432
+ }
433
+ ],
434
+ "doc": "Information about an assertion exclusion window.\nThis is used to exclude specific time periods from assertion evaluation or training.\nFor example, excluding holidays, weekends, or known anomalous periods.\nSupports various recurrence patterns: one-off exclusions, or recurring exclusions\n(yearly, monthly, weekly, daily, or specific holidays)."
435
+ }
436
+ }
437
+ ],
438
+ "name": "exclusionWindows",
439
+ "default": null,
440
+ "doc": "The exclusion windows for the assertion monitors within this group."
441
+ }
442
+ ],
443
+ "doc": "Settings for assertion monitors within a monitor suite."
444
+ }
445
+ ],
446
+ "name": "assertionSettings",
447
+ "default": null,
448
+ "doc": "Settings for assertion monitors within this group."
449
+ },
450
+ {
451
+ "type": [
452
+ "null",
453
+ {
454
+ "type": "record",
455
+ "name": "MonitorSuiteNotificationSettings",
456
+ "namespace": "com.linkedin.pegasus2avro.monitor",
457
+ "fields": [
458
+ {
459
+ "type": {
460
+ "type": "array",
461
+ "items": {
462
+ "type": "record",
463
+ "name": "EntityChangeDetails",
464
+ "namespace": "com.linkedin.pegasus2avro.subscription",
465
+ "fields": [
466
+ {
467
+ "type": {
468
+ "type": "enum",
469
+ "symbolDocs": {
470
+ "ASSERTION_PASSED": "Assertion run event created with specified states.",
471
+ "DEPRECATED": "Deprecation status changes.",
472
+ "DOCUMENTATION_CHANGE": "Documentation change.",
473
+ "GLOSSARY_TERM_ADDED": "Glossary term changes. Added, removed or proposed.",
474
+ "INCIDENT_RAISED": "Incident status changes.",
475
+ "INGESTION_SUCCEEDED": "Ingestion status changes.",
476
+ "OPERATION_COLUMN_ADDED": "Schema changes.",
477
+ "OPERATION_ROWS_INSERTED": "Operational metadata changes.",
478
+ "OWNER_ADDED": "Ownership changes. Added or removed.",
479
+ "TAG_ADDED": "Tag changes. Added, removed or proposed.",
480
+ "TEST_PASSED": "Test status changes."
481
+ },
482
+ "name": "EntityChangeType",
483
+ "namespace": "com.linkedin.pegasus2avro.subscription",
484
+ "symbols": [
485
+ "OPERATION_COLUMN_ADDED",
486
+ "OPERATION_COLUMN_REMOVED",
487
+ "OPERATION_COLUMN_MODIFIED",
488
+ "OPERATION_ROWS_INSERTED",
489
+ "OPERATION_ROWS_UPDATED",
490
+ "OPERATION_ROWS_REMOVED",
491
+ "ASSERTION_PASSED",
492
+ "ASSERTION_FAILED",
493
+ "ASSERTION_ERROR",
494
+ "INCIDENT_RAISED",
495
+ "INCIDENT_RESOLVED",
496
+ "TEST_PASSED",
497
+ "TEST_FAILED",
498
+ "DEPRECATED",
499
+ "UNDEPRECATED",
500
+ "INGESTION_SUCCEEDED",
501
+ "INGESTION_FAILED",
502
+ "DOCUMENTATION_CHANGE",
503
+ "OWNER_ADDED",
504
+ "OWNER_REMOVED",
505
+ "GLOSSARY_TERM_ADDED",
506
+ "GLOSSARY_TERM_REMOVED",
507
+ "GLOSSARY_TERM_PROPOSED",
508
+ "TAG_ADDED",
509
+ "TAG_REMOVED",
510
+ "TAG_PROPOSED"
511
+ ],
512
+ "doc": "Enum to define change types that can trigger a subscription."
513
+ },
514
+ "name": "entityChangeType",
515
+ "doc": "Change type that triggers a notification for the subscription."
516
+ },
517
+ {
518
+ "type": [
519
+ "null",
520
+ {
521
+ "type": "record",
522
+ "name": "EntityChangeDetailsFilter",
523
+ "namespace": "com.linkedin.pegasus2avro.subscription",
524
+ "fields": [
525
+ {
526
+ "type": [
527
+ "null",
528
+ {
529
+ "type": "array",
530
+ "items": "string"
531
+ }
532
+ ],
533
+ "name": "includeAssertions",
534
+ "default": null,
535
+ "doc": "A list of assertions to inclusively filter when generating notifications.\nUsed for EntityChangeType values of ASSERTION_PASSED, ASSERTION_FAILED, ASSERTION_ERROR.\nEffectively allows for 'assertion level subscriptions'",
536
+ "Urn": "Urn",
537
+ "urn_is_array": true
538
+ }
539
+ ],
540
+ "doc": "Details for filtering notifications relating to an EntityChangeType. Used by Subscriptions to determine how to\nfilter out change types when triggering a notification."
541
+ }
542
+ ],
543
+ "name": "filter",
544
+ "default": null,
545
+ "doc": "Optional filter that can be applied to exclude or include specific entity change events"
546
+ }
547
+ ],
548
+ "doc": "Details involving an EntityChangeType. Used by Subscriptions to determine which\nchange types should trigger a notification."
549
+ }
550
+ },
551
+ "name": "entityChangeTypes",
552
+ "doc": "The change types that trigger a notification for the monitor suite.\nNOTE: only use Assertion and Incident change types for monitor suites."
553
+ },
554
+ {
555
+ "type": {
556
+ "type": "record",
557
+ "name": "SubscriptionNotificationConfig",
558
+ "namespace": "com.linkedin.pegasus2avro.subscription",
559
+ "fields": [
560
+ {
561
+ "type": [
562
+ "null",
563
+ {
564
+ "type": "record",
565
+ "name": "NotificationSettings",
566
+ "namespace": "com.linkedin.pegasus2avro.event.notification.settings",
567
+ "fields": [
568
+ {
569
+ "type": {
570
+ "type": "array",
571
+ "items": {
572
+ "type": "enum",
573
+ "symbolDocs": {
574
+ "EMAIL": "Email target type.",
575
+ "SLACK": "Slack target type."
576
+ },
577
+ "name": "NotificationSinkType",
578
+ "namespace": "com.linkedin.pegasus2avro.event.notification",
579
+ "symbols": [
580
+ "SLACK",
581
+ "EMAIL"
582
+ ],
583
+ "doc": "A type of sink / platform to send a notification to."
584
+ }
585
+ },
586
+ "name": "sinkTypes",
587
+ "doc": "Sink types that notifications are sent to. This is a top-level on/off switch."
588
+ },
589
+ {
590
+ "type": [
591
+ "null",
592
+ {
593
+ "type": "record",
594
+ "name": "SlackNotificationSettings",
595
+ "namespace": "com.linkedin.pegasus2avro.event.notification.settings",
596
+ "fields": [
597
+ {
598
+ "type": [
599
+ "null",
600
+ "string"
601
+ ],
602
+ "name": "userHandle",
603
+ "default": null,
604
+ "doc": "Optional user handle"
605
+ },
606
+ {
607
+ "type": [
608
+ "null",
609
+ {
610
+ "type": "array",
611
+ "items": "string"
612
+ }
613
+ ],
614
+ "name": "channels",
615
+ "default": null,
616
+ "doc": "Optional list of channels to send notifications to"
617
+ }
618
+ ],
619
+ "doc": "Slack Notification settings for an actor."
620
+ }
621
+ ],
622
+ "name": "slackSettings",
623
+ "default": null,
624
+ "doc": "Slack Notification Settings"
625
+ },
626
+ {
627
+ "type": [
628
+ "null",
629
+ {
630
+ "type": "record",
631
+ "name": "EmailNotificationSettings",
632
+ "namespace": "com.linkedin.pegasus2avro.event.notification.settings",
633
+ "fields": [
634
+ {
635
+ "type": "string",
636
+ "name": "email",
637
+ "doc": "Optional user or group email address"
638
+ }
639
+ ],
640
+ "doc": "Email Notification settings for an actor."
641
+ }
642
+ ],
643
+ "name": "emailSettings",
644
+ "default": null,
645
+ "doc": "Email Notification Settings"
646
+ },
647
+ {
648
+ "type": [
649
+ "null",
650
+ {
651
+ "type": "map",
652
+ "values": {
653
+ "type": "record",
654
+ "name": "NotificationSetting",
655
+ "namespace": "com.linkedin.pegasus2avro.settings",
656
+ "fields": [
657
+ {
658
+ "type": {
659
+ "type": "enum",
660
+ "symbolDocs": {
661
+ "DISABLED": "Setting is disabled.",
662
+ "ENABLED": "Setting is enabled."
663
+ },
664
+ "name": "NotificationSettingValue",
665
+ "namespace": "com.linkedin.pegasus2avro.settings",
666
+ "symbols": [
667
+ "ENABLED",
668
+ "DISABLED"
669
+ ]
670
+ },
671
+ "name": "value",
672
+ "doc": "Integrations between DataHub & other platforms."
673
+ },
674
+ {
675
+ "type": [
676
+ "null",
677
+ {
678
+ "type": "map",
679
+ "values": "string"
680
+ }
681
+ ],
682
+ "name": "params",
683
+ "default": null,
684
+ "doc": "Custom set of setting parameters.\nCurrently used to store sink enabled / disabled settings.\nE.g. slack.enabled = true, email.enabled = false"
685
+ }
686
+ ]
687
+ }
688
+ }
689
+ ],
690
+ "name": "settings",
691
+ "default": null,
692
+ "doc": "User or Group Notification Scenario Settings.\n\nA map of notification scenario type to the settings associated with it.\nFor a list of all scenario types to notify on, check out NotificationScenarioType enum."
693
+ }
694
+ ],
695
+ "doc": "Notification settings for an actor or subscription."
696
+ }
697
+ ],
698
+ "name": "notificationSettings",
699
+ "default": null,
700
+ "doc": "Notification settings for the subscription."
701
+ }
702
+ ]
703
+ },
704
+ "name": "notificationConfig",
705
+ "doc": "The notification config for the monitor suite."
706
+ }
707
+ ],
708
+ "doc": "Settings for notifications from monitors within a monitor suite."
709
+ }
710
+ ],
711
+ "name": "notificationSettings",
712
+ "default": null,
713
+ "doc": "Settings for notifications from monitors within this group."
714
+ },
715
+ {
716
+ "Searchable": {
717
+ "/time": {
718
+ "fieldName": "createdTime",
719
+ "fieldType": "DATETIME"
720
+ }
721
+ },
722
+ "type": [
723
+ "null",
724
+ {
725
+ "type": "record",
726
+ "name": "AuditStamp",
727
+ "namespace": "com.linkedin.pegasus2avro.common",
728
+ "fields": [
729
+ {
730
+ "type": "long",
731
+ "name": "time",
732
+ "doc": "When did the resource/association/sub-resource move into the specific lifecycle stage represented by this AuditEvent."
733
+ },
734
+ {
735
+ "java": {
736
+ "class": "com.linkedin.pegasus2avro.common.urn.Urn"
737
+ },
738
+ "type": "string",
739
+ "name": "actor",
740
+ "doc": "The entity (e.g. a member URN) which will be credited for moving the resource/association/sub-resource into the specific lifecycle stage. It is also the one used to authorize the change.",
741
+ "Urn": "Urn"
742
+ },
743
+ {
744
+ "java": {
745
+ "class": "com.linkedin.pegasus2avro.common.urn.Urn"
746
+ },
747
+ "type": [
748
+ "null",
749
+ "string"
750
+ ],
751
+ "name": "impersonator",
752
+ "default": null,
753
+ "doc": "The entity (e.g. a service URN) which performs the change on behalf of the Actor and must be authorized to act as the Actor.",
754
+ "Urn": "Urn"
755
+ },
756
+ {
757
+ "type": [
758
+ "null",
759
+ "string"
760
+ ],
761
+ "name": "message",
762
+ "default": null,
763
+ "doc": "Additional context around how DataHub was informed of the particular change. For example: was the change created by an automated process, or manually."
764
+ }
765
+ ],
766
+ "doc": "Data captured on a resource/association/sub-resource level giving insight into when that resource/association/sub-resource moved into a particular lifecycle stage, and who acted to move it into that specific lifecycle stage."
767
+ }
768
+ ],
769
+ "name": "created",
770
+ "default": null,
771
+ "doc": "Created Audit stamp"
772
+ },
773
+ {
774
+ "Searchable": {
775
+ "/time": {
776
+ "fieldName": "updatedTime",
777
+ "fieldType": "DATETIME"
778
+ }
779
+ },
780
+ "type": [
781
+ "null",
782
+ "com.linkedin.pegasus2avro.common.AuditStamp"
783
+ ],
784
+ "name": "updated",
785
+ "default": null,
786
+ "doc": "Updated Audit stamp"
787
+ }
788
+ ],
789
+ "doc": "Information about an asset monitor."
790
+ }