openmetadata-ingestion 1.6.7.0__py3-none-any.whl → 1.7.0.0rc1__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 (865) hide show
  1. metadata/automations/execute_runner.py +49 -0
  2. metadata/automations/extended_runner.py +13 -0
  3. metadata/automations/runner.py +34 -35
  4. metadata/data_quality/validations/table/base/tableCustomSQLQuery.py +11 -1
  5. metadata/examples/workflows/cassandra.yaml +35 -0
  6. metadata/examples/workflows/cockroach.yaml +24 -0
  7. metadata/examples/workflows/nifi.yaml +51 -0
  8. metadata/examples/workflows/opensearch.yaml +20 -0
  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 +14 -4
  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 +2 -2
  33. metadata/generated/schema/api/classification/createTag.py +2 -2
  34. metadata/generated/schema/api/classification/loadTags.py +1 -1
  35. metadata/generated/schema/api/createBot.py +1 -1
  36. metadata/generated/schema/api/createEventPublisherJob.py +1 -1
  37. metadata/generated/schema/api/createType.py +1 -1
  38. metadata/generated/schema/api/data/__init__.py +1 -1
  39. metadata/generated/schema/api/data/createAPICollection.py +1 -1
  40. metadata/generated/schema/api/data/createAPIEndpoint.py +1 -1
  41. metadata/generated/schema/api/data/createChart.py +1 -1
  42. metadata/generated/schema/api/data/createContainer.py +1 -1
  43. metadata/generated/schema/api/data/createCustomProperty.py +1 -1
  44. metadata/generated/schema/api/data/createDashboard.py +1 -1
  45. metadata/generated/schema/api/data/createDashboardDataModel.py +1 -1
  46. metadata/generated/schema/api/data/createDatabase.py +1 -1
  47. metadata/generated/schema/api/data/createDatabaseSchema.py +1 -1
  48. metadata/generated/schema/api/data/createGlossary.py +1 -1
  49. metadata/generated/schema/api/data/createGlossaryTerm.py +1 -1
  50. metadata/generated/schema/api/data/createMetric.py +1 -1
  51. metadata/generated/schema/api/data/createMlModel.py +1 -1
  52. metadata/generated/schema/api/data/createPipeline.py +5 -1
  53. metadata/generated/schema/api/data/createQuery.py +1 -1
  54. metadata/generated/schema/api/data/createQueryCostRecord.py +35 -0
  55. metadata/generated/schema/api/data/createSearchIndex.py +1 -1
  56. metadata/generated/schema/api/data/createStoredProcedure.py +1 -1
  57. metadata/generated/schema/api/data/createTable.py +1 -1
  58. metadata/generated/schema/api/data/createTableProfile.py +1 -1
  59. metadata/generated/schema/api/data/createTopic.py +1 -1
  60. metadata/generated/schema/api/data/loadGlossary.py +1 -1
  61. metadata/generated/schema/api/data/restoreEntity.py +1 -1
  62. metadata/generated/schema/api/dataInsight/__init__.py +1 -1
  63. metadata/generated/schema/api/dataInsight/createDataInsightChart.py +1 -1
  64. metadata/generated/schema/api/dataInsight/custom/__init__.py +1 -1
  65. metadata/generated/schema/api/dataInsight/custom/createDataInsightCustomChart.py +1 -1
  66. metadata/generated/schema/api/dataInsight/kpi/__init__.py +1 -1
  67. metadata/generated/schema/api/dataInsight/kpi/createKpiRequest.py +1 -1
  68. metadata/generated/schema/api/docStore/__init__.py +1 -1
  69. metadata/generated/schema/api/docStore/createDocument.py +1 -1
  70. metadata/generated/schema/api/domains/__init__.py +1 -1
  71. metadata/generated/schema/api/domains/createDataProduct.py +1 -1
  72. metadata/generated/schema/api/domains/createDomain.py +8 -1
  73. metadata/generated/schema/api/feed/__init__.py +1 -1
  74. metadata/generated/schema/api/feed/closeTask.py +1 -1
  75. metadata/generated/schema/api/feed/createPost.py +1 -1
  76. metadata/generated/schema/api/feed/createSuggestion.py +1 -1
  77. metadata/generated/schema/api/feed/createThread.py +1 -1
  78. metadata/generated/schema/api/feed/resolveTask.py +1 -1
  79. metadata/generated/schema/api/feed/threadCount.py +25 -1
  80. metadata/generated/schema/api/governance/__init__.py +1 -1
  81. metadata/generated/schema/api/governance/createWorkflowDefinition.py +1 -1
  82. metadata/generated/schema/api/governance/createWorkflowInstanceState.py +1 -1
  83. metadata/generated/schema/api/lineage/__init__.py +1 -1
  84. metadata/generated/schema/api/lineage/addLineage.py +1 -1
  85. metadata/generated/schema/api/lineage/esLineageData.py +85 -0
  86. metadata/generated/schema/api/lineage/lineageDirection.py +12 -0
  87. metadata/generated/schema/api/lineage/nodeInformation.py +19 -0
  88. metadata/generated/schema/api/lineage/searchLineageRequest.py +45 -0
  89. metadata/generated/schema/api/lineage/searchLineageResult.py +46 -0
  90. metadata/generated/schema/api/openMetadataServerVersion.py +1 -1
  91. metadata/generated/schema/api/policies/__init__.py +1 -1
  92. metadata/generated/schema/api/policies/createPolicy.py +1 -1
  93. metadata/generated/schema/api/search/__init__.py +3 -0
  94. metadata/generated/schema/api/search/previewSearchRequest.py +47 -0
  95. metadata/generated/schema/api/services/__init__.py +1 -1
  96. metadata/generated/schema/api/services/createApiService.py +9 -2
  97. metadata/generated/schema/api/services/createDashboardService.py +9 -2
  98. metadata/generated/schema/api/services/createDatabaseService.py +9 -2
  99. metadata/generated/schema/api/services/createMessagingService.py +9 -2
  100. metadata/generated/schema/api/services/createMetadataService.py +9 -2
  101. metadata/generated/schema/api/services/createMlModelService.py +9 -2
  102. metadata/generated/schema/api/services/createPipelineService.py +9 -2
  103. metadata/generated/schema/api/services/createSearchService.py +9 -2
  104. metadata/generated/schema/api/services/createStorageService.py +9 -2
  105. metadata/generated/schema/api/services/ingestionPipelines/__init__.py +1 -1
  106. metadata/generated/schema/api/services/ingestionPipelines/createIngestionPipeline.py +1 -1
  107. metadata/generated/schema/api/setOwner.py +1 -1
  108. metadata/generated/schema/api/teams/__init__.py +1 -1
  109. metadata/generated/schema/api/teams/createPersona.py +1 -1
  110. metadata/generated/schema/api/teams/createRole.py +1 -1
  111. metadata/generated/schema/api/teams/createTeam.py +1 -1
  112. metadata/generated/schema/api/teams/createUser.py +1 -1
  113. metadata/generated/schema/api/tests/__init__.py +1 -1
  114. metadata/generated/schema/api/tests/createCustomMetric.py +1 -1
  115. metadata/generated/schema/api/tests/createLogicalTestCases.py +1 -1
  116. metadata/generated/schema/api/tests/createTestCase.py +1 -1
  117. metadata/generated/schema/api/tests/createTestCaseResolutionStatus.py +1 -1
  118. metadata/generated/schema/api/tests/createTestCaseResult.py +1 -1
  119. metadata/generated/schema/api/tests/createTestDefinition.py +1 -1
  120. metadata/generated/schema/api/tests/createTestSuite.py +1 -1
  121. metadata/generated/schema/api/voteRequest.py +1 -1
  122. metadata/generated/schema/auth/__init__.py +1 -1
  123. metadata/generated/schema/auth/basicAuth.py +1 -1
  124. metadata/generated/schema/auth/basicLoginRequest.py +1 -1
  125. metadata/generated/schema/auth/changePasswordRequest.py +1 -1
  126. metadata/generated/schema/auth/createPersonalToken.py +1 -1
  127. metadata/generated/schema/auth/emailRequest.py +1 -1
  128. metadata/generated/schema/auth/emailVerificationToken.py +1 -1
  129. metadata/generated/schema/auth/generateToken.py +1 -1
  130. metadata/generated/schema/auth/jwtAuth.py +1 -1
  131. metadata/generated/schema/auth/loginRequest.py +1 -1
  132. metadata/generated/schema/auth/logoutRequest.py +1 -1
  133. metadata/generated/schema/auth/passwordResetRequest.py +1 -1
  134. metadata/generated/schema/auth/passwordResetToken.py +1 -1
  135. metadata/generated/schema/auth/personalAccessToken.py +1 -1
  136. metadata/generated/schema/auth/refreshToken.py +1 -1
  137. metadata/generated/schema/auth/registrationRequest.py +1 -1
  138. metadata/generated/schema/auth/revokePersonalToken.py +1 -1
  139. metadata/generated/schema/auth/revokeToken.py +1 -1
  140. metadata/generated/schema/auth/serviceTokenEnum.py +1 -1
  141. metadata/generated/schema/auth/ssoAuth.py +1 -1
  142. metadata/generated/schema/auth/tokenRefreshRequest.py +1 -1
  143. metadata/generated/schema/configuration/__init__.py +1 -1
  144. metadata/generated/schema/configuration/appsPrivateConfiguration.py +1 -1
  145. metadata/generated/schema/configuration/assetCertificationSettings.py +1 -1
  146. metadata/generated/schema/configuration/authConfig.py +1 -1
  147. metadata/generated/schema/configuration/authenticationConfiguration.py +1 -1
  148. metadata/generated/schema/configuration/authorizerConfiguration.py +4 -1
  149. metadata/generated/schema/configuration/changeEventConfiguration.py +1 -1
  150. metadata/generated/schema/configuration/dataQualityConfiguration.py +1 -1
  151. metadata/generated/schema/configuration/elasticSearchConfiguration.py +55 -1
  152. metadata/generated/schema/configuration/eventHandlerConfiguration.py +1 -1
  153. metadata/generated/schema/configuration/fernetConfiguration.py +1 -1
  154. metadata/generated/schema/configuration/jwtTokenConfiguration.py +1 -1
  155. metadata/generated/schema/configuration/kafkaEventConfiguration.py +1 -1
  156. metadata/generated/schema/configuration/ldapConfiguration.py +1 -1
  157. metadata/generated/schema/configuration/ldapTrustStoreConfig/__init__.py +1 -1
  158. metadata/generated/schema/configuration/ldapTrustStoreConfig/customTrustManagerConfig.py +1 -1
  159. metadata/generated/schema/configuration/ldapTrustStoreConfig/hostNameConfig.py +1 -1
  160. metadata/generated/schema/configuration/ldapTrustStoreConfig/jvmDefaultConfig.py +1 -1
  161. metadata/generated/schema/configuration/ldapTrustStoreConfig/trustAllConfig.py +1 -1
  162. metadata/generated/schema/configuration/ldapTrustStoreConfig/truststoreConfig.py +1 -1
  163. metadata/generated/schema/configuration/limitsConfiguration.py +1 -1
  164. metadata/generated/schema/configuration/lineageSettings.py +1 -1
  165. metadata/generated/schema/configuration/loginConfiguration.py +1 -1
  166. metadata/generated/schema/configuration/logoConfiguration.py +1 -1
  167. metadata/generated/schema/configuration/openMetadataBaseUrlConfiguration.py +21 -0
  168. metadata/generated/schema/configuration/pipelineServiceClientConfiguration.py +1 -1
  169. metadata/generated/schema/configuration/profilerConfiguration.py +1 -1
  170. metadata/generated/schema/configuration/searchSettings.py +428 -4
  171. metadata/generated/schema/configuration/slackAppConfiguration.py +1 -1
  172. metadata/generated/schema/configuration/taskNotificationConfiguration.py +1 -1
  173. metadata/generated/schema/configuration/testResultNotificationConfiguration.py +1 -1
  174. metadata/generated/schema/configuration/themeConfiguration.py +1 -1
  175. metadata/generated/schema/configuration/uiThemePreference.py +1 -1
  176. metadata/generated/schema/configuration/workflowSettings.py +8 -1
  177. metadata/generated/schema/dataInsight/__init__.py +1 -1
  178. metadata/generated/schema/dataInsight/custom/__init__.py +1 -1
  179. metadata/generated/schema/dataInsight/custom/dataInsightCustomChart.py +1 -1
  180. metadata/generated/schema/dataInsight/custom/dataInsightCustomChartResult.py +1 -1
  181. metadata/generated/schema/dataInsight/custom/dataInsightCustomChartResultList.py +1 -1
  182. metadata/generated/schema/dataInsight/custom/formulaHolder.py +1 -1
  183. metadata/generated/schema/dataInsight/custom/lineChart.py +15 -1
  184. metadata/generated/schema/dataInsight/custom/summaryCard.py +1 -1
  185. metadata/generated/schema/dataInsight/dataInsightChart.py +1 -1
  186. metadata/generated/schema/dataInsight/dataInsightChartResult.py +1 -1
  187. metadata/generated/schema/dataInsight/kpi/__init__.py +1 -1
  188. metadata/generated/schema/dataInsight/kpi/basic.py +1 -1
  189. metadata/generated/schema/dataInsight/kpi/kpi.py +1 -1
  190. metadata/generated/schema/dataInsight/type/__init__.py +1 -1
  191. metadata/generated/schema/dataInsight/type/aggregatedUnusedAssetsCount.py +1 -1
  192. metadata/generated/schema/dataInsight/type/aggregatedUnusedAssetsSize.py +1 -1
  193. metadata/generated/schema/dataInsight/type/aggregatedUsedVsUnusedAssetsCount.py +1 -1
  194. metadata/generated/schema/dataInsight/type/aggregatedUsedVsUnusedAssetsSize.py +1 -1
  195. metadata/generated/schema/dataInsight/type/dailyActiveUsers.py +1 -1
  196. metadata/generated/schema/dataInsight/type/mostActiveUsers.py +1 -1
  197. metadata/generated/schema/dataInsight/type/mostViewedEntities.py +1 -1
  198. metadata/generated/schema/dataInsight/type/pageViewsByEntities.py +1 -1
  199. metadata/generated/schema/dataInsight/type/unusedAssets.py +1 -1
  200. metadata/generated/schema/email/__init__.py +1 -1
  201. metadata/generated/schema/email/emailRequest.py +1 -1
  202. metadata/generated/schema/email/emailTemplate.py +1 -1
  203. metadata/generated/schema/email/emailTemplatePlaceholder.py +1 -1
  204. metadata/generated/schema/email/smtpSettings.py +1 -2
  205. metadata/generated/schema/email/templateValidationReponse.py +1 -1
  206. metadata/generated/schema/entity/__init__.py +1 -1
  207. metadata/generated/schema/entity/applications/__init__.py +1 -1
  208. metadata/generated/schema/entity/applications/app.py +14 -1
  209. metadata/generated/schema/entity/applications/appExtension.py +1 -1
  210. metadata/generated/schema/entity/applications/appRunRecord.py +23 -4
  211. metadata/generated/schema/entity/applications/configuration/__init__.py +1 -1
  212. metadata/generated/schema/entity/applications/configuration/applicationConfig.py +9 -3
  213. metadata/generated/schema/entity/applications/configuration/external/__init__.py +1 -1
  214. metadata/generated/schema/entity/applications/configuration/external/automator/__init__.py +1 -1
  215. metadata/generated/schema/entity/applications/configuration/external/automator/addCustomProperties.py +1 -1
  216. metadata/generated/schema/entity/applications/configuration/external/automator/addDataProductAction.py +41 -0
  217. metadata/generated/schema/entity/applications/configuration/external/automator/addDescriptionAction.py +1 -1
  218. metadata/generated/schema/entity/applications/configuration/external/automator/addDomainAction.py +1 -1
  219. metadata/generated/schema/entity/applications/configuration/external/automator/addOwnerAction.py +1 -1
  220. metadata/generated/schema/entity/applications/configuration/external/automator/addTagsAction.py +1 -1
  221. metadata/generated/schema/entity/applications/configuration/external/automator/addTestCaseAction.py +71 -0
  222. metadata/generated/schema/entity/applications/configuration/external/automator/addTierAction.py +1 -1
  223. metadata/generated/schema/entity/applications/configuration/external/automator/lineagePropagationAction.py +1 -1
  224. metadata/generated/schema/entity/applications/configuration/external/automator/mlTaggingAction.py +1 -1
  225. metadata/generated/schema/entity/applications/configuration/external/automator/removeCustomPropertiesAction.py +1 -1
  226. metadata/generated/schema/entity/applications/configuration/external/automator/removeDataProductAction.py +33 -0
  227. metadata/generated/schema/entity/applications/configuration/external/automator/removeDescriptionAction.py +1 -1
  228. metadata/generated/schema/entity/applications/configuration/external/automator/removeDomainAction.py +1 -1
  229. metadata/generated/schema/entity/applications/configuration/external/automator/removeOwnerAction.py +1 -1
  230. metadata/generated/schema/entity/applications/configuration/external/automator/removeTagsAction.py +1 -1
  231. metadata/generated/schema/entity/applications/configuration/external/automator/removeTestCaseAction.py +45 -0
  232. metadata/generated/schema/entity/applications/configuration/external/automator/removeTierAction.py +1 -1
  233. metadata/generated/schema/entity/applications/configuration/external/automatorAppConfig.py +13 -1
  234. metadata/generated/schema/entity/applications/configuration/external/collateAIAppConfig.py +1 -1
  235. metadata/generated/schema/entity/applications/configuration/external/slackAppTokenConfiguration.py +1 -1
  236. metadata/generated/schema/entity/applications/configuration/internal/__init__.py +1 -1
  237. metadata/generated/schema/entity/applications/configuration/internal/collateAIQualityAgentAppConfig.py +46 -0
  238. metadata/generated/schema/entity/applications/configuration/internal/collateAITierAgentAppConfig.py +46 -0
  239. metadata/generated/schema/entity/applications/configuration/internal/dataInsightsAppConfig.py +109 -2
  240. metadata/generated/schema/entity/applications/configuration/internal/dataInsightsReportAppConfig.py +1 -1
  241. metadata/generated/schema/entity/applications/configuration/internal/dataRetentionConfiguration.py +1 -1
  242. metadata/generated/schema/entity/applications/configuration/internal/dayOneExperienceAppConfig.py +48 -0
  243. metadata/generated/schema/entity/applications/configuration/internal/searchIndexingAppConfig.py +1 -1
  244. metadata/generated/schema/entity/applications/configuration/private/__init__.py +3 -0
  245. metadata/generated/schema/entity/applications/configuration/private/external/__init__.py +1 -1
  246. metadata/generated/schema/entity/applications/configuration/private/external/collateAIAppPrivateConfig.py +3 -22
  247. metadata/generated/schema/entity/applications/configuration/private/internal/__init__.py +3 -0
  248. metadata/generated/schema/entity/applications/configuration/private/internal/collateAITierAgentAppPrivateConfig.py +24 -0
  249. metadata/generated/schema/entity/applications/configuration/private/limits.py +33 -0
  250. metadata/generated/schema/entity/applications/createAppRequest.py +1 -1
  251. metadata/generated/schema/entity/applications/jobStatus.py +1 -1
  252. metadata/generated/schema/entity/applications/liveExecutionContext.py +1 -1
  253. metadata/generated/schema/entity/applications/marketplace/__init__.py +1 -1
  254. metadata/generated/schema/entity/applications/marketplace/appMarketPlaceDefinition.py +13 -1
  255. metadata/generated/schema/entity/applications/marketplace/createAppMarketPlaceDefinitionReq.py +13 -1
  256. metadata/generated/schema/entity/applications/scheduledExecutionContext.py +1 -1
  257. metadata/generated/schema/entity/automations/__init__.py +1 -1
  258. metadata/generated/schema/entity/automations/testServiceConnection.py +1 -1
  259. metadata/generated/schema/entity/automations/workflow.py +15 -4
  260. metadata/generated/schema/entity/bot.py +1 -1
  261. metadata/generated/schema/entity/classification/__init__.py +1 -1
  262. metadata/generated/schema/entity/classification/classification.py +1 -1
  263. metadata/generated/schema/entity/classification/tag.py +1 -1
  264. metadata/generated/schema/entity/data/__init__.py +1 -1
  265. metadata/generated/schema/entity/data/apiCollection.py +1 -1
  266. metadata/generated/schema/entity/data/apiEndpoint.py +1 -1
  267. metadata/generated/schema/entity/data/chart.py +1 -1
  268. metadata/generated/schema/entity/data/container.py +1 -1
  269. metadata/generated/schema/entity/data/dashboard.py +1 -1
  270. metadata/generated/schema/entity/data/dashboardDataModel.py +1 -1
  271. metadata/generated/schema/entity/data/database.py +5 -1
  272. metadata/generated/schema/entity/data/databaseSchema.py +7 -5
  273. metadata/generated/schema/entity/data/glossary.py +1 -1
  274. metadata/generated/schema/entity/data/glossaryTerm.py +1 -1
  275. metadata/generated/schema/entity/data/metric.py +1 -1
  276. metadata/generated/schema/entity/data/mlmodel.py +1 -1
  277. metadata/generated/schema/entity/data/pipeline.py +14 -1
  278. metadata/generated/schema/entity/data/query.py +1 -1
  279. metadata/generated/schema/entity/data/queryCostRecord.py +47 -0
  280. metadata/generated/schema/entity/data/queryCostSearchResult.py +56 -0
  281. metadata/generated/schema/entity/data/report.py +1 -1
  282. metadata/generated/schema/entity/data/searchIndex.py +1 -1
  283. metadata/generated/schema/entity/data/storedProcedure.py +3 -1
  284. metadata/generated/schema/entity/data/table.py +8 -1
  285. metadata/generated/schema/entity/data/topic.py +1 -1
  286. metadata/generated/schema/entity/docStore/__init__.py +1 -1
  287. metadata/generated/schema/entity/docStore/document.py +1 -1
  288. metadata/generated/schema/entity/domains/__init__.py +1 -1
  289. metadata/generated/schema/entity/domains/dataProduct.py +1 -1
  290. metadata/generated/schema/entity/domains/domain.py +8 -1
  291. metadata/generated/schema/entity/events/__init__.py +1 -1
  292. metadata/generated/schema/entity/events/webhook.py +1 -1
  293. metadata/generated/schema/entity/feed/__init__.py +1 -1
  294. metadata/generated/schema/entity/feed/assets.py +1 -1
  295. metadata/generated/schema/entity/feed/customProperty.py +1 -1
  296. metadata/generated/schema/entity/feed/description.py +1 -1
  297. metadata/generated/schema/entity/feed/domain.py +1 -1
  298. metadata/generated/schema/entity/feed/entityInfo.py +1 -1
  299. metadata/generated/schema/entity/feed/owner.py +1 -1
  300. metadata/generated/schema/entity/feed/suggestion.py +1 -1
  301. metadata/generated/schema/entity/feed/tag.py +1 -1
  302. metadata/generated/schema/entity/feed/testCaseResult.py +1 -1
  303. metadata/generated/schema/entity/feed/thread.py +1 -1
  304. metadata/generated/schema/entity/policies/__init__.py +1 -1
  305. metadata/generated/schema/entity/policies/accessControl/__init__.py +1 -1
  306. metadata/generated/schema/entity/policies/accessControl/resourceDescriptor.py +1 -1
  307. metadata/generated/schema/entity/policies/accessControl/resourcePermission.py +1 -1
  308. metadata/generated/schema/entity/policies/accessControl/rule.py +1 -1
  309. metadata/generated/schema/entity/policies/filters.py +1 -1
  310. metadata/generated/schema/entity/policies/policy.py +1 -1
  311. metadata/generated/schema/entity/services/__init__.py +1 -1
  312. metadata/generated/schema/entity/services/apiService.py +8 -1
  313. metadata/generated/schema/entity/services/connections/__init__.py +1 -1
  314. metadata/generated/schema/entity/services/connections/api/__init__.py +1 -1
  315. metadata/generated/schema/entity/services/connections/api/restConnection.py +11 -1
  316. metadata/generated/schema/entity/services/connections/common/__init__.py +1 -1
  317. metadata/generated/schema/entity/services/connections/common/sslCertPaths.py +1 -1
  318. metadata/generated/schema/entity/services/connections/common/sslCertValues.py +1 -1
  319. metadata/generated/schema/entity/services/connections/common/sslConfig.py +1 -1
  320. metadata/generated/schema/entity/services/connections/connectionBasicType.py +7 -1
  321. metadata/generated/schema/entity/services/connections/dashboard/__init__.py +1 -1
  322. metadata/generated/schema/entity/services/connections/dashboard/customDashboardConnection.py +34 -1
  323. metadata/generated/schema/entity/services/connections/dashboard/domoDashboardConnection.py +34 -1
  324. metadata/generated/schema/entity/services/connections/dashboard/lightdashConnection.py +34 -1
  325. metadata/generated/schema/entity/services/connections/dashboard/lookerConnection.py +34 -1
  326. metadata/generated/schema/entity/services/connections/dashboard/metabaseConnection.py +34 -1
  327. metadata/generated/schema/entity/services/connections/dashboard/microStrategyConnection.py +34 -1
  328. metadata/generated/schema/entity/services/connections/dashboard/modeConnection.py +34 -1
  329. metadata/generated/schema/entity/services/connections/dashboard/powerBIConnection.py +34 -1
  330. metadata/generated/schema/entity/services/connections/dashboard/powerBIReportServerConnection.py +34 -1
  331. metadata/generated/schema/entity/services/connections/dashboard/powerbi/__init__.py +1 -1
  332. metadata/generated/schema/entity/services/connections/dashboard/powerbi/azureConfig.py +1 -1
  333. metadata/generated/schema/entity/services/connections/dashboard/powerbi/bucketDetails.py +1 -1
  334. metadata/generated/schema/entity/services/connections/dashboard/powerbi/gcsConfig.py +1 -1
  335. metadata/generated/schema/entity/services/connections/dashboard/powerbi/s3Config.py +1 -1
  336. metadata/generated/schema/entity/services/connections/dashboard/qlikCloudConnection.py +50 -2
  337. metadata/generated/schema/entity/services/connections/dashboard/qlikSenseConnection.py +34 -1
  338. metadata/generated/schema/entity/services/connections/dashboard/quickSightConnection.py +34 -1
  339. metadata/generated/schema/entity/services/connections/dashboard/redashConnection.py +34 -1
  340. metadata/generated/schema/entity/services/connections/dashboard/sigmaConnection.py +35 -1
  341. metadata/generated/schema/entity/services/connections/dashboard/supersetConnection.py +34 -1
  342. metadata/generated/schema/entity/services/connections/dashboard/tableauConnection.py +34 -1
  343. metadata/generated/schema/entity/services/connections/database/__init__.py +1 -1
  344. metadata/generated/schema/entity/services/connections/database/athenaConnection.py +26 -1
  345. metadata/generated/schema/entity/services/connections/database/azureSQLConnection.py +26 -1
  346. metadata/generated/schema/entity/services/connections/database/bigQueryConnection.py +36 -1
  347. metadata/generated/schema/entity/services/connections/database/bigTableConnection.py +26 -1
  348. metadata/generated/schema/entity/services/connections/database/cassandra/__init__.py +3 -0
  349. metadata/generated/schema/entity/services/connections/database/cassandra/cloudConfig.py +61 -0
  350. metadata/generated/schema/entity/services/connections/database/cassandraConnection.py +106 -0
  351. metadata/generated/schema/entity/services/connections/database/clickhouseConnection.py +26 -1
  352. metadata/generated/schema/entity/services/connections/database/cockroachConnection.py +136 -0
  353. metadata/generated/schema/entity/services/connections/database/common/__init__.py +1 -1
  354. metadata/generated/schema/entity/services/connections/database/common/azureConfig.py +1 -1
  355. metadata/generated/schema/entity/services/connections/database/common/basicAuth.py +1 -1
  356. metadata/generated/schema/entity/services/connections/database/common/iamAuthConfig.py +1 -1
  357. metadata/generated/schema/entity/services/connections/database/common/jwtAuth.py +1 -1
  358. metadata/generated/schema/entity/services/connections/database/common/noConfigAuthenticationTypes.py +1 -1
  359. metadata/generated/schema/entity/services/connections/database/couchbaseConnection.py +26 -1
  360. metadata/generated/schema/entity/services/connections/database/customDatabaseConnection.py +26 -1
  361. metadata/generated/schema/entity/services/connections/database/databricksConnection.py +37 -2
  362. metadata/generated/schema/entity/services/connections/database/datalake/__init__.py +1 -1
  363. metadata/generated/schema/entity/services/connections/database/datalake/azureConfig.py +1 -1
  364. metadata/generated/schema/entity/services/connections/database/datalake/gcsConfig.py +1 -1
  365. metadata/generated/schema/entity/services/connections/database/datalake/s3Config.py +1 -1
  366. metadata/generated/schema/entity/services/connections/database/datalakeConnection.py +26 -1
  367. metadata/generated/schema/entity/services/connections/database/db2Connection.py +26 -1
  368. metadata/generated/schema/entity/services/connections/database/deltaLakeConnection.py +26 -1
  369. metadata/generated/schema/entity/services/connections/database/deltalake/__init__.py +1 -1
  370. metadata/generated/schema/entity/services/connections/database/deltalake/metastoreConfig.py +1 -1
  371. metadata/generated/schema/entity/services/connections/database/deltalake/storageConfig.py +1 -1
  372. metadata/generated/schema/entity/services/connections/database/domoDatabaseConnection.py +26 -1
  373. metadata/generated/schema/entity/services/connections/database/dorisConnection.py +26 -1
  374. metadata/generated/schema/entity/services/connections/database/druidConnection.py +26 -1
  375. metadata/generated/schema/entity/services/connections/database/dynamoDBConnection.py +26 -1
  376. metadata/generated/schema/entity/services/connections/database/exasolConnection.py +26 -1
  377. metadata/generated/schema/entity/services/connections/database/glueConnection.py +26 -1
  378. metadata/generated/schema/entity/services/connections/database/greenplumConnection.py +26 -1
  379. metadata/generated/schema/entity/services/connections/database/hiveConnection.py +26 -1
  380. metadata/generated/schema/entity/services/connections/database/iceberg/__init__.py +1 -1
  381. metadata/generated/schema/entity/services/connections/database/iceberg/dynamoDbCatalogConnection.py +1 -1
  382. metadata/generated/schema/entity/services/connections/database/iceberg/glueCatalogConnection.py +1 -1
  383. metadata/generated/schema/entity/services/connections/database/iceberg/hiveCatalogConnection.py +1 -1
  384. metadata/generated/schema/entity/services/connections/database/iceberg/icebergCatalog.py +1 -1
  385. metadata/generated/schema/entity/services/connections/database/iceberg/icebergFileSystem.py +1 -1
  386. metadata/generated/schema/entity/services/connections/database/iceberg/restCatalogConnection.py +1 -1
  387. metadata/generated/schema/entity/services/connections/database/icebergConnection.py +26 -1
  388. metadata/generated/schema/entity/services/connections/database/impalaConnection.py +26 -1
  389. metadata/generated/schema/entity/services/connections/database/mariaDBConnection.py +26 -1
  390. metadata/generated/schema/entity/services/connections/database/mongoDBConnection.py +26 -1
  391. metadata/generated/schema/entity/services/connections/database/mssqlConnection.py +42 -2
  392. metadata/generated/schema/entity/services/connections/database/mysqlConnection.py +32 -2
  393. metadata/generated/schema/entity/services/connections/database/oracleConnection.py +32 -2
  394. metadata/generated/schema/entity/services/connections/database/pinotDBConnection.py +26 -1
  395. metadata/generated/schema/entity/services/connections/database/postgresConnection.py +37 -2
  396. metadata/generated/schema/entity/services/connections/database/prestoConnection.py +26 -1
  397. metadata/generated/schema/entity/services/connections/database/redshiftConnection.py +41 -2
  398. metadata/generated/schema/entity/services/connections/database/salesforceConnection.py +26 -1
  399. metadata/generated/schema/entity/services/connections/database/sapErpConnection.py +26 -1
  400. metadata/generated/schema/entity/services/connections/database/sapHana/__init__.py +1 -1
  401. metadata/generated/schema/entity/services/connections/database/sapHana/sapHanaHDBConnection.py +1 -1
  402. metadata/generated/schema/entity/services/connections/database/sapHana/sapHanaSQLConnection.py +1 -1
  403. metadata/generated/schema/entity/services/connections/database/sapHanaConnection.py +26 -1
  404. metadata/generated/schema/entity/services/connections/database/sasConnection.py +27 -1
  405. metadata/generated/schema/entity/services/connections/database/singleStoreConnection.py +26 -1
  406. metadata/generated/schema/entity/services/connections/database/snowflakeConnection.py +58 -3
  407. metadata/generated/schema/entity/services/connections/database/sqliteConnection.py +26 -1
  408. metadata/generated/schema/entity/services/connections/database/synapseConnection.py +26 -1
  409. metadata/generated/schema/entity/services/connections/database/teradataConnection.py +26 -1
  410. metadata/generated/schema/entity/services/connections/database/trinoConnection.py +26 -1
  411. metadata/generated/schema/entity/services/connections/database/unityCatalogConnection.py +37 -2
  412. metadata/generated/schema/entity/services/connections/database/verticaConnection.py +26 -1
  413. metadata/generated/schema/entity/services/connections/messaging/__init__.py +1 -1
  414. metadata/generated/schema/entity/services/connections/messaging/customMessagingConnection.py +10 -1
  415. metadata/generated/schema/entity/services/connections/messaging/kafkaConnection.py +10 -1
  416. metadata/generated/schema/entity/services/connections/messaging/kinesisConnection.py +10 -1
  417. metadata/generated/schema/entity/services/connections/messaging/pulsarConnection.py +10 -1
  418. metadata/generated/schema/entity/services/connections/messaging/redpandaConnection.py +10 -1
  419. metadata/generated/schema/entity/services/connections/messaging/saslMechanismType.py +1 -1
  420. metadata/generated/schema/entity/services/connections/metadata/__init__.py +1 -1
  421. metadata/generated/schema/entity/services/connections/metadata/alationConnection.py +26 -1
  422. metadata/generated/schema/entity/services/connections/metadata/alationSinkConnection.py +26 -1
  423. metadata/generated/schema/entity/services/connections/metadata/amundsenConnection.py +26 -1
  424. metadata/generated/schema/entity/services/connections/metadata/atlasConnection.py +26 -1
  425. metadata/generated/schema/entity/services/connections/metadata/metadataESConnection.py +26 -1
  426. metadata/generated/schema/entity/services/connections/metadata/openMetadataConnection.py +26 -2
  427. metadata/generated/schema/entity/services/connections/mlmodel/__init__.py +1 -1
  428. metadata/generated/schema/entity/services/connections/mlmodel/customMlModelConnection.py +10 -1
  429. metadata/generated/schema/entity/services/connections/mlmodel/mlflowConnection.py +10 -1
  430. metadata/generated/schema/entity/services/connections/mlmodel/sageMakerConnection.py +10 -1
  431. metadata/generated/schema/entity/services/connections/mlmodel/sklearnConnection.py +10 -1
  432. metadata/generated/schema/entity/services/connections/mlmodel/vertexaiConnection.py +10 -1
  433. metadata/generated/schema/entity/services/connections/pipeline/__init__.py +1 -1
  434. metadata/generated/schema/entity/services/connections/pipeline/airbyteConnection.py +10 -1
  435. metadata/generated/schema/entity/services/connections/pipeline/airflowConnection.py +10 -1
  436. metadata/generated/schema/entity/services/connections/pipeline/backendConnection.py +11 -1
  437. metadata/generated/schema/entity/services/connections/pipeline/customPipelineConnection.py +10 -1
  438. metadata/generated/schema/entity/services/connections/pipeline/dagsterConnection.py +10 -1
  439. metadata/generated/schema/entity/services/connections/pipeline/databricksPipelineConnection.py +10 -1
  440. metadata/generated/schema/entity/services/connections/pipeline/datafactoryConnection.py +10 -1
  441. metadata/generated/schema/entity/services/connections/pipeline/dbtCloudConnection.py +11 -1
  442. metadata/generated/schema/entity/services/connections/pipeline/domoPipelineConnection.py +10 -1
  443. metadata/generated/schema/entity/services/connections/pipeline/fivetranConnection.py +10 -1
  444. metadata/generated/schema/entity/services/connections/pipeline/flinkConnection.py +10 -1
  445. metadata/generated/schema/entity/services/connections/pipeline/gluePipelineConnection.py +10 -1
  446. metadata/generated/schema/entity/services/connections/pipeline/kafkaConnectConnection.py +11 -1
  447. metadata/generated/schema/entity/services/connections/pipeline/matillion/__init__.py +1 -1
  448. metadata/generated/schema/entity/services/connections/pipeline/matillion/matillionETL.py +1 -1
  449. metadata/generated/schema/entity/services/connections/pipeline/matillionConnection.py +10 -1
  450. metadata/generated/schema/entity/services/connections/pipeline/nifi/__init__.py +1 -1
  451. metadata/generated/schema/entity/services/connections/pipeline/nifi/basicAuth.py +1 -1
  452. metadata/generated/schema/entity/services/connections/pipeline/nifi/clientCertificateAuth.py +1 -1
  453. metadata/generated/schema/entity/services/connections/pipeline/nifiConnection.py +10 -1
  454. metadata/generated/schema/entity/services/connections/pipeline/openLineageConnection.py +10 -1
  455. metadata/generated/schema/entity/services/connections/pipeline/sparkConnection.py +11 -1
  456. metadata/generated/schema/entity/services/connections/pipeline/splineConnection.py +10 -1
  457. metadata/generated/schema/entity/services/connections/pipeline/stitchConnection.py +10 -1
  458. metadata/generated/schema/entity/services/connections/search/__init__.py +1 -1
  459. metadata/generated/schema/entity/services/connections/search/customSearchConnection.py +10 -1
  460. metadata/generated/schema/entity/services/connections/search/elasticSearch/__init__.py +1 -1
  461. metadata/generated/schema/entity/services/connections/search/elasticSearch/apiAuth.py +1 -1
  462. metadata/generated/schema/entity/services/connections/search/elasticSearch/basicAuth.py +1 -1
  463. metadata/generated/schema/entity/services/connections/search/elasticSearchConnection.py +10 -1
  464. metadata/generated/schema/entity/services/connections/search/openSearchConnection.py +37 -29
  465. metadata/generated/schema/entity/services/connections/serviceConnection.py +1 -1
  466. metadata/generated/schema/entity/services/connections/storage/__init__.py +1 -1
  467. metadata/generated/schema/entity/services/connections/storage/adlsConnection.py +10 -1
  468. metadata/generated/schema/entity/services/connections/storage/customStorageConnection.py +10 -1
  469. metadata/generated/schema/entity/services/connections/storage/gcsConnection.py +10 -1
  470. metadata/generated/schema/entity/services/connections/storage/s3Connection.py +10 -1
  471. metadata/generated/schema/entity/services/connections/testConnectionDefinition.py +1 -1
  472. metadata/generated/schema/entity/services/connections/testConnectionResult.py +1 -1
  473. metadata/generated/schema/entity/services/dashboardService.py +8 -1
  474. metadata/generated/schema/entity/services/databaseService.py +14 -1
  475. metadata/generated/schema/entity/services/ingestionPipelines/__init__.py +1 -1
  476. metadata/generated/schema/entity/services/ingestionPipelines/ingestionPipeline.py +8 -1
  477. metadata/generated/schema/entity/services/ingestionPipelines/pipelineServiceClientResponse.py +1 -1
  478. metadata/generated/schema/entity/services/ingestionPipelines/reverseIngestionResponse.py +47 -0
  479. metadata/generated/schema/entity/services/ingestionPipelines/status.py +1 -1
  480. metadata/generated/schema/entity/services/messagingService.py +8 -1
  481. metadata/generated/schema/entity/services/metadataService.py +8 -1
  482. metadata/generated/schema/entity/services/mlmodelService.py +8 -1
  483. metadata/generated/schema/entity/services/pipelineService.py +8 -1
  484. metadata/generated/schema/entity/services/searchService.py +9 -2
  485. metadata/generated/schema/entity/services/serviceType.py +1 -1
  486. metadata/generated/schema/entity/services/storageService.py +8 -1
  487. metadata/generated/schema/entity/teams/__init__.py +1 -1
  488. metadata/generated/schema/entity/teams/persona.py +5 -1
  489. metadata/generated/schema/entity/teams/role.py +1 -1
  490. metadata/generated/schema/entity/teams/team.py +1 -1
  491. metadata/generated/schema/entity/teams/teamHierarchy.py +1 -1
  492. metadata/generated/schema/entity/teams/user.py +5 -1
  493. metadata/generated/schema/entity/type.py +1 -1
  494. metadata/generated/schema/entity/utils/__init__.py +1 -1
  495. metadata/generated/schema/entity/utils/entitiesCount.py +1 -1
  496. metadata/generated/schema/entity/utils/servicesCount.py +1 -1
  497. metadata/generated/schema/entity/utils/supersetApiConnection.py +1 -1
  498. metadata/generated/schema/events/__init__.py +1 -1
  499. metadata/generated/schema/events/alertMetrics.py +1 -1
  500. metadata/generated/schema/events/api/__init__.py +1 -1
  501. metadata/generated/schema/events/api/createEventSubscription.py +9 -1
  502. metadata/generated/schema/events/api/eventSubscriptionDiagnosticInfo.py +1 -1
  503. metadata/generated/schema/events/api/eventsRecord.py +1 -1
  504. metadata/generated/schema/events/api/testEventSubscriptionDestination.py +1 -1
  505. metadata/generated/schema/events/api/typedEvent.py +1 -1
  506. metadata/generated/schema/events/emailAlertConfig.py +1 -1
  507. metadata/generated/schema/events/eventFilterRule.py +1 -1
  508. metadata/generated/schema/events/eventSubscription.py +9 -2
  509. metadata/generated/schema/events/eventSubscriptionOffset.py +1 -1
  510. metadata/generated/schema/events/failedEvent.py +1 -1
  511. metadata/generated/schema/events/failedEventResponse.py +1 -1
  512. metadata/generated/schema/events/filterResourceDescriptor.py +1 -1
  513. metadata/generated/schema/events/statusContext.py +1 -1
  514. metadata/generated/schema/events/subscriptionResourceDescriptor.py +1 -1
  515. metadata/generated/schema/events/subscriptionStatus.py +1 -1
  516. metadata/generated/schema/events/testDestinationStatus.py +1 -1
  517. metadata/generated/schema/governance/workflows/__init__.py +1 -1
  518. metadata/generated/schema/governance/workflows/elements/__init__.py +1 -1
  519. metadata/generated/schema/governance/workflows/elements/edge.py +2 -2
  520. metadata/generated/schema/governance/workflows/elements/nodeSubType.py +4 -1
  521. metadata/generated/schema/governance/workflows/elements/nodeType.py +2 -1
  522. metadata/generated/schema/governance/workflows/elements/nodes/__init__.py +1 -1
  523. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/__init__.py +1 -1
  524. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/checkEntityAttributesTask.py +28 -8
  525. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/createAndRunIngestionPipelineTask.py +86 -0
  526. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/runAppTask.py +73 -0
  527. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/setEntityCertificationTask.py +27 -6
  528. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/setGlossaryTermStatusTask.py +28 -7
  529. metadata/generated/schema/governance/workflows/elements/nodes/endEvent/__init__.py +1 -1
  530. metadata/generated/schema/governance/workflows/elements/nodes/endEvent/endEvent.py +9 -4
  531. metadata/generated/schema/governance/workflows/elements/nodes/gateway/__init__.py +3 -0
  532. metadata/generated/schema/governance/workflows/elements/nodes/gateway/parallelGateway.py +30 -0
  533. metadata/generated/schema/governance/workflows/elements/nodes/startEvent/__init__.py +1 -1
  534. metadata/generated/schema/governance/workflows/elements/nodes/startEvent/startEvent.py +9 -4
  535. metadata/generated/schema/governance/workflows/elements/nodes/userTask/__init__.py +1 -1
  536. metadata/generated/schema/governance/workflows/elements/nodes/userTask/userApprovalTask.py +24 -7
  537. metadata/generated/schema/governance/workflows/elements/triggers/__init__.py +1 -1
  538. metadata/generated/schema/governance/workflows/elements/triggers/eventBasedEntityTrigger.py +8 -4
  539. metadata/generated/schema/governance/workflows/elements/triggers/noOpTrigger.py +20 -0
  540. metadata/generated/schema/governance/workflows/elements/triggers/periodicBatchEntityTrigger.py +18 -5
  541. metadata/generated/schema/governance/workflows/workflowDefinition.py +30 -7
  542. metadata/generated/schema/governance/workflows/workflowInstance.py +11 -8
  543. metadata/generated/schema/governance/workflows/workflowInstanceState.py +4 -8
  544. metadata/generated/schema/jobs/__init__.py +1 -1
  545. metadata/generated/schema/jobs/backgroundJob.py +1 -1
  546. metadata/generated/schema/jobs/enumCleanupArgs.py +1 -1
  547. metadata/generated/schema/metadataIngestion/__init__.py +1 -1
  548. metadata/generated/schema/metadataIngestion/apiServiceMetadataPipeline.py +1 -1
  549. metadata/generated/schema/metadataIngestion/application.py +1 -1
  550. metadata/generated/schema/metadataIngestion/applicationPipeline.py +1 -1
  551. metadata/generated/schema/metadataIngestion/dashboardServiceMetadataPipeline.py +1 -1
  552. metadata/generated/schema/metadataIngestion/dataInsightPipeline.py +1 -1
  553. metadata/generated/schema/metadataIngestion/databaseServiceAutoClassificationPipeline.py +1 -1
  554. metadata/generated/schema/metadataIngestion/databaseServiceMetadataPipeline.py +4 -4
  555. metadata/generated/schema/metadataIngestion/databaseServiceProfilerPipeline.py +5 -1
  556. metadata/generated/schema/metadataIngestion/databaseServiceQueryLineagePipeline.py +18 -2
  557. metadata/generated/schema/metadataIngestion/databaseServiceQueryUsagePipeline.py +9 -1
  558. metadata/generated/schema/metadataIngestion/dbtPipeline.py +1 -1
  559. metadata/generated/schema/metadataIngestion/dbtconfig/__init__.py +1 -1
  560. metadata/generated/schema/metadataIngestion/dbtconfig/dbtAzureConfig.py +1 -1
  561. metadata/generated/schema/metadataIngestion/dbtconfig/dbtBucketDetails.py +1 -1
  562. metadata/generated/schema/metadataIngestion/dbtconfig/dbtCloudConfig.py +1 -1
  563. metadata/generated/schema/metadataIngestion/dbtconfig/dbtGCSConfig.py +1 -1
  564. metadata/generated/schema/metadataIngestion/dbtconfig/dbtHttpConfig.py +1 -1
  565. metadata/generated/schema/metadataIngestion/dbtconfig/dbtLocalConfig.py +1 -1
  566. metadata/generated/schema/metadataIngestion/dbtconfig/dbtS3Config.py +1 -1
  567. metadata/generated/schema/metadataIngestion/messagingServiceMetadataPipeline.py +1 -1
  568. metadata/generated/schema/metadataIngestion/metadataToElasticSearchPipeline.py +1 -1
  569. metadata/generated/schema/metadataIngestion/mlmodelServiceMetadataPipeline.py +1 -1
  570. metadata/generated/schema/metadataIngestion/pipelineServiceMetadataPipeline.py +1 -1
  571. metadata/generated/schema/metadataIngestion/reverseIngestionPipeline.py +64 -0
  572. metadata/generated/schema/metadataIngestion/reverseingestionconfig/__init__.py +3 -0
  573. metadata/generated/schema/metadataIngestion/reverseingestionconfig/descriptionConfig.py +24 -0
  574. metadata/generated/schema/metadataIngestion/reverseingestionconfig/ownerConfig.py +28 -0
  575. metadata/generated/schema/metadataIngestion/reverseingestionconfig/tagsConfig.py +28 -0
  576. metadata/generated/schema/metadataIngestion/searchServiceMetadataPipeline.py +1 -1
  577. metadata/generated/schema/metadataIngestion/storage/__init__.py +1 -1
  578. metadata/generated/schema/metadataIngestion/storage/containerMetadataConfig.py +1 -1
  579. metadata/generated/schema/metadataIngestion/storage/manifestMetadataConfig.py +1 -1
  580. metadata/generated/schema/metadataIngestion/storage/storageBucketDetails.py +1 -1
  581. metadata/generated/schema/metadataIngestion/storage/storageMetadataADLSConfig.py +1 -1
  582. metadata/generated/schema/metadataIngestion/storage/storageMetadataGCSConfig.py +1 -1
  583. metadata/generated/schema/metadataIngestion/storage/storageMetadataHttpConfig.py +1 -1
  584. metadata/generated/schema/metadataIngestion/storage/storageMetadataLocalConfig.py +1 -1
  585. metadata/generated/schema/metadataIngestion/storage/storageMetadataS3Config.py +1 -1
  586. metadata/generated/schema/metadataIngestion/storageServiceMetadataPipeline.py +1 -1
  587. metadata/generated/schema/metadataIngestion/testSuitePipeline.py +1 -1
  588. metadata/generated/schema/metadataIngestion/workflow.py +3 -1
  589. metadata/generated/schema/monitoring/__init__.py +1 -1
  590. metadata/generated/schema/monitoring/eventMonitorProvider.py +1 -1
  591. metadata/generated/schema/search/__init__.py +3 -0
  592. metadata/generated/schema/search/searchRequest.py +106 -0
  593. metadata/generated/schema/security/__init__.py +1 -1
  594. metadata/generated/schema/security/client/__init__.py +1 -1
  595. metadata/generated/schema/security/client/auth0SSOClientConfig.py +1 -1
  596. metadata/generated/schema/security/client/azureSSOClientConfig.py +1 -1
  597. metadata/generated/schema/security/client/customOidcSSOClientConfig.py +1 -1
  598. metadata/generated/schema/security/client/googleSSOClientConfig.py +1 -1
  599. metadata/generated/schema/security/client/oidcClientConfig.py +1 -1
  600. metadata/generated/schema/security/client/oktaSSOClientConfig.py +1 -1
  601. metadata/generated/schema/security/client/openMetadataJWTClientConfig.py +1 -1
  602. metadata/generated/schema/security/client/samlSSOClientConfig.py +1 -1
  603. metadata/generated/schema/security/credentials/__init__.py +1 -1
  604. metadata/generated/schema/security/credentials/accessTokenAuth.py +1 -1
  605. metadata/generated/schema/security/credentials/apiAccessTokenAuth.py +1 -1
  606. metadata/generated/schema/security/credentials/awsCredentials.py +1 -1
  607. metadata/generated/schema/security/credentials/azureCredentials.py +1 -1
  608. metadata/generated/schema/security/credentials/basicAuth.py +1 -1
  609. metadata/generated/schema/security/credentials/bitbucketCredentials.py +1 -1
  610. metadata/generated/schema/security/credentials/gcpCredentials.py +42 -22
  611. metadata/generated/schema/security/credentials/gcpExternalAccount.py +2 -2
  612. metadata/generated/schema/security/credentials/gcpValues.py +1 -1
  613. metadata/generated/schema/security/credentials/gitCredentials.py +1 -1
  614. metadata/generated/schema/security/credentials/githubCredentials.py +1 -1
  615. metadata/generated/schema/security/credentials/gitlabCredentials.py +1 -1
  616. metadata/generated/schema/security/sasl/__init__.py +1 -1
  617. metadata/generated/schema/security/sasl/saslClientConfig.py +1 -1
  618. metadata/generated/schema/security/secrets/__init__.py +1 -1
  619. metadata/generated/schema/security/secrets/secretsManagerClientLoader.py +1 -1
  620. metadata/generated/schema/security/secrets/secretsManagerConfiguration.py +1 -1
  621. metadata/generated/schema/security/secrets/secretsManagerProvider.py +1 -1
  622. metadata/generated/schema/security/securityConfiguration.py +1 -1
  623. metadata/generated/schema/security/ssl/__init__.py +1 -1
  624. metadata/generated/schema/security/ssl/validateSSLClientConfig.py +1 -1
  625. metadata/generated/schema/security/ssl/verifySSLConfig.py +1 -1
  626. metadata/generated/schema/settings/__init__.py +1 -1
  627. metadata/generated/schema/settings/settings.py +4 -1
  628. metadata/generated/schema/system/__init__.py +1 -1
  629. metadata/generated/schema/system/entityError.py +1 -1
  630. metadata/generated/schema/system/eventPublisherJob.py +1 -1
  631. metadata/generated/schema/system/indexingError.py +1 -1
  632. metadata/generated/schema/system/limitsResponse.py +1 -1
  633. metadata/generated/schema/system/ui/__init__.py +1 -1
  634. metadata/generated/schema/system/ui/knowledgePanel.py +1 -1
  635. metadata/generated/schema/system/ui/navigationItem.py +38 -0
  636. metadata/generated/schema/system/ui/page.py +23 -15
  637. metadata/generated/schema/system/ui/tab.py +36 -0
  638. metadata/generated/schema/system/ui/uiCustomization.py +45 -0
  639. metadata/generated/schema/system/validationResponse.py +1 -1
  640. metadata/generated/schema/tests/__init__.py +1 -1
  641. metadata/generated/schema/tests/assigned.py +1 -1
  642. metadata/generated/schema/tests/basic.py +1 -1
  643. metadata/generated/schema/tests/customMetric.py +1 -1
  644. metadata/generated/schema/tests/dataQualityReport.py +1 -1
  645. metadata/generated/schema/tests/resolved.py +1 -1
  646. metadata/generated/schema/tests/testCase.py +4 -1
  647. metadata/generated/schema/tests/testCaseResolutionStatus.py +1 -1
  648. metadata/generated/schema/tests/testDefinition.py +1 -1
  649. metadata/generated/schema/tests/testSuite.py +1 -1
  650. metadata/generated/schema/type/__init__.py +1 -1
  651. metadata/generated/schema/type/apiSchema.py +1 -1
  652. metadata/generated/schema/type/assetCertification.py +1 -1
  653. metadata/generated/schema/type/auditLog.py +1 -1
  654. metadata/generated/schema/type/basic.py +1 -1
  655. metadata/generated/schema/type/bulkOperationResult.py +1 -1
  656. metadata/generated/schema/type/changeEvent.py +1 -1
  657. metadata/generated/schema/type/changeEventType.py +1 -1
  658. metadata/generated/schema/type/changeSummaryMap.py +37 -0
  659. metadata/generated/schema/type/collectionDescriptor.py +1 -1
  660. metadata/generated/schema/type/csvDocumentation.py +1 -1
  661. metadata/generated/schema/type/csvErrorType.py +1 -1
  662. metadata/generated/schema/type/csvFile.py +1 -1
  663. metadata/generated/schema/type/csvImportResult.py +1 -1
  664. metadata/generated/schema/type/customProperties/__init__.py +1 -1
  665. metadata/generated/schema/type/customProperties/complexTypes.py +1 -1
  666. metadata/generated/schema/type/customProperties/enumConfig.py +1 -1
  667. metadata/generated/schema/type/customProperties/tableConfig.py +1 -1
  668. metadata/generated/schema/type/customProperty.py +1 -1
  669. metadata/generated/schema/type/dailyCount.py +1 -1
  670. metadata/generated/schema/type/databaseConnectionConfig.py +1 -1
  671. metadata/generated/schema/type/entityHierarchy.py +1 -1
  672. metadata/generated/schema/type/entityHistory.py +6 -3
  673. metadata/generated/schema/type/entityLineage.py +27 -1
  674. metadata/generated/schema/type/entityReference.py +1 -1
  675. metadata/generated/schema/type/entityReferenceList.py +1 -1
  676. metadata/generated/schema/type/entityRelationship.py +1 -1
  677. metadata/generated/schema/type/entityUsage.py +1 -1
  678. metadata/generated/schema/type/filterPattern.py +1 -1
  679. metadata/generated/schema/type/function.py +1 -1
  680. metadata/generated/schema/type/include.py +1 -1
  681. metadata/generated/schema/type/jdbcConnection.py +1 -1
  682. metadata/generated/schema/type/lifeCycle.py +1 -1
  683. metadata/generated/schema/type/paging.py +1 -1
  684. metadata/generated/schema/type/profile.py +1 -1
  685. metadata/generated/schema/type/queryParserData.py +4 -1
  686. metadata/generated/schema/type/reaction.py +1 -1
  687. metadata/generated/schema/type/schedule.py +1 -1
  688. metadata/generated/schema/type/schema.py +1 -1
  689. metadata/generated/schema/type/tableQuery.py +4 -1
  690. metadata/generated/schema/type/tableUsageCount.py +18 -1
  691. metadata/generated/schema/type/tagLabel.py +1 -1
  692. metadata/generated/schema/type/usageDetails.py +1 -1
  693. metadata/generated/schema/type/usageRequest.py +1 -1
  694. metadata/generated/schema/type/votes.py +1 -1
  695. metadata/ingestion/api/topology_runner.py +3 -3
  696. metadata/ingestion/bulksink/metadata_usage.py +27 -6
  697. metadata/ingestion/lineage/masker.py +13 -2
  698. metadata/ingestion/models/custom_pydantic.py +44 -6
  699. metadata/ingestion/ometa/client.py +20 -0
  700. metadata/ingestion/ometa/mixins/domain_mixin.py +80 -0
  701. metadata/ingestion/ometa/mixins/es_mixin.py +42 -2
  702. metadata/ingestion/ometa/mixins/lineage_mixin.py +7 -7
  703. metadata/ingestion/ometa/mixins/patch_mixin.py +15 -5
  704. metadata/ingestion/ometa/mixins/pipeline_mixin.py +18 -0
  705. metadata/ingestion/ometa/mixins/query_mixin.py +43 -0
  706. metadata/ingestion/ometa/ometa_api.py +28 -3
  707. metadata/ingestion/ometa/routes.py +7 -0
  708. metadata/ingestion/ometa/utils.py +13 -0
  709. metadata/ingestion/processor/query_parser.py +1 -0
  710. metadata/ingestion/sink/metadata_rest.py +21 -1
  711. metadata/ingestion/source/dashboard/dashboard_service.py +9 -1
  712. metadata/ingestion/source/dashboard/domodashboard/metadata.py +3 -1
  713. metadata/ingestion/source/dashboard/lightdash/metadata.py +1 -1
  714. metadata/ingestion/source/dashboard/looker/metadata.py +8 -2
  715. metadata/ingestion/source/dashboard/metabase/client.py +65 -6
  716. metadata/ingestion/source/dashboard/metabase/metadata.py +88 -37
  717. metadata/ingestion/source/dashboard/metabase/models.py +2 -1
  718. metadata/ingestion/source/dashboard/microstrategy/metadata.py +3 -1
  719. metadata/ingestion/source/dashboard/mode/metadata.py +16 -9
  720. metadata/ingestion/source/dashboard/powerbi/client.py +89 -1
  721. metadata/ingestion/source/dashboard/powerbi/metadata.py +270 -258
  722. metadata/ingestion/source/dashboard/powerbi/models.py +25 -0
  723. metadata/ingestion/source/dashboard/qlikcloud/client.py +25 -2
  724. metadata/ingestion/source/dashboard/qlikcloud/metadata.py +69 -15
  725. metadata/ingestion/source/dashboard/qlikcloud/models.py +44 -1
  726. metadata/ingestion/source/dashboard/qliksense/metadata.py +26 -18
  727. metadata/ingestion/source/dashboard/quicksight/metadata.py +32 -29
  728. metadata/ingestion/source/dashboard/redash/metadata.py +12 -10
  729. metadata/ingestion/source/dashboard/sigma/metadata.py +12 -14
  730. metadata/ingestion/source/dashboard/superset/api_source.py +25 -26
  731. metadata/ingestion/source/dashboard/superset/db_source.py +22 -20
  732. metadata/ingestion/source/dashboard/superset/mixin.py +207 -53
  733. metadata/ingestion/source/dashboard/superset/models.py +3 -0
  734. metadata/ingestion/source/dashboard/superset/queries.py +7 -4
  735. metadata/ingestion/source/dashboard/superset/utils.py +36 -0
  736. metadata/ingestion/source/dashboard/tableau/client.py +56 -1
  737. metadata/ingestion/source/dashboard/tableau/metadata.py +243 -128
  738. metadata/ingestion/source/database/bigquery/helper.py +9 -1
  739. metadata/ingestion/source/database/bigquery/metadata.py +82 -10
  740. metadata/ingestion/source/database/bigquery/queries.py +2 -1
  741. metadata/ingestion/source/database/bigquery/query_parser.py +1 -0
  742. metadata/ingestion/source/database/bigtable/metadata.py +11 -3
  743. metadata/ingestion/source/database/cassandra/__init__.py +0 -0
  744. metadata/ingestion/source/database/cassandra/connection.py +138 -0
  745. metadata/ingestion/source/database/cassandra/helpers.py +100 -0
  746. metadata/ingestion/source/database/cassandra/metadata.py +138 -0
  747. metadata/ingestion/source/database/cassandra/queries.py +45 -0
  748. metadata/ingestion/source/database/cassandra/service_spec.py +10 -0
  749. metadata/ingestion/source/database/cockroach/__init__.py +0 -0
  750. metadata/ingestion/source/database/cockroach/connection.py +71 -0
  751. metadata/ingestion/source/database/cockroach/metadata.py +206 -0
  752. metadata/ingestion/source/database/cockroach/queries.py +90 -0
  753. metadata/ingestion/source/database/cockroach/service_spec.py +4 -0
  754. metadata/ingestion/source/database/common_db_source.py +9 -0
  755. metadata/ingestion/source/database/common_nosql_source.py +78 -29
  756. metadata/ingestion/source/database/common_pg_mappings.py +49 -0
  757. metadata/ingestion/source/database/couchbase/metadata.py +8 -2
  758. metadata/ingestion/source/database/databricks/metadata.py +8 -0
  759. metadata/ingestion/source/database/datalake/metadata.py +15 -9
  760. metadata/ingestion/source/database/db2/service_spec.py +4 -1
  761. metadata/ingestion/source/database/dbt/dbt_config.py +1 -0
  762. metadata/ingestion/source/database/dbt/dbt_utils.py +1 -1
  763. metadata/ingestion/source/database/dbt/metadata.py +5 -1
  764. metadata/ingestion/source/database/doris/metadata.py +7 -2
  765. metadata/ingestion/source/database/druid/service_spec.py +5 -1
  766. metadata/ingestion/source/database/dynamodb/metadata.py +6 -3
  767. metadata/ingestion/source/database/greenplum/metadata.py +6 -37
  768. metadata/ingestion/source/database/greenplum/service_spec.py +5 -1
  769. metadata/ingestion/source/database/hive/metastore_dialects/mysql/dialect.py +35 -13
  770. metadata/ingestion/source/database/hive/metastore_dialects/postgres/dialect.py +38 -14
  771. metadata/ingestion/source/database/hive/service_spec.py +5 -1
  772. metadata/ingestion/source/database/impala/service_spec.py +5 -1
  773. metadata/ingestion/source/database/life_cycle_query_mixin.py +11 -7
  774. metadata/ingestion/source/database/lineage_source.py +76 -2
  775. metadata/ingestion/source/database/mariadb/service_spec.py +9 -1
  776. metadata/ingestion/source/database/mongodb/metadata.py +8 -3
  777. metadata/ingestion/source/database/mssql/metadata.py +68 -2
  778. metadata/ingestion/source/database/mssql/queries.py +43 -0
  779. metadata/ingestion/source/database/mysql/utils.py +5 -3
  780. metadata/ingestion/source/database/oracle/connection.py +24 -2
  781. metadata/ingestion/source/database/oracle/metadata.py +36 -19
  782. metadata/ingestion/source/database/oracle/models.py +5 -4
  783. metadata/ingestion/source/database/oracle/queries.py +22 -1
  784. metadata/ingestion/source/database/pinotdb/service_spec.py +5 -1
  785. metadata/ingestion/source/database/postgres/metadata.py +32 -56
  786. metadata/ingestion/source/database/postgres/models.py +1 -0
  787. metadata/ingestion/source/database/postgres/queries.py +18 -1
  788. metadata/ingestion/source/database/query_parser_source.py +11 -6
  789. metadata/ingestion/source/database/sample_data.py +11 -0
  790. metadata/ingestion/source/database/sample_usage.py +2 -0
  791. metadata/ingestion/source/database/saphana/lineage.py +1 -1
  792. metadata/ingestion/source/database/singlestore/service_spec.py +6 -1
  793. metadata/ingestion/source/database/snowflake/connection.py +6 -0
  794. metadata/ingestion/source/database/snowflake/constants.py +48 -0
  795. metadata/ingestion/source/database/snowflake/metadata.py +114 -3
  796. metadata/ingestion/source/database/snowflake/models.py +3 -3
  797. metadata/ingestion/source/database/snowflake/queries.py +27 -1
  798. metadata/ingestion/source/database/snowflake/query_parser.py +2 -0
  799. metadata/ingestion/source/database/snowflake/utils.py +110 -26
  800. metadata/ingestion/source/database/sql_column_handler.py +95 -60
  801. metadata/ingestion/source/database/sqlite/service_spec.py +5 -1
  802. metadata/ingestion/source/database/teradata/service_spec.py +5 -1
  803. metadata/ingestion/source/database/trino/lineage.py +95 -0
  804. metadata/ingestion/source/database/unitycatalog/connection.py +23 -0
  805. metadata/ingestion/source/database/unitycatalog/lineage.py +2 -0
  806. metadata/ingestion/source/database/unitycatalog/metadata.py +2 -0
  807. metadata/ingestion/source/database/usage_source.py +2 -0
  808. metadata/ingestion/source/messaging/messaging_service.py +2 -0
  809. metadata/ingestion/source/metadata/alationsink/metadata.py +32 -18
  810. metadata/ingestion/source/metadata/amundsen/metadata.py +7 -4
  811. metadata/ingestion/source/metadata/atlas/metadata.py +2 -1
  812. metadata/ingestion/source/mlmodel/mlmodel_service.py +2 -0
  813. metadata/ingestion/source/pipeline/airflow/metadata.py +25 -0
  814. metadata/ingestion/source/pipeline/airflow/models.py +1 -0
  815. metadata/ingestion/source/pipeline/nifi/client.py +68 -74
  816. metadata/ingestion/source/pipeline/nifi/connection.py +1 -18
  817. metadata/ingestion/source/pipeline/openlineage/metadata.py +1 -0
  818. metadata/ingestion/source/pipeline/pipeline_service.py +121 -2
  819. metadata/ingestion/source/search/opensearch/connection.py +215 -0
  820. metadata/ingestion/source/search/opensearch/metadata.py +270 -0
  821. metadata/ingestion/source/search/opensearch/parser.py +71 -0
  822. metadata/ingestion/source/search/opensearch/service_spec.py +4 -0
  823. metadata/ingestion/source/search/search_service.py +2 -0
  824. metadata/ingestion/source/storage/storage_service.py +2 -0
  825. metadata/ingestion/stage/table_usage.py +53 -1
  826. metadata/profiler/interface/sqlalchemy/unity_catalog/sampler_interface.py +3 -4
  827. metadata/profiler/orm/converter/azuresql/converter.py +39 -0
  828. metadata/profiler/orm/converter/converter_registry.py +2 -0
  829. metadata/profiler/orm/functions/length.py +2 -0
  830. metadata/profiler/orm/functions/median.py +19 -0
  831. metadata/profiler/orm/functions/modulo.py +1 -0
  832. metadata/profiler/orm/functions/random_num.py +1 -0
  833. metadata/profiler/orm/functions/sum.py +1 -0
  834. metadata/profiler/orm/registry.py +2 -0
  835. metadata/profiler/processor/core.py +1 -0
  836. metadata/profiler/processor/metric_filter.py +1 -1
  837. metadata/profiler/source/database/base/profiler_source.py +1 -0
  838. metadata/profiler/source/fetcher/fetcher_strategy.py +4 -0
  839. metadata/sampler/config.py +1 -0
  840. metadata/sampler/models.py +3 -0
  841. metadata/sampler/nosql/sampler.py +4 -0
  842. metadata/sampler/pandas/sampler.py +1 -0
  843. metadata/sampler/partition.py +9 -2
  844. metadata/sampler/sampler_interface.py +0 -1
  845. metadata/sampler/sqlalchemy/azuresql/sampler.py +30 -3
  846. metadata/sampler/sqlalchemy/mssql/sampler.py +2 -1
  847. metadata/sampler/sqlalchemy/sampler.py +51 -42
  848. metadata/sampler/sqlalchemy/snowflake/sampler.py +2 -1
  849. metadata/sampler/sqlalchemy/trino/sampler.py +9 -8
  850. metadata/utils/constants.py +1 -0
  851. metadata/utils/credentials.py +25 -4
  852. metadata/utils/elasticsearch.py +4 -0
  853. metadata/utils/helpers.py +91 -0
  854. metadata/utils/logger.py +9 -0
  855. metadata/utils/ssl_manager.py +35 -0
  856. metadata/utils/tag_utils.py +72 -27
  857. metadata/workflow/classification.py +3 -0
  858. metadata/workflow/profiler.py +13 -5
  859. metadata/workflow/workflow_status_mixin.py +6 -0
  860. {openmetadata_ingestion-1.6.7.0.dist-info → openmetadata_ingestion-1.7.0.0rc1.dist-info}/METADATA +444 -381
  861. {openmetadata_ingestion-1.6.7.0.dist-info → openmetadata_ingestion-1.7.0.0rc1.dist-info}/RECORD +865 -796
  862. {openmetadata_ingestion-1.6.7.0.dist-info → openmetadata_ingestion-1.7.0.0rc1.dist-info}/LICENSE +0 -0
  863. {openmetadata_ingestion-1.6.7.0.dist-info → openmetadata_ingestion-1.7.0.0rc1.dist-info}/WHEEL +0 -0
  864. {openmetadata_ingestion-1.6.7.0.dist-info → openmetadata_ingestion-1.7.0.0rc1.dist-info}/entry_points.txt +0 -0
  865. {openmetadata_ingestion-1.6.7.0.dist-info → openmetadata_ingestion-1.7.0.0rc1.dist-info}/top_level.txt +0 -0
