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,46 @@
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
+ Mariadb lineage module
13
+ """
14
+ from typing import Optional
15
+
16
+ from metadata.generated.schema.entity.services.connections.database.mariaDBConnection import (
17
+ MariadbConnection,
18
+ )
19
+ from metadata.generated.schema.metadataIngestion.workflow import (
20
+ Source as WorkflowSource,
21
+ )
22
+ from metadata.ingestion.api.steps import InvalidSourceException
23
+ from metadata.ingestion.ometa.ometa_api import OpenMetadata
24
+ from metadata.ingestion.source.database.lineage_source import LineageSource
25
+ from metadata.utils.logger import ingestion_logger
26
+
27
+ logger = ingestion_logger()
28
+
29
+
30
+ class MariadbLineageSource(LineageSource):
31
+ """
32
+ Mariadb lineage source implements view lineage
33
+ """
34
+
35
+ @classmethod
36
+ def create(
37
+ cls, config_dict, metadata: OpenMetadata, pipeline_name: Optional[str] = None
38
+ ):
39
+ """Create class instance"""
40
+ config: WorkflowSource = WorkflowSource.model_validate(config_dict)
41
+ connection: MariadbConnection = config.serviceConnection.root.config
42
+ if not isinstance(connection, MariadbConnection):
43
+ raise InvalidSourceException(
44
+ f"Expected MariadbConnection, but got {connection}"
45
+ )
46
+ return cls(config, metadata)
@@ -0,0 +1,4 @@
1
+ from metadata.ingestion.source.database.mariadb.metadata import MariadbSource
2
+ from metadata.utils.service_spec.default import DefaultDatabaseSpec
3
+
4
+ ServiceSpec = DefaultDatabaseSpec(metadata_source_class=MariadbSource)
@@ -0,0 +1,7 @@
1
+ from metadata.ingestion.source.database.mongodb.metadata import MongodbSource
2
+ from metadata.profiler.interface.nosql.profiler_interface import NoSQLProfilerInterface
3
+ from metadata.utils.service_spec.default import DefaultDatabaseSpec
4
+
5
+ ServiceSpec = DefaultDatabaseSpec(
6
+ metadata_source_class=MongodbSource, profiler_class=NoSQLProfilerInterface
7
+ )
@@ -11,21 +11,39 @@
11
11
  """
12
12
  MSSQL lineage module
