openmetadata-ingestion 1.8.9.0__py3-none-any.whl → 1.9.0.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (826) hide show
  1. metadata/__init__.py +2 -0
  2. metadata/data_quality/validations/models.py +2 -2
  3. metadata/data_quality/validations/runtime_param_setter/base_diff_params_setter.py +78 -5
  4. metadata/data_quality/validations/runtime_param_setter/table_diff_params_setter.py +10 -63
  5. metadata/data_quality/validations/table/sqlalchemy/tableDiff.py +4 -1
  6. metadata/generated/schema/analytics/__init__.py +1 -1
  7. metadata/generated/schema/analytics/basic.py +1 -1
  8. metadata/generated/schema/analytics/reportData.py +1 -1
  9. metadata/generated/schema/analytics/reportDataType/__init__.py +1 -1
  10. metadata/generated/schema/analytics/reportDataType/aggregatedCostAnalysisReportData.py +1 -1
  11. metadata/generated/schema/analytics/reportDataType/entityReportData.py +1 -1
  12. metadata/generated/schema/analytics/reportDataType/rawCostAnalysisReportData.py +1 -1
  13. metadata/generated/schema/analytics/reportDataType/webAnalyticEntityViewReportData.py +1 -1
  14. metadata/generated/schema/analytics/reportDataType/webAnalyticUserActivityReportData.py +1 -1
  15. metadata/generated/schema/analytics/webAnalyticEvent.py +5 -5
  16. metadata/generated/schema/analytics/webAnalyticEventData.py +1 -1
  17. metadata/generated/schema/analytics/webAnalyticEventType/__init__.py +1 -1
  18. metadata/generated/schema/analytics/webAnalyticEventType/customEvent.py +1 -1
  19. metadata/generated/schema/analytics/webAnalyticEventType/pageViewEvent.py +1 -1
  20. metadata/generated/schema/api/__init__.py +1 -1
  21. metadata/generated/schema/api/addGlossaryToAssetsRequest.py +1 -1
  22. metadata/generated/schema/api/addTagToAssetsRequest.py +1 -1
  23. metadata/generated/schema/api/analytics/__init__.py +1 -1
  24. metadata/generated/schema/api/analytics/createWebAnalyticEvent.py +6 -5
  25. metadata/generated/schema/api/automations/__init__.py +1 -1
  26. metadata/generated/schema/api/automations/createWorkflow.py +6 -5
  27. metadata/generated/schema/api/bulkAssets.py +1 -1
  28. metadata/generated/schema/api/classification/__init__.py +1 -1
  29. metadata/generated/schema/api/classification/createClassification.py +6 -5
  30. metadata/generated/schema/api/classification/createTag.py +4 -4
  31. metadata/generated/schema/api/classification/loadTags.py +1 -1
  32. metadata/generated/schema/api/createBot.py +5 -5
  33. metadata/generated/schema/api/createEventPublisherJob.py +1 -1
  34. metadata/generated/schema/api/createType.py +6 -5
  35. metadata/generated/schema/api/data/__init__.py +1 -1
  36. metadata/generated/schema/api/data/createAPICollection.py +4 -4
  37. metadata/generated/schema/api/data/createAPIEndpoint.py +4 -4
  38. metadata/generated/schema/api/data/createChart.py +12 -4
  39. metadata/generated/schema/api/data/createContainer.py +4 -4
  40. metadata/generated/schema/api/data/createCustomProperty.py +1 -1
  41. metadata/generated/schema/api/data/createDashboard.py +4 -4
  42. metadata/generated/schema/api/data/createDashboardDataModel.py +4 -4
  43. metadata/generated/schema/api/data/createDataContract.py +11 -5
  44. metadata/generated/schema/api/data/createDatabase.py +4 -4
  45. metadata/generated/schema/api/data/createDatabaseSchema.py +4 -4
  46. metadata/generated/schema/api/data/createDirectory.py +105 -0
  47. metadata/generated/schema/api/data/createFile.py +104 -0
  48. metadata/generated/schema/api/data/createGlossary.py +4 -4
  49. metadata/generated/schema/api/data/createGlossaryTerm.py +1 -1
  50. metadata/generated/schema/api/data/createMetric.py +4 -4
  51. metadata/generated/schema/api/data/createMlModel.py +4 -4
  52. metadata/generated/schema/api/data/createPipeline.py +4 -4
  53. metadata/generated/schema/api/data/createQuery.py +5 -4
  54. metadata/generated/schema/api/data/createQueryCostRecord.py +1 -1
  55. metadata/generated/schema/api/data/createSearchIndex.py +4 -4
  56. metadata/generated/schema/api/data/createSpreadsheet.py +111 -0
  57. metadata/generated/schema/api/data/createStoredProcedure.py +4 -4
  58. metadata/generated/schema/api/data/createTable.py +5 -4
  59. metadata/generated/schema/api/data/createTableProfile.py +1 -1
  60. metadata/generated/schema/api/data/createTopic.py +5 -4
  61. metadata/generated/schema/api/data/createWorksheet.py +105 -0
  62. metadata/generated/schema/api/data/loadGlossary.py +1 -1
  63. metadata/generated/schema/api/data/restoreEntity.py +1 -1
  64. metadata/generated/schema/api/data/updateColumn.py +1 -1
  65. metadata/generated/schema/api/dataInsight/__init__.py +1 -1
  66. metadata/generated/schema/api/dataInsight/createDataInsightChart.py +5 -4
  67. metadata/generated/schema/api/dataInsight/custom/__init__.py +1 -1
  68. metadata/generated/schema/api/dataInsight/custom/createDataInsightCustomChart.py +1 -1
  69. metadata/generated/schema/api/dataInsight/kpi/__init__.py +1 -1
  70. metadata/generated/schema/api/dataInsight/kpi/createKpiRequest.py +5 -5
  71. metadata/generated/schema/api/docStore/__init__.py +1 -1
  72. metadata/generated/schema/api/docStore/createDocument.py +6 -5
  73. metadata/generated/schema/api/domains/__init__.py +1 -1
  74. metadata/generated/schema/api/domains/createDataProduct.py +4 -4
  75. metadata/generated/schema/api/domains/createDomain.py +1 -1
  76. metadata/generated/schema/api/entityRelationship/__init__.py +3 -0
  77. metadata/generated/schema/api/entityRelationship/entityRelationshipDirection.py +12 -0
  78. metadata/generated/schema/api/entityRelationship/esEntityRelationshipData.py +57 -0
  79. metadata/generated/schema/api/entityRelationship/relationshipRef.py +32 -0
  80. metadata/generated/schema/api/entityRelationship/searchEntityRelationshipRequest.py +47 -0
  81. metadata/generated/schema/api/entityRelationship/searchEntityRelationshipResult.py +47 -0
  82. metadata/generated/schema/api/entityRelationship/searchSchemaEntityRelationshipResult.py +20 -0
  83. metadata/generated/schema/api/feed/__init__.py +1 -1
  84. metadata/generated/schema/api/feed/closeTask.py +1 -1
  85. metadata/generated/schema/api/feed/createPost.py +1 -1
  86. metadata/generated/schema/api/feed/createSuggestion.py +1 -1
  87. metadata/generated/schema/api/feed/createThread.py +6 -2
  88. metadata/generated/schema/api/feed/resolveTask.py +1 -1
  89. metadata/generated/schema/api/feed/threadCount.py +1 -1
  90. metadata/generated/schema/api/governance/__init__.py +1 -1
  91. metadata/generated/schema/api/governance/createWorkflowDefinition.py +1 -1
  92. metadata/generated/schema/api/governance/createWorkflowInstanceState.py +1 -1
  93. metadata/generated/schema/api/lineage/__init__.py +1 -1
  94. metadata/generated/schema/api/lineage/addLineage.py +1 -1
  95. metadata/generated/schema/api/lineage/esLineageData.py +4 -1
  96. metadata/generated/schema/api/lineage/lineageDirection.py +1 -1
  97. metadata/generated/schema/api/lineage/nodeInformation.py +5 -2
  98. metadata/generated/schema/api/lineage/searchLineageRequest.py +1 -1
  99. metadata/generated/schema/api/lineage/searchLineageResult.py +1 -1
  100. metadata/generated/schema/api/mcp/__init__.py +1 -1
  101. metadata/generated/schema/api/mcp/mcpToolDefinition.py +1 -1
  102. metadata/generated/schema/api/openMetadataServerVersion.py +1 -1
  103. metadata/generated/schema/api/policies/__init__.py +1 -1
  104. metadata/generated/schema/api/policies/createPolicy.py +6 -5
  105. metadata/generated/schema/api/scim/__init__.py +1 -1
  106. metadata/generated/schema/api/scim/scimGroup.py +1 -1
  107. metadata/generated/schema/api/scim/scimPatchOp.py +1 -1
  108. metadata/generated/schema/api/scim/scimUser.py +1 -1
  109. metadata/generated/schema/api/search/__init__.py +1 -1
  110. metadata/generated/schema/api/search/previewSearchRequest.py +1 -1
  111. metadata/generated/schema/api/services/__init__.py +1 -1
  112. metadata/generated/schema/api/services/createApiService.py +4 -4
  113. metadata/generated/schema/api/services/createDashboardService.py +4 -4
  114. metadata/generated/schema/api/services/createDatabaseService.py +4 -4
  115. metadata/generated/schema/api/services/createDriveService.py +58 -0
  116. metadata/generated/schema/api/services/createMessagingService.py +4 -4
  117. metadata/generated/schema/api/services/createMetadataService.py +5 -4
  118. metadata/generated/schema/api/services/createMlModelService.py +4 -4
  119. metadata/generated/schema/api/services/createPipelineService.py +4 -4
  120. metadata/generated/schema/api/services/createSearchService.py +4 -4
  121. metadata/generated/schema/api/services/createSecurityService.py +4 -4
  122. metadata/generated/schema/api/services/createStorageService.py +4 -4
  123. metadata/generated/schema/api/services/ingestionPipelines/__init__.py +1 -1
  124. metadata/generated/schema/api/services/ingestionPipelines/createIngestionPipeline.py +13 -5
  125. metadata/generated/schema/api/setOwner.py +1 -1
  126. metadata/generated/schema/api/teams/__init__.py +1 -1
  127. metadata/generated/schema/api/teams/createPersona.py +12 -4
  128. metadata/generated/schema/api/teams/createRole.py +5 -4
  129. metadata/generated/schema/api/teams/createTeam.py +1 -1
  130. metadata/generated/schema/api/teams/createUser.py +1 -1
  131. metadata/generated/schema/api/tests/__init__.py +1 -1
  132. metadata/generated/schema/api/tests/createCustomMetric.py +1 -1
  133. metadata/generated/schema/api/tests/createLogicalTestCases.py +1 -1
  134. metadata/generated/schema/api/tests/createTestCase.py +1 -1
  135. metadata/generated/schema/api/tests/createTestCaseResolutionStatus.py +1 -1
  136. metadata/generated/schema/api/tests/createTestCaseResult.py +1 -1
  137. metadata/generated/schema/api/tests/createTestDefinition.py +5 -4
  138. metadata/generated/schema/api/tests/createTestSuite.py +13 -5
  139. metadata/generated/schema/api/tests/moveGlossaryTermRequest.py +27 -0
  140. metadata/generated/schema/api/validateGlossaryTagsRequest.py +1 -1
  141. metadata/generated/schema/api/voteRequest.py +1 -1
  142. metadata/generated/schema/auth/__init__.py +1 -1
  143. metadata/generated/schema/auth/basicAuth.py +1 -1
  144. metadata/generated/schema/auth/basicLoginRequest.py +1 -1
  145. metadata/generated/schema/auth/changePasswordRequest.py +1 -1
  146. metadata/generated/schema/auth/createPersonalToken.py +1 -1
  147. metadata/generated/schema/auth/emailRequest.py +1 -1
  148. metadata/generated/schema/auth/emailVerificationToken.py +1 -1
  149. metadata/generated/schema/auth/generateToken.py +1 -1
  150. metadata/generated/schema/auth/jwtAuth.py +1 -1
  151. metadata/generated/schema/auth/loginRequest.py +1 -1
  152. metadata/generated/schema/auth/logoutRequest.py +1 -1
  153. metadata/generated/schema/auth/passwordResetRequest.py +1 -1
  154. metadata/generated/schema/auth/passwordResetToken.py +1 -1
  155. metadata/generated/schema/auth/personalAccessToken.py +1 -1
  156. metadata/generated/schema/auth/refreshToken.py +1 -1
  157. metadata/generated/schema/auth/registrationRequest.py +1 -1
  158. metadata/generated/schema/auth/revokePersonalToken.py +1 -1
  159. metadata/generated/schema/auth/revokeToken.py +1 -1
  160. metadata/generated/schema/auth/serviceTokenEnum.py +1 -1
  161. metadata/generated/schema/auth/ssoAuth.py +1 -1
  162. metadata/generated/schema/auth/supportToken.py +1 -1
  163. metadata/generated/schema/auth/tokenRefreshRequest.py +1 -1
  164. metadata/generated/schema/configuration/__init__.py +1 -1
  165. metadata/generated/schema/configuration/aiPlatformConfiguration.py +58 -0
  166. metadata/generated/schema/configuration/appsPrivateConfiguration.py +1 -1
  167. metadata/generated/schema/configuration/assetCertificationSettings.py +1 -1
  168. metadata/generated/schema/configuration/authConfig.py +1 -1
  169. metadata/generated/schema/configuration/authenticationConfiguration.py +1 -1
  170. metadata/generated/schema/configuration/authorizerConfiguration.py +1 -1
  171. metadata/generated/schema/configuration/cacheConfiguration.py +137 -0
  172. metadata/generated/schema/configuration/changeEventConfiguration.py +1 -1
  173. metadata/generated/schema/configuration/dataQualityConfiguration.py +1 -1
  174. metadata/generated/schema/configuration/elasticSearchConfiguration.py +1 -1
  175. metadata/generated/schema/configuration/entityRulesSettings.py +24 -0
  176. metadata/generated/schema/configuration/eventHandlerConfiguration.py +1 -1
  177. metadata/generated/schema/configuration/fernetConfiguration.py +1 -1
  178. metadata/generated/schema/configuration/jwtTokenConfiguration.py +1 -1
  179. metadata/generated/schema/configuration/kafkaEventConfiguration.py +1 -1
  180. metadata/generated/schema/configuration/ldapConfiguration.py +1 -1
  181. metadata/generated/schema/configuration/ldapTrustStoreConfig/__init__.py +1 -1
  182. metadata/generated/schema/configuration/ldapTrustStoreConfig/customTrustManagerConfig.py +1 -1
  183. metadata/generated/schema/configuration/ldapTrustStoreConfig/hostNameConfig.py +1 -1
  184. metadata/generated/schema/configuration/ldapTrustStoreConfig/jvmDefaultConfig.py +1 -1
  185. metadata/generated/schema/configuration/ldapTrustStoreConfig/trustAllConfig.py +1 -1
  186. metadata/generated/schema/configuration/ldapTrustStoreConfig/truststoreConfig.py +1 -1
  187. metadata/generated/schema/configuration/limitsConfiguration.py +1 -1
  188. metadata/generated/schema/configuration/lineageSettings.py +1 -1
  189. metadata/generated/schema/configuration/loginConfiguration.py +1 -1
  190. metadata/generated/schema/configuration/logoConfiguration.py +1 -1
  191. metadata/generated/schema/configuration/openMetadataBaseUrlConfiguration.py +1 -1
  192. metadata/generated/schema/configuration/opertionalConfiguration.py +1 -1
  193. metadata/generated/schema/configuration/opsConfig.py +1 -1
  194. metadata/generated/schema/configuration/pipelineServiceClientConfiguration.py +1 -1
  195. metadata/generated/schema/configuration/profilerConfiguration.py +1 -1
  196. metadata/generated/schema/configuration/searchSettings.py +1 -1
  197. metadata/generated/schema/configuration/slackAppConfiguration.py +1 -1
  198. metadata/generated/schema/configuration/taskNotificationConfiguration.py +1 -1
  199. metadata/generated/schema/configuration/testResultNotificationConfiguration.py +1 -1
  200. metadata/generated/schema/configuration/themeConfiguration.py +1 -1
  201. metadata/generated/schema/configuration/uiThemePreference.py +1 -1
  202. metadata/generated/schema/configuration/workflowSettings.py +1 -1
  203. metadata/generated/schema/dataInsight/__init__.py +1 -1
  204. metadata/generated/schema/dataInsight/custom/__init__.py +1 -1
  205. metadata/generated/schema/dataInsight/custom/dataInsightCustomChart.py +1 -1
  206. metadata/generated/schema/dataInsight/custom/dataInsightCustomChartResult.py +1 -1
  207. metadata/generated/schema/dataInsight/custom/dataInsightCustomChartResultList.py +1 -1
  208. metadata/generated/schema/dataInsight/custom/formulaHolder.py +1 -1
  209. metadata/generated/schema/dataInsight/custom/lineChart.py +5 -1
  210. metadata/generated/schema/dataInsight/custom/summaryCard.py +1 -1
  211. metadata/generated/schema/dataInsight/dataInsightChart.py +5 -5
  212. metadata/generated/schema/dataInsight/dataInsightChartResult.py +1 -1
  213. metadata/generated/schema/dataInsight/kpi/__init__.py +1 -1
  214. metadata/generated/schema/dataInsight/kpi/basic.py +1 -1
  215. metadata/generated/schema/dataInsight/kpi/kpi.py +4 -4
  216. metadata/generated/schema/dataInsight/type/__init__.py +1 -1
  217. metadata/generated/schema/dataInsight/type/aggregatedUnusedAssetsCount.py +1 -1
  218. metadata/generated/schema/dataInsight/type/aggregatedUnusedAssetsSize.py +1 -1
  219. metadata/generated/schema/dataInsight/type/aggregatedUsedVsUnusedAssetsCount.py +1 -1
  220. metadata/generated/schema/dataInsight/type/aggregatedUsedVsUnusedAssetsSize.py +1 -1
  221. metadata/generated/schema/dataInsight/type/dailyActiveUsers.py +1 -1
  222. metadata/generated/schema/dataInsight/type/mostActiveUsers.py +1 -1
  223. metadata/generated/schema/dataInsight/type/mostViewedEntities.py +1 -1
  224. metadata/generated/schema/dataInsight/type/pageViewsByEntities.py +1 -1
  225. metadata/generated/schema/dataInsight/type/unusedAssets.py +1 -1
  226. metadata/generated/schema/email/__init__.py +1 -1
  227. metadata/generated/schema/email/emailRequest.py +1 -1
  228. metadata/generated/schema/email/emailTemplate.py +1 -1
  229. metadata/generated/schema/email/emailTemplatePlaceholder.py +1 -1
  230. metadata/generated/schema/email/smtpSettings.py +1 -1
  231. metadata/generated/schema/email/templateValidationReponse.py +1 -1
  232. metadata/generated/schema/entity/__init__.py +1 -1
  233. metadata/generated/schema/entity/applications/__init__.py +1 -1
  234. metadata/generated/schema/entity/applications/app.py +4 -4
  235. metadata/generated/schema/entity/applications/appExtension.py +1 -1
  236. metadata/generated/schema/entity/applications/appRunRecord.py +1 -1
  237. metadata/generated/schema/entity/applications/configuration/__init__.py +1 -1
  238. metadata/generated/schema/entity/applications/configuration/applicationConfig.py +1 -1
  239. metadata/generated/schema/entity/applications/configuration/external/__init__.py +1 -1
  240. metadata/generated/schema/entity/applications/configuration/external/automator/__init__.py +1 -1
  241. metadata/generated/schema/entity/applications/configuration/external/automator/addCustomProperties.py +1 -1
  242. metadata/generated/schema/entity/applications/configuration/external/automator/addDataProductAction.py +1 -1
  243. metadata/generated/schema/entity/applications/configuration/external/automator/addDescriptionAction.py +1 -1
  244. metadata/generated/schema/entity/applications/configuration/external/automator/addDomainAction.py +5 -5
  245. metadata/generated/schema/entity/applications/configuration/external/automator/addOwnerAction.py +1 -1
  246. metadata/generated/schema/entity/applications/configuration/external/automator/addTagsAction.py +1 -1
  247. metadata/generated/schema/entity/applications/configuration/external/automator/addTestCaseAction.py +1 -1
  248. metadata/generated/schema/entity/applications/configuration/external/automator/addTierAction.py +1 -1
  249. metadata/generated/schema/entity/applications/configuration/external/automator/lineagePropagationAction.py +4 -4
  250. metadata/generated/schema/entity/applications/configuration/external/automator/mlTaggingAction.py +1 -1
  251. metadata/generated/schema/entity/applications/configuration/external/automator/propagationStopConfig.py +2 -2
  252. metadata/generated/schema/entity/applications/configuration/external/automator/removeCustomPropertiesAction.py +1 -1
  253. metadata/generated/schema/entity/applications/configuration/external/automator/removeDataProductAction.py +1 -1
  254. metadata/generated/schema/entity/applications/configuration/external/automator/removeDescriptionAction.py +1 -1
  255. metadata/generated/schema/entity/applications/configuration/external/automator/removeDomainAction.py +1 -1
  256. metadata/generated/schema/entity/applications/configuration/external/automator/removeOwnerAction.py +1 -1
  257. metadata/generated/schema/entity/applications/configuration/external/automator/removeTagsAction.py +1 -1
  258. metadata/generated/schema/entity/applications/configuration/external/automator/removeTestCaseAction.py +1 -1
  259. metadata/generated/schema/entity/applications/configuration/external/automator/removeTierAction.py +1 -1
  260. metadata/generated/schema/entity/applications/configuration/external/automatorAppConfig.py +1 -1
  261. metadata/generated/schema/entity/applications/configuration/external/collateAIAppConfig.py +1 -1
  262. metadata/generated/schema/entity/applications/configuration/external/slackAppTokenConfiguration.py +1 -1
  263. metadata/generated/schema/entity/applications/configuration/internal/__init__.py +1 -1
  264. metadata/generated/schema/entity/applications/configuration/internal/autoPilotAppConfig.py +1 -1
  265. metadata/generated/schema/entity/applications/configuration/internal/collateAIQualityAgentAppConfig.py +1 -1
  266. metadata/generated/schema/entity/applications/configuration/internal/collateAITierAgentAppConfig.py +1 -1
  267. metadata/generated/schema/entity/applications/configuration/internal/dataInsightsAppConfig.py +1 -1
  268. metadata/generated/schema/entity/applications/configuration/internal/dataInsightsReportAppConfig.py +1 -1
  269. metadata/generated/schema/entity/applications/configuration/internal/dataRetentionConfiguration.py +1 -1
  270. metadata/generated/schema/entity/applications/configuration/internal/helloPipelinesConfiguration.py +1 -1
  271. metadata/generated/schema/entity/applications/configuration/internal/searchIndexingAppConfig.py +1 -1
  272. metadata/generated/schema/entity/applications/configuration/private/__init__.py +1 -1
  273. metadata/generated/schema/entity/applications/configuration/private/external/__init__.py +1 -1
  274. metadata/generated/schema/entity/applications/configuration/private/external/collateAIAppPrivateConfig.py +1 -1
  275. metadata/generated/schema/entity/applications/configuration/private/internal/__init__.py +1 -1
  276. metadata/generated/schema/entity/applications/configuration/private/internal/collateAITierAgentAppPrivateConfig.py +1 -1
  277. metadata/generated/schema/entity/applications/configuration/private/limits.py +1 -1
  278. metadata/generated/schema/entity/applications/createAppRequest.py +6 -5
  279. metadata/generated/schema/entity/applications/jobStatus.py +1 -1
  280. metadata/generated/schema/entity/applications/liveExecutionContext.py +1 -1
  281. metadata/generated/schema/entity/applications/marketplace/__init__.py +1 -1
  282. metadata/generated/schema/entity/applications/marketplace/appMarketPlaceDefinition.py +5 -11
  283. metadata/generated/schema/entity/applications/marketplace/createAppMarketPlaceDefinitionReq.py +5 -4
  284. metadata/generated/schema/entity/applications/scheduledExecutionContext.py +1 -1
  285. metadata/generated/schema/entity/automations/__init__.py +1 -1
  286. metadata/generated/schema/entity/automations/testServiceConnection.py +1 -1
  287. metadata/generated/schema/entity/automations/workflow.py +5 -5
  288. metadata/generated/schema/entity/bot.py +5 -5
  289. metadata/generated/schema/entity/classification/__init__.py +1 -1
  290. metadata/generated/schema/entity/classification/classification.py +5 -5
  291. metadata/generated/schema/entity/classification/tag.py +4 -4
  292. metadata/generated/schema/entity/data/__init__.py +1 -1
  293. metadata/generated/schema/entity/data/apiCollection.py +4 -4
  294. metadata/generated/schema/entity/data/apiEndpoint.py +4 -4
  295. metadata/generated/schema/entity/data/chart.py +11 -4
  296. metadata/generated/schema/entity/data/container.py +4 -4
  297. metadata/generated/schema/entity/data/dashboard.py +4 -4
  298. metadata/generated/schema/entity/data/dashboardDataModel.py +4 -4
  299. metadata/generated/schema/entity/data/dataContract.py +40 -53
  300. metadata/generated/schema/entity/data/database.py +4 -4
  301. metadata/generated/schema/entity/data/databaseSchema.py +4 -4
  302. metadata/generated/schema/entity/data/directory.py +173 -0
  303. metadata/generated/schema/entity/data/file.py +184 -0
  304. metadata/generated/schema/entity/data/glossary.py +4 -4
  305. metadata/generated/schema/entity/data/glossaryTerm.py +4 -4
  306. metadata/generated/schema/entity/data/metric.py +4 -5
  307. metadata/generated/schema/entity/data/mlmodel.py +4 -4
  308. metadata/generated/schema/entity/data/pipeline.py +4 -4
  309. metadata/generated/schema/entity/data/query.py +4 -4
  310. metadata/generated/schema/entity/data/queryCostRecord.py +1 -1
  311. metadata/generated/schema/entity/data/queryCostSearchResult.py +1 -1
  312. metadata/generated/schema/entity/data/report.py +4 -4
  313. metadata/generated/schema/entity/data/searchIndex.py +4 -4
  314. metadata/generated/schema/entity/data/spreadsheet.py +209 -0
  315. metadata/generated/schema/entity/data/storedProcedure.py +4 -4
  316. metadata/generated/schema/entity/data/table.py +50 -4
  317. metadata/generated/schema/entity/data/topic.py +4 -4
  318. metadata/generated/schema/entity/data/worksheet.py +168 -0
  319. metadata/generated/schema/entity/datacontract/__init__.py +3 -0
  320. metadata/generated/schema/entity/datacontract/dataContractResult.py +74 -0
  321. metadata/generated/schema/entity/datacontract/qualityValidation.py +31 -0
  322. metadata/generated/schema/entity/datacontract/schemaValidation.py +31 -0
  323. metadata/generated/schema/entity/datacontract/semanticsValidation.py +39 -0
  324. metadata/generated/schema/entity/datacontract/slaValidation.py +32 -0
  325. metadata/generated/schema/entity/docStore/__init__.py +1 -1
  326. metadata/generated/schema/entity/docStore/document.py +5 -5
  327. metadata/generated/schema/entity/domains/__init__.py +1 -1
  328. metadata/generated/schema/entity/domains/dataProduct.py +5 -5
  329. metadata/generated/schema/entity/domains/domain.py +1 -1
  330. metadata/generated/schema/entity/events/__init__.py +1 -1
  331. metadata/generated/schema/entity/events/webhook.py +1 -1
  332. metadata/generated/schema/entity/feed/__init__.py +1 -1
  333. metadata/generated/schema/entity/feed/assets.py +1 -1
  334. metadata/generated/schema/entity/feed/customProperty.py +1 -1
  335. metadata/generated/schema/entity/feed/description.py +1 -1
  336. metadata/generated/schema/entity/feed/domain.py +8 -8
  337. metadata/generated/schema/entity/feed/entityInfo.py +1 -1
  338. metadata/generated/schema/entity/feed/owner.py +1 -1
  339. metadata/generated/schema/entity/feed/suggestion.py +1 -1
  340. metadata/generated/schema/entity/feed/tag.py +1 -1
  341. metadata/generated/schema/entity/feed/testCaseResult.py +1 -1
  342. metadata/generated/schema/entity/feed/thread.py +4 -3
  343. metadata/generated/schema/entity/policies/__init__.py +1 -1
  344. metadata/generated/schema/entity/policies/accessControl/__init__.py +1 -1
  345. metadata/generated/schema/entity/policies/accessControl/resourceDescriptor.py +1 -1
  346. metadata/generated/schema/entity/policies/accessControl/resourcePermission.py +1 -1
  347. metadata/generated/schema/entity/policies/accessControl/rule.py +1 -1
  348. metadata/generated/schema/entity/policies/filters.py +1 -1
  349. metadata/generated/schema/entity/policies/policy.py +4 -4
  350. metadata/generated/schema/entity/services/__init__.py +1 -1
  351. metadata/generated/schema/entity/services/apiService.py +4 -4
  352. metadata/generated/schema/entity/services/connections/__init__.py +1 -1
  353. metadata/generated/schema/entity/services/connections/api/__init__.py +1 -1
  354. metadata/generated/schema/entity/services/connections/api/restConnection.py +1 -1
  355. metadata/generated/schema/entity/services/connections/common/__init__.py +1 -1
  356. metadata/generated/schema/entity/services/connections/common/sslCertPaths.py +1 -1
  357. metadata/generated/schema/entity/services/connections/common/sslCertValues.py +1 -1
  358. metadata/generated/schema/entity/services/connections/common/sslConfig.py +1 -1
  359. metadata/generated/schema/entity/services/connections/connectionBasicType.py +1 -1
  360. metadata/generated/schema/entity/services/connections/dashboard/__init__.py +1 -1
  361. metadata/generated/schema/entity/services/connections/dashboard/customDashboardConnection.py +1 -1
  362. metadata/generated/schema/entity/services/connections/dashboard/domoDashboardConnection.py +1 -1
  363. metadata/generated/schema/entity/services/connections/dashboard/lightdashConnection.py +1 -1
  364. metadata/generated/schema/entity/services/connections/dashboard/lookerConnection.py +1 -1
  365. metadata/generated/schema/entity/services/connections/dashboard/metabaseConnection.py +1 -1
  366. metadata/generated/schema/entity/services/connections/dashboard/microStrategyConnection.py +1 -1
  367. metadata/generated/schema/entity/services/connections/dashboard/modeConnection.py +1 -1
  368. metadata/generated/schema/entity/services/connections/dashboard/powerBIConnection.py +1 -1
  369. metadata/generated/schema/entity/services/connections/dashboard/powerBIReportServerConnection.py +1 -1
  370. metadata/generated/schema/entity/services/connections/dashboard/powerbi/__init__.py +1 -1
  371. metadata/generated/schema/entity/services/connections/dashboard/powerbi/azureConfig.py +1 -1
  372. metadata/generated/schema/entity/services/connections/dashboard/powerbi/bucketDetails.py +1 -1
  373. metadata/generated/schema/entity/services/connections/dashboard/powerbi/gcsConfig.py +1 -1
  374. metadata/generated/schema/entity/services/connections/dashboard/powerbi/s3Config.py +1 -1
  375. metadata/generated/schema/entity/services/connections/dashboard/qlikCloudConnection.py +1 -1
  376. metadata/generated/schema/entity/services/connections/dashboard/qlikSenseConnection.py +1 -1
  377. metadata/generated/schema/entity/services/connections/dashboard/quickSightConnection.py +1 -1
  378. metadata/generated/schema/entity/services/connections/dashboard/redashConnection.py +1 -1
  379. metadata/generated/schema/entity/services/connections/dashboard/sigmaConnection.py +1 -1
  380. metadata/generated/schema/entity/services/connections/dashboard/supersetConnection.py +1 -1
  381. metadata/generated/schema/entity/services/connections/dashboard/tableauConnection.py +1 -1
  382. metadata/generated/schema/entity/services/connections/dashboard/thoughtSpotConnection.py +1 -1
  383. metadata/generated/schema/entity/services/connections/database/__init__.py +1 -1
  384. metadata/generated/schema/entity/services/connections/database/athenaConnection.py +1 -1
  385. metadata/generated/schema/entity/services/connections/database/azureSQLConnection.py +1 -1
  386. metadata/generated/schema/entity/services/connections/database/bigQueryConnection.py +1 -1
  387. metadata/generated/schema/entity/services/connections/database/bigTableConnection.py +1 -1
  388. metadata/generated/schema/entity/services/connections/database/cassandra/__init__.py +1 -1
  389. metadata/generated/schema/entity/services/connections/database/cassandra/cloudConfig.py +1 -1
  390. metadata/generated/schema/entity/services/connections/database/cassandraConnection.py +1 -1
  391. metadata/generated/schema/entity/services/connections/database/clickhouseConnection.py +1 -1
  392. metadata/generated/schema/entity/services/connections/database/cockroachConnection.py +1 -1
  393. metadata/generated/schema/entity/services/connections/database/common/__init__.py +1 -1
  394. metadata/generated/schema/entity/services/connections/database/common/azureConfig.py +1 -1
  395. metadata/generated/schema/entity/services/connections/database/common/basicAuth.py +1 -1
  396. metadata/generated/schema/entity/services/connections/database/common/iamAuthConfig.py +1 -1
  397. metadata/generated/schema/entity/services/connections/database/common/jwtAuth.py +1 -1
  398. metadata/generated/schema/entity/services/connections/database/common/noConfigAuthenticationTypes.py +1 -1
  399. metadata/generated/schema/entity/services/connections/database/couchbaseConnection.py +1 -1
  400. metadata/generated/schema/entity/services/connections/database/customDatabaseConnection.py +1 -1
  401. metadata/generated/schema/entity/services/connections/database/databricksConnection.py +1 -1
  402. metadata/generated/schema/entity/services/connections/database/datalake/__init__.py +1 -1
  403. metadata/generated/schema/entity/services/connections/database/datalake/azureConfig.py +1 -1
  404. metadata/generated/schema/entity/services/connections/database/datalake/gcsConfig.py +1 -1
  405. metadata/generated/schema/entity/services/connections/database/datalake/s3Config.py +1 -1
  406. metadata/generated/schema/entity/services/connections/database/datalakeConnection.py +1 -1
  407. metadata/generated/schema/entity/services/connections/database/db2Connection.py +1 -1
  408. metadata/generated/schema/entity/services/connections/database/deltaLakeConnection.py +1 -1
  409. metadata/generated/schema/entity/services/connections/database/deltalake/__init__.py +1 -1
  410. metadata/generated/schema/entity/services/connections/database/deltalake/metastoreConfig.py +1 -1
  411. metadata/generated/schema/entity/services/connections/database/deltalake/storageConfig.py +1 -1
  412. metadata/generated/schema/entity/services/connections/database/domoDatabaseConnection.py +1 -1
  413. metadata/generated/schema/entity/services/connections/database/dorisConnection.py +1 -1
  414. metadata/generated/schema/entity/services/connections/database/druidConnection.py +1 -1
  415. metadata/generated/schema/entity/services/connections/database/dynamoDBConnection.py +1 -1
  416. metadata/generated/schema/entity/services/connections/database/epicConnection.py +80 -0
  417. metadata/generated/schema/entity/services/connections/database/exasolConnection.py +1 -1
  418. metadata/generated/schema/entity/services/connections/database/glueConnection.py +1 -1
  419. metadata/generated/schema/entity/services/connections/database/greenplumConnection.py +1 -1
  420. metadata/generated/schema/entity/services/connections/database/hiveConnection.py +1 -1
  421. metadata/generated/schema/entity/services/connections/database/iceberg/__init__.py +1 -1
  422. metadata/generated/schema/entity/services/connections/database/iceberg/dynamoDbCatalogConnection.py +1 -1
  423. metadata/generated/schema/entity/services/connections/database/iceberg/glueCatalogConnection.py +1 -1
  424. metadata/generated/schema/entity/services/connections/database/iceberg/hiveCatalogConnection.py +1 -1
  425. metadata/generated/schema/entity/services/connections/database/iceberg/icebergCatalog.py +1 -1
  426. metadata/generated/schema/entity/services/connections/database/iceberg/icebergFileSystem.py +1 -1
  427. metadata/generated/schema/entity/services/connections/database/iceberg/restCatalogConnection.py +1 -1
  428. metadata/generated/schema/entity/services/connections/database/icebergConnection.py +1 -1
  429. metadata/generated/schema/entity/services/connections/database/impalaConnection.py +1 -1
  430. metadata/generated/schema/entity/services/connections/database/mariaDBConnection.py +1 -1
  431. metadata/generated/schema/entity/services/connections/database/mongoDBConnection.py +1 -1
  432. metadata/generated/schema/entity/services/connections/database/mssqlConnection.py +1 -1
  433. metadata/generated/schema/entity/services/connections/database/mysqlConnection.py +1 -1
  434. metadata/generated/schema/entity/services/connections/database/oracleConnection.py +1 -1
  435. metadata/generated/schema/entity/services/connections/database/pinotDBConnection.py +1 -1
  436. metadata/generated/schema/entity/services/connections/database/postgresConnection.py +1 -1
  437. metadata/generated/schema/entity/services/connections/database/prestoConnection.py +1 -1
  438. metadata/generated/schema/entity/services/connections/database/redshiftConnection.py +1 -1
  439. metadata/generated/schema/entity/services/connections/database/salesforceConnection.py +1 -1
  440. metadata/generated/schema/entity/services/connections/database/sapErpConnection.py +1 -1
  441. metadata/generated/schema/entity/services/connections/database/sapHana/__init__.py +1 -1
  442. metadata/generated/schema/entity/services/connections/database/sapHana/sapHanaHDBConnection.py +1 -1
  443. metadata/generated/schema/entity/services/connections/database/sapHana/sapHanaSQLConnection.py +1 -1
  444. metadata/generated/schema/entity/services/connections/database/sapHanaConnection.py +1 -1
  445. metadata/generated/schema/entity/services/connections/database/sasConnection.py +1 -1
  446. metadata/generated/schema/entity/services/connections/database/singleStoreConnection.py +1 -1
  447. metadata/generated/schema/entity/services/connections/database/snowflakeConnection.py +1 -1
  448. metadata/generated/schema/entity/services/connections/database/sqliteConnection.py +1 -1
  449. metadata/generated/schema/entity/services/connections/database/ssasConnection.py +1 -1
  450. metadata/generated/schema/entity/services/connections/database/synapseConnection.py +1 -1
  451. metadata/generated/schema/entity/services/connections/database/teradataConnection.py +1 -1
  452. metadata/generated/schema/entity/services/connections/database/trinoConnection.py +1 -1
  453. metadata/generated/schema/entity/services/connections/database/unityCatalogConnection.py +1 -1
  454. metadata/generated/schema/entity/services/connections/database/verticaConnection.py +1 -1
  455. metadata/generated/schema/entity/services/connections/drive/__init__.py +3 -0
  456. metadata/generated/schema/entity/services/connections/drive/customDriveConnection.py +45 -0
  457. metadata/generated/schema/entity/services/connections/drive/googleDriveConnection.py +82 -0
  458. metadata/generated/schema/entity/services/connections/drive/sharePointConnection.py +79 -0
  459. metadata/generated/schema/entity/services/connections/messaging/__init__.py +1 -1
  460. metadata/generated/schema/entity/services/connections/messaging/customMessagingConnection.py +1 -1
  461. metadata/generated/schema/entity/services/connections/messaging/kafkaConnection.py +1 -1
  462. metadata/generated/schema/entity/services/connections/messaging/kinesisConnection.py +1 -1
  463. metadata/generated/schema/entity/services/connections/messaging/pulsarConnection.py +1 -1
  464. metadata/generated/schema/entity/services/connections/messaging/redpandaConnection.py +1 -1
  465. metadata/generated/schema/entity/services/connections/messaging/saslMechanismType.py +1 -1
  466. metadata/generated/schema/entity/services/connections/metadata/__init__.py +1 -1
  467. metadata/generated/schema/entity/services/connections/metadata/alationConnection.py +1 -1
  468. metadata/generated/schema/entity/services/connections/metadata/alationSinkConnection.py +1 -1
  469. metadata/generated/schema/entity/services/connections/metadata/amundsenConnection.py +1 -1
  470. metadata/generated/schema/entity/services/connections/metadata/atlasConnection.py +1 -1
  471. metadata/generated/schema/entity/services/connections/metadata/metadataESConnection.py +1 -1
  472. metadata/generated/schema/entity/services/connections/metadata/openMetadataConnection.py +1 -1
  473. metadata/generated/schema/entity/services/connections/mlmodel/__init__.py +1 -1
  474. metadata/generated/schema/entity/services/connections/mlmodel/customMlModelConnection.py +1 -1
  475. metadata/generated/schema/entity/services/connections/mlmodel/mlflowConnection.py +1 -1
  476. metadata/generated/schema/entity/services/connections/mlmodel/sageMakerConnection.py +1 -1
  477. metadata/generated/schema/entity/services/connections/mlmodel/sklearnConnection.py +1 -1
  478. metadata/generated/schema/entity/services/connections/mlmodel/vertexaiConnection.py +1 -1
  479. metadata/generated/schema/entity/services/connections/pipeline/__init__.py +1 -1
  480. metadata/generated/schema/entity/services/connections/pipeline/airbyteConnection.py +1 -1
  481. metadata/generated/schema/entity/services/connections/pipeline/airflowConnection.py +1 -1
  482. metadata/generated/schema/entity/services/connections/pipeline/backendConnection.py +1 -1
  483. metadata/generated/schema/entity/services/connections/pipeline/customPipelineConnection.py +1 -1
  484. metadata/generated/schema/entity/services/connections/pipeline/dagsterConnection.py +1 -1
  485. metadata/generated/schema/entity/services/connections/pipeline/databricksPipelineConnection.py +1 -1
  486. metadata/generated/schema/entity/services/connections/pipeline/datafactoryConnection.py +1 -1
  487. metadata/generated/schema/entity/services/connections/pipeline/dbtCloudConnection.py +1 -1
  488. metadata/generated/schema/entity/services/connections/pipeline/domoPipelineConnection.py +1 -1
  489. metadata/generated/schema/entity/services/connections/pipeline/fivetranConnection.py +1 -1
  490. metadata/generated/schema/entity/services/connections/pipeline/flinkConnection.py +1 -1
  491. metadata/generated/schema/entity/services/connections/pipeline/gluePipelineConnection.py +1 -1
  492. metadata/generated/schema/entity/services/connections/pipeline/kafkaConnectConnection.py +1 -1
  493. metadata/generated/schema/entity/services/connections/pipeline/matillion/__init__.py +1 -1
  494. metadata/generated/schema/entity/services/connections/pipeline/matillion/matillionETL.py +1 -1
  495. metadata/generated/schema/entity/services/connections/pipeline/matillionConnection.py +1 -1
  496. metadata/generated/schema/entity/services/connections/pipeline/nifi/__init__.py +1 -1
  497. metadata/generated/schema/entity/services/connections/pipeline/nifi/basicAuth.py +1 -1
  498. metadata/generated/schema/entity/services/connections/pipeline/nifi/clientCertificateAuth.py +1 -1
  499. metadata/generated/schema/entity/services/connections/pipeline/nifiConnection.py +1 -1
  500. metadata/generated/schema/entity/services/connections/pipeline/openLineageConnection.py +1 -1
  501. metadata/generated/schema/entity/services/connections/pipeline/sparkConnection.py +1 -1
  502. metadata/generated/schema/entity/services/connections/pipeline/splineConnection.py +1 -1
  503. metadata/generated/schema/entity/services/connections/pipeline/ssisConnection.py +1 -1
  504. metadata/generated/schema/entity/services/connections/pipeline/stitchConnection.py +1 -1
  505. metadata/generated/schema/entity/services/connections/pipeline/wherescapeConnection.py +1 -1
  506. metadata/generated/schema/entity/services/connections/search/__init__.py +1 -1
  507. metadata/generated/schema/entity/services/connections/search/customSearchConnection.py +1 -1
  508. metadata/generated/schema/entity/services/connections/search/elasticSearch/__init__.py +1 -1
  509. metadata/generated/schema/entity/services/connections/search/elasticSearch/apiAuth.py +1 -1
  510. metadata/generated/schema/entity/services/connections/search/elasticSearch/basicAuth.py +1 -1
  511. metadata/generated/schema/entity/services/connections/search/elasticSearchConnection.py +1 -1
  512. metadata/generated/schema/entity/services/connections/search/openSearchConnection.py +1 -1
  513. metadata/generated/schema/entity/services/connections/security/__init__.py +1 -1
  514. metadata/generated/schema/entity/services/connections/security/ranger/__init__.py +1 -1
  515. metadata/generated/schema/entity/services/connections/security/ranger/basicAuth.py +1 -1
  516. metadata/generated/schema/entity/services/connections/security/rangerConnection.py +1 -1
  517. metadata/generated/schema/entity/services/connections/serviceConnection.py +4 -1
  518. metadata/generated/schema/entity/services/connections/storage/__init__.py +1 -1
  519. metadata/generated/schema/entity/services/connections/storage/adlsConnection.py +1 -1
  520. metadata/generated/schema/entity/services/connections/storage/customStorageConnection.py +1 -1
  521. metadata/generated/schema/entity/services/connections/storage/gcsConnection.py +1 -1
  522. metadata/generated/schema/entity/services/connections/storage/s3Connection.py +1 -1
  523. metadata/generated/schema/entity/services/connections/testConnectionDefinition.py +5 -5
  524. metadata/generated/schema/entity/services/connections/testConnectionResult.py +1 -1
  525. metadata/generated/schema/entity/services/dashboardService.py +4 -4
  526. metadata/generated/schema/entity/services/databaseService.py +7 -4
  527. metadata/generated/schema/entity/services/driveService.py +143 -0
  528. metadata/generated/schema/entity/services/ingestionPipelines/__init__.py +1 -1
  529. metadata/generated/schema/entity/services/ingestionPipelines/ingestionPipeline.py +11 -4
  530. metadata/generated/schema/entity/services/ingestionPipelines/pipelineServiceClientResponse.py +1 -1
  531. metadata/generated/schema/entity/services/ingestionPipelines/reverseIngestionResponse.py +1 -1
  532. metadata/generated/schema/entity/services/ingestionPipelines/status.py +1 -1
  533. metadata/generated/schema/entity/services/messagingService.py +4 -4
  534. metadata/generated/schema/entity/services/metadataService.py +4 -4
  535. metadata/generated/schema/entity/services/mlmodelService.py +4 -4
  536. metadata/generated/schema/entity/services/pipelineService.py +4 -4
  537. metadata/generated/schema/entity/services/searchService.py +4 -4
  538. metadata/generated/schema/entity/services/securityService.py +4 -4
  539. metadata/generated/schema/entity/services/serviceType.py +2 -1
  540. metadata/generated/schema/entity/services/storageService.py +4 -4
  541. metadata/generated/schema/entity/teams/__init__.py +1 -1
  542. metadata/generated/schema/entity/teams/persona.py +11 -4
  543. metadata/generated/schema/entity/teams/role.py +5 -5
  544. metadata/generated/schema/entity/teams/team.py +1 -1
  545. metadata/generated/schema/entity/teams/teamHierarchy.py +1 -1
  546. metadata/generated/schema/entity/teams/user.py +21 -3
  547. metadata/generated/schema/entity/type.py +5 -11
  548. metadata/generated/schema/entity/utils/__init__.py +1 -1
  549. metadata/generated/schema/entity/utils/entitiesCount.py +1 -1
  550. metadata/generated/schema/entity/utils/servicesCount.py +1 -1
  551. metadata/generated/schema/entity/utils/supersetApiConnection.py +1 -1
  552. metadata/generated/schema/events/__init__.py +1 -1
  553. metadata/generated/schema/events/alertMetrics.py +1 -1
  554. metadata/generated/schema/events/api/__init__.py +1 -1
  555. metadata/generated/schema/events/api/createEventSubscription.py +5 -4
  556. metadata/generated/schema/events/api/eventSubscriptionDiagnosticInfo.py +1 -1
  557. metadata/generated/schema/events/api/eventsRecord.py +1 -1
  558. metadata/generated/schema/events/api/testEventSubscriptionDestination.py +1 -1
  559. metadata/generated/schema/events/api/typedEvent.py +1 -1
  560. metadata/generated/schema/events/emailAlertConfig.py +1 -1
  561. metadata/generated/schema/events/eventFilterRule.py +1 -1
  562. metadata/generated/schema/events/eventSubscription.py +5 -5
  563. metadata/generated/schema/events/eventSubscriptionOffset.py +1 -1
  564. metadata/generated/schema/events/failedEvent.py +1 -1
  565. metadata/generated/schema/events/failedEventResponse.py +1 -1
  566. metadata/generated/schema/events/filterResourceDescriptor.py +1 -1
  567. metadata/generated/schema/events/statusContext.py +1 -1
  568. metadata/generated/schema/events/subscriptionResourceDescriptor.py +1 -1
  569. metadata/generated/schema/events/subscriptionStatus.py +1 -1
  570. metadata/generated/schema/events/testDestinationStatus.py +1 -1
  571. metadata/generated/schema/governance/workflows/__init__.py +1 -1
  572. metadata/generated/schema/governance/workflows/elements/__init__.py +1 -1
  573. metadata/generated/schema/governance/workflows/elements/edge.py +1 -1
  574. metadata/generated/schema/governance/workflows/elements/nodeSubType.py +1 -1
  575. metadata/generated/schema/governance/workflows/elements/nodeType.py +1 -1
  576. metadata/generated/schema/governance/workflows/elements/nodes/__init__.py +1 -1
  577. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/__init__.py +1 -1
  578. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/checkEntityAttributesTask.py +1 -1
  579. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/createAndRunIngestionPipelineTask.py +1 -1
  580. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/runAppTask.py +1 -1
  581. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/setEntityCertificationTask.py +1 -1
  582. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/setGlossaryTermStatusTask.py +1 -1
  583. metadata/generated/schema/governance/workflows/elements/nodes/endEvent/__init__.py +1 -1
  584. metadata/generated/schema/governance/workflows/elements/nodes/endEvent/endEvent.py +1 -1
  585. metadata/generated/schema/governance/workflows/elements/nodes/gateway/__init__.py +1 -1
  586. metadata/generated/schema/governance/workflows/elements/nodes/gateway/parallelGateway.py +1 -1
  587. metadata/generated/schema/governance/workflows/elements/nodes/startEvent/__init__.py +1 -1
  588. metadata/generated/schema/governance/workflows/elements/nodes/startEvent/startEvent.py +1 -1
  589. metadata/generated/schema/governance/workflows/elements/nodes/userTask/__init__.py +1 -1
  590. metadata/generated/schema/governance/workflows/elements/nodes/userTask/userApprovalTask.py +1 -1
  591. metadata/generated/schema/governance/workflows/elements/triggers/__init__.py +1 -1
  592. metadata/generated/schema/governance/workflows/elements/triggers/eventBasedEntityTrigger.py +9 -1
  593. metadata/generated/schema/governance/workflows/elements/triggers/noOpTrigger.py +1 -1
  594. metadata/generated/schema/governance/workflows/elements/triggers/periodicBatchEntityTrigger.py +1 -1
  595. metadata/generated/schema/governance/workflows/workflowDefinition.py +1 -1
  596. metadata/generated/schema/governance/workflows/workflowInstance.py +1 -1
  597. metadata/generated/schema/governance/workflows/workflowInstanceState.py +5 -1
  598. metadata/generated/schema/jobs/__init__.py +1 -1
  599. metadata/generated/schema/jobs/backgroundJob.py +1 -1
  600. metadata/generated/schema/jobs/enumCleanupArgs.py +1 -1
  601. metadata/generated/schema/metadataIngestion/__init__.py +1 -1
  602. metadata/generated/schema/metadataIngestion/apiServiceMetadataPipeline.py +1 -1
  603. metadata/generated/schema/metadataIngestion/application.py +1 -1
  604. metadata/generated/schema/metadataIngestion/applicationPipeline.py +1 -1
  605. metadata/generated/schema/metadataIngestion/dashboardServiceMetadataPipeline.py +1 -1
  606. metadata/generated/schema/metadataIngestion/dataInsightPipeline.py +1 -1
  607. metadata/generated/schema/metadataIngestion/databaseServiceAutoClassificationPipeline.py +1 -1
  608. metadata/generated/schema/metadataIngestion/databaseServiceMetadataPipeline.py +1 -1
  609. metadata/generated/schema/metadataIngestion/databaseServiceProfilerPipeline.py +25 -3
  610. metadata/generated/schema/metadataIngestion/databaseServiceQueryLineagePipeline.py +1 -1
  611. metadata/generated/schema/metadataIngestion/databaseServiceQueryUsagePipeline.py +1 -1
  612. metadata/generated/schema/metadataIngestion/dbtPipeline.py +1 -1
  613. metadata/generated/schema/metadataIngestion/dbtconfig/__init__.py +1 -1
  614. metadata/generated/schema/metadataIngestion/dbtconfig/dbtAzureConfig.py +1 -1
  615. metadata/generated/schema/metadataIngestion/dbtconfig/dbtBucketDetails.py +1 -1
  616. metadata/generated/schema/metadataIngestion/dbtconfig/dbtCloudConfig.py +1 -1
  617. metadata/generated/schema/metadataIngestion/dbtconfig/dbtGCSConfig.py +1 -1
  618. metadata/generated/schema/metadataIngestion/dbtconfig/dbtHttpConfig.py +1 -1
  619. metadata/generated/schema/metadataIngestion/dbtconfig/dbtLocalConfig.py +1 -1
  620. metadata/generated/schema/metadataIngestion/dbtconfig/dbtS3Config.py +1 -1
  621. metadata/generated/schema/metadataIngestion/driveServiceMetadataPipeline.py +165 -0
  622. metadata/generated/schema/metadataIngestion/engine/__init__.py +3 -0
  623. metadata/generated/schema/metadataIngestion/engine/nativeEngineConfig.py +23 -0
  624. metadata/generated/schema/metadataIngestion/engine/sparkEngineConfig.py +43 -0
  625. metadata/generated/schema/metadataIngestion/messagingServiceMetadataPipeline.py +1 -1
  626. metadata/generated/schema/metadataIngestion/metadataToElasticSearchPipeline.py +1 -1
  627. metadata/generated/schema/metadataIngestion/mlmodelServiceMetadataPipeline.py +1 -1
  628. metadata/generated/schema/metadataIngestion/pipelineServiceMetadataPipeline.py +1 -1
  629. metadata/generated/schema/metadataIngestion/reverseIngestionPipeline.py +1 -1
  630. metadata/generated/schema/metadataIngestion/reverseingestionconfig/__init__.py +1 -1
  631. metadata/generated/schema/metadataIngestion/reverseingestionconfig/descriptionConfig.py +1 -1
  632. metadata/generated/schema/metadataIngestion/reverseingestionconfig/ownerConfig.py +1 -1
  633. metadata/generated/schema/metadataIngestion/reverseingestionconfig/tagsConfig.py +1 -1
  634. metadata/generated/schema/metadataIngestion/searchServiceMetadataPipeline.py +1 -1
  635. metadata/generated/schema/metadataIngestion/securityServiceMetadataPipeline.py +1 -1
  636. metadata/generated/schema/metadataIngestion/storage/__init__.py +1 -1
  637. metadata/generated/schema/metadataIngestion/storage/containerMetadataConfig.py +1 -1
  638. metadata/generated/schema/metadataIngestion/storage/manifestMetadataConfig.py +1 -1
  639. metadata/generated/schema/metadataIngestion/storage/storageBucketDetails.py +1 -1
  640. metadata/generated/schema/metadataIngestion/storage/storageMetadataADLSConfig.py +1 -1
  641. metadata/generated/schema/metadataIngestion/storage/storageMetadataGCSConfig.py +1 -1
  642. metadata/generated/schema/metadataIngestion/storage/storageMetadataHttpConfig.py +1 -1
  643. metadata/generated/schema/metadataIngestion/storage/storageMetadataLocalConfig.py +1 -1
  644. metadata/generated/schema/metadataIngestion/storage/storageMetadataS3Config.py +1 -1
  645. metadata/generated/schema/metadataIngestion/storageServiceMetadataPipeline.py +1 -1
  646. metadata/generated/schema/metadataIngestion/testSuitePipeline.py +1 -1
  647. metadata/generated/schema/metadataIngestion/workflow.py +3 -1
  648. metadata/generated/schema/monitoring/__init__.py +1 -1
  649. metadata/generated/schema/monitoring/eventMonitorProvider.py +1 -1
  650. metadata/generated/schema/scim/__init__.py +1 -1
  651. metadata/generated/schema/scim/scimConfiguration.py +1 -1
  652. metadata/generated/schema/search/__init__.py +1 -1
  653. metadata/generated/schema/search/aggregationRequest.py +1 -1
  654. metadata/generated/schema/search/searchRequest.py +1 -1
  655. metadata/generated/schema/security/__init__.py +1 -1
  656. metadata/generated/schema/security/client/__init__.py +1 -1
  657. metadata/generated/schema/security/client/auth0SSOClientConfig.py +1 -1
  658. metadata/generated/schema/security/client/azureSSOClientConfig.py +1 -1
  659. metadata/generated/schema/security/client/customOidcSSOClientConfig.py +1 -1
  660. metadata/generated/schema/security/client/googleSSOClientConfig.py +1 -1
  661. metadata/generated/schema/security/client/oidcClientConfig.py +1 -1
  662. metadata/generated/schema/security/client/oktaSSOClientConfig.py +1 -1
  663. metadata/generated/schema/security/client/openMetadataJWTClientConfig.py +1 -1
  664. metadata/generated/schema/security/client/samlSSOClientConfig.py +1 -1
  665. metadata/generated/schema/security/credentials/__init__.py +1 -1
  666. metadata/generated/schema/security/credentials/accessTokenAuth.py +1 -1
  667. metadata/generated/schema/security/credentials/apiAccessTokenAuth.py +1 -1
  668. metadata/generated/schema/security/credentials/awsCredentials.py +1 -1
  669. metadata/generated/schema/security/credentials/azureCredentials.py +1 -1
  670. metadata/generated/schema/security/credentials/basicAuth.py +1 -1
  671. metadata/generated/schema/security/credentials/bitbucketCredentials.py +1 -1
  672. metadata/generated/schema/security/credentials/gcpCredentials.py +1 -1
  673. metadata/generated/schema/security/credentials/gcpExternalAccount.py +1 -1
  674. metadata/generated/schema/security/credentials/gcpValues.py +1 -1
  675. metadata/generated/schema/security/credentials/gitCredentials.py +1 -1
  676. metadata/generated/schema/security/credentials/githubCredentials.py +1 -1
  677. metadata/generated/schema/security/credentials/gitlabCredentials.py +1 -1
  678. metadata/generated/schema/security/credentials/kubernetesCredentials.py +40 -0
  679. metadata/generated/schema/security/sasl/__init__.py +1 -1
  680. metadata/generated/schema/security/sasl/saslClientConfig.py +1 -1
  681. metadata/generated/schema/security/secrets/__init__.py +1 -1
  682. metadata/generated/schema/security/secrets/secretsManagerClientLoader.py +1 -1
  683. metadata/generated/schema/security/secrets/secretsManagerConfiguration.py +1 -1
  684. metadata/generated/schema/security/secrets/secretsManagerProvider.py +2 -1
  685. metadata/generated/schema/security/securityConfiguration.py +1 -1
  686. metadata/generated/schema/security/ssl/__init__.py +1 -1
  687. metadata/generated/schema/security/ssl/validateSSLClientConfig.py +1 -1
  688. metadata/generated/schema/security/ssl/verifySSLConfig.py +1 -1
  689. metadata/generated/schema/settings/__init__.py +1 -1
  690. metadata/generated/schema/settings/settings.py +4 -1
  691. metadata/generated/schema/system/__init__.py +1 -1
  692. metadata/generated/schema/system/entityError.py +1 -1
  693. metadata/generated/schema/system/eventPublisherJob.py +1 -1
  694. metadata/generated/schema/system/indexingError.py +1 -1
  695. metadata/generated/schema/system/limitsResponse.py +1 -1
  696. metadata/generated/schema/system/ui/__init__.py +1 -1
  697. metadata/generated/schema/system/ui/knowledgePanel.py +1 -1
  698. metadata/generated/schema/system/ui/navigationItem.py +1 -1
  699. metadata/generated/schema/system/ui/page.py +5 -4
  700. metadata/generated/schema/system/ui/tab.py +1 -1
  701. metadata/generated/schema/system/ui/uiCustomization.py +9 -2
  702. metadata/generated/schema/system/validationResponse.py +1 -1
  703. metadata/generated/schema/tests/__init__.py +1 -1
  704. metadata/generated/schema/tests/assigned.py +1 -1
  705. metadata/generated/schema/tests/basic.py +1 -1
  706. metadata/generated/schema/tests/customMetric.py +1 -1
  707. metadata/generated/schema/tests/dataQualityReport.py +1 -1
  708. metadata/generated/schema/tests/resolved.py +1 -1
  709. metadata/generated/schema/tests/testCase.py +4 -4
  710. metadata/generated/schema/tests/testCaseResolutionStatus.py +1 -1
  711. metadata/generated/schema/tests/testDefinition.py +5 -5
  712. metadata/generated/schema/tests/testSuite.py +11 -4
  713. metadata/generated/schema/type/__init__.py +1 -1
  714. metadata/generated/schema/type/apiSchema.py +1 -1
  715. metadata/generated/schema/type/assetCertification.py +1 -1
  716. metadata/generated/schema/type/auditLog.py +1 -1
  717. metadata/generated/schema/type/basic.py +43 -1
  718. metadata/generated/schema/type/bulkOperationResult.py +1 -1
  719. metadata/generated/schema/type/changeEvent.py +5 -7
  720. metadata/generated/schema/type/changeEventType.py +1 -1
  721. metadata/generated/schema/type/changeSummaryMap.py +1 -1
  722. metadata/generated/schema/type/collectionDescriptor.py +1 -1
  723. metadata/generated/schema/type/contractExecutionStatus.py +16 -0
  724. metadata/generated/schema/type/csvDocumentation.py +1 -1
  725. metadata/generated/schema/type/csvErrorType.py +1 -1
  726. metadata/generated/schema/type/csvFile.py +1 -1
  727. metadata/generated/schema/type/csvImportResult.py +1 -1
  728. metadata/generated/schema/type/customProperties/__init__.py +1 -1
  729. metadata/generated/schema/type/customProperties/complexTypes.py +1 -1
  730. metadata/generated/schema/type/customProperties/enumConfig.py +1 -1
  731. metadata/generated/schema/type/customProperties/tableConfig.py +1 -1
  732. metadata/generated/schema/type/customProperty.py +1 -1
  733. metadata/generated/schema/type/dailyCount.py +1 -1
  734. metadata/generated/schema/type/databaseConnectionConfig.py +1 -1
  735. metadata/generated/schema/type/entityHierarchy.py +1 -1
  736. metadata/generated/schema/type/entityHistory.py +1 -1
  737. metadata/generated/schema/type/entityLineage.py +1 -1
  738. metadata/generated/schema/type/entityReference.py +1 -1
  739. metadata/generated/schema/type/entityReferenceList.py +1 -1
  740. metadata/generated/schema/type/{entityRelationship.py → entityRelationship/__init__.py} +2 -2
  741. metadata/generated/schema/type/entityRelationship/nodeInformation.py +25 -0
  742. metadata/generated/schema/type/entityUsage.py +1 -1
  743. metadata/generated/schema/type/filterPattern.py +1 -1
  744. metadata/generated/schema/type/function.py +1 -1
  745. metadata/generated/schema/type/include.py +1 -1
  746. metadata/generated/schema/type/jdbcConnection.py +1 -1
  747. metadata/generated/schema/type/layerPaging.py +24 -0
  748. metadata/generated/schema/type/lifeCycle.py +1 -1
  749. metadata/generated/schema/type/paging.py +1 -1
  750. metadata/generated/schema/type/personaPreferences.py +48 -0
  751. metadata/generated/schema/type/profile.py +1 -1
  752. metadata/generated/schema/type/queryParserData.py +1 -1
  753. metadata/generated/schema/type/reaction.py +1 -1
  754. metadata/generated/schema/type/schedule.py +1 -1
  755. metadata/generated/schema/type/schema.py +1 -1
  756. metadata/generated/schema/type/tableQuery.py +1 -1
  757. metadata/generated/schema/type/tableUsageCount.py +1 -1
  758. metadata/generated/schema/type/tagLabel.py +1 -1
  759. metadata/generated/schema/type/usageDetails.py +1 -1
  760. metadata/generated/schema/type/usageRequest.py +1 -1
  761. metadata/generated/schema/type/votes.py +1 -1
  762. metadata/ingestion/api/parser.py +13 -0
  763. metadata/ingestion/connections/connection.py +18 -1
  764. metadata/ingestion/lineage/sql_lineage.py +21 -0
  765. metadata/ingestion/models/custom_properties.py +3 -3
  766. metadata/ingestion/models/patch_request.py +36 -4
  767. metadata/ingestion/ometa/mixins/data_contract_mixin.py +205 -0
  768. metadata/ingestion/ometa/mixins/patch_mixin.py +131 -55
  769. metadata/ingestion/ometa/ometa_api.py +4 -1
  770. metadata/ingestion/ometa/routes.py +32 -0
  771. metadata/ingestion/sink/metadata_rest.py +51 -0
  772. metadata/ingestion/source/api/rest/metadata.py +1 -0
  773. metadata/ingestion/source/connections.py +1 -1
  774. metadata/ingestion/source/dashboard/superset/connection.py +5 -7
  775. metadata/ingestion/source/dashboard/tableau/client.py +4 -4
  776. metadata/ingestion/source/dashboard/tableau/metadata.py +1 -0
  777. metadata/ingestion/source/database/datalake/connection.py +51 -73
  778. metadata/ingestion/source/database/datalake/metadata.py +3 -4
  779. metadata/ingestion/source/database/datalake/service_spec.py +2 -0
  780. metadata/ingestion/source/database/dbt/constants.py +17 -1
  781. metadata/ingestion/source/database/dbt/dbt_service.py +30 -1
  782. metadata/ingestion/source/database/dbt/metadata.py +135 -0
  783. metadata/ingestion/source/database/deltalake/clients/pyspark.py +1 -1
  784. metadata/ingestion/source/database/exasol/connection.py +14 -3
  785. metadata/ingestion/source/database/exasol/queries.py +13 -0
  786. metadata/ingestion/source/database/mysql/connection.py +13 -19
  787. metadata/ingestion/source/database/oracle/metadata.py +1 -1
  788. metadata/ingestion/source/database/oracle/utils.py +19 -0
  789. metadata/ingestion/source/database/postgres/connection.py +51 -48
  790. metadata/ingestion/source/database/postgres/service_spec.py +2 -0
  791. metadata/ingestion/source/database/sample_data.py +661 -2
  792. metadata/ingestion/source/database/snowflake/connection.py +196 -162
  793. metadata/ingestion/source/database/snowflake/service_spec.py +2 -0
  794. metadata/ingestion/source/database/trino/connection.py +279 -125
  795. metadata/ingestion/source/database/trino/service_spec.py +2 -0
  796. metadata/ingestion/source/database/unitycatalog/connection.py +20 -3
  797. metadata/ingestion/source/database/unitycatalog/queries.py +37 -1
  798. metadata/ingestion/source/database/unitycatalog/query_parser.py +4 -0
  799. metadata/ingestion/source/database/unitycatalog/usage.py +21 -35
  800. metadata/ingestion/source/drive/drive_service.py +648 -0
  801. metadata/ingestion/source/drives/__init__.py +13 -0
  802. metadata/ingestion/source/pipeline/airflow/metadata.py +33 -10
  803. metadata/ingestion/source/pipeline/fivetran/metadata.py +2 -2
  804. metadata/profiler/processor/processor.py +18 -3
  805. metadata/profiler/source/database/base/profiler_resolver.py +5 -2
  806. metadata/profiler/source/database/base/profiler_source.py +8 -1
  807. metadata/profiler/source/profiler_source_interface.py +11 -2
  808. metadata/sampler/pandas/sampler.py +1 -1
  809. metadata/sampler/processor.py +19 -3
  810. metadata/sampler/sampler_interface.py +7 -0
  811. metadata/utils/credentials.py +35 -0
  812. metadata/utils/db_utils.py +4 -0
  813. metadata/utils/filters.py +60 -0
  814. metadata/utils/fqn.py +79 -0
  815. metadata/utils/logger.py +9 -0
  816. metadata/utils/metadata_service_helper.py +1 -1
  817. metadata/utils/secrets/kubernetes_secrets_manager.py +176 -0
  818. metadata/utils/secrets/secrets_manager_factory.py +3 -0
  819. metadata/workflow/ingestion.py +15 -2
  820. {openmetadata_ingestion-1.8.9.0.dist-info → openmetadata_ingestion-1.9.0.0.dist-info}/METADATA +542 -535
  821. {openmetadata_ingestion-1.8.9.0.dist-info → openmetadata_ingestion-1.9.0.0.dist-info}/RECORD +825 -780
  822. metadata/ingestion/source/database/extended_sample_data.py +0 -534
  823. {openmetadata_ingestion-1.8.9.0.dist-info → openmetadata_ingestion-1.9.0.0.dist-info}/LICENSE +0 -0
  824. {openmetadata_ingestion-1.8.9.0.dist-info → openmetadata_ingestion-1.9.0.0.dist-info}/WHEEL +0 -0
  825. {openmetadata_ingestion-1.8.9.0.dist-info → openmetadata_ingestion-1.9.0.0.dist-info}/entry_points.txt +0 -0
  826. {openmetadata_ingestion-1.8.9.0.dist-info → openmetadata_ingestion-1.9.0.0.dist-info}/top_level.txt +0 -0
