openmetadata-ingestion 1.8.0.0__py3-none-any.whl → 1.8.1.0__py3-none-any.whl

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

Potentially problematic release.


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

Files changed (728) hide show
  1. metadata/generated/schema/analytics/__init__.py +1 -1
  2. metadata/generated/schema/analytics/basic.py +1 -1
  3. metadata/generated/schema/analytics/reportData.py +1 -1
  4. metadata/generated/schema/analytics/reportDataType/__init__.py +1 -1
  5. metadata/generated/schema/analytics/reportDataType/aggregatedCostAnalysisReportData.py +1 -1
  6. metadata/generated/schema/analytics/reportDataType/entityReportData.py +1 -1
  7. metadata/generated/schema/analytics/reportDataType/rawCostAnalysisReportData.py +1 -1
  8. metadata/generated/schema/analytics/reportDataType/webAnalyticEntityViewReportData.py +1 -1
  9. metadata/generated/schema/analytics/reportDataType/webAnalyticUserActivityReportData.py +1 -1
  10. metadata/generated/schema/analytics/webAnalyticEvent.py +1 -1
  11. metadata/generated/schema/analytics/webAnalyticEventData.py +1 -1
  12. metadata/generated/schema/analytics/webAnalyticEventType/__init__.py +1 -1
  13. metadata/generated/schema/analytics/webAnalyticEventType/customEvent.py +1 -1
  14. metadata/generated/schema/analytics/webAnalyticEventType/pageViewEvent.py +1 -1
  15. metadata/generated/schema/api/__init__.py +1 -1
  16. metadata/generated/schema/api/addGlossaryToAssetsRequest.py +1 -1
  17. metadata/generated/schema/api/addTagToAssetsRequest.py +1 -1
  18. metadata/generated/schema/api/analytics/__init__.py +1 -1
  19. metadata/generated/schema/api/analytics/createWebAnalyticEvent.py +1 -1
  20. metadata/generated/schema/api/automations/__init__.py +1 -1
  21. metadata/generated/schema/api/automations/createWorkflow.py +1 -1
  22. metadata/generated/schema/api/bulkAssets.py +1 -1
  23. metadata/generated/schema/api/classification/__init__.py +1 -1
  24. metadata/generated/schema/api/classification/createClassification.py +1 -1
  25. metadata/generated/schema/api/classification/createTag.py +1 -1
  26. metadata/generated/schema/api/classification/loadTags.py +1 -1
  27. metadata/generated/schema/api/createBot.py +1 -1
  28. metadata/generated/schema/api/createEventPublisherJob.py +1 -1
  29. metadata/generated/schema/api/createType.py +1 -1
  30. metadata/generated/schema/api/data/__init__.py +1 -1
  31. metadata/generated/schema/api/data/createAPICollection.py +1 -1
  32. metadata/generated/schema/api/data/createAPIEndpoint.py +1 -1
  33. metadata/generated/schema/api/data/createChart.py +1 -1
  34. metadata/generated/schema/api/data/createContainer.py +1 -1
  35. metadata/generated/schema/api/data/createCustomProperty.py +1 -1
  36. metadata/generated/schema/api/data/createDashboard.py +1 -1
  37. metadata/generated/schema/api/data/createDashboardDataModel.py +1 -1
  38. metadata/generated/schema/api/data/createDataContract.py +1 -1
  39. metadata/generated/schema/api/data/createDatabase.py +1 -1
  40. metadata/generated/schema/api/data/createDatabaseSchema.py +1 -1
  41. metadata/generated/schema/api/data/createGlossary.py +1 -1
  42. metadata/generated/schema/api/data/createGlossaryTerm.py +1 -1
  43. metadata/generated/schema/api/data/createMetric.py +1 -1
  44. metadata/generated/schema/api/data/createMlModel.py +1 -1
  45. metadata/generated/schema/api/data/createPipeline.py +1 -1
  46. metadata/generated/schema/api/data/createQuery.py +1 -1
  47. metadata/generated/schema/api/data/createQueryCostRecord.py +1 -1
  48. metadata/generated/schema/api/data/createSearchIndex.py +1 -1
  49. metadata/generated/schema/api/data/createStoredProcedure.py +1 -1
  50. metadata/generated/schema/api/data/createTable.py +1 -1
  51. metadata/generated/schema/api/data/createTableProfile.py +1 -1
  52. metadata/generated/schema/api/data/createTopic.py +1 -1
  53. metadata/generated/schema/api/data/loadGlossary.py +1 -1
  54. metadata/generated/schema/api/data/restoreEntity.py +1 -1
  55. metadata/generated/schema/api/data/updateColumn.py +1 -1
  56. metadata/generated/schema/api/dataInsight/__init__.py +1 -1
  57. metadata/generated/schema/api/dataInsight/createDataInsightChart.py +1 -1
  58. metadata/generated/schema/api/dataInsight/custom/__init__.py +1 -1
  59. metadata/generated/schema/api/dataInsight/custom/createDataInsightCustomChart.py +1 -1
  60. metadata/generated/schema/api/dataInsight/kpi/__init__.py +1 -1
  61. metadata/generated/schema/api/dataInsight/kpi/createKpiRequest.py +1 -1
  62. metadata/generated/schema/api/docStore/__init__.py +1 -1
  63. metadata/generated/schema/api/docStore/createDocument.py +1 -1
  64. metadata/generated/schema/api/domains/__init__.py +1 -1
  65. metadata/generated/schema/api/domains/createDataProduct.py +1 -1
  66. metadata/generated/schema/api/domains/createDomain.py +1 -1
  67. metadata/generated/schema/api/feed/__init__.py +1 -1
  68. metadata/generated/schema/api/feed/closeTask.py +1 -1
  69. metadata/generated/schema/api/feed/createPost.py +1 -1
  70. metadata/generated/schema/api/feed/createSuggestion.py +1 -1
  71. metadata/generated/schema/api/feed/createThread.py +1 -1
  72. metadata/generated/schema/api/feed/resolveTask.py +1 -1
  73. metadata/generated/schema/api/feed/threadCount.py +1 -1
  74. metadata/generated/schema/api/governance/__init__.py +1 -1
  75. metadata/generated/schema/api/governance/createWorkflowDefinition.py +1 -1
  76. metadata/generated/schema/api/governance/createWorkflowInstanceState.py +1 -1
  77. metadata/generated/schema/api/lineage/__init__.py +1 -1
  78. metadata/generated/schema/api/lineage/addLineage.py +1 -1
  79. metadata/generated/schema/api/lineage/esLineageData.py +1 -1
  80. metadata/generated/schema/api/lineage/lineageDirection.py +1 -1
  81. metadata/generated/schema/api/lineage/nodeInformation.py +1 -1
  82. metadata/generated/schema/api/lineage/searchLineageRequest.py +1 -1
  83. metadata/generated/schema/api/lineage/searchLineageResult.py +1 -1
  84. metadata/generated/schema/api/mcp/__init__.py +1 -1
  85. metadata/generated/schema/api/mcp/mcpToolDefinition.py +1 -1
  86. metadata/generated/schema/api/openMetadataServerVersion.py +1 -1
  87. metadata/generated/schema/api/policies/__init__.py +1 -1
  88. metadata/generated/schema/api/policies/createPolicy.py +1 -1
  89. metadata/generated/schema/api/scim/__init__.py +1 -1
  90. metadata/generated/schema/api/scim/scimGroup.py +1 -1
  91. metadata/generated/schema/api/scim/scimPatchOp.py +1 -1
  92. metadata/generated/schema/api/scim/scimUser.py +1 -1
  93. metadata/generated/schema/api/search/__init__.py +1 -1
  94. metadata/generated/schema/api/search/previewSearchRequest.py +1 -1
  95. metadata/generated/schema/api/services/__init__.py +1 -1
  96. metadata/generated/schema/api/services/createApiService.py +1 -1
  97. metadata/generated/schema/api/services/createDashboardService.py +1 -1
  98. metadata/generated/schema/api/services/createDatabaseService.py +1 -1
  99. metadata/generated/schema/api/services/createMessagingService.py +1 -1
  100. metadata/generated/schema/api/services/createMetadataService.py +1 -1
  101. metadata/generated/schema/api/services/createMlModelService.py +1 -1
  102. metadata/generated/schema/api/services/createPipelineService.py +1 -1
  103. metadata/generated/schema/api/services/createSearchService.py +1 -1
  104. metadata/generated/schema/api/services/createStorageService.py +1 -1
  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/validateGlossaryTagsRequest.py +1 -1
  122. metadata/generated/schema/api/voteRequest.py +1 -1
  123. metadata/generated/schema/auth/__init__.py +1 -1
  124. metadata/generated/schema/auth/basicAuth.py +1 -1
  125. metadata/generated/schema/auth/basicLoginRequest.py +1 -1
  126. metadata/generated/schema/auth/changePasswordRequest.py +1 -1
  127. metadata/generated/schema/auth/createPersonalToken.py +1 -1
  128. metadata/generated/schema/auth/emailRequest.py +1 -1
  129. metadata/generated/schema/auth/emailVerificationToken.py +1 -1
  130. metadata/generated/schema/auth/generateToken.py +1 -1
  131. metadata/generated/schema/auth/jwtAuth.py +1 -1
  132. metadata/generated/schema/auth/loginRequest.py +1 -1
  133. metadata/generated/schema/auth/logoutRequest.py +1 -1
  134. metadata/generated/schema/auth/passwordResetRequest.py +1 -1
  135. metadata/generated/schema/auth/passwordResetToken.py +1 -1
  136. metadata/generated/schema/auth/personalAccessToken.py +1 -1
  137. metadata/generated/schema/auth/refreshToken.py +1 -1
  138. metadata/generated/schema/auth/registrationRequest.py +1 -1
  139. metadata/generated/schema/auth/revokePersonalToken.py +1 -1
  140. metadata/generated/schema/auth/revokeToken.py +1 -1
  141. metadata/generated/schema/auth/serviceTokenEnum.py +1 -1
  142. metadata/generated/schema/auth/ssoAuth.py +1 -1
  143. metadata/generated/schema/auth/supportToken.py +1 -1
  144. metadata/generated/schema/auth/tokenRefreshRequest.py +1 -1
  145. metadata/generated/schema/configuration/__init__.py +1 -1
  146. metadata/generated/schema/configuration/appsPrivateConfiguration.py +1 -1
  147. metadata/generated/schema/configuration/assetCertificationSettings.py +1 -1
  148. metadata/generated/schema/configuration/authConfig.py +1 -1
  149. metadata/generated/schema/configuration/authenticationConfiguration.py +1 -1
  150. metadata/generated/schema/configuration/authorizerConfiguration.py +1 -1
  151. metadata/generated/schema/configuration/changeEventConfiguration.py +1 -1
  152. metadata/generated/schema/configuration/dataQualityConfiguration.py +1 -1
  153. metadata/generated/schema/configuration/elasticSearchConfiguration.py +1 -1
  154. metadata/generated/schema/configuration/eventHandlerConfiguration.py +1 -1
  155. metadata/generated/schema/configuration/fernetConfiguration.py +1 -1
  156. metadata/generated/schema/configuration/jwtTokenConfiguration.py +1 -1
  157. metadata/generated/schema/configuration/kafkaEventConfiguration.py +1 -1
  158. metadata/generated/schema/configuration/ldapConfiguration.py +1 -1
  159. metadata/generated/schema/configuration/ldapTrustStoreConfig/__init__.py +1 -1
  160. metadata/generated/schema/configuration/ldapTrustStoreConfig/customTrustManagerConfig.py +1 -1
  161. metadata/generated/schema/configuration/ldapTrustStoreConfig/hostNameConfig.py +1 -1
  162. metadata/generated/schema/configuration/ldapTrustStoreConfig/jvmDefaultConfig.py +1 -1
  163. metadata/generated/schema/configuration/ldapTrustStoreConfig/trustAllConfig.py +1 -1
  164. metadata/generated/schema/configuration/ldapTrustStoreConfig/truststoreConfig.py +1 -1
  165. metadata/generated/schema/configuration/limitsConfiguration.py +1 -1
  166. metadata/generated/schema/configuration/lineageSettings.py +1 -1
  167. metadata/generated/schema/configuration/loginConfiguration.py +1 -1
  168. metadata/generated/schema/configuration/logoConfiguration.py +1 -1
  169. metadata/generated/schema/configuration/openMetadataBaseUrlConfiguration.py +1 -1
  170. metadata/generated/schema/configuration/opertionalConfiguration.py +1 -1
  171. metadata/generated/schema/configuration/opsConfig.py +1 -1
  172. metadata/generated/schema/configuration/pipelineServiceClientConfiguration.py +1 -1
  173. metadata/generated/schema/configuration/profilerConfiguration.py +1 -1
  174. metadata/generated/schema/configuration/searchSettings.py +1 -1
  175. metadata/generated/schema/configuration/slackAppConfiguration.py +1 -1
  176. metadata/generated/schema/configuration/taskNotificationConfiguration.py +1 -1
  177. metadata/generated/schema/configuration/testResultNotificationConfiguration.py +1 -1
  178. metadata/generated/schema/configuration/themeConfiguration.py +1 -1
  179. metadata/generated/schema/configuration/uiThemePreference.py +1 -1
  180. metadata/generated/schema/configuration/workflowSettings.py +1 -1
  181. metadata/generated/schema/dataInsight/__init__.py +1 -1
  182. metadata/generated/schema/dataInsight/custom/__init__.py +1 -1
  183. metadata/generated/schema/dataInsight/custom/dataInsightCustomChart.py +1 -1
  184. metadata/generated/schema/dataInsight/custom/dataInsightCustomChartResult.py +1 -1
  185. metadata/generated/schema/dataInsight/custom/dataInsightCustomChartResultList.py +1 -1
  186. metadata/generated/schema/dataInsight/custom/formulaHolder.py +1 -1
  187. metadata/generated/schema/dataInsight/custom/lineChart.py +1 -1
  188. metadata/generated/schema/dataInsight/custom/summaryCard.py +1 -1
  189. metadata/generated/schema/dataInsight/dataInsightChart.py +1 -1
  190. metadata/generated/schema/dataInsight/dataInsightChartResult.py +1 -1
  191. metadata/generated/schema/dataInsight/kpi/__init__.py +1 -1
  192. metadata/generated/schema/dataInsight/kpi/basic.py +1 -1
  193. metadata/generated/schema/dataInsight/kpi/kpi.py +1 -1
  194. metadata/generated/schema/dataInsight/type/__init__.py +1 -1
  195. metadata/generated/schema/dataInsight/type/aggregatedUnusedAssetsCount.py +1 -1
  196. metadata/generated/schema/dataInsight/type/aggregatedUnusedAssetsSize.py +1 -1
  197. metadata/generated/schema/dataInsight/type/aggregatedUsedVsUnusedAssetsCount.py +1 -1
  198. metadata/generated/schema/dataInsight/type/aggregatedUsedVsUnusedAssetsSize.py +1 -1
  199. metadata/generated/schema/dataInsight/type/dailyActiveUsers.py +1 -1
  200. metadata/generated/schema/dataInsight/type/mostActiveUsers.py +1 -1
  201. metadata/generated/schema/dataInsight/type/mostViewedEntities.py +1 -1
  202. metadata/generated/schema/dataInsight/type/pageViewsByEntities.py +1 -1
  203. metadata/generated/schema/dataInsight/type/unusedAssets.py +1 -1
  204. metadata/generated/schema/email/__init__.py +1 -1
  205. metadata/generated/schema/email/emailRequest.py +1 -1
  206. metadata/generated/schema/email/emailTemplate.py +1 -1
  207. metadata/generated/schema/email/emailTemplatePlaceholder.py +1 -1
  208. metadata/generated/schema/email/smtpSettings.py +1 -1
  209. metadata/generated/schema/email/templateValidationReponse.py +1 -1
  210. metadata/generated/schema/entity/__init__.py +1 -1
  211. metadata/generated/schema/entity/applications/__init__.py +1 -1
  212. metadata/generated/schema/entity/applications/app.py +1 -1
  213. metadata/generated/schema/entity/applications/appExtension.py +1 -1
  214. metadata/generated/schema/entity/applications/appRunRecord.py +2 -1
  215. metadata/generated/schema/entity/applications/configuration/__init__.py +1 -1
  216. metadata/generated/schema/entity/applications/configuration/applicationConfig.py +1 -1
  217. metadata/generated/schema/entity/applications/configuration/external/__init__.py +1 -1
  218. metadata/generated/schema/entity/applications/configuration/external/automator/__init__.py +1 -1
  219. metadata/generated/schema/entity/applications/configuration/external/automator/addCustomProperties.py +1 -1
  220. metadata/generated/schema/entity/applications/configuration/external/automator/addDataProductAction.py +1 -1
  221. metadata/generated/schema/entity/applications/configuration/external/automator/addDescriptionAction.py +1 -1
  222. metadata/generated/schema/entity/applications/configuration/external/automator/addDomainAction.py +1 -1
  223. metadata/generated/schema/entity/applications/configuration/external/automator/addOwnerAction.py +1 -1
  224. metadata/generated/schema/entity/applications/configuration/external/automator/addTagsAction.py +1 -1
  225. metadata/generated/schema/entity/applications/configuration/external/automator/addTestCaseAction.py +5 -2
  226. metadata/generated/schema/entity/applications/configuration/external/automator/addTierAction.py +1 -1
  227. metadata/generated/schema/entity/applications/configuration/external/automator/lineagePropagationAction.py +1 -1
  228. metadata/generated/schema/entity/applications/configuration/external/automator/mlTaggingAction.py +1 -1
  229. metadata/generated/schema/entity/applications/configuration/external/automator/removeCustomPropertiesAction.py +1 -1
  230. metadata/generated/schema/entity/applications/configuration/external/automator/removeDataProductAction.py +1 -1
  231. metadata/generated/schema/entity/applications/configuration/external/automator/removeDescriptionAction.py +1 -1
  232. metadata/generated/schema/entity/applications/configuration/external/automator/removeDomainAction.py +1 -1
  233. metadata/generated/schema/entity/applications/configuration/external/automator/removeOwnerAction.py +1 -1
  234. metadata/generated/schema/entity/applications/configuration/external/automator/removeTagsAction.py +1 -1
  235. metadata/generated/schema/entity/applications/configuration/external/automator/removeTestCaseAction.py +1 -1
  236. metadata/generated/schema/entity/applications/configuration/external/automator/removeTierAction.py +1 -1
  237. metadata/generated/schema/entity/applications/configuration/external/automatorAppConfig.py +1 -1
  238. metadata/generated/schema/entity/applications/configuration/external/collateAIAppConfig.py +1 -1
  239. metadata/generated/schema/entity/applications/configuration/external/slackAppTokenConfiguration.py +1 -1
  240. metadata/generated/schema/entity/applications/configuration/internal/__init__.py +1 -1
  241. metadata/generated/schema/entity/applications/configuration/internal/autoPilotAppConfig.py +1 -1
  242. metadata/generated/schema/entity/applications/configuration/internal/collateAIQualityAgentAppConfig.py +1 -1
  243. metadata/generated/schema/entity/applications/configuration/internal/collateAITierAgentAppConfig.py +1 -1
  244. metadata/generated/schema/entity/applications/configuration/internal/dataInsightsAppConfig.py +1 -1
  245. metadata/generated/schema/entity/applications/configuration/internal/dataInsightsReportAppConfig.py +1 -1
  246. metadata/generated/schema/entity/applications/configuration/internal/dataRetentionConfiguration.py +1 -1
  247. metadata/generated/schema/entity/applications/configuration/internal/helloPipelinesConfiguration.py +1 -1
  248. metadata/generated/schema/entity/applications/configuration/internal/searchIndexingAppConfig.py +1 -1
  249. metadata/generated/schema/entity/applications/configuration/private/__init__.py +1 -1
  250. metadata/generated/schema/entity/applications/configuration/private/external/__init__.py +1 -1
  251. metadata/generated/schema/entity/applications/configuration/private/external/collateAIAppPrivateConfig.py +1 -1
  252. metadata/generated/schema/entity/applications/configuration/private/internal/__init__.py +1 -1
  253. metadata/generated/schema/entity/applications/configuration/private/internal/collateAITierAgentAppPrivateConfig.py +1 -1
  254. metadata/generated/schema/entity/applications/configuration/private/limits.py +1 -1
  255. metadata/generated/schema/entity/applications/createAppRequest.py +1 -1
  256. metadata/generated/schema/entity/applications/jobStatus.py +1 -1
  257. metadata/generated/schema/entity/applications/liveExecutionContext.py +1 -1
  258. metadata/generated/schema/entity/applications/marketplace/__init__.py +1 -1
  259. metadata/generated/schema/entity/applications/marketplace/appMarketPlaceDefinition.py +1 -1
  260. metadata/generated/schema/entity/applications/marketplace/createAppMarketPlaceDefinitionReq.py +1 -1
  261. metadata/generated/schema/entity/applications/scheduledExecutionContext.py +1 -1
  262. metadata/generated/schema/entity/automations/__init__.py +1 -1
  263. metadata/generated/schema/entity/automations/testServiceConnection.py +1 -1
  264. metadata/generated/schema/entity/automations/workflow.py +1 -1
  265. metadata/generated/schema/entity/bot.py +1 -1
  266. metadata/generated/schema/entity/classification/__init__.py +1 -1
  267. metadata/generated/schema/entity/classification/classification.py +1 -1
  268. metadata/generated/schema/entity/classification/tag.py +1 -1
  269. metadata/generated/schema/entity/data/__init__.py +1 -1
  270. metadata/generated/schema/entity/data/apiCollection.py +1 -1
  271. metadata/generated/schema/entity/data/apiEndpoint.py +1 -1
  272. metadata/generated/schema/entity/data/chart.py +1 -1
  273. metadata/generated/schema/entity/data/container.py +1 -1
  274. metadata/generated/schema/entity/data/dashboard.py +1 -1
  275. metadata/generated/schema/entity/data/dashboardDataModel.py +1 -1
  276. metadata/generated/schema/entity/data/dataContract.py +1 -1
  277. metadata/generated/schema/entity/data/database.py +1 -1
  278. metadata/generated/schema/entity/data/databaseSchema.py +1 -1
  279. metadata/generated/schema/entity/data/glossary.py +1 -1
  280. metadata/generated/schema/entity/data/glossaryTerm.py +1 -1
  281. metadata/generated/schema/entity/data/metric.py +1 -1
  282. metadata/generated/schema/entity/data/mlmodel.py +1 -1
  283. metadata/generated/schema/entity/data/pipeline.py +1 -1
  284. metadata/generated/schema/entity/data/query.py +1 -1
  285. metadata/generated/schema/entity/data/queryCostRecord.py +1 -1
  286. metadata/generated/schema/entity/data/queryCostSearchResult.py +1 -1
  287. metadata/generated/schema/entity/data/report.py +1 -1
  288. metadata/generated/schema/entity/data/searchIndex.py +1 -1
  289. metadata/generated/schema/entity/data/storedProcedure.py +1 -1
  290. metadata/generated/schema/entity/data/table.py +6 -1
  291. metadata/generated/schema/entity/data/topic.py +1 -1
  292. metadata/generated/schema/entity/docStore/__init__.py +1 -1
  293. metadata/generated/schema/entity/docStore/document.py +1 -1
  294. metadata/generated/schema/entity/domains/__init__.py +1 -1
  295. metadata/generated/schema/entity/domains/dataProduct.py +1 -1
  296. metadata/generated/schema/entity/domains/domain.py +1 -1
  297. metadata/generated/schema/entity/events/__init__.py +1 -1
  298. metadata/generated/schema/entity/events/webhook.py +1 -1
  299. metadata/generated/schema/entity/feed/__init__.py +1 -1
  300. metadata/generated/schema/entity/feed/assets.py +1 -1
  301. metadata/generated/schema/entity/feed/customProperty.py +1 -1
  302. metadata/generated/schema/entity/feed/description.py +1 -1
  303. metadata/generated/schema/entity/feed/domain.py +1 -1
  304. metadata/generated/schema/entity/feed/entityInfo.py +1 -1
  305. metadata/generated/schema/entity/feed/owner.py +1 -1
  306. metadata/generated/schema/entity/feed/suggestion.py +1 -1
  307. metadata/generated/schema/entity/feed/tag.py +1 -1
  308. metadata/generated/schema/entity/feed/testCaseResult.py +1 -1
  309. metadata/generated/schema/entity/feed/thread.py +1 -1
  310. metadata/generated/schema/entity/policies/__init__.py +1 -1
  311. metadata/generated/schema/entity/policies/accessControl/__init__.py +1 -1
  312. metadata/generated/schema/entity/policies/accessControl/resourceDescriptor.py +1 -1
  313. metadata/generated/schema/entity/policies/accessControl/resourcePermission.py +1 -1
  314. metadata/generated/schema/entity/policies/accessControl/rule.py +1 -1
  315. metadata/generated/schema/entity/policies/filters.py +1 -1
  316. metadata/generated/schema/entity/policies/policy.py +1 -1
  317. metadata/generated/schema/entity/services/__init__.py +1 -1
  318. metadata/generated/schema/entity/services/apiService.py +1 -1
  319. metadata/generated/schema/entity/services/connections/__init__.py +1 -1
  320. metadata/generated/schema/entity/services/connections/api/__init__.py +1 -1
  321. metadata/generated/schema/entity/services/connections/api/restConnection.py +1 -1
  322. metadata/generated/schema/entity/services/connections/common/__init__.py +1 -1
  323. metadata/generated/schema/entity/services/connections/common/sslCertPaths.py +1 -1
  324. metadata/generated/schema/entity/services/connections/common/sslCertValues.py +1 -1
  325. metadata/generated/schema/entity/services/connections/common/sslConfig.py +1 -1
  326. metadata/generated/schema/entity/services/connections/connectionBasicType.py +1 -1
  327. metadata/generated/schema/entity/services/connections/dashboard/__init__.py +1 -1
  328. metadata/generated/schema/entity/services/connections/dashboard/customDashboardConnection.py +1 -1
  329. metadata/generated/schema/entity/services/connections/dashboard/domoDashboardConnection.py +1 -1
  330. metadata/generated/schema/entity/services/connections/dashboard/lightdashConnection.py +1 -1
  331. metadata/generated/schema/entity/services/connections/dashboard/lookerConnection.py +1 -1
  332. metadata/generated/schema/entity/services/connections/dashboard/metabaseConnection.py +1 -1
  333. metadata/generated/schema/entity/services/connections/dashboard/microStrategyConnection.py +1 -1
  334. metadata/generated/schema/entity/services/connections/dashboard/modeConnection.py +1 -1
  335. metadata/generated/schema/entity/services/connections/dashboard/powerBIConnection.py +1 -1
  336. metadata/generated/schema/entity/services/connections/dashboard/powerBIReportServerConnection.py +1 -1
  337. metadata/generated/schema/entity/services/connections/dashboard/powerbi/__init__.py +1 -1
  338. metadata/generated/schema/entity/services/connections/dashboard/powerbi/azureConfig.py +1 -1
  339. metadata/generated/schema/entity/services/connections/dashboard/powerbi/bucketDetails.py +1 -1
  340. metadata/generated/schema/entity/services/connections/dashboard/powerbi/gcsConfig.py +1 -1
  341. metadata/generated/schema/entity/services/connections/dashboard/powerbi/s3Config.py +1 -1
  342. metadata/generated/schema/entity/services/connections/dashboard/qlikCloudConnection.py +1 -1
  343. metadata/generated/schema/entity/services/connections/dashboard/qlikSenseConnection.py +1 -1
  344. metadata/generated/schema/entity/services/connections/dashboard/quickSightConnection.py +1 -1
  345. metadata/generated/schema/entity/services/connections/dashboard/redashConnection.py +1 -1
  346. metadata/generated/schema/entity/services/connections/dashboard/sigmaConnection.py +1 -1
  347. metadata/generated/schema/entity/services/connections/dashboard/supersetConnection.py +1 -1
  348. metadata/generated/schema/entity/services/connections/dashboard/tableauConnection.py +1 -1
  349. metadata/generated/schema/entity/services/connections/database/__init__.py +1 -1
  350. metadata/generated/schema/entity/services/connections/database/athenaConnection.py +1 -1
  351. metadata/generated/schema/entity/services/connections/database/azureSQLConnection.py +1 -1
  352. metadata/generated/schema/entity/services/connections/database/bigQueryConnection.py +1 -1
  353. metadata/generated/schema/entity/services/connections/database/bigTableConnection.py +1 -1
  354. metadata/generated/schema/entity/services/connections/database/cassandra/__init__.py +1 -1
  355. metadata/generated/schema/entity/services/connections/database/cassandra/cloudConfig.py +1 -1
  356. metadata/generated/schema/entity/services/connections/database/cassandraConnection.py +1 -1
  357. metadata/generated/schema/entity/services/connections/database/clickhouseConnection.py +1 -1
  358. metadata/generated/schema/entity/services/connections/database/cockroachConnection.py +1 -1
  359. metadata/generated/schema/entity/services/connections/database/common/__init__.py +1 -1
  360. metadata/generated/schema/entity/services/connections/database/common/azureConfig.py +1 -1
  361. metadata/generated/schema/entity/services/connections/database/common/basicAuth.py +1 -1
  362. metadata/generated/schema/entity/services/connections/database/common/iamAuthConfig.py +1 -1
  363. metadata/generated/schema/entity/services/connections/database/common/jwtAuth.py +1 -1
  364. metadata/generated/schema/entity/services/connections/database/common/noConfigAuthenticationTypes.py +1 -1
  365. metadata/generated/schema/entity/services/connections/database/couchbaseConnection.py +1 -1
  366. metadata/generated/schema/entity/services/connections/database/customDatabaseConnection.py +1 -1
  367. metadata/generated/schema/entity/services/connections/database/databricksConnection.py +1 -1
  368. metadata/generated/schema/entity/services/connections/database/datalake/__init__.py +1 -1
  369. metadata/generated/schema/entity/services/connections/database/datalake/azureConfig.py +1 -1
  370. metadata/generated/schema/entity/services/connections/database/datalake/gcsConfig.py +1 -1
  371. metadata/generated/schema/entity/services/connections/database/datalake/s3Config.py +1 -1
  372. metadata/generated/schema/entity/services/connections/database/datalakeConnection.py +1 -1
  373. metadata/generated/schema/entity/services/connections/database/db2Connection.py +1 -1
  374. metadata/generated/schema/entity/services/connections/database/deltaLakeConnection.py +1 -1
  375. metadata/generated/schema/entity/services/connections/database/deltalake/__init__.py +1 -1
  376. metadata/generated/schema/entity/services/connections/database/deltalake/metastoreConfig.py +1 -1
  377. metadata/generated/schema/entity/services/connections/database/deltalake/storageConfig.py +1 -1
  378. metadata/generated/schema/entity/services/connections/database/domoDatabaseConnection.py +1 -1
  379. metadata/generated/schema/entity/services/connections/database/dorisConnection.py +1 -1
  380. metadata/generated/schema/entity/services/connections/database/druidConnection.py +1 -1
  381. metadata/generated/schema/entity/services/connections/database/dynamoDBConnection.py +1 -1
  382. metadata/generated/schema/entity/services/connections/database/exasolConnection.py +1 -1
  383. metadata/generated/schema/entity/services/connections/database/glueConnection.py +1 -1
  384. metadata/generated/schema/entity/services/connections/database/greenplumConnection.py +1 -1
  385. metadata/generated/schema/entity/services/connections/database/hiveConnection.py +1 -1
  386. metadata/generated/schema/entity/services/connections/database/iceberg/__init__.py +1 -1
  387. metadata/generated/schema/entity/services/connections/database/iceberg/dynamoDbCatalogConnection.py +1 -1
  388. metadata/generated/schema/entity/services/connections/database/iceberg/glueCatalogConnection.py +1 -1
  389. metadata/generated/schema/entity/services/connections/database/iceberg/hiveCatalogConnection.py +1 -1
  390. metadata/generated/schema/entity/services/connections/database/iceberg/icebergCatalog.py +1 -1
  391. metadata/generated/schema/entity/services/connections/database/iceberg/icebergFileSystem.py +1 -1
  392. metadata/generated/schema/entity/services/connections/database/iceberg/restCatalogConnection.py +1 -1
  393. metadata/generated/schema/entity/services/connections/database/icebergConnection.py +1 -1
  394. metadata/generated/schema/entity/services/connections/database/impalaConnection.py +1 -1
  395. metadata/generated/schema/entity/services/connections/database/mariaDBConnection.py +1 -1
  396. metadata/generated/schema/entity/services/connections/database/mongoDBConnection.py +1 -1
  397. metadata/generated/schema/entity/services/connections/database/mssqlConnection.py +1 -1
  398. metadata/generated/schema/entity/services/connections/database/mysqlConnection.py +1 -1
  399. metadata/generated/schema/entity/services/connections/database/oracleConnection.py +1 -1
  400. metadata/generated/schema/entity/services/connections/database/pinotDBConnection.py +1 -1
  401. metadata/generated/schema/entity/services/connections/database/postgresConnection.py +1 -1
  402. metadata/generated/schema/entity/services/connections/database/prestoConnection.py +1 -1
  403. metadata/generated/schema/entity/services/connections/database/redshiftConnection.py +1 -1
  404. metadata/generated/schema/entity/services/connections/database/salesforceConnection.py +1 -1
  405. metadata/generated/schema/entity/services/connections/database/sapErpConnection.py +1 -1
  406. metadata/generated/schema/entity/services/connections/database/sapHana/__init__.py +1 -1
  407. metadata/generated/schema/entity/services/connections/database/sapHana/sapHanaHDBConnection.py +1 -1
  408. metadata/generated/schema/entity/services/connections/database/sapHana/sapHanaSQLConnection.py +1 -1
  409. metadata/generated/schema/entity/services/connections/database/sapHanaConnection.py +1 -1
  410. metadata/generated/schema/entity/services/connections/database/sasConnection.py +1 -1
  411. metadata/generated/schema/entity/services/connections/database/singleStoreConnection.py +1 -1
  412. metadata/generated/schema/entity/services/connections/database/snowflakeConnection.py +1 -1
  413. metadata/generated/schema/entity/services/connections/database/sqliteConnection.py +1 -1
  414. metadata/generated/schema/entity/services/connections/database/synapseConnection.py +1 -1
  415. metadata/generated/schema/entity/services/connections/database/teradataConnection.py +1 -1
  416. metadata/generated/schema/entity/services/connections/database/trinoConnection.py +1 -1
  417. metadata/generated/schema/entity/services/connections/database/unityCatalogConnection.py +1 -1
  418. metadata/generated/schema/entity/services/connections/database/verticaConnection.py +1 -1
  419. metadata/generated/schema/entity/services/connections/messaging/__init__.py +1 -1
  420. metadata/generated/schema/entity/services/connections/messaging/customMessagingConnection.py +1 -1
  421. metadata/generated/schema/entity/services/connections/messaging/kafkaConnection.py +1 -1
  422. metadata/generated/schema/entity/services/connections/messaging/kinesisConnection.py +1 -1
  423. metadata/generated/schema/entity/services/connections/messaging/pulsarConnection.py +1 -1
  424. metadata/generated/schema/entity/services/connections/messaging/redpandaConnection.py +1 -1
  425. metadata/generated/schema/entity/services/connections/messaging/saslMechanismType.py +1 -1
  426. metadata/generated/schema/entity/services/connections/metadata/__init__.py +1 -1
  427. metadata/generated/schema/entity/services/connections/metadata/alationConnection.py +1 -1
  428. metadata/generated/schema/entity/services/connections/metadata/alationSinkConnection.py +1 -1
  429. metadata/generated/schema/entity/services/connections/metadata/amundsenConnection.py +1 -1
  430. metadata/generated/schema/entity/services/connections/metadata/atlasConnection.py +1 -1
  431. metadata/generated/schema/entity/services/connections/metadata/metadataESConnection.py +1 -1
  432. metadata/generated/schema/entity/services/connections/metadata/openMetadataConnection.py +1 -1
  433. metadata/generated/schema/entity/services/connections/mlmodel/__init__.py +1 -1
  434. metadata/generated/schema/entity/services/connections/mlmodel/customMlModelConnection.py +1 -1
  435. metadata/generated/schema/entity/services/connections/mlmodel/mlflowConnection.py +1 -1
  436. metadata/generated/schema/entity/services/connections/mlmodel/sageMakerConnection.py +1 -1
  437. metadata/generated/schema/entity/services/connections/mlmodel/sklearnConnection.py +1 -1
  438. metadata/generated/schema/entity/services/connections/mlmodel/vertexaiConnection.py +1 -1
  439. metadata/generated/schema/entity/services/connections/pipeline/__init__.py +1 -1
  440. metadata/generated/schema/entity/services/connections/pipeline/airbyteConnection.py +1 -1
  441. metadata/generated/schema/entity/services/connections/pipeline/airflowConnection.py +1 -1
  442. metadata/generated/schema/entity/services/connections/pipeline/backendConnection.py +1 -1
  443. metadata/generated/schema/entity/services/connections/pipeline/customPipelineConnection.py +1 -1
  444. metadata/generated/schema/entity/services/connections/pipeline/dagsterConnection.py +1 -1
  445. metadata/generated/schema/entity/services/connections/pipeline/databricksPipelineConnection.py +9 -1
  446. metadata/generated/schema/entity/services/connections/pipeline/datafactoryConnection.py +1 -1
  447. metadata/generated/schema/entity/services/connections/pipeline/dbtCloudConnection.py +1 -1
  448. metadata/generated/schema/entity/services/connections/pipeline/domoPipelineConnection.py +1 -1
  449. metadata/generated/schema/entity/services/connections/pipeline/fivetranConnection.py +1 -1
  450. metadata/generated/schema/entity/services/connections/pipeline/flinkConnection.py +1 -1
  451. metadata/generated/schema/entity/services/connections/pipeline/gluePipelineConnection.py +1 -1
  452. metadata/generated/schema/entity/services/connections/pipeline/kafkaConnectConnection.py +1 -1
  453. metadata/generated/schema/entity/services/connections/pipeline/matillion/__init__.py +1 -1
  454. metadata/generated/schema/entity/services/connections/pipeline/matillion/matillionETL.py +1 -1
  455. metadata/generated/schema/entity/services/connections/pipeline/matillionConnection.py +1 -1
  456. metadata/generated/schema/entity/services/connections/pipeline/nifi/__init__.py +1 -1
  457. metadata/generated/schema/entity/services/connections/pipeline/nifi/basicAuth.py +1 -1
  458. metadata/generated/schema/entity/services/connections/pipeline/nifi/clientCertificateAuth.py +1 -1
  459. metadata/generated/schema/entity/services/connections/pipeline/nifiConnection.py +1 -1
  460. metadata/generated/schema/entity/services/connections/pipeline/openLineageConnection.py +1 -1
  461. metadata/generated/schema/entity/services/connections/pipeline/sparkConnection.py +1 -1
  462. metadata/generated/schema/entity/services/connections/pipeline/splineConnection.py +1 -1
  463. metadata/generated/schema/entity/services/connections/pipeline/ssisConnection.py +1 -1
  464. metadata/generated/schema/entity/services/connections/pipeline/stitchConnection.py +1 -1
  465. metadata/generated/schema/entity/services/connections/pipeline/wherescapeConnection.py +1 -1
  466. metadata/generated/schema/entity/services/connections/search/__init__.py +1 -1
  467. metadata/generated/schema/entity/services/connections/search/customSearchConnection.py +1 -1
  468. metadata/generated/schema/entity/services/connections/search/elasticSearch/__init__.py +1 -1
  469. metadata/generated/schema/entity/services/connections/search/elasticSearch/apiAuth.py +1 -1
  470. metadata/generated/schema/entity/services/connections/search/elasticSearch/basicAuth.py +1 -1
  471. metadata/generated/schema/entity/services/connections/search/elasticSearchConnection.py +1 -1
  472. metadata/generated/schema/entity/services/connections/search/openSearchConnection.py +1 -1
  473. metadata/generated/schema/entity/services/connections/serviceConnection.py +1 -1
  474. metadata/generated/schema/entity/services/connections/storage/__init__.py +1 -1
  475. metadata/generated/schema/entity/services/connections/storage/adlsConnection.py +1 -1
  476. metadata/generated/schema/entity/services/connections/storage/customStorageConnection.py +1 -1
  477. metadata/generated/schema/entity/services/connections/storage/gcsConnection.py +1 -1
  478. metadata/generated/schema/entity/services/connections/storage/s3Connection.py +1 -1
  479. metadata/generated/schema/entity/services/connections/testConnectionDefinition.py +1 -1
  480. metadata/generated/schema/entity/services/connections/testConnectionResult.py +1 -1
  481. metadata/generated/schema/entity/services/dashboardService.py +1 -1
  482. metadata/generated/schema/entity/services/databaseService.py +1 -1
  483. metadata/generated/schema/entity/services/ingestionPipelines/__init__.py +1 -1
  484. metadata/generated/schema/entity/services/ingestionPipelines/ingestionPipeline.py +1 -1
  485. metadata/generated/schema/entity/services/ingestionPipelines/pipelineServiceClientResponse.py +1 -1
  486. metadata/generated/schema/entity/services/ingestionPipelines/reverseIngestionResponse.py +1 -1
  487. metadata/generated/schema/entity/services/ingestionPipelines/status.py +1 -1
  488. metadata/generated/schema/entity/services/messagingService.py +1 -1
  489. metadata/generated/schema/entity/services/metadataService.py +1 -1
  490. metadata/generated/schema/entity/services/mlmodelService.py +1 -1
  491. metadata/generated/schema/entity/services/pipelineService.py +1 -1
  492. metadata/generated/schema/entity/services/searchService.py +1 -1
  493. metadata/generated/schema/entity/services/serviceType.py +1 -1
  494. metadata/generated/schema/entity/services/storageService.py +1 -1
  495. metadata/generated/schema/entity/teams/__init__.py +1 -1
  496. metadata/generated/schema/entity/teams/persona.py +1 -1
  497. metadata/generated/schema/entity/teams/role.py +1 -1
  498. metadata/generated/schema/entity/teams/team.py +1 -1
  499. metadata/generated/schema/entity/teams/teamHierarchy.py +1 -1
  500. metadata/generated/schema/entity/teams/user.py +1 -1
  501. metadata/generated/schema/entity/type.py +1 -1
  502. metadata/generated/schema/entity/utils/__init__.py +1 -1
  503. metadata/generated/schema/entity/utils/entitiesCount.py +1 -1
  504. metadata/generated/schema/entity/utils/servicesCount.py +1 -1
  505. metadata/generated/schema/entity/utils/supersetApiConnection.py +1 -1
  506. metadata/generated/schema/events/__init__.py +1 -1
  507. metadata/generated/schema/events/alertMetrics.py +1 -1
  508. metadata/generated/schema/events/api/__init__.py +1 -1
  509. metadata/generated/schema/events/api/createEventSubscription.py +1 -1
  510. metadata/generated/schema/events/api/eventSubscriptionDiagnosticInfo.py +1 -1
  511. metadata/generated/schema/events/api/eventsRecord.py +1 -1
  512. metadata/generated/schema/events/api/testEventSubscriptionDestination.py +1 -1
  513. metadata/generated/schema/events/api/typedEvent.py +1 -1
  514. metadata/generated/schema/events/emailAlertConfig.py +1 -1
  515. metadata/generated/schema/events/eventFilterRule.py +1 -1
  516. metadata/generated/schema/events/eventSubscription.py +1 -1
  517. metadata/generated/schema/events/eventSubscriptionOffset.py +1 -1
  518. metadata/generated/schema/events/failedEvent.py +1 -1
  519. metadata/generated/schema/events/failedEventResponse.py +1 -1
  520. metadata/generated/schema/events/filterResourceDescriptor.py +1 -1
  521. metadata/generated/schema/events/statusContext.py +1 -1
  522. metadata/generated/schema/events/subscriptionResourceDescriptor.py +1 -1
  523. metadata/generated/schema/events/subscriptionStatus.py +1 -1
  524. metadata/generated/schema/events/testDestinationStatus.py +1 -1
  525. metadata/generated/schema/governance/workflows/__init__.py +1 -1
  526. metadata/generated/schema/governance/workflows/elements/__init__.py +1 -1
  527. metadata/generated/schema/governance/workflows/elements/edge.py +1 -1
  528. metadata/generated/schema/governance/workflows/elements/nodeSubType.py +1 -1
  529. metadata/generated/schema/governance/workflows/elements/nodeType.py +1 -1
  530. metadata/generated/schema/governance/workflows/elements/nodes/__init__.py +1 -1
  531. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/__init__.py +1 -1
  532. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/checkEntityAttributesTask.py +1 -1
  533. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/createAndRunIngestionPipelineTask.py +1 -1
  534. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/runAppTask.py +1 -1
  535. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/setEntityCertificationTask.py +1 -1
  536. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/setGlossaryTermStatusTask.py +1 -1
  537. metadata/generated/schema/governance/workflows/elements/nodes/endEvent/__init__.py +1 -1
  538. metadata/generated/schema/governance/workflows/elements/nodes/endEvent/endEvent.py +1 -1
  539. metadata/generated/schema/governance/workflows/elements/nodes/gateway/__init__.py +1 -1
  540. metadata/generated/schema/governance/workflows/elements/nodes/gateway/parallelGateway.py +1 -1
  541. metadata/generated/schema/governance/workflows/elements/nodes/startEvent/__init__.py +1 -1
  542. metadata/generated/schema/governance/workflows/elements/nodes/startEvent/startEvent.py +1 -1
  543. metadata/generated/schema/governance/workflows/elements/nodes/userTask/__init__.py +1 -1
  544. metadata/generated/schema/governance/workflows/elements/nodes/userTask/userApprovalTask.py +1 -1
  545. metadata/generated/schema/governance/workflows/elements/triggers/__init__.py +1 -1
  546. metadata/generated/schema/governance/workflows/elements/triggers/eventBasedEntityTrigger.py +1 -1
  547. metadata/generated/schema/governance/workflows/elements/triggers/noOpTrigger.py +1 -1
  548. metadata/generated/schema/governance/workflows/elements/triggers/periodicBatchEntityTrigger.py +1 -1
  549. metadata/generated/schema/governance/workflows/workflowDefinition.py +1 -1
  550. metadata/generated/schema/governance/workflows/workflowInstance.py +1 -1
  551. metadata/generated/schema/governance/workflows/workflowInstanceState.py +1 -1
  552. metadata/generated/schema/jobs/__init__.py +1 -1
  553. metadata/generated/schema/jobs/backgroundJob.py +1 -1
  554. metadata/generated/schema/jobs/enumCleanupArgs.py +1 -1
  555. metadata/generated/schema/metadataIngestion/__init__.py +1 -1
  556. metadata/generated/schema/metadataIngestion/apiServiceMetadataPipeline.py +1 -1
  557. metadata/generated/schema/metadataIngestion/application.py +1 -1
  558. metadata/generated/schema/metadataIngestion/applicationPipeline.py +1 -1
  559. metadata/generated/schema/metadataIngestion/dashboardServiceMetadataPipeline.py +1 -1
  560. metadata/generated/schema/metadataIngestion/dataInsightPipeline.py +1 -1
  561. metadata/generated/schema/metadataIngestion/databaseServiceAutoClassificationPipeline.py +1 -1
  562. metadata/generated/schema/metadataIngestion/databaseServiceMetadataPipeline.py +1 -1
  563. metadata/generated/schema/metadataIngestion/databaseServiceProfilerPipeline.py +1 -1
  564. metadata/generated/schema/metadataIngestion/databaseServiceQueryLineagePipeline.py +1 -1
  565. metadata/generated/schema/metadataIngestion/databaseServiceQueryUsagePipeline.py +1 -1
  566. metadata/generated/schema/metadataIngestion/dbtPipeline.py +1 -1
  567. metadata/generated/schema/metadataIngestion/dbtconfig/__init__.py +1 -1
  568. metadata/generated/schema/metadataIngestion/dbtconfig/dbtAzureConfig.py +1 -1
  569. metadata/generated/schema/metadataIngestion/dbtconfig/dbtBucketDetails.py +1 -1
  570. metadata/generated/schema/metadataIngestion/dbtconfig/dbtCloudConfig.py +1 -1
  571. metadata/generated/schema/metadataIngestion/dbtconfig/dbtGCSConfig.py +1 -1
  572. metadata/generated/schema/metadataIngestion/dbtconfig/dbtHttpConfig.py +1 -1
  573. metadata/generated/schema/metadataIngestion/dbtconfig/dbtLocalConfig.py +1 -1
  574. metadata/generated/schema/metadataIngestion/dbtconfig/dbtS3Config.py +1 -1
  575. metadata/generated/schema/metadataIngestion/messagingServiceMetadataPipeline.py +1 -1
  576. metadata/generated/schema/metadataIngestion/metadataToElasticSearchPipeline.py +1 -1
  577. metadata/generated/schema/metadataIngestion/mlmodelServiceMetadataPipeline.py +1 -1
  578. metadata/generated/schema/metadataIngestion/pipelineServiceMetadataPipeline.py +1 -1
  579. metadata/generated/schema/metadataIngestion/reverseIngestionPipeline.py +1 -1
  580. metadata/generated/schema/metadataIngestion/reverseingestionconfig/__init__.py +1 -1
  581. metadata/generated/schema/metadataIngestion/reverseingestionconfig/descriptionConfig.py +1 -1
  582. metadata/generated/schema/metadataIngestion/reverseingestionconfig/ownerConfig.py +1 -1
  583. metadata/generated/schema/metadataIngestion/reverseingestionconfig/tagsConfig.py +1 -1
  584. metadata/generated/schema/metadataIngestion/searchServiceMetadataPipeline.py +1 -1
  585. metadata/generated/schema/metadataIngestion/storage/__init__.py +1 -1
  586. metadata/generated/schema/metadataIngestion/storage/containerMetadataConfig.py +1 -1
  587. metadata/generated/schema/metadataIngestion/storage/manifestMetadataConfig.py +1 -1
  588. metadata/generated/schema/metadataIngestion/storage/storageBucketDetails.py +1 -1
  589. metadata/generated/schema/metadataIngestion/storage/storageMetadataADLSConfig.py +1 -1
  590. metadata/generated/schema/metadataIngestion/storage/storageMetadataGCSConfig.py +1 -1
  591. metadata/generated/schema/metadataIngestion/storage/storageMetadataHttpConfig.py +1 -1
  592. metadata/generated/schema/metadataIngestion/storage/storageMetadataLocalConfig.py +1 -1
  593. metadata/generated/schema/metadataIngestion/storage/storageMetadataS3Config.py +1 -1
  594. metadata/generated/schema/metadataIngestion/storageServiceMetadataPipeline.py +1 -1
  595. metadata/generated/schema/metadataIngestion/testSuitePipeline.py +1 -1
  596. metadata/generated/schema/metadataIngestion/workflow.py +1 -1
  597. metadata/generated/schema/monitoring/__init__.py +1 -1
  598. metadata/generated/schema/monitoring/eventMonitorProvider.py +1 -1
  599. metadata/generated/schema/scim/__init__.py +1 -1
  600. metadata/generated/schema/scim/scimConfiguration.py +1 -1
  601. metadata/generated/schema/search/__init__.py +1 -1
  602. metadata/generated/schema/search/aggregationRequest.py +1 -1
  603. metadata/generated/schema/search/searchRequest.py +1 -1
  604. metadata/generated/schema/security/__init__.py +1 -1
  605. metadata/generated/schema/security/client/__init__.py +1 -1
  606. metadata/generated/schema/security/client/auth0SSOClientConfig.py +1 -1
  607. metadata/generated/schema/security/client/azureSSOClientConfig.py +1 -1
  608. metadata/generated/schema/security/client/customOidcSSOClientConfig.py +1 -1
  609. metadata/generated/schema/security/client/googleSSOClientConfig.py +1 -1
  610. metadata/generated/schema/security/client/oidcClientConfig.py +1 -1
  611. metadata/generated/schema/security/client/oktaSSOClientConfig.py +1 -1
  612. metadata/generated/schema/security/client/openMetadataJWTClientConfig.py +1 -1
  613. metadata/generated/schema/security/client/samlSSOClientConfig.py +1 -1
  614. metadata/generated/schema/security/credentials/__init__.py +1 -1
  615. metadata/generated/schema/security/credentials/accessTokenAuth.py +1 -1
  616. metadata/generated/schema/security/credentials/apiAccessTokenAuth.py +1 -1
  617. metadata/generated/schema/security/credentials/awsCredentials.py +1 -1
  618. metadata/generated/schema/security/credentials/azureCredentials.py +1 -1
  619. metadata/generated/schema/security/credentials/basicAuth.py +1 -1
  620. metadata/generated/schema/security/credentials/bitbucketCredentials.py +1 -1
  621. metadata/generated/schema/security/credentials/gcpCredentials.py +1 -1
  622. metadata/generated/schema/security/credentials/gcpExternalAccount.py +1 -1
  623. metadata/generated/schema/security/credentials/gcpValues.py +1 -1
  624. metadata/generated/schema/security/credentials/gitCredentials.py +1 -1
  625. metadata/generated/schema/security/credentials/githubCredentials.py +1 -1
  626. metadata/generated/schema/security/credentials/gitlabCredentials.py +1 -1
  627. metadata/generated/schema/security/sasl/__init__.py +1 -1
  628. metadata/generated/schema/security/sasl/saslClientConfig.py +1 -1
  629. metadata/generated/schema/security/secrets/__init__.py +1 -1
  630. metadata/generated/schema/security/secrets/secretsManagerClientLoader.py +1 -1
  631. metadata/generated/schema/security/secrets/secretsManagerConfiguration.py +1 -1
  632. metadata/generated/schema/security/secrets/secretsManagerProvider.py +1 -1
  633. metadata/generated/schema/security/securityConfiguration.py +1 -1
  634. metadata/generated/schema/security/ssl/__init__.py +1 -1
  635. metadata/generated/schema/security/ssl/validateSSLClientConfig.py +1 -1
  636. metadata/generated/schema/security/ssl/verifySSLConfig.py +1 -1
  637. metadata/generated/schema/settings/__init__.py +1 -1
  638. metadata/generated/schema/settings/settings.py +1 -1
  639. metadata/generated/schema/system/__init__.py +1 -1
  640. metadata/generated/schema/system/entityError.py +1 -1
  641. metadata/generated/schema/system/eventPublisherJob.py +1 -1
  642. metadata/generated/schema/system/indexingError.py +1 -1
  643. metadata/generated/schema/system/limitsResponse.py +1 -1
  644. metadata/generated/schema/system/ui/__init__.py +1 -1
  645. metadata/generated/schema/system/ui/knowledgePanel.py +1 -1
  646. metadata/generated/schema/system/ui/navigationItem.py +1 -1
  647. metadata/generated/schema/system/ui/page.py +1 -1
  648. metadata/generated/schema/system/ui/tab.py +1 -1
  649. metadata/generated/schema/system/ui/uiCustomization.py +1 -1
  650. metadata/generated/schema/system/validationResponse.py +1 -1
  651. metadata/generated/schema/tests/__init__.py +1 -1
  652. metadata/generated/schema/tests/assigned.py +1 -1
  653. metadata/generated/schema/tests/basic.py +1 -1
  654. metadata/generated/schema/tests/customMetric.py +1 -1
  655. metadata/generated/schema/tests/dataQualityReport.py +1 -1
  656. metadata/generated/schema/tests/resolved.py +1 -1
  657. metadata/generated/schema/tests/testCase.py +1 -1
  658. metadata/generated/schema/tests/testCaseResolutionStatus.py +1 -1
  659. metadata/generated/schema/tests/testDefinition.py +1 -1
  660. metadata/generated/schema/tests/testSuite.py +1 -1
  661. metadata/generated/schema/type/__init__.py +1 -1
  662. metadata/generated/schema/type/apiSchema.py +1 -1
  663. metadata/generated/schema/type/assetCertification.py +1 -1
  664. metadata/generated/schema/type/auditLog.py +1 -1
  665. metadata/generated/schema/type/basic.py +1 -1
  666. metadata/generated/schema/type/bulkOperationResult.py +1 -1
  667. metadata/generated/schema/type/changeEvent.py +1 -1
  668. metadata/generated/schema/type/changeEventType.py +1 -1
  669. metadata/generated/schema/type/changeSummaryMap.py +1 -1
  670. metadata/generated/schema/type/collectionDescriptor.py +1 -1
  671. metadata/generated/schema/type/csvDocumentation.py +1 -1
  672. metadata/generated/schema/type/csvErrorType.py +1 -1
  673. metadata/generated/schema/type/csvFile.py +1 -1
  674. metadata/generated/schema/type/csvImportResult.py +1 -1
  675. metadata/generated/schema/type/customProperties/__init__.py +1 -1
  676. metadata/generated/schema/type/customProperties/complexTypes.py +1 -1
  677. metadata/generated/schema/type/customProperties/enumConfig.py +1 -1
  678. metadata/generated/schema/type/customProperties/tableConfig.py +1 -1
  679. metadata/generated/schema/type/customProperty.py +1 -1
  680. metadata/generated/schema/type/dailyCount.py +1 -1
  681. metadata/generated/schema/type/databaseConnectionConfig.py +1 -1
  682. metadata/generated/schema/type/entityHierarchy.py +1 -1
  683. metadata/generated/schema/type/entityHistory.py +1 -1
  684. metadata/generated/schema/type/entityLineage.py +1 -1
  685. metadata/generated/schema/type/entityReference.py +1 -1
  686. metadata/generated/schema/type/entityReferenceList.py +1 -1
  687. metadata/generated/schema/type/entityRelationship.py +1 -1
  688. metadata/generated/schema/type/entityUsage.py +1 -1
  689. metadata/generated/schema/type/filterPattern.py +1 -1
  690. metadata/generated/schema/type/function.py +1 -1
  691. metadata/generated/schema/type/include.py +1 -1
  692. metadata/generated/schema/type/jdbcConnection.py +1 -1
  693. metadata/generated/schema/type/lifeCycle.py +1 -1
  694. metadata/generated/schema/type/paging.py +1 -1
  695. metadata/generated/schema/type/profile.py +1 -1
  696. metadata/generated/schema/type/queryParserData.py +1 -1
  697. metadata/generated/schema/type/reaction.py +1 -1
  698. metadata/generated/schema/type/schedule.py +1 -1
  699. metadata/generated/schema/type/schema.py +1 -1
  700. metadata/generated/schema/type/tableQuery.py +1 -1
  701. metadata/generated/schema/type/tableUsageCount.py +1 -1
  702. metadata/generated/schema/type/tagLabel.py +1 -1
  703. metadata/generated/schema/type/usageDetails.py +1 -1
  704. metadata/generated/schema/type/usageRequest.py +1 -1
  705. metadata/generated/schema/type/votes.py +1 -1
  706. metadata/ingestion/source/api/rest/metadata.py +49 -8
  707. metadata/ingestion/source/dashboard/qlikcloud/client.py +34 -2
  708. metadata/ingestion/source/dashboard/qlikcloud/constants.py +6 -0
  709. metadata/ingestion/source/dashboard/qlikcloud/models.py +8 -0
  710. metadata/ingestion/source/dashboard/tableau/metadata.py +44 -7
  711. metadata/ingestion/source/database/databricks/client.py +149 -14
  712. metadata/ingestion/source/database/databricks/queries.py +26 -0
  713. metadata/ingestion/source/database/postgres/metadata.py +16 -4
  714. metadata/ingestion/source/database/postgres/models.py +1 -0
  715. metadata/ingestion/source/database/postgres/queries.py +7 -4
  716. metadata/ingestion/source/pipeline/databrickspipeline/connection.py +26 -2
  717. metadata/ingestion/source/pipeline/databrickspipeline/metadata.py +175 -13
  718. metadata/pii/algorithms/classifiers.py +0 -1
  719. metadata/pii/algorithms/presidio_patches.py +8 -1
  720. metadata/sampler/sqlalchemy/databricks/sampler.py +5 -1
  721. metadata/sampler/sqlalchemy/sampler.py +20 -4
  722. metadata/sampler/sqlalchemy/unitycatalog/sampler.py +5 -1
  723. {openmetadata_ingestion-1.8.0.0.dist-info → openmetadata_ingestion-1.8.1.0.dist-info}/METADATA +525 -525
  724. {openmetadata_ingestion-1.8.0.0.dist-info → openmetadata_ingestion-1.8.1.0.dist-info}/RECORD +728 -728
  725. {openmetadata_ingestion-1.8.0.0.dist-info → openmetadata_ingestion-1.8.1.0.dist-info}/LICENSE +0 -0
  726. {openmetadata_ingestion-1.8.0.0.dist-info → openmetadata_ingestion-1.8.1.0.dist-info}/WHEEL +0 -0
  727. {openmetadata_ingestion-1.8.0.0.dist-info → openmetadata_ingestion-1.8.1.0.dist-info}/entry_points.txt +0 -0
  728. {openmetadata_ingestion-1.8.0.0.dist-info → openmetadata_ingestion-1.8.1.0.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: type/reaction.json
3
- # timestamp: 2025-06-24T04:55:53+00:00
3
+ # timestamp: 2025-07-01T14:19:32+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: type/schedule.json
3
- # timestamp: 2025-06-24T04:55:53+00:00
3
+ # timestamp: 2025-07-01T14:19:32+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: type/schema.json
3
- # timestamp: 2025-06-24T04:55:53+00:00
3
+ # timestamp: 2025-07-01T14:19:32+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: type/tableQuery.json
3
- # timestamp: 2025-06-24T04:55:53+00:00
3
+ # timestamp: 2025-07-01T14:19:32+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: type/tableUsageCount.json
3
- # timestamp: 2025-06-24T04:55:53+00:00
3
+ # timestamp: 2025-07-01T14:19:32+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: type/tagLabel.json
3
- # timestamp: 2025-06-24T04:55:53+00:00
3
+ # timestamp: 2025-07-01T14:19:32+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: type/usageDetails.json
3
- # timestamp: 2025-06-24T04:55:53+00:00
3
+ # timestamp: 2025-07-01T14:19:32+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: type/usageRequest.json
3
- # timestamp: 2025-06-24T04:55:53+00:00
3
+ # timestamp: 2025-07-01T14:19:32+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: type/votes.json
3
- # timestamp: 2025-06-24T04:55:53+00:00
3
+ # timestamp: 2025-07-01T14:19:32+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -300,38 +300,79 @@ class RestSource(ApiServiceSource):
300
300
  logger.warning(f"Error while parsing response schema: {err}")
301
301
  return None
302
302
 
303
- def process_schema_fields(self, schema_ref: str) -> Optional[List[FieldModel]]:
303
+ def process_schema_fields(
304
+ self, schema_ref: str, parent_refs: Optional[List[str]] = None
305
+ ) -> Optional[List[FieldModel]]:
304
306
  try:
307
+ if parent_refs is None:
308
+ parent_refs = []
305
309
  schema_name = schema_ref.split("/")[-1]
306
310
  schema_fields = (
307
311
  self.json_response.get("components").get("schemas").get(schema_name)
308
312
  )
309
-
313
+ parent_refs.append(schema_ref)
310
314
  fetched_fields = []
311
315
  for key, val in schema_fields.get("properties", {}).items():
312
316
  dtype = val.get("type")
313
317
  if dtype:
318
+ dtype = "INT" if dtype.upper() == "INTEGER" else dtype
314
319
  parsed_dtype = (
315
320
  DataTypeTopic[dtype.upper()]
316
321
  if dtype.upper() in DataTypeTopic.__members__
317
322
  else DataTypeTopic.UNKNOWN
318
323
  )
319
- fetched_fields.append(FieldModel(name=key, dataType=parsed_dtype))
324
+ children = None
325
+ if parsed_dtype.value == DataTypeTopic.ARRAY.value:
326
+ # If field of array type then parse children
327
+ children_ref = val.get("items", {}).get("$ref")
328
+ if children_ref:
329
+ # check infinite recursion by checking pre-processed schemas(parent_refs)
330
+ if children_ref not in parent_refs:
331
+ logger.debug(
332
+ f"Processing array fields inside schema: {children_ref}"
333
+ )
334
+ children = self.process_schema_fields(
335
+ children_ref, parent_refs
336
+ )
337
+ logger.debug(
338
+ f"Completed processing array fields inside schema: {children_ref}"
339
+ )
340
+ else:
341
+ logger.debug(
342
+ f"Skipping array fields inside schema: {children_ref} to avoid infinite recursion"
343
+ )
344
+ fetched_fields.append(
345
+ FieldModel(name=key, dataType=parsed_dtype, children=children)
346
+ )
320
347
  else:
321
348
  # If type of field is not defined then check for sub-schema
322
349
  # Check if it's `object` type field
323
- # check infinite recrusrion by comparing with parent(schema_ref)
324
- object_children = None
325
- if val.get("$ref") and val.get("$ref") != schema_ref:
326
- object_children = self.process_schema_fields(val.get("$ref"))
350
+ children = None
351
+ if val.get("$ref"):
352
+ # check infinite recursion by checking pre-processed schemas(parent_refs)
353
+ if val.get("$ref") not in parent_refs:
354
+ children = self.process_schema_fields(
355
+ val.get("$ref"), parent_refs
356
+ )
357
+ else:
358
+ logger.debug(
359
+ f"Skipping object fields inside schema: {val.get('$ref')} to avoid infinite recursion"
360
+ )
327
361
  fetched_fields.append(
328
362
  FieldModel(
329
363
  name=key,
330
364
  dataType=DataTypeTopic.UNKNOWN,
331
- children=object_children,
365
+ children=children,
332
366
  )
333
367
  )
368
+ if parent_refs and (schema_ref in parent_refs):
369
+ parent_refs.pop()
334
370
  return fetched_fields
335
371
  except Exception as err:
336
372
  logger.warning(f"Error while processing schema fields: {err}")
373
+ if parent_refs and (schema_ref in parent_refs):
374
+ parent_refs.pop()
375
+ logger.debug(
376
+ f"Popping {schema_ref} from parent_refs due to processing error"
377
+ )
337
378
  return None
@@ -12,6 +12,7 @@
12
12
  REST Auth & Client for QlikCloud
13
13
  """
14
14
  import json
15
+ import re
15
16
  import traceback
16
17
  from typing import Dict, Iterable, List, Optional
17
18
 
@@ -23,12 +24,14 @@ from metadata.ingestion.source.dashboard.qlikcloud.constants import (
23
24
  APP_LOADMODEL_REQ,
24
25
  CREATE_SHEET_SESSION,
25
26
  GET_LOADMODEL_LAYOUT,
27
+ GET_SCRIPT,
26
28
  GET_SHEET_LAYOUT,
27
29
  OPEN_DOC_REQ,
28
30
  )
29
31
  from metadata.ingestion.source.dashboard.qlikcloud.models import (
30
32
  QlikApp,
31
33
  QlikAppResponse,
34
+ QlikScriptResult,
32
35
  QlikSpace,
33
36
  QlikSpaceResponse,
34
37
  )
@@ -173,12 +176,18 @@ class QlikCloudClient:
173
176
  models = self._websocket_send_request(GET_LOADMODEL_LAYOUT, response=True)
174
177
  data_models = QlikDataModelResult(**models)
175
178
  layout = data_models.result.qLayout
179
+ parsed_datamodels = []
176
180
  if isinstance(layout, list):
177
181
  tables = []
178
182
  for layout in data_models.result.qLayout:
179
183
  tables.extend(layout.value.tables)
180
- return tables
181
- return layout.tables
184
+ parsed_datamodels.extend(tables)
185
+ else:
186
+ parsed_datamodels.extend(layout.tables)
187
+ script_tables = self.get_script_tables()
188
+ if script_tables:
189
+ parsed_datamodels.extend(script_tables)
190
+ return parsed_datamodels
182
191
  except Exception:
183
192
  logger.debug(traceback.format_exc())
184
193
  logger.warning("Failed to fetch the dashboard datamodels")
@@ -204,3 +213,26 @@ class QlikCloudClient:
204
213
  except Exception:
205
214
  logger.debug(traceback.format_exc())
206
215
  logger.warning("Failed to fetch the space list")
216
+
217
+ def get_script_tables(self) -> Optional[List[QlikTable]]:
218
+ """Get script tables from the dashboard script"""
219
+ script_tables = []
220
+ try:
221
+ script_response = self._websocket_send_request(GET_SCRIPT, response=True)
222
+ script_result = QlikScriptResult(**script_response)
223
+ if script_result.result.qScript:
224
+ script_value = script_result.result.qScript
225
+ matches = re.findall(
226
+ r'FROM\s+["\']?([a-zA-Z0-9_.]+)["\']?', script_value, re.IGNORECASE
227
+ )
228
+ if isinstance(matches, list):
229
+ for table in matches:
230
+ table_name = table.split(".")[-1]
231
+ script_tables.append(QlikTable(tableName=table_name))
232
+ if not script_tables:
233
+ logger.warning("No script tables found")
234
+ return script_tables
235
+ except Exception:
236
+ logger.debug(traceback.format_exc())
237
+ logger.warning("Failed to fetch the script tables")
238
+ return script_tables
@@ -64,3 +64,9 @@ GET_LOADMODEL_LAYOUT = {
64
64
  "id": 5,
65
65
  "jsonrpc": "2.0",
66
66
  }
67
+ GET_SCRIPT = {
68
+ "handle": 3,
69
+ "method": "GetScript",
70
+ "id": 1,
71
+ "jsonrpc": "2.0",
72
+ }
@@ -84,3 +84,11 @@ class QlikAppResponse(BaseModel):
84
84
 
85
85
  apps: Optional[List[QlikApp]] = Field(None, alias="data")
86
86
  links: Optional[QlikLinks] = None
87
+
88
+
89
+ class QlikScript(BaseModel):
90
+ qScript: Optional[str] = None
91
+
92
+
93
+ class QlikScriptResult(BaseModel):
94
+ result: Optional[QlikScript] = QlikScript()
@@ -11,6 +11,7 @@
11
11
  """
12
12
  Tableau source module
13
13
  """
14
+ # pylint: disable=too-many-lines
14
15
  import traceback
15
16
  from datetime import datetime
16
17
  from typing import Any, Iterable, List, Optional, Set
@@ -62,7 +63,10 @@ from metadata.ingestion.api.models import Either
62
63
  from metadata.ingestion.api.steps import InvalidSourceException
63
64
  from metadata.ingestion.lineage.models import ConnectionTypeDialectMapper, Dialect
64
65
  from metadata.ingestion.lineage.parser import LineageParser
65
- from metadata.ingestion.lineage.sql_lineage import get_column_fqn
66
+ from metadata.ingestion.lineage.sql_lineage import (
67
+ get_column_fqn,
68
+ get_table_fqn_from_query_name,
69
+ )
66
70
  from metadata.ingestion.models.ometa_classification import OMetaTagAndClassification
67
71
  from metadata.ingestion.ometa.ometa_api import OpenMetadata
68
72
  from metadata.ingestion.source.dashboard.dashboard_service import (
@@ -157,13 +161,13 @@ class TableauSource(DashboardServiceSource):
157
161
  return None
158
162
 
159
163
  @staticmethod
160
- def _get_data_models_tags(dataModels: List[DataSource]) -> Set[str]:
164
+ def _get_data_models_tags(data_models: List[DataSource]) -> Set[str]:
161
165
  """
162
166
  Get the tags from the data model in the upstreamDatasources
163
167
  """
164
168
  tags = set()
165
169
  try:
166
- for data_model in dataModels:
170
+ for data_model in data_models:
167
171
  # tags seems to be available for upstreamDatasources only, not for dataModels
168
172
  for upstream_source in data_model.upstreamDatasources or []:
169
173
  for tag in upstream_source.tags:
@@ -191,7 +195,7 @@ class TableauSource(DashboardServiceSource):
191
195
  _all_tags = tags.union(_data_models_tags)
192
196
 
193
197
  yield from get_ometa_tag_and_classification(
194
- tags=[tag for tag in _all_tags],
198
+ tags=list(_all_tags),
195
199
  classification_name=TABLEAU_TAG_CATEGORY,
196
200
  tag_description="Tableau Tag",
197
201
  classification_description="Tags associated with tableau entities",
@@ -370,6 +374,7 @@ class TableauSource(DashboardServiceSource):
370
374
  columns.append(child_column.fullyQualifiedName.root)
371
375
  return columns
372
376
 
377
+ # pylint: disable=arguments-differ
373
378
  def _get_column_lineage(
374
379
  self,
375
380
  upstream_table: UpstreamTable,
@@ -562,6 +567,7 @@ class TableauSource(DashboardServiceSource):
562
567
 
563
568
  return datamodel_column_lineage or None
564
569
 
570
+ # pylint: disable=too-many-locals,too-many-nested-blocks
565
571
  def _get_datamodel_table_lineage(
566
572
  self,
567
573
  datamodel: DataSource,
@@ -644,7 +650,8 @@ class TableauSource(DashboardServiceSource):
644
650
  )
645
651
  if not from_entities:
646
652
  logger.debug(
647
- f"No table entities found for custom SQL lineage. fqn_search_string={fqn_search_string}, table_name={table_name}, query={query}"
653
+ "No table entities found for custom SQL lineage."
654
+ f"fqn_search_string={fqn_search_string}, table_name={table_name}, query={query}"
648
655
  )
649
656
  for table_entity in from_entities:
650
657
  yield self._get_add_lineage_request(
@@ -817,8 +824,36 @@ class TableauSource(DashboardServiceSource):
817
824
  )
818
825
  if table_entity:
819
826
  return [TableAndQuery(table=table_entity)]
827
+
828
+ # fallback to fullName if schema name is not appropriate
829
+ # TODO: We should make this a primary approach for lineage instead
830
+ # using this strategy as a fallback.
831
+ if not table.fullName:
832
+ logger.debug(
833
+ "No table entity found for lineage using GraphQL APIs."
834
+ f"fqn_search_string={fqn_search_string}, table_name={table_name}"
835
+ )
836
+ return None
837
+ # fullname is in the format of [database].[schema].[table] or [database].[table] or [table]
838
+ database_query, schema_query, table_query = get_table_fqn_from_query_name(
839
+ table.fullName.replace("[", "").replace("]", "")
840
+ )
841
+ if table_query:
842
+ fqn_search_string = build_es_fqn_search_string(
843
+ database_name=database_query,
844
+ schema_name=schema_query,
845
+ service_name=db_service_name or "*",
846
+ table_name=table_query,
847
+ )
848
+ table_entity = self.metadata.search_in_any_service(
849
+ entity_type=Table,
850
+ fqn_search_string=fqn_search_string,
851
+ )
852
+ if table_entity:
853
+ return [TableAndQuery(table=table_entity)]
820
854
  logger.debug(
821
- f"No table entity found for lineage using GraphQL APIs. fqn_search_string={fqn_search_string}, table_name={table_name}"
855
+ "No table entity found for lineage using GraphQL APIs."
856
+ f"fqn_search_string={fqn_search_string}, table_name={table_name}"
822
857
  )
823
858
  except Exception as exc:
824
859
  logger.debug(traceback.format_exc())
@@ -875,7 +910,9 @@ class TableauSource(DashboardServiceSource):
875
910
  )
876
911
  if not from_entities:
877
912
  logger.debug(
878
- f"No table entities found for lineage using SQL Queries. fqn_search_string={fqn_search_string}, table_name={table_name}, query={custom_sql_table.query}"
913
+ "No table entities found for lineage using SQL Queries."
914
+ f"fqn_search_string={fqn_search_string}, "
915
+ f"table_name={table_name}, query={custom_sql_table.query}"
879
916
  )
880
917
  tables_list.extend(
881
918
  [
@@ -14,14 +14,23 @@ Client to interact with databricks apis
14
14
  import json
15
15
  import traceback
16
16
  from datetime import timedelta
17
- from typing import Iterable, List
17
+ from typing import Iterable, List, Optional, Tuple, Union
18
18
 
19
19
  import requests
20
+ from sqlalchemy import text
21
+ from sqlalchemy.engine import Engine
20
22
 
21
23
  from metadata.generated.schema.entity.services.connections.database.databricksConnection import (
22
24
  DatabricksConnection,
23
25
  )
26
+ from metadata.generated.schema.entity.services.connections.pipeline.databricksPipelineConnection import (
27
+ DatabricksPipelineConnection,
28
+ )
24
29
  from metadata.ingestion.ometa.client import APIError
30
+ from metadata.ingestion.source.database.databricks.queries import (
31
+ DATABRICKS_GET_COLUMN_LINEAGE_FOR_JOB,
32
+ DATABRICKS_GET_TABLE_LINEAGE_FOR_JOB,
33
+ )
25
34
  from metadata.utils.constants import QUERY_WITH_DBT, QUERY_WITH_OM_VERSION
26
35
  from metadata.utils.helpers import datetime_to_ts
27
36
  from metadata.utils.logger import ingestion_logger
@@ -30,6 +39,8 @@ logger = ingestion_logger()
30
39
  API_TIMEOUT = 10
31
40
  PAGE_SIZE = 100
32
41
  QUERIES_PATH = "/sql/history/queries"
42
+ API_VERSION = "/api/2.0"
43
+ JOB_API_VERSION = "/api/2.1"
33
44
 
34
45
 
35
46
  class DatabricksClientException(Exception):
@@ -43,30 +54,58 @@ class DatabricksClient:
43
54
  DatabricksClient creates a Databricks connection based on DatabricksCredentials.
44
55
  """
45
56
 
46
- def __init__(self, config: DatabricksConnection):
57
+ def __init__(
58
+ self,
59
+ config: Union[DatabricksConnection, DatabricksPipelineConnection],
60
+ engine: Optional[Engine] = None,
61
+ ):
47
62
  self.config = config
48
63
  base_url, *_ = self.config.hostPort.split(":")
49
- api_version = "/api/2.0"
50
- job_api_version = "/api/2.1"
51
64
  auth_token = self.config.token.get_secret_value()
52
- self.base_url = f"https://{base_url}{api_version}"
65
+ self.base_url = f"https://{base_url}{API_VERSION}"
53
66
  self.base_query_url = f"{self.base_url}{QUERIES_PATH}"
54
- self.base_job_url = f"https://{base_url}{job_api_version}/jobs"
67
+ self.base_job_url = f"https://{base_url}{JOB_API_VERSION}/jobs"
55
68
  self.jobs_list_url = f"{self.base_job_url}/list"
56
69
  self.jobs_run_list_url = f"{self.base_job_url}/runs/list"
57
70
  self.headers = {
58
71
  "Authorization": f"Bearer {auth_token}",
59
72
  "Content-Type": "application/json",
60
73
  }
74
+ self.api_timeout = self.config.connectionTimeout or 120
75
+ self.job_table_lineage: dict[str, list[dict[str, str]]] = {}
76
+ self.job_column_lineage: dict[
77
+ str, dict[Tuple[str, str], list[Tuple[str, str]]]
78
+ ] = {}
79
+ self.engine = engine
61
80
  self.client = requests
62
81
 
63
82
  def test_query_api_access(self) -> None:
64
83
  res = self.client.get(
65
- self.base_query_url, headers=self.headers, timeout=API_TIMEOUT
84
+ self.base_query_url, headers=self.headers, timeout=self.api_timeout
66
85
  )
67
86
  if res.status_code != 200:
68
87
  raise APIError(res.json)
69
88
 
89
+ def test_lineage_query(self) -> None:
90
+ try:
91
+ with self.engine.connect() as connection:
92
+ test_table_lineage = connection.execute(
93
+ text(DATABRICKS_GET_TABLE_LINEAGE_FOR_JOB + " LIMIT 1")
94
+ )
95
+ test_column_lineage = connection.execute(
96
+ text(DATABRICKS_GET_COLUMN_LINEAGE_FOR_JOB + " LIMIT 1")
97
+ )
98
+ # Check if queries executed successfully by fetching results
99
+ table_result = test_table_lineage.fetchone()
100
+ column_result = test_column_lineage.fetchone()
101
+ logger.info("Lineage queries executed successfully")
102
+ except Exception as exc:
103
+ logger.debug(f"Error testing lineage queries: {traceback.format_exc()}")
104
+ raise DatabricksClientException(
105
+ f"Failed to test lineage queries Make sure you have access"
106
+ "to the tables table_lineage and column_lineage: {exc}"
107
+ )
108
+
70
109
  def _run_query_paginator(self, data, result, end_time, response):
71
110
  while True:
72
111
  if response:
@@ -85,7 +124,7 @@ class DatabricksClient:
85
124
  self.base_query_url,
86
125
  data=json.dumps(data),
87
126
  headers=self.headers,
88
- timeout=API_TIMEOUT,
127
+ timeout=self.api_timeout,
89
128
  ).json()
