openmetadata-ingestion 1.9.12.0__py3-none-any.whl → 1.9.13.1__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 (798) hide show
  1. metadata/examples/workflows/confluent_cdc.yaml +70 -0
  2. metadata/examples/workflows/confluent_cdc_cloud.yaml +86 -0
  3. metadata/examples/workflows/confluent_cdc_local.yaml +120 -0
  4. metadata/examples/workflows/my_confluent_cloud.yaml +49 -0
  5. metadata/generated/schema/analytics/__init__.py +1 -1
  6. metadata/generated/schema/analytics/basic.py +1 -1
  7. metadata/generated/schema/analytics/reportData.py +1 -1
  8. metadata/generated/schema/analytics/reportDataType/__init__.py +1 -1
  9. metadata/generated/schema/analytics/reportDataType/aggregatedCostAnalysisReportData.py +1 -1
  10. metadata/generated/schema/analytics/reportDataType/entityReportData.py +1 -1
  11. metadata/generated/schema/analytics/reportDataType/rawCostAnalysisReportData.py +1 -1
  12. metadata/generated/schema/analytics/reportDataType/webAnalyticEntityViewReportData.py +1 -1
  13. metadata/generated/schema/analytics/reportDataType/webAnalyticUserActivityReportData.py +1 -1
  14. metadata/generated/schema/analytics/webAnalyticEvent.py +1 -1
  15. metadata/generated/schema/analytics/webAnalyticEventData.py +1 -1
  16. metadata/generated/schema/analytics/webAnalyticEventType/__init__.py +1 -1
  17. metadata/generated/schema/analytics/webAnalyticEventType/customEvent.py +1 -1
  18. metadata/generated/schema/analytics/webAnalyticEventType/pageViewEvent.py +1 -1
  19. metadata/generated/schema/api/__init__.py +1 -1
  20. metadata/generated/schema/api/addGlossaryToAssetsRequest.py +1 -1
  21. metadata/generated/schema/api/addTagToAssetsRequest.py +1 -1
  22. metadata/generated/schema/api/analytics/__init__.py +1 -1
  23. metadata/generated/schema/api/analytics/createWebAnalyticEvent.py +1 -1
  24. metadata/generated/schema/api/automations/__init__.py +1 -1
  25. metadata/generated/schema/api/automations/createWorkflow.py +1 -1
  26. metadata/generated/schema/api/bulkAssets.py +1 -1
  27. metadata/generated/schema/api/classification/__init__.py +1 -1
  28. metadata/generated/schema/api/classification/createClassification.py +1 -1
  29. metadata/generated/schema/api/classification/createTag.py +1 -1
  30. metadata/generated/schema/api/classification/loadTags.py +1 -1
  31. metadata/generated/schema/api/createBot.py +1 -1
  32. metadata/generated/schema/api/createEventPublisherJob.py +1 -1
  33. metadata/generated/schema/api/createType.py +1 -1
  34. metadata/generated/schema/api/data/__init__.py +1 -1
  35. metadata/generated/schema/api/data/createAPICollection.py +1 -1
  36. metadata/generated/schema/api/data/createAPIEndpoint.py +1 -1
  37. metadata/generated/schema/api/data/createChart.py +1 -1
  38. metadata/generated/schema/api/data/createContainer.py +1 -1
  39. metadata/generated/schema/api/data/createCustomProperty.py +1 -1
  40. metadata/generated/schema/api/data/createDashboard.py +1 -1
  41. metadata/generated/schema/api/data/createDashboardDataModel.py +5 -1
  42. metadata/generated/schema/api/data/createDataContract.py +1 -1
  43. metadata/generated/schema/api/data/createDatabase.py +1 -1
  44. metadata/generated/schema/api/data/createDatabaseSchema.py +1 -1
  45. metadata/generated/schema/api/data/createDirectory.py +1 -1
  46. metadata/generated/schema/api/data/createEntityProfile.py +1 -1
  47. metadata/generated/schema/api/data/createFile.py +1 -1
  48. metadata/generated/schema/api/data/createGlossary.py +1 -1
  49. metadata/generated/schema/api/data/createGlossaryTerm.py +1 -1
  50. metadata/generated/schema/api/data/createMetric.py +1 -1
  51. metadata/generated/schema/api/data/createMlModel.py +1 -1
  52. metadata/generated/schema/api/data/createPipeline.py +1 -1
  53. metadata/generated/schema/api/data/createQuery.py +1 -1
  54. metadata/generated/schema/api/data/createQueryCostRecord.py +1 -1
  55. metadata/generated/schema/api/data/createSearchIndex.py +1 -1
  56. metadata/generated/schema/api/data/createSpreadsheet.py +1 -1
  57. metadata/generated/schema/api/data/createStoredProcedure.py +1 -1
  58. metadata/generated/schema/api/data/createTable.py +1 -1
  59. metadata/generated/schema/api/data/createTableProfile.py +1 -1
  60. metadata/generated/schema/api/data/createTopic.py +1 -1
  61. metadata/generated/schema/api/data/createWorksheet.py +1 -1
  62. metadata/generated/schema/api/data/loadGlossary.py +1 -1
  63. metadata/generated/schema/api/data/restoreEntity.py +1 -1
  64. metadata/generated/schema/api/data/updateColumn.py +1 -1
  65. metadata/generated/schema/api/dataInsight/__init__.py +1 -1
  66. metadata/generated/schema/api/dataInsight/createDataInsightChart.py +1 -1
  67. metadata/generated/schema/api/dataInsight/custom/__init__.py +1 -1
  68. metadata/generated/schema/api/dataInsight/custom/createDataInsightCustomChart.py +1 -1
  69. metadata/generated/schema/api/dataInsight/kpi/__init__.py +1 -1
  70. metadata/generated/schema/api/dataInsight/kpi/createKpiRequest.py +1 -1
  71. metadata/generated/schema/api/docStore/__init__.py +1 -1
  72. metadata/generated/schema/api/docStore/createDocument.py +1 -1
  73. metadata/generated/schema/api/domains/__init__.py +1 -1
  74. metadata/generated/schema/api/domains/createDataProduct.py +1 -1
  75. metadata/generated/schema/api/domains/createDomain.py +1 -1
  76. metadata/generated/schema/api/entityRelationship/__init__.py +1 -1
  77. metadata/generated/schema/api/entityRelationship/entityRelationshipDirection.py +1 -1
  78. metadata/generated/schema/api/entityRelationship/esEntityRelationshipData.py +1 -1
  79. metadata/generated/schema/api/entityRelationship/relationshipRef.py +1 -1
  80. metadata/generated/schema/api/entityRelationship/searchEntityRelationshipRequest.py +1 -1
  81. metadata/generated/schema/api/entityRelationship/searchEntityRelationshipResult.py +1 -1
  82. metadata/generated/schema/api/entityRelationship/searchSchemaEntityRelationshipResult.py +1 -1
  83. metadata/generated/schema/api/feed/__init__.py +1 -1
  84. metadata/generated/schema/api/feed/closeTask.py +1 -1
  85. metadata/generated/schema/api/feed/createPost.py +1 -1
  86. metadata/generated/schema/api/feed/createSuggestion.py +1 -1
  87. metadata/generated/schema/api/feed/createThread.py +1 -1
  88. metadata/generated/schema/api/feed/resolveTask.py +1 -1
  89. metadata/generated/schema/api/feed/threadCount.py +1 -1
  90. metadata/generated/schema/api/governance/__init__.py +1 -1
  91. metadata/generated/schema/api/governance/createWorkflowDefinition.py +1 -1
  92. metadata/generated/schema/api/governance/createWorkflowInstanceState.py +1 -1
  93. metadata/generated/schema/api/lineage/__init__.py +1 -1
  94. metadata/generated/schema/api/lineage/addLineage.py +1 -1
  95. metadata/generated/schema/api/lineage/esLineageData.py +1 -1
  96. metadata/generated/schema/api/lineage/lineageDirection.py +1 -1
  97. metadata/generated/schema/api/lineage/nodeInformation.py +1 -1
  98. metadata/generated/schema/api/lineage/searchLineageRequest.py +1 -1
  99. metadata/generated/schema/api/lineage/searchLineageResult.py +1 -1
  100. metadata/generated/schema/api/mcp/__init__.py +1 -1
  101. metadata/generated/schema/api/mcp/mcpSearchResponse.py +1 -1
  102. metadata/generated/schema/api/mcp/mcpToolDefinition.py +1 -1
  103. metadata/generated/schema/api/openMetadataServerVersion.py +1 -1
  104. metadata/generated/schema/api/policies/__init__.py +1 -1
  105. metadata/generated/schema/api/policies/createPolicy.py +1 -1
  106. metadata/generated/schema/api/scim/__init__.py +1 -1
  107. metadata/generated/schema/api/scim/scimGroup.py +1 -1
  108. metadata/generated/schema/api/scim/scimPatchOp.py +1 -1
  109. metadata/generated/schema/api/scim/scimUser.py +1 -1
  110. metadata/generated/schema/api/search/__init__.py +1 -1
  111. metadata/generated/schema/api/search/previewSearchRequest.py +1 -1
  112. metadata/generated/schema/api/services/__init__.py +1 -1
  113. metadata/generated/schema/api/services/createApiService.py +1 -1
  114. metadata/generated/schema/api/services/createDashboardService.py +1 -1
  115. metadata/generated/schema/api/services/createDatabaseService.py +1 -1
  116. metadata/generated/schema/api/services/createDriveService.py +1 -1
  117. metadata/generated/schema/api/services/createMessagingService.py +1 -1
  118. metadata/generated/schema/api/services/createMetadataService.py +1 -1
  119. metadata/generated/schema/api/services/createMlModelService.py +1 -1
  120. metadata/generated/schema/api/services/createPipelineService.py +1 -1
  121. metadata/generated/schema/api/services/createSearchService.py +1 -1
  122. metadata/generated/schema/api/services/createSecurityService.py +1 -1
  123. metadata/generated/schema/api/services/createStorageService.py +1 -1
  124. metadata/generated/schema/api/services/ingestionPipelines/__init__.py +1 -1
  125. metadata/generated/schema/api/services/ingestionPipelines/createIngestionPipeline.py +1 -1
  126. metadata/generated/schema/api/setOwner.py +1 -1
  127. metadata/generated/schema/api/teams/__init__.py +1 -1
  128. metadata/generated/schema/api/teams/createPersona.py +1 -1
  129. metadata/generated/schema/api/teams/createRole.py +1 -1
  130. metadata/generated/schema/api/teams/createTeam.py +1 -1
  131. metadata/generated/schema/api/teams/createUser.py +1 -1
  132. metadata/generated/schema/api/tests/__init__.py +1 -1
  133. metadata/generated/schema/api/tests/createCustomMetric.py +1 -1
  134. metadata/generated/schema/api/tests/createLogicalTestCases.py +1 -1
  135. metadata/generated/schema/api/tests/createTestCase.py +1 -1
  136. metadata/generated/schema/api/tests/createTestCaseResolutionStatus.py +1 -1
  137. metadata/generated/schema/api/tests/createTestCaseResult.py +1 -1
  138. metadata/generated/schema/api/tests/createTestDefinition.py +1 -1
  139. metadata/generated/schema/api/tests/createTestSuite.py +1 -1
  140. metadata/generated/schema/api/tests/moveGlossaryTermRequest.py +1 -1
  141. metadata/generated/schema/api/validateGlossaryTagsRequest.py +1 -1
  142. metadata/generated/schema/api/voteRequest.py +1 -1
  143. metadata/generated/schema/auth/__init__.py +1 -1
  144. metadata/generated/schema/auth/basicAuth.py +1 -1
  145. metadata/generated/schema/auth/basicLoginRequest.py +1 -1
  146. metadata/generated/schema/auth/changePasswordRequest.py +1 -1
  147. metadata/generated/schema/auth/createPersonalToken.py +1 -1
  148. metadata/generated/schema/auth/emailRequest.py +1 -1
  149. metadata/generated/schema/auth/emailVerificationToken.py +1 -1
  150. metadata/generated/schema/auth/generateToken.py +1 -1
  151. metadata/generated/schema/auth/jwtAuth.py +1 -1
  152. metadata/generated/schema/auth/loginRequest.py +1 -1
  153. metadata/generated/schema/auth/logoutRequest.py +1 -1
  154. metadata/generated/schema/auth/passwordResetRequest.py +1 -1
  155. metadata/generated/schema/auth/passwordResetToken.py +1 -1
  156. metadata/generated/schema/auth/personalAccessToken.py +1 -1
  157. metadata/generated/schema/auth/refreshToken.py +1 -1
  158. metadata/generated/schema/auth/registrationRequest.py +1 -1
  159. metadata/generated/schema/auth/revokePersonalToken.py +1 -1
  160. metadata/generated/schema/auth/revokeToken.py +1 -1
  161. metadata/generated/schema/auth/serviceTokenEnum.py +1 -1
  162. metadata/generated/schema/auth/ssoAuth.py +1 -1
  163. metadata/generated/schema/auth/supportToken.py +1 -1
  164. metadata/generated/schema/auth/tokenRefreshRequest.py +1 -1
  165. metadata/generated/schema/configuration/__init__.py +1 -1
  166. metadata/generated/schema/configuration/aiPlatformConfiguration.py +1 -1
  167. metadata/generated/schema/configuration/appsPrivateConfiguration.py +1 -1
  168. metadata/generated/schema/configuration/assetCertificationSettings.py +1 -1
  169. metadata/generated/schema/configuration/authConfig.py +1 -1
  170. metadata/generated/schema/configuration/authenticationConfiguration.py +1 -1
  171. metadata/generated/schema/configuration/authorizerConfiguration.py +1 -1
  172. metadata/generated/schema/configuration/cacheConfiguration.py +1 -1
  173. metadata/generated/schema/configuration/changeEventConfiguration.py +1 -1
  174. metadata/generated/schema/configuration/dataQualityConfiguration.py +1 -1
  175. metadata/generated/schema/configuration/elasticSearchConfiguration.py +1 -1
  176. metadata/generated/schema/configuration/entityRulesSettings.py +1 -1
  177. metadata/generated/schema/configuration/eventHandlerConfiguration.py +1 -1
  178. metadata/generated/schema/configuration/fernetConfiguration.py +1 -1
  179. metadata/generated/schema/configuration/jwtTokenConfiguration.py +1 -1
  180. metadata/generated/schema/configuration/kafkaEventConfiguration.py +1 -1
  181. metadata/generated/schema/configuration/ldapConfiguration.py +1 -1
  182. metadata/generated/schema/configuration/ldapTrustStoreConfig/__init__.py +1 -1
  183. metadata/generated/schema/configuration/ldapTrustStoreConfig/customTrustManagerConfig.py +1 -1
  184. metadata/generated/schema/configuration/ldapTrustStoreConfig/hostNameConfig.py +1 -1
  185. metadata/generated/schema/configuration/ldapTrustStoreConfig/jvmDefaultConfig.py +1 -1
  186. metadata/generated/schema/configuration/ldapTrustStoreConfig/trustAllConfig.py +1 -1
  187. metadata/generated/schema/configuration/ldapTrustStoreConfig/truststoreConfig.py +1 -1
  188. metadata/generated/schema/configuration/limitsConfiguration.py +1 -1
  189. metadata/generated/schema/configuration/lineageSettings.py +1 -1
  190. metadata/generated/schema/configuration/loginConfiguration.py +1 -1
  191. metadata/generated/schema/configuration/logoConfiguration.py +1 -1
  192. metadata/generated/schema/configuration/openMetadataBaseUrlConfiguration.py +1 -1
  193. metadata/generated/schema/configuration/opertionalConfiguration.py +1 -1
  194. metadata/generated/schema/configuration/opsConfig.py +1 -1
  195. metadata/generated/schema/configuration/pipelineServiceClientConfiguration.py +1 -1
  196. metadata/generated/schema/configuration/profilerConfiguration.py +1 -1
  197. metadata/generated/schema/configuration/searchSettings.py +1 -1
  198. metadata/generated/schema/configuration/slackAppConfiguration.py +1 -1
  199. metadata/generated/schema/configuration/taskNotificationConfiguration.py +1 -1
  200. metadata/generated/schema/configuration/testResultNotificationConfiguration.py +1 -1
  201. metadata/generated/schema/configuration/themeConfiguration.py +1 -1
  202. metadata/generated/schema/configuration/uiThemePreference.py +1 -1
  203. metadata/generated/schema/configuration/workflowSettings.py +1 -1
  204. metadata/generated/schema/dataInsight/__init__.py +1 -1
  205. metadata/generated/schema/dataInsight/custom/__init__.py +1 -1
  206. metadata/generated/schema/dataInsight/custom/dataInsightCustomChart.py +1 -1
  207. metadata/generated/schema/dataInsight/custom/dataInsightCustomChartResult.py +1 -1
  208. metadata/generated/schema/dataInsight/custom/dataInsightCustomChartResultList.py +1 -1
  209. metadata/generated/schema/dataInsight/custom/formulaHolder.py +1 -1
  210. metadata/generated/schema/dataInsight/custom/lineChart.py +1 -1
  211. metadata/generated/schema/dataInsight/custom/summaryCard.py +1 -1
  212. metadata/generated/schema/dataInsight/dataInsightChart.py +1 -1
  213. metadata/generated/schema/dataInsight/dataInsightChartResult.py +1 -1
  214. metadata/generated/schema/dataInsight/kpi/__init__.py +1 -1
  215. metadata/generated/schema/dataInsight/kpi/basic.py +1 -1
  216. metadata/generated/schema/dataInsight/kpi/kpi.py +1 -1
  217. metadata/generated/schema/dataInsight/type/__init__.py +1 -1
  218. metadata/generated/schema/dataInsight/type/aggregatedUnusedAssetsCount.py +1 -1
  219. metadata/generated/schema/dataInsight/type/aggregatedUnusedAssetsSize.py +1 -1
  220. metadata/generated/schema/dataInsight/type/aggregatedUsedVsUnusedAssetsCount.py +1 -1
  221. metadata/generated/schema/dataInsight/type/aggregatedUsedVsUnusedAssetsSize.py +1 -1
  222. metadata/generated/schema/dataInsight/type/dailyActiveUsers.py +1 -1
  223. metadata/generated/schema/dataInsight/type/mostActiveUsers.py +1 -1
  224. metadata/generated/schema/dataInsight/type/mostViewedEntities.py +1 -1
  225. metadata/generated/schema/dataInsight/type/pageViewsByEntities.py +1 -1
  226. metadata/generated/schema/dataInsight/type/unusedAssets.py +1 -1
  227. metadata/generated/schema/email/__init__.py +1 -1
  228. metadata/generated/schema/email/emailRequest.py +1 -1
  229. metadata/generated/schema/email/emailTemplate.py +1 -1
  230. metadata/generated/schema/email/emailTemplatePlaceholder.py +1 -1
  231. metadata/generated/schema/email/smtpSettings.py +1 -1
  232. metadata/generated/schema/email/templateValidationReponse.py +1 -1
  233. metadata/generated/schema/entity/__init__.py +1 -1
  234. metadata/generated/schema/entity/applications/__init__.py +1 -1
  235. metadata/generated/schema/entity/applications/app.py +1 -1
  236. metadata/generated/schema/entity/applications/appExtension.py +1 -1
  237. metadata/generated/schema/entity/applications/appRunRecord.py +1 -1
  238. metadata/generated/schema/entity/applications/configuration/__init__.py +1 -1
  239. metadata/generated/schema/entity/applications/configuration/applicationConfig.py +1 -1
  240. metadata/generated/schema/entity/applications/configuration/external/__init__.py +1 -1
  241. metadata/generated/schema/entity/applications/configuration/external/automator/__init__.py +1 -1
  242. metadata/generated/schema/entity/applications/configuration/external/automator/addCustomProperties.py +1 -1
  243. metadata/generated/schema/entity/applications/configuration/external/automator/addDataProductAction.py +1 -1
  244. metadata/generated/schema/entity/applications/configuration/external/automator/addDescriptionAction.py +1 -1
  245. metadata/generated/schema/entity/applications/configuration/external/automator/addDomainAction.py +1 -1
  246. metadata/generated/schema/entity/applications/configuration/external/automator/addOwnerAction.py +1 -1
  247. metadata/generated/schema/entity/applications/configuration/external/automator/addTagsAction.py +1 -1
  248. metadata/generated/schema/entity/applications/configuration/external/automator/addTermsAction.py +1 -1
  249. metadata/generated/schema/entity/applications/configuration/external/automator/addTestCaseAction.py +1 -1
  250. metadata/generated/schema/entity/applications/configuration/external/automator/addTierAction.py +1 -1
  251. metadata/generated/schema/entity/applications/configuration/external/automator/lineagePropagationAction.py +1 -1
  252. metadata/generated/schema/entity/applications/configuration/external/automator/mlTaggingAction.py +1 -1
  253. metadata/generated/schema/entity/applications/configuration/external/automator/propagationStopConfig.py +1 -1
  254. metadata/generated/schema/entity/applications/configuration/external/automator/removeCustomPropertiesAction.py +1 -1
  255. metadata/generated/schema/entity/applications/configuration/external/automator/removeDataProductAction.py +1 -1
  256. metadata/generated/schema/entity/applications/configuration/external/automator/removeDescriptionAction.py +1 -1
  257. metadata/generated/schema/entity/applications/configuration/external/automator/removeDomainAction.py +1 -1
  258. metadata/generated/schema/entity/applications/configuration/external/automator/removeOwnerAction.py +1 -1
  259. metadata/generated/schema/entity/applications/configuration/external/automator/removeTagsAction.py +1 -1
  260. metadata/generated/schema/entity/applications/configuration/external/automator/removeTermsAction.py +1 -1
  261. metadata/generated/schema/entity/applications/configuration/external/automator/removeTestCaseAction.py +1 -1
  262. metadata/generated/schema/entity/applications/configuration/external/automator/removeTierAction.py +1 -1
  263. metadata/generated/schema/entity/applications/configuration/external/automatorAppConfig.py +1 -1
  264. metadata/generated/schema/entity/applications/configuration/external/collateAIAppConfig.py +1 -1
  265. metadata/generated/schema/entity/applications/configuration/external/metadataExporterAppConfig.py +1 -1
  266. metadata/generated/schema/entity/applications/configuration/external/metadataExporterConnectors/__init__.py +1 -1
  267. metadata/generated/schema/entity/applications/configuration/external/metadataExporterConnectors/bigQueryConnection.py +1 -1
  268. metadata/generated/schema/entity/applications/configuration/external/metadataExporterConnectors/databricksConnection.py +1 -1
  269. metadata/generated/schema/entity/applications/configuration/external/metadataExporterConnectors/redshiftConnection.py +1 -1
  270. metadata/generated/schema/entity/applications/configuration/external/metadataExporterConnectors/snowflakeConnection.py +1 -1
  271. metadata/generated/schema/entity/applications/configuration/external/slackAppTokenConfiguration.py +1 -1
  272. metadata/generated/schema/entity/applications/configuration/internal/__init__.py +1 -1
  273. metadata/generated/schema/entity/applications/configuration/internal/autoPilotAppConfig.py +1 -1
  274. metadata/generated/schema/entity/applications/configuration/internal/collateAIQualityAgentAppConfig.py +1 -1
  275. metadata/generated/schema/entity/applications/configuration/internal/collateAITierAgentAppConfig.py +1 -1
  276. metadata/generated/schema/entity/applications/configuration/internal/dataInsightsAppConfig.py +1 -1
  277. metadata/generated/schema/entity/applications/configuration/internal/dataInsightsReportAppConfig.py +1 -1
  278. metadata/generated/schema/entity/applications/configuration/internal/dataRetentionConfiguration.py +1 -1
  279. metadata/generated/schema/entity/applications/configuration/internal/helloPipelinesConfiguration.py +1 -1
  280. metadata/generated/schema/entity/applications/configuration/internal/searchIndexingAppConfig.py +1 -1
  281. metadata/generated/schema/entity/applications/configuration/private/__init__.py +1 -1
  282. metadata/generated/schema/entity/applications/configuration/private/external/__init__.py +1 -1
  283. metadata/generated/schema/entity/applications/configuration/private/external/collateAIAppPrivateConfig.py +1 -1
  284. metadata/generated/schema/entity/applications/configuration/private/internal/__init__.py +1 -1
  285. metadata/generated/schema/entity/applications/configuration/private/internal/collateAITierAgentAppPrivateConfig.py +1 -1
  286. metadata/generated/schema/entity/applications/configuration/private/limits.py +1 -1
  287. metadata/generated/schema/entity/applications/createAppRequest.py +1 -1
  288. metadata/generated/schema/entity/applications/jobStatus.py +1 -1
  289. metadata/generated/schema/entity/applications/liveExecutionContext.py +1 -1
  290. metadata/generated/schema/entity/applications/marketplace/__init__.py +1 -1
  291. metadata/generated/schema/entity/applications/marketplace/appMarketPlaceDefinition.py +1 -1
  292. metadata/generated/schema/entity/applications/marketplace/createAppMarketPlaceDefinitionReq.py +1 -1
  293. metadata/generated/schema/entity/applications/scheduledExecutionContext.py +1 -1
  294. metadata/generated/schema/entity/automations/__init__.py +1 -1
  295. metadata/generated/schema/entity/automations/testServiceConnection.py +1 -1
  296. metadata/generated/schema/entity/automations/workflow.py +1 -1
  297. metadata/generated/schema/entity/bot.py +1 -1
  298. metadata/generated/schema/entity/classification/__init__.py +1 -1
  299. metadata/generated/schema/entity/classification/classification.py +1 -1
  300. metadata/generated/schema/entity/classification/tag.py +1 -1
  301. metadata/generated/schema/entity/data/__init__.py +1 -1
  302. metadata/generated/schema/entity/data/apiCollection.py +1 -1
  303. metadata/generated/schema/entity/data/apiEndpoint.py +1 -1
  304. metadata/generated/schema/entity/data/chart.py +1 -1
  305. metadata/generated/schema/entity/data/container.py +1 -1
  306. metadata/generated/schema/entity/data/dashboard.py +1 -1
  307. metadata/generated/schema/entity/data/dashboardDataModel.py +5 -1
  308. metadata/generated/schema/entity/data/dataContract.py +1 -1
  309. metadata/generated/schema/entity/data/database.py +1 -1
  310. metadata/generated/schema/entity/data/databaseSchema.py +1 -1
  311. metadata/generated/schema/entity/data/directory.py +1 -1
  312. metadata/generated/schema/entity/data/file.py +1 -1
  313. metadata/generated/schema/entity/data/glossary.py +1 -1
  314. metadata/generated/schema/entity/data/glossaryTerm.py +1 -1
  315. metadata/generated/schema/entity/data/metric.py +1 -1
  316. metadata/generated/schema/entity/data/mlmodel.py +1 -1
  317. metadata/generated/schema/entity/data/pipeline.py +1 -1
  318. metadata/generated/schema/entity/data/query.py +1 -1
  319. metadata/generated/schema/entity/data/queryCostRecord.py +1 -1
  320. metadata/generated/schema/entity/data/queryCostSearchResult.py +1 -1
  321. metadata/generated/schema/entity/data/report.py +1 -1
  322. metadata/generated/schema/entity/data/searchIndex.py +1 -1
  323. metadata/generated/schema/entity/data/spreadsheet.py +1 -1
  324. metadata/generated/schema/entity/data/storedProcedure.py +1 -1
  325. metadata/generated/schema/entity/data/table.py +1 -1
  326. metadata/generated/schema/entity/data/topic.py +1 -1
  327. metadata/generated/schema/entity/data/worksheet.py +1 -1
  328. metadata/generated/schema/entity/datacontract/__init__.py +1 -1
  329. metadata/generated/schema/entity/datacontract/dataContractResult.py +1 -1
  330. metadata/generated/schema/entity/datacontract/qualityValidation.py +1 -1
  331. metadata/generated/schema/entity/datacontract/schemaValidation.py +1 -1
  332. metadata/generated/schema/entity/datacontract/semanticsValidation.py +1 -1
  333. metadata/generated/schema/entity/datacontract/slaValidation.py +1 -1
  334. metadata/generated/schema/entity/docStore/__init__.py +1 -1
  335. metadata/generated/schema/entity/docStore/document.py +1 -1
  336. metadata/generated/schema/entity/domains/__init__.py +1 -1
  337. metadata/generated/schema/entity/domains/dataProduct.py +1 -1
  338. metadata/generated/schema/entity/domains/domain.py +1 -1
  339. metadata/generated/schema/entity/events/__init__.py +1 -1
  340. metadata/generated/schema/entity/events/webhook.py +1 -1
  341. metadata/generated/schema/entity/feed/__init__.py +1 -1
  342. metadata/generated/schema/entity/feed/assets.py +1 -1
  343. metadata/generated/schema/entity/feed/customProperty.py +1 -1
  344. metadata/generated/schema/entity/feed/description.py +1 -1
  345. metadata/generated/schema/entity/feed/domain.py +1 -1
  346. metadata/generated/schema/entity/feed/entityInfo.py +1 -1
  347. metadata/generated/schema/entity/feed/owner.py +1 -1
  348. metadata/generated/schema/entity/feed/suggestion.py +1 -1
  349. metadata/generated/schema/entity/feed/tag.py +1 -1
  350. metadata/generated/schema/entity/feed/testCaseResult.py +1 -1
  351. metadata/generated/schema/entity/feed/thread.py +1 -1
  352. metadata/generated/schema/entity/policies/__init__.py +1 -1
  353. metadata/generated/schema/entity/policies/accessControl/__init__.py +1 -1
  354. metadata/generated/schema/entity/policies/accessControl/resourceDescriptor.py +1 -1
  355. metadata/generated/schema/entity/policies/accessControl/resourcePermission.py +1 -1
  356. metadata/generated/schema/entity/policies/accessControl/rule.py +1 -1
  357. metadata/generated/schema/entity/policies/filters.py +1 -1
  358. metadata/generated/schema/entity/policies/policy.py +1 -1
  359. metadata/generated/schema/entity/services/__init__.py +1 -1
  360. metadata/generated/schema/entity/services/apiService.py +1 -1
  361. metadata/generated/schema/entity/services/connections/__init__.py +1 -1
  362. metadata/generated/schema/entity/services/connections/api/__init__.py +1 -1
  363. metadata/generated/schema/entity/services/connections/api/restConnection.py +1 -1
  364. metadata/generated/schema/entity/services/connections/common/__init__.py +1 -1
  365. metadata/generated/schema/entity/services/connections/common/sslCertPaths.py +1 -1
  366. metadata/generated/schema/entity/services/connections/common/sslCertValues.py +1 -1
  367. metadata/generated/schema/entity/services/connections/common/sslConfig.py +1 -1
  368. metadata/generated/schema/entity/services/connections/connectionBasicType.py +1 -1
  369. metadata/generated/schema/entity/services/connections/dashboard/__init__.py +1 -1
  370. metadata/generated/schema/entity/services/connections/dashboard/customDashboardConnection.py +1 -1
  371. metadata/generated/schema/entity/services/connections/dashboard/domoDashboardConnection.py +1 -1
  372. metadata/generated/schema/entity/services/connections/dashboard/grafanaConnection.py +1 -1
  373. metadata/generated/schema/entity/services/connections/dashboard/lightdashConnection.py +1 -1
  374. metadata/generated/schema/entity/services/connections/dashboard/lookerConnection.py +1 -1
  375. metadata/generated/schema/entity/services/connections/dashboard/metabaseConnection.py +1 -1
  376. metadata/generated/schema/entity/services/connections/dashboard/microStrategyConnection.py +1 -1
  377. metadata/generated/schema/entity/services/connections/dashboard/modeConnection.py +1 -1
  378. metadata/generated/schema/entity/services/connections/dashboard/powerBIConnection.py +1 -1
  379. metadata/generated/schema/entity/services/connections/dashboard/powerBIReportServerConnection.py +1 -1
  380. metadata/generated/schema/entity/services/connections/dashboard/powerbi/__init__.py +1 -1
  381. metadata/generated/schema/entity/services/connections/dashboard/powerbi/azureConfig.py +1 -1
  382. metadata/generated/schema/entity/services/connections/dashboard/powerbi/bucketDetails.py +1 -1
  383. metadata/generated/schema/entity/services/connections/dashboard/powerbi/gcsConfig.py +1 -1
  384. metadata/generated/schema/entity/services/connections/dashboard/powerbi/s3Config.py +1 -1
  385. metadata/generated/schema/entity/services/connections/dashboard/qlikCloudConnection.py +1 -1
  386. metadata/generated/schema/entity/services/connections/dashboard/qlikSenseConnection.py +1 -1
  387. metadata/generated/schema/entity/services/connections/dashboard/quickSightConnection.py +1 -1
  388. metadata/generated/schema/entity/services/connections/dashboard/redashConnection.py +1 -1
  389. metadata/generated/schema/entity/services/connections/dashboard/sigmaConnection.py +1 -1
  390. metadata/generated/schema/entity/services/connections/dashboard/supersetConnection.py +1 -1
  391. metadata/generated/schema/entity/services/connections/dashboard/tableauConnection.py +1 -1
  392. metadata/generated/schema/entity/services/connections/dashboard/thoughtSpotConnection.py +1 -1
  393. metadata/generated/schema/entity/services/connections/database/__init__.py +1 -1
  394. metadata/generated/schema/entity/services/connections/database/athenaConnection.py +1 -1
  395. metadata/generated/schema/entity/services/connections/database/azureSQLConnection.py +1 -1
  396. metadata/generated/schema/entity/services/connections/database/bigQueryConnection.py +1 -1
  397. metadata/generated/schema/entity/services/connections/database/bigTableConnection.py +1 -1
  398. metadata/generated/schema/entity/services/connections/database/cassandra/__init__.py +1 -1
  399. metadata/generated/schema/entity/services/connections/database/cassandra/cloudConfig.py +1 -1
  400. metadata/generated/schema/entity/services/connections/database/cassandraConnection.py +1 -1
  401. metadata/generated/schema/entity/services/connections/database/clickhouseConnection.py +1 -1
  402. metadata/generated/schema/entity/services/connections/database/cockroachConnection.py +1 -1
  403. metadata/generated/schema/entity/services/connections/database/common/__init__.py +1 -1
  404. metadata/generated/schema/entity/services/connections/database/common/azureConfig.py +1 -1
  405. metadata/generated/schema/entity/services/connections/database/common/basicAuth.py +1 -1
  406. metadata/generated/schema/entity/services/connections/database/common/iamAuthConfig.py +1 -1
  407. metadata/generated/schema/entity/services/connections/database/common/jwtAuth.py +1 -1
  408. metadata/generated/schema/entity/services/connections/database/common/noConfigAuthenticationTypes.py +1 -1
  409. metadata/generated/schema/entity/services/connections/database/couchbaseConnection.py +1 -1
  410. metadata/generated/schema/entity/services/connections/database/customDatabaseConnection.py +1 -1
  411. metadata/generated/schema/entity/services/connections/database/databricksConnection.py +1 -1
  412. metadata/generated/schema/entity/services/connections/database/datalake/__init__.py +1 -1
  413. metadata/generated/schema/entity/services/connections/database/datalake/azureConfig.py +1 -1
  414. metadata/generated/schema/entity/services/connections/database/datalake/gcsConfig.py +1 -1
  415. metadata/generated/schema/entity/services/connections/database/datalake/s3Config.py +1 -1
  416. metadata/generated/schema/entity/services/connections/database/datalakeConnection.py +1 -1
  417. metadata/generated/schema/entity/services/connections/database/db2Connection.py +1 -1
  418. metadata/generated/schema/entity/services/connections/database/deltaLakeConnection.py +1 -1
  419. metadata/generated/schema/entity/services/connections/database/deltalake/__init__.py +1 -1
  420. metadata/generated/schema/entity/services/connections/database/deltalake/metastoreConfig.py +1 -1
  421. metadata/generated/schema/entity/services/connections/database/deltalake/storageConfig.py +1 -1
  422. metadata/generated/schema/entity/services/connections/database/domoDatabaseConnection.py +1 -1
  423. metadata/generated/schema/entity/services/connections/database/dorisConnection.py +1 -1
  424. metadata/generated/schema/entity/services/connections/database/druidConnection.py +1 -1
  425. metadata/generated/schema/entity/services/connections/database/dynamoDBConnection.py +1 -1
  426. metadata/generated/schema/entity/services/connections/database/epicConnection.py +1 -1
  427. metadata/generated/schema/entity/services/connections/database/exasolConnection.py +1 -1
  428. metadata/generated/schema/entity/services/connections/database/glueConnection.py +1 -1
  429. metadata/generated/schema/entity/services/connections/database/greenplumConnection.py +1 -1
  430. metadata/generated/schema/entity/services/connections/database/hiveConnection.py +1 -1
  431. metadata/generated/schema/entity/services/connections/database/iceberg/__init__.py +1 -1
  432. metadata/generated/schema/entity/services/connections/database/iceberg/dynamoDbCatalogConnection.py +1 -1
  433. metadata/generated/schema/entity/services/connections/database/iceberg/glueCatalogConnection.py +1 -1
  434. metadata/generated/schema/entity/services/connections/database/iceberg/hiveCatalogConnection.py +1 -1
  435. metadata/generated/schema/entity/services/connections/database/iceberg/icebergCatalog.py +1 -1
  436. metadata/generated/schema/entity/services/connections/database/iceberg/icebergFileSystem.py +1 -1
  437. metadata/generated/schema/entity/services/connections/database/iceberg/restCatalogConnection.py +1 -1
  438. metadata/generated/schema/entity/services/connections/database/icebergConnection.py +1 -1
  439. metadata/generated/schema/entity/services/connections/database/impalaConnection.py +1 -1
  440. metadata/generated/schema/entity/services/connections/database/mariaDBConnection.py +1 -1
  441. metadata/generated/schema/entity/services/connections/database/mongoDBConnection.py +1 -1
  442. metadata/generated/schema/entity/services/connections/database/mssqlConnection.py +1 -1
  443. metadata/generated/schema/entity/services/connections/database/mysqlConnection.py +1 -1
  444. metadata/generated/schema/entity/services/connections/database/oracleConnection.py +1 -1
  445. metadata/generated/schema/entity/services/connections/database/pinotDBConnection.py +1 -1
  446. metadata/generated/schema/entity/services/connections/database/postgresConnection.py +1 -1
  447. metadata/generated/schema/entity/services/connections/database/prestoConnection.py +1 -1
  448. metadata/generated/schema/entity/services/connections/database/redshiftConnection.py +1 -1
  449. metadata/generated/schema/entity/services/connections/database/salesforceConnection.py +1 -1
  450. metadata/generated/schema/entity/services/connections/database/sapErpConnection.py +1 -1
  451. metadata/generated/schema/entity/services/connections/database/sapHana/__init__.py +1 -1
  452. metadata/generated/schema/entity/services/connections/database/sapHana/sapHanaHDBConnection.py +1 -1
  453. metadata/generated/schema/entity/services/connections/database/sapHana/sapHanaSQLConnection.py +1 -1
  454. metadata/generated/schema/entity/services/connections/database/sapHanaConnection.py +1 -1
  455. metadata/generated/schema/entity/services/connections/database/sasConnection.py +1 -1
  456. metadata/generated/schema/entity/services/connections/database/serviceNowConnection.py +1 -1
  457. metadata/generated/schema/entity/services/connections/database/singleStoreConnection.py +1 -1
  458. metadata/generated/schema/entity/services/connections/database/snowflakeConnection.py +1 -1
  459. metadata/generated/schema/entity/services/connections/database/sqliteConnection.py +1 -1
  460. metadata/generated/schema/entity/services/connections/database/ssasConnection.py +1 -1
  461. metadata/generated/schema/entity/services/connections/database/synapseConnection.py +1 -1
  462. metadata/generated/schema/entity/services/connections/database/teradataConnection.py +1 -1
  463. metadata/generated/schema/entity/services/connections/database/trinoConnection.py +1 -1
  464. metadata/generated/schema/entity/services/connections/database/unityCatalogConnection.py +1 -1
  465. metadata/generated/schema/entity/services/connections/database/verticaConnection.py +1 -1
  466. metadata/generated/schema/entity/services/connections/drive/__init__.py +1 -1
  467. metadata/generated/schema/entity/services/connections/drive/customDriveConnection.py +1 -1
  468. metadata/generated/schema/entity/services/connections/drive/googleDriveConnection.py +1 -1
  469. metadata/generated/schema/entity/services/connections/drive/sharePointConnection.py +1 -1
  470. metadata/generated/schema/entity/services/connections/messaging/__init__.py +1 -1
  471. metadata/generated/schema/entity/services/connections/messaging/customMessagingConnection.py +1 -1
  472. metadata/generated/schema/entity/services/connections/messaging/kafkaConnection.py +1 -1
  473. metadata/generated/schema/entity/services/connections/messaging/kinesisConnection.py +1 -1
  474. metadata/generated/schema/entity/services/connections/messaging/pulsarConnection.py +1 -1
  475. metadata/generated/schema/entity/services/connections/messaging/redpandaConnection.py +1 -1
  476. metadata/generated/schema/entity/services/connections/messaging/saslMechanismType.py +1 -1
  477. metadata/generated/schema/entity/services/connections/metadata/__init__.py +1 -1
  478. metadata/generated/schema/entity/services/connections/metadata/alationConnection.py +1 -1
  479. metadata/generated/schema/entity/services/connections/metadata/alationSinkConnection.py +1 -1
  480. metadata/generated/schema/entity/services/connections/metadata/amundsenConnection.py +1 -1
  481. metadata/generated/schema/entity/services/connections/metadata/atlasConnection.py +1 -1
  482. metadata/generated/schema/entity/services/connections/metadata/metadataESConnection.py +1 -1
  483. metadata/generated/schema/entity/services/connections/metadata/openMetadataConnection.py +1 -1
  484. metadata/generated/schema/entity/services/connections/mlmodel/__init__.py +1 -1
  485. metadata/generated/schema/entity/services/connections/mlmodel/customMlModelConnection.py +1 -1
  486. metadata/generated/schema/entity/services/connections/mlmodel/mlflowConnection.py +1 -1
  487. metadata/generated/schema/entity/services/connections/mlmodel/sageMakerConnection.py +1 -1
  488. metadata/generated/schema/entity/services/connections/mlmodel/sklearnConnection.py +1 -1
  489. metadata/generated/schema/entity/services/connections/mlmodel/vertexaiConnection.py +1 -1
  490. metadata/generated/schema/entity/services/connections/pipeline/__init__.py +1 -1
  491. metadata/generated/schema/entity/services/connections/pipeline/airbyteConnection.py +1 -1
  492. metadata/generated/schema/entity/services/connections/pipeline/airflowConnection.py +1 -1
  493. metadata/generated/schema/entity/services/connections/pipeline/backendConnection.py +1 -1
  494. metadata/generated/schema/entity/services/connections/pipeline/customPipelineConnection.py +1 -1
  495. metadata/generated/schema/entity/services/connections/pipeline/dagsterConnection.py +1 -1
  496. metadata/generated/schema/entity/services/connections/pipeline/databricksPipelineConnection.py +1 -1
  497. metadata/generated/schema/entity/services/connections/pipeline/datafactoryConnection.py +1 -1
  498. metadata/generated/schema/entity/services/connections/pipeline/dbtCloudConnection.py +1 -1
  499. metadata/generated/schema/entity/services/connections/pipeline/domoPipelineConnection.py +1 -1
  500. metadata/generated/schema/entity/services/connections/pipeline/fivetranConnection.py +1 -1
  501. metadata/generated/schema/entity/services/connections/pipeline/flinkConnection.py +1 -1
  502. metadata/generated/schema/entity/services/connections/pipeline/gluePipelineConnection.py +1 -1
  503. metadata/generated/schema/entity/services/connections/pipeline/kafkaConnectConnection.py +1 -1
  504. metadata/generated/schema/entity/services/connections/pipeline/matillion/__init__.py +1 -1
  505. metadata/generated/schema/entity/services/connections/pipeline/matillion/matillionETL.py +1 -1
  506. metadata/generated/schema/entity/services/connections/pipeline/matillionConnection.py +1 -1
  507. metadata/generated/schema/entity/services/connections/pipeline/nifi/__init__.py +1 -1
  508. metadata/generated/schema/entity/services/connections/pipeline/nifi/basicAuth.py +1 -1
  509. metadata/generated/schema/entity/services/connections/pipeline/nifi/clientCertificateAuth.py +1 -1
  510. metadata/generated/schema/entity/services/connections/pipeline/nifiConnection.py +1 -1
  511. metadata/generated/schema/entity/services/connections/pipeline/openLineageConnection.py +1 -1
  512. metadata/generated/schema/entity/services/connections/pipeline/sparkConnection.py +1 -1
  513. metadata/generated/schema/entity/services/connections/pipeline/splineConnection.py +1 -1
  514. metadata/generated/schema/entity/services/connections/pipeline/ssisConnection.py +1 -1
  515. metadata/generated/schema/entity/services/connections/pipeline/stitchConnection.py +1 -1
  516. metadata/generated/schema/entity/services/connections/pipeline/wherescapeConnection.py +1 -1
  517. metadata/generated/schema/entity/services/connections/search/__init__.py +1 -1
  518. metadata/generated/schema/entity/services/connections/search/customSearchConnection.py +1 -1
  519. metadata/generated/schema/entity/services/connections/search/elasticSearch/__init__.py +1 -1
  520. metadata/generated/schema/entity/services/connections/search/elasticSearch/apiAuth.py +1 -1
  521. metadata/generated/schema/entity/services/connections/search/elasticSearch/basicAuth.py +1 -1
  522. metadata/generated/schema/entity/services/connections/search/elasticSearchConnection.py +1 -1
  523. metadata/generated/schema/entity/services/connections/search/openSearchConnection.py +1 -1
  524. metadata/generated/schema/entity/services/connections/security/__init__.py +1 -1
  525. metadata/generated/schema/entity/services/connections/security/ranger/__init__.py +1 -1
  526. metadata/generated/schema/entity/services/connections/security/ranger/basicAuth.py +1 -1
  527. metadata/generated/schema/entity/services/connections/security/rangerConnection.py +1 -1
  528. metadata/generated/schema/entity/services/connections/serviceConnection.py +1 -1
  529. metadata/generated/schema/entity/services/connections/storage/__init__.py +1 -1
  530. metadata/generated/schema/entity/services/connections/storage/adlsConnection.py +1 -1
  531. metadata/generated/schema/entity/services/connections/storage/customStorageConnection.py +1 -1
  532. metadata/generated/schema/entity/services/connections/storage/gcsConnection.py +1 -1
  533. metadata/generated/schema/entity/services/connections/storage/s3Connection.py +1 -1
  534. metadata/generated/schema/entity/services/connections/testConnectionDefinition.py +1 -1
  535. metadata/generated/schema/entity/services/connections/testConnectionResult.py +1 -1
  536. metadata/generated/schema/entity/services/dashboardService.py +1 -1
  537. metadata/generated/schema/entity/services/databaseService.py +1 -1
  538. metadata/generated/schema/entity/services/driveService.py +1 -1
  539. metadata/generated/schema/entity/services/ingestionPipelines/__init__.py +1 -1
  540. metadata/generated/schema/entity/services/ingestionPipelines/ingestionPipeline.py +1 -1
  541. metadata/generated/schema/entity/services/ingestionPipelines/pipelineServiceClientResponse.py +1 -1
  542. metadata/generated/schema/entity/services/ingestionPipelines/reverseIngestionResponse.py +1 -1
  543. metadata/generated/schema/entity/services/ingestionPipelines/status.py +1 -1
  544. metadata/generated/schema/entity/services/messagingService.py +1 -1
  545. metadata/generated/schema/entity/services/metadataService.py +1 -1
  546. metadata/generated/schema/entity/services/mlmodelService.py +1 -1
  547. metadata/generated/schema/entity/services/pipelineService.py +1 -1
  548. metadata/generated/schema/entity/services/searchService.py +1 -1
  549. metadata/generated/schema/entity/services/securityService.py +1 -1
  550. metadata/generated/schema/entity/services/serviceType.py +1 -1
  551. metadata/generated/schema/entity/services/storageService.py +1 -1
  552. metadata/generated/schema/entity/teams/__init__.py +1 -1
  553. metadata/generated/schema/entity/teams/persona.py +1 -1
  554. metadata/generated/schema/entity/teams/role.py +1 -1
  555. metadata/generated/schema/entity/teams/team.py +1 -1
  556. metadata/generated/schema/entity/teams/teamHierarchy.py +1 -1
  557. metadata/generated/schema/entity/teams/user.py +1 -1
  558. metadata/generated/schema/entity/type.py +1 -1
  559. metadata/generated/schema/entity/utils/__init__.py +1 -1
  560. metadata/generated/schema/entity/utils/entitiesCount.py +1 -1
  561. metadata/generated/schema/entity/utils/servicesCount.py +1 -1
  562. metadata/generated/schema/entity/utils/supersetApiConnection.py +1 -1
  563. metadata/generated/schema/events/__init__.py +1 -1
  564. metadata/generated/schema/events/alertMetrics.py +1 -1
  565. metadata/generated/schema/events/api/__init__.py +1 -1
  566. metadata/generated/schema/events/api/createEventSubscription.py +1 -1
  567. metadata/generated/schema/events/api/eventSubscriptionDiagnosticInfo.py +1 -1
  568. metadata/generated/schema/events/api/eventsRecord.py +1 -1
  569. metadata/generated/schema/events/api/testEventSubscriptionDestination.py +1 -1
  570. metadata/generated/schema/events/api/typedEvent.py +1 -1
  571. metadata/generated/schema/events/emailAlertConfig.py +1 -1
  572. metadata/generated/schema/events/eventFilterRule.py +1 -1
  573. metadata/generated/schema/events/eventSubscription.py +1 -1
  574. metadata/generated/schema/events/eventSubscriptionOffset.py +1 -1
  575. metadata/generated/schema/events/failedEvent.py +1 -1
  576. metadata/generated/schema/events/failedEventResponse.py +1 -1
  577. metadata/generated/schema/events/filterResourceDescriptor.py +1 -1
  578. metadata/generated/schema/events/statusContext.py +1 -1
  579. metadata/generated/schema/events/subscriptionResourceDescriptor.py +1 -1
  580. metadata/generated/schema/events/subscriptionStatus.py +1 -1
  581. metadata/generated/schema/events/testDestinationStatus.py +1 -1
  582. metadata/generated/schema/governance/workflows/__init__.py +1 -1
  583. metadata/generated/schema/governance/workflows/elements/__init__.py +1 -1
  584. metadata/generated/schema/governance/workflows/elements/edge.py +1 -1
  585. metadata/generated/schema/governance/workflows/elements/nodeSubType.py +1 -1
  586. metadata/generated/schema/governance/workflows/elements/nodeType.py +1 -1
  587. metadata/generated/schema/governance/workflows/elements/nodes/__init__.py +1 -1
  588. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/__init__.py +1 -1
  589. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/checkEntityAttributesTask.py +1 -1
  590. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/createAndRunIngestionPipelineTask.py +1 -1
  591. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/runAppTask.py +1 -1
  592. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/setEntityCertificationTask.py +1 -1
  593. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/setGlossaryTermStatusTask.py +1 -1
  594. metadata/generated/schema/governance/workflows/elements/nodes/endEvent/__init__.py +1 -1
  595. metadata/generated/schema/governance/workflows/elements/nodes/endEvent/endEvent.py +1 -1
  596. metadata/generated/schema/governance/workflows/elements/nodes/gateway/__init__.py +1 -1
  597. metadata/generated/schema/governance/workflows/elements/nodes/gateway/parallelGateway.py +1 -1
  598. metadata/generated/schema/governance/workflows/elements/nodes/startEvent/__init__.py +1 -1
  599. metadata/generated/schema/governance/workflows/elements/nodes/startEvent/startEvent.py +1 -1
  600. metadata/generated/schema/governance/workflows/elements/nodes/userTask/__init__.py +1 -1
  601. metadata/generated/schema/governance/workflows/elements/nodes/userTask/userApprovalTask.py +1 -1
  602. metadata/generated/schema/governance/workflows/elements/triggers/__init__.py +1 -1
  603. metadata/generated/schema/governance/workflows/elements/triggers/eventBasedEntityTrigger.py +1 -1
  604. metadata/generated/schema/governance/workflows/elements/triggers/noOpTrigger.py +1 -1
  605. metadata/generated/schema/governance/workflows/elements/triggers/periodicBatchEntityTrigger.py +1 -1
  606. metadata/generated/schema/governance/workflows/workflowDefinition.py +1 -1
  607. metadata/generated/schema/governance/workflows/workflowInstance.py +1 -1
  608. metadata/generated/schema/governance/workflows/workflowInstanceState.py +1 -1
  609. metadata/generated/schema/jobs/__init__.py +1 -1
  610. metadata/generated/schema/jobs/backgroundJob.py +1 -1
  611. metadata/generated/schema/jobs/enumCleanupArgs.py +1 -1
  612. metadata/generated/schema/metadataIngestion/__init__.py +1 -1
  613. metadata/generated/schema/metadataIngestion/apiServiceMetadataPipeline.py +1 -1
  614. metadata/generated/schema/metadataIngestion/application.py +1 -1
  615. metadata/generated/schema/metadataIngestion/applicationPipeline.py +1 -1
  616. metadata/generated/schema/metadataIngestion/dashboardServiceMetadataPipeline.py +1 -1
  617. metadata/generated/schema/metadataIngestion/dataInsightPipeline.py +1 -1
  618. metadata/generated/schema/metadataIngestion/databaseServiceAutoClassificationPipeline.py +1 -1
  619. metadata/generated/schema/metadataIngestion/databaseServiceMetadataPipeline.py +1 -1
  620. metadata/generated/schema/metadataIngestion/databaseServiceProfilerPipeline.py +1 -1
  621. metadata/generated/schema/metadataIngestion/databaseServiceQueryLineagePipeline.py +1 -1
  622. metadata/generated/schema/metadataIngestion/databaseServiceQueryUsagePipeline.py +1 -1
  623. metadata/generated/schema/metadataIngestion/dbtPipeline.py +1 -1
  624. metadata/generated/schema/metadataIngestion/dbtconfig/__init__.py +1 -1
  625. metadata/generated/schema/metadataIngestion/dbtconfig/dbtAzureConfig.py +1 -1
  626. metadata/generated/schema/metadataIngestion/dbtconfig/dbtBucketDetails.py +1 -1
  627. metadata/generated/schema/metadataIngestion/dbtconfig/dbtCloudConfig.py +1 -1
  628. metadata/generated/schema/metadataIngestion/dbtconfig/dbtGCSConfig.py +1 -1
  629. metadata/generated/schema/metadataIngestion/dbtconfig/dbtHttpConfig.py +1 -1
  630. metadata/generated/schema/metadataIngestion/dbtconfig/dbtLocalConfig.py +1 -1
  631. metadata/generated/schema/metadataIngestion/dbtconfig/dbtS3Config.py +1 -1
  632. metadata/generated/schema/metadataIngestion/driveServiceMetadataPipeline.py +1 -1
  633. metadata/generated/schema/metadataIngestion/engine/__init__.py +1 -1
  634. metadata/generated/schema/metadataIngestion/engine/nativeEngineConfig.py +1 -1
  635. metadata/generated/schema/metadataIngestion/engine/sparkEngineConfig.py +1 -1
  636. metadata/generated/schema/metadataIngestion/messagingServiceMetadataPipeline.py +1 -1
  637. metadata/generated/schema/metadataIngestion/metadataToElasticSearchPipeline.py +1 -1
  638. metadata/generated/schema/metadataIngestion/mlmodelServiceMetadataPipeline.py +1 -1
  639. metadata/generated/schema/metadataIngestion/pipelineServiceMetadataPipeline.py +1 -1
  640. metadata/generated/schema/metadataIngestion/reverseIngestionPipeline.py +1 -1
  641. metadata/generated/schema/metadataIngestion/reverseingestionconfig/__init__.py +1 -1
  642. metadata/generated/schema/metadataIngestion/reverseingestionconfig/descriptionConfig.py +1 -1
  643. metadata/generated/schema/metadataIngestion/reverseingestionconfig/ownerConfig.py +1 -1
  644. metadata/generated/schema/metadataIngestion/reverseingestionconfig/tagsConfig.py +1 -1
  645. metadata/generated/schema/metadataIngestion/searchServiceMetadataPipeline.py +1 -1
  646. metadata/generated/schema/metadataIngestion/securityServiceMetadataPipeline.py +1 -1
  647. metadata/generated/schema/metadataIngestion/storage/__init__.py +1 -1
  648. metadata/generated/schema/metadataIngestion/storage/containerMetadataConfig.py +1 -1
  649. metadata/generated/schema/metadataIngestion/storage/manifestMetadataConfig.py +1 -1
  650. metadata/generated/schema/metadataIngestion/storage/storageBucketDetails.py +1 -1
  651. metadata/generated/schema/metadataIngestion/storage/storageMetadataADLSConfig.py +1 -1
  652. metadata/generated/schema/metadataIngestion/storage/storageMetadataGCSConfig.py +1 -1
  653. metadata/generated/schema/metadataIngestion/storage/storageMetadataHttpConfig.py +1 -1
  654. metadata/generated/schema/metadataIngestion/storage/storageMetadataLocalConfig.py +1 -1
  655. metadata/generated/schema/metadataIngestion/storage/storageMetadataS3Config.py +1 -1
  656. metadata/generated/schema/metadataIngestion/storageServiceMetadataPipeline.py +1 -1
  657. metadata/generated/schema/metadataIngestion/testSuitePipeline.py +1 -1
  658. metadata/generated/schema/metadataIngestion/workflow.py +1 -1
  659. metadata/generated/schema/monitoring/__init__.py +1 -1
  660. metadata/generated/schema/monitoring/eventMonitorProvider.py +1 -1
  661. metadata/generated/schema/scim/__init__.py +1 -1
  662. metadata/generated/schema/scim/scimConfiguration.py +1 -1
  663. metadata/generated/schema/search/__init__.py +1 -1
  664. metadata/generated/schema/search/aggregationRequest.py +1 -1
  665. metadata/generated/schema/search/searchRequest.py +1 -1
  666. metadata/generated/schema/security/__init__.py +1 -1
  667. metadata/generated/schema/security/client/__init__.py +1 -1
  668. metadata/generated/schema/security/client/auth0SSOClientConfig.py +1 -1
  669. metadata/generated/schema/security/client/azureSSOClientConfig.py +1 -1
  670. metadata/generated/schema/security/client/customOidcSSOClientConfig.py +1 -1
  671. metadata/generated/schema/security/client/googleSSOClientConfig.py +1 -1
  672. metadata/generated/schema/security/client/oidcClientConfig.py +1 -1
  673. metadata/generated/schema/security/client/oktaSSOClientConfig.py +1 -1
  674. metadata/generated/schema/security/client/openMetadataJWTClientConfig.py +1 -1
  675. metadata/generated/schema/security/client/samlSSOClientConfig.py +1 -1
  676. metadata/generated/schema/security/credentials/__init__.py +1 -1
  677. metadata/generated/schema/security/credentials/accessTokenAuth.py +1 -1
  678. metadata/generated/schema/security/credentials/apiAccessTokenAuth.py +1 -1
  679. metadata/generated/schema/security/credentials/awsCredentials.py +1 -1
  680. metadata/generated/schema/security/credentials/azureCredentials.py +1 -1
  681. metadata/generated/schema/security/credentials/basicAuth.py +1 -1
  682. metadata/generated/schema/security/credentials/bitbucketCredentials.py +1 -1
  683. metadata/generated/schema/security/credentials/gcpCredentials.py +1 -1
  684. metadata/generated/schema/security/credentials/gcpExternalAccount.py +1 -1
  685. metadata/generated/schema/security/credentials/gcpValues.py +1 -1
  686. metadata/generated/schema/security/credentials/gitCredentials.py +1 -1
  687. metadata/generated/schema/security/credentials/githubCredentials.py +1 -1
  688. metadata/generated/schema/security/credentials/gitlabCredentials.py +1 -1
  689. metadata/generated/schema/security/credentials/kubernetesCredentials.py +1 -1
  690. metadata/generated/schema/security/sasl/__init__.py +1 -1
  691. metadata/generated/schema/security/sasl/saslClientConfig.py +1 -1
  692. metadata/generated/schema/security/secrets/__init__.py +1 -1
  693. metadata/generated/schema/security/secrets/secretsManagerClientLoader.py +1 -1
  694. metadata/generated/schema/security/secrets/secretsManagerConfiguration.py +1 -1
  695. metadata/generated/schema/security/secrets/secretsManagerProvider.py +1 -1
  696. metadata/generated/schema/security/securityConfiguration.py +1 -1
  697. metadata/generated/schema/security/ssl/__init__.py +1 -1
  698. metadata/generated/schema/security/ssl/validateSSLClientConfig.py +1 -1
  699. metadata/generated/schema/security/ssl/verifySSLConfig.py +1 -1
  700. metadata/generated/schema/settings/__init__.py +1 -1
  701. metadata/generated/schema/settings/settings.py +1 -1
  702. metadata/generated/schema/system/__init__.py +1 -1
  703. metadata/generated/schema/system/entityError.py +1 -1
  704. metadata/generated/schema/system/eventPublisherJob.py +1 -1
  705. metadata/generated/schema/system/indexingError.py +1 -1
  706. metadata/generated/schema/system/limitsResponse.py +1 -1
  707. metadata/generated/schema/system/ui/__init__.py +1 -1
  708. metadata/generated/schema/system/ui/knowledgePanel.py +1 -1
  709. metadata/generated/schema/system/ui/navigationItem.py +1 -1
  710. metadata/generated/schema/system/ui/page.py +1 -1
  711. metadata/generated/schema/system/ui/tab.py +1 -1
  712. metadata/generated/schema/system/ui/uiCustomization.py +1 -1
  713. metadata/generated/schema/system/validationResponse.py +1 -1
  714. metadata/generated/schema/tests/__init__.py +1 -1
  715. metadata/generated/schema/tests/assigned.py +1 -1
  716. metadata/generated/schema/tests/basic.py +1 -1
  717. metadata/generated/schema/tests/customMetric.py +1 -1
  718. metadata/generated/schema/tests/dataQualityReport.py +1 -1
  719. metadata/generated/schema/tests/resolved.py +1 -1
  720. metadata/generated/schema/tests/testCase.py +1 -1
  721. metadata/generated/schema/tests/testCaseResolutionStatus.py +1 -1
  722. metadata/generated/schema/tests/testDefinition.py +1 -1
  723. metadata/generated/schema/tests/testSuite.py +1 -1
  724. metadata/generated/schema/type/__init__.py +1 -1
  725. metadata/generated/schema/type/apiSchema.py +1 -1
  726. metadata/generated/schema/type/assetCertification.py +1 -1
  727. metadata/generated/schema/type/auditLog.py +1 -1
  728. metadata/generated/schema/type/basic.py +1 -1
  729. metadata/generated/schema/type/bulkOperationResult.py +1 -1
  730. metadata/generated/schema/type/changeEvent.py +1 -1
  731. metadata/generated/schema/type/changeEventType.py +1 -1
  732. metadata/generated/schema/type/changeSummaryMap.py +1 -1
  733. metadata/generated/schema/type/collectionDescriptor.py +1 -1
  734. metadata/generated/schema/type/contractExecutionStatus.py +1 -1
  735. metadata/generated/schema/type/csvDocumentation.py +1 -1
  736. metadata/generated/schema/type/csvErrorType.py +1 -1
  737. metadata/generated/schema/type/csvFile.py +1 -1
  738. metadata/generated/schema/type/csvImportResult.py +1 -1
  739. metadata/generated/schema/type/customProperties/__init__.py +1 -1
  740. metadata/generated/schema/type/customProperties/complexTypes.py +1 -1
  741. metadata/generated/schema/type/customProperties/enumConfig.py +1 -1
  742. metadata/generated/schema/type/customProperties/tableConfig.py +1 -1
  743. metadata/generated/schema/type/customProperty.py +1 -1
  744. metadata/generated/schema/type/dailyCount.py +1 -1
  745. metadata/generated/schema/type/databaseConnectionConfig.py +1 -1
  746. metadata/generated/schema/type/entityHierarchy.py +1 -1
  747. metadata/generated/schema/type/entityHistory.py +1 -1
  748. metadata/generated/schema/type/entityLineage.py +1 -1
  749. metadata/generated/schema/type/entityProfile.py +1 -1
  750. metadata/generated/schema/type/entityReference.py +1 -1
  751. metadata/generated/schema/type/entityReferenceList.py +1 -1
  752. metadata/generated/schema/type/entityRelationship/__init__.py +1 -1
  753. metadata/generated/schema/type/entityRelationship/nodeInformation.py +1 -1
  754. metadata/generated/schema/type/entityUsage.py +1 -1
  755. metadata/generated/schema/type/filterPattern.py +1 -1
  756. metadata/generated/schema/type/function.py +1 -1
  757. metadata/generated/schema/type/include.py +1 -1
  758. metadata/generated/schema/type/jdbcConnection.py +1 -1
  759. metadata/generated/schema/type/layerPaging.py +1 -1
  760. metadata/generated/schema/type/lifeCycle.py +1 -1
  761. metadata/generated/schema/type/paging.py +1 -1
  762. metadata/generated/schema/type/personaPreferences.py +1 -1
  763. metadata/generated/schema/type/profile.py +1 -1
  764. metadata/generated/schema/type/queryParserData.py +1 -1
  765. metadata/generated/schema/type/reaction.py +1 -1
  766. metadata/generated/schema/type/schedule.py +1 -1
  767. metadata/generated/schema/type/schema.py +1 -1
  768. metadata/generated/schema/type/tableQuery.py +1 -1
  769. metadata/generated/schema/type/tableUsageCount.py +1 -1
  770. metadata/generated/schema/type/tagLabel.py +1 -1
  771. metadata/generated/schema/type/usageDetails.py +1 -1
  772. metadata/generated/schema/type/usageRequest.py +1 -1
  773. metadata/generated/schema/type/votes.py +1 -1
  774. metadata/ingestion/source/dashboard/powerbi/metadata.py +253 -70
  775. metadata/ingestion/source/database/iceberg/metadata.py +44 -1
  776. metadata/ingestion/source/database/snowflake/lineage.py +44 -21
  777. metadata/ingestion/source/database/snowflake/metadata.py +16 -6
  778. metadata/ingestion/source/database/snowflake/queries.py +2 -0
  779. metadata/ingestion/source/database/snowflake/query_parser.py +12 -2
  780. metadata/ingestion/source/database/snowflake/usage.py +97 -0
  781. metadata/ingestion/source/database/sql_column_handler.py +11 -3
  782. metadata/ingestion/source/database/unitycatalog/client.py +1 -1
  783. metadata/ingestion/source/database/unitycatalog/lineage.py +179 -5
  784. metadata/ingestion/source/database/unitycatalog/models.py +18 -2
  785. metadata/ingestion/source/pipeline/kafkaconnect/client.py +318 -30
  786. metadata/ingestion/source/pipeline/kafkaconnect/metadata.py +546 -16
  787. metadata/ingestion/source/pipeline/kafkaconnect/models.py +32 -1
  788. metadata/ingestion/source/storage/s3/metadata.py +9 -2
  789. metadata/parsers/json_schema_parser.py +41 -1
  790. metadata/utils/datalake/datalake_utils.py +121 -0
  791. metadata/workflow/base.py +15 -0
  792. metadata/workflow/workflow_resource_metrics.py +111 -0
  793. {openmetadata_ingestion-1.9.12.0.dist-info → openmetadata_ingestion-1.9.13.1.dist-info}/METADATA +547 -547
  794. {openmetadata_ingestion-1.9.12.0.dist-info → openmetadata_ingestion-1.9.13.1.dist-info}/RECORD +798 -793
  795. {openmetadata_ingestion-1.9.12.0.dist-info → openmetadata_ingestion-1.9.13.1.dist-info}/LICENSE +0 -0
  796. {openmetadata_ingestion-1.9.12.0.dist-info → openmetadata_ingestion-1.9.13.1.dist-info}/WHEEL +0 -0
  797. {openmetadata_ingestion-1.9.12.0.dist-info → openmetadata_ingestion-1.9.13.1.dist-info}/entry_points.txt +0 -0
  798. {openmetadata_ingestion-1.9.12.0.dist-info → openmetadata_ingestion-1.9.13.1.dist-info}/top_level.txt +0 -0