metadata/__init__.py CHANGED
@@ -13,6 +13,7 @@ OpenMetadata package initialization.
13
13
  """
14
14
  from typing import Type
15
15
 
16
+ from metadata.profiler.api.models import ProfilerProcessorConfig
16
17
  from metadata.profiler.metrics.registry import Metrics
17
18
  from metadata.profiler.registry import MetricRegistry
18
19
  from metadata.profiler.source.database.base.profiler_resolver import (
@@ -29,3 +30,4 @@ container = DependencyContainer()
29
30
  container.register(SourceLoader, DefaultSourceLoader)
30
31
  container.register(Type[MetricRegistry], lambda: Metrics)
31
32
  container.register(Type[ProfilerResolver], lambda: DefaultProfilerResolver)
33
+ container.register(Type[ProfilerProcessorConfig], lambda: ProfilerProcessorConfig)
@@ -1,6 +1,6 @@
1
1
  """Models for the TableDiff test case"""
2
2
 
3
- from typing import List, Optional
3
+ from typing import List, Optional, Union
4
4
 
5
5
  from pydantic import BaseModel
6
6
 
@@ -12,7 +12,7 @@ from metadata.ingestion.models.custom_pydantic import CustomSecretStr
12
12
 
13
13
 
14
14
  class TableParameter(BaseModel):
15
- serviceUrl: str
15
+ serviceUrl: Union[str, dict]
16
16
  path: str
17
17
  columns: List[Column]
18
18
  database_service_type: DatabaseServiceType
@@ -1,15 +1,52 @@
1
1
  """Base class for param setter logic for table data diff"""
2
2
 
3
- from typing import List, Optional, Set
3
+ from typing import List, Optional, Set, Type, Union
4
4
  from urllib.parse import urlparse
5
5
 
6
6
  from metadata.data_quality.validations.models import Column, TableParameter
7
7
  from metadata.generated.schema.entity.data.table import Table
8
8
  from metadata.generated.schema.entity.services.databaseService import DatabaseService
9
+ from metadata.generated.schema.entity.services.serviceType import ServiceType
10
+ from metadata.ingestion.connections.connection import BaseConnection
9
11
  from metadata.ingestion.source.connections import get_connection
10
12
  from metadata.profiler.orm.registry import Dialects
11
13
  from metadata.utils import fqn
12
14
  from metadata.utils.collections import CaseInsensitiveList
15
+ from metadata.utils.importer import get_module_dir, import_from_module
16
+
17
+
18
+ # TODO: Refactor to avoid the circular import that makes us unable to use the BaseSpec class and the helper methods.
19
+ # Using the specs class method causes circular import as TestSuiteInterface
20
+ # imports RuntimeParameterSetter
21
+ class ServiceSpecPatch:
22
+ def __init__(self, service_type: ServiceType, source_type: str):
23
+ self.service_type = service_type
24
+ self.source_type = source_type
25
+ self._service_spec = None
26
+
27
+ @property
28
+ def service_spec(self):
29
+ if self._service_spec is None:
30
+ self._service_spec = self.get_for_source()
31
+ return self._service_spec
32
+
33
+ def get_for_source(self):
34
+ return import_from_module(
35
+ "metadata.{}.source.{}.{}.{}.ServiceSpec".format( # pylint: disable=C0209
36
+ "ingestion",
37
+ self.service_type.name.lower(),
38
+ get_module_dir(self.source_type),
39
+ "service_spec",
40
+ )
41
+ )
42
+
43
+ def get_data_diff_class(self) -> Type["BaseTableParameter"]:
44
+ return import_from_module(self.service_spec.data_diff)
45
+
46
+ def get_connection_class(self) -> Optional[Type[BaseConnection]]:
47
+ if self.service_spec.connection_class:
48
+ return import_from_module(self.service_spec.connection_class)
49
+ return None
13
50
 
14
51
 
15
52
  class BaseTableParameter:
@@ -22,7 +59,7 @@ class BaseTableParameter:
22
59
  key_columns,
23
60
  extra_columns,
24
61
  case_sensitive_columns,
25
- service_url: Optional[str],
62
+ service_url: Optional[Union[str, dict]],
26
63
  ) -> TableParameter:
27
64
  """Getter table parameter for the table diff test.
