acryl-datahub-cloud 0.3.6.9rc2__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.
Files changed (66) hide show
  1. acryl_datahub_cloud/_codegen_config.json +1 -1
  2. acryl_datahub_cloud/datahub_reporting/extract_graph.py +1 -1
  3. acryl_datahub_cloud/datahub_usage_reporting/usage_feature_patch_builder.py +466 -0
  4. acryl_datahub_cloud/datahub_usage_reporting/usage_feature_reporter.py +432 -34
  5. acryl_datahub_cloud/metadata/_urns/urn_defs.py +788 -5
  6. acryl_datahub_cloud/metadata/com/linkedin/pegasus2avro/actionrequest/__init__.py +2 -0
  7. acryl_datahub_cloud/metadata/com/linkedin/pegasus2avro/ai/__init__.py +23 -0
  8. acryl_datahub_cloud/metadata/com/linkedin/pegasus2avro/assertion/__init__.py +4 -0
  9. acryl_datahub_cloud/metadata/com/linkedin/pegasus2avro/structured/__init__.py +2 -0
  10. acryl_datahub_cloud/metadata/schema.avsc +773 -75
  11. acryl_datahub_cloud/metadata/schema_classes.py +750 -20
  12. acryl_datahub_cloud/metadata/schemas/Access.avsc +2 -1
  13. acryl_datahub_cloud/metadata/schemas/ActionRequestInfo.avsc +76 -0
  14. acryl_datahub_cloud/metadata/schemas/AiInferenceMetadata.avsc +42 -0
  15. acryl_datahub_cloud/metadata/schemas/AnomaliesSummary.avsc +16 -8
  16. acryl_datahub_cloud/metadata/schemas/AssertionAnalyticsRunEvent.avsc +3506 -0
  17. acryl_datahub_cloud/metadata/schemas/AssertionInfo.avsc +3 -2
  18. acryl_datahub_cloud/metadata/schemas/AssertionKey.avsc +2 -0
  19. acryl_datahub_cloud/metadata/schemas/AssertionRunEvent.avsc +4 -3
  20. acryl_datahub_cloud/metadata/schemas/AssertionSummary.avsc +50 -0
  21. acryl_datahub_cloud/metadata/schemas/AssertionsSummary.avsc +54 -8
  22. acryl_datahub_cloud/metadata/schemas/ConstraintInfo.avsc +4 -2
  23. acryl_datahub_cloud/metadata/schemas/ContainerKey.avsc +1 -0
  24. acryl_datahub_cloud/metadata/schemas/ContainerProperties.avsc +3 -1
  25. acryl_datahub_cloud/metadata/schemas/CorpUserInfo.avsc +1 -1
  26. acryl_datahub_cloud/metadata/schemas/DashboardInfo.avsc +29 -2
  27. acryl_datahub_cloud/metadata/schemas/DataFlowInfo.avsc +3 -1
  28. acryl_datahub_cloud/metadata/schemas/DataHubActionInfo.avsc +10 -1
  29. acryl_datahub_cloud/metadata/schemas/DataHubPolicyInfo.avsc +4 -2
  30. acryl_datahub_cloud/metadata/schemas/DataHubViewInfo.avsc +2 -0
  31. acryl_datahub_cloud/metadata/schemas/DataJobInfo.avsc +3 -1
  32. acryl_datahub_cloud/metadata/schemas/DataProcessKey.avsc +3 -1
  33. acryl_datahub_cloud/metadata/schemas/DatasetKey.avsc +5 -2
  34. acryl_datahub_cloud/metadata/schemas/DynamicFormAssignment.avsc +2 -0
  35. acryl_datahub_cloud/metadata/schemas/EntityInferenceMetadata.avsc +47 -0
  36. acryl_datahub_cloud/metadata/schemas/Filter.avsc +2 -0
  37. acryl_datahub_cloud/metadata/schemas/FormInfo.avsc +75 -0
  38. acryl_datahub_cloud/metadata/schemas/Forms.avsc +18 -9
  39. acryl_datahub_cloud/metadata/schemas/GlobalSettingsInfo.avsc +18 -0
  40. acryl_datahub_cloud/metadata/schemas/GlossaryRelatedTerms.avsc +4 -4
  41. acryl_datahub_cloud/metadata/schemas/IncidentActivityEvent.avsc +3 -1
  42. acryl_datahub_cloud/metadata/schemas/IncidentInfo.avsc +3 -1
  43. acryl_datahub_cloud/metadata/schemas/IncidentsSummary.avsc +4 -2
  44. acryl_datahub_cloud/metadata/schemas/InferredMetadata.avsc +4 -2
  45. acryl_datahub_cloud/metadata/schemas/MLFeatureKey.avsc +2 -1
  46. acryl_datahub_cloud/metadata/schemas/MLModelDeploymentKey.avsc +3 -1
  47. acryl_datahub_cloud/metadata/schemas/MLModelGroupKey.avsc +3 -1
  48. acryl_datahub_cloud/metadata/schemas/MLModelKey.avsc +5 -2
  49. acryl_datahub_cloud/metadata/schemas/MetadataChangeEvent.avsc +119 -11
  50. acryl_datahub_cloud/metadata/schemas/MonitorInfo.avsc +3 -2
  51. acryl_datahub_cloud/metadata/schemas/NotificationRequest.avsc +2 -1
  52. acryl_datahub_cloud/metadata/schemas/Operation.avsc +0 -3
  53. acryl_datahub_cloud/metadata/schemas/Ownership.avsc +2 -1
  54. acryl_datahub_cloud/metadata/schemas/PlatformResourceInfo.avsc +2 -2
  55. acryl_datahub_cloud/metadata/schemas/PlatformResourceKey.avsc +4 -3
  56. acryl_datahub_cloud/metadata/schemas/PostInfo.avsc +2 -1
  57. acryl_datahub_cloud/metadata/schemas/RecommendationModule.avsc +2 -0
  58. acryl_datahub_cloud/metadata/schemas/Share.avsc +2 -1
  59. acryl_datahub_cloud/metadata/schemas/StructuredPropertyDefinition.avsc +25 -1
  60. acryl_datahub_cloud/metadata/schemas/SubTypes.avsc +1 -1
  61. acryl_datahub_cloud/metadata/schemas/TestResults.avsc +8 -4
  62. {acryl_datahub_cloud-0.3.6.9rc2.dist-info → acryl_datahub_cloud-0.3.7.dist-info}/METADATA +35 -35
  63. {acryl_datahub_cloud-0.3.6.9rc2.dist-info → acryl_datahub_cloud-0.3.7.dist-info}/RECORD +66 -60
  64. {acryl_datahub_cloud-0.3.6.9rc2.dist-info → acryl_datahub_cloud-0.3.7.dist-info}/WHEEL +1 -1
  65. {acryl_datahub_cloud-0.3.6.9rc2.dist-info → acryl_datahub_cloud-0.3.7.dist-info}/entry_points.txt +0 -0
  66. {acryl_datahub_cloud-0.3.6.9rc2.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 ingestion"""
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. Assertion types can evolve to span Datasets, Flows (Pipelines), Models, Features etc."""
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 milli seconds."""
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
- # No docs available.
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
- This is used to differentiate between different types of resources.
27475
- Possible values specified in {@link com.linkedin.pegasus2avro.platformresource.PlatformResourceType}"""
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
- I.e., for a slack member this would be the memberID."""
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
- These entities are for miscelaneous data that is used in non-core parts of the system.
27518
- For instance, if we want to persist & retrieve data from auxiliary integrations such as Slack or Microsoft Teams."""
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. Generated on the server side at entity creation time.
27539
- Format will be a guid."""
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
- """Created Audit stamp"""
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