13
13
  """
14
+ import traceback
14
15
  from datetime import datetime
16
+ from typing import Dict, List
15
17
 
18
+ from metadata.generated.schema.entity.services.ingestionPipelines.status import (
19
+ StackTraceError,
20
+ )
16
21
  from metadata.ingestion.source.database.lineage_source import LineageSource
17
22
  from metadata.ingestion.source.database.mssql.constants import (
18
23
  DEFAULT_DATETIME_FORMAT,
19
24
  MSSQL_DATEFORMAT_DATETIME_MAP,
20
25
  )
21
- from metadata.ingestion.source.database.mssql.queries import MSSQL_SQL_STATEMENT
26
+ from metadata.ingestion.source.database.mssql.queries import (
27
+ MSSQL_GET_STORED_PROCEDURE_QUERIES,
28
+ MSSQL_SQL_STATEMENT,
29
+ )
22
30
  from metadata.ingestion.source.database.mssql.query_parser import MssqlQueryParserSource
23
31
  from metadata.ingestion.source.database.mssql.utils import (
24
32
  get_sqlalchemy_engine_dateformat,
25
33
  )
34
+ from metadata.ingestion.source.database.stored_procedures_mixin import (
35
+ QueryByProcedure,
36
+ StoredProcedureLineageMixin,
37
+ )
38
+ from metadata.utils.helpers import get_start_and_end
39
+ from metadata.utils.logger import ingestion_logger
40
+
41
+ logger = ingestion_logger()
26
42
 
27
43
 
28
- class MssqlLineageSource(MssqlQueryParserSource, LineageSource):
44
+ class MssqlLineageSource(
45
+ MssqlQueryParserSource, StoredProcedureLineageMixin, LineageSource
46
+ ):
29
47
 
30
48
  sql_stmt = MSSQL_SQL_STATEMENT
31
49
 
@@ -55,3 +73,34 @@ class MssqlLineageSource(MssqlQueryParserSource, LineageSource):
55
73
  filters=self.get_filters(),
56
74
  result_limit=self.source_config.resultLimit,
57
75
  )
76
+
77
+ def get_stored_procedure_queries_dict(self) -> Dict[str, List[QueryByProcedure]]:
78
+ """
79
+ Return the dictionary associating stored procedures to the
80
+ queries they triggered
81
+ """
82
+ start, _ = get_start_and_end(self.source_config.queryLogDuration)
83
+ server_date_format = get_sqlalchemy_engine_dateformat(self.engine)
84
+ current_datetime_format = MSSQL_DATEFORMAT_DATETIME_MAP.get(
85
+ server_date_format, DEFAULT_DATETIME_FORMAT
86
+ )
87
+ start = start.strftime(current_datetime_format)
88
+ query = MSSQL_GET_STORED_PROCEDURE_QUERIES.format(
89
+ start_date=start,
90
+ )
91
+ try:
92
+ queries_dict = self.procedure_queries_dict(
93
+ query=query,
94
+ )
95
+ except Exception as ex: # pylint: disable=broad-except
96
+ logger.debug(f"Error runnning query:\n{query}")
97
+ self.status.failed(
98
+ StackTraceError(
99
+ name="Stored Procedure",
100
+ error=f"Error trying to get stored procedure queries: {ex}",
101
+ stackTrace=traceback.format_exc(),
102
+ )
103
+ )
104
+ return {}
105
+
106
+ return queries_dict
@@ -10,7 +10,7 @@
10
10
  # limitations under the License.
11
11
  """MSSQL source module"""
12
12
  import traceback
13
- from typing import Dict, Iterable, List, Optional
13
+ from typing import Iterable, Optional
14
14
 
15
15
  from sqlalchemy.dialects.mssql.base import MSDialect, ischema_names
16
16
  from sqlalchemy.engine.reflection import Inspector
@@ -35,24 +35,18 @@ from metadata.ingestion.api.models import Either
35
35
  from metadata.ingestion.api.steps import InvalidSourceException
36
36
  from metadata.ingestion.ometa.ometa_api import OpenMetadata
37
37
  from metadata.ingestion.source.database.common_db_source import CommonDbSourceService
38
- from metadata.ingestion.source.database.mssql.constants import (
39
- DEFAULT_DATETIME_FORMAT,
40
- MSSQL_DATEFORMAT_DATETIME_MAP,
41
- )
42
38
  from metadata.ingestion.source.database.mssql.models import (
43
39
  STORED_PROC_LANGUAGE_MAP,
44
40
  MssqlStoredProcedure,
45
41
  )
46
42
  from metadata.ingestion.source.database.mssql.queries import (
47
43
  MSSQL_GET_DATABASE,
48
- MSSQL_GET_STORED_PROCEDURE_QUERIES,
49
44
  MSSQL_GET_STORED_PROCEDURES,
50
45
  )
51
46
  from metadata.ingestion.source.database.mssql.utils import (
52
47
  get_columns,
53
48
  get_foreign_keys,
54
49
  get_pk_constraint,
55
- get_sqlalchemy_engine_dateformat,
56
50
  get_table_comment,
57
51
  get_table_names,
58
52
  get_unique_constraints,
@@ -60,13 +54,8 @@ from metadata.ingestion.source.database.mssql.utils import (
60
54
  get_view_names,
61
55
  )
62
56
  from metadata.ingestion.source.database.multi_db_source import MultiDBSource
63
- from metadata.ingestion.source.database.stored_procedures_mixin import (
64
- QueryByProcedure,
65
- StoredProcedureMixin,
66
- )
67
57
  from metadata.utils import fqn
68
58
  from metadata.utils.filters import filter_by_database
69
- from metadata.utils.helpers import get_start_and_end
70
59
  from metadata.utils.logger import ingestion_logger
71
60
  from metadata.utils.sqa_utils import update_mssql_ischema_names
72
61
  from metadata.utils.sqlalchemy_utils import (
@@ -99,7 +88,7 @@ Inspector.get_all_table_ddls = get_all_table_ddls
99
88
  Inspector.get_table_ddl = get_table_ddl
100
89
 
101
90
 
102
- class MssqlSource(StoredProcedureMixin, CommonDbSourceService, MultiDBSource):
91
+ class MssqlSource(CommonDbSourceService, MultiDBSource):
103
92
  """