@@ -95,6 +95,30 @@ class PowerBiColumns(BaseModel):
95
95
  name: str
96
96
  dataType: Optional[str] = None
97
97
  columnType: Optional[str] = None
98
+ description: Optional[str] = None
99
+
100
+
101
+ class PowerBiMeasureModel(BaseModel):
102
+ """
103
+ Represents a Power BI measure, used before converting to a Column instance.
104
+ """
105
+
106
+ dataType: str
107
+ dataTypeDisplay: str
108
+ name: str
109
+ description: str
110
+
111
+
112
+ class PowerBiMeasures(BaseModel):
113
+ """
114
+ PowerBI Column Model
115
+ Definition: https://learn.microsoft.com/en-us/rest/api/power-bi/push-datasets/datasets-get-tables-in-group#measure
116
+ """
117
+
118
+ name: str
119
+ expression: str
120
+ description: Optional[str] = None
121
+ isHidden: bool
98
122
 
99
123
 
100
124
  class PowerBITableSource(BaseModel):
@@ -113,6 +137,7 @@ class PowerBiTable(BaseModel):
113
137
 
114
138
  name: str
115
139
  columns: Optional[List[PowerBiColumns]] = None
140
+ measures: Optional[List[PowerBiMeasures]] = None
116
141
  description: Optional[str] = None
