openmetadata-ingestion 1.8.10.0__py3-none-any.whl → 1.9.0.0__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 (826) hide show
  1. metadata/__init__.py +2 -0
  2. metadata/data_quality/validations/models.py +2 -2
  3. metadata/data_quality/validations/runtime_param_setter/base_diff_params_setter.py +78 -5
  4. metadata/data_quality/validations/runtime_param_setter/table_diff_params_setter.py +10 -63
  5. metadata/data_quality/validations/table/sqlalchemy/tableDiff.py +4 -1
  6. metadata/generated/schema/analytics/__init__.py +1 -1
  7. metadata/generated/schema/analytics/basic.py +1 -1
  8. metadata/generated/schema/analytics/reportData.py +1 -1
  9. metadata/generated/schema/analytics/reportDataType/__init__.py +1 -1
  10. metadata/generated/schema/analytics/reportDataType/aggregatedCostAnalysisReportData.py +1 -1
  11. metadata/generated/schema/analytics/reportDataType/entityReportData.py +1 -1
  12. metadata/generated/schema/analytics/reportDataType/rawCostAnalysisReportData.py +1 -1
  13. metadata/generated/schema/analytics/reportDataType/webAnalyticEntityViewReportData.py +1 -1
  14. metadata/generated/schema/analytics/reportDataType/webAnalyticUserActivityReportData.py +1 -1
  15. metadata/generated/schema/analytics/webAnalyticEvent.py +5 -5
  16. metadata/generated/schema/analytics/webAnalyticEventData.py +1 -1
  17. metadata/generated/schema/analytics/webAnalyticEventType/__init__.py +1 -1
  18. metadata/generated/schema/analytics/webAnalyticEventType/customEvent.py +1 -1
  19. metadata/generated/schema/analytics/webAnalyticEventType/pageViewEvent.py +1 -1
  20. metadata/generated/schema/api/__init__.py +1 -1
  21. metadata/generated/schema/api/addGlossaryToAssetsRequest.py +1 -1
  22. metadata/generated/schema/api/addTagToAssetsRequest.py +1 -1
  23. metadata/generated/schema/api/analytics/__init__.py +1 -1
  24. metadata/generated/schema/api/analytics/createWebAnalyticEvent.py +6 -5
  25. metadata/generated/schema/api/automations/__init__.py +1 -1
  26. metadata/generated/schema/api/automations/createWorkflow.py +6 -5
  27. metadata/generated/schema/api/bulkAssets.py +1 -1
  28. metadata/generated/schema/api/classification/__init__.py +1 -1
  29. metadata/generated/schema/api/classification/createClassification.py +6 -5
  30. metadata/generated/schema/api/classification/createTag.py +4 -4
  31. metadata/generated/schema/api/classification/loadTags.py +1 -1
  32. metadata/generated/schema/api/createBot.py +5 -5
  33. metadata/generated/schema/api/createEventPublisherJob.py +1 -1
  34. metadata/generated/schema/api/createType.py +6 -5
  35. metadata/generated/schema/api/data/__init__.py +1 -1
  36. metadata/generated/schema/api/data/createAPICollection.py +4 -4
  37. metadata/generated/schema/api/data/createAPIEndpoint.py +4 -4
  38. metadata/generated/schema/api/data/createChart.py +12 -4
  39. metadata/generated/schema/api/data/createContainer.py +4 -4
  40. metadata/generated/schema/api/data/createCustomProperty.py +1 -1
  41. metadata/generated/schema/api/data/createDashboard.py +4 -4
  42. metadata/generated/schema/api/data/createDashboardDataModel.py +4 -4
  43. metadata/generated/schema/api/data/createDataContract.py +11 -5
  44. metadata/generated/schema/api/data/createDatabase.py +4 -4
  45. metadata/generated/schema/api/data/createDatabaseSchema.py +4 -4
  46. metadata/generated/schema/api/data/createDirectory.py +105 -0
  47. metadata/generated/schema/api/data/createFile.py +104 -0
  48. metadata/generated/schema/api/data/createGlossary.py +4 -4
  49. metadata/generated/schema/api/data/createGlossaryTerm.py +1 -1
  50. metadata/generated/schema/api/data/createMetric.py +4 -4
  51. metadata/generated/schema/api/data/createMlModel.py +4 -4
  52. metadata/generated/schema/api/data/createPipeline.py +4 -4
  53. metadata/generated/schema/api/data/createQuery.py +5 -4
  54. metadata/generated/schema/api/data/createQueryCostRecord.py +1 -1
  55. metadata/generated/schema/api/data/createSearchIndex.py +4 -4
  56. metadata/generated/schema/api/data/createSpreadsheet.py +111 -0
  57. metadata/generated/schema/api/data/createStoredProcedure.py +4 -4
  58. metadata/generated/schema/api/data/createTable.py +5 -4
  59. metadata/generated/schema/api/data/createTableProfile.py +1 -1
  60. metadata/generated/schema/api/data/createTopic.py +5 -4
  61. metadata/generated/schema/api/data/createWorksheet.py +105 -0
  62. metadata/generated/schema/api/data/loadGlossary.py +1 -1
  63. metadata/generated/schema/api/data/restoreEntity.py +1 -1
  64. metadata/generated/schema/api/data/updateColumn.py +1 -1
  65. metadata/generated/schema/api/dataInsight/__init__.py +1 -1
  66. metadata/generated/schema/api/dataInsight/createDataInsightChart.py +5 -4
  67. metadata/generated/schema/api/dataInsight/custom/__init__.py +1 -1
  68. metadata/generated/schema/api/dataInsight/custom/createDataInsightCustomChart.py +1 -1
  69. metadata/generated/schema/api/dataInsight/kpi/__init__.py +1 -1
  70. metadata/generated/schema/api/dataInsight/kpi/createKpiRequest.py +5 -5
  71. metadata/generated/schema/api/docStore/__init__.py +1 -1
  72. metadata/generated/schema/api/docStore/createDocument.py +6 -5
  73. metadata/generated/schema/api/domains/__init__.py +1 -1
  74. metadata/generated/schema/api/domains/createDataProduct.py +4 -4
  75. metadata/generated/schema/api/domains/createDomain.py +1 -1
  76. metadata/generated/schema/api/entityRelationship/__init__.py +3 -0
  77. metadata/generated/schema/api/entityRelationship/entityRelationshipDirection.py +12 -0
  78. metadata/generated/schema/api/entityRelationship/esEntityRelationshipData.py +57 -0
  79. metadata/generated/schema/api/entityRelationship/relationshipRef.py +32 -0
  80. metadata/generated/schema/api/entityRelationship/searchEntityRelationshipRequest.py +47 -0
  81. metadata/generated/schema/api/entityRelationship/searchEntityRelationshipResult.py +47 -0
  82. metadata/generated/schema/api/entityRelationship/searchSchemaEntityRelationshipResult.py +20 -0
  83. metadata/generated/schema/api/feed/__init__.py +1 -1
  84. metadata/generated/schema/api/feed/closeTask.py +1 -1
  85. metadata/generated/schema/api/feed/createPost.py +1 -1
  86. metadata/generated/schema/api/feed/createSuggestion.py +1 -1
  87. metadata/generated/schema/api/feed/createThread.py +6 -2
  88. metadata/generated/schema/api/feed/resolveTask.py +1 -1
  89. metadata/generated/schema/api/feed/threadCount.py +1 -1
  90. metadata/generated/schema/api/governance/__init__.py +1 -1
  91. metadata/generated/schema/api/governance/createWorkflowDefinition.py +1 -1
  92. metadata/generated/schema/api/governance/createWorkflowInstanceState.py +1 -1
  93. metadata/generated/schema/api/lineage/__init__.py +1 -1
  94. metadata/generated/schema/api/lineage/addLineage.py +1 -1
  95. metadata/generated/schema/api/lineage/esLineageData.py +4 -1
  96. metadata/generated/schema/api/lineage/lineageDirection.py +1 -1
  97. metadata/generated/schema/api/lineage/nodeInformation.py +5 -2
  98. metadata/generated/schema/api/lineage/searchLineageRequest.py +1 -1
  99. metadata/generated/schema/api/lineage/searchLineageResult.py +1 -1
  100. metadata/generated/schema/api/mcp/__init__.py +1 -1
  101. metadata/generated/schema/api/mcp/mcpToolDefinition.py +1 -1
  102. metadata/generated/schema/api/openMetadataServerVersion.py +1 -1
  103. metadata/generated/schema/api/policies/__init__.py +1 -1
  104. metadata/generated/schema/api/policies/createPolicy.py +6 -5
  105. metadata/generated/schema/api/scim/__init__.py +1 -1
  106. metadata/generated/schema/api/scim/scimGroup.py +1 -1
  107. metadata/generated/schema/api/scim/scimPatchOp.py +1 -1
  108. metadata/generated/schema/api/scim/scimUser.py +1 -1
  109. metadata/generated/schema/api/search/__init__.py +1 -1
  110. metadata/generated/schema/api/search/previewSearchRequest.py +1 -1
  111. metadata/generated/schema/api/services/__init__.py +1 -1
  112. metadata/generated/schema/api/services/createApiService.py +4 -4
  113. metadata/generated/schema/api/services/createDashboardService.py +4 -4
  114. metadata/generated/schema/api/services/createDatabaseService.py +4 -4
  115. metadata/generated/schema/api/services/createDriveService.py +58 -0
  116. metadata/generated/schema/api/services/createMessagingService.py +4 -4
  117. metadata/generated/schema/api/services/createMetadataService.py +5 -4
  118. metadata/generated/schema/api/services/createMlModelService.py +4 -4
  119. metadata/generated/schema/api/services/createPipelineService.py +4 -4
  120. metadata/generated/schema/api/services/createSearchService.py +4 -4
  121. metadata/generated/schema/api/services/createSecurityService.py +4 -4
  122. metadata/generated/schema/api/services/createStorageService.py +4 -4
  123. metadata/generated/schema/api/services/ingestionPipelines/__init__.py +1 -1
  124. metadata/generated/schema/api/services/ingestionPipelines/createIngestionPipeline.py +13 -5
  125. metadata/generated/schema/api/setOwner.py +1 -1
  126. metadata/generated/schema/api/teams/__init__.py +1 -1
  127. metadata/generated/schema/api/teams/createPersona.py +12 -4
  128. metadata/generated/schema/api/teams/createRole.py +5 -4
  129. metadata/generated/schema/api/teams/createTeam.py +1 -1
  130. metadata/generated/schema/api/teams/createUser.py +1 -1
  131. metadata/generated/schema/api/tests/__init__.py +1 -1
  132. metadata/generated/schema/api/tests/createCustomMetric.py +1 -1
  133. metadata/generated/schema/api/tests/createLogicalTestCases.py +1 -1
  134. metadata/generated/schema/api/tests/createTestCase.py +1 -1
  135. metadata/generated/schema/api/tests/createTestCaseResolutionStatus.py +1 -1
  136. metadata/generated/schema/api/tests/createTestCaseResult.py +1 -1
  137. metadata/generated/schema/api/tests/createTestDefinition.py +5 -4
  138. metadata/generated/schema/api/tests/createTestSuite.py +13 -5
  139. metadata/generated/schema/api/tests/moveGlossaryTermRequest.py +27 -0
  140. metadata/generated/schema/api/validateGlossaryTagsRequest.py +1 -1
  141. metadata/generated/schema/api/voteRequest.py +1 -1
  142. metadata/generated/schema/auth/__init__.py +1 -1
  143. metadata/generated/schema/auth/basicAuth.py +1 -1
  144. metadata/generated/schema/auth/basicLoginRequest.py +1 -1
  145. metadata/generated/schema/auth/changePasswordRequest.py +1 -1
  146. metadata/generated/schema/auth/createPersonalToken.py +1 -1
  147. metadata/generated/schema/auth/emailRequest.py +1 -1
  148. metadata/generated/schema/auth/emailVerificationToken.py +1 -1
  149. metadata/generated/schema/auth/generateToken.py +1 -1
  150. metadata/generated/schema/auth/jwtAuth.py +1 -1
  151. metadata/generated/schema/auth/loginRequest.py +1 -1
  152. metadata/generated/schema/auth/logoutRequest.py +1 -1
  153. metadata/generated/schema/auth/passwordResetRequest.py +1 -1
  154. metadata/generated/schema/auth/passwordResetToken.py +1 -1
  155. metadata/generated/schema/auth/personalAccessToken.py +1 -1
  156. metadata/generated/schema/auth/refreshToken.py +1 -1
  157. metadata/generated/schema/auth/registrationRequest.py +1 -1
  158. metadata/generated/schema/auth/revokePersonalToken.py +1 -1
  159. metadata/generated/schema/auth/revokeToken.py +1 -1
  160. metadata/generated/schema/auth/serviceTokenEnum.py +1 -1
  161. metadata/generated/schema/auth/ssoAuth.py +1 -1
  162. metadata/generated/schema/auth/supportToken.py +1 -1
  163. metadata/generated/schema/auth/tokenRefreshRequest.py +1 -1
  164. metadata/generated/schema/configuration/__init__.py +1 -1
  165. metadata/generated/schema/configuration/aiPlatformConfiguration.py +58 -0
  166. metadata/generated/schema/configuration/appsPrivateConfiguration.py +1 -1
  167. metadata/generated/schema/configuration/assetCertificationSettings.py +1 -1
  168. metadata/generated/schema/configuration/authConfig.py +1 -1
  169. metadata/generated/schema/configuration/authenticationConfiguration.py +1 -1
  170. metadata/generated/schema/configuration/authorizerConfiguration.py +1 -1
  171. metadata/generated/schema/configuration/cacheConfiguration.py +137 -0
  172. metadata/generated/schema/configuration/changeEventConfiguration.py +1 -1
  173. metadata/generated/schema/configuration/dataQualityConfiguration.py +1 -1
  174. metadata/generated/schema/configuration/elasticSearchConfiguration.py +1 -1
  175. metadata/generated/schema/configuration/entityRulesSettings.py +24 -0
  176. metadata/generated/schema/configuration/eventHandlerConfiguration.py +1 -1
  177. metadata/generated/schema/configuration/fernetConfiguration.py +1 -1
  178. metadata/generated/schema/configuration/jwtTokenConfiguration.py +1 -1
  179. metadata/generated/schema/configuration/kafkaEventConfiguration.py +1 -1
  180. metadata/generated/schema/configuration/ldapConfiguration.py +1 -1
  181. metadata/generated/schema/configuration/ldapTrustStoreConfig/__init__.py +1 -1
  182. metadata/generated/schema/configuration/ldapTrustStoreConfig/customTrustManagerConfig.py +1 -1
  183. metadata/generated/schema/configuration/ldapTrustStoreConfig/hostNameConfig.py +1 -1
  184. metadata/generated/schema/configuration/ldapTrustStoreConfig/jvmDefaultConfig.py +1 -1
  185. metadata/generated/schema/configuration/ldapTrustStoreConfig/trustAllConfig.py +1 -1
  186. metadata/generated/schema/configuration/ldapTrustStoreConfig/truststoreConfig.py +1 -1
  187. metadata/generated/schema/configuration/limitsConfiguration.py +1 -1
  188. metadata/generated/schema/configuration/lineageSettings.py +1 -1
  189. metadata/generated/schema/configuration/loginConfiguration.py +1 -1
  190. metadata/generated/schema/configuration/logoConfiguration.py +1 -1
  191. metadata/generated/schema/configuration/openMetadataBaseUrlConfiguration.py +1 -1
  192. metadata/generated/schema/configuration/opertionalConfiguration.py +1 -1
  193. metadata/generated/schema/configuration/opsConfig.py +1 -1
  194. metadata/generated/schema/configuration/pipelineServiceClientConfiguration.py +1 -1
  195. metadata/generated/schema/configuration/profilerConfiguration.py +1 -1
  196. metadata/generated/schema/configuration/searchSettings.py +1 -1
  197. metadata/generated/schema/configuration/slackAppConfiguration.py +1 -1
  198. metadata/generated/schema/configuration/taskNotificationConfiguration.py +1 -1
  199. metadata/generated/schema/configuration/testResultNotificationConfiguration.py +1 -1
  200. metadata/generated/schema/configuration/themeConfiguration.py +1 -1
  201. metadata/generated/schema/configuration/uiThemePreference.py +1 -1
  202. metadata/generated/schema/configuration/workflowSettings.py +1 -1
  203. metadata/generated/schema/dataInsight/__init__.py +1 -1
  204. metadata/generated/schema/dataInsight/custom/__init__.py +1 -1
  205. metadata/generated/schema/dataInsight/custom/dataInsightCustomChart.py +1 -1
  206. metadata/generated/schema/dataInsight/custom/dataInsightCustomChartResult.py +1 -1
  207. metadata/generated/schema/dataInsight/custom/dataInsightCustomChartResultList.py +1 -1
  208. metadata/generated/schema/dataInsight/custom/formulaHolder.py +1 -1
  209. metadata/generated/schema/dataInsight/custom/lineChart.py +5 -1
  210. metadata/generated/schema/dataInsight/custom/summaryCard.py +1 -1
  211. metadata/generated/schema/dataInsight/dataInsightChart.py +5 -5
  212. metadata/generated/schema/dataInsight/dataInsightChartResult.py +1 -1
  213. metadata/generated/schema/dataInsight/kpi/__init__.py +1 -1
  214. metadata/generated/schema/dataInsight/kpi/basic.py +1 -1
  215. metadata/generated/schema/dataInsight/kpi/kpi.py +4 -4
  216. metadata/generated/schema/dataInsight/type/__init__.py +1 -1
  217. metadata/generated/schema/dataInsight/type/aggregatedUnusedAssetsCount.py +1 -1
  218. metadata/generated/schema/dataInsight/type/aggregatedUnusedAssetsSize.py +1 -1
  219. metadata/generated/schema/dataInsight/type/aggregatedUsedVsUnusedAssetsCount.py +1 -1
  220. metadata/generated/schema/dataInsight/type/aggregatedUsedVsUnusedAssetsSize.py +1 -1
  221. metadata/generated/schema/dataInsight/type/dailyActiveUsers.py +1 -1
  222. metadata/generated/schema/dataInsight/type/mostActiveUsers.py +1 -1
  223. metadata/generated/schema/dataInsight/type/mostViewedEntities.py +1 -1
  224. metadata/generated/schema/dataInsight/type/pageViewsByEntities.py +1 -1
  225. metadata/generated/schema/dataInsight/type/unusedAssets.py +1 -1
  226. metadata/generated/schema/email/__init__.py +1 -1
  227. metadata/generated/schema/email/emailRequest.py +1 -1
  228. metadata/generated/schema/email/emailTemplate.py +1 -1
  229. metadata/generated/schema/email/emailTemplatePlaceholder.py +1 -1
  230. metadata/generated/schema/email/smtpSettings.py +1 -1
  231. metadata/generated/schema/email/templateValidationReponse.py +1 -1
  232. metadata/generated/schema/entity/__init__.py +1 -1
  233. metadata/generated/schema/entity/applications/__init__.py +1 -1
  234. metadata/generated/schema/entity/applications/app.py +4 -4
  235. metadata/generated/schema/entity/applications/appExtension.py +1 -1
  236. metadata/generated/schema/entity/applications/appRunRecord.py +1 -1
  237. metadata/generated/schema/entity/applications/configuration/__init__.py +1 -1
  238. metadata/generated/schema/entity/applications/configuration/applicationConfig.py +1 -1
  239. metadata/generated/schema/entity/applications/configuration/external/__init__.py +1 -1
  240. metadata/generated/schema/entity/applications/configuration/external/automator/__init__.py +1 -1
  241. metadata/generated/schema/entity/applications/configuration/external/automator/addCustomProperties.py +1 -1
  242. metadata/generated/schema/entity/applications/configuration/external/automator/addDataProductAction.py +1 -1
  243. metadata/generated/schema/entity/applications/configuration/external/automator/addDescriptionAction.py +1 -1
  244. metadata/generated/schema/entity/applications/configuration/external/automator/addDomainAction.py +5 -5
  245. metadata/generated/schema/entity/applications/configuration/external/automator/addOwnerAction.py +1 -1
  246. metadata/generated/schema/entity/applications/configuration/external/automator/addTagsAction.py +1 -1
  247. metadata/generated/schema/entity/applications/configuration/external/automator/addTestCaseAction.py +1 -1
  248. metadata/generated/schema/entity/applications/configuration/external/automator/addTierAction.py +1 -1
  249. metadata/generated/schema/entity/applications/configuration/external/automator/lineagePropagationAction.py +4 -4
  250. metadata/generated/schema/entity/applications/configuration/external/automator/mlTaggingAction.py +1 -1
  251. metadata/generated/schema/entity/applications/configuration/external/automator/propagationStopConfig.py +2 -2
  252. metadata/generated/schema/entity/applications/configuration/external/automator/removeCustomPropertiesAction.py +1 -1
  253. metadata/generated/schema/entity/applications/configuration/external/automator/removeDataProductAction.py +1 -1
  254. metadata/generated/schema/entity/applications/configuration/external/automator/removeDescriptionAction.py +1 -1
  255. metadata/generated/schema/entity/applications/configuration/external/automator/removeDomainAction.py +1 -1
  256. metadata/generated/schema/entity/applications/configuration/external/automator/removeOwnerAction.py +1 -1
  257. metadata/generated/schema/entity/applications/configuration/external/automator/removeTagsAction.py +1 -1
  258. metadata/generated/schema/entity/applications/configuration/external/automator/removeTestCaseAction.py +1 -1
  259. metadata/generated/schema/entity/applications/configuration/external/automator/removeTierAction.py +1 -1
  260. metadata/generated/schema/entity/applications/configuration/external/automatorAppConfig.py +1 -1
  261. metadata/generated/schema/entity/applications/configuration/external/collateAIAppConfig.py +1 -1
  262. metadata/generated/schema/entity/applications/configuration/external/slackAppTokenConfiguration.py +1 -1
  263. metadata/generated/schema/entity/applications/configuration/internal/__init__.py +1 -1
  264. metadata/generated/schema/entity/applications/configuration/internal/autoPilotAppConfig.py +1 -1
  265. metadata/generated/schema/entity/applications/configuration/internal/collateAIQualityAgentAppConfig.py +1 -1
  266. metadata/generated/schema/entity/applications/configuration/internal/collateAITierAgentAppConfig.py +1 -1
  267. metadata/generated/schema/entity/applications/configuration/internal/dataInsightsAppConfig.py +1 -1
  268. metadata/generated/schema/entity/applications/configuration/internal/dataInsightsReportAppConfig.py +1 -1
  269. metadata/generated/schema/entity/applications/configuration/internal/dataRetentionConfiguration.py +1 -1
  270. metadata/generated/schema/entity/applications/configuration/internal/helloPipelinesConfiguration.py +1 -1
  271. metadata/generated/schema/entity/applications/configuration/internal/searchIndexingAppConfig.py +1 -1
  272. metadata/generated/schema/entity/applications/configuration/private/__init__.py +1 -1
  273. metadata/generated/schema/entity/applications/configuration/private/external/__init__.py +1 -1
  274. metadata/generated/schema/entity/applications/configuration/private/external/collateAIAppPrivateConfig.py +1 -1
  275. metadata/generated/schema/entity/applications/configuration/private/internal/__init__.py +1 -1
  276. metadata/generated/schema/entity/applications/configuration/private/internal/collateAITierAgentAppPrivateConfig.py +1 -1
  277. metadata/generated/schema/entity/applications/configuration/private/limits.py +1 -1
  278. metadata/generated/schema/entity/applications/createAppRequest.py +6 -5
  279. metadata/generated/schema/entity/applications/jobStatus.py +1 -1
  280. metadata/generated/schema/entity/applications/liveExecutionContext.py +1 -1
  281. metadata/generated/schema/entity/applications/marketplace/__init__.py +1 -1
  282. metadata/generated/schema/entity/applications/marketplace/appMarketPlaceDefinition.py +5 -11
  283. metadata/generated/schema/entity/applications/marketplace/createAppMarketPlaceDefinitionReq.py +5 -4
  284. metadata/generated/schema/entity/applications/scheduledExecutionContext.py +1 -1
  285. metadata/generated/schema/entity/automations/__init__.py +1 -1
  286. metadata/generated/schema/entity/automations/testServiceConnection.py +1 -1
  287. metadata/generated/schema/entity/automations/workflow.py +5 -5
  288. metadata/generated/schema/entity/bot.py +5 -5
  289. metadata/generated/schema/entity/classification/__init__.py +1 -1
  290. metadata/generated/schema/entity/classification/classification.py +5 -5
  291. metadata/generated/schema/entity/classification/tag.py +4 -4
  292. metadata/generated/schema/entity/data/__init__.py +1 -1
  293. metadata/generated/schema/entity/data/apiCollection.py +4 -4
  294. metadata/generated/schema/entity/data/apiEndpoint.py +4 -4
  295. metadata/generated/schema/entity/data/chart.py +11 -4
  296. metadata/generated/schema/entity/data/container.py +4 -4
  297. metadata/generated/schema/entity/data/dashboard.py +4 -4
  298. metadata/generated/schema/entity/data/dashboardDataModel.py +4 -4
  299. metadata/generated/schema/entity/data/dataContract.py +40 -53
  300. metadata/generated/schema/entity/data/database.py +4 -4
  301. metadata/generated/schema/entity/data/databaseSchema.py +4 -4
  302. metadata/generated/schema/entity/data/directory.py +173 -0
  303. metadata/generated/schema/entity/data/file.py +184 -0
  304. metadata/generated/schema/entity/data/glossary.py +4 -4
  305. metadata/generated/schema/entity/data/glossaryTerm.py +4 -4
  306. metadata/generated/schema/entity/data/metric.py +4 -5
  307. metadata/generated/schema/entity/data/mlmodel.py +4 -4
  308. metadata/generated/schema/entity/data/pipeline.py +4 -4
  309. metadata/generated/schema/entity/data/query.py +4 -4
  310. metadata/generated/schema/entity/data/queryCostRecord.py +1 -1
  311. metadata/generated/schema/entity/data/queryCostSearchResult.py +1 -1
  312. metadata/generated/schema/entity/data/report.py +4 -4
  313. metadata/generated/schema/entity/data/searchIndex.py +4 -4
  314. metadata/generated/schema/entity/data/spreadsheet.py +209 -0
  315. metadata/generated/schema/entity/data/storedProcedure.py +4 -4
  316. metadata/generated/schema/entity/data/table.py +50 -4
  317. metadata/generated/schema/entity/data/topic.py +4 -4
  318. metadata/generated/schema/entity/data/worksheet.py +168 -0
  319. metadata/generated/schema/entity/datacontract/__init__.py +3 -0
  320. metadata/generated/schema/entity/datacontract/dataContractResult.py +74 -0
  321. metadata/generated/schema/entity/datacontract/qualityValidation.py +31 -0
  322. metadata/generated/schema/entity/datacontract/schemaValidation.py +31 -0
  323. metadata/generated/schema/entity/datacontract/semanticsValidation.py +39 -0
  324. metadata/generated/schema/entity/datacontract/slaValidation.py +32 -0
  325. metadata/generated/schema/entity/docStore/__init__.py +1 -1
  326. metadata/generated/schema/entity/docStore/document.py +5 -5
  327. metadata/generated/schema/entity/domains/__init__.py +1 -1
  328. metadata/generated/schema/entity/domains/dataProduct.py +5 -5
  329. metadata/generated/schema/entity/domains/domain.py +1 -1
  330. metadata/generated/schema/entity/events/__init__.py +1 -1
  331. metadata/generated/schema/entity/events/webhook.py +1 -1
  332. metadata/generated/schema/entity/feed/__init__.py +1 -1
  333. metadata/generated/schema/entity/feed/assets.py +1 -1
  334. metadata/generated/schema/entity/feed/customProperty.py +1 -1
  335. metadata/generated/schema/entity/feed/description.py +1 -1
  336. metadata/generated/schema/entity/feed/domain.py +8 -8
  337. metadata/generated/schema/entity/feed/entityInfo.py +1 -1
  338. metadata/generated/schema/entity/feed/owner.py +1 -1
  339. metadata/generated/schema/entity/feed/suggestion.py +1 -1
  340. metadata/generated/schema/entity/feed/tag.py +1 -1
  341. metadata/generated/schema/entity/feed/testCaseResult.py +1 -1
  342. metadata/generated/schema/entity/feed/thread.py +4 -3
  343. metadata/generated/schema/entity/policies/__init__.py +1 -1
  344. metadata/generated/schema/entity/policies/accessControl/__init__.py +1 -1
  345. metadata/generated/schema/entity/policies/accessControl/resourceDescriptor.py +1 -1
  346. metadata/generated/schema/entity/policies/accessControl/resourcePermission.py +1 -1
  347. metadata/generated/schema/entity/policies/accessControl/rule.py +1 -1
  348. metadata/generated/schema/entity/policies/filters.py +1 -1
  349. metadata/generated/schema/entity/policies/policy.py +4 -4
  350. metadata/generated/schema/entity/services/__init__.py +1 -1
  351. metadata/generated/schema/entity/services/apiService.py +4 -4
  352. metadata/generated/schema/entity/services/connections/__init__.py +1 -1
  353. metadata/generated/schema/entity/services/connections/api/__init__.py +1 -1
  354. metadata/generated/schema/entity/services/connections/api/restConnection.py +1 -1
  355. metadata/generated/schema/entity/services/connections/common/__init__.py +1 -1
  356. metadata/generated/schema/entity/services/connections/common/sslCertPaths.py +1 -1
  357. metadata/generated/schema/entity/services/connections/common/sslCertValues.py +1 -1
  358. metadata/generated/schema/entity/services/connections/common/sslConfig.py +1 -1
  359. metadata/generated/schema/entity/services/connections/connectionBasicType.py +1 -1
  360. metadata/generated/schema/entity/services/connections/dashboard/__init__.py +1 -1
  361. metadata/generated/schema/entity/services/connections/dashboard/customDashboardConnection.py +1 -1
  362. metadata/generated/schema/entity/services/connections/dashboard/domoDashboardConnection.py +1 -1
  363. metadata/generated/schema/entity/services/connections/dashboard/lightdashConnection.py +1 -1
  364. metadata/generated/schema/entity/services/connections/dashboard/lookerConnection.py +1 -1
  365. metadata/generated/schema/entity/services/connections/dashboard/metabaseConnection.py +1 -1
  366. metadata/generated/schema/entity/services/connections/dashboard/microStrategyConnection.py +1 -1
  367. metadata/generated/schema/entity/services/connections/dashboard/modeConnection.py +1 -1
  368. metadata/generated/schema/entity/services/connections/dashboard/powerBIConnection.py +1 -1
  369. metadata/generated/schema/entity/services/connections/dashboard/powerBIReportServerConnection.py +1 -1
  370. metadata/generated/schema/entity/services/connections/dashboard/powerbi/__init__.py +1 -1
  371. metadata/generated/schema/entity/services/connections/dashboard/powerbi/azureConfig.py +1 -1
  372. metadata/generated/schema/entity/services/connections/dashboard/powerbi/bucketDetails.py +1 -1
  373. metadata/generated/schema/entity/services/connections/dashboard/powerbi/gcsConfig.py +1 -1
  374. metadata/generated/schema/entity/services/connections/dashboard/powerbi/s3Config.py +1 -1
  375. metadata/generated/schema/entity/services/connections/dashboard/qlikCloudConnection.py +1 -1
  376. metadata/generated/schema/entity/services/connections/dashboard/qlikSenseConnection.py +1 -1
  377. metadata/generated/schema/entity/services/connections/dashboard/quickSightConnection.py +1 -1
  378. metadata/generated/schema/entity/services/connections/dashboard/redashConnection.py +1 -1
  379. metadata/generated/schema/entity/services/connections/dashboard/sigmaConnection.py +1 -1
  380. metadata/generated/schema/entity/services/connections/dashboard/supersetConnection.py +1 -1
  381. metadata/generated/schema/entity/services/connections/dashboard/tableauConnection.py +1 -1
  382. metadata/generated/schema/entity/services/connections/dashboard/thoughtSpotConnection.py +1 -1
  383. metadata/generated/schema/entity/services/connections/database/__init__.py +1 -1
  384. metadata/generated/schema/entity/services/connections/database/athenaConnection.py +1 -1
  385. metadata/generated/schema/entity/services/connections/database/azureSQLConnection.py +1 -1
  386. metadata/generated/schema/entity/services/connections/database/bigQueryConnection.py +1 -1
  387. metadata/generated/schema/entity/services/connections/database/bigTableConnection.py +1 -1
  388. metadata/generated/schema/entity/services/connections/database/cassandra/__init__.py +1 -1
  389. metadata/generated/schema/entity/services/connections/database/cassandra/cloudConfig.py +1 -1
  390. metadata/generated/schema/entity/services/connections/database/cassandraConnection.py +1 -1
  391. metadata/generated/schema/entity/services/connections/database/clickhouseConnection.py +1 -1
  392. metadata/generated/schema/entity/services/connections/database/cockroachConnection.py +1 -1
  393. metadata/generated/schema/entity/services/connections/database/common/__init__.py +1 -1
  394. metadata/generated/schema/entity/services/connections/database/common/azureConfig.py +1 -1
  395. metadata/generated/schema/entity/services/connections/database/common/basicAuth.py +1 -1
  396. metadata/generated/schema/entity/services/connections/database/common/iamAuthConfig.py +1 -1
  397. metadata/generated/schema/entity/services/connections/database/common/jwtAuth.py +1 -1
  398. metadata/generated/schema/entity/services/connections/database/common/noConfigAuthenticationTypes.py +1 -1
  399. metadata/generated/schema/entity/services/connections/database/couchbaseConnection.py +1 -1
  400. metadata/generated/schema/entity/services/connections/database/customDatabaseConnection.py +1 -1
  401. metadata/generated/schema/entity/services/connections/database/databricksConnection.py +1 -1
  402. metadata/generated/schema/entity/services/connections/database/datalake/__init__.py +1 -1
  403. metadata/generated/schema/entity/services/connections/database/datalake/azureConfig.py +1 -1
  404. metadata/generated/schema/entity/services/connections/database/datalake/gcsConfig.py +1 -1
  405. metadata/generated/schema/entity/services/connections/database/datalake/s3Config.py +1 -1
  406. metadata/generated/schema/entity/services/connections/database/datalakeConnection.py +1 -1
  407. metadata/generated/schema/entity/services/connections/database/db2Connection.py +1 -1
  408. metadata/generated/schema/entity/services/connections/database/deltaLakeConnection.py +1 -1
  409. metadata/generated/schema/entity/services/connections/database/deltalake/__init__.py +1 -1
  410. metadata/generated/schema/entity/services/connections/database/deltalake/metastoreConfig.py +1 -1
  411. metadata/generated/schema/entity/services/connections/database/deltalake/storageConfig.py +1 -1
  412. metadata/generated/schema/entity/services/connections/database/domoDatabaseConnection.py +1 -1
  413. metadata/generated/schema/entity/services/connections/database/dorisConnection.py +1 -1
  414. metadata/generated/schema/entity/services/connections/database/druidConnection.py +1 -1
  415. metadata/generated/schema/entity/services/connections/database/dynamoDBConnection.py +1 -1
  416. metadata/generated/schema/entity/services/connections/database/epicConnection.py +80 -0
  417. metadata/generated/schema/entity/services/connections/database/exasolConnection.py +1 -1
  418. metadata/generated/schema/entity/services/connections/database/glueConnection.py +1 -1
  419. metadata/generated/schema/entity/services/connections/database/greenplumConnection.py +1 -1
  420. metadata/generated/schema/entity/services/connections/database/hiveConnection.py +1 -1
  421. metadata/generated/schema/entity/services/connections/database/iceberg/__init__.py +1 -1
  422. metadata/generated/schema/entity/services/connections/database/iceberg/dynamoDbCatalogConnection.py +1 -1
  423. metadata/generated/schema/entity/services/connections/database/iceberg/glueCatalogConnection.py +1 -1
  424. metadata/generated/schema/entity/services/connections/database/iceberg/hiveCatalogConnection.py +1 -1
  425. metadata/generated/schema/entity/services/connections/database/iceberg/icebergCatalog.py +1 -1
  426. metadata/generated/schema/entity/services/connections/database/iceberg/icebergFileSystem.py +1 -1
  427. metadata/generated/schema/entity/services/connections/database/iceberg/restCatalogConnection.py +1 -1
  428. metadata/generated/schema/entity/services/connections/database/icebergConnection.py +1 -1
  429. metadata/generated/schema/entity/services/connections/database/impalaConnection.py +1 -1
  430. metadata/generated/schema/entity/services/connections/database/mariaDBConnection.py +1 -1
  431. metadata/generated/schema/entity/services/connections/database/mongoDBConnection.py +1 -1
  432. metadata/generated/schema/entity/services/connections/database/mssqlConnection.py +1 -1
  433. metadata/generated/schema/entity/services/connections/database/mysqlConnection.py +1 -1
  434. metadata/generated/schema/entity/services/connections/database/oracleConnection.py +1 -1
  435. metadata/generated/schema/entity/services/connections/database/pinotDBConnection.py +1 -1
  436. metadata/generated/schema/entity/services/connections/database/postgresConnection.py +1 -1
  437. metadata/generated/schema/entity/services/connections/database/prestoConnection.py +1 -1
  438. metadata/generated/schema/entity/services/connections/database/redshiftConnection.py +1 -1
  439. metadata/generated/schema/entity/services/connections/database/salesforceConnection.py +1 -1
  440. metadata/generated/schema/entity/services/connections/database/sapErpConnection.py +1 -1
  441. metadata/generated/schema/entity/services/connections/database/sapHana/__init__.py +1 -1
  442. metadata/generated/schema/entity/services/connections/database/sapHana/sapHanaHDBConnection.py +1 -1
  443. metadata/generated/schema/entity/services/connections/database/sapHana/sapHanaSQLConnection.py +1 -1
  444. metadata/generated/schema/entity/services/connections/database/sapHanaConnection.py +1 -1
  445. metadata/generated/schema/entity/services/connections/database/sasConnection.py +1 -1
  446. metadata/generated/schema/entity/services/connections/database/singleStoreConnection.py +1 -1
  447. metadata/generated/schema/entity/services/connections/database/snowflakeConnection.py +1 -1
  448. metadata/generated/schema/entity/services/connections/database/sqliteConnection.py +1 -1
  449. metadata/generated/schema/entity/services/connections/database/ssasConnection.py +1 -1
  450. metadata/generated/schema/entity/services/connections/database/synapseConnection.py +1 -1
  451. metadata/generated/schema/entity/services/connections/database/teradataConnection.py +1 -1
  452. metadata/generated/schema/entity/services/connections/database/trinoConnection.py +1 -1
  453. metadata/generated/schema/entity/services/connections/database/unityCatalogConnection.py +1 -1
  454. metadata/generated/schema/entity/services/connections/database/verticaConnection.py +1 -1
  455. metadata/generated/schema/entity/services/connections/drive/__init__.py +3 -0
  456. metadata/generated/schema/entity/services/connections/drive/customDriveConnection.py +45 -0
  457. metadata/generated/schema/entity/services/connections/drive/googleDriveConnection.py +82 -0
  458. metadata/generated/schema/entity/services/connections/drive/sharePointConnection.py +79 -0
  459. metadata/generated/schema/entity/services/connections/messaging/__init__.py +1 -1
  460. metadata/generated/schema/entity/services/connections/messaging/customMessagingConnection.py +1 -1
  461. metadata/generated/schema/entity/services/connections/messaging/kafkaConnection.py +1 -1
  462. metadata/generated/schema/entity/services/connections/messaging/kinesisConnection.py +1 -1
  463. metadata/generated/schema/entity/services/connections/messaging/pulsarConnection.py +1 -1
  464. metadata/generated/schema/entity/services/connections/messaging/redpandaConnection.py +1 -1
  465. metadata/generated/schema/entity/services/connections/messaging/saslMechanismType.py +1 -1
  466. metadata/generated/schema/entity/services/connections/metadata/__init__.py +1 -1
  467. metadata/generated/schema/entity/services/connections/metadata/alationConnection.py +1 -1
  468. metadata/generated/schema/entity/services/connections/metadata/alationSinkConnection.py +1 -1
  469. metadata/generated/schema/entity/services/connections/metadata/amundsenConnection.py +1 -1
  470. metadata/generated/schema/entity/services/connections/metadata/atlasConnection.py +1 -1
  471. metadata/generated/schema/entity/services/connections/metadata/metadataESConnection.py +1 -1
  472. metadata/generated/schema/entity/services/connections/metadata/openMetadataConnection.py +1 -1
  473. metadata/generated/schema/entity/services/connections/mlmodel/__init__.py +1 -1
  474. metadata/generated/schema/entity/services/connections/mlmodel/customMlModelConnection.py +1 -1
  475. metadata/generated/schema/entity/services/connections/mlmodel/mlflowConnection.py +1 -1
  476. metadata/generated/schema/entity/services/connections/mlmodel/sageMakerConnection.py +1 -1
  477. metadata/generated/schema/entity/services/connections/mlmodel/sklearnConnection.py +1 -1
  478. metadata/generated/schema/entity/services/connections/mlmodel/vertexaiConnection.py +1 -1
  479. metadata/generated/schema/entity/services/connections/pipeline/__init__.py +1 -1
  480. metadata/generated/schema/entity/services/connections/pipeline/airbyteConnection.py +1 -1
  481. metadata/generated/schema/entity/services/connections/pipeline/airflowConnection.py +1 -1
  482. metadata/generated/schema/entity/services/connections/pipeline/backendConnection.py +1 -1
  483. metadata/generated/schema/entity/services/connections/pipeline/customPipelineConnection.py +1 -1
  484. metadata/generated/schema/entity/services/connections/pipeline/dagsterConnection.py +1 -1
  485. metadata/generated/schema/entity/services/connections/pipeline/databricksPipelineConnection.py +1 -1
  486. metadata/generated/schema/entity/services/connections/pipeline/datafactoryConnection.py +1 -1
  487. metadata/generated/schema/entity/services/connections/pipeline/dbtCloudConnection.py +1 -1
  488. metadata/generated/schema/entity/services/connections/pipeline/domoPipelineConnection.py +1 -1
  489. metadata/generated/schema/entity/services/connections/pipeline/fivetranConnection.py +1 -1
  490. metadata/generated/schema/entity/services/connections/pipeline/flinkConnection.py +1 -1
  491. metadata/generated/schema/entity/services/connections/pipeline/gluePipelineConnection.py +1 -1
  492. metadata/generated/schema/entity/services/connections/pipeline/kafkaConnectConnection.py +1 -1
  493. metadata/generated/schema/entity/services/connections/pipeline/matillion/__init__.py +1 -1
  494. metadata/generated/schema/entity/services/connections/pipeline/matillion/matillionETL.py +1 -1
  495. metadata/generated/schema/entity/services/connections/pipeline/matillionConnection.py +1 -1
  496. metadata/generated/schema/entity/services/connections/pipeline/nifi/__init__.py +1 -1
  497. metadata/generated/schema/entity/services/connections/pipeline/nifi/basicAuth.py +1 -1
  498. metadata/generated/schema/entity/services/connections/pipeline/nifi/clientCertificateAuth.py +1 -1
  499. metadata/generated/schema/entity/services/connections/pipeline/nifiConnection.py +1 -1
  500. metadata/generated/schema/entity/services/connections/pipeline/openLineageConnection.py +1 -1
  501. metadata/generated/schema/entity/services/connections/pipeline/sparkConnection.py +1 -1
  502. metadata/generated/schema/entity/services/connections/pipeline/splineConnection.py +1 -1
  503. metadata/generated/schema/entity/services/connections/pipeline/ssisConnection.py +1 -1
  504. metadata/generated/schema/entity/services/connections/pipeline/stitchConnection.py +1 -1
  505. metadata/generated/schema/entity/services/connections/pipeline/wherescapeConnection.py +1 -1
  506. metadata/generated/schema/entity/services/connections/search/__init__.py +1 -1
  507. metadata/generated/schema/entity/services/connections/search/customSearchConnection.py +1 -1
  508. metadata/generated/schema/entity/services/connections/search/elasticSearch/__init__.py +1 -1
  509. metadata/generated/schema/entity/services/connections/search/elasticSearch/apiAuth.py +1 -1
  510. metadata/generated/schema/entity/services/connections/search/elasticSearch/basicAuth.py +1 -1
  511. metadata/generated/schema/entity/services/connections/search/elasticSearchConnection.py +1 -1
  512. metadata/generated/schema/entity/services/connections/search/openSearchConnection.py +1 -1
  513. metadata/generated/schema/entity/services/connections/security/__init__.py +1 -1
  514. metadata/generated/schema/entity/services/connections/security/ranger/__init__.py +1 -1
  515. metadata/generated/schema/entity/services/connections/security/ranger/basicAuth.py +1 -1
  516. metadata/generated/schema/entity/services/connections/security/rangerConnection.py +1 -1
  517. metadata/generated/schema/entity/services/connections/serviceConnection.py +4 -1
  518. metadata/generated/schema/entity/services/connections/storage/__init__.py +1 -1
  519. metadata/generated/schema/entity/services/connections/storage/adlsConnection.py +1 -1
  520. metadata/generated/schema/entity/services/connections/storage/customStorageConnection.py +1 -1
  521. metadata/generated/schema/entity/services/connections/storage/gcsConnection.py +1 -1
  522. metadata/generated/schema/entity/services/connections/storage/s3Connection.py +1 -1
  523. metadata/generated/schema/entity/services/connections/testConnectionDefinition.py +5 -5
  524. metadata/generated/schema/entity/services/connections/testConnectionResult.py +1 -1
  525. metadata/generated/schema/entity/services/dashboardService.py +4 -4
  526. metadata/generated/schema/entity/services/databaseService.py +7 -4
  527. metadata/generated/schema/entity/services/driveService.py +143 -0
  528. metadata/generated/schema/entity/services/ingestionPipelines/__init__.py +1 -1
  529. metadata/generated/schema/entity/services/ingestionPipelines/ingestionPipeline.py +11 -4
  530. metadata/generated/schema/entity/services/ingestionPipelines/pipelineServiceClientResponse.py +1 -1
  531. metadata/generated/schema/entity/services/ingestionPipelines/reverseIngestionResponse.py +1 -1
  532. metadata/generated/schema/entity/services/ingestionPipelines/status.py +1 -1
  533. metadata/generated/schema/entity/services/messagingService.py +4 -4
  534. metadata/generated/schema/entity/services/metadataService.py +4 -4
  535. metadata/generated/schema/entity/services/mlmodelService.py +4 -4
  536. metadata/generated/schema/entity/services/pipelineService.py +4 -4
  537. metadata/generated/schema/entity/services/searchService.py +4 -4
  538. metadata/generated/schema/entity/services/securityService.py +4 -4
  539. metadata/generated/schema/entity/services/serviceType.py +2 -1
  540. metadata/generated/schema/entity/services/storageService.py +4 -4
  541. metadata/generated/schema/entity/teams/__init__.py +1 -1
  542. metadata/generated/schema/entity/teams/persona.py +11 -4
  543. metadata/generated/schema/entity/teams/role.py +5 -5
  544. metadata/generated/schema/entity/teams/team.py +1 -1
  545. metadata/generated/schema/entity/teams/teamHierarchy.py +1 -1
  546. metadata/generated/schema/entity/teams/user.py +21 -3
  547. metadata/generated/schema/entity/type.py +5 -11
  548. metadata/generated/schema/entity/utils/__init__.py +1 -1
  549. metadata/generated/schema/entity/utils/entitiesCount.py +1 -1
  550. metadata/generated/schema/entity/utils/servicesCount.py +1 -1
  551. metadata/generated/schema/entity/utils/supersetApiConnection.py +1 -1
  552. metadata/generated/schema/events/__init__.py +1 -1
  553. metadata/generated/schema/events/alertMetrics.py +1 -1
  554. metadata/generated/schema/events/api/__init__.py +1 -1
  555. metadata/generated/schema/events/api/createEventSubscription.py +5 -4
  556. metadata/generated/schema/events/api/eventSubscriptionDiagnosticInfo.py +1 -1
  557. metadata/generated/schema/events/api/eventsRecord.py +1 -1
  558. metadata/generated/schema/events/api/testEventSubscriptionDestination.py +1 -1
  559. metadata/generated/schema/events/api/typedEvent.py +1 -1
  560. metadata/generated/schema/events/emailAlertConfig.py +1 -1
  561. metadata/generated/schema/events/eventFilterRule.py +1 -1
  562. metadata/generated/schema/events/eventSubscription.py +5 -5
  563. metadata/generated/schema/events/eventSubscriptionOffset.py +1 -1
  564. metadata/generated/schema/events/failedEvent.py +1 -1
  565. metadata/generated/schema/events/failedEventResponse.py +1 -1
  566. metadata/generated/schema/events/filterResourceDescriptor.py +1 -1
  567. metadata/generated/schema/events/statusContext.py +1 -1
  568. metadata/generated/schema/events/subscriptionResourceDescriptor.py +1 -1
  569. metadata/generated/schema/events/subscriptionStatus.py +1 -1
  570. metadata/generated/schema/events/testDestinationStatus.py +1 -1
  571. metadata/generated/schema/governance/workflows/__init__.py +1 -1
  572. metadata/generated/schema/governance/workflows/elements/__init__.py +1 -1
  573. metadata/generated/schema/governance/workflows/elements/edge.py +1 -1
  574. metadata/generated/schema/governance/workflows/elements/nodeSubType.py +1 -1
  575. metadata/generated/schema/governance/workflows/elements/nodeType.py +1 -1
  576. metadata/generated/schema/governance/workflows/elements/nodes/__init__.py +1 -1
  577. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/__init__.py +1 -1
  578. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/checkEntityAttributesTask.py +1 -1
  579. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/createAndRunIngestionPipelineTask.py +1 -1
  580. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/runAppTask.py +1 -1
  581. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/setEntityCertificationTask.py +1 -1
  582. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/setGlossaryTermStatusTask.py +1 -1
  583. metadata/generated/schema/governance/workflows/elements/nodes/endEvent/__init__.py +1 -1
  584. metadata/generated/schema/governance/workflows/elements/nodes/endEvent/endEvent.py +1 -1
  585. metadata/generated/schema/governance/workflows/elements/nodes/gateway/__init__.py +1 -1
  586. metadata/generated/schema/governance/workflows/elements/nodes/gateway/parallelGateway.py +1 -1
  587. metadata/generated/schema/governance/workflows/elements/nodes/startEvent/__init__.py +1 -1
  588. metadata/generated/schema/governance/workflows/elements/nodes/startEvent/startEvent.py +1 -1
  589. metadata/generated/schema/governance/workflows/elements/nodes/userTask/__init__.py +1 -1
  590. metadata/generated/schema/governance/workflows/elements/nodes/userTask/userApprovalTask.py +1 -1
  591. metadata/generated/schema/governance/workflows/elements/triggers/__init__.py +1 -1
  592. metadata/generated/schema/governance/workflows/elements/triggers/eventBasedEntityTrigger.py +9 -1
  593. metadata/generated/schema/governance/workflows/elements/triggers/noOpTrigger.py +1 -1
  594. metadata/generated/schema/governance/workflows/elements/triggers/periodicBatchEntityTrigger.py +1 -1
  595. metadata/generated/schema/governance/workflows/workflowDefinition.py +1 -1
  596. metadata/generated/schema/governance/workflows/workflowInstance.py +1 -1
  597. metadata/generated/schema/governance/workflows/workflowInstanceState.py +5 -1
  598. metadata/generated/schema/jobs/__init__.py +1 -1
  599. metadata/generated/schema/jobs/backgroundJob.py +1 -1
  600. metadata/generated/schema/jobs/enumCleanupArgs.py +1 -1
  601. metadata/generated/schema/metadataIngestion/__init__.py +1 -1
  602. metadata/generated/schema/metadataIngestion/apiServiceMetadataPipeline.py +1 -1
  603. metadata/generated/schema/metadataIngestion/application.py +1 -1
  604. metadata/generated/schema/metadataIngestion/applicationPipeline.py +1 -1
  605. metadata/generated/schema/metadataIngestion/dashboardServiceMetadataPipeline.py +1 -1
  606. metadata/generated/schema/metadataIngestion/dataInsightPipeline.py +1 -1
  607. metadata/generated/schema/metadataIngestion/databaseServiceAutoClassificationPipeline.py +1 -1
  608. metadata/generated/schema/metadataIngestion/databaseServiceMetadataPipeline.py +1 -1
  609. metadata/generated/schema/metadataIngestion/databaseServiceProfilerPipeline.py +25 -3
  610. metadata/generated/schema/metadataIngestion/databaseServiceQueryLineagePipeline.py +1 -1
  611. metadata/generated/schema/metadataIngestion/databaseServiceQueryUsagePipeline.py +1 -1
  612. metadata/generated/schema/metadataIngestion/dbtPipeline.py +1 -1
  613. metadata/generated/schema/metadataIngestion/dbtconfig/__init__.py +1 -1
  614. metadata/generated/schema/metadataIngestion/dbtconfig/dbtAzureConfig.py +1 -1
  615. metadata/generated/schema/metadataIngestion/dbtconfig/dbtBucketDetails.py +1 -1
  616. metadata/generated/schema/metadataIngestion/dbtconfig/dbtCloudConfig.py +1 -1
  617. metadata/generated/schema/metadataIngestion/dbtconfig/dbtGCSConfig.py +1 -1
  618. metadata/generated/schema/metadataIngestion/dbtconfig/dbtHttpConfig.py +1 -1
  619. metadata/generated/schema/metadataIngestion/dbtconfig/dbtLocalConfig.py +1 -1
  620. metadata/generated/schema/metadataIngestion/dbtconfig/dbtS3Config.py +1 -1
  621. metadata/generated/schema/metadataIngestion/driveServiceMetadataPipeline.py +165 -0
  622. metadata/generated/schema/metadataIngestion/engine/__init__.py +3 -0
  623. metadata/generated/schema/metadataIngestion/engine/nativeEngineConfig.py +23 -0
  624. metadata/generated/schema/metadataIngestion/engine/sparkEngineConfig.py +43 -0
  625. metadata/generated/schema/metadataIngestion/messagingServiceMetadataPipeline.py +1 -1
  626. metadata/generated/schema/metadataIngestion/metadataToElasticSearchPipeline.py +1 -1
  627. metadata/generated/schema/metadataIngestion/mlmodelServiceMetadataPipeline.py +1 -1
  628. metadata/generated/schema/metadataIngestion/pipelineServiceMetadataPipeline.py +1 -1
  629. metadata/generated/schema/metadataIngestion/reverseIngestionPipeline.py +1 -1
  630. metadata/generated/schema/metadataIngestion/reverseingestionconfig/__init__.py +1 -1
  631. metadata/generated/schema/metadataIngestion/reverseingestionconfig/descriptionConfig.py +1 -1
  632. metadata/generated/schema/metadataIngestion/reverseingestionconfig/ownerConfig.py +1 -1
  633. metadata/generated/schema/metadataIngestion/reverseingestionconfig/tagsConfig.py +1 -1
  634. metadata/generated/schema/metadataIngestion/searchServiceMetadataPipeline.py +1 -1
  635. metadata/generated/schema/metadataIngestion/securityServiceMetadataPipeline.py +1 -1
  636. metadata/generated/schema/metadataIngestion/storage/__init__.py +1 -1
  637. metadata/generated/schema/metadataIngestion/storage/containerMetadataConfig.py +1 -1
  638. metadata/generated/schema/metadataIngestion/storage/manifestMetadataConfig.py +1 -1
  639. metadata/generated/schema/metadataIngestion/storage/storageBucketDetails.py +1 -1
  640. metadata/generated/schema/metadataIngestion/storage/storageMetadataADLSConfig.py +1 -1
  641. metadata/generated/schema/metadataIngestion/storage/storageMetadataGCSConfig.py +1 -1
  642. metadata/generated/schema/metadataIngestion/storage/storageMetadataHttpConfig.py +1 -1
  643. metadata/generated/schema/metadataIngestion/storage/storageMetadataLocalConfig.py +1 -1
  644. metadata/generated/schema/metadataIngestion/storage/storageMetadataS3Config.py +1 -1
  645. metadata/generated/schema/metadataIngestion/storageServiceMetadataPipeline.py +1 -1
  646. metadata/generated/schema/metadataIngestion/testSuitePipeline.py +1 -1
  647. metadata/generated/schema/metadataIngestion/workflow.py +3 -1
  648. metadata/generated/schema/monitoring/__init__.py +1 -1
  649. metadata/generated/schema/monitoring/eventMonitorProvider.py +1 -1
  650. metadata/generated/schema/scim/__init__.py +1 -1
  651. metadata/generated/schema/scim/scimConfiguration.py +1 -1
  652. metadata/generated/schema/search/__init__.py +1 -1
  653. metadata/generated/schema/search/aggregationRequest.py +1 -1
  654. metadata/generated/schema/search/searchRequest.py +1 -1
  655. metadata/generated/schema/security/__init__.py +1 -1
  656. metadata/generated/schema/security/client/__init__.py +1 -1
  657. metadata/generated/schema/security/client/auth0SSOClientConfig.py +1 -1
  658. metadata/generated/schema/security/client/azureSSOClientConfig.py +1 -1
  659. metadata/generated/schema/security/client/customOidcSSOClientConfig.py +1 -1
  660. metadata/generated/schema/security/client/googleSSOClientConfig.py +1 -1
  661. metadata/generated/schema/security/client/oidcClientConfig.py +1 -1
  662. metadata/generated/schema/security/client/oktaSSOClientConfig.py +1 -1
  663. metadata/generated/schema/security/client/openMetadataJWTClientConfig.py +1 -1
  664. metadata/generated/schema/security/client/samlSSOClientConfig.py +1 -1
  665. metadata/generated/schema/security/credentials/__init__.py +1 -1
  666. metadata/generated/schema/security/credentials/accessTokenAuth.py +1 -1
  667. metadata/generated/schema/security/credentials/apiAccessTokenAuth.py +1 -1
  668. metadata/generated/schema/security/credentials/awsCredentials.py +1 -1
  669. metadata/generated/schema/security/credentials/azureCredentials.py +1 -1
  670. metadata/generated/schema/security/credentials/basicAuth.py +1 -1
  671. metadata/generated/schema/security/credentials/bitbucketCredentials.py +1 -1
  672. metadata/generated/schema/security/credentials/gcpCredentials.py +1 -1
  673. metadata/generated/schema/security/credentials/gcpExternalAccount.py +1 -1
  674. metadata/generated/schema/security/credentials/gcpValues.py +1 -1
  675. metadata/generated/schema/security/credentials/gitCredentials.py +1 -1
  676. metadata/generated/schema/security/credentials/githubCredentials.py +1 -1
  677. metadata/generated/schema/security/credentials/gitlabCredentials.py +1 -1
  678. metadata/generated/schema/security/credentials/kubernetesCredentials.py +40 -0
  679. metadata/generated/schema/security/sasl/__init__.py +1 -1
  680. metadata/generated/schema/security/sasl/saslClientConfig.py +1 -1
  681. metadata/generated/schema/security/secrets/__init__.py +1 -1
  682. metadata/generated/schema/security/secrets/secretsManagerClientLoader.py +1 -1
  683. metadata/generated/schema/security/secrets/secretsManagerConfiguration.py +1 -1
  684. metadata/generated/schema/security/secrets/secretsManagerProvider.py +2 -1
  685. metadata/generated/schema/security/securityConfiguration.py +1 -1
  686. metadata/generated/schema/security/ssl/__init__.py +1 -1
  687. metadata/generated/schema/security/ssl/validateSSLClientConfig.py +1 -1
  688. metadata/generated/schema/security/ssl/verifySSLConfig.py +1 -1
  689. metadata/generated/schema/settings/__init__.py +1 -1
  690. metadata/generated/schema/settings/settings.py +4 -1
  691. metadata/generated/schema/system/__init__.py +1 -1
  692. metadata/generated/schema/system/entityError.py +1 -1
  693. metadata/generated/schema/system/eventPublisherJob.py +1 -1
  694. metadata/generated/schema/system/indexingError.py +1 -1
  695. metadata/generated/schema/system/limitsResponse.py +1 -1
  696. metadata/generated/schema/system/ui/__init__.py +1 -1
  697. metadata/generated/schema/system/ui/knowledgePanel.py +1 -1
  698. metadata/generated/schema/system/ui/navigationItem.py +1 -1
  699. metadata/generated/schema/system/ui/page.py +5 -4
  700. metadata/generated/schema/system/ui/tab.py +1 -1
  701. metadata/generated/schema/system/ui/uiCustomization.py +9 -2
  702. metadata/generated/schema/system/validationResponse.py +1 -1
  703. metadata/generated/schema/tests/__init__.py +1 -1
  704. metadata/generated/schema/tests/assigned.py +1 -1
  705. metadata/generated/schema/tests/basic.py +1 -1
  706. metadata/generated/schema/tests/customMetric.py +1 -1
  707. metadata/generated/schema/tests/dataQualityReport.py +1 -1
  708. metadata/generated/schema/tests/resolved.py +1 -1
  709. metadata/generated/schema/tests/testCase.py +4 -4
  710. metadata/generated/schema/tests/testCaseResolutionStatus.py +1 -1
  711. metadata/generated/schema/tests/testDefinition.py +5 -5
  712. metadata/generated/schema/tests/testSuite.py +11 -4
  713. metadata/generated/schema/type/__init__.py +1 -1
  714. metadata/generated/schema/type/apiSchema.py +1 -1
  715. metadata/generated/schema/type/assetCertification.py +1 -1
  716. metadata/generated/schema/type/auditLog.py +1 -1
  717. metadata/generated/schema/type/basic.py +43 -1
  718. metadata/generated/schema/type/bulkOperationResult.py +1 -1
  719. metadata/generated/schema/type/changeEvent.py +5 -7
  720. metadata/generated/schema/type/changeEventType.py +1 -1
  721. metadata/generated/schema/type/changeSummaryMap.py +1 -1
  722. metadata/generated/schema/type/collectionDescriptor.py +1 -1
  723. metadata/generated/schema/type/contractExecutionStatus.py +16 -0
  724. metadata/generated/schema/type/csvDocumentation.py +1 -1
  725. metadata/generated/schema/type/csvErrorType.py +1 -1
  726. metadata/generated/schema/type/csvFile.py +1 -1
  727. metadata/generated/schema/type/csvImportResult.py +1 -1
  728. metadata/generated/schema/type/customProperties/__init__.py +1 -1
  729. metadata/generated/schema/type/customProperties/complexTypes.py +1 -1
  730. metadata/generated/schema/type/customProperties/enumConfig.py +1 -1
  731. metadata/generated/schema/type/customProperties/tableConfig.py +1 -1
  732. metadata/generated/schema/type/customProperty.py +1 -1
  733. metadata/generated/schema/type/dailyCount.py +1 -1
  734. metadata/generated/schema/type/databaseConnectionConfig.py +1 -1
  735. metadata/generated/schema/type/entityHierarchy.py +1 -1
  736. metadata/generated/schema/type/entityHistory.py +1 -1
  737. metadata/generated/schema/type/entityLineage.py +1 -1
  738. metadata/generated/schema/type/entityReference.py +1 -1
  739. metadata/generated/schema/type/entityReferenceList.py +1 -1
  740. metadata/generated/schema/type/{entityRelationship.py → entityRelationship/__init__.py} +2 -2
  741. metadata/generated/schema/type/entityRelationship/nodeInformation.py +25 -0
  742. metadata/generated/schema/type/entityUsage.py +1 -1
  743. metadata/generated/schema/type/filterPattern.py +1 -1
  744. metadata/generated/schema/type/function.py +1 -1
  745. metadata/generated/schema/type/include.py +1 -1
  746. metadata/generated/schema/type/jdbcConnection.py +1 -1
  747. metadata/generated/schema/type/layerPaging.py +24 -0
  748. metadata/generated/schema/type/lifeCycle.py +1 -1
  749. metadata/generated/schema/type/paging.py +1 -1
  750. metadata/generated/schema/type/personaPreferences.py +48 -0
  751. metadata/generated/schema/type/profile.py +1 -1
  752. metadata/generated/schema/type/queryParserData.py +1 -1
  753. metadata/generated/schema/type/reaction.py +1 -1
  754. metadata/generated/schema/type/schedule.py +1 -1
  755. metadata/generated/schema/type/schema.py +1 -1
  756. metadata/generated/schema/type/tableQuery.py +1 -1
  757. metadata/generated/schema/type/tableUsageCount.py +1 -1
  758. metadata/generated/schema/type/tagLabel.py +1 -1
  759. metadata/generated/schema/type/usageDetails.py +1 -1
  760. metadata/generated/schema/type/usageRequest.py +1 -1
  761. metadata/generated/schema/type/votes.py +1 -1
  762. metadata/ingestion/api/parser.py +13 -0
  763. metadata/ingestion/connections/connection.py +18 -1
  764. metadata/ingestion/lineage/sql_lineage.py +21 -0
  765. metadata/ingestion/models/custom_properties.py +3 -3
  766. metadata/ingestion/models/patch_request.py +36 -4
  767. metadata/ingestion/ometa/mixins/data_contract_mixin.py +205 -0
  768. metadata/ingestion/ometa/mixins/patch_mixin.py +131 -55
  769. metadata/ingestion/ometa/ometa_api.py +4 -1
  770. metadata/ingestion/ometa/routes.py +32 -0
  771. metadata/ingestion/sink/metadata_rest.py +51 -0
  772. metadata/ingestion/source/api/rest/metadata.py +1 -0
  773. metadata/ingestion/source/connections.py +1 -1
  774. metadata/ingestion/source/dashboard/superset/connection.py +5 -7
  775. metadata/ingestion/source/dashboard/tableau/client.py +4 -4
  776. metadata/ingestion/source/dashboard/tableau/metadata.py +1 -0
  777. metadata/ingestion/source/database/datalake/connection.py +51 -73
  778. metadata/ingestion/source/database/datalake/metadata.py +3 -4
  779. metadata/ingestion/source/database/datalake/service_spec.py +2 -0
  780. metadata/ingestion/source/database/dbt/constants.py +17 -1
  781. metadata/ingestion/source/database/dbt/dbt_service.py +30 -1
  782. metadata/ingestion/source/database/dbt/metadata.py +135 -0
  783. metadata/ingestion/source/database/deltalake/clients/pyspark.py +1 -1
  784. metadata/ingestion/source/database/exasol/connection.py +14 -3
  785. metadata/ingestion/source/database/exasol/queries.py +13 -0
  786. metadata/ingestion/source/database/mysql/connection.py +13 -19
  787. metadata/ingestion/source/database/oracle/metadata.py +1 -1
  788. metadata/ingestion/source/database/oracle/utils.py +19 -0
  789. metadata/ingestion/source/database/postgres/connection.py +51 -48
  790. metadata/ingestion/source/database/postgres/service_spec.py +2 -0
  791. metadata/ingestion/source/database/sample_data.py +661 -2
  792. metadata/ingestion/source/database/snowflake/connection.py +196 -162
  793. metadata/ingestion/source/database/snowflake/service_spec.py +2 -0
  794. metadata/ingestion/source/database/trino/connection.py +279 -125
  795. metadata/ingestion/source/database/trino/service_spec.py +2 -0
  796. metadata/ingestion/source/database/unitycatalog/connection.py +20 -3
  797. metadata/ingestion/source/database/unitycatalog/queries.py +37 -1
  798. metadata/ingestion/source/database/unitycatalog/query_parser.py +4 -0
  799. metadata/ingestion/source/database/unitycatalog/usage.py +21 -35
  800. metadata/ingestion/source/drive/drive_service.py +648 -0
  801. metadata/ingestion/source/drives/__init__.py +13 -0
  802. metadata/ingestion/source/pipeline/airflow/metadata.py +33 -10
  803. metadata/ingestion/source/pipeline/fivetran/metadata.py +2 -2
  804. metadata/profiler/processor/processor.py +18 -3
  805. metadata/profiler/source/database/base/profiler_resolver.py +5 -2
  806. metadata/profiler/source/database/base/profiler_source.py +8 -1
  807. metadata/profiler/source/profiler_source_interface.py +11 -2
  808. metadata/sampler/pandas/sampler.py +1 -1
  809. metadata/sampler/processor.py +19 -3
  810. metadata/sampler/sampler_interface.py +7 -0
  811. metadata/utils/credentials.py +35 -0
  812. metadata/utils/db_utils.py +4 -0
  813. metadata/utils/filters.py +60 -0
  814. metadata/utils/fqn.py +79 -0
  815. metadata/utils/logger.py +9 -0
  816. metadata/utils/metadata_service_helper.py +1 -1
  817. metadata/utils/secrets/kubernetes_secrets_manager.py +176 -0
  818. metadata/utils/secrets/secrets_manager_factory.py +3 -0
  819. metadata/workflow/ingestion.py +15 -2
  820. {openmetadata_ingestion-1.8.10.0.dist-info → openmetadata_ingestion-1.9.0.0.dist-info}/METADATA +541 -534
  821. {openmetadata_ingestion-1.8.10.0.dist-info → openmetadata_ingestion-1.9.0.0.dist-info}/RECORD +825 -780
  822. metadata/ingestion/source/database/extended_sample_data.py +0 -534
  823. {openmetadata_ingestion-1.8.10.0.dist-info → openmetadata_ingestion-1.9.0.0.dist-info}/LICENSE +0 -0
  824. {openmetadata_ingestion-1.8.10.0.dist-info → openmetadata_ingestion-1.9.0.0.dist-info}/WHEEL +0 -0
  825. {openmetadata_ingestion-1.8.10.0.dist-info → openmetadata_ingestion-1.9.0.0.dist-info}/entry_points.txt +0 -0
  826. {openmetadata_ingestion-1.8.10.0.dist-info → openmetadata_ingestion-1.9.0.0.dist-info}/top_level.txt +0 -0
