acryl-datahub 1.2.0.1rc1__py3-none-any.whl → 1.2.0.2rc2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

Files changed (29) hide show
  1. {acryl_datahub-1.2.0.1rc1.dist-info → acryl_datahub-1.2.0.2rc2.dist-info}/METADATA +2556 -2556
  2. {acryl_datahub-1.2.0.1rc1.dist-info → acryl_datahub-1.2.0.2rc2.dist-info}/RECORD +29 -29
  3. datahub/_version.py +1 -1
  4. datahub/emitter/rest_emitter.py +3 -1
  5. datahub/ingestion/source/abs/source.py +5 -29
  6. datahub/ingestion/source/data_lake_common/data_lake_utils.py +37 -0
  7. datahub/ingestion/source/dbt/dbt_common.py +69 -2
  8. datahub/ingestion/source/ge_data_profiler.py +9 -1
  9. datahub/ingestion/source/looker/looker_common.py +40 -4
  10. datahub/ingestion/source/s3/source.py +5 -33
  11. datahub/ingestion/source/sql/postgres.py +190 -1
  12. datahub/ingestion/source/sql_queries.py +112 -77
  13. datahub/ingestion/source/unity/proxy.py +8 -8
  14. datahub/metadata/_internal_schema_classes.py +81 -0
  15. datahub/metadata/com/linkedin/pegasus2avro/module/__init__.py +2 -0
  16. datahub/metadata/schema.avsc +60 -0
  17. datahub/metadata/schemas/CorpUserSettings.avsc +10 -1
  18. datahub/metadata/schemas/DataHubPageModuleProperties.avsc +33 -0
  19. datahub/metadata/schemas/MetadataChangeEvent.avsc +18 -0
  20. datahub/metadata/schemas/MetadataChangeLog.avsc +62 -44
  21. datahub/metadata/schemas/MetadataChangeProposal.avsc +61 -0
  22. datahub/metadata/schemas/SystemMetadata.avsc +61 -0
  23. datahub/sdk/search_filters.py +51 -2
  24. datahub/sql_parsing/sql_parsing_aggregator.py +1 -0
  25. datahub/upgrade/upgrade.py +5 -3
  26. {acryl_datahub-1.2.0.1rc1.dist-info → acryl_datahub-1.2.0.2rc2.dist-info}/WHEEL +0 -0
  27. {acryl_datahub-1.2.0.1rc1.dist-info → acryl_datahub-1.2.0.2rc2.dist-info}/entry_points.txt +0 -0
  28. {acryl_datahub-1.2.0.1rc1.dist-info → acryl_datahub-1.2.0.2rc2.dist-info}/licenses/LICENSE +0 -0
  29. {acryl_datahub-1.2.0.1rc1.dist-info → acryl_datahub-1.2.0.2rc2.dist-info}/top_level.txt +0 -0
@@ -19964,17 +19964,20 @@ class DataHubPageModuleParamsClass(DictWrapper):
19964
19964
  linkParams: Union[None, "LinkModuleParamsClass"]=None,
19965
19965
  richTextParams: Union[None, "RichTextModuleParamsClass"]=None,
19966
19966
  assetCollectionParams: Union[None, "AssetCollectionModuleParamsClass"]=None,
19967
+ hierarchyViewParams: Union[None, "HierarchyModuleParamsClass"]=None,
19967
19968
  ):
19968
19969
  super().__init__()
19969
19970
 
19970
19971
  self.linkParams = linkParams
19971
19972
  self.richTextParams = richTextParams
19972
19973
  self.assetCollectionParams = assetCollectionParams
19974
+ self.hierarchyViewParams = hierarchyViewParams
19973
19975
 
19974
19976
  def _restore_defaults(self) -> None:
19975
19977
  self.linkParams = self.RECORD_SCHEMA.fields_dict["linkParams"].default
19976
19978
  self.richTextParams = self.RECORD_SCHEMA.fields_dict["richTextParams"].default
19977
19979
  self.assetCollectionParams = self.RECORD_SCHEMA.fields_dict["assetCollectionParams"].default
19980
+ self.hierarchyViewParams = self.RECORD_SCHEMA.fields_dict["hierarchyViewParams"].default
19978
19981
 
19979
19982
 
