acryl-datahub-cloud 0.3.14.1rc4__py3-none-any.whl → 0.3.15rc0__py3-none-any.whl

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

Potentially problematic release.


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

Files changed (40) hide show
  1. acryl_datahub_cloud/_codegen_config.json +1 -1
  2. acryl_datahub_cloud/datahub_forms_notifications/forms_notifications_source.py +1 -1
  3. acryl_datahub_cloud/datahub_reporting/datahub_dataset.py +30 -7
  4. acryl_datahub_cloud/datahub_reporting/datahub_form_reporting.py +1 -1
  5. acryl_datahub_cloud/datahub_usage_reporting/usage_feature_reporter.py +22 -18
  6. acryl_datahub_cloud/elasticsearch/graph_service.py +23 -9
  7. acryl_datahub_cloud/lineage_features/source.py +77 -6
  8. acryl_datahub_cloud/metadata/_urns/urn_defs.py +60 -0
  9. acryl_datahub_cloud/metadata/com/linkedin/pegasus2avro/execution/__init__.py +2 -0
  10. acryl_datahub_cloud/metadata/com/linkedin/pegasus2avro/file/__init__.py +19 -0
  11. acryl_datahub_cloud/metadata/com/linkedin/pegasus2avro/metadata/key/__init__.py +2 -0
  12. acryl_datahub_cloud/metadata/com/linkedin/pegasus2avro/role/__init__.py +2 -0
  13. acryl_datahub_cloud/metadata/com/linkedin/pegasus2avro/settings/global/__init__.py +4 -0
  14. acryl_datahub_cloud/metadata/schema.avsc +420 -21
  15. acryl_datahub_cloud/metadata/schema_classes.py +521 -8
  16. acryl_datahub_cloud/metadata/schemas/Actors.avsc +38 -1
  17. acryl_datahub_cloud/metadata/schemas/AssertionAnalyticsRunEvent.avsc +37 -15
  18. acryl_datahub_cloud/metadata/schemas/AssertionInfo.avsc +18 -15
  19. acryl_datahub_cloud/metadata/schemas/AssertionRunEvent.avsc +19 -15
  20. acryl_datahub_cloud/metadata/schemas/CorpUserEditableInfo.avsc +1 -1
  21. acryl_datahub_cloud/metadata/schemas/DataHubFileInfo.avsc +230 -0
  22. acryl_datahub_cloud/metadata/schemas/DataHubFileKey.avsc +21 -0
  23. acryl_datahub_cloud/metadata/schemas/DataHubPageModuleProperties.avsc +3 -1
  24. acryl_datahub_cloud/metadata/schemas/ExecutionRequestArtifactsLocation.avsc +16 -0
  25. acryl_datahub_cloud/metadata/schemas/ExecutionRequestKey.avsc +2 -1
  26. acryl_datahub_cloud/metadata/schemas/GlobalSettingsInfo.avsc +72 -0
  27. acryl_datahub_cloud/metadata/schemas/LineageFeatures.avsc +67 -42
  28. acryl_datahub_cloud/metadata/schemas/LogicalParent.avsc +2 -1
  29. acryl_datahub_cloud/metadata/schemas/MetadataChangeEvent.avsc +1 -1
  30. acryl_datahub_cloud/metadata/schemas/MonitorInfo.avsc +24 -15
  31. acryl_datahub_cloud/metadata/schemas/StructuredPropertySettings.avsc +9 -0
  32. acryl_datahub_cloud/sdk/assertion_input/assertion_input.py +22 -6
  33. acryl_datahub_cloud/sdk/assertions_client.py +35 -7
  34. acryl_datahub_cloud/sdk/entities/subscription.py +22 -6
  35. acryl_datahub_cloud/sdk/subscription_client.py +8 -2
  36. {acryl_datahub_cloud-0.3.14.1rc4.dist-info → acryl_datahub_cloud-0.3.15rc0.dist-info}/METADATA +39 -42
  37. {acryl_datahub_cloud-0.3.14.1rc4.dist-info → acryl_datahub_cloud-0.3.15rc0.dist-info}/RECORD +40 -36
  38. {acryl_datahub_cloud-0.3.14.1rc4.dist-info → acryl_datahub_cloud-0.3.15rc0.dist-info}/WHEEL +0 -0
  39. {acryl_datahub_cloud-0.3.14.1rc4.dist-info → acryl_datahub_cloud-0.3.15rc0.dist-info}/entry_points.txt +0 -0
  40. {acryl_datahub_cloud-0.3.14.1rc4.dist-info → acryl_datahub_cloud-0.3.15rc0.dist-info}/top_level.txt +0 -0
@@ -3281,6 +3281,7 @@ class AssertionAnalyticsRunEventClass(_Aspect):
3281
3281
  asserteeOwners: Union[None, List[str]]=None,
3282
3282
  asserteeDataPlatform: Union[None, str]=None,
3283
3283
  asserteeDataPlatformInstance: Union[None, str]=None,
3284
+ asserteeContainer: Union[None, str]=None,
3284
3285
  asserteeSchemaFieldGlossaryTerms: Union[None, List[str]]=None,
3285
3286
  asserteeSchemaFieldTags: Union[None, List[str]]=None,
3286
3287
  result: Union[None, "AssertionResultClass"]=None,
@@ -3299,6 +3300,7 @@ class AssertionAnalyticsRunEventClass(_Aspect):
3299
3300
  self.asserteeOwners = asserteeOwners
3300
3301
  self.asserteeDataPlatform = asserteeDataPlatform
3301
3302
  self.asserteeDataPlatformInstance = asserteeDataPlatformInstance
3303
+ self.asserteeContainer = asserteeContainer
3302
3304
  self.asserteeSchemaFieldGlossaryTerms = asserteeSchemaFieldGlossaryTerms
3303
3305
  self.asserteeSchemaFieldTags = asserteeSchemaFieldTags
3304
3306
  self.timestampMillis = timestampMillis
@@ -3325,6 +3327,7 @@ class AssertionAnalyticsRunEventClass(_Aspect):
3325
3327
  self.asserteeOwners = self.RECORD_SCHEMA.fields_dict["asserteeOwners"].default
3326
3328
  self.asserteeDataPlatform = self.RECORD_SCHEMA.fields_dict["asserteeDataPlatform"].default
3327
3329
  self.asserteeDataPlatformInstance = self.RECORD_SCHEMA.fields_dict["asserteeDataPlatformInstance"].default
3330
+ self.asserteeContainer = self.RECORD_SCHEMA.fields_dict["asserteeContainer"].default
3328
3331
  self.asserteeSchemaFieldGlossaryTerms = self.RECORD_SCHEMA.fields_dict["asserteeSchemaFieldGlossaryTerms"].default