@@ -13,7 +13,7 @@ KafkaConnect source to extract metadata from OM UI
13
13
  """
14
14
  import traceback
15
15
  from datetime import datetime
16
- from typing import Iterable, Optional
16
+ from typing import Any, Iterable, List, Optional
17
17
 
18
18
  from metadata.generated.schema.api.data.createPipeline import CreatePipelineRequest
19
19
  from metadata.generated.schema.api.lineage.addLineage import AddLineageRequest
@@ -42,15 +42,23 @@ from metadata.generated.schema.type.basic import (
42
42
  SourceUrl,
43
43
  Timestamp,
44
44
  )
45
- from metadata.generated.schema.type.entityLineage import EntitiesEdge, LineageDetails
45
+ from metadata.generated.schema.type.entityLineage import (
46
+ ColumnLineage,
47
+ EntitiesEdge,
48
+ LineageDetails,
49
+ )
46
50
  from metadata.generated.schema.type.entityLineage import Source as LineageSource
47
51
  from metadata.generated.schema.type.entityReference import EntityReference
48
52
  from metadata.ingestion.api.models import Either
49
53
  from metadata.ingestion.api.steps import InvalidSourceException
54
+ from metadata.ingestion.lineage.sql_lineage import get_column_fqn
50
55
  from metadata.ingestion.models.pipeline_status import OMetaPipelineStatus
51
56
  from metadata.ingestion.ometa.ometa_api import OpenMetadata, T
57
+ from metadata.ingestion.source.pipeline.kafkaconnect.client import parse_cdc_topic_name
52
58
  from metadata.ingestion.source.pipeline.kafkaconnect.models import (
59
+ ConnectorType,
53
60
  KafkaConnectPipelineDetails,
61
+ KafkaConnectTopics,
54
62
  )
55
63
  from metadata.ingestion.source.pipeline.pipeline_service import PipelineServiceSource
56
64
  from metadata.utils import fqn
@@ -67,6 +75,22 @@ STATUS_MAP = {
67
75
  "UNASSIGNED": StatusType.Pending.value,
68
76
  }
69
77
 
78
+ # CDC envelope field names used for Debezium detection and parsing
79
+ CDC_ENVELOPE_FIELDS = {"after", "before", "op"}
80
+
81
+
82
+ def get_field_name(field_name: Any) -> str:
83
+ """
84
+ Extract string name from FieldName object or string.
85
+
86
+ Args:
87
+ field_name: FieldName object with .root attribute, or plain string
88
+
89
+ Returns:
90
+ String representation of the field name
91
+ """
92
+ return field_name.root if hasattr(field_name, "root") else str(field_name)
93
+
70
94
 
71
95
  class KafkaconnectSource(PipelineServiceSource):
72
96
  """