@@ -433,18 +433,41 @@ class AirflowSource(PipelineServiceSource):
433
433
  - `owners`: Applied at the tasks. In Airflow's source code, DAG ownership is then a
434
434
  list joined with the owners of all the tasks.
435
435
 
436
- We will pick the owner from the tasks that appears in most tasks.
436
+ We will pick the owner from the tasks that appears in most tasks,
437
+ or fall back to the default_args owner if available.
437
438
  """
438
439
  try:
439
- if self.source_config.includeOwners:
440
- task_owners = [
441
- task.get("owner")
442
- for task in data.get("tasks", [])
443
- if task.get("owner") is not None
444
- ]
445
- if task_owners:
446
- most_common_owner, _ = Counter(task_owners).most_common(1)[0]
447
- return most_common_owner
440
+ if not self.source_config.includeOwners:
441
+ return None
442
+
443
+ tasks = data.get("tasks", [])
444
+ task_owners = []
445
+
446
+ # Handle default_args.owner (wrapped or not)
447
+ default_args = data.get("default_args", {})
448
+ if isinstance(default_args, dict) and "__var" in default_args:
449
+ default_args = default_args["__var"]
450
+ default_owner = default_args.get("owner")
451
+
452
+ for task in tasks:
453
+ # Flatten serialized task
454
+ task_data = (
455
+ task.get("__var")
456
+ if isinstance(task, dict) and "__var" in task
457
+ else task
458
+ )
459
+
460
+ owner = task_data.get("owner") or default_owner
461
+
462
+ if owner:
463
+ task_owners.append(owner)
464
+
465
+ if task_owners:
466
+ most_common_owner, _ = Counter(task_owners).most_common(1)[0]
467
+ return most_common_owner
468
+
469
+ return default_owner
470
+
448
471
  except Exception as exc:
449
472
  self.status.warning(
450
473
  data.get("dag_id"), f"Could not extract owner information due to {exc}"
@@ -9,7 +9,7 @@
9
9
  # See the License for the specific language governing permissions and
10
10
  # limitations under the License.
11
11
  """