104
93
  Implements the necessary methods to extract
105
94
  Database metadata from MSSQL Source
@@ -213,34 +202,3 @@ class MssqlSource(StoredProcedureMixin, CommonDbSourceService, MultiDBSource):
213
202
  stackTrace=traceback.format_exc(),
214
203
  )
215
204
  )
216
-
217
- def get_stored_procedure_queries_dict(self) -> Dict[str, List[QueryByProcedure]]:
218
- """
219
- Return the dictionary associating stored procedures to the
220
- queries they triggered
221
- """
222
- start, _ = get_start_and_end(self.source_config.queryLogDuration)
223
- server_date_format = get_sqlalchemy_engine_dateformat(self.engine)
224
- current_datetime_format = MSSQL_DATEFORMAT_DATETIME_MAP.get(
225
- server_date_format, DEFAULT_DATETIME_FORMAT
226
- )
227
- start = start.strftime(current_datetime_format)
228
- query = MSSQL_GET_STORED_PROCEDURE_QUERIES.format(
229
- start_date=start,
230
- )
231
- try:
232
- queries_dict = self.procedure_queries_dict(
233
- query=query,
234
- )
235
- except Exception as ex: # pylint: disable=broad-except
236
- logger.debug(f"Error runnning query:\n{query}")
237
- self.status.failed(
238
- StackTraceError(
239
- name="Stored Procedure",
240
- error=f"Error trying to get stored procedure queries: {ex}",
241
- stackTrace=traceback.format_exc(),
242
- )
243
- )
244
- return {}
245
-
246
- return queries_dict
@@ -0,0 +1,10 @@
1
+ from metadata.ingestion.source.database.mssql.lineage import MssqlLineageSource
2
+ from metadata.ingestion.source.database.mssql.metadata import MssqlSource
3
+ from metadata.ingestion.source.database.mssql.usage import MssqlUsageSource
4
+ from metadata.utils.service_spec.default import DefaultDatabaseSpec
5
+
6
+ ServiceSpec = DefaultDatabaseSpec(
7
+ metadata_source_class=MssqlSource,
8
+ lineage_source_class=MssqlLineageSource,
9
+ usage_source_class=MssqlUsageSource,
10
+ )
@@ -0,0 +1,46 @@
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
+ Mysql lineage module
13
+ """
14
+ from typing import Optional
15
+
16
+ from metadata.generated.schema.entity.services.connections.database.mysqlConnection import (
17
+ MysqlConnection,
18
+ )
19
+ from metadata.generated.schema.metadataIngestion.workflow import (
20
+ Source as WorkflowSource,
21
+ )
22
+ from metadata.ingestion.api.steps import InvalidSourceException
23
+ from metadata.ingestion.ometa.ometa_api import OpenMetadata
24
+ from metadata.ingestion.source.database.lineage_source import LineageSource
25
+ from metadata.utils.logger import ingestion_logger
26
+
27
+ logger = ingestion_logger()
28
+
29
+
30
+ class MysqlLineageSource(LineageSource):
31
+ """
32
+ Mysql lineage source implements view lineage
33
+ """
34
+
35
+ @classmethod
36
+ def create(
37
+ cls, config_dict, metadata: OpenMetadata, pipeline_name: Optional[str] = None
38
+ ):
39
+ """Create class instance"""
40
+ config: WorkflowSource = WorkflowSource.model_validate(config_dict)
41
+ connection: MysqlConnection = config.serviceConnection.root.config
42
+ if not isinstance(connection, MysqlConnection):
43
+ raise InvalidSourceException(
44
+ f"Expected MysqlConnection, but got {connection}"
45
+ )
46
+ return cls(config, metadata)
@@ -0,0 +1,4 @@
1
+ from metadata.ingestion.source.database.mysql.metadata import MysqlSource
2
+ from metadata.utils.service_spec.default import DefaultDatabaseSpec
3
+
4
+ ServiceSpec = DefaultDatabaseSpec(metadata_source_class=MysqlSource)
@@ -30,16 +30,26 @@ workflowConfig:
30
30
  jwtToken: "token"
31
31
  """