28
65
 
@@ -62,10 +99,40 @@ class BaseTableParameter:
62
99
  "___SERVICE___", "__DATABASE__", schema, table
63
100
  ).replace("___SERVICE___.__DATABASE__.", "")
64
101
 
102
+ @staticmethod
103
+ def _get_service_connection_config(
104
+ service_connection_config,
105
+ ) -> Optional[Union[str, dict]]:
106
+ """
107
+ Get the connection dictionary for the service.
108
+ """
109
+ service_spec_patch = ServiceSpecPatch(
110
+ ServiceType.Database, service_connection_config.type.value.lower()
111
+ )
112
+
113
+ try:
114
+ connection_class = service_spec_patch.get_connection_class()
115
+ if not connection_class:
116
+ return (
117
+ str(get_connection(service_connection_config).url)
118
+ if service_connection_config
119
+ else None
120
+ )
121
+ connection = connection_class(service_connection_config)
122
+ return connection.get_connection_dict()
123
+ except (ValueError, AttributeError, NotImplementedError):
124
+ return (
125
+ str(get_connection(service_connection_config).url)
126
+ if service_connection_config
127
+ else None
128
+ )
129
+
65
130
  @staticmethod
66
131
  def get_data_diff_url(
67
- db_service: DatabaseService, table_fqn, override_url: Optional[str] = None
68
- ) -> str:
132
+ db_service: DatabaseService,
133
+ table_fqn,
134
+ override_url: Optional[Union[str, dict]] = None,
135
+ ) -> Union[str, dict]:
69
136
  """Get the url for the data diff service.
70
137
 
71
138
  Args:
@@ -77,10 +144,16 @@ class BaseTableParameter:
77
144
  str: The url for the data diff service
78
145
  """
