openmetadata-ingestion 1.7.0.0rc2__py3-none-any.whl → 1.7.1.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 (796) hide show
  1. metadata/applications/example.py +74 -0
  2. metadata/cli/classify.py +2 -4
  3. metadata/cli/common.py +26 -0
  4. metadata/cli/dataquality.py +2 -4
  5. metadata/cli/ingest.py +2 -4
  6. metadata/cli/profile.py +2 -4
  7. metadata/cli/usage.py +2 -4
  8. metadata/data_quality/processor/test_case_runner.py +6 -8
  9. metadata/data_quality/runner/base_test_suite_source.py +10 -4
  10. metadata/data_quality/source/test_suite.py +11 -1
  11. metadata/data_quality/validations/column/sqlalchemy/columnValuesToBeUnique.py +14 -2
  12. metadata/data_quality/validations/column/sqlalchemy/columnValuesToMatchRegex.py +1 -1
  13. metadata/data_quality/validations/models.py +3 -0
  14. metadata/data_quality/validations/runtime_param_setter/base_diff_params_setter.py +120 -0
  15. metadata/data_quality/validations/runtime_param_setter/table_diff_params_setter.py +61 -47
  16. metadata/data_quality/validations/table/sqlalchemy/tableDiff.py +24 -0
  17. metadata/examples/workflows/tableau.yaml +0 -3
  18. metadata/generated/schema/analytics/__init__.py +1 -1
  19. metadata/generated/schema/analytics/basic.py +1 -1
  20. metadata/generated/schema/analytics/reportData.py +1 -1
  21. metadata/generated/schema/analytics/reportDataType/__init__.py +1 -1
  22. metadata/generated/schema/analytics/reportDataType/aggregatedCostAnalysisReportData.py +1 -1
  23. metadata/generated/schema/analytics/reportDataType/entityReportData.py +1 -1
  24. metadata/generated/schema/analytics/reportDataType/rawCostAnalysisReportData.py +1 -1
  25. metadata/generated/schema/analytics/reportDataType/webAnalyticEntityViewReportData.py +1 -1
  26. metadata/generated/schema/analytics/reportDataType/webAnalyticUserActivityReportData.py +1 -1
  27. metadata/generated/schema/analytics/webAnalyticEvent.py +1 -1
  28. metadata/generated/schema/analytics/webAnalyticEventData.py +1 -1
  29. metadata/generated/schema/analytics/webAnalyticEventType/__init__.py +1 -1
  30. metadata/generated/schema/analytics/webAnalyticEventType/customEvent.py +1 -1
  31. metadata/generated/schema/analytics/webAnalyticEventType/pageViewEvent.py +1 -1
  32. metadata/generated/schema/api/__init__.py +1 -1
  33. metadata/generated/schema/api/addGlossaryToAssetsRequest.py +1 -1
  34. metadata/generated/schema/api/addTagToAssetsRequest.py +1 -1
  35. metadata/generated/schema/api/analytics/__init__.py +1 -1
  36. metadata/generated/schema/api/analytics/createWebAnalyticEvent.py +1 -1
  37. metadata/generated/schema/api/automations/__init__.py +1 -1
  38. metadata/generated/schema/api/automations/createWorkflow.py +1 -1
  39. metadata/generated/schema/api/bulkAssets.py +1 -1
  40. metadata/generated/schema/api/classification/__init__.py +1 -1
  41. metadata/generated/schema/api/classification/createClassification.py +1 -1
  42. metadata/generated/schema/api/classification/createTag.py +1 -1
  43. metadata/generated/schema/api/classification/loadTags.py +1 -1
  44. metadata/generated/schema/api/createBot.py +1 -1
  45. metadata/generated/schema/api/createEventPublisherJob.py +1 -1
  46. metadata/generated/schema/api/createType.py +1 -1
  47. metadata/generated/schema/api/data/__init__.py +1 -1
  48. metadata/generated/schema/api/data/createAPICollection.py +1 -1
  49. metadata/generated/schema/api/data/createAPIEndpoint.py +1 -1
  50. metadata/generated/schema/api/data/createChart.py +1 -1
  51. metadata/generated/schema/api/data/createContainer.py +1 -1
  52. metadata/generated/schema/api/data/createCustomProperty.py +1 -1
  53. metadata/generated/schema/api/data/createDashboard.py +1 -1
  54. metadata/generated/schema/api/data/createDashboardDataModel.py +1 -1
  55. metadata/generated/schema/api/data/createDatabase.py +1 -1
  56. metadata/generated/schema/api/data/createDatabaseSchema.py +1 -1
  57. metadata/generated/schema/api/data/createGlossary.py +1 -1
  58. metadata/generated/schema/api/data/createGlossaryTerm.py +1 -1
  59. metadata/generated/schema/api/data/createMetric.py +1 -1
  60. metadata/generated/schema/api/data/createMlModel.py +1 -1
  61. metadata/generated/schema/api/data/createPipeline.py +1 -1
  62. metadata/generated/schema/api/data/createQuery.py +1 -1
  63. metadata/generated/schema/api/data/createQueryCostRecord.py +1 -1
  64. metadata/generated/schema/api/data/createSearchIndex.py +1 -1
  65. metadata/generated/schema/api/data/createStoredProcedure.py +1 -1
  66. metadata/generated/schema/api/data/createTable.py +1 -1
  67. metadata/generated/schema/api/data/createTableProfile.py +1 -1
  68. metadata/generated/schema/api/data/createTopic.py +1 -1
  69. metadata/generated/schema/api/data/loadGlossary.py +1 -1
  70. metadata/generated/schema/api/data/restoreEntity.py +1 -1
  71. metadata/generated/schema/api/dataInsight/__init__.py +1 -1
  72. metadata/generated/schema/api/dataInsight/createDataInsightChart.py +1 -1
  73. metadata/generated/schema/api/dataInsight/custom/__init__.py +1 -1
  74. metadata/generated/schema/api/dataInsight/custom/createDataInsightCustomChart.py +1 -1
  75. metadata/generated/schema/api/dataInsight/kpi/__init__.py +1 -1
  76. metadata/generated/schema/api/dataInsight/kpi/createKpiRequest.py +1 -1
  77. metadata/generated/schema/api/docStore/__init__.py +1 -1
  78. metadata/generated/schema/api/docStore/createDocument.py +1 -1
  79. metadata/generated/schema/api/domains/__init__.py +1 -1
  80. metadata/generated/schema/api/domains/createDataProduct.py +1 -1
  81. metadata/generated/schema/api/domains/createDomain.py +1 -1
  82. metadata/generated/schema/api/feed/__init__.py +1 -1
  83. metadata/generated/schema/api/feed/closeTask.py +1 -1
  84. metadata/generated/schema/api/feed/createPost.py +1 -1
  85. metadata/generated/schema/api/feed/createSuggestion.py +1 -1
  86. metadata/generated/schema/api/feed/createThread.py +1 -1
  87. metadata/generated/schema/api/feed/resolveTask.py +1 -1
  88. metadata/generated/schema/api/feed/threadCount.py +1 -1
  89. metadata/generated/schema/api/governance/__init__.py +1 -1
  90. metadata/generated/schema/api/governance/createWorkflowDefinition.py +1 -1
  91. metadata/generated/schema/api/governance/createWorkflowInstanceState.py +1 -1
  92. metadata/generated/schema/api/lineage/__init__.py +1 -1
  93. metadata/generated/schema/api/lineage/addLineage.py +1 -1
  94. metadata/generated/schema/api/lineage/esLineageData.py +1 -1
  95. metadata/generated/schema/api/lineage/lineageDirection.py +1 -1
  96. metadata/generated/schema/api/lineage/nodeInformation.py +1 -1
  97. metadata/generated/schema/api/lineage/searchLineageRequest.py +1 -1
  98. metadata/generated/schema/api/lineage/searchLineageResult.py +1 -1
  99. metadata/generated/schema/api/openMetadataServerVersion.py +1 -1
  100. metadata/generated/schema/api/policies/__init__.py +1 -1
  101. metadata/generated/schema/api/policies/createPolicy.py +1 -1
  102. metadata/generated/schema/api/search/__init__.py +1 -1
  103. metadata/generated/schema/api/search/previewSearchRequest.py +1 -1
  104. metadata/generated/schema/api/services/__init__.py +1 -1
  105. metadata/generated/schema/api/services/createApiService.py +1 -1
  106. metadata/generated/schema/api/services/createDashboardService.py +1 -1
  107. metadata/generated/schema/api/services/createDatabaseService.py +1 -1
  108. metadata/generated/schema/api/services/createMessagingService.py +1 -1
  109. metadata/generated/schema/api/services/createMetadataService.py +1 -1
  110. metadata/generated/schema/api/services/createMlModelService.py +1 -1
  111. metadata/generated/schema/api/services/createPipelineService.py +1 -1
  112. metadata/generated/schema/api/services/createSearchService.py +1 -1
  113. metadata/generated/schema/api/services/createStorageService.py +1 -1
  114. metadata/generated/schema/api/services/ingestionPipelines/__init__.py +1 -1
  115. metadata/generated/schema/api/services/ingestionPipelines/createIngestionPipeline.py +8 -1
  116. metadata/generated/schema/api/setOwner.py +1 -1
  117. metadata/generated/schema/api/teams/__init__.py +1 -1
  118. metadata/generated/schema/api/teams/createPersona.py +1 -1
  119. metadata/generated/schema/api/teams/createRole.py +1 -1
  120. metadata/generated/schema/api/teams/createTeam.py +1 -1
  121. metadata/generated/schema/api/teams/createUser.py +1 -1
  122. metadata/generated/schema/api/tests/__init__.py +1 -1
  123. metadata/generated/schema/api/tests/createCustomMetric.py +1 -1
  124. metadata/generated/schema/api/tests/createLogicalTestCases.py +1 -1
  125. metadata/generated/schema/api/tests/createTestCase.py +1 -1
  126. metadata/generated/schema/api/tests/createTestCaseResolutionStatus.py +1 -1
  127. metadata/generated/schema/api/tests/createTestCaseResult.py +1 -1
  128. metadata/generated/schema/api/tests/createTestDefinition.py +1 -1
  129. metadata/generated/schema/api/tests/createTestSuite.py +1 -1
  130. metadata/generated/schema/api/voteRequest.py +1 -1
  131. metadata/generated/schema/auth/__init__.py +1 -1
  132. metadata/generated/schema/auth/basicAuth.py +1 -1
  133. metadata/generated/schema/auth/basicLoginRequest.py +1 -1
  134. metadata/generated/schema/auth/changePasswordRequest.py +1 -1
  135. metadata/generated/schema/auth/createPersonalToken.py +1 -1
  136. metadata/generated/schema/auth/emailRequest.py +1 -1
  137. metadata/generated/schema/auth/emailVerificationToken.py +1 -1
  138. metadata/generated/schema/auth/generateToken.py +1 -1
  139. metadata/generated/schema/auth/jwtAuth.py +1 -1
  140. metadata/generated/schema/auth/loginRequest.py +1 -1
  141. metadata/generated/schema/auth/logoutRequest.py +1 -1
  142. metadata/generated/schema/auth/passwordResetRequest.py +1 -1
  143. metadata/generated/schema/auth/passwordResetToken.py +1 -1
  144. metadata/generated/schema/auth/personalAccessToken.py +1 -1
  145. metadata/generated/schema/auth/refreshToken.py +1 -1
  146. metadata/generated/schema/auth/registrationRequest.py +1 -1
  147. metadata/generated/schema/auth/revokePersonalToken.py +1 -1
  148. metadata/generated/schema/auth/revokeToken.py +1 -1
  149. metadata/generated/schema/auth/serviceTokenEnum.py +1 -1
  150. metadata/generated/schema/auth/ssoAuth.py +1 -1
  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 +8 -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 +3 -2
  177. metadata/generated/schema/configuration/opertionalConfiguration.py +24 -0
  178. metadata/generated/schema/configuration/opsConfig.py +25 -0
  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 +3 -3
  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 +6 -4
  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 +4 -3
  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 +10 -4
  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 +3 -1
  252. metadata/generated/schema/entity/applications/configuration/internal/dataInsightsReportAppConfig.py +1 -1
  253. metadata/generated/schema/entity/applications/configuration/internal/dataRetentionConfiguration.py +1 -1
  254. metadata/generated/schema/entity/applications/configuration/internal/helloPipelinesConfiguration.py +18 -0
  255. metadata/generated/schema/entity/applications/configuration/internal/searchIndexingAppConfig.py +1 -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 +5 -2
  267. metadata/generated/schema/entity/applications/marketplace/createAppMarketPlaceDefinitionReq.py +12 -2
  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 +1 -1
  275. metadata/generated/schema/entity/classification/tag.py +1 -1
  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 +2 -1
  283. metadata/generated/schema/entity/data/database.py +5 -1
  284. metadata/generated/schema/entity/data/databaseSchema.py +5 -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 +1 -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 +1 -1
  302. metadata/generated/schema/entity/domains/domain.py +1 -1
  303. metadata/generated/schema/entity/events/__init__.py +1 -1
  304. metadata/generated/schema/entity/events/webhook.py +1 -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 +1 -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 +5 -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 +2 -11
  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 +1 -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 +9 -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 +1 -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/stitchConnection.py +1 -1
  470. metadata/generated/schema/entity/services/connections/pipeline/wherescapeConnection.py +1 -1
  471. metadata/generated/schema/entity/services/connections/search/__init__.py +1 -1
  472. metadata/generated/schema/entity/services/connections/search/customSearchConnection.py +1 -1
  473. metadata/generated/schema/entity/services/connections/search/elasticSearch/__init__.py +1 -1
  474. metadata/generated/schema/entity/services/connections/search/elasticSearch/apiAuth.py +1 -1
  475. metadata/generated/schema/entity/services/connections/search/elasticSearch/basicAuth.py +1 -1
  476. metadata/generated/schema/entity/services/connections/search/elasticSearchConnection.py +1 -1
  477. metadata/generated/schema/entity/services/connections/search/openSearchConnection.py +1 -1
  478. metadata/generated/schema/entity/services/connections/serviceConnection.py +1 -1
  479. metadata/generated/schema/entity/services/connections/storage/__init__.py +1 -1
  480. metadata/generated/schema/entity/services/connections/storage/adlsConnection.py +1 -1
  481. metadata/generated/schema/entity/services/connections/storage/customStorageConnection.py +1 -1
  482. metadata/generated/schema/entity/services/connections/storage/gcsConnection.py +1 -1
  483. metadata/generated/schema/entity/services/connections/storage/s3Connection.py +1 -1
  484. metadata/generated/schema/entity/services/connections/testConnectionDefinition.py +1 -1
  485. metadata/generated/schema/entity/services/connections/testConnectionResult.py +1 -1
  486. metadata/generated/schema/entity/services/dashboardService.py +5 -1
  487. metadata/generated/schema/entity/services/databaseService.py +5 -1
  488. metadata/generated/schema/entity/services/ingestionPipelines/__init__.py +1 -1
  489. metadata/generated/schema/entity/services/ingestionPipelines/ingestionPipeline.py +12 -1
  490. metadata/generated/schema/entity/services/ingestionPipelines/pipelineServiceClientResponse.py +1 -1
  491. metadata/generated/schema/entity/services/ingestionPipelines/reverseIngestionResponse.py +1 -1
  492. metadata/generated/schema/entity/services/ingestionPipelines/status.py +1 -1
  493. metadata/generated/schema/entity/services/messagingService.py +5 -1
  494. metadata/generated/schema/entity/services/metadataService.py +5 -1
  495. metadata/generated/schema/entity/services/mlmodelService.py +5 -1
  496. metadata/generated/schema/entity/services/pipelineService.py +5 -1
  497. metadata/generated/schema/entity/services/searchService.py +5 -1
  498. metadata/generated/schema/entity/services/serviceType.py +1 -1
  499. metadata/generated/schema/entity/services/storageService.py +5 -1
  500. metadata/generated/schema/entity/teams/__init__.py +1 -1
  501. metadata/generated/schema/entity/teams/persona.py +1 -1
  502. metadata/generated/schema/entity/teams/role.py +1 -1
  503. metadata/generated/schema/entity/teams/team.py +1 -1
  504. metadata/generated/schema/entity/teams/teamHierarchy.py +1 -1
  505. metadata/generated/schema/entity/teams/user.py +1 -1
  506. metadata/generated/schema/entity/type.py +1 -1
  507. metadata/generated/schema/entity/utils/__init__.py +1 -1
  508. metadata/generated/schema/entity/utils/entitiesCount.py +1 -1
  509. metadata/generated/schema/entity/utils/servicesCount.py +1 -1
  510. metadata/generated/schema/entity/utils/supersetApiConnection.py +1 -1
  511. metadata/generated/schema/events/__init__.py +1 -1
  512. metadata/generated/schema/events/alertMetrics.py +1 -1
  513. metadata/generated/schema/events/api/__init__.py +1 -1
  514. metadata/generated/schema/events/api/createEventSubscription.py +1 -1
  515. metadata/generated/schema/events/api/eventSubscriptionDiagnosticInfo.py +1 -1
  516. metadata/generated/schema/events/api/eventsRecord.py +1 -1
  517. metadata/generated/schema/events/api/testEventSubscriptionDestination.py +1 -1
  518. metadata/generated/schema/events/api/typedEvent.py +1 -1
  519. metadata/generated/schema/events/emailAlertConfig.py +1 -1
  520. metadata/generated/schema/events/eventFilterRule.py +1 -1
  521. metadata/generated/schema/events/eventSubscription.py +1 -1
  522. metadata/generated/schema/events/eventSubscriptionOffset.py +1 -1
  523. metadata/generated/schema/events/failedEvent.py +1 -1
  524. metadata/generated/schema/events/failedEventResponse.py +1 -1
  525. metadata/generated/schema/events/filterResourceDescriptor.py +1 -1
  526. metadata/generated/schema/events/statusContext.py +1 -1
  527. metadata/generated/schema/events/subscriptionResourceDescriptor.py +1 -1
  528. metadata/generated/schema/events/subscriptionStatus.py +1 -1
  529. metadata/generated/schema/events/testDestinationStatus.py +1 -1
  530. metadata/generated/schema/governance/workflows/__init__.py +1 -1
  531. metadata/generated/schema/governance/workflows/elements/__init__.py +1 -1
  532. metadata/generated/schema/governance/workflows/elements/edge.py +1 -1
  533. metadata/generated/schema/governance/workflows/elements/nodeSubType.py +1 -1
  534. metadata/generated/schema/governance/workflows/elements/nodeType.py +1 -1
  535. metadata/generated/schema/governance/workflows/elements/nodes/__init__.py +1 -1
  536. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/__init__.py +1 -1
  537. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/checkEntityAttributesTask.py +1 -1
  538. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/createAndRunIngestionPipelineTask.py +1 -1
  539. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/runAppTask.py +1 -1
  540. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/setEntityCertificationTask.py +1 -1
  541. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/setGlossaryTermStatusTask.py +1 -1
  542. metadata/generated/schema/governance/workflows/elements/nodes/endEvent/__init__.py +1 -1
  543. metadata/generated/schema/governance/workflows/elements/nodes/endEvent/endEvent.py +1 -1
  544. metadata/generated/schema/governance/workflows/elements/nodes/gateway/__init__.py +1 -1
  545. metadata/generated/schema/governance/workflows/elements/nodes/gateway/parallelGateway.py +1 -1
  546. metadata/generated/schema/governance/workflows/elements/nodes/startEvent/__init__.py +1 -1
  547. metadata/generated/schema/governance/workflows/elements/nodes/startEvent/startEvent.py +1 -1
  548. metadata/generated/schema/governance/workflows/elements/nodes/userTask/__init__.py +1 -1
  549. metadata/generated/schema/governance/workflows/elements/nodes/userTask/userApprovalTask.py +1 -1
  550. metadata/generated/schema/governance/workflows/elements/triggers/__init__.py +1 -1
  551. metadata/generated/schema/governance/workflows/elements/triggers/eventBasedEntityTrigger.py +1 -1
  552. metadata/generated/schema/governance/workflows/elements/triggers/noOpTrigger.py +1 -1
  553. metadata/generated/schema/governance/workflows/elements/triggers/periodicBatchEntityTrigger.py +1 -1
  554. metadata/generated/schema/governance/workflows/workflowDefinition.py +1 -1
  555. metadata/generated/schema/governance/workflows/workflowInstance.py +1 -1
  556. metadata/generated/schema/governance/workflows/workflowInstanceState.py +1 -1
  557. metadata/generated/schema/jobs/__init__.py +1 -1
  558. metadata/generated/schema/jobs/backgroundJob.py +1 -1
  559. metadata/generated/schema/jobs/enumCleanupArgs.py +1 -1
  560. metadata/generated/schema/metadataIngestion/__init__.py +1 -1
  561. metadata/generated/schema/metadataIngestion/apiServiceMetadataPipeline.py +1 -1
  562. metadata/generated/schema/metadataIngestion/application.py +1 -1
  563. metadata/generated/schema/metadataIngestion/applicationPipeline.py +1 -1
  564. metadata/generated/schema/metadataIngestion/dashboardServiceMetadataPipeline.py +1 -1
  565. metadata/generated/schema/metadataIngestion/dataInsightPipeline.py +1 -1
  566. metadata/generated/schema/metadataIngestion/databaseServiceAutoClassificationPipeline.py +1 -1
  567. metadata/generated/schema/metadataIngestion/databaseServiceMetadataPipeline.py +1 -1
  568. metadata/generated/schema/metadataIngestion/databaseServiceProfilerPipeline.py +1 -1
  569. metadata/generated/schema/metadataIngestion/databaseServiceQueryLineagePipeline.py +1 -1
  570. metadata/generated/schema/metadataIngestion/databaseServiceQueryUsagePipeline.py +1 -1
  571. metadata/generated/schema/metadataIngestion/dbtPipeline.py +1 -1
  572. metadata/generated/schema/metadataIngestion/dbtconfig/__init__.py +1 -1
  573. metadata/generated/schema/metadataIngestion/dbtconfig/dbtAzureConfig.py +1 -1
  574. metadata/generated/schema/metadataIngestion/dbtconfig/dbtBucketDetails.py +1 -1
  575. metadata/generated/schema/metadataIngestion/dbtconfig/dbtCloudConfig.py +1 -1
  576. metadata/generated/schema/metadataIngestion/dbtconfig/dbtGCSConfig.py +1 -1
  577. metadata/generated/schema/metadataIngestion/dbtconfig/dbtHttpConfig.py +1 -1
  578. metadata/generated/schema/metadataIngestion/dbtconfig/dbtLocalConfig.py +1 -1
  579. metadata/generated/schema/metadataIngestion/dbtconfig/dbtS3Config.py +1 -1
  580. metadata/generated/schema/metadataIngestion/messagingServiceMetadataPipeline.py +1 -1
  581. metadata/generated/schema/metadataIngestion/metadataToElasticSearchPipeline.py +1 -1
  582. metadata/generated/schema/metadataIngestion/mlmodelServiceMetadataPipeline.py +1 -1
  583. metadata/generated/schema/metadataIngestion/pipelineServiceMetadataPipeline.py +1 -1
  584. metadata/generated/schema/metadataIngestion/reverseIngestionPipeline.py +1 -1
  585. metadata/generated/schema/metadataIngestion/reverseingestionconfig/__init__.py +1 -1
  586. metadata/generated/schema/metadataIngestion/reverseingestionconfig/descriptionConfig.py +1 -1
  587. metadata/generated/schema/metadataIngestion/reverseingestionconfig/ownerConfig.py +1 -1
  588. metadata/generated/schema/metadataIngestion/reverseingestionconfig/tagsConfig.py +1 -1
  589. metadata/generated/schema/metadataIngestion/searchServiceMetadataPipeline.py +1 -1
  590. metadata/generated/schema/metadataIngestion/storage/__init__.py +1 -1
  591. metadata/generated/schema/metadataIngestion/storage/containerMetadataConfig.py +1 -1
  592. metadata/generated/schema/metadataIngestion/storage/manifestMetadataConfig.py +1 -1
  593. metadata/generated/schema/metadataIngestion/storage/storageBucketDetails.py +1 -1
  594. metadata/generated/schema/metadataIngestion/storage/storageMetadataADLSConfig.py +1 -1
  595. metadata/generated/schema/metadataIngestion/storage/storageMetadataGCSConfig.py +1 -1
  596. metadata/generated/schema/metadataIngestion/storage/storageMetadataHttpConfig.py +1 -1
  597. metadata/generated/schema/metadataIngestion/storage/storageMetadataLocalConfig.py +1 -1
  598. metadata/generated/schema/metadataIngestion/storage/storageMetadataS3Config.py +1 -1
  599. metadata/generated/schema/metadataIngestion/storageServiceMetadataPipeline.py +1 -1
  600. metadata/generated/schema/metadataIngestion/testSuitePipeline.py +1 -1
  601. metadata/generated/schema/metadataIngestion/workflow.py +8 -1
  602. metadata/generated/schema/monitoring/__init__.py +1 -1
  603. metadata/generated/schema/monitoring/eventMonitorProvider.py +1 -1
  604. metadata/generated/schema/search/__init__.py +1 -1
  605. metadata/generated/schema/search/aggregationRequest.py +1 -1
  606. metadata/generated/schema/search/searchRequest.py +1 -1
  607. metadata/generated/schema/security/__init__.py +1 -1
  608. metadata/generated/schema/security/client/__init__.py +1 -1
  609. metadata/generated/schema/security/client/auth0SSOClientConfig.py +1 -1
  610. metadata/generated/schema/security/client/azureSSOClientConfig.py +1 -1
  611. metadata/generated/schema/security/client/customOidcSSOClientConfig.py +1 -1
  612. metadata/generated/schema/security/client/googleSSOClientConfig.py +1 -1
  613. metadata/generated/schema/security/client/oidcClientConfig.py +4 -1
  614. metadata/generated/schema/security/client/oktaSSOClientConfig.py +1 -1
  615. metadata/generated/schema/security/client/openMetadataJWTClientConfig.py +1 -1
  616. metadata/generated/schema/security/client/samlSSOClientConfig.py +1 -1
  617. metadata/generated/schema/security/credentials/__init__.py +1 -1
  618. metadata/generated/schema/security/credentials/accessTokenAuth.py +1 -1
  619. metadata/generated/schema/security/credentials/apiAccessTokenAuth.py +1 -1
  620. metadata/generated/schema/security/credentials/awsCredentials.py +1 -1
  621. metadata/generated/schema/security/credentials/azureCredentials.py +1 -1
  622. metadata/generated/schema/security/credentials/basicAuth.py +1 -1
  623. metadata/generated/schema/security/credentials/bitbucketCredentials.py +1 -1
  624. metadata/generated/schema/security/credentials/gcpCredentials.py +1 -1
  625. metadata/generated/schema/security/credentials/gcpExternalAccount.py +1 -1
  626. metadata/generated/schema/security/credentials/gcpValues.py +1 -1
  627. metadata/generated/schema/security/credentials/gitCredentials.py +1 -1
  628. metadata/generated/schema/security/credentials/githubCredentials.py +1 -1
  629. metadata/generated/schema/security/credentials/gitlabCredentials.py +1 -1
  630. metadata/generated/schema/security/sasl/__init__.py +1 -1
  631. metadata/generated/schema/security/sasl/saslClientConfig.py +1 -1
  632. metadata/generated/schema/security/secrets/__init__.py +1 -1
  633. metadata/generated/schema/security/secrets/secretsManagerClientLoader.py +1 -1
  634. metadata/generated/schema/security/secrets/secretsManagerConfiguration.py +1 -1
  635. metadata/generated/schema/security/secrets/secretsManagerProvider.py +1 -1
  636. metadata/generated/schema/security/securityConfiguration.py +1 -1
  637. metadata/generated/schema/security/ssl/__init__.py +1 -1
  638. metadata/generated/schema/security/ssl/validateSSLClientConfig.py +1 -1
  639. metadata/generated/schema/security/ssl/verifySSLConfig.py +1 -1
  640. metadata/generated/schema/settings/__init__.py +1 -1
  641. metadata/generated/schema/settings/settings.py +1 -1
  642. metadata/generated/schema/system/__init__.py +1 -1
  643. metadata/generated/schema/system/entityError.py +1 -1
  644. metadata/generated/schema/system/eventPublisherJob.py +17 -5
  645. metadata/generated/schema/system/indexingError.py +2 -2
  646. metadata/generated/schema/system/limitsResponse.py +1 -1
  647. metadata/generated/schema/system/ui/__init__.py +1 -1
  648. metadata/generated/schema/system/ui/knowledgePanel.py +1 -1
  649. metadata/generated/schema/system/ui/navigationItem.py +1 -1
  650. metadata/generated/schema/system/ui/page.py +1 -1
  651. metadata/generated/schema/system/ui/tab.py +1 -1
  652. metadata/generated/schema/system/ui/uiCustomization.py +1 -1
  653. metadata/generated/schema/system/validationResponse.py +1 -1
  654. metadata/generated/schema/tests/__init__.py +1 -1
  655. metadata/generated/schema/tests/assigned.py +1 -1
  656. metadata/generated/schema/tests/basic.py +20 -20
  657. metadata/generated/schema/tests/customMetric.py +1 -1
  658. metadata/generated/schema/tests/dataQualityReport.py +1 -1
  659. metadata/generated/schema/tests/resolved.py +1 -1
  660. metadata/generated/schema/tests/testCase.py +1 -1
  661. metadata/generated/schema/tests/testCaseResolutionStatus.py +1 -1
  662. metadata/generated/schema/tests/testDefinition.py +1 -1
  663. metadata/generated/schema/tests/testSuite.py +1 -1
  664. metadata/generated/schema/type/__init__.py +1 -1
  665. metadata/generated/schema/type/apiSchema.py +1 -1
  666. metadata/generated/schema/type/assetCertification.py +1 -1
  667. metadata/generated/schema/type/auditLog.py +1 -1
  668. metadata/generated/schema/type/basic.py +1 -1
  669. metadata/generated/schema/type/bulkOperationResult.py +1 -1
  670. metadata/generated/schema/type/changeEvent.py +1 -1
  671. metadata/generated/schema/type/changeEventType.py +1 -1
  672. metadata/generated/schema/type/changeSummaryMap.py +1 -1
  673. metadata/generated/schema/type/collectionDescriptor.py +1 -1
  674. metadata/generated/schema/type/csvDocumentation.py +1 -1
  675. metadata/generated/schema/type/csvErrorType.py +1 -1
  676. metadata/generated/schema/type/csvFile.py +1 -1
  677. metadata/generated/schema/type/csvImportResult.py +1 -1
  678. metadata/generated/schema/type/customProperties/__init__.py +1 -1
  679. metadata/generated/schema/type/customProperties/complexTypes.py +1 -1
  680. metadata/generated/schema/type/customProperties/enumConfig.py +1 -1
  681. metadata/generated/schema/type/customProperties/tableConfig.py +1 -1
  682. metadata/generated/schema/type/customProperty.py +1 -1
  683. metadata/generated/schema/type/dailyCount.py +1 -1
  684. metadata/generated/schema/type/databaseConnectionConfig.py +1 -1
  685. metadata/generated/schema/type/entityHierarchy.py +1 -1
  686. metadata/generated/schema/type/entityHistory.py +1 -1
  687. metadata/generated/schema/type/entityLineage.py +1 -1
  688. metadata/generated/schema/type/entityReference.py +1 -1
  689. metadata/generated/schema/type/entityReferenceList.py +1 -1
  690. metadata/generated/schema/type/entityRelationship.py +1 -1
  691. metadata/generated/schema/type/entityUsage.py +1 -1
  692. metadata/generated/schema/type/filterPattern.py +1 -1
  693. metadata/generated/schema/type/function.py +1 -1
  694. metadata/generated/schema/type/include.py +1 -1
  695. metadata/generated/schema/type/jdbcConnection.py +1 -1
  696. metadata/generated/schema/type/lifeCycle.py +1 -1
  697. metadata/generated/schema/type/paging.py +1 -1
  698. metadata/generated/schema/type/profile.py +1 -1
  699. metadata/generated/schema/type/queryParserData.py +1 -1
  700. metadata/generated/schema/type/reaction.py +1 -1
  701. metadata/generated/schema/type/schedule.py +1 -1
  702. metadata/generated/schema/type/schema.py +1 -1
  703. metadata/generated/schema/type/tableQuery.py +1 -1
  704. metadata/generated/schema/type/tableUsageCount.py +1 -1
  705. metadata/generated/schema/type/tagLabel.py +2 -1
  706. metadata/generated/schema/type/usageDetails.py +1 -1
  707. metadata/generated/schema/type/usageRequest.py +1 -1
  708. metadata/generated/schema/type/votes.py +1 -1
  709. metadata/ingestion/api/topology_runner.py +30 -7
  710. metadata/ingestion/lineage/parser.py +2 -1
  711. metadata/ingestion/models/custom_pydantic.py +30 -2
  712. metadata/ingestion/models/patch_request.py +71 -3
  713. metadata/ingestion/ometa/mixins/es_mixin.py +11 -5
  714. metadata/ingestion/source/api/rest/connection.py +14 -12
  715. metadata/ingestion/source/api/rest/metadata.py +15 -2
  716. metadata/ingestion/source/dashboard/dashboard_service.py +1 -0
  717. metadata/ingestion/source/dashboard/powerbi/metadata.py +122 -38
  718. metadata/ingestion/source/dashboard/powerbi/models.py +22 -0
  719. metadata/ingestion/source/dashboard/tableau/client.py +152 -171
  720. metadata/ingestion/source/dashboard/tableau/connection.py +23 -48
  721. metadata/ingestion/source/dashboard/tableau/metadata.py +73 -99
  722. metadata/ingestion/source/dashboard/tableau/models.py +8 -18
  723. metadata/ingestion/source/dashboard/tableau/queries.py +2 -2
  724. metadata/ingestion/source/database/athena/metadata.py +26 -0
  725. metadata/ingestion/source/database/bigquery/connection.py +8 -3
  726. metadata/ingestion/source/database/bigquery/helper.py +8 -6
  727. metadata/ingestion/source/database/bigquery/metadata.py +23 -14
  728. metadata/ingestion/source/database/clickhouse/metadata.py +0 -33
  729. metadata/ingestion/source/database/common_db_source.py +13 -26
  730. metadata/ingestion/source/database/dbt/metadata.py +30 -17
  731. metadata/ingestion/source/database/hive/metadata.py +8 -1
  732. metadata/ingestion/source/database/life_cycle_query_mixin.py +9 -0
  733. metadata/ingestion/source/database/mysql/connection.py +11 -3
  734. metadata/ingestion/source/database/mysql/lineage.py +4 -4
  735. metadata/ingestion/source/database/mysql/queries.py +29 -0
  736. metadata/ingestion/source/database/mysql/query_parser.py +31 -0
  737. metadata/ingestion/source/database/oracle/metadata.py +0 -39
  738. metadata/ingestion/source/database/oracle/queries.py +2 -2
  739. metadata/ingestion/source/database/oracle/utils.py +0 -14
  740. metadata/ingestion/source/database/postgres/metadata.py +3 -1
  741. metadata/ingestion/source/database/postgres/queries.py +7 -0
  742. metadata/ingestion/source/database/postgres/utils.py +28 -19
  743. metadata/ingestion/source/database/snowflake/data_diff/__init__.py +0 -0
  744. metadata/ingestion/source/database/snowflake/data_diff/data_diff.py +37 -0
  745. metadata/ingestion/source/database/snowflake/metadata.py +77 -31
  746. metadata/ingestion/source/database/snowflake/queries.py +15 -7
  747. metadata/ingestion/source/database/snowflake/service_spec.py +4 -0
  748. metadata/ingestion/source/database/snowflake/utils.py +37 -17
  749. metadata/ingestion/source/database/unitycatalog/metadata.py +0 -15
  750. metadata/ingestion/source/database/vertica/queries.py +5 -20
  751. metadata/ingestion/source/messaging/kinesis/metadata.py +3 -0
  752. metadata/ingestion/source/pipeline/airbyte/constants.py +29 -0
  753. metadata/ingestion/source/pipeline/airbyte/metadata.py +67 -26
  754. metadata/ingestion/source/pipeline/airbyte/utils.py +99 -0
  755. metadata/ingestion/source/pipeline/openlineage/models.py +3 -2
  756. metadata/ingestion/source/pipeline/pipeline_service.py +2 -3
  757. metadata/ingestion/source/storage/s3/metadata.py +7 -8
  758. metadata/pii/algorithms/classifiers.py +180 -0
  759. metadata/pii/algorithms/column_patterns.py +61 -0
  760. metadata/pii/algorithms/feature_extraction.py +154 -0
  761. metadata/pii/algorithms/preprocessing.py +62 -0
  762. metadata/pii/algorithms/presidio_patches.py +45 -0
  763. metadata/pii/algorithms/presidio_utils.py +119 -0
  764. metadata/pii/algorithms/tags.py +111 -0
  765. metadata/pii/algorithms/utils.py +38 -0
  766. metadata/pii/base_processor.py +125 -0
  767. metadata/pii/constants.py +8 -0
  768. metadata/pii/processor.py +42 -138
  769. metadata/profiler/interface/sqlalchemy/profiler_interface.py +66 -36
  770. metadata/profiler/processor/runner.py +29 -6
  771. metadata/profiler/source/database/bigquery/profiler_source.py +2 -20
  772. metadata/profiler/source/database/mssql/profiler_source.py +86 -0
  773. metadata/profiler/source/fetcher/profiler_source_factory.py +13 -0
  774. metadata/readers/dataframe/json.py +5 -1
  775. metadata/readers/dataframe/parquet.py +10 -2
  776. metadata/readers/dataframe/reader_factory.py +8 -0
  777. metadata/sampler/processor.py +8 -1
  778. metadata/sampler/sampler_interface.py +3 -0
  779. metadata/sampler/sqlalchemy/bigquery/sampler.py +5 -0
  780. metadata/sampler/sqlalchemy/sampler.py +32 -40
  781. metadata/utils/bigquery_utils.py +35 -0
  782. metadata/utils/datalake/datalake_utils.py +9 -3
  783. metadata/utils/fqn.py +4 -4
  784. metadata/utils/service_spec/default.py +4 -0
  785. metadata/utils/service_spec/service_spec.py +1 -0
  786. metadata/utils/sqa_utils.py +15 -0
  787. metadata/utils/sqlalchemy_utils.py +5 -2
  788. metadata/workflow/base.py +8 -1
  789. metadata/workflow/profiler.py +9 -9
  790. metadata/workflow/workflow_status_mixin.py +1 -7
  791. {openmetadata_ingestion-1.7.0.0rc2.dist-info → openmetadata_ingestion-1.7.1.0.dist-info}/METADATA +432 -424
  792. {openmetadata_ingestion-1.7.0.0rc2.dist-info → openmetadata_ingestion-1.7.1.0.dist-info}/RECORD +796 -776
  793. {openmetadata_ingestion-1.7.0.0rc2.dist-info → openmetadata_ingestion-1.7.1.0.dist-info}/LICENSE +0 -0
  794. {openmetadata_ingestion-1.7.0.0rc2.dist-info → openmetadata_ingestion-1.7.1.0.dist-info}/WHEEL +0 -0
  795. {openmetadata_ingestion-1.7.0.0rc2.dist-info → openmetadata_ingestion-1.7.1.0.dist-info}/entry_points.txt +0 -0
  796. {openmetadata_ingestion-1.7.0.0rc2.dist-info → openmetadata_ingestion-1.7.1.0.dist-info}/top_level.txt +0 -0