32
32
 
33
+ from typing import Dict, List
34
+
33
35
  from metadata.ingestion.source.database.lineage_source import LineageSource
34
36
  from metadata.ingestion.source.database.oracle.queries import (
37
+ ORACLE_GET_STORED_PROCEDURE_QUERIES,
35
38
  ORACLE_QUERY_HISTORY_STATEMENT,
36
39
  )
37
40
  from metadata.ingestion.source.database.oracle.query_parser import (
38
41
  OracleQueryParserSource,
39
42
  )
43
+ from metadata.ingestion.source.database.stored_procedures_mixin import (
44
+ QueryByProcedure,
45
+ StoredProcedureLineageMixin,
46
+ )
47
+ from metadata.utils.helpers import get_start_and_end
40
48
 
41
49
 
42
- class OracleLineageSource(OracleQueryParserSource, LineageSource):
50
+ class OracleLineageSource(
51
+ OracleQueryParserSource, StoredProcedureLineageMixin, LineageSource
52
+ ):
43
53
  filters = """
44
54
  AND COMMAND_TYPE IN (1, 2) AND (
45
55
  lower(SQL_FULLTEXT) LIKE '%%create%%table%%as%%select%%'
@@ -50,3 +60,20 @@ class OracleLineageSource(OracleQueryParserSource, LineageSource):
50
60
  """
51
61
 
52
62
  sql_stmt = ORACLE_QUERY_HISTORY_STATEMENT
63
+
64
+ stored_procedure_query = ORACLE_GET_STORED_PROCEDURE_QUERIES
65
+
66
+ def get_stored_procedure_queries_dict(self) -> Dict[str, List[QueryByProcedure]]:
67
+ """
68
+ Return the dictionary associating stored procedures to the
69
+ queries they triggered
70
+ """
71
+ start, _ = get_start_and_end(self.source_config.queryLogDuration)
72
+ query = self.stored_procedure_query.format(
73
+ start_date=start,
74
+ )
75
+ queries_dict = self.procedure_queries_dict(
76
+ query=query,
77
+ )
78
+
79
+ return queries_dict
@@ -12,7 +12,7 @@
12
12
  # pylint: disable=protected-access
13
13
  """Oracle source module"""
14
14
  import traceback
15
- from typing import Dict, Iterable, List, Optional
15
+ from typing import Iterable, Optional
16
16
 
17
17
  from sqlalchemy.dialects.oracle.base import INTERVAL, OracleDialect, ischema_names
18
18
  from sqlalchemy.engine import Inspector
@@ -49,7 +49,6 @@ from metadata.ingestion.source.database.oracle.models import (
49
49
  OracleStoredProcedure,
50
50
  )
51
51
  from metadata.ingestion.source.database.oracle.queries import (
52
- ORACLE_GET_STORED_PROCEDURE_QUERIES,
53
52
  ORACLE_GET_STORED_PROCEDURES,
54
53
  )