79
146
  source_url = (
80
- str(get_connection(db_service.connection.config).url)
147
+ BaseTableParameter._get_service_connection_config(
148
+ db_service.connection.config
149
+ )
81
150
  if not override_url
82
151
  else override_url
83
152
  )
153
+ if isinstance(source_url, dict):
154
+ source_url["driver"] = source_url["driver"].split("+")[0]
155
+ return source_url
156
+
84
157
  url = urlparse(source_url)
85
158
  # remove the driver name from the url because table-diff doesn't support it
86
159
  kwargs = {"scheme": url.scheme.split("+")[0]}
@@ -11,10 +11,13 @@
11
11
  """Module that defines the TableDiffParamsSetter class."""
12
12
  from ast import literal_eval
13
13
  from typing import List, Optional, Set
14
- from urllib.parse import urlparse
15
14
 
16
15
  from metadata.data_quality.validations import utils
17
16
  from metadata.data_quality.validations.models import Column, TableDiffRuntimeParameters
17
+ from metadata.data_quality.validations.runtime_param_setter.base_diff_params_setter import (
18
+ BaseTableParameter,
19
+ ServiceSpecPatch,
20
+ )
18
21
  from metadata.data_quality.validations.runtime_param_setter.param_setter import (
19
22
  RuntimeParameterSetter,
20
23
  )
