openmetadata-ingestion 1.7.5.0__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 (788) 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/generated/schema/analytics/__init__.py +1 -1
  8. metadata/generated/schema/analytics/basic.py +1 -1
  9. metadata/generated/schema/analytics/reportData.py +1 -1
  10. metadata/generated/schema/analytics/reportDataType/__init__.py +1 -1
  11. metadata/generated/schema/analytics/reportDataType/aggregatedCostAnalysisReportData.py +1 -1
  12. metadata/generated/schema/analytics/reportDataType/entityReportData.py +1 -1
  13. metadata/generated/schema/analytics/reportDataType/rawCostAnalysisReportData.py +1 -1
  14. metadata/generated/schema/analytics/reportDataType/webAnalyticEntityViewReportData.py +1 -1
  15. metadata/generated/schema/analytics/reportDataType/webAnalyticUserActivityReportData.py +1 -1
  16. metadata/generated/schema/analytics/webAnalyticEvent.py +1 -1
  17. metadata/generated/schema/analytics/webAnalyticEventData.py +1 -1
  18. metadata/generated/schema/analytics/webAnalyticEventType/__init__.py +1 -1
  19. metadata/generated/schema/analytics/webAnalyticEventType/customEvent.py +1 -1
  20. metadata/generated/schema/analytics/webAnalyticEventType/pageViewEvent.py +1 -1
  21. metadata/generated/schema/api/__init__.py +1 -1
  22. metadata/generated/schema/api/addGlossaryToAssetsRequest.py +3 -16
  23. metadata/generated/schema/api/addTagToAssetsRequest.py +1 -10
  24. metadata/generated/schema/api/analytics/__init__.py +1 -1
  25. metadata/generated/schema/api/analytics/createWebAnalyticEvent.py +1 -1
  26. metadata/generated/schema/api/automations/__init__.py +1 -1
  27. metadata/generated/schema/api/automations/createWorkflow.py +1 -1
  28. metadata/generated/schema/api/bulkAssets.py +1 -1
  29. metadata/generated/schema/api/classification/__init__.py +1 -1
  30. metadata/generated/schema/api/classification/createClassification.py +6 -2
  31. metadata/generated/schema/api/classification/createTag.py +6 -2
  32. metadata/generated/schema/api/classification/loadTags.py +1 -1
  33. metadata/generated/schema/api/createBot.py +1 -1
  34. metadata/generated/schema/api/createEventPublisherJob.py +1 -1
  35. metadata/generated/schema/api/createType.py +1 -1
  36. metadata/generated/schema/api/data/__init__.py +1 -1
  37. metadata/generated/schema/api/data/createAPICollection.py +1 -1
  38. metadata/generated/schema/api/data/createAPIEndpoint.py +1 -1
  39. metadata/generated/schema/api/data/createChart.py +1 -1
  40. metadata/generated/schema/api/data/createContainer.py +1 -1
  41. metadata/generated/schema/api/data/createCustomProperty.py +1 -1
  42. metadata/generated/schema/api/data/createDashboard.py +1 -1
  43. metadata/generated/schema/api/data/createDashboardDataModel.py +1 -1
  44. metadata/generated/schema/api/data/createDataContract.py +66 -0
  45. metadata/generated/schema/api/data/createDatabase.py +1 -1
  46. metadata/generated/schema/api/data/createDatabaseSchema.py +1 -1
  47. metadata/generated/schema/api/data/createGlossary.py +1 -1
  48. metadata/generated/schema/api/data/createGlossaryTerm.py +1 -1
  49. metadata/generated/schema/api/data/createMetric.py +1 -1
  50. metadata/generated/schema/api/data/createMlModel.py +1 -1
  51. metadata/generated/schema/api/data/createPipeline.py +1 -1
  52. metadata/generated/schema/api/data/createQuery.py +1 -1
  53. metadata/generated/schema/api/data/createQueryCostRecord.py +1 -1
  54. metadata/generated/schema/api/data/createSearchIndex.py +1 -1
  55. metadata/generated/schema/api/data/createStoredProcedure.py +1 -1
  56. metadata/generated/schema/api/data/createTable.py +1 -1
  57. metadata/generated/schema/api/data/createTableProfile.py +1 -1
  58. metadata/generated/schema/api/data/createTopic.py +1 -1
  59. metadata/generated/schema/api/data/loadGlossary.py +1 -1
  60. metadata/generated/schema/api/data/restoreEntity.py +1 -1
  61. metadata/generated/schema/api/data/updateColumn.py +49 -0
  62. metadata/generated/schema/api/dataInsight/__init__.py +1 -1
  63. metadata/generated/schema/api/dataInsight/createDataInsightChart.py +1 -1
  64. metadata/generated/schema/api/dataInsight/custom/__init__.py +1 -1
  65. metadata/generated/schema/api/dataInsight/custom/createDataInsightCustomChart.py +1 -1
  66. metadata/generated/schema/api/dataInsight/kpi/__init__.py +1 -1
  67. metadata/generated/schema/api/dataInsight/kpi/createKpiRequest.py +1 -1
  68. metadata/generated/schema/api/docStore/__init__.py +1 -1
  69. metadata/generated/schema/api/docStore/createDocument.py +1 -1
  70. metadata/generated/schema/api/domains/__init__.py +1 -1
  71. metadata/generated/schema/api/domains/createDataProduct.py +1 -1
  72. metadata/generated/schema/api/domains/createDomain.py +1 -1
  73. metadata/generated/schema/api/feed/__init__.py +1 -1
  74. metadata/generated/schema/api/feed/closeTask.py +1 -1
  75. metadata/generated/schema/api/feed/createPost.py +1 -1
  76. metadata/generated/schema/api/feed/createSuggestion.py +1 -1
  77. metadata/generated/schema/api/feed/createThread.py +1 -1
  78. metadata/generated/schema/api/feed/resolveTask.py +1 -1
  79. metadata/generated/schema/api/feed/threadCount.py +1 -1
  80. metadata/generated/schema/api/governance/__init__.py +1 -1
  81. metadata/generated/schema/api/governance/createWorkflowDefinition.py +1 -1
  82. metadata/generated/schema/api/governance/createWorkflowInstanceState.py +1 -1
  83. metadata/generated/schema/api/lineage/__init__.py +1 -1
  84. metadata/generated/schema/api/lineage/addLineage.py +1 -1
  85. metadata/generated/schema/api/lineage/esLineageData.py +1 -1
  86. metadata/generated/schema/api/lineage/lineageDirection.py +1 -1
  87. metadata/generated/schema/api/lineage/nodeInformation.py +1 -1
  88. metadata/generated/schema/api/lineage/searchLineageRequest.py +1 -1
  89. metadata/generated/schema/api/lineage/searchLineageResult.py +1 -1
  90. metadata/generated/schema/api/mcp/__init__.py +3 -0
  91. metadata/generated/schema/api/mcp/mcpToolDefinition.py +54 -0
  92. metadata/generated/schema/api/openMetadataServerVersion.py +1 -1
  93. metadata/generated/schema/api/policies/__init__.py +1 -1
  94. metadata/generated/schema/api/policies/createPolicy.py +1 -1
  95. metadata/generated/schema/api/scim/__init__.py +3 -0
  96. metadata/generated/schema/api/scim/scimGroup.py +52 -0
  97. metadata/generated/schema/api/scim/scimPatchOp.py +32 -0
  98. metadata/generated/schema/api/scim/scimUser.py +83 -0
  99. metadata/generated/schema/api/search/__init__.py +1 -1
  100. metadata/generated/schema/api/search/previewSearchRequest.py +1 -1
  101. metadata/generated/schema/api/services/__init__.py +1 -1
  102. metadata/generated/schema/api/services/createApiService.py +1 -1
  103. metadata/generated/schema/api/services/createDashboardService.py +1 -1
  104. metadata/generated/schema/api/services/createDatabaseService.py +1 -1
  105. metadata/generated/schema/api/services/createMessagingService.py +1 -1
  106. metadata/generated/schema/api/services/createMetadataService.py +1 -1
  107. metadata/generated/schema/api/services/createMlModelService.py +1 -1
  108. metadata/generated/schema/api/services/createPipelineService.py +1 -1
  109. metadata/generated/schema/api/services/createSearchService.py +1 -1
  110. metadata/generated/schema/api/services/createStorageService.py +1 -1
  111. metadata/generated/schema/api/services/ingestionPipelines/__init__.py +1 -1
  112. metadata/generated/schema/api/services/ingestionPipelines/createIngestionPipeline.py +1 -1
  113. metadata/generated/schema/api/setOwner.py +1 -1
  114. metadata/generated/schema/api/teams/__init__.py +1 -1
  115. metadata/generated/schema/api/teams/createPersona.py +1 -1
  116. metadata/generated/schema/api/teams/createRole.py +1 -1
  117. metadata/generated/schema/api/teams/createTeam.py +8 -1
  118. metadata/generated/schema/api/teams/createUser.py +11 -1
  119. metadata/generated/schema/api/tests/__init__.py +1 -1
  120. metadata/generated/schema/api/tests/createCustomMetric.py +1 -1
  121. metadata/generated/schema/api/tests/createLogicalTestCases.py +1 -1
  122. metadata/generated/schema/api/tests/createTestCase.py +9 -6
  123. metadata/generated/schema/api/tests/createTestCaseResolutionStatus.py +1 -1
  124. metadata/generated/schema/api/tests/createTestCaseResult.py +1 -1
  125. metadata/generated/schema/api/tests/createTestDefinition.py +1 -1
  126. metadata/generated/schema/api/tests/createTestSuite.py +1 -1
  127. metadata/generated/schema/api/validateGlossaryTagsRequest.py +31 -0
  128. metadata/generated/schema/api/voteRequest.py +1 -1
  129. metadata/generated/schema/auth/__init__.py +1 -1
  130. metadata/generated/schema/auth/basicAuth.py +1 -1
  131. metadata/generated/schema/auth/basicLoginRequest.py +1 -1
  132. metadata/generated/schema/auth/changePasswordRequest.py +1 -1
  133. metadata/generated/schema/auth/createPersonalToken.py +1 -1
  134. metadata/generated/schema/auth/emailRequest.py +1 -1
  135. metadata/generated/schema/auth/emailVerificationToken.py +2 -1
  136. metadata/generated/schema/auth/generateToken.py +1 -1
  137. metadata/generated/schema/auth/jwtAuth.py +1 -1
  138. metadata/generated/schema/auth/loginRequest.py +1 -1
  139. metadata/generated/schema/auth/logoutRequest.py +1 -1
  140. metadata/generated/schema/auth/passwordResetRequest.py +1 -1
  141. metadata/generated/schema/auth/passwordResetToken.py +1 -1
  142. metadata/generated/schema/auth/personalAccessToken.py +1 -1
  143. metadata/generated/schema/auth/refreshToken.py +1 -1
  144. metadata/generated/schema/auth/registrationRequest.py +1 -1
  145. metadata/generated/schema/auth/revokePersonalToken.py +1 -1
  146. metadata/generated/schema/auth/revokeToken.py +1 -1
  147. metadata/generated/schema/auth/serviceTokenEnum.py +1 -1
  148. metadata/generated/schema/auth/ssoAuth.py +1 -1
  149. metadata/generated/schema/auth/supportToken.py +35 -0
  150. metadata/generated/schema/auth/tokenRefreshRequest.py +1 -1
  151. metadata/generated/schema/configuration/__init__.py +1 -1
  152. metadata/generated/schema/configuration/appsPrivateConfiguration.py +1 -1
  153. metadata/generated/schema/configuration/assetCertificationSettings.py +1 -1
  154. metadata/generated/schema/configuration/authConfig.py +1 -1
  155. metadata/generated/schema/configuration/authenticationConfiguration.py +1 -1
  156. metadata/generated/schema/configuration/authorizerConfiguration.py +1 -1
  157. metadata/generated/schema/configuration/changeEventConfiguration.py +1 -1
  158. metadata/generated/schema/configuration/dataQualityConfiguration.py +1 -1
  159. metadata/generated/schema/configuration/elasticSearchConfiguration.py +1 -1
  160. metadata/generated/schema/configuration/eventHandlerConfiguration.py +1 -1
  161. metadata/generated/schema/configuration/fernetConfiguration.py +1 -1
  162. metadata/generated/schema/configuration/jwtTokenConfiguration.py +1 -1
  163. metadata/generated/schema/configuration/kafkaEventConfiguration.py +1 -1
  164. metadata/generated/schema/configuration/ldapConfiguration.py +1 -1
  165. metadata/generated/schema/configuration/ldapTrustStoreConfig/__init__.py +1 -1
  166. metadata/generated/schema/configuration/ldapTrustStoreConfig/customTrustManagerConfig.py +1 -1
  167. metadata/generated/schema/configuration/ldapTrustStoreConfig/hostNameConfig.py +1 -1
  168. metadata/generated/schema/configuration/ldapTrustStoreConfig/jvmDefaultConfig.py +1 -1
  169. metadata/generated/schema/configuration/ldapTrustStoreConfig/trustAllConfig.py +1 -1
  170. metadata/generated/schema/configuration/ldapTrustStoreConfig/truststoreConfig.py +1 -1
  171. metadata/generated/schema/configuration/limitsConfiguration.py +1 -1
  172. metadata/generated/schema/configuration/lineageSettings.py +1 -1
  173. metadata/generated/schema/configuration/loginConfiguration.py +1 -1
  174. metadata/generated/schema/configuration/logoConfiguration.py +1 -1
  175. metadata/generated/schema/configuration/openMetadataBaseUrlConfiguration.py +1 -1
  176. metadata/generated/schema/configuration/opertionalConfiguration.py +1 -1
  177. metadata/generated/schema/configuration/opsConfig.py +1 -1
  178. metadata/generated/schema/configuration/pipelineServiceClientConfiguration.py +1 -1
  179. metadata/generated/schema/configuration/profilerConfiguration.py +1 -1
  180. metadata/generated/schema/configuration/searchSettings.py +1 -1
  181. metadata/generated/schema/configuration/slackAppConfiguration.py +1 -1
  182. metadata/generated/schema/configuration/taskNotificationConfiguration.py +1 -1
  183. metadata/generated/schema/configuration/testResultNotificationConfiguration.py +1 -1
  184. metadata/generated/schema/configuration/themeConfiguration.py +1 -1
  185. metadata/generated/schema/configuration/uiThemePreference.py +1 -1
  186. metadata/generated/schema/configuration/workflowSettings.py +1 -1
  187. metadata/generated/schema/dataInsight/__init__.py +1 -1
  188. metadata/generated/schema/dataInsight/custom/__init__.py +1 -1
  189. metadata/generated/schema/dataInsight/custom/dataInsightCustomChart.py +1 -1
  190. metadata/generated/schema/dataInsight/custom/dataInsightCustomChartResult.py +1 -1
  191. metadata/generated/schema/dataInsight/custom/dataInsightCustomChartResultList.py +1 -1
  192. metadata/generated/schema/dataInsight/custom/formulaHolder.py +1 -1
  193. metadata/generated/schema/dataInsight/custom/lineChart.py +1 -1
  194. metadata/generated/schema/dataInsight/custom/summaryCard.py +1 -1
  195. metadata/generated/schema/dataInsight/dataInsightChart.py +1 -1
  196. metadata/generated/schema/dataInsight/dataInsightChartResult.py +1 -1
  197. metadata/generated/schema/dataInsight/kpi/__init__.py +1 -1
  198. metadata/generated/schema/dataInsight/kpi/basic.py +1 -1
  199. metadata/generated/schema/dataInsight/kpi/kpi.py +1 -1
  200. metadata/generated/schema/dataInsight/type/__init__.py +1 -1
  201. metadata/generated/schema/dataInsight/type/aggregatedUnusedAssetsCount.py +1 -1
  202. metadata/generated/schema/dataInsight/type/aggregatedUnusedAssetsSize.py +1 -1
  203. metadata/generated/schema/dataInsight/type/aggregatedUsedVsUnusedAssetsCount.py +1 -1
  204. metadata/generated/schema/dataInsight/type/aggregatedUsedVsUnusedAssetsSize.py +1 -1
  205. metadata/generated/schema/dataInsight/type/dailyActiveUsers.py +1 -1
  206. metadata/generated/schema/dataInsight/type/mostActiveUsers.py +1 -1
  207. metadata/generated/schema/dataInsight/type/mostViewedEntities.py +1 -1
  208. metadata/generated/schema/dataInsight/type/pageViewsByEntities.py +1 -1
  209. metadata/generated/schema/dataInsight/type/unusedAssets.py +1 -1
  210. metadata/generated/schema/email/__init__.py +1 -1
  211. metadata/generated/schema/email/emailRequest.py +1 -1
  212. metadata/generated/schema/email/emailTemplate.py +1 -1
  213. metadata/generated/schema/email/emailTemplatePlaceholder.py +1 -1
  214. metadata/generated/schema/email/smtpSettings.py +1 -1
  215. metadata/generated/schema/email/templateValidationReponse.py +1 -1
  216. metadata/generated/schema/entity/__init__.py +1 -1
  217. metadata/generated/schema/entity/applications/__init__.py +1 -1
  218. metadata/generated/schema/entity/applications/app.py +3 -2
  219. metadata/generated/schema/entity/applications/appExtension.py +1 -1
  220. metadata/generated/schema/entity/applications/appRunRecord.py +1 -1
  221. metadata/generated/schema/entity/applications/configuration/__init__.py +1 -1
  222. metadata/generated/schema/entity/applications/configuration/applicationConfig.py +1 -1
  223. metadata/generated/schema/entity/applications/configuration/external/__init__.py +1 -1
  224. metadata/generated/schema/entity/applications/configuration/external/automator/__init__.py +1 -1
  225. metadata/generated/schema/entity/applications/configuration/external/automator/addCustomProperties.py +1 -1
  226. metadata/generated/schema/entity/applications/configuration/external/automator/addDataProductAction.py +1 -1
  227. metadata/generated/schema/entity/applications/configuration/external/automator/addDescriptionAction.py +1 -1
  228. metadata/generated/schema/entity/applications/configuration/external/automator/addDomainAction.py +1 -1
  229. metadata/generated/schema/entity/applications/configuration/external/automator/addOwnerAction.py +1 -1
  230. metadata/generated/schema/entity/applications/configuration/external/automator/addTagsAction.py +1 -1
  231. metadata/generated/schema/entity/applications/configuration/external/automator/addTestCaseAction.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 +1 -1
  234. metadata/generated/schema/entity/applications/configuration/external/automator/mlTaggingAction.py +1 -1
  235. metadata/generated/schema/entity/applications/configuration/external/automator/removeCustomPropertiesAction.py +1 -1
  236. metadata/generated/schema/entity/applications/configuration/external/automator/removeDataProductAction.py +1 -1
  237. metadata/generated/schema/entity/applications/configuration/external/automator/removeDescriptionAction.py +1 -1
  238. metadata/generated/schema/entity/applications/configuration/external/automator/removeDomainAction.py +1 -1
  239. metadata/generated/schema/entity/applications/configuration/external/automator/removeOwnerAction.py +1 -1
  240. metadata/generated/schema/entity/applications/configuration/external/automator/removeTagsAction.py +1 -1
  241. metadata/generated/schema/entity/applications/configuration/external/automator/removeTestCaseAction.py +1 -1
  242. metadata/generated/schema/entity/applications/configuration/external/automator/removeTierAction.py +1 -1
  243. metadata/generated/schema/entity/applications/configuration/external/automatorAppConfig.py +1 -1
  244. metadata/generated/schema/entity/applications/configuration/external/collateAIAppConfig.py +1 -1
  245. metadata/generated/schema/entity/applications/configuration/external/slackAppTokenConfiguration.py +1 -1
  246. metadata/generated/schema/entity/applications/configuration/internal/__init__.py +1 -1
  247. metadata/generated/schema/entity/applications/configuration/internal/autoPilotAppConfig.py +1 -1
  248. metadata/generated/schema/entity/applications/configuration/internal/collateAIQualityAgentAppConfig.py +1 -1
  249. metadata/generated/schema/entity/applications/configuration/internal/collateAITierAgentAppConfig.py +1 -1
  250. metadata/generated/schema/entity/applications/configuration/internal/dataInsightsAppConfig.py +1 -1
  251. metadata/generated/schema/entity/applications/configuration/internal/dataInsightsReportAppConfig.py +1 -1
  252. metadata/generated/schema/entity/applications/configuration/internal/dataRetentionConfiguration.py +9 -1
  253. metadata/generated/schema/entity/applications/configuration/internal/helloPipelinesConfiguration.py +1 -1
  254. metadata/generated/schema/entity/applications/configuration/internal/searchIndexingAppConfig.py +9 -1
  255. metadata/generated/schema/entity/applications/configuration/private/__init__.py +1 -1
  256. metadata/generated/schema/entity/applications/configuration/private/external/__init__.py +1 -1
  257. metadata/generated/schema/entity/applications/configuration/private/external/collateAIAppPrivateConfig.py +1 -1
  258. metadata/generated/schema/entity/applications/configuration/private/internal/__init__.py +1 -1
  259. metadata/generated/schema/entity/applications/configuration/private/internal/collateAITierAgentAppPrivateConfig.py +1 -1
  260. metadata/generated/schema/entity/applications/configuration/private/limits.py +1 -1
  261. metadata/generated/schema/entity/applications/createAppRequest.py +1 -1
  262. metadata/generated/schema/entity/applications/jobStatus.py +1 -1
  263. metadata/generated/schema/entity/applications/liveExecutionContext.py +1 -1
  264. metadata/generated/schema/entity/applications/marketplace/__init__.py +1 -1
  265. metadata/generated/schema/entity/applications/marketplace/appMarketPlaceDefinition.py +1 -1
  266. metadata/generated/schema/entity/applications/marketplace/createAppMarketPlaceDefinitionReq.py +1 -1
  267. metadata/generated/schema/entity/applications/scheduledExecutionContext.py +1 -1
  268. metadata/generated/schema/entity/automations/__init__.py +1 -1
  269. metadata/generated/schema/entity/automations/testServiceConnection.py +1 -1
  270. metadata/generated/schema/entity/automations/workflow.py +1 -1
  271. metadata/generated/schema/entity/bot.py +1 -1
  272. metadata/generated/schema/entity/classification/__init__.py +1 -1
  273. metadata/generated/schema/entity/classification/classification.py +7 -4
  274. metadata/generated/schema/entity/classification/tag.py +6 -3
  275. metadata/generated/schema/entity/data/__init__.py +1 -1
  276. metadata/generated/schema/entity/data/apiCollection.py +1 -1
  277. metadata/generated/schema/entity/data/apiEndpoint.py +1 -1
  278. metadata/generated/schema/entity/data/chart.py +1 -1
  279. metadata/generated/schema/entity/data/container.py +1 -1
  280. metadata/generated/schema/entity/data/dashboard.py +1 -1
  281. metadata/generated/schema/entity/data/dashboardDataModel.py +1 -1
  282. metadata/generated/schema/entity/data/dataContract.py +180 -0
  283. metadata/generated/schema/entity/data/database.py +1 -1
  284. metadata/generated/schema/entity/data/databaseSchema.py +1 -1
  285. metadata/generated/schema/entity/data/glossary.py +1 -1
  286. metadata/generated/schema/entity/data/glossaryTerm.py +1 -1
  287. metadata/generated/schema/entity/data/metric.py +1 -1
  288. metadata/generated/schema/entity/data/mlmodel.py +1 -1
  289. metadata/generated/schema/entity/data/pipeline.py +1 -1
  290. metadata/generated/schema/entity/data/query.py +1 -1
  291. metadata/generated/schema/entity/data/queryCostRecord.py +1 -1
  292. metadata/generated/schema/entity/data/queryCostSearchResult.py +1 -1
  293. metadata/generated/schema/entity/data/report.py +1 -1
  294. metadata/generated/schema/entity/data/searchIndex.py +1 -1
  295. metadata/generated/schema/entity/data/storedProcedure.py +1 -1
  296. metadata/generated/schema/entity/data/table.py +5 -1
  297. metadata/generated/schema/entity/data/topic.py +1 -1
  298. metadata/generated/schema/entity/docStore/__init__.py +1 -1
  299. metadata/generated/schema/entity/docStore/document.py +1 -1
  300. metadata/generated/schema/entity/domains/__init__.py +1 -1
  301. metadata/generated/schema/entity/domains/dataProduct.py +5 -1
  302. metadata/generated/schema/entity/domains/domain.py +5 -1
  303. metadata/generated/schema/entity/events/__init__.py +1 -1
  304. metadata/generated/schema/entity/events/webhook.py +7 -1
  305. metadata/generated/schema/entity/feed/__init__.py +1 -1
  306. metadata/generated/schema/entity/feed/assets.py +1 -1
  307. metadata/generated/schema/entity/feed/customProperty.py +1 -1
  308. metadata/generated/schema/entity/feed/description.py +1 -1
  309. metadata/generated/schema/entity/feed/domain.py +1 -1
  310. metadata/generated/schema/entity/feed/entityInfo.py +1 -1
  311. metadata/generated/schema/entity/feed/owner.py +1 -1
  312. metadata/generated/schema/entity/feed/suggestion.py +1 -1
  313. metadata/generated/schema/entity/feed/tag.py +1 -1
  314. metadata/generated/schema/entity/feed/testCaseResult.py +1 -1
  315. metadata/generated/schema/entity/feed/thread.py +1 -1
  316. metadata/generated/schema/entity/policies/__init__.py +1 -1
  317. metadata/generated/schema/entity/policies/accessControl/__init__.py +1 -1
  318. metadata/generated/schema/entity/policies/accessControl/resourceDescriptor.py +6 -1
  319. metadata/generated/schema/entity/policies/accessControl/resourcePermission.py +1 -1
  320. metadata/generated/schema/entity/policies/accessControl/rule.py +1 -1
  321. metadata/generated/schema/entity/policies/filters.py +1 -1
  322. metadata/generated/schema/entity/policies/policy.py +1 -1
  323. metadata/generated/schema/entity/services/__init__.py +1 -1
  324. metadata/generated/schema/entity/services/apiService.py +1 -1
  325. metadata/generated/schema/entity/services/connections/__init__.py +1 -1
  326. metadata/generated/schema/entity/services/connections/api/__init__.py +1 -1
  327. metadata/generated/schema/entity/services/connections/api/restConnection.py +1 -1
  328. metadata/generated/schema/entity/services/connections/common/__init__.py +1 -1
  329. metadata/generated/schema/entity/services/connections/common/sslCertPaths.py +1 -1
  330. metadata/generated/schema/entity/services/connections/common/sslCertValues.py +1 -1
  331. metadata/generated/schema/entity/services/connections/common/sslConfig.py +1 -1
  332. metadata/generated/schema/entity/services/connections/connectionBasicType.py +1 -1
  333. metadata/generated/schema/entity/services/connections/dashboard/__init__.py +1 -1
  334. metadata/generated/schema/entity/services/connections/dashboard/customDashboardConnection.py +1 -1
  335. metadata/generated/schema/entity/services/connections/dashboard/domoDashboardConnection.py +1 -1
  336. metadata/generated/schema/entity/services/connections/dashboard/lightdashConnection.py +1 -1
  337. metadata/generated/schema/entity/services/connections/dashboard/lookerConnection.py +1 -1
  338. metadata/generated/schema/entity/services/connections/dashboard/metabaseConnection.py +1 -1
  339. metadata/generated/schema/entity/services/connections/dashboard/microStrategyConnection.py +1 -1
  340. metadata/generated/schema/entity/services/connections/dashboard/modeConnection.py +1 -1
  341. metadata/generated/schema/entity/services/connections/dashboard/powerBIConnection.py +1 -1
  342. metadata/generated/schema/entity/services/connections/dashboard/powerBIReportServerConnection.py +1 -1
  343. metadata/generated/schema/entity/services/connections/dashboard/powerbi/__init__.py +1 -1
  344. metadata/generated/schema/entity/services/connections/dashboard/powerbi/azureConfig.py +1 -1
  345. metadata/generated/schema/entity/services/connections/dashboard/powerbi/bucketDetails.py +1 -1
  346. metadata/generated/schema/entity/services/connections/dashboard/powerbi/gcsConfig.py +1 -1
  347. metadata/generated/schema/entity/services/connections/dashboard/powerbi/s3Config.py +1 -1
  348. metadata/generated/schema/entity/services/connections/dashboard/qlikCloudConnection.py +1 -1
  349. metadata/generated/schema/entity/services/connections/dashboard/qlikSenseConnection.py +1 -1
  350. metadata/generated/schema/entity/services/connections/dashboard/quickSightConnection.py +1 -1
  351. metadata/generated/schema/entity/services/connections/dashboard/redashConnection.py +1 -1
  352. metadata/generated/schema/entity/services/connections/dashboard/sigmaConnection.py +1 -1
  353. metadata/generated/schema/entity/services/connections/dashboard/supersetConnection.py +1 -1
  354. metadata/generated/schema/entity/services/connections/dashboard/tableauConnection.py +1 -1
  355. metadata/generated/schema/entity/services/connections/database/__init__.py +1 -1
  356. metadata/generated/schema/entity/services/connections/database/athenaConnection.py +1 -1
  357. metadata/generated/schema/entity/services/connections/database/azureSQLConnection.py +1 -1
  358. metadata/generated/schema/entity/services/connections/database/bigQueryConnection.py +5 -1
  359. metadata/generated/schema/entity/services/connections/database/bigTableConnection.py +1 -1
  360. metadata/generated/schema/entity/services/connections/database/cassandra/__init__.py +1 -1
  361. metadata/generated/schema/entity/services/connections/database/cassandra/cloudConfig.py +1 -1
  362. metadata/generated/schema/entity/services/connections/database/cassandraConnection.py +1 -1
  363. metadata/generated/schema/entity/services/connections/database/clickhouseConnection.py +1 -1
  364. metadata/generated/schema/entity/services/connections/database/cockroachConnection.py +1 -1
  365. metadata/generated/schema/entity/services/connections/database/common/__init__.py +1 -1
  366. metadata/generated/schema/entity/services/connections/database/common/azureConfig.py +1 -1
  367. metadata/generated/schema/entity/services/connections/database/common/basicAuth.py +1 -1
  368. metadata/generated/schema/entity/services/connections/database/common/iamAuthConfig.py +1 -1
  369. metadata/generated/schema/entity/services/connections/database/common/jwtAuth.py +1 -1
  370. metadata/generated/schema/entity/services/connections/database/common/noConfigAuthenticationTypes.py +1 -1
  371. metadata/generated/schema/entity/services/connections/database/couchbaseConnection.py +1 -1
  372. metadata/generated/schema/entity/services/connections/database/customDatabaseConnection.py +1 -1
  373. metadata/generated/schema/entity/services/connections/database/databricksConnection.py +1 -1
  374. metadata/generated/schema/entity/services/connections/database/datalake/__init__.py +1 -1
  375. metadata/generated/schema/entity/services/connections/database/datalake/azureConfig.py +1 -1
  376. metadata/generated/schema/entity/services/connections/database/datalake/gcsConfig.py +1 -1
  377. metadata/generated/schema/entity/services/connections/database/datalake/s3Config.py +1 -1
  378. metadata/generated/schema/entity/services/connections/database/datalakeConnection.py +1 -1
  379. metadata/generated/schema/entity/services/connections/database/db2Connection.py +1 -1
  380. metadata/generated/schema/entity/services/connections/database/deltaLakeConnection.py +1 -1
  381. metadata/generated/schema/entity/services/connections/database/deltalake/__init__.py +1 -1
  382. metadata/generated/schema/entity/services/connections/database/deltalake/metastoreConfig.py +1 -1
  383. metadata/generated/schema/entity/services/connections/database/deltalake/storageConfig.py +1 -1
  384. metadata/generated/schema/entity/services/connections/database/domoDatabaseConnection.py +1 -1
  385. metadata/generated/schema/entity/services/connections/database/dorisConnection.py +1 -1
  386. metadata/generated/schema/entity/services/connections/database/druidConnection.py +1 -1
  387. metadata/generated/schema/entity/services/connections/database/dynamoDBConnection.py +1 -1
  388. metadata/generated/schema/entity/services/connections/database/exasolConnection.py +1 -1
  389. metadata/generated/schema/entity/services/connections/database/glueConnection.py +1 -1
  390. metadata/generated/schema/entity/services/connections/database/greenplumConnection.py +1 -1
  391. metadata/generated/schema/entity/services/connections/database/hiveConnection.py +1 -1
  392. metadata/generated/schema/entity/services/connections/database/iceberg/__init__.py +1 -1
  393. metadata/generated/schema/entity/services/connections/database/iceberg/dynamoDbCatalogConnection.py +1 -1
  394. metadata/generated/schema/entity/services/connections/database/iceberg/glueCatalogConnection.py +1 -1
  395. metadata/generated/schema/entity/services/connections/database/iceberg/hiveCatalogConnection.py +1 -1
  396. metadata/generated/schema/entity/services/connections/database/iceberg/icebergCatalog.py +1 -1
  397. metadata/generated/schema/entity/services/connections/database/iceberg/icebergFileSystem.py +1 -1
  398. metadata/generated/schema/entity/services/connections/database/iceberg/restCatalogConnection.py +1 -1
  399. metadata/generated/schema/entity/services/connections/database/icebergConnection.py +1 -1
  400. metadata/generated/schema/entity/services/connections/database/impalaConnection.py +1 -1
  401. metadata/generated/schema/entity/services/connections/database/mariaDBConnection.py +1 -1
  402. metadata/generated/schema/entity/services/connections/database/mongoDBConnection.py +1 -1
  403. metadata/generated/schema/entity/services/connections/database/mssqlConnection.py +1 -1
  404. metadata/generated/schema/entity/services/connections/database/mysqlConnection.py +1 -1
  405. metadata/generated/schema/entity/services/connections/database/oracleConnection.py +1 -1
  406. metadata/generated/schema/entity/services/connections/database/pinotDBConnection.py +1 -1
  407. metadata/generated/schema/entity/services/connections/database/postgresConnection.py +1 -1
  408. metadata/generated/schema/entity/services/connections/database/prestoConnection.py +1 -1
  409. metadata/generated/schema/entity/services/connections/database/redshiftConnection.py +1 -1
  410. metadata/generated/schema/entity/services/connections/database/salesforceConnection.py +1 -1
  411. metadata/generated/schema/entity/services/connections/database/sapErpConnection.py +1 -1
  412. metadata/generated/schema/entity/services/connections/database/sapHana/__init__.py +1 -1
  413. metadata/generated/schema/entity/services/connections/database/sapHana/sapHanaHDBConnection.py +1 -1
  414. metadata/generated/schema/entity/services/connections/database/sapHana/sapHanaSQLConnection.py +1 -1
  415. metadata/generated/schema/entity/services/connections/database/sapHanaConnection.py +1 -1
  416. metadata/generated/schema/entity/services/connections/database/sasConnection.py +1 -1
  417. metadata/generated/schema/entity/services/connections/database/singleStoreConnection.py +1 -1
  418. metadata/generated/schema/entity/services/connections/database/snowflakeConnection.py +1 -1
  419. metadata/generated/schema/entity/services/connections/database/sqliteConnection.py +1 -1
  420. metadata/generated/schema/entity/services/connections/database/synapseConnection.py +1 -1
  421. metadata/generated/schema/entity/services/connections/database/teradataConnection.py +1 -1
  422. metadata/generated/schema/entity/services/connections/database/trinoConnection.py +1 -1
  423. metadata/generated/schema/entity/services/connections/database/unityCatalogConnection.py +1 -1
  424. metadata/generated/schema/entity/services/connections/database/verticaConnection.py +1 -1
  425. metadata/generated/schema/entity/services/connections/messaging/__init__.py +1 -1
  426. metadata/generated/schema/entity/services/connections/messaging/customMessagingConnection.py +1 -1
  427. metadata/generated/schema/entity/services/connections/messaging/kafkaConnection.py +1 -1
  428. metadata/generated/schema/entity/services/connections/messaging/kinesisConnection.py +1 -1
  429. metadata/generated/schema/entity/services/connections/messaging/pulsarConnection.py +1 -1
  430. metadata/generated/schema/entity/services/connections/messaging/redpandaConnection.py +9 -1
  431. metadata/generated/schema/entity/services/connections/messaging/saslMechanismType.py +1 -1
  432. metadata/generated/schema/entity/services/connections/metadata/__init__.py +1 -1
  433. metadata/generated/schema/entity/services/connections/metadata/alationConnection.py +1 -1
  434. metadata/generated/schema/entity/services/connections/metadata/alationSinkConnection.py +1 -1
  435. metadata/generated/schema/entity/services/connections/metadata/amundsenConnection.py +1 -1
  436. metadata/generated/schema/entity/services/connections/metadata/atlasConnection.py +1 -1
  437. metadata/generated/schema/entity/services/connections/metadata/metadataESConnection.py +1 -1
  438. metadata/generated/schema/entity/services/connections/metadata/openMetadataConnection.py +1 -1
  439. metadata/generated/schema/entity/services/connections/mlmodel/__init__.py +1 -1
  440. metadata/generated/schema/entity/services/connections/mlmodel/customMlModelConnection.py +1 -1
  441. metadata/generated/schema/entity/services/connections/mlmodel/mlflowConnection.py +1 -1
  442. metadata/generated/schema/entity/services/connections/mlmodel/sageMakerConnection.py +1 -1
  443. metadata/generated/schema/entity/services/connections/mlmodel/sklearnConnection.py +1 -1
  444. metadata/generated/schema/entity/services/connections/mlmodel/vertexaiConnection.py +1 -1
  445. metadata/generated/schema/entity/services/connections/pipeline/__init__.py +1 -1
  446. metadata/generated/schema/entity/services/connections/pipeline/airbyteConnection.py +1 -1
  447. metadata/generated/schema/entity/services/connections/pipeline/airflowConnection.py +1 -1
  448. metadata/generated/schema/entity/services/connections/pipeline/backendConnection.py +1 -1
  449. metadata/generated/schema/entity/services/connections/pipeline/customPipelineConnection.py +1 -1
  450. metadata/generated/schema/entity/services/connections/pipeline/dagsterConnection.py +1 -1
  451. metadata/generated/schema/entity/services/connections/pipeline/databricksPipelineConnection.py +1 -1
  452. metadata/generated/schema/entity/services/connections/pipeline/datafactoryConnection.py +1 -1
  453. metadata/generated/schema/entity/services/connections/pipeline/dbtCloudConnection.py +1 -1
  454. metadata/generated/schema/entity/services/connections/pipeline/domoPipelineConnection.py +1 -1
  455. metadata/generated/schema/entity/services/connections/pipeline/fivetranConnection.py +1 -1
  456. metadata/generated/schema/entity/services/connections/pipeline/flinkConnection.py +1 -1
  457. metadata/generated/schema/entity/services/connections/pipeline/gluePipelineConnection.py +1 -1
  458. metadata/generated/schema/entity/services/connections/pipeline/kafkaConnectConnection.py +1 -1
  459. metadata/generated/schema/entity/services/connections/pipeline/matillion/__init__.py +1 -1
  460. metadata/generated/schema/entity/services/connections/pipeline/matillion/matillionETL.py +1 -1
  461. metadata/generated/schema/entity/services/connections/pipeline/matillionConnection.py +1 -1
  462. metadata/generated/schema/entity/services/connections/pipeline/nifi/__init__.py +1 -1
  463. metadata/generated/schema/entity/services/connections/pipeline/nifi/basicAuth.py +1 -1
  464. metadata/generated/schema/entity/services/connections/pipeline/nifi/clientCertificateAuth.py +1 -1
  465. metadata/generated/schema/entity/services/connections/pipeline/nifiConnection.py +1 -1
  466. metadata/generated/schema/entity/services/connections/pipeline/openLineageConnection.py +1 -1
  467. metadata/generated/schema/entity/services/connections/pipeline/sparkConnection.py +1 -1
  468. metadata/generated/schema/entity/services/connections/pipeline/splineConnection.py +1 -1
  469. metadata/generated/schema/entity/services/connections/pipeline/ssisConnection.py +1 -1
  470. metadata/generated/schema/entity/services/connections/pipeline/stitchConnection.py +1 -1
  471. metadata/generated/schema/entity/services/connections/pipeline/wherescapeConnection.py +1 -1
  472. metadata/generated/schema/entity/services/connections/search/__init__.py +1 -1
  473. metadata/generated/schema/entity/services/connections/search/customSearchConnection.py +1 -1
  474. metadata/generated/schema/entity/services/connections/search/elasticSearch/__init__.py +1 -1
  475. metadata/generated/schema/entity/services/connections/search/elasticSearch/apiAuth.py +1 -1
  476. metadata/generated/schema/entity/services/connections/search/elasticSearch/basicAuth.py +1 -1
  477. metadata/generated/schema/entity/services/connections/search/elasticSearchConnection.py +1 -1
  478. metadata/generated/schema/entity/services/connections/search/openSearchConnection.py +1 -1
  479. metadata/generated/schema/entity/services/connections/serviceConnection.py +1 -1
  480. metadata/generated/schema/entity/services/connections/storage/__init__.py +1 -1
  481. metadata/generated/schema/entity/services/connections/storage/adlsConnection.py +1 -1
  482. metadata/generated/schema/entity/services/connections/storage/customStorageConnection.py +1 -1
  483. metadata/generated/schema/entity/services/connections/storage/gcsConnection.py +1 -1
  484. metadata/generated/schema/entity/services/connections/storage/s3Connection.py +1 -1
  485. metadata/generated/schema/entity/services/connections/testConnectionDefinition.py +1 -1
  486. metadata/generated/schema/entity/services/connections/testConnectionResult.py +1 -1
  487. metadata/generated/schema/entity/services/dashboardService.py +1 -1
  488. metadata/generated/schema/entity/services/databaseService.py +1 -1
  489. metadata/generated/schema/entity/services/ingestionPipelines/__init__.py +1 -1
  490. metadata/generated/schema/entity/services/ingestionPipelines/ingestionPipeline.py +1 -1
  491. metadata/generated/schema/entity/services/ingestionPipelines/pipelineServiceClientResponse.py +1 -1
  492. metadata/generated/schema/entity/services/ingestionPipelines/reverseIngestionResponse.py +1 -1
  493. metadata/generated/schema/entity/services/ingestionPipelines/status.py +1 -1
  494. metadata/generated/schema/entity/services/messagingService.py +1 -1
  495. metadata/generated/schema/entity/services/metadataService.py +1 -1
  496. metadata/generated/schema/entity/services/mlmodelService.py +1 -1
  497. metadata/generated/schema/entity/services/pipelineService.py +1 -1
  498. metadata/generated/schema/entity/services/searchService.py +1 -1
  499. metadata/generated/schema/entity/services/serviceType.py +1 -1
  500. metadata/generated/schema/entity/services/storageService.py +1 -1
  501. metadata/generated/schema/entity/teams/__init__.py +1 -1
  502. metadata/generated/schema/entity/teams/persona.py +1 -1
  503. metadata/generated/schema/entity/teams/role.py +1 -1
  504. metadata/generated/schema/entity/teams/team.py +8 -1
  505. metadata/generated/schema/entity/teams/teamHierarchy.py +1 -1
  506. metadata/generated/schema/entity/teams/user.py +11 -1
  507. metadata/generated/schema/entity/type.py +1 -1
  508. metadata/generated/schema/entity/utils/__init__.py +1 -1
  509. metadata/generated/schema/entity/utils/entitiesCount.py +1 -1
  510. metadata/generated/schema/entity/utils/servicesCount.py +1 -1
  511. metadata/generated/schema/entity/utils/supersetApiConnection.py +1 -1
  512. metadata/generated/schema/events/__init__.py +1 -1
  513. metadata/generated/schema/events/alertMetrics.py +1 -1
  514. metadata/generated/schema/events/api/__init__.py +1 -1
  515. metadata/generated/schema/events/api/createEventSubscription.py +1 -1
  516. metadata/generated/schema/events/api/eventSubscriptionDiagnosticInfo.py +1 -1
  517. metadata/generated/schema/events/api/eventsRecord.py +1 -1
  518. metadata/generated/schema/events/api/testEventSubscriptionDestination.py +1 -1
  519. metadata/generated/schema/events/api/typedEvent.py +1 -1
  520. metadata/generated/schema/events/emailAlertConfig.py +1 -1
  521. metadata/generated/schema/events/eventFilterRule.py +1 -1
  522. metadata/generated/schema/events/eventSubscription.py +1 -1
  523. metadata/generated/schema/events/eventSubscriptionOffset.py +1 -1
  524. metadata/generated/schema/events/failedEvent.py +1 -1
  525. metadata/generated/schema/events/failedEventResponse.py +1 -1
  526. metadata/generated/schema/events/filterResourceDescriptor.py +1 -1
  527. metadata/generated/schema/events/statusContext.py +1 -1
  528. metadata/generated/schema/events/subscriptionResourceDescriptor.py +1 -1
  529. metadata/generated/schema/events/subscriptionStatus.py +1 -1
  530. metadata/generated/schema/events/testDestinationStatus.py +1 -1
  531. metadata/generated/schema/governance/workflows/__init__.py +1 -1
  532. metadata/generated/schema/governance/workflows/elements/__init__.py +1 -1
  533. metadata/generated/schema/governance/workflows/elements/edge.py +1 -1
  534. metadata/generated/schema/governance/workflows/elements/nodeSubType.py +1 -1
  535. metadata/generated/schema/governance/workflows/elements/nodeType.py +1 -1
  536. metadata/generated/schema/governance/workflows/elements/nodes/__init__.py +1 -1
  537. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/__init__.py +1 -1
  538. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/checkEntityAttributesTask.py +1 -1
  539. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/createAndRunIngestionPipelineTask.py +1 -1
  540. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/runAppTask.py +1 -1
  541. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/setEntityCertificationTask.py +1 -1
  542. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/setGlossaryTermStatusTask.py +1 -1
  543. metadata/generated/schema/governance/workflows/elements/nodes/endEvent/__init__.py +1 -1
  544. metadata/generated/schema/governance/workflows/elements/nodes/endEvent/endEvent.py +1 -1
  545. metadata/generated/schema/governance/workflows/elements/nodes/gateway/__init__.py +1 -1
  546. metadata/generated/schema/governance/workflows/elements/nodes/gateway/parallelGateway.py +1 -1
  547. metadata/generated/schema/governance/workflows/elements/nodes/startEvent/__init__.py +1 -1
  548. metadata/generated/schema/governance/workflows/elements/nodes/startEvent/startEvent.py +1 -1
  549. metadata/generated/schema/governance/workflows/elements/nodes/userTask/__init__.py +1 -1
  550. metadata/generated/schema/governance/workflows/elements/nodes/userTask/userApprovalTask.py +1 -1
  551. metadata/generated/schema/governance/workflows/elements/triggers/__init__.py +1 -1
  552. metadata/generated/schema/governance/workflows/elements/triggers/eventBasedEntityTrigger.py +1 -1
  553. metadata/generated/schema/governance/workflows/elements/triggers/noOpTrigger.py +1 -1
  554. metadata/generated/schema/governance/workflows/elements/triggers/periodicBatchEntityTrigger.py +1 -1
  555. metadata/generated/schema/governance/workflows/workflowDefinition.py +1 -1
  556. metadata/generated/schema/governance/workflows/workflowInstance.py +1 -1
  557. metadata/generated/schema/governance/workflows/workflowInstanceState.py +1 -1
  558. metadata/generated/schema/jobs/__init__.py +1 -1
  559. metadata/generated/schema/jobs/backgroundJob.py +12 -3
  560. metadata/generated/schema/jobs/enumCleanupArgs.py +1 -1
  561. metadata/generated/schema/metadataIngestion/__init__.py +1 -1
  562. metadata/generated/schema/metadataIngestion/apiServiceMetadataPipeline.py +1 -1
  563. metadata/generated/schema/metadataIngestion/application.py +1 -1
  564. metadata/generated/schema/metadataIngestion/applicationPipeline.py +1 -1
  565. metadata/generated/schema/metadataIngestion/dashboardServiceMetadataPipeline.py +1 -1
  566. metadata/generated/schema/metadataIngestion/dataInsightPipeline.py +1 -1
  567. metadata/generated/schema/metadataIngestion/databaseServiceAutoClassificationPipeline.py +1 -1
  568. metadata/generated/schema/metadataIngestion/databaseServiceMetadataPipeline.py +1 -1
  569. metadata/generated/schema/metadataIngestion/databaseServiceProfilerPipeline.py +1 -1
  570. metadata/generated/schema/metadataIngestion/databaseServiceQueryLineagePipeline.py +1 -1
  571. metadata/generated/schema/metadataIngestion/databaseServiceQueryUsagePipeline.py +1 -1
  572. metadata/generated/schema/metadataIngestion/dbtPipeline.py +1 -1
  573. metadata/generated/schema/metadataIngestion/dbtconfig/__init__.py +1 -1
  574. metadata/generated/schema/metadataIngestion/dbtconfig/dbtAzureConfig.py +1 -1
  575. metadata/generated/schema/metadataIngestion/dbtconfig/dbtBucketDetails.py +1 -1
  576. metadata/generated/schema/metadataIngestion/dbtconfig/dbtCloudConfig.py +1 -1
  577. metadata/generated/schema/metadataIngestion/dbtconfig/dbtGCSConfig.py +1 -1
  578. metadata/generated/schema/metadataIngestion/dbtconfig/dbtHttpConfig.py +1 -1
  579. metadata/generated/schema/metadataIngestion/dbtconfig/dbtLocalConfig.py +1 -1
  580. metadata/generated/schema/metadataIngestion/dbtconfig/dbtS3Config.py +1 -1
  581. metadata/generated/schema/metadataIngestion/messagingServiceMetadataPipeline.py +1 -1
  582. metadata/generated/schema/metadataIngestion/metadataToElasticSearchPipeline.py +1 -1
  583. metadata/generated/schema/metadataIngestion/mlmodelServiceMetadataPipeline.py +1 -1
  584. metadata/generated/schema/metadataIngestion/pipelineServiceMetadataPipeline.py +1 -1
  585. metadata/generated/schema/metadataIngestion/reverseIngestionPipeline.py +1 -1
  586. metadata/generated/schema/metadataIngestion/reverseingestionconfig/__init__.py +1 -1
  587. metadata/generated/schema/metadataIngestion/reverseingestionconfig/descriptionConfig.py +1 -1
  588. metadata/generated/schema/metadataIngestion/reverseingestionconfig/ownerConfig.py +1 -1
  589. metadata/generated/schema/metadataIngestion/reverseingestionconfig/tagsConfig.py +1 -1
  590. metadata/generated/schema/metadataIngestion/searchServiceMetadataPipeline.py +1 -1
  591. metadata/generated/schema/metadataIngestion/storage/__init__.py +1 -1
  592. metadata/generated/schema/metadataIngestion/storage/containerMetadataConfig.py +1 -1
  593. metadata/generated/schema/metadataIngestion/storage/manifestMetadataConfig.py +1 -1
  594. metadata/generated/schema/metadataIngestion/storage/storageBucketDetails.py +1 -1
  595. metadata/generated/schema/metadataIngestion/storage/storageMetadataADLSConfig.py +1 -1
  596. metadata/generated/schema/metadataIngestion/storage/storageMetadataGCSConfig.py +1 -1
  597. metadata/generated/schema/metadataIngestion/storage/storageMetadataHttpConfig.py +1 -1
  598. metadata/generated/schema/metadataIngestion/storage/storageMetadataLocalConfig.py +1 -1
  599. metadata/generated/schema/metadataIngestion/storage/storageMetadataS3Config.py +1 -1
  600. metadata/generated/schema/metadataIngestion/storageServiceMetadataPipeline.py +1 -1
  601. metadata/generated/schema/metadataIngestion/testSuitePipeline.py +1 -1
  602. metadata/generated/schema/metadataIngestion/workflow.py +1 -1
  603. metadata/generated/schema/monitoring/__init__.py +1 -1
  604. metadata/generated/schema/monitoring/eventMonitorProvider.py +1 -1
  605. metadata/generated/schema/scim/__init__.py +3 -0
  606. metadata/generated/schema/scim/scimConfiguration.py +32 -0
  607. metadata/generated/schema/search/__init__.py +1 -1
  608. metadata/generated/schema/search/aggregationRequest.py +1 -1
  609. metadata/generated/schema/search/searchRequest.py +8 -1
  610. metadata/generated/schema/security/__init__.py +1 -1
  611. metadata/generated/schema/security/client/__init__.py +1 -1
  612. metadata/generated/schema/security/client/auth0SSOClientConfig.py +1 -1
  613. metadata/generated/schema/security/client/azureSSOClientConfig.py +1 -1
  614. metadata/generated/schema/security/client/customOidcSSOClientConfig.py +1 -1
  615. metadata/generated/schema/security/client/googleSSOClientConfig.py +1 -1
  616. metadata/generated/schema/security/client/oidcClientConfig.py +1 -1
  617. metadata/generated/schema/security/client/oktaSSOClientConfig.py +1 -1
  618. metadata/generated/schema/security/client/openMetadataJWTClientConfig.py +1 -1
  619. metadata/generated/schema/security/client/samlSSOClientConfig.py +1 -1
  620. metadata/generated/schema/security/credentials/__init__.py +1 -1
  621. metadata/generated/schema/security/credentials/accessTokenAuth.py +1 -1
  622. metadata/generated/schema/security/credentials/apiAccessTokenAuth.py +1 -1
  623. metadata/generated/schema/security/credentials/awsCredentials.py +1 -1
  624. metadata/generated/schema/security/credentials/azureCredentials.py +1 -1
  625. metadata/generated/schema/security/credentials/basicAuth.py +1 -1
  626. metadata/generated/schema/security/credentials/bitbucketCredentials.py +1 -1
  627. metadata/generated/schema/security/credentials/gcpCredentials.py +1 -1
  628. metadata/generated/schema/security/credentials/gcpExternalAccount.py +1 -1
  629. metadata/generated/schema/security/credentials/gcpValues.py +1 -1
  630. metadata/generated/schema/security/credentials/gitCredentials.py +1 -1
  631. metadata/generated/schema/security/credentials/githubCredentials.py +1 -1
  632. metadata/generated/schema/security/credentials/gitlabCredentials.py +1 -1
  633. metadata/generated/schema/security/sasl/__init__.py +1 -1
  634. metadata/generated/schema/security/sasl/saslClientConfig.py +1 -1
  635. metadata/generated/schema/security/secrets/__init__.py +1 -1
  636. metadata/generated/schema/security/secrets/secretsManagerClientLoader.py +1 -1
  637. metadata/generated/schema/security/secrets/secretsManagerConfiguration.py +1 -1
  638. metadata/generated/schema/security/secrets/secretsManagerProvider.py +1 -1
  639. metadata/generated/schema/security/securityConfiguration.py +1 -1
  640. metadata/generated/schema/security/ssl/__init__.py +1 -1
  641. metadata/generated/schema/security/ssl/validateSSLClientConfig.py +1 -1
  642. metadata/generated/schema/security/ssl/verifySSLConfig.py +1 -1
  643. metadata/generated/schema/settings/__init__.py +1 -1
  644. metadata/generated/schema/settings/settings.py +2 -1
  645. metadata/generated/schema/system/__init__.py +1 -1
  646. metadata/generated/schema/system/entityError.py +1 -1
  647. metadata/generated/schema/system/eventPublisherJob.py +8 -1
  648. metadata/generated/schema/system/indexingError.py +1 -1
  649. metadata/generated/schema/system/limitsResponse.py +1 -1
  650. metadata/generated/schema/system/ui/__init__.py +1 -1
  651. metadata/generated/schema/system/ui/knowledgePanel.py +1 -1
  652. metadata/generated/schema/system/ui/navigationItem.py +1 -1
  653. metadata/generated/schema/system/ui/page.py +1 -1
  654. metadata/generated/schema/system/ui/tab.py +1 -1
  655. metadata/generated/schema/system/ui/uiCustomization.py +1 -1
  656. metadata/generated/schema/system/validationResponse.py +1 -1
  657. metadata/generated/schema/tests/__init__.py +1 -1
  658. metadata/generated/schema/tests/assigned.py +1 -1
  659. metadata/generated/schema/tests/basic.py +1 -1
  660. metadata/generated/schema/tests/customMetric.py +1 -1
  661. metadata/generated/schema/tests/dataQualityReport.py +1 -1
  662. metadata/generated/schema/tests/resolved.py +1 -1
  663. metadata/generated/schema/tests/testCase.py +1 -1
  664. metadata/generated/schema/tests/testCaseResolutionStatus.py +1 -1
  665. metadata/generated/schema/tests/testDefinition.py +1 -1
  666. metadata/generated/schema/tests/testSuite.py +1 -1
  667. metadata/generated/schema/type/__init__.py +1 -1
  668. metadata/generated/schema/type/apiSchema.py +1 -1
  669. metadata/generated/schema/type/assetCertification.py +1 -1
  670. metadata/generated/schema/type/auditLog.py +1 -1
  671. metadata/generated/schema/type/basic.py +1 -1
  672. metadata/generated/schema/type/bulkOperationResult.py +1 -1
  673. metadata/generated/schema/type/changeEvent.py +1 -1
  674. metadata/generated/schema/type/changeEventType.py +1 -1
  675. metadata/generated/schema/type/changeSummaryMap.py +1 -1
  676. metadata/generated/schema/type/collectionDescriptor.py +1 -1
  677. metadata/generated/schema/type/csvDocumentation.py +1 -1
  678. metadata/generated/schema/type/csvErrorType.py +1 -1
  679. metadata/generated/schema/type/csvFile.py +1 -1
  680. metadata/generated/schema/type/csvImportResult.py +1 -1
  681. metadata/generated/schema/type/customProperties/__init__.py +1 -1
  682. metadata/generated/schema/type/customProperties/complexTypes.py +1 -1
  683. metadata/generated/schema/type/customProperties/enumConfig.py +1 -1
  684. metadata/generated/schema/type/customProperties/tableConfig.py +1 -1
  685. metadata/generated/schema/type/customProperty.py +1 -1
  686. metadata/generated/schema/type/dailyCount.py +1 -1
  687. metadata/generated/schema/type/databaseConnectionConfig.py +1 -1
  688. metadata/generated/schema/type/entityHierarchy.py +1 -1
  689. metadata/generated/schema/type/entityHistory.py +1 -1
  690. metadata/generated/schema/type/entityLineage.py +1 -1
  691. metadata/generated/schema/type/entityReference.py +1 -1
  692. metadata/generated/schema/type/entityReferenceList.py +1 -1
  693. metadata/generated/schema/type/entityRelationship.py +1 -1
  694. metadata/generated/schema/type/entityUsage.py +1 -1
  695. metadata/generated/schema/type/filterPattern.py +1 -1
  696. metadata/generated/schema/type/function.py +1 -1
  697. metadata/generated/schema/type/include.py +1 -1
  698. metadata/generated/schema/type/jdbcConnection.py +1 -1
  699. metadata/generated/schema/type/lifeCycle.py +1 -1
  700. metadata/generated/schema/type/paging.py +1 -1
  701. metadata/generated/schema/type/profile.py +1 -1
  702. metadata/generated/schema/type/queryParserData.py +1 -1
  703. metadata/generated/schema/type/reaction.py +1 -1
  704. metadata/generated/schema/type/schedule.py +1 -1
  705. metadata/generated/schema/type/schema.py +1 -1
  706. metadata/generated/schema/type/tableQuery.py +1 -1
  707. metadata/generated/schema/type/tableUsageCount.py +1 -1
  708. metadata/generated/schema/type/tagLabel.py +1 -1
  709. metadata/generated/schema/type/usageDetails.py +1 -1
  710. metadata/generated/schema/type/usageRequest.py +1 -1
  711. metadata/generated/schema/type/votes.py +1 -1
  712. metadata/great_expectations/action.py +4 -8
  713. metadata/great_expectations/action1xx.py +395 -0
  714. metadata/ingestion/connections/builders.py +14 -4
  715. metadata/ingestion/connections/connection.py +63 -0
  716. metadata/ingestion/connections/query_logger.py +115 -0
  717. metadata/ingestion/connections/test_connections.py +1 -1
  718. metadata/ingestion/ometa/mixins/tests_mixin.py +3 -5
  719. metadata/ingestion/ometa/routes.py +2 -0
  720. metadata/ingestion/sink/metadata_rest.py +54 -11
  721. metadata/ingestion/source/api/api_service.py +2 -7
  722. metadata/ingestion/source/connections.py +80 -14
  723. metadata/ingestion/source/connections_utils.py +32 -0
  724. metadata/ingestion/source/dashboard/dashboard_service.py +2 -7
  725. metadata/ingestion/source/dashboard/powerbi/metadata.py +32 -20
  726. metadata/ingestion/source/dashboard/superset/connection.py +8 -8
  727. metadata/ingestion/source/dashboard/superset/queries.py +1 -1
  728. metadata/ingestion/source/dashboard/tableau/models.py +12 -2
  729. metadata/ingestion/source/database/bigquery/connection.py +13 -9
  730. metadata/ingestion/source/database/bigquery/helper.py +11 -9
  731. metadata/ingestion/source/database/bigquery/metadata.py +102 -13
  732. metadata/ingestion/source/database/bigquery/profiler/system.py +1 -1
  733. metadata/ingestion/source/database/bigquery/queries.py +15 -3
  734. metadata/ingestion/source/database/common_db_source.py +2 -4
  735. metadata/ingestion/source/database/database_service.py +2 -7
  736. metadata/ingestion/source/database/datalake/metadata.py +1 -1
  737. metadata/ingestion/source/database/dbt/metadata.py +0 -5
  738. metadata/ingestion/source/database/mysql/connection.py +52 -45
  739. metadata/ingestion/source/database/mysql/service_spec.py +2 -0
  740. metadata/ingestion/source/database/query_parser_source.py +2 -7
  741. metadata/ingestion/source/database/redshift/connection.py +1 -1
  742. metadata/ingestion/source/database/sample_data.py +1 -1
  743. metadata/ingestion/source/database/saphana/lineage.py +2 -7
  744. metadata/ingestion/source/database/sas/metadata.py +2 -7
  745. metadata/ingestion/source/database/trino/profiler/system_tables_profiler.py +26 -17
  746. metadata/ingestion/source/database/unitycatalog/connection.py +33 -0
  747. metadata/ingestion/source/database/unitycatalog/lineage.py +2 -7
  748. metadata/ingestion/source/database/unitycatalog/metadata.py +126 -13
  749. metadata/ingestion/source/database/unitycatalog/queries.py +19 -0
  750. metadata/ingestion/source/messaging/messaging_service.py +2 -7
  751. metadata/ingestion/source/metadata/alationsink/metadata.py +2 -7
  752. metadata/ingestion/source/metadata/amundsen/metadata.py +2 -7
  753. metadata/ingestion/source/metadata/atlas/metadata.py +2 -7
  754. metadata/ingestion/source/mlmodel/mlmodel_service.py +2 -7
  755. metadata/ingestion/source/pipeline/airflow/connection.py +4 -6
  756. metadata/ingestion/source/pipeline/nifi/metadata.py +133 -3
  757. metadata/ingestion/source/pipeline/pipeline_service.py +20 -7
  758. metadata/ingestion/source/search/search_service.py +2 -7
  759. metadata/ingestion/source/storage/storage_service.py +2 -7
  760. metadata/profiler/interface/sqlalchemy/bigquery/profiler_interface.py +3 -3
  761. metadata/profiler/interface/sqlalchemy/profiler_interface.py +1 -0
  762. metadata/profiler/metrics/static/not_regexp_match_count.py +4 -3
  763. metadata/profiler/metrics/static/regexp_match_count.py +3 -2
  764. metadata/profiler/orm/functions/length.py +1 -0
  765. metadata/profiler/orm/functions/md5.py +9 -0
  766. metadata/profiler/orm/functions/modulo.py +1 -0
  767. metadata/profiler/orm/functions/random_num.py +4 -0
  768. metadata/profiler/orm/functions/regexp.py +40 -0
  769. metadata/profiler/orm/functions/table_metric_computer.py +34 -8
  770. metadata/profiler/orm/registry.py +1 -0
  771. metadata/profiler/processor/core.py +2 -2
  772. metadata/profiler/processor/default.py +29 -28
  773. metadata/profiler/processor/metric_filter.py +16 -3
  774. metadata/profiler/processor/models.py +14 -4
  775. metadata/profiler/source/database/base/profiler_resolver.py +35 -0
  776. metadata/profiler/source/database/base/profiler_source.py +45 -30
  777. metadata/profiler/source/profiler_source_interface.py +8 -13
  778. metadata/sampler/sampler_interface.py +15 -10
  779. metadata/sampler/sqlalchemy/bigquery/sampler.py +7 -0
  780. metadata/utils/dependency_injector/dependency_injector.py +403 -0
  781. metadata/utils/service_spec/service_spec.py +66 -10
  782. metadata/workflow/profiler.py +2 -7
  783. {openmetadata_ingestion-1.7.5.0.dist-info → openmetadata_ingestion-1.8.0.0.dist-info}/METADATA +513 -502
  784. {openmetadata_ingestion-1.7.5.0.dist-info → openmetadata_ingestion-1.8.0.0.dist-info}/RECORD +788 -765
  785. {openmetadata_ingestion-1.7.5.0.dist-info → openmetadata_ingestion-1.8.0.0.dist-info}/LICENSE +0 -0
  786. {openmetadata_ingestion-1.7.5.0.dist-info → openmetadata_ingestion-1.8.0.0.dist-info}/WHEEL +0 -0
  787. {openmetadata_ingestion-1.7.5.0.dist-info → openmetadata_ingestion-1.8.0.0.dist-info}/entry_points.txt +0 -0
  788. {openmetadata_ingestion-1.7.5.0.dist-info → openmetadata_ingestion-1.8.0.0.dist-info}/top_level.txt +0 -0