@@ -105,9 +129,11 @@ class KafkaconnectSource(PipelineServiceSource):
105
129
  for task in pipeline_details.tasks or []
106
130
  ],
107
131
  service=self.context.get().pipeline_service,
108
- description=Markdown(pipeline_details.description)
109
- if pipeline_details.description
110
- else None,
132
+ description=(
133
+ Markdown(pipeline_details.description)
134
+ if pipeline_details.description
135
+ else None
136
+ ),
111
137
  )
112
138
  yield Either(right=pipeline_request)
113
139
  self.register_record(pipeline_request=pipeline_request)
@@ -174,6 +200,431 @@ class KafkaconnectSource(PipelineServiceSource):
174
200
 
175
201
  return None
176
202
 
203
+ def _get_entity_column_fqn(self, entity: T, column_name: str) -> Optional[str]:
204
+ """
205
+ Get column FQN for any supported entity type.
206
+ Dispatch based on entity type.
207
+
208
+ Args:
209
+ entity: Table or Topic entity
210
+ column_name: Column/field name
211
+
212
+ Returns:
213
+ Fully qualified column name or None
214
+ """
215
+ if isinstance(entity, Topic):
216
+ return self._get_topic_field_fqn(entity, column_name)
217
+ elif isinstance(entity, Table):
218
+ return get_column_fqn(table_entity=entity, column=column_name)
219
+ else:
220
+ logger.warning(
221
+ f"Unsupported entity type for column FQN: {type(entity).__name__}"
222
+ )
223
+ return None
224
+
225
+ def _parse_cdc_schema_columns(self, schema_text: str) -> List[str]:
226
+ """
227
+ Parse Debezium CDC schema JSON to extract table column names.
228
+
229
+ Looks for columns in 'after' or 'before' fields within the schema,
230
+ handling nullable oneOf structures.
231
+
232
+ Args:
233
+ schema_text: Raw JSON schema string from topic
234
+
235
+ Returns:
236
+ List of column names, or empty list if parsing fails
237
+ """
238
+ try:
239
+ import json
240
+
241
+ schema_dict = json.loads(schema_text)
242
+
243
+ # Look for 'after' or 'before' field in the schema
244
+ for field_name in ["after", "before"]:
245
+ if field_name not in schema_dict.get("properties", {}):
246
+ continue
247
+
248
+ field_def = schema_dict["properties"][field_name]
249
+
250
+ # Handle oneOf (nullable types)
251
+ if "oneOf" not in field_def:
252
+ continue
253
+
254
+ for option in field_def["oneOf"]:
255
+ if isinstance(option, dict) and option.get("type") == "object":
256
+ columns = list(option.get("properties", {}).keys())
257
+ logger.debug(
258
+ f"Parsed {len(columns)} columns from CDC '{field_name}' field"
259
+ )
260
+ return columns
261
+
262
+ except Exception as exc:
263
+ logger.debug(f"Unable to parse CDC schema text: {exc}")
264
+
265
+ return []
266
+
267
+ def _extract_columns_from_entity(self, entity: T) -> List[str]:
268
+ """
269
+ Extract column/field names from Table or Topic entity.
270
+
271
+ For Debezium CDC topics, extracts columns from the 'after' or 'before' field
272
+ which contains the actual table structure, not the CDC envelope fields.
273
+
274
+ Args:
275
+ entity: Table or Topic entity
276
+
277
+ Returns:
278
+ List of column/field names
279
+ """
280
+ if isinstance(entity, Table):
281
+ return [col.name.root for col in entity.columns or []]
282
+
283
+ if hasattr(entity, "messageSchema") and entity.messageSchema:
284
+ schema_fields = entity.messageSchema.schemaFields or []
285
+
286
+ # Check if this is a Debezium CDC envelope structure
287
+ # Can be either flat (top-level: op, before, after) or nested (Envelope -> op, before, after)
288
+ field_names = {get_field_name(f.name) for f in schema_fields}
289
+ is_debezium_cdc = CDC_ENVELOPE_FIELDS.issubset(field_names)
290
+
291
+ # Fallback: Check schemaText for CDC structure if schemaFields doesn't indicate CDC
292
+ if not is_debezium_cdc and entity.messageSchema.schemaText:
293
+ try:
294
+ import json
295
+
296
+ schema_dict = json.loads(entity.messageSchema.schemaText)
297
+ schema_props = schema_dict.get("properties", {})
298
+ # Check if schemaText has CDC envelope fields
299
+ is_debezium_cdc = CDC_ENVELOPE_FIELDS.issubset(
300
+ set(schema_props.keys())
301
+ )
302
+ except Exception:
303
+ pass
304
+
305
+ logger.debug(
306
+ f"Topic {get_field_name(entity.name) if hasattr(entity, 'name') else 'unknown'}: field_names={field_names}, is_debezium_cdc={is_debezium_cdc}"
307
+ )
308
+
309
+ # Check for nested Debezium CDC structure (single Envelope field with CDC children)
310
+ if not is_debezium_cdc and len(schema_fields) == 1:
311
+ envelope_field = schema_fields[0]
312
+ if envelope_field.children:
313
+ envelope_child_names = {
314
+ get_field_name(c.name) for c in envelope_field.children
315
+ }
316
+ is_debezium_cdc = CDC_ENVELOPE_FIELDS.issubset(envelope_child_names)
317
+ if is_debezium_cdc:
318
+ logger.debug(
319
+ f"Nested Debezium CDC envelope detected: {get_field_name(envelope_field.name)}"
320
+ )
321
+ schema_fields = (
322
+ envelope_field.children
323
+ ) # Use envelope children as schema fields
324
+
325
+ if is_debezium_cdc:
326
+ # For Debezium CDC, extract columns from the 'after' field (or 'before' as fallback)
327
+ # The 'after' field contains the complete record structure after the change
328
+ for field in schema_fields:
329
+ field_name_str = get_field_name(field.name)
330
+ # Prefer 'after' for source connectors (contains new/updated record state)
331
+ if field_name_str == "after" and field.children:
332
+ columns = [
333
+ get_field_name(child.name) for child in field.children
334
+ ]
335
+ logger.debug(
336
+ f"Debezium CDC: extracted {len(columns)} columns from 'after' field"
337
+ )
338
+ return columns
339
+
340
+ # Fallback to 'before' if 'after' has no children
341
+ for field in schema_fields:
342
+ field_name_str = get_field_name(field.name)
343
+ if field_name_str == "before" and field.children:
344
+ columns = [
345
+ get_field_name(child.name) for child in field.children
346
+ ]
347
+ logger.debug(
348
+ f"Debezium CDC: extracted {len(columns)} columns from 'before' field"
349
+ )
350
+ return columns
351
+
352
+ # Final fallback: Parse schemaText if after/before don't have children
353
+ if entity.messageSchema.schemaText:
354
+ columns = self._parse_cdc_schema_columns(
355
+ entity.messageSchema.schemaText
356
+ )
357
+ if columns:
358
+ logger.debug(
359
+ f"Debezium CDC: extracted {len(columns)} columns from schemaText"
360
+ )
361
+ return columns
362
+
363
+ logger.debug(
364
+ "Debezium CDC detected but unable to extract columns from after/before fields"
365
+ )
366
+ return []
367
+
368
+ # Non-CDC topic: extract all fields
369
+ columns = []
370
+ for field in schema_fields:
371
+ if field.children:
372
+ columns.extend(
373
+ [get_field_name(child.name) for child in field.children]
374
+ )
375
+ else:
376
+ columns.append(get_field_name(field.name))
377
+ return columns
378
+
379
+ return []
380
+
381
+ def _get_topic_field_fqn(
382
+ self, topic_entity: Topic, field_name: str
383
+ ) -> Optional[str]:
384
+ """
385
+ Get the fully qualified name for a field in a Topic's schema.
386
+ Handles nested structures where fields may be children of a parent RECORD.
387
+ For Debezium CDC topics, searches for fields inside after/before envelope children.
388
+ """
389
+ if (
390
+ not topic_entity.messageSchema
391
+ or not topic_entity.messageSchema.schemaFields
392
+ ):
393
+ logger.debug(
394
+ f"Topic {get_field_name(topic_entity.name)} has no message schema"
395
+ )
396
+ return None
397
+
398
+ # Search for the field in the schema (including nested fields)
399
+ for field in topic_entity.messageSchema.schemaFields:
400
+ field_name_str = get_field_name(field.name)
401
+
402
+ # Check if it's a direct field
403
+ if field_name_str == field_name:
404
+ return (
405
+ field.fullyQualifiedName.root if field.fullyQualifiedName else None
406
+ )
407
+
408
+ # Check if it's a child field (nested - one level deep)
409
+ if field.children:
410
+ # For Debezium CDC, prioritize 'after' over 'before' when searching for grandchildren
411
+ children_to_search = field.children
412
+ after_child = None
413
+ before_child = None
414
+
415
+ for child in field.children:
416
+ child_name = get_field_name(child.name)
417
+ if child_name == "after":
418
+ after_child = child
419
+ elif child_name == "before":
420
+ before_child = child
421
+ # Check direct child match
422
+ if child_name == field_name:
423
+ return (
424
+ child.fullyQualifiedName.root
425
+ if child.fullyQualifiedName
426
+ else None
427
+ )
428
+
429
+ # Search grandchildren - prefer 'after' over 'before' for CDC topics
430
+ for cdc_child in [after_child, before_child]:
431
+ if cdc_child and cdc_child.children:
432
+ for grandchild in cdc_child.children:
433
+ if get_field_name(grandchild.name) == field_name:
434
+ return (
435
+ grandchild.fullyQualifiedName.root
436
+ if grandchild.fullyQualifiedName
437
+ else None
438
+ )
439
+
440
+ # Search other grandchildren (non-CDC fields)
441
+ for child in field.children:
442
+ if child not in [after_child, before_child] and child.children:
443
+ for grandchild in child.children:
444
+ if get_field_name(grandchild.name) == field_name:
445
+ return (
446
+ grandchild.fullyQualifiedName.root
447
+ if grandchild.fullyQualifiedName
448
+ else None
449
+ )
450
+
451
+ # For Debezium CDC topics, columns might only exist in schemaText (not as field objects)
452
+ # Manually construct FQN: topicFQN.Envelope.columnName
453
+ for field in topic_entity.messageSchema.schemaFields:
454
+ field_name_str = get_field_name(field.name)
455
+ # Check if this is a CDC envelope field
456
+ if "Envelope" in field_name_str and field.fullyQualifiedName:
457
+ # Construct FQN manually for CDC column
458
+ envelope_fqn = field.fullyQualifiedName.root
459
+ return f"{envelope_fqn}.{field_name}"
460
+
461
+ logger.debug(
462
+ f"Field {field_name} not found in topic {get_field_name(topic_entity.name)} schema"
463
+ )
464
+ return None
465
+
466
+ def build_column_lineage(
467
+ self,
468
+ from_entity: T,
469
+ to_entity: T,
470
+ topic_entity: Topic,
471
+ pipeline_details: KafkaConnectPipelineDetails,
472
+ ) -> Optional[List[ColumnLineage]]:
473
+ """
474
+ Build column-level lineage between source table, topic, and target table.
475
+ For source connectors: Table columns -> Topic schema fields
476
+ For sink connectors: Topic schema fields -> Table columns
477
+ """
478
+ try:
479
+ column_lineages = []
480
+
481
+ # Get column mappings from connector config if available
482
+ if pipeline_details.dataset and pipeline_details.dataset.column_mappings:
483
+ # Use explicit column mappings from connector config
484
+ for mapping in pipeline_details.dataset.column_mappings:
485
+ if pipeline_details.conn_type == ConnectorType.SINK.value:
486
+ from_col = get_column_fqn(
487
+ table_entity=topic_entity, column=mapping.source_column
488
+ )
489
+ to_col = get_column_fqn(
490
+ table_entity=to_entity, column=mapping.target_column
491
+ )
492
+ else:
493
+ from_col = get_column_fqn(
494
+ table_entity=from_entity, column=mapping.source_column
495
+ )
496
+ to_col = get_column_fqn(
497
+ table_entity=topic_entity, column=mapping.target_column
498
+ )
499
+
500
+ if from_col and to_col:
501
+ column_lineages.append(
502
+ ColumnLineage(
503
+ fromColumns=[from_col],
504
+ toColumn=to_col,
505
+ function=None,
506
+ )
507
+ )
508
+ else:
509
+ # Infer 1:1 column mappings based on matching column names
510
+ if pipeline_details.conn_type == ConnectorType.SINK.value:
511
+ source_entity = topic_entity
512
+ target_entity = to_entity
513
+ else:
514
+ source_entity = from_entity
515
+ target_entity = topic_entity
516
+
517
+ # Extract columns from both entities
518
+ source_columns = self._extract_columns_from_entity(source_entity)
519
+ target_columns = self._extract_columns_from_entity(target_entity)
520
+
521
+ logger.debug(
522
+ f"Column matching for {pipeline_details.name}: "
523
+ f"source={len(source_columns)} cols from {source_entity.__class__.__name__}, "
524
+ f"target={len(target_columns)} cols from {target_entity.__class__.__name__}"
525
+ )
526
+ logger.debug(f"Source columns: {source_columns[:5]}") # First 5
527
+ logger.debug(f"Target columns: {target_columns}")
528
+
529
+ # Create lookup dictionary for O(n) performance instead of O(n²)
530
+ target_cols_map = {str(col).lower(): col for col in target_columns}
531
+
532
+ # Match columns by name (case-insensitive)
533
+ for source_col_name in source_columns:
534
+ source_key = str(source_col_name).lower()
535
+ if source_key in target_cols_map:
536
+ target_col_name = target_cols_map[source_key]
537
+ logger.debug(
538
+ f"Matched column: {source_col_name} -> {target_col_name}"
539
+ )
540
+ try:
541
+ # Get fully qualified names for source and target columns
542
+ from_col = self._get_entity_column_fqn(
543
+ source_entity, source_col_name
544
+ )
545
+ to_col = self._get_entity_column_fqn(
546
+ target_entity, target_col_name
547
+ )
548
+
549
+ logger.debug(f"FQNs: from_col={from_col}, to_col={to_col}")
550
+
551
+ if from_col and to_col:
552
+ column_lineages.append(
553
+ ColumnLineage(
554
+ fromColumns=[from_col],
555
+ toColumn=to_col,
556
+ function=None,
557
+ )
558
+ )
559
+ logger.debug(
560
+ f"Added column lineage: {from_col} -> {to_col}"
561
+ )
562
+ except (KeyError, AttributeError) as exc:
563
+ logger.debug(
564
+ f"Error creating column lineage for {source_col_name} -> {target_col_name}: {exc}"
565
+ )
566
+
567
+ if column_lineages:
568
+ logger.debug(
569
+ f"Created {len(column_lineages)} column lineages for {pipeline_details.name}"
570
+ )
571
+ return column_lineages if column_lineages else None
572
+
573
+ except Exception as exc:
574
+ logger.debug(traceback.format_exc())
575
+ logger.warning(f"Unable to build column lineage: {exc}")
576
+
577
+ return None
578
+
579
+ def _query_cdc_topics_from_messaging_service(
580
+ self, database_server_name: str
581
+ ) -> List[KafkaConnectTopics]:
582
+ """
583
+ Query topics from messaging service and filter by CDC naming pattern.
584
+
585
+ Used for CDC connectors without explicit topic lists - discovers topics
586
+ by matching against database.server.name prefix.
587
+
588
+ Args:
589
+ database_server_name: The database.server.name or topic.prefix from connector config
590
+
591
+ Returns:
592
+ List of matching CDC topics
593
+ """
594
+ topics_found = []
595
+
596
+ try:
597
+ logger.debug(
598
+ f"CDC connector without topics list - querying messaging service "
599
+ f"for pattern: {database_server_name}.*"
600
+ )
601
+
602
+ # List topics from the configured messaging service only
603
+ topics_list = self.metadata.list_entities(
604
+ entity=Topic,
605
+ fields=["name", "fullyQualifiedName", "service"],
606
+ params={"service": self.service_connection.messagingServiceName},
607
+ ).entities
608
+
609
+ # Filter topics that match the CDC naming pattern
610
+ for topic_entity in topics_list or []:
611
+ topic_name = (
612
+ topic_entity.name.root
613
+ if hasattr(topic_entity.name, "root")
614
+ else str(topic_entity.name)
615
+ )
616
+
617
+ # Parse the topic to see if it's a CDC topic related to this connector
618
+ topic_info = parse_cdc_topic_name(topic_name, database_server_name)
619
+ if topic_info:
620
+ topics_found.append(KafkaConnectTopics(name=topic_name))
621
+ logger.debug(f"Matched CDC topic: {topic_name} -> {topic_info}")
622
+
623
+ except Exception as exc:
624
+ logger.debug(f"Unable to query topics from messaging service: {exc}")
625
+
626
+ return topics_found
627
+
177
628
  def yield_pipeline_lineage_details(
178
629
  self, pipeline_details: KafkaConnectPipelineDetails
179
630
  ) -> Iterable[Either[AddLineageRequest]]:
