openmetadata-ingestion 1.5.11.0__py3-none-any.whl → 1.6.0.0rc1__py3-none-any.whl

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

Potentially problematic release.


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

Files changed (914) hide show
  1. _openmetadata_testutils/dict.py +23 -0
  2. _openmetadata_testutils/pydantic/test_utils.py +22 -2
  3. _openmetadata_testutils/pytest_openmetadata/__init__.py +0 -0
  4. _openmetadata_testutils/pytest_openmetadata/plugin.py +86 -0
  5. _openmetadata_testutils/pytest_openmetadata/test_utils.py +99 -0
  6. metadata/cli/app.py +1 -0
  7. metadata/cli/dataquality.py +4 -1
  8. metadata/cli/ingest.py +2 -1
  9. metadata/cli/lineage.py +2 -1
  10. metadata/cli/profile.py +4 -1
  11. metadata/cli/usage.py +2 -1
  12. metadata/config/common.py +3 -1
  13. metadata/data_quality/api/models.py +2 -1
  14. metadata/data_quality/builders/i_validator_builder.py +5 -2
  15. metadata/data_quality/interface/pandas/pandas_test_suite_interface.py +1 -0
  16. metadata/data_quality/interface/sqlalchemy/sqa_test_suite_interface.py +1 -0
  17. metadata/data_quality/interface/test_suite_interface.py +6 -11
  18. metadata/data_quality/interface/test_suite_interface_factory.py +63 -33
  19. metadata/data_quality/source/test_suite.py +1 -1
  20. metadata/data_quality/validations/base_test_handler.py +3 -3
  21. metadata/data_quality/validations/column/base/columnValuesToBeInSet.py +4 -2
  22. metadata/data_quality/validations/models.py +6 -1
  23. metadata/data_quality/validations/runtime_param_setter/table_diff_params_setter.py +7 -2
  24. metadata/data_quality/validations/table/sqlalchemy/tableDiff.py +175 -3
  25. metadata/examples/workflows/datafactory.yaml +29 -0
  26. metadata/examples/workflows/matillion.yaml +31 -0
  27. metadata/examples/workflows/rest.yaml +20 -0
  28. metadata/examples/workflows/sigma.yaml +25 -0
  29. metadata/examples/workflows/trino_profiler.yaml +20 -0
  30. metadata/generated/antlr/EntityLinkLexer.py +70 -99
  31. metadata/generated/antlr/FqnLexer.py +15 -15
  32. metadata/generated/schema/analytics/__init__.py +1 -1
  33. metadata/generated/schema/analytics/basic.py +1 -1
  34. metadata/generated/schema/analytics/reportData.py +1 -1
  35. metadata/generated/schema/analytics/reportDataType/__init__.py +1 -1
  36. metadata/generated/schema/analytics/reportDataType/aggregatedCostAnalysisReportData.py +1 -1
  37. metadata/generated/schema/analytics/reportDataType/entityReportData.py +1 -1
  38. metadata/generated/schema/analytics/reportDataType/rawCostAnalysisReportData.py +1 -1
  39. metadata/generated/schema/analytics/reportDataType/webAnalyticEntityViewReportData.py +1 -1
  40. metadata/generated/schema/analytics/reportDataType/webAnalyticUserActivityReportData.py +1 -1
  41. metadata/generated/schema/analytics/webAnalyticEvent.py +1 -1
  42. metadata/generated/schema/analytics/webAnalyticEventData.py +1 -1
  43. metadata/generated/schema/analytics/webAnalyticEventType/__init__.py +1 -1
  44. metadata/generated/schema/analytics/webAnalyticEventType/customEvent.py +1 -1
  45. metadata/generated/schema/analytics/webAnalyticEventType/pageViewEvent.py +1 -1
  46. metadata/generated/schema/api/__init__.py +1 -1
  47. metadata/generated/schema/api/addGlossaryToAssetsRequest.py +1 -1
  48. metadata/generated/schema/api/addTagToAssetsRequest.py +43 -0
  49. metadata/generated/schema/api/analytics/__init__.py +1 -1
  50. metadata/generated/schema/api/analytics/createWebAnalyticEvent.py +1 -1
  51. metadata/generated/schema/api/automations/__init__.py +1 -1
  52. metadata/generated/schema/api/automations/createWorkflow.py +1 -1
  53. metadata/generated/schema/api/bulkAssets.py +1 -1
  54. metadata/generated/schema/api/classification/__init__.py +1 -1
  55. metadata/generated/schema/api/classification/createClassification.py +1 -1
  56. metadata/generated/schema/api/classification/createTag.py +1 -1
  57. metadata/generated/schema/api/classification/loadTags.py +1 -1
  58. metadata/generated/schema/api/createBot.py +1 -1
  59. metadata/generated/schema/api/createEventPublisherJob.py +1 -1
  60. metadata/generated/schema/api/createType.py +1 -1
  61. metadata/generated/schema/api/data/__init__.py +1 -1
  62. metadata/generated/schema/api/data/createAPICollection.py +1 -1
  63. metadata/generated/schema/api/data/createAPIEndpoint.py +1 -1
  64. metadata/generated/schema/api/data/createChart.py +1 -1
  65. metadata/generated/schema/api/data/createContainer.py +1 -1
  66. metadata/generated/schema/api/data/createCustomProperty.py +1 -1
  67. metadata/generated/schema/api/data/createDashboard.py +1 -1
  68. metadata/generated/schema/api/data/createDashboardDataModel.py +1 -1
  69. metadata/generated/schema/api/data/createDatabase.py +1 -1
  70. metadata/generated/schema/api/data/createDatabaseSchema.py +1 -1
  71. metadata/generated/schema/api/data/createGlossary.py +1 -1
  72. metadata/generated/schema/api/data/createGlossaryTerm.py +1 -1
  73. metadata/generated/schema/api/data/createMetric.py +83 -0
  74. metadata/generated/schema/api/data/createMlModel.py +1 -1
  75. metadata/generated/schema/api/data/createPipeline.py +1 -1
  76. metadata/generated/schema/api/data/createQuery.py +1 -1
  77. metadata/generated/schema/api/data/createSearchIndex.py +1 -1
  78. metadata/generated/schema/api/data/createStoredProcedure.py +1 -1
  79. metadata/generated/schema/api/data/createTable.py +1 -1
  80. metadata/generated/schema/api/data/createTableProfile.py +1 -1
  81. metadata/generated/schema/api/data/createTopic.py +1 -1
  82. metadata/generated/schema/api/data/loadGlossary.py +1 -1
  83. metadata/generated/schema/api/data/restoreEntity.py +1 -1
  84. metadata/generated/schema/api/dataInsight/__init__.py +1 -1
  85. metadata/generated/schema/api/dataInsight/createDataInsightChart.py +1 -1
  86. metadata/generated/schema/api/dataInsight/custom/__init__.py +1 -1
  87. metadata/generated/schema/api/dataInsight/custom/createDataInsightCustomChart.py +1 -1
  88. metadata/generated/schema/api/dataInsight/kpi/__init__.py +1 -1
  89. metadata/generated/schema/api/dataInsight/kpi/createKpiRequest.py +1 -1
  90. metadata/generated/schema/api/docStore/__init__.py +1 -1
  91. metadata/generated/schema/api/docStore/createDocument.py +1 -1
  92. metadata/generated/schema/api/domains/__init__.py +1 -1
  93. metadata/generated/schema/api/domains/createDataProduct.py +1 -1
  94. metadata/generated/schema/api/domains/createDomain.py +1 -1
  95. metadata/generated/schema/api/feed/__init__.py +1 -1
  96. metadata/generated/schema/api/feed/closeTask.py +1 -1
  97. metadata/generated/schema/api/feed/createPost.py +1 -1
  98. metadata/generated/schema/api/feed/createSuggestion.py +1 -1
  99. metadata/generated/schema/api/feed/createThread.py +1 -1
  100. metadata/generated/schema/api/feed/resolveTask.py +1 -1
  101. metadata/generated/schema/api/feed/threadCount.py +1 -1
  102. metadata/generated/schema/api/governance/__init__.py +3 -0
  103. metadata/generated/schema/api/governance/createWorkflowDefinition.py +83 -0
  104. metadata/generated/schema/api/governance/createWorkflowInstanceState.py +22 -0
  105. metadata/generated/schema/api/lineage/__init__.py +1 -1
  106. metadata/generated/schema/api/lineage/addLineage.py +1 -1
  107. metadata/generated/schema/api/openMetadataServerVersion.py +1 -1
  108. metadata/generated/schema/api/policies/__init__.py +1 -1
  109. metadata/generated/schema/api/policies/createPolicy.py +1 -1
  110. metadata/generated/schema/api/services/__init__.py +1 -1
  111. metadata/generated/schema/api/services/createApiService.py +2 -2
  112. metadata/generated/schema/api/services/createDashboardService.py +1 -1
  113. metadata/generated/schema/api/services/createDatabaseService.py +1 -1
  114. metadata/generated/schema/api/services/createMessagingService.py +1 -1
  115. metadata/generated/schema/api/services/createMetadataService.py +1 -1
  116. metadata/generated/schema/api/services/createMlModelService.py +1 -1
  117. metadata/generated/schema/api/services/createPipelineService.py +1 -1
  118. metadata/generated/schema/api/services/createSearchService.py +1 -1
  119. metadata/generated/schema/api/services/createStorageService.py +1 -1
  120. metadata/generated/schema/api/services/ingestionPipelines/__init__.py +1 -1
  121. metadata/generated/schema/api/services/ingestionPipelines/createIngestionPipeline.py +1 -1
  122. metadata/generated/schema/api/setOwner.py +1 -1
  123. metadata/generated/schema/api/teams/__init__.py +1 -1
  124. metadata/generated/schema/api/teams/createPersona.py +1 -1
  125. metadata/generated/schema/api/teams/createRole.py +1 -1
  126. metadata/generated/schema/api/teams/createTeam.py +1 -1
  127. metadata/generated/schema/api/teams/createUser.py +1 -1
  128. metadata/generated/schema/api/tests/__init__.py +1 -1
  129. metadata/generated/schema/api/tests/createCustomMetric.py +1 -1
  130. metadata/generated/schema/api/tests/createLogicalTestCases.py +1 -1
  131. metadata/generated/schema/api/tests/createTestCase.py +1 -1
  132. metadata/generated/schema/api/tests/createTestCaseResolutionStatus.py +1 -1
  133. metadata/generated/schema/api/tests/createTestCaseResult.py +71 -0
  134. metadata/generated/schema/api/tests/createTestDefinition.py +1 -1
  135. metadata/generated/schema/api/tests/createTestSuite.py +1 -1
  136. metadata/generated/schema/api/voteRequest.py +1 -1
  137. metadata/generated/schema/auth/__init__.py +1 -1
  138. metadata/generated/schema/auth/basicAuth.py +1 -1
  139. metadata/generated/schema/auth/basicLoginRequest.py +1 -1
  140. metadata/generated/schema/auth/changePasswordRequest.py +1 -1
  141. metadata/generated/schema/auth/createPersonalToken.py +1 -1
  142. metadata/generated/schema/auth/emailRequest.py +1 -1
  143. metadata/generated/schema/auth/emailVerificationToken.py +1 -1
  144. metadata/generated/schema/auth/generateToken.py +1 -1
  145. metadata/generated/schema/auth/jwtAuth.py +1 -1
  146. metadata/generated/schema/auth/loginRequest.py +1 -1
  147. metadata/generated/schema/auth/logoutRequest.py +1 -1
  148. metadata/generated/schema/auth/passwordResetRequest.py +1 -1
  149. metadata/generated/schema/auth/passwordResetToken.py +1 -1
  150. metadata/generated/schema/auth/personalAccessToken.py +1 -1
  151. metadata/generated/schema/auth/refreshToken.py +1 -1
  152. metadata/generated/schema/auth/registrationRequest.py +1 -1
  153. metadata/generated/schema/auth/revokePersonalToken.py +1 -1
  154. metadata/generated/schema/auth/revokeToken.py +1 -1
  155. metadata/generated/schema/auth/serviceTokenEnum.py +1 -1
  156. metadata/generated/schema/auth/ssoAuth.py +1 -1
  157. metadata/generated/schema/auth/tokenRefreshRequest.py +1 -1
  158. metadata/generated/schema/configuration/__init__.py +1 -1
  159. metadata/generated/schema/configuration/appsPrivateConfiguration.py +1 -1
  160. metadata/generated/schema/configuration/assetCertificationSettings.py +22 -0
  161. metadata/generated/schema/configuration/authConfig.py +1 -1
  162. metadata/generated/schema/configuration/authenticationConfiguration.py +1 -1
  163. metadata/generated/schema/configuration/authorizerConfiguration.py +1 -1
  164. metadata/generated/schema/configuration/changeEventConfiguration.py +1 -1
  165. metadata/generated/schema/configuration/dataQualityConfiguration.py +1 -1
  166. metadata/generated/schema/configuration/elasticSearchConfiguration.py +1 -1
  167. metadata/generated/schema/configuration/eventHandlerConfiguration.py +1 -1
  168. metadata/generated/schema/configuration/fernetConfiguration.py +1 -1
  169. metadata/generated/schema/configuration/jwtTokenConfiguration.py +1 -1
  170. metadata/generated/schema/configuration/kafkaEventConfiguration.py +1 -1
  171. metadata/generated/schema/configuration/ldapConfiguration.py +1 -1
  172. metadata/generated/schema/configuration/ldapTrustStoreConfig/__init__.py +1 -1
  173. metadata/generated/schema/configuration/ldapTrustStoreConfig/customTrustManagerConfig.py +1 -1
  174. metadata/generated/schema/configuration/ldapTrustStoreConfig/hostNameConfig.py +1 -1
  175. metadata/generated/schema/configuration/ldapTrustStoreConfig/jvmDefaultConfig.py +1 -1
  176. metadata/generated/schema/configuration/ldapTrustStoreConfig/trustAllConfig.py +1 -1
  177. metadata/generated/schema/configuration/ldapTrustStoreConfig/truststoreConfig.py +1 -1
  178. metadata/generated/schema/configuration/limitsConfiguration.py +1 -1
  179. metadata/generated/schema/configuration/lineageSettings.py +1 -1
  180. metadata/generated/schema/configuration/loginConfiguration.py +1 -1
  181. metadata/generated/schema/configuration/logoConfiguration.py +1 -1
  182. metadata/generated/schema/configuration/pipelineServiceClientConfiguration.py +1 -1
  183. metadata/generated/schema/configuration/profilerConfiguration.py +1 -1
  184. metadata/generated/schema/configuration/searchSettings.py +1 -1
  185. metadata/generated/schema/configuration/slackAppConfiguration.py +1 -1
  186. metadata/generated/schema/configuration/taskNotificationConfiguration.py +1 -1
  187. metadata/generated/schema/configuration/testResultNotificationConfiguration.py +1 -1
  188. metadata/generated/schema/configuration/themeConfiguration.py +1 -1
  189. metadata/generated/schema/configuration/uiThemePreference.py +1 -1
  190. metadata/generated/schema/dataInsight/__init__.py +1 -1
  191. metadata/generated/schema/dataInsight/custom/__init__.py +1 -1
  192. metadata/generated/schema/dataInsight/custom/dataInsightCustomChart.py +1 -1
  193. metadata/generated/schema/dataInsight/custom/dataInsightCustomChartResult.py +9 -1
  194. metadata/generated/schema/dataInsight/custom/dataInsightCustomChartResultList.py +1 -1
  195. metadata/generated/schema/dataInsight/custom/formulaHolder.py +1 -1
  196. metadata/generated/schema/dataInsight/custom/lineChart.py +23 -8
  197. metadata/generated/schema/dataInsight/custom/summaryCard.py +20 -9
  198. metadata/generated/schema/dataInsight/dataInsightChart.py +1 -1
  199. metadata/generated/schema/dataInsight/dataInsightChartResult.py +1 -1
  200. metadata/generated/schema/dataInsight/kpi/__init__.py +1 -1
  201. metadata/generated/schema/dataInsight/kpi/basic.py +1 -1
  202. metadata/generated/schema/dataInsight/kpi/kpi.py +1 -1
  203. metadata/generated/schema/dataInsight/type/__init__.py +1 -1
  204. metadata/generated/schema/dataInsight/type/aggregatedUnusedAssetsCount.py +1 -1
  205. metadata/generated/schema/dataInsight/type/aggregatedUnusedAssetsSize.py +1 -1
  206. metadata/generated/schema/dataInsight/type/aggregatedUsedVsUnusedAssetsCount.py +1 -1
  207. metadata/generated/schema/dataInsight/type/aggregatedUsedVsUnusedAssetsSize.py +1 -1
  208. metadata/generated/schema/dataInsight/type/dailyActiveUsers.py +1 -1
  209. metadata/generated/schema/dataInsight/type/mostActiveUsers.py +1 -1
  210. metadata/generated/schema/dataInsight/type/mostViewedEntities.py +1 -1
  211. metadata/generated/schema/dataInsight/type/pageViewsByEntities.py +1 -1
  212. metadata/generated/schema/dataInsight/type/unusedAssets.py +1 -1
  213. metadata/generated/schema/email/__init__.py +1 -1
  214. metadata/generated/schema/email/emailRequest.py +1 -1
  215. metadata/generated/schema/email/emailTemplate.py +1 -1
  216. metadata/generated/schema/email/emailTemplatePlaceholder.py +1 -1
  217. metadata/generated/schema/email/smtpSettings.py +1 -1
  218. metadata/generated/schema/email/templateValidationReponse.py +1 -1
  219. metadata/generated/schema/entity/__init__.py +1 -1
  220. metadata/generated/schema/entity/applications/__init__.py +1 -1
  221. metadata/generated/schema/entity/applications/app.py +8 -1
  222. metadata/generated/schema/entity/applications/appExtension.py +1 -1
  223. metadata/generated/schema/entity/applications/appRunRecord.py +1 -1
  224. metadata/generated/schema/entity/applications/configuration/__init__.py +1 -1
  225. metadata/generated/schema/entity/applications/configuration/applicationConfig.py +1 -1
  226. metadata/generated/schema/entity/applications/configuration/external/__init__.py +1 -1
  227. metadata/generated/schema/entity/applications/configuration/external/automator/__init__.py +1 -1
  228. metadata/generated/schema/entity/applications/configuration/external/automator/addDescriptionAction.py +1 -1
  229. metadata/generated/schema/entity/applications/configuration/external/automator/addDomainAction.py +1 -1
  230. metadata/generated/schema/entity/applications/configuration/external/automator/addOwnerAction.py +1 -1
  231. metadata/generated/schema/entity/applications/configuration/external/automator/addTagsAction.py +1 -1
  232. metadata/generated/schema/entity/applications/configuration/external/automator/addTierAction.py +1 -1
  233. metadata/generated/schema/entity/applications/configuration/external/automator/lineagePropagationAction.py +54 -2
  234. metadata/generated/schema/entity/applications/configuration/external/automator/mlTaggingAction.py +1 -1
  235. metadata/generated/schema/entity/applications/configuration/external/automator/removeDescriptionAction.py +1 -1
  236. metadata/generated/schema/entity/applications/configuration/external/automator/removeDomainAction.py +1 -1
  237. metadata/generated/schema/entity/applications/configuration/external/automator/removeOwnerAction.py +1 -1
  238. metadata/generated/schema/entity/applications/configuration/external/automator/removeTagsAction.py +1 -1
  239. metadata/generated/schema/entity/applications/configuration/external/automator/removeTierAction.py +1 -1
  240. metadata/generated/schema/entity/applications/configuration/external/automatorAppConfig.py +1 -1
  241. metadata/generated/schema/entity/applications/configuration/external/collateAIAppConfig.py +1 -1
  242. metadata/generated/schema/entity/applications/configuration/internal/__init__.py +1 -1
  243. metadata/generated/schema/entity/applications/configuration/internal/dataInsightsAppConfig.py +1 -1
  244. metadata/generated/schema/entity/applications/configuration/internal/dataInsightsReportAppConfig.py +1 -1
  245. metadata/generated/schema/entity/applications/configuration/internal/searchIndexingAppConfig.py +1 -1
  246. metadata/generated/schema/entity/applications/configuration/private/external/__init__.py +1 -1
  247. metadata/generated/schema/entity/applications/configuration/private/external/collateAIAppPrivateConfig.py +1 -1
  248. metadata/generated/schema/entity/applications/createAppRequest.py +8 -1
  249. metadata/generated/schema/entity/applications/jobStatus.py +1 -1
  250. metadata/generated/schema/entity/applications/liveExecutionContext.py +1 -1
  251. metadata/generated/schema/entity/applications/marketplace/__init__.py +1 -1
  252. metadata/generated/schema/entity/applications/marketplace/appMarketPlaceDefinition.py +8 -1
  253. metadata/generated/schema/entity/applications/marketplace/createAppMarketPlaceDefinitionReq.py +8 -1
  254. metadata/generated/schema/entity/applications/scheduledExecutionContext.py +1 -1
  255. metadata/generated/schema/entity/automations/__init__.py +1 -1
  256. metadata/generated/schema/entity/automations/testServiceConnection.py +3 -1
  257. metadata/generated/schema/entity/automations/workflow.py +1 -1
  258. metadata/generated/schema/entity/bot.py +1 -1
  259. metadata/generated/schema/entity/classification/__init__.py +1 -1
  260. metadata/generated/schema/entity/classification/classification.py +2 -2
  261. metadata/generated/schema/entity/classification/tag.py +2 -2
  262. metadata/generated/schema/entity/data/__init__.py +1 -1
  263. metadata/generated/schema/entity/data/apiCollection.py +4 -2
  264. metadata/generated/schema/entity/data/apiEndpoint.py +4 -2
  265. metadata/generated/schema/entity/data/chart.py +4 -3
  266. metadata/generated/schema/entity/data/container.py +4 -2
  267. metadata/generated/schema/entity/data/dashboard.py +4 -2
  268. metadata/generated/schema/entity/data/dashboardDataModel.py +5 -2
  269. metadata/generated/schema/entity/data/database.py +7 -7
  270. metadata/generated/schema/entity/data/databaseSchema.py +5 -2
  271. metadata/generated/schema/entity/data/glossary.py +2 -2
  272. metadata/generated/schema/entity/data/glossaryTerm.py +3 -2
  273. metadata/generated/schema/entity/data/metric.py +196 -0
  274. metadata/generated/schema/entity/data/mlmodel.py +4 -2
  275. metadata/generated/schema/entity/data/pipeline.py +4 -3
  276. metadata/generated/schema/entity/data/query.py +3 -5
  277. metadata/generated/schema/entity/data/report.py +1 -1
  278. metadata/generated/schema/entity/data/searchIndex.py +4 -2
  279. metadata/generated/schema/entity/data/storedProcedure.py +4 -2
  280. metadata/generated/schema/entity/data/table.py +36 -3
  281. metadata/generated/schema/entity/data/topic.py +4 -3
  282. metadata/generated/schema/entity/docStore/__init__.py +1 -1
  283. metadata/generated/schema/entity/docStore/document.py +1 -1
  284. metadata/generated/schema/entity/domains/__init__.py +1 -1
  285. metadata/generated/schema/entity/domains/dataProduct.py +1 -1
  286. metadata/generated/schema/entity/domains/domain.py +1 -1
  287. metadata/generated/schema/entity/events/__init__.py +1 -1
  288. metadata/generated/schema/entity/events/webhook.py +19 -2
  289. metadata/generated/schema/entity/feed/__init__.py +1 -1
  290. metadata/generated/schema/entity/feed/assets.py +1 -1
  291. metadata/generated/schema/entity/feed/customProperty.py +1 -1
  292. metadata/generated/schema/entity/feed/description.py +1 -1
  293. metadata/generated/schema/entity/feed/domain.py +1 -1
  294. metadata/generated/schema/entity/feed/entityInfo.py +1 -1
  295. metadata/generated/schema/entity/feed/owner.py +1 -1
  296. metadata/generated/schema/entity/feed/suggestion.py +1 -1
  297. metadata/generated/schema/entity/feed/tag.py +1 -1
  298. metadata/generated/schema/entity/feed/testCaseResult.py +1 -1
  299. metadata/generated/schema/entity/feed/thread.py +1 -1
  300. metadata/generated/schema/entity/policies/__init__.py +1 -1
  301. metadata/generated/schema/entity/policies/accessControl/__init__.py +1 -1
  302. metadata/generated/schema/entity/policies/accessControl/resourceDescriptor.py +4 -1
  303. metadata/generated/schema/entity/policies/accessControl/resourcePermission.py +1 -1
  304. metadata/generated/schema/entity/policies/accessControl/rule.py +1 -1
  305. metadata/generated/schema/entity/policies/filters.py +1 -1
  306. metadata/generated/schema/entity/policies/policy.py +1 -1
  307. metadata/generated/schema/entity/services/__init__.py +1 -1
  308. metadata/generated/schema/entity/services/apiService.py +7 -7
  309. metadata/generated/schema/entity/services/connections/__init__.py +1 -1
  310. metadata/generated/schema/entity/services/connections/{apiService → api}/__init__.py +1 -1
  311. metadata/generated/schema/entity/services/connections/{apiService → api}/restConnection.py +15 -7
  312. metadata/generated/schema/entity/services/connections/common/__init__.py +1 -1
  313. metadata/generated/schema/entity/services/connections/common/sslCertPaths.py +1 -1
  314. metadata/generated/schema/entity/services/connections/common/sslCertValues.py +1 -1
  315. metadata/generated/schema/entity/services/connections/common/sslConfig.py +1 -1
  316. metadata/generated/schema/entity/services/connections/connectionBasicType.py +29 -1
  317. metadata/generated/schema/entity/services/connections/dashboard/__init__.py +1 -1
  318. metadata/generated/schema/entity/services/connections/dashboard/customDashboardConnection.py +1 -1
  319. metadata/generated/schema/entity/services/connections/dashboard/domoDashboardConnection.py +1 -1
  320. metadata/generated/schema/entity/services/connections/dashboard/lightdashConnection.py +1 -1
  321. metadata/generated/schema/entity/services/connections/dashboard/lookerConnection.py +1 -1
  322. metadata/generated/schema/entity/services/connections/dashboard/metabaseConnection.py +1 -1
  323. metadata/generated/schema/entity/services/connections/dashboard/modeConnection.py +1 -1
  324. metadata/generated/schema/entity/services/connections/dashboard/mstrConnection.py +1 -1
  325. metadata/generated/schema/entity/services/connections/dashboard/powerBIConnection.py +1 -1
  326. metadata/generated/schema/entity/services/connections/dashboard/powerBIReportServerConnection.py +1 -1
  327. metadata/generated/schema/entity/services/connections/dashboard/powerbi/__init__.py +1 -1
  328. metadata/generated/schema/entity/services/connections/dashboard/powerbi/azureConfig.py +1 -1
  329. metadata/generated/schema/entity/services/connections/dashboard/powerbi/bucketDetails.py +1 -1
  330. metadata/generated/schema/entity/services/connections/dashboard/powerbi/gcsConfig.py +1 -1
  331. metadata/generated/schema/entity/services/connections/dashboard/powerbi/s3Config.py +1 -1
  332. metadata/generated/schema/entity/services/connections/dashboard/qlikCloudConnection.py +1 -1
  333. metadata/generated/schema/entity/services/connections/dashboard/qlikSenseConnection.py +1 -1
  334. metadata/generated/schema/entity/services/connections/dashboard/quickSightConnection.py +1 -1
  335. metadata/generated/schema/entity/services/connections/dashboard/redashConnection.py +1 -1
  336. metadata/generated/schema/entity/services/connections/dashboard/sigmaConnection.py +41 -0
  337. metadata/generated/schema/entity/services/connections/dashboard/supersetConnection.py +1 -1
  338. metadata/generated/schema/entity/services/connections/dashboard/tableauConnection.py +1 -1
  339. metadata/generated/schema/entity/services/connections/database/__init__.py +1 -1
  340. metadata/generated/schema/entity/services/connections/database/athenaConnection.py +5 -1
  341. metadata/generated/schema/entity/services/connections/database/azureSQLConnection.py +1 -1
  342. metadata/generated/schema/entity/services/connections/database/bigQueryConnection.py +9 -1
  343. metadata/generated/schema/entity/services/connections/database/bigTableConnection.py +1 -1
  344. metadata/generated/schema/entity/services/connections/database/clickhouseConnection.py +1 -1
  345. metadata/generated/schema/entity/services/connections/database/common/__init__.py +1 -1
  346. metadata/generated/schema/entity/services/connections/database/common/azureConfig.py +1 -1
  347. metadata/generated/schema/entity/services/connections/database/common/basicAuth.py +1 -1
  348. metadata/generated/schema/entity/services/connections/database/common/iamAuthConfig.py +1 -1
  349. metadata/generated/schema/entity/services/connections/database/common/jwtAuth.py +1 -1
  350. metadata/generated/schema/entity/services/connections/database/common/noConfigAuthenticationTypes.py +11 -0
  351. metadata/generated/schema/entity/services/connections/database/couchbaseConnection.py +1 -1
  352. metadata/generated/schema/entity/services/connections/database/customDatabaseConnection.py +1 -1
  353. metadata/generated/schema/entity/services/connections/database/databricksConnection.py +1 -1
  354. metadata/generated/schema/entity/services/connections/database/datalake/__init__.py +1 -1
  355. metadata/generated/schema/entity/services/connections/database/datalake/azureConfig.py +1 -1
  356. metadata/generated/schema/entity/services/connections/database/datalake/gcsConfig.py +1 -1
  357. metadata/generated/schema/entity/services/connections/database/datalake/s3Config.py +1 -1
  358. metadata/generated/schema/entity/services/connections/database/datalakeConnection.py +1 -1
  359. metadata/generated/schema/entity/services/connections/database/db2Connection.py +4 -1
  360. metadata/generated/schema/entity/services/connections/database/deltaLakeConnection.py +1 -1
  361. metadata/generated/schema/entity/services/connections/database/deltalake/__init__.py +1 -1
  362. metadata/generated/schema/entity/services/connections/database/deltalake/metastoreConfig.py +1 -1
  363. metadata/generated/schema/entity/services/connections/database/deltalake/storageConfig.py +1 -1
  364. metadata/generated/schema/entity/services/connections/database/domoDatabaseConnection.py +1 -1
  365. metadata/generated/schema/entity/services/connections/database/dorisConnection.py +1 -1
  366. metadata/generated/schema/entity/services/connections/database/druidConnection.py +4 -1
  367. metadata/generated/schema/entity/services/connections/database/dynamoDBConnection.py +1 -1
  368. metadata/generated/schema/entity/services/connections/database/exasolConnection.py +84 -0
  369. metadata/generated/schema/entity/services/connections/database/glueConnection.py +1 -1
  370. metadata/generated/schema/entity/services/connections/database/greenplumConnection.py +4 -1
  371. metadata/generated/schema/entity/services/connections/database/hiveConnection.py +4 -1
  372. metadata/generated/schema/entity/services/connections/database/iceberg/__init__.py +1 -1
  373. metadata/generated/schema/entity/services/connections/database/iceberg/dynamoDbCatalogConnection.py +1 -1
  374. metadata/generated/schema/entity/services/connections/database/iceberg/glueCatalogConnection.py +1 -1
  375. metadata/generated/schema/entity/services/connections/database/iceberg/hiveCatalogConnection.py +1 -1
  376. metadata/generated/schema/entity/services/connections/database/iceberg/icebergCatalog.py +1 -1
  377. metadata/generated/schema/entity/services/connections/database/iceberg/icebergFileSystem.py +1 -1
  378. metadata/generated/schema/entity/services/connections/database/iceberg/restCatalogConnection.py +1 -1
  379. metadata/generated/schema/entity/services/connections/database/icebergConnection.py +1 -1
  380. metadata/generated/schema/entity/services/connections/database/impalaConnection.py +4 -1
  381. metadata/generated/schema/entity/services/connections/database/mariaDBConnection.py +4 -1
  382. metadata/generated/schema/entity/services/connections/database/mongoDBConnection.py +1 -1
  383. metadata/generated/schema/entity/services/connections/database/mssqlConnection.py +5 -1
  384. metadata/generated/schema/entity/services/connections/database/mysqlConnection.py +8 -1
  385. metadata/generated/schema/entity/services/connections/database/oracleConnection.py +5 -1
  386. metadata/generated/schema/entity/services/connections/database/pinotDBConnection.py +4 -1
  387. metadata/generated/schema/entity/services/connections/database/postgresConnection.py +5 -1
  388. metadata/generated/schema/entity/services/connections/database/prestoConnection.py +1 -1
  389. metadata/generated/schema/entity/services/connections/database/redshiftConnection.py +9 -1
  390. metadata/generated/schema/entity/services/connections/database/salesforceConnection.py +1 -1
  391. metadata/generated/schema/entity/services/connections/database/sapErpConnection.py +1 -1
  392. metadata/generated/schema/entity/services/connections/database/sapHana/__init__.py +1 -1
  393. metadata/generated/schema/entity/services/connections/database/sapHana/sapHanaHDBConnection.py +1 -1
  394. metadata/generated/schema/entity/services/connections/database/sapHana/sapHanaSQLConnection.py +1 -1
  395. metadata/generated/schema/entity/services/connections/database/sapHanaConnection.py +5 -1
  396. metadata/generated/schema/entity/services/connections/database/sasConnection.py +1 -1
  397. metadata/generated/schema/entity/services/connections/database/singleStoreConnection.py +4 -1
  398. metadata/generated/schema/entity/services/connections/database/snowflakeConnection.py +9 -1
  399. metadata/generated/schema/entity/services/connections/database/sqliteConnection.py +4 -1
  400. metadata/generated/schema/entity/services/connections/database/synapseConnection.py +1 -1
  401. metadata/generated/schema/entity/services/connections/database/teradataConnection.py +4 -1
  402. metadata/generated/schema/entity/services/connections/database/trinoConnection.py +7 -2
  403. metadata/generated/schema/entity/services/connections/database/unityCatalogConnection.py +1 -1
  404. metadata/generated/schema/entity/services/connections/database/verticaConnection.py +1 -1
  405. metadata/generated/schema/entity/services/connections/messaging/__init__.py +1 -1
  406. metadata/generated/schema/entity/services/connections/messaging/customMessagingConnection.py +1 -1
  407. metadata/generated/schema/entity/services/connections/messaging/kafkaConnection.py +1 -1
  408. metadata/generated/schema/entity/services/connections/messaging/kinesisConnection.py +1 -1
  409. metadata/generated/schema/entity/services/connections/messaging/pulsarConnection.py +1 -1
  410. metadata/generated/schema/entity/services/connections/messaging/redpandaConnection.py +1 -1
  411. metadata/generated/schema/entity/services/connections/messaging/saslMechanismType.py +1 -1
  412. metadata/generated/schema/entity/services/connections/metadata/__init__.py +1 -1
  413. metadata/generated/schema/entity/services/connections/metadata/alationConnection.py +1 -1
  414. metadata/generated/schema/entity/services/connections/metadata/alationSinkConnection.py +1 -1
  415. metadata/generated/schema/entity/services/connections/metadata/amundsenConnection.py +1 -1
  416. metadata/generated/schema/entity/services/connections/metadata/atlasConnection.py +1 -1
  417. metadata/generated/schema/entity/services/connections/metadata/metadataESConnection.py +1 -1
  418. metadata/generated/schema/entity/services/connections/metadata/openMetadataConnection.py +1 -1
  419. metadata/generated/schema/entity/services/connections/mlmodel/__init__.py +1 -1
  420. metadata/generated/schema/entity/services/connections/mlmodel/customMlModelConnection.py +1 -1
  421. metadata/generated/schema/entity/services/connections/mlmodel/mlflowConnection.py +1 -1
  422. metadata/generated/schema/entity/services/connections/mlmodel/sageMakerConnection.py +1 -1
  423. metadata/generated/schema/entity/services/connections/mlmodel/sklearnConnection.py +1 -1
  424. metadata/generated/schema/entity/services/connections/mlmodel/vertexaiConnection.py +1 -1
  425. metadata/generated/schema/entity/services/connections/pipeline/__init__.py +1 -1
  426. metadata/generated/schema/entity/services/connections/pipeline/airbyteConnection.py +1 -1
  427. metadata/generated/schema/entity/services/connections/pipeline/airflowConnection.py +1 -1
  428. metadata/generated/schema/entity/services/connections/pipeline/backendConnection.py +1 -1
  429. metadata/generated/schema/entity/services/connections/pipeline/customPipelineConnection.py +1 -1
  430. metadata/generated/schema/entity/services/connections/pipeline/dagsterConnection.py +1 -1
  431. metadata/generated/schema/entity/services/connections/pipeline/databricksPipelineConnection.py +1 -1
  432. metadata/generated/schema/entity/services/connections/pipeline/datafactoryConnection.py +69 -0
  433. metadata/generated/schema/entity/services/connections/pipeline/dbtCloudConnection.py +1 -1
  434. metadata/generated/schema/entity/services/connections/pipeline/domoPipelineConnection.py +1 -1
  435. metadata/generated/schema/entity/services/connections/pipeline/fivetranConnection.py +1 -1
  436. metadata/generated/schema/entity/services/connections/pipeline/flinkConnection.py +1 -1
  437. metadata/generated/schema/entity/services/connections/pipeline/gluePipelineConnection.py +1 -1
  438. metadata/generated/schema/entity/services/connections/pipeline/kafkaConnectConnection.py +1 -1
  439. metadata/generated/schema/entity/services/connections/pipeline/matillionConnection.py +65 -0
  440. metadata/generated/schema/entity/services/connections/pipeline/nifiConnection.py +1 -1
  441. metadata/generated/schema/entity/services/connections/pipeline/openLineageConnection.py +1 -1
  442. metadata/generated/schema/entity/services/connections/pipeline/sparkConnection.py +1 -1
  443. metadata/generated/schema/entity/services/connections/pipeline/splineConnection.py +1 -1
  444. metadata/generated/schema/entity/services/connections/pipeline/stitchConnection.py +43 -0
  445. metadata/generated/schema/entity/services/connections/search/__init__.py +1 -1
  446. metadata/generated/schema/entity/services/connections/search/customSearchConnection.py +1 -1
  447. metadata/generated/schema/entity/services/connections/search/elasticSearch/__init__.py +1 -1
  448. metadata/generated/schema/entity/services/connections/search/elasticSearch/apiAuth.py +1 -1
  449. metadata/generated/schema/entity/services/connections/search/elasticSearch/basicAuth.py +1 -1
  450. metadata/generated/schema/entity/services/connections/search/elasticSearchConnection.py +1 -1
  451. metadata/generated/schema/entity/services/connections/search/openSearchConnection.py +1 -1
  452. metadata/generated/schema/entity/services/connections/serviceConnection.py +3 -3
  453. metadata/generated/schema/entity/services/connections/storage/__init__.py +1 -1
  454. metadata/generated/schema/entity/services/connections/storage/adlsConnection.py +1 -1
  455. metadata/generated/schema/entity/services/connections/storage/customStorageConnection.py +1 -1
  456. metadata/generated/schema/entity/services/connections/storage/gcsConnection.py +1 -1
  457. metadata/generated/schema/entity/services/connections/storage/s3Connection.py +1 -1
  458. metadata/generated/schema/entity/services/connections/testConnectionDefinition.py +1 -1
  459. metadata/generated/schema/entity/services/connections/testConnectionResult.py +1 -1
  460. metadata/generated/schema/entity/services/dashboardService.py +5 -2
  461. metadata/generated/schema/entity/services/databaseService.py +5 -2
  462. metadata/generated/schema/entity/services/ingestionPipelines/__init__.py +1 -1
  463. metadata/generated/schema/entity/services/ingestionPipelines/ingestionPipeline.py +1 -1
  464. metadata/generated/schema/entity/services/ingestionPipelines/pipelineServiceClientResponse.py +1 -1
  465. metadata/generated/schema/entity/services/ingestionPipelines/status.py +1 -1
  466. metadata/generated/schema/entity/services/messagingService.py +2 -2
  467. metadata/generated/schema/entity/services/metadataService.py +2 -2
  468. metadata/generated/schema/entity/services/mlmodelService.py +2 -2
  469. metadata/generated/schema/entity/services/pipelineService.py +11 -2
  470. metadata/generated/schema/entity/services/searchService.py +2 -2
  471. metadata/generated/schema/entity/services/serviceType.py +2 -2
  472. metadata/generated/schema/entity/services/storageService.py +2 -2
  473. metadata/generated/schema/entity/teams/__init__.py +1 -1
  474. metadata/generated/schema/entity/teams/persona.py +1 -1
  475. metadata/generated/schema/entity/teams/role.py +1 -1
  476. metadata/generated/schema/entity/teams/team.py +1 -1
  477. metadata/generated/schema/entity/teams/teamHierarchy.py +1 -1
  478. metadata/generated/schema/entity/teams/user.py +1 -1
  479. metadata/generated/schema/entity/type.py +1 -1
  480. metadata/generated/schema/entity/utils/__init__.py +1 -1
  481. metadata/generated/schema/entity/utils/entitiesCount.py +1 -1
  482. metadata/generated/schema/entity/utils/servicesCount.py +1 -1
  483. metadata/generated/schema/entity/utils/supersetApiConnection.py +1 -1
  484. metadata/generated/schema/events/__init__.py +1 -1
  485. metadata/generated/schema/events/alertMetrics.py +1 -1
  486. metadata/generated/schema/events/api/__init__.py +1 -1
  487. metadata/generated/schema/events/api/createEventSubscription.py +1 -1
  488. metadata/generated/schema/events/api/eventSubscriptionDiagnosticInfo.py +69 -0
  489. metadata/generated/schema/events/api/eventsRecord.py +37 -0
  490. metadata/generated/schema/events/api/testEventSubscriptionDestination.py +1 -4
  491. metadata/generated/schema/events/api/typedEvent.py +46 -0
  492. metadata/generated/schema/events/emailAlertConfig.py +1 -1
  493. metadata/generated/schema/events/eventFilterRule.py +1 -1
  494. metadata/generated/schema/events/eventSubscription.py +15 -46
  495. metadata/generated/schema/events/eventSubscriptionOffset.py +7 -2
  496. metadata/generated/schema/events/failedEvent.py +1 -1
  497. metadata/generated/schema/events/failedEventResponse.py +38 -0
  498. metadata/generated/schema/events/filterResourceDescriptor.py +1 -1
  499. metadata/generated/schema/events/statusContext.py +43 -0
  500. metadata/generated/schema/events/subscriptionResourceDescriptor.py +1 -1
  501. metadata/generated/schema/events/subscriptionStatus.py +78 -0
  502. metadata/generated/schema/events/testDestinationStatus.py +88 -0
  503. metadata/generated/schema/governance/workflows/__init__.py +3 -0
  504. metadata/generated/schema/governance/workflows/elements/__init__.py +5 -0
  505. metadata/generated/schema/governance/workflows/elements/edge.py +29 -0
  506. metadata/generated/schema/governance/workflows/elements/nodeSubType.py +16 -0
  507. metadata/generated/schema/governance/workflows/elements/nodeType.py +14 -0
  508. metadata/generated/schema/governance/workflows/elements/nodes/__init__.py +3 -0
  509. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/__init__.py +5 -0
  510. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/checkEntityAttributesTask.py +44 -0
  511. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/setEntityCertificationTask.py +49 -0
  512. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/setGlossaryTermStatusTask.py +42 -0
  513. metadata/generated/schema/governance/workflows/elements/nodes/endEvent/__init__.py +3 -0
  514. metadata/generated/schema/governance/workflows/elements/nodes/endEvent/endEvent.py +30 -0
  515. metadata/generated/schema/governance/workflows/elements/nodes/startEvent/__init__.py +3 -0
  516. metadata/generated/schema/governance/workflows/elements/nodes/startEvent/startEvent.py +30 -0
  517. metadata/generated/schema/governance/workflows/elements/nodes/userTask/__init__.py +3 -0
  518. metadata/generated/schema/governance/workflows/elements/nodes/userTask/userApprovalTask.py +57 -0
  519. metadata/generated/schema/governance/workflows/elements/triggers/__init__.py +3 -0
  520. metadata/generated/schema/governance/workflows/elements/triggers/eventBasedEntityTrigger.py +43 -0
  521. metadata/generated/schema/governance/workflows/elements/triggers/periodicBatchEntityTrigger.py +44 -0
  522. metadata/generated/schema/{entity/data/metrics.py → governance/workflows/workflowDefinition.py} +36 -49
  523. metadata/generated/schema/governance/workflows/workflowInstance.py +43 -0
  524. metadata/generated/schema/governance/workflows/workflowInstanceState.py +66 -0
  525. metadata/generated/schema/metadataIngestion/__init__.py +1 -1
  526. metadata/generated/schema/metadataIngestion/apiServiceMetadataPipeline.py +53 -0
  527. metadata/generated/schema/metadataIngestion/application.py +1 -1
  528. metadata/generated/schema/metadataIngestion/applicationPipeline.py +1 -1
  529. metadata/generated/schema/metadataIngestion/dashboardServiceMetadataPipeline.py +1 -1
  530. metadata/generated/schema/metadataIngestion/dataInsightPipeline.py +1 -1
  531. metadata/generated/schema/metadataIngestion/databaseServiceMetadataPipeline.py +1 -9
  532. metadata/generated/schema/metadataIngestion/databaseServiceProfilerPipeline.py +37 -2
  533. metadata/generated/schema/metadataIngestion/databaseServiceQueryLineagePipeline.py +42 -1
  534. metadata/generated/schema/metadataIngestion/databaseServiceQueryUsagePipeline.py +1 -1
  535. metadata/generated/schema/metadataIngestion/dbtPipeline.py +1 -1
  536. metadata/generated/schema/metadataIngestion/dbtconfig/__init__.py +1 -1
  537. metadata/generated/schema/metadataIngestion/dbtconfig/dbtAzureConfig.py +1 -1
  538. metadata/generated/schema/metadataIngestion/dbtconfig/dbtBucketDetails.py +1 -1
  539. metadata/generated/schema/metadataIngestion/dbtconfig/dbtCloudConfig.py +1 -1
  540. metadata/generated/schema/metadataIngestion/dbtconfig/dbtGCSConfig.py +1 -1
  541. metadata/generated/schema/metadataIngestion/dbtconfig/dbtHttpConfig.py +1 -1
  542. metadata/generated/schema/metadataIngestion/dbtconfig/dbtLocalConfig.py +1 -1
  543. metadata/generated/schema/metadataIngestion/dbtconfig/dbtS3Config.py +1 -1
  544. metadata/generated/schema/metadataIngestion/messagingServiceMetadataPipeline.py +1 -1
  545. metadata/generated/schema/metadataIngestion/metadataToElasticSearchPipeline.py +1 -1
  546. metadata/generated/schema/metadataIngestion/mlmodelServiceMetadataPipeline.py +1 -1
  547. metadata/generated/schema/metadataIngestion/pipelineServiceMetadataPipeline.py +1 -1
  548. metadata/generated/schema/metadataIngestion/searchServiceMetadataPipeline.py +1 -1
  549. metadata/generated/schema/metadataIngestion/storage/__init__.py +1 -1
  550. metadata/generated/schema/metadataIngestion/storage/containerMetadataConfig.py +1 -1
  551. metadata/generated/schema/metadataIngestion/storage/manifestMetadataConfig.py +1 -1
  552. metadata/generated/schema/metadataIngestion/storage/storageBucketDetails.py +1 -1
  553. metadata/generated/schema/metadataIngestion/storage/storageMetadataADLSConfig.py +1 -1
  554. metadata/generated/schema/metadataIngestion/storage/storageMetadataGCSConfig.py +1 -1
  555. metadata/generated/schema/metadataIngestion/storage/storageMetadataHttpConfig.py +1 -1
  556. metadata/generated/schema/metadataIngestion/storage/storageMetadataLocalConfig.py +1 -1
  557. metadata/generated/schema/metadataIngestion/storage/storageMetadataS3Config.py +1 -1
  558. metadata/generated/schema/metadataIngestion/storageServiceMetadataPipeline.py +1 -1
  559. metadata/generated/schema/metadataIngestion/testSuitePipeline.py +4 -1
  560. metadata/generated/schema/metadataIngestion/workflow.py +13 -1
  561. metadata/generated/schema/monitoring/__init__.py +1 -1
  562. metadata/generated/schema/monitoring/eventMonitorProvider.py +1 -1
  563. metadata/generated/schema/security/__init__.py +1 -1
  564. metadata/generated/schema/security/client/__init__.py +1 -1
  565. metadata/generated/schema/security/client/auth0SSOClientConfig.py +1 -1
  566. metadata/generated/schema/security/client/azureSSOClientConfig.py +1 -1
  567. metadata/generated/schema/security/client/customOidcSSOClientConfig.py +1 -1
  568. metadata/generated/schema/security/client/googleSSOClientConfig.py +1 -1
  569. metadata/generated/schema/security/client/oidcClientConfig.py +1 -1
  570. metadata/generated/schema/security/client/oktaSSOClientConfig.py +1 -1
  571. metadata/generated/schema/security/client/openMetadataJWTClientConfig.py +1 -1
  572. metadata/generated/schema/security/client/samlSSOClientConfig.py +1 -1
  573. metadata/generated/schema/security/credentials/__init__.py +1 -1
  574. metadata/generated/schema/security/credentials/accessTokenAuth.py +1 -1
  575. metadata/generated/schema/security/credentials/apiAccessTokenAuth.py +1 -1
  576. metadata/generated/schema/security/credentials/awsCredentials.py +1 -1
  577. metadata/generated/schema/security/credentials/azureCredentials.py +1 -1
  578. metadata/generated/schema/security/credentials/basicAuth.py +1 -1
  579. metadata/generated/schema/security/credentials/bitbucketCredentials.py +1 -1
  580. metadata/generated/schema/security/credentials/gcpCredentials.py +1 -1
  581. metadata/generated/schema/security/credentials/gcpExternalAccount.py +1 -1
  582. metadata/generated/schema/security/credentials/gcpValues.py +1 -1
  583. metadata/generated/schema/security/credentials/gitCredentials.py +1 -1
  584. metadata/generated/schema/security/credentials/githubCredentials.py +1 -1
  585. metadata/generated/schema/security/credentials/gitlabCredentials.py +1 -1
  586. metadata/generated/schema/security/sasl/__init__.py +1 -1
  587. metadata/generated/schema/security/sasl/saslClientConfig.py +1 -1
  588. metadata/generated/schema/security/secrets/__init__.py +1 -1
  589. metadata/generated/schema/security/secrets/secretsManagerClientLoader.py +1 -1
  590. metadata/generated/schema/security/secrets/secretsManagerConfiguration.py +1 -1
  591. metadata/generated/schema/security/secrets/secretsManagerProvider.py +1 -1
  592. metadata/generated/schema/security/securityConfiguration.py +1 -1
  593. metadata/generated/schema/security/ssl/__init__.py +1 -1
  594. metadata/generated/schema/security/ssl/validateSSLClientConfig.py +1 -1
  595. metadata/generated/schema/security/ssl/verifySSLConfig.py +1 -1
  596. metadata/generated/schema/settings/__init__.py +1 -1
  597. metadata/generated/schema/settings/settings.py +7 -1
  598. metadata/generated/schema/system/__init__.py +1 -1
  599. metadata/generated/schema/system/entityError.py +1 -1
  600. metadata/generated/schema/system/eventPublisherJob.py +2 -2
  601. metadata/generated/schema/system/indexingError.py +1 -1
  602. metadata/generated/schema/system/limitsResponse.py +1 -1
  603. metadata/generated/schema/system/ui/__init__.py +1 -1
  604. metadata/generated/schema/system/ui/knowledgePanel.py +1 -1
  605. metadata/generated/schema/system/ui/page.py +1 -1
  606. metadata/generated/schema/system/validationResponse.py +1 -1
  607. metadata/generated/schema/tests/__init__.py +1 -1
  608. metadata/generated/schema/tests/assigned.py +1 -1
  609. metadata/generated/schema/tests/basic.py +19 -4
  610. metadata/generated/schema/tests/customMetric.py +1 -1
  611. metadata/generated/schema/tests/dataQualityReport.py +1 -1
  612. metadata/generated/schema/tests/resolved.py +1 -1
  613. metadata/generated/schema/tests/testCase.py +6 -2
  614. metadata/generated/schema/tests/testCaseResolutionStatus.py +17 -2
  615. metadata/generated/schema/tests/testDefinition.py +1 -1
  616. metadata/generated/schema/tests/testSuite.py +9 -2
  617. metadata/generated/schema/type/__init__.py +1 -1
  618. metadata/generated/schema/type/apiSchema.py +1 -1
  619. metadata/generated/schema/type/assetCertification.py +26 -0
  620. metadata/generated/schema/type/auditLog.py +1 -1
  621. metadata/generated/schema/type/basic.py +1 -1
  622. metadata/generated/schema/type/bulkOperationResult.py +1 -1
  623. metadata/generated/schema/type/changeEvent.py +1 -1
  624. metadata/generated/schema/type/changeEventType.py +1 -1
  625. metadata/generated/schema/type/collectionDescriptor.py +1 -1
  626. metadata/generated/schema/type/csvDocumentation.py +1 -1
  627. metadata/generated/schema/type/csvErrorType.py +1 -1
  628. metadata/generated/schema/type/csvFile.py +1 -1
  629. metadata/generated/schema/type/csvImportResult.py +1 -1
  630. metadata/generated/schema/type/customProperties/__init__.py +1 -1
  631. metadata/generated/schema/type/customProperties/complexTypes.py +1 -1
  632. metadata/generated/schema/type/customProperties/enumConfig.py +1 -1
  633. metadata/generated/schema/type/customProperties/tableConfig.py +1 -1
  634. metadata/generated/schema/type/customProperty.py +8 -1
  635. metadata/generated/schema/type/dailyCount.py +1 -1
  636. metadata/generated/schema/type/databaseConnectionConfig.py +1 -1
  637. metadata/generated/schema/type/entityHierarchy.py +1 -1
  638. metadata/generated/schema/type/entityHistory.py +1 -1
  639. metadata/generated/schema/type/entityLineage.py +1 -1
  640. metadata/generated/schema/type/entityReference.py +1 -1
  641. metadata/generated/schema/type/entityReferenceList.py +1 -1
  642. metadata/generated/schema/type/entityRelationship.py +1 -1
  643. metadata/generated/schema/type/entityUsage.py +1 -1
  644. metadata/generated/schema/type/filterPattern.py +1 -1
  645. metadata/generated/schema/type/function.py +1 -1
  646. metadata/generated/schema/type/include.py +1 -1
  647. metadata/generated/schema/type/jdbcConnection.py +1 -1
  648. metadata/generated/schema/type/lifeCycle.py +1 -1
  649. metadata/generated/schema/type/paging.py +1 -1
  650. metadata/generated/schema/type/profile.py +1 -1
  651. metadata/generated/schema/type/queryParserData.py +1 -1
  652. metadata/generated/schema/type/reaction.py +1 -1
  653. metadata/generated/schema/type/schedule.py +1 -1
  654. metadata/generated/schema/type/schema.py +1 -1
  655. metadata/generated/schema/type/tableQuery.py +1 -1
  656. metadata/generated/schema/type/tableUsageCount.py +1 -1
  657. metadata/generated/schema/type/tagLabel.py +1 -1
  658. metadata/generated/schema/type/usageDetails.py +1 -1
  659. metadata/generated/schema/type/usageRequest.py +1 -1
  660. metadata/generated/schema/type/votes.py +1 -1
  661. metadata/ingestion/api/parser.py +14 -0
  662. metadata/ingestion/models/custom_basemodel_validation.py +80 -0
  663. metadata/ingestion/models/custom_pydantic.py +33 -1
  664. metadata/ingestion/models/custom_types.py +2 -0
  665. metadata/ingestion/models/entity_interface.py +71 -0
  666. metadata/ingestion/ometa/mixins/es_mixin.py +66 -8
  667. metadata/ingestion/ometa/routes.py +4 -2
  668. metadata/ingestion/processor/query_parser.py +2 -2
  669. metadata/ingestion/source/api/api_service.py +212 -0
  670. metadata/ingestion/source/api/rest/connection.py +93 -0
  671. metadata/ingestion/source/api/rest/metadata.py +278 -0
  672. metadata/ingestion/source/api/rest/models.py +41 -0
  673. metadata/ingestion/source/api/rest/service_spec.py +4 -0
  674. metadata/ingestion/source/dashboard/domodashboard/service_spec.py +6 -0
  675. metadata/ingestion/source/dashboard/lightdash/service_spec.py +4 -0
  676. metadata/ingestion/source/dashboard/looker/metadata.py +33 -4
  677. metadata/ingestion/source/dashboard/looker/service_spec.py +4 -0
  678. metadata/ingestion/source/dashboard/metabase/service_spec.py +4 -0
  679. metadata/ingestion/source/dashboard/mode/service_spec.py +4 -0
  680. metadata/ingestion/source/dashboard/mstr/client.py +3 -2
  681. metadata/ingestion/source/dashboard/mstr/service_spec.py +4 -0
  682. metadata/ingestion/source/dashboard/powerbi/service_spec.py +4 -0
  683. metadata/ingestion/source/dashboard/qlikcloud/service_spec.py +4 -0
  684. metadata/ingestion/source/dashboard/qliksense/service_spec.py +4 -0
  685. metadata/ingestion/source/dashboard/quicksight/service_spec.py +4 -0
  686. metadata/ingestion/source/dashboard/redash/service_spec.py +4 -0
  687. metadata/ingestion/source/dashboard/sigma/__init__.py +0 -0
  688. metadata/ingestion/source/dashboard/sigma/client.py +186 -0
  689. metadata/ingestion/source/dashboard/sigma/connection.py +67 -0
  690. metadata/ingestion/source/dashboard/sigma/metadata.py +331 -0
  691. metadata/ingestion/source/dashboard/sigma/models.py +97 -0
  692. metadata/ingestion/source/dashboard/sigma/service_spec.py +4 -0
  693. metadata/ingestion/source/dashboard/superset/service_spec.py +4 -0
  694. metadata/ingestion/source/dashboard/tableau/service_spec.py +4 -0
  695. metadata/ingestion/source/database/athena/service_spec.py +10 -0
  696. metadata/ingestion/source/database/azuresql/service_spec.py +10 -0
  697. metadata/ingestion/source/database/bigquery/connection.py +28 -2
  698. metadata/ingestion/source/database/bigquery/lineage.py +29 -2
  699. metadata/ingestion/source/database/bigquery/metadata.py +1 -25
  700. metadata/ingestion/source/database/bigquery/profiler/__init__.py +0 -0
  701. metadata/ingestion/source/database/bigquery/profiler/profiler.py +30 -0
  702. metadata/ingestion/source/database/bigquery/profiler/system.py +165 -0
  703. metadata/ingestion/source/database/bigquery/queries.py +69 -1
  704. metadata/ingestion/source/database/bigquery/service_spec.py +14 -0
  705. metadata/ingestion/source/database/bigtable/service_spec.py +4 -0
  706. metadata/ingestion/source/database/clickhouse/service_spec.py +12 -0
  707. metadata/ingestion/source/database/common_db_source.py +150 -147
  708. metadata/ingestion/source/database/common_nosql_source.py +0 -14
  709. metadata/ingestion/source/database/couchbase/metadata.py +62 -2
  710. metadata/ingestion/source/database/couchbase/models.py +31 -0
  711. metadata/ingestion/source/database/couchbase/queries.py +6 -1
  712. metadata/ingestion/source/database/couchbase/service_spec.py +4 -0
  713. metadata/ingestion/source/database/database_service.py +15 -22
  714. metadata/ingestion/source/database/databricks/metadata.py +12 -1
  715. metadata/ingestion/source/database/databricks/service_spec.py +16 -0
  716. metadata/ingestion/source/database/datalake/clients/gcs.py +6 -4
  717. metadata/ingestion/source/database/datalake/metadata.py +2 -13
  718. metadata/ingestion/source/database/datalake/service_spec.py +9 -0
  719. metadata/ingestion/source/database/db2/lineage.py +46 -0
  720. metadata/ingestion/source/database/db2/service_spec.py +9 -0
  721. metadata/ingestion/source/database/dbt/metadata.py +3 -6
  722. metadata/ingestion/source/database/dbt/service_spec.py +4 -0
  723. metadata/ingestion/source/database/deltalake/metadata.py +1 -12
  724. metadata/ingestion/source/database/deltalake/service_spec.py +4 -0
  725. metadata/ingestion/source/database/domodatabase/metadata.py +1 -12
  726. metadata/ingestion/source/database/domodatabase/service_spec.py +4 -0
  727. metadata/ingestion/source/database/doris/metadata.py +1 -1
  728. metadata/ingestion/source/database/doris/service_spec.py +4 -0
  729. metadata/ingestion/source/database/druid/lineage.py +46 -0
  730. metadata/ingestion/source/database/druid/service_spec.py +4 -0
  731. metadata/ingestion/source/database/dynamodb/service_spec.py +7 -0
  732. metadata/ingestion/source/database/exasol/__init__.py +0 -0
  733. metadata/ingestion/source/database/exasol/connection.py +87 -0
  734. metadata/ingestion/source/database/exasol/metadata.py +27 -0
  735. metadata/ingestion/source/database/exasol/service_spec.py +4 -0
  736. metadata/ingestion/source/database/glue/metadata.py +49 -19
  737. metadata/ingestion/source/database/glue/models.py +8 -0
  738. metadata/ingestion/source/database/glue/service_spec.py +4 -0
  739. metadata/ingestion/source/database/greenplum/lineage.py +46 -0
  740. metadata/ingestion/source/database/greenplum/service_spec.py +4 -0
  741. metadata/ingestion/source/database/hive/lineage.py +46 -0
  742. metadata/ingestion/source/database/hive/service_spec.py +4 -0
  743. metadata/ingestion/source/database/iceberg/metadata.py +1 -16
  744. metadata/ingestion/source/database/iceberg/service_spec.py +4 -0
  745. metadata/ingestion/source/database/impala/lineage.py +46 -0
  746. metadata/ingestion/source/database/impala/service_spec.py +4 -0
  747. metadata/ingestion/source/database/life_cycle_query_mixin.py +3 -5
  748. metadata/ingestion/source/database/lineage_source.py +124 -32
  749. metadata/ingestion/source/database/mariadb/lineage.py +46 -0
  750. metadata/ingestion/source/database/mariadb/service_spec.py +4 -0
  751. metadata/ingestion/source/database/mongodb/service_spec.py +7 -0
  752. metadata/ingestion/source/database/mssql/lineage.py +51 -2
  753. metadata/ingestion/source/database/mssql/metadata.py +2 -44
  754. metadata/ingestion/source/database/mssql/service_spec.py +10 -0
  755. metadata/ingestion/source/database/mysql/lineage.py +46 -0
  756. metadata/ingestion/source/database/mysql/service_spec.py +4 -0
  757. metadata/ingestion/source/database/oracle/lineage.py +28 -1
  758. metadata/ingestion/source/database/oracle/metadata.py +2 -23
  759. metadata/ingestion/source/database/oracle/service_spec.py +10 -0
  760. metadata/ingestion/source/database/pinotdb/lineage.py +46 -0
  761. metadata/ingestion/source/database/pinotdb/service_spec.py +4 -0
  762. metadata/ingestion/source/database/postgres/metadata.py +4 -13
  763. metadata/ingestion/source/database/postgres/service_spec.py +10 -0
  764. metadata/ingestion/source/database/postgres/utils.py +26 -0
  765. metadata/ingestion/source/database/presto/service_spec.py +4 -0
  766. metadata/ingestion/source/database/query/service_spec.py +9 -0
  767. metadata/ingestion/source/database/query_parser_source.py +1 -0
  768. metadata/ingestion/source/database/redshift/connection.py +9 -2
  769. metadata/ingestion/source/database/redshift/lineage.py +27 -3
  770. metadata/ingestion/source/database/redshift/metadata.py +2 -27
  771. metadata/ingestion/source/database/redshift/profiler/__init__.py +0 -0
  772. metadata/ingestion/source/database/redshift/profiler/profiler.py +14 -0
  773. metadata/ingestion/source/database/redshift/profiler/system.py +148 -0
  774. metadata/ingestion/source/database/redshift/queries.py +99 -8
  775. metadata/ingestion/source/database/redshift/service_spec.py +14 -0
  776. metadata/ingestion/source/database/redshift/utils.py +3 -3
  777. metadata/ingestion/source/database/salesforce/metadata.py +1 -12
  778. metadata/ingestion/source/database/salesforce/service_spec.py +4 -0
  779. metadata/ingestion/source/database/sample_data.py +137 -34
  780. metadata/ingestion/source/database/saperp/service_spec.py +4 -0
  781. metadata/ingestion/source/database/saphana/service_spec.py +7 -0
  782. metadata/ingestion/source/database/sas/metadata.py +1 -10
  783. metadata/ingestion/source/database/sas/service_spec.py +4 -0
  784. metadata/ingestion/source/database/singlestore/lineage.py +46 -0
  785. metadata/ingestion/source/database/singlestore/service_spec.py +9 -0
  786. metadata/ingestion/source/database/snowflake/connection.py +6 -1
  787. metadata/ingestion/source/database/snowflake/lineage.py +31 -2
  788. metadata/ingestion/source/database/snowflake/metadata.py +1 -24
  789. metadata/ingestion/source/database/snowflake/models.py +50 -1
  790. metadata/ingestion/source/database/snowflake/profiler/__init__.py +0 -0
  791. metadata/ingestion/source/database/snowflake/profiler/profiler.py +26 -0
  792. metadata/ingestion/source/database/snowflake/profiler/system.py +436 -0
  793. metadata/ingestion/source/database/snowflake/queries.py +27 -0
  794. metadata/ingestion/source/database/snowflake/service_spec.py +14 -0
  795. metadata/ingestion/source/database/sql_column_handler.py +26 -0
  796. metadata/ingestion/source/database/sqlite/lineage.py +46 -0
  797. metadata/ingestion/source/database/sqlite/service_spec.py +4 -0
  798. metadata/ingestion/source/database/stored_procedures_mixin.py +78 -37
  799. metadata/ingestion/source/database/teradata/lineage.py +46 -0
  800. metadata/ingestion/source/database/teradata/service_spec.py +4 -0
  801. metadata/ingestion/source/database/trino/connection.py +60 -23
  802. metadata/ingestion/source/database/trino/profiler/__init__.py +0 -0
  803. metadata/ingestion/source/database/trino/profiler/system_tables_profiler.py +167 -0
  804. metadata/ingestion/source/database/trino/service_spec.py +14 -0
  805. metadata/ingestion/source/database/unitycatalog/metadata.py +3 -24
  806. metadata/ingestion/source/database/unitycatalog/service_spec.py +18 -0
  807. metadata/ingestion/source/database/usage_source.py +4 -1
  808. metadata/ingestion/source/database/vertica/service_spec.py +10 -0
  809. metadata/ingestion/source/messaging/kafka/service_spec.py +4 -0
  810. metadata/ingestion/source/messaging/kinesis/service_spec.py +4 -0
  811. metadata/ingestion/source/messaging/redpanda/service_spec.py +4 -0
  812. metadata/ingestion/source/metadata/alationsink/service_spec.py +4 -0
  813. metadata/ingestion/source/metadata/amundsen/service_spec.py +4 -0
  814. metadata/ingestion/source/metadata/atlas/service_spec.py +4 -0
  815. metadata/ingestion/source/mlmodel/mlflow/service_spec.py +4 -0
  816. metadata/ingestion/source/mlmodel/sagemaker/service_spec.py +4 -0
  817. metadata/ingestion/source/pipeline/airbyte/service_spec.py +4 -0
  818. metadata/ingestion/source/pipeline/airflow/metadata.py +36 -2
  819. metadata/ingestion/source/pipeline/airflow/service_spec.py +4 -0
  820. metadata/ingestion/source/pipeline/dagster/metadata.py +3 -1
  821. metadata/ingestion/source/pipeline/dagster/service_spec.py +4 -0
  822. metadata/ingestion/source/pipeline/databrickspipeline/service_spec.py +6 -0
  823. metadata/ingestion/source/pipeline/dbtcloud/service_spec.py +4 -0
  824. metadata/ingestion/source/pipeline/domopipeline/service_spec.py +4 -0
  825. metadata/ingestion/source/pipeline/fivetran/service_spec.py +4 -0
  826. metadata/ingestion/source/pipeline/flink/service_spec.py +4 -0
  827. metadata/ingestion/source/pipeline/gluepipeline/service_spec.py +4 -0
  828. metadata/ingestion/source/pipeline/kafkaconnect/service_spec.py +4 -0
  829. metadata/ingestion/source/pipeline/nifi/service_spec.py +4 -0
  830. metadata/ingestion/source/pipeline/openlineage/service_spec.py +4 -0
  831. metadata/ingestion/source/pipeline/pipeline_service.py +3 -1
  832. metadata/ingestion/source/pipeline/spline/service_spec.py +4 -0
  833. metadata/ingestion/source/search/elasticsearch/service_spec.py +4 -0
  834. metadata/ingestion/source/storage/gcs/metadata.py +2 -2
  835. metadata/ingestion/source/storage/gcs/service_spec.py +4 -0
  836. metadata/ingestion/source/storage/s3/service_spec.py +4 -0
  837. metadata/mixins/sqalchemy/sqa_mixin.py +2 -1
  838. metadata/parsers/avro_parser.py +51 -16
  839. metadata/parsers/json_schema_parser.py +45 -16
  840. metadata/pii/scanners/ner_scanner.py +2 -1
  841. metadata/profiler/api/models.py +5 -0
  842. metadata/profiler/interface/profiler_interface.py +26 -8
  843. metadata/profiler/interface/sqlalchemy/mariadb/profiler_interface.py +5 -3
  844. metadata/profiler/interface/sqlalchemy/profiler_interface.py +32 -21
  845. metadata/profiler/interface/sqlalchemy/single_store/profiler_interface.py +3 -3
  846. metadata/profiler/interface/sqlalchemy/stored_statistics_profiler.py +147 -0
  847. metadata/profiler/interface/sqlalchemy/trino/profiler_interface.py +7 -2
  848. metadata/profiler/metrics/system/system.py +69 -374
  849. metadata/profiler/orm/converter/base.py +2 -1
  850. metadata/profiler/orm/converter/bigquery/converter.py +1 -1
  851. metadata/profiler/orm/functions/count.py +9 -0
  852. metadata/profiler/orm/functions/md5.py +39 -0
  853. metadata/profiler/orm/functions/substr.py +32 -0
  854. metadata/profiler/orm/functions/table_metric_computer.py +1 -1
  855. metadata/profiler/orm/functions/unique_count.py +6 -0
  856. metadata/profiler/orm/registry.py +27 -2
  857. metadata/profiler/processor/core.py +8 -4
  858. metadata/profiler/processor/processor.py +1 -1
  859. metadata/profiler/processor/sampler/sqlalchemy/snowflake/sampler.py +28 -5
  860. metadata/profiler/source/{base → database/base}/profiler_source.py +20 -23
  861. metadata/profiler/source/{bigquery → database/bigquery}/profiler_source.py +1 -1
  862. metadata/profiler/source/{databricks → database/databricks}/profiler_source.py +4 -4
  863. metadata/profiler/source/{mariadb → database/mariadb}/metrics/window/first_quartile.py +1 -1
  864. metadata/profiler/source/{mariadb → database/mariadb}/metrics/window/median.py +1 -1
  865. metadata/profiler/source/{mariadb → database/mariadb}/metrics/window/third_quartile.py +1 -1
  866. metadata/profiler/source/{single_store → database/single_store}/metrics/window/first_quartile.py +3 -1
  867. metadata/profiler/source/{single_store → database/single_store}/metrics/window/median.py +3 -1
  868. metadata/profiler/source/{single_store → database/single_store}/metrics/window/third_quartile.py +3 -1
  869. metadata/profiler/source/fetcher/entity_fetcher.py +62 -0
  870. metadata/profiler/source/fetcher/fetcher_strategy.py +301 -0
  871. metadata/profiler/source/fetcher/profiler_source_factory.py +89 -0
  872. metadata/profiler/source/metadata.py +16 -201
  873. metadata/profiler/source/metadata_ext.py +23 -18
  874. metadata/profiler/source/model.py +29 -0
  875. metadata/utils/class_helper.py +5 -0
  876. metadata/utils/collaborative_super.py +28 -0
  877. metadata/utils/constants.py +2 -0
  878. metadata/utils/constraints.py +65 -0
  879. metadata/utils/dict.py +8 -0
  880. metadata/utils/dispatch.py +1 -53
  881. metadata/utils/entity_link.py +8 -2
  882. metadata/utils/entity_utils.py +93 -0
  883. metadata/utils/filters.py +15 -0
  884. metadata/utils/fqn.py +15 -0
  885. metadata/utils/helpers.py +2 -0
  886. metadata/utils/importer.py +12 -24
  887. metadata/utils/logger.py +23 -2
  888. metadata/utils/lru_cache.py +76 -15
  889. metadata/utils/profiler_utils.py +1 -9
  890. metadata/utils/service_spec/__init__.py +5 -0
  891. metadata/utils/service_spec/default.py +15 -0
  892. metadata/utils/service_spec/service_spec.py +99 -0
  893. metadata/utils/ssl_manager.py +33 -0
  894. metadata/utils/time_utils.py +33 -5
  895. metadata/workflow/application.py +7 -36
  896. metadata/workflow/base.py +47 -17
  897. metadata/workflow/ingestion.py +6 -38
  898. metadata/workflow/workflow_output_handler.py +11 -8
  899. metadata/workflow/workflow_status_mixin.py +0 -2
  900. openmetadata_ingestion-1.6.0.0rc1.dist-info/LICENSE +114 -0
  901. {openmetadata_ingestion-1.5.11.0.dist-info → openmetadata_ingestion-1.6.0.0rc1.dist-info}/METADATA +499 -578
  902. {openmetadata_ingestion-1.5.11.0.dist-info → openmetadata_ingestion-1.6.0.0rc1.dist-info}/RECORD +908 -728
  903. {openmetadata_ingestion-1.5.11.0.dist-info → openmetadata_ingestion-1.6.0.0rc1.dist-info}/entry_points.txt +3 -0
  904. metadata/profiler/interface/profiler_interface_factory.py +0 -107
  905. metadata/profiler/metrics/system/queries/bigquery.py +0 -54
  906. metadata/profiler/metrics/system/queries/redshift.py +0 -103
  907. metadata/profiler/metrics/system/queries/snowflake.py +0 -191
  908. metadata/profiler/source/profiler_source_factory.py +0 -54
  909. openmetadata_ingestion-1.5.11.0.dist-info/LICENSE +0 -201
  910. /metadata/profiler/source/{bigquery → database/bigquery}/type_mapper.py +0 -0
  911. /metadata/profiler/source/{mariadb → database/mariadb}/functions/median.py +0 -0
  912. /metadata/profiler/source/{single_store → database/single_store}/functions/median.py +0 -0
  913. {openmetadata_ingestion-1.5.11.0.dist-info → openmetadata_ingestion-1.6.0.0rc1.dist-info}/WHEEL +0 -0
  914. {openmetadata_ingestion-1.5.11.0.dist-info → openmetadata_ingestion-1.6.0.0rc1.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,67 @@
1
+ # Copyright 2021 Collate
2
+ # Licensed under the Apache License, Version 2.0 (the "License");
3
+ # you may not use this file except in compliance with the License.
4
+ # You may obtain a copy of the License at
5
+ # http://www.apache.org/licenses/LICENSE-2.0
6
+ # Unless required by applicable law or agreed to in writing, software
7
+ # distributed under the License is distributed on an "AS IS" BASIS,
8
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
9
+ # See the License for the specific language governing permissions and
10
+ # limitations under the License.
11
+
12
+ """
13
+ Source connection handler
14
+ """
15
+
16
+ from typing import Optional
17
+
18
+ from metadata.generated.schema.entity.automations.workflow import (
19
+ Workflow as AutomationWorkflow,
20
+ )
21
+ from metadata.generated.schema.entity.services.connections.dashboard.sigmaConnection import (
22
+ SigmaConnection,
23
+ )
24
+ from metadata.generated.schema.entity.services.connections.testConnectionResult import (
25
+ TestConnectionResult,
26
+ )
27
+ from metadata.ingestion.connections.test_connections import (
28
+ SourceConnectionException,
29
+ test_connection_steps,
30
+ )
31
+ from metadata.ingestion.ometa.ometa_api import OpenMetadata
32
+ from metadata.ingestion.source.dashboard.sigma.client import SigmaApiClient
33
+ from metadata.utils.constants import THREE_MIN
34
+
35
+
36
+ def get_connection(connection: SigmaConnection) -> SigmaApiClient:
37
+ """
38
+ Create connection
39
+ """
40
+ try:
41
+ return SigmaApiClient(connection)
42
+ except Exception as exc:
43
+ msg = f"Unknown error connecting with {connection}: {exc}."
44
+ raise SourceConnectionException(msg) from exc
45
+
46
+
47
+ def test_connection(
48
+ metadata: OpenMetadata,
49
+ client: SigmaApiClient,
50
+ service_connection: SigmaConnection,
51
+ automation_workflow: Optional[AutomationWorkflow] = None,
52
+ timeout_seconds: Optional[int] = THREE_MIN,
53
+ ) -> TestConnectionResult:
54
+ """
55
+ Test connection. This can be executed either as part
56
+ of a metadata workflow or during an Automation Workflow
57
+ """
58
+
59
+ test_fn = {"GetToken": client.get_auth_token, "GetWorkbooks": client.get_dashboards}
60
+
61
+ return test_connection_steps(
62
+ metadata=metadata,
63
+ test_fn=test_fn,
64
+ service_type=service_connection.type.value,
65
+ automation_workflow=automation_workflow,
66
+ timeout_seconds=timeout_seconds,
67
+ )
@@ -0,0 +1,331 @@
1
+ # Copyright 2021 Collate
2
+ # Licensed under the Apache License, Version 2.0 (the "License");
3
+ # you may not use this file except in compliance with the License.
4
+ # You may obtain a copy of the License at
5
+ # http://www.apache.org/licenses/LICENSE-2.0
6
+ # Unless required by applicable law or agreed to in writing, software
7
+ # distributed under the License is distributed on an "AS IS" BASIS,
8
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
9
+ # See the License for the specific language governing permissions and
10
+ # limitations under the License.
11
+ """Sigma source module"""
12
+
13
+ import traceback
14
+ from typing import Iterable, List, Optional
15
+
16
+ from metadata.generated.schema.api.data.createChart import CreateChartRequest
17
+ from metadata.generated.schema.api.data.createDashboard import CreateDashboardRequest
18
+ from metadata.generated.schema.api.data.createDashboardDataModel import (
19
+ CreateDashboardDataModelRequest,
20
+ )
21
+ from metadata.generated.schema.entity.data.chart import Chart
22
+ from metadata.generated.schema.entity.data.dashboardDataModel import (
23
+ DashboardDataModel,
24
+ DataModelType,
25
+ )
26
+ from metadata.generated.schema.entity.data.table import Column, DataType, Table
27
+ from metadata.generated.schema.entity.services.connections.dashboard.sigmaConnection import (
28
+ SigmaConnection,
29
+ )
30
+ from metadata.generated.schema.entity.services.ingestionPipelines.status import (
31
+ StackTraceError,
32
+ )
33
+ from metadata.generated.schema.metadataIngestion.workflow import (
34
+ Source as WorkflowSource,
35
+ )
36
+ from metadata.generated.schema.type.basic import (
37
+ EntityName,
38
+ FullyQualifiedEntityName,
39
+ Markdown,
40
+ SourceUrl,
41
+ )
42
+ from metadata.generated.schema.type.entityReferenceList import EntityReferenceList
43
+ from metadata.ingestion.api.models import Either
44
+ from metadata.ingestion.api.steps import InvalidSourceException
45
+ from metadata.ingestion.ometa.ometa_api import OpenMetadata
46
+ from metadata.ingestion.source.dashboard.dashboard_service import DashboardServiceSource
47
+ from metadata.ingestion.source.dashboard.sigma.models import (
48
+ Elements,
49
+ NodeDetails,
50
+ Workbook,
51
+ WorkbookDetails,
52
+ )
53
+ from metadata.utils import fqn
54
+ from metadata.utils.filters import filter_by_chart
55
+ from metadata.utils.helpers import get_standard_chart_type
56
+ from metadata.utils.logger import ingestion_logger
57
+
58
+ logger = ingestion_logger()
59
+
60
+
61
+ class SigmaSource(DashboardServiceSource):
62
+ """
63
+ Sigma Source Class
64
+ """
65
+
66
+ @classmethod
67
+ def create(
68
+ cls,
69
+ config_dict: dict,
70
+ metadata: OpenMetadata,
71
+ pipeline_name: Optional[str] = None,
72
+ ):
73
+ config: WorkflowSource = WorkflowSource.model_validate(config_dict)
74
+ connection: SigmaConnection = config.serviceConnection.root.config
75
+ if not isinstance(connection, SigmaConnection):
76
+ raise InvalidSourceException(
77
+ f"Expected SigmaConnection, but got {connection}"
78
+ )
79
+ return cls(config, metadata)
80
+
81
+ def __init__(
82
+ self,
83
+ config: WorkflowSource,
84
+ metadata: OpenMetadata,
85
+ ):
86
+ super().__init__(config, metadata)
87
+ self.data_models: List[Elements] = []
88
+
89
+ def get_dashboards_list(self) -> Optional[List[Workbook]]:
90
+ """
91
+ get list of dashboard
92
+ """
93
+ return self.client.get_dashboards()
94
+
95
+ def get_dashboard_name(self, dashboard: Workbook) -> Optional[str]:
96
+ """
97
+ get dashboard name
98
+ """
99
+ return dashboard.name
100
+
101
+ def get_dashboard_details(self, dashboard: Workbook) -> Optional[WorkbookDetails]:
102
+ """
103
+ get dashboard details
104
+ """
105
+ return self.client.get_dashboard_detail(dashboard.workbookId)
106
+
107
+ def yield_dashboard(
108
+ self, dashboard_details: WorkbookDetails
109
+ ) -> Iterable[Either[CreateDashboardRequest]]:
110
+ """
111
+ yield Dashboard Entity
112
+ """
113
+ try:
114
+ dashboard_request = CreateDashboardRequest(
115
+ name=EntityName(str(dashboard_details.workbookId)),
116
+ displayName=dashboard_details.name,
117
+ description=Markdown(dashboard_details.description)
118
+ if dashboard_details.description
119
+ else None,
120
+ charts=[
121
+ FullyQualifiedEntityName(
122
+ fqn.build(
123
+ self.metadata,
124
+ entity_type=Chart,
125
+ service_name=self.context.get().dashboard_service,
126
+ chart_name=chart,
127
+ )
128
+ )
129
+ for chart in self.context.get().charts or []
130
+ ],
131
+ service=FullyQualifiedEntityName(self.context.get().dashboard_service),
132
+ sourceUrl=SourceUrl(dashboard_details.url),
133
+ owners=self.get_owner_ref(dashboard_details=dashboard_details),
134
+ )
135
+ yield Either(right=dashboard_request)
136
+ self.register_record(dashboard_request=dashboard_request)
137
+ except Exception as exc:
138
+ yield Either(
139
+ left=StackTraceError(
140
+ name="Dashboard",
141
+ error=f"Error to yield dashboard for {dashboard_details}: {exc}",
142
+ stackTrace=traceback.format_exc(),
143
+ )
144
+ )
145
+
146
+ def yield_dashboard_chart(
147
+ self, dashboard_details: WorkbookDetails
148
+ ) -> Iterable[Either[CreateChartRequest]]:
149
+ """
150
+ yield dashboard charts
151
+ """
152
+ charts = self.client.get_chart_details(dashboard_details.workbookId)
153
+ for chart in charts or []:
154
+ try:
155
+ if filter_by_chart(self.source_config.chartFilterPattern, chart.name):
156
+ self.status.filter(chart.name, "Chart Pattern not allowed")
157
+ continue
158
+ yield Either(
159
+ right=CreateChartRequest(
160
+ name=EntityName(str(chart.elementId)),
161
+ displayName=chart.name,
162
+ chartType=get_standard_chart_type(chart.vizualizationType),
163
+ service=FullyQualifiedEntityName(
164
+ self.context.get().dashboard_service
165
+ ),
166
+ sourceUrl=SourceUrl(dashboard_details.url),
167
+ description=Markdown(dashboard_details.description)
168
+ if dashboard_details.description
169
+ else None,
170
+ )
171
+ )
172
+ except Exception as exc:
173
+ yield Either(
174
+ left=StackTraceError(
175
+ name="Chart",
176
+ error=(
177
+ "Error to yield dashboard chart for : "
178
+ f"{chart.elementId} and {dashboard_details}: {exc}"
179
+ ),
180
+ stackTrace=traceback.format_exc(),
181
+ )
182
+ )
183
+
184
+ def _get_datamodel(self, datamodel_id: str):
185
+ datamodel_fqn = fqn.build(
186
+ self.metadata,
187
+ entity_type=DashboardDataModel,
188
+ service_name=self.context.get().dashboard_service,
189
+ data_model_name=datamodel_id,
190
+ )
191
+ if datamodel_fqn:
192
+ return self.metadata.get_by_name(
193
+ entity=DashboardDataModel,
194
+ fqn=datamodel_fqn,
195
+ )
196
+ return None
197
+
198
+ def _get_table_entity_from_node(
199
+ self, node: NodeDetails, db_service_name: str
200
+ ) -> Optional[Table]:
201
+ """
202
+ Get the table entity for lineage
203
+ """
204
+ if node.node_schema:
205
+ try:
206
+ table_fqn = fqn.build(
207
+ self.metadata,
208
+ entity_type=Table,
209
+ service_name=db_service_name,
210
+ schema_name=node.node_schema,
211
+ table_name=node.name,
212
+ database_name="",
213
+ )
214
+ if table_fqn:
215
+ return self.metadata.get_by_name(
216
+ entity=Table,
217
+ fqn=table_fqn,
218
+ )
219
+ except Exception as exc:
220
+ logger.debug(traceback.format_exc())
221
+ logger.warning(f"Error occured while finding table fqn: {exc}")
222
+ return None
223
+
224
+ def yield_dashboard_lineage_details(
225
+ self, dashboard_details: WorkbookDetails, db_service_name: Optional[str]
226
+ ):
227
+ """
228
+ yield dashboard lineage
229
+ """
230
+ if not db_service_name:
231
+ return
232
+ # charts and datamodels are same here as we are using charts as metadata for datamodels
233
+ for data_model in self.data_models or []:
234
+ try:
235
+ data_model_entity = self._get_datamodel(
236
+ datamodel_id=data_model.elementId
237
+ )
238
+ if data_model_entity:
239
+ nodes = self.client.get_lineage_details(
240
+ dashboard_details.workbookId, data_model.elementId
241
+ )
242
+ for node in nodes:
243
+ table_entity = self._get_table_entity_from_node(
244
+ node, db_service_name
245
+ )
246
+ if table_entity and data_model.columns:
247
+ columns_list = data_model.columns
248
+ column_lineage = self._get_column_lineage(
249
+ table_entity, data_model_entity, columns_list
250
+ )
251
+ yield self._get_add_lineage_request(
252
+ to_entity=data_model_entity,
253
+ from_entity=table_entity,
254
+ column_lineage=column_lineage,
255
+ )
256
+ except Exception as exc:
257
+ yield Either(
258
+ left=StackTraceError(
259
+ name=f"{dashboard_details.name} Lineage",
260
+ error=(
261
+ "Error to yield dashboard lineage details for DB "
262
+ f"service name [{db_service_name}]: {exc}"
263
+ ),
264
+ stackTrace=traceback.format_exc(),
265
+ )
266
+ )
267
+
268
+ def get_column_info(self, element: Elements) -> Optional[List[Column]]:
269
+ """Build data model columns"""
270
+ datamodel_columns = []
271
+ for col in element.columns or []:
272
+ try:
273
+ datamodel_columns.append(
274
+ Column(
275
+ name=col,
276
+ displayName=col,
277
+ dataType=DataType.UNKNOWN,
278
+ dataTypeDisplay="Sigma Field",
279
+ )
280
+ )
281
+ except Exception as exc:
282
+ logger.debug(traceback.format_exc())
283
+ logger.warning(f"Error to yield datamodel column: {exc}")
284
+ return datamodel_columns
285
+
286
+ def yield_datamodel(
287
+ self, dashboard_details: WorkbookDetails
288
+ ) -> Iterable[Either[DashboardDataModel]]:
289
+ if self.source_config.includeDataModels:
290
+ # we are ingesting charts/Elements as datamodels here
291
+ self.data_models = self.client.get_chart_details(
292
+ dashboard_details.workbookId
293
+ )
294
+ for data_model in self.data_models or []:
295
+ try:
296
+ data_model_request = CreateDashboardDataModelRequest(
297
+ name=EntityName(data_model.elementId),
298
+ displayName=data_model.name,
299
+ service=FullyQualifiedEntityName(
300
+ self.context.get().dashboard_service
301
+ ),
302
+ dataModelType=DataModelType.SigmaDataModel.value,
303
+ serviceType=self.service_connection.type.value,
304
+ columns=self.get_column_info(data_model),
305
+ )
306
+ yield Either(right=data_model_request)
307
+ self.register_record_datamodel(datamodel_request=data_model_request)
308
+ except Exception as exc:
309
+ yield Either(
310
+ left=StackTraceError(
311
+ name=data_model.elementId,
312
+ error=f"Error yielding Data Model [{data_model.elementId}]: {exc}",
313
+ stackTrace=traceback.format_exc(),
314
+ )
315
+ )
316
+
317
+ def get_owner_ref(
318
+ self, dashboard_details: WorkbookDetails
319
+ ) -> Optional[EntityReferenceList]:
320
+ """
321
+ Get owner from email
322
+ """
323
+ try:
324
+ if dashboard_details.ownerId:
325
+ owner = self.client.get_owner_detail(dashboard_details.ownerId)
326
+ return self.metadata.get_reference_by_email(owner.email)
327
+ return None
328
+ except Exception as err:
329
+ logger.debug(traceback.format_exc())
330
+ logger.warning(f"Could not fetch owner data due to {err}")
331
+ return None
@@ -0,0 +1,97 @@
1
+ # Copyright 2023 Collate
2
+ # Licensed under the Apache License, Version 2.0 (the "License");
3
+ # you may not use this file except in compliance with the License.
4
+ # You may obtain a copy of the License at
5
+ # http://www.apache.org/licenses/LICENSE-2.0
6
+ # Unless required by applicable law or agreed to in writing, software
7
+ # distributed under the License is distributed on an "AS IS" BASIS,
8
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
9
+ # See the License for the specific language governing permissions and
10
+ # limitations under the License.
11
+ """
12
+ PowerBI Models
13
+ """
14
+ from typing import List, Optional
15
+
16
+ from pydantic import BaseModel, Field
17
+
18
+
19
+ class AuthToken(BaseModel):
20
+ access_token: str
21
+ refresh_token: Optional[str] = None
22
+ token_type: str
23
+ expires_in: Optional[int] = 0
24
+
25
+
26
+ class Workbook(BaseModel):
27
+ workbookId: str
28
+ name: Optional[str] = None
29
+ ownerId: Optional[str] = None
30
+
31
+
32
+ class WorkbookDetails(BaseModel):
33
+ workbookId: str
34
+ name: Optional[str] = None
35
+ createdAt: str
36
+ url: str
37
+ path: Optional[str] = None
38
+ ownerId: Optional[str] = None
39
+ isArchived: bool
40
+ description: Optional[str] = None
41
+
42
+
43
+ class WorkBookResponseDetails(BaseModel):
44
+ entries: Optional[List[Workbook]] = []
45
+
46
+
47
+ class OwnerDetails(BaseModel):
48
+ organizationId: str
49
+ email: str
50
+
51
+
52
+ class WorkBookPage(BaseModel):
53
+ pageId: str
54
+
55
+
56
+ class WorkBookPageResponse(BaseModel):
57
+ entries: Optional[List[WorkBookPage]] = []
58
+
59
+
60
+ class Elements(BaseModel):
61
+ elementId: str
62
+ name: Optional[str] = None
63
+ vizualizationType: Optional[str] = None
64
+ columns: Optional[List[str]] = []
65
+
66
+
67
+ class ElementsResponse(BaseModel):
68
+ entries: Optional[List[Elements]] = []
69
+
70
+
71
+ class EdgeSource(BaseModel):
72
+ source: str
73
+
74
+ @property
75
+ def node_id(self):
76
+ if self.source:
77
+ if "inode-" in self.source:
78
+ return self.source.replace("inode-", "")
79
+ return None
80
+
81
+
82
+ class EdgeSourceResponse(BaseModel):
83
+ edges: Optional[List[EdgeSource]] = []
84
+
85
+
86
+ class NodeDetails(BaseModel):
87
+ id: str
88
+ name: Optional[str]
89
+ node_type: str = Field(alias="type")
90
+ path: Optional[str] = ""
91
+
92
+ @property
93
+ def node_schema(self):
94
+ if self.node_type == "table" and self.path:
95
+ if "/" in self.path:
96
+ return self.path.split("/", maxsplit=-1)[-1]
97
+ return None
@@ -0,0 +1,4 @@
1
+ from metadata.ingestion.source.dashboard.sigma.metadata import SigmaSource
2
+ from metadata.utils.service_spec import BaseSpec
3
+
4
+ ServiceSpec = BaseSpec(metadata_source_class=SigmaSource)
@@ -0,0 +1,4 @@
1
+ from metadata.ingestion.source.dashboard.superset.metadata import SupersetSource
2
+ from metadata.utils.service_spec import BaseSpec
3
+
4
+ ServiceSpec = BaseSpec(metadata_source_class=SupersetSource)
@@ -0,0 +1,4 @@
1
+ from metadata.ingestion.source.dashboard.tableau.metadata import TableauSource
2
+ from metadata.utils.service_spec import BaseSpec
3
+
4
+ ServiceSpec = BaseSpec(metadata_source_class=TableauSource)
@@ -0,0 +1,10 @@
1
+ from metadata.ingestion.source.database.athena.lineage import AthenaLineageSource
2
+ from metadata.ingestion.source.database.athena.metadata import AthenaSource
3
+ from metadata.ingestion.source.database.athena.usage import AthenaUsageSource
4
+ from metadata.utils.service_spec.default import DefaultDatabaseSpec
5
+
6
+ ServiceSpec = DefaultDatabaseSpec(
7
+ metadata_source_class=AthenaSource,
8
+ lineage_source_class=AthenaLineageSource,
9
+ usage_source_class=AthenaUsageSource,
10
+ )
@@ -0,0 +1,10 @@
1
+ from metadata.ingestion.source.database.azuresql.lineage import AzuresqlLineageSource
2
+ from metadata.ingestion.source.database.azuresql.metadata import AzuresqlSource
3
+ from metadata.ingestion.source.database.azuresql.usage import AzuresqlUsageSource
4
+ from metadata.utils.service_spec.default import DefaultDatabaseSpec
5
+
6
+ ServiceSpec = DefaultDatabaseSpec(
7
+ metadata_source_class=AzuresqlSource,
8
+ lineage_source_class=AzuresqlLineageSource,
9
+ usage_source_class=AzuresqlUsageSource,
10
+ )
@@ -17,6 +17,7 @@ from datetime import datetime
17
17
  from functools import partial
18
18
  from typing import Optional
19
19
 
20
+ from google.api_core.exceptions import NotFound
20
21
  from google.cloud.datacatalog_v1 import PolicyTagManagerClient
21
22
  from sqlalchemy.engine import Engine
22
23
 
@@ -154,8 +155,8 @@ def test_connection(
154
155
  test_fn = {
155
156
  "CheckAccess": partial(test_connection_engine_step, engine),
156
157
  "GetSchemas": partial(execute_inspector_func, engine, "get_schema_names"),
157
- "GetTables": partial(execute_inspector_func, engine, "get_table_names"),
158
- "GetViews": partial(execute_inspector_func, engine, "get_view_names"),
158
+ "GetTables": partial(get_table_view_names, engine),
159
+ "GetViews": partial(get_table_view_names, engine),
159
160
  "GetTags": test_tags,
160
161
  "GetQueries": partial(
161
162
  test_query,
@@ -176,3 +177,28 @@ def test_connection(
176
177
  )
177
178
 
178
179
  return test_connection_inner(engine)
180
+
181
+
182
+ def get_table_view_names(connection, schema=None):
183
+ with connection.connect() as conn:
184
+ current_schema = schema
185
+ client = conn.connection._client
186
+ item_types = ["TABLE", "EXTERNAL", "VIEW", "MATERIALIZED_VIEW"]
187
+ datasets = client.list_datasets()
188
+ result = []
189
+ for dataset in datasets:
190
+ if current_schema is not None and current_schema != dataset.dataset_id:
191
+ continue
192
+
193
+ try:
194
+ tables = client.list_tables(dataset.reference, page_size=1)
195
+ for table in tables:
196
+ if table.table_type in item_types:
197
+ break
198
+ except NotFound:
199
+ # It's possible that the dataset was deleted between when we
200
+ # fetched the list of datasets and when we try to list the
201
+ # tables from it. See:
202
+ # https://github.com/googleapis/python-bigquery-sqlalchemy/issues/105
203
+ pass
204
+ return result
@@ -11,14 +11,26 @@
11
11
  """
12
12
  Handle big query lineage extraction
13
13
  """
14
- from metadata.ingestion.source.database.bigquery.queries import BIGQUERY_STATEMENT
14
+ from typing import Dict, List
15
+
16
+ from metadata.ingestion.source.database.bigquery.queries import (
17
+ BIGQUERY_GET_STORED_PROCEDURE_QUERIES,
18
+ BIGQUERY_STATEMENT,
19
+ )
15
20
  from metadata.ingestion.source.database.bigquery.query_parser import (
16
21
  BigqueryQueryParserSource,
17
22
  )
18
23
  from metadata.ingestion.source.database.lineage_source import LineageSource
24
+ from metadata.ingestion.source.database.stored_procedures_mixin import (
25
+ QueryByProcedure,
26
+ StoredProcedureLineageMixin,
27
+ )
28
+ from metadata.utils.helpers import get_start_and_end
19
29
 
20
30
 
21
- class BigqueryLineageSource(BigqueryQueryParserSource, LineageSource):
31
+ class BigqueryLineageSource(
32
+ BigqueryQueryParserSource, StoredProcedureLineageMixin, LineageSource
33
+ ):
22
34
  """
23
35
  Implements the necessary methods to extract
24
36
  Database lineage from Bigquery Source
@@ -32,3 +44,18 @@ class BigqueryLineageSource(BigqueryQueryParserSource, LineageSource):
32
44
  OR (statement_type = "INSERT" and UPPER(query) like '%%INSERT%%INTO%%SELECT%%')
33
45
  )
34
46
  """
47
+
48
+ def get_stored_procedure_queries_dict(self) -> Dict[str, List[QueryByProcedure]]:
49
+ """
50
+ Pick the stored procedure name from the context
51
+ and return the list of associated queries
52
+ """
53
+ start, _ = get_start_and_end(self.source_config.queryLogDuration)
54
+ query = BIGQUERY_GET_STORED_PROCEDURE_QUERIES.format(
55
+ start_date=start,
56
+ region=self.service_connection.usageLocation,
57
+ )
58
+ queries_dict = self.procedure_queries_dict(
59
+ query=query,
60
+ )
61
+ return queries_dict
@@ -77,7 +77,6 @@ from metadata.ingestion.source.database.bigquery.models import (
77
77
  BigQueryStoredProcedure,
78
78
  )
79
79
  from metadata.ingestion.source.database.bigquery.queries import (
80
- BIGQUERY_GET_STORED_PROCEDURE_QUERIES,
81
80
  BIGQUERY_GET_STORED_PROCEDURES,
82
81
  BIGQUERY_LIFE_CYCLE_QUERY,
83
82
  BIGQUERY_SCHEMA_DESCRIPTION,
@@ -95,14 +94,9 @@ from metadata.ingestion.source.database.life_cycle_query_mixin import (
95
94
  LifeCycleQueryMixin,
96
95
  )
97
96
  from metadata.ingestion.source.database.multi_db_source import MultiDBSource
98
- from metadata.ingestion.source.database.stored_procedures_mixin import (
99
- QueryByProcedure,
100
- StoredProcedureMixin,
101
- )
102
97
  from metadata.utils import fqn
103
98
  from metadata.utils.credentials import GOOGLE_CREDENTIALS
104
99
  from metadata.utils.filters import filter_by_database, filter_by_schema
105
- from metadata.utils.helpers import get_start_and_end
106
100
  from metadata.utils.logger import ingestion_logger
107
101
  from metadata.utils.sqlalchemy_utils import (
108
102
  get_all_table_ddls,
@@ -223,9 +217,7 @@ Inspector.get_all_table_ddls = get_all_table_ddls
223
217
  Inspector.get_table_ddl = get_table_ddl
224
218
 
225
219
 
226
- class BigquerySource(
227
- LifeCycleQueryMixin, StoredProcedureMixin, CommonDbSourceService, MultiDBSource
228
- ):
220
+ class BigquerySource(LifeCycleQueryMixin, CommonDbSourceService, MultiDBSource):
229
221
  """
230
222
  Implements the necessary methods to extract
231
223
  Database metadata from Bigquery Source
@@ -850,22 +842,6 @@ class BigquerySource(
850
842
  )
851
843
  )
852
844
 
853
- def get_stored_procedure_queries_dict(self) -> Dict[str, List[QueryByProcedure]]:
854
- """
855
- Pick the stored procedure name from the context
856
- and return the list of associated queries
857
- """
858
- start, _ = get_start_and_end(self.source_config.queryLogDuration)
859
- query = BIGQUERY_GET_STORED_PROCEDURE_QUERIES.format(
860
- start_date=start,
861
- region=self.service_connection.usageLocation,
862
- )
863
- queries_dict = self.procedure_queries_dict(
864
- query=query,
865
- )
866
-
867
- return queries_dict
868
-
869
845
  def mark_tables_as_deleted(self):
870
846
  """
871
847
  Use the current inspector to mark tables as deleted