90
129
  yield from response.get("res") or []
91
130
 
@@ -117,7 +156,7 @@ class DatabricksClient:
117
156
  self.base_query_url,
118
157
  data=json.dumps(data),
119
158
  headers=self.headers,
120
- timeout=API_TIMEOUT,
159
+ timeout=self.api_timeout,
121
160
  ).json()
122
161
 
123
162
  result = response.get("res") or []
@@ -145,7 +184,7 @@ class DatabricksClient:
145
184
  self.jobs_list_url,
146
185
  data=json.dumps(data),
147
186
  headers=self.headers,
148
- timeout=API_TIMEOUT,
187
+ timeout=self.api_timeout,
149
188
  )
150
189
  if response.status_code != 200:
151
190
  raise DatabricksClientException(response.text)
@@ -154,6 +193,7 @@ class DatabricksClient:
154
193
  """
155
194
  Method returns List all the created jobs in a Databricks Workspace
156
195
  """
196
+ self.cache_lineage()
157
197
  try:
158
198
  iteration_count = 1
159
199
  data = {"limit": PAGE_SIZE, "expand_tasks": True, "offset": 0}
@@ -162,7 +202,7 @@ class DatabricksClient:
162
202
  self.jobs_list_url,
163
203
  data=json.dumps(data),