19980
19983
  @property
@@ -20007,6 +20010,16 @@ class DataHubPageModuleParamsClass(DictWrapper):
20007
20010
  self._inner_dict['assetCollectionParams'] = value
20008
20011
 
20009
20012
 
20013
+ @property
20014
+ def hierarchyViewParams(self) -> Union[None, "HierarchyModuleParamsClass"]:
20015
+ """The params required if the module is type HIERARCHY_VIEW"""
20016
+ return self._inner_dict.get('hierarchyViewParams') # type: ignore
20017
+
20018
+ @hierarchyViewParams.setter
20019
+ def hierarchyViewParams(self, value: Union[None, "HierarchyModuleParamsClass"]) -> None:
20020
+ self._inner_dict['hierarchyViewParams'] = value
20021
+
20022
+
20010
20023
  class DataHubPageModulePropertiesClass(_Aspect):
20011
20024
  """The main properties of a DataHub page module"""
20012
20025
 
@@ -20149,6 +20162,46 @@ class DataHubPageModuleVisibilityClass(DictWrapper):
20149
20162
  self._inner_dict['scope'] = value
20150
20163
 
20151
20164
 
20165
+ class HierarchyModuleParamsClass(DictWrapper):
20166
+ """The params required if the module is type HIERARCHY_VIEW
20167
+ TODO: add filters
20168
+ relatedEntitiesFilter: optional Filter"""
20169
+
20170
+ RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.module.HierarchyModuleParams")
20171
+ def __init__(self,
20172
+ showRelatedEntities: bool,
20173
+ assetUrns: Union[None, List[str]]=None,
20174
+ ):
20175
+ super().__init__()
20176
+
20177
+ self.assetUrns = assetUrns
20178
+ self.showRelatedEntities = showRelatedEntities
20179
+
20180
+ def _restore_defaults(self) -> None:
20181
+ self.assetUrns = self.RECORD_SCHEMA.fields_dict["assetUrns"].default
20182
+ self.showRelatedEntities = bool()
20183
+
20184
+
20185
+ @property
20186
+ def assetUrns(self) -> Union[None, List[str]]:
20187
+ # No docs available.
20188
+ return self._inner_dict.get('assetUrns') # type: ignore
20189
+
20190
+ @assetUrns.setter
20191
+ def assetUrns(self, value: Union[None, List[str]]) -> None:
20192
+ self._inner_dict['assetUrns'] = value
20193
+
20194
+
20195
+ @property
20196
+ def showRelatedEntities(self) -> bool:
20197
+ # No docs available.
20198
+ return self._inner_dict.get('showRelatedEntities') # type: ignore
20199
+
20200
+ @showRelatedEntities.setter
20201
+ def showRelatedEntities(self, value: bool) -> None:
20202
+ self._inner_dict['showRelatedEntities'] = value
20203
+
20204
+
20152
20205
  class LinkModuleParamsClass(DictWrapper):
20153
20206
  # No docs available.
20154
20207
 
@@ -20772,6 +20825,8 @@ class SystemMetadataClass(_Aspect):
20772
20825
  registryVersion: Union[None, str]=None,
20773
20826
  properties: Union[None, Dict[str, str]]=None,
20774
20827
  version: Union[None, str]=None,
20828
+ aspectCreated: Union[None, "AuditStampClass"]=None,
20829
+ aspectModified: Union[None, "AuditStampClass"]=None,
20775
20830
  ):
20776
20831
  super().__init__()
20777
20832
 
@@ -20795,6 +20850,8 @@ class SystemMetadataClass(_Aspect):
20795
20850
  self.registryVersion = registryVersion
20796
20851
  self.properties = properties
20797
20852
  self.version = version
20853
+ self.aspectCreated = aspectCreated
20854
+ self.aspectModified = aspectModified
20798
20855
 
20799
20856
  def _restore_defaults(self) -> None:
20800
20857
  self.lastObserved = self.RECORD_SCHEMA.fields_dict["lastObserved"].default
@@ -20805,6 +20862,8 @@ class SystemMetadataClass(_Aspect):
20805
20862
  self.registryVersion = self.RECORD_SCHEMA.fields_dict["registryVersion"].default
20806
20863
  self.properties = self.RECORD_SCHEMA.fields_dict["properties"].default