@@ -22,24 +25,8 @@ from metadata.generated.schema.entity.data.table import Constraint, Table
22
25
  from metadata.generated.schema.entity.services.databaseService import DatabaseService
23
26
  from metadata.generated.schema.entity.services.serviceType import ServiceType
24
27
  from metadata.generated.schema.tests.testCase import TestCase
25
- from metadata.ingestion.source.connections import get_connection
26
- from metadata.profiler.orm.registry import Dialects
27
28
  from metadata.utils import fqn
28
29
  from metadata.utils.collections import CaseInsensitiveList
29
- from metadata.utils.importer import get_module_dir, import_from_module
30
-
31
-
32
- def get_for_source(
33
- service_type: ServiceType, source_type: str, from_: str = "ingestion"
34
- ):
35
- return import_from_module(
36
- "metadata.{}.source.{}.{}.{}.ServiceSpec".format( # pylint: disable=C0209
37
- from_,
38
- service_type.name.lower(),
39
- get_module_dir(source_type),
40
- "service_spec",
41
- )
42
- )
43
30
 
44
31
 
45
32
  class TableDiffParamsSetter(RuntimeParameterSetter):
@@ -62,22 +49,17 @@ class TableDiffParamsSetter(RuntimeParameterSetter):
62
49
  }
63
50
 
