openmetadata-ingestion 1.9.13.0__py3-none-any.whl → 1.10.1.0__py3-none-any.whl

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

Potentially problematic release.


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

Files changed (960) hide show
  1. metadata/cli/common.py +0 -1
  2. metadata/examples/workflows/bigquery.yaml +1 -0
  3. metadata/examples/workflows/databricks.yaml +9 -1
  4. metadata/examples/workflows/databricks_usage.yaml +7 -1
  5. metadata/examples/workflows/metabase.yaml +1 -0
  6. metadata/examples/workflows/unity_catalog.yaml +7 -1
  7. metadata/examples/workflows/unity_catalog_usage.yaml +7 -1
  8. metadata/generated/antlr/EntityLinkLexer.py +406 -432
  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 +1 -1
  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 +52 -1
  33. metadata/generated/schema/api/classification/createTag.py +29 -2
  34. metadata/generated/schema/api/classification/createTagWithRecognizers.py +67 -0
  35. metadata/generated/schema/api/classification/loadTags.py +1 -1
  36. metadata/generated/schema/api/configuration/__init__.py +3 -0
  37. metadata/generated/schema/api/configuration/rdfConfiguration.py +47 -0
  38. metadata/generated/schema/api/createBot.py +1 -1
  39. metadata/generated/schema/api/createEventPublisherJob.py +1 -1
  40. metadata/generated/schema/api/createType.py +1 -1
  41. metadata/generated/schema/api/data/__init__.py +1 -1
  42. metadata/generated/schema/api/data/createAPICollection.py +1 -1
  43. metadata/generated/schema/api/data/createAPIEndpoint.py +1 -1
  44. metadata/generated/schema/api/data/createChart.py +1 -1
  45. metadata/generated/schema/api/data/createContainer.py +1 -1
  46. metadata/generated/schema/api/data/createCustomProperty.py +1 -1
  47. metadata/generated/schema/api/data/createDashboard.py +1 -1
  48. metadata/generated/schema/api/data/createDashboardDataModel.py +1 -1
  49. metadata/generated/schema/api/data/createDataContract.py +33 -3
  50. metadata/generated/schema/api/data/createDatabase.py +1 -1
  51. metadata/generated/schema/api/data/createDatabaseSchema.py +1 -1
  52. metadata/generated/schema/api/data/createDirectory.py +1 -1
  53. metadata/generated/schema/api/data/createEntityProfile.py +1 -1
  54. metadata/generated/schema/api/data/createFile.py +1 -1
  55. metadata/generated/schema/api/data/createGlossary.py +1 -1
  56. metadata/generated/schema/api/data/createGlossaryTerm.py +1 -1
  57. metadata/generated/schema/api/data/createMetric.py +8 -1
  58. metadata/generated/schema/api/data/createMlModel.py +1 -1
  59. metadata/generated/schema/api/data/createPipeline.py +1 -1
  60. metadata/generated/schema/api/data/createQuery.py +1 -1
  61. metadata/generated/schema/api/data/createQueryCostRecord.py +1 -1
  62. metadata/generated/schema/api/data/createSearchIndex.py +1 -1
  63. metadata/generated/schema/api/data/createSpreadsheet.py +9 -1
  64. metadata/generated/schema/api/data/createStoredProcedure.py +1 -1
  65. metadata/generated/schema/api/data/createTable.py +1 -1
  66. metadata/generated/schema/api/data/createTableProfile.py +1 -1
  67. metadata/generated/schema/api/data/createTopic.py +1 -1
  68. metadata/generated/schema/api/data/createWorksheet.py +1 -1
  69. metadata/generated/schema/api/data/loadGlossary.py +1 -1
  70. metadata/generated/schema/api/data/restoreEntity.py +1 -1
  71. metadata/generated/schema/api/data/updateColumn.py +1 -1
  72. metadata/generated/schema/api/dataInsight/__init__.py +1 -1
  73. metadata/generated/schema/api/dataInsight/createDataInsightChart.py +1 -1
  74. metadata/generated/schema/api/dataInsight/custom/__init__.py +1 -1
  75. metadata/generated/schema/api/dataInsight/custom/createDataInsightCustomChart.py +1 -1
  76. metadata/generated/schema/api/dataInsight/kpi/__init__.py +1 -1
  77. metadata/generated/schema/api/dataInsight/kpi/createKpiRequest.py +1 -1
  78. metadata/generated/schema/api/docStore/__init__.py +1 -1
  79. metadata/generated/schema/api/docStore/createDocument.py +1 -1
  80. metadata/generated/schema/api/domains/__init__.py +1 -1
  81. metadata/generated/schema/api/domains/createDataProduct.py +7 -1
  82. metadata/generated/schema/api/domains/createDomain.py +1 -1
  83. metadata/generated/schema/api/entityRelationship/__init__.py +1 -1
  84. metadata/generated/schema/api/entityRelationship/entityRelationshipDirection.py +1 -1
  85. metadata/generated/schema/api/entityRelationship/esEntityRelationshipData.py +1 -1
  86. metadata/generated/schema/api/entityRelationship/relationshipRef.py +1 -1
  87. metadata/generated/schema/api/entityRelationship/searchEntityRelationshipRequest.py +1 -1
  88. metadata/generated/schema/api/entityRelationship/searchEntityRelationshipResult.py +1 -1
  89. metadata/generated/schema/api/entityRelationship/searchSchemaEntityRelationshipResult.py +1 -1
  90. metadata/generated/schema/api/events/__init__.py +3 -0
  91. metadata/generated/schema/api/events/createNotificationTemplate.py +61 -0
  92. metadata/generated/schema/api/events/notificationTemplateValidationRequest.py +30 -0
  93. metadata/generated/schema/api/events/notificationTemplateValidationResponse.py +36 -0
  94. metadata/generated/schema/api/feed/__init__.py +1 -1
  95. metadata/generated/schema/api/feed/closeTask.py +1 -1
  96. metadata/generated/schema/api/feed/createPost.py +1 -1
  97. metadata/generated/schema/api/feed/createSuggestion.py +1 -1
  98. metadata/generated/schema/api/feed/createThread.py +1 -1
  99. metadata/generated/schema/api/feed/resolveTask.py +1 -1
  100. metadata/generated/schema/api/feed/threadCount.py +1 -1
  101. metadata/generated/schema/api/governance/__init__.py +1 -1
  102. metadata/generated/schema/api/governance/createWorkflowDefinition.py +1 -1
  103. metadata/generated/schema/api/governance/createWorkflowInstanceState.py +1 -1
  104. metadata/generated/schema/api/lineage/__init__.py +1 -1
  105. metadata/generated/schema/api/lineage/addLineage.py +1 -1
  106. metadata/generated/schema/api/lineage/entityCountLineageRequest.py +66 -0
  107. metadata/generated/schema/api/lineage/esLineageData.py +1 -1
  108. metadata/generated/schema/api/lineage/lineageDirection.py +1 -1
  109. metadata/generated/schema/api/lineage/lineagePaginationInfo.py +57 -0
  110. metadata/generated/schema/api/lineage/nodeInformation.py +9 -1
  111. metadata/generated/schema/api/lineage/searchLineageRequest.py +1 -1
  112. metadata/generated/schema/api/lineage/searchLineageResult.py +1 -1
  113. metadata/generated/schema/api/mcp/__init__.py +1 -1
  114. metadata/generated/schema/api/mcp/mcpSearchResponse.py +1 -1
  115. metadata/generated/schema/api/mcp/mcpToolDefinition.py +1 -1
  116. metadata/generated/schema/api/openMetadataServerVersion.py +1 -1
  117. metadata/generated/schema/api/policies/__init__.py +1 -1
  118. metadata/generated/schema/api/policies/createPolicy.py +1 -1
  119. metadata/generated/schema/api/rdf/__init__.py +3 -0
  120. metadata/generated/schema/api/rdf/sparqlQuery.py +57 -0
  121. metadata/generated/schema/api/rdf/sparqlResponse.py +56 -0
  122. metadata/generated/schema/api/scim/__init__.py +1 -1
  123. metadata/generated/schema/api/scim/scimGroup.py +1 -1
  124. metadata/generated/schema/api/scim/scimPatchOp.py +1 -1
  125. metadata/generated/schema/api/scim/scimUser.py +1 -1
  126. metadata/generated/schema/api/search/__init__.py +1 -1
  127. metadata/generated/schema/api/search/previewSearchRequest.py +1 -1
  128. metadata/generated/schema/api/services/__init__.py +1 -1
  129. metadata/generated/schema/api/services/createApiService.py +1 -1
  130. metadata/generated/schema/api/services/createDashboardService.py +1 -1
  131. metadata/generated/schema/api/services/createDatabaseService.py +1 -1
  132. metadata/generated/schema/api/services/createDriveService.py +9 -2
  133. metadata/generated/schema/api/services/createMessagingService.py +1 -1
  134. metadata/generated/schema/api/services/createMetadataService.py +1 -1
  135. metadata/generated/schema/api/services/createMlModelService.py +1 -1
  136. metadata/generated/schema/api/services/createPipelineService.py +1 -1
  137. metadata/generated/schema/api/services/createSearchService.py +1 -1
  138. metadata/generated/schema/api/services/createSecurityService.py +1 -1
  139. metadata/generated/schema/api/services/createStorageService.py +1 -1
  140. metadata/generated/schema/api/services/ingestionPipelines/__init__.py +1 -1
  141. metadata/generated/schema/api/services/ingestionPipelines/createIngestionPipeline.py +8 -1
  142. metadata/generated/schema/api/setOwner.py +1 -1
  143. metadata/generated/schema/api/teams/__init__.py +1 -1
  144. metadata/generated/schema/api/teams/createPersona.py +1 -1
  145. metadata/generated/schema/api/teams/createRole.py +1 -1
  146. metadata/generated/schema/api/teams/createTeam.py +1 -1
  147. metadata/generated/schema/api/teams/createUser.py +1 -1
  148. metadata/generated/schema/api/tests/__init__.py +1 -1
  149. metadata/generated/schema/api/tests/createCustomMetric.py +1 -1
  150. metadata/generated/schema/api/tests/createLogicalTestCases.py +1 -1
  151. metadata/generated/schema/api/tests/createTestCase.py +5 -1
  152. metadata/generated/schema/api/tests/createTestCaseResolutionStatus.py +1 -1
  153. metadata/generated/schema/api/tests/createTestCaseResult.py +1 -1
  154. metadata/generated/schema/api/tests/createTestDefinition.py +1 -1
  155. metadata/generated/schema/api/tests/createTestSuite.py +5 -1
  156. metadata/generated/schema/api/tests/moveGlossaryTermRequest.py +1 -1
  157. metadata/generated/schema/api/validateGlossaryTagsRequest.py +1 -1
  158. metadata/generated/schema/api/voteRequest.py +1 -1
  159. metadata/generated/schema/auth/__init__.py +1 -1
  160. metadata/generated/schema/auth/basicAuth.py +1 -1
  161. metadata/generated/schema/auth/basicLoginRequest.py +1 -1
  162. metadata/generated/schema/auth/changePasswordRequest.py +1 -1
  163. metadata/generated/schema/auth/createPersonalToken.py +1 -1
  164. metadata/generated/schema/auth/emailRequest.py +1 -1
  165. metadata/generated/schema/auth/emailVerificationToken.py +1 -1
  166. metadata/generated/schema/auth/generateToken.py +1 -1
  167. metadata/generated/schema/auth/jwtAuth.py +1 -1
  168. metadata/generated/schema/auth/loginRequest.py +1 -1
  169. metadata/generated/schema/auth/logoutRequest.py +1 -1
  170. metadata/generated/schema/auth/passwordResetRequest.py +1 -1
  171. metadata/generated/schema/auth/passwordResetToken.py +1 -1
  172. metadata/generated/schema/auth/personalAccessToken.py +1 -1
  173. metadata/generated/schema/auth/refreshToken.py +1 -1
  174. metadata/generated/schema/auth/registrationRequest.py +1 -1
  175. metadata/generated/schema/auth/revokePersonalToken.py +1 -1
  176. metadata/generated/schema/auth/revokeToken.py +1 -1
  177. metadata/generated/schema/auth/serviceTokenEnum.py +1 -1
  178. metadata/generated/schema/auth/ssoAuth.py +1 -1
  179. metadata/generated/schema/auth/supportToken.py +1 -1
  180. metadata/generated/schema/auth/tokenRefreshRequest.py +1 -1
  181. metadata/generated/schema/configuration/__init__.py +1 -1
  182. metadata/generated/schema/configuration/aiPlatformConfiguration.py +1 -1
  183. metadata/generated/schema/configuration/appsPrivateConfiguration.py +1 -1
  184. metadata/generated/schema/configuration/assetCertificationSettings.py +1 -1
  185. metadata/generated/schema/configuration/authConfig.py +1 -1
  186. metadata/generated/schema/configuration/authenticationConfiguration.py +1 -1
  187. metadata/generated/schema/configuration/authorizerConfiguration.py +1 -1
  188. metadata/generated/schema/configuration/cacheConfiguration.py +1 -1
  189. metadata/generated/schema/configuration/changeEventConfiguration.py +1 -1
  190. metadata/generated/schema/configuration/dataQualityConfiguration.py +1 -1
  191. metadata/generated/schema/configuration/elasticSearchConfiguration.py +2 -1
  192. metadata/generated/schema/configuration/entityRulesSettings.py +1 -1
  193. metadata/generated/schema/configuration/eventHandlerConfiguration.py +1 -1
  194. metadata/generated/schema/configuration/fernetConfiguration.py +1 -1
  195. metadata/generated/schema/configuration/jwtTokenConfiguration.py +1 -1
  196. metadata/generated/schema/configuration/kafkaEventConfiguration.py +1 -1
  197. metadata/generated/schema/configuration/ldapConfiguration.py +1 -1
  198. metadata/generated/schema/configuration/ldapTrustStoreConfig/__init__.py +1 -1
  199. metadata/generated/schema/configuration/ldapTrustStoreConfig/customTrustManagerConfig.py +1 -1
  200. metadata/generated/schema/configuration/ldapTrustStoreConfig/hostNameConfig.py +1 -1
  201. metadata/generated/schema/configuration/ldapTrustStoreConfig/jvmDefaultConfig.py +1 -1
  202. metadata/generated/schema/configuration/ldapTrustStoreConfig/trustAllConfig.py +1 -1
  203. metadata/generated/schema/configuration/ldapTrustStoreConfig/truststoreConfig.py +1 -1
  204. metadata/generated/schema/configuration/limitsConfiguration.py +1 -1
  205. metadata/generated/schema/configuration/lineageSettings.py +1 -1
  206. metadata/generated/schema/configuration/logStorageConfiguration.py +105 -0
  207. metadata/generated/schema/configuration/loginConfiguration.py +1 -1
  208. metadata/generated/schema/configuration/logoConfiguration.py +1 -1
  209. metadata/generated/schema/configuration/openMetadataBaseUrlConfiguration.py +1 -1
  210. metadata/generated/schema/configuration/opertionalConfiguration.py +1 -1
  211. metadata/generated/schema/configuration/opsConfig.py +1 -1
  212. metadata/generated/schema/configuration/pipelineServiceClientConfiguration.py +9 -2
  213. metadata/generated/schema/configuration/profilerConfiguration.py +2 -1
  214. metadata/generated/schema/configuration/searchSettings.py +7 -2
  215. metadata/generated/schema/configuration/securityConfiguration.py +26 -0
  216. metadata/generated/schema/configuration/slackAppConfiguration.py +1 -1
  217. metadata/generated/schema/configuration/taskNotificationConfiguration.py +1 -1
  218. metadata/generated/schema/configuration/testResultNotificationConfiguration.py +1 -1
  219. metadata/generated/schema/configuration/themeConfiguration.py +1 -1
  220. metadata/generated/schema/configuration/uiThemePreference.py +1 -1
  221. metadata/generated/schema/configuration/workflowSettings.py +1 -1
  222. metadata/generated/schema/dataInsight/__init__.py +1 -1
  223. metadata/generated/schema/dataInsight/custom/__init__.py +1 -1
  224. metadata/generated/schema/dataInsight/custom/dataInsightCustomChart.py +1 -1
  225. metadata/generated/schema/dataInsight/custom/dataInsightCustomChartResult.py +1 -1
  226. metadata/generated/schema/dataInsight/custom/dataInsightCustomChartResultList.py +1 -1
  227. metadata/generated/schema/dataInsight/custom/formulaHolder.py +1 -1
  228. metadata/generated/schema/dataInsight/custom/lineChart.py +1 -1
  229. metadata/generated/schema/dataInsight/custom/summaryCard.py +1 -1
  230. metadata/generated/schema/dataInsight/dataInsightChart.py +1 -1
  231. metadata/generated/schema/dataInsight/dataInsightChartResult.py +1 -1
  232. metadata/generated/schema/dataInsight/kpi/__init__.py +1 -1
  233. metadata/generated/schema/dataInsight/kpi/basic.py +1 -1
  234. metadata/generated/schema/dataInsight/kpi/kpi.py +1 -1
  235. metadata/generated/schema/dataInsight/type/__init__.py +1 -1
  236. metadata/generated/schema/dataInsight/type/aggregatedUnusedAssetsCount.py +1 -1
  237. metadata/generated/schema/dataInsight/type/aggregatedUnusedAssetsSize.py +1 -1
  238. metadata/generated/schema/dataInsight/type/aggregatedUsedVsUnusedAssetsCount.py +1 -1
  239. metadata/generated/schema/dataInsight/type/aggregatedUsedVsUnusedAssetsSize.py +1 -1
  240. metadata/generated/schema/dataInsight/type/dailyActiveUsers.py +1 -1
  241. metadata/generated/schema/dataInsight/type/mostActiveUsers.py +1 -1
  242. metadata/generated/schema/dataInsight/type/mostViewedEntities.py +1 -1
  243. metadata/generated/schema/dataInsight/type/pageViewsByEntities.py +1 -1
  244. metadata/generated/schema/dataInsight/type/unusedAssets.py +1 -1
  245. metadata/generated/schema/email/__init__.py +1 -1
  246. metadata/generated/schema/email/emailRequest.py +1 -1
  247. metadata/generated/schema/email/emailTemplate.py +1 -1
  248. metadata/generated/schema/email/emailTemplatePlaceholder.py +1 -1
  249. metadata/generated/schema/email/smtpSettings.py +1 -1
  250. metadata/generated/schema/email/templateValidationReponse.py +1 -1
  251. metadata/generated/schema/entity/__init__.py +1 -1
  252. metadata/generated/schema/entity/applications/__init__.py +1 -1
  253. metadata/generated/schema/entity/applications/app.py +1 -1
  254. metadata/generated/schema/entity/applications/appExtension.py +1 -1
  255. metadata/generated/schema/entity/applications/appRunRecord.py +1 -1
  256. metadata/generated/schema/entity/applications/configuration/__init__.py +1 -1
  257. metadata/generated/schema/entity/applications/configuration/applicationConfig.py +1 -1
  258. metadata/generated/schema/entity/applications/configuration/external/__init__.py +1 -1
  259. metadata/generated/schema/entity/applications/configuration/external/automator/__init__.py +1 -1
  260. metadata/generated/schema/entity/applications/configuration/external/automator/addCustomProperties.py +1 -1
  261. metadata/generated/schema/entity/applications/configuration/external/automator/addDataProductAction.py +1 -1
  262. metadata/generated/schema/entity/applications/configuration/external/automator/addDescriptionAction.py +1 -1
  263. metadata/generated/schema/entity/applications/configuration/external/automator/addDomainAction.py +1 -1
  264. metadata/generated/schema/entity/applications/configuration/external/automator/addOwnerAction.py +1 -1
  265. metadata/generated/schema/entity/applications/configuration/external/automator/addTagsAction.py +1 -1
  266. metadata/generated/schema/entity/applications/configuration/external/automator/addTermsAction.py +1 -1
  267. metadata/generated/schema/entity/applications/configuration/external/automator/addTestCaseAction.py +1 -1
  268. metadata/generated/schema/entity/applications/configuration/external/automator/addTierAction.py +1 -1
  269. metadata/generated/schema/entity/applications/configuration/external/automator/lineagePropagationAction.py +1 -1
  270. metadata/generated/schema/entity/applications/configuration/external/automator/mlTaggingAction.py +1 -1
  271. metadata/generated/schema/entity/applications/configuration/external/automator/propagationStopConfig.py +1 -1
  272. metadata/generated/schema/entity/applications/configuration/external/automator/removeCustomPropertiesAction.py +1 -1
  273. metadata/generated/schema/entity/applications/configuration/external/automator/removeDataProductAction.py +1 -1
  274. metadata/generated/schema/entity/applications/configuration/external/automator/removeDescriptionAction.py +1 -1
  275. metadata/generated/schema/entity/applications/configuration/external/automator/removeDomainAction.py +1 -1
  276. metadata/generated/schema/entity/applications/configuration/external/automator/removeOwnerAction.py +1 -1
  277. metadata/generated/schema/entity/applications/configuration/external/automator/removeTagsAction.py +1 -1
  278. metadata/generated/schema/entity/applications/configuration/external/automator/removeTermsAction.py +1 -1
  279. metadata/generated/schema/entity/applications/configuration/external/automator/removeTestCaseAction.py +1 -1
  280. metadata/generated/schema/entity/applications/configuration/external/automator/removeTierAction.py +1 -1
  281. metadata/generated/schema/entity/applications/configuration/external/automatorAppConfig.py +1 -1
  282. metadata/generated/schema/entity/applications/configuration/external/collateAIAppConfig.py +1 -1
  283. metadata/generated/schema/entity/applications/configuration/external/metadataExporterAppConfig.py +1 -1
  284. metadata/generated/schema/entity/applications/configuration/external/metadataExporterConnectors/__init__.py +1 -1
  285. metadata/generated/schema/entity/applications/configuration/external/metadataExporterConnectors/bigQueryConnection.py +1 -1
  286. metadata/generated/schema/entity/applications/configuration/external/metadataExporterConnectors/databricksConnection.py +18 -6
  287. metadata/generated/schema/entity/applications/configuration/external/metadataExporterConnectors/redshiftConnection.py +1 -1
  288. metadata/generated/schema/entity/applications/configuration/external/metadataExporterConnectors/snowflakeConnection.py +1 -1
  289. metadata/generated/schema/entity/applications/configuration/external/slackAppTokenConfiguration.py +1 -1
  290. metadata/generated/schema/entity/applications/configuration/internal/__init__.py +1 -1
  291. metadata/generated/schema/entity/applications/configuration/internal/autoPilotAppConfig.py +1 -1
  292. metadata/generated/schema/entity/applications/configuration/internal/collateAIQualityAgentAppConfig.py +1 -1
  293. metadata/generated/schema/entity/applications/configuration/internal/collateAITierAgentAppConfig.py +1 -1
  294. metadata/generated/schema/entity/applications/configuration/internal/dataInsightsAppConfig.py +1 -1
  295. metadata/generated/schema/entity/applications/configuration/internal/dataInsightsReportAppConfig.py +1 -1
  296. metadata/generated/schema/entity/applications/configuration/internal/dataRetentionConfiguration.py +1 -1
  297. metadata/generated/schema/entity/applications/configuration/internal/helloPipelinesConfiguration.py +1 -1
  298. metadata/generated/schema/entity/applications/configuration/internal/searchIndexingAppConfig.py +1 -1
  299. metadata/generated/schema/entity/applications/configuration/private/__init__.py +1 -1
  300. metadata/generated/schema/entity/applications/configuration/private/external/__init__.py +1 -1
  301. metadata/generated/schema/entity/applications/configuration/private/external/collateAIAppPrivateConfig.py +1 -1
  302. metadata/generated/schema/entity/applications/configuration/private/internal/__init__.py +1 -1
  303. metadata/generated/schema/entity/applications/configuration/private/internal/collateAITierAgentAppPrivateConfig.py +1 -1
  304. metadata/generated/schema/entity/applications/configuration/private/limits.py +1 -1
  305. metadata/generated/schema/entity/applications/createAppRequest.py +1 -1
  306. metadata/generated/schema/entity/applications/jobStatus.py +1 -1
  307. metadata/generated/schema/entity/applications/liveExecutionContext.py +1 -1
  308. metadata/generated/schema/entity/applications/marketplace/__init__.py +1 -1
  309. metadata/generated/schema/entity/applications/marketplace/appMarketPlaceDefinition.py +1 -1
  310. metadata/generated/schema/entity/applications/marketplace/createAppMarketPlaceDefinitionReq.py +1 -1
  311. metadata/generated/schema/entity/applications/scheduledExecutionContext.py +1 -1
  312. metadata/generated/schema/entity/automations/__init__.py +1 -1
  313. metadata/generated/schema/entity/automations/queryRunnerRequest.py +46 -0
  314. metadata/generated/schema/entity/automations/response/__init__.py +3 -0
  315. metadata/generated/schema/entity/automations/response/queryRunnerResponse.py +51 -0
  316. metadata/generated/schema/entity/automations/testServiceConnection.py +3 -1
  317. metadata/generated/schema/entity/automations/testSparkEngineConnection.py +31 -0
  318. metadata/generated/schema/entity/automations/workflow.py +8 -2
  319. metadata/generated/schema/entity/bot.py +1 -1
  320. metadata/generated/schema/entity/classification/__init__.py +1 -1
  321. metadata/generated/schema/entity/classification/classification.py +57 -2
  322. metadata/generated/schema/entity/classification/tag.py +41 -3
  323. metadata/generated/schema/entity/data/__init__.py +1 -1
  324. metadata/generated/schema/entity/data/apiCollection.py +8 -1
  325. metadata/generated/schema/entity/data/apiEndpoint.py +6 -1
  326. metadata/generated/schema/entity/data/chart.py +7 -1
  327. metadata/generated/schema/entity/data/container.py +6 -1
  328. metadata/generated/schema/entity/data/dashboard.py +6 -1
  329. metadata/generated/schema/entity/data/dashboardDataModel.py +9 -1
  330. metadata/generated/schema/entity/data/dataContract.py +238 -2
  331. metadata/generated/schema/entity/data/database.py +6 -1
  332. metadata/generated/schema/entity/data/databaseSchema.py +8 -1
  333. metadata/generated/schema/entity/data/directory.py +6 -1
  334. metadata/generated/schema/entity/data/file.py +6 -1
  335. metadata/generated/schema/entity/data/glossary.py +6 -1
  336. metadata/generated/schema/entity/data/glossaryTerm.py +8 -12
  337. metadata/generated/schema/entity/data/metric.py +18 -1
  338. metadata/generated/schema/entity/data/mlmodel.py +6 -1
  339. metadata/generated/schema/entity/data/pipeline.py +136 -2
  340. metadata/generated/schema/entity/data/query.py +6 -1
  341. metadata/generated/schema/entity/data/queryCostRecord.py +1 -1
  342. metadata/generated/schema/entity/data/queryCostSearchResult.py +1 -1
  343. metadata/generated/schema/entity/data/report.py +6 -1
  344. metadata/generated/schema/entity/data/searchIndex.py +6 -1
  345. metadata/generated/schema/entity/data/spreadsheet.py +8 -4
  346. metadata/generated/schema/entity/data/storedProcedure.py +8 -1
  347. metadata/generated/schema/entity/data/table.py +95 -1
  348. metadata/generated/schema/entity/data/topic.py +6 -1
  349. metadata/generated/schema/entity/data/worksheet.py +6 -1
  350. metadata/generated/schema/entity/datacontract/__init__.py +1 -1
  351. metadata/generated/schema/entity/datacontract/dataContractResult.py +1 -1
  352. metadata/generated/schema/entity/datacontract/qualityValidation.py +1 -1
  353. metadata/generated/schema/entity/datacontract/schemaValidation.py +1 -1
  354. metadata/generated/schema/entity/datacontract/semanticsValidation.py +1 -1
  355. metadata/generated/schema/entity/datacontract/slaValidation.py +1 -1
  356. metadata/generated/schema/entity/docStore/__init__.py +1 -1
  357. metadata/generated/schema/entity/docStore/document.py +1 -1
  358. metadata/generated/schema/entity/domains/__init__.py +1 -1
  359. metadata/generated/schema/entity/domains/dataProduct.py +153 -2
  360. metadata/generated/schema/entity/domains/domain.py +1 -1
  361. metadata/generated/schema/entity/events/__init__.py +1 -1
  362. metadata/generated/schema/entity/events/notificationTemplate.py +111 -0
  363. metadata/generated/schema/entity/events/webhook.py +1 -1
  364. metadata/generated/schema/entity/feed/__init__.py +1 -1
  365. metadata/generated/schema/entity/feed/assets.py +1 -1
  366. metadata/generated/schema/entity/feed/customProperty.py +1 -1
  367. metadata/generated/schema/entity/feed/description.py +1 -1
  368. metadata/generated/schema/entity/feed/domain.py +1 -1
  369. metadata/generated/schema/entity/feed/entityInfo.py +1 -1
  370. metadata/generated/schema/entity/feed/owner.py +1 -1
  371. metadata/generated/schema/entity/feed/suggestion.py +1 -1
  372. metadata/generated/schema/entity/feed/tag.py +1 -1
  373. metadata/generated/schema/entity/feed/testCaseResult.py +1 -1
  374. metadata/generated/schema/entity/feed/thread.py +1 -1
  375. metadata/generated/schema/entity/policies/__init__.py +1 -1
  376. metadata/generated/schema/entity/policies/accessControl/__init__.py +1 -1
  377. metadata/generated/schema/entity/policies/accessControl/resourceDescriptor.py +1 -1
  378. metadata/generated/schema/entity/policies/accessControl/resourcePermission.py +1 -1
  379. metadata/generated/schema/entity/policies/accessControl/rule.py +1 -1
  380. metadata/generated/schema/entity/policies/filters.py +1 -1
  381. metadata/generated/schema/entity/policies/policy.py +1 -1
  382. metadata/generated/schema/entity/services/__init__.py +1 -1
  383. metadata/generated/schema/entity/services/apiService.py +1 -1
  384. metadata/generated/schema/entity/services/connections/__init__.py +1 -1
  385. metadata/generated/schema/entity/services/connections/api/__init__.py +1 -1
  386. metadata/generated/schema/entity/services/connections/api/restConnection.py +1 -1
  387. metadata/generated/schema/entity/services/connections/common/__init__.py +1 -1
  388. metadata/generated/schema/entity/services/connections/common/sslCertPaths.py +1 -1
  389. metadata/generated/schema/entity/services/connections/common/sslCertValues.py +1 -1
  390. metadata/generated/schema/entity/services/connections/common/sslConfig.py +1 -1
  391. metadata/generated/schema/entity/services/connections/connectionBasicType.py +1 -1
  392. metadata/generated/schema/entity/services/connections/dashboard/__init__.py +1 -1
  393. metadata/generated/schema/entity/services/connections/dashboard/customDashboardConnection.py +1 -1
  394. metadata/generated/schema/entity/services/connections/dashboard/domoDashboardConnection.py +1 -1
  395. metadata/generated/schema/entity/services/connections/dashboard/grafanaConnection.py +1 -1
  396. metadata/generated/schema/entity/services/connections/dashboard/lightdashConnection.py +1 -1
  397. metadata/generated/schema/entity/services/connections/dashboard/lookerConnection.py +1 -1
  398. metadata/generated/schema/entity/services/connections/dashboard/metabaseConnection.py +17 -4
  399. metadata/generated/schema/entity/services/connections/dashboard/microStrategyConnection.py +1 -1
  400. metadata/generated/schema/entity/services/connections/dashboard/modeConnection.py +1 -1
  401. metadata/generated/schema/entity/services/connections/dashboard/powerBIConnection.py +1 -1
  402. metadata/generated/schema/entity/services/connections/dashboard/powerBIReportServerConnection.py +1 -1
  403. metadata/generated/schema/entity/services/connections/dashboard/powerbi/__init__.py +1 -1
  404. metadata/generated/schema/entity/services/connections/dashboard/powerbi/azureConfig.py +1 -1
  405. metadata/generated/schema/entity/services/connections/dashboard/powerbi/bucketDetails.py +1 -1
  406. metadata/generated/schema/entity/services/connections/dashboard/powerbi/gcsConfig.py +1 -1
  407. metadata/generated/schema/entity/services/connections/dashboard/powerbi/s3Config.py +1 -1
  408. metadata/generated/schema/entity/services/connections/dashboard/qlikCloudConnection.py +1 -1
  409. metadata/generated/schema/entity/services/connections/dashboard/qlikSenseConnection.py +1 -1
  410. metadata/generated/schema/entity/services/connections/dashboard/quickSightConnection.py +1 -1
  411. metadata/generated/schema/entity/services/connections/dashboard/redashConnection.py +1 -1
  412. metadata/generated/schema/entity/services/connections/dashboard/sigmaConnection.py +1 -1
  413. metadata/generated/schema/entity/services/connections/dashboard/supersetConnection.py +1 -1
  414. metadata/generated/schema/entity/services/connections/dashboard/tableauConnection.py +1 -1
  415. metadata/generated/schema/entity/services/connections/dashboard/thoughtSpotConnection.py +1 -1
  416. metadata/generated/schema/entity/services/connections/database/__init__.py +1 -1
  417. metadata/generated/schema/entity/services/connections/database/athenaConnection.py +1 -1
  418. metadata/generated/schema/entity/services/connections/database/azureSQLConnection.py +1 -1
  419. metadata/generated/schema/entity/services/connections/database/bigQueryConnection.py +9 -1
  420. metadata/generated/schema/entity/services/connections/database/bigTableConnection.py +1 -1
  421. metadata/generated/schema/entity/services/connections/database/cassandra/__init__.py +1 -1
  422. metadata/generated/schema/entity/services/connections/database/cassandra/cloudConfig.py +1 -1
  423. metadata/generated/schema/entity/services/connections/database/cassandraConnection.py +1 -1
  424. metadata/generated/schema/entity/services/connections/database/clickhouseConnection.py +1 -1
  425. metadata/generated/schema/entity/services/connections/database/cockroachConnection.py +1 -1
  426. metadata/generated/schema/entity/services/connections/database/common/__init__.py +1 -1
  427. metadata/generated/schema/entity/services/connections/database/common/azureConfig.py +1 -1
  428. metadata/generated/schema/entity/services/connections/database/common/basicAuth.py +1 -1
  429. metadata/generated/schema/entity/services/connections/database/common/iamAuthConfig.py +1 -1
  430. metadata/generated/schema/entity/services/connections/database/common/jwtAuth.py +1 -1
  431. metadata/generated/schema/entity/services/connections/database/common/noConfigAuthenticationTypes.py +1 -1
  432. metadata/generated/schema/entity/services/connections/database/couchbaseConnection.py +1 -1
  433. metadata/generated/schema/entity/services/connections/database/customDatabaseConnection.py +1 -1
  434. metadata/generated/schema/entity/services/connections/database/databricks/__init__.py +3 -0
  435. metadata/generated/schema/entity/services/connections/database/databricks/azureAdSetup.py +37 -0
  436. metadata/generated/schema/entity/services/connections/database/databricks/databricksOAuth.py +30 -0
  437. metadata/generated/schema/entity/services/connections/database/databricks/personalAccessToken.py +23 -0
  438. metadata/generated/schema/entity/services/connections/database/databricksConnection.py +14 -6
  439. metadata/generated/schema/entity/services/connections/database/datalake/__init__.py +1 -1
  440. metadata/generated/schema/entity/services/connections/database/datalake/azureConfig.py +1 -1
  441. metadata/generated/schema/entity/services/connections/database/datalake/gcsConfig.py +1 -1
  442. metadata/generated/schema/entity/services/connections/database/datalake/s3Config.py +1 -1
  443. metadata/generated/schema/entity/services/connections/database/datalakeConnection.py +1 -1
  444. metadata/generated/schema/entity/services/connections/database/db2Connection.py +1 -1
  445. metadata/generated/schema/entity/services/connections/database/deltaLakeConnection.py +1 -1
  446. metadata/generated/schema/entity/services/connections/database/deltalake/__init__.py +1 -1
  447. metadata/generated/schema/entity/services/connections/database/deltalake/metastoreConfig.py +1 -1
  448. metadata/generated/schema/entity/services/connections/database/deltalake/storageConfig.py +1 -1
  449. metadata/generated/schema/entity/services/connections/database/domoDatabaseConnection.py +1 -1
  450. metadata/generated/schema/entity/services/connections/database/dorisConnection.py +1 -1
  451. metadata/generated/schema/entity/services/connections/database/druidConnection.py +1 -1
  452. metadata/generated/schema/entity/services/connections/database/dynamoDBConnection.py +1 -1
  453. metadata/generated/schema/entity/services/connections/database/epicConnection.py +1 -1
  454. metadata/generated/schema/entity/services/connections/database/exasolConnection.py +1 -1
  455. metadata/generated/schema/entity/services/connections/database/glueConnection.py +1 -1
  456. metadata/generated/schema/entity/services/connections/database/greenplumConnection.py +1 -1
  457. metadata/generated/schema/entity/services/connections/database/hiveConnection.py +1 -1
  458. metadata/generated/schema/entity/services/connections/database/iceberg/__init__.py +1 -1
  459. metadata/generated/schema/entity/services/connections/database/iceberg/dynamoDbCatalogConnection.py +1 -1
  460. metadata/generated/schema/entity/services/connections/database/iceberg/glueCatalogConnection.py +1 -1
  461. metadata/generated/schema/entity/services/connections/database/iceberg/hiveCatalogConnection.py +1 -1
  462. metadata/generated/schema/entity/services/connections/database/iceberg/icebergCatalog.py +1 -1
  463. metadata/generated/schema/entity/services/connections/database/iceberg/icebergFileSystem.py +1 -1
  464. metadata/generated/schema/entity/services/connections/database/iceberg/restCatalogConnection.py +1 -1
  465. metadata/generated/schema/entity/services/connections/database/icebergConnection.py +1 -1
  466. metadata/generated/schema/entity/services/connections/database/impalaConnection.py +1 -1
  467. metadata/generated/schema/entity/services/connections/database/mariaDBConnection.py +1 -1
  468. metadata/generated/schema/entity/services/connections/database/mongoDBConnection.py +1 -1
  469. metadata/generated/schema/entity/services/connections/database/mssqlConnection.py +1 -1
  470. metadata/generated/schema/entity/services/connections/database/mysqlConnection.py +1 -1
  471. metadata/generated/schema/entity/services/connections/database/oracleConnection.py +1 -1
  472. metadata/generated/schema/entity/services/connections/database/pinotDBConnection.py +1 -1
  473. metadata/generated/schema/entity/services/connections/database/postgresConnection.py +1 -1
  474. metadata/generated/schema/entity/services/connections/database/prestoConnection.py +1 -1
  475. metadata/generated/schema/entity/services/connections/database/redshiftConnection.py +1 -1
  476. metadata/generated/schema/entity/services/connections/database/salesforceConnection.py +1 -1
  477. metadata/generated/schema/entity/services/connections/database/sapErpConnection.py +1 -1
  478. metadata/generated/schema/entity/services/connections/database/sapHana/__init__.py +1 -1
  479. metadata/generated/schema/entity/services/connections/database/sapHana/sapHanaHDBConnection.py +1 -1
  480. metadata/generated/schema/entity/services/connections/database/sapHana/sapHanaSQLConnection.py +1 -1
  481. metadata/generated/schema/entity/services/connections/database/sapHanaConnection.py +1 -1
  482. metadata/generated/schema/entity/services/connections/database/sasConnection.py +1 -1
  483. metadata/generated/schema/entity/services/connections/database/serviceNowConnection.py +1 -1
  484. metadata/generated/schema/entity/services/connections/database/singleStoreConnection.py +1 -1
  485. metadata/generated/schema/entity/services/connections/database/snowflakeConnection.py +1 -1
  486. metadata/generated/schema/entity/services/connections/database/sqliteConnection.py +1 -1
  487. metadata/generated/schema/entity/services/connections/database/ssasConnection.py +1 -1
  488. metadata/generated/schema/entity/services/connections/database/synapseConnection.py +1 -1
  489. metadata/generated/schema/entity/services/connections/database/teradataConnection.py +1 -1
  490. metadata/generated/schema/entity/services/connections/database/timescaleConnection.py +162 -0
  491. metadata/generated/schema/entity/services/connections/database/trinoConnection.py +1 -1
  492. metadata/generated/schema/entity/services/connections/database/unityCatalogConnection.py +14 -6
  493. metadata/generated/schema/entity/services/connections/database/verticaConnection.py +1 -1
  494. metadata/generated/schema/entity/services/connections/drive/__init__.py +1 -1
  495. metadata/generated/schema/entity/services/connections/drive/customDriveConnection.py +34 -1
  496. metadata/generated/schema/entity/services/connections/drive/googleDriveConnection.py +34 -1
  497. metadata/generated/schema/entity/services/connections/drive/sharePointConnection.py +34 -1
  498. metadata/generated/schema/entity/services/connections/messaging/__init__.py +1 -1
  499. metadata/generated/schema/entity/services/connections/messaging/customMessagingConnection.py +1 -1
  500. metadata/generated/schema/entity/services/connections/messaging/kafkaConnection.py +1 -1
  501. metadata/generated/schema/entity/services/connections/messaging/kinesisConnection.py +1 -1
  502. metadata/generated/schema/entity/services/connections/messaging/pulsarConnection.py +1 -1
  503. metadata/generated/schema/entity/services/connections/messaging/redpandaConnection.py +1 -1
  504. metadata/generated/schema/entity/services/connections/messaging/saslMechanismType.py +1 -1
  505. metadata/generated/schema/entity/services/connections/metadata/__init__.py +1 -1
  506. metadata/generated/schema/entity/services/connections/metadata/alationConnection.py +1 -1
  507. metadata/generated/schema/entity/services/connections/metadata/alationSinkConnection.py +1 -1
  508. metadata/generated/schema/entity/services/connections/metadata/amundsenConnection.py +1 -1
  509. metadata/generated/schema/entity/services/connections/metadata/atlasConnection.py +1 -1
  510. metadata/generated/schema/entity/services/connections/metadata/metadataESConnection.py +1 -1
  511. metadata/generated/schema/entity/services/connections/metadata/openMetadataConnection.py +1 -1
  512. metadata/generated/schema/entity/services/connections/mlmodel/__init__.py +1 -1
  513. metadata/generated/schema/entity/services/connections/mlmodel/customMlModelConnection.py +1 -1
  514. metadata/generated/schema/entity/services/connections/mlmodel/mlflowConnection.py +1 -1
  515. metadata/generated/schema/entity/services/connections/mlmodel/sageMakerConnection.py +1 -1
  516. metadata/generated/schema/entity/services/connections/mlmodel/sklearnConnection.py +1 -1
  517. metadata/generated/schema/entity/services/connections/mlmodel/vertexaiConnection.py +1 -1
  518. metadata/generated/schema/entity/services/connections/pipeline/__init__.py +1 -1
  519. metadata/generated/schema/entity/services/connections/pipeline/airbyteConnection.py +1 -1
  520. metadata/generated/schema/entity/services/connections/pipeline/airflowConnection.py +1 -1
  521. metadata/generated/schema/entity/services/connections/pipeline/backendConnection.py +1 -1
  522. metadata/generated/schema/entity/services/connections/pipeline/customPipelineConnection.py +1 -1
  523. metadata/generated/schema/entity/services/connections/pipeline/dagsterConnection.py +1 -1
  524. metadata/generated/schema/entity/services/connections/pipeline/databricksPipelineConnection.py +1 -1
  525. metadata/generated/schema/entity/services/connections/pipeline/datafactoryConnection.py +1 -1
  526. metadata/generated/schema/entity/services/connections/pipeline/dbtCloudConnection.py +1 -1
  527. metadata/generated/schema/entity/services/connections/pipeline/domoPipelineConnection.py +1 -1
  528. metadata/generated/schema/entity/services/connections/pipeline/fivetranConnection.py +1 -1
  529. metadata/generated/schema/entity/services/connections/pipeline/flinkConnection.py +1 -1
  530. metadata/generated/schema/entity/services/connections/pipeline/gluePipelineConnection.py +1 -1
  531. metadata/generated/schema/entity/services/connections/pipeline/kafkaConnectConnection.py +1 -1
  532. metadata/generated/schema/entity/services/connections/pipeline/matillion/__init__.py +1 -1
  533. metadata/generated/schema/entity/services/connections/pipeline/matillion/matillionETL.py +1 -1
  534. metadata/generated/schema/entity/services/connections/pipeline/matillionConnection.py +1 -1
  535. metadata/generated/schema/entity/services/connections/pipeline/nifi/__init__.py +1 -1
  536. metadata/generated/schema/entity/services/connections/pipeline/nifi/basicAuth.py +1 -1
  537. metadata/generated/schema/entity/services/connections/pipeline/nifi/clientCertificateAuth.py +1 -1
  538. metadata/generated/schema/entity/services/connections/pipeline/nifiConnection.py +1 -1
  539. metadata/generated/schema/entity/services/connections/pipeline/openLineageConnection.py +1 -1
  540. metadata/generated/schema/entity/services/connections/pipeline/snowplowConnection.py +93 -0
  541. metadata/generated/schema/entity/services/connections/pipeline/sparkConnection.py +1 -1
  542. metadata/generated/schema/entity/services/connections/pipeline/splineConnection.py +1 -1
  543. metadata/generated/schema/entity/services/connections/pipeline/ssisConnection.py +1 -1
  544. metadata/generated/schema/entity/services/connections/pipeline/stitchConnection.py +1 -1
  545. metadata/generated/schema/entity/services/connections/pipeline/wherescapeConnection.py +1 -1
  546. metadata/generated/schema/entity/services/connections/search/__init__.py +1 -1
  547. metadata/generated/schema/entity/services/connections/search/customSearchConnection.py +1 -1
  548. metadata/generated/schema/entity/services/connections/search/elasticSearch/__init__.py +1 -1
  549. metadata/generated/schema/entity/services/connections/search/elasticSearch/apiAuth.py +1 -1
  550. metadata/generated/schema/entity/services/connections/search/elasticSearch/basicAuth.py +1 -1
  551. metadata/generated/schema/entity/services/connections/search/elasticSearchConnection.py +1 -1
  552. metadata/generated/schema/entity/services/connections/search/openSearchConnection.py +1 -1
  553. metadata/generated/schema/entity/services/connections/security/__init__.py +1 -1
  554. metadata/generated/schema/entity/services/connections/security/ranger/__init__.py +1 -1
  555. metadata/generated/schema/entity/services/connections/security/ranger/basicAuth.py +1 -1
  556. metadata/generated/schema/entity/services/connections/security/rangerConnection.py +1 -1
  557. metadata/generated/schema/entity/services/connections/serviceConnection.py +1 -1
  558. metadata/generated/schema/entity/services/connections/storage/__init__.py +1 -1
  559. metadata/generated/schema/entity/services/connections/storage/adlsConnection.py +1 -1
  560. metadata/generated/schema/entity/services/connections/storage/customStorageConnection.py +1 -1
  561. metadata/generated/schema/entity/services/connections/storage/gcsConnection.py +1 -1
  562. metadata/generated/schema/entity/services/connections/storage/s3Connection.py +1 -1
  563. metadata/generated/schema/entity/services/connections/testConnectionDefinition.py +1 -1
  564. metadata/generated/schema/entity/services/connections/testConnectionResult.py +1 -1
  565. metadata/generated/schema/entity/services/dashboardService.py +1 -1
  566. metadata/generated/schema/entity/services/databaseService.py +4 -1
  567. metadata/generated/schema/entity/services/driveService.py +1 -1
  568. metadata/generated/schema/entity/services/ingestionPipelines/__init__.py +1 -1
  569. metadata/generated/schema/entity/services/ingestionPipelines/ingestionPipeline.py +8 -1
  570. metadata/generated/schema/entity/services/ingestionPipelines/pipelineServiceClientResponse.py +1 -1
  571. metadata/generated/schema/entity/services/ingestionPipelines/reverseIngestionResponse.py +1 -1
  572. metadata/generated/schema/entity/services/ingestionPipelines/status.py +1 -1
  573. metadata/generated/schema/entity/services/messagingService.py +1 -1
  574. metadata/generated/schema/entity/services/metadataService.py +1 -1
  575. metadata/generated/schema/entity/services/mlmodelService.py +1 -1
  576. metadata/generated/schema/entity/services/pipelineService.py +4 -1
  577. metadata/generated/schema/entity/services/searchService.py +1 -1
  578. metadata/generated/schema/entity/services/securityService.py +1 -1
  579. metadata/generated/schema/entity/services/serviceType.py +1 -1
  580. metadata/generated/schema/entity/services/storageService.py +1 -1
  581. metadata/generated/schema/entity/teams/__init__.py +1 -1
  582. metadata/generated/schema/entity/teams/persona.py +1 -1
  583. metadata/generated/schema/entity/teams/role.py +1 -1
  584. metadata/generated/schema/entity/teams/team.py +1 -1
  585. metadata/generated/schema/entity/teams/teamHierarchy.py +1 -1
  586. metadata/generated/schema/entity/teams/user.py +1 -1
  587. metadata/generated/schema/entity/type.py +1 -1
  588. metadata/generated/schema/entity/utils/__init__.py +1 -1
  589. metadata/generated/schema/entity/utils/entitiesCount.py +1 -1
  590. metadata/generated/schema/entity/utils/servicesCount.py +1 -1
  591. metadata/generated/schema/entity/utils/supersetApiConnection.py +1 -1
  592. metadata/generated/schema/events/__init__.py +1 -1
  593. metadata/generated/schema/events/alertMetrics.py +1 -1
  594. metadata/generated/schema/events/api/__init__.py +1 -1
  595. metadata/generated/schema/events/api/createEventSubscription.py +1 -1
  596. metadata/generated/schema/events/api/eventSubscriptionDiagnosticInfo.py +1 -1
  597. metadata/generated/schema/events/api/eventsRecord.py +1 -1
  598. metadata/generated/schema/events/api/testEventSubscriptionDestination.py +1 -1
  599. metadata/generated/schema/events/api/typedEvent.py +1 -1
  600. metadata/generated/schema/events/emailAlertConfig.py +1 -1
  601. metadata/generated/schema/events/eventFilterRule.py +1 -1
  602. metadata/generated/schema/events/eventSubscription.py +16 -1
  603. metadata/generated/schema/events/eventSubscriptionOffset.py +1 -1
  604. metadata/generated/schema/events/failedEvent.py +1 -1
  605. metadata/generated/schema/events/failedEventResponse.py +1 -1
  606. metadata/generated/schema/events/filterResourceDescriptor.py +1 -1
  607. metadata/generated/schema/events/statusContext.py +1 -1
  608. metadata/generated/schema/events/subscriptionResourceDescriptor.py +1 -1
  609. metadata/generated/schema/events/subscriptionStatus.py +1 -1
  610. metadata/generated/schema/events/testDestinationStatus.py +1 -1
  611. metadata/generated/schema/governance/workflows/__init__.py +1 -1
  612. metadata/generated/schema/governance/workflows/elements/__init__.py +1 -1
  613. metadata/generated/schema/governance/workflows/elements/edge.py +1 -1
  614. metadata/generated/schema/governance/workflows/elements/nodeSubType.py +1 -1
  615. metadata/generated/schema/governance/workflows/elements/nodeType.py +1 -1
  616. metadata/generated/schema/governance/workflows/elements/nodes/__init__.py +1 -1
  617. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/__init__.py +1 -1
  618. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/checkEntityAttributesTask.py +1 -1
  619. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/createAndRunIngestionPipelineTask.py +1 -1
  620. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/runAppTask.py +1 -1
  621. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/setEntityCertificationTask.py +1 -1
  622. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/setGlossaryTermStatusTask.py +11 -12
  623. metadata/generated/schema/governance/workflows/elements/nodes/endEvent/__init__.py +1 -1
  624. metadata/generated/schema/governance/workflows/elements/nodes/endEvent/endEvent.py +1 -1
  625. metadata/generated/schema/governance/workflows/elements/nodes/gateway/__init__.py +1 -1
  626. metadata/generated/schema/governance/workflows/elements/nodes/gateway/parallelGateway.py +1 -1
  627. metadata/generated/schema/governance/workflows/elements/nodes/startEvent/__init__.py +1 -1
  628. metadata/generated/schema/governance/workflows/elements/nodes/startEvent/startEvent.py +1 -1
  629. metadata/generated/schema/governance/workflows/elements/nodes/userTask/__init__.py +1 -1
  630. metadata/generated/schema/governance/workflows/elements/nodes/userTask/userApprovalTask.py +1 -1
  631. metadata/generated/schema/governance/workflows/elements/triggers/__init__.py +1 -1
  632. metadata/generated/schema/governance/workflows/elements/triggers/eventBasedEntityTrigger.py +1 -1
  633. metadata/generated/schema/governance/workflows/elements/triggers/noOpTrigger.py +1 -1
  634. metadata/generated/schema/governance/workflows/elements/triggers/periodicBatchEntityTrigger.py +1 -1
  635. metadata/generated/schema/governance/workflows/workflowDefinition.py +1 -1
  636. metadata/generated/schema/governance/workflows/workflowInstance.py +1 -1
  637. metadata/generated/schema/governance/workflows/workflowInstanceState.py +1 -1
  638. metadata/generated/schema/jobs/__init__.py +1 -1
  639. metadata/generated/schema/jobs/backgroundJob.py +1 -1
  640. metadata/generated/schema/jobs/enumCleanupArgs.py +1 -1
  641. metadata/generated/schema/metadataIngestion/__init__.py +1 -1
  642. metadata/generated/schema/metadataIngestion/apiServiceMetadataPipeline.py +1 -1
  643. metadata/generated/schema/metadataIngestion/application.py +8 -1
  644. metadata/generated/schema/metadataIngestion/applicationPipeline.py +1 -1
  645. metadata/generated/schema/metadataIngestion/dashboardServiceMetadataPipeline.py +1 -1
  646. metadata/generated/schema/metadataIngestion/dataInsightPipeline.py +1 -1
  647. metadata/generated/schema/metadataIngestion/databaseServiceAutoClassificationPipeline.py +1 -1
  648. metadata/generated/schema/metadataIngestion/databaseServiceMetadataPipeline.py +1 -1
  649. metadata/generated/schema/metadataIngestion/databaseServiceProfilerPipeline.py +1 -1
  650. metadata/generated/schema/metadataIngestion/databaseServiceQueryLineagePipeline.py +1 -1
  651. metadata/generated/schema/metadataIngestion/databaseServiceQueryUsagePipeline.py +1 -1
  652. metadata/generated/schema/metadataIngestion/dbtPipeline.py +1 -1
  653. metadata/generated/schema/metadataIngestion/dbtconfig/__init__.py +1 -1
  654. metadata/generated/schema/metadataIngestion/dbtconfig/dbtAzureConfig.py +1 -1
  655. metadata/generated/schema/metadataIngestion/dbtconfig/dbtBucketDetails.py +1 -1
  656. metadata/generated/schema/metadataIngestion/dbtconfig/dbtCloudConfig.py +1 -1
  657. metadata/generated/schema/metadataIngestion/dbtconfig/dbtGCSConfig.py +1 -1
  658. metadata/generated/schema/metadataIngestion/dbtconfig/dbtHttpConfig.py +1 -1
  659. metadata/generated/schema/metadataIngestion/dbtconfig/dbtLocalConfig.py +1 -1
  660. metadata/generated/schema/metadataIngestion/dbtconfig/dbtS3Config.py +1 -1
  661. metadata/generated/schema/metadataIngestion/driveServiceMetadataPipeline.py +1 -1
  662. metadata/generated/schema/metadataIngestion/engine/__init__.py +1 -1
  663. metadata/generated/schema/metadataIngestion/engine/nativeEngineConfig.py +1 -1
  664. metadata/generated/schema/metadataIngestion/engine/sparkEngineConfig.py +1 -1
  665. metadata/generated/schema/metadataIngestion/messagingServiceMetadataPipeline.py +1 -1
  666. metadata/generated/schema/metadataIngestion/metadataToElasticSearchPipeline.py +1 -1
  667. metadata/generated/schema/metadataIngestion/mlmodelServiceMetadataPipeline.py +29 -2
  668. metadata/generated/schema/metadataIngestion/pipelineServiceMetadataPipeline.py +1 -1
  669. metadata/generated/schema/metadataIngestion/reverseIngestionPipeline.py +1 -1
  670. metadata/generated/schema/metadataIngestion/reverseingestionconfig/__init__.py +1 -1
  671. metadata/generated/schema/metadataIngestion/reverseingestionconfig/descriptionConfig.py +1 -1
  672. metadata/generated/schema/metadataIngestion/reverseingestionconfig/ownerConfig.py +1 -1
  673. metadata/generated/schema/metadataIngestion/reverseingestionconfig/tagsConfig.py +1 -1
  674. metadata/generated/schema/metadataIngestion/searchServiceMetadataPipeline.py +1 -1
  675. metadata/generated/schema/metadataIngestion/securityServiceMetadataPipeline.py +1 -1
  676. metadata/generated/schema/metadataIngestion/storage/__init__.py +1 -1
  677. metadata/generated/schema/metadataIngestion/storage/containerMetadataConfig.py +1 -1
  678. metadata/generated/schema/metadataIngestion/storage/manifestMetadataConfig.py +1 -1
  679. metadata/generated/schema/metadataIngestion/storage/storageBucketDetails.py +1 -1
  680. metadata/generated/schema/metadataIngestion/storage/storageMetadataADLSConfig.py +1 -1
  681. metadata/generated/schema/metadataIngestion/storage/storageMetadataGCSConfig.py +1 -1
  682. metadata/generated/schema/metadataIngestion/storage/storageMetadataHttpConfig.py +1 -1
  683. metadata/generated/schema/metadataIngestion/storage/storageMetadataLocalConfig.py +1 -1
  684. metadata/generated/schema/metadataIngestion/storage/storageMetadataS3Config.py +1 -1
  685. metadata/generated/schema/metadataIngestion/storageServiceMetadataPipeline.py +1 -1
  686. metadata/generated/schema/metadataIngestion/testSuitePipeline.py +1 -1
  687. metadata/generated/schema/metadataIngestion/workflow.py +8 -1
  688. metadata/generated/schema/monitoring/__init__.py +1 -1
  689. metadata/generated/schema/monitoring/eventMonitorProvider.py +1 -1
  690. metadata/generated/schema/scim/__init__.py +1 -1
  691. metadata/generated/schema/scim/scimConfiguration.py +1 -1
  692. metadata/generated/schema/search/__init__.py +1 -1
  693. metadata/generated/schema/search/aggregationRequest.py +1 -1
  694. metadata/generated/schema/search/searchRequest.py +8 -1
  695. metadata/generated/schema/security/__init__.py +1 -1
  696. metadata/generated/schema/security/client/__init__.py +1 -1
  697. metadata/generated/schema/security/client/auth0SSOClientConfig.py +1 -1
  698. metadata/generated/schema/security/client/azureSSOClientConfig.py +1 -1
  699. metadata/generated/schema/security/client/customOidcSSOClientConfig.py +1 -1
  700. metadata/generated/schema/security/client/googleSSOClientConfig.py +1 -1
  701. metadata/generated/schema/security/client/oidcClientConfig.py +6 -10
  702. metadata/generated/schema/security/client/oktaSSOClientConfig.py +1 -1
  703. metadata/generated/schema/security/client/openMetadataJWTClientConfig.py +1 -1
  704. metadata/generated/schema/security/client/samlSSOClientConfig.py +6 -6
  705. metadata/generated/schema/security/credentials/__init__.py +1 -1
  706. metadata/generated/schema/security/credentials/accessTokenAuth.py +1 -1
  707. metadata/generated/schema/security/credentials/apiAccessTokenAuth.py +1 -1
  708. metadata/generated/schema/security/credentials/awsCredentials.py +1 -1
  709. metadata/generated/schema/security/credentials/azureCredentials.py +1 -1
  710. metadata/generated/schema/security/credentials/basicAuth.py +1 -1
  711. metadata/generated/schema/security/credentials/bitbucketCredentials.py +1 -1
  712. metadata/generated/schema/security/credentials/gcpCredentials.py +1 -1
  713. metadata/generated/schema/security/credentials/gcpExternalAccount.py +1 -1
  714. metadata/generated/schema/security/credentials/gcpValues.py +1 -1
  715. metadata/generated/schema/security/credentials/gitCredentials.py +1 -1
  716. metadata/generated/schema/security/credentials/githubCredentials.py +1 -1
  717. metadata/generated/schema/security/credentials/gitlabCredentials.py +1 -1
  718. metadata/generated/schema/security/credentials/kubernetesCredentials.py +1 -1
  719. metadata/generated/schema/security/sasl/__init__.py +1 -1
  720. metadata/generated/schema/security/sasl/saslClientConfig.py +1 -1
  721. metadata/generated/schema/security/secrets/__init__.py +1 -1
  722. metadata/generated/schema/security/secrets/secretsManagerClientLoader.py +1 -1
  723. metadata/generated/schema/security/secrets/secretsManagerConfiguration.py +1 -1
  724. metadata/generated/schema/security/secrets/secretsManagerProvider.py +1 -1
  725. metadata/generated/schema/security/securityConfiguration.py +1 -1
  726. metadata/generated/schema/security/ssl/__init__.py +1 -1
  727. metadata/generated/schema/security/ssl/validateSSLClientConfig.py +1 -1
  728. metadata/generated/schema/security/ssl/verifySSLConfig.py +1 -1
  729. metadata/generated/schema/settings/__init__.py +1 -1
  730. metadata/generated/schema/settings/settings.py +5 -2
  731. metadata/generated/schema/system/__init__.py +1 -1
  732. metadata/generated/schema/system/entityError.py +1 -1
  733. metadata/generated/schema/system/eventPublisherJob.py +1 -1
  734. metadata/generated/schema/system/indexingError.py +1 -1
  735. metadata/generated/schema/system/limitsResponse.py +1 -1
  736. metadata/generated/schema/system/securityValidationResponse.py +62 -0
  737. metadata/generated/schema/system/ui/__init__.py +1 -1
  738. metadata/generated/schema/system/ui/knowledgePanel.py +1 -1
  739. metadata/generated/schema/system/ui/navigationItem.py +1 -1
  740. metadata/generated/schema/system/ui/page.py +5 -1
  741. metadata/generated/schema/system/ui/tab.py +1 -1
  742. metadata/generated/schema/system/ui/uiCustomization.py +1 -1
  743. metadata/generated/schema/system/validationResponse.py +8 -1
  744. metadata/generated/schema/tests/__init__.py +1 -1
  745. metadata/generated/schema/tests/assigned.py +1 -1
  746. metadata/generated/schema/tests/basic.py +1 -1
  747. metadata/generated/schema/tests/customMetric.py +1 -1
  748. metadata/generated/schema/tests/dataQualityReport.py +1 -1
  749. metadata/generated/schema/tests/resolved.py +1 -1
  750. metadata/generated/schema/tests/testCase.py +26 -2
  751. metadata/generated/schema/tests/testCaseResolutionStatus.py +1 -1
  752. metadata/generated/schema/tests/testDefinition.py +1 -1
  753. metadata/generated/schema/tests/testSuite.py +5 -1
  754. metadata/generated/schema/type/__init__.py +1 -1
  755. metadata/generated/schema/type/apiSchema.py +1 -1
  756. metadata/generated/schema/type/assetCertification.py +1 -1
  757. metadata/generated/schema/type/auditLog.py +1 -1
  758. metadata/generated/schema/type/basic.py +9 -1
  759. metadata/generated/schema/type/bulkOperationResult.py +1 -1
  760. metadata/generated/schema/type/changeEvent.py +1 -1
  761. metadata/generated/schema/type/changeEventType.py +1 -1
  762. metadata/generated/schema/type/changeSummaryMap.py +1 -1
  763. metadata/generated/schema/type/collectionDescriptor.py +1 -1
  764. metadata/generated/schema/type/contextRecognizer.py +50 -0
  765. metadata/generated/schema/type/contractExecutionStatus.py +1 -1
  766. metadata/generated/schema/type/csvDocumentation.py +1 -1
  767. metadata/generated/schema/type/csvErrorType.py +1 -1
  768. metadata/generated/schema/type/csvFile.py +1 -1
  769. metadata/generated/schema/type/csvImportResult.py +1 -1
  770. metadata/generated/schema/type/customProperties/__init__.py +1 -1
  771. metadata/generated/schema/type/customProperties/complexTypes.py +1 -1
  772. metadata/generated/schema/type/customProperties/enumConfig.py +1 -1
  773. metadata/generated/schema/type/customProperties/tableConfig.py +1 -1
  774. metadata/generated/schema/type/customProperty.py +1 -1
  775. metadata/generated/schema/type/customRecognizer.py +39 -0
  776. metadata/generated/schema/type/dailyCount.py +1 -1
  777. metadata/generated/schema/type/databaseConnectionConfig.py +1 -1
  778. metadata/generated/schema/type/denyListRecognizer.py +37 -0
  779. metadata/generated/schema/type/entityHierarchy.py +1 -1
  780. metadata/generated/schema/type/entityHistory.py +1 -1
  781. metadata/generated/schema/type/entityLineage.py +1 -1
  782. metadata/generated/schema/type/entityProfile.py +1 -1
  783. metadata/generated/schema/type/entityReference.py +1 -1
  784. metadata/generated/schema/type/entityReferenceList.py +1 -1
  785. metadata/generated/schema/type/entityRelationship/__init__.py +1 -1
  786. metadata/generated/schema/type/entityRelationship/nodeInformation.py +1 -1
  787. metadata/generated/schema/type/entityUsage.py +1 -1
  788. metadata/generated/schema/type/filterPattern.py +1 -1
  789. metadata/generated/schema/type/function.py +1 -1
  790. metadata/generated/schema/type/include.py +1 -1
  791. metadata/generated/schema/type/jdbcConnection.py +1 -1
  792. metadata/generated/schema/type/layerPaging.py +1 -1
  793. metadata/generated/schema/type/lifeCycle.py +1 -1
  794. metadata/generated/schema/type/paging.py +1 -1
  795. metadata/generated/schema/type/patternRecognizer.py +39 -0
  796. metadata/generated/schema/type/personaPreferences.py +1 -1
  797. metadata/generated/schema/type/piiEntity.py +48 -0
  798. metadata/generated/schema/type/predefinedRecognizer.py +85 -0
  799. metadata/generated/schema/type/profile.py +1 -1
  800. metadata/generated/schema/type/queryParserData.py +1 -1
  801. metadata/generated/schema/type/reaction.py +1 -1
  802. metadata/generated/schema/type/recognizer.py +159 -0
  803. metadata/generated/schema/type/recognizerFeedback.py +120 -0
  804. metadata/generated/schema/type/recognizers/__init__.py +3 -0
  805. metadata/generated/schema/type/recognizers/patterns.py +29 -0
  806. metadata/generated/schema/type/recognizers/regexFlags.py +29 -0
  807. metadata/generated/schema/type/schedule.py +1 -1
  808. metadata/generated/schema/type/schema.py +1 -1
  809. metadata/generated/schema/type/status.py +16 -0
  810. metadata/generated/schema/type/tableQuery.py +1 -1
  811. metadata/generated/schema/type/tableUsageCount.py +1 -1
  812. metadata/generated/schema/type/tagLabel.py +8 -1
  813. metadata/generated/schema/type/usageDetails.py +1 -1
  814. metadata/generated/schema/type/usageRequest.py +1 -1
  815. metadata/generated/schema/type/votes.py +1 -1
  816. metadata/ingestion/models/patch_request.py +2 -0
  817. metadata/ingestion/ometa/client.py +2 -2
  818. metadata/ingestion/ometa/mixins/csv_mixin.py +180 -0
  819. metadata/ingestion/ometa/mixins/ingestion_pipeline_mixin.py +26 -0
  820. metadata/ingestion/ometa/mixins/logs_mixin.py +336 -0
  821. metadata/ingestion/ometa/mixins/patch_mixin.py +23 -9
  822. metadata/ingestion/ometa/ometa_api.py +20 -1
  823. metadata/ingestion/ometa/routes.py +3 -0
  824. metadata/ingestion/source/dashboard/domodashboard/metadata.py +19 -9
  825. metadata/ingestion/source/dashboard/looker/metadata.py +4 -0
  826. metadata/ingestion/source/dashboard/metabase/client.py +31 -9
  827. metadata/ingestion/source/dashboard/metabase/metadata.py +4 -0
  828. metadata/ingestion/source/dashboard/powerbi/metadata.py +70 -226
  829. metadata/ingestion/source/dashboard/redash/metadata.py +4 -0
  830. metadata/ingestion/source/dashboard/sigma/metadata.py +4 -0
  831. metadata/ingestion/source/dashboard/superset/api_source.py +2 -0
  832. metadata/ingestion/source/dashboard/superset/db_source.py +2 -0
  833. metadata/ingestion/source/dashboard/superset/mixin.py +2 -0
  834. metadata/ingestion/source/dashboard/tableau/client.py +21 -10
  835. metadata/ingestion/source/dashboard/tableau/metadata.py +7 -1
  836. metadata/ingestion/source/database/bigquery/connection.py +4 -0
  837. metadata/ingestion/source/database/bigquery/metadata.py +39 -26
  838. metadata/ingestion/source/database/column_type_parser.py +1 -1
  839. metadata/ingestion/source/database/common_pg_mappings.py +7 -0
  840. metadata/ingestion/source/database/databricks/auth.py +99 -0
  841. metadata/ingestion/source/database/databricks/client.py +7 -2
  842. metadata/ingestion/source/database/databricks/connection.py +63 -5
  843. metadata/ingestion/source/database/databricks/queries.py +61 -0
  844. metadata/ingestion/source/database/mariadb/metadata.py +86 -1
  845. metadata/ingestion/source/database/mariadb/models.py +36 -0
  846. metadata/ingestion/source/database/mariadb/queries.py +43 -0
  847. metadata/ingestion/source/database/oracle/connection.py +4 -0
  848. metadata/ingestion/source/database/oracle/queries.py +18 -0
  849. metadata/ingestion/source/database/postgres/connection.py +6 -0
  850. metadata/ingestion/source/database/postgres/queries.py +22 -0
  851. metadata/ingestion/source/database/sample_data.py +24 -8
  852. metadata/ingestion/source/database/snowflake/lineage.py +21 -44
  853. metadata/ingestion/source/database/snowflake/queries.py +0 -2
  854. metadata/ingestion/source/database/snowflake/query_parser.py +2 -12
  855. metadata/ingestion/source/database/snowflake/usage.py +0 -97
  856. metadata/ingestion/source/database/timescale/__init__.py +3 -0
  857. metadata/ingestion/source/database/timescale/connection.py +103 -0
  858. metadata/ingestion/source/database/timescale/lineage.py +124 -0
  859. metadata/ingestion/source/database/timescale/metadata.py +228 -0
  860. metadata/ingestion/source/database/timescale/models.py +60 -0
  861. metadata/ingestion/source/database/timescale/queries.py +96 -0
  862. metadata/ingestion/source/database/timescale/query_parser.py +106 -0
  863. metadata/ingestion/source/database/timescale/service_spec.py +12 -0
  864. metadata/ingestion/source/database/timescale/usage.py +43 -0
  865. metadata/ingestion/source/database/timescale/utils.py +545 -0
  866. metadata/ingestion/source/database/unitycatalog/client.py +35 -1
  867. metadata/ingestion/source/database/unitycatalog/connection.py +36 -4
  868. metadata/ingestion/source/database/unitycatalog/lineage.py +5 -179
  869. metadata/ingestion/source/database/unitycatalog/models.py +2 -18
  870. metadata/ingestion/source/messaging/kafka/connection.py +13 -4
  871. metadata/ingestion/source/metadata/amundsen/client.py +6 -6
  872. metadata/ingestion/source/mlmodel/mlmodel_service.py +75 -1
  873. metadata/ingestion/source/pipeline/kafkaconnect/client.py +30 -318
  874. metadata/ingestion/source/pipeline/kafkaconnect/metadata.py +16 -546
  875. metadata/ingestion/source/pipeline/kafkaconnect/models.py +1 -32
  876. metadata/ingestion/source/search/elasticsearch/connection.py +1 -1
  877. metadata/ingestion/source/storage/s3/metadata.py +2 -9
  878. metadata/parsers/json_schema_parser.py +1 -41
  879. metadata/pii/algorithms/classifiers.py +63 -1
  880. metadata/pii/algorithms/presidio_recognizer_factory.py +302 -0
  881. metadata/pii/algorithms/presidio_utils.py +38 -10
  882. metadata/pii/algorithms/utils.py +4 -0
  883. metadata/pii/base_processor.py +2 -1
  884. metadata/pii/processor.py +10 -4
  885. metadata/pii/processor_factory.py +28 -0
  886. metadata/pii/scanners/custom_ner_scanner.py +290 -0
  887. metadata/pii/tag_analyzer.py +124 -0
  888. metadata/pii/tag_processor.py +100 -0
  889. metadata/profiler/metrics/hybrid/cardinality_distribution.py +232 -0
  890. metadata/profiler/metrics/hybrid/histogram.py +1 -1
  891. metadata/profiler/metrics/registry.py +4 -0
  892. metadata/profiler/orm/converter/converter_registry.py +2 -0
  893. metadata/profiler/orm/converter/trino/__init__.py +14 -0
  894. metadata/profiler/orm/converter/trino/converter.py +39 -0
  895. metadata/profiler/orm/functions/conn_test.py +5 -0
  896. metadata/profiler/orm/registry.py +6 -0
  897. metadata/profiler/orm/types/__init__.py +10 -0
  898. metadata/profiler/orm/types/trino.py +70 -0
  899. metadata/profiler/processor/default.py +1 -0
  900. metadata/sdk/__init__.py +188 -0
  901. metadata/sdk/api/__init__.py +7 -0
  902. metadata/sdk/api/lineage.py +421 -0
  903. metadata/sdk/api/search.py +382 -0
  904. metadata/sdk/client.py +91 -0
  905. metadata/sdk/config.py +121 -0
  906. metadata/sdk/entities/__init__.py +64 -0
  907. metadata/sdk/entities/apicollections.py +19 -0
  908. metadata/sdk/entities/apiendpoints.py +19 -0
  909. metadata/sdk/entities/base.py +487 -0
  910. metadata/sdk/entities/charts.py +17 -0
  911. metadata/sdk/entities/classifications.py +21 -0
  912. metadata/sdk/entities/containers.py +17 -0
  913. metadata/sdk/entities/custom_properties.py +144 -0
  914. metadata/sdk/entities/dashboard_services.py +18 -0
  915. metadata/sdk/entities/dashboarddatamodels.py +21 -0
  916. metadata/sdk/entities/dashboards.py +17 -0
  917. metadata/sdk/entities/database_services.py +18 -0
  918. metadata/sdk/entities/databases.py +17 -0
  919. metadata/sdk/entities/databaseschemas.py +19 -0
  920. metadata/sdk/entities/datacontracts.py +19 -0
  921. metadata/sdk/entities/dataproducts.py +19 -0
  922. metadata/sdk/entities/domains.py +17 -0
  923. metadata/sdk/entities/glossaries.py +17 -0
  924. metadata/sdk/entities/glossary_terms.py +18 -0
  925. metadata/sdk/entities/glossaryterms.py +19 -0
  926. metadata/sdk/entities/metrics.py +49 -0
  927. metadata/sdk/entities/mlmodels.py +17 -0
  928. metadata/sdk/entities/pipelines.py +17 -0
  929. metadata/sdk/entities/queries.py +17 -0
  930. metadata/sdk/entities/searchindexes.py +19 -0
  931. metadata/sdk/entities/storedprocedures.py +19 -0
  932. metadata/sdk/entities/tables.py +68 -0
  933. metadata/sdk/entities/tags.py +17 -0
  934. metadata/sdk/entities/teams.py +17 -0
  935. metadata/sdk/entities/testcases.py +17 -0
  936. metadata/sdk/entities/testdefinitions.py +19 -0
  937. metadata/sdk/entities/testsuites.py +17 -0
  938. metadata/sdk/entities/users.py +17 -0
  939. metadata/sdk/examples/builder_end_to_end.py +387 -0
  940. metadata/sdk/types.py +15 -0
  941. metadata/utils/deprecation.py +9 -6
  942. metadata/utils/elasticsearch.py +3 -0
  943. metadata/utils/fqn.py +18 -2
  944. metadata/utils/importer.py +3 -2
  945. metadata/utils/logger.py +10 -0
  946. metadata/utils/sqa_utils.py +3 -0
  947. metadata/utils/streamable_logger.py +525 -0
  948. metadata/workflow/base.py +26 -1
  949. metadata/workflow/classification.py +2 -2
  950. metadata/workflow/workflow_status_mixin.py +1 -1
  951. {openmetadata_ingestion-1.9.13.0.dist-info → openmetadata_ingestion-1.10.1.0.dist-info}/METADATA +549 -549
  952. {openmetadata_ingestion-1.9.13.0.dist-info → openmetadata_ingestion-1.10.1.0.dist-info}/RECORD +956 -855
  953. metadata/examples/workflows/confluent_cdc.yaml +0 -70
  954. metadata/examples/workflows/confluent_cdc_cloud.yaml +0 -86
  955. metadata/examples/workflows/confluent_cdc_local.yaml +0 -120
  956. metadata/examples/workflows/my_confluent_cloud.yaml +0 -49
  957. {openmetadata_ingestion-1.9.13.0.dist-info → openmetadata_ingestion-1.10.1.0.dist-info}/LICENSE +0 -0
  958. {openmetadata_ingestion-1.9.13.0.dist-info → openmetadata_ingestion-1.10.1.0.dist-info}/WHEEL +0 -0
  959. {openmetadata_ingestion-1.9.13.0.dist-info → openmetadata_ingestion-1.10.1.0.dist-info}/entry_points.txt +0 -0
  960. {openmetadata_ingestion-1.9.13.0.dist-info → openmetadata_ingestion-1.10.1.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,487 @@
1
+ """Lightweight, typed helpers for entity CRUD operations in the SDK."""
2
+ from __future__ import annotations
3
+
4
+ from dataclasses import dataclass, field
5
+ from typing import (
6
+ Any,
7
+ Callable,
8
+ ClassVar,
9
+ Dict,
10
+ Generic,
11
+ List,
12
+ Mapping,
13
+ Optional,
14
+ Sequence,
15
+ Type,
16
+ TypeVar,
17
+ Union,
18
+ cast,
19
+ )
20
+
21
+ from metadata.generated.schema.type.basic import FullyQualifiedEntityName
22
+ from metadata.ingestion.models.custom_pydantic import BaseModel
23
+ from metadata.sdk.client import OpenMetadata
24
+ from metadata.sdk.types import JsonDict, OMetaClient, UuidLike
25
+
26
+ TCreate = TypeVar("TCreate", bound=BaseModel) # pylint: disable=invalid-name
27
+ TEntity = TypeVar("TEntity", bound=BaseModel) # pylint: disable=invalid-name
28
+
29
+
30
+ @dataclass
31
+ class EntityList(Generic[TEntity]):
32
+ """Simple typed container for paginated responses."""
33
+
34
+ entities: Sequence[TEntity]
35
+ after: Optional[str] = None
36
+ before: Optional[str] = None
37
+
38
+
39
+ @dataclass
40
+ class CsvExportOperation(Generic[TEntity]):
41
+ """Stateful helper that performs synchronous or async CSV exports."""
42
+
43
+ client: OMetaClient
44
+ entity: Type[TEntity]
45
+ name: str
46
+ async_enabled: bool = field(default=False, init=False)
47
+
48
+ def with_async(self) -> "CsvExportOperation[TEntity]":
49
+ """Enable async execution mode (metadata only, retained for fluent API)."""
50
+ self.async_enabled = True
51
+ return self
52
+
53
+ def execute(self) -> Any:
54
+ return cast(Any, self.client).export_csv(entity=self.entity, name=self.name)
55
+
56
+ def execute_async(self) -> Any:
57
+ export_async = getattr(self.client, "export_csv_async", None)
58
+ if not callable(export_async):
59
+ raise AttributeError("Client does not support async CSV export operations")
60
+ return export_async(entity=self.entity, name=self.name)
61
+
62
+
63
+ @dataclass
64
+ class CsvImportOperation(Generic[TEntity]):
65
+ """Stateful helper for CSV import operations."""
66
+
67
+ client: OMetaClient
68
+ entity: Type[TEntity]
69
+ name: str
70
+ csv_data: Optional[str] = None
71
+ dry_run: bool = False
72
+ async_enabled: bool = field(default=False, init=False)
73
+
74
+ def with_data(self, csv_data: str) -> "CsvImportOperation[TEntity]":
75
+ self.csv_data = csv_data
76
+ return self
77
+
78
+ def set_dry_run(self, dry_run: bool) -> "CsvImportOperation[TEntity]":
79
+ self.dry_run = dry_run
80
+ return self
81
+
82
+ def with_async(self) -> "CsvImportOperation[TEntity]":
83
+ self.async_enabled = True
84
+ return self
85
+
86
+ def execute(self) -> Any:
87
+ payload = self.csv_data or ""
88
+ return cast(Any, self.client).import_csv(
89
+ entity=self.entity,
90
+ name=self.name,
91
+ csv_data=payload,
92
+ dry_run=self.dry_run,
93
+ )
94
+
95
+ def execute_async(self) -> Any:
96
+ import_async = getattr(self.client, "import_csv_async", None)
97
+ if not callable(import_async):
98
+ raise AttributeError("Client does not support async CSV import operations")
99
+ payload = self.csv_data or ""
100
+ return import_async(
101
+ entity=self.entity,
102
+ name=self.name,
103
+ csv_data=payload,
104
+ dry_run=self.dry_run,
105
+ )
106
+
107
+
108
+ class BaseEntity(Generic[TEntity, TCreate]):
109
+ """Typed facade over the ingestion `OpenMetadata` client."""
110
+
111
+ _default_client: ClassVar[Optional[OMetaClient]] = None
112
+
113
+ # ------------------------------------------------------------------
114
+ # Client handling
115
+ # ------------------------------------------------------------------
116
+ @classmethod
117
+ def _get_client(cls) -> OMetaClient:
118
+ if cls._default_client is None:
119
+ cls._default_client = OpenMetadata.get_default_client()
120
+ return cls._default_client
121
+
122
+ @classmethod
123
+ def use_client(cls, client: Union[OpenMetadata, OMetaClient]) -> None:
124
+ """Register a default client for SDK calls."""
125
+ cls._default_client = (
126
+ client.ometa if isinstance(client, OpenMetadata) else client
127
+ )
128
+
129
+ @classmethod
130
+ def set_default_client(cls, client: Union[OpenMetadata, OMetaClient]) -> None:
131
+ """Backward-compatible alias used across legacy tests/examples."""
132
+ cls.use_client(client)
133
+
134
+ # ------------------------------------------------------------------
135
+ # Entity metadata
136
+ # ------------------------------------------------------------------
137
+ @classmethod
138
+ def entity_type(cls) -> Type[TEntity]:
139
+ raise NotImplementedError
140
+
141
+ # ------------------------------------------------------------------
142
+ # CRUD operations
143
+ # ------------------------------------------------------------------
144
+ @classmethod
145
+ def create(cls, request: TCreate) -> TEntity:
146
+ client = cls._get_client()
147
+ response = client.create_or_update(request)
148
+ return cls._coerce_entity(response)
149
+
150
+ @classmethod
151
+ def retrieve(
152
+ cls,
153
+ entity_id: UuidLike,
154
+ *,
155
+ fields: Optional[Sequence[str]] = None,
156
+ nullable: Optional[bool] = None,
157
+ ) -> TEntity:
158
+ """Retrieve an entity by its unique identifier."""
159
+ client = cls._get_client()
160
+ entity_id_value = cls._stringify_identifier(entity_id)
161
+ if nullable is None:
162
+ entity = client.get_by_id(
163
+ entity=cls.entity_type(),
164
+ entity_id=entity_id_value,
165
+ fields=list(fields) if fields else None,
166
+ )
167
+ else:
168
+ entity = client.get_by_id(
169
+ entity=cls.entity_type(),
170
+ entity_id=entity_id_value,
171
+ fields=list(fields) if fields else None,
172
+ nullable=nullable,
173
+ )
174
+ return cls._coerce_entity(entity)
175
+
176
+ @classmethod
177
+ def retrieve_by_name(
178
+ cls,
179
+ fqn: Union[str, FullyQualifiedEntityName],
180
+ *,
181
+ fields: Optional[Sequence[str]] = None,
182
+ nullable: Optional[bool] = None,
183
+ ) -> TEntity:
184
+ """Retrieve an entity by its fully-qualified name."""
185
+ client = cls._get_client()
186
+ if nullable is None:
187
+ entity = client.get_by_name(
188
+ entity=cls.entity_type(),
189
+ fqn=fqn,
190
+ fields=list(fields) if fields else None,
191
+ )
192
+ else:
193
+ entity = client.get_by_name(
194
+ entity=cls.entity_type(),
195
+ fqn=fqn,
196
+ fields=list(fields) if fields else None,
197
+ nullable=nullable,
198
+ )
199
+ return cls._coerce_entity(entity)
200
+
201
+ @classmethod
202
+ def update(cls, entity: TEntity) -> TEntity:
203
+ client = cls._get_client()
204
+ entity_identifier = getattr(entity, "id", None)
205
+ if entity_identifier is None:
206
+ raise ValueError("Entity must define an 'id' attribute before updating")
207
+ current = client.get_by_id(
208
+ entity=cls.entity_type(),
209
+ entity_id=cls._stringify_identifier(entity_identifier),
210
+ fields=None,
211
+ )
212
+ updated = cast(Any, client).patch(
213
+ entity=cls.entity_type(), source=current, destination=entity
214
+ )
215
+ return cls._coerce_entity(updated)
216
+
217
+ @classmethod
218
+ def delete(
219
+ cls,
220
+ entity_id: UuidLike,
221
+ *,
222
+ recursive: bool = False,
223
+ hard_delete: bool = False,
224
+ ) -> None:
225
+ client = cls._get_client()
226
+ client.delete(
227
+ entity=cls.entity_type(),
228
+ entity_id=cls._stringify_identifier(entity_id),
229
+ recursive=recursive,
230
+ hard_delete=hard_delete,
231
+ )
232
+
233
+ @classmethod
234
+ def list(
235
+ cls,
236
+ *,
237
+ limit: int = 10,
238
+ after: Optional[str] = None,
239
+ before: Optional[str] = None,
240
+ fields: Optional[Sequence[str]] = None,
241
+ filters: Optional[Mapping[str, str]] = None,
242
+ ) -> EntityList[TEntity]:
243
+ """Fetch a single page of entities from OpenMetadata."""
244
+ client = cls._get_client()
245
+ response = client.list_entities(
246
+ entity=cls.entity_type(),
247
+ fields=list(fields) if fields else None,
248
+ after=after,
249
+ before=before,
250
+ limit=limit,
251
+ params=dict(filters) if filters else None,
252
+ )
253
+ raw_entities = cast(Sequence[Any], getattr(response, "entities", []) or [])
254
+ entities = [cls._coerce_entity(item) for item in raw_entities]
255
+ return EntityList(
256
+ entities=entities,
257
+ after=getattr(response, "after", None),
258
+ before=getattr(response, "before", None),
259
+ )
260
+
261
+ @classmethod
262
+ def list_all(
263
+ cls,
264
+ *,
265
+ batch_size: int = 100,
266
+ fields: Optional[Sequence[str]] = None,
267
+ filters: Optional[Mapping[str, str]] = None,
268
+ ) -> List[TEntity]:
269
+ """Iterate through all entities by repeatedly calling :meth:`list`."""
270
+
271
+ results: List[TEntity] = []
272
+ after: Optional[str] = None
273
+ while True:
274
+ page = cls.list(
275
+ limit=batch_size,
276
+ after=after,
277
+ fields=fields,
278
+ filters=filters,
279
+ )
280
+ results.extend(page.entities)
281
+ if not page.after:
282
+ break
283
+ after = page.after
284
+ return results
285
+
286
+ @classmethod
287
+ def search(cls, query: str, *, size: int = 10) -> Sequence[TEntity]:
288
+ """Perform name-based search via Elasticsearch helper if available."""
289
+
290
+ client = cls._get_client()
291
+ search_fn = getattr(client, "es_search_from_fqn", None)
292
+ if not callable(search_fn):
293
+ raise AttributeError("OpenMetadata client does not support entity search")
294
+ assert callable(search_fn)
295
+ results = cast(
296
+ Sequence[Any],
297
+ search_fn( # pylint: disable=not-callable
298
+ entity_type=cls.entity_type(),
299
+ fqn_search_string=query,
300
+ size=size,
301
+ ),
302
+ )
303
+ coerced_results = cast(Sequence[Any], results or [])
304
+ return [cls._coerce_entity(item) for item in coerced_results]
305
+
306
+ @classmethod
307
+ def export_csv(cls, name: str) -> CsvExportOperation[TEntity]:
308
+ """Return a CSV export operation bound to this entity type."""
309
+
310
+ client = cls._get_client()
311
+ return CsvExportOperation(client=client, entity=cls.entity_type(), name=name)
312
+
313
+ @classmethod
314
+ def import_csv(cls, name: str) -> CsvImportOperation[TEntity]:
315
+ """Return a CSV import operation bound to this entity type."""
316
+
317
+ client = cls._get_client()
318
+ return CsvImportOperation(client=client, entity=cls.entity_type(), name=name)
319
+
320
+ @classmethod
321
+ def get_versions(cls, entity_id: UuidLike) -> Sequence[TEntity]:
322
+ """Fetch all historical versions for an entity."""
323
+
324
+ client = cls._get_client()
325
+ list_versions = cast(
326
+ Callable[..., Any], getattr(client, "get_list_entity_versions")
327
+ )
328
+ history = list_versions(
329
+ entity=cls.entity_type(),
330
+ entity_id=str(entity_id),
331
+ )
332
+ versions = cast(Sequence[Any], getattr(history, "versions", []) or [])
333
+ return [cls._coerce_entity(item) for item in versions]
334
+
335
+ @classmethod
336
+ def get_specific_version(cls, entity_id: UuidLike, version: str) -> TEntity:
337
+ """Fetch a specific entity version."""
338
+
339
+ client = cls._get_client()
340
+ get_version = cast(Callable[..., Any], getattr(client, "get_entity_version"))
341
+ payload = get_version(
342
+ entity=cls.entity_type(),
343
+ entity_id=cls._stringify_identifier(entity_id),
344
+ version=version,
345
+ )
346
+ return cls._coerce_entity(payload)
347
+
348
+ # ------------------------------------------------------------------
349
+ # Relationship helpers
350
+ # ------------------------------------------------------------------
351
+ @classmethod
352
+ def add_followers(
353
+ cls, entity_id: UuidLike, follower_ids: Sequence[UuidLike]
354
+ ) -> TEntity:
355
+ """Add followers to an entity and return the refreshed payload."""
356
+
357
+ if not follower_ids:
358
+ return cls.retrieve(entity_id, fields=["followers"])
359
+ client = cls._get_client()
360
+ rest_client = cls._get_rest_client(client)
361
+ endpoint = cls._get_endpoint_path(client)
362
+ entity_id_str = cls._stringify_identifier(entity_id)
363
+ for follower in follower_ids:
364
+ follower_str = cls._stringify_identifier(follower)
365
+ rest_client.put(
366
+ f"{endpoint}/{entity_id_str}/followers",
367
+ json=follower_str,
368
+ )
369
+ updated = client.get_by_id(
370
+ entity=cls.entity_type(),
371
+ entity_id=entity_id_str,
372
+ fields=["followers"],
373
+ )
374
+ return cls._coerce_entity(updated)
375
+
376
+ @classmethod
377
+ def remove_followers(
378
+ cls, entity_id: UuidLike, follower_ids: Sequence[UuidLike]
379
+ ) -> TEntity:
380
+ """Remove followers from an entity and return the refreshed payload."""
381
+
382
+ if not follower_ids:
383
+ return cls.retrieve(entity_id, fields=["followers"])
384
+ client = cls._get_client()
385
+ rest_client = cls._get_rest_client(client)
386
+ endpoint = cls._get_endpoint_path(client)
387
+ entity_id_str = cls._stringify_identifier(entity_id)
388
+ for follower in follower_ids:
389
+ follower_str = cls._stringify_identifier(follower)
390
+ rest_client.delete(f"{endpoint}/{entity_id_str}/followers/{follower_str}")
391
+ updated = client.get_by_id(
392
+ entity=cls.entity_type(),
393
+ entity_id=entity_id_str,
394
+ fields=["followers"],
395
+ )
396
+ return cls._coerce_entity(updated)
397
+
398
+ @classmethod
399
+ def restore(cls, entity_id: UuidLike) -> TEntity:
400
+ """Restore a soft-deleted entity."""
401
+
402
+ client = cls._get_client()
403
+ rest_client = cls._get_rest_client(client)
404
+ endpoint = cls._get_endpoint_path(client)
405
+ response = rest_client.put(
406
+ f"{endpoint}/restore",
407
+ json={"id": cls._stringify_identifier(entity_id)},
408
+ )
409
+ return cls._coerce_entity(response)
410
+
411
+ @classmethod
412
+ def update_custom_properties(cls, identifier: UuidLike):
413
+ """Convenience accessor for custom property updates by entity id."""
414
+
415
+ from metadata.sdk.entities.custom_properties import ( # pylint: disable=import-outside-toplevel
416
+ CustomProperties,
417
+ )
418
+
419
+ updater = CustomProperties.update(cls.entity_type(), identifier)
420
+ _ = updater.use_client(cls._get_client())
421
+ return updater
422
+
423
+ @classmethod
424
+ def update_custom_properties_by_name(cls, fqn: str):
425
+ """Convenience accessor for custom property updates by entity FQN."""
426
+
427
+ from metadata.sdk.entities.custom_properties import ( # pylint: disable=import-outside-toplevel
428
+ CustomProperties,
429
+ )
430
+
431
+ updater = CustomProperties.update_by_name(cls.entity_type(), fqn)
432
+ _ = updater.use_client(cls._get_client())
433
+ return updater
434
+
435
+ # ------------------------------------------------------------------
436
+ # Helpers
437
+ # ------------------------------------------------------------------
438
+ @classmethod
439
+ def _coerce_entity(cls, payload: Any) -> TEntity:
440
+ entity_cls = cls.entity_type()
441
+ if isinstance(payload, entity_cls):
442
+ return payload
443
+ if isinstance(payload, BaseModel):
444
+ return cast(TEntity, payload)
445
+ if isinstance(payload, dict):
446
+ typed_payload = cast(Dict[str, Any], payload)
447
+ model_validate = getattr(entity_cls, "model_validate", None)
448
+ if not callable(model_validate):
449
+ raise TypeError("Entity type does not support model validation")
450
+ return cast(TEntity, model_validate(typed_payload))
451
+ return cast(TEntity, payload)
452
+
453
+ @classmethod
454
+ def _coerce_dict(cls, payload: Any) -> JsonDict:
455
+ if isinstance(payload, dict):
456
+ return cast(JsonDict, payload)
457
+ if isinstance(payload, BaseModel):
458
+ json_result: Dict[
459
+ str, Any
460
+ ] = payload.model_dump( # pyright: ignore[reportUnknownMemberType]
461
+ mode="json"
462
+ )
463
+ return json_result
464
+ raise TypeError("Expected mapping-compatible payload")
465
+
466
+ @staticmethod
467
+ def _get_rest_client(client: OMetaClient) -> Any:
468
+ rest_client = getattr(client, "client", None)
469
+ if rest_client is None:
470
+ raise RuntimeError("OpenMetadata client does not expose a REST interface")
471
+ return rest_client
472
+
473
+ @classmethod
474
+ def _get_endpoint_path(cls, client: OMetaClient) -> str:
475
+ suffix_getter = getattr(client, "get_suffix", None)
476
+ if callable(suffix_getter):
477
+ raw_suffix = cast(str, suffix_getter(cls.entity_type()))
478
+ normalized = raw_suffix.rstrip("/")
479
+ return normalized if normalized.startswith("/") else f"/{normalized}"
480
+ return f"/{cls.entity_type().__name__.lower()}s"
481
+
482
+ @staticmethod
483
+ def _stringify_identifier(identifier: Any) -> str:
484
+ root = getattr(identifier, "root", None)
485
+ if root is not None:
486
+ return str(root)
487
+ return str(identifier)
@@ -0,0 +1,17 @@
1
+ """
2
+ Charts entity SDK with fluent API
3
+ """
4
+ from typing import Type
5
+
6
+ from metadata.generated.schema.api.data.createChart import CreateChartRequest
7
+ from metadata.generated.schema.entity.data.chart import Chart
8
+ from metadata.sdk.entities.base import BaseEntity
9
+
10
+
11
+ class Charts(BaseEntity[Chart, CreateChartRequest]):
12
+ """Charts SDK class - plural to avoid conflict with generated Chart entity"""
13
+
14
+ @classmethod
15
+ def entity_type(cls) -> Type[Chart]:
16
+ """Return the Chart entity type"""
17
+ return Chart
@@ -0,0 +1,21 @@
1
+ """
2
+ Classifications entity SDK with fluent API
3
+ """
4
+ from typing import Type
5
+
6
+ from metadata.generated.schema.api.classification.createClassification import (
7
+ CreateClassificationRequest,
8
+ )
9
+ from metadata.generated.schema.entity.classification.classification import (
10
+ Classification,
11
+ )
12
+ from metadata.sdk.entities.base import BaseEntity
13
+
14
+
15
+ class Classifications(BaseEntity[Classification, CreateClassificationRequest]):
16
+ """Classifications SDK class - plural to avoid conflict with generated Classification entity"""
17
+
18
+ @classmethod
19
+ def entity_type(cls) -> Type[Classification]:
20
+ """Return the Classification entity type"""
21
+ return Classification
@@ -0,0 +1,17 @@
1
+ """
2
+ Containers entity SDK with fluent API
3
+ """
4
+ from typing import Type
5
+
6
+ from metadata.generated.schema.api.data.createContainer import CreateContainerRequest
7
+ from metadata.generated.schema.entity.data.container import Container
8
+ from metadata.sdk.entities.base import BaseEntity
9
+
10
+
11
+ class Containers(BaseEntity[Container, CreateContainerRequest]):
12
+ """Containers SDK class - plural to avoid conflict with generated Container entity"""
13
+
14
+ @classmethod
15
+ def entity_type(cls) -> Type[Container]:
16
+ """Return the Container entity type"""
17
+ return Container
@@ -0,0 +1,144 @@
1
+ """Typed helpers for custom property updates."""
2
+ from __future__ import annotations
3
+
4
+ from dataclasses import dataclass, field
5
+ from typing import Any, Dict, Generic, Optional, Type, TypeVar, Union, cast
6
+ from uuid import UUID
7
+
8
+ from metadata.generated.schema.entity.data.glossary import Glossary
9
+ from metadata.generated.schema.entity.data.table import Table
10
+ from metadata.generated.schema.type import basic
11
+ from metadata.ingestion.models.custom_pydantic import BaseModel
12
+ from metadata.sdk.client import OpenMetadata
13
+ from metadata.sdk.types import OMetaClient, UuidLike
14
+
15
+ TEntity = TypeVar("TEntity", bound=BaseModel) # pylint: disable=invalid-name
16
+
17
+
18
+ @dataclass
19
+ class CustomPropertyUpdater(Generic[TEntity]):
20
+ """Mutable builder that applies custom property updates through the API."""
21
+
22
+ entity_type: Type[TEntity]
23
+ identifier: str
24
+ is_fqn: bool = False
25
+ properties: Dict[str, Any] = field(default_factory=dict)
26
+ clear_all_flag: bool = False
27
+ _client_override: Optional[OMetaClient] = field(
28
+ default=None, init=False, repr=False
29
+ )
30
+
31
+ @staticmethod
32
+ def _get_client() -> OMetaClient:
33
+ return OpenMetadata.get_default_client()
34
+
35
+ # ------------------------------------------------------------------
36
+ # Mutation helpers
37
+ # ------------------------------------------------------------------
38
+ def with_property(self, key: str, value: Any) -> "CustomPropertyUpdater[TEntity]":
39
+ """Set a single custom property value."""
40
+ self.properties[key] = value
41
+ return self
42
+
43
+ def with_properties(
44
+ self, properties: Dict[str, Any]
45
+ ) -> "CustomPropertyUpdater[TEntity]":
46
+ """Set multiple custom property values in one call."""
47
+ self.properties.update(properties)
48
+ return self
49
+
50
+ def clear_property(self, key: str) -> "CustomPropertyUpdater[TEntity]":
51
+ """Unset a specific custom property."""
52
+ self.properties[key] = None
53
+ return self
54
+
55
+ def clear_all(self) -> "CustomPropertyUpdater[TEntity]":
56
+ """Remove all custom properties from the entity."""
57
+ self.clear_all_flag = True
58
+ return self
59
+
60
+ def use_client(self, client: OMetaClient) -> "CustomPropertyUpdater[TEntity]":
61
+ """Provide an explicit client (useful for patched tests)."""
62
+ self._client_override = client
63
+ return self
64
+
65
+ # ------------------------------------------------------------------
66
+ # Execution
67
+ # ------------------------------------------------------------------
68
+ def execute(self) -> TEntity:
69
+ """Persist the queued custom property changes and return the entity."""
70
+ client = self._client_override or self._get_client()
71
+ fields = ["extension"]
72
+ if self.is_fqn:
73
+ current = client.get_by_name(
74
+ entity=self.entity_type,
75
+ fqn=self.identifier,
76
+ fields=fields,
77
+ )
78
+ else:
79
+ current = client.get_by_id(
80
+ entity=self.entity_type,
81
+ entity_id=self.identifier,
82
+ fields=fields,
83
+ )
84
+
85
+ working = getattr(current, "model_copy", None)
86
+ working = working(deep=True) if callable(working) else current
87
+
88
+ if self.clear_all_flag:
89
+ setattr(working, "extension", None)
90
+ elif self.properties:
91
+ existing = getattr(current, "extension", None)
92
+ root: Dict[str, Any] = dict(getattr(existing, "root", {}) or {})
93
+ root.update(self.properties)
94
+ setattr(working, "extension", basic.EntityExtension(root=root))
95
+
96
+ updated = cast(Any, client).patch(
97
+ entity=self.entity_type,
98
+ source=current,
99
+ destination=working,
100
+ )
101
+ return updated
102
+
103
+
104
+ class CustomProperties:
105
+ """Factory helpers for custom property updates."""
106
+
107
+ @staticmethod
108
+ def update(
109
+ entity_type: Type[TEntity], identifier: Union[UuidLike, UUID]
110
+ ) -> CustomPropertyUpdater[TEntity]:
111
+ """Create an updater targeting the provided entity identifier."""
112
+ identifier_str = str(identifier)
113
+ return CustomPropertyUpdater(entity_type, identifier_str, is_fqn=False)
114
+
115
+ @staticmethod
116
+ def update_by_name(
117
+ entity_type: Type[TEntity], fqn: str
118
+ ) -> CustomPropertyUpdater[TEntity]:
119
+ """Create an updater referencing an entity by FQN."""
120
+ return CustomPropertyUpdater(entity_type, fqn, is_fqn=True)
121
+
122
+
123
+ class TableCustomProperties:
124
+ """Table-specific convenience wrappers."""
125
+
126
+ @staticmethod
127
+ def update(identifier: Union[UuidLike, UUID]) -> CustomPropertyUpdater[Any]:
128
+ return CustomProperties.update(Table, identifier)
129
+
130
+ @staticmethod
131
+ def update_by_name(fqn: str) -> CustomPropertyUpdater[Any]:
132
+ return CustomProperties.update_by_name(Table, fqn)
133
+
134
+
135
+ class GlossaryCustomProperties:
136
+ """Glossary-specific convenience wrappers."""
137
+
138
+ @staticmethod
139
+ def update(identifier: Union[UuidLike, UUID]) -> CustomPropertyUpdater[Any]:
140
+ return CustomProperties.update(Glossary, identifier)
141
+
142
+ @staticmethod
143
+ def update_by_name(fqn: str) -> CustomPropertyUpdater[Any]:
144
+ return CustomProperties.update_by_name(Glossary, fqn)