164
204
  headers=self.headers,
165
- timeout=API_TIMEOUT,
205
+ timeout=self.api_timeout,
166
206
  ).json()
167
207
 
168
208
  yield from response.get("jobs") or []
@@ -174,7 +214,7 @@ class DatabricksClient:
174
214
  self.jobs_list_url,
175
215
  data=json.dumps(data),
176
216
  headers=self.headers,
177
- timeout=API_TIMEOUT,
217
+ timeout=self.api_timeout,
178
218
  ).json()
179
219
  iteration_count += 1
180
220
  yield from response.get("jobs") or []
@@ -200,7 +240,7 @@ class DatabricksClient:
200
240
  self.jobs_run_list_url,
201
241
  params=params,
202
242
  headers=self.headers,
203
- timeout=API_TIMEOUT,
243
+ timeout=self.api_timeout,
204
244
  ).json()
205
245
 
206
246
  yield from response.get("runs") or []
@@ -212,7 +252,7 @@ class DatabricksClient:
212
252
  self.jobs_run_list_url,
213
253
  params=params,
214
254
  headers=self.headers,
215
- timeout=API_TIMEOUT,
255
+ timeout=self.api_timeout,
216
256
  ).json()
217
257
 
218
258
  yield from response.get("runs") or []
@@ -220,3 +260,98 @@ class DatabricksClient:
220
260
  except Exception as exc:
