acryl-datahub-cloud 0.3.6.10__py3-none-any.whl → 0.3.7__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.
- acryl_datahub_cloud/_codegen_config.json +1 -1
- acryl_datahub_cloud/datahub_reporting/extract_graph.py +1 -1
- acryl_datahub_cloud/datahub_usage_reporting/usage_feature_patch_builder.py +466 -0
- acryl_datahub_cloud/datahub_usage_reporting/usage_feature_reporter.py +432 -34
- acryl_datahub_cloud/metadata/_urns/urn_defs.py +788 -5
- acryl_datahub_cloud/metadata/com/linkedin/pegasus2avro/actionrequest/__init__.py +2 -0
- acryl_datahub_cloud/metadata/com/linkedin/pegasus2avro/ai/__init__.py +23 -0
- acryl_datahub_cloud/metadata/com/linkedin/pegasus2avro/assertion/__init__.py +4 -0
- acryl_datahub_cloud/metadata/com/linkedin/pegasus2avro/structured/__init__.py +2 -0
- acryl_datahub_cloud/metadata/schema.avsc +773 -75
- acryl_datahub_cloud/metadata/schema_classes.py +750 -20
- acryl_datahub_cloud/metadata/schemas/Access.avsc +2 -1
- acryl_datahub_cloud/metadata/schemas/ActionRequestInfo.avsc +76 -0
- acryl_datahub_cloud/metadata/schemas/AiInferenceMetadata.avsc +42 -0
- acryl_datahub_cloud/metadata/schemas/AnomaliesSummary.avsc +16 -8
- acryl_datahub_cloud/metadata/schemas/AssertionAnalyticsRunEvent.avsc +3506 -0
- acryl_datahub_cloud/metadata/schemas/AssertionInfo.avsc +3 -2
- acryl_datahub_cloud/metadata/schemas/AssertionKey.avsc +2 -0
- acryl_datahub_cloud/metadata/schemas/AssertionRunEvent.avsc +4 -3
- acryl_datahub_cloud/metadata/schemas/AssertionSummary.avsc +50 -0
- acryl_datahub_cloud/metadata/schemas/AssertionsSummary.avsc +54 -8
- acryl_datahub_cloud/metadata/schemas/ConstraintInfo.avsc +4 -2
- acryl_datahub_cloud/metadata/schemas/ContainerKey.avsc +1 -0
- acryl_datahub_cloud/metadata/schemas/ContainerProperties.avsc +3 -1
- acryl_datahub_cloud/metadata/schemas/CorpUserInfo.avsc +1 -1
- acryl_datahub_cloud/metadata/schemas/DashboardInfo.avsc +29 -2
- acryl_datahub_cloud/metadata/schemas/DataFlowInfo.avsc +3 -1
- acryl_datahub_cloud/metadata/schemas/DataHubActionInfo.avsc +10 -1
- acryl_datahub_cloud/metadata/schemas/DataHubPolicyInfo.avsc +4 -2
- acryl_datahub_cloud/metadata/schemas/DataHubViewInfo.avsc +2 -0
- acryl_datahub_cloud/metadata/schemas/DataJobInfo.avsc +3 -1
- acryl_datahub_cloud/metadata/schemas/DataProcessKey.avsc +3 -1
- acryl_datahub_cloud/metadata/schemas/DatasetKey.avsc +5 -2
- acryl_datahub_cloud/metadata/schemas/DynamicFormAssignment.avsc +2 -0
- acryl_datahub_cloud/metadata/schemas/EntityInferenceMetadata.avsc +47 -0
- acryl_datahub_cloud/metadata/schemas/Filter.avsc +2 -0
- acryl_datahub_cloud/metadata/schemas/FormInfo.avsc +75 -0
- acryl_datahub_cloud/metadata/schemas/Forms.avsc +18 -9
- acryl_datahub_cloud/metadata/schemas/GlobalSettingsInfo.avsc +18 -0
- acryl_datahub_cloud/metadata/schemas/GlossaryRelatedTerms.avsc +4 -4
- acryl_datahub_cloud/metadata/schemas/IncidentActivityEvent.avsc +3 -1
- acryl_datahub_cloud/metadata/schemas/IncidentInfo.avsc +3 -1
- acryl_datahub_cloud/metadata/schemas/IncidentsSummary.avsc +4 -2
- acryl_datahub_cloud/metadata/schemas/InferredMetadata.avsc +4 -2
- acryl_datahub_cloud/metadata/schemas/MLFeatureKey.avsc +2 -1
- acryl_datahub_cloud/metadata/schemas/MLModelDeploymentKey.avsc +3 -1
- acryl_datahub_cloud/metadata/schemas/MLModelGroupKey.avsc +3 -1
- acryl_datahub_cloud/metadata/schemas/MLModelKey.avsc +5 -2
- acryl_datahub_cloud/metadata/schemas/MetadataChangeEvent.avsc +119 -11
- acryl_datahub_cloud/metadata/schemas/MonitorInfo.avsc +3 -2
- acryl_datahub_cloud/metadata/schemas/NotificationRequest.avsc +2 -1
- acryl_datahub_cloud/metadata/schemas/Operation.avsc +0 -3
- acryl_datahub_cloud/metadata/schemas/Ownership.avsc +2 -1
- acryl_datahub_cloud/metadata/schemas/PlatformResourceInfo.avsc +2 -2
- acryl_datahub_cloud/metadata/schemas/PlatformResourceKey.avsc +4 -3
- acryl_datahub_cloud/metadata/schemas/PostInfo.avsc +2 -1
- acryl_datahub_cloud/metadata/schemas/RecommendationModule.avsc +2 -0
- acryl_datahub_cloud/metadata/schemas/Share.avsc +2 -1
- acryl_datahub_cloud/metadata/schemas/StructuredPropertyDefinition.avsc +25 -1
- acryl_datahub_cloud/metadata/schemas/SubTypes.avsc +1 -1
- acryl_datahub_cloud/metadata/schemas/TestResults.avsc +8 -4
- {acryl_datahub_cloud-0.3.6.10.dist-info → acryl_datahub_cloud-0.3.7.dist-info}/METADATA +36 -36
- {acryl_datahub_cloud-0.3.6.10.dist-info → acryl_datahub_cloud-0.3.7.dist-info}/RECORD +66 -60
- {acryl_datahub_cloud-0.3.6.10.dist-info → acryl_datahub_cloud-0.3.7.dist-info}/WHEEL +1 -1
- {acryl_datahub_cloud-0.3.6.10.dist-info → acryl_datahub_cloud-0.3.7.dist-info}/entry_points.txt +0 -0
- {acryl_datahub_cloud-0.3.6.10.dist-info → acryl_datahub_cloud-0.3.7.dist-info}/top_level.txt +0 -0
|
@@ -277,18 +277,21 @@ class DataHubActionConfigClass(DictWrapper):
|
|
|
277
277
|
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.action.DataHubActionConfig")
|
|
278
278
|
def __init__(self,
|
|
279
279
|
recipe: str,
|
|
280
|
+
executorId: Union[None, str]=None,
|
|
280
281
|
):
|
|
281
282
|
super().__init__()
|
|
282
283
|
|
|
283
284
|
self.recipe = recipe
|
|
285
|
+
self.executorId = executorId
|
|
284
286
|
|
|
285
287
|
def _restore_defaults(self) -> None:
|
|
286
288
|
self.recipe = str()
|
|
289
|
+
self.executorId = self.RECORD_SCHEMA.fields_dict["executorId"].default
|
|
287
290
|
|
|
288
291
|
|
|
289
292
|
@property
|
|
290
293
|
def recipe(self) -> str:
|
|
291
|
-
"""The JSON recipe to use for
|
|
294
|
+
"""The JSON recipe to use for the automation"""
|
|
292
295
|
return self._inner_dict.get('recipe') # type: ignore
|
|
293
296
|
|
|
294
297
|
@recipe.setter
|
|
@@ -296,6 +299,16 @@ class DataHubActionConfigClass(DictWrapper):
|
|
|
296
299
|
self._inner_dict['recipe'] = value
|
|
297
300
|
|
|
298
301
|
|
|
302
|
+
@property
|
|
303
|
+
def executorId(self) -> Union[None, str]:
|
|
304
|
+
"""The id of the executor to use to execute the automation. Defaults to 'default' (runs locally)"""
|
|
305
|
+
return self._inner_dict.get('executorId') # type: ignore
|
|
306
|
+
|
|
307
|
+
@executorId.setter
|
|
308
|
+
def executorId(self, value: Union[None, str]) -> None:
|
|
309
|
+
self._inner_dict['executorId'] = value
|
|
310
|
+
|
|
311
|
+
|
|
299
312
|
class DataHubActionInfoClass(_Aspect):
|
|
300
313
|
"""Info about a DataHub Action Pipeline"""
|
|
301
314
|
|
|
@@ -708,6 +721,8 @@ class ActionRequestInfoClass(_Aspect):
|
|
|
708
721
|
subResource: Union[None, str]=None,
|
|
709
722
|
params: Union[None, "ActionRequestParamsClass"]=None,
|
|
710
723
|
dueDate: Union[None, int]=None,
|
|
724
|
+
origin: Optional[Union[Union[str, "ActionRequestOriginClass"], None]]=None,
|
|
725
|
+
inferenceMetadata: Union[None, "InferenceMetadataClass"]=None,
|
|
711
726
|
):
|
|
712
727
|
super().__init__()
|
|
713
728
|
|
|
@@ -723,6 +738,12 @@ class ActionRequestInfoClass(_Aspect):
|
|
|
723
738
|
self.created = created
|
|
724
739
|
self.createdBy = createdBy
|
|
725
740
|
self.dueDate = dueDate
|
|
741
|
+
if origin is None:
|
|
742
|
+
# default: 'MANUAL'
|
|
743
|
+
self.origin = self.RECORD_SCHEMA.fields_dict["origin"].default
|
|
744
|
+
else:
|
|
745
|
+
self.origin = origin
|
|
746
|
+
self.inferenceMetadata = inferenceMetadata
|
|
726
747
|
|
|
727
748
|
def _restore_defaults(self) -> None:
|
|
728
749
|
self.type = str()
|
|
@@ -737,6 +758,8 @@ class ActionRequestInfoClass(_Aspect):
|
|
|
737
758
|
self.created = int()
|
|
738
759
|
self.createdBy = str()
|
|
739
760
|
self.dueDate = self.RECORD_SCHEMA.fields_dict["dueDate"].default
|
|
761
|
+
self.origin = self.RECORD_SCHEMA.fields_dict["origin"].default
|
|
762
|
+
self.inferenceMetadata = self.RECORD_SCHEMA.fields_dict["inferenceMetadata"].default
|
|
740
763
|
|
|
741
764
|
|
|
742
765
|
@property
|
|
@@ -859,6 +882,37 @@ class ActionRequestInfoClass(_Aspect):
|
|
|
859
882
|
self._inner_dict['dueDate'] = value
|
|
860
883
|
|
|
861
884
|
|
|
885
|
+
@property
|
|
886
|
+
def origin(self) -> Union[Union[str, "ActionRequestOriginClass"], None]:
|
|
887
|
+
"""The origin of the action request"""
|
|
888
|
+
return self._inner_dict.get('origin') # type: ignore
|
|
889
|
+
|
|
890
|
+
@origin.setter
|
|
891
|
+
def origin(self, value: Union[Union[str, "ActionRequestOriginClass"], None]) -> None:
|
|
892
|
+
self._inner_dict['origin'] = value
|
|
893
|
+
|
|
894
|
+
|
|
895
|
+
@property
|
|
896
|
+
def inferenceMetadata(self) -> Union[None, "InferenceMetadataClass"]:
|
|
897
|
+
"""Additional inference metadata. Optionally provided if the origin is INFERRED."""
|
|
898
|
+
return self._inner_dict.get('inferenceMetadata') # type: ignore
|
|
899
|
+
|
|
900
|
+
@inferenceMetadata.setter
|
|
901
|
+
def inferenceMetadata(self, value: Union[None, "InferenceMetadataClass"]) -> None:
|
|
902
|
+
self._inner_dict['inferenceMetadata'] = value
|
|
903
|
+
|
|
904
|
+
|
|
905
|
+
class ActionRequestOriginClass(object):
|
|
906
|
+
"""The origin type of an Action Request"""
|
|
907
|
+
|
|
908
|
+
MANUAL = "MANUAL"
|
|
909
|
+
"""The Action Request was created by the user or group via the API or UI"""
|
|
910
|
+
|
|
911
|
+
INFERRED = "INFERRED"
|
|
912
|
+
"""The Action Request was inferred by an inference pipeline, e.g. DataHub AI."""
|
|
913
|
+
|
|
914
|
+
|
|
915
|
+
|
|
862
916
|
class ActionRequestParamsClass(DictWrapper):
|
|
863
917
|
"""Parameters provided with a particular action request. Only one of the fields will be populated,
|
|
864
918
|
depending on the action request type."""
|
|
@@ -1261,6 +1315,195 @@ class TagProposalClass(DictWrapper):
|
|
|
1261
1315
|
self._inner_dict['tag'] = value
|
|
1262
1316
|
|
|
1263
1317
|
|
|
1318
|
+
class AiInferenceMetadataClass(_Aspect):
|
|
1319
|
+
"""AI Inference Metadata of various types."""
|
|
1320
|
+
|
|
1321
|
+
|
|
1322
|
+
ASPECT_NAME = 'aiInferenceMetadata'
|
|
1323
|
+
ASPECT_INFO = {}
|
|
1324
|
+
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.ai.AiInferenceMetadata")
|
|
1325
|
+
|
|
1326
|
+
def __init__(self,
|
|
1327
|
+
glossaryTermsInference: Union[None, "GlossaryTermsInferenceMetadataClass"]=None,
|
|
1328
|
+
):
|
|
1329
|
+
super().__init__()
|
|
1330
|
+
|
|
1331
|
+
self.glossaryTermsInference = glossaryTermsInference
|
|
1332
|
+
|
|
1333
|
+
def _restore_defaults(self) -> None:
|
|
1334
|
+
self.glossaryTermsInference = self.RECORD_SCHEMA.fields_dict["glossaryTermsInference"].default
|
|
1335
|
+
|
|
1336
|
+
|
|
1337
|
+
@property
|
|
1338
|
+
def glossaryTermsInference(self) -> Union[None, "GlossaryTermsInferenceMetadataClass"]:
|
|
1339
|
+
"""Information about a glossary terms inference."""
|
|
1340
|
+
return self._inner_dict.get('glossaryTermsInference') # type: ignore
|
|
1341
|
+
|
|
1342
|
+
@glossaryTermsInference.setter
|
|
1343
|
+
def glossaryTermsInference(self, value: Union[None, "GlossaryTermsInferenceMetadataClass"]) -> None:
|
|
1344
|
+
self._inner_dict['glossaryTermsInference'] = value
|
|
1345
|
+
|
|
1346
|
+
|
|
1347
|
+
class EntityInferenceMetadataClass(_Aspect):
|
|
1348
|
+
"""AI Inference Metadata for a specific entity."""
|
|
1349
|
+
|
|
1350
|
+
|
|
1351
|
+
ASPECT_NAME = 'entityInferenceMetadata'
|
|
1352
|
+
ASPECT_INFO = {}
|
|
1353
|
+
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.ai.EntityInferenceMetadata")
|
|
1354
|
+
|
|
1355
|
+
def __init__(self,
|
|
1356
|
+
glossaryTermsInference: Union[None, "InferenceGroupMetadataClass"]=None,
|
|
1357
|
+
):
|
|
1358
|
+
super().__init__()
|
|
1359
|
+
|
|
1360
|
+
self.glossaryTermsInference = glossaryTermsInference
|
|
1361
|
+
|
|
1362
|
+
def _restore_defaults(self) -> None:
|
|
1363
|
+
self.glossaryTermsInference = self.RECORD_SCHEMA.fields_dict["glossaryTermsInference"].default
|
|
1364
|
+
|
|
1365
|
+
|
|
1366
|
+
@property
|
|
1367
|
+
def glossaryTermsInference(self) -> Union[None, "InferenceGroupMetadataClass"]:
|
|
1368
|
+
"""Information about a group of inferences made for Glossary Terms."""
|
|
1369
|
+
return self._inner_dict.get('glossaryTermsInference') # type: ignore
|
|
1370
|
+
|
|
1371
|
+
@glossaryTermsInference.setter
|
|
1372
|
+
def glossaryTermsInference(self, value: Union[None, "InferenceGroupMetadataClass"]) -> None:
|
|
1373
|
+
self._inner_dict['glossaryTermsInference'] = value
|
|
1374
|
+
|
|
1375
|
+
|
|
1376
|
+
class GlossaryTermsInferenceMetadataClass(DictWrapper):
|
|
1377
|
+
# No docs available.
|
|
1378
|
+
|
|
1379
|
+
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.ai.GlossaryTermsInferenceMetadata")
|
|
1380
|
+
def __init__(self,
|
|
1381
|
+
lastInferredAt: int,
|
|
1382
|
+
version: int,
|
|
1383
|
+
):
|
|
1384
|
+
super().__init__()
|
|
1385
|
+
|
|
1386
|
+
self.lastInferredAt = lastInferredAt
|
|
1387
|
+
self.version = version
|
|
1388
|
+
|
|
1389
|
+
def _restore_defaults(self) -> None:
|
|
1390
|
+
self.lastInferredAt = int()
|
|
1391
|
+
self.version = int()
|
|
1392
|
+
|
|
1393
|
+
|
|
1394
|
+
@property
|
|
1395
|
+
def lastInferredAt(self) -> int:
|
|
1396
|
+
"""Timestamp of the last inference in milliseconds."""
|
|
1397
|
+
return self._inner_dict.get('lastInferredAt') # type: ignore
|
|
1398
|
+
|
|
1399
|
+
@lastInferredAt.setter
|
|
1400
|
+
def lastInferredAt(self, value: int) -> None:
|
|
1401
|
+
self._inner_dict['lastInferredAt'] = value
|
|
1402
|
+
|
|
1403
|
+
|
|
1404
|
+
@property
|
|
1405
|
+
def version(self) -> int:
|
|
1406
|
+
"""Monotonically incrementing version number. Once bumped, will re-trigger a new inference."""
|
|
1407
|
+
return self._inner_dict.get('version') # type: ignore
|
|
1408
|
+
|
|
1409
|
+
@version.setter
|
|
1410
|
+
def version(self, value: int) -> None:
|
|
1411
|
+
self._inner_dict['version'] = value
|
|
1412
|
+
|
|
1413
|
+
|
|
1414
|
+
class InferenceGroupMetadataClass(DictWrapper):
|
|
1415
|
+
"""Reusable metadata about a group of inferences of the same type."""
|
|
1416
|
+
|
|
1417
|
+
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.ai.InferenceGroupMetadata")
|
|
1418
|
+
def __init__(self,
|
|
1419
|
+
lastInferredAt: int,
|
|
1420
|
+
version: int,
|
|
1421
|
+
):
|
|
1422
|
+
super().__init__()
|
|
1423
|
+
|
|
1424
|
+
self.lastInferredAt = lastInferredAt
|
|
1425
|
+
self.version = version
|
|
1426
|
+
|
|
1427
|
+
def _restore_defaults(self) -> None:
|
|
1428
|
+
self.lastInferredAt = int()
|
|
1429
|
+
self.version = int()
|
|
1430
|
+
|
|
1431
|
+
|
|
1432
|
+
@property
|
|
1433
|
+
def lastInferredAt(self) -> int:
|
|
1434
|
+
"""Timestamp of the last inference in milliseconds."""
|
|
1435
|
+
return self._inner_dict.get('lastInferredAt') # type: ignore
|
|
1436
|
+
|
|
1437
|
+
@lastInferredAt.setter
|
|
1438
|
+
def lastInferredAt(self, value: int) -> None:
|
|
1439
|
+
self._inner_dict['lastInferredAt'] = value
|
|
1440
|
+
|
|
1441
|
+
|
|
1442
|
+
@property
|
|
1443
|
+
def version(self) -> int:
|
|
1444
|
+
"""Monotonically incrementing version number. Once bumped, will re-trigger a new inference."""
|
|
1445
|
+
return self._inner_dict.get('version') # type: ignore
|
|
1446
|
+
|
|
1447
|
+
@version.setter
|
|
1448
|
+
def version(self, value: int) -> None:
|
|
1449
|
+
self._inner_dict['version'] = value
|
|
1450
|
+
|
|
1451
|
+
|
|
1452
|
+
class InferenceMetadataClass(DictWrapper):
|
|
1453
|
+
"""Reusable metadata about an individual inference - i.e. a single glossary term, tag, description, etc."""
|
|
1454
|
+
|
|
1455
|
+
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.ai.InferenceMetadata")
|
|
1456
|
+
def __init__(self,
|
|
1457
|
+
lastInferredAt: int,
|
|
1458
|
+
version: int,
|
|
1459
|
+
confidenceLevel: Union[None, int]=None,
|
|
1460
|
+
):
|
|
1461
|
+
super().__init__()
|
|
1462
|
+
|
|
1463
|
+
self.lastInferredAt = lastInferredAt
|
|
1464
|
+
self.version = version
|
|
1465
|
+
self.confidenceLevel = confidenceLevel
|
|
1466
|
+
|
|
1467
|
+
def _restore_defaults(self) -> None:
|
|
1468
|
+
self.lastInferredAt = int()
|
|
1469
|
+
self.version = int()
|
|
1470
|
+
self.confidenceLevel = self.RECORD_SCHEMA.fields_dict["confidenceLevel"].default
|
|
1471
|
+
|
|
1472
|
+
|
|
1473
|
+
@property
|
|
1474
|
+
def lastInferredAt(self) -> int:
|
|
1475
|
+
"""Timestamp of the last inference in milliseconds."""
|
|
1476
|
+
return self._inner_dict.get('lastInferredAt') # type: ignore
|
|
1477
|
+
|
|
1478
|
+
@lastInferredAt.setter
|
|
1479
|
+
def lastInferredAt(self, value: int) -> None:
|
|
1480
|
+
self._inner_dict['lastInferredAt'] = value
|
|
1481
|
+
|
|
1482
|
+
|
|
1483
|
+
@property
|
|
1484
|
+
def version(self) -> int:
|
|
1485
|
+
"""Monotonically incrementing version number. Once bumped, will re-trigger a new inference."""
|
|
1486
|
+
return self._inner_dict.get('version') # type: ignore
|
|
1487
|
+
|
|
1488
|
+
@version.setter
|
|
1489
|
+
def version(self, value: int) -> None:
|
|
1490
|
+
self._inner_dict['version'] = value
|
|
1491
|
+
|
|
1492
|
+
|
|
1493
|
+
@property
|
|
1494
|
+
def confidenceLevel(self) -> Union[None, int]:
|
|
1495
|
+
"""Numeric confidence level of the inference that was made.
|
|
1496
|
+
|
|
1497
|
+
0 = Low Confidence
|
|
1498
|
+
1 = Medium Confidence
|
|
1499
|
+
2 = High Confidence"""
|
|
1500
|
+
return self._inner_dict.get('confidenceLevel') # type: ignore
|
|
1501
|
+
|
|
1502
|
+
@confidenceLevel.setter
|
|
1503
|
+
def confidenceLevel(self, value: Union[None, int]) -> None:
|
|
1504
|
+
self._inner_dict['confidenceLevel'] = value
|
|
1505
|
+
|
|
1506
|
+
|
|
1264
1507
|
class AnomalyInfoClass(_Aspect):
|
|
1265
1508
|
"""Information about an anomaly raised on an asset."""
|
|
1266
1509
|
|
|
@@ -1787,6 +2030,265 @@ class AssertionAdjustmentSettingsClass(DictWrapper):
|
|
|
1787
2030
|
self._inner_dict['context'] = value
|
|
1788
2031
|
|
|
1789
2032
|
|
|
2033
|
+
class AssertionAnalyticsRunEventClass(_Aspect):
|
|
2034
|
+
"""An event representing the current status of evaluating an assertion on a batch.
|
|
2035
|
+
This should be derrived from {@link AssertionRunEvent}.
|
|
2036
|
+
|
|
2037
|
+
It represents the subset of data used for analytics, and hydrates extra fields for filtering"""
|
|
2038
|
+
|
|
2039
|
+
|
|
2040
|
+
ASPECT_NAME = 'assertionAnalyticsRunEvent'
|
|
2041
|
+
ASPECT_TYPE = 'timeseries'
|
|
2042
|
+
ASPECT_INFO = {}
|
|
2043
|
+
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.assertion.AssertionAnalyticsRunEvent")
|
|
2044
|
+
|
|
2045
|
+
def __init__(self,
|
|
2046
|
+
type: Union[str, "AssertionTypeClass"],
|
|
2047
|
+
timestampMillis: int,
|
|
2048
|
+
runId: str,
|
|
2049
|
+
asserteeUrn: str,
|
|
2050
|
+
assertionUrn: str,
|
|
2051
|
+
status: Union[str, "AssertionRunStatusClass"],
|
|
2052
|
+
parentDomains: Union[None, List[str]]=None,
|
|
2053
|
+
parentDataProducts: Union[None, List[str]]=None,
|
|
2054
|
+
parentGlobalTags: Union[None, List["TagAssociationClass"]]=None,
|
|
2055
|
+
parentOwners: Union[None, List[str]]=None,
|
|
2056
|
+
parentDataPlatform: Union[None, str]=None,
|
|
2057
|
+
parentDataPlatformInstance: Union[None, str]=None,
|
|
2058
|
+
result: Union[None, "AssertionResultClass"]=None,
|
|
2059
|
+
runtimeContext: Union[None, Dict[str, str]]=None,
|
|
2060
|
+
batchSpec: Union[None, "BatchSpecClass"]=None,
|
|
2061
|
+
eventGranularity: Union[None, "TimeWindowSizeClass"]=None,
|
|
2062
|
+
partitionSpec: Optional[Union["PartitionSpecClass", None]]=None,
|
|
2063
|
+
messageId: Union[None, str]=None,
|
|
2064
|
+
):
|
|
2065
|
+
super().__init__()
|
|
2066
|
+
|
|
2067
|
+
self.type = type
|
|
2068
|
+
self.parentDomains = parentDomains
|
|
2069
|
+
self.parentDataProducts = parentDataProducts
|
|
2070
|
+
self.parentGlobalTags = parentGlobalTags
|
|
2071
|
+
self.parentOwners = parentOwners
|
|
2072
|
+
self.parentDataPlatform = parentDataPlatform
|
|
2073
|
+
self.parentDataPlatformInstance = parentDataPlatformInstance
|
|
2074
|
+
self.timestampMillis = timestampMillis
|
|
2075
|
+
self.runId = runId
|
|
2076
|
+
self.asserteeUrn = asserteeUrn
|
|
2077
|
+
self.assertionUrn = assertionUrn
|
|
2078
|
+
self.status = status
|
|
2079
|
+
self.result = result
|
|
2080
|
+
self.runtimeContext = runtimeContext
|
|
2081
|
+
self.batchSpec = batchSpec
|
|
2082
|
+
self.eventGranularity = eventGranularity
|
|
2083
|
+
if partitionSpec is None:
|
|
2084
|
+
# default: {'partition': 'FULL_TABLE_SNAPSHOT', 'type': 'FULL_TABLE', 'timePartition': None}
|
|
2085
|
+
self.partitionSpec = _json_converter.from_json_object(self.RECORD_SCHEMA.fields_dict["partitionSpec"].default, writers_schema=self.RECORD_SCHEMA.fields_dict["partitionSpec"].type)
|
|
2086
|
+
else:
|
|
2087
|
+
self.partitionSpec = partitionSpec
|
|
2088
|
+
self.messageId = messageId
|
|
2089
|
+
|
|
2090
|
+
def _restore_defaults(self) -> None:
|
|
2091
|
+
self.type = AssertionTypeClass.DATASET
|
|
2092
|
+
self.parentDomains = self.RECORD_SCHEMA.fields_dict["parentDomains"].default
|
|
2093
|
+
self.parentDataProducts = self.RECORD_SCHEMA.fields_dict["parentDataProducts"].default
|
|
2094
|
+
self.parentGlobalTags = self.RECORD_SCHEMA.fields_dict["parentGlobalTags"].default
|
|
2095
|
+
self.parentOwners = self.RECORD_SCHEMA.fields_dict["parentOwners"].default
|
|
2096
|
+
self.parentDataPlatform = self.RECORD_SCHEMA.fields_dict["parentDataPlatform"].default
|
|
2097
|
+
self.parentDataPlatformInstance = self.RECORD_SCHEMA.fields_dict["parentDataPlatformInstance"].default
|
|
2098
|
+
self.timestampMillis = int()
|
|
2099
|
+
self.runId = str()
|
|
2100
|
+
self.asserteeUrn = str()
|
|
2101
|
+
self.assertionUrn = str()
|
|
2102
|
+
self.status = AssertionRunStatusClass.COMPLETE
|
|
2103
|
+
self.result = self.RECORD_SCHEMA.fields_dict["result"].default
|
|
2104
|
+
self.runtimeContext = self.RECORD_SCHEMA.fields_dict["runtimeContext"].default
|
|
2105
|
+
self.batchSpec = self.RECORD_SCHEMA.fields_dict["batchSpec"].default
|
|
2106
|
+
self.eventGranularity = self.RECORD_SCHEMA.fields_dict["eventGranularity"].default
|
|
2107
|
+
self.partitionSpec = _json_converter.from_json_object(self.RECORD_SCHEMA.fields_dict["partitionSpec"].default, writers_schema=self.RECORD_SCHEMA.fields_dict["partitionSpec"].type)
|
|
2108
|
+
self.messageId = self.RECORD_SCHEMA.fields_dict["messageId"].default
|
|
2109
|
+
|
|
2110
|
+
|
|
2111
|
+
@property
|
|
2112
|
+
def type(self) -> Union[str, "AssertionTypeClass"]:
|
|
2113
|
+
"""Type of assertion."""
|
|
2114
|
+
return self._inner_dict.get('type') # type: ignore
|
|
2115
|
+
|
|
2116
|
+
@type.setter
|
|
2117
|
+
def type(self, value: Union[str, "AssertionTypeClass"]) -> None:
|
|
2118
|
+
self._inner_dict['type'] = value
|
|
2119
|
+
|
|
2120
|
+
|
|
2121
|
+
@property
|
|
2122
|
+
def parentDomains(self) -> Union[None, List[str]]:
|
|
2123
|
+
"""The Domains attached to the entity's parent Asset"""
|
|
2124
|
+
return self._inner_dict.get('parentDomains') # type: ignore
|
|
2125
|
+
|
|
2126
|
+
@parentDomains.setter
|
|
2127
|
+
def parentDomains(self, value: Union[None, List[str]]) -> None:
|
|
2128
|
+
self._inner_dict['parentDomains'] = value
|
|
2129
|
+
|
|
2130
|
+
|
|
2131
|
+
@property
|
|
2132
|
+
def parentDataProducts(self) -> Union[None, List[str]]:
|
|
2133
|
+
"""The Data Products attached to the entity's parent Asset"""
|
|
2134
|
+
return self._inner_dict.get('parentDataProducts') # type: ignore
|
|
2135
|
+
|
|
2136
|
+
@parentDataProducts.setter
|
|
2137
|
+
def parentDataProducts(self, value: Union[None, List[str]]) -> None:
|
|
2138
|
+
self._inner_dict['parentDataProducts'] = value
|
|
2139
|
+
|
|
2140
|
+
|
|
2141
|
+
@property
|
|
2142
|
+
def parentGlobalTags(self) -> Union[None, List["TagAssociationClass"]]:
|
|
2143
|
+
"""The Tags attached to the entity's parent Asset"""
|
|
2144
|
+
return self._inner_dict.get('parentGlobalTags') # type: ignore
|
|
2145
|
+
|
|
2146
|
+
@parentGlobalTags.setter
|
|
2147
|
+
def parentGlobalTags(self, value: Union[None, List["TagAssociationClass"]]) -> None:
|
|
2148
|
+
self._inner_dict['parentGlobalTags'] = value
|
|
2149
|
+
|
|
2150
|
+
|
|
2151
|
+
@property
|
|
2152
|
+
def parentOwners(self) -> Union[None, List[str]]:
|
|
2153
|
+
"""Parent Owner URN, e.g. urn:li:corpuser:ldap, urn:li:corpGroup:group_name, and urn:li:multiProduct:mp_name
|
|
2154
|
+
(Caveat: only corpuser is currently supported in the frontend.)"""
|
|
2155
|
+
return self._inner_dict.get('parentOwners') # type: ignore
|
|
2156
|
+
|
|
2157
|
+
@parentOwners.setter
|
|
2158
|
+
def parentOwners(self, value: Union[None, List[str]]) -> None:
|
|
2159
|
+
self._inner_dict['parentOwners'] = value
|
|
2160
|
+
|
|
2161
|
+
|
|
2162
|
+
@property
|
|
2163
|
+
def parentDataPlatform(self) -> Union[None, str]:
|
|
2164
|
+
"""Data Platform for parent"""
|
|
2165
|
+
return self._inner_dict.get('parentDataPlatform') # type: ignore
|
|
2166
|
+
|
|
2167
|
+
@parentDataPlatform.setter
|
|
2168
|
+
def parentDataPlatform(self, value: Union[None, str]) -> None:
|
|
2169
|
+
self._inner_dict['parentDataPlatform'] = value
|
|
2170
|
+
|
|
2171
|
+
|
|
2172
|
+
@property
|
|
2173
|
+
def parentDataPlatformInstance(self) -> Union[None, str]:
|
|
2174
|
+
"""Instance of the parent's data platform (e.g. db instance)"""
|
|
2175
|
+
return self._inner_dict.get('parentDataPlatformInstance') # type: ignore
|
|
2176
|
+
|
|
2177
|
+
@parentDataPlatformInstance.setter
|
|
2178
|
+
def parentDataPlatformInstance(self, value: Union[None, str]) -> None:
|
|
2179
|
+
self._inner_dict['parentDataPlatformInstance'] = value
|
|
2180
|
+
|
|
2181
|
+
|
|
2182
|
+
@property
|
|
2183
|
+
def timestampMillis(self) -> int:
|
|
2184
|
+
"""The event timestamp field as epoch at UTC in milliseconds."""
|
|
2185
|
+
return self._inner_dict.get('timestampMillis') # type: ignore
|
|
2186
|
+
|
|
2187
|
+
@timestampMillis.setter
|
|
2188
|
+
def timestampMillis(self, value: int) -> None:
|
|
2189
|
+
self._inner_dict['timestampMillis'] = value
|
|
2190
|
+
|
|
2191
|
+
|
|
2192
|
+
@property
|
|
2193
|
+
def runId(self) -> str:
|
|
2194
|
+
""" Native (platform-specific) identifier for this run"""
|
|
2195
|
+
return self._inner_dict.get('runId') # type: ignore
|
|
2196
|
+
|
|
2197
|
+
@runId.setter
|
|
2198
|
+
def runId(self, value: str) -> None:
|
|
2199
|
+
self._inner_dict['runId'] = value
|
|
2200
|
+
|
|
2201
|
+
|
|
2202
|
+
@property
|
|
2203
|
+
def asserteeUrn(self) -> str:
|
|
2204
|
+
# No docs available.
|
|
2205
|
+
return self._inner_dict.get('asserteeUrn') # type: ignore
|
|
2206
|
+
|
|
2207
|
+
@asserteeUrn.setter
|
|
2208
|
+
def asserteeUrn(self, value: str) -> None:
|
|
2209
|
+
self._inner_dict['asserteeUrn'] = value
|
|
2210
|
+
|
|
2211
|
+
|
|
2212
|
+
@property
|
|
2213
|
+
def assertionUrn(self) -> str:
|
|
2214
|
+
# No docs available.
|
|
2215
|
+
return self._inner_dict.get('assertionUrn') # type: ignore
|
|
2216
|
+
|
|
2217
|
+
@assertionUrn.setter
|
|
2218
|
+
def assertionUrn(self, value: str) -> None:
|
|
2219
|
+
self._inner_dict['assertionUrn'] = value
|
|
2220
|
+
|
|
2221
|
+
|
|
2222
|
+
@property
|
|
2223
|
+
def status(self) -> Union[str, "AssertionRunStatusClass"]:
|
|
2224
|
+
"""The status of the assertion run as per this timeseries event."""
|
|
2225
|
+
return self._inner_dict.get('status') # type: ignore
|
|
2226
|
+
|
|
2227
|
+
@status.setter
|
|
2228
|
+
def status(self, value: Union[str, "AssertionRunStatusClass"]) -> None:
|
|
2229
|
+
self._inner_dict['status'] = value
|
|
2230
|
+
|
|
2231
|
+
|
|
2232
|
+
@property
|
|
2233
|
+
def result(self) -> Union[None, "AssertionResultClass"]:
|
|
2234
|
+
"""Results of assertion, present if the status is COMPLETE"""
|
|
2235
|
+
return self._inner_dict.get('result') # type: ignore
|
|
2236
|
+
|
|
2237
|
+
@result.setter
|
|
2238
|
+
def result(self, value: Union[None, "AssertionResultClass"]) -> None:
|
|
2239
|
+
self._inner_dict['result'] = value
|
|
2240
|
+
|
|
2241
|
+
|
|
2242
|
+
@property
|
|
2243
|
+
def runtimeContext(self) -> Union[None, Dict[str, str]]:
|
|
2244
|
+
"""Runtime parameters of evaluation"""
|
|
2245
|
+
return self._inner_dict.get('runtimeContext') # type: ignore
|
|
2246
|
+
|
|
2247
|
+
@runtimeContext.setter
|
|
2248
|
+
def runtimeContext(self, value: Union[None, Dict[str, str]]) -> None:
|
|
2249
|
+
self._inner_dict['runtimeContext'] = value
|
|
2250
|
+
|
|
2251
|
+
|
|
2252
|
+
@property
|
|
2253
|
+
def batchSpec(self) -> Union[None, "BatchSpecClass"]:
|
|
2254
|
+
"""Specification of the batch which this run is evaluating"""
|
|
2255
|
+
return self._inner_dict.get('batchSpec') # type: ignore
|
|
2256
|
+
|
|
2257
|
+
@batchSpec.setter
|
|
2258
|
+
def batchSpec(self, value: Union[None, "BatchSpecClass"]) -> None:
|
|
2259
|
+
self._inner_dict['batchSpec'] = value
|
|
2260
|
+
|
|
2261
|
+
|
|
2262
|
+
@property
|
|
2263
|
+
def eventGranularity(self) -> Union[None, "TimeWindowSizeClass"]:
|
|
2264
|
+
"""Granularity of the event if applicable"""
|
|
2265
|
+
return self._inner_dict.get('eventGranularity') # type: ignore
|
|
2266
|
+
|
|
2267
|
+
@eventGranularity.setter
|
|
2268
|
+
def eventGranularity(self, value: Union[None, "TimeWindowSizeClass"]) -> None:
|
|
2269
|
+
self._inner_dict['eventGranularity'] = value
|
|
2270
|
+
|
|
2271
|
+
|
|
2272
|
+
@property
|
|
2273
|
+
def partitionSpec(self) -> Union["PartitionSpecClass", None]:
|
|
2274
|
+
"""The optional partition specification."""
|
|
2275
|
+
return self._inner_dict.get('partitionSpec') # type: ignore
|
|
2276
|
+
|
|
2277
|
+
@partitionSpec.setter
|
|
2278
|
+
def partitionSpec(self, value: Union["PartitionSpecClass", None]) -> None:
|
|
2279
|
+
self._inner_dict['partitionSpec'] = value
|
|
2280
|
+
|
|
2281
|
+
|
|
2282
|
+
@property
|
|
2283
|
+
def messageId(self) -> Union[None, str]:
|
|
2284
|
+
"""The optional messageId, if provided serves as a custom user-defined unique identifier for an aspect value."""
|
|
2285
|
+
return self._inner_dict.get('messageId') # type: ignore
|
|
2286
|
+
|
|
2287
|
+
@messageId.setter
|
|
2288
|
+
def messageId(self, value: Union[None, str]) -> None:
|
|
2289
|
+
self._inner_dict['messageId'] = value
|
|
2290
|
+
|
|
2291
|
+
|
|
1790
2292
|
class AssertionDryRunEventClass(_Aspect):
|
|
1791
2293
|
"""An event produced when assertion is executed in dry-run mode, e.g.
|
|
1792
2294
|
when an assertion is being "dark-tested".
|
|
@@ -2186,7 +2688,7 @@ class AssertionInfoClass(_Aspect):
|
|
|
2186
2688
|
|
|
2187
2689
|
@property
|
|
2188
2690
|
def type(self) -> Union[str, "AssertionTypeClass"]:
|
|
2189
|
-
"""Type of assertion.
|
|
2691
|
+
"""Type of assertion."""
|
|
2190
2692
|
return self._inner_dict.get('type') # type: ignore
|
|
2191
2693
|
|
|
2192
2694
|
@type.setter
|
|
@@ -2618,7 +3120,7 @@ class AssertionRunEventClass(_Aspect):
|
|
|
2618
3120
|
|
|
2619
3121
|
@property
|
|
2620
3122
|
def timestampMillis(self) -> int:
|
|
2621
|
-
"""The event timestamp field as epoch at UTC in
|
|
3123
|
+
"""The event timestamp field as epoch at UTC in milliseconds."""
|
|
2622
3124
|
return self._inner_dict.get('timestampMillis') # type: ignore
|
|
2623
3125
|
|
|
2624
3126
|
@timestampMillis.setter
|
|
@@ -3024,8 +3526,64 @@ class AssertionStdParametersClass(DictWrapper):
|
|
|
3024
3526
|
self._inner_dict['minValue'] = value
|
|
3025
3527
|
|
|
3026
3528
|
|
|
3529
|
+
class AssertionSummaryClass(_Aspect):
|
|
3530
|
+
"""Derived.
|
|
3531
|
+
Tracks the latest summary details of an assertion."""
|
|
3532
|
+
|
|
3533
|
+
|
|
3534
|
+
ASPECT_NAME = 'assertionSummary'
|
|
3535
|
+
ASPECT_INFO = {}
|
|
3536
|
+
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.assertion.AssertionSummary")
|
|
3537
|
+
|
|
3538
|
+
def __init__(self,
|
|
3539
|
+
lastFailedAtMillis: Union[None, int]=None,
|
|
3540
|
+
lastErroredAtMillis: Union[None, int]=None,
|
|
3541
|
+
lastPassedAtMillis: Union[None, int]=None,
|
|
3542
|
+
):
|
|
3543
|
+
super().__init__()
|
|
3544
|
+
|
|
3545
|
+
self.lastFailedAtMillis = lastFailedAtMillis
|
|
3546
|
+
self.lastErroredAtMillis = lastErroredAtMillis
|
|
3547
|
+
self.lastPassedAtMillis = lastPassedAtMillis
|
|
3548
|
+
|
|
3549
|
+
def _restore_defaults(self) -> None:
|
|
3550
|
+
self.lastFailedAtMillis = self.RECORD_SCHEMA.fields_dict["lastFailedAtMillis"].default
|
|
3551
|
+
self.lastErroredAtMillis = self.RECORD_SCHEMA.fields_dict["lastErroredAtMillis"].default
|
|
3552
|
+
self.lastPassedAtMillis = self.RECORD_SCHEMA.fields_dict["lastPassedAtMillis"].default
|
|
3553
|
+
|
|
3554
|
+
|
|
3555
|
+
@property
|
|
3556
|
+
def lastFailedAtMillis(self) -> Union[None, int]:
|
|
3557
|
+
"""The last failure event timestamp field as epoch at UTC in milliseconds."""
|
|
3558
|
+
return self._inner_dict.get('lastFailedAtMillis') # type: ignore
|
|
3559
|
+
|
|
3560
|
+
@lastFailedAtMillis.setter
|
|
3561
|
+
def lastFailedAtMillis(self, value: Union[None, int]) -> None:
|
|
3562
|
+
self._inner_dict['lastFailedAtMillis'] = value
|
|
3563
|
+
|
|
3564
|
+
|
|
3565
|
+
@property
|
|
3566
|
+
def lastErroredAtMillis(self) -> Union[None, int]:
|
|
3567
|
+
"""The last error event timestamp field as epoch at UTC in milliseconds."""
|
|
3568
|
+
return self._inner_dict.get('lastErroredAtMillis') # type: ignore
|
|
3569
|
+
|
|
3570
|
+
@lastErroredAtMillis.setter
|
|
3571
|
+
def lastErroredAtMillis(self, value: Union[None, int]) -> None:
|
|
3572
|
+
self._inner_dict['lastErroredAtMillis'] = value
|
|
3573
|
+
|
|
3574
|
+
|
|
3575
|
+
@property
|
|
3576
|
+
def lastPassedAtMillis(self) -> Union[None, int]:
|
|
3577
|
+
"""The last pass event timestamp field as epoch at UTC in milliseconds."""
|
|
3578
|
+
return self._inner_dict.get('lastPassedAtMillis') # type: ignore
|
|
3579
|
+
|
|
3580
|
+
@lastPassedAtMillis.setter
|
|
3581
|
+
def lastPassedAtMillis(self, value: Union[None, int]) -> None:
|
|
3582
|
+
self._inner_dict['lastPassedAtMillis'] = value
|
|
3583
|
+
|
|
3584
|
+
|
|
3027
3585
|
class AssertionTypeClass(object):
|
|
3028
|
-
|
|
3586
|
+
"""Type of assertion. Assertion types can evolve to span Datasets, Flows (Pipelines), Models, Features etc."""
|
|
3029
3587
|
|
|
3030
3588
|
DATASET = "DATASET"
|
|
3031
3589
|
"""A single-dataset assertion.
|
|
@@ -5769,6 +6327,7 @@ class AssertionsSummaryClass(_Aspect):
|
|
|
5769
6327
|
passingAssertions: Optional[List[str]]=None,
|
|
5770
6328
|
passingAssertionDetails: Optional[List["AssertionSummaryDetailsClass"]]=None,
|
|
5771
6329
|
failingAssertionDetails: Optional[List["AssertionSummaryDetailsClass"]]=None,
|
|
6330
|
+
erroringAssertionDetails: Optional[List["AssertionSummaryDetailsClass"]]=None,
|
|
5772
6331
|
):
|
|
5773
6332
|
super().__init__()
|
|
5774
6333
|
|
|
@@ -5792,12 +6351,18 @@ class AssertionsSummaryClass(_Aspect):
|
|
|
5792
6351
|
self.failingAssertionDetails = list()
|
|
5793
6352
|
else:
|
|
5794
6353
|
self.failingAssertionDetails = failingAssertionDetails
|
|
6354
|
+
if erroringAssertionDetails is None:
|
|
6355
|
+
# default: []
|
|
6356
|
+
self.erroringAssertionDetails = list()
|
|
6357
|
+
else:
|
|
6358
|
+
self.erroringAssertionDetails = erroringAssertionDetails
|
|
5795
6359
|
|
|
5796
6360
|
def _restore_defaults(self) -> None:
|
|
5797
6361
|
self.failingAssertions = list()
|
|
5798
6362
|
self.passingAssertions = list()
|
|
5799
6363
|
self.passingAssertionDetails = list()
|
|
5800
6364
|
self.failingAssertionDetails = list()
|
|
6365
|
+
self.erroringAssertionDetails = list()
|
|
5801
6366
|
|
|
5802
6367
|
|
|
5803
6368
|
@property
|
|
@@ -5842,6 +6407,16 @@ class AssertionsSummaryClass(_Aspect):
|
|
|
5842
6407
|
self._inner_dict['failingAssertionDetails'] = value
|
|
5843
6408
|
|
|
5844
6409
|
|
|
6410
|
+
@property
|
|
6411
|
+
def erroringAssertionDetails(self) -> List["AssertionSummaryDetailsClass"]:
|
|
6412
|
+
"""Summary details about the set of erroring assertions"""
|
|
6413
|
+
return self._inner_dict.get('erroringAssertionDetails') # type: ignore
|
|
6414
|
+
|
|
6415
|
+
@erroringAssertionDetails.setter
|
|
6416
|
+
def erroringAssertionDetails(self, value: List["AssertionSummaryDetailsClass"]) -> None:
|
|
6417
|
+
self._inner_dict['erroringAssertionDetails'] = value
|
|
6418
|
+
|
|
6419
|
+
|
|
5845
6420
|
class AuditStampClass(DictWrapper):
|
|
5846
6421
|
"""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."""
|
|
5847
6422
|
|
|
@@ -6664,6 +7239,9 @@ class FabricTypeClass(object):
|
|
|
6664
7239
|
TST = "TST"
|
|
6665
7240
|
"""Alternative Test spelling"""
|
|
6666
7241
|
|
|
7242
|
+
SANDBOX = "SANDBOX"
|
|
7243
|
+
"""Designates sandbox fabrics"""
|
|
7244
|
+
|
|
6667
7245
|
|
|
6668
7246
|
|
|
6669
7247
|
class FieldFormPromptAssociationClass(DictWrapper):
|
|
@@ -9695,6 +10273,7 @@ class DashboardInfoClass(_Aspect):
|
|
|
9695
10273
|
chartEdges: Union[None, List["EdgeClass"]]=None,
|
|
9696
10274
|
datasets: Optional[List[str]]=None,
|
|
9697
10275
|
datasetEdges: Union[None, List["EdgeClass"]]=None,
|
|
10276
|
+
dashboards: Optional[List["EdgeClass"]]=None,
|
|
9698
10277
|
dashboardUrl: Union[None, str]=None,
|
|
9699
10278
|
access: Union[None, Union[str, "AccessLevelClass"]]=None,
|
|
9700
10279
|
lastRefreshed: Union[None, int]=None,
|
|
@@ -9722,6 +10301,11 @@ class DashboardInfoClass(_Aspect):
|
|
|
9722
10301
|
else:
|
|
9723
10302
|
self.datasets = datasets
|
|
9724
10303
|
self.datasetEdges = datasetEdges
|
|
10304
|
+
if dashboards is None:
|
|
10305
|
+
# default: []
|
|
10306
|
+
self.dashboards = list()
|
|
10307
|
+
else:
|
|
10308
|
+
self.dashboards = dashboards
|
|
9725
10309
|
self.lastModified = lastModified
|
|
9726
10310
|
self.dashboardUrl = dashboardUrl
|
|
9727
10311
|
self.access = access
|
|
@@ -9737,6 +10321,7 @@ class DashboardInfoClass(_Aspect):
|
|
|
9737
10321
|
self.chartEdges = self.RECORD_SCHEMA.fields_dict["chartEdges"].default
|
|
9738
10322
|
self.datasets = list()
|
|
9739
10323
|
self.datasetEdges = self.RECORD_SCHEMA.fields_dict["datasetEdges"].default
|
|
10324
|
+
self.dashboards = list()
|
|
9740
10325
|
self.lastModified = ChangeAuditStampsClass._construct_with_defaults()
|
|
9741
10326
|
self.dashboardUrl = self.RECORD_SCHEMA.fields_dict["dashboardUrl"].default
|
|
9742
10327
|
self.access = self.RECORD_SCHEMA.fields_dict["access"].default
|
|
@@ -9826,6 +10411,19 @@ class DashboardInfoClass(_Aspect):
|
|
|
9826
10411
|
self._inner_dict['datasetEdges'] = value
|
|
9827
10412
|
|
|
9828
10413
|
|
|
10414
|
+
@property
|
|
10415
|
+
def dashboards(self) -> List["EdgeClass"]:
|
|
10416
|
+
"""Dashboards included by this dashboard.
|
|
10417
|
+
Some dashboard entities (e.g. PowerBI Apps) can contain other dashboards.
|
|
10418
|
+
|
|
10419
|
+
The Edge's sourceUrn should never be set, as it will always be the base dashboard."""
|
|
10420
|
+
return self._inner_dict.get('dashboards') # type: ignore
|
|
10421
|
+
|
|
10422
|
+
@dashboards.setter
|
|
10423
|
+
def dashboards(self, value: List["EdgeClass"]) -> None:
|
|
10424
|
+
self._inner_dict['dashboards'] = value
|
|
10425
|
+
|
|
10426
|
+
|
|
9829
10427
|
@property
|
|
9830
10428
|
def lastModified(self) -> "ChangeAuditStampsClass":
|
|
9831
10429
|
"""Captures information about who created/last modified/deleted this dashboard and when"""
|
|
@@ -16581,6 +17179,8 @@ class FormInfoClass(_Aspect):
|
|
|
16581
17179
|
prompts: Optional[List["FormPromptClass"]]=None,
|
|
16582
17180
|
actors: Optional["FormActorAssignmentClass"]=None,
|
|
16583
17181
|
status: Optional["FormStatusClass"]=None,
|
|
17182
|
+
created: Union[None, "AuditStampClass"]=None,
|
|
17183
|
+
lastModified: Union[None, "AuditStampClass"]=None,
|
|
16584
17184
|
):
|
|
16585
17185
|
super().__init__()
|
|
16586
17186
|
|
|
@@ -16606,6 +17206,8 @@ class FormInfoClass(_Aspect):
|
|
|
16606
17206
|
self.status = _json_converter.from_json_object(self.RECORD_SCHEMA.fields_dict["status"].default, writers_schema=self.RECORD_SCHEMA.fields_dict["status"].type)
|
|
16607
17207
|
else:
|
|
16608
17208
|
self.status = status
|
|
17209
|
+
self.created = created
|
|
17210
|
+
self.lastModified = lastModified
|
|
16609
17211
|
|
|
16610
17212
|
def _restore_defaults(self) -> None:
|
|
16611
17213
|
self.name = str()
|
|
@@ -16614,6 +17216,8 @@ class FormInfoClass(_Aspect):
|
|
|
16614
17216
|
self.prompts = list()
|
|
16615
17217
|
self.actors = _json_converter.from_json_object(self.RECORD_SCHEMA.fields_dict["actors"].default, writers_schema=self.RECORD_SCHEMA.fields_dict["actors"].type)
|
|
16616
17218
|
self.status = _json_converter.from_json_object(self.RECORD_SCHEMA.fields_dict["status"].default, writers_schema=self.RECORD_SCHEMA.fields_dict["status"].type)
|
|
17219
|
+
self.created = self.RECORD_SCHEMA.fields_dict["created"].default
|
|
17220
|
+
self.lastModified = self.RECORD_SCHEMA.fields_dict["lastModified"].default
|
|
16617
17221
|
|
|
16618
17222
|
|
|
16619
17223
|
@property
|
|
@@ -16676,6 +17280,26 @@ class FormInfoClass(_Aspect):
|
|
|
16676
17280
|
self._inner_dict['status'] = value
|
|
16677
17281
|
|
|
16678
17282
|
|
|
17283
|
+
@property
|
|
17284
|
+
def created(self) -> Union[None, "AuditStampClass"]:
|
|
17285
|
+
"""Created Audit stamp"""
|
|
17286
|
+
return self._inner_dict.get('created') # type: ignore
|
|
17287
|
+
|
|
17288
|
+
@created.setter
|
|
17289
|
+
def created(self, value: Union[None, "AuditStampClass"]) -> None:
|
|
17290
|
+
self._inner_dict['created'] = value
|
|
17291
|
+
|
|
17292
|
+
|
|
17293
|
+
@property
|
|
17294
|
+
def lastModified(self) -> Union[None, "AuditStampClass"]:
|
|
17295
|
+
"""Last Modified Audit stamp"""
|
|
17296
|
+
return self._inner_dict.get('lastModified') # type: ignore
|
|
17297
|
+
|
|
17298
|
+
@lastModified.setter
|
|
17299
|
+
def lastModified(self, value: Union[None, "AuditStampClass"]) -> None:
|
|
17300
|
+
self._inner_dict['lastModified'] = value
|
|
17301
|
+
|
|
17302
|
+
|
|
16679
17303
|
class FormPromptClass(DictWrapper):
|
|
16680
17304
|
"""A prompt to present to the user to encourage filling out metadata"""
|
|
16681
17305
|
|
|
@@ -19902,7 +20526,7 @@ class AssertionKeyClass(_Aspect):
|
|
|
19902
20526
|
|
|
19903
20527
|
|
|
19904
20528
|
ASPECT_NAME = 'assertionKey'
|
|
19905
|
-
ASPECT_INFO = {'keyForEntity': 'assertion', 'entityCategory': 'core', 'entityAspects': ['assertionInfo', 'dataPlatformInstance', 'assertionRunEvent', 'assertionActions', 'status', 'globalTags', 'lineageFeatures', 'assertionDryRunEvent', 'assertionInferenceDetails'], 'entityDoc': 'Assertion represents a data quality rule applied on one or more dataset.'}
|
|
20529
|
+
ASPECT_INFO = {'keyForEntity': 'assertion', 'entityCategory': 'core', 'entityAspects': ['assertionInfo', 'dataPlatformInstance', 'assertionRunEvent', 'assertionActions', 'status', 'globalTags', 'lineageFeatures', 'assertionSummary', 'assertionAnalyticsRunEvent', 'assertionDryRunEvent', 'assertionInferenceDetails'], 'entityDoc': 'Assertion represents a data quality rule applied on one or more dataset.'}
|
|
19906
20530
|
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.key.AssertionKey")
|
|
19907
20531
|
|
|
19908
20532
|
def __init__(self,
|
|
@@ -20002,7 +20626,7 @@ class ContainerKeyClass(_Aspect):
|
|
|
20002
20626
|
|
|
20003
20627
|
|
|
20004
20628
|
ASPECT_NAME = 'containerKey'
|
|
20005
|
-
ASPECT_INFO = {'keyForEntity': 'container', 'entityCategory': 'core', 'entityAspects': ['containerProperties', 'editableContainerProperties', 'dataPlatformInstance', 'subTypes', 'ownership', 'container', 'globalTags', 'glossaryTerms', 'institutionalMemory', 'browsePaths', 'status', 'domains', 'proposals', 'browsePathsV2', 'structuredProperties', 'forms', 'testResults', 'share', 'origin', 'documentation'], 'entityDoc': 'A container of related data assets.'}
|
|
20629
|
+
ASPECT_INFO = {'keyForEntity': 'container', 'entityCategory': 'core', 'entityAspects': ['containerProperties', 'editableContainerProperties', 'dataPlatformInstance', 'subTypes', 'ownership', 'container', 'globalTags', 'glossaryTerms', 'institutionalMemory', 'browsePaths', 'status', 'domains', 'proposals', 'browsePathsV2', 'structuredProperties', 'forms', 'testResults', 'access', 'share', 'origin', 'documentation'], 'entityDoc': 'A container of related data assets.'}
|
|
20006
20630
|
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.key.ContainerKey")
|
|
20007
20631
|
|
|
20008
20632
|
def __init__(self,
|
|
@@ -20774,7 +21398,7 @@ class DatasetKeyClass(_Aspect):
|
|
|
20774
21398
|
|
|
20775
21399
|
|
|
20776
21400
|
ASPECT_NAME = 'datasetKey'
|
|
20777
|
-
ASPECT_INFO = {'keyForEntity': 'dataset', 'entityCategory': 'core', 'entityAspects': ['viewProperties', 'subTypes', 'datasetProfile', 'datasetUsageStatistics', 'operation', 'domains', 'proposals', 'schemaProposals', 'schemaMetadata', 'status', 'container', 'deprecation', 'usageFeatures', 'storageFeatures', 'lineageFeatures', 'testResults', 'siblings', 'embed', 'incidentsSummary', 'inferredNeighbors', 'inferredMetadata', 'schemaFieldsInferredMetadata', 'schemaFieldsInferredNeighbors', 'assertionsSummary', 'datasetProperties', 'editableDatasetProperties', 'datasetDeprecation', 'datasetUpstreamLineage', 'upstreamLineage', 'institutionalMemory', 'ownership', 'editableSchemaMetadata', 'globalTags', 'glossaryTerms', 'browsePaths', 'dataPlatformInstance', 'browsePathsV2', 'anomaliesSummary', 'access', 'structuredProperties', 'forms', 'partitionsSummary', 'share', 'origin', 'documentation'], 'entityDoc': 'Datasets represent logical or physical data assets stored or represented in various data platforms. Tables, Views, Streams are all instances of datasets.'}
|
|
21401
|
+
ASPECT_INFO = {'keyForEntity': 'dataset', 'entityCategory': 'core', 'entityAspects': ['viewProperties', 'subTypes', 'datasetProfile', 'datasetUsageStatistics', 'operation', 'domains', 'proposals', 'schemaProposals', 'schemaMetadata', 'status', 'container', 'deprecation', 'usageFeatures', 'storageFeatures', 'lineageFeatures', 'testResults', 'siblings', 'embed', 'incidentsSummary', 'inferredNeighbors', 'inferredMetadata', 'schemaFieldsInferredMetadata', 'schemaFieldsInferredNeighbors', 'assertionsSummary', 'datasetProperties', 'editableDatasetProperties', 'datasetDeprecation', 'datasetUpstreamLineage', 'upstreamLineage', 'institutionalMemory', 'ownership', 'editableSchemaMetadata', 'globalTags', 'glossaryTerms', 'browsePaths', 'dataPlatformInstance', 'browsePathsV2', 'anomaliesSummary', 'access', 'structuredProperties', 'forms', 'partitionsSummary', 'share', 'origin', 'documentation', 'entityInferenceMetadata'], 'entityDoc': 'Datasets represent logical or physical data assets stored or represented in various data platforms. Tables, Views, Streams are all instances of datasets.'}
|
|
20778
21402
|
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.key.DatasetKey")
|
|
20779
21403
|
|
|
20780
21404
|
def __init__(self,
|
|
@@ -21151,7 +21775,7 @@ class MLFeatureKeyClass(_Aspect):
|
|
|
21151
21775
|
|
|
21152
21776
|
|
|
21153
21777
|
ASPECT_NAME = 'mlFeatureKey'
|
|
21154
|
-
ASPECT_INFO = {'keyForEntity': 'mlFeature', 'entityCategory': 'core', 'entityAspects': ['glossaryTerms', 'editableMlFeatureProperties', 'domains', 'proposals', 'mlFeatureProperties', 'ownership', 'institutionalMemory', 'status', 'deprecation', 'browsePaths', 'globalTags', 'dataPlatformInstance', 'browsePathsV2', 'structuredProperties', 'forms', 'testResults', 'share', 'origin', 'lineageFeatures', 'documentation']}
|
|
21778
|
+
ASPECT_INFO = {'keyForEntity': 'mlFeature', 'entityCategory': 'core', 'entityAspects': ['glossaryTerms', 'editableMlFeatureProperties', 'domains', 'proposals', 'mlFeatureProperties', 'ownership', 'institutionalMemory', 'status', 'deprecation', 'browsePaths', 'globalTags', 'dataPlatformInstance', 'browsePathsV2', 'structuredProperties', 'forms', 'testResults', 'share', 'origin', 'lineageFeatures', 'documentation', 'incidentsSummary']}
|
|
21155
21779
|
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.key.MLFeatureKey")
|
|
21156
21780
|
|
|
21157
21781
|
def __init__(self,
|
|
@@ -21345,7 +21969,7 @@ class MLModelKeyClass(_Aspect):
|
|
|
21345
21969
|
|
|
21346
21970
|
|
|
21347
21971
|
ASPECT_NAME = 'mlModelKey'
|
|
21348
|
-
ASPECT_INFO = {'keyForEntity': 'mlModel', 'entityCategory': 'core', 'entityAspects': ['glossaryTerms', 'editableMlModelProperties', 'domains', 'proposals', 'ownership', 'mlModelProperties', 'intendedUse', 'mlModelFactorPrompts', 'mlModelMetrics', 'mlModelEvaluationData', 'mlModelTrainingData', 'mlModelQuantitativeAnalyses', 'mlModelEthicalConsiderations', 'mlModelCaveatsAndRecommendations', 'institutionalMemory', 'sourceCode', 'status', 'cost', 'deprecation', 'browsePaths', 'globalTags', 'dataPlatformInstance', 'browsePathsV2', 'structuredProperties', 'forms', 'testResults', 'share', 'origin', 'lineageFeatures', 'documentation']}
|
|
21972
|
+
ASPECT_INFO = {'keyForEntity': 'mlModel', 'entityCategory': 'core', 'entityAspects': ['glossaryTerms', 'editableMlModelProperties', 'domains', 'proposals', 'ownership', 'mlModelProperties', 'intendedUse', 'mlModelFactorPrompts', 'mlModelMetrics', 'mlModelEvaluationData', 'mlModelTrainingData', 'mlModelQuantitativeAnalyses', 'mlModelEthicalConsiderations', 'mlModelCaveatsAndRecommendations', 'institutionalMemory', 'sourceCode', 'status', 'cost', 'deprecation', 'browsePaths', 'globalTags', 'dataPlatformInstance', 'browsePathsV2', 'structuredProperties', 'forms', 'testResults', 'share', 'origin', 'lineageFeatures', 'documentation', 'incidentsSummary']}
|
|
21349
21973
|
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.key.MLModelKey")
|
|
21350
21974
|
|
|
21351
21975
|
def __init__(self,
|
|
@@ -21850,6 +22474,9 @@ class ConditionClass(object):
|
|
|
21850
22474
|
EQUAL = "EQUAL"
|
|
21851
22475
|
"""Represent the relation: field = value, e.g. platform = hdfs"""
|
|
21852
22476
|
|
|
22477
|
+
IEQUAL = "IEQUAL"
|
|
22478
|
+
"""Represent the relation: field = value and support case insensitive values, e.g. platform = hdfs"""
|
|
22479
|
+
|
|
21853
22480
|
IS_NULL = "IS_NULL"
|
|
21854
22481
|
"""Represent the relation: field is null, e.g. platform is null"""
|
|
21855
22482
|
|
|
@@ -27471,8 +28098,14 @@ class PlatformResourceInfoClass(_Aspect):
|
|
|
27471
28098
|
@property
|
|
27472
28099
|
def resourceType(self) -> str:
|
|
27473
28100
|
"""The type of the resource.
|
|
27474
|
-
|
|
27475
|
-
|
|
28101
|
+
Intended as a loose specifier of the generic type of the resource.
|
|
28102
|
+
Producer is not forced to conform to a specific set of symbols for
|
|
28103
|
+
resource types.
|
|
28104
|
+
The @PlatformResourceType enumeration offers a paved path for agreed upon
|
|
28105
|
+
common terms, but is not required to be followed.
|
|
28106
|
+
Example values could be: conversation, user, grant, etc.
|
|
28107
|
+
Resource types are indexed for ease of access.
|
|
28108
|
+
e.g. Get me all platform resources of type user for the platform looker"""
|
|
27476
28109
|
return self._inner_dict.get('resourceType') # type: ignore
|
|
27477
28110
|
|
|
27478
28111
|
@resourceType.setter
|
|
@@ -27483,7 +28116,10 @@ class PlatformResourceInfoClass(_Aspect):
|
|
|
27483
28116
|
@property
|
|
27484
28117
|
def primaryKey(self) -> str:
|
|
27485
28118
|
"""The primary key for this platform resource.
|
|
27486
|
-
|
|
28119
|
+
e.g. for a slack member this would be the memberID.
|
|
28120
|
+
primary keys specified here don't need to include any additional specificity for the
|
|
28121
|
+
dataPlatform
|
|
28122
|
+
The @PlatformResourceKey is supposed to represent that"""
|
|
27487
28123
|
return self._inner_dict.get('primaryKey') # type: ignore
|
|
27488
28124
|
|
|
27489
28125
|
@primaryKey.setter
|
|
@@ -27513,13 +28149,16 @@ class PlatformResourceInfoClass(_Aspect):
|
|
|
27513
28149
|
|
|
27514
28150
|
|
|
27515
28151
|
class PlatformResourceKeyClass(_Aspect):
|
|
27516
|
-
"""Key for Platform Resource.
|
|
27517
|
-
|
|
27518
|
-
|
|
28152
|
+
"""Key for a Platform Resource.
|
|
28153
|
+
Platform Resources are assets that are not part of the core data model.
|
|
28154
|
+
They are stored in DataHub primarily to help with application-specific
|
|
28155
|
+
use-cases that are not sufficiently generalized to move into the core data model.
|
|
28156
|
+
For instance, if we want to persist & retrieve additional user profile data
|
|
28157
|
+
from auxiliary integrations such as Slack or Microsoft Teams for resolving details later."""
|
|
27519
28158
|
|
|
27520
28159
|
|
|
27521
28160
|
ASPECT_NAME = 'platformResourceKey'
|
|
27522
|
-
ASPECT_INFO = {'keyForEntity': 'platformResource', 'entityCategory': 'core', 'entityAspects': ['dataPlatformInstance', 'platformResourceInfo', 'status']}
|
|
28161
|
+
ASPECT_INFO = {'keyForEntity': 'platformResource', 'entityCategory': 'core', 'entityAspects': ['dataPlatformInstance', 'platformResourceInfo', 'status'], 'entityDoc': 'Platform Resources are assets that are unmodeled and stored outside of the core data model. They are stored in DataHub primarily to help with application-specific use-cases that are not sufficiently generalized to move into the core data model.'}
|
|
27523
28162
|
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.platformresource.PlatformResourceKey")
|
|
27524
28163
|
|
|
27525
28164
|
def __init__(self,
|
|
@@ -27535,8 +28174,16 @@ class PlatformResourceKeyClass(_Aspect):
|
|
|
27535
28174
|
|
|
27536
28175
|
@property
|
|
27537
28176
|
def id(self) -> str:
|
|
27538
|
-
"""A unique id for this entity.
|
|
27539
|
-
|
|
28177
|
+
"""A unique id for this entity.
|
|
28178
|
+
There are no constraints on the format of this id, but most implementations
|
|
28179
|
+
will choose to use a UUID.
|
|
28180
|
+
This id should be globally unique for the entire DataHub instance and
|
|
28181
|
+
uniquely identify the resource that is being stored, so most
|
|
28182
|
+
implementations
|
|
28183
|
+
will combine logical attributes like platform name, platform instance,
|
|
28184
|
+
platform-specific-id and the resource type to create the unique id.
|
|
28185
|
+
e.g. slack:slack-instance:slack-user-id:user-info
|
|
28186
|
+
or guid(slack, slack-instance, slack-user-id, user-info) etc."""
|
|
27540
28187
|
return self._inner_dict.get('id') # type: ignore
|
|
27541
28188
|
|
|
27542
28189
|
@id.setter
|
|
@@ -27932,6 +28579,9 @@ class PolicyMatchConditionClass(object):
|
|
|
27932
28579
|
EQUALS = "EQUALS"
|
|
27933
28580
|
"""Whether the field matches the value"""
|
|
27934
28581
|
|
|
28582
|
+
STARTS_WITH = "STARTS_WITH"
|
|
28583
|
+
"""Whether the field value starts with the value"""
|
|
28584
|
+
|
|
27935
28585
|
|
|
27936
28586
|
|
|
27937
28587
|
class PolicyMatchCriterionClass(DictWrapper):
|
|
@@ -28188,7 +28838,7 @@ class PostInfoClass(_Aspect):
|
|
|
28188
28838
|
|
|
28189
28839
|
@property
|
|
28190
28840
|
def target(self) -> Union[None, str]:
|
|
28191
|
-
"""Optional URN that the post is associated with."""
|
|
28841
|
+
"""Optional Entity URN that the post is associated with."""
|
|
28192
28842
|
return self._inner_dict.get('target') # type: ignore
|
|
28193
28843
|
|
|
28194
28844
|
@target.setter
|
|
@@ -30873,13 +31523,19 @@ class GlobalVisualSettingsClass(DictWrapper):
|
|
|
30873
31523
|
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.settings.global.GlobalVisualSettings")
|
|
30874
31524
|
def __init__(self,
|
|
30875
31525
|
helpLink: Union[None, "HelpLinkClass"]=None,
|
|
31526
|
+
customLogoUrl: Union[None, str]=None,
|
|
31527
|
+
customOrgName: Union[None, str]=None,
|
|
30876
31528
|
):
|
|
30877
31529
|
super().__init__()
|
|
30878
31530
|
|
|
30879
31531
|
self.helpLink = helpLink
|
|
31532
|
+
self.customLogoUrl = customLogoUrl
|
|
31533
|
+
self.customOrgName = customOrgName
|
|
30880
31534
|
|
|
30881
31535
|
def _restore_defaults(self) -> None:
|
|
30882
31536
|
self.helpLink = self.RECORD_SCHEMA.fields_dict["helpLink"].default
|
|
31537
|
+
self.customLogoUrl = self.RECORD_SCHEMA.fields_dict["customLogoUrl"].default
|
|
31538
|
+
self.customOrgName = self.RECORD_SCHEMA.fields_dict["customOrgName"].default
|
|
30883
31539
|
|
|
30884
31540
|
|
|
30885
31541
|
@property
|
|
@@ -30892,6 +31548,26 @@ class GlobalVisualSettingsClass(DictWrapper):
|
|
|
30892
31548
|
self._inner_dict['helpLink'] = value
|
|
30893
31549
|
|
|
30894
31550
|
|
|
31551
|
+
@property
|
|
31552
|
+
def customLogoUrl(self) -> Union[None, str]:
|
|
31553
|
+
"""The Url for a custom logo to display in the UI"""
|
|
31554
|
+
return self._inner_dict.get('customLogoUrl') # type: ignore
|
|
31555
|
+
|
|
31556
|
+
@customLogoUrl.setter
|
|
31557
|
+
def customLogoUrl(self, value: Union[None, str]) -> None:
|
|
31558
|
+
self._inner_dict['customLogoUrl'] = value
|
|
31559
|
+
|
|
31560
|
+
|
|
31561
|
+
@property
|
|
31562
|
+
def customOrgName(self) -> Union[None, str]:
|
|
31563
|
+
"""A customized name for organization display preferences"""
|
|
31564
|
+
return self._inner_dict.get('customOrgName') # type: ignore
|
|
31565
|
+
|
|
31566
|
+
@customOrgName.setter
|
|
31567
|
+
def customOrgName(self, value: Union[None, str]) -> None:
|
|
31568
|
+
self._inner_dict['customOrgName'] = value
|
|
31569
|
+
|
|
31570
|
+
|
|
30895
31571
|
class HelpLinkClass(DictWrapper):
|
|
30896
31572
|
"""Information regarding the help link dislayed in the UI"""
|
|
30897
31573
|
|
|
@@ -31440,6 +32116,7 @@ class StructuredPropertyDefinitionClass(_Aspect):
|
|
|
31440
32116
|
version: Union[None, str]=None,
|
|
31441
32117
|
created: Union[None, "AuditStampClass"]=None,
|
|
31442
32118
|
lastModified: Union[None, "AuditStampClass"]=None,
|
|
32119
|
+
filterStatus: Optional[Union[Union[str, "StructuredPropertyFilterStatusClass"], None]]=None,
|
|
31443
32120
|
):
|
|
31444
32121
|
super().__init__()
|
|
31445
32122
|
|
|
@@ -31464,6 +32141,11 @@ class StructuredPropertyDefinitionClass(_Aspect):
|
|
|
31464
32141
|
self.version = version
|
|
31465
32142
|
self.created = created
|
|
31466
32143
|
self.lastModified = lastModified
|
|
32144
|
+
if filterStatus is None:
|
|
32145
|
+
# default: 'DISABLED'
|
|
32146
|
+
self.filterStatus = self.RECORD_SCHEMA.fields_dict["filterStatus"].default
|
|
32147
|
+
else:
|
|
32148
|
+
self.filterStatus = filterStatus
|
|
31467
32149
|
|
|
31468
32150
|
def _restore_defaults(self) -> None:
|
|
31469
32151
|
self.qualifiedName = str()
|
|
@@ -31479,6 +32161,7 @@ class StructuredPropertyDefinitionClass(_Aspect):
|
|
|
31479
32161
|
self.version = self.RECORD_SCHEMA.fields_dict["version"].default
|
|
31480
32162
|
self.created = self.RECORD_SCHEMA.fields_dict["created"].default
|
|
31481
32163
|
self.lastModified = self.RECORD_SCHEMA.fields_dict["lastModified"].default
|
|
32164
|
+
self.filterStatus = self.RECORD_SCHEMA.fields_dict["filterStatus"].default
|
|
31482
32165
|
|
|
31483
32166
|
|
|
31484
32167
|
@property
|
|
@@ -31612,7 +32295,7 @@ class StructuredPropertyDefinitionClass(_Aspect):
|
|
|
31612
32295
|
|
|
31613
32296
|
@property
|
|
31614
32297
|
def lastModified(self) -> Union[None, "AuditStampClass"]:
|
|
31615
|
-
"""
|
|
32298
|
+
"""Last Modified Audit stamp"""
|
|
31616
32299
|
return self._inner_dict.get('lastModified') # type: ignore
|
|
31617
32300
|
|
|
31618
32301
|
@lastModified.setter
|
|
@@ -31620,6 +32303,27 @@ class StructuredPropertyDefinitionClass(_Aspect):
|
|
|
31620
32303
|
self._inner_dict['lastModified'] = value
|
|
31621
32304
|
|
|
31622
32305
|
|
|
32306
|
+
@property
|
|
32307
|
+
def filterStatus(self) -> Union[Union[str, "StructuredPropertyFilterStatusClass"], None]:
|
|
32308
|
+
"""The filter status of this structured property - whether it will show up in search filters or not"""
|
|
32309
|
+
return self._inner_dict.get('filterStatus') # type: ignore
|
|
32310
|
+
|
|
32311
|
+
@filterStatus.setter
|
|
32312
|
+
def filterStatus(self, value: Union[Union[str, "StructuredPropertyFilterStatusClass"], None]) -> None:
|
|
32313
|
+
self._inner_dict['filterStatus'] = value
|
|
32314
|
+
|
|
32315
|
+
|
|
32316
|
+
class StructuredPropertyFilterStatusClass(object):
|
|
32317
|
+
# No docs available.
|
|
32318
|
+
|
|
32319
|
+
ENABLED = "ENABLED"
|
|
32320
|
+
"""This structured property will show up in search filters"""
|
|
32321
|
+
|
|
32322
|
+
DISABLED = "DISABLED"
|
|
32323
|
+
"""This structured property will not show up in search filters"""
|
|
32324
|
+
|
|
32325
|
+
|
|
32326
|
+
|
|
31623
32327
|
class StructuredPropertyKeyClass(_Aspect):
|
|
31624
32328
|
# No docs available.
|
|
31625
32329
|
|
|
@@ -33522,6 +34226,7 @@ __SCHEMA_TYPES = {
|
|
|
33522
34226
|
'com.linkedin.pegasus2avro.action.DataHubActionStatus': DataHubActionStatusClass,
|
|
33523
34227
|
'com.linkedin.pegasus2avro.actionrequest.ActionRequestArchived': ActionRequestArchivedClass,
|
|
33524
34228
|
'com.linkedin.pegasus2avro.actionrequest.ActionRequestInfo': ActionRequestInfoClass,
|
|
34229
|
+
'com.linkedin.pegasus2avro.actionrequest.ActionRequestOrigin': ActionRequestOriginClass,
|
|
33525
34230
|
'com.linkedin.pegasus2avro.actionrequest.ActionRequestParams': ActionRequestParamsClass,
|
|
33526
34231
|
'com.linkedin.pegasus2avro.actionrequest.ActionRequestStatus': ActionRequestStatusClass,
|
|
33527
34232
|
'com.linkedin.pegasus2avro.actionrequest.CreateGlossaryNodeProposal': CreateGlossaryNodeProposalClass,
|
|
@@ -33531,6 +34236,11 @@ __SCHEMA_TYPES = {
|
|
|
33531
34236
|
'com.linkedin.pegasus2avro.actionrequest.DescriptionProposal': DescriptionProposalClass,
|
|
33532
34237
|
'com.linkedin.pegasus2avro.actionrequest.GlossaryTermProposal': GlossaryTermProposalClass,
|
|
33533
34238
|
'com.linkedin.pegasus2avro.actionrequest.TagProposal': TagProposalClass,
|
|
34239
|
+
'com.linkedin.pegasus2avro.ai.AiInferenceMetadata': AiInferenceMetadataClass,
|
|
34240
|
+
'com.linkedin.pegasus2avro.ai.EntityInferenceMetadata': EntityInferenceMetadataClass,
|
|
34241
|
+
'com.linkedin.pegasus2avro.ai.GlossaryTermsInferenceMetadata': GlossaryTermsInferenceMetadataClass,
|
|
34242
|
+
'com.linkedin.pegasus2avro.ai.InferenceGroupMetadata': InferenceGroupMetadataClass,
|
|
34243
|
+
'com.linkedin.pegasus2avro.ai.InferenceMetadata': InferenceMetadataClass,
|
|
33534
34244
|
'com.linkedin.pegasus2avro.anomaly.AnomalyInfo': AnomalyInfoClass,
|
|
33535
34245
|
'com.linkedin.pegasus2avro.anomaly.AnomalyReview': AnomalyReviewClass,
|
|
33536
34246
|
'com.linkedin.pegasus2avro.anomaly.AnomalyReviewState': AnomalyReviewStateClass,
|
|
@@ -33546,6 +34256,7 @@ __SCHEMA_TYPES = {
|
|
|
33546
34256
|
'com.linkedin.pegasus2avro.assertion.AssertionActionType': AssertionActionTypeClass,
|
|
33547
34257
|
'com.linkedin.pegasus2avro.assertion.AssertionActions': AssertionActionsClass,
|
|
33548
34258
|
'com.linkedin.pegasus2avro.assertion.AssertionAdjustmentSettings': AssertionAdjustmentSettingsClass,
|
|
34259
|
+
'com.linkedin.pegasus2avro.assertion.AssertionAnalyticsRunEvent': AssertionAnalyticsRunEventClass,
|
|
33549
34260
|
'com.linkedin.pegasus2avro.assertion.AssertionDryRunEvent': AssertionDryRunEventClass,
|
|
33550
34261
|
'com.linkedin.pegasus2avro.assertion.AssertionDryRunResult': AssertionDryRunResultClass,
|
|
33551
34262
|
'com.linkedin.pegasus2avro.assertion.AssertionInferenceDetails': AssertionInferenceDetailsClass,
|
|
@@ -33563,6 +34274,7 @@ __SCHEMA_TYPES = {
|
|
|
33563
34274
|
'com.linkedin.pegasus2avro.assertion.AssertionStdParameter': AssertionStdParameterClass,
|
|
33564
34275
|
'com.linkedin.pegasus2avro.assertion.AssertionStdParameterType': AssertionStdParameterTypeClass,
|
|
33565
34276
|
'com.linkedin.pegasus2avro.assertion.AssertionStdParameters': AssertionStdParametersClass,
|
|
34277
|
+
'com.linkedin.pegasus2avro.assertion.AssertionSummary': AssertionSummaryClass,
|
|
33566
34278
|
'com.linkedin.pegasus2avro.assertion.AssertionType': AssertionTypeClass,
|
|
33567
34279
|
'com.linkedin.pegasus2avro.assertion.AssertionValueChangeType': AssertionValueChangeTypeClass,
|
|
33568
34280
|
'com.linkedin.pegasus2avro.assertion.BatchSpec': BatchSpecClass,
|
|
@@ -34117,6 +34829,7 @@ __SCHEMA_TYPES = {
|
|
|
34117
34829
|
'com.linkedin.pegasus2avro.structured.PropertyValue': PropertyValueClass,
|
|
34118
34830
|
'com.linkedin.pegasus2avro.structured.StructuredProperties': StructuredPropertiesClass,
|
|
34119
34831
|
'com.linkedin.pegasus2avro.structured.StructuredPropertyDefinition': StructuredPropertyDefinitionClass,
|
|
34832
|
+
'com.linkedin.pegasus2avro.structured.StructuredPropertyFilterStatus': StructuredPropertyFilterStatusClass,
|
|
34120
34833
|
'com.linkedin.pegasus2avro.structured.StructuredPropertyKey': StructuredPropertyKeyClass,
|
|
34121
34834
|
'com.linkedin.pegasus2avro.structured.StructuredPropertyValueAssignment': StructuredPropertyValueAssignmentClass,
|
|
34122
34835
|
'com.linkedin.pegasus2avro.subscription.EntityChangeDetails': EntityChangeDetailsClass,
|
|
@@ -34172,6 +34885,7 @@ __SCHEMA_TYPES = {
|
|
|
34172
34885
|
'DataHubActionStatus': DataHubActionStatusClass,
|
|
34173
34886
|
'ActionRequestArchived': ActionRequestArchivedClass,
|
|
34174
34887
|
'ActionRequestInfo': ActionRequestInfoClass,
|
|
34888
|
+
'ActionRequestOrigin': ActionRequestOriginClass,
|
|
34175
34889
|
'ActionRequestParams': ActionRequestParamsClass,
|
|
34176
34890
|
'ActionRequestStatus': ActionRequestStatusClass,
|
|
34177
34891
|
'CreateGlossaryNodeProposal': CreateGlossaryNodeProposalClass,
|
|
@@ -34181,6 +34895,11 @@ __SCHEMA_TYPES = {
|
|
|
34181
34895
|
'DescriptionProposal': DescriptionProposalClass,
|
|
34182
34896
|
'GlossaryTermProposal': GlossaryTermProposalClass,
|
|
34183
34897
|
'TagProposal': TagProposalClass,
|
|
34898
|
+
'AiInferenceMetadata': AiInferenceMetadataClass,
|
|
34899
|
+
'EntityInferenceMetadata': EntityInferenceMetadataClass,
|
|
34900
|
+
'GlossaryTermsInferenceMetadata': GlossaryTermsInferenceMetadataClass,
|
|
34901
|
+
'InferenceGroupMetadata': InferenceGroupMetadataClass,
|
|
34902
|
+
'InferenceMetadata': InferenceMetadataClass,
|
|
34184
34903
|
'AnomalyInfo': AnomalyInfoClass,
|
|
34185
34904
|
'AnomalyReview': AnomalyReviewClass,
|
|
34186
34905
|
'AnomalyReviewState': AnomalyReviewStateClass,
|
|
@@ -34196,6 +34915,7 @@ __SCHEMA_TYPES = {
|
|
|
34196
34915
|
'AssertionActionType': AssertionActionTypeClass,
|
|
34197
34916
|
'AssertionActions': AssertionActionsClass,
|
|
34198
34917
|
'AssertionAdjustmentSettings': AssertionAdjustmentSettingsClass,
|
|
34918
|
+
'AssertionAnalyticsRunEvent': AssertionAnalyticsRunEventClass,
|
|
34199
34919
|
'AssertionDryRunEvent': AssertionDryRunEventClass,
|
|
34200
34920
|
'AssertionDryRunResult': AssertionDryRunResultClass,
|
|
34201
34921
|
'AssertionInferenceDetails': AssertionInferenceDetailsClass,
|
|
@@ -34213,6 +34933,7 @@ __SCHEMA_TYPES = {
|
|
|
34213
34933
|
'AssertionStdParameter': AssertionStdParameterClass,
|
|
34214
34934
|
'AssertionStdParameterType': AssertionStdParameterTypeClass,
|
|
34215
34935
|
'AssertionStdParameters': AssertionStdParametersClass,
|
|
34936
|
+
'AssertionSummary': AssertionSummaryClass,
|
|
34216
34937
|
'AssertionType': AssertionTypeClass,
|
|
34217
34938
|
'AssertionValueChangeType': AssertionValueChangeTypeClass,
|
|
34218
34939
|
'BatchSpec': BatchSpecClass,
|
|
@@ -34767,6 +35488,7 @@ __SCHEMA_TYPES = {
|
|
|
34767
35488
|
'PropertyValue': PropertyValueClass,
|
|
34768
35489
|
'StructuredProperties': StructuredPropertiesClass,
|
|
34769
35490
|
'StructuredPropertyDefinition': StructuredPropertyDefinitionClass,
|
|
35491
|
+
'StructuredPropertyFilterStatus': StructuredPropertyFilterStatusClass,
|
|
34770
35492
|
'StructuredPropertyKey': StructuredPropertyKeyClass,
|
|
34771
35493
|
'StructuredPropertyValueAssignment': StructuredPropertyValueAssignmentClass,
|
|
34772
35494
|
'EntityChangeDetails': EntityChangeDetailsClass,
|
|
@@ -34905,6 +35627,8 @@ ASPECT_CLASSES: List[Type[_Aspect]] = [
|
|
|
34905
35627
|
QueryUsageFeaturesClass,
|
|
34906
35628
|
QueryUsageStatisticsClass,
|
|
34907
35629
|
QuerySubjectsClass,
|
|
35630
|
+
EntityInferenceMetadataClass,
|
|
35631
|
+
AiInferenceMetadataClass,
|
|
34908
35632
|
StructuredPropertyKeyClass,
|
|
34909
35633
|
StructuredPropertyDefinitionClass,
|
|
34910
35634
|
StructuredPropertiesClass,
|
|
@@ -34920,7 +35644,9 @@ ASPECT_CLASSES: List[Type[_Aspect]] = [
|
|
|
34920
35644
|
AssertionRunEventClass,
|
|
34921
35645
|
AssertionDryRunEventClass,
|
|
34922
35646
|
AssertionActionsClass,
|
|
35647
|
+
AssertionAnalyticsRunEventClass,
|
|
34923
35648
|
AssertionInferenceDetailsClass,
|
|
35649
|
+
AssertionSummaryClass,
|
|
34924
35650
|
AssertionInfoClass,
|
|
34925
35651
|
ProposalsClass,
|
|
34926
35652
|
ShareClass,
|
|
@@ -35160,6 +35886,8 @@ class AspectBag(TypedDict, total=False):
|
|
|
35160
35886
|
queryUsageFeatures: QueryUsageFeaturesClass
|
|
35161
35887
|
queryUsageStatistics: QueryUsageStatisticsClass
|
|
35162
35888
|
querySubjects: QuerySubjectsClass
|
|
35889
|
+
entityInferenceMetadata: EntityInferenceMetadataClass
|
|
35890
|
+
aiInferenceMetadata: AiInferenceMetadataClass
|
|
35163
35891
|
structuredPropertyKey: StructuredPropertyKeyClass
|
|
35164
35892
|
propertyDefinition: StructuredPropertyDefinitionClass
|
|
35165
35893
|
structuredProperties: StructuredPropertiesClass
|
|
@@ -35175,7 +35903,9 @@ class AspectBag(TypedDict, total=False):
|
|
|
35175
35903
|
assertionRunEvent: AssertionRunEventClass
|
|
35176
35904
|
assertionDryRunEvent: AssertionDryRunEventClass
|
|
35177
35905
|
assertionActions: AssertionActionsClass
|
|
35906
|
+
assertionAnalyticsRunEvent: AssertionAnalyticsRunEventClass
|
|
35178
35907
|
assertionInferenceDetails: AssertionInferenceDetailsClass
|
|
35908
|
+
assertionSummary: AssertionSummaryClass
|
|
35179
35909
|
assertionInfo: AssertionInfoClass
|
|
35180
35910
|
proposals: ProposalsClass
|
|
35181
35911
|
share: ShareClass
|