openmetadata-ingestion 1.9.13.0__py3-none-any.whl → 1.10.1.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.

Potentially problematic release.


This version of openmetadata-ingestion might be problematic. Click here for more details.

Files changed (960) hide show
  1. metadata/cli/common.py +0 -1
  2. metadata/examples/workflows/bigquery.yaml +1 -0
  3. metadata/examples/workflows/databricks.yaml +9 -1
  4. metadata/examples/workflows/databricks_usage.yaml +7 -1
  5. metadata/examples/workflows/metabase.yaml +1 -0
  6. metadata/examples/workflows/unity_catalog.yaml +7 -1
  7. metadata/examples/workflows/unity_catalog_usage.yaml +7 -1
  8. metadata/generated/antlr/EntityLinkLexer.py +406 -432
  9. metadata/generated/schema/analytics/__init__.py +1 -1
  10. metadata/generated/schema/analytics/basic.py +1 -1
  11. metadata/generated/schema/analytics/reportData.py +1 -1
  12. metadata/generated/schema/analytics/reportDataType/__init__.py +1 -1
  13. metadata/generated/schema/analytics/reportDataType/aggregatedCostAnalysisReportData.py +1 -1
  14. metadata/generated/schema/analytics/reportDataType/entityReportData.py +1 -1
  15. metadata/generated/schema/analytics/reportDataType/rawCostAnalysisReportData.py +1 -1
  16. metadata/generated/schema/analytics/reportDataType/webAnalyticEntityViewReportData.py +1 -1
  17. metadata/generated/schema/analytics/reportDataType/webAnalyticUserActivityReportData.py +1 -1
  18. metadata/generated/schema/analytics/webAnalyticEvent.py +1 -1
  19. metadata/generated/schema/analytics/webAnalyticEventData.py +1 -1
  20. metadata/generated/schema/analytics/webAnalyticEventType/__init__.py +1 -1
  21. metadata/generated/schema/analytics/webAnalyticEventType/customEvent.py +1 -1
  22. metadata/generated/schema/analytics/webAnalyticEventType/pageViewEvent.py +1 -1
  23. metadata/generated/schema/api/__init__.py +1 -1
  24. metadata/generated/schema/api/addGlossaryToAssetsRequest.py +1 -1
  25. metadata/generated/schema/api/addTagToAssetsRequest.py +1 -1
  26. metadata/generated/schema/api/analytics/__init__.py +1 -1
  27. metadata/generated/schema/api/analytics/createWebAnalyticEvent.py +1 -1
  28. metadata/generated/schema/api/automations/__init__.py +1 -1
  29. metadata/generated/schema/api/automations/createWorkflow.py +1 -1
  30. metadata/generated/schema/api/bulkAssets.py +1 -1
  31. metadata/generated/schema/api/classification/__init__.py +1 -1
  32. metadata/generated/schema/api/classification/createClassification.py +52 -1
  33. metadata/generated/schema/api/classification/createTag.py +29 -2
  34. metadata/generated/schema/api/classification/createTagWithRecognizers.py +67 -0
  35. metadata/generated/schema/api/classification/loadTags.py +1 -1
  36. metadata/generated/schema/api/configuration/__init__.py +3 -0
  37. metadata/generated/schema/api/configuration/rdfConfiguration.py +47 -0
  38. metadata/generated/schema/api/createBot.py +1 -1
  39. metadata/generated/schema/api/createEventPublisherJob.py +1 -1
  40. metadata/generated/schema/api/createType.py +1 -1
  41. metadata/generated/schema/api/data/__init__.py +1 -1
  42. metadata/generated/schema/api/data/createAPICollection.py +1 -1
  43. metadata/generated/schema/api/data/createAPIEndpoint.py +1 -1
  44. metadata/generated/schema/api/data/createChart.py +1 -1
  45. metadata/generated/schema/api/data/createContainer.py +1 -1
  46. metadata/generated/schema/api/data/createCustomProperty.py +1 -1
  47. metadata/generated/schema/api/data/createDashboard.py +1 -1
  48. metadata/generated/schema/api/data/createDashboardDataModel.py +1 -1
  49. metadata/generated/schema/api/data/createDataContract.py +33 -3
  50. metadata/generated/schema/api/data/createDatabase.py +1 -1
  51. metadata/generated/schema/api/data/createDatabaseSchema.py +1 -1
  52. metadata/generated/schema/api/data/createDirectory.py +1 -1
  53. metadata/generated/schema/api/data/createEntityProfile.py +1 -1
  54. metadata/generated/schema/api/data/createFile.py +1 -1
  55. metadata/generated/schema/api/data/createGlossary.py +1 -1
  56. metadata/generated/schema/api/data/createGlossaryTerm.py +1 -1
  57. metadata/generated/schema/api/data/createMetric.py +8 -1
  58. metadata/generated/schema/api/data/createMlModel.py +1 -1
  59. metadata/generated/schema/api/data/createPipeline.py +1 -1
  60. metadata/generated/schema/api/data/createQuery.py +1 -1
  61. metadata/generated/schema/api/data/createQueryCostRecord.py +1 -1
  62. metadata/generated/schema/api/data/createSearchIndex.py +1 -1
  63. metadata/generated/schema/api/data/createSpreadsheet.py +9 -1
  64. metadata/generated/schema/api/data/createStoredProcedure.py +1 -1
  65. metadata/generated/schema/api/data/createTable.py +1 -1
  66. metadata/generated/schema/api/data/createTableProfile.py +1 -1
  67. metadata/generated/schema/api/data/createTopic.py +1 -1
  68. metadata/generated/schema/api/data/createWorksheet.py +1 -1
  69. metadata/generated/schema/api/data/loadGlossary.py +1 -1
  70. metadata/generated/schema/api/data/restoreEntity.py +1 -1
  71. metadata/generated/schema/api/data/updateColumn.py +1 -1
  72. metadata/generated/schema/api/dataInsight/__init__.py +1 -1
  73. metadata/generated/schema/api/dataInsight/createDataInsightChart.py +1 -1
  74. metadata/generated/schema/api/dataInsight/custom/__init__.py +1 -1
  75. metadata/generated/schema/api/dataInsight/custom/createDataInsightCustomChart.py +1 -1
  76. metadata/generated/schema/api/dataInsight/kpi/__init__.py +1 -1
  77. metadata/generated/schema/api/dataInsight/kpi/createKpiRequest.py +1 -1
  78. metadata/generated/schema/api/docStore/__init__.py +1 -1
  79. metadata/generated/schema/api/docStore/createDocument.py +1 -1
  80. metadata/generated/schema/api/domains/__init__.py +1 -1
  81. metadata/generated/schema/api/domains/createDataProduct.py +7 -1
  82. metadata/generated/schema/api/domains/createDomain.py +1 -1
  83. metadata/generated/schema/api/entityRelationship/__init__.py +1 -1
  84. metadata/generated/schema/api/entityRelationship/entityRelationshipDirection.py +1 -1
  85. metadata/generated/schema/api/entityRelationship/esEntityRelationshipData.py +1 -1
  86. metadata/generated/schema/api/entityRelationship/relationshipRef.py +1 -1
  87. metadata/generated/schema/api/entityRelationship/searchEntityRelationshipRequest.py +1 -1
  88. metadata/generated/schema/api/entityRelationship/searchEntityRelationshipResult.py +1 -1
  89. metadata/generated/schema/api/entityRelationship/searchSchemaEntityRelationshipResult.py +1 -1
  90. metadata/generated/schema/api/events/__init__.py +3 -0
  91. metadata/generated/schema/api/events/createNotificationTemplate.py +61 -0
  92. metadata/generated/schema/api/events/notificationTemplateValidationRequest.py +30 -0
  93. metadata/generated/schema/api/events/notificationTemplateValidationResponse.py +36 -0
  94. metadata/generated/schema/api/feed/__init__.py +1 -1
  95. metadata/generated/schema/api/feed/closeTask.py +1 -1
  96. metadata/generated/schema/api/feed/createPost.py +1 -1
  97. metadata/generated/schema/api/feed/createSuggestion.py +1 -1
  98. metadata/generated/schema/api/feed/createThread.py +1 -1
  99. metadata/generated/schema/api/feed/resolveTask.py +1 -1
  100. metadata/generated/schema/api/feed/threadCount.py +1 -1
  101. metadata/generated/schema/api/governance/__init__.py +1 -1
  102. metadata/generated/schema/api/governance/createWorkflowDefinition.py +1 -1
  103. metadata/generated/schema/api/governance/createWorkflowInstanceState.py +1 -1
  104. metadata/generated/schema/api/lineage/__init__.py +1 -1
  105. metadata/generated/schema/api/lineage/addLineage.py +1 -1
  106. metadata/generated/schema/api/lineage/entityCountLineageRequest.py +66 -0
  107. metadata/generated/schema/api/lineage/esLineageData.py +1 -1
  108. metadata/generated/schema/api/lineage/lineageDirection.py +1 -1
  109. metadata/generated/schema/api/lineage/lineagePaginationInfo.py +57 -0
  110. metadata/generated/schema/api/lineage/nodeInformation.py +9 -1
  111. metadata/generated/schema/api/lineage/searchLineageRequest.py +1 -1
  112. metadata/generated/schema/api/lineage/searchLineageResult.py +1 -1
  113. metadata/generated/schema/api/mcp/__init__.py +1 -1
  114. metadata/generated/schema/api/mcp/mcpSearchResponse.py +1 -1
  115. metadata/generated/schema/api/mcp/mcpToolDefinition.py +1 -1
  116. metadata/generated/schema/api/openMetadataServerVersion.py +1 -1
  117. metadata/generated/schema/api/policies/__init__.py +1 -1
  118. metadata/generated/schema/api/policies/createPolicy.py +1 -1
  119. metadata/generated/schema/api/rdf/__init__.py +3 -0
  120. metadata/generated/schema/api/rdf/sparqlQuery.py +57 -0
  121. metadata/generated/schema/api/rdf/sparqlResponse.py +56 -0
  122. metadata/generated/schema/api/scim/__init__.py +1 -1
  123. metadata/generated/schema/api/scim/scimGroup.py +1 -1
  124. metadata/generated/schema/api/scim/scimPatchOp.py +1 -1
  125. metadata/generated/schema/api/scim/scimUser.py +1 -1
  126. metadata/generated/schema/api/search/__init__.py +1 -1
  127. metadata/generated/schema/api/search/previewSearchRequest.py +1 -1
  128. metadata/generated/schema/api/services/__init__.py +1 -1
  129. metadata/generated/schema/api/services/createApiService.py +1 -1
  130. metadata/generated/schema/api/services/createDashboardService.py +1 -1
  131. metadata/generated/schema/api/services/createDatabaseService.py +1 -1
  132. metadata/generated/schema/api/services/createDriveService.py +9 -2
  133. metadata/generated/schema/api/services/createMessagingService.py +1 -1
  134. metadata/generated/schema/api/services/createMetadataService.py +1 -1
  135. metadata/generated/schema/api/services/createMlModelService.py +1 -1
  136. metadata/generated/schema/api/services/createPipelineService.py +1 -1
  137. metadata/generated/schema/api/services/createSearchService.py +1 -1
  138. metadata/generated/schema/api/services/createSecurityService.py +1 -1
  139. metadata/generated/schema/api/services/createStorageService.py +1 -1
  140. metadata/generated/schema/api/services/ingestionPipelines/__init__.py +1 -1
  141. metadata/generated/schema/api/services/ingestionPipelines/createIngestionPipeline.py +8 -1
  142. metadata/generated/schema/api/setOwner.py +1 -1
  143. metadata/generated/schema/api/teams/__init__.py +1 -1
  144. metadata/generated/schema/api/teams/createPersona.py +1 -1
  145. metadata/generated/schema/api/teams/createRole.py +1 -1
  146. metadata/generated/schema/api/teams/createTeam.py +1 -1
  147. metadata/generated/schema/api/teams/createUser.py +1 -1
  148. metadata/generated/schema/api/tests/__init__.py +1 -1
  149. metadata/generated/schema/api/tests/createCustomMetric.py +1 -1
  150. metadata/generated/schema/api/tests/createLogicalTestCases.py +1 -1
  151. metadata/generated/schema/api/tests/createTestCase.py +5 -1
  152. metadata/generated/schema/api/tests/createTestCaseResolutionStatus.py +1 -1
  153. metadata/generated/schema/api/tests/createTestCaseResult.py +1 -1
  154. metadata/generated/schema/api/tests/createTestDefinition.py +1 -1
  155. metadata/generated/schema/api/tests/createTestSuite.py +5 -1
  156. metadata/generated/schema/api/tests/moveGlossaryTermRequest.py +1 -1
  157. metadata/generated/schema/api/validateGlossaryTagsRequest.py +1 -1
  158. metadata/generated/schema/api/voteRequest.py +1 -1
  159. metadata/generated/schema/auth/__init__.py +1 -1
  160. metadata/generated/schema/auth/basicAuth.py +1 -1
  161. metadata/generated/schema/auth/basicLoginRequest.py +1 -1
  162. metadata/generated/schema/auth/changePasswordRequest.py +1 -1
  163. metadata/generated/schema/auth/createPersonalToken.py +1 -1
  164. metadata/generated/schema/auth/emailRequest.py +1 -1
  165. metadata/generated/schema/auth/emailVerificationToken.py +1 -1
  166. metadata/generated/schema/auth/generateToken.py +1 -1
  167. metadata/generated/schema/auth/jwtAuth.py +1 -1
  168. metadata/generated/schema/auth/loginRequest.py +1 -1
  169. metadata/generated/schema/auth/logoutRequest.py +1 -1
  170. metadata/generated/schema/auth/passwordResetRequest.py +1 -1
  171. metadata/generated/schema/auth/passwordResetToken.py +1 -1
  172. metadata/generated/schema/auth/personalAccessToken.py +1 -1
  173. metadata/generated/schema/auth/refreshToken.py +1 -1
  174. metadata/generated/schema/auth/registrationRequest.py +1 -1
  175. metadata/generated/schema/auth/revokePersonalToken.py +1 -1
  176. metadata/generated/schema/auth/revokeToken.py +1 -1
  177. metadata/generated/schema/auth/serviceTokenEnum.py +1 -1
  178. metadata/generated/schema/auth/ssoAuth.py +1 -1
  179. metadata/generated/schema/auth/supportToken.py +1 -1
  180. metadata/generated/schema/auth/tokenRefreshRequest.py +1 -1
  181. metadata/generated/schema/configuration/__init__.py +1 -1
  182. metadata/generated/schema/configuration/aiPlatformConfiguration.py +1 -1
  183. metadata/generated/schema/configuration/appsPrivateConfiguration.py +1 -1
  184. metadata/generated/schema/configuration/assetCertificationSettings.py +1 -1
  185. metadata/generated/schema/configuration/authConfig.py +1 -1
  186. metadata/generated/schema/configuration/authenticationConfiguration.py +1 -1
  187. metadata/generated/schema/configuration/authorizerConfiguration.py +1 -1
  188. metadata/generated/schema/configuration/cacheConfiguration.py +1 -1
  189. metadata/generated/schema/configuration/changeEventConfiguration.py +1 -1
  190. metadata/generated/schema/configuration/dataQualityConfiguration.py +1 -1
  191. metadata/generated/schema/configuration/elasticSearchConfiguration.py +2 -1
  192. metadata/generated/schema/configuration/entityRulesSettings.py +1 -1
  193. metadata/generated/schema/configuration/eventHandlerConfiguration.py +1 -1
  194. metadata/generated/schema/configuration/fernetConfiguration.py +1 -1
  195. metadata/generated/schema/configuration/jwtTokenConfiguration.py +1 -1
  196. metadata/generated/schema/configuration/kafkaEventConfiguration.py +1 -1
  197. metadata/generated/schema/configuration/ldapConfiguration.py +1 -1
  198. metadata/generated/schema/configuration/ldapTrustStoreConfig/__init__.py +1 -1
  199. metadata/generated/schema/configuration/ldapTrustStoreConfig/customTrustManagerConfig.py +1 -1
  200. metadata/generated/schema/configuration/ldapTrustStoreConfig/hostNameConfig.py +1 -1
  201. metadata/generated/schema/configuration/ldapTrustStoreConfig/jvmDefaultConfig.py +1 -1
  202. metadata/generated/schema/configuration/ldapTrustStoreConfig/trustAllConfig.py +1 -1
  203. metadata/generated/schema/configuration/ldapTrustStoreConfig/truststoreConfig.py +1 -1
  204. metadata/generated/schema/configuration/limitsConfiguration.py +1 -1
  205. metadata/generated/schema/configuration/lineageSettings.py +1 -1
  206. metadata/generated/schema/configuration/logStorageConfiguration.py +105 -0
  207. metadata/generated/schema/configuration/loginConfiguration.py +1 -1
  208. metadata/generated/schema/configuration/logoConfiguration.py +1 -1
  209. metadata/generated/schema/configuration/openMetadataBaseUrlConfiguration.py +1 -1
  210. metadata/generated/schema/configuration/opertionalConfiguration.py +1 -1
  211. metadata/generated/schema/configuration/opsConfig.py +1 -1
  212. metadata/generated/schema/configuration/pipelineServiceClientConfiguration.py +9 -2
  213. metadata/generated/schema/configuration/profilerConfiguration.py +2 -1
  214. metadata/generated/schema/configuration/searchSettings.py +7 -2
  215. metadata/generated/schema/configuration/securityConfiguration.py +26 -0
  216. metadata/generated/schema/configuration/slackAppConfiguration.py +1 -1
  217. metadata/generated/schema/configuration/taskNotificationConfiguration.py +1 -1
  218. metadata/generated/schema/configuration/testResultNotificationConfiguration.py +1 -1
  219. metadata/generated/schema/configuration/themeConfiguration.py +1 -1
  220. metadata/generated/schema/configuration/uiThemePreference.py +1 -1
  221. metadata/generated/schema/configuration/workflowSettings.py +1 -1
  222. metadata/generated/schema/dataInsight/__init__.py +1 -1
  223. metadata/generated/schema/dataInsight/custom/__init__.py +1 -1
  224. metadata/generated/schema/dataInsight/custom/dataInsightCustomChart.py +1 -1
  225. metadata/generated/schema/dataInsight/custom/dataInsightCustomChartResult.py +1 -1
  226. metadata/generated/schema/dataInsight/custom/dataInsightCustomChartResultList.py +1 -1
  227. metadata/generated/schema/dataInsight/custom/formulaHolder.py +1 -1
  228. metadata/generated/schema/dataInsight/custom/lineChart.py +1 -1
  229. metadata/generated/schema/dataInsight/custom/summaryCard.py +1 -1
  230. metadata/generated/schema/dataInsight/dataInsightChart.py +1 -1
  231. metadata/generated/schema/dataInsight/dataInsightChartResult.py +1 -1
  232. metadata/generated/schema/dataInsight/kpi/__init__.py +1 -1
  233. metadata/generated/schema/dataInsight/kpi/basic.py +1 -1
  234. metadata/generated/schema/dataInsight/kpi/kpi.py +1 -1
  235. metadata/generated/schema/dataInsight/type/__init__.py +1 -1
  236. metadata/generated/schema/dataInsight/type/aggregatedUnusedAssetsCount.py +1 -1
  237. metadata/generated/schema/dataInsight/type/aggregatedUnusedAssetsSize.py +1 -1
  238. metadata/generated/schema/dataInsight/type/aggregatedUsedVsUnusedAssetsCount.py +1 -1
  239. metadata/generated/schema/dataInsight/type/aggregatedUsedVsUnusedAssetsSize.py +1 -1
  240. metadata/generated/schema/dataInsight/type/dailyActiveUsers.py +1 -1
  241. metadata/generated/schema/dataInsight/type/mostActiveUsers.py +1 -1
  242. metadata/generated/schema/dataInsight/type/mostViewedEntities.py +1 -1
  243. metadata/generated/schema/dataInsight/type/pageViewsByEntities.py +1 -1
  244. metadata/generated/schema/dataInsight/type/unusedAssets.py +1 -1
  245. metadata/generated/schema/email/__init__.py +1 -1
  246. metadata/generated/schema/email/emailRequest.py +1 -1
  247. metadata/generated/schema/email/emailTemplate.py +1 -1
  248. metadata/generated/schema/email/emailTemplatePlaceholder.py +1 -1
  249. metadata/generated/schema/email/smtpSettings.py +1 -1
  250. metadata/generated/schema/email/templateValidationReponse.py +1 -1
  251. metadata/generated/schema/entity/__init__.py +1 -1
  252. metadata/generated/schema/entity/applications/__init__.py +1 -1
  253. metadata/generated/schema/entity/applications/app.py +1 -1
  254. metadata/generated/schema/entity/applications/appExtension.py +1 -1
  255. metadata/generated/schema/entity/applications/appRunRecord.py +1 -1
  256. metadata/generated/schema/entity/applications/configuration/__init__.py +1 -1
  257. metadata/generated/schema/entity/applications/configuration/applicationConfig.py +1 -1
  258. metadata/generated/schema/entity/applications/configuration/external/__init__.py +1 -1
  259. metadata/generated/schema/entity/applications/configuration/external/automator/__init__.py +1 -1
  260. metadata/generated/schema/entity/applications/configuration/external/automator/addCustomProperties.py +1 -1
  261. metadata/generated/schema/entity/applications/configuration/external/automator/addDataProductAction.py +1 -1
  262. metadata/generated/schema/entity/applications/configuration/external/automator/addDescriptionAction.py +1 -1
  263. metadata/generated/schema/entity/applications/configuration/external/automator/addDomainAction.py +1 -1
  264. metadata/generated/schema/entity/applications/configuration/external/automator/addOwnerAction.py +1 -1
  265. metadata/generated/schema/entity/applications/configuration/external/automator/addTagsAction.py +1 -1
  266. metadata/generated/schema/entity/applications/configuration/external/automator/addTermsAction.py +1 -1
  267. metadata/generated/schema/entity/applications/configuration/external/automator/addTestCaseAction.py +1 -1
  268. metadata/generated/schema/entity/applications/configuration/external/automator/addTierAction.py +1 -1
  269. metadata/generated/schema/entity/applications/configuration/external/automator/lineagePropagationAction.py +1 -1
  270. metadata/generated/schema/entity/applications/configuration/external/automator/mlTaggingAction.py +1 -1
  271. metadata/generated/schema/entity/applications/configuration/external/automator/propagationStopConfig.py +1 -1
  272. metadata/generated/schema/entity/applications/configuration/external/automator/removeCustomPropertiesAction.py +1 -1
  273. metadata/generated/schema/entity/applications/configuration/external/automator/removeDataProductAction.py +1 -1
  274. metadata/generated/schema/entity/applications/configuration/external/automator/removeDescriptionAction.py +1 -1
  275. metadata/generated/schema/entity/applications/configuration/external/automator/removeDomainAction.py +1 -1
  276. metadata/generated/schema/entity/applications/configuration/external/automator/removeOwnerAction.py +1 -1
  277. metadata/generated/schema/entity/applications/configuration/external/automator/removeTagsAction.py +1 -1
  278. metadata/generated/schema/entity/applications/configuration/external/automator/removeTermsAction.py +1 -1
  279. metadata/generated/schema/entity/applications/configuration/external/automator/removeTestCaseAction.py +1 -1
  280. metadata/generated/schema/entity/applications/configuration/external/automator/removeTierAction.py +1 -1
  281. metadata/generated/schema/entity/applications/configuration/external/automatorAppConfig.py +1 -1
  282. metadata/generated/schema/entity/applications/configuration/external/collateAIAppConfig.py +1 -1
  283. metadata/generated/schema/entity/applications/configuration/external/metadataExporterAppConfig.py +1 -1
  284. metadata/generated/schema/entity/applications/configuration/external/metadataExporterConnectors/__init__.py +1 -1
  285. metadata/generated/schema/entity/applications/configuration/external/metadataExporterConnectors/bigQueryConnection.py +1 -1
  286. metadata/generated/schema/entity/applications/configuration/external/metadataExporterConnectors/databricksConnection.py +18 -6
  287. metadata/generated/schema/entity/applications/configuration/external/metadataExporterConnectors/redshiftConnection.py +1 -1
  288. metadata/generated/schema/entity/applications/configuration/external/metadataExporterConnectors/snowflakeConnection.py +1 -1
  289. metadata/generated/schema/entity/applications/configuration/external/slackAppTokenConfiguration.py +1 -1
  290. metadata/generated/schema/entity/applications/configuration/internal/__init__.py +1 -1
  291. metadata/generated/schema/entity/applications/configuration/internal/autoPilotAppConfig.py +1 -1
  292. metadata/generated/schema/entity/applications/configuration/internal/collateAIQualityAgentAppConfig.py +1 -1
  293. metadata/generated/schema/entity/applications/configuration/internal/collateAITierAgentAppConfig.py +1 -1
  294. metadata/generated/schema/entity/applications/configuration/internal/dataInsightsAppConfig.py +1 -1
  295. metadata/generated/schema/entity/applications/configuration/internal/dataInsightsReportAppConfig.py +1 -1
  296. metadata/generated/schema/entity/applications/configuration/internal/dataRetentionConfiguration.py +1 -1
  297. metadata/generated/schema/entity/applications/configuration/internal/helloPipelinesConfiguration.py +1 -1
  298. metadata/generated/schema/entity/applications/configuration/internal/searchIndexingAppConfig.py +1 -1
  299. metadata/generated/schema/entity/applications/configuration/private/__init__.py +1 -1
  300. metadata/generated/schema/entity/applications/configuration/private/external/__init__.py +1 -1
  301. metadata/generated/schema/entity/applications/configuration/private/external/collateAIAppPrivateConfig.py +1 -1
  302. metadata/generated/schema/entity/applications/configuration/private/internal/__init__.py +1 -1
  303. metadata/generated/schema/entity/applications/configuration/private/internal/collateAITierAgentAppPrivateConfig.py +1 -1
  304. metadata/generated/schema/entity/applications/configuration/private/limits.py +1 -1
  305. metadata/generated/schema/entity/applications/createAppRequest.py +1 -1
  306. metadata/generated/schema/entity/applications/jobStatus.py +1 -1
  307. metadata/generated/schema/entity/applications/liveExecutionContext.py +1 -1
  308. metadata/generated/schema/entity/applications/marketplace/__init__.py +1 -1
  309. metadata/generated/schema/entity/applications/marketplace/appMarketPlaceDefinition.py +1 -1
  310. metadata/generated/schema/entity/applications/marketplace/createAppMarketPlaceDefinitionReq.py +1 -1
  311. metadata/generated/schema/entity/applications/scheduledExecutionContext.py +1 -1
  312. metadata/generated/schema/entity/automations/__init__.py +1 -1
  313. metadata/generated/schema/entity/automations/queryRunnerRequest.py +46 -0
  314. metadata/generated/schema/entity/automations/response/__init__.py +3 -0
  315. metadata/generated/schema/entity/automations/response/queryRunnerResponse.py +51 -0
  316. metadata/generated/schema/entity/automations/testServiceConnection.py +3 -1
  317. metadata/generated/schema/entity/automations/testSparkEngineConnection.py +31 -0
  318. metadata/generated/schema/entity/automations/workflow.py +8 -2
  319. metadata/generated/schema/entity/bot.py +1 -1
  320. metadata/generated/schema/entity/classification/__init__.py +1 -1
  321. metadata/generated/schema/entity/classification/classification.py +57 -2
  322. metadata/generated/schema/entity/classification/tag.py +41 -3
  323. metadata/generated/schema/entity/data/__init__.py +1 -1
  324. metadata/generated/schema/entity/data/apiCollection.py +8 -1
  325. metadata/generated/schema/entity/data/apiEndpoint.py +6 -1
  326. metadata/generated/schema/entity/data/chart.py +7 -1
  327. metadata/generated/schema/entity/data/container.py +6 -1
  328. metadata/generated/schema/entity/data/dashboard.py +6 -1
  329. metadata/generated/schema/entity/data/dashboardDataModel.py +9 -1
  330. metadata/generated/schema/entity/data/dataContract.py +238 -2
  331. metadata/generated/schema/entity/data/database.py +6 -1
  332. metadata/generated/schema/entity/data/databaseSchema.py +8 -1
  333. metadata/generated/schema/entity/data/directory.py +6 -1
  334. metadata/generated/schema/entity/data/file.py +6 -1
  335. metadata/generated/schema/entity/data/glossary.py +6 -1
  336. metadata/generated/schema/entity/data/glossaryTerm.py +8 -12
  337. metadata/generated/schema/entity/data/metric.py +18 -1
  338. metadata/generated/schema/entity/data/mlmodel.py +6 -1
  339. metadata/generated/schema/entity/data/pipeline.py +136 -2
  340. metadata/generated/schema/entity/data/query.py +6 -1
  341. metadata/generated/schema/entity/data/queryCostRecord.py +1 -1
  342. metadata/generated/schema/entity/data/queryCostSearchResult.py +1 -1
  343. metadata/generated/schema/entity/data/report.py +6 -1
  344. metadata/generated/schema/entity/data/searchIndex.py +6 -1
  345. metadata/generated/schema/entity/data/spreadsheet.py +8 -4
  346. metadata/generated/schema/entity/data/storedProcedure.py +8 -1
  347. metadata/generated/schema/entity/data/table.py +95 -1
  348. metadata/generated/schema/entity/data/topic.py +6 -1
  349. metadata/generated/schema/entity/data/worksheet.py +6 -1
  350. metadata/generated/schema/entity/datacontract/__init__.py +1 -1
  351. metadata/generated/schema/entity/datacontract/dataContractResult.py +1 -1
  352. metadata/generated/schema/entity/datacontract/qualityValidation.py +1 -1
  353. metadata/generated/schema/entity/datacontract/schemaValidation.py +1 -1
  354. metadata/generated/schema/entity/datacontract/semanticsValidation.py +1 -1
  355. metadata/generated/schema/entity/datacontract/slaValidation.py +1 -1
  356. metadata/generated/schema/entity/docStore/__init__.py +1 -1
  357. metadata/generated/schema/entity/docStore/document.py +1 -1
  358. metadata/generated/schema/entity/domains/__init__.py +1 -1
  359. metadata/generated/schema/entity/domains/dataProduct.py +153 -2
  360. metadata/generated/schema/entity/domains/domain.py +1 -1
  361. metadata/generated/schema/entity/events/__init__.py +1 -1
  362. metadata/generated/schema/entity/events/notificationTemplate.py +111 -0
  363. metadata/generated/schema/entity/events/webhook.py +1 -1
  364. metadata/generated/schema/entity/feed/__init__.py +1 -1
  365. metadata/generated/schema/entity/feed/assets.py +1 -1
  366. metadata/generated/schema/entity/feed/customProperty.py +1 -1
  367. metadata/generated/schema/entity/feed/description.py +1 -1
  368. metadata/generated/schema/entity/feed/domain.py +1 -1
  369. metadata/generated/schema/entity/feed/entityInfo.py +1 -1
  370. metadata/generated/schema/entity/feed/owner.py +1 -1
  371. metadata/generated/schema/entity/feed/suggestion.py +1 -1
  372. metadata/generated/schema/entity/feed/tag.py +1 -1
  373. metadata/generated/schema/entity/feed/testCaseResult.py +1 -1
  374. metadata/generated/schema/entity/feed/thread.py +1 -1
  375. metadata/generated/schema/entity/policies/__init__.py +1 -1
  376. metadata/generated/schema/entity/policies/accessControl/__init__.py +1 -1
  377. metadata/generated/schema/entity/policies/accessControl/resourceDescriptor.py +1 -1
  378. metadata/generated/schema/entity/policies/accessControl/resourcePermission.py +1 -1
  379. metadata/generated/schema/entity/policies/accessControl/rule.py +1 -1
  380. metadata/generated/schema/entity/policies/filters.py +1 -1
  381. metadata/generated/schema/entity/policies/policy.py +1 -1
  382. metadata/generated/schema/entity/services/__init__.py +1 -1
  383. metadata/generated/schema/entity/services/apiService.py +1 -1
  384. metadata/generated/schema/entity/services/connections/__init__.py +1 -1
  385. metadata/generated/schema/entity/services/connections/api/__init__.py +1 -1
  386. metadata/generated/schema/entity/services/connections/api/restConnection.py +1 -1
  387. metadata/generated/schema/entity/services/connections/common/__init__.py +1 -1
  388. metadata/generated/schema/entity/services/connections/common/sslCertPaths.py +1 -1
  389. metadata/generated/schema/entity/services/connections/common/sslCertValues.py +1 -1
  390. metadata/generated/schema/entity/services/connections/common/sslConfig.py +1 -1
  391. metadata/generated/schema/entity/services/connections/connectionBasicType.py +1 -1
  392. metadata/generated/schema/entity/services/connections/dashboard/__init__.py +1 -1
  393. metadata/generated/schema/entity/services/connections/dashboard/customDashboardConnection.py +1 -1
  394. metadata/generated/schema/entity/services/connections/dashboard/domoDashboardConnection.py +1 -1
  395. metadata/generated/schema/entity/services/connections/dashboard/grafanaConnection.py +1 -1
  396. metadata/generated/schema/entity/services/connections/dashboard/lightdashConnection.py +1 -1
  397. metadata/generated/schema/entity/services/connections/dashboard/lookerConnection.py +1 -1
  398. metadata/generated/schema/entity/services/connections/dashboard/metabaseConnection.py +17 -4
  399. metadata/generated/schema/entity/services/connections/dashboard/microStrategyConnection.py +1 -1
  400. metadata/generated/schema/entity/services/connections/dashboard/modeConnection.py +1 -1
  401. metadata/generated/schema/entity/services/connections/dashboard/powerBIConnection.py +1 -1
  402. metadata/generated/schema/entity/services/connections/dashboard/powerBIReportServerConnection.py +1 -1
  403. metadata/generated/schema/entity/services/connections/dashboard/powerbi/__init__.py +1 -1
  404. metadata/generated/schema/entity/services/connections/dashboard/powerbi/azureConfig.py +1 -1
  405. metadata/generated/schema/entity/services/connections/dashboard/powerbi/bucketDetails.py +1 -1
  406. metadata/generated/schema/entity/services/connections/dashboard/powerbi/gcsConfig.py +1 -1
  407. metadata/generated/schema/entity/services/connections/dashboard/powerbi/s3Config.py +1 -1
  408. metadata/generated/schema/entity/services/connections/dashboard/qlikCloudConnection.py +1 -1
  409. metadata/generated/schema/entity/services/connections/dashboard/qlikSenseConnection.py +1 -1
  410. metadata/generated/schema/entity/services/connections/dashboard/quickSightConnection.py +1 -1
  411. metadata/generated/schema/entity/services/connections/dashboard/redashConnection.py +1 -1
  412. metadata/generated/schema/entity/services/connections/dashboard/sigmaConnection.py +1 -1
  413. metadata/generated/schema/entity/services/connections/dashboard/supersetConnection.py +1 -1
  414. metadata/generated/schema/entity/services/connections/dashboard/tableauConnection.py +1 -1
  415. metadata/generated/schema/entity/services/connections/dashboard/thoughtSpotConnection.py +1 -1
  416. metadata/generated/schema/entity/services/connections/database/__init__.py +1 -1
  417. metadata/generated/schema/entity/services/connections/database/athenaConnection.py +1 -1
  418. metadata/generated/schema/entity/services/connections/database/azureSQLConnection.py +1 -1
  419. metadata/generated/schema/entity/services/connections/database/bigQueryConnection.py +9 -1
  420. metadata/generated/schema/entity/services/connections/database/bigTableConnection.py +1 -1
  421. metadata/generated/schema/entity/services/connections/database/cassandra/__init__.py +1 -1
  422. metadata/generated/schema/entity/services/connections/database/cassandra/cloudConfig.py +1 -1
  423. metadata/generated/schema/entity/services/connections/database/cassandraConnection.py +1 -1
  424. metadata/generated/schema/entity/services/connections/database/clickhouseConnection.py +1 -1
  425. metadata/generated/schema/entity/services/connections/database/cockroachConnection.py +1 -1
  426. metadata/generated/schema/entity/services/connections/database/common/__init__.py +1 -1
  427. metadata/generated/schema/entity/services/connections/database/common/azureConfig.py +1 -1
  428. metadata/generated/schema/entity/services/connections/database/common/basicAuth.py +1 -1
  429. metadata/generated/schema/entity/services/connections/database/common/iamAuthConfig.py +1 -1
  430. metadata/generated/schema/entity/services/connections/database/common/jwtAuth.py +1 -1
  431. metadata/generated/schema/entity/services/connections/database/common/noConfigAuthenticationTypes.py +1 -1
  432. metadata/generated/schema/entity/services/connections/database/couchbaseConnection.py +1 -1
  433. metadata/generated/schema/entity/services/connections/database/customDatabaseConnection.py +1 -1
  434. metadata/generated/schema/entity/services/connections/database/databricks/__init__.py +3 -0
  435. metadata/generated/schema/entity/services/connections/database/databricks/azureAdSetup.py +37 -0
  436. metadata/generated/schema/entity/services/connections/database/databricks/databricksOAuth.py +30 -0
  437. metadata/generated/schema/entity/services/connections/database/databricks/personalAccessToken.py +23 -0
  438. metadata/generated/schema/entity/services/connections/database/databricksConnection.py +14 -6
  439. metadata/generated/schema/entity/services/connections/database/datalake/__init__.py +1 -1
  440. metadata/generated/schema/entity/services/connections/database/datalake/azureConfig.py +1 -1
  441. metadata/generated/schema/entity/services/connections/database/datalake/gcsConfig.py +1 -1
  442. metadata/generated/schema/entity/services/connections/database/datalake/s3Config.py +1 -1
  443. metadata/generated/schema/entity/services/connections/database/datalakeConnection.py +1 -1
  444. metadata/generated/schema/entity/services/connections/database/db2Connection.py +1 -1
  445. metadata/generated/schema/entity/services/connections/database/deltaLakeConnection.py +1 -1
  446. metadata/generated/schema/entity/services/connections/database/deltalake/__init__.py +1 -1
  447. metadata/generated/schema/entity/services/connections/database/deltalake/metastoreConfig.py +1 -1
  448. metadata/generated/schema/entity/services/connections/database/deltalake/storageConfig.py +1 -1
  449. metadata/generated/schema/entity/services/connections/database/domoDatabaseConnection.py +1 -1
  450. metadata/generated/schema/entity/services/connections/database/dorisConnection.py +1 -1
  451. metadata/generated/schema/entity/services/connections/database/druidConnection.py +1 -1
  452. metadata/generated/schema/entity/services/connections/database/dynamoDBConnection.py +1 -1
  453. metadata/generated/schema/entity/services/connections/database/epicConnection.py +1 -1
  454. metadata/generated/schema/entity/services/connections/database/exasolConnection.py +1 -1
  455. metadata/generated/schema/entity/services/connections/database/glueConnection.py +1 -1
  456. metadata/generated/schema/entity/services/connections/database/greenplumConnection.py +1 -1
  457. metadata/generated/schema/entity/services/connections/database/hiveConnection.py +1 -1
  458. metadata/generated/schema/entity/services/connections/database/iceberg/__init__.py +1 -1
  459. metadata/generated/schema/entity/services/connections/database/iceberg/dynamoDbCatalogConnection.py +1 -1
  460. metadata/generated/schema/entity/services/connections/database/iceberg/glueCatalogConnection.py +1 -1
  461. metadata/generated/schema/entity/services/connections/database/iceberg/hiveCatalogConnection.py +1 -1
  462. metadata/generated/schema/entity/services/connections/database/iceberg/icebergCatalog.py +1 -1
  463. metadata/generated/schema/entity/services/connections/database/iceberg/icebergFileSystem.py +1 -1
  464. metadata/generated/schema/entity/services/connections/database/iceberg/restCatalogConnection.py +1 -1
  465. metadata/generated/schema/entity/services/connections/database/icebergConnection.py +1 -1
  466. metadata/generated/schema/entity/services/connections/database/impalaConnection.py +1 -1
  467. metadata/generated/schema/entity/services/connections/database/mariaDBConnection.py +1 -1
  468. metadata/generated/schema/entity/services/connections/database/mongoDBConnection.py +1 -1
  469. metadata/generated/schema/entity/services/connections/database/mssqlConnection.py +1 -1
  470. metadata/generated/schema/entity/services/connections/database/mysqlConnection.py +1 -1
  471. metadata/generated/schema/entity/services/connections/database/oracleConnection.py +1 -1
  472. metadata/generated/schema/entity/services/connections/database/pinotDBConnection.py +1 -1
  473. metadata/generated/schema/entity/services/connections/database/postgresConnection.py +1 -1
  474. metadata/generated/schema/entity/services/connections/database/prestoConnection.py +1 -1
  475. metadata/generated/schema/entity/services/connections/database/redshiftConnection.py +1 -1
  476. metadata/generated/schema/entity/services/connections/database/salesforceConnection.py +1 -1
  477. metadata/generated/schema/entity/services/connections/database/sapErpConnection.py +1 -1
  478. metadata/generated/schema/entity/services/connections/database/sapHana/__init__.py +1 -1
  479. metadata/generated/schema/entity/services/connections/database/sapHana/sapHanaHDBConnection.py +1 -1
  480. metadata/generated/schema/entity/services/connections/database/sapHana/sapHanaSQLConnection.py +1 -1
  481. metadata/generated/schema/entity/services/connections/database/sapHanaConnection.py +1 -1
  482. metadata/generated/schema/entity/services/connections/database/sasConnection.py +1 -1
  483. metadata/generated/schema/entity/services/connections/database/serviceNowConnection.py +1 -1
  484. metadata/generated/schema/entity/services/connections/database/singleStoreConnection.py +1 -1
  485. metadata/generated/schema/entity/services/connections/database/snowflakeConnection.py +1 -1
  486. metadata/generated/schema/entity/services/connections/database/sqliteConnection.py +1 -1
  487. metadata/generated/schema/entity/services/connections/database/ssasConnection.py +1 -1
  488. metadata/generated/schema/entity/services/connections/database/synapseConnection.py +1 -1
  489. metadata/generated/schema/entity/services/connections/database/teradataConnection.py +1 -1
  490. metadata/generated/schema/entity/services/connections/database/timescaleConnection.py +162 -0
  491. metadata/generated/schema/entity/services/connections/database/trinoConnection.py +1 -1
  492. metadata/generated/schema/entity/services/connections/database/unityCatalogConnection.py +14 -6
  493. metadata/generated/schema/entity/services/connections/database/verticaConnection.py +1 -1
  494. metadata/generated/schema/entity/services/connections/drive/__init__.py +1 -1
  495. metadata/generated/schema/entity/services/connections/drive/customDriveConnection.py +34 -1
  496. metadata/generated/schema/entity/services/connections/drive/googleDriveConnection.py +34 -1
  497. metadata/generated/schema/entity/services/connections/drive/sharePointConnection.py +34 -1
  498. metadata/generated/schema/entity/services/connections/messaging/__init__.py +1 -1
  499. metadata/generated/schema/entity/services/connections/messaging/customMessagingConnection.py +1 -1
  500. metadata/generated/schema/entity/services/connections/messaging/kafkaConnection.py +1 -1
  501. metadata/generated/schema/entity/services/connections/messaging/kinesisConnection.py +1 -1
  502. metadata/generated/schema/entity/services/connections/messaging/pulsarConnection.py +1 -1
  503. metadata/generated/schema/entity/services/connections/messaging/redpandaConnection.py +1 -1
  504. metadata/generated/schema/entity/services/connections/messaging/saslMechanismType.py +1 -1
  505. metadata/generated/schema/entity/services/connections/metadata/__init__.py +1 -1
  506. metadata/generated/schema/entity/services/connections/metadata/alationConnection.py +1 -1
  507. metadata/generated/schema/entity/services/connections/metadata/alationSinkConnection.py +1 -1
  508. metadata/generated/schema/entity/services/connections/metadata/amundsenConnection.py +1 -1
  509. metadata/generated/schema/entity/services/connections/metadata/atlasConnection.py +1 -1
  510. metadata/generated/schema/entity/services/connections/metadata/metadataESConnection.py +1 -1
  511. metadata/generated/schema/entity/services/connections/metadata/openMetadataConnection.py +1 -1
  512. metadata/generated/schema/entity/services/connections/mlmodel/__init__.py +1 -1
  513. metadata/generated/schema/entity/services/connections/mlmodel/customMlModelConnection.py +1 -1
  514. metadata/generated/schema/entity/services/connections/mlmodel/mlflowConnection.py +1 -1
  515. metadata/generated/schema/entity/services/connections/mlmodel/sageMakerConnection.py +1 -1
  516. metadata/generated/schema/entity/services/connections/mlmodel/sklearnConnection.py +1 -1
  517. metadata/generated/schema/entity/services/connections/mlmodel/vertexaiConnection.py +1 -1
  518. metadata/generated/schema/entity/services/connections/pipeline/__init__.py +1 -1
  519. metadata/generated/schema/entity/services/connections/pipeline/airbyteConnection.py +1 -1
  520. metadata/generated/schema/entity/services/connections/pipeline/airflowConnection.py +1 -1
  521. metadata/generated/schema/entity/services/connections/pipeline/backendConnection.py +1 -1
  522. metadata/generated/schema/entity/services/connections/pipeline/customPipelineConnection.py +1 -1
  523. metadata/generated/schema/entity/services/connections/pipeline/dagsterConnection.py +1 -1
  524. metadata/generated/schema/entity/services/connections/pipeline/databricksPipelineConnection.py +1 -1
  525. metadata/generated/schema/entity/services/connections/pipeline/datafactoryConnection.py +1 -1
  526. metadata/generated/schema/entity/services/connections/pipeline/dbtCloudConnection.py +1 -1
  527. metadata/generated/schema/entity/services/connections/pipeline/domoPipelineConnection.py +1 -1
  528. metadata/generated/schema/entity/services/connections/pipeline/fivetranConnection.py +1 -1
  529. metadata/generated/schema/entity/services/connections/pipeline/flinkConnection.py +1 -1
  530. metadata/generated/schema/entity/services/connections/pipeline/gluePipelineConnection.py +1 -1
  531. metadata/generated/schema/entity/services/connections/pipeline/kafkaConnectConnection.py +1 -1
  532. metadata/generated/schema/entity/services/connections/pipeline/matillion/__init__.py +1 -1
  533. metadata/generated/schema/entity/services/connections/pipeline/matillion/matillionETL.py +1 -1
  534. metadata/generated/schema/entity/services/connections/pipeline/matillionConnection.py +1 -1
  535. metadata/generated/schema/entity/services/connections/pipeline/nifi/__init__.py +1 -1
  536. metadata/generated/schema/entity/services/connections/pipeline/nifi/basicAuth.py +1 -1
  537. metadata/generated/schema/entity/services/connections/pipeline/nifi/clientCertificateAuth.py +1 -1
  538. metadata/generated/schema/entity/services/connections/pipeline/nifiConnection.py +1 -1
  539. metadata/generated/schema/entity/services/connections/pipeline/openLineageConnection.py +1 -1
  540. metadata/generated/schema/entity/services/connections/pipeline/snowplowConnection.py +93 -0
  541. metadata/generated/schema/entity/services/connections/pipeline/sparkConnection.py +1 -1
  542. metadata/generated/schema/entity/services/connections/pipeline/splineConnection.py +1 -1
  543. metadata/generated/schema/entity/services/connections/pipeline/ssisConnection.py +1 -1
  544. metadata/generated/schema/entity/services/connections/pipeline/stitchConnection.py +1 -1
  545. metadata/generated/schema/entity/services/connections/pipeline/wherescapeConnection.py +1 -1
  546. metadata/generated/schema/entity/services/connections/search/__init__.py +1 -1
  547. metadata/generated/schema/entity/services/connections/search/customSearchConnection.py +1 -1
  548. metadata/generated/schema/entity/services/connections/search/elasticSearch/__init__.py +1 -1
  549. metadata/generated/schema/entity/services/connections/search/elasticSearch/apiAuth.py +1 -1
  550. metadata/generated/schema/entity/services/connections/search/elasticSearch/basicAuth.py +1 -1
  551. metadata/generated/schema/entity/services/connections/search/elasticSearchConnection.py +1 -1
  552. metadata/generated/schema/entity/services/connections/search/openSearchConnection.py +1 -1
  553. metadata/generated/schema/entity/services/connections/security/__init__.py +1 -1
  554. metadata/generated/schema/entity/services/connections/security/ranger/__init__.py +1 -1
  555. metadata/generated/schema/entity/services/connections/security/ranger/basicAuth.py +1 -1
  556. metadata/generated/schema/entity/services/connections/security/rangerConnection.py +1 -1
  557. metadata/generated/schema/entity/services/connections/serviceConnection.py +1 -1
  558. metadata/generated/schema/entity/services/connections/storage/__init__.py +1 -1
  559. metadata/generated/schema/entity/services/connections/storage/adlsConnection.py +1 -1
  560. metadata/generated/schema/entity/services/connections/storage/customStorageConnection.py +1 -1
  561. metadata/generated/schema/entity/services/connections/storage/gcsConnection.py +1 -1
  562. metadata/generated/schema/entity/services/connections/storage/s3Connection.py +1 -1
  563. metadata/generated/schema/entity/services/connections/testConnectionDefinition.py +1 -1
  564. metadata/generated/schema/entity/services/connections/testConnectionResult.py +1 -1
  565. metadata/generated/schema/entity/services/dashboardService.py +1 -1
  566. metadata/generated/schema/entity/services/databaseService.py +4 -1
  567. metadata/generated/schema/entity/services/driveService.py +1 -1
  568. metadata/generated/schema/entity/services/ingestionPipelines/__init__.py +1 -1
  569. metadata/generated/schema/entity/services/ingestionPipelines/ingestionPipeline.py +8 -1
  570. metadata/generated/schema/entity/services/ingestionPipelines/pipelineServiceClientResponse.py +1 -1
  571. metadata/generated/schema/entity/services/ingestionPipelines/reverseIngestionResponse.py +1 -1
  572. metadata/generated/schema/entity/services/ingestionPipelines/status.py +1 -1
  573. metadata/generated/schema/entity/services/messagingService.py +1 -1
  574. metadata/generated/schema/entity/services/metadataService.py +1 -1
  575. metadata/generated/schema/entity/services/mlmodelService.py +1 -1
  576. metadata/generated/schema/entity/services/pipelineService.py +4 -1
  577. metadata/generated/schema/entity/services/searchService.py +1 -1
  578. metadata/generated/schema/entity/services/securityService.py +1 -1
  579. metadata/generated/schema/entity/services/serviceType.py +1 -1
  580. metadata/generated/schema/entity/services/storageService.py +1 -1
  581. metadata/generated/schema/entity/teams/__init__.py +1 -1
  582. metadata/generated/schema/entity/teams/persona.py +1 -1
  583. metadata/generated/schema/entity/teams/role.py +1 -1
  584. metadata/generated/schema/entity/teams/team.py +1 -1
  585. metadata/generated/schema/entity/teams/teamHierarchy.py +1 -1
  586. metadata/generated/schema/entity/teams/user.py +1 -1
  587. metadata/generated/schema/entity/type.py +1 -1
  588. metadata/generated/schema/entity/utils/__init__.py +1 -1
  589. metadata/generated/schema/entity/utils/entitiesCount.py +1 -1
  590. metadata/generated/schema/entity/utils/servicesCount.py +1 -1
  591. metadata/generated/schema/entity/utils/supersetApiConnection.py +1 -1
  592. metadata/generated/schema/events/__init__.py +1 -1
  593. metadata/generated/schema/events/alertMetrics.py +1 -1
  594. metadata/generated/schema/events/api/__init__.py +1 -1
  595. metadata/generated/schema/events/api/createEventSubscription.py +1 -1
  596. metadata/generated/schema/events/api/eventSubscriptionDiagnosticInfo.py +1 -1
  597. metadata/generated/schema/events/api/eventsRecord.py +1 -1
  598. metadata/generated/schema/events/api/testEventSubscriptionDestination.py +1 -1
  599. metadata/generated/schema/events/api/typedEvent.py +1 -1
  600. metadata/generated/schema/events/emailAlertConfig.py +1 -1
  601. metadata/generated/schema/events/eventFilterRule.py +1 -1
  602. metadata/generated/schema/events/eventSubscription.py +16 -1
  603. metadata/generated/schema/events/eventSubscriptionOffset.py +1 -1
  604. metadata/generated/schema/events/failedEvent.py +1 -1
  605. metadata/generated/schema/events/failedEventResponse.py +1 -1
  606. metadata/generated/schema/events/filterResourceDescriptor.py +1 -1
  607. metadata/generated/schema/events/statusContext.py +1 -1
  608. metadata/generated/schema/events/subscriptionResourceDescriptor.py +1 -1
  609. metadata/generated/schema/events/subscriptionStatus.py +1 -1
  610. metadata/generated/schema/events/testDestinationStatus.py +1 -1
  611. metadata/generated/schema/governance/workflows/__init__.py +1 -1
  612. metadata/generated/schema/governance/workflows/elements/__init__.py +1 -1
  613. metadata/generated/schema/governance/workflows/elements/edge.py +1 -1
  614. metadata/generated/schema/governance/workflows/elements/nodeSubType.py +1 -1
  615. metadata/generated/schema/governance/workflows/elements/nodeType.py +1 -1
  616. metadata/generated/schema/governance/workflows/elements/nodes/__init__.py +1 -1
  617. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/__init__.py +1 -1
  618. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/checkEntityAttributesTask.py +1 -1
  619. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/createAndRunIngestionPipelineTask.py +1 -1
  620. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/runAppTask.py +1 -1
  621. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/setEntityCertificationTask.py +1 -1
  622. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/setGlossaryTermStatusTask.py +11 -12
  623. metadata/generated/schema/governance/workflows/elements/nodes/endEvent/__init__.py +1 -1
  624. metadata/generated/schema/governance/workflows/elements/nodes/endEvent/endEvent.py +1 -1
  625. metadata/generated/schema/governance/workflows/elements/nodes/gateway/__init__.py +1 -1
  626. metadata/generated/schema/governance/workflows/elements/nodes/gateway/parallelGateway.py +1 -1
  627. metadata/generated/schema/governance/workflows/elements/nodes/startEvent/__init__.py +1 -1
  628. metadata/generated/schema/governance/workflows/elements/nodes/startEvent/startEvent.py +1 -1
  629. metadata/generated/schema/governance/workflows/elements/nodes/userTask/__init__.py +1 -1
  630. metadata/generated/schema/governance/workflows/elements/nodes/userTask/userApprovalTask.py +1 -1
  631. metadata/generated/schema/governance/workflows/elements/triggers/__init__.py +1 -1
  632. metadata/generated/schema/governance/workflows/elements/triggers/eventBasedEntityTrigger.py +1 -1
  633. metadata/generated/schema/governance/workflows/elements/triggers/noOpTrigger.py +1 -1
  634. metadata/generated/schema/governance/workflows/elements/triggers/periodicBatchEntityTrigger.py +1 -1
  635. metadata/generated/schema/governance/workflows/workflowDefinition.py +1 -1
  636. metadata/generated/schema/governance/workflows/workflowInstance.py +1 -1
  637. metadata/generated/schema/governance/workflows/workflowInstanceState.py +1 -1
  638. metadata/generated/schema/jobs/__init__.py +1 -1
  639. metadata/generated/schema/jobs/backgroundJob.py +1 -1
  640. metadata/generated/schema/jobs/enumCleanupArgs.py +1 -1
  641. metadata/generated/schema/metadataIngestion/__init__.py +1 -1
  642. metadata/generated/schema/metadataIngestion/apiServiceMetadataPipeline.py +1 -1
  643. metadata/generated/schema/metadataIngestion/application.py +8 -1
  644. metadata/generated/schema/metadataIngestion/applicationPipeline.py +1 -1
  645. metadata/generated/schema/metadataIngestion/dashboardServiceMetadataPipeline.py +1 -1
  646. metadata/generated/schema/metadataIngestion/dataInsightPipeline.py +1 -1
  647. metadata/generated/schema/metadataIngestion/databaseServiceAutoClassificationPipeline.py +1 -1
  648. metadata/generated/schema/metadataIngestion/databaseServiceMetadataPipeline.py +1 -1
  649. metadata/generated/schema/metadataIngestion/databaseServiceProfilerPipeline.py +1 -1
  650. metadata/generated/schema/metadataIngestion/databaseServiceQueryLineagePipeline.py +1 -1
  651. metadata/generated/schema/metadataIngestion/databaseServiceQueryUsagePipeline.py +1 -1
  652. metadata/generated/schema/metadataIngestion/dbtPipeline.py +1 -1
  653. metadata/generated/schema/metadataIngestion/dbtconfig/__init__.py +1 -1
  654. metadata/generated/schema/metadataIngestion/dbtconfig/dbtAzureConfig.py +1 -1
  655. metadata/generated/schema/metadataIngestion/dbtconfig/dbtBucketDetails.py +1 -1
  656. metadata/generated/schema/metadataIngestion/dbtconfig/dbtCloudConfig.py +1 -1
  657. metadata/generated/schema/metadataIngestion/dbtconfig/dbtGCSConfig.py +1 -1
  658. metadata/generated/schema/metadataIngestion/dbtconfig/dbtHttpConfig.py +1 -1
  659. metadata/generated/schema/metadataIngestion/dbtconfig/dbtLocalConfig.py +1 -1
  660. metadata/generated/schema/metadataIngestion/dbtconfig/dbtS3Config.py +1 -1
  661. metadata/generated/schema/metadataIngestion/driveServiceMetadataPipeline.py +1 -1
  662. metadata/generated/schema/metadataIngestion/engine/__init__.py +1 -1
  663. metadata/generated/schema/metadataIngestion/engine/nativeEngineConfig.py +1 -1
  664. metadata/generated/schema/metadataIngestion/engine/sparkEngineConfig.py +1 -1
  665. metadata/generated/schema/metadataIngestion/messagingServiceMetadataPipeline.py +1 -1
  666. metadata/generated/schema/metadataIngestion/metadataToElasticSearchPipeline.py +1 -1
  667. metadata/generated/schema/metadataIngestion/mlmodelServiceMetadataPipeline.py +29 -2
  668. metadata/generated/schema/metadataIngestion/pipelineServiceMetadataPipeline.py +1 -1
  669. metadata/generated/schema/metadataIngestion/reverseIngestionPipeline.py +1 -1
  670. metadata/generated/schema/metadataIngestion/reverseingestionconfig/__init__.py +1 -1
  671. metadata/generated/schema/metadataIngestion/reverseingestionconfig/descriptionConfig.py +1 -1
  672. metadata/generated/schema/metadataIngestion/reverseingestionconfig/ownerConfig.py +1 -1
  673. metadata/generated/schema/metadataIngestion/reverseingestionconfig/tagsConfig.py +1 -1
  674. metadata/generated/schema/metadataIngestion/searchServiceMetadataPipeline.py +1 -1
  675. metadata/generated/schema/metadataIngestion/securityServiceMetadataPipeline.py +1 -1
  676. metadata/generated/schema/metadataIngestion/storage/__init__.py +1 -1
  677. metadata/generated/schema/metadataIngestion/storage/containerMetadataConfig.py +1 -1
  678. metadata/generated/schema/metadataIngestion/storage/manifestMetadataConfig.py +1 -1
  679. metadata/generated/schema/metadataIngestion/storage/storageBucketDetails.py +1 -1
  680. metadata/generated/schema/metadataIngestion/storage/storageMetadataADLSConfig.py +1 -1
  681. metadata/generated/schema/metadataIngestion/storage/storageMetadataGCSConfig.py +1 -1
  682. metadata/generated/schema/metadataIngestion/storage/storageMetadataHttpConfig.py +1 -1
  683. metadata/generated/schema/metadataIngestion/storage/storageMetadataLocalConfig.py +1 -1
  684. metadata/generated/schema/metadataIngestion/storage/storageMetadataS3Config.py +1 -1
  685. metadata/generated/schema/metadataIngestion/storageServiceMetadataPipeline.py +1 -1
  686. metadata/generated/schema/metadataIngestion/testSuitePipeline.py +1 -1
  687. metadata/generated/schema/metadataIngestion/workflow.py +8 -1
  688. metadata/generated/schema/monitoring/__init__.py +1 -1
  689. metadata/generated/schema/monitoring/eventMonitorProvider.py +1 -1
  690. metadata/generated/schema/scim/__init__.py +1 -1
  691. metadata/generated/schema/scim/scimConfiguration.py +1 -1
  692. metadata/generated/schema/search/__init__.py +1 -1
  693. metadata/generated/schema/search/aggregationRequest.py +1 -1
  694. metadata/generated/schema/search/searchRequest.py +8 -1
  695. metadata/generated/schema/security/__init__.py +1 -1
  696. metadata/generated/schema/security/client/__init__.py +1 -1
  697. metadata/generated/schema/security/client/auth0SSOClientConfig.py +1 -1
  698. metadata/generated/schema/security/client/azureSSOClientConfig.py +1 -1
  699. metadata/generated/schema/security/client/customOidcSSOClientConfig.py +1 -1
  700. metadata/generated/schema/security/client/googleSSOClientConfig.py +1 -1
  701. metadata/generated/schema/security/client/oidcClientConfig.py +6 -10
  702. metadata/generated/schema/security/client/oktaSSOClientConfig.py +1 -1
  703. metadata/generated/schema/security/client/openMetadataJWTClientConfig.py +1 -1
  704. metadata/generated/schema/security/client/samlSSOClientConfig.py +6 -6
  705. metadata/generated/schema/security/credentials/__init__.py +1 -1
  706. metadata/generated/schema/security/credentials/accessTokenAuth.py +1 -1
  707. metadata/generated/schema/security/credentials/apiAccessTokenAuth.py +1 -1
  708. metadata/generated/schema/security/credentials/awsCredentials.py +1 -1
  709. metadata/generated/schema/security/credentials/azureCredentials.py +1 -1
  710. metadata/generated/schema/security/credentials/basicAuth.py +1 -1
  711. metadata/generated/schema/security/credentials/bitbucketCredentials.py +1 -1
  712. metadata/generated/schema/security/credentials/gcpCredentials.py +1 -1
  713. metadata/generated/schema/security/credentials/gcpExternalAccount.py +1 -1
  714. metadata/generated/schema/security/credentials/gcpValues.py +1 -1
  715. metadata/generated/schema/security/credentials/gitCredentials.py +1 -1
  716. metadata/generated/schema/security/credentials/githubCredentials.py +1 -1
  717. metadata/generated/schema/security/credentials/gitlabCredentials.py +1 -1
  718. metadata/generated/schema/security/credentials/kubernetesCredentials.py +1 -1
  719. metadata/generated/schema/security/sasl/__init__.py +1 -1
  720. metadata/generated/schema/security/sasl/saslClientConfig.py +1 -1
  721. metadata/generated/schema/security/secrets/__init__.py +1 -1
  722. metadata/generated/schema/security/secrets/secretsManagerClientLoader.py +1 -1
  723. metadata/generated/schema/security/secrets/secretsManagerConfiguration.py +1 -1
  724. metadata/generated/schema/security/secrets/secretsManagerProvider.py +1 -1
  725. metadata/generated/schema/security/securityConfiguration.py +1 -1
  726. metadata/generated/schema/security/ssl/__init__.py +1 -1
  727. metadata/generated/schema/security/ssl/validateSSLClientConfig.py +1 -1
  728. metadata/generated/schema/security/ssl/verifySSLConfig.py +1 -1
  729. metadata/generated/schema/settings/__init__.py +1 -1
  730. metadata/generated/schema/settings/settings.py +5 -2
  731. metadata/generated/schema/system/__init__.py +1 -1
  732. metadata/generated/schema/system/entityError.py +1 -1
  733. metadata/generated/schema/system/eventPublisherJob.py +1 -1
  734. metadata/generated/schema/system/indexingError.py +1 -1
  735. metadata/generated/schema/system/limitsResponse.py +1 -1
  736. metadata/generated/schema/system/securityValidationResponse.py +62 -0
  737. metadata/generated/schema/system/ui/__init__.py +1 -1
  738. metadata/generated/schema/system/ui/knowledgePanel.py +1 -1
  739. metadata/generated/schema/system/ui/navigationItem.py +1 -1
  740. metadata/generated/schema/system/ui/page.py +5 -1
  741. metadata/generated/schema/system/ui/tab.py +1 -1
  742. metadata/generated/schema/system/ui/uiCustomization.py +1 -1
  743. metadata/generated/schema/system/validationResponse.py +8 -1
  744. metadata/generated/schema/tests/__init__.py +1 -1
  745. metadata/generated/schema/tests/assigned.py +1 -1
  746. metadata/generated/schema/tests/basic.py +1 -1
  747. metadata/generated/schema/tests/customMetric.py +1 -1
  748. metadata/generated/schema/tests/dataQualityReport.py +1 -1
  749. metadata/generated/schema/tests/resolved.py +1 -1
  750. metadata/generated/schema/tests/testCase.py +26 -2
  751. metadata/generated/schema/tests/testCaseResolutionStatus.py +1 -1
  752. metadata/generated/schema/tests/testDefinition.py +1 -1
  753. metadata/generated/schema/tests/testSuite.py +5 -1
  754. metadata/generated/schema/type/__init__.py +1 -1
  755. metadata/generated/schema/type/apiSchema.py +1 -1
  756. metadata/generated/schema/type/assetCertification.py +1 -1
  757. metadata/generated/schema/type/auditLog.py +1 -1
  758. metadata/generated/schema/type/basic.py +9 -1
  759. metadata/generated/schema/type/bulkOperationResult.py +1 -1
  760. metadata/generated/schema/type/changeEvent.py +1 -1
  761. metadata/generated/schema/type/changeEventType.py +1 -1
  762. metadata/generated/schema/type/changeSummaryMap.py +1 -1
  763. metadata/generated/schema/type/collectionDescriptor.py +1 -1
  764. metadata/generated/schema/type/contextRecognizer.py +50 -0
  765. metadata/generated/schema/type/contractExecutionStatus.py +1 -1
  766. metadata/generated/schema/type/csvDocumentation.py +1 -1
  767. metadata/generated/schema/type/csvErrorType.py +1 -1
  768. metadata/generated/schema/type/csvFile.py +1 -1
  769. metadata/generated/schema/type/csvImportResult.py +1 -1
  770. metadata/generated/schema/type/customProperties/__init__.py +1 -1
  771. metadata/generated/schema/type/customProperties/complexTypes.py +1 -1
  772. metadata/generated/schema/type/customProperties/enumConfig.py +1 -1
  773. metadata/generated/schema/type/customProperties/tableConfig.py +1 -1
  774. metadata/generated/schema/type/customProperty.py +1 -1
  775. metadata/generated/schema/type/customRecognizer.py +39 -0
  776. metadata/generated/schema/type/dailyCount.py +1 -1
  777. metadata/generated/schema/type/databaseConnectionConfig.py +1 -1
  778. metadata/generated/schema/type/denyListRecognizer.py +37 -0
  779. metadata/generated/schema/type/entityHierarchy.py +1 -1
  780. metadata/generated/schema/type/entityHistory.py +1 -1
  781. metadata/generated/schema/type/entityLineage.py +1 -1
  782. metadata/generated/schema/type/entityProfile.py +1 -1
  783. metadata/generated/schema/type/entityReference.py +1 -1
  784. metadata/generated/schema/type/entityReferenceList.py +1 -1
  785. metadata/generated/schema/type/entityRelationship/__init__.py +1 -1
  786. metadata/generated/schema/type/entityRelationship/nodeInformation.py +1 -1
  787. metadata/generated/schema/type/entityUsage.py +1 -1
  788. metadata/generated/schema/type/filterPattern.py +1 -1
  789. metadata/generated/schema/type/function.py +1 -1
  790. metadata/generated/schema/type/include.py +1 -1
  791. metadata/generated/schema/type/jdbcConnection.py +1 -1
  792. metadata/generated/schema/type/layerPaging.py +1 -1
  793. metadata/generated/schema/type/lifeCycle.py +1 -1
  794. metadata/generated/schema/type/paging.py +1 -1
  795. metadata/generated/schema/type/patternRecognizer.py +39 -0
  796. metadata/generated/schema/type/personaPreferences.py +1 -1
  797. metadata/generated/schema/type/piiEntity.py +48 -0
  798. metadata/generated/schema/type/predefinedRecognizer.py +85 -0
  799. metadata/generated/schema/type/profile.py +1 -1
  800. metadata/generated/schema/type/queryParserData.py +1 -1
  801. metadata/generated/schema/type/reaction.py +1 -1
  802. metadata/generated/schema/type/recognizer.py +159 -0
  803. metadata/generated/schema/type/recognizerFeedback.py +120 -0
  804. metadata/generated/schema/type/recognizers/__init__.py +3 -0
  805. metadata/generated/schema/type/recognizers/patterns.py +29 -0
  806. metadata/generated/schema/type/recognizers/regexFlags.py +29 -0
  807. metadata/generated/schema/type/schedule.py +1 -1
  808. metadata/generated/schema/type/schema.py +1 -1
  809. metadata/generated/schema/type/status.py +16 -0
  810. metadata/generated/schema/type/tableQuery.py +1 -1
  811. metadata/generated/schema/type/tableUsageCount.py +1 -1
  812. metadata/generated/schema/type/tagLabel.py +8 -1
  813. metadata/generated/schema/type/usageDetails.py +1 -1
  814. metadata/generated/schema/type/usageRequest.py +1 -1
  815. metadata/generated/schema/type/votes.py +1 -1
  816. metadata/ingestion/models/patch_request.py +2 -0
  817. metadata/ingestion/ometa/client.py +2 -2
  818. metadata/ingestion/ometa/mixins/csv_mixin.py +180 -0
  819. metadata/ingestion/ometa/mixins/ingestion_pipeline_mixin.py +26 -0
  820. metadata/ingestion/ometa/mixins/logs_mixin.py +336 -0
  821. metadata/ingestion/ometa/mixins/patch_mixin.py +23 -9
  822. metadata/ingestion/ometa/ometa_api.py +20 -1
  823. metadata/ingestion/ometa/routes.py +3 -0
  824. metadata/ingestion/source/dashboard/domodashboard/metadata.py +19 -9
  825. metadata/ingestion/source/dashboard/looker/metadata.py +4 -0
  826. metadata/ingestion/source/dashboard/metabase/client.py +31 -9
  827. metadata/ingestion/source/dashboard/metabase/metadata.py +4 -0
  828. metadata/ingestion/source/dashboard/powerbi/metadata.py +70 -226
  829. metadata/ingestion/source/dashboard/redash/metadata.py +4 -0
  830. metadata/ingestion/source/dashboard/sigma/metadata.py +4 -0
  831. metadata/ingestion/source/dashboard/superset/api_source.py +2 -0
  832. metadata/ingestion/source/dashboard/superset/db_source.py +2 -0
  833. metadata/ingestion/source/dashboard/superset/mixin.py +2 -0
  834. metadata/ingestion/source/dashboard/tableau/client.py +21 -10
  835. metadata/ingestion/source/dashboard/tableau/metadata.py +7 -1
  836. metadata/ingestion/source/database/bigquery/connection.py +4 -0
  837. metadata/ingestion/source/database/bigquery/metadata.py +39 -26
  838. metadata/ingestion/source/database/column_type_parser.py +1 -1
  839. metadata/ingestion/source/database/common_pg_mappings.py +7 -0
  840. metadata/ingestion/source/database/databricks/auth.py +99 -0
  841. metadata/ingestion/source/database/databricks/client.py +7 -2
  842. metadata/ingestion/source/database/databricks/connection.py +63 -5
  843. metadata/ingestion/source/database/databricks/queries.py +61 -0
  844. metadata/ingestion/source/database/mariadb/metadata.py +86 -1
  845. metadata/ingestion/source/database/mariadb/models.py +36 -0
  846. metadata/ingestion/source/database/mariadb/queries.py +43 -0
  847. metadata/ingestion/source/database/oracle/connection.py +4 -0
  848. metadata/ingestion/source/database/oracle/queries.py +18 -0
  849. metadata/ingestion/source/database/postgres/connection.py +6 -0
  850. metadata/ingestion/source/database/postgres/queries.py +22 -0
  851. metadata/ingestion/source/database/sample_data.py +24 -8
  852. metadata/ingestion/source/database/snowflake/lineage.py +21 -44
  853. metadata/ingestion/source/database/snowflake/queries.py +0 -2
  854. metadata/ingestion/source/database/snowflake/query_parser.py +2 -12
  855. metadata/ingestion/source/database/snowflake/usage.py +0 -97
  856. metadata/ingestion/source/database/timescale/__init__.py +3 -0
  857. metadata/ingestion/source/database/timescale/connection.py +103 -0
  858. metadata/ingestion/source/database/timescale/lineage.py +124 -0
  859. metadata/ingestion/source/database/timescale/metadata.py +228 -0
  860. metadata/ingestion/source/database/timescale/models.py +60 -0
  861. metadata/ingestion/source/database/timescale/queries.py +96 -0
  862. metadata/ingestion/source/database/timescale/query_parser.py +106 -0
  863. metadata/ingestion/source/database/timescale/service_spec.py +12 -0
  864. metadata/ingestion/source/database/timescale/usage.py +43 -0
  865. metadata/ingestion/source/database/timescale/utils.py +545 -0
  866. metadata/ingestion/source/database/unitycatalog/client.py +35 -1
  867. metadata/ingestion/source/database/unitycatalog/connection.py +36 -4
  868. metadata/ingestion/source/database/unitycatalog/lineage.py +5 -179
  869. metadata/ingestion/source/database/unitycatalog/models.py +2 -18
  870. metadata/ingestion/source/messaging/kafka/connection.py +13 -4
  871. metadata/ingestion/source/metadata/amundsen/client.py +6 -6
  872. metadata/ingestion/source/mlmodel/mlmodel_service.py +75 -1
  873. metadata/ingestion/source/pipeline/kafkaconnect/client.py +30 -318
  874. metadata/ingestion/source/pipeline/kafkaconnect/metadata.py +16 -546
  875. metadata/ingestion/source/pipeline/kafkaconnect/models.py +1 -32
  876. metadata/ingestion/source/search/elasticsearch/connection.py +1 -1
  877. metadata/ingestion/source/storage/s3/metadata.py +2 -9
  878. metadata/parsers/json_schema_parser.py +1 -41
  879. metadata/pii/algorithms/classifiers.py +63 -1
  880. metadata/pii/algorithms/presidio_recognizer_factory.py +302 -0
  881. metadata/pii/algorithms/presidio_utils.py +38 -10
  882. metadata/pii/algorithms/utils.py +4 -0
  883. metadata/pii/base_processor.py +2 -1
  884. metadata/pii/processor.py +10 -4
  885. metadata/pii/processor_factory.py +28 -0
  886. metadata/pii/scanners/custom_ner_scanner.py +290 -0
  887. metadata/pii/tag_analyzer.py +124 -0
  888. metadata/pii/tag_processor.py +100 -0
  889. metadata/profiler/metrics/hybrid/cardinality_distribution.py +232 -0
  890. metadata/profiler/metrics/hybrid/histogram.py +1 -1
  891. metadata/profiler/metrics/registry.py +4 -0
  892. metadata/profiler/orm/converter/converter_registry.py +2 -0
  893. metadata/profiler/orm/converter/trino/__init__.py +14 -0
  894. metadata/profiler/orm/converter/trino/converter.py +39 -0
  895. metadata/profiler/orm/functions/conn_test.py +5 -0
  896. metadata/profiler/orm/registry.py +6 -0
  897. metadata/profiler/orm/types/__init__.py +10 -0
  898. metadata/profiler/orm/types/trino.py +70 -0
  899. metadata/profiler/processor/default.py +1 -0
  900. metadata/sdk/__init__.py +188 -0
  901. metadata/sdk/api/__init__.py +7 -0
  902. metadata/sdk/api/lineage.py +421 -0
  903. metadata/sdk/api/search.py +382 -0
  904. metadata/sdk/client.py +91 -0
  905. metadata/sdk/config.py +121 -0
  906. metadata/sdk/entities/__init__.py +64 -0
  907. metadata/sdk/entities/apicollections.py +19 -0
  908. metadata/sdk/entities/apiendpoints.py +19 -0
  909. metadata/sdk/entities/base.py +487 -0
  910. metadata/sdk/entities/charts.py +17 -0
  911. metadata/sdk/entities/classifications.py +21 -0
  912. metadata/sdk/entities/containers.py +17 -0
  913. metadata/sdk/entities/custom_properties.py +144 -0
  914. metadata/sdk/entities/dashboard_services.py +18 -0
  915. metadata/sdk/entities/dashboarddatamodels.py +21 -0
  916. metadata/sdk/entities/dashboards.py +17 -0
  917. metadata/sdk/entities/database_services.py +18 -0
  918. metadata/sdk/entities/databases.py +17 -0
  919. metadata/sdk/entities/databaseschemas.py +19 -0
  920. metadata/sdk/entities/datacontracts.py +19 -0
  921. metadata/sdk/entities/dataproducts.py +19 -0
  922. metadata/sdk/entities/domains.py +17 -0
  923. metadata/sdk/entities/glossaries.py +17 -0
  924. metadata/sdk/entities/glossary_terms.py +18 -0
  925. metadata/sdk/entities/glossaryterms.py +19 -0
  926. metadata/sdk/entities/metrics.py +49 -0
  927. metadata/sdk/entities/mlmodels.py +17 -0
  928. metadata/sdk/entities/pipelines.py +17 -0
  929. metadata/sdk/entities/queries.py +17 -0
  930. metadata/sdk/entities/searchindexes.py +19 -0
  931. metadata/sdk/entities/storedprocedures.py +19 -0
  932. metadata/sdk/entities/tables.py +68 -0
  933. metadata/sdk/entities/tags.py +17 -0
  934. metadata/sdk/entities/teams.py +17 -0
  935. metadata/sdk/entities/testcases.py +17 -0
  936. metadata/sdk/entities/testdefinitions.py +19 -0
  937. metadata/sdk/entities/testsuites.py +17 -0
  938. metadata/sdk/entities/users.py +17 -0
  939. metadata/sdk/examples/builder_end_to_end.py +387 -0
  940. metadata/sdk/types.py +15 -0
  941. metadata/utils/deprecation.py +9 -6
  942. metadata/utils/elasticsearch.py +3 -0
  943. metadata/utils/fqn.py +18 -2
  944. metadata/utils/importer.py +3 -2
  945. metadata/utils/logger.py +10 -0
  946. metadata/utils/sqa_utils.py +3 -0
  947. metadata/utils/streamable_logger.py +525 -0
  948. metadata/workflow/base.py +26 -1
  949. metadata/workflow/classification.py +2 -2
  950. metadata/workflow/workflow_status_mixin.py +1 -1
  951. {openmetadata_ingestion-1.9.13.0.dist-info → openmetadata_ingestion-1.10.1.0.dist-info}/METADATA +549 -549
  952. {openmetadata_ingestion-1.9.13.0.dist-info → openmetadata_ingestion-1.10.1.0.dist-info}/RECORD +956 -855
  953. metadata/examples/workflows/confluent_cdc.yaml +0 -70
  954. metadata/examples/workflows/confluent_cdc_cloud.yaml +0 -86
  955. metadata/examples/workflows/confluent_cdc_local.yaml +0 -120
  956. metadata/examples/workflows/my_confluent_cloud.yaml +0 -49
  957. {openmetadata_ingestion-1.9.13.0.dist-info → openmetadata_ingestion-1.10.1.0.dist-info}/LICENSE +0 -0
  958. {openmetadata_ingestion-1.9.13.0.dist-info → openmetadata_ingestion-1.10.1.0.dist-info}/WHEEL +0 -0
  959. {openmetadata_ingestion-1.9.13.0.dist-info → openmetadata_ingestion-1.10.1.0.dist-info}/entry_points.txt +0 -0
  960. {openmetadata_ingestion-1.9.13.0.dist-info → openmetadata_ingestion-1.10.1.0.dist-info}/top_level.txt +0 -0