3329
3332
  self.asserteeSchemaFieldTags = self.RECORD_SCHEMA.fields_dict["asserteeSchemaFieldTags"].default
3330
3333
  self.timestampMillis = int()
@@ -3429,6 +3432,16 @@ class AssertionAnalyticsRunEventClass(_Aspect):
3429
3432
  self._inner_dict['asserteeDataPlatformInstance'] = value
3430
3433
 
3431
3434
 
3435
+ @property
3436
+ def asserteeContainer(self) -> Union[None, str]:
3437
+ """The container of the parent"""
3438
+ return self._inner_dict.get('asserteeContainer') # type: ignore
3439
+
3440
+ @asserteeContainer.setter
3441
+ def asserteeContainer(self, value: Union[None, str]) -> None:
3442
+ self._inner_dict['asserteeContainer'] = value
3443
+
3444
+
3432
3445
  @property
3433
3446
  def asserteeSchemaFieldGlossaryTerms(self) -> Union[None, List[str]]:
3434
3447
  """Only provided if the Assertion is of type 'Column'. The glossary terms associated with the target column."""
@@ -3979,6 +3992,7 @@ class AssertionInfoClass(_Aspect):
3979
3992
  lastUpdated: Union[None, "AuditStampClass"]=None,
3980
3993
  description: Union[None, str]=None,
3981
3994
  note: Union[None, "AssertionNoteClass"]=None,
3995
+ entity: Union[None, str]=None,
3982
3996
  ):
3983
3997
  super().__init__()
3984
3998
 
@@ -4000,6 +4014,7 @@ class AssertionInfoClass(_Aspect):
4000
4014
  self.lastUpdated = lastUpdated
4001
4015
  self.description = description
4002
4016
  self.note = note
4017
+ self.entity = entity
4003
4018
 
4004
4019
  def _restore_defaults(self) -> None:
4005
4020
  self.customProperties = dict()
@@ -4016,6 +4031,7 @@ class AssertionInfoClass(_Aspect):
4016
4031
  self.lastUpdated = self.RECORD_SCHEMA.fields_dict["lastUpdated"].default
4017
4032
  self.description = self.RECORD_SCHEMA.fields_dict["description"].default
4018
4033
  self.note = self.RECORD_SCHEMA.fields_dict["note"].default
4034
+ self.entity = self.RECORD_SCHEMA.fields_dict["entity"].default
4019
4035
 
4020
4036
 
4021
4037
  @property
@@ -4163,6 +4179,16 @@ class AssertionInfoClass(_Aspect):
4163
4179
  self._inner_dict['note'] = value
4164
4180
 
4165
4181
 
4182
+ @property
4183
+ def entity(self) -> Union[None, str]:
4184
+ """The entity targeted by this assertion. Newly added field, automatically set by mutation"""
4185
+ return self._inner_dict.get('entity') # type: ignore
4186
+
4187
+ @entity.setter
4188
+ def entity(self, value: Union[None, str]) -> None:
4189
+ self._inner_dict['entity'] = value
4190
+
4191
+
4166
4192
  class AssertionMetricClass(DictWrapper):
4167
4193
  # No docs available.
4168
4194
 
@@ -18780,6 +18806,35 @@ class ChangeTypeClass(object):
18780
18806
 
18781
18807
 
18782
18808
 
18809
+ class ExecutionRequestArtifactsLocationClass(_Aspect):
18810
+ """The result location of an execution request"""
18811
+
18812
+
18813
+ ASPECT_NAME = 'dataHubExecutionRequestArtifactsLocation'
18814
+ ASPECT_INFO = {}
18815
+ RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.execution.ExecutionRequestArtifactsLocation")
18816
+
18817
+ def __init__(self,
18818
+ location: str,
18819
+ ):
18820
+ super().__init__()
18821
+
18822
+ self.location = location
18823
+
18824
+ def _restore_defaults(self) -> None:
18825
+ self.location = str()
18826
+
18827
+
18828
+ @property
18829
+ def location(self) -> str:
18830
+ """The location where artifacts are present"""
18831
+ return self._inner_dict.get('location') # type: ignore
18832
+
18833
+ @location.setter
18834
+ def location(self, value: str) -> None:
18835
+ self._inner_dict['location'] = value
18836
+
18837
+
18783
18838
  class ExecutionRequestInputClass(_Aspect):
18784
18839
  """An request to execution some remote logic or action.
18785
18840
  TODO: Determine who is responsible for emitting execution request success or failure. Executor?"""
@@ -19514,6 +19569,185 @@ class RemoteExecutorPoolStatusClass(object):
19514
19569
 
19515
19570
 
19516
19571
 
