openmetadata-ingestion 1.6.3.2.dev1__py3-none-any.whl → 1.6.4.0.dev0__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 (700) 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/createDatabase.py +1 -1
  39. metadata/generated/schema/api/data/createDatabaseSchema.py +1 -1
  40. metadata/generated/schema/api/data/createGlossary.py +1 -1
  41. metadata/generated/schema/api/data/createGlossaryTerm.py +1 -1
  42. metadata/generated/schema/api/data/createMetric.py +1 -1
  43. metadata/generated/schema/api/data/createMlModel.py +1 -1
  44. metadata/generated/schema/api/data/createPipeline.py +1 -1
  45. metadata/generated/schema/api/data/createQuery.py +1 -1
  46. metadata/generated/schema/api/data/createSearchIndex.py +1 -1
  47. metadata/generated/schema/api/data/createStoredProcedure.py +1 -1
  48. metadata/generated/schema/api/data/createTable.py +1 -1
  49. metadata/generated/schema/api/data/createTableProfile.py +1 -1
  50. metadata/generated/schema/api/data/createTopic.py +1 -1
  51. metadata/generated/schema/api/data/loadGlossary.py +1 -1
  52. metadata/generated/schema/api/data/restoreEntity.py +1 -1
  53. metadata/generated/schema/api/dataInsight/__init__.py +1 -1
  54. metadata/generated/schema/api/dataInsight/createDataInsightChart.py +1 -1
  55. metadata/generated/schema/api/dataInsight/custom/__init__.py +1 -1
  56. metadata/generated/schema/api/dataInsight/custom/createDataInsightCustomChart.py +1 -1
  57. metadata/generated/schema/api/dataInsight/kpi/__init__.py +1 -1
  58. metadata/generated/schema/api/dataInsight/kpi/createKpiRequest.py +1 -1
  59. metadata/generated/schema/api/docStore/__init__.py +1 -1
  60. metadata/generated/schema/api/docStore/createDocument.py +1 -1
  61. metadata/generated/schema/api/domains/__init__.py +1 -1
  62. metadata/generated/schema/api/domains/createDataProduct.py +1 -1
  63. metadata/generated/schema/api/domains/createDomain.py +1 -1
  64. metadata/generated/schema/api/feed/__init__.py +1 -1
  65. metadata/generated/schema/api/feed/closeTask.py +1 -1
  66. metadata/generated/schema/api/feed/createPost.py +1 -1
  67. metadata/generated/schema/api/feed/createSuggestion.py +1 -1
  68. metadata/generated/schema/api/feed/createThread.py +1 -1
  69. metadata/generated/schema/api/feed/resolveTask.py +1 -1
  70. metadata/generated/schema/api/feed/threadCount.py +1 -1
  71. metadata/generated/schema/api/governance/__init__.py +1 -1
  72. metadata/generated/schema/api/governance/createWorkflowDefinition.py +1 -1
  73. metadata/generated/schema/api/governance/createWorkflowInstanceState.py +1 -1
  74. metadata/generated/schema/api/lineage/__init__.py +1 -1
  75. metadata/generated/schema/api/lineage/addLineage.py +1 -1
  76. metadata/generated/schema/api/openMetadataServerVersion.py +1 -1
  77. metadata/generated/schema/api/policies/__init__.py +1 -1
  78. metadata/generated/schema/api/policies/createPolicy.py +1 -1
  79. metadata/generated/schema/api/services/__init__.py +1 -1
  80. metadata/generated/schema/api/services/createApiService.py +1 -1
  81. metadata/generated/schema/api/services/createDashboardService.py +1 -1
  82. metadata/generated/schema/api/services/createDatabaseService.py +1 -1
  83. metadata/generated/schema/api/services/createMessagingService.py +1 -1
  84. metadata/generated/schema/api/services/createMetadataService.py +1 -1
  85. metadata/generated/schema/api/services/createMlModelService.py +1 -1
  86. metadata/generated/schema/api/services/createPipelineService.py +1 -1
  87. metadata/generated/schema/api/services/createSearchService.py +1 -1
  88. metadata/generated/schema/api/services/createStorageService.py +1 -1
  89. metadata/generated/schema/api/services/ingestionPipelines/__init__.py +1 -1
  90. metadata/generated/schema/api/services/ingestionPipelines/createIngestionPipeline.py +1 -1
  91. metadata/generated/schema/api/setOwner.py +1 -1
  92. metadata/generated/schema/api/teams/__init__.py +1 -1
  93. metadata/generated/schema/api/teams/createPersona.py +1 -1
  94. metadata/generated/schema/api/teams/createRole.py +1 -1
  95. metadata/generated/schema/api/teams/createTeam.py +1 -1
  96. metadata/generated/schema/api/teams/createUser.py +1 -1
  97. metadata/generated/schema/api/tests/__init__.py +1 -1
  98. metadata/generated/schema/api/tests/createCustomMetric.py +1 -1
  99. metadata/generated/schema/api/tests/createLogicalTestCases.py +1 -1
  100. metadata/generated/schema/api/tests/createTestCase.py +1 -1
  101. metadata/generated/schema/api/tests/createTestCaseResolutionStatus.py +1 -1
  102. metadata/generated/schema/api/tests/createTestCaseResult.py +1 -1
  103. metadata/generated/schema/api/tests/createTestDefinition.py +1 -1
  104. metadata/generated/schema/api/tests/createTestSuite.py +1 -1
  105. metadata/generated/schema/api/voteRequest.py +1 -1
  106. metadata/generated/schema/auth/__init__.py +1 -1
  107. metadata/generated/schema/auth/basicAuth.py +1 -1
  108. metadata/generated/schema/auth/basicLoginRequest.py +1 -1
  109. metadata/generated/schema/auth/changePasswordRequest.py +1 -1
  110. metadata/generated/schema/auth/createPersonalToken.py +1 -1
  111. metadata/generated/schema/auth/emailRequest.py +1 -1
  112. metadata/generated/schema/auth/emailVerificationToken.py +2 -4
  113. metadata/generated/schema/auth/generateToken.py +1 -1
  114. metadata/generated/schema/auth/jwtAuth.py +1 -1
  115. metadata/generated/schema/auth/loginRequest.py +1 -1
  116. metadata/generated/schema/auth/logoutRequest.py +1 -1
  117. metadata/generated/schema/auth/passwordResetRequest.py +1 -1
  118. metadata/generated/schema/auth/passwordResetToken.py +1 -1
  119. metadata/generated/schema/auth/personalAccessToken.py +1 -1
  120. metadata/generated/schema/auth/refreshToken.py +1 -1
  121. metadata/generated/schema/auth/registrationRequest.py +1 -1
  122. metadata/generated/schema/auth/revokePersonalToken.py +1 -1
  123. metadata/generated/schema/auth/revokeToken.py +1 -1
  124. metadata/generated/schema/auth/serviceTokenEnum.py +1 -1
  125. metadata/generated/schema/auth/ssoAuth.py +1 -1
  126. metadata/generated/schema/auth/tokenRefreshRequest.py +1 -1
  127. metadata/generated/schema/configuration/__init__.py +1 -1
  128. metadata/generated/schema/configuration/appsPrivateConfiguration.py +1 -1
  129. metadata/generated/schema/configuration/assetCertificationSettings.py +1 -1
  130. metadata/generated/schema/configuration/authConfig.py +1 -1
  131. metadata/generated/schema/configuration/authenticationConfiguration.py +1 -1
  132. metadata/generated/schema/configuration/authorizerConfiguration.py +1 -1
  133. metadata/generated/schema/configuration/changeEventConfiguration.py +1 -1
  134. metadata/generated/schema/configuration/dataQualityConfiguration.py +1 -1
  135. metadata/generated/schema/configuration/elasticSearchConfiguration.py +1 -1
  136. metadata/generated/schema/configuration/eventHandlerConfiguration.py +1 -1
  137. metadata/generated/schema/configuration/fernetConfiguration.py +1 -1
  138. metadata/generated/schema/configuration/jwtTokenConfiguration.py +1 -1
  139. metadata/generated/schema/configuration/kafkaEventConfiguration.py +1 -1
  140. metadata/generated/schema/configuration/ldapConfiguration.py +1 -1
  141. metadata/generated/schema/configuration/ldapTrustStoreConfig/__init__.py +1 -1
  142. metadata/generated/schema/configuration/ldapTrustStoreConfig/customTrustManagerConfig.py +1 -1
  143. metadata/generated/schema/configuration/ldapTrustStoreConfig/hostNameConfig.py +1 -1
  144. metadata/generated/schema/configuration/ldapTrustStoreConfig/jvmDefaultConfig.py +1 -1
  145. metadata/generated/schema/configuration/ldapTrustStoreConfig/trustAllConfig.py +1 -1
  146. metadata/generated/schema/configuration/ldapTrustStoreConfig/truststoreConfig.py +1 -1
  147. metadata/generated/schema/configuration/limitsConfiguration.py +1 -1
  148. metadata/generated/schema/configuration/lineageSettings.py +1 -1
  149. metadata/generated/schema/configuration/loginConfiguration.py +1 -1
  150. metadata/generated/schema/configuration/logoConfiguration.py +1 -1
  151. metadata/generated/schema/configuration/pipelineServiceClientConfiguration.py +1 -1
  152. metadata/generated/schema/configuration/profilerConfiguration.py +1 -1
  153. metadata/generated/schema/configuration/searchSettings.py +1 -1
  154. metadata/generated/schema/configuration/slackAppConfiguration.py +1 -1
  155. metadata/generated/schema/configuration/taskNotificationConfiguration.py +1 -1
  156. metadata/generated/schema/configuration/testResultNotificationConfiguration.py +1 -1
  157. metadata/generated/schema/configuration/themeConfiguration.py +1 -1
  158. metadata/generated/schema/configuration/uiThemePreference.py +1 -1
  159. metadata/generated/schema/configuration/workflowSettings.py +1 -1
  160. metadata/generated/schema/dataInsight/__init__.py +1 -1
  161. metadata/generated/schema/dataInsight/custom/__init__.py +1 -1
  162. metadata/generated/schema/dataInsight/custom/dataInsightCustomChart.py +1 -1
  163. metadata/generated/schema/dataInsight/custom/dataInsightCustomChartResult.py +1 -1
  164. metadata/generated/schema/dataInsight/custom/dataInsightCustomChartResultList.py +1 -1
  165. metadata/generated/schema/dataInsight/custom/formulaHolder.py +1 -1
  166. metadata/generated/schema/dataInsight/custom/lineChart.py +1 -1
  167. metadata/generated/schema/dataInsight/custom/summaryCard.py +1 -1
  168. metadata/generated/schema/dataInsight/dataInsightChart.py +1 -1
  169. metadata/generated/schema/dataInsight/dataInsightChartResult.py +1 -1
  170. metadata/generated/schema/dataInsight/kpi/__init__.py +1 -1
  171. metadata/generated/schema/dataInsight/kpi/basic.py +1 -1
  172. metadata/generated/schema/dataInsight/kpi/kpi.py +1 -1
  173. metadata/generated/schema/dataInsight/type/__init__.py +1 -1
  174. metadata/generated/schema/dataInsight/type/aggregatedUnusedAssetsCount.py +1 -1
  175. metadata/generated/schema/dataInsight/type/aggregatedUnusedAssetsSize.py +1 -1
  176. metadata/generated/schema/dataInsight/type/aggregatedUsedVsUnusedAssetsCount.py +1 -1
  177. metadata/generated/schema/dataInsight/type/aggregatedUsedVsUnusedAssetsSize.py +1 -1
  178. metadata/generated/schema/dataInsight/type/dailyActiveUsers.py +1 -1
  179. metadata/generated/schema/dataInsight/type/mostActiveUsers.py +1 -1
  180. metadata/generated/schema/dataInsight/type/mostViewedEntities.py +1 -1
  181. metadata/generated/schema/dataInsight/type/pageViewsByEntities.py +1 -1
  182. metadata/generated/schema/dataInsight/type/unusedAssets.py +1 -1
  183. metadata/generated/schema/email/__init__.py +1 -1
  184. metadata/generated/schema/email/emailRequest.py +1 -1
  185. metadata/generated/schema/email/emailTemplate.py +1 -1
  186. metadata/generated/schema/email/emailTemplatePlaceholder.py +1 -1
  187. metadata/generated/schema/email/smtpSettings.py +1 -1
  188. metadata/generated/schema/email/templateValidationReponse.py +1 -1
  189. metadata/generated/schema/entity/__init__.py +1 -1
  190. metadata/generated/schema/entity/applications/__init__.py +1 -1
  191. metadata/generated/schema/entity/applications/app.py +1 -1
  192. metadata/generated/schema/entity/applications/appExtension.py +1 -1
  193. metadata/generated/schema/entity/applications/appRunRecord.py +3 -1
  194. metadata/generated/schema/entity/applications/configuration/__init__.py +1 -1
  195. metadata/generated/schema/entity/applications/configuration/applicationConfig.py +1 -1
  196. metadata/generated/schema/entity/applications/configuration/external/__init__.py +1 -1
  197. metadata/generated/schema/entity/applications/configuration/external/automator/__init__.py +1 -1
  198. metadata/generated/schema/entity/applications/configuration/external/automator/addCustomProperties.py +1 -1
  199. metadata/generated/schema/entity/applications/configuration/external/automator/addDescriptionAction.py +1 -1
  200. metadata/generated/schema/entity/applications/configuration/external/automator/addDomainAction.py +1 -1
  201. metadata/generated/schema/entity/applications/configuration/external/automator/addOwnerAction.py +1 -1
  202. metadata/generated/schema/entity/applications/configuration/external/automator/addTagsAction.py +1 -1
  203. metadata/generated/schema/entity/applications/configuration/external/automator/addTierAction.py +1 -1
  204. metadata/generated/schema/entity/applications/configuration/external/automator/lineagePropagationAction.py +1 -1
  205. metadata/generated/schema/entity/applications/configuration/external/automator/mlTaggingAction.py +1 -1
  206. metadata/generated/schema/entity/applications/configuration/external/automator/removeCustomPropertiesAction.py +1 -1
  207. metadata/generated/schema/entity/applications/configuration/external/automator/removeDescriptionAction.py +10 -2
  208. metadata/generated/schema/entity/applications/configuration/external/automator/removeDomainAction.py +1 -1
  209. metadata/generated/schema/entity/applications/configuration/external/automator/removeOwnerAction.py +1 -1
  210. metadata/generated/schema/entity/applications/configuration/external/automator/removeTagsAction.py +23 -3
  211. metadata/generated/schema/entity/applications/configuration/external/automator/removeTierAction.py +1 -1
  212. metadata/generated/schema/entity/applications/configuration/external/automatorAppConfig.py +1 -1
  213. metadata/generated/schema/entity/applications/configuration/external/collateAIAppConfig.py +1 -1
  214. metadata/generated/schema/entity/applications/configuration/external/slackAppTokenConfiguration.py +1 -1
  215. metadata/generated/schema/entity/applications/configuration/internal/__init__.py +1 -1
  216. metadata/generated/schema/entity/applications/configuration/internal/dataInsightsAppConfig.py +1 -1
  217. metadata/generated/schema/entity/applications/configuration/internal/dataInsightsReportAppConfig.py +1 -1
  218. metadata/generated/schema/entity/applications/configuration/internal/dataRetentionConfiguration.py +1 -1
  219. metadata/generated/schema/entity/applications/configuration/internal/searchIndexingAppConfig.py +1 -1
  220. metadata/generated/schema/entity/applications/configuration/private/external/__init__.py +1 -1
  221. metadata/generated/schema/entity/applications/configuration/private/external/collateAIAppPrivateConfig.py +1 -1
  222. metadata/generated/schema/entity/applications/createAppRequest.py +1 -1
  223. metadata/generated/schema/entity/applications/jobStatus.py +1 -1
  224. metadata/generated/schema/entity/applications/liveExecutionContext.py +1 -1
  225. metadata/generated/schema/entity/applications/marketplace/__init__.py +1 -1
  226. metadata/generated/schema/entity/applications/marketplace/appMarketPlaceDefinition.py +1 -1
  227. metadata/generated/schema/entity/applications/marketplace/createAppMarketPlaceDefinitionReq.py +1 -1
  228. metadata/generated/schema/entity/applications/scheduledExecutionContext.py +1 -1
  229. metadata/generated/schema/entity/automations/__init__.py +1 -1
  230. metadata/generated/schema/entity/automations/testServiceConnection.py +1 -1
  231. metadata/generated/schema/entity/automations/workflow.py +1 -1
  232. metadata/generated/schema/entity/bot.py +1 -1
  233. metadata/generated/schema/entity/classification/__init__.py +1 -1
  234. metadata/generated/schema/entity/classification/classification.py +1 -1
  235. metadata/generated/schema/entity/classification/tag.py +1 -1
  236. metadata/generated/schema/entity/data/__init__.py +1 -1
  237. metadata/generated/schema/entity/data/apiCollection.py +1 -1
  238. metadata/generated/schema/entity/data/apiEndpoint.py +1 -1
  239. metadata/generated/schema/entity/data/chart.py +1 -1
  240. metadata/generated/schema/entity/data/container.py +1 -1
  241. metadata/generated/schema/entity/data/dashboard.py +1 -1
  242. metadata/generated/schema/entity/data/dashboardDataModel.py +1 -1
  243. metadata/generated/schema/entity/data/database.py +1 -1
  244. metadata/generated/schema/entity/data/databaseSchema.py +1 -1
  245. metadata/generated/schema/entity/data/glossary.py +1 -1
  246. metadata/generated/schema/entity/data/glossaryTerm.py +1 -1
  247. metadata/generated/schema/entity/data/metric.py +1 -1
  248. metadata/generated/schema/entity/data/mlmodel.py +1 -1
  249. metadata/generated/schema/entity/data/pipeline.py +1 -1
  250. metadata/generated/schema/entity/data/query.py +1 -1
  251. metadata/generated/schema/entity/data/report.py +1 -1
  252. metadata/generated/schema/entity/data/searchIndex.py +1 -1
  253. metadata/generated/schema/entity/data/storedProcedure.py +1 -1
  254. metadata/generated/schema/entity/data/table.py +2 -1
  255. metadata/generated/schema/entity/data/topic.py +1 -1
  256. metadata/generated/schema/entity/docStore/__init__.py +1 -1
  257. metadata/generated/schema/entity/docStore/document.py +1 -1
  258. metadata/generated/schema/entity/domains/__init__.py +1 -1
  259. metadata/generated/schema/entity/domains/dataProduct.py +1 -1
  260. metadata/generated/schema/entity/domains/domain.py +1 -1
  261. metadata/generated/schema/entity/events/__init__.py +1 -1
  262. metadata/generated/schema/entity/events/webhook.py +1 -1
  263. metadata/generated/schema/entity/feed/__init__.py +1 -1
  264. metadata/generated/schema/entity/feed/assets.py +1 -1
  265. metadata/generated/schema/entity/feed/customProperty.py +1 -1
  266. metadata/generated/schema/entity/feed/description.py +1 -1
  267. metadata/generated/schema/entity/feed/domain.py +1 -1
  268. metadata/generated/schema/entity/feed/entityInfo.py +1 -1
  269. metadata/generated/schema/entity/feed/owner.py +1 -1
  270. metadata/generated/schema/entity/feed/suggestion.py +1 -1
  271. metadata/generated/schema/entity/feed/tag.py +1 -1
  272. metadata/generated/schema/entity/feed/testCaseResult.py +1 -1
  273. metadata/generated/schema/entity/feed/thread.py +1 -1
  274. metadata/generated/schema/entity/policies/__init__.py +1 -1
  275. metadata/generated/schema/entity/policies/accessControl/__init__.py +1 -1
  276. metadata/generated/schema/entity/policies/accessControl/resourceDescriptor.py +1 -1
  277. metadata/generated/schema/entity/policies/accessControl/resourcePermission.py +1 -1
  278. metadata/generated/schema/entity/policies/accessControl/rule.py +1 -1
  279. metadata/generated/schema/entity/policies/filters.py +1 -1
  280. metadata/generated/schema/entity/policies/policy.py +1 -1
  281. metadata/generated/schema/entity/services/__init__.py +1 -1
  282. metadata/generated/schema/entity/services/apiService.py +1 -1
  283. metadata/generated/schema/entity/services/connections/__init__.py +1 -1
  284. metadata/generated/schema/entity/services/connections/api/__init__.py +1 -1
  285. metadata/generated/schema/entity/services/connections/api/restConnection.py +1 -1
  286. metadata/generated/schema/entity/services/connections/common/__init__.py +1 -1
  287. metadata/generated/schema/entity/services/connections/common/sslCertPaths.py +1 -1
  288. metadata/generated/schema/entity/services/connections/common/sslCertValues.py +1 -1
  289. metadata/generated/schema/entity/services/connections/common/sslConfig.py +1 -1
  290. metadata/generated/schema/entity/services/connections/connectionBasicType.py +1 -1
  291. metadata/generated/schema/entity/services/connections/dashboard/__init__.py +1 -1
  292. metadata/generated/schema/entity/services/connections/dashboard/customDashboardConnection.py +1 -1
  293. metadata/generated/schema/entity/services/connections/dashboard/domoDashboardConnection.py +1 -1
  294. metadata/generated/schema/entity/services/connections/dashboard/lightdashConnection.py +1 -1
  295. metadata/generated/schema/entity/services/connections/dashboard/lookerConnection.py +1 -1
  296. metadata/generated/schema/entity/services/connections/dashboard/metabaseConnection.py +1 -1
  297. metadata/generated/schema/entity/services/connections/dashboard/microStrategyConnection.py +1 -1
  298. metadata/generated/schema/entity/services/connections/dashboard/modeConnection.py +1 -1
  299. metadata/generated/schema/entity/services/connections/dashboard/powerBIConnection.py +1 -1
  300. metadata/generated/schema/entity/services/connections/dashboard/powerBIReportServerConnection.py +1 -1
  301. metadata/generated/schema/entity/services/connections/dashboard/powerbi/__init__.py +1 -1
  302. metadata/generated/schema/entity/services/connections/dashboard/powerbi/azureConfig.py +1 -1
  303. metadata/generated/schema/entity/services/connections/dashboard/powerbi/bucketDetails.py +1 -1
  304. metadata/generated/schema/entity/services/connections/dashboard/powerbi/gcsConfig.py +1 -1
  305. metadata/generated/schema/entity/services/connections/dashboard/powerbi/s3Config.py +1 -1
  306. metadata/generated/schema/entity/services/connections/dashboard/qlikCloudConnection.py +1 -1
  307. metadata/generated/schema/entity/services/connections/dashboard/qlikSenseConnection.py +1 -1
  308. metadata/generated/schema/entity/services/connections/dashboard/quickSightConnection.py +1 -1
  309. metadata/generated/schema/entity/services/connections/dashboard/redashConnection.py +1 -1
  310. metadata/generated/schema/entity/services/connections/dashboard/sigmaConnection.py +1 -1
  311. metadata/generated/schema/entity/services/connections/dashboard/supersetConnection.py +1 -1
  312. metadata/generated/schema/entity/services/connections/dashboard/tableauConnection.py +1 -1
  313. metadata/generated/schema/entity/services/connections/database/__init__.py +1 -1
  314. metadata/generated/schema/entity/services/connections/database/athenaConnection.py +1 -1
  315. metadata/generated/schema/entity/services/connections/database/azureSQLConnection.py +1 -1
  316. metadata/generated/schema/entity/services/connections/database/bigQueryConnection.py +1 -1
  317. metadata/generated/schema/entity/services/connections/database/bigTableConnection.py +1 -1
  318. metadata/generated/schema/entity/services/connections/database/clickhouseConnection.py +1 -1
  319. metadata/generated/schema/entity/services/connections/database/common/__init__.py +1 -1
  320. metadata/generated/schema/entity/services/connections/database/common/azureConfig.py +1 -1
  321. metadata/generated/schema/entity/services/connections/database/common/basicAuth.py +1 -1
  322. metadata/generated/schema/entity/services/connections/database/common/iamAuthConfig.py +1 -1
  323. metadata/generated/schema/entity/services/connections/database/common/jwtAuth.py +1 -1
  324. metadata/generated/schema/entity/services/connections/database/common/noConfigAuthenticationTypes.py +1 -1
  325. metadata/generated/schema/entity/services/connections/database/couchbaseConnection.py +1 -1
  326. metadata/generated/schema/entity/services/connections/database/customDatabaseConnection.py +1 -1
  327. metadata/generated/schema/entity/services/connections/database/databricksConnection.py +9 -1
  328. metadata/generated/schema/entity/services/connections/database/datalake/__init__.py +1 -1
  329. metadata/generated/schema/entity/services/connections/database/datalake/azureConfig.py +1 -1
  330. metadata/generated/schema/entity/services/connections/database/datalake/gcsConfig.py +1 -1
  331. metadata/generated/schema/entity/services/connections/database/datalake/s3Config.py +1 -1
  332. metadata/generated/schema/entity/services/connections/database/datalakeConnection.py +1 -1
  333. metadata/generated/schema/entity/services/connections/database/db2Connection.py +1 -1
  334. metadata/generated/schema/entity/services/connections/database/deltaLakeConnection.py +1 -1
  335. metadata/generated/schema/entity/services/connections/database/deltalake/__init__.py +1 -1
  336. metadata/generated/schema/entity/services/connections/database/deltalake/metastoreConfig.py +1 -1
  337. metadata/generated/schema/entity/services/connections/database/deltalake/storageConfig.py +1 -1
  338. metadata/generated/schema/entity/services/connections/database/domoDatabaseConnection.py +1 -1
  339. metadata/generated/schema/entity/services/connections/database/dorisConnection.py +1 -1
  340. metadata/generated/schema/entity/services/connections/database/druidConnection.py +1 -1
  341. metadata/generated/schema/entity/services/connections/database/dynamoDBConnection.py +1 -1
  342. metadata/generated/schema/entity/services/connections/database/exasolConnection.py +1 -1
  343. metadata/generated/schema/entity/services/connections/database/glueConnection.py +1 -1
  344. metadata/generated/schema/entity/services/connections/database/greenplumConnection.py +1 -1
  345. metadata/generated/schema/entity/services/connections/database/hiveConnection.py +1 -1
  346. metadata/generated/schema/entity/services/connections/database/iceberg/__init__.py +1 -1
  347. metadata/generated/schema/entity/services/connections/database/iceberg/dynamoDbCatalogConnection.py +1 -1
  348. metadata/generated/schema/entity/services/connections/database/iceberg/glueCatalogConnection.py +1 -1
  349. metadata/generated/schema/entity/services/connections/database/iceberg/hiveCatalogConnection.py +1 -1
  350. metadata/generated/schema/entity/services/connections/database/iceberg/icebergCatalog.py +1 -1
  351. metadata/generated/schema/entity/services/connections/database/iceberg/icebergFileSystem.py +1 -1
  352. metadata/generated/schema/entity/services/connections/database/iceberg/restCatalogConnection.py +1 -1
  353. metadata/generated/schema/entity/services/connections/database/icebergConnection.py +1 -1
  354. metadata/generated/schema/entity/services/connections/database/impalaConnection.py +1 -1
  355. metadata/generated/schema/entity/services/connections/database/mariaDBConnection.py +1 -1
  356. metadata/generated/schema/entity/services/connections/database/mongoDBConnection.py +1 -1
  357. metadata/generated/schema/entity/services/connections/database/mssqlConnection.py +1 -1
  358. metadata/generated/schema/entity/services/connections/database/mysqlConnection.py +1 -1
  359. metadata/generated/schema/entity/services/connections/database/oracleConnection.py +1 -1
  360. metadata/generated/schema/entity/services/connections/database/pinotDBConnection.py +1 -1
  361. metadata/generated/schema/entity/services/connections/database/postgresConnection.py +1 -1
  362. metadata/generated/schema/entity/services/connections/database/prestoConnection.py +1 -1
  363. metadata/generated/schema/entity/services/connections/database/redshiftConnection.py +1 -1
  364. metadata/generated/schema/entity/services/connections/database/salesforceConnection.py +1 -1
  365. metadata/generated/schema/entity/services/connections/database/sapErpConnection.py +1 -1
  366. metadata/generated/schema/entity/services/connections/database/sapHana/__init__.py +1 -1
  367. metadata/generated/schema/entity/services/connections/database/sapHana/sapHanaHDBConnection.py +1 -1
  368. metadata/generated/schema/entity/services/connections/database/sapHana/sapHanaSQLConnection.py +1 -1
  369. metadata/generated/schema/entity/services/connections/database/sapHanaConnection.py +1 -1
  370. metadata/generated/schema/entity/services/connections/database/sasConnection.py +1 -1
  371. metadata/generated/schema/entity/services/connections/database/singleStoreConnection.py +1 -1
  372. metadata/generated/schema/entity/services/connections/database/snowflakeConnection.py +9 -1
  373. metadata/generated/schema/entity/services/connections/database/sqliteConnection.py +1 -1
  374. metadata/generated/schema/entity/services/connections/database/synapseConnection.py +1 -1
  375. metadata/generated/schema/entity/services/connections/database/teradataConnection.py +1 -1
  376. metadata/generated/schema/entity/services/connections/database/trinoConnection.py +1 -1
  377. metadata/generated/schema/entity/services/connections/database/unityCatalogConnection.py +1 -1
  378. metadata/generated/schema/entity/services/connections/database/verticaConnection.py +1 -1
  379. metadata/generated/schema/entity/services/connections/messaging/__init__.py +1 -1
  380. metadata/generated/schema/entity/services/connections/messaging/customMessagingConnection.py +1 -1
  381. metadata/generated/schema/entity/services/connections/messaging/kafkaConnection.py +1 -1
  382. metadata/generated/schema/entity/services/connections/messaging/kinesisConnection.py +1 -1
  383. metadata/generated/schema/entity/services/connections/messaging/pulsarConnection.py +1 -1
  384. metadata/generated/schema/entity/services/connections/messaging/redpandaConnection.py +1 -1
  385. metadata/generated/schema/entity/services/connections/messaging/saslMechanismType.py +1 -1
  386. metadata/generated/schema/entity/services/connections/metadata/__init__.py +1 -1
  387. metadata/generated/schema/entity/services/connections/metadata/alationConnection.py +1 -1
  388. metadata/generated/schema/entity/services/connections/metadata/alationSinkConnection.py +1 -1
  389. metadata/generated/schema/entity/services/connections/metadata/amundsenConnection.py +1 -1
  390. metadata/generated/schema/entity/services/connections/metadata/atlasConnection.py +1 -1
  391. metadata/generated/schema/entity/services/connections/metadata/metadataESConnection.py +1 -1
  392. metadata/generated/schema/entity/services/connections/metadata/openMetadataConnection.py +1 -1
  393. metadata/generated/schema/entity/services/connections/mlmodel/__init__.py +1 -1
  394. metadata/generated/schema/entity/services/connections/mlmodel/customMlModelConnection.py +1 -1
  395. metadata/generated/schema/entity/services/connections/mlmodel/mlflowConnection.py +1 -1
  396. metadata/generated/schema/entity/services/connections/mlmodel/sageMakerConnection.py +1 -1
  397. metadata/generated/schema/entity/services/connections/mlmodel/sklearnConnection.py +1 -1
  398. metadata/generated/schema/entity/services/connections/mlmodel/vertexaiConnection.py +1 -1
  399. metadata/generated/schema/entity/services/connections/pipeline/__init__.py +1 -1
  400. metadata/generated/schema/entity/services/connections/pipeline/airbyteConnection.py +1 -1
  401. metadata/generated/schema/entity/services/connections/pipeline/airflowConnection.py +1 -1
  402. metadata/generated/schema/entity/services/connections/pipeline/backendConnection.py +1 -1
  403. metadata/generated/schema/entity/services/connections/pipeline/customPipelineConnection.py +1 -1
  404. metadata/generated/schema/entity/services/connections/pipeline/dagsterConnection.py +1 -1
  405. metadata/generated/schema/entity/services/connections/pipeline/databricksPipelineConnection.py +1 -1
  406. metadata/generated/schema/entity/services/connections/pipeline/datafactoryConnection.py +1 -1
  407. metadata/generated/schema/entity/services/connections/pipeline/dbtCloudConnection.py +1 -1
  408. metadata/generated/schema/entity/services/connections/pipeline/domoPipelineConnection.py +1 -1
  409. metadata/generated/schema/entity/services/connections/pipeline/fivetranConnection.py +1 -1
  410. metadata/generated/schema/entity/services/connections/pipeline/flinkConnection.py +1 -1
  411. metadata/generated/schema/entity/services/connections/pipeline/gluePipelineConnection.py +1 -1
  412. metadata/generated/schema/entity/services/connections/pipeline/kafkaConnectConnection.py +1 -1
  413. metadata/generated/schema/entity/services/connections/pipeline/matillion/__init__.py +3 -0
  414. metadata/generated/schema/entity/services/connections/pipeline/matillion/matillionETL.py +39 -0
  415. metadata/generated/schema/entity/services/connections/pipeline/matillionConnection.py +4 -25
  416. metadata/generated/schema/entity/services/connections/pipeline/nifi/__init__.py +3 -0
  417. metadata/generated/schema/entity/services/connections/pipeline/nifi/basicAuth.py +40 -0
  418. metadata/generated/schema/entity/services/connections/pipeline/nifi/clientCertificateAuth.py +38 -0
  419. metadata/generated/schema/entity/services/connections/pipeline/nifiConnection.py +3 -2
  420. metadata/generated/schema/entity/services/connections/pipeline/openLineageConnection.py +1 -1
  421. metadata/generated/schema/entity/services/connections/pipeline/sparkConnection.py +1 -1
  422. metadata/generated/schema/entity/services/connections/pipeline/splineConnection.py +1 -1
  423. metadata/generated/schema/entity/services/connections/pipeline/stitchConnection.py +1 -1
  424. metadata/generated/schema/entity/services/connections/search/__init__.py +1 -1
  425. metadata/generated/schema/entity/services/connections/search/customSearchConnection.py +1 -1
  426. metadata/generated/schema/entity/services/connections/search/elasticSearch/__init__.py +1 -1
  427. metadata/generated/schema/entity/services/connections/search/elasticSearch/apiAuth.py +1 -1
  428. metadata/generated/schema/entity/services/connections/search/elasticSearch/basicAuth.py +1 -1
  429. metadata/generated/schema/entity/services/connections/search/elasticSearchConnection.py +1 -1
  430. metadata/generated/schema/entity/services/connections/search/openSearchConnection.py +1 -1
  431. metadata/generated/schema/entity/services/connections/serviceConnection.py +1 -1
  432. metadata/generated/schema/entity/services/connections/storage/__init__.py +1 -1
  433. metadata/generated/schema/entity/services/connections/storage/adlsConnection.py +1 -1
  434. metadata/generated/schema/entity/services/connections/storage/customStorageConnection.py +1 -1
  435. metadata/generated/schema/entity/services/connections/storage/gcsConnection.py +1 -1
  436. metadata/generated/schema/entity/services/connections/storage/s3Connection.py +1 -1
  437. metadata/generated/schema/entity/services/connections/testConnectionDefinition.py +1 -1
  438. metadata/generated/schema/entity/services/connections/testConnectionResult.py +1 -1
  439. metadata/generated/schema/entity/services/dashboardService.py +1 -1
  440. metadata/generated/schema/entity/services/databaseService.py +1 -1
  441. metadata/generated/schema/entity/services/ingestionPipelines/__init__.py +1 -1
  442. metadata/generated/schema/entity/services/ingestionPipelines/ingestionPipeline.py +7 -1
  443. metadata/generated/schema/entity/services/ingestionPipelines/pipelineServiceClientResponse.py +1 -1
  444. metadata/generated/schema/entity/services/ingestionPipelines/status.py +1 -1
  445. metadata/generated/schema/entity/services/messagingService.py +1 -1
  446. metadata/generated/schema/entity/services/metadataService.py +1 -1
  447. metadata/generated/schema/entity/services/mlmodelService.py +1 -1
  448. metadata/generated/schema/entity/services/pipelineService.py +1 -1
  449. metadata/generated/schema/entity/services/searchService.py +1 -1
  450. metadata/generated/schema/entity/services/serviceType.py +1 -1
  451. metadata/generated/schema/entity/services/storageService.py +1 -1
  452. metadata/generated/schema/entity/teams/__init__.py +1 -1
  453. metadata/generated/schema/entity/teams/persona.py +1 -1
  454. metadata/generated/schema/entity/teams/role.py +1 -1
  455. metadata/generated/schema/entity/teams/team.py +1 -1
  456. metadata/generated/schema/entity/teams/teamHierarchy.py +1 -1
  457. metadata/generated/schema/entity/teams/user.py +1 -1
  458. metadata/generated/schema/entity/type.py +1 -1
  459. metadata/generated/schema/entity/utils/__init__.py +1 -1
  460. metadata/generated/schema/entity/utils/entitiesCount.py +1 -1
  461. metadata/generated/schema/entity/utils/servicesCount.py +1 -1
  462. metadata/generated/schema/entity/utils/supersetApiConnection.py +1 -1
  463. metadata/generated/schema/events/__init__.py +1 -1
  464. metadata/generated/schema/events/alertMetrics.py +1 -1
  465. metadata/generated/schema/events/api/__init__.py +1 -1
  466. metadata/generated/schema/events/api/createEventSubscription.py +1 -1
  467. metadata/generated/schema/events/api/eventSubscriptionDiagnosticInfo.py +1 -1
  468. metadata/generated/schema/events/api/eventsRecord.py +1 -1
  469. metadata/generated/schema/events/api/testEventSubscriptionDestination.py +1 -1
  470. metadata/generated/schema/events/api/typedEvent.py +1 -1
  471. metadata/generated/schema/events/emailAlertConfig.py +1 -1
  472. metadata/generated/schema/events/eventFilterRule.py +1 -1
  473. metadata/generated/schema/events/eventSubscription.py +1 -1
  474. metadata/generated/schema/events/eventSubscriptionOffset.py +1 -1
  475. metadata/generated/schema/events/failedEvent.py +1 -1
  476. metadata/generated/schema/events/failedEventResponse.py +1 -1
  477. metadata/generated/schema/events/filterResourceDescriptor.py +1 -1
  478. metadata/generated/schema/events/statusContext.py +1 -1
  479. metadata/generated/schema/events/subscriptionResourceDescriptor.py +1 -1
  480. metadata/generated/schema/events/subscriptionStatus.py +1 -1
  481. metadata/generated/schema/events/testDestinationStatus.py +1 -1
  482. metadata/generated/schema/governance/workflows/__init__.py +1 -1
  483. metadata/generated/schema/governance/workflows/elements/__init__.py +1 -1
  484. metadata/generated/schema/governance/workflows/elements/edge.py +1 -1
  485. metadata/generated/schema/governance/workflows/elements/nodeSubType.py +1 -1
  486. metadata/generated/schema/governance/workflows/elements/nodeType.py +1 -1
  487. metadata/generated/schema/governance/workflows/elements/nodes/__init__.py +1 -1
  488. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/__init__.py +1 -1
  489. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/checkEntityAttributesTask.py +1 -1
  490. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/setEntityCertificationTask.py +1 -1
  491. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/setGlossaryTermStatusTask.py +1 -1
  492. metadata/generated/schema/governance/workflows/elements/nodes/endEvent/__init__.py +1 -1
  493. metadata/generated/schema/governance/workflows/elements/nodes/endEvent/endEvent.py +1 -1
  494. metadata/generated/schema/governance/workflows/elements/nodes/startEvent/__init__.py +1 -1
  495. metadata/generated/schema/governance/workflows/elements/nodes/startEvent/startEvent.py +1 -1
  496. metadata/generated/schema/governance/workflows/elements/nodes/userTask/__init__.py +1 -1
  497. metadata/generated/schema/governance/workflows/elements/nodes/userTask/userApprovalTask.py +1 -1
  498. metadata/generated/schema/governance/workflows/elements/triggers/__init__.py +1 -1
  499. metadata/generated/schema/governance/workflows/elements/triggers/eventBasedEntityTrigger.py +1 -1
  500. metadata/generated/schema/governance/workflows/elements/triggers/periodicBatchEntityTrigger.py +1 -1
  501. metadata/generated/schema/governance/workflows/workflowDefinition.py +1 -1
  502. metadata/generated/schema/governance/workflows/workflowInstance.py +1 -1
  503. metadata/generated/schema/governance/workflows/workflowInstanceState.py +1 -1
  504. metadata/generated/schema/jobs/__init__.py +1 -1
  505. metadata/generated/schema/jobs/backgroundJob.py +1 -1
  506. metadata/generated/schema/jobs/enumCleanupArgs.py +1 -1
  507. metadata/generated/schema/metadataIngestion/__init__.py +1 -1
  508. metadata/generated/schema/metadataIngestion/apiServiceMetadataPipeline.py +1 -1
  509. metadata/generated/schema/metadataIngestion/application.py +1 -1
  510. metadata/generated/schema/metadataIngestion/applicationPipeline.py +1 -1
  511. metadata/generated/schema/metadataIngestion/dashboardServiceMetadataPipeline.py +1 -1
  512. metadata/generated/schema/metadataIngestion/dataInsightPipeline.py +1 -1
  513. metadata/generated/schema/metadataIngestion/databaseServiceAutoClassificationPipeline.py +1 -1
  514. metadata/generated/schema/metadataIngestion/databaseServiceMetadataPipeline.py +1 -1
  515. metadata/generated/schema/metadataIngestion/databaseServiceProfilerPipeline.py +1 -1
  516. metadata/generated/schema/metadataIngestion/databaseServiceQueryLineagePipeline.py +9 -1
  517. metadata/generated/schema/metadataIngestion/databaseServiceQueryUsagePipeline.py +1 -1
  518. metadata/generated/schema/metadataIngestion/dbtPipeline.py +1 -1
  519. metadata/generated/schema/metadataIngestion/dbtconfig/__init__.py +1 -1
  520. metadata/generated/schema/metadataIngestion/dbtconfig/dbtAzureConfig.py +1 -1
  521. metadata/generated/schema/metadataIngestion/dbtconfig/dbtBucketDetails.py +1 -1
  522. metadata/generated/schema/metadataIngestion/dbtconfig/dbtCloudConfig.py +1 -1
  523. metadata/generated/schema/metadataIngestion/dbtconfig/dbtGCSConfig.py +1 -1
  524. metadata/generated/schema/metadataIngestion/dbtconfig/dbtHttpConfig.py +1 -1
  525. metadata/generated/schema/metadataIngestion/dbtconfig/dbtLocalConfig.py +1 -1
  526. metadata/generated/schema/metadataIngestion/dbtconfig/dbtS3Config.py +1 -1
  527. metadata/generated/schema/metadataIngestion/messagingServiceMetadataPipeline.py +1 -1
  528. metadata/generated/schema/metadataIngestion/metadataToElasticSearchPipeline.py +1 -1
  529. metadata/generated/schema/metadataIngestion/mlmodelServiceMetadataPipeline.py +1 -1
  530. metadata/generated/schema/metadataIngestion/pipelineServiceMetadataPipeline.py +1 -1
  531. metadata/generated/schema/metadataIngestion/searchServiceMetadataPipeline.py +2 -2
  532. metadata/generated/schema/metadataIngestion/storage/__init__.py +1 -1
  533. metadata/generated/schema/metadataIngestion/storage/containerMetadataConfig.py +1 -1
  534. metadata/generated/schema/metadataIngestion/storage/manifestMetadataConfig.py +1 -1
  535. metadata/generated/schema/metadataIngestion/storage/storageBucketDetails.py +1 -1
  536. metadata/generated/schema/metadataIngestion/storage/storageMetadataADLSConfig.py +1 -1
  537. metadata/generated/schema/metadataIngestion/storage/storageMetadataGCSConfig.py +1 -1
  538. metadata/generated/schema/metadataIngestion/storage/storageMetadataHttpConfig.py +1 -1
  539. metadata/generated/schema/metadataIngestion/storage/storageMetadataLocalConfig.py +1 -1
  540. metadata/generated/schema/metadataIngestion/storage/storageMetadataS3Config.py +1 -1
  541. metadata/generated/schema/metadataIngestion/storageServiceMetadataPipeline.py +1 -1
  542. metadata/generated/schema/metadataIngestion/testSuitePipeline.py +1 -1
  543. metadata/generated/schema/metadataIngestion/workflow.py +1 -1
  544. metadata/generated/schema/monitoring/__init__.py +1 -1
  545. metadata/generated/schema/monitoring/eventMonitorProvider.py +1 -1
  546. metadata/generated/schema/security/__init__.py +1 -1
  547. metadata/generated/schema/security/client/__init__.py +1 -1
  548. metadata/generated/schema/security/client/auth0SSOClientConfig.py +1 -1
  549. metadata/generated/schema/security/client/azureSSOClientConfig.py +1 -1
  550. metadata/generated/schema/security/client/customOidcSSOClientConfig.py +1 -1
  551. metadata/generated/schema/security/client/googleSSOClientConfig.py +1 -1
  552. metadata/generated/schema/security/client/oidcClientConfig.py +1 -1
  553. metadata/generated/schema/security/client/oktaSSOClientConfig.py +1 -1
  554. metadata/generated/schema/security/client/openMetadataJWTClientConfig.py +1 -1
  555. metadata/generated/schema/security/client/samlSSOClientConfig.py +1 -1
  556. metadata/generated/schema/security/credentials/__init__.py +1 -1
  557. metadata/generated/schema/security/credentials/accessTokenAuth.py +1 -1
  558. metadata/generated/schema/security/credentials/apiAccessTokenAuth.py +1 -1
  559. metadata/generated/schema/security/credentials/awsCredentials.py +1 -1
  560. metadata/generated/schema/security/credentials/azureCredentials.py +1 -1
  561. metadata/generated/schema/security/credentials/basicAuth.py +1 -1
  562. metadata/generated/schema/security/credentials/bitbucketCredentials.py +1 -1
  563. metadata/generated/schema/security/credentials/gcpCredentials.py +1 -1
  564. metadata/generated/schema/security/credentials/gcpExternalAccount.py +1 -1
  565. metadata/generated/schema/security/credentials/gcpValues.py +1 -1
  566. metadata/generated/schema/security/credentials/gitCredentials.py +1 -1
  567. metadata/generated/schema/security/credentials/githubCredentials.py +1 -1
  568. metadata/generated/schema/security/credentials/gitlabCredentials.py +1 -1
  569. metadata/generated/schema/security/sasl/__init__.py +1 -1
  570. metadata/generated/schema/security/sasl/saslClientConfig.py +1 -1
  571. metadata/generated/schema/security/secrets/__init__.py +1 -1
  572. metadata/generated/schema/security/secrets/secretsManagerClientLoader.py +1 -1
  573. metadata/generated/schema/security/secrets/secretsManagerConfiguration.py +1 -1
  574. metadata/generated/schema/security/secrets/secretsManagerProvider.py +1 -1
  575. metadata/generated/schema/security/securityConfiguration.py +1 -1
  576. metadata/generated/schema/security/ssl/__init__.py +1 -1
  577. metadata/generated/schema/security/ssl/validateSSLClientConfig.py +1 -1
  578. metadata/generated/schema/security/ssl/verifySSLConfig.py +1 -1
  579. metadata/generated/schema/settings/__init__.py +1 -1
  580. metadata/generated/schema/settings/settings.py +1 -1
  581. metadata/generated/schema/system/__init__.py +1 -1
  582. metadata/generated/schema/system/entityError.py +1 -1
  583. metadata/generated/schema/system/eventPublisherJob.py +1 -1
  584. metadata/generated/schema/system/indexingError.py +1 -1
  585. metadata/generated/schema/system/limitsResponse.py +1 -1
  586. metadata/generated/schema/system/ui/__init__.py +1 -1
  587. metadata/generated/schema/system/ui/knowledgePanel.py +1 -1
  588. metadata/generated/schema/system/ui/page.py +1 -1
  589. metadata/generated/schema/system/validationResponse.py +1 -1
  590. metadata/generated/schema/tests/__init__.py +1 -1
  591. metadata/generated/schema/tests/assigned.py +1 -1
  592. metadata/generated/schema/tests/basic.py +20 -20
  593. metadata/generated/schema/tests/customMetric.py +1 -1
  594. metadata/generated/schema/tests/dataQualityReport.py +1 -1
  595. metadata/generated/schema/tests/resolved.py +1 -1
  596. metadata/generated/schema/tests/testCase.py +1 -1
  597. metadata/generated/schema/tests/testCaseResolutionStatus.py +1 -1
  598. metadata/generated/schema/tests/testDefinition.py +1 -1
  599. metadata/generated/schema/tests/testSuite.py +1 -1
  600. metadata/generated/schema/type/__init__.py +1 -1
  601. metadata/generated/schema/type/apiSchema.py +1 -1
  602. metadata/generated/schema/type/assetCertification.py +1 -1
  603. metadata/generated/schema/type/auditLog.py +1 -1
  604. metadata/generated/schema/type/basic.py +8 -1
  605. metadata/generated/schema/type/bulkOperationResult.py +1 -1
  606. metadata/generated/schema/type/changeEvent.py +1 -1
  607. metadata/generated/schema/type/changeEventType.py +1 -1
  608. metadata/generated/schema/type/collectionDescriptor.py +1 -1
  609. metadata/generated/schema/type/csvDocumentation.py +1 -1
  610. metadata/generated/schema/type/csvErrorType.py +1 -1
  611. metadata/generated/schema/type/csvFile.py +1 -1
  612. metadata/generated/schema/type/csvImportResult.py +1 -1
  613. metadata/generated/schema/type/customProperties/__init__.py +1 -1
  614. metadata/generated/schema/type/customProperties/complexTypes.py +1 -1
  615. metadata/generated/schema/type/customProperties/enumConfig.py +1 -1
  616. metadata/generated/schema/type/customProperties/tableConfig.py +1 -1
  617. metadata/generated/schema/type/customProperty.py +1 -1
  618. metadata/generated/schema/type/dailyCount.py +1 -1
  619. metadata/generated/schema/type/databaseConnectionConfig.py +1 -1
  620. metadata/generated/schema/type/entityHierarchy.py +1 -1
  621. metadata/generated/schema/type/entityHistory.py +1 -1
  622. metadata/generated/schema/type/entityLineage.py +1 -1
  623. metadata/generated/schema/type/entityReference.py +1 -1
  624. metadata/generated/schema/type/entityReferenceList.py +1 -1
  625. metadata/generated/schema/type/entityRelationship.py +1 -1
  626. metadata/generated/schema/type/entityUsage.py +1 -1
  627. metadata/generated/schema/type/filterPattern.py +1 -1
  628. metadata/generated/schema/type/function.py +1 -1
  629. metadata/generated/schema/type/include.py +1 -1
  630. metadata/generated/schema/type/jdbcConnection.py +1 -1
  631. metadata/generated/schema/type/lifeCycle.py +1 -1
  632. metadata/generated/schema/type/paging.py +1 -1
  633. metadata/generated/schema/type/profile.py +1 -1
  634. metadata/generated/schema/type/queryParserData.py +1 -1
  635. metadata/generated/schema/type/reaction.py +1 -1
  636. metadata/generated/schema/type/schedule.py +1 -1
  637. metadata/generated/schema/type/schema.py +1 -1
  638. metadata/generated/schema/type/tableQuery.py +1 -1
  639. metadata/generated/schema/type/tableUsageCount.py +1 -1
  640. metadata/generated/schema/type/tagLabel.py +1 -1
  641. metadata/generated/schema/type/usageDetails.py +1 -1
  642. metadata/generated/schema/type/usageRequest.py +1 -1
  643. metadata/generated/schema/type/votes.py +1 -1
  644. metadata/ingestion/lineage/masker.py +1 -1
  645. metadata/ingestion/lineage/models.py +1 -2
  646. metadata/ingestion/lineage/parser.py +2 -2
  647. metadata/ingestion/lineage/sql_lineage.py +111 -5
  648. metadata/ingestion/ometa/mixins/query_mixin.py +2 -0
  649. metadata/ingestion/ometa/routes.py +4 -0
  650. metadata/ingestion/source/api/rest/metadata.py +33 -24
  651. metadata/ingestion/source/dashboard/looker/metadata.py +115 -13
  652. metadata/ingestion/source/dashboard/powerbi/client.py +150 -35
  653. metadata/ingestion/source/database/bigquery/metadata.py +39 -0
  654. metadata/ingestion/source/database/databricks/connection.py +8 -3
  655. metadata/ingestion/source/database/databricks/lineage.py +12 -24
  656. metadata/ingestion/source/database/databricks/metadata.py +8 -0
  657. metadata/ingestion/source/database/databricks/queries.py +24 -0
  658. metadata/ingestion/source/database/databricks/query_parser.py +11 -15
  659. metadata/ingestion/source/database/databricks/usage.py +7 -37
  660. metadata/ingestion/source/database/db2/connection.py +1 -1
  661. metadata/ingestion/source/database/db2/service_spec.py +1 -4
  662. metadata/ingestion/source/database/dbt/metadata.py +3 -1
  663. metadata/ingestion/source/database/druid/service_spec.py +1 -5
  664. metadata/ingestion/source/database/greenplum/service_spec.py +1 -5
  665. metadata/ingestion/source/database/hive/service_spec.py +1 -5
  666. metadata/ingestion/source/database/impala/service_spec.py +1 -5
  667. metadata/ingestion/source/database/lineage_source.py +12 -1
  668. metadata/ingestion/source/database/mariadb/service_spec.py +1 -9
  669. metadata/ingestion/source/database/pinotdb/service_spec.py +1 -5
  670. metadata/ingestion/source/database/postgres/usage.py +15 -0
  671. metadata/ingestion/source/database/query_parser_source.py +1 -0
  672. metadata/ingestion/source/database/redshift/metadata.py +31 -11
  673. metadata/ingestion/source/database/redshift/queries.py +5 -0
  674. metadata/ingestion/source/database/singlestore/service_spec.py +1 -6
  675. metadata/ingestion/source/database/snowflake/connection.py +10 -2
  676. metadata/ingestion/source/database/snowflake/lineage.py +3 -0
  677. metadata/ingestion/source/database/snowflake/metadata.py +3 -0
  678. metadata/ingestion/source/database/snowflake/queries.py +8 -8
  679. metadata/ingestion/source/database/snowflake/query_parser.py +1 -0
  680. metadata/ingestion/source/database/sqlite/service_spec.py +1 -5
  681. metadata/ingestion/source/database/teradata/service_spec.py +1 -5
  682. metadata/ingestion/source/database/trino/connection.py +13 -0
  683. metadata/ingestion/source/database/unitycatalog/lineage.py +56 -32
  684. metadata/ingestion/source/database/unitycatalog/query_parser.py +7 -0
  685. metadata/ingestion/source/database/unitycatalog/service_spec.py +4 -0
  686. metadata/ingestion/source/database/unitycatalog/usage.py +41 -2
  687. metadata/ingestion/source/database/usage_source.py +1 -1
  688. metadata/ingestion/source/pipeline/nifi/connection.py +4 -2
  689. metadata/profiler/interface/sqlalchemy/unity_catalog/sampler_interface.py +29 -0
  690. metadata/profiler/source/fetcher/config.py +4 -0
  691. metadata/profiler/source/fetcher/fetcher_strategy.py +19 -2
  692. metadata/sampler/sampler_interface.py +0 -3
  693. metadata/sampler/sqlalchemy/bigquery/sampler.py +1 -2
  694. metadata/sampler/sqlalchemy/sampler.py +22 -9
  695. {openmetadata_ingestion-1.6.3.2.dev1.dist-info → openmetadata_ingestion-1.6.4.0.dev0.dist-info}/METADATA +400 -381
  696. {openmetadata_ingestion-1.6.3.2.dev1.dist-info → openmetadata_ingestion-1.6.4.0.dev0.dist-info}/RECORD +700 -694
  697. {openmetadata_ingestion-1.6.3.2.dev1.dist-info → openmetadata_ingestion-1.6.4.0.dev0.dist-info}/LICENSE +0 -0
  698. {openmetadata_ingestion-1.6.3.2.dev1.dist-info → openmetadata_ingestion-1.6.4.0.dev0.dist-info}/WHEEL +0 -0
  699. {openmetadata_ingestion-1.6.3.2.dev1.dist-info → openmetadata_ingestion-1.6.4.0.dev0.dist-info}/entry_points.txt +0 -0
  700. {openmetadata_ingestion-1.6.3.2.dev1.dist-info → openmetadata_ingestion-1.6.4.0.dev0.dist-info}/top_level.txt +0 -0