@@ -20,6 +20,9 @@ from typing import Dict, List, Optional, Type, TypeVar, Union
20
20
 
21
21
  from pydantic import BaseModel
22
22
 
23
+ from metadata.generated.schema.entity.automations.response.queryRunnerResponse import (
24
+ QueryRunnerResponse,
25
+ )
23
26
  from metadata.generated.schema.entity.automations.workflow import (
24
27
  Workflow as AutomationWorkflow,
25
28
  )
@@ -128,6 +131,11 @@ class OMetaPatchMixin(OMetaPatchMixinBase):
128
131
  Given an Entity type and Source entity and Destination entity,
129
132
  generate a JSON Patch and apply it.
130
133
 
134
+ This method provides fine-grained control over entity updates and can
135
+ override fields that create_or_update() cannot due to server-side restrictions
136
+ across various entity types. Use override_metadata=True to force updates of
137
+ protected metadata fields.
138
+
131
139
  Args
132
140
  entity (T): Entity Type
133
141
  source: Source payload which is current state of the source in OpenMetadata
@@ -135,7 +143,8 @@ class OMetaPatchMixin(OMetaPatchMixinBase):
135
143
  allowed_fields: List of field names to filter from source and destination models
136
144
  restrict_update_fields: List of field names which will only support add operation