20807
20864
  self.version = self.RECORD_SCHEMA.fields_dict["version"].default
20865
+ self.aspectCreated = self.RECORD_SCHEMA.fields_dict["aspectCreated"].default
20866
+ self.aspectModified = self.RECORD_SCHEMA.fields_dict["aspectModified"].default
20808
20867
 
20809
20868
 
20810
20869
  @property
@@ -20889,6 +20948,26 @@ class SystemMetadataClass(_Aspect):
20889
20948
  self._inner_dict['version'] = value
20890
20949
 
20891
20950
 
20951
+ @property
20952
+ def aspectCreated(self) -> Union[None, "AuditStampClass"]:
20953
+ """When the aspect was initially created and who created it, detected by version 0 -> 1 change"""
20954
+ return self._inner_dict.get('aspectCreated') # type: ignore
20955
+
20956
+ @aspectCreated.setter
20957
+ def aspectCreated(self, value: Union[None, "AuditStampClass"]) -> None:
20958
+ self._inner_dict['aspectCreated'] = value
20959
+
20960
+
20961
+ @property
20962
+ def aspectModified(self) -> Union[None, "AuditStampClass"]:
20963
+ """When the aspect was last modified and the actor that performed the modification"""
20964
+ return self._inner_dict.get('aspectModified') # type: ignore
20965
+
20966
+ @aspectModified.setter
20967
+ def aspectModified(self, value: Union[None, "AuditStampClass"]) -> None:
20968
+ self._inner_dict['aspectModified'] = value
20969
+
20970
+
20892
20971
  class ChartCellClass(DictWrapper):
20893
20972
  """Chart cell in a notebook, which will present content in chart format"""
20894
20973
 
@@ -27171,6 +27250,7 @@ __SCHEMA_TYPES = {
27171
27250
  'com.linkedin.pegasus2avro.module.DataHubPageModuleProperties': DataHubPageModulePropertiesClass,
27172
27251
  'com.linkedin.pegasus2avro.module.DataHubPageModuleType': DataHubPageModuleTypeClass,
27173
27252
  'com.linkedin.pegasus2avro.module.DataHubPageModuleVisibility': DataHubPageModuleVisibilityClass,
27253
+ 'com.linkedin.pegasus2avro.module.HierarchyModuleParams': HierarchyModuleParamsClass,
27174
27254
  'com.linkedin.pegasus2avro.module.LinkModuleParams': LinkModuleParamsClass,
27175
27255
  'com.linkedin.pegasus2avro.module.PageModuleScope': PageModuleScopeClass,
27176
27256
  'com.linkedin.pegasus2avro.module.RichTextModuleParams': RichTextModuleParamsClass,
@@ -27680,6 +27760,7 @@ __SCHEMA_TYPES = {
27680
27760
  'DataHubPageModuleProperties': DataHubPageModulePropertiesClass,
27681
27761
  'DataHubPageModuleType': DataHubPageModuleTypeClass,
27682
27762
  'DataHubPageModuleVisibility': DataHubPageModuleVisibilityClass,
27763
+ 'HierarchyModuleParams': HierarchyModuleParamsClass,
27683
27764
  'LinkModuleParams': LinkModuleParamsClass,
27684
27765
  'PageModuleScope': PageModuleScopeClass,
27685
27766
  'RichTextModuleParams': RichTextModuleParamsClass,
@@ -12,6 +12,7 @@ from .....schema_classes import DataHubPageModuleParamsClass
12
12
  from .....schema_classes import DataHubPageModulePropertiesClass
13
13
  from .....schema_classes import DataHubPageModuleTypeClass
14
14
  from .....schema_classes import DataHubPageModuleVisibilityClass
15
+ from .....schema_classes import HierarchyModuleParamsClass
15
16
  from .....schema_classes import LinkModuleParamsClass
16
17
  from .....schema_classes import PageModuleScopeClass
17
18
  from .....schema_classes import RichTextModuleParamsClass
@@ -22,6 +23,7 @@ DataHubPageModuleParams = DataHubPageModuleParamsClass
22
23
  DataHubPageModuleProperties = DataHubPageModulePropertiesClass
23
24
  DataHubPageModuleType = DataHubPageModuleTypeClass
24
25
  DataHubPageModuleVisibility = DataHubPageModuleVisibilityClass
26
+ HierarchyModuleParams = HierarchyModuleParamsClass
25
27
  LinkModuleParams = LinkModuleParamsClass
26
28
  PageModuleScope = PageModuleScopeClass
27
29
  RichTextModuleParams = RichTextModuleParamsClass
@@ -6120,10 +6120,19 @@
6120
6120
  "namespace": "com.linkedin.pegasus2avro.identity",
6121
6121
  "fields": [
6122
6122
  {
6123
+ "Relationship": {
6124
+ "entityTypes": [
6125
+ "dataHubPageTemplate"
6126
+ ],
6127
+ "name": "HasPersonalPageTemplate"
6128
+ },
6123
6129
  "java": {
6124
6130
  "class": "com.linkedin.pegasus2avro.common.urn.Urn"
6125
6131
  },
6126
6132
  "Urn": "Urn",
6133
+ "entityTypes": [
6134
+ "dataHubPageTemplate"
6135
+ ],
6127
6136
  "type": [
6128
6137
  "null",
6129
6138
  "string"
@@ -11543,6 +11552,24 @@
11543
11552
  "name": "version",
11544
11553
  "default": null,
11545
11554
  "doc": "Aspect version\n Initial implementation will use the aspect version's number, however stored as\n a string in the case where a different aspect versioning scheme is later adopted."
11555
+ },
11556
+ {
11557
+ "type": [
11558
+ "null",
11559
+ "com.linkedin.pegasus2avro.common.AuditStamp"
11560
+ ],
11561
+ "name": "aspectCreated",
11562
+ "default": null,
11563
+ "doc": "When the aspect was initially created and who created it, detected by version 0 -> 1 change"
11564
+ },
11565
+ {
11566
+ "type": [
11567
+ "null",
11568
+ "com.linkedin.pegasus2avro.common.AuditStamp"
11569
+ ],
11570
+ "name": "aspectModified",
11571
+ "default": null,
11572
+ "doc": "When the aspect was last modified and the actor that performed the modification"
11546
11573
  }
11547
11574
  ],
11548
11575
  "doc": "Metadata associated with each metadata change that is processed by the system"
@@ -17792,6 +17819,39 @@
17792
17819
  "name": "assetCollectionParams",
17793
17820
  "default": null,
17794
17821
  "doc": "The params required if the module is type ASSET_COLLECTION"
17822
+ },
17823
+ {
17824
+ "type": [
17825
+ "null",
17826
+ {
17827
+ "type": "record",
17828
+ "name": "HierarchyModuleParams",
17829
+ "namespace": "com.linkedin.pegasus2avro.module",
17830
+ "fields": [
17831
+ {
17832
+ "Urn": "Urn",
17833
+ "urn_is_array": true,
17834
+ "type": [
17835
+ "null",
17836
+ {
17837
+ "type": "array",
17838
+ "items": "string"
17839
+ }
17840
+ ],
17841
+ "name": "assetUrns",
17842
+ "default": null
17843
+ },
17844
+ {
17845
+ "type": "boolean",
17846
+ "name": "showRelatedEntities"
17847
+ }
17848
+ ],
17849
+ "doc": "The params required if the module is type HIERARCHY_VIEW\nTODO: add filters\nrelatedEntitiesFilter: optional Filter"
17850
+ }
17851
+ ],
17852
+ "name": "hierarchyViewParams",
17853
+ "default": null,
17854
+ "doc": "The params required if the module is type HIERARCHY_VIEW"
17795
17855
  }
17796
17856
  ],
17797
17857
  "doc": "The specific parameters stored for a module"
@@ -169,6 +169,12 @@
169
169
  "namespace": "com.linkedin.pegasus2avro.identity",
170
170
  "fields": [
171
171
  {
172
+ "Relationship": {
173
+ "entityTypes": [
174
+ "dataHubPageTemplate"
175
+ ],
176
+ "name": "HasPersonalPageTemplate"
177
+ },
172
178
  "java": {
173
179
  "class": "com.linkedin.pegasus2avro.common.urn.Urn"
174
180
  },
@@ -179,7 +185,10 @@
179
185
  "name": "pageTemplate",
180
186
  "default": null,
181
187
  "doc": "The page template that will be rendered in the UI by default for this user",
182
- "Urn": "Urn"
188
+ "Urn": "Urn",
189
+ "entityTypes": [
190
+ "dataHubPageTemplate"
191
+ ]
183
192
  },
184
193
  {
185
194
  "type": [
@@ -156,6 +156,39 @@
156
156
  "name": "assetCollectionParams",
157
157
  "default": null,
158
158
  "doc": "The params required if the module is type ASSET_COLLECTION"
159
+ },
160
+ {
161
+ "type": [
162
+ "null",
163
+ {
164
+ "type": "record",
165
+ "name": "HierarchyModuleParams",
166
+ "namespace": "com.linkedin.pegasus2avro.module",
167
+ "fields": [
168
+ {
169
+ "type": [
170
+ "null",
171
+ {
172
+ "type": "array",
173
+ "items": "string"
174
+ }
175
+ ],
176
+ "name": "assetUrns",
177
+ "default": null,
178
+ "Urn": "Urn",
179
+ "urn_is_array": true
180
+ },
181
+ {
182
+ "type": "boolean",
183
+ "name": "showRelatedEntities"
184
+ }
185
+ ],
186
+ "doc": "The params required if the module is type HIERARCHY_VIEW\nTODO: add filters\nrelatedEntitiesFilter: optional Filter"
187
+ }
188
+ ],
189
+ "name": "hierarchyViewParams",
190
+ "default": null,
191
+ "doc": "The params required if the module is type HIERARCHY_VIEW"
159
192
  }
160
193
  ],
161
194
  "doc": "The specific parameters stored for a module"
@@ -8218,6 +8218,24 @@
8218
8218
  "name": "version",
8219
8219
  "default": null,
8220
8220
  "doc": "Aspect version\n Initial implementation will use the aspect version's number, however stored as\n a string in the case where a different aspect versioning scheme is later adopted."
8221
+ },
8222
+ {
8223
+ "type": [
8224
+ "null",
8225
+ "com.linkedin.pegasus2avro.common.AuditStamp"
8226
+ ],
8227
+ "name": "aspectCreated",
8228
+ "default": null,
8229
+ "doc": "When the aspect was initially created and who created it, detected by version 0 -> 1 change"
8230
+ },
8231
+ {
8232
+ "type": [
8233
+ "null",
8234
+ "com.linkedin.pegasus2avro.common.AuditStamp"
8235
+ ],
8236
+ "name": "aspectModified",
8237
+ "default": null,
8238
+ "doc": "When the aspect was last modified and the actor that performed the modification"
8221
8239
  }
8222
8240
  ],
8223
8241
  "doc": "Metadata associated with each metadata change that is processed by the system"
@@ -267,6 +267,67 @@
267
267
  "name": "version",
268
268
  "default": null,
269
269
  "doc": "Aspect version\n Initial implementation will use the aspect version's number, however stored as\n a string in the case where a different aspect versioning scheme is later adopted."
270
+ },
271
+ {
272
+ "type": [
273
+ "null",
274
+ {
275
+ "type": "record",
276
+ "name": "AuditStamp",
277
+ "namespace": "com.linkedin.pegasus2avro.common",
278
+ "fields": [
279
+ {
280
+ "type": "long",
281
+ "name": "time",
282
+ "doc": "When did the resource/association/sub-resource move into the specific lifecycle stage represented by this AuditEvent."
283
+ },
284
+ {
285
+ "java": {
286
+ "class": "com.linkedin.pegasus2avro.common.urn.Urn"
287
+ },
288
+ "type": "string",
289
+ "name": "actor",
290
+ "doc": "The entity (e.g. a member URN) which will be credited for moving the resource/association/sub-resource into the specific lifecycle stage. It is also the one used to authorize the change.",
291
+ "Urn": "Urn"
292
+ },
293
+ {
294
+ "java": {
295
+ "class": "com.linkedin.pegasus2avro.common.urn.Urn"
296
+ },
297
+ "type": [
298
+ "null",
299
+ "string"
300
+ ],
301
+ "name": "impersonator",
302
+ "default": null,
303
+ "doc": "The entity (e.g. a service URN) which performs the change on behalf of the Actor and must be authorized to act as the Actor.",
304
+ "Urn": "Urn"
305
+ },
306
+ {
307
+ "type": [
308
+ "null",
309
+ "string"
310
+ ],
311
+ "name": "message",
312
+ "default": null,
313
+ "doc": "Additional context around how DataHub was informed of the particular change. For example: was the change created by an automated process, or manually."
314
+ }
315
+ ],
316
+ "doc": "Data captured on a resource/association/sub-resource level giving insight into when that resource/association/sub-resource moved into a particular lifecycle stage, and who acted to move it into that specific lifecycle stage."
317
+ }
318
+ ],
319
+ "name": "aspectCreated",
320
+ "default": null,
321
+ "doc": "When the aspect was initially created and who created it, detected by version 0 -> 1 change"
322
+ },
323
+ {
324
+ "type": [
325
+ "null",
326
+ "com.linkedin.pegasus2avro.common.AuditStamp"
327
+ ],
328
+ "name": "aspectModified",
329
+ "default": null,
330
+ "doc": "When the aspect was last modified and the actor that performed the modification"
270
331
  }
271
332
  ],
272
333
  "doc": "Metadata associated with each metadata change that is processed by the system"
@@ -309,50 +370,7 @@
309
370
  {
310
371
  "type": [
311
372
  "null",
312
- {
313
- "type": "record",
314
- "name": "AuditStamp",
315
- "namespace": "com.linkedin.pegasus2avro.common",
316
- "fields": [
317
- {
318
- "type": "long",
319
- "name": "time",
320
- "doc": "When did the resource/association/sub-resource move into the specific lifecycle stage represented by this AuditEvent."
321
- },
322
- {
323
- "java": {
324
- "class": "com.linkedin.pegasus2avro.common.urn.Urn"
325
- },
326
- "type": "string",
327
- "name": "actor",
328
- "doc": "The entity (e.g. a member URN) which will be credited for moving the resource/association/sub-resource into the specific lifecycle stage. It is also the one used to authorize the change.",
329
- "Urn": "Urn"
330
- },
331
- {
332
- "java": {
333
- "class": "com.linkedin.pegasus2avro.common.urn.Urn"
334
- },
335
- "type": [
336
- "null",
337
- "string"
338
- ],
339
- "name": "impersonator",
340
- "default": null,
341
- "doc": "The entity (e.g. a service URN) which performs the change on behalf of the Actor and must be authorized to act as the Actor.",
342
- "Urn": "Urn"
343
- },
344
- {
345
- "type": [
346
- "null",
347
- "string"
348
- ],
349
- "name": "message",
350
- "default": null,
351
- "doc": "Additional context around how DataHub was informed of the particular change. For example: was the change created by an automated process, or manually."
352
- }
353
- ],
354
- "doc": "Data captured on a resource/association/sub-resource level giving insight into when that resource/association/sub-resource moved into a particular lifecycle stage, and who acted to move it into that specific lifecycle stage."
355
- }
373
+ "com.linkedin.pegasus2avro.common.AuditStamp"
356
374
  ],
357
375
  "name": "created",
358
376
  "default": null,
@@ -267,6 +267,67 @@
267
267
  "name": "version",
268
268
  "default": null,
269
269
  "doc": "Aspect version\n Initial implementation will use the aspect version's number, however stored as\n a string in the case where a different aspect versioning scheme is later adopted."
270
+ },
271
+ {
272
+ "type": [
273
+ "null",
274
+ {
275
+ "type": "record",
276
+ "name": "AuditStamp",
277
+ "namespace": "com.linkedin.pegasus2avro.common",
278
+ "fields": [
279
+ {
280
+ "type": "long",
281
+ "name": "time",
282
+ "doc": "When did the resource/association/sub-resource move into the specific lifecycle stage represented by this AuditEvent."
283
+ },
284
+ {
285
+ "java": {
286
+ "class": "com.linkedin.pegasus2avro.common.urn.Urn"
287
+ },
288
+ "type": "string",
289
+ "name": "actor",
290
+ "doc": "The entity (e.g. a member URN) which will be credited for moving the resource/association/sub-resource into the specific lifecycle stage. It is also the one used to authorize the change.",
291
+ "Urn": "Urn"
292
+ },
293
+ {
294
+ "java": {
295
+ "class": "com.linkedin.pegasus2avro.common.urn.Urn"
296
+ },
297
+ "type": [
298
+ "null",
299
+ "string"
300
+ ],
301
+ "name": "impersonator",
302
+ "default": null,
303
+ "doc": "The entity (e.g. a service URN) which performs the change on behalf of the Actor and must be authorized to act as the Actor.",
304
+ "Urn": "Urn"
305
+ },
306
+ {
307
+ "type": [
308
+ "null",
309
+ "string"
310
+ ],
311
+ "name": "message",
312
+ "default": null,
313
+ "doc": "Additional context around how DataHub was informed of the particular change. For example: was the change created by an automated process, or manually."
314
+ }
315
+ ],
316
+ "doc": "Data captured on a resource/association/sub-resource level giving insight into when that resource/association/sub-resource moved into a particular lifecycle stage, and who acted to move it into that specific lifecycle stage."
317
+ }
318
+ ],
319
+ "name": "aspectCreated",
320
+ "default": null,
321
+ "doc": "When the aspect was initially created and who created it, detected by version 0 -> 1 change"
322
+ },
323
+ {
324
+ "type": [
325
+ "null",
326
+ "com.linkedin.pegasus2avro.common.AuditStamp"
327
+ ],
328
+ "name": "aspectModified",
329
+ "default": null,
330
+ "doc": "When the aspect was last modified and the actor that performed the modification"
270
331
  }
271
332
  ],
272
333
  "doc": "Metadata associated with each metadata change that is processed by the system"
@@ -80,6 +80,67 @@
80
80
  "name": "version",
81
81
  "default": null,
82
82
  "doc": "Aspect version\n Initial implementation will use the aspect version's number, however stored as\n a string in the case where a different aspect versioning scheme is later adopted."
83
+ },
84
+ {
85
+ "type": [
86
+ "null",
87
+ {
88
+ "type": "record",
89
+ "name": "AuditStamp",
90
+ "namespace": "com.linkedin.pegasus2avro.common",
91
+ "fields": [
92
+ {
93
+ "type": "long",
94
+ "name": "time",
95
+ "doc": "When did the resource/association/sub-resource move into the specific lifecycle stage represented by this AuditEvent."
96
+ },
97
+ {
98
+ "java": {
99
+ "class": "com.linkedin.pegasus2avro.common.urn.Urn"
100
+ },
101
+ "type": "string",
102
+ "name": "actor",
103
+ "doc": "The entity (e.g. a member URN) which will be credited for moving the resource/association/sub-resource into the specific lifecycle stage. It is also the one used to authorize the change.",
104
+ "Urn": "Urn"
105
+ },
106
+ {
107
+ "java": {
108
+ "class": "com.linkedin.pegasus2avro.common.urn.Urn"
109
+ },
110
+ "type": [
111
+ "null",
112
+ "string"
113
+ ],
114
+ "name": "impersonator",
115
+ "default": null,
116
+ "doc": "The entity (e.g. a service URN) which performs the change on behalf of the Actor and must be authorized to act as the Actor.",
117
+ "Urn": "Urn"
118
+ },
119
+ {
120
+ "type": [
121
+ "null",
122
+ "string"
123
+ ],
124
+ "name": "message",
125
+ "default": null,
126
+ "doc": "Additional context around how DataHub was informed of the particular change. For example: was the change created by an automated process, or manually."
127
+ }
128
+ ],
129
+ "doc": "Data captured on a resource/association/sub-resource level giving insight into when that resource/association/sub-resource moved into a particular lifecycle stage, and who acted to move it into that specific lifecycle stage."
130
+ }
131
+ ],
132
+ "name": "aspectCreated",
133
+ "default": null,
134
+ "doc": "When the aspect was initially created and who created it, detected by version 0 -> 1 change"
135
+ },
136
+ {
137
+ "type": [
138
+ "null",
139
+ "com.linkedin.pegasus2avro.common.AuditStamp"
140
+ ],
141
+ "name": "aspectModified",
142
+ "default": null,
143
+ "doc": "When the aspect was last modified and the actor that performed the modification"
83
144
  }
84
145
  ],
85
146
  "doc": "Metadata associated with each metadata change that is processed by the system"