117
142
  source: Optional[List[PowerBITableSource]] = None
118
143
 
@@ -29,6 +29,8 @@ from metadata.ingestion.source.dashboard.qlikcloud.constants import (
29
29
  from metadata.ingestion.source.dashboard.qlikcloud.models import (
30
30
  QlikApp,
31
31
  QlikAppResponse,
32
+ QlikSpace,
33
+ QlikSpaceResponse,
32
34
  )
33
35
  from metadata.ingestion.source.dashboard.qliksense.models import (
34
36
  QlikDataModelResult,
@@ -105,7 +107,7 @@ class QlikCloudClient:
105
107
 
106
108
  def get_dashboard_charts(self, dashboard_id: str) -> List[QlikSheet]:
107
109
  """
108
- Get dahsboard chart list
110
+ Get dashboard chart list
109
111
  """
110
112
  try:
111
113
  self.connect_websocket(dashboard_id)
@@ -164,7 +166,7 @@ class QlikCloudClient:
164
166
 
165
167
  def get_dashboard_models(self) -> List[QlikTable]:
166
168
  """
167
- Get dahsboard data models
169
+ Get dashboard data models
168
170
  """
169
171
  try:
170
172
  self._websocket_send_request(APP_LOADMODEL_REQ)
@@ -181,3 +183,24 @@ class QlikCloudClient:
181
183
  logger.debug(traceback.format_exc())
182
184
  logger.warning("Failed to fetch the dashboard datamodels")
183
185
  return []
186
+
187
+ def get_projects_list(self) -> Iterable[QlikSpace]:
188
+ """
189
+ Get list of all spaces
190
+ """
191
+ try:
192
+ link = f"/v1/spaces?limit={API_LIMIT}"
193
+ while True:
194
+ resp_spaces = self.client.get(link)
195
+ if resp_spaces:
196
+ resp = QlikSpaceResponse(**resp_spaces)
197
+ yield from resp.spaces
198
+ if resp.links and resp.links.next and resp.links.next.href:
199
+ link = resp.links.next.href.replace(
200
+ f"{self.config.hostPort}{API_VERSION}", ""
201
+ )
202
+ else:
203
+ break
204
+ except Exception:
205
+ logger.debug(traceback.format_exc())
206
+ logger.warning("Failed to fetch the space list")
@@ -11,7 +11,7 @@
11
11
  """QlikCloud source module"""
12
12
 
13
13
  import traceback
14
- from typing import Iterable, List, Optional
14
+ from typing import Dict, Iterable, List, Optional
15
15
 
16
16
  from metadata.generated.schema.api.data.createChart import CreateChartRequest
17
17
  from metadata.generated.schema.api.data.createDashboard import CreateDashboardRequest
@@ -42,11 +42,16 @@ from metadata.ingestion.api.models import Either
42
42
  from metadata.ingestion.api.steps import InvalidSourceException
43
43
  from metadata.ingestion.ometa.ometa_api import OpenMetadata
44
44
  from metadata.ingestion.source.dashboard.qlikcloud.client import QlikCloudClient
45
- from metadata.ingestion.source.dashboard.qlikcloud.models import QlikApp
45
+ from metadata.ingestion.source.dashboard.qlikcloud.models import (
46
+ QlikApp,
47
+ QlikSpace,
48
+ QlikSpaceType,
49
+ )
46
50
  from metadata.ingestion.source.dashboard.qliksense.metadata import QliksenseSource
47
51
  from metadata.ingestion.source.dashboard.qliksense.models import QlikTable
48
52
  from metadata.utils import fqn
49
- from metadata.utils.filters import filter_by_chart
53
+ from metadata.utils.filters import filter_by_chart, filter_by_project
54
+ from metadata.utils.fqn import build_es_fqn_search_string
50
55
  from metadata.utils.helpers import clean_uri
51
56
  from metadata.utils.logger import ingestion_logger
52
57
 
@@ -80,9 +85,41 @@ class QlikcloudSource(QliksenseSource):
80
85
  metadata: OpenMetadata,
81
86
  ):
82
87
  super().__init__(config, metadata)
88
+ self.projects_map: Dict[str, QlikSpace] = {}
83
89
  self.collections: List[QlikApp] = []
84
90
  self.data_models: List[QlikTable] = []
85
91
 
92
+ def prepare(self):
93
+ """
94
+ Get all spaces/projects from QlikCloud to filter out dashboards.
95
+ """
96
+ spaces = self.client.get_projects_list()
97
+ for space in spaces:
98
+ self.projects_map[space.id] = space
99
+ self.projects_map[""] = QlikSpace(
100
+ name="Personal",
101
+ description="Represents personal space of QlikCloud.",
102
+ id="", # dashboards under personal space have spaceId=""
103
+ type=QlikSpaceType.PERSONAL,
104
+ )
105
+
106
+ return super().prepare()
107
+
108
+ def filter_projects_by_type(self, project: QlikSpace) -> bool:
109
+ """
110
+ Filter space based on space types configured in connection config.
111
+ """
112
+ spaceTypes = self.service_connection.spaceTypes
113
+ if spaceTypes is None:
114
+ return False
115
+ return project.type.value not in [space_type.value for space_type in spaceTypes]
116
+
117
+ def is_personal_project(self, project: QlikSpace) -> bool:
118
+ """
119
+ Check if space is a personal space.
120
+ """
121
+ return project.type == QlikSpaceType.PERSONAL
122
+
86
123
  def filter_draft_dashboard(self, dashboard: QlikApp) -> bool:
87
124
  # When only published(non-draft) dashboards are allowed, filter dashboard based on "published" flag from QlikApp
88
125
  return (not self.source_config.includeDraftDashboard) and (
@@ -97,6 +134,15 @@ class QlikcloudSource(QliksenseSource):
97
134
  if self.filter_draft_dashboard(dashboard):
98
135
  # Skip unpublished dashboards
99
136
  continue
137
+ project = self.projects_map[dashboard.space_id]
138
+ if self.filter_projects_by_type(project):
139
+ # Skip dashboard based on space type filter
140
+ continue
141
+ if not self.is_personal_project(project) and filter_by_project(
142
+ self.service_connection.projectFilterPattern, project.name
143
+ ):
144
+ # Skip dashboard based on project filter pattern
145
+ continue
100
146
  # clean data models for next iteration
101
147
  self.data_models = []
102
148
  yield dashboard
@@ -126,9 +172,11 @@ class QlikcloudSource(QliksenseSource):
126
172
  name=EntityName(dashboard_details.id),
127
173
  sourceUrl=SourceUrl(dashboard_url),
128
174
  displayName=dashboard_details.name,
129
- description=Markdown(dashboard_details.description)
130
- if dashboard_details.description
131
- else None,
175
+ description=(
176
+ Markdown(dashboard_details.description)
177
+ if dashboard_details.description
178
+ else None
179
+ ),
132
180
  project=self.context.get().project_name,
133
181
  charts=[
134
182
  FullyQualifiedEntityName(
@@ -188,18 +236,22 @@ class QlikcloudSource(QliksenseSource):
188
236
  def yield_dashboard_lineage_details(
189
237
  self,
190
238
  dashboard_details: QlikApp,
191
- db_service_name: Optional[str],
239
+ db_service_name: Optional[str] = None,
192
240
  ) -> Iterable[Either[AddLineageRequest]]:
193
241
  """Get lineage method"""
194
- db_service_entity = self.metadata.get_by_name(
195
- entity=DatabaseService, fqn=db_service_name
196
- )
197
242
  for datamodel in self.data_models or []:
198
243
  try:
199
244
  data_model_entity = self._get_datamodel(datamodel_id=datamodel.id)
200
245
  if data_model_entity:
201
- om_table = self._get_database_table(
202
- db_service_entity, data_model_entity
246
+ fqn_search_string = build_es_fqn_search_string(
247
+ database_name=None,
248
+ schema_name=None,
249
+ service_name=db_service_name or "*",
250
+ table_name=data_model_entity.displayName,
251
+ )
252
+ om_table = self.metadata.search_in_any_service(
253
+ entity_type=Table,
254
+ fqn_search_string=fqn_search_string,
203
255
  )
204
256
  if om_table:
205
257
  columns_list = [col.name for col in datamodel.fields]
@@ -243,9 +295,11 @@ class QlikcloudSource(QliksenseSource):
243
295
  right=CreateChartRequest(
244
296
  name=EntityName(chart.qInfo.qId),
245
297
  displayName=chart.qMeta.title,
246
- description=Markdown(chart.qMeta.description)
247
- if chart.qMeta.description
248
- else None,
298
+ description=(
299
+ Markdown(chart.qMeta.description)
300
+ if chart.qMeta.description
301
+ else None
302
+ ),
249
303
  chartType=ChartType.Other,
250
304
  sourceUrl=SourceUrl(chart_url),
251
305
  service=self.context.get().dashboard_service,
@@ -11,9 +11,44 @@
11
11
  """
12
12
  QlikCloud Models
13
13
  """
14
+ from enum import Enum
14
15
  from typing import List, Optional
15
16
 
16
- from pydantic import BaseModel, Field
17
+ from pydantic import BaseModel, Field, field_validator
18
+
19
+
20
+ class QlikSpaceType(Enum):
21
+ MANAGED = "Managed"
22
+ SHARED = "Shared"
23
+ PERSONAL = "Personal"
24
+
25
+
26
+ # Space Models
27
+ class QlikSpace(BaseModel):
28
+ """QlikCloud Space Model"""
29
+
30
+ name: Optional[str] = None
31
+ description: Optional[str] = None
32
+ id: str
33
+ type: QlikSpaceType
34
+
35
+ # Field validator for normalizing and validating space type
36
+ @field_validator("type", mode="before")
37
+ @classmethod
38
+ def normalize_and_validate_type(cls, value):
39
+ """
40
+ Normalize the space type by capitalizing the input value and
41
+ ensure it corresponds to a valid QlikSpaceType enum.
42
+
43
+ Args:
44
+ value (str): The space type to validate.
45
+
46
+ Returns:
47
+ QlikSpaceType: The corresponding enum member of QlikSpaceType.
48
+ """
49
+ if isinstance(value, str):
50
+ value = value.capitalize()
51
+ return QlikSpaceType(value)
17
52
 
18
53
 
19
54
  # App Models
@@ -24,6 +59,7 @@ class QlikApp(BaseModel):
24
59
  name: Optional[str] = None
25
60
  id: str
26
61
  app_id: Optional[str] = Field(None, alias="resourceId")
62
+ space_id: Optional[str] = Field("", alias="spaceId")
27
63
  published: Optional[bool] = None
28
64
 
29
65
 
@@ -35,6 +71,13 @@ class QlikLinks(BaseModel):
35
71
  next: Optional[QlikLink] = None
36
72
 
37
73
 
74
+ class QlikSpaceResponse(BaseModel):
75
+ """QlikCloud Spaces List"""
76
+
77
+ spaces: Optional[List[QlikSpace]] = Field(None, alias="data")
78
+ links: Optional[QlikLinks] = None
79
+
80
+
38
81
  class QlikAppResponse(BaseModel):
39
82
  """QlikCloud Apps List"""
40
83
 
@@ -55,6 +55,7 @@ from metadata.ingestion.source.dashboard.qliksense.models import (
55
55
  )
56
56
  from metadata.utils import fqn
57
57
  from metadata.utils.filters import filter_by_chart, filter_by_datamodel
58
+ from metadata.utils.fqn import build_es_fqn_search_string
58
59
  from metadata.utils.helpers import clean_uri
59
60
  from metadata.utils.logger import ingestion_logger
60
61
 
@@ -276,7 +277,11 @@ class QliksenseSource(DashboardServiceSource):
276
277
  return None
277
278
 
278
279
  def _get_database_table(
279
- self, db_service_entity: DatabaseService, datamodel: QlikTable
280
+ self,
281
+ db_service_entity: DatabaseService,
282
+ datamodel: QlikTable,
283
+ schema_name: Optional[str],
284
+ database_name: Optional[str],
280
285
  ) -> Optional[Table]:
281
286
  """
282
287
  Get the table entity for lineage
@@ -284,17 +289,6 @@ class QliksenseSource(DashboardServiceSource):
284
289
  # table.name in tableau can come as db.schema.table_name. Hence the logic to split it
285
290
  if datamodel.tableName and db_service_entity:
286
291
  try:
287
- if len(datamodel.connectorProperties.tableQualifiers) > 1:
288
- (
289
- database_name,
290
- schema_name,
291
- ) = datamodel.connectorProperties.tableQualifiers[-2:]
292
- elif len(datamodel.connectorProperties.tableQualifiers) == 1:
293
- schema_name = datamodel.connectorProperties.tableQualifiers[-1]
294
- database_name = None
295
- else:
296
- schema_name, database_name = None, None
297
-
298
292
  table_fqn = fqn.build(
299
293
  self.metadata,
300
294
  entity_type=Table,
@@ -316,18 +310,32 @@ class QliksenseSource(DashboardServiceSource):
316
310
  def yield_dashboard_lineage_details(
317
311
  self,
318
312
  dashboard_details: QlikDashboard,
319
- db_service_name: Optional[str],
313
+ db_service_name: Optional[str] = None,
320
314
  ) -> Iterable[Either[AddLineageRequest]]:
321
315
  """Get lineage method"""
322
- db_service_entity = self.metadata.get_by_name(
323
- entity=DatabaseService, fqn=db_service_name
324
- )
325
316
  for datamodel in self.data_models or []:
326
317
  try:
327
318
  data_model_entity = self._get_datamodel(datamodel_id=datamodel.id)
328
319
  if data_model_entity:
329
- om_table = self._get_database_table(
330
- db_service_entity, datamodel=datamodel
320
+ if len(datamodel.connectorProperties.tableQualifiers) > 1:
321
+ (
322
+ database_name,
323
+ schema_name,
324
+ ) = datamodel.connectorProperties.tableQualifiers[-2:]
325
+ elif len(datamodel.connectorProperties.tableQualifiers) == 1:
326
+ schema_name = datamodel.connectorProperties.tableQualifiers[-1]
327
+ database_name = None
328
+ else:
329
+ schema_name, database_name = None, None
330
+ fqn_search_string = build_es_fqn_search_string(
331
+ database_name=database_name,
332
+ schema_name=schema_name,
333
+ service_name=db_service_name or "*",
334
+ table_name=datamodel.tableName,
335
+ )
336
+ om_table = self.metadata.search_in_any_service(
337
+ entity_type=Table,
338
+ fqn_search_string=fqn_search_string,
331
339
  )
332
340
  if om_table:
333
341
  columns_list = [col.name for col in datamodel.fields]
@@ -49,9 +49,8 @@ from metadata.generated.schema.type.entityLineage import Source as LineageSource
49
49
  from metadata.generated.schema.type.entityReference import EntityReference
50
50
  from metadata.ingestion.api.models import Either
51
51
  from metadata.ingestion.api.steps import InvalidSourceException
52
- from metadata.ingestion.lineage.models import ConnectionTypeDialectMapper
52
+ from metadata.ingestion.lineage.models import ConnectionTypeDialectMapper, Dialect
53
53
  from metadata.ingestion.lineage.parser import LineageParser
54
- from metadata.ingestion.lineage.sql_lineage import search_table_entities
55
54
  from metadata.ingestion.ometa.ometa_api import OpenMetadata
56
55
  from metadata.ingestion.source.dashboard.dashboard_service import (
57
56
  LINEAGE_MAP,
@@ -69,6 +68,7 @@ from metadata.ingestion.source.dashboard.quicksight.models import (
69
68
  from metadata.ingestion.source.database.column_type_parser import ColumnTypeParser
70
69
  from metadata.utils import fqn
71
70
  from metadata.utils.filters import filter_by_chart
71
+ from metadata.utils.fqn import build_es_fqn_search_string
72
72
  from metadata.utils.logger import ingestion_logger
73
73
 
74
74
  logger = ingestion_logger()
@@ -254,12 +254,14 @@ class QuicksightSource(DashboardServiceSource):
254
254
  data_model_entity,
255
255
  data_source_resp: DataSourceModel,
256
256
  dashboard_details: DashboardDetail,
257
- db_service_entity,
257
+ db_service_name: Optional[str],
258
258
  ) -> Iterable[Either[AddLineageRequest]]:
259
259
  """yield lineage from table(parsed form query source) <-> dashboard"""
260
- if not db_service_entity:
261
- logger.debug(f"db service is not ingested")
262
- return None
260
+ db_service_entity = None
261
+ if db_service_name:
262
+ db_service_entity = self.metadata.get_by_name(
263
+ entity=DatabaseService, fqn=db_service_name
264
+ )
263
265
  sql_query = data_source_resp.data_source_resp.query
264
266
  source_database_names = []
265
267
  try:
@@ -278,7 +280,7 @@ class QuicksightSource(DashboardServiceSource):
278
280
  db_service_entity.serviceType.value
279
281
  )
280
282
  if db_service_entity
281
- else None,
283
+ else Dialect.ANSI,
282
284
  )
283
285
  lineage_details = LineageDetails(
284
286
  source=LineageSource.DashboardLineage, sqlQuery=sql_query
@@ -289,14 +291,18 @@ class QuicksightSource(DashboardServiceSource):
289
291
  database_schema_name = self.check_database_schema_name(
290
292
  database_schema_name
291
293
  )
292
- from_entities = search_table_entities(
293
- metadata=self.metadata,
294
- database=db_name,
295
- service_name=db_service_entity.name.root,
296
- database_schema=database_schema_name,
297
- table=table,
294
+ fqn_search_string = build_es_fqn_search_string(
295
+ database_name=db_name,
296
+ schema_name=database_schema_name,
297
+ service_name=db_service_name or "*",
298
+ table_name=table,
298
299
  )
299
- for from_entity in from_entities:
300
+ from_entities = self.metadata.search_in_any_service(
301
+ entity_type=Table,
302
+ fqn_search_string=fqn_search_string,
303
+ fetch_multiple_entities=True,
304
+ )
305
+ for from_entity in from_entities or []:
300
306
  if from_entity is not None and data_model_entity is not None:
301
307
  columns = [
302
308
  col.name.root for col in data_model_entity.columns
@@ -354,7 +360,7 @@ class QuicksightSource(DashboardServiceSource):
354
360
  containers = self.metadata.es_search_container_by_path(
355
361
  full_path=f"s3://{bucket_name}/{key_name}"
356
362
  )
357
- for container in containers:
363
+ for container in containers or []:
358
364
  if container is not None and data_model_entity is not None:
359
365
  storage_entity = EntityReference(
360
366
  id=Uuid(container.id.root),
@@ -385,7 +391,7 @@ class QuicksightSource(DashboardServiceSource):
385
391
  data_model_entity,
386
392
  data_source_resp: DataSourceModel,
387
393
  dashboard_details: DashboardDetail,
388
- db_service_entity,
394
+ db_service_name: Optional[str],
389
395
  ) -> Iterable[Either[AddLineageRequest]]:
390
396
  """yield lineage from table <-> dashboard"""
391
397
  try:
@@ -394,17 +400,15 @@ class QuicksightSource(DashboardServiceSource):
394
400
  if data_source_resp and data_source_resp.DataSourceParameters:
395
401
  data_source_dict = data_source_resp.DataSourceParameters
396
402
  for db in data_source_dict.keys() or []:
397
- from_fqn = fqn.build(
398
- self.metadata,
399
- entity_type=Table,
400
- service_name=db_service_entity.name.root,
403
+ fqn_search_string = build_es_fqn_search_string(
401
404
  database_name=data_source_dict[db].get("Database"),
402
405
  schema_name=schema_name,
406
+ service_name=db_service_name or "*",
403
407
  table_name=table_name,
404
408
  )
405
- from_entity = self.metadata.get_by_name(
406
- entity=Table,
407
- fqn=from_fqn,
409
+ from_entity = self.metadata.search_in_any_service(
410
+ entity_type=Table,
411
+ fqn_search_string=fqn_search_string,
408
412
  )
409
413
  if from_entity is not None and data_model_entity is not None:
410
414
  columns = [col.name.root for col in data_model_entity.columns]
@@ -440,14 +444,13 @@ class QuicksightSource(DashboardServiceSource):
440
444
  return None
441
445
 
442
446
  def yield_dashboard_lineage_details( # pylint: disable=too-many-locals
443
- self, dashboard_details: DashboardDetail, db_service_name: str
447
+ self,
448
+ dashboard_details: DashboardDetail,
449
+ db_service_name: Optional[str] = None,
444
450
  ) -> Iterable[Either[AddLineageRequest]]:
445
451
  """
446
452
  Get lineage between dashboard and data sources
447
453
  """
448
- db_service_entity = self.metadata.get_by_name(
449
- entity=DatabaseService, fqn=db_service_name
450
- )
451
454
  for datamodel in self.data_models or []:
452
455
  try:
453
456
  data_model_entity = self._get_datamodel(
@@ -460,7 +463,7 @@ class QuicksightSource(DashboardServiceSource):
460
463
  data_model_entity,
461
464
  datamodel.DataSource,
462
465
  dashboard_details,
463
- db_service_entity,
466
+ db_service_name,
464
467
  )
465
468
  elif isinstance(
466
469
  datamodel.DataSource.data_source_resp, DataSourceRespS3
@@ -473,7 +476,7 @@ class QuicksightSource(DashboardServiceSource):
473
476
  data_model_entity,
474
477
  datamodel.DataSource,
475
478
  dashboard_details,
476
- db_service_entity,
479
+ db_service_name,
477
480
  )
478
481
  except Exception as exc: # pylint: disable=broad-except
479
482
  yield Either(
@@ -48,6 +48,7 @@ from metadata.ingestion.ometa.ometa_api import OpenMetadata
48
48
  from metadata.ingestion.source.dashboard.dashboard_service import DashboardServiceSource
49
49
  from metadata.utils import fqn
50
50
  from metadata.utils.filters import filter_by_chart
51
+ from metadata.utils.fqn import build_es_fqn_search_string
51
52
  from metadata.utils.helpers import clean_uri, get_standard_chart_type
52
53
  from metadata.utils.logger import ingestion_logger
53
54
  from metadata.utils.tag_utils import get_ometa_tag_and_classification, get_tag_labels
@@ -197,14 +198,15 @@ class RedashSource(DashboardServiceSource):
197
198
  )
198
199
 
199
200
  def yield_dashboard_lineage_details( # pylint: disable=too-many-locals
200
- self, dashboard_details: dict, db_service_name: str
201
+ self,
202
+ dashboard_details: dict,
203
+ db_service_name: Optional[str] = None,
201
204
  ) -> Iterable[Either[AddLineageRequest]]:
202
205
  """
203
206
  Get lineage between dashboard and data sources
204
207
  In redash we do not get table, database_schema or database name but we do get query
205
208
  the lineage is being generated based on the query
206
209
  """
207
-
208
210
  to_fqn = fqn.build(
209
211
  self.metadata,
210
212
  entity_type=LineageDashboard,
@@ -229,17 +231,17 @@ class RedashSource(DashboardServiceSource):
229
231
  database_schema_name = self.check_database_schema_name(
230
232
  database_schema
231
233
  )
232
- from_fqn = fqn.build(
233
- self.metadata,
234
- entity_type=Table,
235
- service_name=db_service_name,
234
+ if not database_schema_table.get("table"):
235
+ continue
236
+ fqn_search_string = build_es_fqn_search_string(
237
+ database_name=database_schema_table.get("database"),
236
238
  schema_name=database_schema_name,
239
+ service_name=db_service_name or "*",
237
240
  table_name=database_schema_table.get("table"),
238
- database_name=database_schema_table.get("database"),
239
241
  )
240
- from_entity = self.metadata.get_by_name(
241
- entity=Table,
242
- fqn=from_fqn,
242
+ from_entity = self.metadata.search_in_any_service(
243
+ entity_type=Table,
244
+ fqn_search_string=fqn_search_string,
243
245
  )
244
246
  if from_entity and to_entity:
245
247
  yield self._get_add_lineage_request(
@@ -52,6 +52,7 @@ from metadata.ingestion.source.dashboard.sigma.models import (
52
52
  )
53
53
  from metadata.utils import fqn
54
54
  from metadata.utils.filters import filter_by_chart
55
+ from metadata.utils.fqn import build_es_fqn_search_string
55
56
  from metadata.utils.helpers import get_standard_chart_type
56
57
  from metadata.utils.logger import ingestion_logger
57
58
 
@@ -196,39 +197,36 @@ class SigmaSource(DashboardServiceSource):
196
197
  return None
197
198
 
198
199
  def _get_table_entity_from_node(
199
- self, node: NodeDetails, db_service_name: str
200
+ self, node: NodeDetails, db_service_name: Optional[str]
200
201
  ) -> Optional[Table]:
201
202
  """
202
203
  Get the table entity for lineage
203
204
  """
204
205
  if node.node_schema:
205
206
  try:
206
- table_fqn = fqn.build(
207
- self.metadata,
208
- entity_type=Table,
209
- service_name=db_service_name,
207
+ fqn_search_string = build_es_fqn_search_string(
208
+ database_name=None,
210
209
  schema_name=node.node_schema,
210
+ service_name=db_service_name or "*",
211
211
  table_name=node.name,
212
- database_name="",
213
212
  )
214
- if table_fqn:
215
- return self.metadata.get_by_name(
216
- entity=Table,
217
- fqn=table_fqn,
218
- )
213
+ return self.metadata.search_in_any_service(
214
+ entity_type=Table,
215
+ fqn_search_string=fqn_search_string,
216
+ )
219
217
  except Exception as exc:
220
218
  logger.debug(traceback.format_exc())
221
219
  logger.warning(f"Error occured while finding table fqn: {exc}")
222
220
  return None
223
221
 
224
222
  def yield_dashboard_lineage_details(
225
- self, dashboard_details: WorkbookDetails, db_service_name: Optional[str]
223
+ self,
224
+ dashboard_details: WorkbookDetails,
225
+ db_service_name: Optional[str] = None,
226
226
  ):
227
227
  """
228
228
  yield dashboard lineage
229
229
  """
230
- if not db_service_name:
231
- return
232
230
  # charts and datamodels are same here as we are using charts as metadata for datamodels
233
231
  for data_model in self.data_models or []:
234
232
  try: