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

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

Potentially problematic release.


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

Files changed (790) hide show
  1. _openmetadata_testutils/helpers/login_user.py +22 -0
  2. metadata/__init__.py +31 -0
  3. metadata/automations/runner.py +24 -14
  4. metadata/data_quality/processor/test_case_runner.py +2 -11
  5. metadata/data_quality/source/test_suite.py +3 -1
  6. metadata/data_quality/validations/table/pandas/tableRowInsertedCountToBeBetween.py +17 -2
  7. metadata/examples/workflows/tableau.yaml +1 -0
  8. metadata/generated/schema/analytics/__init__.py +1 -1
  9. metadata/generated/schema/analytics/basic.py +1 -1
  10. metadata/generated/schema/analytics/reportData.py +1 -1
  11. metadata/generated/schema/analytics/reportDataType/__init__.py +1 -1
  12. metadata/generated/schema/analytics/reportDataType/aggregatedCostAnalysisReportData.py +1 -1
  13. metadata/generated/schema/analytics/reportDataType/entityReportData.py +1 -1
  14. metadata/generated/schema/analytics/reportDataType/rawCostAnalysisReportData.py +1 -1
  15. metadata/generated/schema/analytics/reportDataType/webAnalyticEntityViewReportData.py +1 -1
  16. metadata/generated/schema/analytics/reportDataType/webAnalyticUserActivityReportData.py +1 -1
  17. metadata/generated/schema/analytics/webAnalyticEvent.py +1 -1
  18. metadata/generated/schema/analytics/webAnalyticEventData.py +1 -1
  19. metadata/generated/schema/analytics/webAnalyticEventType/__init__.py +1 -1
  20. metadata/generated/schema/analytics/webAnalyticEventType/customEvent.py +1 -1
  21. metadata/generated/schema/analytics/webAnalyticEventType/pageViewEvent.py +1 -1
  22. metadata/generated/schema/api/__init__.py +1 -1
  23. metadata/generated/schema/api/addGlossaryToAssetsRequest.py +3 -16
  24. metadata/generated/schema/api/addTagToAssetsRequest.py +1 -10
  25. metadata/generated/schema/api/analytics/__init__.py +1 -1
  26. metadata/generated/schema/api/analytics/createWebAnalyticEvent.py +1 -1
  27. metadata/generated/schema/api/automations/__init__.py +1 -1
  28. metadata/generated/schema/api/automations/createWorkflow.py +1 -1
  29. metadata/generated/schema/api/bulkAssets.py +1 -1
  30. metadata/generated/schema/api/classification/__init__.py +1 -1
  31. metadata/generated/schema/api/classification/createClassification.py +6 -2
  32. metadata/generated/schema/api/classification/createTag.py +6 -2
  33. metadata/generated/schema/api/classification/loadTags.py +1 -1
  34. metadata/generated/schema/api/createBot.py +1 -1
  35. metadata/generated/schema/api/createEventPublisherJob.py +1 -1
  36. metadata/generated/schema/api/createType.py +1 -1
  37. metadata/generated/schema/api/data/__init__.py +1 -1
  38. metadata/generated/schema/api/data/createAPICollection.py +1 -1
  39. metadata/generated/schema/api/data/createAPIEndpoint.py +1 -1
  40. metadata/generated/schema/api/data/createChart.py +1 -1
  41. metadata/generated/schema/api/data/createContainer.py +1 -1
  42. metadata/generated/schema/api/data/createCustomProperty.py +1 -1
  43. metadata/generated/schema/api/data/createDashboard.py +1 -1
  44. metadata/generated/schema/api/data/createDashboardDataModel.py +1 -1
  45. metadata/generated/schema/api/data/createDataContract.py +66 -0
  46. metadata/generated/schema/api/data/createDatabase.py +1 -1
  47. metadata/generated/schema/api/data/createDatabaseSchema.py +1 -1
  48. metadata/generated/schema/api/data/createGlossary.py +1 -1
  49. metadata/generated/schema/api/data/createGlossaryTerm.py +1 -1
  50. metadata/generated/schema/api/data/createMetric.py +1 -1
  51. metadata/generated/schema/api/data/createMlModel.py +1 -1
  52. metadata/generated/schema/api/data/createPipeline.py +1 -1
  53. metadata/generated/schema/api/data/createQuery.py +1 -1
  54. metadata/generated/schema/api/data/createQueryCostRecord.py +1 -1
  55. metadata/generated/schema/api/data/createSearchIndex.py +1 -1
  56. metadata/generated/schema/api/data/createStoredProcedure.py +1 -1
  57. metadata/generated/schema/api/data/createTable.py +1 -1
  58. metadata/generated/schema/api/data/createTableProfile.py +1 -1
  59. metadata/generated/schema/api/data/createTopic.py +1 -1
  60. metadata/generated/schema/api/data/loadGlossary.py +1 -1
  61. metadata/generated/schema/api/data/restoreEntity.py +1 -1
  62. metadata/generated/schema/api/data/updateColumn.py +49 -0
  63. metadata/generated/schema/api/dataInsight/__init__.py +1 -1
  64. metadata/generated/schema/api/dataInsight/createDataInsightChart.py +1 -1
  65. metadata/generated/schema/api/dataInsight/custom/__init__.py +1 -1
  66. metadata/generated/schema/api/dataInsight/custom/createDataInsightCustomChart.py +1 -1
  67. metadata/generated/schema/api/dataInsight/kpi/__init__.py +1 -1
  68. metadata/generated/schema/api/dataInsight/kpi/createKpiRequest.py +1 -1
  69. metadata/generated/schema/api/docStore/__init__.py +1 -1
  70. metadata/generated/schema/api/docStore/createDocument.py +1 -1
  71. metadata/generated/schema/api/domains/__init__.py +1 -1
  72. metadata/generated/schema/api/domains/createDataProduct.py +1 -1
  73. metadata/generated/schema/api/domains/createDomain.py +1 -1
  74. metadata/generated/schema/api/feed/__init__.py +1 -1
  75. metadata/generated/schema/api/feed/closeTask.py +1 -1
  76. metadata/generated/schema/api/feed/createPost.py +1 -1
  77. metadata/generated/schema/api/feed/createSuggestion.py +1 -1
  78. metadata/generated/schema/api/feed/createThread.py +1 -1
  79. metadata/generated/schema/api/feed/resolveTask.py +1 -1
  80. metadata/generated/schema/api/feed/threadCount.py +1 -1
  81. metadata/generated/schema/api/governance/__init__.py +1 -1
  82. metadata/generated/schema/api/governance/createWorkflowDefinition.py +1 -1
  83. metadata/generated/schema/api/governance/createWorkflowInstanceState.py +1 -1
  84. metadata/generated/schema/api/lineage/__init__.py +1 -1
  85. metadata/generated/schema/api/lineage/addLineage.py +1 -1
  86. metadata/generated/schema/api/lineage/esLineageData.py +1 -1
  87. metadata/generated/schema/api/lineage/lineageDirection.py +1 -1
  88. metadata/generated/schema/api/lineage/nodeInformation.py +1 -1
  89. metadata/generated/schema/api/lineage/searchLineageRequest.py +1 -1
  90. metadata/generated/schema/api/lineage/searchLineageResult.py +1 -1
  91. metadata/generated/schema/api/mcp/__init__.py +3 -0
  92. metadata/generated/schema/api/mcp/mcpToolDefinition.py +54 -0
  93. metadata/generated/schema/api/openMetadataServerVersion.py +1 -1
  94. metadata/generated/schema/api/policies/__init__.py +1 -1
  95. metadata/generated/schema/api/policies/createPolicy.py +1 -1
  96. metadata/generated/schema/api/scim/__init__.py +3 -0
  97. metadata/generated/schema/api/scim/scimGroup.py +52 -0
  98. metadata/generated/schema/api/scim/scimPatchOp.py +32 -0
  99. metadata/generated/schema/api/scim/scimUser.py +83 -0
  100. metadata/generated/schema/api/search/__init__.py +1 -1
  101. metadata/generated/schema/api/search/previewSearchRequest.py +1 -1
  102. metadata/generated/schema/api/services/__init__.py +1 -1
  103. metadata/generated/schema/api/services/createApiService.py +1 -1
  104. metadata/generated/schema/api/services/createDashboardService.py +1 -1
  105. metadata/generated/schema/api/services/createDatabaseService.py +1 -1
  106. metadata/generated/schema/api/services/createMessagingService.py +1 -1
  107. metadata/generated/schema/api/services/createMetadataService.py +1 -1
  108. metadata/generated/schema/api/services/createMlModelService.py +1 -1
  109. metadata/generated/schema/api/services/createPipelineService.py +1 -1
  110. metadata/generated/schema/api/services/createSearchService.py +1 -1
  111. metadata/generated/schema/api/services/createStorageService.py +1 -1
  112. metadata/generated/schema/api/services/ingestionPipelines/__init__.py +1 -1
  113. metadata/generated/schema/api/services/ingestionPipelines/createIngestionPipeline.py +1 -1
  114. metadata/generated/schema/api/setOwner.py +1 -1
  115. metadata/generated/schema/api/teams/__init__.py +1 -1
  116. metadata/generated/schema/api/teams/createPersona.py +1 -1
  117. metadata/generated/schema/api/teams/createRole.py +1 -1
  118. metadata/generated/schema/api/teams/createTeam.py +8 -1
  119. metadata/generated/schema/api/teams/createUser.py +11 -1
  120. metadata/generated/schema/api/tests/__init__.py +1 -1
  121. metadata/generated/schema/api/tests/createCustomMetric.py +1 -1
  122. metadata/generated/schema/api/tests/createLogicalTestCases.py +1 -1
  123. metadata/generated/schema/api/tests/createTestCase.py +9 -6
  124. metadata/generated/schema/api/tests/createTestCaseResolutionStatus.py +1 -1
  125. metadata/generated/schema/api/tests/createTestCaseResult.py +1 -1
  126. metadata/generated/schema/api/tests/createTestDefinition.py +1 -1
  127. metadata/generated/schema/api/tests/createTestSuite.py +1 -1
  128. metadata/generated/schema/api/validateGlossaryTagsRequest.py +31 -0
  129. metadata/generated/schema/api/voteRequest.py +1 -1
  130. metadata/generated/schema/auth/__init__.py +1 -1
  131. metadata/generated/schema/auth/basicAuth.py +1 -1
  132. metadata/generated/schema/auth/basicLoginRequest.py +1 -1
  133. metadata/generated/schema/auth/changePasswordRequest.py +1 -1
  134. metadata/generated/schema/auth/createPersonalToken.py +1 -1
  135. metadata/generated/schema/auth/emailRequest.py +1 -1
  136. metadata/generated/schema/auth/emailVerificationToken.py +2 -1
  137. metadata/generated/schema/auth/generateToken.py +1 -1
  138. metadata/generated/schema/auth/jwtAuth.py +1 -1
  139. metadata/generated/schema/auth/loginRequest.py +1 -1
  140. metadata/generated/schema/auth/logoutRequest.py +1 -1
  141. metadata/generated/schema/auth/passwordResetRequest.py +1 -1
  142. metadata/generated/schema/auth/passwordResetToken.py +1 -1
  143. metadata/generated/schema/auth/personalAccessToken.py +1 -1
  144. metadata/generated/schema/auth/refreshToken.py +1 -1
  145. metadata/generated/schema/auth/registrationRequest.py +1 -1
  146. metadata/generated/schema/auth/revokePersonalToken.py +1 -1
  147. metadata/generated/schema/auth/revokeToken.py +1 -1
  148. metadata/generated/schema/auth/serviceTokenEnum.py +1 -1
  149. metadata/generated/schema/auth/ssoAuth.py +1 -1
  150. metadata/generated/schema/auth/supportToken.py +35 -0
  151. metadata/generated/schema/auth/tokenRefreshRequest.py +1 -1
  152. metadata/generated/schema/configuration/__init__.py +1 -1
  153. metadata/generated/schema/configuration/appsPrivateConfiguration.py +1 -1
  154. metadata/generated/schema/configuration/assetCertificationSettings.py +1 -1
  155. metadata/generated/schema/configuration/authConfig.py +1 -1
  156. metadata/generated/schema/configuration/authenticationConfiguration.py +1 -1
  157. metadata/generated/schema/configuration/authorizerConfiguration.py +1 -1
  158. metadata/generated/schema/configuration/changeEventConfiguration.py +1 -1
  159. metadata/generated/schema/configuration/dataQualityConfiguration.py +1 -1
  160. metadata/generated/schema/configuration/elasticSearchConfiguration.py +1 -1
  161. metadata/generated/schema/configuration/eventHandlerConfiguration.py +1 -1
  162. metadata/generated/schema/configuration/fernetConfiguration.py +1 -1
  163. metadata/generated/schema/configuration/jwtTokenConfiguration.py +1 -1
  164. metadata/generated/schema/configuration/kafkaEventConfiguration.py +1 -1
  165. metadata/generated/schema/configuration/ldapConfiguration.py +1 -1
  166. metadata/generated/schema/configuration/ldapTrustStoreConfig/__init__.py +1 -1
  167. metadata/generated/schema/configuration/ldapTrustStoreConfig/customTrustManagerConfig.py +1 -1
  168. metadata/generated/schema/configuration/ldapTrustStoreConfig/hostNameConfig.py +1 -1
  169. metadata/generated/schema/configuration/ldapTrustStoreConfig/jvmDefaultConfig.py +1 -1
  170. metadata/generated/schema/configuration/ldapTrustStoreConfig/trustAllConfig.py +1 -1
  171. metadata/generated/schema/configuration/ldapTrustStoreConfig/truststoreConfig.py +1 -1
  172. metadata/generated/schema/configuration/limitsConfiguration.py +1 -1
  173. metadata/generated/schema/configuration/lineageSettings.py +1 -1
  174. metadata/generated/schema/configuration/loginConfiguration.py +1 -1
  175. metadata/generated/schema/configuration/logoConfiguration.py +1 -1
  176. metadata/generated/schema/configuration/openMetadataBaseUrlConfiguration.py +1 -1
  177. metadata/generated/schema/configuration/opertionalConfiguration.py +1 -1
  178. metadata/generated/schema/configuration/opsConfig.py +1 -1
  179. metadata/generated/schema/configuration/pipelineServiceClientConfiguration.py +1 -1
  180. metadata/generated/schema/configuration/profilerConfiguration.py +1 -1
  181. metadata/generated/schema/configuration/searchSettings.py +1 -1
  182. metadata/generated/schema/configuration/slackAppConfiguration.py +1 -1
  183. metadata/generated/schema/configuration/taskNotificationConfiguration.py +1 -1
  184. metadata/generated/schema/configuration/testResultNotificationConfiguration.py +1 -1
  185. metadata/generated/schema/configuration/themeConfiguration.py +1 -1
  186. metadata/generated/schema/configuration/uiThemePreference.py +1 -1
  187. metadata/generated/schema/configuration/workflowSettings.py +1 -1
  188. metadata/generated/schema/dataInsight/__init__.py +1 -1
  189. metadata/generated/schema/dataInsight/custom/__init__.py +1 -1
  190. metadata/generated/schema/dataInsight/custom/dataInsightCustomChart.py +1 -1
  191. metadata/generated/schema/dataInsight/custom/dataInsightCustomChartResult.py +1 -1
  192. metadata/generated/schema/dataInsight/custom/dataInsightCustomChartResultList.py +1 -1
  193. metadata/generated/schema/dataInsight/custom/formulaHolder.py +1 -1
  194. metadata/generated/schema/dataInsight/custom/lineChart.py +1 -1
  195. metadata/generated/schema/dataInsight/custom/summaryCard.py +1 -1
  196. metadata/generated/schema/dataInsight/dataInsightChart.py +1 -1
  197. metadata/generated/schema/dataInsight/dataInsightChartResult.py +1 -1
  198. metadata/generated/schema/dataInsight/kpi/__init__.py +1 -1
  199. metadata/generated/schema/dataInsight/kpi/basic.py +1 -1
  200. metadata/generated/schema/dataInsight/kpi/kpi.py +1 -1
  201. metadata/generated/schema/dataInsight/type/__init__.py +1 -1
  202. metadata/generated/schema/dataInsight/type/aggregatedUnusedAssetsCount.py +1 -1
  203. metadata/generated/schema/dataInsight/type/aggregatedUnusedAssetsSize.py +1 -1
  204. metadata/generated/schema/dataInsight/type/aggregatedUsedVsUnusedAssetsCount.py +1 -1
  205. metadata/generated/schema/dataInsight/type/aggregatedUsedVsUnusedAssetsSize.py +1 -1
  206. metadata/generated/schema/dataInsight/type/dailyActiveUsers.py +1 -1
  207. metadata/generated/schema/dataInsight/type/mostActiveUsers.py +1 -1
  208. metadata/generated/schema/dataInsight/type/mostViewedEntities.py +1 -1
  209. metadata/generated/schema/dataInsight/type/pageViewsByEntities.py +1 -1
  210. metadata/generated/schema/dataInsight/type/unusedAssets.py +1 -1
  211. metadata/generated/schema/email/__init__.py +1 -1
  212. metadata/generated/schema/email/emailRequest.py +1 -1
  213. metadata/generated/schema/email/emailTemplate.py +1 -1
  214. metadata/generated/schema/email/emailTemplatePlaceholder.py +1 -1
  215. metadata/generated/schema/email/smtpSettings.py +1 -1
  216. metadata/generated/schema/email/templateValidationReponse.py +1 -1
  217. metadata/generated/schema/entity/__init__.py +1 -1
  218. metadata/generated/schema/entity/applications/__init__.py +1 -1
  219. metadata/generated/schema/entity/applications/app.py +3 -2
  220. metadata/generated/schema/entity/applications/appExtension.py +1 -1
  221. metadata/generated/schema/entity/applications/appRunRecord.py +1 -1
  222. metadata/generated/schema/entity/applications/configuration/__init__.py +1 -1
  223. metadata/generated/schema/entity/applications/configuration/applicationConfig.py +1 -1
  224. metadata/generated/schema/entity/applications/configuration/external/__init__.py +1 -1
  225. metadata/generated/schema/entity/applications/configuration/external/automator/__init__.py +1 -1
  226. metadata/generated/schema/entity/applications/configuration/external/automator/addCustomProperties.py +1 -1
  227. metadata/generated/schema/entity/applications/configuration/external/automator/addDataProductAction.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/addTestCaseAction.py +1 -1
  233. metadata/generated/schema/entity/applications/configuration/external/automator/addTierAction.py +1 -1
  234. metadata/generated/schema/entity/applications/configuration/external/automator/lineagePropagationAction.py +1 -1
  235. metadata/generated/schema/entity/applications/configuration/external/automator/mlTaggingAction.py +1 -1
  236. metadata/generated/schema/entity/applications/configuration/external/automator/removeCustomPropertiesAction.py +1 -1
  237. metadata/generated/schema/entity/applications/configuration/external/automator/removeDataProductAction.py +1 -1
  238. metadata/generated/schema/entity/applications/configuration/external/automator/removeDescriptionAction.py +1 -1
  239. metadata/generated/schema/entity/applications/configuration/external/automator/removeDomainAction.py +1 -1
  240. metadata/generated/schema/entity/applications/configuration/external/automator/removeOwnerAction.py +1 -1
  241. metadata/generated/schema/entity/applications/configuration/external/automator/removeTagsAction.py +1 -1
  242. metadata/generated/schema/entity/applications/configuration/external/automator/removeTestCaseAction.py +1 -1
  243. metadata/generated/schema/entity/applications/configuration/external/automator/removeTierAction.py +1 -1
  244. metadata/generated/schema/entity/applications/configuration/external/automatorAppConfig.py +1 -1
  245. metadata/generated/schema/entity/applications/configuration/external/collateAIAppConfig.py +1 -1
  246. metadata/generated/schema/entity/applications/configuration/external/slackAppTokenConfiguration.py +1 -1
  247. metadata/generated/schema/entity/applications/configuration/internal/__init__.py +1 -1
  248. metadata/generated/schema/entity/applications/configuration/internal/autoPilotAppConfig.py +1 -1
  249. metadata/generated/schema/entity/applications/configuration/internal/collateAIQualityAgentAppConfig.py +1 -1
  250. metadata/generated/schema/entity/applications/configuration/internal/collateAITierAgentAppConfig.py +1 -1
  251. metadata/generated/schema/entity/applications/configuration/internal/dataInsightsAppConfig.py +1 -1
  252. metadata/generated/schema/entity/applications/configuration/internal/dataInsightsReportAppConfig.py +1 -1
  253. metadata/generated/schema/entity/applications/configuration/internal/dataRetentionConfiguration.py +9 -1
  254. metadata/generated/schema/entity/applications/configuration/internal/helloPipelinesConfiguration.py +1 -1
  255. metadata/generated/schema/entity/applications/configuration/internal/searchIndexingAppConfig.py +9 -1
  256. metadata/generated/schema/entity/applications/configuration/private/__init__.py +1 -1
  257. metadata/generated/schema/entity/applications/configuration/private/external/__init__.py +1 -1
  258. metadata/generated/schema/entity/applications/configuration/private/external/collateAIAppPrivateConfig.py +1 -1
  259. metadata/generated/schema/entity/applications/configuration/private/internal/__init__.py +1 -1
  260. metadata/generated/schema/entity/applications/configuration/private/internal/collateAITierAgentAppPrivateConfig.py +1 -1
  261. metadata/generated/schema/entity/applications/configuration/private/limits.py +1 -1
  262. metadata/generated/schema/entity/applications/createAppRequest.py +1 -1
  263. metadata/generated/schema/entity/applications/jobStatus.py +1 -1
  264. metadata/generated/schema/entity/applications/liveExecutionContext.py +1 -1
  265. metadata/generated/schema/entity/applications/marketplace/__init__.py +1 -1
  266. metadata/generated/schema/entity/applications/marketplace/appMarketPlaceDefinition.py +1 -1
  267. metadata/generated/schema/entity/applications/marketplace/createAppMarketPlaceDefinitionReq.py +1 -1
  268. metadata/generated/schema/entity/applications/scheduledExecutionContext.py +1 -1
  269. metadata/generated/schema/entity/automations/__init__.py +1 -1
  270. metadata/generated/schema/entity/automations/testServiceConnection.py +1 -1
  271. metadata/generated/schema/entity/automations/workflow.py +1 -1
  272. metadata/generated/schema/entity/bot.py +1 -1
  273. metadata/generated/schema/entity/classification/__init__.py +1 -1
  274. metadata/generated/schema/entity/classification/classification.py +7 -4
  275. metadata/generated/schema/entity/classification/tag.py +6 -3
  276. metadata/generated/schema/entity/data/__init__.py +1 -1
  277. metadata/generated/schema/entity/data/apiCollection.py +1 -1
  278. metadata/generated/schema/entity/data/apiEndpoint.py +1 -1
  279. metadata/generated/schema/entity/data/chart.py +1 -1
  280. metadata/generated/schema/entity/data/container.py +1 -1
  281. metadata/generated/schema/entity/data/dashboard.py +1 -1
  282. metadata/generated/schema/entity/data/dashboardDataModel.py +1 -1
  283. metadata/generated/schema/entity/data/dataContract.py +180 -0
  284. metadata/generated/schema/entity/data/database.py +1 -1
  285. metadata/generated/schema/entity/data/databaseSchema.py +1 -1
  286. metadata/generated/schema/entity/data/glossary.py +1 -1
  287. metadata/generated/schema/entity/data/glossaryTerm.py +1 -1
  288. metadata/generated/schema/entity/data/metric.py +1 -1
  289. metadata/generated/schema/entity/data/mlmodel.py +1 -1
  290. metadata/generated/schema/entity/data/pipeline.py +1 -1
  291. metadata/generated/schema/entity/data/query.py +1 -1
  292. metadata/generated/schema/entity/data/queryCostRecord.py +1 -1
  293. metadata/generated/schema/entity/data/queryCostSearchResult.py +1 -1
  294. metadata/generated/schema/entity/data/report.py +1 -1
  295. metadata/generated/schema/entity/data/searchIndex.py +1 -1
  296. metadata/generated/schema/entity/data/storedProcedure.py +1 -1
  297. metadata/generated/schema/entity/data/table.py +5 -1
  298. metadata/generated/schema/entity/data/topic.py +1 -1
  299. metadata/generated/schema/entity/docStore/__init__.py +1 -1
  300. metadata/generated/schema/entity/docStore/document.py +1 -1
  301. metadata/generated/schema/entity/domains/__init__.py +1 -1
  302. metadata/generated/schema/entity/domains/dataProduct.py +5 -1
  303. metadata/generated/schema/entity/domains/domain.py +5 -1
  304. metadata/generated/schema/entity/events/__init__.py +1 -1
  305. metadata/generated/schema/entity/events/webhook.py +7 -1
  306. metadata/generated/schema/entity/feed/__init__.py +1 -1
  307. metadata/generated/schema/entity/feed/assets.py +1 -1
  308. metadata/generated/schema/entity/feed/customProperty.py +1 -1
  309. metadata/generated/schema/entity/feed/description.py +1 -1
  310. metadata/generated/schema/entity/feed/domain.py +1 -1
  311. metadata/generated/schema/entity/feed/entityInfo.py +1 -1
  312. metadata/generated/schema/entity/feed/owner.py +1 -1
  313. metadata/generated/schema/entity/feed/suggestion.py +1 -1
  314. metadata/generated/schema/entity/feed/tag.py +1 -1
  315. metadata/generated/schema/entity/feed/testCaseResult.py +1 -1
  316. metadata/generated/schema/entity/feed/thread.py +1 -1
  317. metadata/generated/schema/entity/policies/__init__.py +1 -1
  318. metadata/generated/schema/entity/policies/accessControl/__init__.py +1 -1
  319. metadata/generated/schema/entity/policies/accessControl/resourceDescriptor.py +6 -1
  320. metadata/generated/schema/entity/policies/accessControl/resourcePermission.py +1 -1
  321. metadata/generated/schema/entity/policies/accessControl/rule.py +1 -1
  322. metadata/generated/schema/entity/policies/filters.py +1 -1
  323. metadata/generated/schema/entity/policies/policy.py +1 -1
  324. metadata/generated/schema/entity/services/__init__.py +1 -1
  325. metadata/generated/schema/entity/services/apiService.py +1 -1
  326. metadata/generated/schema/entity/services/connections/__init__.py +1 -1
  327. metadata/generated/schema/entity/services/connections/api/__init__.py +1 -1
  328. metadata/generated/schema/entity/services/connections/api/restConnection.py +1 -1
  329. metadata/generated/schema/entity/services/connections/common/__init__.py +1 -1
  330. metadata/generated/schema/entity/services/connections/common/sslCertPaths.py +1 -1
  331. metadata/generated/schema/entity/services/connections/common/sslCertValues.py +1 -1
  332. metadata/generated/schema/entity/services/connections/common/sslConfig.py +1 -1
  333. metadata/generated/schema/entity/services/connections/connectionBasicType.py +1 -1
  334. metadata/generated/schema/entity/services/connections/dashboard/__init__.py +1 -1
  335. metadata/generated/schema/entity/services/connections/dashboard/customDashboardConnection.py +1 -1
  336. metadata/generated/schema/entity/services/connections/dashboard/domoDashboardConnection.py +1 -1
  337. metadata/generated/schema/entity/services/connections/dashboard/lightdashConnection.py +1 -1
  338. metadata/generated/schema/entity/services/connections/dashboard/lookerConnection.py +1 -1
  339. metadata/generated/schema/entity/services/connections/dashboard/metabaseConnection.py +1 -1
  340. metadata/generated/schema/entity/services/connections/dashboard/microStrategyConnection.py +1 -1
  341. metadata/generated/schema/entity/services/connections/dashboard/modeConnection.py +1 -1
  342. metadata/generated/schema/entity/services/connections/dashboard/powerBIConnection.py +1 -1
  343. metadata/generated/schema/entity/services/connections/dashboard/powerBIReportServerConnection.py +1 -1
  344. metadata/generated/schema/entity/services/connections/dashboard/powerbi/__init__.py +1 -1
  345. metadata/generated/schema/entity/services/connections/dashboard/powerbi/azureConfig.py +1 -1
  346. metadata/generated/schema/entity/services/connections/dashboard/powerbi/bucketDetails.py +1 -1
  347. metadata/generated/schema/entity/services/connections/dashboard/powerbi/gcsConfig.py +1 -1
  348. metadata/generated/schema/entity/services/connections/dashboard/powerbi/s3Config.py +1 -1
  349. metadata/generated/schema/entity/services/connections/dashboard/qlikCloudConnection.py +1 -1
  350. metadata/generated/schema/entity/services/connections/dashboard/qlikSenseConnection.py +1 -1
  351. metadata/generated/schema/entity/services/connections/dashboard/quickSightConnection.py +1 -1
  352. metadata/generated/schema/entity/services/connections/dashboard/redashConnection.py +1 -1
  353. metadata/generated/schema/entity/services/connections/dashboard/sigmaConnection.py +1 -1
  354. metadata/generated/schema/entity/services/connections/dashboard/supersetConnection.py +1 -1
  355. metadata/generated/schema/entity/services/connections/dashboard/tableauConnection.py +9 -1
  356. metadata/generated/schema/entity/services/connections/database/__init__.py +1 -1
  357. metadata/generated/schema/entity/services/connections/database/athenaConnection.py +1 -1
  358. metadata/generated/schema/entity/services/connections/database/azureSQLConnection.py +1 -1
  359. metadata/generated/schema/entity/services/connections/database/bigQueryConnection.py +5 -1
  360. metadata/generated/schema/entity/services/connections/database/bigTableConnection.py +1 -1
  361. metadata/generated/schema/entity/services/connections/database/cassandra/__init__.py +1 -1
  362. metadata/generated/schema/entity/services/connections/database/cassandra/cloudConfig.py +1 -1
  363. metadata/generated/schema/entity/services/connections/database/cassandraConnection.py +1 -1
  364. metadata/generated/schema/entity/services/connections/database/clickhouseConnection.py +1 -1
  365. metadata/generated/schema/entity/services/connections/database/cockroachConnection.py +1 -1
  366. metadata/generated/schema/entity/services/connections/database/common/__init__.py +1 -1
  367. metadata/generated/schema/entity/services/connections/database/common/azureConfig.py +1 -1
  368. metadata/generated/schema/entity/services/connections/database/common/basicAuth.py +1 -1
  369. metadata/generated/schema/entity/services/connections/database/common/iamAuthConfig.py +1 -1
  370. metadata/generated/schema/entity/services/connections/database/common/jwtAuth.py +1 -1
  371. metadata/generated/schema/entity/services/connections/database/common/noConfigAuthenticationTypes.py +1 -1
  372. metadata/generated/schema/entity/services/connections/database/couchbaseConnection.py +1 -1
  373. metadata/generated/schema/entity/services/connections/database/customDatabaseConnection.py +1 -1
  374. metadata/generated/schema/entity/services/connections/database/databricksConnection.py +1 -1
  375. metadata/generated/schema/entity/services/connections/database/datalake/__init__.py +1 -1
  376. metadata/generated/schema/entity/services/connections/database/datalake/azureConfig.py +1 -1
  377. metadata/generated/schema/entity/services/connections/database/datalake/gcsConfig.py +1 -1
  378. metadata/generated/schema/entity/services/connections/database/datalake/s3Config.py +1 -1
  379. metadata/generated/schema/entity/services/connections/database/datalakeConnection.py +1 -1
  380. metadata/generated/schema/entity/services/connections/database/db2Connection.py +1 -1
  381. metadata/generated/schema/entity/services/connections/database/deltaLakeConnection.py +1 -1
  382. metadata/generated/schema/entity/services/connections/database/deltalake/__init__.py +1 -1
  383. metadata/generated/schema/entity/services/connections/database/deltalake/metastoreConfig.py +1 -1
  384. metadata/generated/schema/entity/services/connections/database/deltalake/storageConfig.py +1 -1
  385. metadata/generated/schema/entity/services/connections/database/domoDatabaseConnection.py +1 -1
  386. metadata/generated/schema/entity/services/connections/database/dorisConnection.py +1 -1
  387. metadata/generated/schema/entity/services/connections/database/druidConnection.py +1 -1
  388. metadata/generated/schema/entity/services/connections/database/dynamoDBConnection.py +1 -1
  389. metadata/generated/schema/entity/services/connections/database/exasolConnection.py +1 -1
  390. metadata/generated/schema/entity/services/connections/database/glueConnection.py +1 -1
  391. metadata/generated/schema/entity/services/connections/database/greenplumConnection.py +1 -1
  392. metadata/generated/schema/entity/services/connections/database/hiveConnection.py +1 -1
  393. metadata/generated/schema/entity/services/connections/database/iceberg/__init__.py +1 -1
  394. metadata/generated/schema/entity/services/connections/database/iceberg/dynamoDbCatalogConnection.py +1 -1
  395. metadata/generated/schema/entity/services/connections/database/iceberg/glueCatalogConnection.py +1 -1
  396. metadata/generated/schema/entity/services/connections/database/iceberg/hiveCatalogConnection.py +1 -1
  397. metadata/generated/schema/entity/services/connections/database/iceberg/icebergCatalog.py +1 -1
  398. metadata/generated/schema/entity/services/connections/database/iceberg/icebergFileSystem.py +1 -1
  399. metadata/generated/schema/entity/services/connections/database/iceberg/restCatalogConnection.py +1 -1
  400. metadata/generated/schema/entity/services/connections/database/icebergConnection.py +1 -1
  401. metadata/generated/schema/entity/services/connections/database/impalaConnection.py +1 -1
  402. metadata/generated/schema/entity/services/connections/database/mariaDBConnection.py +1 -1
  403. metadata/generated/schema/entity/services/connections/database/mongoDBConnection.py +1 -1
  404. metadata/generated/schema/entity/services/connections/database/mssqlConnection.py +1 -1
  405. metadata/generated/schema/entity/services/connections/database/mysqlConnection.py +1 -1
  406. metadata/generated/schema/entity/services/connections/database/oracleConnection.py +1 -1
  407. metadata/generated/schema/entity/services/connections/database/pinotDBConnection.py +1 -1
  408. metadata/generated/schema/entity/services/connections/database/postgresConnection.py +1 -1
  409. metadata/generated/schema/entity/services/connections/database/prestoConnection.py +1 -1
  410. metadata/generated/schema/entity/services/connections/database/redshiftConnection.py +1 -1
  411. metadata/generated/schema/entity/services/connections/database/salesforceConnection.py +1 -1
  412. metadata/generated/schema/entity/services/connections/database/sapErpConnection.py +1 -1
  413. metadata/generated/schema/entity/services/connections/database/sapHana/__init__.py +1 -1
  414. metadata/generated/schema/entity/services/connections/database/sapHana/sapHanaHDBConnection.py +1 -1
  415. metadata/generated/schema/entity/services/connections/database/sapHana/sapHanaSQLConnection.py +1 -1
  416. metadata/generated/schema/entity/services/connections/database/sapHanaConnection.py +1 -1
  417. metadata/generated/schema/entity/services/connections/database/sasConnection.py +1 -1
  418. metadata/generated/schema/entity/services/connections/database/singleStoreConnection.py +1 -1
  419. metadata/generated/schema/entity/services/connections/database/snowflakeConnection.py +1 -1
  420. metadata/generated/schema/entity/services/connections/database/sqliteConnection.py +1 -1
  421. metadata/generated/schema/entity/services/connections/database/synapseConnection.py +1 -1
  422. metadata/generated/schema/entity/services/connections/database/teradataConnection.py +1 -1
  423. metadata/generated/schema/entity/services/connections/database/trinoConnection.py +1 -1
  424. metadata/generated/schema/entity/services/connections/database/unityCatalogConnection.py +1 -1
  425. metadata/generated/schema/entity/services/connections/database/verticaConnection.py +1 -1
  426. metadata/generated/schema/entity/services/connections/messaging/__init__.py +1 -1
  427. metadata/generated/schema/entity/services/connections/messaging/customMessagingConnection.py +1 -1
  428. metadata/generated/schema/entity/services/connections/messaging/kafkaConnection.py +1 -1
  429. metadata/generated/schema/entity/services/connections/messaging/kinesisConnection.py +1 -1
  430. metadata/generated/schema/entity/services/connections/messaging/pulsarConnection.py +1 -1
  431. metadata/generated/schema/entity/services/connections/messaging/redpandaConnection.py +9 -1
  432. metadata/generated/schema/entity/services/connections/messaging/saslMechanismType.py +1 -1
  433. metadata/generated/schema/entity/services/connections/metadata/__init__.py +1 -1
  434. metadata/generated/schema/entity/services/connections/metadata/alationConnection.py +1 -1
  435. metadata/generated/schema/entity/services/connections/metadata/alationSinkConnection.py +1 -1
  436. metadata/generated/schema/entity/services/connections/metadata/amundsenConnection.py +1 -1
  437. metadata/generated/schema/entity/services/connections/metadata/atlasConnection.py +1 -1
  438. metadata/generated/schema/entity/services/connections/metadata/metadataESConnection.py +1 -1
  439. metadata/generated/schema/entity/services/connections/metadata/openMetadataConnection.py +1 -1
  440. metadata/generated/schema/entity/services/connections/mlmodel/__init__.py +1 -1
  441. metadata/generated/schema/entity/services/connections/mlmodel/customMlModelConnection.py +1 -1
  442. metadata/generated/schema/entity/services/connections/mlmodel/mlflowConnection.py +1 -1
  443. metadata/generated/schema/entity/services/connections/mlmodel/sageMakerConnection.py +1 -1
  444. metadata/generated/schema/entity/services/connections/mlmodel/sklearnConnection.py +1 -1
  445. metadata/generated/schema/entity/services/connections/mlmodel/vertexaiConnection.py +1 -1
  446. metadata/generated/schema/entity/services/connections/pipeline/__init__.py +1 -1
  447. metadata/generated/schema/entity/services/connections/pipeline/airbyteConnection.py +1 -1
  448. metadata/generated/schema/entity/services/connections/pipeline/airflowConnection.py +1 -1
  449. metadata/generated/schema/entity/services/connections/pipeline/backendConnection.py +1 -1
  450. metadata/generated/schema/entity/services/connections/pipeline/customPipelineConnection.py +1 -1
  451. metadata/generated/schema/entity/services/connections/pipeline/dagsterConnection.py +1 -1
  452. metadata/generated/schema/entity/services/connections/pipeline/databricksPipelineConnection.py +1 -1
  453. metadata/generated/schema/entity/services/connections/pipeline/datafactoryConnection.py +1 -1
  454. metadata/generated/schema/entity/services/connections/pipeline/dbtCloudConnection.py +1 -1
  455. metadata/generated/schema/entity/services/connections/pipeline/domoPipelineConnection.py +1 -1
  456. metadata/generated/schema/entity/services/connections/pipeline/fivetranConnection.py +1 -1
  457. metadata/generated/schema/entity/services/connections/pipeline/flinkConnection.py +1 -1
  458. metadata/generated/schema/entity/services/connections/pipeline/gluePipelineConnection.py +1 -1
  459. metadata/generated/schema/entity/services/connections/pipeline/kafkaConnectConnection.py +1 -1
  460. metadata/generated/schema/entity/services/connections/pipeline/matillion/__init__.py +1 -1
  461. metadata/generated/schema/entity/services/connections/pipeline/matillion/matillionETL.py +1 -1
  462. metadata/generated/schema/entity/services/connections/pipeline/matillionConnection.py +1 -1
  463. metadata/generated/schema/entity/services/connections/pipeline/nifi/__init__.py +1 -1
  464. metadata/generated/schema/entity/services/connections/pipeline/nifi/basicAuth.py +1 -1
  465. metadata/generated/schema/entity/services/connections/pipeline/nifi/clientCertificateAuth.py +1 -1
  466. metadata/generated/schema/entity/services/connections/pipeline/nifiConnection.py +1 -1
  467. metadata/generated/schema/entity/services/connections/pipeline/openLineageConnection.py +1 -1
  468. metadata/generated/schema/entity/services/connections/pipeline/sparkConnection.py +1 -1
  469. metadata/generated/schema/entity/services/connections/pipeline/splineConnection.py +1 -1
  470. metadata/generated/schema/entity/services/connections/pipeline/ssisConnection.py +1 -1
  471. metadata/generated/schema/entity/services/connections/pipeline/stitchConnection.py +1 -1
  472. metadata/generated/schema/entity/services/connections/pipeline/wherescapeConnection.py +1 -1
  473. metadata/generated/schema/entity/services/connections/search/__init__.py +1 -1
  474. metadata/generated/schema/entity/services/connections/search/customSearchConnection.py +1 -1
  475. metadata/generated/schema/entity/services/connections/search/elasticSearch/__init__.py +1 -1
  476. metadata/generated/schema/entity/services/connections/search/elasticSearch/apiAuth.py +1 -1
  477. metadata/generated/schema/entity/services/connections/search/elasticSearch/basicAuth.py +1 -1
  478. metadata/generated/schema/entity/services/connections/search/elasticSearchConnection.py +1 -1
  479. metadata/generated/schema/entity/services/connections/search/openSearchConnection.py +1 -1
  480. metadata/generated/schema/entity/services/connections/serviceConnection.py +1 -1
  481. metadata/generated/schema/entity/services/connections/storage/__init__.py +1 -1
  482. metadata/generated/schema/entity/services/connections/storage/adlsConnection.py +1 -1
  483. metadata/generated/schema/entity/services/connections/storage/customStorageConnection.py +1 -1
  484. metadata/generated/schema/entity/services/connections/storage/gcsConnection.py +1 -1
  485. metadata/generated/schema/entity/services/connections/storage/s3Connection.py +1 -1
  486. metadata/generated/schema/entity/services/connections/testConnectionDefinition.py +1 -1
  487. metadata/generated/schema/entity/services/connections/testConnectionResult.py +1 -1
  488. metadata/generated/schema/entity/services/dashboardService.py +1 -1
  489. metadata/generated/schema/entity/services/databaseService.py +1 -1
  490. metadata/generated/schema/entity/services/ingestionPipelines/__init__.py +1 -1
  491. metadata/generated/schema/entity/services/ingestionPipelines/ingestionPipeline.py +1 -1
  492. metadata/generated/schema/entity/services/ingestionPipelines/pipelineServiceClientResponse.py +1 -1
  493. metadata/generated/schema/entity/services/ingestionPipelines/reverseIngestionResponse.py +1 -1
  494. metadata/generated/schema/entity/services/ingestionPipelines/status.py +1 -1
  495. metadata/generated/schema/entity/services/messagingService.py +1 -1
  496. metadata/generated/schema/entity/services/metadataService.py +1 -1
  497. metadata/generated/schema/entity/services/mlmodelService.py +1 -1
  498. metadata/generated/schema/entity/services/pipelineService.py +1 -1
  499. metadata/generated/schema/entity/services/searchService.py +1 -1
  500. metadata/generated/schema/entity/services/serviceType.py +1 -1
  501. metadata/generated/schema/entity/services/storageService.py +1 -1
  502. metadata/generated/schema/entity/teams/__init__.py +1 -1
  503. metadata/generated/schema/entity/teams/persona.py +1 -1
  504. metadata/generated/schema/entity/teams/role.py +1 -1
  505. metadata/generated/schema/entity/teams/team.py +8 -1
  506. metadata/generated/schema/entity/teams/teamHierarchy.py +1 -1
  507. metadata/generated/schema/entity/teams/user.py +11 -1
  508. metadata/generated/schema/entity/type.py +1 -1
  509. metadata/generated/schema/entity/utils/__init__.py +1 -1
  510. metadata/generated/schema/entity/utils/entitiesCount.py +1 -1
  511. metadata/generated/schema/entity/utils/servicesCount.py +1 -1
  512. metadata/generated/schema/entity/utils/supersetApiConnection.py +1 -1
  513. metadata/generated/schema/events/__init__.py +1 -1
  514. metadata/generated/schema/events/alertMetrics.py +1 -1
  515. metadata/generated/schema/events/api/__init__.py +1 -1
  516. metadata/generated/schema/events/api/createEventSubscription.py +1 -1
  517. metadata/generated/schema/events/api/eventSubscriptionDiagnosticInfo.py +1 -1
  518. metadata/generated/schema/events/api/eventsRecord.py +1 -1
  519. metadata/generated/schema/events/api/testEventSubscriptionDestination.py +1 -1
  520. metadata/generated/schema/events/api/typedEvent.py +1 -1
  521. metadata/generated/schema/events/emailAlertConfig.py +1 -1
  522. metadata/generated/schema/events/eventFilterRule.py +1 -1
  523. metadata/generated/schema/events/eventSubscription.py +1 -1
  524. metadata/generated/schema/events/eventSubscriptionOffset.py +1 -1
  525. metadata/generated/schema/events/failedEvent.py +1 -1
  526. metadata/generated/schema/events/failedEventResponse.py +1 -1
  527. metadata/generated/schema/events/filterResourceDescriptor.py +1 -1
  528. metadata/generated/schema/events/statusContext.py +1 -1
  529. metadata/generated/schema/events/subscriptionResourceDescriptor.py +1 -1
  530. metadata/generated/schema/events/subscriptionStatus.py +1 -1
  531. metadata/generated/schema/events/testDestinationStatus.py +1 -1
  532. metadata/generated/schema/governance/workflows/__init__.py +1 -1
  533. metadata/generated/schema/governance/workflows/elements/__init__.py +1 -1
  534. metadata/generated/schema/governance/workflows/elements/edge.py +1 -1
  535. metadata/generated/schema/governance/workflows/elements/nodeSubType.py +1 -1
  536. metadata/generated/schema/governance/workflows/elements/nodeType.py +1 -1
  537. metadata/generated/schema/governance/workflows/elements/nodes/__init__.py +1 -1
  538. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/__init__.py +1 -1
  539. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/checkEntityAttributesTask.py +1 -1
  540. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/createAndRunIngestionPipelineTask.py +1 -1
  541. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/runAppTask.py +1 -1
  542. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/setEntityCertificationTask.py +1 -1
  543. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/setGlossaryTermStatusTask.py +1 -1
  544. metadata/generated/schema/governance/workflows/elements/nodes/endEvent/__init__.py +1 -1
  545. metadata/generated/schema/governance/workflows/elements/nodes/endEvent/endEvent.py +1 -1
  546. metadata/generated/schema/governance/workflows/elements/nodes/gateway/__init__.py +1 -1
  547. metadata/generated/schema/governance/workflows/elements/nodes/gateway/parallelGateway.py +1 -1
  548. metadata/generated/schema/governance/workflows/elements/nodes/startEvent/__init__.py +1 -1
  549. metadata/generated/schema/governance/workflows/elements/nodes/startEvent/startEvent.py +1 -1
  550. metadata/generated/schema/governance/workflows/elements/nodes/userTask/__init__.py +1 -1
  551. metadata/generated/schema/governance/workflows/elements/nodes/userTask/userApprovalTask.py +1 -1
  552. metadata/generated/schema/governance/workflows/elements/triggers/__init__.py +1 -1
  553. metadata/generated/schema/governance/workflows/elements/triggers/eventBasedEntityTrigger.py +1 -1
  554. metadata/generated/schema/governance/workflows/elements/triggers/noOpTrigger.py +1 -1
  555. metadata/generated/schema/governance/workflows/elements/triggers/periodicBatchEntityTrigger.py +1 -1
  556. metadata/generated/schema/governance/workflows/workflowDefinition.py +1 -1
  557. metadata/generated/schema/governance/workflows/workflowInstance.py +1 -1
  558. metadata/generated/schema/governance/workflows/workflowInstanceState.py +1 -1
  559. metadata/generated/schema/jobs/__init__.py +1 -1
  560. metadata/generated/schema/jobs/backgroundJob.py +12 -3
  561. metadata/generated/schema/jobs/enumCleanupArgs.py +1 -1
  562. metadata/generated/schema/metadataIngestion/__init__.py +1 -1
  563. metadata/generated/schema/metadataIngestion/apiServiceMetadataPipeline.py +1 -1
  564. metadata/generated/schema/metadataIngestion/application.py +1 -1
  565. metadata/generated/schema/metadataIngestion/applicationPipeline.py +1 -1
  566. metadata/generated/schema/metadataIngestion/dashboardServiceMetadataPipeline.py +1 -1
  567. metadata/generated/schema/metadataIngestion/dataInsightPipeline.py +1 -1
  568. metadata/generated/schema/metadataIngestion/databaseServiceAutoClassificationPipeline.py +1 -1
  569. metadata/generated/schema/metadataIngestion/databaseServiceMetadataPipeline.py +1 -1
  570. metadata/generated/schema/metadataIngestion/databaseServiceProfilerPipeline.py +1 -1
  571. metadata/generated/schema/metadataIngestion/databaseServiceQueryLineagePipeline.py +1 -1
  572. metadata/generated/schema/metadataIngestion/databaseServiceQueryUsagePipeline.py +1 -1
  573. metadata/generated/schema/metadataIngestion/dbtPipeline.py +1 -1
  574. metadata/generated/schema/metadataIngestion/dbtconfig/__init__.py +1 -1
  575. metadata/generated/schema/metadataIngestion/dbtconfig/dbtAzureConfig.py +1 -1
  576. metadata/generated/schema/metadataIngestion/dbtconfig/dbtBucketDetails.py +1 -1
  577. metadata/generated/schema/metadataIngestion/dbtconfig/dbtCloudConfig.py +1 -1
  578. metadata/generated/schema/metadataIngestion/dbtconfig/dbtGCSConfig.py +1 -1
  579. metadata/generated/schema/metadataIngestion/dbtconfig/dbtHttpConfig.py +1 -1
  580. metadata/generated/schema/metadataIngestion/dbtconfig/dbtLocalConfig.py +1 -1
  581. metadata/generated/schema/metadataIngestion/dbtconfig/dbtS3Config.py +1 -1
  582. metadata/generated/schema/metadataIngestion/messagingServiceMetadataPipeline.py +1 -1
  583. metadata/generated/schema/metadataIngestion/metadataToElasticSearchPipeline.py +1 -1
  584. metadata/generated/schema/metadataIngestion/mlmodelServiceMetadataPipeline.py +1 -1
  585. metadata/generated/schema/metadataIngestion/pipelineServiceMetadataPipeline.py +1 -1
  586. metadata/generated/schema/metadataIngestion/reverseIngestionPipeline.py +1 -1
  587. metadata/generated/schema/metadataIngestion/reverseingestionconfig/__init__.py +1 -1
  588. metadata/generated/schema/metadataIngestion/reverseingestionconfig/descriptionConfig.py +1 -1
  589. metadata/generated/schema/metadataIngestion/reverseingestionconfig/ownerConfig.py +1 -1
  590. metadata/generated/schema/metadataIngestion/reverseingestionconfig/tagsConfig.py +1 -1
  591. metadata/generated/schema/metadataIngestion/searchServiceMetadataPipeline.py +1 -1
  592. metadata/generated/schema/metadataIngestion/storage/__init__.py +1 -1
  593. metadata/generated/schema/metadataIngestion/storage/containerMetadataConfig.py +1 -1
  594. metadata/generated/schema/metadataIngestion/storage/manifestMetadataConfig.py +1 -1
  595. metadata/generated/schema/metadataIngestion/storage/storageBucketDetails.py +1 -1
  596. metadata/generated/schema/metadataIngestion/storage/storageMetadataADLSConfig.py +1 -1
  597. metadata/generated/schema/metadataIngestion/storage/storageMetadataGCSConfig.py +1 -1
  598. metadata/generated/schema/metadataIngestion/storage/storageMetadataHttpConfig.py +1 -1
  599. metadata/generated/schema/metadataIngestion/storage/storageMetadataLocalConfig.py +1 -1
  600. metadata/generated/schema/metadataIngestion/storage/storageMetadataS3Config.py +1 -1
  601. metadata/generated/schema/metadataIngestion/storageServiceMetadataPipeline.py +1 -1
  602. metadata/generated/schema/metadataIngestion/testSuitePipeline.py +1 -1
  603. metadata/generated/schema/metadataIngestion/workflow.py +1 -1
  604. metadata/generated/schema/monitoring/__init__.py +1 -1
  605. metadata/generated/schema/monitoring/eventMonitorProvider.py +1 -1
  606. metadata/generated/schema/scim/__init__.py +3 -0
  607. metadata/generated/schema/scim/scimConfiguration.py +32 -0
  608. metadata/generated/schema/search/__init__.py +1 -1
  609. metadata/generated/schema/search/aggregationRequest.py +1 -1
  610. metadata/generated/schema/search/searchRequest.py +8 -1
  611. metadata/generated/schema/security/__init__.py +1 -1
  612. metadata/generated/schema/security/client/__init__.py +1 -1
  613. metadata/generated/schema/security/client/auth0SSOClientConfig.py +1 -1
  614. metadata/generated/schema/security/client/azureSSOClientConfig.py +1 -1
  615. metadata/generated/schema/security/client/customOidcSSOClientConfig.py +1 -1
  616. metadata/generated/schema/security/client/googleSSOClientConfig.py +1 -1
  617. metadata/generated/schema/security/client/oidcClientConfig.py +1 -1
  618. metadata/generated/schema/security/client/oktaSSOClientConfig.py +1 -1
  619. metadata/generated/schema/security/client/openMetadataJWTClientConfig.py +1 -1
  620. metadata/generated/schema/security/client/samlSSOClientConfig.py +1 -1
  621. metadata/generated/schema/security/credentials/__init__.py +1 -1
  622. metadata/generated/schema/security/credentials/accessTokenAuth.py +1 -1
  623. metadata/generated/schema/security/credentials/apiAccessTokenAuth.py +1 -1
  624. metadata/generated/schema/security/credentials/awsCredentials.py +1 -1
  625. metadata/generated/schema/security/credentials/azureCredentials.py +1 -1
  626. metadata/generated/schema/security/credentials/basicAuth.py +1 -1
  627. metadata/generated/schema/security/credentials/bitbucketCredentials.py +1 -1
  628. metadata/generated/schema/security/credentials/gcpCredentials.py +1 -1
  629. metadata/generated/schema/security/credentials/gcpExternalAccount.py +1 -1
  630. metadata/generated/schema/security/credentials/gcpValues.py +1 -1
  631. metadata/generated/schema/security/credentials/gitCredentials.py +1 -1
  632. metadata/generated/schema/security/credentials/githubCredentials.py +1 -1
  633. metadata/generated/schema/security/credentials/gitlabCredentials.py +1 -1
  634. metadata/generated/schema/security/sasl/__init__.py +1 -1
  635. metadata/generated/schema/security/sasl/saslClientConfig.py +1 -1
  636. metadata/generated/schema/security/secrets/__init__.py +1 -1
  637. metadata/generated/schema/security/secrets/secretsManagerClientLoader.py +1 -1
  638. metadata/generated/schema/security/secrets/secretsManagerConfiguration.py +1 -1
  639. metadata/generated/schema/security/secrets/secretsManagerProvider.py +1 -1
  640. metadata/generated/schema/security/securityConfiguration.py +1 -1
  641. metadata/generated/schema/security/ssl/__init__.py +1 -1
  642. metadata/generated/schema/security/ssl/validateSSLClientConfig.py +1 -1
  643. metadata/generated/schema/security/ssl/verifySSLConfig.py +1 -1
  644. metadata/generated/schema/settings/__init__.py +1 -1
  645. metadata/generated/schema/settings/settings.py +2 -1
  646. metadata/generated/schema/system/__init__.py +1 -1
  647. metadata/generated/schema/system/entityError.py +1 -1
  648. metadata/generated/schema/system/eventPublisherJob.py +8 -1
  649. metadata/generated/schema/system/indexingError.py +1 -1
  650. metadata/generated/schema/system/limitsResponse.py +1 -1
  651. metadata/generated/schema/system/ui/__init__.py +1 -1
  652. metadata/generated/schema/system/ui/knowledgePanel.py +1 -1
  653. metadata/generated/schema/system/ui/navigationItem.py +1 -1
  654. metadata/generated/schema/system/ui/page.py +1 -1
  655. metadata/generated/schema/system/ui/tab.py +1 -1
  656. metadata/generated/schema/system/ui/uiCustomization.py +1 -1
  657. metadata/generated/schema/system/validationResponse.py +1 -1
  658. metadata/generated/schema/tests/__init__.py +1 -1
  659. metadata/generated/schema/tests/assigned.py +1 -1
  660. metadata/generated/schema/tests/basic.py +1 -1
  661. metadata/generated/schema/tests/customMetric.py +1 -1
  662. metadata/generated/schema/tests/dataQualityReport.py +1 -1
  663. metadata/generated/schema/tests/resolved.py +1 -1
  664. metadata/generated/schema/tests/testCase.py +1 -1
  665. metadata/generated/schema/tests/testCaseResolutionStatus.py +1 -1
  666. metadata/generated/schema/tests/testDefinition.py +1 -1
  667. metadata/generated/schema/tests/testSuite.py +1 -1
  668. metadata/generated/schema/type/__init__.py +1 -1
  669. metadata/generated/schema/type/apiSchema.py +1 -1
  670. metadata/generated/schema/type/assetCertification.py +1 -1
  671. metadata/generated/schema/type/auditLog.py +1 -1
  672. metadata/generated/schema/type/basic.py +1 -1
  673. metadata/generated/schema/type/bulkOperationResult.py +1 -1
  674. metadata/generated/schema/type/changeEvent.py +1 -1
  675. metadata/generated/schema/type/changeEventType.py +1 -1
  676. metadata/generated/schema/type/changeSummaryMap.py +1 -1
  677. metadata/generated/schema/type/collectionDescriptor.py +1 -1
  678. metadata/generated/schema/type/csvDocumentation.py +1 -1
  679. metadata/generated/schema/type/csvErrorType.py +1 -1
  680. metadata/generated/schema/type/csvFile.py +1 -1
  681. metadata/generated/schema/type/csvImportResult.py +1 -1
  682. metadata/generated/schema/type/customProperties/__init__.py +1 -1
  683. metadata/generated/schema/type/customProperties/complexTypes.py +1 -1
  684. metadata/generated/schema/type/customProperties/enumConfig.py +1 -1
  685. metadata/generated/schema/type/customProperties/tableConfig.py +1 -1
  686. metadata/generated/schema/type/customProperty.py +1 -1
  687. metadata/generated/schema/type/dailyCount.py +1 -1
  688. metadata/generated/schema/type/databaseConnectionConfig.py +1 -1
  689. metadata/generated/schema/type/entityHierarchy.py +1 -1
  690. metadata/generated/schema/type/entityHistory.py +1 -1
  691. metadata/generated/schema/type/entityLineage.py +1 -1
  692. metadata/generated/schema/type/entityReference.py +1 -1
  693. metadata/generated/schema/type/entityReferenceList.py +1 -1
  694. metadata/generated/schema/type/entityRelationship.py +1 -1
  695. metadata/generated/schema/type/entityUsage.py +1 -1
  696. metadata/generated/schema/type/filterPattern.py +1 -1
  697. metadata/generated/schema/type/function.py +1 -1
  698. metadata/generated/schema/type/include.py +1 -1
  699. metadata/generated/schema/type/jdbcConnection.py +1 -1
  700. metadata/generated/schema/type/lifeCycle.py +1 -1
  701. metadata/generated/schema/type/paging.py +1 -1
  702. metadata/generated/schema/type/profile.py +1 -1
  703. metadata/generated/schema/type/queryParserData.py +1 -1
  704. metadata/generated/schema/type/reaction.py +1 -1
  705. metadata/generated/schema/type/schedule.py +1 -1
  706. metadata/generated/schema/type/schema.py +1 -1
  707. metadata/generated/schema/type/tableQuery.py +1 -1
  708. metadata/generated/schema/type/tableUsageCount.py +1 -1
  709. metadata/generated/schema/type/tagLabel.py +1 -1
  710. metadata/generated/schema/type/usageDetails.py +1 -1
  711. metadata/generated/schema/type/usageRequest.py +1 -1
  712. metadata/generated/schema/type/votes.py +1 -1
  713. metadata/great_expectations/action.py +4 -8
  714. metadata/great_expectations/action1xx.py +395 -0
  715. metadata/ingestion/connections/builders.py +14 -4
  716. metadata/ingestion/connections/connection.py +63 -0
  717. metadata/ingestion/connections/query_logger.py +115 -0
  718. metadata/ingestion/connections/test_connections.py +1 -1
  719. metadata/ingestion/ometa/mixins/tests_mixin.py +3 -5
  720. metadata/ingestion/ometa/routes.py +2 -0
  721. metadata/ingestion/sink/metadata_rest.py +54 -11
  722. metadata/ingestion/source/api/api_service.py +2 -7
  723. metadata/ingestion/source/connections.py +80 -14
  724. metadata/ingestion/source/connections_utils.py +32 -0
  725. metadata/ingestion/source/dashboard/dashboard_service.py +26 -15
  726. metadata/ingestion/source/dashboard/powerbi/metadata.py +32 -20
  727. metadata/ingestion/source/dashboard/superset/connection.py +8 -8
  728. metadata/ingestion/source/dashboard/superset/queries.py +1 -1
  729. metadata/ingestion/source/dashboard/tableau/metadata.py +12 -2
  730. metadata/ingestion/source/dashboard/tableau/models.py +12 -2
  731. metadata/ingestion/source/database/bigquery/connection.py +13 -9
  732. metadata/ingestion/source/database/bigquery/helper.py +11 -9
  733. metadata/ingestion/source/database/bigquery/metadata.py +102 -13
  734. metadata/ingestion/source/database/bigquery/queries.py +15 -3
  735. metadata/ingestion/source/database/common_db_source.py +2 -4
  736. metadata/ingestion/source/database/database_service.py +2 -7
  737. metadata/ingestion/source/database/datalake/metadata.py +1 -1
  738. metadata/ingestion/source/database/dbt/metadata.py +0 -5
  739. metadata/ingestion/source/database/mysql/connection.py +52 -45
  740. metadata/ingestion/source/database/mysql/service_spec.py +2 -0
  741. metadata/ingestion/source/database/query_parser_source.py +2 -7
  742. metadata/ingestion/source/database/redshift/connection.py +1 -1
  743. metadata/ingestion/source/database/sample_data.py +1 -1
  744. metadata/ingestion/source/database/saphana/lineage.py +2 -7
  745. metadata/ingestion/source/database/sas/metadata.py +2 -7
  746. metadata/ingestion/source/database/snowflake/metadata.py +1 -2
  747. metadata/ingestion/source/database/snowflake/utils.py +0 -4
  748. metadata/ingestion/source/database/trino/profiler/system_tables_profiler.py +26 -17
  749. metadata/ingestion/source/database/unitycatalog/connection.py +33 -0
  750. metadata/ingestion/source/database/unitycatalog/lineage.py +2 -7
  751. metadata/ingestion/source/database/unitycatalog/metadata.py +126 -13
  752. metadata/ingestion/source/database/unitycatalog/queries.py +19 -0
  753. metadata/ingestion/source/messaging/messaging_service.py +2 -7
  754. metadata/ingestion/source/metadata/alationsink/metadata.py +2 -7
  755. metadata/ingestion/source/metadata/amundsen/metadata.py +2 -7
  756. metadata/ingestion/source/metadata/atlas/metadata.py +2 -7
  757. metadata/ingestion/source/mlmodel/mlmodel_service.py +2 -7
  758. metadata/ingestion/source/pipeline/airflow/connection.py +4 -6
  759. metadata/ingestion/source/pipeline/nifi/metadata.py +133 -3
  760. metadata/ingestion/source/pipeline/pipeline_service.py +20 -7
  761. metadata/ingestion/source/search/search_service.py +2 -7
  762. metadata/ingestion/source/storage/storage_service.py +2 -7
  763. metadata/profiler/interface/sqlalchemy/bigquery/profiler_interface.py +3 -3
  764. metadata/profiler/metrics/static/not_regexp_match_count.py +4 -3
  765. metadata/profiler/metrics/static/regexp_match_count.py +3 -2
  766. metadata/profiler/orm/functions/length.py +1 -0
  767. metadata/profiler/orm/functions/md5.py +9 -0
  768. metadata/profiler/orm/functions/modulo.py +1 -0
  769. metadata/profiler/orm/functions/random_num.py +4 -0
  770. metadata/profiler/orm/functions/regexp.py +40 -0
  771. metadata/profiler/orm/functions/table_metric_computer.py +34 -8
  772. metadata/profiler/orm/registry.py +1 -0
  773. metadata/profiler/processor/core.py +2 -2
  774. metadata/profiler/processor/default.py +29 -28
  775. metadata/profiler/processor/metric_filter.py +16 -3
  776. metadata/profiler/processor/models.py +14 -4
  777. metadata/profiler/source/database/base/profiler_resolver.py +35 -0
  778. metadata/profiler/source/database/base/profiler_source.py +45 -30
  779. metadata/profiler/source/profiler_source_interface.py +8 -13
  780. metadata/sampler/sampler_interface.py +15 -10
  781. metadata/sampler/sqlalchemy/bigquery/sampler.py +7 -0
  782. metadata/utils/dependency_injector/dependency_injector.py +403 -0
  783. metadata/utils/service_spec/service_spec.py +66 -10
  784. metadata/workflow/profiler.py +2 -7
  785. {openmetadata_ingestion-1.7.4.2.dist-info → openmetadata_ingestion-1.8.0.0.dist-info}/METADATA +516 -505
  786. {openmetadata_ingestion-1.7.4.2.dist-info → openmetadata_ingestion-1.8.0.0.dist-info}/RECORD +790 -767
  787. {openmetadata_ingestion-1.7.4.2.dist-info → openmetadata_ingestion-1.8.0.0.dist-info}/LICENSE +0 -0
  788. {openmetadata_ingestion-1.7.4.2.dist-info → openmetadata_ingestion-1.8.0.0.dist-info}/WHEEL +0 -0
  789. {openmetadata_ingestion-1.7.4.2.dist-info → openmetadata_ingestion-1.8.0.0.dist-info}/entry_points.txt +0 -0
  790. {openmetadata_ingestion-1.7.4.2.dist-info → openmetadata_ingestion-1.8.0.0.dist-info}/top_level.txt +0 -0
@@ -12,55 +12,54 @@
12
12
  """
13
13
  Default simple profiler to use
14
14
  """
15
- from typing import List, Optional
15
+ from typing import List, Optional, Type
16
16
 
17
17
  from sqlalchemy.orm import DeclarativeMeta
18
18
 
19
- from metadata.generated.schema.configuration.profilerConfiguration import (
20
- ProfilerConfiguration,
21
- )
22
19
  from metadata.generated.schema.entity.data.table import ColumnProfilerConfig
23
20
  from metadata.generated.schema.entity.services.databaseService import DatabaseService
21
+ from metadata.generated.schema.settings.settings import Settings
24
22
  from metadata.ingestion.ometa.ometa_api import OpenMetadata
25
23
  from metadata.profiler.interface.profiler_interface import ProfilerInterface
26
24
  from metadata.profiler.metrics.core import Metric, add_props
27
- from metadata.profiler.metrics.registry import Metrics
28
25
  from metadata.profiler.processor.core import Profiler
26
+ from metadata.profiler.registry import MetricRegistry
29
27
 
30
28
 
31
29
  def get_default_metrics(
30
+ metrics_registry: Type[MetricRegistry],
32
31
  table: DeclarativeMeta,
33
32
  ometa_client: Optional[OpenMetadata] = None,
34
33
  db_service: Optional[DatabaseService] = None,
35
34
  ) -> List[Metric]:
36
35
  return [
37
36
  # Table Metrics
38
- Metrics.ROW_COUNT.value,
39
- add_props(table=table)(Metrics.COLUMN_COUNT.value),
40
- add_props(table=table)(Metrics.COLUMN_NAMES.value),
37
+ metrics_registry.ROW_COUNT.value,
38
+ add_props(table=table)(metrics_registry.COLUMN_COUNT.value),
39
+ add_props(table=table)(metrics_registry.COLUMN_NAMES.value),
41
40
  # We'll use the ometa_client & db_service in case we need to fetch info to ES
42
41
  add_props(table=table, ometa_client=ometa_client, db_service=db_service)(
43
- Metrics.SYSTEM.value
42
+ metrics_registry.SYSTEM.value
44
43
  ),
45
44
  # Column Metrics
46
- Metrics.MEDIAN.value,
47
- Metrics.FIRST_QUARTILE.value,
48
- Metrics.THIRD_QUARTILE.value,
49
- Metrics.MEAN.value,
50
- Metrics.COUNT.value,
51
- Metrics.DISTINCT_COUNT.value,
52
- Metrics.DISTINCT_RATIO.value,
53
- Metrics.MIN.value,
54
- Metrics.MAX.value,
55
- Metrics.NULL_COUNT.value,
56
- Metrics.NULL_RATIO.value,
57
- Metrics.STDDEV.value,
58
- Metrics.SUM.value,
59
- Metrics.UNIQUE_COUNT.value,
60
- Metrics.UNIQUE_RATIO.value,
61
- Metrics.IQR.value,
62
- Metrics.HISTOGRAM.value,
63
- Metrics.NON_PARAMETRIC_SKEW.value,
45
+ metrics_registry.MEDIAN.value,
46
+ metrics_registry.FIRST_QUARTILE.value,
47
+ metrics_registry.THIRD_QUARTILE.value,
48
+ metrics_registry.MEAN.value,
49
+ metrics_registry.COUNT.value,
50
+ metrics_registry.DISTINCT_COUNT.value,
51
+ metrics_registry.DISTINCT_RATIO.value,
52
+ metrics_registry.MIN.value,
53
+ metrics_registry.MAX.value,
54
+ metrics_registry.NULL_COUNT.value,
55
+ metrics_registry.NULL_RATIO.value,
56
+ metrics_registry.STDDEV.value,
57
+ metrics_registry.SUM.value,
58
+ metrics_registry.UNIQUE_COUNT.value,
59
+ metrics_registry.UNIQUE_RATIO.value,
60
+ metrics_registry.IQR.value,
61
+ metrics_registry.HISTOGRAM.value,
62
+ metrics_registry.NON_PARAMETRIC_SKEW.value,
64
63
  ]