19572
+ class BucketStorageLocationClass(DictWrapper):
19573
+ """Information where a file is stored"""
19574
+
19575
+ RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.file.BucketStorageLocation")
19576
+ def __init__(self,
19577
+ storageBucket: str,
19578
+ storageKey: str,
19579
+ ):
19580
+ super().__init__()
19581
+
19582
+ self.storageBucket = storageBucket
19583
+ self.storageKey = storageKey
19584
+
19585
+ def _restore_defaults(self) -> None:
19586
+ self.storageBucket = str()
19587
+ self.storageKey = str()
19588
+
19589
+
19590
+ @property
19591
+ def storageBucket(self) -> str:
19592
+ """The storage bucket this file is stored in"""
19593
+ return self._inner_dict.get('storageBucket') # type: ignore
19594
+
19595
+ @storageBucket.setter
19596
+ def storageBucket(self, value: str) -> None:
19597
+ self._inner_dict['storageBucket'] = value
19598
+
19599
+
19600
+ @property
19601
+ def storageKey(self) -> str:
19602
+ """The key for where this file is stored inside of the given bucket"""
19603
+ return self._inner_dict.get('storageKey') # type: ignore
19604
+
19605
+ @storageKey.setter
19606
+ def storageKey(self, value: str) -> None:
19607
+ self._inner_dict['storageKey'] = value
19608
+
19609
+
19610
+ class DataHubFileInfoClass(_Aspect):
19611
+ """Information about a DataHub file - a file stored in S3 for use within DataHub platform features like documentation, home pages, and announcements."""
19612
+
19613
+
19614
+ ASPECT_NAME = 'dataHubFileInfo'
19615
+ ASPECT_INFO = {}
19616
+ RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.file.DataHubFileInfo")
19617
+
19618
+ def __init__(self,
19619
+ bucketStorageLocation: "BucketStorageLocationClass",
19620
+ originalFileName: str,
19621
+ mimeType: str,
19622
+ sizeInBytes: int,
19623
+ scenario: Union[str, "FileUploadScenarioClass"],
19624
+ created: "AuditStampClass",
19625
+ referencedByAsset: Union[None, str]=None,
19626
+ schemaField: Union[None, str]=None,
19627
+ contentHash: Union[None, str]=None,
19628
+ ):
19629
+ super().__init__()
19630
+
19631
+ self.bucketStorageLocation = bucketStorageLocation
19632
+ self.originalFileName = originalFileName
19633
+ self.mimeType = mimeType
19634
+ self.sizeInBytes = sizeInBytes
19635
+ self.scenario = scenario
19636
+ self.referencedByAsset = referencedByAsset
19637
+ self.schemaField = schemaField
19638
+ self.created = created
19639
+ self.contentHash = contentHash
19640
+
19641
+ def _restore_defaults(self) -> None:
19642
+ self.bucketStorageLocation = BucketStorageLocationClass._construct_with_defaults()
19643
+ self.originalFileName = str()
19644
+ self.mimeType = str()
19645
+ self.sizeInBytes = int()
19646
+ self.scenario = FileUploadScenarioClass.ASSET_DOCUMENTATION
19647
+ self.referencedByAsset = self.RECORD_SCHEMA.fields_dict["referencedByAsset"].default
19648
+ self.schemaField = self.RECORD_SCHEMA.fields_dict["schemaField"].default
19649
+ self.created = AuditStampClass._construct_with_defaults()
19650
+ self.contentHash = self.RECORD_SCHEMA.fields_dict["contentHash"].default
19651
+
19652
+
19653
+ @property
19654
+ def bucketStorageLocation(self) -> "BucketStorageLocationClass":
19655
+ """Info about where a file is stored"""
19656
+ return self._inner_dict.get('bucketStorageLocation') # type: ignore
19657
+
19658
+ @bucketStorageLocation.setter
19659
+ def bucketStorageLocation(self, value: "BucketStorageLocationClass") -> None:
19660
+ self._inner_dict['bucketStorageLocation'] = value
19661
+
19662
+
19663
+ @property
19664
+ def originalFileName(self) -> str:
19665
+ """The original filename as uploaded by the user"""
19666
+ return self._inner_dict.get('originalFileName') # type: ignore
19667
+
19668
+ @originalFileName.setter
19669
+ def originalFileName(self, value: str) -> None:
19670
+ self._inner_dict['originalFileName'] = value
19671
+
19672
+
19673
+ @property
19674
+ def mimeType(self) -> str:
19675
+ """MIME type of the file (e.g., image/png, application/pdf)"""
19676
+ return self._inner_dict.get('mimeType') # type: ignore
19677
+
19678
+ @mimeType.setter
19679
+ def mimeType(self, value: str) -> None:
19680
+ self._inner_dict['mimeType'] = value
19681
+
19682
+
19683
+ @property
19684
+ def sizeInBytes(self) -> int:
19685
+ """Size of the file in bytes"""
19686
+ return self._inner_dict.get('sizeInBytes') # type: ignore
19687
+
19688
+ @sizeInBytes.setter
19689
+ def sizeInBytes(self, value: int) -> None:
19690
+ self._inner_dict['sizeInBytes'] = value
19691
+
19692
+
19693
+ @property
19694
+ def scenario(self) -> Union[str, "FileUploadScenarioClass"]:
19695
+ """The scenario/context in which this file was uploaded"""
19696
+ return self._inner_dict.get('scenario') # type: ignore
19697
+
19698
+ @scenario.setter
19699
+ def scenario(self, value: Union[str, "FileUploadScenarioClass"]) -> None:
19700
+ self._inner_dict['scenario'] = value
19701
+
19702
+
19703
+ @property
19704
+ def referencedByAsset(self) -> Union[None, str]:
19705
+ """Optional URN of the entity this file is associated with (e.g., the dataset whose docs contain this file)"""
19706
+ return self._inner_dict.get('referencedByAsset') # type: ignore
19707
+
19708
+ @referencedByAsset.setter
19709
+ def referencedByAsset(self, value: Union[None, str]) -> None:
19710
+ self._inner_dict['referencedByAsset'] = value
19711
+
19712
+
19713
+ @property
19714
+ def schemaField(self) -> Union[None, str]:
19715
+ """The dataset schema field urn this file is referenced by"""
19716
+ return self._inner_dict.get('schemaField') # type: ignore
19717
+
19718
+ @schemaField.setter
19719
+ def schemaField(self, value: Union[None, str]) -> None:
19720
+ self._inner_dict['schemaField'] = value
19721
+
19722
+
19723
+ @property
19724
+ def created(self) -> "AuditStampClass":
19725
+ """Timestamp when this file was created and by whom"""
19726
+ return self._inner_dict.get('created') # type: ignore
19727
+
19728
+ @created.setter
19729
+ def created(self, value: "AuditStampClass") -> None:
19730
+ self._inner_dict['created'] = value
19731
+
19732
+
19733
+ @property
19734
+ def contentHash(self) -> Union[None, str]:
19735
+ """SHA-256 hash of file contents"""
19736
+ return self._inner_dict.get('contentHash') # type: ignore
19737
+
19738
+ @contentHash.setter
19739
+ def contentHash(self, value: Union[None, str]) -> None:
19740
+ self._inner_dict['contentHash'] = value
19741
+
19742
+
19743
+ class FileUploadScenarioClass(object):
19744
+ # No docs available.
19745
+
19746
+ ASSET_DOCUMENTATION = "ASSET_DOCUMENTATION"
19747
+ """File uploaded for entity documentation"""
19748
+
19749
+
19750
+
19517
19751
  class AssignmentStatusClass(object):
19518
19752
  # No docs available.
19519
19753
 
@@ -20925,7 +21159,7 @@ class CorpUserEditableInfoClass(_Aspect):
20925
21159
  else:
20926
21160
  self.skills = skills
20927
21161
  if pictureLink is None:
20928
- # default: 'https://raw.githubusercontent.com/datahub-project/datahub/master/datahub-web-react/src/images/default_avatar.png'
21162
+ # default: 'assets/platforms/default_avatar.png'
20929
21163
  self.pictureLink = self.RECORD_SCHEMA.fields_dict["pictureLink"].default
20930
21164
  else:
20931
21165
  self.pictureLink = pictureLink
@@ -23248,7 +23482,7 @@ class LinkPreviewTypeClass(object):
23248
23482
 
23249
23483
 
23250
23484
  class LogicalParentClass(_Aspect):
23251
- # No docs available.
23485
+ """Relates a physical asset to a logical model."""
23252
23486
 
23253
23487
 
23254
23488
  ASPECT_NAME = 'logicalParent'