55
54
  from metadata.ingestion.source.database.oracle.utils import (
@@ -65,12 +64,7 @@ from metadata.ingestion.source.database.oracle.utils import (
65
64
  get_view_names,
66
65
  get_view_names_dialect,
67
66
  )
68
- from metadata.ingestion.source.database.stored_procedures_mixin import (
69
- QueryByProcedure,
70
- StoredProcedureMixin,
71
- )
72
67
  from metadata.utils import fqn
73
- from metadata.utils.helpers import get_start_and_end
74
68
  from metadata.utils.logger import ingestion_logger
75
69
  from metadata.utils.sqlalchemy_utils import (
76
70
  get_all_table_comments,
@@ -109,7 +103,7 @@ Inspector.get_table_ddl = get_table_ddl
109
103
  OracleDialect._get_constraint_data = _get_constraint_data
110
104
 
111
105
 
112
- class OracleSource(StoredProcedureMixin, CommonDbSourceService):
106
+ class OracleSource(CommonDbSourceService):
113
107
  """
114
108
  Implements the necessary methods to extract
115
109
  Database metadata from Oracle Source
@@ -250,18 +244,3 @@ class OracleSource(StoredProcedureMixin, CommonDbSourceService):
250
244
  stackTrace=traceback.format_exc(),
251
245
  )
252
246
  )
253
-
254
- def get_stored_procedure_queries_dict(self) -> Dict[str, List[QueryByProcedure]]:
255
- """
256
- Return the dictionary associating stored procedures to the
257
- queries they triggered
258
- """
259
- start, _ = get_start_and_end(self.source_config.queryLogDuration)
260
- query = ORACLE_GET_STORED_PROCEDURE_QUERIES.format(
261
- start_date=start,
262
- )
263
- queries_dict = self.procedure_queries_dict(
264
- query=query,
265
- )
266
-
267
- return queries_dict
@@ -0,0 +1,10 @@
1
+ from metadata.ingestion.source.database.oracle.lineage import OracleLineageSource
2
+ from metadata.ingestion.source.database.oracle.metadata import OracleSource
3
+ from metadata.ingestion.source.database.oracle.usage import OracleUsageSource
4
+ from metadata.utils.service_spec.default import DefaultDatabaseSpec
5
+
6
+ ServiceSpec = DefaultDatabaseSpec(
7
+ metadata_source_class=OracleSource,
8
+ lineage_source_class=OracleLineageSource,
9
+ usage_source_class=OracleUsageSource,
10
+ )
@@ -0,0 +1,46 @@
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
+ Pinotdb lineage module
13
+ """
14
+ from typing import Optional
15
+
16
+ from metadata.generated.schema.entity.services.connections.database.pinotDBConnection import (
17
+ PinotDBConnection,
18
+ )
19
+ from metadata.generated.schema.metadataIngestion.workflow import (
20
+ Source as WorkflowSource,
21
+ )
22
+ from metadata.ingestion.api.steps import InvalidSourceException
23
+ from metadata.ingestion.ometa.ometa_api import OpenMetadata
24
+ from metadata.ingestion.source.database.lineage_source import LineageSource
25
+ from metadata.utils.logger import ingestion_logger
26
+
27
+ logger = ingestion_logger()
28
+
29
+
30
+ class PinotdbLineageSource(LineageSource):
31
+ """
32
+ Pinotdb lineage source implements view lineage
33
+ """
34
+
35
+ @classmethod
36
+ def create(
37
+ cls, config_dict, metadata: OpenMetadata, pipeline_name: Optional[str] = None
38
+ ):
39
+ """Create class instance"""
40
+ config: WorkflowSource = WorkflowSource.model_validate(config_dict)
41
+ connection: PinotDBConnection = config.serviceConnection.root.config
42
+ if not isinstance(connection, PinotDBConnection):
43
+ raise InvalidSourceException(
44
+ f"Expected PinotDBConnection, but got {connection}"
45
+ )
46
+ return cls(config, metadata)
@@ -0,0 +1,4 @@
1
+ from metadata.ingestion.source.database.pinotdb.metadata import PinotdbSource
2
+ from metadata.utils.service_spec.default import DefaultDatabaseSpec
3
+
4
+ ServiceSpec = DefaultDatabaseSpec(metadata_source_class=PinotdbSource)
@@ -13,7 +13,7 @@ Postgres source module
13
13
  """
14
14
  import traceback
15
15
  from collections import namedtuple
16
- from typing import Dict, Iterable, List, Optional, Tuple
16
+ from typing import Iterable, Optional, Tuple
17
17
 
18
18
  from sqlalchemy import String as SqlAlchemyString
19
19
  from sqlalchemy import sql
@@ -67,14 +67,11 @@ from metadata.ingestion.source.database.postgres.utils import (
67
67
  get_columns,
68
68
  get_etable_owner,
69
69
  get_foreign_keys,
70
+ get_json_fields_and_type,
70
71
  get_table_comment,
71
72
  get_table_owner,
72
73
  get_view_definition,
73
74
  )
74
- from metadata.ingestion.source.database.stored_procedures_mixin import (
75
- QueryByProcedure,
76
- StoredProcedureMixin,
77
- )
78
75
  from metadata.utils import fqn
79
76
  from metadata.utils.filters import filter_by_database
80
77
  from metadata.utils.importer import import_side_effects
@@ -150,11 +147,12 @@ PGDialect.ischema_names = ischema_names
150
147
  Inspector.get_all_table_ddls = get_all_table_ddls
151
148
  Inspector.get_table_ddl = get_table_ddl
152
149
  Inspector.get_table_owner = get_etable_owner
150
+ Inspector.get_json_fields_and_type = get_json_fields_and_type
153
151
 
154
152
  PGDialect.get_foreign_keys = get_foreign_keys
155
153
 
156
154
 
157
- class PostgresSource(CommonDbSourceService, MultiDBSource, StoredProcedureMixin):
155
+ class PostgresSource(CommonDbSourceService, MultiDBSource):
158
156
  """
159
157
  Implements the necessary methods to extract
160
158
  Database metadata from Postgres Source
@@ -362,10 +360,3 @@ class PostgresSource(CommonDbSourceService, MultiDBSource, StoredProcedureMixin)
362
360
  stackTrace=traceback.format_exc(),
363
361
  )
364
362
  )