65
64
 
66
65
 
@@ -74,12 +73,14 @@ class DefaultProfiler(Profiler):
74
73
  def __init__(
75
74
  self,
76
75
  profiler_interface: ProfilerInterface,
76
+ metrics_registry: Type[MetricRegistry],
77
77
  include_columns: Optional[List[ColumnProfilerConfig]] = None,
78
78
  exclude_columns: Optional[List[str]] = None,
79
- global_profiler_configuration: Optional[ProfilerConfiguration] = None,
79
+ global_profiler_configuration: Optional[Settings] = None,
80
80
  db_service=None,
81
81
  ):
82
82
  _metrics = get_default_metrics(
83
+ metrics_registry=metrics_registry,
83
84
  table=profiler_interface.table,
84
85
  ometa_client=profiler_interface.ometa_client,
85
86
  db_service=db_service,
@@ -33,22 +33,35 @@ from metadata.profiler.metrics.core import (
33
33
  SystemMetric,
34
34
  TMetric,
35
35
  )
36
- from metadata.profiler.metrics.registry import Metrics
37
36
  from metadata.profiler.orm.converter.converter_registry import converter_registry
37
+ from metadata.profiler.registry import MetricRegistry
38
+ from metadata.utils.dependency_injector.dependency_injector import (
39
+ DependencyNotFoundError,
40
+ Inject,
41
+ inject,
42
+ )
38
43
  from metadata.utils.sqa_like_column import SQALikeColumn
39
44
 
40
45
 
41
46
  class MetricFilter:
42
47
  """Metric filter class for profiler"""
43
48
 
49
+ @inject
44
50
  def __init__(
45
51
  self,
46
52
  metrics: Tuple[Type[TMetric]],
47
53
  global_profiler_config: Optional[ProfilerConfiguration] = None,
48
54
  table_profiler_config: Optional[TableProfilerConfig] = None,
49
55
  column_profiler_config: Optional[List[ColumnProfilerConfig]] = None,
56
+ metrics_registry: Inject[Type[MetricRegistry]] = None,
50
57
  ):
58
+ if metrics_registry is None:
59
+ raise DependencyNotFoundError(
60
+ "MetricRegistry dependency not found. Please ensure the MetricRegistry is properly registered."
61
+ )
62
+
51
63
  self.metrics = metrics
64
+ self.metrics_registry = metrics_registry
52
65
  self.global_profiler_config = global_profiler_config
53
66
  self.table_profiler_config = table_profiler_config
54
67
  self.column_profiler_config = column_profiler_config
@@ -196,7 +209,7 @@ class MetricFilter:
196
209
 
197
210
  metrics = [
198
211
  Metric.value
199
- for Metric in Metrics
212
+ for Metric in self.metrics_registry
200
213
  if Metric.value.name() in {mtrc.value for mtrc in col_dtype_config.metrics}
201
214
  and Metric.value in metrics
202
215
  ]
@@ -240,7 +253,7 @@ class MetricFilter:
240
253
 
241
254
  metrics = [
242
255
  Metric.value
243
- for Metric in Metrics
256
+ for Metric in self.metrics_registry
244
257
  if Metric.value.name().lower() in {mtrc.lower() for mtrc in metric_names}
245
258
  and Metric.value in metrics
246
259
  ]
@@ -13,20 +13,30 @@
13
13
  Models to map profiler definitions
14
14
  JSON workflows to the profiler
15
15
  """
16
- from typing import List, Optional
16
+ from typing import List, Optional, Type
17
17
 
18
18
  from pydantic import BaseModel, BeforeValidator
19
19
  from typing_extensions import Annotated
20
20
 
21
- from metadata.profiler.metrics.registry import Metrics
21
+ from metadata.profiler.registry import MetricRegistry
22
+ from metadata.utils.dependency_injector.dependency_injector import (
23
+ DependencyNotFoundError,
24
+ Inject,
25
+ inject,
26
+ )
22
27
 
23
28
 
24
- def valid_metric(value: str):
29
+ @inject
30
+ def valid_metric(value: str, metrics: Inject[Type[MetricRegistry]] = None):
25
31
  """
26
32
  Validate that the input metrics are correctly named
27
33
  and can be found in the Registry
28
34
  """
29
- if not Metrics.get(value.upper()):
35
+ if metrics is None:
36
+ raise DependencyNotFoundError(
37
+ "MetricRegistry dependency not found. Please ensure the MetricRegistry is properly registered."
38
+ )
39
+ if not metrics.get(value.upper()):
30
40
  raise ValueError(
31
41
  f"Metric name {value} is not a proper metric name from the Registry"
32
42
  )
@@ -0,0 +1,35 @@
1
+ from abc import ABC, abstractmethod
2
+ from typing import Tuple, Type
3
+
4
+ from metadata.generated.schema.entity.services.serviceType import ServiceType
5
+ from metadata.profiler.interface.profiler_interface import ProfilerInterface
6
+ from metadata.sampler.sampler_interface import SamplerInterface
7
+ from metadata.utils.service_spec.service_spec import (
8
+ import_profiler_class,
9
+ import_sampler_class,
10
+ )
11
+
12
+
13
+ class ProfilerResolver(ABC):
14
+ """Abstract class for the profiler resolver"""
15
+
16
+ @staticmethod
17
+ @abstractmethod
18
+ def resolve(
19
+ processing_engine: str, service_type: ServiceType, source_type: str
20
+ ) -> Tuple[Type[SamplerInterface], Type[ProfilerInterface]]:
21
+ """Resolve the sampler and profiler based on the processing engine."""
22
+ raise NotImplementedError
23
+
24
+
25
+ class DefaultProfilerResolver(ProfilerResolver):
26
+ """Default profiler resolver"""
27
+
28
+ @staticmethod
29
+ def resolve(
30
+ processing_engine: str, service_type: ServiceType, source_type: str
31
+ ) -> Tuple[Type[SamplerInterface], Type[ProfilerInterface]]:
32
+ """Resolve the sampler and profiler based on the processing engine."""
33
+ sampler_class = import_sampler_class(service_type, source_type=source_type)
34
+ profiler_class = import_profiler_class(service_type, source_type=source_type)
35
+ return sampler_class, profiler_class
@@ -14,7 +14,7 @@ Base source for the profiler used to instantiate a profiler runner with
14
14
  its interface
15
15
  """
16
16
  from copy import deepcopy
17
- from typing import Optional, cast
17
+ from typing import Optional, Type, cast
18
18
 
19
19
  from metadata.generated.schema.configuration.profilerConfiguration import (
20
20
  ProfilerConfiguration,
@@ -22,10 +22,7 @@ from metadata.generated.schema.configuration.profilerConfiguration import (
22
22
  from metadata.generated.schema.entity.data.database import Database
23
23
  from metadata.generated.schema.entity.data.databaseSchema import DatabaseSchema
24
24
  from metadata.generated.schema.entity.data.table import Table
25
- from metadata.generated.schema.entity.services.databaseService import (
26
- DatabaseConnection,
27
- DatabaseService,
28
- )
25
+ from metadata.generated.schema.entity.services.databaseService import DatabaseConnection
29
26
  from metadata.generated.schema.entity.services.serviceType import ServiceType
30
27
  from metadata.generated.schema.metadataIngestion.databaseServiceProfilerPipeline import (
31
28
  DatabaseServiceProfilerPipeline,
@@ -36,9 +33,10 @@ from metadata.generated.schema.metadataIngestion.workflow import (
36
33
  from metadata.ingestion.ometa.ometa_api import OpenMetadata
37
34
  from metadata.profiler.api.models import ProfilerProcessorConfig, TableConfig
38
35
  from metadata.profiler.interface.profiler_interface import ProfilerInterface
39
- from metadata.profiler.metrics.registry import Metrics
40
36
  from metadata.profiler.processor.core import Profiler
41
37
  from metadata.profiler.processor.default import DefaultProfiler, get_default_metrics
38
+ from metadata.profiler.registry import MetricRegistry
39
+ from metadata.profiler.source.database.base.profiler_resolver import ProfilerResolver
42
40
  from metadata.profiler.source.profiler_source_interface import ProfilerSourceInterface
43
41
  from metadata.sampler.config import (
44
42
  get_config_for_table,
@@ -47,12 +45,13 @@ from metadata.sampler.config import (
47
45
  )
48
46
  from metadata.sampler.models import SampleConfig
49
47
  from metadata.sampler.sampler_interface import SamplerInterface
48
+ from metadata.utils.dependency_injector.dependency_injector import (
49
+ DependencyNotFoundError,
50
+ Inject,
51
+ inject,
52
+ )
50
53
  from metadata.utils.logger import profiler_logger
51
54
  from metadata.utils.profiler_utils import get_context_entities
52
- from metadata.utils.service_spec.service_spec import (
53
- import_profiler_class,
54
- import_sampler_class,
55
- )
56
55
 
57
56
  logger = profiler_logger()
58
57
 
@@ -77,8 +76,7 @@ class ProfilerSource(ProfilerSourceInterface):
77
76
  self.ometa_client = ometa_client
78
77
  self._interface_type: str = config.source.type.lower()
79
78
  self._interface = None
80
- # We define this in create_profiler_interface to help us reuse
81
- # this method for the sampler, which does not have a DatabaseServiceProfilerPipeline
79
+
82
80
  self.source_config = None
83
81
  self.global_profiler_configuration = global_profiler_configuration
84
82
 
@@ -122,25 +120,34 @@ class ProfilerSource(ProfilerSourceInterface):
122
120
 
123
121
  return config_copy
124
122
 
123
+ @inject
125
124
  def create_profiler_interface(
126
125
  self,
127
126
  entity: Table,
128
127
  config: Optional[TableConfig],
129
- profiler_config: Optional[ProfilerProcessorConfig],
130
- schema_entity: Optional[DatabaseSchema],
131
- database_entity: Optional[Database],
132
- db_service: Optional[DatabaseService],
128
+ schema_entity: DatabaseSchema,
129
+ database_entity: Database,
130
+ profiler_resolver: Inject[Type[ProfilerResolver]] = None,
133
131
  ) -> ProfilerInterface:
134
- """Create sqlalchemy profiler interface"""
132
+ """Create the appropriate profiler interface based on processing engine."""
133
+ if profiler_resolver is None:
134
+ raise DependencyNotFoundError(
135
+ "ProfilerResolver dependency not found. Please ensure the ProfilerResolver is properly registered."
136
+ )
137
+
138
+ # NOTE: For some reason I do not understand, if we instantiate this on the __init__ method, we break the
139
+ # autoclassification workflow. This should be fixed. There should not be an impact on AutoClassification.
140
+ # We have an issue to track this here: https://github.com/open-metadata/OpenMetadata/issues/21790
135
141
  self.source_config = DatabaseServiceProfilerPipeline.model_validate(
136
142
  self.config.source.sourceConfig.config
137
143
  )
138
- profiler_class = import_profiler_class(
139
- ServiceType.Database, source_type=self._interface_type
140
- )
141
- sampler_class = import_sampler_class(
142
- ServiceType.Database, source_type=self._interface_type
144
+
145
+ sampler_class, profiler_class = profiler_resolver.resolve(
146
+ processing_engine=self.get_processing_engine(self.source_config),
147
+ service_type=ServiceType.Database,
148
+ source_type=self._interface_type,
143
149
  )
150
+
144
151
  # This is shared between the sampler and profiler interfaces
145
152
  sampler_interface: SamplerInterface = sampler_class.create(
146
153
  service_connection_config=self.service_conn_config,
@@ -155,6 +162,8 @@ class ProfilerSource(ProfilerSourceInterface):
155
162
  samplingMethodType=self.source_config.samplingMethodType,
156
163
  randomizedSample=self.source_config.randomizedSample,
157
164
  ),
165
+ # TODO: Change this when we have the processing engine configuration implemented. Right now it does nothing.
166
+ processing_engine=self.get_processing_engine(self.source_config),
158
167
  )
159
168
 
160
169
  profiler_interface: ProfilerInterface = profiler_class.create(
@@ -168,28 +177,33 @@ class ProfilerSource(ProfilerSourceInterface):
168
177
  self.interface = profiler_interface
169
178
  return self.interface
170
179
 
180
+ @inject
171
181
  def get_profiler_runner(
172
- self, entity: Table, profiler_config: ProfilerProcessorConfig
182
+ self,
183
+ entity: Table,
184
+ profiler_config: ProfilerProcessorConfig,
185
+ metrics_registry: Inject[Type[MetricRegistry]] = None,
173
186
  ) -> Profiler:
174
187
  """
175
188
  Returns the runner for the profiler
176
189
  """
190
+ if metrics_registry is None:
191
+ raise DependencyNotFoundError(
192
+ "MetricRegistry dependency not found. Please ensure the MetricRegistry is properly registered."
193
+ )
194
+
177
195
  table_config = get_config_for_table(entity, profiler_config)
178
196
  schema_entity, database_entity, db_service = get_context_entities(
179
197
  entity=entity, metadata=self.ometa_client
180
198
  )
181
199
  profiler_interface = self.create_profiler_interface(
182
- entity,
183
- table_config,
184
- profiler_config,
185
- schema_entity,
186
- database_entity,
187
- db_service,
200
+ entity, table_config, schema_entity, database_entity
188
201
  )
189
202
 
190
203
  if not profiler_config.profiler:
191
204
  return DefaultProfiler(
192
205
  profiler_interface=profiler_interface,
206
+ metrics_registry=metrics_registry,
193
207
  include_columns=get_include_columns(entity, table_config),
194
208
  exclude_columns=get_exclude_columns(entity, table_config),
195
209
  global_profiler_configuration=self.global_profiler_configuration,
@@ -197,9 +211,10 @@ class ProfilerSource(ProfilerSourceInterface):
197
211
  )
198
212
 
199
213
  metrics = (
200
- [Metrics.get(name) for name in profiler_config.profiler.metrics]
214
+ [metrics_registry.get(name) for name in profiler_config.profiler.metrics]
201
215
  if profiler_config.profiler.metrics
202
216
  else get_default_metrics(
217
+ metrics_registry=metrics_registry,
203
218
  table=profiler_interface.table,
204
219
  ometa_client=self.ometa_client,
205
220
  db_service=db_service,
@@ -16,6 +16,9 @@ Class defining the interface for the profiler source
16
16
  from abc import ABC, abstractmethod
17
17
  from typing import Optional
18
18
 
19
+ from metadata.generated.schema.metadataIngestion.databaseServiceProfilerPipeline import (
20
+ DatabaseServiceProfilerPipeline,
21
+ )
19
22
  from metadata.profiler.interface.profiler_interface import ProfilerInterface
20
23
 
21
24
 
@@ -34,20 +37,12 @@ class ProfilerSourceInterface(ABC):
34
37
  """Set the interface"""
35
38
  raise NotImplementedError
36
39
 
37
- @abstractmethod
38
- def create_profiler_interface(
39
- self,
40
- entity,
41
- config,
42
- profiler_config,
43
- schema_entity,
44
- database_entity,
45
- db_service,
46
- ) -> ProfilerInterface:
47
- """Create the profiler interface"""
48
- raise NotImplementedError
49
-
50
40
  @abstractmethod
51
41
  def get_profiler_runner(self, entity, profiler_config):
52
42
  """Get the profiler runner"""
53
43
  raise NotImplementedError
44
+
45
+ @staticmethod
46
+ def get_processing_engine(config: DatabaseServiceProfilerPipeline):
47
+ """Get the processing engine based on the configuration."""
48
+ return "Native"
@@ -13,12 +13,13 @@ Interface for sampler
13
13
  """
14
14
  import traceback
15
15
  from abc import ABC, abstractmethod
16
- from typing import Dict, List, Optional, Set, Union
16
+ from typing import List, Optional, Set, Union
17
17
 
18
18
  from metadata.generated.schema.entity.data.database import Database
19
19
  from metadata.generated.schema.entity.data.databaseSchema import DatabaseSchema
20
20
  from metadata.generated.schema.entity.data.table import (
21
21
  ColumnProfilerConfig,
22
+ PartitionProfilerConfig,
22
23
  Table,
23
24
  TableData,
24
25
  )
@@ -65,20 +66,20 @@ class SamplerInterface(ABC):
65
66
  include_columns: Optional[List[ColumnProfilerConfig]] = None,
66
67
  exclude_columns: Optional[List[str]] = None,
67
68
  sample_config: SampleConfig = SampleConfig(),
68
- partition_details: Optional[Dict] = None,
69
+ partition_details: Optional[PartitionProfilerConfig] = None,
69
70
  sample_query: Optional[str] = None,
70
- storage_config: DataStorageConfig = None,
71
+ storage_config: Optional[DataStorageConfig] = None,
71
72
  sample_data_count: Optional[int] = SAMPLE_DATA_DEFAULT_COUNT,
72
73
  **__,
73
74
  ):
74
75
  self.ometa_client = ometa_client
75
76
  self._sample = None
76
- self._columns: Optional[List[SQALikeColumn]] = None
77
+ self._columns: List[SQALikeColumn] = []
77
78
  self.sample_config = sample_config
78
79
 
79
80
  self.entity = entity
80
- self.include_columns = include_columns
81
- self.exclude_columns = exclude_columns
81
+ self.include_columns = include_columns or []
82
+ self.exclude_columns = exclude_columns or []
82
83
  self.sample_query = sample_query
83
84
  self.sample_limit = sample_data_count
84
85
  self.partition_details = partition_details
@@ -99,7 +100,7 @@ class SamplerInterface(ABC):
99
100
  table_config: Optional[TableConfig] = None,
100
101
  storage_config: Optional[DataStorageConfig] = None,
101
102
  default_sample_config: Optional[SampleConfig] = None,
102
- default_sample_data_count: Optional[int] = SAMPLE_DATA_DEFAULT_COUNT,
103
+ default_sample_data_count: int = SAMPLE_DATA_DEFAULT_COUNT,
103
104
  **kwargs,
104
105
  ) -> "SamplerInterface":
105
106
  """Create sampler"""
@@ -165,16 +166,20 @@ class SamplerInterface(ABC):
165
166
 
166
167
  return self._columns
167
168
 
168
- def _get_excluded_columns(self) -> Optional[Set[str]]:
169
+ def _get_excluded_columns(self) -> Set[str]:
169
170
  """Get excluded columns for table being profiled"""
170
171
  if self.exclude_columns:
171
172
  return set(self.exclude_columns)
172
173
  return set()
173
174
 
174
- def _get_included_columns(self) -> Optional[Set[str]]:
175
+ def _get_included_columns(self) -> Set[str]:
175
176
  """Get include columns for table being profiled"""
176
177
  if self.include_columns:
177
- return {include_col.columnName for include_col in self.include_columns}
178
+ return {
179
+ include_col.columnName
180
+ for include_col in self.include_columns
181
+ if include_col.columnName
182
+ }
178
183
  return set()
179
184
 
180
185
  @property
@@ -73,6 +73,13 @@ class BigQuerySampler(SQASampler):
73
73
  **kwargs,
74
74
  )
75
75
  self.raw_dataset_type: Optional[TableType] = entity.tableType
76
+ if self._table.__table__.schema and self.entity.database.name:
77
+ self._table.__table__.schema = (
78
+ f"{self.entity.database.name}.{self._table.__table__.schema}"
79
+ )
80
+ self._table.__table_args__[
81
+ "schema"
82
+ ] = f"{self.entity.database.name}.{self._table.__table_args__['schema']}"
76
83
 
77
84
  def set_tablesample(self, selectable: SqaTable):
78
85
  """Set the TABLESAMPLE clause for BigQuery