@@ -23763,6 +23997,35 @@ class DataHubConnectionKeyClass(_Aspect):
23763
23997
  self._inner_dict['id'] = value
23764
23998
 
23765
23999
 
24000
+ class DataHubFileKeyClass(_Aspect):
24001
+ """Key for a DataHubFile"""
24002
+
24003
+
24004
+ ASPECT_NAME = 'dataHubFileKey'
24005
+ ASPECT_INFO = {'keyForEntity': 'dataHubFile', 'entityCategory': 'core', 'entityAspects': ['dataHubFileInfo']}
24006
+ RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.key.DataHubFileKey")
24007
+
24008
+ def __init__(self,
24009
+ id: str,
24010
+ ):
24011
+ super().__init__()
24012
+
24013
+ self.id = id
24014
+
24015
+ def _restore_defaults(self) -> None:
24016
+ self.id = str()
24017
+
24018
+
24019
+ @property
24020
+ def id(self) -> str:
24021
+ """Unique id for the file."""
24022
+ return self._inner_dict.get('id') # type: ignore
24023
+
24024
+ @id.setter
24025
+ def id(self, value: str) -> None:
24026
+ self._inner_dict['id'] = value
24027
+
24028
+
23766
24029
  class DataHubIngestionSourceKeyClass(_Aspect):
23767
24030
  """Key for a DataHub ingestion source"""
23768
24031
 
@@ -24469,7 +24732,7 @@ class ExecutionRequestKeyClass(_Aspect):
24469
24732
 
24470
24733
 
24471
24734
  ASPECT_NAME = 'dataHubExecutionRequestKey'
24472
- ASPECT_INFO = {'keyForEntity': 'dataHubExecutionRequest', 'entityCategory': 'internal', 'entityAspects': ['dataHubExecutionRequestInput', 'dataHubExecutionRequestSignal', 'dataHubExecutionRequestResult']}
24735
+ ASPECT_INFO = {'keyForEntity': 'dataHubExecutionRequest', 'entityCategory': 'internal', 'entityAspects': ['dataHubExecutionRequestInput', 'dataHubExecutionRequestSignal', 'dataHubExecutionRequestResult', 'dataHubExecutionRequestArtifactsLocation']}
24473
24736
  RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.key.ExecutionRequestKey")
24474
24737
 