@@ -116,7 +116,11 @@ from metadata.ingestion.source.database.snowflake.utils import (
116
116
  from metadata.utils import fqn
117
117
  from metadata.utils.filters import filter_by_database
118
118
  from metadata.utils.logger import ingestion_logger
119
- from metadata.utils.sqlalchemy_utils import get_all_table_comments, get_all_table_ddls
119
+ from metadata.utils.sqlalchemy_utils import (
120
+ get_all_table_comments,
121
+ get_all_table_ddls,
122
+ get_all_view_definitions,
123
+ )
120
124
  from metadata.utils.tag_utils import get_ometa_tag_and_classification
121
125
 
122
126
  ischema_names["VARIANT"] = VARIANT
@@ -134,6 +138,7 @@ SnowflakeDialect.get_stream_names = get_stream_names
134
138
  SnowflakeDialect.get_all_table_comments = get_all_table_comments
135
139
  SnowflakeDialect.normalize_name = normalize_names
136
140
  SnowflakeDialect.get_table_comment = get_table_comment
141
+ SnowflakeDialect.get_all_view_definitions = get_all_view_definitions
137
142
  SnowflakeDialect.get_view_definition = get_view_definition
138
143
  SnowflakeDialect.get_unique_constraints = get_unique_constraints
139
144
  SnowflakeDialect._get_schema_columns = ( # pylint: disable=protected-access
@@ -164,6 +169,8 @@ class SnowflakeSource(
164
169
  Database metadata from Snowflake Source
165
170
  """
166
171
 
172
+ service_connection: SnowflakeConnection
173
+
167
174
  def __init__(
168
175
  self,
169
176
  config,
@@ -487,6 +494,7 @@ class SnowflakeSource(
487
494
  snowflake_tables = self.inspector.get_table_names(
488
495
  schema=schema_name,
489
496
  incremental=self.incremental,
497
+ account_usage=self.service_connection.accountUsageSchema,
490
498
  **table_type_to_params_map[table_type],
491
499
  )
492
500
 
@@ -635,6 +643,7 @@ class SnowflakeSource(
635
643
  snowflake_views = self.inspector.get_view_names(
636
644
  schema=schema_name,
637
645
  incremental=self.incremental,
646
+ account_usage=self.service_connection.accountUsageSchema,
638
647
  materialized_views=materialized_views,
639
648
  )
640
649
 
@@ -678,24 +687,28 @@ class SnowflakeSource(
678
687
  def _get_stored_procedures_internal(
679
688
  self, query: str
680
689
  ) -> Iterable[SnowflakeStoredProcedure]:
681
- results = self.engine.execute(
682
- query.format(
683
- database_name=self.context.get().database,
684
- schema_name=self.context.get().database_schema,
685
- account_usage=self.service_connection.accountUsageSchema,
686
- )
687
- ).all()
688
- for row in results:
689
- stored_procedure = SnowflakeStoredProcedure.model_validate(dict(row))
690
- if stored_procedure.definition is None:
691
- logger.debug(
692
- f"Missing ownership permissions on procedure {stored_procedure.name}."
693
- " Trying to fetch description via DESCRIBE."
694
- )
695
- stored_procedure.definition = self.describe_procedure_definition(
696
- stored_procedure
690
+ try:
691
+ results = self.engine.execute(
692
+ query.format(
693
+ database_name=self.context.get().database,
694
+ schema_name=self.context.get().database_schema,
695
+ account_usage=self.service_connection.accountUsageSchema,
697
696
  )
698
- yield stored_procedure
697
+ ).all()
698
+ for row in results:
699
+ stored_procedure = SnowflakeStoredProcedure.model_validate(dict(row))
700
+ if stored_procedure.definition is None:
701
+ logger.debug(
702
+ f"Missing ownership permissions on procedure {stored_procedure.name}."
703
+ " Trying to fetch description via DESCRIBE."
704
+ )
705
+ stored_procedure.definition = self.describe_procedure_definition(
706
+ stored_procedure
707
+ )
708
+ yield stored_procedure
709
+ except Exception as exc:
710
+ logger.debug(traceback.format_exc())
711
+ logger.error(f"Error fetching stored procedures: {exc}")
699
712
 
700
713
  def get_stored_procedures(self) -> Iterable[SnowflakeStoredProcedure]:
701
714
  """List Snowflake stored procedures"""
@@ -715,19 +728,27 @@ class SnowflakeSource(
715
728
  Then, if the procedure is created with `EXECUTE AS CALLER`, we can still try to
716
729
  get the definition with a DESCRIBE.
717
730
  """
718
- if stored_procedure.procedure_type == StoredProcedureType.StoredProcedure.value:
719
- query = SNOWFLAKE_DESC_STORED_PROCEDURE
720
- else:
721
- query = SNOWFLAKE_DESC_FUNCTION
722
- res = self.engine.execute(
723
- query.format(
724
- database_name=self.context.get().database,
725
- schema_name=self.context.get().database_schema,
726
- procedure_name=stored_procedure.name,
727
- procedure_signature=stored_procedure.unquote_signature(),
731
+ try:
732
+ if (
733
+ stored_procedure.procedure_type
734
+ == StoredProcedureType.StoredProcedure.value
735
+ ):
736
+ query = SNOWFLAKE_DESC_STORED_PROCEDURE
737
+ else:
738
+ query = SNOWFLAKE_DESC_FUNCTION
739
+ res = self.engine.execute(
740
+ query.format(
741
+ database_name=self.context.get().database,
742
+ schema_name=self.context.get().database_schema,
743
+ procedure_name=stored_procedure.name,
744
+ procedure_signature=stored_procedure.unquote_signature(),
745
+ )
728
746
  )
729
- )
730
- return dict(res.all()).get("body", "")
747
+ return dict(res.all()).get("body", "")
748
+ except Exception as exc:
749
+ logger.debug(traceback.format_exc())
750
+ logger.error(f"Error fetching stored procedure definition: {exc}")
751
+ return ""
731
752
 
732
753
  def yield_stored_procedure(
733
754
  self, stored_procedure: SnowflakeStoredProcedure
@@ -835,6 +856,21 @@ class SnowflakeSource(
835
856
  ) -> Optional[str]:
836
857
  """
837
858
  Get the DDL statement, View Definition or Stream Definition for a table
859
+
860
+ To fetch the view definition, we have followed an optimised approach
861
+ i.e. fetching view definition of all the views in schema storing it
862
+ in cache and using the same cache to fetch the view definition.
863
+
864
+ To fetch defintion for other types of tables, we have used the
865
+ get_ddl method, since this method only accepts string literal as arguments
866
+ it is not possible to do something like this:
867
+
868
+ select table_name, schema, get_ddl('table', table_name) from information_schema.tables
869
+ so we have to fetch the ddl for each table individually.
870
+
871
+ Alternavies are executing an stroed procedure to automate this but
872
+ it requires additional permissions like execute which users may not be comfortable doing.
873
+ Or reconstruct the ddl from column types, which we can explore in the future.
838
874
  """
839
875
  try:
840
876
  schema_definition = None
@@ -846,7 +882,7 @@ class SnowflakeSource(
846
882
  schema_definition = inspector.get_stream_definition(
847
883
  self.connection, table_name, schema_name
848
884
  )
849
- elif hasattr(inspector, "get_table_ddl") and self.source_config.includeDDL:
885
+ elif self.source_config.includeDDL or table_type == TableType.Dynamic:
850
886
  schema_definition = inspector.get_table_ddl(
851
887
  self.connection, table_name, schema_name
852
888
  )
@@ -862,3 +898,13 @@ class SnowflakeSource(
862
898
  logger.debug(f"Failed to fetch schema definition for {table_name}: {exc}")
863
899
 
864
900
  return None
901
+
902
+ def get_life_cycle_query(self):
903
+ """
904
+ Get the life cycle query
905
+ """
906
+ return self.life_cycle_query.format(
907
+ database_name=self.context.get().database,
908
+ schema_name=self.context.get().database_schema,
909
+ account_usage=self.service_connection.accountUsageSchema,
910
+ )
@@ -60,7 +60,7 @@ from (
60
60
  ROW_NUMBER() over (
61
61
  partition by TABLE_NAME order by LAST_DDL desc
62
62
  ) as ROW_NUMBER
63
- from snowflake.account_usage.tables
63
+ from {account_usage}.tables
64
64
  where TABLE_CATALOG = '{database}'
65
65
  and TABLE_SCHEMA = '{schema}'
66
66
  and TABLE_TYPE = 'EXTERNAL TABLE'
@@ -86,7 +86,7 @@ from (
86
86
  ROW_NUMBER() over (
87
87
  partition by TABLE_NAME order by LAST_DDL desc
88
88
  ) as ROW_NUMBER
89
- from snowflake.account_usage.tables
89
+ from {account_usage}.tables
90
90
  where TABLE_CATALOG = '{database}'
91
91
  and TABLE_SCHEMA = '{schema}'
92
92
  and TABLE_TYPE = 'BASE TABLE'
@@ -111,7 +111,7 @@ from (
111
111
  ROW_NUMBER() over (
112
112
  partition by TABLE_NAME order by LAST_DDL desc
113
113
  ) as ROW_NUMBER
114
- from snowflake.account_usage.tables
114
+ from {account_usage}.tables
115
115
  where TABLE_CATALOG = '{database}'
116
116
  and TABLE_SCHEMA = '{schema}'
117
117
  and TABLE_TYPE = 'VIEW'
@@ -134,7 +134,7 @@ from (
134
134
  ROW_NUMBER() over (
135
135
  partition by TABLE_NAME order by LAST_DDL desc
136
136
  ) as ROW_NUMBER
137
- from snowflake.account_usage.tables
137
+ from {account_usage}.tables
138
138
  where TABLE_CATALOG = '{database}'
139
139
  and TABLE_SCHEMA = '{schema}'
140
140
  and TABLE_TYPE = 'MATERIALIZED VIEW'
@@ -171,7 +171,7 @@ from (
171
171
  ROW_NUMBER() over (
172
172
  partition by TABLE_NAME order by LAST_DDL desc
173
173
  ) as ROW_NUMBER
174
- from snowflake.account_usage.tables
174
+ from {account_usage}.tables
175
175
  where TABLE_CATALOG = '{database}'
176
176
  and TABLE_SCHEMA = '{schema}'
177
177
  and TABLE_TYPE = 'BASE TABLE'
@@ -197,7 +197,7 @@ from (
197
197
  ROW_NUMBER() over (
198
198
  partition by TABLE_NAME order by LAST_DDL desc
199
199
  ) as ROW_NUMBER
200
- from snowflake.account_usage.tables
200
+ from {account_usage}.tables
201
201
  where TABLE_CATALOG = '{database}'
202
202
  and TABLE_SCHEMA = '{schema}'
203
203
  and TABLE_TYPE = 'BASE TABLE'
@@ -297,7 +297,7 @@ SNOWFLAKE_LIFE_CYCLE_QUERY = textwrap.dedent(
297
297
  select
298
298
  table_name as table_name,
299
299
  created as created_at
300
- from snowflake.account_usage.tables
300
+ from {account_usage}.tables
301
301
  where table_schema = '{schema_name}'
302
302
  and table_catalog = '{database_name}'
303
303
  """
@@ -407,6 +407,14 @@ SELECT GET_DDL('TABLE','{table_name}') AS \"text\"
407
407
  """
408
408
 
409
409
  SNOWFLAKE_GET_VIEW_DEFINITION = """
410
+ SELECT table_name "view_name",
411
+ table_schema "schema",
412
+ view_definition "view_def"
413
+ FROM information_schema.views
414
+ WHERE view_definition is not null
415
+ """
416
+
417
+ SNOWFLAKE_GET_VIEW_DDL = """
410
418
  SELECT GET_DDL('VIEW','{view_name}') AS \"text\"
411
419
  """
412
420
 
@@ -1,6 +1,9 @@
1
1
  from metadata.data_quality.interface.sqlalchemy.snowflake.test_suite_interface import (
2
2
  SnowflakeTestSuiteInterface,
3
3
  )
4
+ from metadata.ingestion.source.database.snowflake.data_diff.data_diff import (
5
+ SnowflakeTableParameter,
6
+ )
4
7
  from metadata.ingestion.source.database.snowflake.lineage import SnowflakeLineageSource
5
8
  from metadata.ingestion.source.database.snowflake.metadata import SnowflakeSource
6
9
  from metadata.ingestion.source.database.snowflake.profiler.profiler import (
@@ -17,4 +20,5 @@ ServiceSpec = DefaultDatabaseSpec(
17
20
  profiler_class=SnowflakeProfiler,
18
21
  test_suite_class=SnowflakeTestSuiteInterface,
19
22
  sampler_class=SnowflakeSampler,
23
+ data_diff=SnowflakeTableParameter,
20
24
  )
@@ -41,6 +41,7 @@ from metadata.ingestion.source.database.snowflake.queries import (
41
41
  SNOWFLAKE_GET_STREAM_NAMES,
42
42
  SNOWFLAKE_GET_TABLE_DDL,
43
43
  SNOWFLAKE_GET_TRANSIENT_NAMES,
44
+ SNOWFLAKE_GET_VIEW_DDL,
44
45
  SNOWFLAKE_GET_VIEW_DEFINITION,
45
46
  SNOWFLAKE_GET_VIEW_NAMES,
46
47
  SNOWFLAKE_GET_WITHOUT_TRANSIENT_TABLE_NAMES,
@@ -56,6 +57,7 @@ from metadata.utils import fqn
56
57
  from metadata.utils.sqlalchemy_utils import (
57
58
  get_display_datatype,
58
59
  get_table_comment_wrapper,
60
+ get_view_definition_wrapper,
59
61
  )
60
62
 
61
63
  dialect = SnowflakeDialect()
@@ -187,7 +189,11 @@ def _get_query_map(
187
189
 
188
190
 
189
191
  def _get_query_parameters(
190
- self, connection, schema: str, incremental: Optional[IncrementalConfig]
192
+ self,
193
+ connection,
194
+ schema: str,
195
+ incremental: Optional[IncrementalConfig],
196
+ account_usage: Optional[str] = None,
191
197
  ):
192
198
  """Returns the proper query parameters depending if the extraction is Incremental or Full"""
193
199
  parameters = {"schema": fqn.unquote_name(schema)}
@@ -198,6 +204,7 @@ def _get_query_parameters(
198
204
  **parameters,
199
205
  "date": incremental.start_timestamp,
200
206
  "database": database,
207
+ "account_usage": account_usage or "SNOWFLAKE.ACCOUNT_USAGE",
201
208
  }
202
209
 
203
210
  return parameters
@@ -206,9 +213,12 @@ def _get_query_parameters(
206
213
  def get_table_names(self, connection, schema: str, **kw):
207
214
  """Return the Table names to process based on the incremental setup."""
208
215
  incremental = kw.get("incremental")
216
+ account_usage = kw.get("account_usage")
209
217
 
210
218
  queries = _get_query_map(incremental, TABLE_QUERY_MAPS)
211
- parameters = _get_query_parameters(self, connection, schema, incremental)
219
+ parameters = _get_query_parameters(
220
+ self, connection, schema, incremental, account_usage
221
+ )
212
222
 
213
223
  query = queries["default"]
214
224
 
@@ -233,9 +243,12 @@ def get_table_names(self, connection, schema: str, **kw):
233
243
 
234
244
  def get_view_names(self, connection, schema, **kw):
235
245
  incremental = kw.get("incremental")
246
+ account_usage = kw.get("account_usage")
236
247
 
237
248
  queries = _get_query_map(incremental, VIEW_QUERY_MAPS)
238
- parameters = _get_query_parameters(self, connection, schema, incremental)
249
+ parameters = _get_query_parameters(
250
+ self, connection, schema, incremental, account_usage
251
+ )
239
252
 
240
253
  if kw.get("materialized_views"):
241
254
  query = queries["materialized_views"]
@@ -271,22 +284,29 @@ def get_stream_names(self, connection, schema, **kw):
271
284
 
272
285
 
273
286
  @reflection.cache
274
- def get_view_definition( # pylint: disable=unused-argument
275
- self, connection, view_name, schema=None, **kw
276
- ):
277
- """
278
- Gets the view definition
279
- """
280
- schema = schema or self.default_schema_name
281
- view_name = f"{schema}.{view_name}" if schema else view_name
282
- cursor = connection.execute(
283
- SNOWFLAKE_GET_VIEW_DEFINITION.format(view_name=view_name)
287
+ def get_view_definition(
288
+ self, connection, table_name, schema=None, **kw
289
+ ): # pylint: disable=unused-argument
290
+ view_definition = get_view_definition_wrapper(
291
+ self,
292
+ connection,
293
+ table_name=table_name,
294
+ schema=schema,
295
+ query=SNOWFLAKE_GET_VIEW_DEFINITION,
284
296
  )
285
- n2i = self.__class__._map_name_to_idx(cursor) # pylint: disable=protected-access
297
+ if view_definition:
298
+ return view_definition
299
+
300
+ # If the view definition is not found via optimized query,
301
+ # we need to get the view definition from the view ddl
302
+
303
+ schema = schema or self.default_schema_name
304
+ view_name = f"{schema}.{table_name}" if schema else table_name
305
+ cursor = connection.execute(SNOWFLAKE_GET_VIEW_DDL.format(view_name=view_name))
286
306
  try:
287
- ret = cursor.fetchone()
288
- if ret:
289
- return ret[n2i["text"]]
307
+ result = cursor.fetchone()
308
+ if result:
309
+ return result[0]
290
310
  except Exception:
291
311
  pass
292
312
  return None
@@ -72,7 +72,6 @@ from metadata.ingestion.source.database.unitycatalog.models import (
72
72
  ForeignConstrains,
73
73
  Type,
74
74
  )
75
- from metadata.ingestion.source.models import TableView
76
75
  from metadata.utils import fqn
77
76
  from metadata.utils.filters import filter_by_database, filter_by_schema, filter_by_table
78
77
  from metadata.utils.helpers import retry_with_docker_host
@@ -97,7 +96,6 @@ class UnitycatalogSource(
97
96
  self.source_config: DatabaseServiceMetadataPipeline = (
98
97
  self.config.sourceConfig.config
99
98
  )
100
- self.context.get_global().table_views = []
101
99
  self.metadata = metadata
102
100
  self.service_connection: UnityCatalogConnection = (
103
101
  self.config.serviceConnection.root.config
@@ -346,19 +344,6 @@ class UnitycatalogSource(
346
344
  )
347
345
  yield Either(right=table_request)
348
346
 
349
- if table_type == TableType.View or table.view_definition:
350
- self.context.get_global().table_views.append(
351
- TableView(
352
- table_name=table_name,
353
- schema_name=schema_name,
354
- db_name=db_name,
355
- view_definition=(
356
- f'CREATE VIEW "{db_name}"."{schema_name}"'
357
- f'."{table_name}" AS {table.view_definition}'
358
- ),
359
- )
360
- )
361
-
362
347
  self.register_record(table_request=table_request)
363
348
  except Exception as exc:
364
349
  yield Either(
@@ -28,20 +28,6 @@ import textwrap
28
28
  # v_catalog.comments with v_catalog.columns.
29
29
  VERTICA_GET_COLUMNS = textwrap.dedent(
30
30
  """
31
- WITH column_projection as (
32
- SELECT
33
- column_id,
34
- proj.projection_name
35
- FROM v_catalog.columns col,
36
- v_catalog.projections proj
37
- where lower(table_name) = '{table}'
38
- AND {schema_condition}
39
- AND proj.projection_id in (
40
- select
41
- min(projection_id)
42
- from v_catalog.projections sub_proj
43
- where col.table_id=sub_proj.anchor_table_id
44
- ))
45
31
  select
46
32
  column_name,
47
33
  data_type,
@@ -50,12 +36,11 @@ VERTICA_GET_COLUMNS = textwrap.dedent(
50
36
  comment
51
37
  from
52
38
  v_catalog.columns col
53
- LEFT JOIN column_projection proj ON proj.column_id = col.column_id
54
- LEFT JOIN v_catalog.comments com ON com.object_type = 'COLUMN'
55
- AND com.object_name = CONCAT(
56
- CONCAT(proj.projection_name, '.'),
57
- col.column_name
58
- )
39
+ LEFT JOIN v_catalog.comments cm
40
+ ON col.table_schema = cm.object_schema
41
+ AND col.table_name = cm.object_name
42
+ AND col.column_name = cm.child_object
43
+ AND cm.object_type = 'COLUMN'
59
44
  WHERE
60
45
  lower(table_name) = '{table}'
61
46
  AND {schema_condition}
@@ -185,6 +185,9 @@ class KinesisSource(MessagingServiceSource):
185
185
  try:
186
186
  while has_more_partitions:
187
187
  partitions = self.kinesis.list_shards(**args.dict())
188
+ # Handle the case when NextToken is not present
189
+ if "NextToken" not in partitions:
190
+ partitions["NextToken"] = None
188
191
  kinesis_partitions_model = KinesisPartitions(**partitions)
189
192
  all_partitions.extend(
190
193
  [
@@ -0,0 +1,29 @@
1
+ # Copyright 2025 Collate
2
+ # Licensed under the Collate Community License, Version 1.0 (the "License");
3
+ # you may not use this file except in compliance with the License.
4
+ # You may obtain a copy of the License at
5
+ # https://github.com/open-metadata/OpenMetadata/blob/main/ingestion/LICENSE
6
+ # Unless required by applicable law or agreed to in writing, software
7
+ # distributed under the License is distributed on an "AS IS" BASIS,
8
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
9
+ # See the License for the specific language governing permissions and
10
+ # limitations under the License.
11
+
12
+ """
13
+ Constants for Airbyte
14
+ """
15
+
16
+ from enum import Enum
17
+
18
+
19
+ class AirbyteSource(Enum):
20
+ MYSQL = "MySQL"
21
+ POSTGRES = "Postgres"
22
+ MSSQL = "Microsoft SQL Server (MSSQL)"
23
+ MONGODB = "MongoDb"
24
+
25
+
26
+ class AirbyteDestination(Enum):
27
+ MYSQL = "MySQL"
28
+ POSTGRES = "Postgres"
29
+ MSSQL = "MS SQL Server"
@@ -29,7 +29,6 @@ from metadata.generated.schema.entity.data.table import Table
29
29
  from metadata.generated.schema.entity.services.connections.pipeline.airbyteConnection import (
30
30
  AirbyteConnection,
31
31
  )
32
- from metadata.generated.schema.entity.services.databaseService import DatabaseService
33
32
  from metadata.generated.schema.metadataIngestion.workflow import (
34
33
  Source as WorkflowSource,
35
34
  )
@@ -46,12 +45,16 @@ from metadata.ingestion.api.models import Either
46
45
  from metadata.ingestion.api.steps import InvalidSourceException
47
46
  from metadata.ingestion.models.pipeline_status import OMetaPipelineStatus
48
47
  from metadata.ingestion.ometa.ometa_api import OpenMetadata
48
+ from metadata.ingestion.source.pipeline.openlineage.models import TableDetails
49
+ from metadata.ingestion.source.pipeline.openlineage.utils import FQNNotFoundException
49
50
  from metadata.ingestion.source.pipeline.pipeline_service import PipelineServiceSource
50
51
  from metadata.utils import fqn
51
52
  from metadata.utils.helpers import clean_uri
52
53
  from metadata.utils.logger import ingestion_logger
53
54
  from metadata.utils.time_utils import convert_timestamp_to_milliseconds
54
55
 
56
+ from .utils import get_destination_table_details, get_source_table_details
57
+
55
58
  logger = ingestion_logger()
56
59
 
57
60
 
@@ -189,6 +192,26 @@ class AirbyteSource(PipelineServiceSource):
189
192
  )
190
193
  )
191
194
 
195
+ def _get_table_fqn(self, table_details: TableDetails) -> Optional[str]:
196
+ """
197
+ Get the FQN of the table
198
+ """
199
+ try:
200
+ if self.get_db_service_names():
201
+ return self._get_table_fqn_from_om(table_details)
202
+
203
+ return fqn.build(
204
+ metadata=self.metadata,
205
+ entity_type=Table,
206
+ service_name="*",
207
+ database_name=table_details.database,
208
+ schema_name=table_details.schema,
209
+ table_name=table_details.name,
210
+ )
211
+ except FQNNotFoundException:
212
+ return None
213
+
214
+ # pylint: disable=too-many-locals
192
215
  def yield_pipeline_lineage_details(
193
216
  self, pipeline_details: AirbytePipelineDetails
194
217
  ) -> Iterable[Either[AddLineageRequest]]:
@@ -197,47 +220,65 @@ class AirbyteSource(PipelineServiceSource):
197
220
  :param pipeline_details: pipeline_details object from airbyte
198
221
  :return: Lineage from inlets and outlets
199
222
  """
223
+ pipeline_name = pipeline_details.connection.get("name")
200
224
  source_connection = self.client.get_source(
201
225
  pipeline_details.connection.get("sourceId")
202
226
  )
203
227
  destination_connection = self.client.get_destination(
204
228
  pipeline_details.connection.get("destinationId")
205
229
  )
206
- source_service = self.metadata.get_by_name(
207
- entity=DatabaseService, fqn=source_connection.get("name")
208
- )
209
- destination_service = self.metadata.get_by_name(
210
- entity=DatabaseService, fqn=destination_connection.get("name")
211
- )
212
- if not source_service or not destination_service:
213
- return
230
+ source_name = source_connection.get("sourceName")
231
+ destination_name = destination_connection.get("destinationName")
214
232
 
215
233
  for task in (
216
234
  pipeline_details.connection.get("syncCatalog", {}).get("streams") or []
217
235
  ):
218
236
  stream = task.get("stream")
219
- from_fqn = fqn.build(
220
- self.metadata,
221
- Table,
222
- table_name=stream.get("name"),
223
- database_name=None,
224
- schema_name=stream.get("namespace"),
225
- service_name=source_connection.get("name"),
226
- )
227
237
 
228
- to_fqn = fqn.build(
229
- self.metadata,
230
- Table,
231
- table_name=stream.get("name"),
232
- database_name=None,
233
- schema_name=stream.get("namespace"),
234
- service_name=destination_connection.get("name"),
238
+ source_table_details = get_source_table_details(stream, source_connection)
239
+ destination_table_details = get_destination_table_details(
240
+ stream, destination_connection
235
241
  )
236
242
 
243
+ if not source_table_details or not destination_table_details:
244
+ continue
245
+
246
+ from_fqn = self._get_table_fqn(source_table_details)
247
+ to_fqn = self._get_table_fqn(destination_table_details)
248
+
249
+ if not from_fqn:
250
+ logger.warning(
251
+ f"While extracting lineage: [{pipeline_name}],"
252
+ f" source table: [{source_table_details.database or '*'}]"
253
+ f".[{source_table_details.schema}].[{source_table_details.name}]"
254
+ f" (type: {source_name}) not found in openmetadata"
255
+ )
256
+ continue
257
+ if not to_fqn:
258
+ logger.warning(
259
+ f"While extracting lineage: [{pipeline_name}],"
260
+ f" destination table: [{destination_table_details.database or '*'}]"
261
+ f".[{destination_table_details.schema}].[{destination_table_details.name}]"
262
+ f" (type: {destination_name}) not found in openmetadata"
263
+ )
264
+ continue
265
+
237
266
  from_entity = self.metadata.get_by_name(entity=Table, fqn=from_fqn)
238
267
  to_entity = self.metadata.get_by_name(entity=Table, fqn=to_fqn)
239
268
 
240
- if not from_entity and not to_entity:
269
+ if not from_entity:
270
+ logger.warning(
271
+ f"While extracting lineage: [{pipeline_name}],"
272
+ f" source table (fqn: [{from_fqn}], type: {source_name}) not found"
273
+ " in openmetadata"
274
+ )
275
+ continue
276
+ if not to_entity:
277
+ logger.warning(
278
+ f"While extracting lineage: [{pipeline_name}],"
279
+ f" destination table (fqn: [{to_fqn}], type: {destination_name}) not found"
280
+ " in openmetadata"
281
+ )
241
282
  continue
242
283
 
243
284
  pipeline_fqn = fqn.build(
@@ -279,4 +320,4 @@ class AirbyteSource(PipelineServiceSource):
279
320
  """
280
321
  Get Pipeline Name
281
322
  """
282
- return pipeline_details.connection.get("connectionId")
323
+ return pipeline_details.connection.get("name")