@@ -196,14 +647,30 @@ class KafkaconnectSource(PipelineServiceSource):
196
647
  entity=Pipeline, fqn=pipeline_fqn
197
648
  )
198
649
 
199
- lineage_details = LineageDetails(
200
- pipeline=EntityReference(id=pipeline_entity.id.root, type="pipeline"),
201
- source=LineageSource.PipelineLineage,
202
- )
203
-
204
650
  dataset_entity = self.get_dataset_entity(pipeline_details=pipeline_details)
205
651
 
206
- for topic in pipeline_details.topics or []:
652
+ # Get database.server.name or topic.prefix for CDC topic parsing
653
+ # These are ONLY set by Debezium CDC connectors
654
+ database_server_name = None
655
+ if pipeline_details.config:
656
+ database_server_name = pipeline_details.config.get(
657
+ "database.server.name"
658
+ ) or pipeline_details.config.get("topic.prefix")
659
+
660
+ # For CDC connectors without explicit topics, query topics from messaging service
661
+ # and filter by CDC naming pattern
662
+ # Only do this for Debezium CDC connectors (identified by database.server.name or topic.prefix)
663
+ topics_to_process = pipeline_details.topics or []
664
+ if (
665
+ not topics_to_process
666
+ and database_server_name
667
+ and pipeline_details.conn_type == ConnectorType.SOURCE.value
668
+ ):
669
+ topics_to_process = self._query_cdc_topics_from_messaging_service(
670
+ database_server_name
671
+ )
672
+
673
+ for topic in topics_to_process:
207
674
  topic_fqn = fqn.build(
208
675
  metadata=self.metadata,
209
676
  entity_type=Topic,
@@ -213,13 +680,76 @@ class KafkaconnectSource(PipelineServiceSource):
213
680
 
214
681
  topic_entity = self.metadata.get_by_name(entity=Topic, fqn=topic_fqn)
215
682
 
216
- if topic_entity is None or dataset_entity is None:
683
+ if topic_entity is None:
684
+ continue
685
+
686
+ # If no dataset entity from config, try to parse table info from CDC topic name
687
+ current_dataset_entity = dataset_entity
688
+ if (
689
+ current_dataset_entity is None
690
+ and pipeline_details.conn_type == ConnectorType.SOURCE.value
691
+ ):
692
+ # Parse CDC topic name to extract table information
693
+ topic_info = parse_cdc_topic_name(
694
+ str(topic.name), database_server_name
695
+ )
696
+ if topic_info.get("database") and topic_info.get("table"):
697
+ logger.debug(
698
+ f"Parsed CDC topic {topic.name}: database={topic_info['database']}, table={topic_info['table']}"
699
+ )
700
+ # Try to find the table entity
701
+ for (
702
+ dbservicename
703
+ ) in self.source_config.lineageInformation.dbServiceNames or [
704
+ "*"
705
+ ]:
706
+ table_fqn = fqn.build(
707
+ metadata=self.metadata,
708
+ entity_type=Table,
709
+ table_name=topic_info["table"],
710
+ database_name=None,
711
+ schema_name=topic_info["database"],
712
+ service_name=dbservicename,
713
+ )
714
+ current_dataset_entity = self.metadata.get_by_name(
715
+ entity=Table, fqn=table_fqn
716
+ )
717
+ if current_dataset_entity:
718
+ logger.debug(f"Found table entity: {table_fqn}")
719
+ break
720
+
721
+ if current_dataset_entity is None:
722
+ # No table entity found, skip this topic
217
723
  continue
218
724
 
219
- if pipeline_details.conn_type.lower() == "sink":
220
- from_entity, to_entity = topic_entity, dataset_entity
725
+ if pipeline_details.conn_type == ConnectorType.SINK.value:
726
+ from_entity, to_entity = topic_entity, current_dataset_entity
221
727
  else:
222
- from_entity, to_entity = dataset_entity, topic_entity
728
+ from_entity, to_entity = current_dataset_entity, topic_entity
729
+
730
+ # Build column-level lineage (best effort - don't fail entity-level lineage)
731
+ column_lineage = None
732
+ try:
733
+ column_lineage = self.build_column_lineage(
734
+ from_entity=from_entity,
735
+ to_entity=to_entity,
736
+ topic_entity=topic_entity,
737
+ pipeline_details=pipeline_details,
738
+ )
739
+ except Exception as exc:
740
+ logger.warning(
741
+ f"Failed to build column-level lineage for {pipeline_details.name}: {exc}. "
742
+ "Entity-level lineage will still be created."
743
+ )
744
+ logger.debug(traceback.format_exc())
745
+
746
+ lineage_details = LineageDetails(
747
+ pipeline=EntityReference(
748
+ id=pipeline_entity.id.root, type="pipeline"
749
+ ),
750
+ source=LineageSource.PipelineLineage,
751
+ columnsLineage=column_lineage,
752
+ )
223
753
 
224
754
  yield Either(
225
755
  right=AddLineageRequest(
@@ -291,7 +821,7 @@ class KafkaconnectSource(PipelineServiceSource):
291
821
  pipeline_details.status, StatusType.Pending
292
822
  ),
293
823
  taskStatus=task_status,
294
- timestamp=Timestamp(datetime_to_ts(datetime.now()))
824
+ timestamp=Timestamp(datetime_to_ts(datetime.now())),
295
825
  # Kafka connect doesn't provide any details with exec time
296
826
  )
297
827
 
@@ -13,14 +13,23 @@
13
13
  KafkaConnect Source Model module
14
14
  """
15
15
 
16
+ from enum import Enum
16
17
  from typing import List, Optional, Type, Union
17
18
 
18
- from pydantic import BaseModel, Field
19
+ from pydantic import BaseModel, Field, field_validator
19
20
 
20
21
  from metadata.generated.schema.entity.data.container import Container
21
22
  from metadata.generated.schema.entity.data.table import Table
22
23
 
23
24
 
25
+ class ConnectorType(str, Enum):
26
+ """Kafka Connect connector types"""
27
+
28
+ SOURCE = "source"
29
+ SINK = "sink"
30
+ UNKNOWN = "UNKNOWN"
31
+
32
+
24
33
  class KafkaConnectTasks(BaseModel):
25
34
  id: int = Field(..., description="ID of the task")
26
35
  state: Optional[str] = Field(
@@ -35,10 +44,20 @@ class KafkaConnectTopics(BaseModel):
35
44
  name: str = Field(..., description="Name of the topic (e.g., random-source-avro)")
36
45
 
37
46
 
47
+ class KafkaConnectColumnMapping(BaseModel):
48
+ """Model for column-level mapping between source and target"""
49
+
50
+ source_column: str = Field(..., description="Source column name")
51
+ target_column: str = Field(..., description="Target column/field name")
52
+
53
+
38
54
  class KafkaConnectDatasetDetails(BaseModel):
39
55
  table: Optional[str] = None
40
56
  database: Optional[str] = None
41
57
  container_name: Optional[str] = None
58
+ column_mappings: List[KafkaConnectColumnMapping] = Field(
59
+ default_factory=list, description="Column-level mappings if available"
60
+ )
42
61
 
43
62
  @property
44
63
  def dataset_type(self) -> Optional[Type[Union[Table, Container]]]:
@@ -63,3 +82,15 @@ class KafkaConnectPipelineDetails(BaseModel):
63
82
  description: Optional[str] = None
64
83
  dataset: Optional[KafkaConnectDatasetDetails] = None
65
84
  config: Optional[dict] = Field(default_factory=dict)
85
+
86
+ @field_validator("conn_type", mode="before")
87
+ @classmethod
88
+ def normalize_connector_type(cls, value: str) -> str:
89
+ """Normalize connector type to enum value"""
90
+ if value:
91
+ value_lower = value.lower()
92
+ if value_lower == "source":
93
+ return ConnectorType.SOURCE.value
94
+ elif value_lower == "sink":
95
+ return ConnectorType.SINK.value
96
+ return ConnectorType.UNKNOWN.value