@@ -36,6 +36,12 @@ from metadata.ingestion.connections.test_connections import test_connection_step
36
36
  from metadata.ingestion.ometa.ometa_api import OpenMetadata
37
37
  from metadata.ingestion.source.database.unitycatalog.client import UnityCatalogClient
38
38
  from metadata.ingestion.source.database.unitycatalog.models import DatabricksTable
39
+ from metadata.ingestion.source.database.unitycatalog.queries import (
40
+ UNITY_CATALOG_GET_ALL_SCHEMA_TAGS,
41
+ UNITY_CATALOG_GET_ALL_TABLE_COLUMNS_TAGS,
42
+ UNITY_CATALOG_GET_ALL_TABLE_TAGS,
43
+ UNITY_CATALOG_GET_CATALOGS_TAGS,
44
+ )
39
45
  from metadata.utils.constants import THREE_MIN
40
46
  from metadata.utils.db_utils import get_host_from_host_port
41
47
  from metadata.utils.logger import ingestion_logger
@@ -111,6 +117,32 @@ def test_connection(
111
117
  table_obj.name = table.name
112
118
  break
113
119
 
120
+ def get_tags(
121
+ service_connection: UnityCatalogConnection, table_obj: DatabricksTable
122
+ ):
123
+ engine = get_sqlalchemy_connection(service_connection)
124
+ with engine.connect() as connection:
125
+ connection.execute(
126
+ UNITY_CATALOG_GET_CATALOGS_TAGS.format(
127
+ database=table_obj.catalog_name
128
+ ).replace(";", " limit 1;")
129
+ )
130
+ connection.execute(
131
+ UNITY_CATALOG_GET_ALL_SCHEMA_TAGS.format(
132
+ database=table_obj.catalog_name
133
+ ).replace(";", " limit 1;")
134
+ )
135
+ connection.execute(
136
+ UNITY_CATALOG_GET_ALL_TABLE_TAGS.format(
137
+ database=table_obj.catalog_name, schema=table_obj.schema_name
138
+ ).replace(";", " limit 1;")
139
+ )
140
+ connection.execute(
141
+ UNITY_CATALOG_GET_ALL_TABLE_COLUMNS_TAGS.format(
142
+ database=table_obj.catalog_name, schema=table_obj.schema_name
143
+ ).replace(";", " limit 1;")
144
+ )
145
+
114
146
  test_fn = {
115
147
  "CheckAccess": connection.catalogs.list,
116
148
  "GetDatabases": partial(get_catalogs, connection, table_obj),
@@ -118,6 +150,7 @@ def test_connection(
118
150
  "GetTables": partial(get_tables, connection, table_obj),
119
151
  "GetViews": partial(get_tables, connection, table_obj),
120
152
  "GetQueries": client.test_query_api_access,
153
+ "GetTags": partial(get_tags, service_connection, table_obj),
121
154
  }
122
155
 
123
156
  return test_connection_steps(
@@ -33,12 +33,9 @@ from metadata.generated.schema.type.entityLineage import Source as LineageSource
33
33
  from metadata.generated.schema.type.entityReference import EntityReference
34
34
  from metadata.ingestion.api.models import Either
35
35
  from metadata.ingestion.api.steps import InvalidSourceException, Source
36
- from metadata.ingestion.connections.test_connections import (
37
- raise_test_connection_exception,
38
- )
39
36
  from metadata.ingestion.lineage.sql_lineage import get_column_fqn
40
37
  from metadata.ingestion.ometa.ometa_api import OpenMetadata
41
- from metadata.ingestion.source.connections import get_test_connection_fn
38
+ from metadata.ingestion.source.connections import test_connection_common
42
39
  from metadata.ingestion.source.database.unitycatalog.client import UnityCatalogClient
43
40
  from metadata.ingestion.source.database.unitycatalog.connection import get_connection
44
41
  from metadata.ingestion.source.database.unitycatalog.models import LineageTableStreams
@@ -220,8 +217,6 @@ class UnitycatalogLineageSource(Source):
220
217
  )
221
218
 
222
219
  def test_connection(self) -> None:
223
- test_connection_fn = get_test_connection_fn(self.service_connection)
224
- result = test_connection_fn(
220
+ test_connection_common(
225
221
  self.metadata, self.connection_obj, self.service_connection
226
222
  )
227
- raise_test_connection_exception(result)
@@ -65,20 +65,33 @@ from metadata.ingestion.source.database.external_table_lineage_mixin import (
65
65
  from metadata.ingestion.source.database.multi_db_source import MultiDBSource
66
66
  from metadata.ingestion.source.database.stored_procedures_mixin import QueryByProcedure
67
67
  from metadata.ingestion.source.database.unitycatalog.client import UnityCatalogClient
68
- from metadata.ingestion.source.database.unitycatalog.connection import get_connection
68
+ from metadata.ingestion.source.database.unitycatalog.connection import (
69
+ get_connection,
70
+ get_sqlalchemy_connection,
71
+ )
69
72
  from metadata.ingestion.source.database.unitycatalog.models import (
70
73
  ColumnJson,
71
74
  ElementType,
72
75
  ForeignConstrains,
73
76
  Type,
74
77
  )
78
+ from metadata.ingestion.source.database.unitycatalog.queries import (
79
+ UNITY_CATALOG_GET_ALL_SCHEMA_TAGS,
80
+ UNITY_CATALOG_GET_ALL_TABLE_COLUMNS_TAGS,
81
+ UNITY_CATALOG_GET_ALL_TABLE_TAGS,
82
+ UNITY_CATALOG_GET_CATALOGS_TAGS,
83
+ )
75
84
  from metadata.utils import fqn
76
85
  from metadata.utils.filters import filter_by_database, filter_by_schema, filter_by_table
77
86
  from metadata.utils.helpers import retry_with_docker_host
78
87
  from metadata.utils.logger import ingestion_logger
88
+ from metadata.utils.tag_utils import get_ometa_tag_and_classification
79
89
 
80
90
  logger = ingestion_logger()
81
91
 
92
+ UNITY_CATALOG_TAG = "UNITY CATALOG TAG"
93
+ UNITY_CATALOG_TAG_CLASSIFICATION = "UNITY CATALOG TAG CLASSIFICATION"
94
+
82
95
 
83
96
  class UnitycatalogSource(
84
97
  ExternalTableLineageMixin, DatabaseServiceSource, MultiDBSource
@@ -179,10 +192,14 @@ class UnitycatalogSource(
179
192
  From topology.
180
193
  Prepare a database request and pass it to the sink
181
194
  """
195
+ catalog = self.client.catalogs.get(database_name)
182
196
  yield Either(
183
197
  right=CreateDatabaseRequest(
184
198
  name=database_name,
185
199
  service=self.context.get().database_service,
200
+ owners=self.get_owner_ref(catalog.owner),
201
+ description=catalog.comment,
202
+ tags=self.get_database_tag_labels(database_name),
186
203
  )
187
204
  )
188
205
 
@@ -227,6 +244,9 @@ class UnitycatalogSource(
227
244
  From topology.
228
245
  Prepare a database schema request and pass it to the sink
229
246
  """
247
+ schema = self.client.schemas.get(
248
+ full_name=f"{self.context.get().database}.{schema_name}"
249
+ )
230
250
  yield Either(
231
251
  right=CreateDatabaseSchemaRequest(
232
252
  name=EntityName(schema_name),
@@ -238,6 +258,9 @@ class UnitycatalogSource(
238
258
  database_name=self.context.get().database,
239
259
  )
240
260
  ),
261
+ description=schema.comment,
262
+ owners=self.get_owner_ref(schema.owner),
263
+ tags=self.get_schema_tag_labels(schema_name),
241
264
  )
242
265
  )
243
266
 
@@ -315,7 +338,7 @@ class UnitycatalogSource(
315
338
  (db_name, schema_name, table_name)
316
339
  ] = table.storage_location
317
340
  try:
318
- columns = list(self.get_columns(table.columns))
341
+ columns = list(self.get_columns(table_name, table.columns))
319
342
  (
320
343
  primary_constraints,
321
344
  foreign_constraints,
@@ -341,6 +364,7 @@ class UnitycatalogSource(
341
364
  )
342
365
  ),
343
366
  owners=self.get_owner_ref(table.owner),
367
+ tags=self.get_tag_labels(table_name),
344
368
  )
345
369
  yield Either(right=table_request)
346
370
 
@@ -477,11 +501,12 @@ class UnitycatalogSource(
477
501
  f"Unable to add description to complex datatypes for column [{column.name}]: {exc}"
478
502
  )
479
503
 
480
- def get_columns(self, column_data: List[ColumnInfo]) -> Iterable[Column]:
504
+ def get_columns(
505
+ self, table_name: str, column_data: List[ColumnInfo]
506
+ ) -> Iterable[Column]:
481
507
  """
482
508
  process table regular columns info
483
509
  """
484
-
485
510
  for column in column_data:
486
511
  parsed_string = {}
487
512
  if column.type_text:
@@ -500,6 +525,9 @@ class UnitycatalogSource(
500
525
  parsed_string["dataLength"] = parsed_string.get("dataLength", 1)
501
526
  if column.comment:
502
527
  parsed_string["description"] = Markdown(column.comment)
528
+ parsed_string["tags"] = self.get_column_tag_labels(
529
+ table_name=table_name, column={"name": column.name}
530
+ )
503
531
  parsed_column = Column(**parsed_string)
504
532
  self.add_complex_datatype_descriptions(
505
533
  column=parsed_column,
@@ -507,10 +535,97 @@ class UnitycatalogSource(
507
535
  )
508
536
  yield parsed_column
509
537
 
538
+ def yield_database_tag(
539
+ self, database_name: str
540
+ ) -> Iterable[Either[OMetaTagAndClassification]]:
541
+ """Get Unity Catalog database/catalog tags using SQL query"""
542
+ query_tag_fqn_builder_mapping = (
543
+ (
544
+ UNITY_CATALOG_GET_CATALOGS_TAGS.format(database=database_name),
545
+ lambda tag: [self.context.get().database_service, database_name],
546
+ ),
547
+ (
548
+ UNITY_CATALOG_GET_ALL_SCHEMA_TAGS.format(database=database_name),
549
+ lambda tag: [
550
+ self.context.get().database_service,
551
+ database_name,
552
+ tag.schema_name,
553
+ ],
554
+ ),
555
+ )
556
+ try:
557
+ with get_sqlalchemy_connection(
558
+ self.service_connection
559
+ ).connect() as connection:
560
+ for query, tag_fqn_builder in query_tag_fqn_builder_mapping:
561
+ for tag in connection.execute(query):
562
+ yield from get_ometa_tag_and_classification(
563
+ tag_fqn=FullyQualifiedEntityName(
564
+ fqn._build(*tag_fqn_builder(tag))
565
+ ), # pylint: disable=protected-access
566
+ tags=[tag.tag_value],
567
+ classification_name=tag.tag_name,
568
+ tag_description=UNITY_CATALOG_TAG,
569
+ classification_description=UNITY_CATALOG_TAG_CLASSIFICATION,
570
+ metadata=self.metadata,
571
+ system_tags=True,
572
+ )
573
+ except Exception as exc:
574
+ logger.debug(traceback.format_exc())
575
+ logger.warning(
576
+ f"Error getting tags for catalog/schema {database_name}: {exc}"
577
+ )
578
+
510
579
  def yield_tag(
511
580
  self, schema_name: str
512
581
  ) -> Iterable[Either[OMetaTagAndClassification]]:
513
- """No tags being processed"""
582
+ """Get Unity Catalog schema tags using SQL query"""
583
+ database = self.context.get().database
584
+ query_tag_fqn_builder_mapping = (
585
+ (
586
+ UNITY_CATALOG_GET_ALL_TABLE_TAGS.format(
587
+ database=database, schema=schema_name
588
+ ),
589
+ lambda tag: [
590
+ self.context.get().database_service,
591
+ database,
592
+ schema_name,
593
+ tag.table_name,
594
+ ],
595
+ ),
596
+ (
597
+ UNITY_CATALOG_GET_ALL_TABLE_COLUMNS_TAGS.format(
598
+ database=database, schema=schema_name
599
+ ),
600
+ lambda tag: [
601
+ self.context.get().database_service,
602
+ database,
603
+ schema_name,
604
+ tag.table_name,
605
+ tag.column_name,
606
+ ],
607
+ ),
608
+ )
609
+ try:
610
+ with get_sqlalchemy_connection(
611
+ self.service_connection
612
+ ).connect() as connection:
613
+ for query, tag_fqn_builder in query_tag_fqn_builder_mapping:
614
+ for tag in connection.execute(query):
615
+ yield from get_ometa_tag_and_classification(
616
+ tag_fqn=FullyQualifiedEntityName(
617
+ fqn._build(*tag_fqn_builder(tag))
618
+ ), # pylint: disable=protected-access
619
+ tags=[tag.tag_value],
620
+ classification_name=tag.tag_name,
621
+ tag_description=UNITY_CATALOG_TAG,
622
+ classification_description=UNITY_CATALOG_TAG_CLASSIFICATION,
623
+ metadata=self.metadata,
624
+ system_tags=True,
625
+ )
626
+ except Exception as exc:
627
+ logger.debug(traceback.format_exc())
628
+ logger.warning(f"Error getting tags for schema {schema_name}: {exc}")
514
629
 
515
630
  def get_stored_procedures(self) -> Iterable[Any]:
516
631
  """Not implemented"""
@@ -527,24 +642,22 @@ class UnitycatalogSource(
527
642
  """Nothing to close"""
528
643
 
529
644
  # pylint: disable=arguments-renamed
530
- def get_owner_ref(
531
- self, table_owner: Optional[str]
532
- ) -> Optional[EntityReferenceList]:
645
+ def get_owner_ref(self, owner: Optional[str]) -> Optional[EntityReferenceList]:
533
646
  """
534
647
  Method to process the table owners
535
648
  """
536
649
  if self.source_config.includeOwners is False:
537
650
  return None
538
651
  try:
539
- if not table_owner or not isinstance(table_owner, str):
652
+ if not owner or not isinstance(owner, str):
540
653
  return None
541
- owner_ref = self.metadata.get_reference_by_email(email=table_owner)
654
+ owner_ref = self.metadata.get_reference_by_email(email=owner)
542
655
  if owner_ref:
543
656
  return owner_ref
544
- table_name = table_owner.split("@")[0]
545
- owner_ref = self.metadata.get_reference_by_name(name=table_name)
657
+ owner_name = owner.split("@")[0]
658
+ owner_ref = self.metadata.get_reference_by_name(name=owner_name)
546
659
  return owner_ref
547
660
  except Exception as exc:
548
661
  logger.debug(traceback.format_exc())
549
- logger.warning(f"Error processing owner {table_owner}: {exc}")
662
+ logger.warning(f"Error processing owner {owner}: {exc}")
550
663
  return None
@@ -0,0 +1,19 @@
1
+ """
2
+ SQL queries for Unity Catalog
3
+ """
4
+
5
+ UNITY_CATALOG_GET_CATALOGS_TAGS = """
6
+ SELECT * FROM `{database}`.information_schema.catalog_tags;
7
+ """
8
+
9
+ UNITY_CATALOG_GET_ALL_SCHEMA_TAGS = """
10
+ SELECT * FROM `{database}`.information_schema.schema_tags;
11
+ """
12
+
13
+ UNITY_CATALOG_GET_ALL_TABLE_TAGS = """
14
+ SELECT * FROM `{database}`.information_schema.table_tags WHERE schema_name = '{schema}';
15
+ """
16
+
17
+ UNITY_CATALOG_GET_ALL_TABLE_COLUMNS_TAGS = """
18
+ SELECT * FROM `{database}`.information_schema.column_tags WHERE schema_name = '{schema}';
19
+ """
@@ -34,9 +34,6 @@ from metadata.ingestion.api.delete import delete_entity_from_source
34
34
  from metadata.ingestion.api.models import Either
35
35
  from metadata.ingestion.api.steps import Source
36
36
  from metadata.ingestion.api.topology_runner import TopologyRunnerMixin
37
- from metadata.ingestion.connections.test_connections import (
38
- raise_test_connection_exception,
39
- )
40
37
  from metadata.ingestion.models.delete_entity import DeleteEntity
41
38
  from metadata.ingestion.models.topology import (
42
39
  NodeStage,
@@ -45,7 +42,7 @@ from metadata.ingestion.models.topology import (
45
42
  TopologyNode,
46
43
  )
47
44
  from metadata.ingestion.ometa.ometa_api import OpenMetadata
48
- from metadata.ingestion.source.connections import get_connection, get_test_connection_fn
45
+ from metadata.ingestion.source.connections import get_connection, test_connection_common
49
46
  from metadata.utils import fqn
50
47
  from metadata.utils.filters import filter_by_topic
51
48
  from metadata.utils.helpers import retry_with_docker_host
@@ -202,11 +199,9 @@ class MessagingServiceSource(TopologyRunnerMixin, Source, ABC):
202
199
  """By default, nothing to prepare"""
203
200
 
204
201
  def test_connection(self) -> None:
205
- test_connection_fn = get_test_connection_fn(self.service_connection)
206
- result = test_connection_fn(
202
+ test_connection_common(
207
203
  self.metadata, self.connection_obj, self.service_connection
208
204
  )
209
- raise_test_connection_exception(result)
210
205
 
211
206
  def mark_topics_as_deleted(self) -> Iterable[Either[DeleteEntity]]:
212
207
  """Method to mark the topics as deleted"""
@@ -33,12 +33,9 @@ from metadata.generated.schema.metadataIngestion.workflow import (
33
33
  )
34
34
  from metadata.ingestion.api.models import Either, Entity
35
35
  from metadata.ingestion.api.steps import InvalidSourceException, Source
36
- from metadata.ingestion.connections.test_connections import (
37
- raise_test_connection_exception,
38
- )
39
36
  from metadata.ingestion.ometa.ometa_api import OpenMetadata
40
37
  from metadata.ingestion.ometa.utils import model_str
41
- from metadata.ingestion.source.connections import get_connection, get_test_connection_fn
38
+ from metadata.ingestion.source.connections import get_connection, test_connection_common
42
39
  from metadata.ingestion.source.metadata.alationsink.client import AlationSinkClient
43
40
  from metadata.ingestion.source.metadata.alationsink.constants import (
44
41
  SERVICE_TYPE_MAPPER,
@@ -475,8 +472,6 @@ class AlationsinkSource(Source):
475
472
  """Not required to implement"""
476
473
 
477
474
  def test_connection(self) -> None:
478
- test_connection_fn = get_test_connection_fn(self.service_connection)
479
- result = test_connection_fn(
475
+ test_connection_common(
480
476
  self.metadata, self.alation_sink_client, self.service_connection
481
477
  )
482
- raise_test_connection_exception(result)
@@ -56,13 +56,10 @@ from metadata.generated.schema.type.entityReferenceList import EntityReferenceLi
56
56
  from metadata.ingestion.api.common import Entity
57
57
  from metadata.ingestion.api.models import Either
58
58
  from metadata.ingestion.api.steps import InvalidSourceException, Source
59
- from metadata.ingestion.connections.test_connections import (
60
- raise_test_connection_exception,
61
- )
62
59
  from metadata.ingestion.models.user import OMetaUserProfile
63
60
  from metadata.ingestion.ometa.client_utils import get_chart_entities_from_id
64
61
  from metadata.ingestion.ometa.ometa_api import OpenMetadata
65
- from metadata.ingestion.source.connections import get_connection, get_test_connection_fn
62
+ from metadata.ingestion.source.connections import get_connection, test_connection_common
66
63
  from metadata.ingestion.source.database.column_type_parser import ColumnTypeParser
67
64
  from metadata.ingestion.source.metadata.amundsen.queries import (
68
65
  NEO4J_AMUNDSEN_DASHBOARD_QUERY,
@@ -465,8 +462,6 @@ class AmundsenSource(Source):
465
462
  return None
466
463
 
467
464
  def test_connection(self) -> None:
468
- test_connection_fn = get_test_connection_fn(self.service_connection)
469
- result = test_connection_fn(
465
+ test_connection_common(
470
466
  self.metadata, self.connection_obj, self.service_connection
471
467
  )
472
- raise_test_connection_exception(result)
@@ -41,12 +41,9 @@ from metadata.generated.schema.type.entityLineage import EntitiesEdge
41
41
  from metadata.generated.schema.type.entityReference import EntityReference
42
42
  from metadata.ingestion.api.models import Either, Entity, StackTraceError
43
43
  from metadata.ingestion.api.steps import InvalidSourceException, Source
44
- from metadata.ingestion.connections.test_connections import (
45
- raise_test_connection_exception,
46
- )
47
44
  from metadata.ingestion.models.ometa_classification import OMetaTagAndClassification
48
45
  from metadata.ingestion.ometa.ometa_api import OpenMetadata
49
- from metadata.ingestion.source.connections import get_connection, get_test_connection_fn
46
+ from metadata.ingestion.source.connections import get_connection, test_connection_common
50
47
  from metadata.ingestion.source.database.column_type_parser import ColumnTypeParser
51
48
  from metadata.ingestion.source.metadata.atlas.client import AtlasClient
52
49
  from metadata.utils import fqn
@@ -480,8 +477,6 @@ class AtlasSource(Source):
480
477
  return None
481
478
 
482
479
  def test_connection(self) -> None:
483
- test_connection_fn = get_test_connection_fn(self.service_connection)
484
- result = test_connection_fn(
480
+ test_connection_common(
485
481
  self.metadata, self.connection_obj, self.service_connection
486
482
  )
487
- raise_test_connection_exception(result)
@@ -38,9 +38,6 @@ from metadata.ingestion.api.delete import delete_entity_from_source
38
38
  from metadata.ingestion.api.models import Either
39
39
  from metadata.ingestion.api.steps import Source
40
40
  from metadata.ingestion.api.topology_runner import TopologyRunnerMixin
41
- from metadata.ingestion.connections.test_connections import (
42
- raise_test_connection_exception,
43
- )
44
41
  from metadata.ingestion.models.delete_entity import DeleteEntity
45
42
  from metadata.ingestion.models.topology import (
46
43
  NodeStage,
@@ -49,7 +46,7 @@ from metadata.ingestion.models.topology import (
49
46
  TopologyNode,
50
47
  )
51
48
  from metadata.ingestion.ometa.ometa_api import OpenMetadata
52
- from metadata.ingestion.source.connections import get_connection, get_test_connection_fn
49
+ from metadata.ingestion.source.connections import get_connection, test_connection_common
53
50
  from metadata.utils import fqn
54
51
  from metadata.utils.helpers import retry_with_docker_host
55
52
  from metadata.utils.logger import ingestion_logger
@@ -180,11 +177,9 @@ class MlModelServiceSource(TopologyRunnerMixin, Source, ABC):
180
177
  """By default, nothing to close"""
181
178
 
182
179
  def test_connection(self) -> None:
183
- test_connection_fn = get_test_connection_fn(self.service_connection)
184
- result = test_connection_fn(
180
+ test_connection_common(
185
181
  self.metadata, self.connection_obj, self.service_connection
186
182
  )
187
- raise_test_connection_exception(result)
188
183
 
189
184
  def mark_mlmodels_as_deleted(self) -> Iterable[Either[DeleteEntity]]:
190
185
  """Method to mark the mlmodels as deleted"""
@@ -24,7 +24,7 @@ from metadata.generated.schema.entity.automations.workflow import (
24
24
  Workflow as AutomationWorkflow,
25
25
  )
26
26
  from metadata.generated.schema.entity.services.connections.database.mysqlConnection import (
27
- MysqlConnection,
27
+ MysqlConnection as MysqlConnectionConfig,
28
28
  )
29
29
  from metadata.generated.schema.entity.services.connections.database.postgresConnection import (
30
30
  PostgresConnection,
@@ -67,12 +67,10 @@ def _(_: BackendConnection) -> Engine:
67
67
 
68
68
 
69
69
  @_get_connection.register
70
- def _(airflow_connection: MysqlConnection) -> Engine:
71
- from metadata.ingestion.source.database.mysql.connection import (
72
- get_connection as get_mysql_connection,
73
- )
70
+ def _(airflow_connection: MysqlConnectionConfig) -> Engine:
71
+ from metadata.ingestion.source.database.mysql.connection import MySQLConnection
74
72
 
75
- return get_mysql_connection(airflow_connection)
73
+ return MySQLConnection(airflow_connection).get_client()
76
74
 
77
75
 
78
76
  @_get_connection.register