365
-
366
- def get_stored_procedure_queries_dict(self) -> Dict[str, List[QueryByProcedure]]:
367
- """
368
- Return the dictionary associating stored procedures to the
369
- queries they triggered
370
- """
371
- return {}
@@ -0,0 +1,10 @@
1
+ from metadata.ingestion.source.database.postgres.lineage import PostgresLineageSource
2
+ from metadata.ingestion.source.database.postgres.metadata import PostgresSource
3
+ from metadata.ingestion.source.database.postgres.usage import PostgresUsageSource
4
+ from metadata.utils.service_spec.default import DefaultDatabaseSpec
5
+
6
+ ServiceSpec = DefaultDatabaseSpec(
7
+ metadata_source_class=PostgresSource,
8
+ lineage_source_class=PostgresLineageSource,
9
+ usage_source_class=PostgresUsageSource,
10
+ )
@@ -13,6 +13,7 @@
13
13
  """
14
14
  Postgres SQLAlchemy util methods
15
15
  """
16
+ import json
16
17
  import re
17
18
  import traceback
18
19
  from typing import Dict, Optional, Tuple
@@ -23,15 +24,18 @@ from sqlalchemy.dialects.postgresql.base import ENUM
23
24
  from sqlalchemy.engine import reflection
24
25
  from sqlalchemy.sql import sqltypes
25
26
 
27
+ from metadata.generated.schema.entity.data.table import Column
26
28
  from metadata.ingestion.source.database.postgres.queries import (
27
29
  POSTGRES_COL_IDENTITY,
28
30
  POSTGRES_FETCH_FK,
31
+ POSTGRES_GET_JSON_FIELDS,
29
32
  POSTGRES_GET_SERVER_VERSION,
30
33
  POSTGRES_SQL_COLUMNS,
31
34
  POSTGRES_TABLE_COMMENTS,
32
35
  POSTGRES_TABLE_OWNERS,
33
36
  POSTGRES_VIEW_DEFINITIONS,
34
37
  )
38
+ from metadata.parsers.json_schema_parser import parse_json_schema
35
39
  from metadata.utils.logger import utils_logger