64
51
  def get_parameters(self, test_case) -> TableDiffRuntimeParameters:
65
- # Using the specs class method causes circular import as TestSuiteInterface
66
- # imports RuntimeParameterSetter
67
- cls_path = get_for_source(
68
- ServiceType.Database,
69
- source_type=self.service_connection_config.type.value.lower(),
70
- ).data_diff
71
- cls = import_from_module(cls_path)()
52
+ service_spec_patch = ServiceSpecPatch(
53
+ ServiceType.Database, self.service_connection_config.type.value.lower()
54
+ )
55
+ cls = service_spec_patch.get_data_diff_class()()
72
56
 
73
57
  service1: DatabaseService = self.ometa_client.get_by_id(
74
58
  DatabaseService, self.table_entity.service.id, nullable=False
75
59
  )
76
60
 
77
- service1_url = (
78
- str(get_connection(self.service_connection_config).url)
79
- if self.service_connection_config
80
- else None
61
+ service1_url = BaseTableParameter._get_service_connection_config(
62
+ self.service_connection_config
81
63
  )
82
64
 
83
65
  table2_fqn = self.get_parameter(test_case, "table2")
@@ -209,41 +191,6 @@ class TableDiffParamsSetter(RuntimeParameterSetter):
209
191
  (p.value for p in test_case.parameterValues if p.name == key), default
210
192
  )
211
193
 
212
- @staticmethod
213
- def get_data_diff_url(
214
- db_service: DatabaseService, table_fqn, override_url: Optional[str] = None
215
- ) -> str:
216
- """Get the url for the data diff service.
217
-
218
- Args:
219
- db_service (DatabaseService): The database service entity
220
- table_fqn (str): The fully qualified name of the table
221
- override_url (Optional[str], optional): Override the url. Defaults to None.
222
-
223
- Returns:
224
- str: The url for the data diff service
225
- """
226
- source_url = (
227
- str(get_connection(db_service.connection.config).url)
228
- if not override_url
229
- else override_url
230
- )
231
- url = urlparse(source_url)
232
- # remove the driver name from the url because table-diff doesn't support it
233
- kwargs = {"scheme": url.scheme.split("+")[0]}
234
- service, database, schema, table = fqn.split( # pylint: disable=unused-variable
235
- table_fqn
236
- )
237
- # path needs to include the database AND schema in some of the connectors
238
- if hasattr(db_service.connection.config, "supportsDatabase"):
239
- kwargs["path"] = f"/{database}"
240
- # this can be found by going to:
241
- # https://github.com/open-metadata/collate-data-diff/blob/main/data_diff/databases/<connector>.py
242
- # and looking at the `CONNECT_URI_HELPER` variable
243
- if kwargs["scheme"] in {Dialects.MSSQL, Dialects.Snowflake, Dialects.Trino}:
244
- kwargs["path"] = f"/{database}/{schema}"
245
- return url._replace(**kwargs).geturl()
246
-
247
194
  @staticmethod
248
195
  def get_data_diff_table_path(table_fqn: str) -> str:
