openmetadata-ingestion 1.6.7.1__py3-none-any.whl → 1.7.0.0rc1__py3-none-any.whl

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

Potentially problematic release.


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

Files changed (867) hide show
  1. metadata/automations/execute_runner.py +49 -0
  2. metadata/automations/extended_runner.py +13 -0
  3. metadata/automations/runner.py +34 -35
  4. metadata/data_quality/validations/table/base/tableCustomSQLQuery.py +11 -1
  5. metadata/examples/workflows/cassandra.yaml +35 -0
  6. metadata/examples/workflows/cockroach.yaml +24 -0
  7. metadata/examples/workflows/nifi.yaml +51 -0
  8. metadata/examples/workflows/opensearch.yaml +20 -0
  9. metadata/generated/schema/analytics/__init__.py +1 -1
  10. metadata/generated/schema/analytics/basic.py +1 -1
  11. metadata/generated/schema/analytics/reportData.py +1 -1
  12. metadata/generated/schema/analytics/reportDataType/__init__.py +1 -1
  13. metadata/generated/schema/analytics/reportDataType/aggregatedCostAnalysisReportData.py +1 -1
  14. metadata/generated/schema/analytics/reportDataType/entityReportData.py +1 -1
  15. metadata/generated/schema/analytics/reportDataType/rawCostAnalysisReportData.py +1 -1
  16. metadata/generated/schema/analytics/reportDataType/webAnalyticEntityViewReportData.py +1 -1
  17. metadata/generated/schema/analytics/reportDataType/webAnalyticUserActivityReportData.py +1 -1
  18. metadata/generated/schema/analytics/webAnalyticEvent.py +1 -1
  19. metadata/generated/schema/analytics/webAnalyticEventData.py +1 -1
  20. metadata/generated/schema/analytics/webAnalyticEventType/__init__.py +1 -1
  21. metadata/generated/schema/analytics/webAnalyticEventType/customEvent.py +1 -1
  22. metadata/generated/schema/analytics/webAnalyticEventType/pageViewEvent.py +1 -1
  23. metadata/generated/schema/api/__init__.py +1 -1
  24. metadata/generated/schema/api/addGlossaryToAssetsRequest.py +1 -1
  25. metadata/generated/schema/api/addTagToAssetsRequest.py +1 -1
  26. metadata/generated/schema/api/analytics/__init__.py +1 -1
  27. metadata/generated/schema/api/analytics/createWebAnalyticEvent.py +1 -1
  28. metadata/generated/schema/api/automations/__init__.py +1 -1
  29. metadata/generated/schema/api/automations/createWorkflow.py +14 -4
  30. metadata/generated/schema/api/bulkAssets.py +1 -1
  31. metadata/generated/schema/api/classification/__init__.py +1 -1
  32. metadata/generated/schema/api/classification/createClassification.py +2 -2
  33. metadata/generated/schema/api/classification/createTag.py +2 -2
  34. metadata/generated/schema/api/classification/loadTags.py +1 -1
  35. metadata/generated/schema/api/createBot.py +1 -1
  36. metadata/generated/schema/api/createEventPublisherJob.py +1 -1
  37. metadata/generated/schema/api/createType.py +1 -1
  38. metadata/generated/schema/api/data/__init__.py +1 -1
  39. metadata/generated/schema/api/data/createAPICollection.py +1 -1
  40. metadata/generated/schema/api/data/createAPIEndpoint.py +1 -1
  41. metadata/generated/schema/api/data/createChart.py +1 -1
  42. metadata/generated/schema/api/data/createContainer.py +1 -1
  43. metadata/generated/schema/api/data/createCustomProperty.py +1 -1
  44. metadata/generated/schema/api/data/createDashboard.py +1 -1
  45. metadata/generated/schema/api/data/createDashboardDataModel.py +1 -1
  46. metadata/generated/schema/api/data/createDatabase.py +1 -1
  47. metadata/generated/schema/api/data/createDatabaseSchema.py +1 -1
  48. metadata/generated/schema/api/data/createGlossary.py +1 -1
  49. metadata/generated/schema/api/data/createGlossaryTerm.py +1 -1
  50. metadata/generated/schema/api/data/createMetric.py +1 -1
  51. metadata/generated/schema/api/data/createMlModel.py +1 -1
  52. metadata/generated/schema/api/data/createPipeline.py +5 -1
  53. metadata/generated/schema/api/data/createQuery.py +1 -1
  54. metadata/generated/schema/api/data/createQueryCostRecord.py +35 -0
  55. metadata/generated/schema/api/data/createSearchIndex.py +1 -1
  56. metadata/generated/schema/api/data/createStoredProcedure.py +1 -1
  57. metadata/generated/schema/api/data/createTable.py +1 -1
  58. metadata/generated/schema/api/data/createTableProfile.py +1 -1
  59. metadata/generated/schema/api/data/createTopic.py +1 -1
  60. metadata/generated/schema/api/data/loadGlossary.py +1 -1
  61. metadata/generated/schema/api/data/restoreEntity.py +1 -1
  62. metadata/generated/schema/api/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 +8 -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 +25 -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 +85 -0
  86. metadata/generated/schema/api/lineage/lineageDirection.py +12 -0
  87. metadata/generated/schema/api/lineage/nodeInformation.py +19 -0
  88. metadata/generated/schema/api/lineage/searchLineageRequest.py +45 -0
  89. metadata/generated/schema/api/lineage/searchLineageResult.py +46 -0
  90. metadata/generated/schema/api/openMetadataServerVersion.py +1 -1
  91. metadata/generated/schema/api/policies/__init__.py +1 -1
  92. metadata/generated/schema/api/policies/createPolicy.py +1 -1
  93. metadata/generated/schema/api/search/__init__.py +3 -0
  94. metadata/generated/schema/api/search/previewSearchRequest.py +47 -0
  95. metadata/generated/schema/api/services/__init__.py +1 -1
  96. metadata/generated/schema/api/services/createApiService.py +9 -2
  97. metadata/generated/schema/api/services/createDashboardService.py +9 -2
  98. metadata/generated/schema/api/services/createDatabaseService.py +9 -2
  99. metadata/generated/schema/api/services/createMessagingService.py +9 -2
  100. metadata/generated/schema/api/services/createMetadataService.py +9 -2
  101. metadata/generated/schema/api/services/createMlModelService.py +9 -2
  102. metadata/generated/schema/api/services/createPipelineService.py +9 -2
  103. metadata/generated/schema/api/services/createSearchService.py +9 -2
  104. metadata/generated/schema/api/services/createStorageService.py +9 -2
  105. metadata/generated/schema/api/services/ingestionPipelines/__init__.py +1 -1
  106. metadata/generated/schema/api/services/ingestionPipelines/createIngestionPipeline.py +1 -1
  107. metadata/generated/schema/api/setOwner.py +1 -1
  108. metadata/generated/schema/api/teams/__init__.py +1 -1
  109. metadata/generated/schema/api/teams/createPersona.py +1 -1
  110. metadata/generated/schema/api/teams/createRole.py +1 -1
  111. metadata/generated/schema/api/teams/createTeam.py +1 -1
  112. metadata/generated/schema/api/teams/createUser.py +1 -1
  113. metadata/generated/schema/api/tests/__init__.py +1 -1
  114. metadata/generated/schema/api/tests/createCustomMetric.py +1 -1
  115. metadata/generated/schema/api/tests/createLogicalTestCases.py +1 -1
  116. metadata/generated/schema/api/tests/createTestCase.py +1 -1
  117. metadata/generated/schema/api/tests/createTestCaseResolutionStatus.py +1 -1
  118. metadata/generated/schema/api/tests/createTestCaseResult.py +1 -1
  119. metadata/generated/schema/api/tests/createTestDefinition.py +1 -1
  120. metadata/generated/schema/api/tests/createTestSuite.py +1 -1
  121. metadata/generated/schema/api/voteRequest.py +1 -1
  122. metadata/generated/schema/auth/__init__.py +1 -1
  123. metadata/generated/schema/auth/basicAuth.py +1 -1
  124. metadata/generated/schema/auth/basicLoginRequest.py +1 -1
  125. metadata/generated/schema/auth/changePasswordRequest.py +1 -1
  126. metadata/generated/schema/auth/createPersonalToken.py +1 -1
  127. metadata/generated/schema/auth/emailRequest.py +1 -1
  128. metadata/generated/schema/auth/emailVerificationToken.py +1 -1
  129. metadata/generated/schema/auth/generateToken.py +1 -1
  130. metadata/generated/schema/auth/jwtAuth.py +1 -1
  131. metadata/generated/schema/auth/loginRequest.py +1 -1
  132. metadata/generated/schema/auth/logoutRequest.py +1 -1
  133. metadata/generated/schema/auth/passwordResetRequest.py +1 -1
  134. metadata/generated/schema/auth/passwordResetToken.py +1 -1
  135. metadata/generated/schema/auth/personalAccessToken.py +1 -1
  136. metadata/generated/schema/auth/refreshToken.py +1 -1
  137. metadata/generated/schema/auth/registrationRequest.py +1 -1
  138. metadata/generated/schema/auth/revokePersonalToken.py +1 -1
  139. metadata/generated/schema/auth/revokeToken.py +1 -1
  140. metadata/generated/schema/auth/serviceTokenEnum.py +1 -1
  141. metadata/generated/schema/auth/ssoAuth.py +1 -1
  142. metadata/generated/schema/auth/tokenRefreshRequest.py +1 -1
  143. metadata/generated/schema/configuration/__init__.py +1 -1
  144. metadata/generated/schema/configuration/appsPrivateConfiguration.py +1 -1
  145. metadata/generated/schema/configuration/assetCertificationSettings.py +1 -1
  146. metadata/generated/schema/configuration/authConfig.py +1 -1
  147. metadata/generated/schema/configuration/authenticationConfiguration.py +1 -1
  148. metadata/generated/schema/configuration/authorizerConfiguration.py +4 -1
  149. metadata/generated/schema/configuration/changeEventConfiguration.py +1 -1
  150. metadata/generated/schema/configuration/dataQualityConfiguration.py +1 -1
  151. metadata/generated/schema/configuration/elasticSearchConfiguration.py +55 -1
  152. metadata/generated/schema/configuration/eventHandlerConfiguration.py +1 -1
  153. metadata/generated/schema/configuration/fernetConfiguration.py +1 -1
  154. metadata/generated/schema/configuration/jwtTokenConfiguration.py +1 -1
  155. metadata/generated/schema/configuration/kafkaEventConfiguration.py +1 -1
  156. metadata/generated/schema/configuration/ldapConfiguration.py +1 -1
  157. metadata/generated/schema/configuration/ldapTrustStoreConfig/__init__.py +1 -1
  158. metadata/generated/schema/configuration/ldapTrustStoreConfig/customTrustManagerConfig.py +1 -1
  159. metadata/generated/schema/configuration/ldapTrustStoreConfig/hostNameConfig.py +1 -1
  160. metadata/generated/schema/configuration/ldapTrustStoreConfig/jvmDefaultConfig.py +1 -1
  161. metadata/generated/schema/configuration/ldapTrustStoreConfig/trustAllConfig.py +1 -1
  162. metadata/generated/schema/configuration/ldapTrustStoreConfig/truststoreConfig.py +1 -1
  163. metadata/generated/schema/configuration/limitsConfiguration.py +1 -1
  164. metadata/generated/schema/configuration/lineageSettings.py +1 -1
  165. metadata/generated/schema/configuration/loginConfiguration.py +1 -1
  166. metadata/generated/schema/configuration/logoConfiguration.py +1 -1
  167. metadata/generated/schema/configuration/openMetadataBaseUrlConfiguration.py +21 -0
  168. metadata/generated/schema/configuration/pipelineServiceClientConfiguration.py +1 -1
  169. metadata/generated/schema/configuration/profilerConfiguration.py +1 -1
  170. metadata/generated/schema/configuration/searchSettings.py +428 -4
  171. metadata/generated/schema/configuration/slackAppConfiguration.py +1 -1
  172. metadata/generated/schema/configuration/taskNotificationConfiguration.py +1 -1
  173. metadata/generated/schema/configuration/testResultNotificationConfiguration.py +1 -1
  174. metadata/generated/schema/configuration/themeConfiguration.py +1 -1
  175. metadata/generated/schema/configuration/uiThemePreference.py +1 -1
  176. metadata/generated/schema/configuration/workflowSettings.py +8 -1
  177. metadata/generated/schema/dataInsight/__init__.py +1 -1
  178. metadata/generated/schema/dataInsight/custom/__init__.py +1 -1
  179. metadata/generated/schema/dataInsight/custom/dataInsightCustomChart.py +1 -1
  180. metadata/generated/schema/dataInsight/custom/dataInsightCustomChartResult.py +1 -1
  181. metadata/generated/schema/dataInsight/custom/dataInsightCustomChartResultList.py +1 -1
  182. metadata/generated/schema/dataInsight/custom/formulaHolder.py +1 -1
  183. metadata/generated/schema/dataInsight/custom/lineChart.py +15 -1
  184. metadata/generated/schema/dataInsight/custom/summaryCard.py +1 -1
  185. metadata/generated/schema/dataInsight/dataInsightChart.py +1 -1
  186. metadata/generated/schema/dataInsight/dataInsightChartResult.py +1 -1
  187. metadata/generated/schema/dataInsight/kpi/__init__.py +1 -1
  188. metadata/generated/schema/dataInsight/kpi/basic.py +1 -1
  189. metadata/generated/schema/dataInsight/kpi/kpi.py +1 -1
  190. metadata/generated/schema/dataInsight/type/__init__.py +1 -1
  191. metadata/generated/schema/dataInsight/type/aggregatedUnusedAssetsCount.py +1 -1
  192. metadata/generated/schema/dataInsight/type/aggregatedUnusedAssetsSize.py +1 -1
  193. metadata/generated/schema/dataInsight/type/aggregatedUsedVsUnusedAssetsCount.py +1 -1
  194. metadata/generated/schema/dataInsight/type/aggregatedUsedVsUnusedAssetsSize.py +1 -1
  195. metadata/generated/schema/dataInsight/type/dailyActiveUsers.py +1 -1
  196. metadata/generated/schema/dataInsight/type/mostActiveUsers.py +1 -1
  197. metadata/generated/schema/dataInsight/type/mostViewedEntities.py +1 -1
  198. metadata/generated/schema/dataInsight/type/pageViewsByEntities.py +1 -1
  199. metadata/generated/schema/dataInsight/type/unusedAssets.py +1 -1
  200. metadata/generated/schema/email/__init__.py +1 -1
  201. metadata/generated/schema/email/emailRequest.py +1 -1
  202. metadata/generated/schema/email/emailTemplate.py +1 -1
  203. metadata/generated/schema/email/emailTemplatePlaceholder.py +1 -1
  204. metadata/generated/schema/email/smtpSettings.py +1 -2
  205. metadata/generated/schema/email/templateValidationReponse.py +1 -1
  206. metadata/generated/schema/entity/__init__.py +1 -1
  207. metadata/generated/schema/entity/applications/__init__.py +1 -1
  208. metadata/generated/schema/entity/applications/app.py +14 -1
  209. metadata/generated/schema/entity/applications/appExtension.py +1 -1
  210. metadata/generated/schema/entity/applications/appRunRecord.py +23 -4
  211. metadata/generated/schema/entity/applications/configuration/__init__.py +1 -1
  212. metadata/generated/schema/entity/applications/configuration/applicationConfig.py +9 -3
  213. metadata/generated/schema/entity/applications/configuration/external/__init__.py +1 -1
  214. metadata/generated/schema/entity/applications/configuration/external/automator/__init__.py +1 -1
  215. metadata/generated/schema/entity/applications/configuration/external/automator/addCustomProperties.py +1 -1
  216. metadata/generated/schema/entity/applications/configuration/external/automator/addDataProductAction.py +41 -0
  217. metadata/generated/schema/entity/applications/configuration/external/automator/addDescriptionAction.py +1 -1
  218. metadata/generated/schema/entity/applications/configuration/external/automator/addDomainAction.py +1 -1
  219. metadata/generated/schema/entity/applications/configuration/external/automator/addOwnerAction.py +1 -1
  220. metadata/generated/schema/entity/applications/configuration/external/automator/addTagsAction.py +1 -1
  221. metadata/generated/schema/entity/applications/configuration/external/automator/addTestCaseAction.py +71 -0
  222. metadata/generated/schema/entity/applications/configuration/external/automator/addTierAction.py +1 -1
  223. metadata/generated/schema/entity/applications/configuration/external/automator/lineagePropagationAction.py +1 -1
  224. metadata/generated/schema/entity/applications/configuration/external/automator/mlTaggingAction.py +1 -1
  225. metadata/generated/schema/entity/applications/configuration/external/automator/removeCustomPropertiesAction.py +1 -1
  226. metadata/generated/schema/entity/applications/configuration/external/automator/removeDataProductAction.py +33 -0
  227. metadata/generated/schema/entity/applications/configuration/external/automator/removeDescriptionAction.py +1 -1
  228. metadata/generated/schema/entity/applications/configuration/external/automator/removeDomainAction.py +1 -1
  229. metadata/generated/schema/entity/applications/configuration/external/automator/removeOwnerAction.py +1 -1
  230. metadata/generated/schema/entity/applications/configuration/external/automator/removeTagsAction.py +1 -1
  231. metadata/generated/schema/entity/applications/configuration/external/automator/removeTestCaseAction.py +45 -0
  232. metadata/generated/schema/entity/applications/configuration/external/automator/removeTierAction.py +1 -1
  233. metadata/generated/schema/entity/applications/configuration/external/automatorAppConfig.py +13 -1
  234. metadata/generated/schema/entity/applications/configuration/external/collateAIAppConfig.py +1 -1
  235. metadata/generated/schema/entity/applications/configuration/external/slackAppTokenConfiguration.py +1 -1
  236. metadata/generated/schema/entity/applications/configuration/internal/__init__.py +1 -1
  237. metadata/generated/schema/entity/applications/configuration/internal/collateAIQualityAgentAppConfig.py +46 -0
  238. metadata/generated/schema/entity/applications/configuration/internal/collateAITierAgentAppConfig.py +46 -0
  239. metadata/generated/schema/entity/applications/configuration/internal/dataInsightsAppConfig.py +109 -2
  240. metadata/generated/schema/entity/applications/configuration/internal/dataInsightsReportAppConfig.py +1 -1
  241. metadata/generated/schema/entity/applications/configuration/internal/dataRetentionConfiguration.py +1 -1
  242. metadata/generated/schema/entity/applications/configuration/internal/dayOneExperienceAppConfig.py +48 -0
  243. metadata/generated/schema/entity/applications/configuration/internal/searchIndexingAppConfig.py +1 -1
  244. metadata/generated/schema/entity/applications/configuration/private/__init__.py +3 -0
  245. metadata/generated/schema/entity/applications/configuration/private/external/__init__.py +1 -1
  246. metadata/generated/schema/entity/applications/configuration/private/external/collateAIAppPrivateConfig.py +3 -22
  247. metadata/generated/schema/entity/applications/configuration/private/internal/__init__.py +3 -0
  248. metadata/generated/schema/entity/applications/configuration/private/internal/collateAITierAgentAppPrivateConfig.py +24 -0
  249. metadata/generated/schema/entity/applications/configuration/private/limits.py +33 -0
  250. metadata/generated/schema/entity/applications/createAppRequest.py +1 -1
  251. metadata/generated/schema/entity/applications/jobStatus.py +1 -1
  252. metadata/generated/schema/entity/applications/liveExecutionContext.py +1 -1
  253. metadata/generated/schema/entity/applications/marketplace/__init__.py +1 -1
  254. metadata/generated/schema/entity/applications/marketplace/appMarketPlaceDefinition.py +13 -1
  255. metadata/generated/schema/entity/applications/marketplace/createAppMarketPlaceDefinitionReq.py +13 -1
  256. metadata/generated/schema/entity/applications/scheduledExecutionContext.py +1 -1
  257. metadata/generated/schema/entity/automations/__init__.py +1 -1
  258. metadata/generated/schema/entity/automations/testServiceConnection.py +1 -1
  259. metadata/generated/schema/entity/automations/workflow.py +15 -4
  260. metadata/generated/schema/entity/bot.py +1 -1
  261. metadata/generated/schema/entity/classification/__init__.py +1 -1
  262. metadata/generated/schema/entity/classification/classification.py +1 -1
  263. metadata/generated/schema/entity/classification/tag.py +1 -1
  264. metadata/generated/schema/entity/data/__init__.py +1 -1
  265. metadata/generated/schema/entity/data/apiCollection.py +1 -1
  266. metadata/generated/schema/entity/data/apiEndpoint.py +1 -1
  267. metadata/generated/schema/entity/data/chart.py +1 -1
  268. metadata/generated/schema/entity/data/container.py +1 -1
  269. metadata/generated/schema/entity/data/dashboard.py +1 -1
  270. metadata/generated/schema/entity/data/dashboardDataModel.py +1 -1
  271. metadata/generated/schema/entity/data/database.py +5 -1
  272. metadata/generated/schema/entity/data/databaseSchema.py +7 -5
  273. metadata/generated/schema/entity/data/glossary.py +1 -1
  274. metadata/generated/schema/entity/data/glossaryTerm.py +1 -1
  275. metadata/generated/schema/entity/data/metric.py +1 -1
  276. metadata/generated/schema/entity/data/mlmodel.py +1 -1
  277. metadata/generated/schema/entity/data/pipeline.py +14 -1
  278. metadata/generated/schema/entity/data/query.py +1 -1
  279. metadata/generated/schema/entity/data/queryCostRecord.py +47 -0
  280. metadata/generated/schema/entity/data/queryCostSearchResult.py +56 -0
  281. metadata/generated/schema/entity/data/report.py +1 -1
  282. metadata/generated/schema/entity/data/searchIndex.py +1 -1
  283. metadata/generated/schema/entity/data/storedProcedure.py +3 -1
  284. metadata/generated/schema/entity/data/table.py +6 -1
  285. metadata/generated/schema/entity/data/topic.py +1 -1
  286. metadata/generated/schema/entity/docStore/__init__.py +1 -1
  287. metadata/generated/schema/entity/docStore/document.py +1 -1
  288. metadata/generated/schema/entity/domains/__init__.py +1 -1
  289. metadata/generated/schema/entity/domains/dataProduct.py +1 -1
  290. metadata/generated/schema/entity/domains/domain.py +8 -1
  291. metadata/generated/schema/entity/events/__init__.py +1 -1
  292. metadata/generated/schema/entity/events/webhook.py +1 -1
  293. metadata/generated/schema/entity/feed/__init__.py +1 -1
  294. metadata/generated/schema/entity/feed/assets.py +1 -1
  295. metadata/generated/schema/entity/feed/customProperty.py +1 -1
  296. metadata/generated/schema/entity/feed/description.py +1 -1
  297. metadata/generated/schema/entity/feed/domain.py +1 -1
  298. metadata/generated/schema/entity/feed/entityInfo.py +1 -1
  299. metadata/generated/schema/entity/feed/owner.py +1 -1
  300. metadata/generated/schema/entity/feed/suggestion.py +1 -1
  301. metadata/generated/schema/entity/feed/tag.py +1 -1
  302. metadata/generated/schema/entity/feed/testCaseResult.py +1 -1
  303. metadata/generated/schema/entity/feed/thread.py +1 -1
  304. metadata/generated/schema/entity/policies/__init__.py +1 -1
  305. metadata/generated/schema/entity/policies/accessControl/__init__.py +1 -1
  306. metadata/generated/schema/entity/policies/accessControl/resourceDescriptor.py +1 -1
  307. metadata/generated/schema/entity/policies/accessControl/resourcePermission.py +1 -1
  308. metadata/generated/schema/entity/policies/accessControl/rule.py +1 -1
  309. metadata/generated/schema/entity/policies/filters.py +1 -1
  310. metadata/generated/schema/entity/policies/policy.py +1 -1
  311. metadata/generated/schema/entity/services/__init__.py +1 -1
  312. metadata/generated/schema/entity/services/apiService.py +8 -1
  313. metadata/generated/schema/entity/services/connections/__init__.py +1 -1
  314. metadata/generated/schema/entity/services/connections/api/__init__.py +1 -1
  315. metadata/generated/schema/entity/services/connections/api/restConnection.py +11 -1
  316. metadata/generated/schema/entity/services/connections/common/__init__.py +1 -1
  317. metadata/generated/schema/entity/services/connections/common/sslCertPaths.py +1 -1
  318. metadata/generated/schema/entity/services/connections/common/sslCertValues.py +1 -1
  319. metadata/generated/schema/entity/services/connections/common/sslConfig.py +1 -1
  320. metadata/generated/schema/entity/services/connections/connectionBasicType.py +7 -1
  321. metadata/generated/schema/entity/services/connections/dashboard/__init__.py +1 -1
  322. metadata/generated/schema/entity/services/connections/dashboard/customDashboardConnection.py +34 -1
  323. metadata/generated/schema/entity/services/connections/dashboard/domoDashboardConnection.py +34 -1
  324. metadata/generated/schema/entity/services/connections/dashboard/lightdashConnection.py +34 -1
  325. metadata/generated/schema/entity/services/connections/dashboard/lookerConnection.py +34 -1
  326. metadata/generated/schema/entity/services/connections/dashboard/metabaseConnection.py +34 -1
  327. metadata/generated/schema/entity/services/connections/dashboard/microStrategyConnection.py +34 -1
  328. metadata/generated/schema/entity/services/connections/dashboard/modeConnection.py +34 -1
  329. metadata/generated/schema/entity/services/connections/dashboard/powerBIConnection.py +34 -1
  330. metadata/generated/schema/entity/services/connections/dashboard/powerBIReportServerConnection.py +34 -1
  331. metadata/generated/schema/entity/services/connections/dashboard/powerbi/__init__.py +1 -1
  332. metadata/generated/schema/entity/services/connections/dashboard/powerbi/azureConfig.py +1 -1
  333. metadata/generated/schema/entity/services/connections/dashboard/powerbi/bucketDetails.py +1 -1
  334. metadata/generated/schema/entity/services/connections/dashboard/powerbi/gcsConfig.py +1 -1
  335. metadata/generated/schema/entity/services/connections/dashboard/powerbi/s3Config.py +1 -1
  336. metadata/generated/schema/entity/services/connections/dashboard/qlikCloudConnection.py +50 -2
  337. metadata/generated/schema/entity/services/connections/dashboard/qlikSenseConnection.py +34 -1
  338. metadata/generated/schema/entity/services/connections/dashboard/quickSightConnection.py +34 -1
  339. metadata/generated/schema/entity/services/connections/dashboard/redashConnection.py +34 -1
  340. metadata/generated/schema/entity/services/connections/dashboard/sigmaConnection.py +35 -1
  341. metadata/generated/schema/entity/services/connections/dashboard/supersetConnection.py +34 -1
  342. metadata/generated/schema/entity/services/connections/dashboard/tableauConnection.py +34 -1
  343. metadata/generated/schema/entity/services/connections/database/__init__.py +1 -1
  344. metadata/generated/schema/entity/services/connections/database/athenaConnection.py +26 -1
  345. metadata/generated/schema/entity/services/connections/database/azureSQLConnection.py +26 -1
  346. metadata/generated/schema/entity/services/connections/database/bigQueryConnection.py +36 -1
  347. metadata/generated/schema/entity/services/connections/database/bigTableConnection.py +26 -1
  348. metadata/generated/schema/entity/services/connections/database/cassandra/__init__.py +3 -0
  349. metadata/generated/schema/entity/services/connections/database/cassandra/cloudConfig.py +61 -0
  350. metadata/generated/schema/entity/services/connections/database/cassandraConnection.py +106 -0
  351. metadata/generated/schema/entity/services/connections/database/clickhouseConnection.py +26 -1
  352. metadata/generated/schema/entity/services/connections/database/cockroachConnection.py +136 -0
  353. metadata/generated/schema/entity/services/connections/database/common/__init__.py +1 -1
  354. metadata/generated/schema/entity/services/connections/database/common/azureConfig.py +1 -1
  355. metadata/generated/schema/entity/services/connections/database/common/basicAuth.py +1 -1
  356. metadata/generated/schema/entity/services/connections/database/common/iamAuthConfig.py +1 -1
  357. metadata/generated/schema/entity/services/connections/database/common/jwtAuth.py +1 -1
  358. metadata/generated/schema/entity/services/connections/database/common/noConfigAuthenticationTypes.py +1 -1
  359. metadata/generated/schema/entity/services/connections/database/couchbaseConnection.py +26 -1
  360. metadata/generated/schema/entity/services/connections/database/customDatabaseConnection.py +26 -1
  361. metadata/generated/schema/entity/services/connections/database/databricksConnection.py +37 -2
  362. metadata/generated/schema/entity/services/connections/database/datalake/__init__.py +1 -1
  363. metadata/generated/schema/entity/services/connections/database/datalake/azureConfig.py +1 -1
  364. metadata/generated/schema/entity/services/connections/database/datalake/gcsConfig.py +1 -1
  365. metadata/generated/schema/entity/services/connections/database/datalake/s3Config.py +1 -1
  366. metadata/generated/schema/entity/services/connections/database/datalakeConnection.py +26 -1
  367. metadata/generated/schema/entity/services/connections/database/db2Connection.py +26 -1
  368. metadata/generated/schema/entity/services/connections/database/deltaLakeConnection.py +26 -1
  369. metadata/generated/schema/entity/services/connections/database/deltalake/__init__.py +1 -1
  370. metadata/generated/schema/entity/services/connections/database/deltalake/metastoreConfig.py +1 -1
  371. metadata/generated/schema/entity/services/connections/database/deltalake/storageConfig.py +1 -1
  372. metadata/generated/schema/entity/services/connections/database/domoDatabaseConnection.py +26 -1
  373. metadata/generated/schema/entity/services/connections/database/dorisConnection.py +26 -1
  374. metadata/generated/schema/entity/services/connections/database/druidConnection.py +26 -1
  375. metadata/generated/schema/entity/services/connections/database/dynamoDBConnection.py +26 -1
  376. metadata/generated/schema/entity/services/connections/database/exasolConnection.py +26 -1
  377. metadata/generated/schema/entity/services/connections/database/glueConnection.py +26 -1
  378. metadata/generated/schema/entity/services/connections/database/greenplumConnection.py +26 -1
  379. metadata/generated/schema/entity/services/connections/database/hiveConnection.py +26 -1
  380. metadata/generated/schema/entity/services/connections/database/iceberg/__init__.py +1 -1
  381. metadata/generated/schema/entity/services/connections/database/iceberg/dynamoDbCatalogConnection.py +1 -1
  382. metadata/generated/schema/entity/services/connections/database/iceberg/glueCatalogConnection.py +1 -1
  383. metadata/generated/schema/entity/services/connections/database/iceberg/hiveCatalogConnection.py +1 -1
  384. metadata/generated/schema/entity/services/connections/database/iceberg/icebergCatalog.py +1 -1
  385. metadata/generated/schema/entity/services/connections/database/iceberg/icebergFileSystem.py +1 -1
  386. metadata/generated/schema/entity/services/connections/database/iceberg/restCatalogConnection.py +1 -1
  387. metadata/generated/schema/entity/services/connections/database/icebergConnection.py +26 -1
  388. metadata/generated/schema/entity/services/connections/database/impalaConnection.py +26 -1
  389. metadata/generated/schema/entity/services/connections/database/mariaDBConnection.py +26 -1
  390. metadata/generated/schema/entity/services/connections/database/mongoDBConnection.py +26 -1
  391. metadata/generated/schema/entity/services/connections/database/mssqlConnection.py +42 -2
  392. metadata/generated/schema/entity/services/connections/database/mysqlConnection.py +32 -2
  393. metadata/generated/schema/entity/services/connections/database/oracleConnection.py +32 -2
  394. metadata/generated/schema/entity/services/connections/database/pinotDBConnection.py +26 -1
  395. metadata/generated/schema/entity/services/connections/database/postgresConnection.py +37 -2
  396. metadata/generated/schema/entity/services/connections/database/prestoConnection.py +26 -1
  397. metadata/generated/schema/entity/services/connections/database/redshiftConnection.py +41 -2
  398. metadata/generated/schema/entity/services/connections/database/salesforceConnection.py +26 -1
  399. metadata/generated/schema/entity/services/connections/database/sapErpConnection.py +26 -1
  400. metadata/generated/schema/entity/services/connections/database/sapHana/__init__.py +1 -1
  401. metadata/generated/schema/entity/services/connections/database/sapHana/sapHanaHDBConnection.py +1 -1
  402. metadata/generated/schema/entity/services/connections/database/sapHana/sapHanaSQLConnection.py +1 -1
  403. metadata/generated/schema/entity/services/connections/database/sapHanaConnection.py +26 -1
  404. metadata/generated/schema/entity/services/connections/database/sasConnection.py +27 -1
  405. metadata/generated/schema/entity/services/connections/database/singleStoreConnection.py +26 -1
  406. metadata/generated/schema/entity/services/connections/database/snowflakeConnection.py +58 -3
  407. metadata/generated/schema/entity/services/connections/database/sqliteConnection.py +26 -1
  408. metadata/generated/schema/entity/services/connections/database/synapseConnection.py +26 -1
  409. metadata/generated/schema/entity/services/connections/database/teradataConnection.py +26 -1
  410. metadata/generated/schema/entity/services/connections/database/trinoConnection.py +26 -1
  411. metadata/generated/schema/entity/services/connections/database/unityCatalogConnection.py +37 -2
  412. metadata/generated/schema/entity/services/connections/database/verticaConnection.py +26 -1
  413. metadata/generated/schema/entity/services/connections/messaging/__init__.py +1 -1
  414. metadata/generated/schema/entity/services/connections/messaging/customMessagingConnection.py +10 -1
  415. metadata/generated/schema/entity/services/connections/messaging/kafkaConnection.py +10 -1
  416. metadata/generated/schema/entity/services/connections/messaging/kinesisConnection.py +10 -1
  417. metadata/generated/schema/entity/services/connections/messaging/pulsarConnection.py +10 -1
  418. metadata/generated/schema/entity/services/connections/messaging/redpandaConnection.py +10 -1
  419. metadata/generated/schema/entity/services/connections/messaging/saslMechanismType.py +1 -1
  420. metadata/generated/schema/entity/services/connections/metadata/__init__.py +1 -1
  421. metadata/generated/schema/entity/services/connections/metadata/alationConnection.py +26 -1
  422. metadata/generated/schema/entity/services/connections/metadata/alationSinkConnection.py +26 -1
  423. metadata/generated/schema/entity/services/connections/metadata/amundsenConnection.py +26 -1
  424. metadata/generated/schema/entity/services/connections/metadata/atlasConnection.py +26 -1
  425. metadata/generated/schema/entity/services/connections/metadata/metadataESConnection.py +26 -1
  426. metadata/generated/schema/entity/services/connections/metadata/openMetadataConnection.py +26 -2
  427. metadata/generated/schema/entity/services/connections/mlmodel/__init__.py +1 -1
  428. metadata/generated/schema/entity/services/connections/mlmodel/customMlModelConnection.py +10 -1
  429. metadata/generated/schema/entity/services/connections/mlmodel/mlflowConnection.py +10 -1
  430. metadata/generated/schema/entity/services/connections/mlmodel/sageMakerConnection.py +10 -1
  431. metadata/generated/schema/entity/services/connections/mlmodel/sklearnConnection.py +10 -1
  432. metadata/generated/schema/entity/services/connections/mlmodel/vertexaiConnection.py +10 -1
  433. metadata/generated/schema/entity/services/connections/pipeline/__init__.py +1 -1
  434. metadata/generated/schema/entity/services/connections/pipeline/airbyteConnection.py +10 -1
  435. metadata/generated/schema/entity/services/connections/pipeline/airflowConnection.py +10 -1
  436. metadata/generated/schema/entity/services/connections/pipeline/backendConnection.py +11 -1
  437. metadata/generated/schema/entity/services/connections/pipeline/customPipelineConnection.py +10 -1
  438. metadata/generated/schema/entity/services/connections/pipeline/dagsterConnection.py +10 -1
  439. metadata/generated/schema/entity/services/connections/pipeline/databricksPipelineConnection.py +10 -1
  440. metadata/generated/schema/entity/services/connections/pipeline/datafactoryConnection.py +10 -1
  441. metadata/generated/schema/entity/services/connections/pipeline/dbtCloudConnection.py +11 -1
  442. metadata/generated/schema/entity/services/connections/pipeline/domoPipelineConnection.py +10 -1
  443. metadata/generated/schema/entity/services/connections/pipeline/fivetranConnection.py +10 -1
  444. metadata/generated/schema/entity/services/connections/pipeline/flinkConnection.py +10 -1
  445. metadata/generated/schema/entity/services/connections/pipeline/gluePipelineConnection.py +10 -1
  446. metadata/generated/schema/entity/services/connections/pipeline/kafkaConnectConnection.py +11 -1
  447. metadata/generated/schema/entity/services/connections/pipeline/matillion/__init__.py +1 -1
  448. metadata/generated/schema/entity/services/connections/pipeline/matillion/matillionETL.py +1 -1
  449. metadata/generated/schema/entity/services/connections/pipeline/matillionConnection.py +10 -1
  450. metadata/generated/schema/entity/services/connections/pipeline/nifi/__init__.py +1 -1
  451. metadata/generated/schema/entity/services/connections/pipeline/nifi/basicAuth.py +1 -1
  452. metadata/generated/schema/entity/services/connections/pipeline/nifi/clientCertificateAuth.py +1 -1
  453. metadata/generated/schema/entity/services/connections/pipeline/nifiConnection.py +10 -1
  454. metadata/generated/schema/entity/services/connections/pipeline/openLineageConnection.py +10 -1
  455. metadata/generated/schema/entity/services/connections/pipeline/sparkConnection.py +11 -1
  456. metadata/generated/schema/entity/services/connections/pipeline/splineConnection.py +10 -1
  457. metadata/generated/schema/entity/services/connections/pipeline/stitchConnection.py +10 -1
  458. metadata/generated/schema/entity/services/connections/search/__init__.py +1 -1
  459. metadata/generated/schema/entity/services/connections/search/customSearchConnection.py +10 -1
  460. metadata/generated/schema/entity/services/connections/search/elasticSearch/__init__.py +1 -1
  461. metadata/generated/schema/entity/services/connections/search/elasticSearch/apiAuth.py +1 -1
  462. metadata/generated/schema/entity/services/connections/search/elasticSearch/basicAuth.py +1 -1
  463. metadata/generated/schema/entity/services/connections/search/elasticSearchConnection.py +10 -1
  464. metadata/generated/schema/entity/services/connections/search/openSearchConnection.py +37 -29
  465. metadata/generated/schema/entity/services/connections/serviceConnection.py +1 -1
  466. metadata/generated/schema/entity/services/connections/storage/__init__.py +1 -1
  467. metadata/generated/schema/entity/services/connections/storage/adlsConnection.py +10 -1
  468. metadata/generated/schema/entity/services/connections/storage/customStorageConnection.py +10 -1
  469. metadata/generated/schema/entity/services/connections/storage/gcsConnection.py +10 -1
  470. metadata/generated/schema/entity/services/connections/storage/s3Connection.py +10 -1
  471. metadata/generated/schema/entity/services/connections/testConnectionDefinition.py +1 -1
  472. metadata/generated/schema/entity/services/connections/testConnectionResult.py +1 -1
  473. metadata/generated/schema/entity/services/dashboardService.py +8 -1
  474. metadata/generated/schema/entity/services/databaseService.py +14 -1
  475. metadata/generated/schema/entity/services/ingestionPipelines/__init__.py +1 -1
  476. metadata/generated/schema/entity/services/ingestionPipelines/ingestionPipeline.py +8 -1
  477. metadata/generated/schema/entity/services/ingestionPipelines/pipelineServiceClientResponse.py +1 -1
  478. metadata/generated/schema/entity/services/ingestionPipelines/reverseIngestionResponse.py +47 -0
  479. metadata/generated/schema/entity/services/ingestionPipelines/status.py +1 -1
  480. metadata/generated/schema/entity/services/messagingService.py +8 -1
  481. metadata/generated/schema/entity/services/metadataService.py +8 -1
  482. metadata/generated/schema/entity/services/mlmodelService.py +8 -1
  483. metadata/generated/schema/entity/services/pipelineService.py +8 -1
  484. metadata/generated/schema/entity/services/searchService.py +9 -2
  485. metadata/generated/schema/entity/services/serviceType.py +1 -1
  486. metadata/generated/schema/entity/services/storageService.py +8 -1
  487. metadata/generated/schema/entity/teams/__init__.py +1 -1
  488. metadata/generated/schema/entity/teams/persona.py +5 -1
  489. metadata/generated/schema/entity/teams/role.py +1 -1
  490. metadata/generated/schema/entity/teams/team.py +1 -1
  491. metadata/generated/schema/entity/teams/teamHierarchy.py +1 -1
  492. metadata/generated/schema/entity/teams/user.py +5 -1
  493. metadata/generated/schema/entity/type.py +1 -1
  494. metadata/generated/schema/entity/utils/__init__.py +1 -1
  495. metadata/generated/schema/entity/utils/entitiesCount.py +1 -1
  496. metadata/generated/schema/entity/utils/servicesCount.py +1 -1
  497. metadata/generated/schema/entity/utils/supersetApiConnection.py +1 -1
  498. metadata/generated/schema/events/__init__.py +1 -1
  499. metadata/generated/schema/events/alertMetrics.py +1 -1
  500. metadata/generated/schema/events/api/__init__.py +1 -1
  501. metadata/generated/schema/events/api/createEventSubscription.py +9 -1
  502. metadata/generated/schema/events/api/eventSubscriptionDiagnosticInfo.py +1 -1
  503. metadata/generated/schema/events/api/eventsRecord.py +1 -1
  504. metadata/generated/schema/events/api/testEventSubscriptionDestination.py +1 -1
  505. metadata/generated/schema/events/api/typedEvent.py +1 -1
  506. metadata/generated/schema/events/emailAlertConfig.py +1 -1
  507. metadata/generated/schema/events/eventFilterRule.py +1 -1
  508. metadata/generated/schema/events/eventSubscription.py +9 -2
  509. metadata/generated/schema/events/eventSubscriptionOffset.py +1 -1
  510. metadata/generated/schema/events/failedEvent.py +1 -1
  511. metadata/generated/schema/events/failedEventResponse.py +1 -1
  512. metadata/generated/schema/events/filterResourceDescriptor.py +1 -1
  513. metadata/generated/schema/events/statusContext.py +1 -1
  514. metadata/generated/schema/events/subscriptionResourceDescriptor.py +1 -1
  515. metadata/generated/schema/events/subscriptionStatus.py +1 -1
  516. metadata/generated/schema/events/testDestinationStatus.py +1 -1
  517. metadata/generated/schema/governance/workflows/__init__.py +1 -1
  518. metadata/generated/schema/governance/workflows/elements/__init__.py +1 -1
  519. metadata/generated/schema/governance/workflows/elements/edge.py +2 -2
  520. metadata/generated/schema/governance/workflows/elements/nodeSubType.py +4 -1
  521. metadata/generated/schema/governance/workflows/elements/nodeType.py +2 -1
  522. metadata/generated/schema/governance/workflows/elements/nodes/__init__.py +1 -1
  523. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/__init__.py +1 -1
  524. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/checkEntityAttributesTask.py +28 -8
  525. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/createAndRunIngestionPipelineTask.py +86 -0
  526. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/runAppTask.py +73 -0
  527. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/setEntityCertificationTask.py +27 -6
  528. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/setGlossaryTermStatusTask.py +28 -7
  529. metadata/generated/schema/governance/workflows/elements/nodes/endEvent/__init__.py +1 -1
  530. metadata/generated/schema/governance/workflows/elements/nodes/endEvent/endEvent.py +9 -4
  531. metadata/generated/schema/governance/workflows/elements/nodes/gateway/__init__.py +3 -0
  532. metadata/generated/schema/governance/workflows/elements/nodes/gateway/parallelGateway.py +30 -0
  533. metadata/generated/schema/governance/workflows/elements/nodes/startEvent/__init__.py +1 -1
  534. metadata/generated/schema/governance/workflows/elements/nodes/startEvent/startEvent.py +9 -4
  535. metadata/generated/schema/governance/workflows/elements/nodes/userTask/__init__.py +1 -1
  536. metadata/generated/schema/governance/workflows/elements/nodes/userTask/userApprovalTask.py +24 -7
  537. metadata/generated/schema/governance/workflows/elements/triggers/__init__.py +1 -1
  538. metadata/generated/schema/governance/workflows/elements/triggers/eventBasedEntityTrigger.py +8 -4
  539. metadata/generated/schema/governance/workflows/elements/triggers/noOpTrigger.py +20 -0
  540. metadata/generated/schema/governance/workflows/elements/triggers/periodicBatchEntityTrigger.py +18 -5
  541. metadata/generated/schema/governance/workflows/workflowDefinition.py +30 -7
  542. metadata/generated/schema/governance/workflows/workflowInstance.py +11 -8
  543. metadata/generated/schema/governance/workflows/workflowInstanceState.py +4 -8
  544. metadata/generated/schema/jobs/__init__.py +1 -1
  545. metadata/generated/schema/jobs/backgroundJob.py +1 -1
  546. metadata/generated/schema/jobs/enumCleanupArgs.py +1 -1
  547. metadata/generated/schema/metadataIngestion/__init__.py +1 -1
  548. metadata/generated/schema/metadataIngestion/apiServiceMetadataPipeline.py +1 -1
  549. metadata/generated/schema/metadataIngestion/application.py +1 -1
  550. metadata/generated/schema/metadataIngestion/applicationPipeline.py +1 -1
  551. metadata/generated/schema/metadataIngestion/dashboardServiceMetadataPipeline.py +1 -1
  552. metadata/generated/schema/metadataIngestion/dataInsightPipeline.py +1 -1
  553. metadata/generated/schema/metadataIngestion/databaseServiceAutoClassificationPipeline.py +1 -1
  554. metadata/generated/schema/metadataIngestion/databaseServiceMetadataPipeline.py +4 -4
  555. metadata/generated/schema/metadataIngestion/databaseServiceProfilerPipeline.py +5 -1
  556. metadata/generated/schema/metadataIngestion/databaseServiceQueryLineagePipeline.py +18 -2
  557. metadata/generated/schema/metadataIngestion/databaseServiceQueryUsagePipeline.py +9 -1
  558. metadata/generated/schema/metadataIngestion/dbtPipeline.py +1 -1
  559. metadata/generated/schema/metadataIngestion/dbtconfig/__init__.py +1 -1
  560. metadata/generated/schema/metadataIngestion/dbtconfig/dbtAzureConfig.py +1 -1
  561. metadata/generated/schema/metadataIngestion/dbtconfig/dbtBucketDetails.py +1 -1
  562. metadata/generated/schema/metadataIngestion/dbtconfig/dbtCloudConfig.py +1 -1
  563. metadata/generated/schema/metadataIngestion/dbtconfig/dbtGCSConfig.py +1 -1
  564. metadata/generated/schema/metadataIngestion/dbtconfig/dbtHttpConfig.py +1 -1
  565. metadata/generated/schema/metadataIngestion/dbtconfig/dbtLocalConfig.py +1 -1
  566. metadata/generated/schema/metadataIngestion/dbtconfig/dbtS3Config.py +1 -1
  567. metadata/generated/schema/metadataIngestion/messagingServiceMetadataPipeline.py +1 -1
  568. metadata/generated/schema/metadataIngestion/metadataToElasticSearchPipeline.py +1 -1
  569. metadata/generated/schema/metadataIngestion/mlmodelServiceMetadataPipeline.py +1 -1
  570. metadata/generated/schema/metadataIngestion/pipelineServiceMetadataPipeline.py +1 -1
  571. metadata/generated/schema/metadataIngestion/reverseIngestionPipeline.py +64 -0
  572. metadata/generated/schema/metadataIngestion/reverseingestionconfig/__init__.py +3 -0
  573. metadata/generated/schema/metadataIngestion/reverseingestionconfig/descriptionConfig.py +24 -0
  574. metadata/generated/schema/metadataIngestion/reverseingestionconfig/ownerConfig.py +28 -0
  575. metadata/generated/schema/metadataIngestion/reverseingestionconfig/tagsConfig.py +28 -0
  576. metadata/generated/schema/metadataIngestion/searchServiceMetadataPipeline.py +1 -1
  577. metadata/generated/schema/metadataIngestion/storage/__init__.py +1 -1
  578. metadata/generated/schema/metadataIngestion/storage/containerMetadataConfig.py +1 -1
  579. metadata/generated/schema/metadataIngestion/storage/manifestMetadataConfig.py +1 -1
  580. metadata/generated/schema/metadataIngestion/storage/storageBucketDetails.py +1 -1
  581. metadata/generated/schema/metadataIngestion/storage/storageMetadataADLSConfig.py +1 -1
  582. metadata/generated/schema/metadataIngestion/storage/storageMetadataGCSConfig.py +1 -1
  583. metadata/generated/schema/metadataIngestion/storage/storageMetadataHttpConfig.py +1 -1
  584. metadata/generated/schema/metadataIngestion/storage/storageMetadataLocalConfig.py +1 -1
  585. metadata/generated/schema/metadataIngestion/storage/storageMetadataS3Config.py +1 -1
  586. metadata/generated/schema/metadataIngestion/storageServiceMetadataPipeline.py +1 -1
  587. metadata/generated/schema/metadataIngestion/testSuitePipeline.py +1 -1
  588. metadata/generated/schema/metadataIngestion/workflow.py +3 -1
  589. metadata/generated/schema/monitoring/__init__.py +1 -1
  590. metadata/generated/schema/monitoring/eventMonitorProvider.py +1 -1
  591. metadata/generated/schema/search/__init__.py +3 -0
  592. metadata/generated/schema/search/searchRequest.py +106 -0
  593. metadata/generated/schema/security/__init__.py +1 -1
  594. metadata/generated/schema/security/client/__init__.py +1 -1
  595. metadata/generated/schema/security/client/auth0SSOClientConfig.py +1 -1
  596. metadata/generated/schema/security/client/azureSSOClientConfig.py +1 -1
  597. metadata/generated/schema/security/client/customOidcSSOClientConfig.py +1 -1
  598. metadata/generated/schema/security/client/googleSSOClientConfig.py +1 -1
  599. metadata/generated/schema/security/client/oidcClientConfig.py +1 -1
  600. metadata/generated/schema/security/client/oktaSSOClientConfig.py +1 -1
  601. metadata/generated/schema/security/client/openMetadataJWTClientConfig.py +1 -1
  602. metadata/generated/schema/security/client/samlSSOClientConfig.py +1 -1
  603. metadata/generated/schema/security/credentials/__init__.py +1 -1
  604. metadata/generated/schema/security/credentials/accessTokenAuth.py +1 -1
  605. metadata/generated/schema/security/credentials/apiAccessTokenAuth.py +1 -1
  606. metadata/generated/schema/security/credentials/awsCredentials.py +1 -1
  607. metadata/generated/schema/security/credentials/azureCredentials.py +1 -1
  608. metadata/generated/schema/security/credentials/basicAuth.py +1 -1
  609. metadata/generated/schema/security/credentials/bitbucketCredentials.py +1 -1
  610. metadata/generated/schema/security/credentials/gcpCredentials.py +42 -22
  611. metadata/generated/schema/security/credentials/gcpExternalAccount.py +2 -2
  612. metadata/generated/schema/security/credentials/gcpValues.py +1 -1
  613. metadata/generated/schema/security/credentials/gitCredentials.py +1 -1
  614. metadata/generated/schema/security/credentials/githubCredentials.py +1 -1
  615. metadata/generated/schema/security/credentials/gitlabCredentials.py +1 -1
  616. metadata/generated/schema/security/sasl/__init__.py +1 -1
  617. metadata/generated/schema/security/sasl/saslClientConfig.py +1 -1
  618. metadata/generated/schema/security/secrets/__init__.py +1 -1
  619. metadata/generated/schema/security/secrets/secretsManagerClientLoader.py +1 -1
  620. metadata/generated/schema/security/secrets/secretsManagerConfiguration.py +1 -1
  621. metadata/generated/schema/security/secrets/secretsManagerProvider.py +1 -1
  622. metadata/generated/schema/security/securityConfiguration.py +1 -1
  623. metadata/generated/schema/security/ssl/__init__.py +1 -1
  624. metadata/generated/schema/security/ssl/validateSSLClientConfig.py +1 -1
  625. metadata/generated/schema/security/ssl/verifySSLConfig.py +1 -1
  626. metadata/generated/schema/settings/__init__.py +1 -1
  627. metadata/generated/schema/settings/settings.py +4 -1
  628. metadata/generated/schema/system/__init__.py +1 -1
  629. metadata/generated/schema/system/entityError.py +1 -1
  630. metadata/generated/schema/system/eventPublisherJob.py +1 -1
  631. metadata/generated/schema/system/indexingError.py +1 -1
  632. metadata/generated/schema/system/limitsResponse.py +1 -1
  633. metadata/generated/schema/system/ui/__init__.py +1 -1
  634. metadata/generated/schema/system/ui/knowledgePanel.py +1 -1
  635. metadata/generated/schema/system/ui/navigationItem.py +38 -0
  636. metadata/generated/schema/system/ui/page.py +23 -15
  637. metadata/generated/schema/system/ui/tab.py +36 -0
  638. metadata/generated/schema/system/ui/uiCustomization.py +45 -0
  639. metadata/generated/schema/system/validationResponse.py +1 -1
  640. metadata/generated/schema/tests/__init__.py +1 -1
  641. metadata/generated/schema/tests/assigned.py +1 -1
  642. metadata/generated/schema/tests/basic.py +1 -1
  643. metadata/generated/schema/tests/customMetric.py +1 -1
  644. metadata/generated/schema/tests/dataQualityReport.py +1 -1
  645. metadata/generated/schema/tests/resolved.py +1 -1
  646. metadata/generated/schema/tests/testCase.py +4 -1
  647. metadata/generated/schema/tests/testCaseResolutionStatus.py +1 -1
  648. metadata/generated/schema/tests/testDefinition.py +1 -1
  649. metadata/generated/schema/tests/testSuite.py +1 -1
  650. metadata/generated/schema/type/__init__.py +1 -1
  651. metadata/generated/schema/type/apiSchema.py +1 -1
  652. metadata/generated/schema/type/assetCertification.py +1 -1
  653. metadata/generated/schema/type/auditLog.py +1 -1
  654. metadata/generated/schema/type/basic.py +1 -1
  655. metadata/generated/schema/type/bulkOperationResult.py +1 -1
  656. metadata/generated/schema/type/changeEvent.py +1 -1
  657. metadata/generated/schema/type/changeEventType.py +1 -1
  658. metadata/generated/schema/type/changeSummaryMap.py +37 -0
  659. metadata/generated/schema/type/collectionDescriptor.py +1 -1
  660. metadata/generated/schema/type/csvDocumentation.py +1 -1
  661. metadata/generated/schema/type/csvErrorType.py +1 -1
  662. metadata/generated/schema/type/csvFile.py +1 -1
  663. metadata/generated/schema/type/csvImportResult.py +1 -1
  664. metadata/generated/schema/type/customProperties/__init__.py +1 -1
  665. metadata/generated/schema/type/customProperties/complexTypes.py +1 -1
  666. metadata/generated/schema/type/customProperties/enumConfig.py +1 -1
  667. metadata/generated/schema/type/customProperties/tableConfig.py +1 -1
  668. metadata/generated/schema/type/customProperty.py +1 -1
  669. metadata/generated/schema/type/dailyCount.py +1 -1
  670. metadata/generated/schema/type/databaseConnectionConfig.py +1 -1
  671. metadata/generated/schema/type/entityHierarchy.py +1 -1
  672. metadata/generated/schema/type/entityHistory.py +6 -3
  673. metadata/generated/schema/type/entityLineage.py +27 -1
  674. metadata/generated/schema/type/entityReference.py +1 -1
  675. metadata/generated/schema/type/entityReferenceList.py +1 -1
  676. metadata/generated/schema/type/entityRelationship.py +1 -1
  677. metadata/generated/schema/type/entityUsage.py +1 -1
  678. metadata/generated/schema/type/filterPattern.py +1 -1
  679. metadata/generated/schema/type/function.py +1 -1
  680. metadata/generated/schema/type/include.py +1 -1
  681. metadata/generated/schema/type/jdbcConnection.py +1 -1
  682. metadata/generated/schema/type/lifeCycle.py +1 -1
  683. metadata/generated/schema/type/paging.py +1 -1
  684. metadata/generated/schema/type/profile.py +1 -1
  685. metadata/generated/schema/type/queryParserData.py +4 -1
  686. metadata/generated/schema/type/reaction.py +1 -1
  687. metadata/generated/schema/type/schedule.py +1 -1
  688. metadata/generated/schema/type/schema.py +1 -1
  689. metadata/generated/schema/type/tableQuery.py +4 -1
  690. metadata/generated/schema/type/tableUsageCount.py +18 -1
  691. metadata/generated/schema/type/tagLabel.py +1 -1
  692. metadata/generated/schema/type/usageDetails.py +1 -1
  693. metadata/generated/schema/type/usageRequest.py +1 -1
  694. metadata/generated/schema/type/votes.py +1 -1
  695. metadata/ingestion/api/topology_runner.py +3 -3
  696. metadata/ingestion/bulksink/metadata_usage.py +27 -6
  697. metadata/ingestion/lineage/masker.py +13 -2
  698. metadata/ingestion/models/custom_pydantic.py +44 -6
  699. metadata/ingestion/ometa/client.py +20 -0
  700. metadata/ingestion/ometa/mixins/domain_mixin.py +80 -0
  701. metadata/ingestion/ometa/mixins/es_mixin.py +42 -2
  702. metadata/ingestion/ometa/mixins/lineage_mixin.py +7 -33
  703. metadata/ingestion/ometa/mixins/patch_mixin.py +15 -5
  704. metadata/ingestion/ometa/mixins/pipeline_mixin.py +18 -0
  705. metadata/ingestion/ometa/mixins/query_mixin.py +43 -0
  706. metadata/ingestion/ometa/ometa_api.py +28 -3
  707. metadata/ingestion/ometa/routes.py +7 -0
  708. metadata/ingestion/ometa/utils.py +13 -0
  709. metadata/ingestion/processor/query_parser.py +1 -0
  710. metadata/ingestion/sink/metadata_rest.py +21 -1
  711. metadata/ingestion/source/dashboard/dashboard_service.py +9 -1
  712. metadata/ingestion/source/dashboard/domodashboard/metadata.py +3 -1
  713. metadata/ingestion/source/dashboard/lightdash/metadata.py +1 -1
  714. metadata/ingestion/source/dashboard/looker/metadata.py +8 -2
  715. metadata/ingestion/source/dashboard/metabase/client.py +65 -6
  716. metadata/ingestion/source/dashboard/metabase/metadata.py +88 -37
  717. metadata/ingestion/source/dashboard/metabase/models.py +2 -1
  718. metadata/ingestion/source/dashboard/microstrategy/metadata.py +3 -1
  719. metadata/ingestion/source/dashboard/mode/metadata.py +16 -9
  720. metadata/ingestion/source/dashboard/powerbi/client.py +3 -14
  721. metadata/ingestion/source/dashboard/powerbi/metadata.py +6 -54
  722. metadata/ingestion/source/dashboard/powerbi/models.py +0 -12
  723. metadata/ingestion/source/dashboard/qlikcloud/client.py +25 -2
  724. metadata/ingestion/source/dashboard/qlikcloud/metadata.py +69 -15
  725. metadata/ingestion/source/dashboard/qlikcloud/models.py +44 -1
  726. metadata/ingestion/source/dashboard/qliksense/metadata.py +26 -18
  727. metadata/ingestion/source/dashboard/quicksight/metadata.py +32 -29
  728. metadata/ingestion/source/dashboard/redash/metadata.py +12 -10
  729. metadata/ingestion/source/dashboard/sigma/metadata.py +12 -14
  730. metadata/ingestion/source/dashboard/superset/api_source.py +25 -26
  731. metadata/ingestion/source/dashboard/superset/db_source.py +22 -20
  732. metadata/ingestion/source/dashboard/superset/mixin.py +207 -53
  733. metadata/ingestion/source/dashboard/superset/models.py +3 -0
  734. metadata/ingestion/source/dashboard/superset/queries.py +7 -4
  735. metadata/ingestion/source/dashboard/superset/utils.py +36 -0
  736. metadata/ingestion/source/dashboard/tableau/client.py +56 -1
  737. metadata/ingestion/source/dashboard/tableau/metadata.py +243 -128
  738. metadata/ingestion/source/database/bigquery/helper.py +9 -1
  739. metadata/ingestion/source/database/bigquery/metadata.py +82 -10
  740. metadata/ingestion/source/database/bigquery/queries.py +2 -1
  741. metadata/ingestion/source/database/bigquery/query_parser.py +1 -0
  742. metadata/ingestion/source/database/bigtable/metadata.py +11 -3
  743. metadata/ingestion/source/database/cassandra/__init__.py +0 -0
  744. metadata/ingestion/source/database/cassandra/connection.py +138 -0
  745. metadata/ingestion/source/database/cassandra/helpers.py +100 -0
  746. metadata/ingestion/source/database/cassandra/metadata.py +138 -0
  747. metadata/ingestion/source/database/cassandra/queries.py +45 -0
  748. metadata/ingestion/source/database/cassandra/service_spec.py +10 -0
  749. metadata/ingestion/source/database/cockroach/__init__.py +0 -0
  750. metadata/ingestion/source/database/cockroach/connection.py +71 -0
  751. metadata/ingestion/source/database/cockroach/metadata.py +206 -0
  752. metadata/ingestion/source/database/cockroach/queries.py +90 -0
  753. metadata/ingestion/source/database/cockroach/service_spec.py +4 -0
  754. metadata/ingestion/source/database/common_db_source.py +9 -0
  755. metadata/ingestion/source/database/common_nosql_source.py +78 -29
  756. metadata/ingestion/source/database/common_pg_mappings.py +49 -0
  757. metadata/ingestion/source/database/couchbase/metadata.py +8 -2
  758. metadata/ingestion/source/database/databricks/metadata.py +8 -0
  759. metadata/ingestion/source/database/datalake/metadata.py +15 -9
  760. metadata/ingestion/source/database/db2/service_spec.py +4 -1
  761. metadata/ingestion/source/database/dbt/dbt_config.py +1 -0
  762. metadata/ingestion/source/database/dbt/dbt_utils.py +1 -1
  763. metadata/ingestion/source/database/dbt/metadata.py +5 -1
  764. metadata/ingestion/source/database/doris/metadata.py +7 -2
  765. metadata/ingestion/source/database/druid/service_spec.py +5 -1
  766. metadata/ingestion/source/database/dynamodb/metadata.py +6 -3
  767. metadata/ingestion/source/database/greenplum/metadata.py +6 -37
  768. metadata/ingestion/source/database/greenplum/service_spec.py +5 -1
  769. metadata/ingestion/source/database/hive/metastore_dialects/mysql/dialect.py +35 -13
  770. metadata/ingestion/source/database/hive/metastore_dialects/postgres/dialect.py +38 -14
  771. metadata/ingestion/source/database/hive/service_spec.py +5 -1
  772. metadata/ingestion/source/database/impala/service_spec.py +5 -1
  773. metadata/ingestion/source/database/life_cycle_query_mixin.py +11 -7
  774. metadata/ingestion/source/database/lineage_source.py +75 -2
  775. metadata/ingestion/source/database/mariadb/service_spec.py +9 -1
  776. metadata/ingestion/source/database/mongodb/metadata.py +8 -3
  777. metadata/ingestion/source/database/mssql/metadata.py +68 -2
  778. metadata/ingestion/source/database/mssql/queries.py +43 -0
  779. metadata/ingestion/source/database/mysql/utils.py +5 -3
  780. metadata/ingestion/source/database/oracle/connection.py +24 -2
  781. metadata/ingestion/source/database/oracle/metadata.py +36 -19
  782. metadata/ingestion/source/database/oracle/models.py +5 -4
  783. metadata/ingestion/source/database/oracle/queries.py +22 -1
  784. metadata/ingestion/source/database/pinotdb/service_spec.py +5 -1
  785. metadata/ingestion/source/database/postgres/lineage.py +1 -2
  786. metadata/ingestion/source/database/postgres/metadata.py +32 -56
  787. metadata/ingestion/source/database/postgres/models.py +1 -0
  788. metadata/ingestion/source/database/postgres/queries.py +18 -1
  789. metadata/ingestion/source/database/query_parser_source.py +11 -6
  790. metadata/ingestion/source/database/sample_data.py +11 -0
  791. metadata/ingestion/source/database/sample_usage.py +2 -0
  792. metadata/ingestion/source/database/saphana/lineage.py +1 -1
  793. metadata/ingestion/source/database/singlestore/service_spec.py +6 -1
  794. metadata/ingestion/source/database/snowflake/connection.py +6 -0
  795. metadata/ingestion/source/database/snowflake/constants.py +48 -0
  796. metadata/ingestion/source/database/snowflake/metadata.py +114 -3
  797. metadata/ingestion/source/database/snowflake/models.py +3 -3
  798. metadata/ingestion/source/database/snowflake/queries.py +27 -1
  799. metadata/ingestion/source/database/snowflake/query_parser.py +2 -0
  800. metadata/ingestion/source/database/snowflake/utils.py +110 -26
  801. metadata/ingestion/source/database/sql_column_handler.py +95 -60
  802. metadata/ingestion/source/database/sqlite/service_spec.py +5 -1
  803. metadata/ingestion/source/database/teradata/service_spec.py +5 -1
  804. metadata/ingestion/source/database/trino/lineage.py +95 -0
  805. metadata/ingestion/source/database/unitycatalog/connection.py +23 -0
  806. metadata/ingestion/source/database/unitycatalog/lineage.py +2 -0
  807. metadata/ingestion/source/database/unitycatalog/metadata.py +2 -0
  808. metadata/ingestion/source/database/usage_source.py +2 -0
  809. metadata/ingestion/source/messaging/messaging_service.py +2 -0
  810. metadata/ingestion/source/metadata/alationsink/metadata.py +32 -18
  811. metadata/ingestion/source/metadata/amundsen/metadata.py +7 -4
  812. metadata/ingestion/source/metadata/atlas/metadata.py +2 -1
  813. metadata/ingestion/source/mlmodel/mlmodel_service.py +2 -0
  814. metadata/ingestion/source/pipeline/airflow/metadata.py +25 -0
  815. metadata/ingestion/source/pipeline/airflow/models.py +1 -0
  816. metadata/ingestion/source/pipeline/nifi/client.py +68 -74
  817. metadata/ingestion/source/pipeline/nifi/connection.py +1 -18
  818. metadata/ingestion/source/pipeline/openlineage/metadata.py +1 -0
  819. metadata/ingestion/source/pipeline/pipeline_service.py +121 -2
  820. metadata/ingestion/source/search/opensearch/connection.py +215 -0
  821. metadata/ingestion/source/search/opensearch/metadata.py +270 -0
  822. metadata/ingestion/source/search/opensearch/parser.py +71 -0
  823. metadata/ingestion/source/search/opensearch/service_spec.py +4 -0
  824. metadata/ingestion/source/search/search_service.py +2 -0
  825. metadata/ingestion/source/storage/storage_service.py +2 -0
  826. metadata/ingestion/stage/table_usage.py +53 -1
  827. metadata/profiler/interface/sqlalchemy/unity_catalog/sampler_interface.py +3 -4
  828. metadata/profiler/orm/converter/azuresql/converter.py +39 -0
  829. metadata/profiler/orm/converter/converter_registry.py +2 -0
  830. metadata/profiler/orm/functions/length.py +2 -0
  831. metadata/profiler/orm/functions/median.py +19 -0
  832. metadata/profiler/orm/functions/modulo.py +1 -0
  833. metadata/profiler/orm/functions/random_num.py +1 -0
  834. metadata/profiler/orm/functions/sum.py +1 -0
  835. metadata/profiler/orm/registry.py +2 -0
  836. metadata/profiler/processor/core.py +1 -0
  837. metadata/profiler/processor/metric_filter.py +1 -1
  838. metadata/profiler/source/database/base/profiler_source.py +1 -0
  839. metadata/profiler/source/fetcher/fetcher_strategy.py +4 -0
  840. metadata/sampler/config.py +1 -0
  841. metadata/sampler/models.py +3 -0
  842. metadata/sampler/nosql/sampler.py +4 -0
  843. metadata/sampler/pandas/sampler.py +1 -0
  844. metadata/sampler/partition.py +9 -2
  845. metadata/sampler/sampler_interface.py +0 -1
  846. metadata/sampler/sqlalchemy/azuresql/sampler.py +30 -3
  847. metadata/sampler/sqlalchemy/mssql/sampler.py +2 -1
  848. metadata/sampler/sqlalchemy/sampler.py +51 -42
  849. metadata/sampler/sqlalchemy/snowflake/sampler.py +2 -1
  850. metadata/sampler/sqlalchemy/trino/sampler.py +9 -8
  851. metadata/utils/constants.py +1 -0
  852. metadata/utils/credentials.py +25 -4
  853. metadata/utils/db_utils.py +1 -11
  854. metadata/utils/elasticsearch.py +4 -0
  855. metadata/utils/helpers.py +91 -0
  856. metadata/utils/logger.py +9 -0
  857. metadata/utils/ssl_manager.py +35 -0
  858. metadata/utils/tag_utils.py +72 -27
  859. metadata/workflow/classification.py +3 -0
  860. metadata/workflow/profiler.py +13 -5
  861. metadata/workflow/workflow_status_mixin.py +6 -0
  862. {openmetadata_ingestion-1.6.7.1.dist-info → openmetadata_ingestion-1.7.0.0rc1.dist-info}/METADATA +433 -370
  863. {openmetadata_ingestion-1.6.7.1.dist-info → openmetadata_ingestion-1.7.0.0rc1.dist-info}/RECORD +867 -798
  864. {openmetadata_ingestion-1.6.7.1.dist-info → openmetadata_ingestion-1.7.0.0rc1.dist-info}/LICENSE +0 -0
  865. {openmetadata_ingestion-1.6.7.1.dist-info → openmetadata_ingestion-1.7.0.0rc1.dist-info}/WHEEL +0 -0
  866. {openmetadata_ingestion-1.6.7.1.dist-info → openmetadata_ingestion-1.7.0.0rc1.dist-info}/entry_points.txt +0 -0
  867. {openmetadata_ingestion-1.6.7.1.dist-info → openmetadata_ingestion-1.7.0.0rc1.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,71 @@
1
+ # Copyright 2021 Collate
2
+ # Licensed under the Apache License, Version 2.0 (the "License");
3
+ # you may not use this file except in compliance with the License.
4
+ # You may obtain a copy of the License at
5
+ # http://www.apache.org/licenses/LICENSE-2.0
6
+ # Unless required by applicable law or agreed to in writing, software
7
+ # distributed under the License is distributed on an "AS IS" BASIS,
8
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
9
+ # See the License for the specific language governing permissions and
10
+ # limitations under the License.
11
+
12
+ """
13
+ Source connection handler
14
+ """
15
+ from typing import Optional
16
+
17
+ from sqlalchemy.engine import Engine
18
+
19
+ from metadata.generated.schema.entity.automations.workflow import (
20
+ Workflow as AutomationWorkflow,
21
+ )
22
+ from metadata.generated.schema.entity.services.connections.database.cockroachConnection import (
23
+ CockroachConnection,
24
+ )
25
+ from metadata.generated.schema.entity.services.connections.testConnectionResult import (
26
+ TestConnectionResult,
27
+ )
28
+ from metadata.ingestion.connections.builders import (
29
+ create_generic_db_connection,
30
+ get_connection_args_common,
31
+ get_connection_url_common,
32
+ )
33
+ from metadata.ingestion.connections.test_connections import test_connection_db_common
34
+ from metadata.ingestion.ometa.ometa_api import OpenMetadata
35
+ from metadata.ingestion.source.database.cockroach.queries import COCKROACH_GET_DATABASE
36
+ from metadata.utils.constants import THREE_MIN
37
+
38
+
39
+ def get_connection(connection: CockroachConnection) -> Engine:
40
+ """
41
+ Create connection
42
+ """
43
+ return create_generic_db_connection(
44
+ connection=connection,
45
+ get_connection_url_fn=get_connection_url_common,
46
+ get_connection_args_fn=get_connection_args_common,
47
+ )
48
+
49
+
50
+ def test_connection(
51
+ metadata: OpenMetadata,
52
+ engine: Engine,
53
+ service_connection: CockroachConnection,
54
+ automation_workflow: Optional[AutomationWorkflow] = None,
55
+ timeout_seconds: Optional[int] = THREE_MIN,
56
+ ) -> TestConnectionResult:
57
+ """
58
+ Test connection. This can be executed either as part
59
+ of a metadata workflow or during an Automation Workflow
60
+ """
61
+ queries = {
62
+ "GetDatabases": COCKROACH_GET_DATABASE,
63
+ }
64
+ return test_connection_db_common(
65
+ metadata=metadata,
66
+ engine=engine,
67
+ service_connection=service_connection,
68
+ automation_workflow=automation_workflow,
69
+ queries=queries,
70
+ timeout_seconds=timeout_seconds,
71
+ )
@@ -0,0 +1,206 @@
1
+ # Copyright 2021 Collate
2
+ # Licensed under the Apache License, Version 2.0 (the "License");
3
+ # you may not use this file except in compliance with the License.
4
+ # You may obtain a copy of the License at
5
+ # http://www.apache.org/licenses/LICENSE-2.0
6
+ # Unless required by applicable law or agreed to in writing, software
7
+ # distributed under the License is distributed on an "AS IS" BASIS,
8
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
9
+ # See the License for the specific language governing permissions and
10
+ # limitations under the License.
11
+ """
12
+ Cockroach source module
13
+ """
14
+ import traceback
15
+ from collections import namedtuple
16
+ from typing import Iterable, Optional, Tuple
17
+
18
+ from sqlalchemy import sql
19
+ from sqlalchemy.dialects.postgresql.base import PGDialect
20
+
21
+ from metadata.generated.schema.entity.data.database import Database
22
+ from metadata.generated.schema.entity.data.table import (
23
+ PartitionColumnDetails,
24
+ PartitionIntervalTypes,
25
+ TablePartition,
26
+ TableType,
27
+ )
28
+ from metadata.generated.schema.entity.services.connections.database.cockroachConnection import (
29
+ CockroachConnection,
30
+ )
31
+ from metadata.generated.schema.entity.services.connections.metadata.openMetadataConnection import (
32
+ OpenMetadataConnection,
33
+ )
34
+ from metadata.generated.schema.metadataIngestion.workflow import (
35
+ Source as WorkflowSource,
36
+ )
37
+ from metadata.ingestion.api.steps import InvalidSourceException
38
+ from metadata.ingestion.ometa.ometa_api import OpenMetadata
39
+ from metadata.ingestion.source.database.cockroach.queries import (
40
+ COCKROACH_GET_DB_NAMES,
41
+ COCKROACH_GET_PARTITION_DETAILS,
42
+ COCKROACH_GET_TABLE_NAMES,
43
+ COCKROACH_GET_VIEW_NAMES,
44
+ COCKROACH_SCHEMA_COMMENTS,
45
+ )
46
+ from metadata.ingestion.source.database.common_db_source import (
47
+ CommonDbSourceService,
48
+ TableNameAndType,
49
+ )
50
+ from metadata.ingestion.source.database.common_pg_mappings import (
51
+ INTERVAL_TYPE_MAP,
52
+ RELKIND_MAP,
53
+ ischema_names,
54
+ )
55
+ from metadata.ingestion.source.database.multi_db_source import MultiDBSource
56
+ from metadata.utils import fqn
57
+ from metadata.utils.filters import filter_by_database
58
+ from metadata.utils.importer import import_side_effects
59
+ from metadata.utils.logger import ingestion_logger
60
+
61
+ import_side_effects(
62
+ "metadata.ingestion.source.database.postgres.converter_orm",
63
+ "metadata.ingestion.source.database.postgres.metrics",
64
+ )
65
+
66
+ TableKey = namedtuple("TableKey", ["schema", "table_name"])
67
+
68
+ logger = ingestion_logger()
69
+
70
+ PGDialect.ischema_names = ischema_names
71
+
72
+
73
+ class CockroachSource(CommonDbSourceService, MultiDBSource):
74
+ """
75
+ Implements the necessary methods to extract
76
+ Database metadata from Cockroach Source
77
+ """
78
+
79
+ def __init__(self, config: WorkflowSource, metadata: OpenMetadata):
80
+ super().__init__(config, metadata)
81
+ self.schema_desc_map = {}
82
+
83
+ @classmethod
84
+ def create(
85
+ cls,
86
+ config_dict,
87
+ metadata: OpenMetadataConnection,
88
+ pipeline_name: Optional[str] = None,
89
+ ):
90
+ config: WorkflowSource = WorkflowSource.model_validate(config_dict)
91
+ connection: CockroachConnection = config.serviceConnection.root.config
92
+ if not isinstance(connection, CockroachConnection):
93
+ raise InvalidSourceException(
94
+ f"Expected CockroachConnection, but got {connection}"
95
+ )
96
+ return cls(config, metadata)
97
+
98
+ def set_schema_description_map(self) -> None:
99
+ self.schema_desc_map.clear()
100
+ results = self.engine.execute(COCKROACH_SCHEMA_COMMENTS).all()
101
+ for row in results:
102
+ self.schema_desc_map[(row.database_name, row.schema_name)] = row.comment
103
+
104
+ def get_schema_description(self, schema_name: str) -> Optional[str]:
105
+ """
106
+ Method to fetch the schema description
107
+ """
108
+ return self.schema_desc_map.get((self.context.get().database, schema_name))
109
+
110
+ def query_table_names_and_types(
111
+ self, schema_name: str
112
+ ) -> Iterable[TableNameAndType]:
113
+ """
114
+ Overwrite the inspector implementation to handle partitioned
115
+ and foreign types
116
+ """
117
+ result = self.connection.execute(
118
+ sql.text(COCKROACH_GET_TABLE_NAMES),
119
+ {"schema": schema_name},
120
+ )
121
+ return [
122
+ TableNameAndType(
123
+ name=name, type_=RELKIND_MAP.get(relkind, TableType.Regular)
124
+ )
125
+ for name, relkind in result
126
+ ]
127
+
128
+ def query_view_names_and_types(
129
+ self, schema_name: str
130
+ ) -> Iterable[TableNameAndType]:
131
+ result = self.connection.execute(
132
+ sql.text(COCKROACH_GET_VIEW_NAMES),
133
+ {"schema": schema_name},
134
+ )
135
+ return [
136
+ TableNameAndType(
137
+ name=name, type_=RELKIND_MAP.get(relkind, TableType.Regular)
138
+ )
139
+ for name, relkind in result
140
+ ]
141
+
142
+ def get_configured_database(self) -> Optional[str]:
143
+ if not self.service_connection.ingestAllDatabases:
144
+ return self.service_connection.database
145
+ return None
146
+
147
+ def get_database_names_raw(self) -> Iterable[str]:
148
+ yield from self._execute_database_query(COCKROACH_GET_DB_NAMES)
149
+
150
+ def get_database_names(self) -> Iterable[str]:
151
+ if not self.config.serviceConnection.root.config.ingestAllDatabases:
152
+ configured_db = self.config.serviceConnection.root.config.database
153
+ self.set_inspector(database_name=configured_db)
154
+ self.set_schema_description_map()
155
+ yield configured_db
156
+ else:
157
+ for new_database in self.get_database_names_raw():
158
+ database_fqn = fqn.build(
159
+ self.metadata,
160
+ entity_type=Database,
161
+ service_name=self.context.get().database_service,
162
+ database_name=new_database,
163
+ )
164
+
165
+ if filter_by_database(
166
+ self.source_config.databaseFilterPattern,
167
+ (
168
+ database_fqn
169
+ if self.source_config.useFqnForFiltering
170
+ else new_database
171
+ ),
172
+ ):
173
+ self.status.filter(database_fqn, "Database Filtered Out")
174
+ continue
175
+
176
+ try:
177
+ self.set_inspector(database_name=new_database)
178
+ self.set_schema_description_map()
179
+ yield new_database
180
+ except Exception as exc:
181
+ logger.debug(traceback.format_exc())
182
+ logger.error(
183
+ f"Error trying to connect to database {new_database}: {exc}"
184
+ )
185
+
186
+ def get_table_partition_details(
187
+ self, table_name: str, schema_name: str, inspector
188
+ ) -> Tuple[bool, TablePartition]:
189
+ result = self.engine.execute(
190
+ COCKROACH_GET_PARTITION_DETAILS, table_name=table_name
191
+ ).all()
192
+ if result:
193
+ partition_details = TablePartition(
194
+ columns=[
195
+ PartitionColumnDetails(
196
+ columnName=row[1],
197
+ intervalType=INTERVAL_TYPE_MAP.get(
198
+ row[2], PartitionIntervalTypes.COLUMN_VALUE
199
+ ),
200
+ interval=None,
201
+ )
202
+ for row in result
203
+ ]
204
+ )
205
+ return True, partition_details
206
+ return False, None
@@ -0,0 +1,90 @@
1
+ # Copyright 2021 Collate
2
+ # Licensed under the Apache License, Version 2.0 (the "License");
3
+ # you may not use this file except in compliance with the License.
4
+ # You may obtain a copy of the License at
5
+ # http://www.apache.org/licenses/LICENSE-2.0
6
+ # Unless required by applicable law or agreed to in writing, software
7
+ # distributed under the License is distributed on an "AS IS" BASIS,
8
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
9
+ # See the License for the specific language governing permissions and
10
+ # limitations under the License.
11
+ """
12
+ SQL Queries used during ingestion
13
+ """
14
+
15
+ from sqlalchemy import text
16
+
17
+ COCKROACH_GET_TABLE_NAMES = """
18
+ SELECT
19
+ c.relname AS table_name,
20
+ c.relkind AS relkind
21
+ FROM
22
+ pg_class c
23
+ JOIN
24
+ pg_namespace n ON n.oid = c.relnamespace
25
+ WHERE
26
+ n.nspname = :schema
27
+ AND c.relkind IN ('r', 'p', 'f')
28
+ ORDER BY
29
+ c.relname
30
+ """
31
+
32
+ COCKROACH_GET_VIEW_NAMES = """
33
+ SELECT
34
+ c.relname AS table_name,
35
+ c.relkind AS relkind
36
+ FROM
37
+ pg_class c
38
+ JOIN
39
+ pg_namespace n ON n.oid = c.relnamespace
40
+ WHERE
41
+ n.nspname = :schema
42
+ AND c.relkind IN ('v')
43
+ ORDER BY
44
+ c.relname
45
+ """
46
+
47
+
48
+ COCKROACH_SCHEMA_COMMENTS = """
49
+ SELECT
50
+ current_database() AS database_name,
51
+ n.nspname AS schema_name,
52
+ d.description AS comment
53
+ FROM
54
+ pg_namespace n
55
+ LEFT JOIN
56
+ pg_description d
57
+ ON
58
+ n.oid = d.objoid
59
+ WHERE
60
+ d.objsubid = 0;
61
+ """
62
+
63
+
64
+ COCKROACH_GET_DATABASE = text(
65
+ """
66
+ select datname FROM pg_catalog.pg_database
67
+ """
68
+ )
69
+
70
+ COCKROACH_GET_DB_NAMES = """
71
+ select datname from pg_catalog.pg_database
72
+ """
73
+
74
+ COCKROACH_GET_PARTITION_DETAILS = """
75
+ SELECT
76
+ partitions.name AS partition_name,
77
+ column_names,
78
+ CASE
79
+ WHEN list_value IS NOT NULL THEN 'list'
80
+ ELSE 'range'
81
+ END AS partition_type,
82
+ tables.name AS table_name,
83
+ database_name
84
+ FROM
85
+ crdb_internal.partitions
86
+ JOIN
87
+ crdb_internal.tables ON partitions.table_id = tables.table_id
88
+ WHERE
89
+ tables.name = %(table_name)s;
90
+ """
@@ -0,0 +1,4 @@
1
+ from metadata.ingestion.source.database.cockroach.metadata import CockroachSource
2
+ from metadata.utils.service_spec.default import DefaultDatabaseSpec
3
+
4
+ ServiceSpec = DefaultDatabaseSpec(metadata_source_class=CockroachSource)
@@ -77,6 +77,7 @@ from metadata.utils.execution_time_tracker import (
77
77
  calculate_execution_time_generator,
78
78
  )
79
79
  from metadata.utils.filters import filter_by_table
80
+ from metadata.utils.helpers import retry_with_docker_host
80
81
  from metadata.utils.logger import ingestion_logger
81
82
  from metadata.utils.ssl_manager import SSLManager, check_ssl_and_init
82
83
 
@@ -108,6 +109,7 @@ class CommonDbSourceService(
108
109
  - fetch_column_tags implemented at SqlColumnHandler. Sources should override this when needed
109
110
  """
110
111
 
112
+ @retry_with_docker_host()
111
113
  def __init__(
112
114
  self,
113
115
  config: WorkflowSource,
@@ -193,6 +195,12 @@ class CommonDbSourceService(
193
195
  by default there will be no schema description
194
196
  """
195
197
 
198
+ def get_stored_procedure_description(self, stored_procedure: str) -> Optional[str]:
199
+ """
200
+ Method to fetch the stored procedure description
201
+ by default there will be no stored procedure description
202
+ """
203
+
196
204
  @calculate_execution_time_generator()
197
205
  def yield_database(
198
206
  self, database_name: str
@@ -501,6 +509,7 @@ class CommonDbSourceService(
501
509
  foreign_columns,
502
510
  ) = self.get_columns_and_constraints(
503
511
  schema_name=schema_name,
512
+ table_type=table_type,
504
513
  table_name=table_name,
505
514
  db_name=self.context.get().database,
506
515
  inspector=self.inspector,
@@ -16,6 +16,8 @@ import traceback
16
16
  from abc import ABC, abstractmethod
17
17
  from typing import Any, Dict, Iterable, List, Optional, Tuple, Union
18
18
 
19
+ from pydantic import BaseModel
20
+
19
21
  from metadata.generated.schema.api.data.createDatabase import CreateDatabaseRequest
20
22
  from metadata.generated.schema.api.data.createDatabaseSchema import (
21
23
  CreateDatabaseSchemaRequest,
@@ -27,6 +29,7 @@ from metadata.generated.schema.api.data.createTable import CreateTableRequest
27
29
  from metadata.generated.schema.entity.data.database import Database
28
30
  from metadata.generated.schema.entity.data.databaseSchema import DatabaseSchema
29
31
  from metadata.generated.schema.entity.data.table import (
32
+ Column,
30
33
  Table,
31
34
  TableConstraint,
32
35
  TableType,
@@ -51,6 +54,7 @@ from metadata.utils import fqn
51
54
  from metadata.utils.constants import DEFAULT_DATABASE
52
55
  from metadata.utils.datalake.datalake_utils import DataFrameColumnParser
53
56
  from metadata.utils.filters import filter_by_schema, filter_by_table
57
+ from metadata.utils.helpers import retry_with_docker_host
54
58
  from metadata.utils.logger import ingestion_logger
55
59
  from metadata.utils.ssl_manager import check_ssl_and_init
56
60
 
@@ -60,12 +64,23 @@ logger = ingestion_logger()
60
64
  SAMPLE_SIZE = 1000
61
65
 
62
66
 
67
+ class TableNameAndType(BaseModel):
68
+ """
69
+ Helper model for passing down
70
+ names and types of tables
71
+ """
72
+
73
+ name: str
74
+ type_: TableType = TableType.Regular
75
+
76
+
63
77
  class CommonNoSQLSource(DatabaseServiceSource, ABC):
64
78
  """
65
79
  Implements the necessary methods to extract
66
80
  Database metadata from NoSQL source
67
81
  """
68
82
 
83
+ @retry_with_docker_host()
69
84
  def __init__(self, config: WorkflowSource, metadata: OpenMetadata):
70
85
  super().__init__()
71
86
  self.config = config
@@ -168,12 +183,22 @@ class CommonNoSQLSource(DatabaseServiceSource, ABC):
168
183
  )
169
184
 
170
185
  @abstractmethod
171
- def get_table_name_list(self, schema_name: str) -> List[str]:
186
+ def query_table_names_and_types(
187
+ self, schema_name: str
188
+ ) -> Iterable[TableNameAndType]:
172
189
  """
173
- Method to get list of table names available within schema db
190
+ Method to get list of table names and types available within schema db
174
191
  need to be overridden by sources
175
192
  """
176
193
 
194
+ def query_view_names_and_types(
195
+ self, schema_name: str
196
+ ) -> Iterable[TableNameAndType]:
197
+ """
198
+ Method to get list of materialized view names and types available within schema db
199
+ need to be overridden by sources if views are supported by the database.
200
+ """
201
+
177
202
  def get_tables_name_and_type(self) -> Optional[Iterable[Tuple[str, TableType]]]:
178
203
  """
179
204
  Handle table and views.
@@ -184,29 +209,46 @@ class CommonNoSQLSource(DatabaseServiceSource, ABC):
184
209
  :return: tables or views, depending on config
185
210
  """
186
211
  schema_name = self.context.get().database_schema
187
- if self.source_config.includeTables:
188
- for collection in self.get_table_name_list(schema_name):
189
- table_name = collection
190
- table_fqn = fqn.build(
191
- self.metadata,
192
- entity_type=Table,
193
- service_name=self.context.get().database_service,
194
- database_name=self.context.get().database,
195
- schema_name=self.context.get().database_schema,
196
- table_name=table_name,
197
- )
198
- if filter_by_table(
199
- self.source_config.tableFilterPattern,
200
- table_fqn if self.source_config.useFqnForFiltering else table_name,
201
- ):
202
- self.status.filter(
203
- table_fqn,
204
- "Table Filtered Out",
205
- )
212
+
213
+ try:
214
+ for table_and_type_fn, flag in {
215
+ self.query_table_names_and_types: self.source_config.includeTables,
216
+ self.query_view_names_and_types: self.source_config.includeViews,
217
+ }.items():
218
+ if not flag:
206
219
  continue
207
- yield table_name, TableType.Regular
208
220
 
209
- @abstractmethod
221
+ for table_and_type in table_and_type_fn(schema_name=schema_name) or []:
222
+ table_name, table_type = table_and_type.name, table_and_type.type_
223
+
224
+ table_fqn = fqn.build(
225
+ self.metadata,
226
+ entity_type=Table,
227
+ service_name=self.context.get().database_service,
228
+ database_name=self.context.get().database,
229
+ schema_name=self.context.get().database_schema,
230
+ table_name=table_name,
231
+ )
232
+ if filter_by_table(
233
+ self.source_config.tableFilterPattern,
234
+ (
235
+ table_fqn
236
+ if self.source_config.useFqnForFiltering
237
+ else table_name
238
+ ),
239
+ ):
240
+ self.status.filter(
241
+ table_fqn,
242
+ "Table Filtered Out",
243
+ )
244
+ continue
245
+ yield table_name, table_type
246
+ except Exception as err:
247
+ logger.warning(
248
+ f"Fetching tables names failed for schema {schema_name} due to - {err}"
249
+ )
250
+ logger.debug(traceback.format_exc())
251
+
210
252
  def get_table_columns_dict(
211
253
  self, schema_name: str, table_name: str
212
254
  ) -> Union[List[Dict], Dict]:
@@ -224,6 +266,18 @@ class CommonNoSQLSource(DatabaseServiceSource, ABC):
224
266
  # pylint: disable=unused-argument
225
267
  return None
226
268
 
269
+ def get_table_columns(self, schema_name: str, table_name: str) -> List[Column]:
270
+ """
271
+ Method to return all columns of a table
272
+ """
273
+ import pandas as pd # pylint: disable=import-outside-toplevel
274
+
275
+ df = pd.DataFrame.from_records(
276
+ list(self.get_table_columns_dict(schema_name, table_name))
277
+ )
278
+ column_parser = DataFrameColumnParser.create(df)
279
+ return column_parser.get_columns()
280
+
227
281
  def yield_table(
228
282
  self, table_name_and_type: Tuple[str, TableType]
229
283
  ) -> Iterable[Either[CreateTableRequest]]:
@@ -231,19 +285,14 @@ class CommonNoSQLSource(DatabaseServiceSource, ABC):
231
285
  From topology.
232
286
  Prepare a table request and pass it to the sink
233
287
  """
234
- import pandas as pd # pylint: disable=import-outside-toplevel
235
288
 
236
289
  table_name, table_type = table_name_and_type
237
290
  schema_name = self.context.get().database_schema
238
291
  try:
239
- data = self.get_table_columns_dict(schema_name, table_name)
240
- df = pd.DataFrame.from_records(list(data))
241
- column_parser = DataFrameColumnParser.create(df)
242
- columns = column_parser.get_columns()
243
292
  table_request = CreateTableRequest(
244
293
  name=EntityName(table_name),
245
294
  tableType=table_type,
246
- columns=columns,
295
+ columns=self.get_table_columns(schema_name, table_name),
247
296
  tableConstraints=self.get_table_constraints(
248
297
  schema_name=schema_name,
249
298
  table_name=table_name,
@@ -0,0 +1,49 @@
1
+ """
2
+ Common Postgresql mappings
3
+ """
4
+
5
+ from sqlalchemy import String as SqlAlchemyString
6
+ from sqlalchemy.dialects.postgresql.base import ischema_names
7
+
8
+ from metadata.generated.schema.entity.data.table import (
9
+ PartitionIntervalTypes,
10
+ TableType,
11
+ )
12
+ from metadata.ingestion.source.database.column_type_parser import create_sqlalchemy_type
13
+
14
+ INTERVAL_TYPE_MAP = {
15
+ "list": PartitionIntervalTypes.COLUMN_VALUE,
16
+ "hash": PartitionIntervalTypes.COLUMN_VALUE,
17
+ "range": PartitionIntervalTypes.TIME_UNIT,
18
+ }
19
+
20
+ RELKIND_MAP = {
21
+ "r": TableType.Regular,
22
+ "p": TableType.Partitioned,
23
+ "f": TableType.Foreign,
24
+ "v": TableType.View,
25
+ }
26
+
27
+ GEOMETRY = create_sqlalchemy_type("GEOMETRY")
28
+ POINT = create_sqlalchemy_type("POINT")
29
+ POLYGON = create_sqlalchemy_type("POLYGON")
30
+
31
+ ischema_names.update(
32
+ {
33
+ "geometry": GEOMETRY,
34
+ "point": POINT,
35
+ "polygon": POLYGON,
36
+ "box": create_sqlalchemy_type("BOX"),
37
+ "bpchar": SqlAlchemyString,
38
+ "circle": create_sqlalchemy_type("CIRCLE"),
39
+ "line": create_sqlalchemy_type("LINE"),
40
+ "lseg": create_sqlalchemy_type("LSEG"),
41
+ "path": create_sqlalchemy_type("PATH"),
42
+ "pg_lsn": create_sqlalchemy_type("PG_LSN"),
43
+ "pg_snapshot": create_sqlalchemy_type("PG_SNAPSHOT"),
44
+ "tsquery": create_sqlalchemy_type("TSQUERY"),
45
+ "txid_snapshot": create_sqlalchemy_type("TXID_SNAPSHOT"),
46
+ "xid": SqlAlchemyString,
47
+ "xml": create_sqlalchemy_type("XML"),
48
+ }
49
+ )
@@ -26,6 +26,7 @@ from metadata.ingestion.ometa.ometa_api import OpenMetadata
26
26
  from metadata.ingestion.source.database.common_nosql_source import (
27
27
  SAMPLE_SIZE,
28
28
  CommonNoSQLSource,
29
+ TableNameAndType,
29
30
  )
30
31
  from metadata.ingestion.source.database.couchbase.models import IndexObject as Index
31
32
  from metadata.ingestion.source.database.couchbase.queries import (
@@ -96,13 +97,18 @@ class CouchbaseSource(CommonNoSQLSource):
96
97
  logger.debug(traceback.format_exc())
97
98
  return []
98
99
 
99
- def get_table_name_list(self, schema_name: str) -> List[str]:
100
+ def query_table_names_and_types(
101
+ self, schema_name: str
102
+ ) -> Iterable[TableNameAndType]:
100
103
  """
101
104
  Method to get list of table names available within schema db
102
105
  """
103
106
  try:
104
107
  scope_object = self.context.get().scope_dict.get(schema_name)
105
- return [collection.name for collection in scope_object.collections]
108
+ return [
109
+ TableNameAndType(name=collection.name)
110
+ for collection in scope_object.collections
111
+ ]
106
112
  except Exception as exp:
107
113
  logger.debug(
108
114
  f"Failed to list collection names for scope [{schema_name}]: {exp}"