12
- Airbyte source to extract metadata
12
+ Fivetran source to extract metadata
13
13
  """
14
14
 
15
15
  import traceback
@@ -166,7 +166,7 @@ class FivetranSource(PipelineServiceSource):
166
166
  ) -> Iterable[Either[AddLineageRequest]]:
167
167
  """
168
168
  Parse all the stream available in the connection and create a lineage between them
169
- :param pipeline_details: pipeline_details object from airbyte
169
+ :param pipeline_details: pipeline_details object from fivetran
170
170
  :return: Lineage from inlets and outlets
171
171
  """
172
172
  self.client = cast(FivetranClient, self.client)
@@ -12,7 +12,7 @@
12
12
  Profiler Processor Step
13
13
  """
14
14
  import traceback
15
- from typing import Optional, cast
15
+ from typing import Optional, Type, cast
16
16
 
17
17
  from metadata.generated.schema.entity.services.ingestionPipelines.status import (
18
18
  StackTraceError,
@@ -31,6 +31,11 @@ from metadata.ingestion.ometa.ometa_api import OpenMetadata
31
31
  from metadata.profiler.api.models import ProfilerProcessorConfig, ProfilerResponse
32
32
  from metadata.profiler.processor.core import Profiler
33
33
  from metadata.profiler.source.model import ProfilerSourceAndEntity
34
+ from metadata.utils.dependency_injector.dependency_injector import (
35
+ DependencyNotFoundError,
36
+ Inject,
37
+ inject,
38
+ )
34
39
 
35
40
 
36
41
  class ProfilerProcessor(Processor):
@@ -39,11 +44,21 @@ class ProfilerProcessor(Processor):
39
44
  the OpenMetadataSource and compute the metrics.
40
45
  """
41
46
 
42
- def __init__(self, config: OpenMetadataWorkflowConfig):
47
+ @inject
48
+ def __init__(
49
+ self,
50
+ config: OpenMetadataWorkflowConfig,
51
+ profiler_config_class: Inject[Type[ProfilerProcessorConfig]] = None,
52
+ ):
53
+ if profiler_config_class is None:
54
+ raise DependencyNotFoundError(
55
+ "ProfilerProcessorConfig class not found. Please ensure the ProfilerProcessorConfig is properly registered."
56
+ )
57
+
43
58
  super().__init__()
44
59
 
45
60
  self.config = config
46
- self.profiler_config = ProfilerProcessorConfig.model_validate(
61
+ self.profiler_config = profiler_config_class.model_validate(
47
62
  self.config.processor.model_dump().get("config")
48
63
  )
49
64
  self.source_config: DatabaseServiceProfilerPipeline = cast(
@@ -2,6 +2,9 @@ from abc import ABC, abstractmethod
2
2
  from typing import Tuple, Type
3
3
 
4
4
  from metadata.generated.schema.entity.services.serviceType import ServiceType
5
+ from metadata.generated.schema.metadataIngestion.databaseServiceProfilerPipeline import (
6
+ ProcessingEngine,
7
+ )
5
8
  from metadata.profiler.interface.profiler_interface import ProfilerInterface
6
9
  from metadata.sampler.sampler_interface import SamplerInterface
7
10
  from metadata.utils.service_spec.service_spec import (
@@ -16,7 +19,7 @@ class ProfilerResolver(ABC):
16
19
  @staticmethod
17
20
  @abstractmethod
18
21
  def resolve(
19
- processing_engine: str, service_type: ServiceType, source_type: str
22
+ processing_engine: ProcessingEngine, service_type: ServiceType, source_type: str
20
23
  ) -> Tuple[Type[SamplerInterface], Type[ProfilerInterface]]:
21
24
  """Resolve the sampler and profiler based on the processing engine."""
22
25
  raise NotImplementedError
@@ -27,7 +30,7 @@ class DefaultProfilerResolver(ProfilerResolver):
27
30
 
28
31
  @staticmethod
29
32
  def resolve(
30
- processing_engine: str, service_type: ServiceType, source_type: str
33
+ processing_engine: ProcessingEngine, service_type: ServiceType, source_type: str
31
34
  ) -> Tuple[Type[SamplerInterface], Type[ProfilerInterface]]:
32
35
  """Resolve the sampler and profiler based on the processing engine."""
33
36
  sampler_class = import_sampler_class(service_type, source_type=source_type)
@@ -61,16 +61,23 @@ class ProfilerSource(ProfilerSourceInterface):
61
61
  Base class for the profiler source
62
62
  """
63
63
 
64
+ @inject
64
65
  def __init__(
65
66
  self,
66
67
  config: OpenMetadataWorkflowConfig,
67
68
  database: Database,
68
69
  ometa_client: OpenMetadata,
69
70
  global_profiler_configuration: ProfilerConfiguration,
71
+ profiler_config_class: Inject[Type[ProfilerProcessorConfig]] = None,
70
72
  ):
73
+ if profiler_config_class is None:
74
+ raise DependencyNotFoundError(
75
+ "ProfilerProcessorConfig class not found. Please ensure the ProfilerProcessorConfig is properly registered."
76
+ )
77
+
71
78
  self.config = config
72
79
  self.service_conn_config = self._copy_service_config(config, database)
73
- self.profiler_config = ProfilerProcessorConfig.model_validate(
80
+ self.profiler_config = profiler_config_class.model_validate(
74
81
  config.processor.model_dump().get("config")
75
82
  )
76
83
  self.ometa_client = ometa_client
@@ -18,6 +18,11 @@ from typing import Optional
18
18
 
19
19
  from metadata.generated.schema.metadataIngestion.databaseServiceProfilerPipeline import (
20
20
  DatabaseServiceProfilerPipeline,
21
+ ProcessingEngine,
22
+ )
23
+ from metadata.generated.schema.metadataIngestion.engine.nativeEngineConfig import (
24
+ NativeEngineConfiguration,
25
+ Type,
21
26
  )
22
27
  from metadata.profiler.interface.profiler_interface import ProfilerInterface
23
28
 
@@ -43,6 +48,10 @@ class ProfilerSourceInterface(ABC):
43
48
  raise NotImplementedError
44
49
 
45
50
  @staticmethod
46
- def get_processing_engine(config: DatabaseServiceProfilerPipeline):
51
+ def get_processing_engine(
52
+ config: DatabaseServiceProfilerPipeline,
53
+ ) -> ProcessingEngine:
47
54
  """Get the processing engine based on the configuration."""
48
- return "Native"
55
+ return config.processingEngine or ProcessingEngine(
56
+ root=NativeEngineConfiguration(type=Type.Native)
57
+ )
@@ -60,7 +60,7 @@ class DatalakeSampler(SamplerInterface, PandasInterfaceMixin):
60
60
  return self._table
61
61
 
62
62
  def get_client(self):
63
- return self.connection.client
63
+ return self.connection
64
64
 
65
65
  def _partitioned_table(self):
66
66
  """Get partitioned table"""
@@ -13,7 +13,7 @@ Data Sampler for the PII Workflow
13
13
  """
14
14
  import traceback
15
15
  from copy import deepcopy
16
- from typing import Optional, cast
16
+ from typing import Optional, Type, cast
17
17
 
18
18
  from metadata.generated.schema.entity.data.database import Database
19
19
  from metadata.generated.schema.entity.data.table import Table
@@ -42,6 +42,11 @@ from metadata.sampler.config import get_config_for_table
42
42
  from metadata.sampler.models import SampleConfig, SampleData, SamplerResponse
43
43
  from metadata.sampler.sampler_interface import SamplerInterface
44
44
  from metadata.utils.bigquery_utils import copy_service_config
45
+ from metadata.utils.dependency_injector.dependency_injector import (
46
+ DependencyNotFoundError,
47
+ Inject,
48
+ inject,
49
+ )
45
50
  from metadata.utils.profiler_utils import get_context_entities
46
51
  from metadata.utils.service_spec.service_spec import import_sampler_class
47
52
 
@@ -49,7 +54,18 @@ from metadata.utils.service_spec.service_spec import import_sampler_class
49
54
  class SamplerProcessor(Processor):
50
55
  """Use the profiler interface to fetch the sample data"""
51
56
 
52
- def __init__(self, config: OpenMetadataWorkflowConfig, metadata: OpenMetadata):
57
+ @inject
58
+ def __init__(
59
+ self,
60
+ config: OpenMetadataWorkflowConfig,
61
+ metadata: OpenMetadata,
62
+ profiler_config_class: Inject[Type[ProfilerProcessorConfig]] = None,
63
+ ):
64
+ if profiler_config_class is None:
65
+ raise DependencyNotFoundError(
66
+ "ProfilerProcessorConfig class not found. Please ensure the ProfilerProcessorConfig is properly registered."
67
+ )
68
+
53
69
  super().__init__()
54
70
 
55
71
  self.config = config
@@ -60,7 +76,7 @@ class SamplerProcessor(Processor):
60
76
  self.config.source.sourceConfig.config,
61
77
  ) # Used to satisfy type checked
62
78
  # We still rely on the orm-processor. We should decouple this in the future
63
- self.profiler_config = ProfilerProcessorConfig.model_validate(
79
+ self.profiler_config = profiler_config_class.model_validate(
64
80
  self.config.processor.model_dump().get("config")
65
81
  )
66
82
 
@@ -30,6 +30,9 @@ from metadata.generated.schema.entity.services.connections.database.datalakeConn
30
30
  DatalakeConnection,
31
31
  )
32
32
  from metadata.generated.schema.entity.services.databaseService import DatabaseConnection
33
+ from metadata.generated.schema.metadataIngestion.databaseServiceProfilerPipeline import (
34
+ ProcessingEngine,
35
+ )
33
36
  from metadata.ingestion.ometa.ometa_api import OpenMetadata
34
37
  from metadata.profiler.api.models import TableConfig
35
38
  from metadata.profiler.processor.sample_data_handler import upload_sample_data
@@ -70,6 +73,7 @@ class SamplerInterface(ABC):
70
73
  sample_query: Optional[str] = None,
71
74
  storage_config: Optional[DataStorageConfig] = None,
72
75
  sample_data_count: Optional[int] = SAMPLE_DATA_DEFAULT_COUNT,
76
+ processing_engine: Optional[ProcessingEngine] = None,
73
77
  **__,
74
78
  ):
75
79
  self.ometa_client = ometa_client
@@ -84,6 +88,7 @@ class SamplerInterface(ABC):
84
88
  self.sample_limit = sample_data_count
85
89
  self.partition_details = partition_details
86
90
  self.storage_config = storage_config
91
+ self.processing_engine = processing_engine
87
92
 
88
93
  self.service_connection_config = service_connection_config
89
94
  self.connection = get_ssl_connection(self.service_connection_config)
@@ -101,6 +106,7 @@ class SamplerInterface(ABC):
101
106
  storage_config: Optional[DataStorageConfig] = None,
102
107
  default_sample_config: Optional[SampleConfig] = None,
103
108
  default_sample_data_count: int = SAMPLE_DATA_DEFAULT_COUNT,
109
+ processing_engine: Optional[ProcessingEngine] = None,
104
110
  **kwargs,
105
111
  ) -> "SamplerInterface":
106
112
  """Create sampler"""
@@ -137,6 +143,7 @@ class SamplerInterface(ABC):
137
143
  sample_query=sample_query,
138
144
  storage_config=storage_config,
139
145
  sample_data_count=sample_data_count,
146
+ processing_engine=processing_engine,
140
147
  **kwargs,
141
148
  )
142
149
 
@@ -21,6 +21,10 @@ from cryptography.hazmat.primitives import serialization
21
21
  from google import auth
22
22
  from google.auth import impersonated_credentials
23
23
 
24
+ from metadata.clients.azure_client import AzureClient
25
+ from metadata.generated.schema.entity.services.connections.database.common.azureConfig import (
26
+ AzureConfigurationSource,
27
+ )
24
28
  from metadata.generated.schema.security.credentials.gcpCredentials import (
25
29
  GcpADC,
26
30
  GCPCredentials,
@@ -237,3 +241,34 @@ def get_gcp_impersonate_credentials(
237
241
  target_scopes=scopes,
238
242
  lifetime=lifetime,
239
243
  )
244
+
245
+
246
+ def get_azure_access_token(azure_config: AzureConfigurationSource) -> str:
247
+ """
248
+ Get Azure access token using the provided Azure configuration.
249
+
250
+ Args:
251
+ azure_config: Azure configuration containing the necessary credentials and scopes
252
+
253
+ Returns:
254
+ str: The access token
255
+
256
+ Raises:
257
+ ValueError: If Azure config is missing or scopes are not provided
258
+ """
259
+ if not azure_config.azureConfig:
260
+ raise ValueError("Azure Config is missing")
261
+
262
+ if not azure_config.azureConfig.scopes:
263
+ raise ValueError(
264
+ "Azure Scopes are missing, please refer https://learn.microsoft.com/"
265
+ "en-gb/azure/mysql/flexible-server/how-to-azure-ad#2---retrieve-microsoft-entra-access-token "
266
+ "and fetch the resource associated with it, for e.g. https://ossrdbms-aad.database.windows.net/.default"
267
+ )
268
+
269
+ azure_client = AzureClient(azure_config.azureConfig).create_client()
270
+ access_token_obj = azure_client.get_token(
271
+ *azure_config.azureConfig.scopes.split(",")
272
+ )
273
+
274
+ return access_token_obj.token
@@ -60,6 +60,7 @@ def get_view_lineage(
60
60
  table_name = view.table_name
61
61
  schema_name = view.schema_name
62
62
  db_name = view.db_name
63
+ schema_fallback = False
63
64
  view_definition = view.view_definition
64
65
  table_fqn = fqn.build(
65
66
  metadata,
@@ -88,6 +89,7 @@ def get_view_lineage(
88
89
  if table_entity.serviceType == DatabaseServiceType.Postgres:
89
90
  # For Postgres, if schema is not defined, we need to use the public schema
90
91
  schema_name = PUBLIC_SCHEMA
92
+ schema_fallback = True
91
93
 
92
94
  if lineage_parser.source_tables and lineage_parser.target_tables:
93
95
  yield from get_lineage_by_query(
@@ -99,6 +101,7 @@ def get_view_lineage(
99
101
  dialect=dialect,
100
102
  timeout_seconds=timeout_seconds,
101
103
  lineage_source=LineageSource.ViewLineage,
104
+ schema_fallback=schema_fallback,
102
105
  ) or []
103
106
 
104
107
  else:
@@ -112,6 +115,7 @@ def get_view_lineage(
112
115
  dialect=dialect,
113
116
  timeout_seconds=timeout_seconds,
114
117
  lineage_source=LineageSource.ViewLineage,
118
+ schema_fallback=schema_fallback,
115
119
  ) or []
116
120
  except Exception as exc:
117
121
  logger.debug(traceback.format_exc())
metadata/utils/filters.py CHANGED
@@ -338,3 +338,63 @@ def filter_by_tag(tag_pattern: Optional[FilterPattern], tag_name: str) -> bool:
338
338
  :return: True for filtering, False otherwise
339
339
  """
340
340
  return _filter(tag_pattern, tag_name)
341
+
342
+
343
+ def filter_by_spreadsheet(
344
+ spreadsheet_filter_pattern: Optional[FilterPattern], spreadsheet_name: str
345
+ ) -> bool:
346
+ """
347
+ Return True if the spreadsheet needs to be filtered, False otherwise
348
+
349
+ Include takes precedence over exclude
350
+
351
+ :param spreadsheet_filter_pattern: Model defining spreadsheet filtering logic
352
+ :param spreadsheet_name: spreadsheet name
353
+ :return: True for filtering, False otherwise
354
+ """
355
+ return _filter(spreadsheet_filter_pattern, spreadsheet_name)
356
+
357
+
358
+ def filter_by_directory(
359
+ directory_filter_pattern: Optional[FilterPattern], directory_name: str
360
+ ) -> bool:
361
+ """
362
+ Return True if the directory needs to be filtered, False otherwise
363
+
364
+ Include takes precedence over exclude
365
+
366
+ :param directory_filter_pattern: Model defining directory filtering logic
367
+ :param directory_name: directory name
368
+ :return: True for filtering, False otherwise
369
+ """
370
+ return _filter(directory_filter_pattern, directory_name)
371
+
372
+
373
+ def filter_by_file(
374
+ file_filter_pattern: Optional[FilterPattern], file_name: str
375
+ ) -> bool:
376
+ """
377
+ Return True if the file needs to be filtered, False otherwise
378
+
379
+ Include takes precedence over exclude
380
+
381
+ :param file_filter_pattern: Model defining file filtering logic
382
+ :param file_name: file name
383
+ :return: True for filtering, False otherwise
384
+ """
385
+ return _filter(file_filter_pattern, file_name)
386
+
387
+
388
+ def filter_by_worksheet(
389
+ worksheet_filter_pattern: Optional[FilterPattern], worksheet_name: str
390
+ ) -> bool:
391
+ """
392
+ Return True if the worksheet needs to be filtered, False otherwise
393
+
394
+ Include takes precedence over exclude
395
+
396
+ :param worksheet_filter_pattern: Model defining worksheet filtering logic
397
+ :param worksheet_name: worksheet name
398
+ :return: True for filtering, False otherwise
399
+ """
400
+ return _filter(worksheet_filter_pattern, worksheet_name)
metadata/utils/fqn.py CHANGED
@@ -34,13 +34,18 @@ from metadata.generated.schema.entity.data.dashboard import Dashboard
34
34
  from metadata.generated.schema.entity.data.dashboardDataModel import DashboardDataModel
35
35
  from metadata.generated.schema.entity.data.database import Database
36
36
  from metadata.generated.schema.entity.data.databaseSchema import DatabaseSchema
37
+ from metadata.generated.schema.entity.data.directory import Directory
38
+ from metadata.generated.schema.entity.data.file import File
37
39
  from metadata.generated.schema.entity.data.mlmodel import MlModel
38
40
  from metadata.generated.schema.entity.data.pipeline import Pipeline
39
41
  from metadata.generated.schema.entity.data.query import Query
40
42
  from metadata.generated.schema.entity.data.searchIndex import SearchIndex
43
+ from metadata.generated.schema.entity.data.spreadsheet import Spreadsheet
41
44
  from metadata.generated.schema.entity.data.storedProcedure import StoredProcedure
42
45
  from metadata.generated.schema.entity.data.table import Column, DataModel, Table
43
46
  from metadata.generated.schema.entity.data.topic import Topic
47
+ from metadata.generated.schema.entity.data.worksheet import Worksheet
48
+ from metadata.generated.schema.entity.services.driveService import DriveService
44
49
  from metadata.generated.schema.entity.teams.team import Team
45
50
  from metadata.generated.schema.entity.teams.user import User
46
51
  from metadata.generated.schema.tests.testCase import TestCase
@@ -545,6 +550,80 @@ def _(
545
550
  return _build(service_name, query_checksum)
546
551
 
547
552
 
553
+ @fqn_build_registry.add(DriveService)
554
+ def _(
555
+ _: Optional[OpenMetadata], # ES Index not necessary for dashboard FQN building
556
+ *,
557
+ service_name: str,
558
+ ) -> str:
559
+ return _build(service_name)
560
+
561
+
562
+ @fqn_build_registry.add(Directory)
563
+ def _(
564
+ _: Optional[OpenMetadata], # ES Index not necessary for directory FQN building
565
+ *,
566
+ service_name: str,
567
+ directory_path: List[str],
568
+ ) -> str:
569
+ if not service_name:
570
+ raise FQNBuildingException(
571
+ f"Service name should be informed, but got service=`{service_name}`"
572
+ )
573
+
574
+ if not directory_path:
575
+ raise FQNBuildingException("Directory path should not be empty")
576
+
577
+ return _build(service_name, *directory_path)
578
+
579
+
580
+ @fqn_build_registry.add(File)
581
+ def _(
582
+ _: Optional[OpenMetadata], # ES Index not necessary for file FQN building
583
+ *,
584
+ service_name: str,
585
+ directory_path: List[str],
586
+ file_name: str,
587
+ ) -> str:
588
+ if not service_name or not file_name:
589
+ raise FQNBuildingException(
590
+ f"Args should be informed, but got service=`{service_name}`, file=`{file_name}`"
591
+ )
592
+ if not directory_path:
593
+ raise FQNBuildingException("Directory path should not be empty")
594
+ return _build(service_name, *directory_path, file_name)
595
+
596
+
597
+ @fqn_build_registry.add(Worksheet)
598
+ def _(
599
+ _: Optional[OpenMetadata], # ES Index not necessary for dashboard FQN building
600
+ *,
601
+ service_name: str,
602
+ spreadsheet_name: str,
603
+ worksheet_name: str,
604
+ ) -> str:
605
+ if not service_name or not spreadsheet_name or not worksheet_name:
606
+ raise FQNBuildingException(
607
+ f"Args should be informed, but got service=`{service_name}`, "
608
+ f"spreadsheet=`{spreadsheet_name}`, worksheet=`{worksheet_name}``"
609
+ )
610
+ return _build(service_name, spreadsheet_name, worksheet_name)
611
+
612
+
613
+ @fqn_build_registry.add(Spreadsheet)
614
+ def _(
615
+ _: Optional[OpenMetadata], # ES Index not necessary for dashboard FQN building
616
+ *,
617
+ service_name: str,
618
+ spreadsheet_name: str,
619
+ ) -> str:
620
+ if not service_name or not spreadsheet_name:
621
+ raise FQNBuildingException(
622
+ f"Args should be informed, but got service=`{service_name}`, spreadsheet=`{spreadsheet_name}``"
623
+ )
624
+ return _build(service_name, spreadsheet_name)
625
+
626
+
548
627
  def split_table_name(table_name: str) -> Dict[str, Optional[str]]:
549
628
  """
550
629
  Given a table name, try to extract database, schema and
metadata/utils/logger.py CHANGED
@@ -25,6 +25,9 @@ from metadata.data_quality.api.models import (
25
25
  TestCaseResults,
26
26
  )
27
27
  from metadata.generated.schema.api.lineage.addLineage import AddLineageRequest
28
+ from metadata.generated.schema.entity.datacontract.dataContractResult import (
29
+ DataContractResult,
30
+ )
28
31
  from metadata.generated.schema.type.queryParserData import QueryParserData
29
32
  from metadata.generated.schema.type.tableQuery import TableQueries
30
33
  from metadata.ingestion.api.models import Entity
@@ -301,6 +304,12 @@ def _(record: QueryParserData) -> str:
301
304
  return f"Usage ParsedData [{len(record.parsedData)}]"
302
305
 
303
306
 
307
+ @get_log_name.register
308
+ def _(record: DataContractResult) -> str:
309
+ """Get the log of the DataContractResult"""
310
+ return f"DataContractResult for [{record.dataContractFQN.root}]; status: {record.contractExecutionStatus.value}]"
311
+
312
+
304
313
  def redacted_config(config: Dict[str, Union[str, dict]]) -> Dict[str, Union[str, dict]]:
305
314
  config_copy = deepcopy(config)
306
315
 
@@ -83,7 +83,7 @@ SERVICE_TYPE_MAPPER = {
83
83
  "connection": {"config": {"awsConfig": "aws_config"}},
84
84
  },
85
85
  "snowflake": {
86
- "service_nmae": "Snowflake",
86
+ "service_name": "Snowflake",
87
87
  "connection": {
88
88
  "config": {
89
89
  "username": "randomName",