@@ -47,7 +47,10 @@ from metadata.utils.logger import utils_logger
47
47
 
48
48
  logger = utils_logger()
49
49
 
50
-
50
+ GETGROUPS_DEFAULT_PARAMS = {"$top": "1", "$skip": "0"}
51
+ API_RESPONSE_MESSAGE_KEY = "message"
52
+ AUTH_TOKEN_MAX_RETRIES = 5
53
+ AUTH_TOKEN_RETRY_WAIT = 120
51
54
  # Similar inner methods with mode client. That's fine.
52
55
  # pylint: disable=duplicate-code
53
56
  class PowerBiApiClient:
@@ -59,6 +62,9 @@ class PowerBiApiClient:
59
62
 
60
63
  def __init__(self, config: PowerBIConnection):
61
64
  self.config = config
65
+ self.pagination_entity_per_page = min(
66
+ 100, self.config.pagination_entity_per_page
67
+ )
62
68
  self.msal_client = msal.ConfidentialClientApplication(
63
69
  client_id=self.config.clientId,
64
70
  client_credential=self.config.clientSecret.get_secret_value(),
@@ -82,42 +88,84 @@ class PowerBiApiClient:
82
88
  """
83
89
  logger.info("Generating PowerBi access token")
84
90
 
85
- response_data = self.msal_client.acquire_token_silent(
86
- scopes=self.config.scope, account=None
87
- )
88
-
91
+ response_data = self.get_auth_token_from_cache()
89
92
  if not response_data:
90
93
  logger.info("Token does not exist in the cache. Getting a new token.")
91
- response_data = self.msal_client.acquire_token_for_client(
92
- scopes=self.config.scope
93
- )
94
+ response_data = self.generate_new_auth_token()
95
+ response_data = response_data or {}
94
96
  auth_response = PowerBiToken(**response_data)
95
97
  if not auth_response.access_token:
96
98
  raise InvalidSourceException(
97
- "Failed to generate the PowerBi access token. Please check provided config"
99
+ f"Failed to generate the PowerBi access token. Please check provided config {response_data}"
98
100
  )
99
101
 
100
102
  logger.info("PowerBi Access Token generated successfully")
101
103
  return auth_response.access_token, auth_response.expires_in
102
104
 
105
+ def generate_new_auth_token(self) -> Optional[dict]:
106
+ """generate new auth token"""
107
+ retry = AUTH_TOKEN_MAX_RETRIES
108
+ while retry:
109
+ try:
110
+ response_data = self.msal_client.acquire_token_for_client(
111
+ scopes=self.config.scope
112
+ )
113
+ return response_data
114
+ except Exception as exc:
115
+ logger.debug(traceback.format_exc())
116
+ logger.warning(f"Error generating new auth token: {exc}")
117
+ # wait for time and retry
118
+ retry -= 1
119
+ if retry:
120
+ logger.warning(
121
+ f"Error generating new token: {exc}, "
122
+ f"sleep {AUTH_TOKEN_RETRY_WAIT} seconds retrying {retry} more times.."
123
+ )
124
+ sleep(AUTH_TOKEN_RETRY_WAIT)
125
+ else:
126
+ logger.warning(
127
+ "Could not generate new token after maximum retries, "
128
+ "Please check provided configs"
129
+ )
130
+ return None
131
+
132
+ def get_auth_token_from_cache(self) -> Optional[dict]:
133
+ """fetch auth token from cache"""
134
+ retry = AUTH_TOKEN_MAX_RETRIES
135
+ while retry:
136
+ try:
137
+ response_data = self.msal_client.acquire_token_silent(
138
+ scopes=self.config.scope, account=None
139
+ )
140
+ return response_data
141
+ except Exception as exc:
142
+ logger.debug(traceback.format_exc())
143
+ logger.warning(f"Error getting token from cache: {exc}")
144
+ retry -= 1
145
+ if retry:
146
+ logger.warning(
147
+ f"Error getting token from cache: {exc}, "
148
+ f"sleep {AUTH_TOKEN_RETRY_WAIT} seconds retrying {retry} more times.."
149
+ )
150
+ sleep(AUTH_TOKEN_RETRY_WAIT)
151
+ else:
152
+ logger.warning(
153
+ "Could not get token from cache after maximum retries, "
154
+ "Please check provided configs"
155
+ )
156
+ return None
157
+
103
158
  def fetch_dashboards(self) -> Optional[List[PowerBIDashboard]]:
104
159
  """Get dashboards method
105
160
  Returns:
106
161
  List[PowerBIDashboard]
107
162
  """
108
- try:
109
- if self.config.useAdminApis:
110
- response_data = self.client.get("/myorg/admin/dashboards")
111
- response = DashboardsResponse(**response_data)
112
- return response.value
113
- group = self.fetch_all_workspaces()[0]
114
- return self.fetch_all_org_dashboards(group_id=group.id)
115
-
116
- except Exception as exc: # pylint: disable=broad-except
117
- logger.debug(traceback.format_exc())
118
- logger.warning(f"Error fetching dashboards: {exc}")
119
-
120
- return None
163
+ if self.config.useAdminApis:
164
+ response_data = self.client.get("/myorg/admin/dashboards")
165
+ response = DashboardsResponse(**response_data)
166
+ return response.value
167
+ group = self.fetch_all_workspaces()[0]
168
+ return self.fetch_all_org_dashboards(group_id=group.id)
121
169
 
122
170
  def fetch_all_org_dashboards(
123
171
  self, group_id: str
@@ -205,6 +253,7 @@ class PowerBiApiClient:
205
253
 
206
254
  return None
207
255
 
256
+ # pylint: disable=too-many-branches,too-many-statements
208
257
  def fetch_all_workspaces(self) -> Optional[List[Group]]:
209
258
  """Method to fetch all powerbi workspace details
210
259
  Returns:
@@ -213,28 +262,94 @@ class PowerBiApiClient:
213
262
  try:
214
263
  admin = "admin/" if self.config.useAdminApis else ""
215
264
  api_url = f"/myorg/{admin}groups"
216
- entities_per_page = self.config.pagination_entity_per_page
217
- params_data = {"$top": "1"}
218
- response_data = self.client.get(api_url, data=params_data)
219
- response = GroupsResponse(**response_data)
220
- count = response.odata_count
265
+ entities_per_page = self.pagination_entity_per_page
266
+ failed_indexes = []
267
+ params_data = GETGROUPS_DEFAULT_PARAMS
268
+ response = self.client.get(api_url, data=params_data)
269
+ if (
270
+ not response
271
+ or API_RESPONSE_MESSAGE_KEY in response
272
+ or len(response) != len(GroupsResponse.__annotations__)
273
+ ):
274
+ logger.warning("Error fetching workspaces between results: (0, 1)")
275
+ if response and response.get(API_RESPONSE_MESSAGE_KEY):
276
+ logger.warning(
277
+ "Error message from API response: "
278
+ f"{str(response.get(API_RESPONSE_MESSAGE_KEY))}"
279
+ )
280
+ failed_indexes.append(params_data)
281
+ count = 0
282
+ else:
283
+ try:
284
+ response = GroupsResponse(**response)
285
+ count = response.odata_count
286
+ except Exception as exc:
287
+ logger.warning(f"Error processing GetGroups response: {exc}")
288
+ count = 0
221
289
  indexes = math.ceil(count / entities_per_page)
222
-
223
290
  workspaces = []
224
291
  for index in range(indexes):
225
292
  params_data = {
226
293
  "$top": str(entities_per_page),
227
294
  "$skip": str(index * entities_per_page),
228
295
  }
229
- response_data = self.client.get(api_url, data=params_data)
230
- if not response_data:
231
- logger.error(
232
- "Error fetching workspaces between results: "
233
- f"{str(index * entities_per_page)} - {str(entities_per_page)}"
296
+ response = self.client.get(api_url, data=params_data)
297
+ if (
298
+ not response
299
+ or API_RESPONSE_MESSAGE_KEY in response
300
+ or len(response) != len(GroupsResponse.__annotations__)
301
+ ):
302
+ index_range = (
303
+ int(params_data.get("$skip")),
304
+ int(params_data.get("$skip")) + int(params_data.get("$top")),
305
+ )
306
+ logger.warning(
307
+ f"Error fetching workspaces between results: {str(index_range)}"
234
308
  )
309
+ if response and response.get(API_RESPONSE_MESSAGE_KEY):
310
+ logger.warning(
311
+ "Error message from API response: "
312
+ f"{str(response.get(API_RESPONSE_MESSAGE_KEY))}"
313
+ )
314
+ failed_indexes.append(params_data)
235
315
  continue
236
- response = GroupsResponse(**response_data)
237
- workspaces.extend(response.value)
316
+ try:
317
+ response = GroupsResponse(**response)
318
+ workspaces.extend(response.value)
319
+ except Exception as exc:
320
+ logger.warning(f"Error processing GetGroups response: {exc}")
321
+
322
+ if failed_indexes:
323
+ logger.info(
324
+ "Retrying one more time on failed indexes to get workspaces"
325
+ )
326
+ for params_data in failed_indexes:
327
+ response = self.client.get(api_url, data=params_data)
328
+ if (
329
+ not response
330
+ or API_RESPONSE_MESSAGE_KEY in response
331
+ or len(response) != len(GroupsResponse.__annotations__)
332
+ ):
333
+ index_range = (
334
+ int(params_data.get("$skip")),
335
+ int(params_data.get("$skip"))
336
+ + int(params_data.get("$top")),
337
+ )
338
+ logger.warning(
339
+ f"Workspaces between results {str(index_range)} "
340
+ "could not be fetched on multiple attempts"
341
+ )
342
+ if response and response.get(API_RESPONSE_MESSAGE_KEY):
343
+ logger.warning(
344
+ "Error message from API response: "
345
+ f"{str(response.get(API_RESPONSE_MESSAGE_KEY))}"
346
+ )
347
+ continue
348
+ try:
349
+ response = GroupsResponse(**response)
350
+ workspaces.extend(response.value)
351
+ except Exception as exc:
352
+ logger.warning(f"Error processing GetGroups response: {exc}")
238
353
  return workspaces
239
354
  except Exception as exc: # pylint: disable=broad-except
240
355
  logger.debug(traceback.format_exc())
@@ -34,9 +34,11 @@ from metadata.generated.schema.entity.data.database import Database
34
34
  from metadata.generated.schema.entity.data.databaseSchema import DatabaseSchema
35
35
  from metadata.generated.schema.entity.data.storedProcedure import StoredProcedureCode
36
36
  from metadata.generated.schema.entity.data.table import (
37
+ ConstraintType,
37
38
  PartitionColumnDetails,
38
39
  PartitionIntervalTypes,
39
40
  Table,
41
+ TableConstraint,
40
42
  TablePartition,
41
43
  TableType,
42
44
  )
@@ -96,6 +98,7 @@ from metadata.ingestion.source.database.life_cycle_query_mixin import (
96
98
  from metadata.ingestion.source.database.multi_db_source import MultiDBSource
97
99
  from metadata.utils import fqn
98
100
  from metadata.utils.credentials import GOOGLE_CREDENTIALS
101
+ from metadata.utils.execution_time_tracker import calculate_execution_time
99
102
  from metadata.utils.filters import filter_by_database, filter_by_schema
100
103
  from metadata.utils.logger import ingestion_logger
101
104
  from metadata.utils.sqlalchemy_utils import (
@@ -657,6 +660,42 @@ class BigquerySource(LifeCycleQueryMixin, CommonDbSourceService, MultiDBSource):
657
660
  )
658
661
  return None
659
662
 
663
+ @calculate_execution_time()
664
+ def update_table_constraints(
665
+ self,
666
+ table_name,
667
+ schema_name,
668
+ db_name,
669
+ table_constraints,
670
+ foreign_columns,
671
+ columns,
672
+ ) -> List[TableConstraint]:
673
+ """
674
+ From topology.
675
+ process the table constraints of all tables
676
+ """
677
+ table_constraints = super().update_table_constraints(
678
+ table_name,
679
+ schema_name,
680
+ db_name,
681
+ table_constraints,
682
+ foreign_columns,
683
+ columns,
684
+ )
685
+ try:
686
+ table = self.client.get_table(fqn._build(db_name, schema_name, table_name))
687
+ if hasattr(table, "clustering_fields") and table.clustering_fields:
688
+ table_constraints.append(
689
+ TableConstraint(
690
+ constraintType=ConstraintType.CLUSTER_KEY,
691
+ columns=table.clustering_fields,
692
+ )
693
+ )
694
+ except Exception as exc:
695
+ logger.warning(f"Error getting clustering fields for {table_name}: {exc}")
696
+ logger.debug(traceback.format_exc())
697
+ return table_constraints
698
+
660
699
  def get_table_partition_details(
661
700
  self, table_name: str, schema_name: str, inspector: Inspector
662
701
  ) -> Tuple[bool, Optional[TablePartition]]:
@@ -38,9 +38,9 @@ from metadata.ingestion.connections.test_connections import (
38
38
  test_connection_steps,
39
39
  )
40
40
  from metadata.ingestion.ometa.ometa_api import OpenMetadata
41
- from metadata.ingestion.source.database.databricks.client import DatabricksClient
42
41
  from metadata.ingestion.source.database.databricks.queries import (
43
42
  DATABRICKS_GET_CATALOGS,
43
+ DATABRICKS_SQL_STATEMENT_TEST,
44
44
  )
45
45
  from metadata.utils.constants import THREE_MIN
46
46
  from metadata.utils.logger import ingestion_logger
@@ -81,7 +81,6 @@ def test_connection(
81
81
  Test connection. This can be executed either as part
82
82
  of a metadata workflow or during an Automation Workflow
83
83
  """
84
- client = DatabricksClient(service_connection)
85
84
 
86
85
  def test_database_query(engine: Engine, statement: str):
87
86
  """
@@ -106,7 +105,13 @@ def test_connection(
106
105
  engine=connection,
107
106
  statement=DATABRICKS_GET_CATALOGS,
108
107
  ),
109
- "GetQueries": client.test_query_api_access,
108
+ "GetQueries": partial(
109
+ test_database_query,
110
+ engine=connection,
111
+ statement=DATABRICKS_SQL_STATEMENT_TEST.format(
112
+ query_history=service_connection.queryHistoryTable
113
+ ),
114
+ ),
110
115
  }
111
116
 
112
117
  return test_connection_steps(
@@ -11,12 +11,10 @@
11
11
  """
12
12
  Databricks lineage module
13
13
  """
14
- import traceback
15
- from datetime import datetime
16
- from typing import Iterator
17
14
 
18
- from metadata.generated.schema.type.basic import DateTime
19
- from metadata.generated.schema.type.tableQuery import TableQuery
15
+ from metadata.ingestion.source.database.databricks.queries import (
16
+ DATABRICKS_SQL_STATEMENT,
17
+ )
20
18
  from metadata.ingestion.source.database.databricks.query_parser import (
21
19
  DatabricksQueryParserSource,
22
20
  )
@@ -31,23 +29,13 @@ class DatabricksLineageSource(DatabricksQueryParserSource, LineageSource):
31
29
  Databricks Lineage Legacy Source
32
30
  """
33
31
 
34
- def yield_table_query(self) -> Iterator[TableQuery]:
35
- data = self.client.list_query_history(
36
- start_date=self.start,
37
- end_date=self.end,
32
+ sql_stmt = DATABRICKS_SQL_STATEMENT
33
+
34
+ filters = """
35
+ AND (
36
+ lower(statement_text) LIKE '%%create%%select%%'
37
+ OR lower(statement_text) LIKE '%%insert%%into%%select%%'
38
+ OR lower(statement_text) LIKE '%%update%%'
39
+ OR lower(statement_text) LIKE '%%merge%%'
38
40
  )
39
- for row in data or []:
40
- try:
41
- if self.client.is_query_valid(row):
42
- yield TableQuery(
43
- dialect=self.dialect.value,
44
- query=row.get("query_text"),
45
- userName=row.get("user_name"),
46
- startTime=str(row.get("query_start_time_ms")),
47
- endTime=str(row.get("execution_end_time_ms")),
48
- analysisDate=DateTime(datetime.now()),
49
- serviceName=self.config.serviceName,
50
- )
51
- except Exception as exc:
52
- logger.debug(traceback.format_exc())
53
- logger.warning(f"Error processing query_dict {row}: {exc}")
41
+ """
@@ -765,6 +765,8 @@ class DatabricksSource(ExternalTableLineageMixin, CommonDbSourceService, MultiDB
765
765
  table_name=table_name,
766
766
  schema=schema_name,
767
767
  )
768
+ found_location = False
769
+ log_location = None
768
770
  for result in list(cursor):
769
771
  data = result.values()
770
772
  if data[0] and data[0].strip() == "Comment":
@@ -777,6 +779,12 @@ class DatabricksSource(ExternalTableLineageMixin, CommonDbSourceService, MultiDB
777
779
  if data and data[1] and not data[1].startswith("dbfs")
778
780
  else None
779
781
  )
782
+ found_location = True
783
+ log_location = data[1]
784
+ if found_location and log_location:
785
+ logger.debug(f"Table {schema_name}.{table_name} has location {log_location}")
786
+ else:
787
+ logger.debug(f"Table {schema_name}.{table_name} does not have location")
780
788
 
781
789
  # Catch any exception without breaking the ingestion
782
790
  except Exception as exc: # pylint: disable=broad-except
@@ -14,6 +14,30 @@ SQL Queries used during ingestion
14
14
 
15
15
  import textwrap
16
16
 
17
+ DATABRICKS_SQL_STATEMENT = textwrap.dedent(
18
+ """
19
+ SELECT
20
+ statement_type AS query_type,
21
+ statement_text AS query_text,
22
+ executed_by AS user_name,
23
+ start_time AS start_time,
24
+ null AS database_name,
25
+ null AS schema_name,
26
+ end_time AS end_time,
27
+ total_duration_ms/1000 AS duration
28
+ from {query_history}
29
+ WHERE statement_text NOT LIKE '/* {{"app": "OpenMetadata", %%}} */%%'
30
+ AND statement_text NOT LIKE '/* {{"app": "dbt", %%}} */%%'
31
+ AND start_time between to_timestamp('{start_time}') and to_timestamp('{end_time}')
32
+ {filters}
33
+ LIMIT {result_limit}
34
+ """
35
+ )
36
+
37
+ DATABRICKS_SQL_STATEMENT_TEST = """
38
+ SELECT statement_text from {query_history} LIMIT 1
39
+ """
40
+
17
41
  DATABRICKS_VIEW_DEFINITIONS = textwrap.dedent(
18
42
  """
19
43
  select
@@ -22,7 +22,6 @@ from metadata.generated.schema.metadataIngestion.workflow import (
22
22
  )
23
23
  from metadata.ingestion.api.steps import InvalidSourceException
24
24
  from metadata.ingestion.ometa.ometa_api import OpenMetadata
25
- from metadata.ingestion.source.database.databricks.client import DatabricksClient
26
25
  from metadata.ingestion.source.database.query_parser_source import QueryParserSource
27
26
  from metadata.utils.logger import ingestion_logger
28
27
 
@@ -36,18 +35,6 @@ class DatabricksQueryParserSource(QueryParserSource, ABC):
36
35
 
37
36
  filters: str
38
37
 
39
- def _init_super(
40
- self,
41
- config: WorkflowSource,
42
- metadata: OpenMetadata,
43
- ):
44
- super().__init__(config, metadata, False)
45
-
46
- # pylint: disable=super-init-not-called
47
- def __init__(self, config: WorkflowSource, metadata: OpenMetadata):
48
- self._init_super(config=config, metadata=metadata)
49
- self.client = DatabricksClient(self.service_connection)
50
-
51
38
  @classmethod
52
39
  def create(
53
40
  cls, config_dict, metadata: OpenMetadata, pipeline_name: Optional[str] = None
@@ -61,7 +48,16 @@ class DatabricksQueryParserSource(QueryParserSource, ABC):
61
48
  )
62
49
  return cls(config, metadata)
63
50
 
64
- def prepare(self):
51
+ def get_sql_statement(self, start_time, end_time):
65
52
  """
66
- By default, there's nothing to prepare
53
+ returns sql statement to fetch query logs.
54
+
55
+ Override if we have specific parameters
67
56
  """
57
+ return self.sql_stmt.format(
58
+ start_time=start_time,
59
+ end_time=end_time,
60
+ filters=self.get_filters(),
61
+ result_limit=self.source_config.resultLimit,
62
+ query_history=self.service_connection.queryHistoryTable,
63
+ )
@@ -11,12 +11,10 @@
11
11
  """
12
12
  Databricks usage module
13
13
  """
14
- import traceback
15
- from datetime import datetime
16
- from typing import Iterable
17
14
 
18
- from metadata.generated.schema.type.basic import DateTime
19
- from metadata.generated.schema.type.tableQuery import TableQueries, TableQuery
15
+ from metadata.ingestion.source.database.databricks.queries import (
16
+ DATABRICKS_SQL_STATEMENT,
17
+ )
20
18
  from metadata.ingestion.source.database.databricks.query_parser import (
21
19
  DatabricksQueryParserSource,
22
20
  )
@@ -31,36 +29,8 @@ class DatabricksUsageSource(DatabricksQueryParserSource, UsageSource):
31
29
  Databricks Usage Source
32
30
  """
33
31
 
34
- def yield_table_queries(self) -> Iterable[TableQuery]:
35
- """
36
- Method to yield TableQueries
37
- """
38
- queries = []
39
- data = self.client.list_query_history(
40
- start_date=self.start,
41
- end_date=self.end,
42
- )
43
- for row in data or []:
44
- try:
45
- if self.client.is_query_valid(row):
46
- queries.append(
47
- TableQuery(
48
- dialect=self.dialect.value,
49
- query=row.get("query_text"),
50
- userName=row.get("user_name"),
51
- startTime=str(row.get("query_start_time_ms")),
52
- endTime=str(row.get("execution_end_time_ms")),
53
- analysisDate=DateTime(datetime.now()),
54
- serviceName=self.config.serviceName,
55
- duration=row.get("duration")
56
- if row.get("duration")
57
- else None,
58
- )
59
- )
60
- except Exception as err:
61
- logger.debug(traceback.format_exc())
62
- logger.warning(
63
- f"Failed to process query {row.get('query_text')} due to: {err}"
64
- )
32
+ sql_stmt = DATABRICKS_SQL_STATEMENT
65
33
 
66
- yield TableQueries(queries=queries)
34
+ filters = """
35
+ AND statement_type NOT IN ('SHOW', 'DESCRIBE', 'USE')
36
+ """
@@ -50,7 +50,7 @@ def get_connection(connection: Db2Connection) -> Engine:
50
50
  "w",
51
51
  encoding=UTF_8,
52
52
  ) as file:
53
- file.write(connection.license)
53
+ file.write(connection.license.encode(UTF_8).decode("unicode-escape"))
54
54
 
55
55
  return create_generic_db_connection(
56
56
  connection=connection,
@@ -1,4 +1,3 @@
1
- from metadata.ingestion.source.database.db2.lineage import Db2LineageSource
2
1
  from metadata.ingestion.source.database.db2.metadata import Db2Source
3
2
  from metadata.profiler.interface.sqlalchemy.db2.profiler_interface import (
4
3
  DB2ProfilerInterface,
@@ -6,7 +5,5 @@ from metadata.profiler.interface.sqlalchemy.db2.profiler_interface import (
6
5
  from metadata.utils.service_spec.default import DefaultDatabaseSpec
7
6
 
8
7
  ServiceSpec = DefaultDatabaseSpec(
9
- metadata_source_class=Db2Source,
10
- profiler_class=DB2ProfilerInterface,
11
- lineage_source_class=Db2LineageSource,
8
+ metadata_source_class=Db2Source, profiler_class=DB2ProfilerInterface
12
9
  )
@@ -1093,7 +1093,9 @@ class DbtSource(DbtServiceSource):
1093
1093
 
1094
1094
  # Create the test case result object
1095
1095
  test_case_result = TestCaseResult(
1096
- timestamp=Timestamp(datetime_to_timestamp(dbt_timestamp)),
1096
+ timestamp=Timestamp(
1097
+ datetime_to_timestamp(dbt_timestamp, milliseconds=True)
1098
+ ),
1097
1099
  testCaseStatus=test_case_status,
1098
1100
  testResultValue=[
1099
1101
  TestResultValue(
@@ -1,8 +1,4 @@
1
- from metadata.ingestion.source.database.druid.lineage import DruidLineageSource
2
1
  from metadata.ingestion.source.database.druid.metadata import DruidSource
3
2
  from metadata.utils.service_spec.default import DefaultDatabaseSpec
4
3
 
5
- ServiceSpec = DefaultDatabaseSpec(
6
- metadata_source_class=DruidSource,
7
- lineage_source_class=DruidLineageSource,
8
- )
4
+ ServiceSpec = DefaultDatabaseSpec(metadata_source_class=DruidSource)
@@ -1,8 +1,4 @@
1
- from metadata.ingestion.source.database.greenplum.lineage import GreenplumLineageSource
2
1
  from metadata.ingestion.source.database.greenplum.metadata import GreenplumSource
3
2
  from metadata.utils.service_spec.default import DefaultDatabaseSpec
4
3
 
5
- ServiceSpec = DefaultDatabaseSpec(
6
- metadata_source_class=GreenplumSource,
7
- lineage_source_class=GreenplumLineageSource,
8
- )
4
+ ServiceSpec = DefaultDatabaseSpec(metadata_source_class=GreenplumSource)
@@ -1,8 +1,4 @@
1
- from metadata.ingestion.source.database.hive.lineage import HiveLineageSource
2
1
  from metadata.ingestion.source.database.hive.metadata import HiveSource
3
2
  from metadata.utils.service_spec.default import DefaultDatabaseSpec
4
3
 
5
- ServiceSpec = DefaultDatabaseSpec(
6
- metadata_source_class=HiveSource,
7
- lineage_source_class=HiveLineageSource,
8
- )
4
+ ServiceSpec = DefaultDatabaseSpec(metadata_source_class=HiveSource)
@@ -1,8 +1,4 @@
1
- from metadata.ingestion.source.database.impala.lineage import ImpalaLineageSource
2
1
  from metadata.ingestion.source.database.impala.metadata import ImpalaSource
3
2
  from metadata.utils.service_spec.default import DefaultDatabaseSpec
4
3
 
5
- ServiceSpec = DefaultDatabaseSpec(
6
- metadata_source_class=ImpalaSource,
7
- lineage_source_class=ImpalaLineageSource,
8
- )
4
+ ServiceSpec = DefaultDatabaseSpec(metadata_source_class=ImpalaSource)
@@ -26,7 +26,10 @@ from metadata.generated.schema.type.basic import FullyQualifiedEntityName, SqlQu
26
26
  from metadata.generated.schema.type.tableQuery import TableQuery
27
27
  from metadata.ingestion.api.models import Either
28
28
  from metadata.ingestion.lineage.models import ConnectionTypeDialectMapper, Dialect
29
- from metadata.ingestion.lineage.sql_lineage import get_lineage_by_query
29
+ from metadata.ingestion.lineage.sql_lineage import (
30
+ get_lineage_by_graph,
31
+ get_lineage_by_query,
32
+ )
30
33
  from metadata.ingestion.models.ometa_lineage import OMetaLineageRequest
31
34
  from metadata.ingestion.models.topology import Queue
32
35
  from metadata.ingestion.source.database.query_parser_source import QueryParserSource
@@ -195,6 +198,12 @@ class LineageSource(QueryParserSource, ABC):
195
198
  def query_lineage_generator(
196
199
  self, table_queries: List[TableQuery], queue: Queue
197
200
  ) -> Iterable[Either[Union[AddLineageRequest, CreateQueryRequest]]]:
201
+ if self.graph is None and self.source_config.enableTempTableLineage:
202
+ import networkx as nx
203
+
204
+ # Create a directed graph
205
+ self.graph = nx.DiGraph()
206
+
198
207
  for table_query in table_queries or []:
199
208
  if not self._query_already_processed(table_query):
200
209
  lineages: Iterable[Either[AddLineageRequest]] = get_lineage_by_query(
@@ -205,6 +214,7 @@ class LineageSource(QueryParserSource, ABC):
205
214
  schema_name=table_query.databaseSchema,
206
215
  dialect=self.dialect,
207
216
  timeout_seconds=self.source_config.parsingTimeoutLimit,
217
+ graph=self.graph,
208
218
  )
209
219
 
210
220
  for lineage_request in lineages or []:
@@ -298,6 +308,7 @@ class LineageSource(QueryParserSource, ABC):
298
308
  if self.source_config.processQueryLineage:
299
309
  if hasattr(self.service_connection, "supportsLineageExtraction"):
300
310
  yield from self.yield_query_lineage() or []
311
+ yield from get_lineage_by_graph(graph=self.graph)
301
312
  else:
302
313
  logger.warning(
303
314
  f"Lineage extraction is not supported for {str(self.service_connection.type.value)} connection"