221
261
  logger.debug(traceback.format_exc())
222
262
  logger.error(exc)
263
+
264
+ def get_table_lineage(self, job_id: str) -> List[dict[str, str]]:
265
+ """
266
+ Method returns table lineage for a job by the specified job_id
267
+ """
268
+ try:
269
+ return self.job_table_lineage.get(str(job_id))
270
+ except Exception as exc:
271
+ logger.debug(
272
+ f"Error getting table lineage for job {job_id} due to {traceback.format_exc()}"
273
+ )
274
+ logger.error(exc)
275
+ return []
276
+
277
+ def get_column_lineage(
278
+ self, job_id: str, TableKey: Tuple[str, str]
279
+ ) -> List[Tuple[str, str]]:
280
+ """
281
+ Method returns column lineage for a job by the specified job_id and table key
282
+ """
283
+ try:
284
+ return self.job_column_lineage.get(str(job_id), {}).get(TableKey)
285
+ except Exception as exc:
286
+ logger.debug(
287
+ f"Error getting column lineage for table {TableKey} due to {traceback.format_exc()}"
288
+ )
289
+ logger.error(exc)
290
+ return []
291
+
292
+ def run_lineage_query(self, query: str) -> List[dict]:
293
+ """
294
+ Method runs a lineage query and returns the result
295
+ """
296
+ try:
297
+ with self.engine.connect() as connection:
298
+ result = connection.execute(text(query))
299
+ return result
300
+
301
+ except Exception as exc:
302
+ logger.debug(f"Error caching table lineage due to {traceback.format_exc()}")
303
+ logger.error(exc)
304
+ return []
305
+
306
+ def cache_lineage(self):
307
+ """
308
+ Method caches table and column lineage for a job by the specified job_id
309
+ """
310
+ logger.info(f"Caching table lineage")
311
+ table_lineage = self.run_lineage_query(DATABRICKS_GET_TABLE_LINEAGE_FOR_JOB)
312
+ if table_lineage:
313
+ for row in table_lineage:
314
+ try:
315
+ if row.job_id not in self.job_table_lineage:
316
+ self.job_table_lineage[row.job_id] = []
317
+ self.job_table_lineage[row.job_id].append(
318
+ {
319
+ "source_table_full_name": row.source_table_full_name,
320
+ "target_table_full_name": row.target_table_full_name,
321
+ }
322
+ )
323
+ except Exception as exc:
324
+ logger.debug(
325
+ f"Error parsing row: {row} due to {traceback.format_exc()}"
326
+ )
327
+ continue
328
+
329
+ # Not every job has column lineage, so we need to check if the job exists in the column_lineage table
330
+ # we will cache the column lineage for jobs that have column lineage
331
+ logger.info("Caching column lineage")
332
+ column_lineage = self.run_lineage_query(DATABRICKS_GET_COLUMN_LINEAGE_FOR_JOB)
333
+ if column_lineage:
334
+ for row in column_lineage:
335
+ try:
336
+ table_key = (
337
+ row.source_table_full_name,
338
+ row.target_table_full_name,
339
+ )
340
+ column_pair = (
341
+ row.source_column_name,
342
+ row.target_column_name,
343
+ )
344
+
345
+ if row.job_id not in self.job_column_lineage:
346
+ self.job_column_lineage[row.job_id] = {}
347
+
348
+ if table_key not in self.job_column_lineage[row.job_id]:
349
+ self.job_column_lineage[row.job_id][table_key] = []
350
+
351
+ self.job_column_lineage[row.job_id][table_key].append(column_pair)
352
+
353
+ except Exception as exc:
354
+ logger.debug(
355
+ f"Error parsing row: {row} due to {traceback.format_exc()}"
356
+ )
357
+ continue