24475
24738
  def __init__(self,
@@ -26231,18 +26494,21 @@ class LineageFeaturesClass(_Aspect):
26231
26494
  def __init__(self,
26232
26495
  upstreamCount: int,
26233
26496
  downstreamCount: int,
26234
- computedAt: "AuditStampClass",
26497
+ hasAssetLevelLineage: Union[None, bool]=None,
26498
+ computedAt: Union[None, "AuditStampClass"]=None,
26235
26499
  ):
26236
26500
  super().__init__()
26237
26501
 
26238
26502
  self.upstreamCount = upstreamCount
26239
26503
  self.downstreamCount = downstreamCount
26504
+ self.hasAssetLevelLineage = hasAssetLevelLineage
26240
26505
  self.computedAt = computedAt
26241
26506
 
26242
26507
  def _restore_defaults(self) -> None:
26243
26508
  self.upstreamCount = int()
26244
26509
  self.downstreamCount = int()
26245
- self.computedAt = AuditStampClass._construct_with_defaults()
26510
+ self.hasAssetLevelLineage = self.RECORD_SCHEMA.fields_dict["hasAssetLevelLineage"].default
26511
+ self.computedAt = self.RECORD_SCHEMA.fields_dict["computedAt"].default
26246
26512
 
26247
26513
 
26248
26514
  @property
@@ -26266,12 +26532,23 @@ class LineageFeaturesClass(_Aspect):
26266
26532
 
26267
26533
 
26268
26534
  @property
26269
- def computedAt(self) -> "AuditStampClass":
26535
+ def hasAssetLevelLineage(self) -> Union[None, bool]:
26536
+ """Whether upstreamCount > 0 OR downstreamCount > 0
26537
+ stored to make filtering easier"""
26538
+ return self._inner_dict.get('hasAssetLevelLineage') # type: ignore
26539
+
26540
+ @hasAssetLevelLineage.setter
26541
+ def hasAssetLevelLineage(self, value: Union[None, bool]) -> None:
26542
+ self._inner_dict['hasAssetLevelLineage'] = value
26543
+
26544
+
26545
+ @property
26546
+ def computedAt(self) -> Union[None, "AuditStampClass"]:
26270
26547
  """Record of when and how lineage features were computed."""
26271
26548
  return self._inner_dict.get('computedAt') # type: ignore
26272
26549
 
26273
26550
  @computedAt.setter
26274
- def computedAt(self, value: "AuditStampClass") -> None:
26551
+ def computedAt(self, value: Union[None, "AuditStampClass"]) -> None:
26275
26552
  self._inner_dict['computedAt'] = value
26276
26553
 
26277
26554
 
@@ -29956,6 +30233,9 @@ class DataHubPageModuleTypeClass(object):
29956
30233
  WORKFLOWS = "WORKFLOWS"
29957
30234
  """Module displaying workflows that can be started"""
29958
30235
 
30236
+ PLATFORMS = "PLATFORMS"
30237
+ """Module displaying the platforms in an instance"""
30238
+
29959
30239
 
29960
30240
 
29961
30241
  class DataHubPageModuleVisibilityClass(DictWrapper):
@@ -34532,7 +34812,7 @@ class VersionBasedRetentionClass(DictWrapper):
34532
34812
 
34533
34813
 
34534
34814
  class ActorsClass(_Aspect):
34535
- """Provisioned users of a role"""
34815
+ """Provisioned users and groups of a role"""
34536
34816
 
34537
34817
 
34538
34818
  ASPECT_NAME = 'actors'
@@ -34541,13 +34821,16 @@ class ActorsClass(_Aspect):
34541
34821
 
34542
34822
  def __init__(self,
34543
34823
  users: Union[None, List["RoleUserClass"]]=None,
34824
+ groups: Union[None, List["RoleGroupClass"]]=None,
34544
34825
  ):
34545
34826
  super().__init__()
34546
34827
 
34547
34828
  self.users = users
34829
+ self.groups = groups
34548
34830
 
34549
34831
  def _restore_defaults(self) -> None:
34550
34832
  self.users = self.RECORD_SCHEMA.fields_dict["users"].default
34833
+ self.groups = self.RECORD_SCHEMA.fields_dict["groups"].default
34551
34834
 
34552
34835
 
34553
34836
  @property
@@ -34560,6 +34843,41 @@ class ActorsClass(_Aspect):
34560
34843
  self._inner_dict['users'] = value
34561
34844
 
34562
34845
 
34846
+ @property
34847
+ def groups(self) -> Union[None, List["RoleGroupClass"]]:
34848
+ """List of provisioned groups of a role"""
34849
+ return self._inner_dict.get('groups') # type: ignore
34850
+
34851
+ @groups.setter
34852
+ def groups(self, value: Union[None, List["RoleGroupClass"]]) -> None:
34853
+ self._inner_dict['groups'] = value
34854
+
34855
+
34856
+ class RoleGroupClass(DictWrapper):
34857
+ """Provisioned groups of a role"""
34858
+
34859
+ RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.role.RoleGroup")
34860
+ def __init__(self,
34861
+ group: str,
34862
+ ):
34863
+ super().__init__()
34864
+
34865
+ self.group = group
34866
+
34867
+ def _restore_defaults(self) -> None:
34868
+ self.group = str()
34869
+
34870
+
34871
+ @property
34872
+ def group(self) -> str:
34873
+ """Link provisioned corp group for a role"""
34874
+ return self._inner_dict.get('group') # type: ignore
34875
+
34876
+ @group.setter
34877
+ def group(self, value: str) -> None:
34878
+ self._inner_dict['group'] = value
34879
+
34880
+
34563
34881
  class RolePropertiesClass(_Aspect):
34564
34882
  """Information about a ExternalRoleProperties"""
34565
34883
 
@@ -36863,6 +37181,7 @@ class GlobalSettingsInfoClass(_Aspect):
36863
37181
  integrations: Union[None, "GlobalIntegrationSettingsClass"]=None,
36864
37182
  notifications: Union[None, "GlobalNotificationSettingsClass"]=None,
36865
37183
  sso: Union[None, "SsoSettingsClass"]=None,
37184
+ oauth: Union[None, "OAuthSettingsClass"]=None,
36866
37185
  views: Union[None, "GlobalViewsSettingsClass"]=None,
36867
37186
  docPropagation: Optional[Union["DocPropagationFeatureSettingsClass", None]]=None,
36868
37187
  homePage: Union[None, "GlobalHomePageSettingsClass"]=None,
@@ -36876,6 +37195,7 @@ class GlobalSettingsInfoClass(_Aspect):
36876
37195
  self.integrations = integrations
36877
37196
  self.notifications = notifications
36878
37197
  self.sso = sso
37198
+ self.oauth = oauth
36879
37199
  self.views = views
36880
37200
  if docPropagation is None:
36881
37201
  # default: {'configVersion': None, 'config': None, 'enabled': True, 'columnPropagationEnabled': True}
@@ -36892,6 +37212,7 @@ class GlobalSettingsInfoClass(_Aspect):
36892
37212
  self.integrations = self.RECORD_SCHEMA.fields_dict["integrations"].default
36893
37213
  self.notifications = self.RECORD_SCHEMA.fields_dict["notifications"].default
36894
37214
  self.sso = self.RECORD_SCHEMA.fields_dict["sso"].default
37215
+ self.oauth = self.RECORD_SCHEMA.fields_dict["oauth"].default
36895
37216
  self.views = self.RECORD_SCHEMA.fields_dict["views"].default
36896
37217
  self.docPropagation = _json_converter.from_json_object(self.RECORD_SCHEMA.fields_dict["docPropagation"].default, writers_schema=self.RECORD_SCHEMA.fields_dict["docPropagation"].type)
36897
37218
  self.homePage = self.RECORD_SCHEMA.fields_dict["homePage"].default
@@ -36931,6 +37252,16 @@ class GlobalSettingsInfoClass(_Aspect):
36931
37252
  self._inner_dict['sso'] = value
36932
37253
 
36933
37254
 
37255
+ @property
37256
+ def oauth(self) -> Union[None, "OAuthSettingsClass"]:
37257
+ """Settings related to the oauth authentication provider"""
37258
+ return self._inner_dict.get('oauth') # type: ignore
37259
+
37260
+ @oauth.setter
37261
+ def oauth(self, value: Union[None, "OAuthSettingsClass"]) -> None:
37262
+ self._inner_dict['oauth'] = value
37263
+
37264
+
36934
37265
  @property
36935
37266
  def views(self) -> Union[None, "GlobalViewsSettingsClass"]:
36936
37267
  """Settings related to the Views Feature"""
@@ -37128,6 +37459,145 @@ class HelpLinkClass(DictWrapper):
37128
37459
  self._inner_dict['link'] = value
37129
37460
 
37130
37461
 
37462
+ class OAuthProviderClass(DictWrapper):
37463
+ """An OAuth Provider. This provides information required to validate inbound
37464
+ requests with OAuth 2.0 bearer tokens."""
37465
+
37466
+ RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.settings.global.OAuthProvider")
37467
+ def __init__(self,
37468
+ enabled: bool,
37469
+ name: str,
37470
+ issuer: str,
37471
+ audience: str,
37472
+ jwksUri: Union[None, str]=None,
37473
+ algorithm: Optional[str]=None,
37474
+ userIdClaim: Optional[str]=None,
37475
+ ):
37476
+ super().__init__()
37477
+
37478
+ self.enabled = enabled
37479
+ self.name = name
37480
+ self.jwksUri = jwksUri
37481
+ self.issuer = issuer
37482
+ self.audience = audience
37483
+ if algorithm is None:
37484
+ # default: 'RS256'
37485
+ self.algorithm = self.RECORD_SCHEMA.fields_dict["algorithm"].default
37486
+ else:
37487
+ self.algorithm = algorithm
37488
+ if userIdClaim is None:
37489
+ # default: 'sub'
37490
+ self.userIdClaim = self.RECORD_SCHEMA.fields_dict["userIdClaim"].default
37491
+ else:
37492
+ self.userIdClaim = userIdClaim
37493
+
37494
+ def _restore_defaults(self) -> None:
37495
+ self.enabled = bool()
37496
+ self.name = str()
37497
+ self.jwksUri = self.RECORD_SCHEMA.fields_dict["jwksUri"].default
37498
+ self.issuer = str()
37499
+ self.audience = str()
37500
+ self.algorithm = self.RECORD_SCHEMA.fields_dict["algorithm"].default
37501
+ self.userIdClaim = self.RECORD_SCHEMA.fields_dict["userIdClaim"].default
37502
+
37503
+
37504
+ @property
37505
+ def enabled(self) -> bool:
37506
+ """Whether this OAuth provider is enabled."""
37507
+ return self._inner_dict.get('enabled') # type: ignore
37508
+
37509
+ @enabled.setter
37510
+ def enabled(self, value: bool) -> None:
37511
+ self._inner_dict['enabled'] = value
37512
+
37513
+
37514
+ @property
37515
+ def name(self) -> str:
37516
+ """The name of this OAuth provider. This is used for display purposes only."""
37517
+ return self._inner_dict.get('name') # type: ignore
37518
+
37519
+ @name.setter
37520
+ def name(self, value: str) -> None:
37521
+ self._inner_dict['name'] = value
37522
+
37523
+
37524
+ @property
37525
+ def jwksUri(self) -> Union[None, str]:
37526
+ """The URI of the JSON Web Key Set (JWKS) endpoint for this OAuth provider."""
37527
+ return self._inner_dict.get('jwksUri') # type: ignore
37528
+
37529
+ @jwksUri.setter
37530
+ def jwksUri(self, value: Union[None, str]) -> None:
37531
+ self._inner_dict['jwksUri'] = value
37532
+
37533
+
37534
+ @property
37535
+ def issuer(self) -> str:
37536
+ """The expected issuer (iss) claim in the JWTs issued by this OAuth provider."""
37537
+ return self._inner_dict.get('issuer') # type: ignore
37538
+
37539
+ @issuer.setter
37540
+ def issuer(self, value: str) -> None:
37541
+ self._inner_dict['issuer'] = value
37542
+
37543
+
37544
+ @property
37545
+ def audience(self) -> str:
37546
+ """The expected audience (aud) claim in the JWTs issued by this OAuth provider."""
37547
+ return self._inner_dict.get('audience') # type: ignore
37548
+
37549
+ @audience.setter
37550
+ def audience(self, value: str) -> None:
37551
+ self._inner_dict['audience'] = value
37552
+
37553
+
37554
+ @property
37555
+ def algorithm(self) -> str:
37556
+ """The JWT signing algorithm required for this provider.
37557
+ Prevents algorithm confusion attacks. Common values: RS256, RS384, RS512, PS256, ES256"""
37558
+ return self._inner_dict.get('algorithm') # type: ignore
37559
+
37560
+ @algorithm.setter
37561
+ def algorithm(self, value: str) -> None:
37562
+ self._inner_dict['algorithm'] = value
37563
+
37564
+
37565
+ @property
37566
+ def userIdClaim(self) -> str:
37567
+ """The JWT claim to use as the user identifier for this provider.
37568
+ Different providers use different claims (sub, email, preferred_username, etc.)"""
37569
+ return self._inner_dict.get('userIdClaim') # type: ignore
37570
+
37571
+ @userIdClaim.setter
37572
+ def userIdClaim(self, value: str) -> None:
37573
+ self._inner_dict['userIdClaim'] = value
37574
+
37575
+
37576
+ class OAuthSettingsClass(DictWrapper):
37577
+ """Trust oauth providers to use for authentication."""
37578
+
37579
+ RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.settings.global.OAuthSettings")
37580
+ def __init__(self,
37581
+ providers: List["OAuthProviderClass"],
37582
+ ):
37583
+ super().__init__()
37584
+
37585
+ self.providers = providers
37586
+
37587
+ def _restore_defaults(self) -> None:
37588
+ self.providers = list()
37589
+
37590
+
37591
+ @property
37592
+ def providers(self) -> List["OAuthProviderClass"]:
37593
+ """Trusted OAuth Providers"""
37594
+ return self._inner_dict.get('providers') # type: ignore
37595
+
37596
+ @providers.setter
37597
+ def providers(self, value: List["OAuthProviderClass"]) -> None:
37598
+ self._inner_dict['providers'] = value
37599
+
37600
+
37131
37601
  class OidcSettingsClass(DictWrapper):
37132
37602
  """Settings for OIDC SSO integration."""
37133
37603
 
@@ -38096,6 +38566,7 @@ class StructuredPropertySettingsClass(_Aspect):
38096
38566
  isHidden: Optional[bool]=None,
38097
38567
  showInSearchFilters: Optional[bool]=None,
38098
38568
  showInAssetSummary: Optional[bool]=None,
38569
+ hideInAssetSummaryWhenEmpty: Optional[bool]=None,
38099
38570
  showAsAssetBadge: Optional[bool]=None,
38100
38571
  showInColumnsTable: Optional[bool]=None,
38101
38572
  lastModified: Union[None, "AuditStampClass"]=None,
@@ -38117,6 +38588,11 @@ class StructuredPropertySettingsClass(_Aspect):
38117
38588
  self.showInAssetSummary = self.RECORD_SCHEMA.fields_dict["showInAssetSummary"].default
38118
38589
  else:
38119
38590
  self.showInAssetSummary = showInAssetSummary
38591
+ if hideInAssetSummaryWhenEmpty is None:
38592
+ # default: False
38593
+ self.hideInAssetSummaryWhenEmpty = self.RECORD_SCHEMA.fields_dict["hideInAssetSummaryWhenEmpty"].default
38594
+ else:
38595
+ self.hideInAssetSummaryWhenEmpty = hideInAssetSummaryWhenEmpty
38120
38596
  if showAsAssetBadge is None:
38121
38597
  # default: False
38122
38598
  self.showAsAssetBadge = self.RECORD_SCHEMA.fields_dict["showAsAssetBadge"].default
@@ -38133,6 +38609,7 @@ class StructuredPropertySettingsClass(_Aspect):
38133
38609
  self.isHidden = self.RECORD_SCHEMA.fields_dict["isHidden"].default
38134
38610
  self.showInSearchFilters = self.RECORD_SCHEMA.fields_dict["showInSearchFilters"].default
38135
38611
  self.showInAssetSummary = self.RECORD_SCHEMA.fields_dict["showInAssetSummary"].default
38612
+ self.hideInAssetSummaryWhenEmpty = self.RECORD_SCHEMA.fields_dict["hideInAssetSummaryWhenEmpty"].default
38136
38613
  self.showAsAssetBadge = self.RECORD_SCHEMA.fields_dict["showAsAssetBadge"].default
38137
38614
  self.showInColumnsTable = self.RECORD_SCHEMA.fields_dict["showInColumnsTable"].default
38138
38615
  self.lastModified = self.RECORD_SCHEMA.fields_dict["lastModified"].default
@@ -38168,6 +38645,17 @@ class StructuredPropertySettingsClass(_Aspect):
38168
38645
  self._inner_dict['showInAssetSummary'] = value
38169
38646
 
38170
38647
 
38648
+ @property
38649
+ def hideInAssetSummaryWhenEmpty(self) -> bool:
38650
+ """Whether or not this asset should be hidden in the asset sidebar (showInAssetSummary should be enabled)
38651
+ when its value is empty"""
38652
+ return self._inner_dict.get('hideInAssetSummaryWhenEmpty') # type: ignore
38653
+
38654
+ @hideInAssetSummaryWhenEmpty.setter
38655
+ def hideInAssetSummaryWhenEmpty(self, value: bool) -> None:
38656
+ self._inner_dict['hideInAssetSummaryWhenEmpty'] = value
38657
+
38658
+
38171
38659
  @property
38172
38660
  def showAsAssetBadge(self) -> bool:
38173
38661
  """Whether or not this asset should be displayed as an asset badge on other
@@ -40910,6 +41398,7 @@ __SCHEMA_TYPES = {
40910
41398
  'com.linkedin.pegasus2avro.event.notification.template.NotificationTemplateType': NotificationTemplateTypeClass,
40911
41399
  'com.linkedin.pegasus2avro.event.notification.template.OwnershipParameters': OwnershipParametersClass,
40912
41400
  'com.linkedin.pegasus2avro.events.metadata.ChangeType': ChangeTypeClass,
41401
+ 'com.linkedin.pegasus2avro.execution.ExecutionRequestArtifactsLocation': ExecutionRequestArtifactsLocationClass,
40913
41402
  'com.linkedin.pegasus2avro.execution.ExecutionRequestInput': ExecutionRequestInputClass,
40914
41403
  'com.linkedin.pegasus2avro.execution.ExecutionRequestResult': ExecutionRequestResultClass,
40915
41404
  'com.linkedin.pegasus2avro.execution.ExecutionRequestSignal': ExecutionRequestSignalClass,
@@ -40920,6 +41409,9 @@ __SCHEMA_TYPES = {
40920
41409
  'com.linkedin.pegasus2avro.executorpool.RemoteExecutorPoolInfo': RemoteExecutorPoolInfoClass,
40921
41410
  'com.linkedin.pegasus2avro.executorpool.RemoteExecutorPoolState': RemoteExecutorPoolStateClass,
40922
41411
  'com.linkedin.pegasus2avro.executorpool.RemoteExecutorPoolStatus': RemoteExecutorPoolStatusClass,
41412
+ 'com.linkedin.pegasus2avro.file.BucketStorageLocation': BucketStorageLocationClass,
41413
+ 'com.linkedin.pegasus2avro.file.DataHubFileInfo': DataHubFileInfoClass,
41414
+ 'com.linkedin.pegasus2avro.file.FileUploadScenario': FileUploadScenarioClass,
40923
41415
  'com.linkedin.pegasus2avro.form.AssignmentStatus': AssignmentStatusClass,
40924
41416
  'com.linkedin.pegasus2avro.form.DomainParams': DomainParamsClass,
40925
41417
  'com.linkedin.pegasus2avro.form.DynamicFormAssignment': DynamicFormAssignmentClass,
@@ -41008,6 +41500,7 @@ __SCHEMA_TYPES = {
41008
41500
  'com.linkedin.pegasus2avro.metadata.key.DataHubAccessTokenKey': DataHubAccessTokenKeyClass,
41009
41501
  'com.linkedin.pegasus2avro.metadata.key.DataHubActionKey': DataHubActionKeyClass,
41010
41502
  'com.linkedin.pegasus2avro.metadata.key.DataHubConnectionKey': DataHubConnectionKeyClass,
41503
+ 'com.linkedin.pegasus2avro.metadata.key.DataHubFileKey': DataHubFileKeyClass,
41011
41504
  'com.linkedin.pegasus2avro.metadata.key.DataHubIngestionSourceKey': DataHubIngestionSourceKeyClass,
41012
41505
  'com.linkedin.pegasus2avro.metadata.key.DataHubMetricCubeKey': DataHubMetricCubeKeyClass,
41013
41506
  'com.linkedin.pegasus2avro.metadata.key.DataHubOpenAPISchemaKey': DataHubOpenAPISchemaKeyClass,
@@ -41232,6 +41725,7 @@ __SCHEMA_TYPES = {
41232
41725
  'com.linkedin.pegasus2avro.retention.TimeBasedRetention': TimeBasedRetentionClass,
41233
41726
  'com.linkedin.pegasus2avro.retention.VersionBasedRetention': VersionBasedRetentionClass,
41234
41727
  'com.linkedin.pegasus2avro.role.Actors': ActorsClass,
41728
+ 'com.linkedin.pegasus2avro.role.RoleGroup': RoleGroupClass,
41235
41729
  'com.linkedin.pegasus2avro.role.RoleProperties': RolePropertiesClass,
41236
41730
  'com.linkedin.pegasus2avro.role.RoleUser': RoleUserClass,
41237
41731
  'com.linkedin.pegasus2avro.schema.ArrayType': ArrayTypeClass,
@@ -41293,6 +41787,8 @@ __SCHEMA_TYPES = {
41293
41787
  'com.linkedin.pegasus2avro.settings.global.GlobalViewsSettings': GlobalViewsSettingsClass,
41294
41788
  'com.linkedin.pegasus2avro.settings.global.GlobalVisualSettings': GlobalVisualSettingsClass,
41295
41789
  'com.linkedin.pegasus2avro.settings.global.HelpLink': HelpLinkClass,
41790
+ 'com.linkedin.pegasus2avro.settings.global.OAuthProvider': OAuthProviderClass,
41791
+ 'com.linkedin.pegasus2avro.settings.global.OAuthSettings': OAuthSettingsClass,
41296
41792
  'com.linkedin.pegasus2avro.settings.global.OidcSettings': OidcSettingsClass,
41297
41793
  'com.linkedin.pegasus2avro.settings.global.SlackIntegrationSettings': SlackIntegrationSettingsClass,
41298
41794
  'com.linkedin.pegasus2avro.settings.global.SsoSettings': SsoSettingsClass,
@@ -41690,6 +42186,7 @@ __SCHEMA_TYPES = {
41690
42186
  'NotificationTemplateType': NotificationTemplateTypeClass,
41691
42187
  'OwnershipParameters': OwnershipParametersClass,
41692
42188
  'ChangeType': ChangeTypeClass,
42189
+ 'ExecutionRequestArtifactsLocation': ExecutionRequestArtifactsLocationClass,
41693
42190
  'ExecutionRequestInput': ExecutionRequestInputClass,
41694
42191
  'ExecutionRequestResult': ExecutionRequestResultClass,
41695
42192
  'ExecutionRequestSignal': ExecutionRequestSignalClass,
@@ -41700,6 +42197,9 @@ __SCHEMA_TYPES = {
41700
42197
  'RemoteExecutorPoolInfo': RemoteExecutorPoolInfoClass,
41701
42198
  'RemoteExecutorPoolState': RemoteExecutorPoolStateClass,
41702
42199
  'RemoteExecutorPoolStatus': RemoteExecutorPoolStatusClass,
42200
+ 'BucketStorageLocation': BucketStorageLocationClass,
42201
+ 'DataHubFileInfo': DataHubFileInfoClass,
42202
+ 'FileUploadScenario': FileUploadScenarioClass,
41703
42203
  'AssignmentStatus': AssignmentStatusClass,
41704
42204
  'DomainParams': DomainParamsClass,
41705
42205
  'DynamicFormAssignment': DynamicFormAssignmentClass,
@@ -41788,6 +42288,7 @@ __SCHEMA_TYPES = {
41788
42288
  'DataHubAccessTokenKey': DataHubAccessTokenKeyClass,
41789
42289
  'DataHubActionKey': DataHubActionKeyClass,
41790
42290
  'DataHubConnectionKey': DataHubConnectionKeyClass,
42291
+ 'DataHubFileKey': DataHubFileKeyClass,
41791
42292
  'DataHubIngestionSourceKey': DataHubIngestionSourceKeyClass,
41792
42293
  'DataHubMetricCubeKey': DataHubMetricCubeKeyClass,
41793
42294
  'DataHubOpenAPISchemaKey': DataHubOpenAPISchemaKeyClass,
@@ -42012,6 +42513,7 @@ __SCHEMA_TYPES = {
42012
42513
  'TimeBasedRetention': TimeBasedRetentionClass,
42013
42514
  'VersionBasedRetention': VersionBasedRetentionClass,
42014
42515
  'Actors': ActorsClass,
42516
+ 'RoleGroup': RoleGroupClass,
42015
42517
  'RoleProperties': RolePropertiesClass,
42016
42518
  'RoleUser': RoleUserClass,
42017
42519
  'ArrayType': ArrayTypeClass,
@@ -42073,6 +42575,8 @@ __SCHEMA_TYPES = {
42073
42575
  'GlobalViewsSettings': GlobalViewsSettingsClass,
42074
42576
  'GlobalVisualSettings': GlobalVisualSettingsClass,
42075
42577
  'HelpLink': HelpLinkClass,
42578
+ 'OAuthProvider': OAuthProviderClass,
42579
+ 'OAuthSettings': OAuthSettingsClass,
42076
42580
  'OidcSettings': OidcSettingsClass,
42077
42581
  'SlackIntegrationSettings': SlackIntegrationSettingsClass,
42078
42582
  'SsoSettings': SsoSettingsClass,
@@ -42344,6 +42848,7 @@ ASPECT_CLASSES: List[Type[_Aspect]] = [
42344
42848
  DataFlowKeyClass,
42345
42849
  IncidentKeyClass,
42346
42850
  ActionRequestKeyClass,
42851
+ DataHubFileKeyClass,
42347
42852
  DataProcessInstanceKeyClass,
42348
42853
  RoleKeyClass,
42349
42854
  SchemaFieldKeyClass,
@@ -42376,6 +42881,7 @@ ASPECT_CLASSES: List[Type[_Aspect]] = [
42376
42881
  ActionRequestArchivedClass,
42377
42882
  ActionRequestStatusClass,
42378
42883
  ActionRequestInfoClass,
42884
+ DataHubFileInfoClass,
42379
42885
  TagPropertiesClass,
42380
42886
  FormNotificationsClass,
42381
42887
  MonitorAnomalyEventClass,
@@ -42433,6 +42939,7 @@ ASPECT_CLASSES: List[Type[_Aspect]] = [
42433
42939
  ExecutionRequestResultClass,
42434
42940
  ExecutionRequestSignalClass,
42435
42941
  ExecutionRequestInputClass,
42942
+ ExecutionRequestArtifactsLocationClass,
42436
42943
  SchemaFieldInfoClass,
42437
42944
  SchemaFieldAliasesClass,
42438
42945
  DataHubActionInfoClass,
@@ -42641,6 +43148,7 @@ class AspectBag(TypedDict, total=False):
42641
43148
  dataFlowKey: DataFlowKeyClass
42642
43149
  incidentKey: IncidentKeyClass
42643
43150
  actionRequestKey: ActionRequestKeyClass
43151
+ dataHubFileKey: DataHubFileKeyClass
42644
43152
  dataProcessInstanceKey: DataProcessInstanceKeyClass
42645
43153
  roleKey: RoleKeyClass
42646
43154
  schemaFieldKey: SchemaFieldKeyClass
@@ -42673,6 +43181,7 @@ class AspectBag(TypedDict, total=False):
42673
43181
  actionRequestArchived: ActionRequestArchivedClass
42674
43182
  actionRequestStatus: ActionRequestStatusClass
42675
43183
  actionRequestInfo: ActionRequestInfoClass
43184
+ dataHubFileInfo: DataHubFileInfoClass
42676
43185
  tagProperties: TagPropertiesClass
42677
43186
  formNotifications: FormNotificationsClass
42678
43187
  monitorAnomalyEvent: MonitorAnomalyEventClass
@@ -42730,6 +43239,7 @@ class AspectBag(TypedDict, total=False):
42730
43239
  dataHubExecutionRequestResult: ExecutionRequestResultClass
42731
43240
  dataHubExecutionRequestSignal: ExecutionRequestSignalClass
42732
43241
  dataHubExecutionRequestInput: ExecutionRequestInputClass
43242
+ dataHubExecutionRequestArtifactsLocation: ExecutionRequestArtifactsLocationClass
42733
43243
  schemafieldInfo: SchemaFieldInfoClass
42734
43244
  schemaFieldAliases: SchemaFieldAliasesClass
42735
43245
  dataHubActionInfo: DataHubActionInfoClass
@@ -42780,6 +43290,7 @@ KEY_ASPECTS: Dict[str, Type[_Aspect]] = {
42780
43290
  'dataFlow': DataFlowKeyClass,
42781
43291
  'incident': IncidentKeyClass,
42782
43292
  'actionRequest': ActionRequestKeyClass,
43293
+ 'dataHubFile': DataHubFileKeyClass,
42783
43294
  'dataProcessInstance': DataProcessInstanceKeyClass,
42784
43295
  'role': RoleKeyClass,
42785
43296
  'schemaField': SchemaFieldKeyClass,
@@ -42858,6 +43369,7 @@ ENTITY_TYPE_NAMES: List[str] = [
42858
43369
  'dataFlow',
42859
43370
  'incident',
42860
43371
  'actionRequest',
43372
+ 'dataHubFile',
42861
43373
  'dataProcessInstance',
42862
43374
  'role',
42863
43375
  'schemaField',
@@ -42933,6 +43445,7 @@ EntityTypeName = Literal[
42933
43445
  'dataFlow',
42934
43446
  'incident',
42935
43447
  'actionRequest',
43448
+ 'dataHubFile',
42936
43449
  'dataProcessInstance',
42937
43450
  'role',
42938
43451
  'schemaField',