249
196
  service, database, schema, table = fqn.split( # pylint: disable=unused-variable
@@ -508,7 +508,10 @@ class TableDiffValidator(BaseTestValidator, SQAValidatorMixin):
508
508
  ("table1.serviceUrl", self.runtime_params.table1.serviceUrl),
509
509
  ("table2.serviceUrl", self.runtime_params.table2.serviceUrl),
510
510
  ]:
511
- dialect = urlparse(param).scheme
511
+ if isinstance(param, dict):
512
+ dialect = param.get("driver")
513
+ else:
514
+ dialect = urlparse(param).scheme
512
515
  if dialect not in SUPPORTED_DIALECTS:
513
516
  raise UnsupportedDialectError(name, dialect)
514
517
 
@@ -1,3 +1,3 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: schema
3
- # timestamp: 2025-08-01T13:07:02+00:00
3
+ # timestamp: 2025-08-08T13:50:05+00:00
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: analytics/basic.json
3
- # timestamp: 2025-08-01T13:07:02+00:00
3
+ # timestamp: 2025-08-08T13:50:05+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: analytics/reportData.json
3
- # timestamp: 2025-08-01T13:07:02+00:00
3
+ # timestamp: 2025-08-08T13:50:05+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,3 +1,3 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: schema
3
- # timestamp: 2025-08-01T13:07:02+00:00
3
+ # timestamp: 2025-08-08T13:50:05+00:00
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: analytics/reportDataType/aggregatedCostAnalysisReportData.json
3
- # timestamp: 2025-08-01T13:07:02+00:00
3
+ # timestamp: 2025-08-08T13:50:05+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: analytics/reportDataType/entityReportData.json
3
- # timestamp: 2025-08-01T13:07:02+00:00
3
+ # timestamp: 2025-08-08T13:50:05+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: analytics/reportDataType/rawCostAnalysisReportData.json
3
- # timestamp: 2025-08-01T13:07:02+00:00
3
+ # timestamp: 2025-08-08T13:50:05+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: analytics/reportDataType/webAnalyticEntityViewReportData.json
3
- # timestamp: 2025-08-01T13:07:02+00:00
3
+ # timestamp: 2025-08-08T13:50:05+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: analytics/reportDataType/webAnalyticUserActivityReportData.json
3
- # timestamp: 2025-08-01T13:07:02+00:00
3
+ # timestamp: 2025-08-08T13:50:05+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: analytics/webAnalyticEvent.json
3
- # timestamp: 2025-08-01T13:07:02+00:00
3
+ # timestamp: 2025-08-08T13:50:05+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -11,7 +11,7 @@ from typing_extensions import Annotated
11
11
 
12
12
  from metadata.ingestion.models.custom_pydantic import BaseModel
13
13
 
14
- from ..type import basic, entityHistory, entityReference, entityReferenceList
14
+ from ..type import basic, entityHistory, entityReferenceList
15
15
  from . import basic as basic_1
16
16
 
17
17
 
@@ -83,10 +83,10 @@ class WebAnalyticEvent(BaseModel):
83
83
  description='Weather the event is enable (i.e. data is being collected)',
84
84
  ),
85
85
  ]
86
- domain: Annotated[
87
- Optional[entityReference.EntityReference],
86
+ domains: Annotated[
87
+ Optional[entityReferenceList.EntityReferenceList],
88
88
  Field(
89
89
  None,
90
- description='Domain the asset belongs to. When not set, the asset inherits the domain from the parent it belongs to.',
90
+ description='Domains the asset belongs to. When not set, the asset inherits the domain from the parent it belongs to.',
91
91
  ),
92
92
  ]
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: analytics/webAnalyticEventData.json
3
- # timestamp: 2025-08-01T13:07:02+00:00
3
+ # timestamp: 2025-08-08T13:50:05+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,3 +1,3 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: schema
3
- # timestamp: 2025-08-01T13:07:02+00:00
3
+ # timestamp: 2025-08-08T13:50:05+00:00
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: analytics/webAnalyticEventType/customEvent.json
3
- # timestamp: 2025-08-01T13:07:02+00:00
3
+ # timestamp: 2025-08-08T13:50:05+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: analytics/webAnalyticEventType/pageViewEvent.json
3
- # timestamp: 2025-08-01T13:07:02+00:00
3
+ # timestamp: 2025-08-08T13:50:05+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,3 +1,3 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: schema
3
- # timestamp: 2025-08-01T13:07:02+00:00
3
+ # timestamp: 2025-08-08T13:50:05+00:00
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: api/addGlossaryToAssetsRequest.json
3
- # timestamp: 2025-08-01T13:07:02+00:00
3
+ # timestamp: 2025-08-08T13:50:05+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: api/addTagToAssetsRequest.json
3
- # timestamp: 2025-08-01T13:07:02+00:00
3
+ # timestamp: 2025-08-08T13:50:05+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,3 +1,3 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: schema
3
- # timestamp: 2025-08-01T13:07:02+00:00
3
+ # timestamp: 2025-08-08T13:50:05+00:00
@@ -1,10 +1,10 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: api/analytics/createWebAnalyticEvent.json
3
- # timestamp: 2025-08-01T13:07:02+00:00
3
+ # timestamp: 2025-08-08T13:50:05+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
7
- from typing import Optional
7
+ from typing import List, Optional
8
8
 
9
9
  from pydantic import ConfigDict, Field
10
10
  from typing_extensions import Annotated
@@ -38,9 +38,10 @@ class CreateWebAnalyticEvent(BaseModel):
38
38
  Optional[entityReferenceList.EntityReferenceList],
39
39
  Field(None, description='Owners of this report definition'),
40
40
  ]
41
- domain: Annotated[
42
- Optional[str],
41
+ domains: Annotated[
42
+ Optional[List[str]],
43
43
  Field(
44
- None, description='Fully qualified name of the domain the Table belongs to.'
44
+ None,
45
+ description='Fully qualified names of the domains the Web Analytic Event belongs to.',
45
46
  ),
46
47
  ]
@@ -1,3 +1,3 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: schema
3
- # timestamp: 2025-08-01T13:07:02+00:00
3
+ # timestamp: 2025-08-08T13:50:05+00:00
@@ -1,10 +1,10 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: api/automations/createWorkflow.json
3
- # timestamp: 2025-08-01T13:07:02+00:00
3
+ # timestamp: 2025-08-08T13:50:05+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
7
- from typing import Optional, Union
7
+ from typing import List, Optional, Union
8
8
 
9
9
  from pydantic import ConfigDict, Field
10
10
  from typing_extensions import Annotated
@@ -62,9 +62,10 @@ class CreateWorkflowRequest(BaseModel):
62
62
  Optional[entityReferenceList.EntityReferenceList],
63
63
  Field(None, description='Owners of this workflow.'),
64
64
  ]
65
- domain: Annotated[
66
- Optional[str],
65
+ domains: Annotated[
66
+ Optional[List[str]],
67
67
  Field(
68
- None, description='Fully qualified name of the domain the Table belongs to.'
68
+ None,
69
+ description='Fully qualified names of the domains the Workflow belongs to.',
69
70
  ),
70
71
  ]
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: api/bulkAssets.json
3
- # timestamp: 2025-08-01T13:07:02+00:00
3
+ # timestamp: 2025-08-08T13:50:05+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,3 +1,3 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: schema
3
- # timestamp: 2025-08-01T13:07:02+00:00
3
+ # timestamp: 2025-08-08T13:50:05+00:00
@@ -1,10 +1,10 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: api/classification/createClassification.json
3
- # timestamp: 2025-08-01T13:07:02+00:00
3
+ # timestamp: 2025-08-08T13:50:05+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
7
- from typing import Optional
7
+ from typing import List, Optional
8
8
 
9
9
  from pydantic import ConfigDict, Field
10
10
  from typing_extensions import Annotated
@@ -34,10 +34,11 @@ class CreateClassificationRequest(BaseModel):
34
34
  description='Tags under this classification are mutually exclusive. When mutually exclusive is `true` the tags from this classification are used to **classify** an entity. An entity can only be in one class - example, it can only be either `tier1` or `tier2` and not both. When mutually exclusive is `false`, the tags from this classification are used to **categorize** an entity. An entity can be in multiple categories simultaneously - example a customer can be `newCustomer` and `atRisk` simultaneously.',
35
35
  ),
36
36
  ]
37
- domain: Annotated[
38
- Optional[str],
37
+ domains: Annotated[
38
+ Optional[List[str]],
39
39
  Field(
40
- None, description='Fully qualified name of the domain the Table belongs to.'
40
+ None,
41
+ description='Fully qualified names of the domains the Classification belongs to.',
41
42
  ),
42
43
  ]
43
44
  owners: Annotated[
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: api/classification/createTag.json
3
- # timestamp: 2025-08-01T13:07:02+00:00
3
+ # timestamp: 2025-08-08T13:50:05+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -51,10 +51,10 @@ class CreateTagRequest(BaseModel):
51
51
  description='Children tags under this group are mutually exclusive. When mutually exclusive is `true` the tags from this group are used to **classify** an entity. An entity can only be in one class - example, it can only be either `tier1` or `tier2` and not both. When mutually exclusive is `false`, the tags from this group are used to **categorize** an entity. An entity can be in multiple categories simultaneously - example a customer can be `newCustomer` and `atRisk` simultaneously.',
52
52
  ),
53
53
  ]
54
- domain: Annotated[
55
- Optional[str],
54
+ domains: Annotated[
55
+ Optional[List[str]],
56
56
  Field(
57
- None, description='Fully qualified name of the domain the Table belongs to.'
57
+ None, description='Fully qualified names of the domains the Tag belongs to.'
58
58
  ),
59
59
  ]
60
60
  owners: Annotated[
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: api/classification/loadTags.json
3
- # timestamp: 2025-08-01T13:07:02+00:00
3
+ # timestamp: 2025-08-08T13:50:05+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,10 +1,10 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: api/createBot.json
3
- # timestamp: 2025-08-01T13:07:02+00:00
3
+ # timestamp: 2025-08-08T13:50:05+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
7
- from typing import Optional
7
+ from typing import List, Optional
8
8
 
9
9
  from pydantic import ConfigDict, Field
10
10
  from typing_extensions import Annotated
@@ -36,9 +36,9 @@ class CreateBot(BaseModel):
36
36
  Optional[str], Field(None, description='Description of the bot.')
37
37
  ]
38
38
  provider: Optional[basic.ProviderType] = basic.ProviderType.user
39
- domain: Annotated[
40
- Optional[str],
39
+ domains: Annotated[
40
+ Optional[List[str]],
41
41
  Field(
42
- None, description='Fully qualified name of the domain the Table belongs to.'
42
+ None, description='Fully qualified names of the domains the Bot belongs to.'
43
43
  ),
44
44
  ]
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: api/createEventPublisherJob.json
3
- # timestamp: 2025-08-01T13:07:02+00:00
3
+ # timestamp: 2025-08-08T13:50:05+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,10 +1,10 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: api/createType.json
3
- # timestamp: 2025-08-01T13:07:02+00:00
3
+ # timestamp: 2025-08-08T13:50:05+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
7
- from typing import Optional
7
+ from typing import List, Optional
8
8
 
9
9
  from pydantic import ConfigDict, Field
10
10
  from typing_extensions import Annotated
@@ -40,9 +40,10 @@ class CreateType(BaseModel):
40
40
  description='JSON schema encoded as string. This will be used to validate the type values.',
41
41
  ),
42
42
  ]
43
- domain: Annotated[
44
- Optional[str],
43
+ domains: Annotated[
44
+ Optional[List[str]],
45
45
  Field(
46
- None, description='Fully qualified name of the domain the Table belongs to.'
46
+ None,
47
+ description='Fully qualified names of the domains the Type belongs to.',
47
48
  ),
48
49
  ]