36
40
  from metadata.utils.sqlalchemy_utils import (
37
41
  get_table_comment_wrapper,
@@ -186,6 +190,28 @@ def get_table_comment(
186
190
  )
187
191
 
188
192
 
193
+ @reflection.cache
194
+ def get_json_fields_and_type(
195
+ self, table_name, column_name, schema=None, **kw
196
+ ): # pylint: disable=unused-argument
197
+ try:
198
+ query = POSTGRES_GET_JSON_FIELDS.format(
199
+ table_name=table_name, column_name=column_name
200
+ )
201
+ cursor = self.engine.execute(query)
202
+ result = cursor.fetchone()
203
+ if result:
204
+ parsed_column = parse_json_schema(json.dumps(result[0]), Column)
205
+ if parsed_column:
206
+ return parsed_column[0].children
207
+ except Exception as err:
208
+ logger.warning(
209
+ f"Unable to parse the json fields for {table_name}.{column_name} - {err}"
210
+ )
211
+ logger.debug(traceback.format_exc())
212
+ return None
213
+
214
+
189
215
  @reflection.cache
190
216
  def get_columns( # pylint: disable=too-many-locals
191
217
  self, connection, table_name, schema=None, **kw
@@ -0,0 +1,4 @@
1
+ from metadata.ingestion.source.database.presto.metadata import PrestoSource
2
+ from metadata.utils.service_spec.default import DefaultDatabaseSpec
3
+
4
+ ServiceSpec = DefaultDatabaseSpec(metadata_source_class=PrestoSource)
@@ -0,0 +1,9 @@
1
+ from metadata.ingestion.source.database.query.lineage import QueryLogLineageSource
2
+ from metadata.ingestion.source.database.query.usage import QueryLogUsageSource
3
+ from metadata.utils.service_spec import BaseSpec
4
+
5
+ ServiceSpec = BaseSpec(
6
+ metadata_source_class="not.implemented",
7
+ lineage_source_class=QueryLogLineageSource,
8
+ usage_source_class=QueryLogUsageSource,
9
+ )
@@ -58,6 +58,7 @@ class QueryParserSource(Source, ABC):
58
58
  super().__init__()
59
59
  self.config = config
60
60
  self.metadata = metadata
61
+ self.service_name = self.config.serviceName
61
62
  self.service_connection = self.config.serviceConnection.root.config
62
63
  connection_type = self.service_connection.type.value
63
64
  self.dialect = ConnectionTypeDialectMapper.dialect_of(connection_type)
@@ -16,6 +16,7 @@ from functools import partial
16
16
  from typing import Optional
17
17
 
18
18
  from sqlalchemy.engine import Engine
19
+ from sqlalchemy.sql import text
19
20
 
20
21
  from metadata.generated.schema.entity.automations.workflow import (
21
22
  Workflow as AutomationWorkflow,
@@ -41,6 +42,7 @@ from metadata.ingestion.connections.test_connections import (
41
42
  from metadata.ingestion.ometa.ometa_api import OpenMetadata
42
43
  from metadata.ingestion.source.connections import kill_active_connections
43
44
  from metadata.ingestion.source.database.redshift.queries import (
45
+ REDSHIFT_GET_ALL_RELATIONS,
44
46
  REDSHIFT_GET_DATABASE_NAMES,
45
47
  REDSHIFT_TEST_GET_QUERIES,
46
48
  REDSHIFT_TEST_PARTITION_DETAILS,
@@ -70,6 +72,11 @@ def test_connection(
70
72
  Test connection. This can be executed either as part
71
73
  of a metadata workflow or during an Automation Workflow
72
74
  """
75
+ table_and_view_query = text(
76
+ REDSHIFT_GET_ALL_RELATIONS.format(
77
+ schema_clause="", table_clause="", limit_clause="LIMIT 1"
78
+ )
79
+ )
73
80
 
74
81
  def test_get_queries_permissions(engine_: Engine):
75
82
  """Check if we have the right permissions to list queries"""
@@ -83,8 +90,8 @@ def test_connection(
83
90
  test_fn = {
84
91
  "CheckAccess": partial(test_connection_engine_step, engine),
85
92
  "GetSchemas": partial(execute_inspector_func, engine, "get_schema_names"),
86
- "GetTables": partial(execute_inspector_func, engine, "get_table_names"),
87
- "GetViews": partial(execute_inspector_func, engine, "get_view_names"),
93
+ "GetTables": partial(test_query, statement=table_and_view_query, engine=engine),
94
+ "GetViews": partial(test_query, statement=table_and_view_query, engine=engine),
88
95
  "GetQueries": partial(test_get_queries_permissions, engine),
89
96
  "GetDatabases": partial(
90
97
  test_query, statement=REDSHIFT_GET_DATABASE_NAMES, engine=engine