137
145
  array_entity_fields: List of array fields to sort for consistent patching
138
- override_metadata: Whether to override existing metadata fields
146
+ override_metadata: Whether to override existing metadata fields. Set to True
147
+ to force updates of protected fields across various entity types.
139
148
  skip_on_failure: Whether to skip the patch operation on failure (default: True)
140
149
 
141
150
  Returns
@@ -188,12 +197,16 @@ class OMetaPatchMixin(OMetaPatchMixinBase):
188
197
  """
189
198
  Given an Entity type and ID, JSON PATCH the description.
190
199
 
200
+ This method is useful when you need to update descriptions that cannot be
201
+ overridden through create_or_update() due to server-side business rules
202
+ across various entity types. Use force=True to override existing descriptions.
203
+
191
204
  Args
192
205
  entity (T): Entity Type
193
206
  source: source entity object
194
207
  description: new description to add
195
208
  force: if True, we will patch any existing description. Otherwise, we will maintain
196
- the existing data.
209
+ the existing data. Set to True to override existing descriptions across entity types.
197
210
  skip_on_failure: if True, return None on failure instead of raising exception
198
211
  Returns
199
212
  Updated Entity
@@ -547,7 +560,9 @@ class OMetaPatchMixin(OMetaPatchMixinBase):
547
560
  def patch_automation_workflow_response(
548
561
  self,
549
562
  automation_workflow: AutomationWorkflow,
550
- result: Union[TestConnectionResult, ReverseIngestionResponse],
563
+ result: Union[
564
+ TestConnectionResult, ReverseIngestionResponse, QueryRunnerResponse
565
+ ],
551
566
  workflow_status: WorkflowStatus,
552
567
  ) -> None:
553
568
  """
@@ -560,17 +575,16 @@ class OMetaPatchMixin(OMetaPatchMixinBase):
560
575
  }
561
576
 
562
577
  # for deserializing into json convert enum object to string
563
- if isinstance(result, TestConnectionResult):
564
- result_data[PatchField.VALUE]["status"] = result_data[PatchField.VALUE][
565
- "status"
566
- ].value
567
- else:
578
+ if isinstance(result, ReverseIngestionResponse):
568
579
  # Convert UUID in string
569
580
  data = result_data[PatchField.VALUE]
570
581
  data["serviceId"] = str(data["serviceId"])
571
582
  for operation_result in data["results"]:
572
583
  operation_result["id"] = str(operation_result["id"])
573
-
584
+ else:
585
+ result_data[PatchField.VALUE]["status"] = result_data[PatchField.VALUE][
586
+ "status"
587
+ ].value
574
588
  status_data: Dict = {
575
589
  PatchField.PATH: PatchPath.STATUS,
576
590
  PatchField.OPERATION: PatchOperation.ADD,
@@ -33,6 +33,7 @@ from metadata.generated.schema.type.entityReference import EntityReference
33
33
  from metadata.ingestion.models.custom_pydantic import BaseModel
34
34
  from metadata.ingestion.ometa.auth_provider import OpenMetadataAuthenticationProvider
35
35
  from metadata.ingestion.ometa.client import REST, APIError, ClientConfig
36
+ from metadata.ingestion.ometa.mixins.csv_mixin import CSVMixin
36
37
  from metadata.ingestion.ometa.mixins.custom_property_mixin import (
37
38
  OMetaCustomPropertyMixin,
38
39
  )
@@ -44,6 +45,7 @@ from metadata.ingestion.ometa.mixins.es_mixin import ESMixin
44
45
  from metadata.ingestion.ometa.mixins.ingestion_pipeline_mixin import (
45
46
  OMetaIngestionPipelineMixin,
46
47
  )
48
+ from metadata.ingestion.ometa.mixins.logs_mixin import OMetaLogsMixin
47
49
  from metadata.ingestion.ometa.mixins.mlmodel_mixin import OMetaMlModelMixin
48
50
  from metadata.ingestion.ometa.mixins.patch_mixin import OMetaPatchMixin
49
51
  from metadata.ingestion.ometa.mixins.pipeline_mixin import OMetaPipelineMixin
@@ -109,6 +111,7 @@ class OpenMetadataSettings(BaseSettings):
109
111
 
110
112
 
111
113
  class OpenMetadata(
114
+ CSVMixin,
112
115
  OMetaPipelineMixin,
113
116
  OMetaMlModelMixin,
114
117
  OMetaTableMixin,
@@ -123,6 +126,7 @@ class OpenMetadata(
123
126
  OMetaTestsMixin,
124
127
  DataInsightMixin,
125
128
  OMetaIngestionPipelineMixin,
129
+ OMetaLogsMixin,
126
130
  OMetaUserMixin,
127
131
  OMetaQueryMixin,
128
132
  OMetaRolePolicyMixin,
@@ -339,7 +343,22 @@ class OpenMetadata(
339
343
  return entity_class(**resp)
340
344
 
341
345
  def create_or_update(self, data: C) -> T:
342
- """Run a PUT requesting via create request C"""
346
+ """
347
+ Run a PUT request via create request C.
348
+
349
+ Note: This method uses PUT operations with server-side business rules that may prevent
350
+ certain field overwrites across various entity types for data integrity reasons. If you
351
+ need to override existing metadata fields, consider using patch methods instead:
352
+
353
+ - For descriptions: Use patch_description(force=True)
354
+ - For general metadata: Use patch(override_metadata=True)
355
+
356
+ Args:
357
+ data: Create request object
358
+
359
+ Returns:
360
+ Updated or created entity
361
+ """
343
362
  return self._create(data=data, method="put")
344
363
 
345
364
  def create(self, data: C) -> T:
@@ -328,5 +328,8 @@ ROUTES = {
328
328
  # Data Contracts
329
329
  DataContract.__name__: "/dataContracts",
330
330
  CreateDataContractRequest.__name__: "/dataContracts",
331
+ # Drives
332
+ DriveService.__name__: "/services/driveServices",
333
+ CreateDriveServiceRequest.__name__: "/services/driveServices",
331
334
  EntityProfile.__name__: "/entity/profiles",
332
335
  }
@@ -79,6 +79,8 @@ class DomodashboardSource(DashboardServiceSource):
79
79
  return cls(config, metadata)
80
80
 
81
81
  def get_dashboards_list(self) -> Optional[List[DomoDashboardDetails]]:
82
+ if not self.source_config.includeOwners:
83
+ logger.debug("Skipping owner information as includeOwners is False")
82
84
  dashboards = self.client.domo.page_list()
83
85
  dashboard_list = []
84
86
  for dashboard in dashboards:
@@ -104,15 +106,23 @@ class DomodashboardSource(DashboardServiceSource):
104
106
  def get_owner_ref(
105
107
  self, dashboard_details: DomoDashboardDetails
106
108
  ) -> Optional[EntityReferenceList]:
107
- for owner in dashboard_details.owners or []:
108
- try:
109
- owner_details = self.client.domo.users_get(owner.id)
110
- if owner_details.get("email"):
111
- return self.metadata.get_reference_by_email(owner_details["email"])
112
- except Exception as exc:
113
- logger.warning(
114
- f"Error while getting details of user {owner.displayName} - {exc}"
115
- )
109
+ try:
110
+ if not self.source_config.includeOwners:
111
+ return None
112
+ for owner in dashboard_details.owners or []:
113
+ try:
114
+ owner_details = self.client.domo.users_get(owner.id)
115
+ if owner_details.get("email"):
116
+ return self.metadata.get_reference_by_email(
117
+ owner_details["email"]
118
+ )
119
+ except Exception as exc:
120
+ logger.warning(
121
+ f"Error while getting details of user {owner.displayName} - {exc}"
122
+ )
123
+ except Exception as err:
124
+ logger.debug(traceback.format_exc())
125
+ logger.warning(f"Could not fetch owner data due to {err}")
116
126
  return None
117
127
 
118
128
  def yield_dashboard(
@@ -922,6 +922,8 @@ class LookerSource(DashboardServiceSource):
922
922
  """
923
923
  Get List of all dashboards
924
924
  """
925
+ if not self.source_config.includeOwners:
926
+ logger.debug("Skipping owner information as includeOwners is False")
925
927
  try:
926
928
  return list(
927
929
  self.client.all_dashboards(fields=",".join(LIST_DASHBOARD_FIELDS))
@@ -963,6 +965,8 @@ class LookerSource(DashboardServiceSource):
963
965
  Optional[EntityReference]
964
966
  """
965
967
  try:
968
+ if not self.source_config.includeOwners:
969
+ return None
966
970
  if dashboard_details.user_id is not None:
967
971
  dashboard_owner = self.client.user(dashboard_details.user_id)
968
972
  if dashboard_owner.email:
@@ -48,6 +48,7 @@ PASSWORD_HEADER = "password"
48
48
  SESSION_HEADERS = {"Content-Type": "application/json", "Accept": "*/*"}
49
49
  DEFAULT_TIMEOUT = 30
50
50
  METABASE_SESSION_HEADER = "X-Metabase-Session"
51
+ METABASE_API_HEADER = "X-API-KEY"
51
52
  API_VERSION = "api"
52
53
 
53
54
 
@@ -56,8 +57,13 @@ class MetabaseClient:
56
57
  Client Handling API communication with Metabase
57
58
  """
58
59
 
59
- def _get_metabase_session(self) -> str:
60
+ def _get_metabase_session(self) -> Optional[str]:
60
61
  try:
62
+ # If API token is provided, return None as we don't need a session
63
+ if self.config.apiKey:
64
+ return None
65
+
66
+ # Otherwise use username/password authentication
61
67
  params = {USERNAME_HEADER: self.config.username}
62
68
  if self.config.password:
63
69
  params[PASSWORD_HEADER] = self.config.password.get_secret_value()
@@ -82,14 +88,30 @@ class MetabaseClient:
82
88
  config: MetabaseConnection,
83
89
  ):
84
90
  self.config = config
85
- session_token = self._get_metabase_session()
86
- client_config: ClientConfig = ClientConfig(
87
- base_url=clean_uri(str(self.config.hostPort)),
88
- api_version=API_VERSION,
89
- auth_header=AUTHORIZATION_HEADER,
90
- auth_token=lambda: (NO_ACCESS_TOKEN, 0),
91
- extra_headers={METABASE_SESSION_HEADER: session_token},
92
- )
91
+
92
+ # Determine authentication method and set headers accordingly
93
+ if self.config.apiKey:
94
+ # Use API token authentication
95
+ client_config: ClientConfig = ClientConfig(
96
+ base_url=clean_uri(str(self.config.hostPort)),
97
+ api_version=API_VERSION,
98
+ auth_header=AUTHORIZATION_HEADER,
99
+ auth_token=lambda: (NO_ACCESS_TOKEN, 0),
100
+ extra_headers={
101
+ METABASE_API_HEADER: self.config.apiKey.get_secret_value()
102
+ },
103
+ )
104
+ else:
105
+ # Use session-based authentication
106
+ session_token = self._get_metabase_session()
107
+ client_config: ClientConfig = ClientConfig(
108
+ base_url=clean_uri(str(self.config.hostPort)),
109
+ api_version=API_VERSION,
110
+ auth_header=AUTHORIZATION_HEADER,
111
+ auth_token=lambda: (NO_ACCESS_TOKEN, 0),
112
+ extra_headers={METABASE_SESSION_HEADER: session_token},
113
+ )
114
+
93
115
  self.client = REST(client_config)
94
116
 
95
117
  def get_dashboards_list(
@@ -108,6 +108,8 @@ class MetabaseSource(DashboardServiceSource):
108
108
  """
109
109
  Get List of all dashboards
110
110
  """
111
+ if not self.source_config.includeOwners:
112
+ logger.debug("Skipping owner information as includeOwners is False")
111
113
  self.dashboards_list = self.client.get_dashboards_list(self.collections)
112
114
  return self.dashboards_list
113
115
 
@@ -180,6 +182,8 @@ class MetabaseSource(DashboardServiceSource):
180
182
  Get dashboard owner from email
181
183
  """
182
184
  try:
185
+ if not self.source_config.includeOwners:
186
+ return None
183
187
  if dashboard_details.creator_id:
184
188
  owner_details = self.client.get_user_details(
185
189
  dashboard_details.creator_id
@@ -54,8 +54,6 @@ from metadata.generated.schema.type.basic import (
54
54
  from metadata.generated.schema.type.entityReferenceList import EntityReferenceList
55
55
  from metadata.ingestion.api.models import Either
56
56
  from metadata.ingestion.api.steps import InvalidSourceException
57
- from metadata.ingestion.lineage.models import Dialect
58
- from metadata.ingestion.lineage.parser import LineageParser
59
57
  from metadata.ingestion.ometa.ometa_api import OpenMetadata
60
58
  from metadata.ingestion.ometa.utils import model_str
61
59
  from metadata.ingestion.source.dashboard.dashboard_service import DashboardServiceSource
@@ -82,7 +80,6 @@ from metadata.utils.logger import ingestion_logger
82
80
  logger = ingestion_logger()
83
81
 
84
82
  OWNER_ACCESS_RIGHTS_KEYWORDS = ["owner", "write", "admin"]
85
- SNOWFLAKE_QUERY_EXPRESSION_KW = "Value.NativeQuery(Snowflake.Databases("
86
83
 
87
84
 
88
85
  class PowerbiSource(DashboardServiceSource):
@@ -791,7 +788,7 @@ class PowerbiSource(DashboardServiceSource):
791
788
  logger.debug(traceback.format_exc())
792
789
  return None
793
790
 
794
- def _parse_redshift_source(self, source_expression: str) -> Optional[List[dict]]:
791
+ def _parse_redshift_source(self, source_expression: str) -> Optional[dict]:
795
792
  try:
796
793
  db_match = re.search(
797
794
  r'AmazonRedshift\.Database\("[^"]+","([^"]+)"\)', source_expression
@@ -808,167 +805,20 @@ class PowerbiSource(DashboardServiceSource):
808
805
  table = schema_table_match[1] if len(schema_table_match) > 1 else None
809
806
 
810
807
  if table: # atlease table should be fetched
811
- return [{"database": database, "schema": schema, "table": table}]
808
+ return {"database": database, "schema": schema, "table": table}
812
809
  return None
813
810
  except Exception as exc:
814
811
  logger.debug(f"Error to parse redshift table source: {exc}")
815
812
  logger.debug(traceback.format_exc())
816
813
  return None
817
814
 
818
- def _parse_snowflake_query_source(
819
- self, source_expression: str
820
- ) -> Optional[List[dict]]:
821
- """
822
- Parse snowflake query source
823
- source expressions like `Value.NativeQuery(Snowflake.Databases())`
824
- """
825
- try:
826
- logger.debug(
827
- f"parsing source expression through query parser: {source_expression[:100]}"
828
- )
829
-
830
- # Look for SQL query after [Data],
831
- # The pattern needs to handle the concatenated strings with & operators
832
- m = re.search(
833
- r'\[Data\],\s*"(.+?)"(?:,\s*null|\s*\))',
834
- source_expression,
835
- re.IGNORECASE | re.DOTALL,
836
- )
837
-
838
- if not m:
839
- logger.debug("sql query not found in source expression")
840
- return None
841
-
842
- # Extract and clean the SQL query
843
- sql_query = m.group(1).replace('""', '"')
844
-
845
- # Handle PowerBI parameter concatenation (e.g., "& Database &")
846
- # For now, replace parameter references with wildcards for parsing
847
- sql_query_cleaned = re.sub(r'"?\s*&\s*\w+\s*&\s*"?\.?', "%.", sql_query)
848
-
849
- logger.debug(f"Extracted SQL query: {sql_query}")
850
- logger.debug(f"Cleaned SQL query: {sql_query_cleaned}")
851
-
852
- if not sql_query_cleaned:
853
- logger.debug("Empty SQL query after extraction")
854
- return None
855
-
856
- # Clean the query for parser
857
- # 1. Replace % with a placeholder database name
858
- parser_query = sql_query_cleaned.replace("%", "PLACEHOLDER_DB")
859
-
860
- # 2. Remove PowerBI line feed markers #(lf) and clean up the query
861
- parser_query = parser_query.replace("#(lf)", "\n")
862
-
863
- # 3. Remove SQL comments that might cause issues (// style comments)
864
- parser_query = re.sub(r"//[^\n]*", "", parser_query)
865
-
866
- # 4. Clean up excessive whitespace
867
- parser_query = re.sub(r"\s+", " ", parser_query).strip()
868
-
869
- logger.debug(
870
- f"Attempting LineageParser with cleaned query: {parser_query[:200]}"
871
- )
872
-
873
- try:
874
- parser = LineageParser(
875
- parser_query, dialect=Dialect.SNOWFLAKE, timeout_seconds=30
876
- )
877
- except Exception as parser_exc:
878
- logger.debug(f"LineageParser failed with error: {parser_exc}")
879
- logger.debug(f"Failed query was: {parser_query[:200]}...")
880
- return None
881
-
882
- if parser.source_tables:
883
- logger.debug(
884
- f"LineageParser found {len(parser.source_tables)} source table(s)"
885
- )
886
- for table in parser.source_tables:
887
- logger.debug(
888
- f"source table: {table.raw_name}, schema: {table.schema if hasattr(table, 'schema') else 'N/A'}"
889
- )
890
- lineage_tables_list = []
891
- for source_table in parser.source_tables:
892
- # source_table = parser.source_tables[0]
893
-
894
- # Extract database from schema's parent if it exists
895
- database = None
896
- schema = None
897
-
898
- if hasattr(source_table, "schema") and source_table.schema:
899
- # Log what we have in the schema object
900
- logger.debug(
901
- f"Schema object type: {type(source_table.schema)}, value: {source_table.schema}"
902
- )
903
-
904
- # Get schema as string first
905
- schema_str = (
906
- source_table.schema.raw_name
907
- if hasattr(source_table.schema, "raw_name")
908
- else str(source_table.schema)
909
- )
910
-
911
- # If schema contains dots, it might be database.schema format
912
- if "." in schema_str:
913
- parts = schema_str.split(".")
914
- if len(parts) == 2:
915
- # Format: database.schema
916
- # Check for placeholder (case insensitive)
917
- database = (
918
- parts[0]
919
- if parts[0].upper() != "PLACEHOLDER_DB"
920
- else None
921
- )
922
- schema = parts[1]
923
- else:
924
- # Just use as is
925
- schema = schema_str
926
- else:
927
- schema = schema_str
928
- # Check if schema has a parent (database)
929
- if (
930
- hasattr(source_table.schema, "parent")
931
- and source_table.schema.parent
932
- ):
933
- database = (
934
- source_table.schema.parent.raw_name
935
- if hasattr(source_table.schema.parent, "raw_name")
936
- else str(source_table.schema.parent)
937
- )
938
-
939
- # Filter out placeholder values (case insensitive)
940
- if database and database.upper() == "PLACEHOLDER_DB":
941
- database = None
942
-
943
- table = source_table.raw_name
944
-
945
- if table:
946
- logger.debug(f"tables found = {database}.{schema}.{table}")
947
- lineage_tables_list.append(
948
- {
949
- "database": database,
950
- "schema": schema,
951
- "table": table,
952
- }
953
- )
954
- return lineage_tables_list
955
- logger.debug("tables in query not found through parser")
956
- return None
957
- except Exception as exc:
958
- logger.debug(f"Error parsing snowflake query source: {exc}")
959
- logger.debug(traceback.format_exc())
960
- return None
961
-
962
815
  def _parse_snowflake_source(
963
816
  self, source_expression: str, datamodel_entity: DashboardDataModel
964
- ) -> Optional[List[dict]]:
817
+ ) -> Optional[dict]:
965
818
  try:
966
819
  if "Snowflake.Databases" not in source_expression:
967
820
  # Not a snowflake valid expression
968
821
  return None
969
- if SNOWFLAKE_QUERY_EXPRESSION_KW in source_expression:
970
- # snowflake query source identified
971
- return self._parse_snowflake_query_source(source_expression)
972
822
  db_match = re.search(
973
823
  r'\[Name=(?:"([^"]+)"|([^,]+)),Kind="Database"\]', source_expression
974
824
  )
@@ -988,13 +838,11 @@ class PowerbiSource(DashboardServiceSource):
988
838
  view = self._parse_snowflake_regex_exp(view_match, datamodel_entity)
989
839
 
990
840
  if table or view: # atlease table or view should be fetched
991
- return [
992
- {
993
- "database": database,
994
- "schema": schema,
995
- "table": table if table else view,
996
- }
997
- ]
841
+ return {
842
+ "database": database,
843
+ "schema": schema,
844
+ "table": table if table else view,
845
+ }
998
846
  return None
999
847
  except Exception as exc:
1000
848
  logger.debug(f"Error to parse snowflake table source: {exc}")
@@ -1003,29 +851,29 @@ class PowerbiSource(DashboardServiceSource):
1003
851
 
1004
852
  def _parse_table_info_from_source_exp(
1005
853
  self, table: PowerBiTable, datamodel_entity: DashboardDataModel
1006
- ) -> Optional[List[dict]]:
854
+ ) -> dict:
1007
855
  try:
1008
856
  if not isinstance(table.source, list):
1009
- return None
857
+ return {}
1010
858
  source_expression = table.source[0].expression
1011
859
  if not source_expression:
1012
860
  logger.debug(f"No source expression found for table: {table.name}")
1013
- return None
861
+ return {}
1014
862
  # parse snowflake source
1015
- table_info_list = self._parse_snowflake_source(
863
+ table_info = self._parse_snowflake_source(
1016
864
  source_expression, datamodel_entity
1017
865
  )
1018
- if isinstance(table_info_list, List):
1019
- return table_info_list
866
+ if isinstance(table_info, dict):
867
+ return table_info
1020
868
  # parse redshift source
1021
- table_info_list = self._parse_redshift_source(source_expression)
1022
- if isinstance(table_info_list, List):
1023
- return table_info_list
1024
- return None
869
+ table_info = self._parse_redshift_source(source_expression)
870
+ if isinstance(table_info, dict):
871
+ return table_info
872
+ return {}
1025
873
  except Exception as exc:
1026
874
  logger.debug(f"Error to parse table source: {exc}")
1027
875
  logger.debug(traceback.format_exc())
1028
- return None
876
+ return {}
1029
877
 
1030
878
  def _get_table_and_datamodel_lineage(
1031
879
  self,
@@ -1044,64 +892,60 @@ class PowerbiSource(DashboardServiceSource):
1044
892
  ) = self.parse_db_service_prefix(db_service_prefix)
1045
893
 
1046
894
  try:
1047
- table_info_list = self._parse_table_info_from_source_exp(
1048
- table, datamodel_entity
1049
- )
1050
- if isinstance(table_info_list, List):
1051
- for table_info in table_info_list:
1052
- table_name = table_info.get("table") or table.name
1053
- schema_name = table_info.get("schema")
1054
- database_name = table_info.get("database")
1055
- if (
1056
- prefix_table_name
1057
- and table_name
1058
- and prefix_table_name.lower() != table_name.lower()
1059
- ):
1060
- logger.debug(
1061
- f"Table {table_name} does not match prefix {prefix_table_name}"
1062
- )
1063
- return
895
+ table_info = self._parse_table_info_from_source_exp(table, datamodel_entity)
896
+ table_name = table_info.get("table") or table.name
897
+ schema_name = table_info.get("schema")
898
+ database_name = table_info.get("database")
899
+ if (
900
+ prefix_table_name
901
+ and table_name
902
+ and prefix_table_name.lower() != table_name.lower()
903
+ ):
904
+ logger.debug(
905
+ f"Table {table_name} does not match prefix {prefix_table_name}"
906
+ )
907
+ return
1064
908
 
1065
- if (
1066
- prefix_schema_name
1067
- and schema_name
1068
- and prefix_schema_name.lower() != schema_name.lower()
1069
- ):
1070
- logger.debug(
1071
- f"Schema {table_info.get('schema')} does not match prefix {prefix_schema_name}"
1072
- )
1073
- return
909
+ if (
910
+ prefix_schema_name
911
+ and schema_name
912
+ and prefix_schema_name.lower() != schema_name.lower()
913
+ ):
914
+ logger.debug(
915
+ f"Schema {table_info.get('schema')} does not match prefix {prefix_schema_name}"
916
+ )
917
+ return
1074
918
 
1075
- if (
1076
- prefix_database_name
1077
- and database_name
1078
- and prefix_database_name.lower() != database_name.lower()
1079
- ):
1080
- logger.debug(
1081
- f"Database {table_info.get('database')} does not match prefix {prefix_database_name}"
1082
- )
1083
- return
919
+ if (
920
+ prefix_database_name
921
+ and database_name
922
+ and prefix_database_name.lower() != database_name.lower()
923
+ ):
924
+ logger.debug(
925
+ f"Database {table_info.get('database')} does not match prefix {prefix_database_name}"
926
+ )
927
+ return
1084
928
 
1085
- fqn_search_string = build_es_fqn_search_string(
1086
- service_name=prefix_service_name or "*",
1087
- table_name=(prefix_table_name or table_name),
1088
- schema_name=(prefix_schema_name or schema_name),
1089
- database_name=(prefix_database_name or database_name),
1090
- )
1091
- table_entity = self.metadata.search_in_any_service(
1092
- entity_type=Table,
1093
- fqn_search_string=fqn_search_string,
1094
- )
1095
- if table_entity and datamodel_entity:
1096
- columns_list = [column.name for column in table.columns]
1097
- column_lineage = self._get_column_lineage(
1098
- table_entity, datamodel_entity, columns_list
1099
- )
1100
- yield self._get_add_lineage_request(
1101
- to_entity=datamodel_entity,
1102
- from_entity=table_entity,
1103
- column_lineage=column_lineage,
1104
- )
929
+ fqn_search_string = build_es_fqn_search_string(
930
+ service_name=prefix_service_name or "*",
931
+ table_name=(prefix_table_name or table_name),
932
+ schema_name=(prefix_schema_name or schema_name),
933
+ database_name=(prefix_database_name or database_name),
934
+ )
935
+ table_entity = self.metadata.search_in_any_service(
936
+ entity_type=Table,
937
+ fqn_search_string=fqn_search_string,
938
+ )
939
+ if table_entity and datamodel_entity:
940
+ columns_list = [column.name for column in table.columns]
941
+ column_lineage = self._get_column_lineage(
942
+ table_entity, datamodel_entity, columns_list
943
+ )
944
+ yield self._get_add_lineage_request(
945
+ to_entity=datamodel_entity,
946
+ from_entity=table_entity,
947
+ column_lineage=column_lineage,
948
+ )
1105
949
  except Exception as exc: # pylint: disable=broad-except
1106
950
  yield Either(
1107
951
  left=StackTraceError(