openmetadata-ingestion 1.5.7.1.dev0__py3-none-any.whl → 1.5.9.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 (701) hide show
  1. _openmetadata_testutils/ometa.py +4 -2
  2. metadata/generated/schema/analytics/__init__.py +1 -1
  3. metadata/generated/schema/analytics/basic.py +1 -1
  4. metadata/generated/schema/analytics/reportData.py +1 -1
  5. metadata/generated/schema/analytics/reportDataType/__init__.py +1 -1
  6. metadata/generated/schema/analytics/reportDataType/aggregatedCostAnalysisReportData.py +1 -1
  7. metadata/generated/schema/analytics/reportDataType/entityReportData.py +1 -1
  8. metadata/generated/schema/analytics/reportDataType/rawCostAnalysisReportData.py +1 -1
  9. metadata/generated/schema/analytics/reportDataType/webAnalyticEntityViewReportData.py +1 -1
  10. metadata/generated/schema/analytics/reportDataType/webAnalyticUserActivityReportData.py +1 -1
  11. metadata/generated/schema/analytics/webAnalyticEvent.py +1 -1
  12. metadata/generated/schema/analytics/webAnalyticEventData.py +1 -1
  13. metadata/generated/schema/analytics/webAnalyticEventType/__init__.py +1 -1
  14. metadata/generated/schema/analytics/webAnalyticEventType/customEvent.py +1 -1
  15. metadata/generated/schema/analytics/webAnalyticEventType/pageViewEvent.py +1 -1
  16. metadata/generated/schema/api/__init__.py +1 -1
  17. metadata/generated/schema/api/addGlossaryToAssetsRequest.py +1 -1
  18. metadata/generated/schema/api/analytics/__init__.py +1 -1
  19. metadata/generated/schema/api/analytics/createWebAnalyticEvent.py +1 -1
  20. metadata/generated/schema/api/automations/__init__.py +1 -1
  21. metadata/generated/schema/api/automations/createWorkflow.py +1 -1
  22. metadata/generated/schema/api/bulkAssets.py +1 -1
  23. metadata/generated/schema/api/classification/__init__.py +1 -1
  24. metadata/generated/schema/api/classification/createClassification.py +1 -1
  25. metadata/generated/schema/api/classification/createTag.py +1 -1
  26. metadata/generated/schema/api/classification/loadTags.py +1 -1
  27. metadata/generated/schema/api/createBot.py +1 -1
  28. metadata/generated/schema/api/createEventPublisherJob.py +1 -1
  29. metadata/generated/schema/api/createType.py +1 -1
  30. metadata/generated/schema/api/data/__init__.py +1 -1
  31. metadata/generated/schema/api/data/createAPICollection.py +1 -1
  32. metadata/generated/schema/api/data/createAPIEndpoint.py +1 -1
  33. metadata/generated/schema/api/data/createChart.py +1 -1
  34. metadata/generated/schema/api/data/createContainer.py +1 -1
  35. metadata/generated/schema/api/data/createCustomProperty.py +1 -1
  36. metadata/generated/schema/api/data/createDashboard.py +1 -1
  37. metadata/generated/schema/api/data/createDashboardDataModel.py +1 -1
  38. metadata/generated/schema/api/data/createDatabase.py +1 -1
  39. metadata/generated/schema/api/data/createDatabaseSchema.py +1 -1
  40. metadata/generated/schema/api/data/createGlossary.py +1 -1
  41. metadata/generated/schema/api/data/createGlossaryTerm.py +1 -1
  42. metadata/generated/schema/api/data/createMlModel.py +1 -1
  43. metadata/generated/schema/api/data/createPipeline.py +1 -1
  44. metadata/generated/schema/api/data/createQuery.py +1 -1
  45. metadata/generated/schema/api/data/createSearchIndex.py +1 -1
  46. metadata/generated/schema/api/data/createStoredProcedure.py +1 -1
  47. metadata/generated/schema/api/data/createTable.py +8 -1
  48. metadata/generated/schema/api/data/createTableProfile.py +1 -1
  49. metadata/generated/schema/api/data/createTopic.py +1 -1
  50. metadata/generated/schema/api/data/loadGlossary.py +1 -1
  51. metadata/generated/schema/api/data/restoreEntity.py +1 -1
  52. metadata/generated/schema/api/dataInsight/__init__.py +1 -1
  53. metadata/generated/schema/api/dataInsight/createDataInsightChart.py +1 -1
  54. metadata/generated/schema/api/dataInsight/custom/__init__.py +1 -1
  55. metadata/generated/schema/api/dataInsight/custom/createDataInsightCustomChart.py +1 -1
  56. metadata/generated/schema/api/dataInsight/kpi/__init__.py +1 -1
  57. metadata/generated/schema/api/dataInsight/kpi/createKpiRequest.py +1 -1
  58. metadata/generated/schema/api/docStore/__init__.py +1 -1
  59. metadata/generated/schema/api/docStore/createDocument.py +1 -1
  60. metadata/generated/schema/api/domains/__init__.py +1 -1
  61. metadata/generated/schema/api/domains/createDataProduct.py +1 -1
  62. metadata/generated/schema/api/domains/createDomain.py +1 -1
  63. metadata/generated/schema/api/feed/__init__.py +1 -1
  64. metadata/generated/schema/api/feed/closeTask.py +1 -1
  65. metadata/generated/schema/api/feed/createPost.py +1 -1
  66. metadata/generated/schema/api/feed/createSuggestion.py +1 -1
  67. metadata/generated/schema/api/feed/createThread.py +1 -1
  68. metadata/generated/schema/api/feed/resolveTask.py +1 -1
  69. metadata/generated/schema/api/feed/threadCount.py +1 -1
  70. metadata/generated/schema/api/lineage/__init__.py +1 -1
  71. metadata/generated/schema/api/lineage/addLineage.py +1 -1
  72. metadata/generated/schema/api/openMetadataServerVersion.py +1 -1
  73. metadata/generated/schema/api/policies/__init__.py +1 -1
  74. metadata/generated/schema/api/policies/createPolicy.py +1 -1
  75. metadata/generated/schema/api/services/__init__.py +1 -1
  76. metadata/generated/schema/api/services/createApiService.py +1 -1
  77. metadata/generated/schema/api/services/createDashboardService.py +1 -1
  78. metadata/generated/schema/api/services/createDatabaseService.py +1 -1
  79. metadata/generated/schema/api/services/createMessagingService.py +1 -1
  80. metadata/generated/schema/api/services/createMetadataService.py +1 -1
  81. metadata/generated/schema/api/services/createMlModelService.py +1 -1
  82. metadata/generated/schema/api/services/createPipelineService.py +1 -1
  83. metadata/generated/schema/api/services/createSearchService.py +1 -1
  84. metadata/generated/schema/api/services/createStorageService.py +1 -1
  85. metadata/generated/schema/api/services/ingestionPipelines/__init__.py +1 -1
  86. metadata/generated/schema/api/services/ingestionPipelines/createIngestionPipeline.py +1 -1
  87. metadata/generated/schema/api/setOwner.py +1 -1
  88. metadata/generated/schema/api/teams/__init__.py +1 -1
  89. metadata/generated/schema/api/teams/createPersona.py +1 -1
  90. metadata/generated/schema/api/teams/createRole.py +1 -1
  91. metadata/generated/schema/api/teams/createTeam.py +1 -1
  92. metadata/generated/schema/api/teams/createUser.py +1 -1
  93. metadata/generated/schema/api/tests/__init__.py +1 -1
  94. metadata/generated/schema/api/tests/createCustomMetric.py +1 -1
  95. metadata/generated/schema/api/tests/createLogicalTestCases.py +1 -1
  96. metadata/generated/schema/api/tests/createTestCase.py +1 -1
  97. metadata/generated/schema/api/tests/createTestCaseResolutionStatus.py +1 -1
  98. metadata/generated/schema/api/tests/createTestDefinition.py +1 -1
  99. metadata/generated/schema/api/tests/createTestSuite.py +1 -1
  100. metadata/generated/schema/api/voteRequest.py +1 -1
  101. metadata/generated/schema/auth/__init__.py +1 -1
  102. metadata/generated/schema/auth/basicAuth.py +1 -1
  103. metadata/generated/schema/auth/basicLoginRequest.py +1 -1
  104. metadata/generated/schema/auth/changePasswordRequest.py +1 -1
  105. metadata/generated/schema/auth/createPersonalToken.py +1 -1
  106. metadata/generated/schema/auth/emailRequest.py +1 -1
  107. metadata/generated/schema/auth/emailVerificationToken.py +1 -1
  108. metadata/generated/schema/auth/generateToken.py +1 -1
  109. metadata/generated/schema/auth/jwtAuth.py +3 -2
  110. metadata/generated/schema/auth/loginRequest.py +1 -1
  111. metadata/generated/schema/auth/logoutRequest.py +1 -1
  112. metadata/generated/schema/auth/passwordResetRequest.py +1 -1
  113. metadata/generated/schema/auth/passwordResetToken.py +1 -1
  114. metadata/generated/schema/auth/personalAccessToken.py +1 -1
  115. metadata/generated/schema/auth/refreshToken.py +1 -1
  116. metadata/generated/schema/auth/registrationRequest.py +1 -1
  117. metadata/generated/schema/auth/revokePersonalToken.py +1 -1
  118. metadata/generated/schema/auth/revokeToken.py +1 -1
  119. metadata/generated/schema/auth/serviceTokenEnum.py +1 -1
  120. metadata/generated/schema/auth/ssoAuth.py +1 -1
  121. metadata/generated/schema/auth/tokenRefreshRequest.py +1 -1
  122. metadata/generated/schema/configuration/__init__.py +1 -1
  123. metadata/generated/schema/configuration/appsPrivateConfiguration.py +1 -1
  124. metadata/generated/schema/configuration/authConfig.py +1 -1
  125. metadata/generated/schema/configuration/authenticationConfiguration.py +1 -1
  126. metadata/generated/schema/configuration/authorizerConfiguration.py +1 -1
  127. metadata/generated/schema/configuration/changeEventConfiguration.py +1 -1
  128. metadata/generated/schema/configuration/dataQualityConfiguration.py +1 -1
  129. metadata/generated/schema/configuration/elasticSearchConfiguration.py +1 -1
  130. metadata/generated/schema/configuration/eventHandlerConfiguration.py +1 -1
  131. metadata/generated/schema/configuration/fernetConfiguration.py +1 -1
  132. metadata/generated/schema/configuration/jwtTokenConfiguration.py +1 -1
  133. metadata/generated/schema/configuration/kafkaEventConfiguration.py +1 -1
  134. metadata/generated/schema/configuration/ldapConfiguration.py +1 -1
  135. metadata/generated/schema/configuration/ldapTrustStoreConfig/__init__.py +1 -1
  136. metadata/generated/schema/configuration/ldapTrustStoreConfig/customTrustManagerConfig.py +1 -1
  137. metadata/generated/schema/configuration/ldapTrustStoreConfig/hostNameConfig.py +1 -1
  138. metadata/generated/schema/configuration/ldapTrustStoreConfig/jvmDefaultConfig.py +1 -1
  139. metadata/generated/schema/configuration/ldapTrustStoreConfig/trustAllConfig.py +1 -1
  140. metadata/generated/schema/configuration/ldapTrustStoreConfig/truststoreConfig.py +1 -1
  141. metadata/generated/schema/configuration/limitsConfiguration.py +1 -1
  142. metadata/generated/schema/configuration/loginConfiguration.py +1 -1
  143. metadata/generated/schema/configuration/logoConfiguration.py +1 -1
  144. metadata/generated/schema/configuration/pipelineServiceClientConfiguration.py +1 -1
  145. metadata/generated/schema/configuration/profilerConfiguration.py +1 -1
  146. metadata/generated/schema/configuration/slackAppConfiguration.py +1 -1
  147. metadata/generated/schema/configuration/taskNotificationConfiguration.py +1 -1
  148. metadata/generated/schema/configuration/testResultNotificationConfiguration.py +1 -1
  149. metadata/generated/schema/configuration/themeConfiguration.py +1 -1
  150. metadata/generated/schema/configuration/uiThemePreference.py +1 -1
  151. metadata/generated/schema/dataInsight/__init__.py +1 -1
  152. metadata/generated/schema/dataInsight/custom/__init__.py +1 -1
  153. metadata/generated/schema/dataInsight/custom/dataInsightCustomChart.py +1 -1
  154. metadata/generated/schema/dataInsight/custom/dataInsightCustomChartResult.py +1 -1
  155. metadata/generated/schema/dataInsight/custom/dataInsightCustomChartResultList.py +1 -1
  156. metadata/generated/schema/dataInsight/custom/formulaHolder.py +1 -1
  157. metadata/generated/schema/dataInsight/custom/lineChart.py +1 -1
  158. metadata/generated/schema/dataInsight/custom/summaryCard.py +1 -1
  159. metadata/generated/schema/dataInsight/dataInsightChart.py +1 -1
  160. metadata/generated/schema/dataInsight/dataInsightChartResult.py +1 -1
  161. metadata/generated/schema/dataInsight/kpi/__init__.py +1 -1
  162. metadata/generated/schema/dataInsight/kpi/basic.py +1 -1
  163. metadata/generated/schema/dataInsight/kpi/kpi.py +1 -1
  164. metadata/generated/schema/dataInsight/type/__init__.py +1 -1
  165. metadata/generated/schema/dataInsight/type/aggregatedUnusedAssetsCount.py +1 -1
  166. metadata/generated/schema/dataInsight/type/aggregatedUnusedAssetsSize.py +1 -1
  167. metadata/generated/schema/dataInsight/type/aggregatedUsedVsUnusedAssetsCount.py +1 -1
  168. metadata/generated/schema/dataInsight/type/aggregatedUsedVsUnusedAssetsSize.py +1 -1
  169. metadata/generated/schema/dataInsight/type/dailyActiveUsers.py +1 -1
  170. metadata/generated/schema/dataInsight/type/mostActiveUsers.py +1 -1
  171. metadata/generated/schema/dataInsight/type/mostViewedEntities.py +1 -1
  172. metadata/generated/schema/dataInsight/type/pageViewsByEntities.py +1 -1
  173. metadata/generated/schema/dataInsight/type/unusedAssets.py +1 -1
  174. metadata/generated/schema/email/__init__.py +1 -1
  175. metadata/generated/schema/email/emailRequest.py +1 -1
  176. metadata/generated/schema/email/emailTemplate.py +1 -1
  177. metadata/generated/schema/email/emailTemplatePlaceholder.py +1 -1
  178. metadata/generated/schema/email/smtpSettings.py +1 -1
  179. metadata/generated/schema/email/templateValidationReponse.py +1 -1
  180. metadata/generated/schema/entity/__init__.py +1 -1
  181. metadata/generated/schema/entity/applications/__init__.py +1 -1
  182. metadata/generated/schema/entity/applications/app.py +1 -1
  183. metadata/generated/schema/entity/applications/appExtension.py +35 -0
  184. metadata/generated/schema/entity/applications/appRunRecord.py +9 -5
  185. metadata/generated/schema/entity/applications/configuration/__init__.py +1 -1
  186. metadata/generated/schema/entity/applications/configuration/applicationConfig.py +7 -7
  187. metadata/generated/schema/entity/applications/configuration/external/__init__.py +1 -1
  188. metadata/generated/schema/entity/applications/configuration/external/automator/__init__.py +1 -1
  189. metadata/generated/schema/entity/applications/configuration/external/automator/addDescriptionAction.py +1 -1
  190. metadata/generated/schema/entity/applications/configuration/external/automator/addDomainAction.py +1 -1
  191. metadata/generated/schema/entity/applications/configuration/external/automator/addOwnerAction.py +1 -1
  192. metadata/generated/schema/entity/applications/configuration/external/automator/addTagsAction.py +1 -1
  193. metadata/generated/schema/entity/applications/configuration/external/automator/addTierAction.py +1 -1
  194. metadata/generated/schema/entity/applications/configuration/external/automator/lineagePropagationAction.py +1 -1
  195. metadata/generated/schema/entity/applications/configuration/external/automator/mlTaggingAction.py +1 -1
  196. metadata/generated/schema/entity/applications/configuration/external/automator/removeDescriptionAction.py +1 -1
  197. metadata/generated/schema/entity/applications/configuration/external/automator/removeDomainAction.py +1 -1
  198. metadata/generated/schema/entity/applications/configuration/external/automator/removeOwnerAction.py +1 -1
  199. metadata/generated/schema/entity/applications/configuration/external/automator/removeTagsAction.py +1 -1
  200. metadata/generated/schema/entity/applications/configuration/external/automator/removeTierAction.py +1 -1
  201. metadata/generated/schema/entity/applications/configuration/external/automatorAppConfig.py +1 -1
  202. metadata/generated/schema/entity/applications/configuration/external/collateAIAppConfig.py +46 -0
  203. metadata/generated/schema/entity/applications/configuration/internal/__init__.py +1 -1
  204. metadata/generated/schema/entity/applications/configuration/internal/dataInsightsAppConfig.py +1 -1
  205. metadata/generated/schema/entity/applications/configuration/internal/dataInsightsReportAppConfig.py +1 -1
  206. metadata/generated/schema/entity/applications/configuration/internal/searchIndexingAppConfig.py +1 -1
  207. metadata/generated/schema/entity/applications/configuration/private/external/__init__.py +1 -1
  208. metadata/generated/schema/entity/applications/configuration/private/external/{metaPilotAppPrivateConfig.py → collateAIAppPrivateConfig.py} +28 -3
  209. metadata/generated/schema/entity/applications/createAppRequest.py +1 -1
  210. metadata/generated/schema/entity/applications/jobStatus.py +1 -1
  211. metadata/generated/schema/entity/applications/liveExecutionContext.py +1 -1
  212. metadata/generated/schema/entity/applications/marketplace/__init__.py +1 -1
  213. metadata/generated/schema/entity/applications/marketplace/appMarketPlaceDefinition.py +1 -1
  214. metadata/generated/schema/entity/applications/marketplace/createAppMarketPlaceDefinitionReq.py +1 -1
  215. metadata/generated/schema/entity/applications/scheduledExecutionContext.py +1 -1
  216. metadata/generated/schema/entity/automations/__init__.py +1 -1
  217. metadata/generated/schema/entity/automations/testServiceConnection.py +1 -1
  218. metadata/generated/schema/entity/automations/workflow.py +1 -1
  219. metadata/generated/schema/entity/bot.py +1 -1
  220. metadata/generated/schema/entity/classification/__init__.py +1 -1
  221. metadata/generated/schema/entity/classification/classification.py +1 -1
  222. metadata/generated/schema/entity/classification/tag.py +1 -1
  223. metadata/generated/schema/entity/data/__init__.py +1 -1
  224. metadata/generated/schema/entity/data/apiCollection.py +1 -1
  225. metadata/generated/schema/entity/data/apiEndpoint.py +1 -1
  226. metadata/generated/schema/entity/data/chart.py +1 -1
  227. metadata/generated/schema/entity/data/container.py +1 -1
  228. metadata/generated/schema/entity/data/dashboard.py +1 -1
  229. metadata/generated/schema/entity/data/dashboardDataModel.py +2 -1
  230. metadata/generated/schema/entity/data/database.py +1 -1
  231. metadata/generated/schema/entity/data/databaseSchema.py +1 -1
  232. metadata/generated/schema/entity/data/glossary.py +1 -1
  233. metadata/generated/schema/entity/data/glossaryTerm.py +1 -1
  234. metadata/generated/schema/entity/data/metrics.py +1 -1
  235. metadata/generated/schema/entity/data/mlmodel.py +1 -1
  236. metadata/generated/schema/entity/data/pipeline.py +1 -1
  237. metadata/generated/schema/entity/data/query.py +1 -1
  238. metadata/generated/schema/entity/data/report.py +1 -1
  239. metadata/generated/schema/entity/data/searchIndex.py +1 -1
  240. metadata/generated/schema/entity/data/storedProcedure.py +1 -1
  241. metadata/generated/schema/entity/data/table.py +8 -1
  242. metadata/generated/schema/entity/data/topic.py +1 -1
  243. metadata/generated/schema/entity/docStore/__init__.py +1 -1
  244. metadata/generated/schema/entity/docStore/document.py +1 -1
  245. metadata/generated/schema/entity/domains/__init__.py +1 -1
  246. metadata/generated/schema/entity/domains/dataProduct.py +1 -1
  247. metadata/generated/schema/entity/domains/domain.py +1 -1
  248. metadata/generated/schema/entity/events/__init__.py +1 -1
  249. metadata/generated/schema/entity/events/webhook.py +1 -1
  250. metadata/generated/schema/entity/feed/__init__.py +1 -1
  251. metadata/generated/schema/entity/feed/assets.py +1 -1
  252. metadata/generated/schema/entity/feed/customProperty.py +1 -1
  253. metadata/generated/schema/entity/feed/description.py +1 -1
  254. metadata/generated/schema/entity/feed/domain.py +1 -1
  255. metadata/generated/schema/entity/feed/entityInfo.py +1 -1
  256. metadata/generated/schema/entity/feed/owner.py +1 -1
  257. metadata/generated/schema/entity/feed/suggestion.py +1 -1
  258. metadata/generated/schema/entity/feed/tag.py +1 -1
  259. metadata/generated/schema/entity/feed/testCaseResult.py +1 -1
  260. metadata/generated/schema/entity/feed/thread.py +1 -1
  261. metadata/generated/schema/entity/policies/__init__.py +1 -1
  262. metadata/generated/schema/entity/policies/accessControl/__init__.py +1 -1
  263. metadata/generated/schema/entity/policies/accessControl/resourceDescriptor.py +1 -1
  264. metadata/generated/schema/entity/policies/accessControl/resourcePermission.py +1 -1
  265. metadata/generated/schema/entity/policies/accessControl/rule.py +1 -1
  266. metadata/generated/schema/entity/policies/filters.py +1 -1
  267. metadata/generated/schema/entity/policies/policy.py +1 -1
  268. metadata/generated/schema/entity/services/__init__.py +1 -1
  269. metadata/generated/schema/entity/services/apiService.py +1 -1
  270. metadata/generated/schema/entity/services/connections/__init__.py +1 -1
  271. metadata/generated/schema/entity/services/connections/apiService/__init__.py +1 -1
  272. metadata/generated/schema/entity/services/connections/apiService/restConnection.py +1 -1
  273. metadata/generated/schema/entity/services/connections/common/__init__.py +1 -1
  274. metadata/generated/schema/entity/services/connections/common/sslCertPaths.py +1 -1
  275. metadata/generated/schema/entity/services/connections/common/sslCertValues.py +1 -1
  276. metadata/generated/schema/entity/services/connections/common/sslConfig.py +1 -1
  277. metadata/generated/schema/entity/services/connections/connectionBasicType.py +1 -1
  278. metadata/generated/schema/entity/services/connections/dashboard/__init__.py +1 -1
  279. metadata/generated/schema/entity/services/connections/dashboard/customDashboardConnection.py +1 -1
  280. metadata/generated/schema/entity/services/connections/dashboard/domoDashboardConnection.py +1 -1
  281. metadata/generated/schema/entity/services/connections/dashboard/lightdashConnection.py +1 -1
  282. metadata/generated/schema/entity/services/connections/dashboard/lookerConnection.py +1 -1
  283. metadata/generated/schema/entity/services/connections/dashboard/metabaseConnection.py +1 -1
  284. metadata/generated/schema/entity/services/connections/dashboard/modeConnection.py +9 -1
  285. metadata/generated/schema/entity/services/connections/dashboard/mstrConnection.py +1 -1
  286. metadata/generated/schema/entity/services/connections/dashboard/powerBIConnection.py +1 -1
  287. metadata/generated/schema/entity/services/connections/dashboard/powerbi/__init__.py +1 -1
  288. metadata/generated/schema/entity/services/connections/dashboard/powerbi/azureConfig.py +1 -1
  289. metadata/generated/schema/entity/services/connections/dashboard/powerbi/bucketDetails.py +1 -1
  290. metadata/generated/schema/entity/services/connections/dashboard/powerbi/gcsConfig.py +1 -1
  291. metadata/generated/schema/entity/services/connections/dashboard/powerbi/s3Config.py +1 -1
  292. metadata/generated/schema/entity/services/connections/dashboard/qlikCloudConnection.py +1 -1
  293. metadata/generated/schema/entity/services/connections/dashboard/qlikSenseConnection.py +1 -1
  294. metadata/generated/schema/entity/services/connections/dashboard/quickSightConnection.py +1 -1
  295. metadata/generated/schema/entity/services/connections/dashboard/redashConnection.py +1 -1
  296. metadata/generated/schema/entity/services/connections/dashboard/supersetConnection.py +1 -1
  297. metadata/generated/schema/entity/services/connections/dashboard/tableauConnection.py +1 -1
  298. metadata/generated/schema/entity/services/connections/database/__init__.py +1 -1
  299. metadata/generated/schema/entity/services/connections/database/athenaConnection.py +1 -1
  300. metadata/generated/schema/entity/services/connections/database/azureSQLConnection.py +1 -1
  301. metadata/generated/schema/entity/services/connections/database/bigQueryConnection.py +1 -1
  302. metadata/generated/schema/entity/services/connections/database/bigTableConnection.py +1 -1
  303. metadata/generated/schema/entity/services/connections/database/clickhouseConnection.py +1 -1
  304. metadata/generated/schema/entity/services/connections/database/common/__init__.py +1 -1
  305. metadata/generated/schema/entity/services/connections/database/common/azureConfig.py +1 -1
  306. metadata/generated/schema/entity/services/connections/database/common/basicAuth.py +1 -1
  307. metadata/generated/schema/entity/services/connections/database/common/iamAuthConfig.py +1 -1
  308. metadata/generated/schema/entity/services/connections/database/common/jwtAuth.py +1 -1
  309. metadata/generated/schema/entity/services/connections/database/couchbaseConnection.py +1 -1
  310. metadata/generated/schema/entity/services/connections/database/customDatabaseConnection.py +1 -1
  311. metadata/generated/schema/entity/services/connections/database/databricksConnection.py +1 -1
  312. metadata/generated/schema/entity/services/connections/database/datalake/__init__.py +1 -1
  313. metadata/generated/schema/entity/services/connections/database/datalake/azureConfig.py +1 -1
  314. metadata/generated/schema/entity/services/connections/database/datalake/gcsConfig.py +1 -1
  315. metadata/generated/schema/entity/services/connections/database/datalake/s3Config.py +1 -1
  316. metadata/generated/schema/entity/services/connections/database/datalakeConnection.py +1 -1
  317. metadata/generated/schema/entity/services/connections/database/db2Connection.py +1 -1
  318. metadata/generated/schema/entity/services/connections/database/deltaLakeConnection.py +1 -1
  319. metadata/generated/schema/entity/services/connections/database/deltalake/__init__.py +1 -1
  320. metadata/generated/schema/entity/services/connections/database/deltalake/metastoreConfig.py +1 -1
  321. metadata/generated/schema/entity/services/connections/database/deltalake/storageConfig.py +1 -1
  322. metadata/generated/schema/entity/services/connections/database/domoDatabaseConnection.py +1 -1
  323. metadata/generated/schema/entity/services/connections/database/dorisConnection.py +1 -1
  324. metadata/generated/schema/entity/services/connections/database/druidConnection.py +1 -1
  325. metadata/generated/schema/entity/services/connections/database/dynamoDBConnection.py +1 -1
  326. metadata/generated/schema/entity/services/connections/database/glueConnection.py +1 -1
  327. metadata/generated/schema/entity/services/connections/database/greenplumConnection.py +1 -1
  328. metadata/generated/schema/entity/services/connections/database/hiveConnection.py +1 -1
  329. metadata/generated/schema/entity/services/connections/database/iceberg/__init__.py +1 -1
  330. metadata/generated/schema/entity/services/connections/database/iceberg/dynamoDbCatalogConnection.py +1 -1
  331. metadata/generated/schema/entity/services/connections/database/iceberg/glueCatalogConnection.py +1 -1
  332. metadata/generated/schema/entity/services/connections/database/iceberg/hiveCatalogConnection.py +1 -1
  333. metadata/generated/schema/entity/services/connections/database/iceberg/icebergCatalog.py +1 -1
  334. metadata/generated/schema/entity/services/connections/database/iceberg/icebergFileSystem.py +1 -1
  335. metadata/generated/schema/entity/services/connections/database/iceberg/restCatalogConnection.py +1 -1
  336. metadata/generated/schema/entity/services/connections/database/icebergConnection.py +1 -1
  337. metadata/generated/schema/entity/services/connections/database/impalaConnection.py +1 -1
  338. metadata/generated/schema/entity/services/connections/database/mariaDBConnection.py +1 -1
  339. metadata/generated/schema/entity/services/connections/database/mongoDBConnection.py +1 -1
  340. metadata/generated/schema/entity/services/connections/database/mssqlConnection.py +1 -1
  341. metadata/generated/schema/entity/services/connections/database/mysqlConnection.py +1 -1
  342. metadata/generated/schema/entity/services/connections/database/oracleConnection.py +1 -1
  343. metadata/generated/schema/entity/services/connections/database/pinotDBConnection.py +1 -1
  344. metadata/generated/schema/entity/services/connections/database/postgresConnection.py +1 -1
  345. metadata/generated/schema/entity/services/connections/database/prestoConnection.py +1 -1
  346. metadata/generated/schema/entity/services/connections/database/redshiftConnection.py +1 -1
  347. metadata/generated/schema/entity/services/connections/database/salesforceConnection.py +1 -1
  348. metadata/generated/schema/entity/services/connections/database/sapErpConnection.py +1 -1
  349. metadata/generated/schema/entity/services/connections/database/sapHana/__init__.py +1 -1
  350. metadata/generated/schema/entity/services/connections/database/sapHana/sapHanaHDBConnection.py +1 -1
  351. metadata/generated/schema/entity/services/connections/database/sapHana/sapHanaSQLConnection.py +1 -1
  352. metadata/generated/schema/entity/services/connections/database/sapHanaConnection.py +1 -1
  353. metadata/generated/schema/entity/services/connections/database/sasConnection.py +1 -1
  354. metadata/generated/schema/entity/services/connections/database/singleStoreConnection.py +1 -1
  355. metadata/generated/schema/entity/services/connections/database/snowflakeConnection.py +1 -1
  356. metadata/generated/schema/entity/services/connections/database/sqliteConnection.py +1 -1
  357. metadata/generated/schema/entity/services/connections/database/synapseConnection.py +1 -1
  358. metadata/generated/schema/entity/services/connections/database/teradataConnection.py +1 -1
  359. metadata/generated/schema/entity/services/connections/database/trinoConnection.py +1 -1
  360. metadata/generated/schema/entity/services/connections/database/unityCatalogConnection.py +1 -1
  361. metadata/generated/schema/entity/services/connections/database/verticaConnection.py +1 -1
  362. metadata/generated/schema/entity/services/connections/messaging/__init__.py +1 -1
  363. metadata/generated/schema/entity/services/connections/messaging/customMessagingConnection.py +1 -1
  364. metadata/generated/schema/entity/services/connections/messaging/kafkaConnection.py +1 -1
  365. metadata/generated/schema/entity/services/connections/messaging/kinesisConnection.py +1 -1
  366. metadata/generated/schema/entity/services/connections/messaging/pulsarConnection.py +1 -1
  367. metadata/generated/schema/entity/services/connections/messaging/redpandaConnection.py +1 -1
  368. metadata/generated/schema/entity/services/connections/messaging/saslMechanismType.py +1 -1
  369. metadata/generated/schema/entity/services/connections/metadata/__init__.py +1 -1
  370. metadata/generated/schema/entity/services/connections/metadata/alationConnection.py +1 -1
  371. metadata/generated/schema/entity/services/connections/metadata/alationSinkConnection.py +1 -1
  372. metadata/generated/schema/entity/services/connections/metadata/amundsenConnection.py +1 -1
  373. metadata/generated/schema/entity/services/connections/metadata/atlasConnection.py +1 -1
  374. metadata/generated/schema/entity/services/connections/metadata/metadataESConnection.py +1 -1
  375. metadata/generated/schema/entity/services/connections/metadata/openMetadataConnection.py +1 -1
  376. metadata/generated/schema/entity/services/connections/mlmodel/__init__.py +1 -1
  377. metadata/generated/schema/entity/services/connections/mlmodel/customMlModelConnection.py +1 -1
  378. metadata/generated/schema/entity/services/connections/mlmodel/mlflowConnection.py +1 -1
  379. metadata/generated/schema/entity/services/connections/mlmodel/sageMakerConnection.py +1 -1
  380. metadata/generated/schema/entity/services/connections/mlmodel/sklearnConnection.py +1 -1
  381. metadata/generated/schema/entity/services/connections/mlmodel/vertexaiConnection.py +1 -1
  382. metadata/generated/schema/entity/services/connections/pipeline/__init__.py +1 -1
  383. metadata/generated/schema/entity/services/connections/pipeline/airbyteConnection.py +1 -1
  384. metadata/generated/schema/entity/services/connections/pipeline/airflowConnection.py +1 -1
  385. metadata/generated/schema/entity/services/connections/pipeline/backendConnection.py +1 -1
  386. metadata/generated/schema/entity/services/connections/pipeline/customPipelineConnection.py +1 -1
  387. metadata/generated/schema/entity/services/connections/pipeline/dagsterConnection.py +1 -1
  388. metadata/generated/schema/entity/services/connections/pipeline/databricksPipelineConnection.py +1 -1
  389. metadata/generated/schema/entity/services/connections/pipeline/dbtCloudConnection.py +1 -1
  390. metadata/generated/schema/entity/services/connections/pipeline/domoPipelineConnection.py +1 -1
  391. metadata/generated/schema/entity/services/connections/pipeline/fivetranConnection.py +1 -1
  392. metadata/generated/schema/entity/services/connections/pipeline/flinkConnection.py +1 -1
  393. metadata/generated/schema/entity/services/connections/pipeline/gluePipelineConnection.py +1 -1
  394. metadata/generated/schema/entity/services/connections/pipeline/kafkaConnectConnection.py +1 -1
  395. metadata/generated/schema/entity/services/connections/pipeline/nifiConnection.py +1 -1
  396. metadata/generated/schema/entity/services/connections/pipeline/openLineageConnection.py +1 -1
  397. metadata/generated/schema/entity/services/connections/pipeline/sparkConnection.py +1 -1
  398. metadata/generated/schema/entity/services/connections/pipeline/splineConnection.py +1 -1
  399. metadata/generated/schema/entity/services/connections/search/__init__.py +1 -1
  400. metadata/generated/schema/entity/services/connections/search/customSearchConnection.py +1 -1
  401. metadata/generated/schema/entity/services/connections/search/elasticSearch/__init__.py +1 -1
  402. metadata/generated/schema/entity/services/connections/search/elasticSearch/apiAuth.py +1 -1
  403. metadata/generated/schema/entity/services/connections/search/elasticSearch/basicAuth.py +1 -1
  404. metadata/generated/schema/entity/services/connections/search/elasticSearchConnection.py +1 -1
  405. metadata/generated/schema/entity/services/connections/search/openSearchConnection.py +1 -1
  406. metadata/generated/schema/entity/services/connections/serviceConnection.py +1 -1
  407. metadata/generated/schema/entity/services/connections/storage/__init__.py +1 -1
  408. metadata/generated/schema/entity/services/connections/storage/adlsConnection.py +1 -1
  409. metadata/generated/schema/entity/services/connections/storage/customStorageConnection.py +1 -1
  410. metadata/generated/schema/entity/services/connections/storage/gcsConnection.py +1 -1
  411. metadata/generated/schema/entity/services/connections/storage/s3Connection.py +1 -1
  412. metadata/generated/schema/entity/services/connections/testConnectionDefinition.py +1 -1
  413. metadata/generated/schema/entity/services/connections/testConnectionResult.py +1 -1
  414. metadata/generated/schema/entity/services/dashboardService.py +1 -1
  415. metadata/generated/schema/entity/services/databaseService.py +1 -1
  416. metadata/generated/schema/entity/services/ingestionPipelines/__init__.py +1 -1
  417. metadata/generated/schema/entity/services/ingestionPipelines/ingestionPipeline.py +1 -1
  418. metadata/generated/schema/entity/services/ingestionPipelines/pipelineServiceClientResponse.py +1 -1
  419. metadata/generated/schema/entity/services/ingestionPipelines/status.py +1 -1
  420. metadata/generated/schema/entity/services/messagingService.py +1 -1
  421. metadata/generated/schema/entity/services/metadataService.py +1 -1
  422. metadata/generated/schema/entity/services/mlmodelService.py +1 -1
  423. metadata/generated/schema/entity/services/pipelineService.py +1 -1
  424. metadata/generated/schema/entity/services/searchService.py +1 -1
  425. metadata/generated/schema/entity/services/serviceType.py +1 -1
  426. metadata/generated/schema/entity/services/storageService.py +1 -1
  427. metadata/generated/schema/entity/teams/__init__.py +1 -1
  428. metadata/generated/schema/entity/teams/persona.py +1 -1
  429. metadata/generated/schema/entity/teams/role.py +1 -1
  430. metadata/generated/schema/entity/teams/team.py +1 -1
  431. metadata/generated/schema/entity/teams/teamHierarchy.py +1 -1
  432. metadata/generated/schema/entity/teams/user.py +1 -1
  433. metadata/generated/schema/entity/type.py +1 -1
  434. metadata/generated/schema/entity/utils/__init__.py +1 -1
  435. metadata/generated/schema/entity/utils/entitiesCount.py +1 -1
  436. metadata/generated/schema/entity/utils/servicesCount.py +1 -1
  437. metadata/generated/schema/entity/utils/supersetApiConnection.py +1 -1
  438. metadata/generated/schema/events/__init__.py +1 -1
  439. metadata/generated/schema/events/alertMetrics.py +1 -1
  440. metadata/generated/schema/events/api/__init__.py +1 -1
  441. metadata/generated/schema/events/api/createEventSubscription.py +1 -1
  442. metadata/generated/schema/events/api/testEventSubscriptionDestination.py +1 -1
  443. metadata/generated/schema/events/emailAlertConfig.py +1 -1
  444. metadata/generated/schema/events/eventFilterRule.py +1 -1
  445. metadata/generated/schema/events/eventSubscription.py +1 -1
  446. metadata/generated/schema/events/eventSubscriptionOffset.py +1 -1
  447. metadata/generated/schema/events/failedEvent.py +1 -1
  448. metadata/generated/schema/events/filterResourceDescriptor.py +1 -1
  449. metadata/generated/schema/events/subscriptionResourceDescriptor.py +1 -1
  450. metadata/generated/schema/metadataIngestion/__init__.py +1 -1
  451. metadata/generated/schema/metadataIngestion/application.py +1 -1
  452. metadata/generated/schema/metadataIngestion/applicationPipeline.py +1 -1
  453. metadata/generated/schema/metadataIngestion/dashboardServiceMetadataPipeline.py +1 -1
  454. metadata/generated/schema/metadataIngestion/dataInsightPipeline.py +1 -1
  455. metadata/generated/schema/metadataIngestion/databaseServiceMetadataPipeline.py +1 -1
  456. metadata/generated/schema/metadataIngestion/databaseServiceProfilerPipeline.py +1 -1
  457. metadata/generated/schema/metadataIngestion/databaseServiceQueryLineagePipeline.py +1 -1
  458. metadata/generated/schema/metadataIngestion/databaseServiceQueryUsagePipeline.py +1 -1
  459. metadata/generated/schema/metadataIngestion/dbtPipeline.py +1 -1
  460. metadata/generated/schema/metadataIngestion/dbtconfig/__init__.py +1 -1
  461. metadata/generated/schema/metadataIngestion/dbtconfig/dbtAzureConfig.py +1 -1
  462. metadata/generated/schema/metadataIngestion/dbtconfig/dbtBucketDetails.py +1 -1
  463. metadata/generated/schema/metadataIngestion/dbtconfig/dbtCloudConfig.py +1 -1
  464. metadata/generated/schema/metadataIngestion/dbtconfig/dbtGCSConfig.py +1 -1
  465. metadata/generated/schema/metadataIngestion/dbtconfig/dbtHttpConfig.py +1 -1
  466. metadata/generated/schema/metadataIngestion/dbtconfig/dbtLocalConfig.py +1 -1
  467. metadata/generated/schema/metadataIngestion/dbtconfig/dbtS3Config.py +1 -1
  468. metadata/generated/schema/metadataIngestion/messagingServiceMetadataPipeline.py +1 -1
  469. metadata/generated/schema/metadataIngestion/metadataToElasticSearchPipeline.py +1 -1
  470. metadata/generated/schema/metadataIngestion/mlmodelServiceMetadataPipeline.py +1 -1
  471. metadata/generated/schema/metadataIngestion/pipelineServiceMetadataPipeline.py +1 -1
  472. metadata/generated/schema/metadataIngestion/searchServiceMetadataPipeline.py +1 -1
  473. metadata/generated/schema/metadataIngestion/storage/__init__.py +1 -1
  474. metadata/generated/schema/metadataIngestion/storage/containerMetadataConfig.py +1 -1
  475. metadata/generated/schema/metadataIngestion/storage/manifestMetadataConfig.py +1 -1
  476. metadata/generated/schema/metadataIngestion/storage/storageBucketDetails.py +1 -1
  477. metadata/generated/schema/metadataIngestion/storage/storageMetadataADLSConfig.py +1 -1
  478. metadata/generated/schema/metadataIngestion/storage/storageMetadataGCSConfig.py +1 -1
  479. metadata/generated/schema/metadataIngestion/storage/storageMetadataHttpConfig.py +1 -1
  480. metadata/generated/schema/metadataIngestion/storage/storageMetadataLocalConfig.py +1 -1
  481. metadata/generated/schema/metadataIngestion/storage/storageMetadataS3Config.py +1 -1
  482. metadata/generated/schema/metadataIngestion/storageServiceMetadataPipeline.py +1 -1
  483. metadata/generated/schema/metadataIngestion/testSuitePipeline.py +1 -1
  484. metadata/generated/schema/metadataIngestion/workflow.py +1 -1
  485. metadata/generated/schema/monitoring/__init__.py +1 -1
  486. metadata/generated/schema/monitoring/eventMonitorProvider.py +1 -1
  487. metadata/generated/schema/security/__init__.py +1 -1
  488. metadata/generated/schema/security/client/__init__.py +1 -1
  489. metadata/generated/schema/security/client/auth0SSOClientConfig.py +1 -1
  490. metadata/generated/schema/security/client/azureSSOClientConfig.py +1 -1
  491. metadata/generated/schema/security/client/customOidcSSOClientConfig.py +1 -1
  492. metadata/generated/schema/security/client/googleSSOClientConfig.py +1 -1
  493. metadata/generated/schema/security/client/oidcClientConfig.py +1 -1
  494. metadata/generated/schema/security/client/oktaSSOClientConfig.py +1 -1
  495. metadata/generated/schema/security/client/openMetadataJWTClientConfig.py +1 -1
  496. metadata/generated/schema/security/client/samlSSOClientConfig.py +1 -1
  497. metadata/generated/schema/security/credentials/__init__.py +1 -1
  498. metadata/generated/schema/security/credentials/accessTokenAuth.py +1 -1
  499. metadata/generated/schema/security/credentials/apiAccessTokenAuth.py +1 -1
  500. metadata/generated/schema/security/credentials/awsCredentials.py +1 -1
  501. metadata/generated/schema/security/credentials/azureCredentials.py +1 -1
  502. metadata/generated/schema/security/credentials/basicAuth.py +1 -1
  503. metadata/generated/schema/security/credentials/bitbucketCredentials.py +1 -1
  504. metadata/generated/schema/security/credentials/gcpCredentials.py +1 -1
  505. metadata/generated/schema/security/credentials/gcpExternalAccount.py +1 -1
  506. metadata/generated/schema/security/credentials/gcpValues.py +1 -1
  507. metadata/generated/schema/security/credentials/gitCredentials.py +1 -1
  508. metadata/generated/schema/security/credentials/githubCredentials.py +1 -1
  509. metadata/generated/schema/security/credentials/gitlabCredentials.py +1 -1
  510. metadata/generated/schema/security/sasl/__init__.py +1 -1
  511. metadata/generated/schema/security/sasl/saslClientConfig.py +1 -1
  512. metadata/generated/schema/security/secrets/__init__.py +1 -1
  513. metadata/generated/schema/security/secrets/secretsManagerClientLoader.py +1 -1
  514. metadata/generated/schema/security/secrets/secretsManagerConfiguration.py +1 -1
  515. metadata/generated/schema/security/secrets/secretsManagerProvider.py +1 -1
  516. metadata/generated/schema/security/securityConfiguration.py +1 -1
  517. metadata/generated/schema/security/ssl/__init__.py +1 -1
  518. metadata/generated/schema/security/ssl/validateSSLClientConfig.py +1 -1
  519. metadata/generated/schema/security/ssl/verifySSLConfig.py +1 -1
  520. metadata/generated/schema/settings/__init__.py +1 -1
  521. metadata/generated/schema/settings/settings.py +1 -1
  522. metadata/generated/schema/system/__init__.py +1 -1
  523. metadata/generated/schema/system/entityError.py +1 -1
  524. metadata/generated/schema/system/eventPublisherJob.py +1 -1
  525. metadata/generated/schema/system/indexingError.py +1 -1
  526. metadata/generated/schema/system/limitsResponse.py +1 -1
  527. metadata/generated/schema/system/ui/__init__.py +1 -1
  528. metadata/generated/schema/system/ui/knowledgePanel.py +1 -1
  529. metadata/generated/schema/system/ui/page.py +1 -1
  530. metadata/generated/schema/system/validationResponse.py +1 -1
  531. metadata/generated/schema/tests/__init__.py +1 -1
  532. metadata/generated/schema/tests/assigned.py +1 -1
  533. metadata/generated/schema/tests/basic.py +1 -1
  534. metadata/generated/schema/tests/customMetric.py +1 -1
  535. metadata/generated/schema/tests/dataQualityReport.py +1 -1
  536. metadata/generated/schema/tests/resolved.py +1 -1
  537. metadata/generated/schema/tests/testCase.py +1 -1
  538. metadata/generated/schema/tests/testCaseResolutionStatus.py +1 -1
  539. metadata/generated/schema/tests/testDefinition.py +1 -1
  540. metadata/generated/schema/tests/testSuite.py +1 -1
  541. metadata/generated/schema/type/__init__.py +1 -1
  542. metadata/generated/schema/type/apiSchema.py +1 -1
  543. metadata/generated/schema/type/auditLog.py +1 -1
  544. metadata/generated/schema/type/basic.py +2 -2
  545. metadata/generated/schema/type/bulkOperationResult.py +1 -1
  546. metadata/generated/schema/type/changeEvent.py +1 -1
  547. metadata/generated/schema/type/changeEventType.py +1 -1
  548. metadata/generated/schema/type/collectionDescriptor.py +1 -1
  549. metadata/generated/schema/type/csvDocumentation.py +1 -1
  550. metadata/generated/schema/type/csvErrorType.py +1 -1
  551. metadata/generated/schema/type/csvFile.py +1 -1
  552. metadata/generated/schema/type/csvImportResult.py +1 -1
  553. metadata/generated/schema/type/customProperties/__init__.py +1 -1
  554. metadata/generated/schema/type/customProperties/complexTypes.py +1 -1
  555. metadata/generated/schema/type/customProperties/enumConfig.py +1 -1
  556. metadata/generated/schema/type/customProperties/tableConfig.py +1 -1
  557. metadata/generated/schema/type/customProperty.py +1 -1
  558. metadata/generated/schema/type/dailyCount.py +1 -1
  559. metadata/generated/schema/type/databaseConnectionConfig.py +1 -1
  560. metadata/generated/schema/type/entityHierarchy.py +1 -1
  561. metadata/generated/schema/type/entityHistory.py +1 -1
  562. metadata/generated/schema/type/entityLineage.py +1 -1
  563. metadata/generated/schema/type/entityReference.py +1 -1
  564. metadata/generated/schema/type/entityReferenceList.py +1 -1
  565. metadata/generated/schema/type/entityRelationship.py +1 -1
  566. metadata/generated/schema/type/entityUsage.py +1 -1
  567. metadata/generated/schema/type/filterPattern.py +1 -1
  568. metadata/generated/schema/type/function.py +1 -1
  569. metadata/generated/schema/type/include.py +1 -1
  570. metadata/generated/schema/type/jdbcConnection.py +1 -1
  571. metadata/generated/schema/type/lifeCycle.py +1 -1
  572. metadata/generated/schema/type/paging.py +1 -1
  573. metadata/generated/schema/type/profile.py +1 -1
  574. metadata/generated/schema/type/queryParserData.py +1 -1
  575. metadata/generated/schema/type/reaction.py +1 -1
  576. metadata/generated/schema/type/schedule.py +1 -1
  577. metadata/generated/schema/type/schema.py +1 -1
  578. metadata/generated/schema/type/tableQuery.py +1 -1
  579. metadata/generated/schema/type/tableUsageCount.py +1 -1
  580. metadata/generated/schema/type/tagLabel.py +1 -1
  581. metadata/generated/schema/type/usageDetails.py +1 -1
  582. metadata/generated/schema/type/usageRequest.py +1 -1
  583. metadata/generated/schema/type/votes.py +1 -1
  584. metadata/ingestion/connections/test_connections.py +66 -40
  585. metadata/ingestion/ometa/mixins/suggestions_mixin.py +47 -4
  586. metadata/ingestion/ometa/ometa_api.py +5 -1
  587. metadata/ingestion/ometa/routes.py +3 -1
  588. metadata/ingestion/source/dashboard/dashboard_service.py +7 -1
  589. metadata/ingestion/source/dashboard/domodashboard/connection.py +8 -3
  590. metadata/ingestion/source/dashboard/lightdash/connection.py +8 -3
  591. metadata/ingestion/source/dashboard/looker/connection.py +8 -2
  592. metadata/ingestion/source/dashboard/metabase/connection.py +8 -2
  593. metadata/ingestion/source/dashboard/mode/client.py +29 -2
  594. metadata/ingestion/source/dashboard/mode/connection.py +9 -3
  595. metadata/ingestion/source/dashboard/mode/metadata.py +4 -1
  596. metadata/ingestion/source/dashboard/mstr/client.py +2 -3
  597. metadata/ingestion/source/dashboard/mstr/connection.py +8 -2
  598. metadata/ingestion/source/dashboard/powerbi/connection.py +8 -2
  599. metadata/ingestion/source/dashboard/qlikcloud/connection.py +8 -2
  600. metadata/ingestion/source/dashboard/qliksense/connection.py +8 -2
  601. metadata/ingestion/source/dashboard/quicksight/connection.py +8 -2
  602. metadata/ingestion/source/dashboard/quicksight/metadata.py +363 -81
  603. metadata/ingestion/source/dashboard/quicksight/models.py +19 -1
  604. metadata/ingestion/source/dashboard/redash/connection.py +8 -2
  605. metadata/ingestion/source/dashboard/superset/connection.py +8 -2
  606. metadata/ingestion/source/dashboard/tableau/connection.py +8 -2
  607. metadata/ingestion/source/database/athena/connection.py +8 -2
  608. metadata/ingestion/source/database/azuresql/connection.py +8 -2
  609. metadata/ingestion/source/database/bigquery/connection.py +9 -3
  610. metadata/ingestion/source/database/bigtable/connection.py +8 -2
  611. metadata/ingestion/source/database/clickhouse/connection.py +8 -2
  612. metadata/ingestion/source/database/common_db_source.py +9 -0
  613. metadata/ingestion/source/database/couchbase/connection.py +8 -2
  614. metadata/ingestion/source/database/couchbase/metadata.py +12 -123
  615. metadata/ingestion/source/database/couchbase/queries.py +1 -6
  616. metadata/ingestion/source/database/database_service.py +7 -1
  617. metadata/ingestion/source/database/databricks/connection.py +8 -3
  618. metadata/ingestion/source/database/databricks/metadata.py +8 -0
  619. metadata/ingestion/source/database/datalake/connection.py +8 -2
  620. metadata/ingestion/source/database/db2/connection.py +8 -2
  621. metadata/ingestion/source/database/deltalake/connection.py +8 -2
  622. metadata/ingestion/source/database/domodatabase/connection.py +8 -2
  623. metadata/ingestion/source/database/doris/connection.py +8 -2
  624. metadata/ingestion/source/database/druid/connection.py +8 -2
  625. metadata/ingestion/source/database/dynamodb/connection.py +8 -2
  626. metadata/ingestion/source/database/glue/connection.py +8 -2
  627. metadata/ingestion/source/database/glue/metadata.py +1 -11
  628. metadata/ingestion/source/database/glue/models.py +0 -1
  629. metadata/ingestion/source/database/greenplum/connection.py +8 -2
  630. metadata/ingestion/source/database/hive/connection.py +25 -4
  631. metadata/ingestion/source/database/iceberg/connection.py +8 -2
  632. metadata/ingestion/source/database/impala/connection.py +8 -2
  633. metadata/ingestion/source/database/mariadb/connection.py +8 -2
  634. metadata/ingestion/source/database/mongodb/connection.py +8 -2
  635. metadata/ingestion/source/database/mssql/connection.py +8 -2
  636. metadata/ingestion/source/database/mysql/connection.py +8 -2
  637. metadata/ingestion/source/database/oracle/connection.py +8 -2
  638. metadata/ingestion/source/database/pinotdb/connection.py +8 -2
  639. metadata/ingestion/source/database/postgres/connection.py +8 -2
  640. metadata/ingestion/source/database/presto/connection.py +8 -2
  641. metadata/ingestion/source/database/query_parser_source.py +5 -1
  642. metadata/ingestion/source/database/redshift/connection.py +10 -2
  643. metadata/ingestion/source/database/salesforce/connection.py +8 -2
  644. metadata/ingestion/source/database/salesforce/metadata.py +5 -1
  645. metadata/ingestion/source/database/saperp/connection.py +8 -2
  646. metadata/ingestion/source/database/saphana/connection.py +8 -2
  647. metadata/ingestion/source/database/saphana/lineage.py +5 -1
  648. metadata/ingestion/source/database/sas/connection.py +8 -2
  649. metadata/ingestion/source/database/sas/metadata.py +7 -1
  650. metadata/ingestion/source/database/singlestore/connection.py +8 -2
  651. metadata/ingestion/source/database/snowflake/connection.py +8 -2
  652. metadata/ingestion/source/database/sqlite/connection.py +8 -2
  653. metadata/ingestion/source/database/teradata/connection.py +8 -2
  654. metadata/ingestion/source/database/trino/connection.py +8 -2
  655. metadata/ingestion/source/database/unitycatalog/connection.py +8 -3
  656. metadata/ingestion/source/database/unitycatalog/lineage.py +7 -1
  657. metadata/ingestion/source/database/vertica/connection.py +8 -2
  658. metadata/ingestion/source/messaging/kafka/connection.py +8 -2
  659. metadata/ingestion/source/messaging/kinesis/connection.py +8 -2
  660. metadata/ingestion/source/messaging/messaging_service.py +7 -1
  661. metadata/ingestion/source/messaging/redpanda/connection.py +8 -2
  662. metadata/ingestion/source/metadata/alationsink/connection.py +8 -2
  663. metadata/ingestion/source/metadata/alationsink/metadata.py +5 -1
  664. metadata/ingestion/source/metadata/amundsen/connection.py +8 -2
  665. metadata/ingestion/source/metadata/amundsen/metadata.py +7 -1
  666. metadata/ingestion/source/metadata/atlas/connection.py +8 -2
  667. metadata/ingestion/source/metadata/atlas/metadata.py +7 -1
  668. metadata/ingestion/source/mlmodel/mlflow/connection.py +8 -2
  669. metadata/ingestion/source/mlmodel/mlmodel_service.py +7 -1
  670. metadata/ingestion/source/mlmodel/sagemaker/connection.py +8 -2
  671. metadata/ingestion/source/pipeline/airbyte/connection.py +8 -2
  672. metadata/ingestion/source/pipeline/airflow/connection.py +8 -2
  673. metadata/ingestion/source/pipeline/airflow/metadata.py +14 -2
  674. metadata/ingestion/source/pipeline/dagster/connection.py +8 -2
  675. metadata/ingestion/source/pipeline/databrickspipeline/connection.py +8 -2
  676. metadata/ingestion/source/pipeline/dbtcloud/connection.py +8 -2
  677. metadata/ingestion/source/pipeline/domopipeline/connection.py +8 -2
  678. metadata/ingestion/source/pipeline/fivetran/connection.py +8 -2
  679. metadata/ingestion/source/pipeline/flink/connection.py +8 -2
  680. metadata/ingestion/source/pipeline/gluepipeline/connection.py +8 -2
  681. metadata/ingestion/source/pipeline/kafkaconnect/connection.py +8 -2
  682. metadata/ingestion/source/pipeline/nifi/connection.py +8 -2
  683. metadata/ingestion/source/pipeline/openlineage/connection.py +8 -2
  684. metadata/ingestion/source/pipeline/pipeline_service.py +7 -1
  685. metadata/ingestion/source/pipeline/spline/connection.py +8 -2
  686. metadata/ingestion/source/search/elasticsearch/connection.py +8 -3
  687. metadata/ingestion/source/search/search_service.py +7 -1
  688. metadata/ingestion/source/storage/gcs/connection.py +8 -2
  689. metadata/ingestion/source/storage/s3/connection.py +8 -2
  690. metadata/ingestion/source/storage/storage_service.py +7 -1
  691. metadata/utils/constants.py +1 -0
  692. metadata/utils/timeout.py +6 -1
  693. metadata/workflow/profiler.py +6 -2
  694. {openmetadata_ingestion-1.5.7.1.dev0.dist-info → openmetadata_ingestion-1.5.9.0.dist-info}/METADATA +355 -355
  695. {openmetadata_ingestion-1.5.7.1.dev0.dist-info → openmetadata_ingestion-1.5.9.0.dist-info}/RECORD +699 -699
  696. metadata/generated/schema/entity/applications/configuration/external/metaPilotAppConfig.py +0 -65
  697. metadata/ingestion/source/database/couchbase/models.py +0 -31
  698. {openmetadata_ingestion-1.5.7.1.dev0.dist-info → openmetadata_ingestion-1.5.9.0.dist-info}/LICENSE +0 -0
  699. {openmetadata_ingestion-1.5.7.1.dev0.dist-info → openmetadata_ingestion-1.5.9.0.dist-info}/WHEEL +0 -0
  700. {openmetadata_ingestion-1.5.7.1.dev0.dist-info → openmetadata_ingestion-1.5.9.0.dist-info}/entry_points.txt +0 -0
  701. {openmetadata_ingestion-1.5.7.1.dev0.dist-info → openmetadata_ingestion-1.5.9.0.dist-info}/top_level.txt +0 -0
@@ -17,13 +17,20 @@ from pydantic import ValidationError
17
17
 
18
18
  from metadata.generated.schema.api.data.createChart import CreateChartRequest
19
19
  from metadata.generated.schema.api.data.createDashboard import CreateDashboardRequest
20
+ from metadata.generated.schema.api.data.createDashboardDataModel import (
21
+ CreateDashboardDataModelRequest,
22
+ )
20
23
  from metadata.generated.schema.api.lineage.addLineage import AddLineageRequest
21
24
  from metadata.generated.schema.entity.data.chart import Chart, ChartType
22
- from metadata.generated.schema.entity.data.dashboard import Dashboard
23
- from metadata.generated.schema.entity.data.table import Table
25
+ from metadata.generated.schema.entity.data.dashboardDataModel import (
26
+ DashboardDataModel,
27
+ DataModelType,
28
+ )
29
+ from metadata.generated.schema.entity.data.table import Column, Table
24
30
  from metadata.generated.schema.entity.services.connections.dashboard.quickSightConnection import (
25
31
  QuickSightConnection,
26
32
  )
33
+ from metadata.generated.schema.entity.services.databaseService import DatabaseService
27
34
  from metadata.generated.schema.entity.services.ingestionPipelines.status import (
28
35
  StackTraceError,
29
36
  )
@@ -35,17 +42,31 @@ from metadata.generated.schema.type.basic import (
35
42
  FullyQualifiedEntityName,
36
43
  Markdown,
37
44
  SourceUrl,
45
+ Uuid,
38
46
  )
47
+ from metadata.generated.schema.type.entityLineage import EntitiesEdge, LineageDetails
48
+ from metadata.generated.schema.type.entityLineage import Source as LineageSource
49
+ from metadata.generated.schema.type.entityReference import EntityReference
39
50
  from metadata.ingestion.api.models import Either
40
51
  from metadata.ingestion.api.steps import InvalidSourceException
52
+ from metadata.ingestion.lineage.models import ConnectionTypeDialectMapper
53
+ from metadata.ingestion.lineage.parser import LineageParser
54
+ from metadata.ingestion.lineage.sql_lineage import search_table_entities
41
55
  from metadata.ingestion.ometa.ometa_api import OpenMetadata
42
- from metadata.ingestion.source.dashboard.dashboard_service import DashboardServiceSource
56
+ from metadata.ingestion.source.dashboard.dashboard_service import (
57
+ LINEAGE_MAP,
58
+ DashboardServiceSource,
59
+ )
43
60
  from metadata.ingestion.source.dashboard.quicksight.models import (
44
61
  DashboardDetail,
45
62
  DashboardResp,
63
+ DataSourceModel,
46
64
  DataSourceResp,
65
+ DataSourceRespQuery,
66
+ DataSourceRespS3,
47
67
  DescribeDataSourceResponse,
48
68
  )
69
+ from metadata.ingestion.source.database.column_type_parser import ColumnTypeParser
49
70
  from metadata.utils import fqn
50
71
  from metadata.utils.filters import filter_by_chart
51
72
  from metadata.utils.logger import ingestion_logger
@@ -209,12 +230,283 @@ class QuicksightSource(DashboardServiceSource):
209
230
  )
210
231
  )
211
232
 
233
+ def _get_database_service(self, db_service_name: str):
234
+ return self.metadata.get_by_name(DatabaseService, db_service_name)
235
+
236
+ def _describe_data_sets(
237
+ self, dataset_id, dashboard_details: DashboardDetail
238
+ ) -> List:
239
+ """call botocore's describe api for datasets"""
240
+ try:
241
+ return list(
242
+ self.client.describe_data_set(
243
+ AwsAccountId=self.aws_account_id, DataSetId=dataset_id
244
+ )["DataSet"]["PhysicalTableMap"].values()
245
+ )
246
+ except Exception as err:
247
+ logger.info(
248
+ f"Cannot parse lineage from the dashboard: {dashboard_details.Name} to dataset due to: {err}"
249
+ )
250
+ return []
251
+
252
+ def _yield_lineage_from_query(
253
+ self,
254
+ data_model_entity,
255
+ data_source_resp: DataSourceModel,
256
+ dashboard_details: DashboardDetail,
257
+ db_service_entity,
258
+ ) -> Iterable[Either[AddLineageRequest]]:
259
+ """yield lineage from table(parsed form query source) <-> dashboard"""
260
+ if not db_service_entity:
261
+ logger.debug(f"db service is not ingested")
262
+ return None
263
+ sql_query = data_source_resp.data_source_resp.query
264
+ source_database_names = []
265
+ try:
266
+ if data_source_resp.DataSourceParameters:
267
+ data_source_dict = data_source_resp.DataSourceParameters
268
+ for db in data_source_dict.keys() or []:
269
+ source_database_names.append(data_source_dict[db].get("Database"))
270
+ except Exception as err:
271
+ logger.info(f"Error to parse database names from source:{err}")
272
+ return None
273
+
274
+ try:
275
+ lineage_parser = LineageParser(
276
+ sql_query,
277
+ ConnectionTypeDialectMapper.dialect_of(
278
+ db_service_entity.serviceType.value
279
+ )
280
+ if db_service_entity
281
+ else None,
282
+ )
283
+ lineage_details = LineageDetails(
284
+ source=LineageSource.DashboardLineage, sqlQuery=sql_query
285
+ )
286
+ for db_name in source_database_names:
287
+ for table in lineage_parser.source_tables:
288
+ database_schema_name, table = fqn.split(str(table))[-2:]
289
+ database_schema_name = self.check_database_schema_name(
290
+ database_schema_name
291
+ )
292
+ from_entities = search_table_entities(
293
+ metadata=self.metadata,
294
+ database=db_name,
295
+ service_name=db_service_entity.name.root,
296
+ database_schema=database_schema_name,
297
+ table=table,
298
+ )
299
+ for from_entity in from_entities:
300
+ if from_entity is not None and data_model_entity is not None:
301
+ columns = [
302
+ col.name.root for col in data_model_entity.columns
303
+ ]
304
+ column_lineage = self._get_column_lineage(
305
+ from_entity, data_model_entity, columns
306
+ )
307
+ lineage_details.columnsLineage = column_lineage
308
+ yield Either(
309
+ right=AddLineageRequest(
310
+ edge=EntitiesEdge(
311
+ fromEntity=EntityReference(
312
+ id=Uuid(from_entity.id.root),
313
+ type=LINEAGE_MAP[type(from_entity)],
314
+ ),
315
+ toEntity=EntityReference(
316
+ id=Uuid(data_model_entity.id.root),
317
+ type=LINEAGE_MAP[type(data_model_entity)],
318
+ ),
319
+ lineageDetails=lineage_details,
320
+ )
321
+ )
322
+ )
323
+
324
+ except Exception as err:
325
+ yield Either(
326
+ left=StackTraceError(
327
+ name=dashboard_details.DashboardId,
328
+ error=f"Wild error ingesting table(query) <-> datamodel lineage {dashboard_details} - {err}",
329
+ stackTrace=traceback.format_exc(),
330
+ )
331
+ )
332
+
333
+ def _yield_lineage_from_s3(
334
+ self,
335
+ data_model_entity,
336
+ data_source_resp: DataSourceModel,
337
+ dashboard_details: DashboardDetail,
338
+ ) -> Iterable[Either[AddLineageRequest]]:
339
+ """yield lineage from s3 container <-> dashboard"""
340
+ try:
341
+ if data_source_resp and data_source_resp.DataSourceParameters:
342
+ data_source_dict = data_source_resp.DataSourceParameters
343
+ for s3_param in data_source_dict.keys() or []:
344
+ bucket_name = (
345
+ data_source_dict[s3_param]
346
+ .get("ManifestFileLocation", {})
347
+ .get("Bucket")
348
+ )
349
+ key_name = (
350
+ data_source_dict[s3_param]
351
+ .get("ManifestFileLocation", {})
352
+ .get("Key")
353
+ )
354
+ containers = self.metadata.es_search_container_by_path(
355
+ full_path=f"s3://{bucket_name}/{key_name}"
356
+ )
357
+ for container in containers:
358
+ if container is not None and data_model_entity is not None:
359
+ storage_entity = EntityReference(
360
+ id=Uuid(container.id.root),
361
+ type="container",
362
+ )
363
+ yield Either(
364
+ right=AddLineageRequest(
365
+ edge=EntitiesEdge(
366
+ fromEntity=storage_entity,
367
+ toEntity=EntityReference(
368
+ id=Uuid(data_model_entity.id.root),
369
+ type=LINEAGE_MAP[type(data_model_entity)],
370
+ ),
371
+ )
372
+ )
373
+ )
374
+ except Exception as err:
375
+ yield Either(
376
+ left=StackTraceError(
377
+ name=dashboard_details.DashboardId,
378
+ error=f"Wild error ingesting s3 <-> datamodel lineage {dashboard_details} - {err}",
379
+ stackTrace=traceback.format_exc(),
380
+ )
381
+ )
382
+
383
+ def _yield_lineage_from_table(
384
+ self,
385
+ data_model_entity,
386
+ data_source_resp: DataSourceModel,
387
+ dashboard_details: DashboardDetail,
388
+ db_service_entity,
389
+ ) -> Iterable[Either[AddLineageRequest]]:
390
+ """yield lineage from table <-> dashboard"""
391
+ try:
392
+ schema_name = data_source_resp.data_source_resp.schema_name
393
+ table_name = data_source_resp.data_source_resp.table_name
394
+ if data_source_resp and data_source_resp.DataSourceParameters:
395
+ data_source_dict = data_source_resp.DataSourceParameters
396
+ for db in data_source_dict.keys() or []:
397
+ from_fqn = fqn.build(
398
+ self.metadata,
399
+ entity_type=Table,
400
+ service_name=db_service_entity.name.root,
401
+ database_name=data_source_dict[db].get("Database"),
402
+ schema_name=schema_name,
403
+ table_name=table_name,
404
+ )
405
+ from_entity = self.metadata.get_by_name(
406
+ entity=Table,
407
+ fqn=from_fqn,
408
+ )
409
+ if from_entity is not None and data_model_entity is not None:
410
+ columns = [col.name.root for col in data_model_entity.columns]
411
+ column_lineage = self._get_column_lineage(
412
+ from_entity, data_model_entity, columns
413
+ )
414
+ yield self._get_add_lineage_request(
415
+ to_entity=data_model_entity,
416
+ from_entity=from_entity,
417
+ column_lineage=column_lineage,
418
+ )
419
+ except Exception as err:
420
+ yield Either(
421
+ left=StackTraceError(
422
+ name=dashboard_details.DashboardId,
423
+ error=f"Wild error ingesting table <-> datamodel lineage {dashboard_details} - {err}",
424
+ stackTrace=traceback.format_exc(),
425
+ )
426
+ )
427
+
428
+ def _get_datamodel(self, datamodel_id: str):
429
+ datamodel_fqn = fqn.build(
430
+ self.metadata,
431
+ entity_type=DashboardDataModel,
432
+ service_name=self.context.get().dashboard_service,
433
+ data_model_name=datamodel_id,
434
+ )
435
+ if datamodel_fqn:
436
+ return self.metadata.get_by_name(
437
+ entity=DashboardDataModel,
438
+ fqn=datamodel_fqn,
439
+ )
440
+ return None
441
+
212
442
  def yield_dashboard_lineage_details( # pylint: disable=too-many-locals
213
443
  self, dashboard_details: DashboardDetail, db_service_name: str
214
444
  ) -> Iterable[Either[AddLineageRequest]]:
215
445
  """
216
446
  Get lineage between dashboard and data sources
217
447
  """
448
+ db_service_entity = self.metadata.get_by_name(
449
+ entity=DatabaseService, fqn=db_service_name
450
+ )
451
+ for datamodel in self.data_models or []:
452
+ try:
453
+ data_model_entity = self._get_datamodel(
454
+ datamodel_id=datamodel.DataSource.DataSourceId
455
+ )
456
+ if isinstance(
457
+ datamodel.DataSource.data_source_resp, DataSourceRespQuery
458
+ ):
459
+ yield from self._yield_lineage_from_query(
460
+ data_model_entity,
461
+ datamodel.DataSource,
462
+ dashboard_details,
463
+ db_service_entity,
464
+ )
465
+ elif isinstance(
466
+ datamodel.DataSource.data_source_resp, DataSourceRespS3
467
+ ):
468
+ yield from self._yield_lineage_from_s3(
469
+ data_model_entity, datamodel.DataSource, dashboard_details
470
+ )
471
+ elif isinstance(datamodel.DataSource.data_source_resp, DataSourceResp):
472
+ yield from self._yield_lineage_from_table(
473
+ data_model_entity,
474
+ datamodel.DataSource,
475
+ dashboard_details,
476
+ db_service_entity,
477
+ )
478
+ except Exception as exc: # pylint: disable=broad-except
479
+ yield Either(
480
+ left=StackTraceError(
481
+ name="Lineage",
482
+ error=f"Error to yield dashboard lineage details for DB service name [{db_service_name}] and dashboard_name [{dashboard_details.Name}]: {exc}",
483
+ stackTrace=traceback.format_exc(),
484
+ )
485
+ )
486
+
487
+ def _get_column_info(self, data_model: DescribeDataSourceResponse):
488
+ """Get column info"""
489
+ datasource_columns = []
490
+ for field in data_model.DataSource.data_source_resp.columns or []:
491
+ try:
492
+ col_parse = ColumnTypeParser._parse_datatype_string( # pylint: disable=protected-access
493
+ field.get("Type")
494
+ )
495
+ parsed_fields = {
496
+ "name": field.get("Name"),
497
+ "displayName": field.get("Name"),
498
+ "dataType": col_parse.get("dataType"),
499
+ }
500
+ datasource_columns.append(Column(**parsed_fields))
501
+ except Exception as exc:
502
+ logger.debug(traceback.format_exc())
503
+ logger.warning(f"Error to yield datamodel column: {exc}")
504
+ return datasource_columns
505
+
506
+ def _get_dashboard_datamodels(self, dashboard_details: DashboardDetail) -> list:
507
+ """Get dashboard datamodels"""
508
+ data_models = []
509
+ dataset_ids = []
218
510
  try:
219
511
  list_data_set_func = lambda kwargs: self.client.list_data_sets( # pylint: disable=unnecessary-lambda-assignment
220
512
  **kwargs
@@ -228,105 +520,95 @@ class QuicksightSource(DashboardServiceSource):
228
520
  for dataset in data_set_summary_list or []
229
521
  if dataset.get("Arn") in dashboard_details.Version.DataSetArns
230
522
  }
523
+ except Exception as exc:
524
+ logger.debug(traceback.format_exc())
525
+ logger.warning(
526
+ f"Error while processing datamodels for dashboard: {dashboard_details.Name}: {exc}"
527
+ )
231
528
 
232
- for dataset_id in dataset_ids or []:
233
- for data_source in (
234
- list(
235
- self.client.describe_data_set(
236
- AwsAccountId=self.aws_account_id, DataSetId=dataset_id
237
- )["DataSet"]["PhysicalTableMap"].values()
238
- )
239
- or []
240
- ):
241
- try:
242
- if not data_source.get("RelationalTable"):
243
- raise KeyError(
244
- f"We currently don't support lineage to {list(data_source.keys())}"
245
- )
529
+ for dataset_id in dataset_ids or []:
530
+ data_source_list = self._describe_data_sets(dataset_id, dashboard_details)
531
+ for data_source in data_source_list:
532
+ try:
533
+ if data_source.get("RelationalTable"):
246
534
  data_source_resp = DataSourceResp(
247
535
  **data_source["RelationalTable"]
248
536
  )
249
- except (KeyError, ValidationError) as err:
250
- data_source_resp = None
251
- yield Either(
252
- left=StackTraceError(
253
- name="Lineage",
254
- error=(
255
- "Error to yield dashboard lineage details for DB service"
256
- f" name [{db_service_name}]: {err}"
257
- ),
258
- stackTrace=traceback.format_exc(),
259
- )
537
+ elif data_source.get("CustomSql"):
538
+ data_source_resp = DataSourceRespQuery(
539
+ **data_source["CustomSql"]
260
540
  )
261
- if data_source_resp:
262
- schema_name = data_source_resp.schema_name
263
- table_name = data_source_resp.table_name
264
-
541
+ elif data_source.get("S3Source"):
542
+ data_source_resp = DataSourceRespS3(**data_source["S3Source"])
543
+ else:
544
+ raise KeyError(
545
+ f"We currently don't support data sources: {list(data_source.keys())}"
546
+ )
547
+ except (KeyError, ValidationError) as err:
548
+ data_source_resp = None
549
+ logger.info(
550
+ f"Error while processing datamodels for dashboard {dashboard_details.Name}: {err}"
551
+ )
552
+ continue
553
+ if data_source_resp:
554
+ try:
265
555
  list_data_source_func = lambda kwargs: self.client.list_data_sources( # pylint: disable=unnecessary-lambda-assignment
266
556
  **kwargs
267
557
  )
268
-
269
558
  data_source_summary_list = self._check_pagination(
270
559
  listing_method=list_data_source_func,
271
560
  entity_key="DataSources",
272
561
  )
273
-
274
562
  data_source_ids = [
275
563
  data_source_arn["DataSourceId"]
276
564
  for data_source_arn in data_source_summary_list or []
277
565
  if data_source_arn["Arn"] in data_source_resp.datasource_arn
278
566
  ]
279
-
280
567
  for data_source_id in data_source_ids or []:
281
- data_source_resp = DescribeDataSourceResponse(
568
+ desribed_source = DescribeDataSourceResponse(
282
569
  **self.client.describe_data_source(
283
570
  AwsAccountId=self.aws_account_id,
284
571
  DataSourceId=data_source_id,
285
572
  )
286
- ).DataSource
287
- if (
573
+ )
574
+ desribed_source.DataSource.data_source_resp = (
288
575
  data_source_resp
289
- and data_source_resp.DataSourceParameters
290
- ):
291
- data_source_dict = data_source_resp.DataSourceParameters
292
- for db in data_source_dict.keys() or []:
293
- from_fqn = fqn.build(
294
- self.metadata,
295
- entity_type=Table,
296
- service_name=db_service_name,
297
- database_name=data_source_dict[db].get(
298
- "Database"
299
- ),
300
- schema_name=schema_name,
301
- table_name=table_name,
302
- skip_es_search=True,
303
- )
304
- from_entity = self.metadata.get_by_name(
305
- entity=Table,
306
- fqn=from_fqn,
307
- )
308
- to_fqn = fqn.build(
309
- self.metadata,
310
- entity_type=Dashboard,
311
- service_name=self.config.serviceName,
312
- dashboard_name=dashboard_details.DashboardId,
313
- )
314
- to_entity = self.metadata.get_by_name(
315
- entity=Dashboard,
316
- fqn=to_fqn,
317
- )
318
- if (
319
- from_entity is not None
320
- and to_entity is not None
321
- ):
322
- yield self._get_add_lineage_request(
323
- to_entity=to_entity, from_entity=from_entity
324
- )
325
- except Exception as exc: # pylint: disable=broad-except
326
- yield Either(
327
- left=StackTraceError(
328
- name="Lineage",
329
- error=f"Error to yield dashboard lineage details for DB service name [{db_service_name}]: {exc}",
330
- stackTrace=traceback.format_exc(),
576
+ )
577
+ data_models.append(desribed_source)
578
+ except Exception as err:
579
+ logger.info(
580
+ f"Error while processing data sources for dashboard {dashboard_details.Name}: {err}"
581
+ )
582
+ return data_models
583
+
584
+ def yield_datamodel(
585
+ self, dashboard_details: DashboardDetail
586
+ ) -> Iterable[Either[CreateDashboardDataModelRequest]]:
587
+ """
588
+ Method to ingest the Datasources(Published and Embedded) as DataModels from Quicksight
589
+ """
590
+ self.data_models: List[
591
+ DescribeDataSourceResponse
592
+ ] = self._get_dashboard_datamodels(dashboard_details)
593
+ for data_model in self.data_models:
594
+ try:
595
+ data_model_request = CreateDashboardDataModelRequest(
596
+ name=EntityName(data_model.DataSource.DataSourceId),
597
+ displayName=data_model.DataSource.Name,
598
+ service=FullyQualifiedEntityName(
599
+ self.context.get().dashboard_service
600
+ ),
601
+ dataModelType=DataModelType.QuickSightDataModel.value,
602
+ serviceType=self.service_connection.type.value,
603
+ columns=self._get_column_info(data_model),
604
+ )
605
+ yield Either(right=data_model_request)
606
+ self.register_record_datamodel(datamodel_request=data_model_request)
607
+ except Exception as exc:
608
+ yield Either(
609
+ left=StackTraceError(
610
+ name=data_model.DataSource.Name,
611
+ error=f"Error yielding Data Model [{data_model.DataSource.Name}]: {exc}",
612
+ stackTrace=traceback.format_exc(),
613
+ )
331
614
  )
332
- )
@@ -12,7 +12,7 @@
12
12
  Pydantic Model to validate Quick Sight responses
13
13
  """
14
14
 
15
- from typing import List, Optional
15
+ from typing import List, Optional, Union
16
16
 
17
17
  from pydantic import BaseModel, Field
18
18
 
@@ -21,6 +21,19 @@ class DataSourceResp(BaseModel):
21
21
  datasource_arn: str = Field(alias="DataSourceArn")
22
22
  schema_name: str = Field(alias="Schema")
23
23
  table_name: str = Field(alias="Name")
24
+ columns: Optional[list] = Field(alias="InputColumns")
25
+
26
+
27
+ class DataSourceRespQuery(BaseModel):
28
+ datasource_arn: str = Field(alias="DataSourceArn")
29
+ query: str = Field(alias="SqlQuery")
30
+ table_name: str = Field(alias="Name")
31
+ columns: Optional[list] = Field(alias="Columns")
32
+
33
+
34
+ class DataSourceRespS3(BaseModel):
35
+ datasource_arn: str = Field(alias="DataSourceArn")
36
+ columns: Optional[list] = Field(alias="InputColumns")
24
37
 
25
38
 
26
39
  class VersionSheet(BaseModel):
@@ -51,8 +64,13 @@ class DashboardResp(BaseModel):
51
64
 
52
65
 
53
66
  class DataSourceModel(BaseModel):
67
+ Name: str
68
+ Type: str
54
69
  DataSourceId: str
55
70
  DataSourceParameters: Optional[dict] = None
71
+ data_source_resp: Optional[
72
+ Union[DataSourceRespS3, DataSourceRespQuery, DataSourceResp]
73
+ ] = None
56
74
 
57
75
 
58
76
  class DescribeDataSourceResponse(BaseModel):
@@ -21,12 +21,16 @@ from metadata.generated.schema.entity.automations.workflow import (
21
21
  from metadata.generated.schema.entity.services.connections.dashboard.redashConnection import (
22
22
  RedashConnection,
23
23
  )
24
+ from metadata.generated.schema.entity.services.connections.testConnectionResult import (
25
+ TestConnectionResult,
26
+ )
24
27
  from metadata.ingestion.connections.test_connections import (
25
28
  SourceConnectionException,
26
29
  test_connection_steps,
27
30
  )
28
31
  from metadata.ingestion.ometa.ometa_api import OpenMetadata
29
32
  from metadata.ingestion.source.dashboard.redash.client import RedashApiClient
33
+ from metadata.utils.constants import THREE_MIN
30
34
 
31
35
 
32
36
  def get_connection(connection: RedashConnection) -> RedashApiClient:
@@ -45,7 +49,8 @@ def test_connection(
45
49
  client: RedashApiClient,
46
50
  service_connection: RedashConnection,
47
51
  automation_workflow: Optional[AutomationWorkflow] = None,
48
- ) -> None:
52
+ timeout_seconds: Optional[int] = THREE_MIN,
53
+ ) -> TestConnectionResult:
49
54
  """
50
55
  Test connection. This can be executed either as part
51
56
  of a metadata workflow or during an Automation Workflow
@@ -53,9 +58,10 @@ def test_connection(
53
58
 
54
59
  test_fn = {"GetDashboards": client.dashboards}
55
60
 
56
- test_connection_steps(
61
+ return test_connection_steps(
57
62
  metadata=metadata,
58
63
  test_fn=test_fn,
59
64
  service_type=service_connection.type.value,
60
65
  automation_workflow=automation_workflow,
66
+ timeout_seconds=timeout_seconds,
61
67
  )
@@ -29,6 +29,9 @@ from metadata.generated.schema.entity.services.connections.database.mysqlConnect
29
29
  from metadata.generated.schema.entity.services.connections.database.postgresConnection import (
30
30
  PostgresConnection,
31
31
  )
32
+ from metadata.generated.schema.entity.services.connections.testConnectionResult import (
33
+ TestConnectionResult,
34
+ )
32
35
  from metadata.generated.schema.entity.utils.supersetApiConnection import (
33
36
  SupersetApiConnection,
34
37
  )
@@ -49,6 +52,7 @@ from metadata.ingestion.source.database.mysql.connection import (
49
52
  from metadata.ingestion.source.database.postgres.connection import (
50
53
  get_connection as pg_get_connection,
51
54
  )
55
+ from metadata.utils.constants import THREE_MIN
52
56
 
53
57
 
54
58
  def get_connection(connection: SupersetConnection) -> SupersetAPIClient:
@@ -69,7 +73,8 @@ def test_connection(
69
73
  client: Union[SupersetAPIClient, Engine],
70
74
  service_connection: SupersetConnection,
71
75
  automation_workflow: Optional[AutomationWorkflow] = None,
72
- ) -> None:
76
+ timeout_seconds: Optional[int] = THREE_MIN,
77
+ ) -> TestConnectionResult:
73
78
  """
74
79
  Test connection. This can be executed either as part
75
80
  of a metadata workflow or during an Automation Workflow
@@ -91,9 +96,10 @@ def test_connection(
91
96
  else:
92
97
  test_fn["GetCharts"] = partial(test_query, client, FETCH_ALL_CHARTS_TEST)
93
98
 
94
- test_connection_steps(
99
+ return test_connection_steps(
95
100
  metadata=metadata,
96
101
  test_fn=test_fn,
97
102
  service_type=service_connection.type.value,
98
103
  automation_workflow=automation_workflow,
104
+ timeout_seconds=timeout_seconds,
99
105
  )
@@ -24,6 +24,9 @@ from metadata.generated.schema.entity.automations.workflow import (
24
24
  from metadata.generated.schema.entity.services.connections.dashboard.tableauConnection import (
25
25
  TableauConnection,
26
26
  )
27
+ from metadata.generated.schema.entity.services.connections.testConnectionResult import (
28
+ TestConnectionResult,
29
+ )
27
30
  from metadata.generated.schema.security.credentials.accessTokenAuth import (
28
31
  AccessTokenAuth,
29
32
  )
@@ -38,6 +41,7 @@ from metadata.ingestion.source.dashboard.tableau import (
38
41
  TABLEAU_GET_WORKBOOKS_PARAM_DICT,
39
42
  )
40
43
  from metadata.ingestion.source.dashboard.tableau.client import TableauClient
44
+ from metadata.utils.constants import THREE_MIN
41
45
  from metadata.utils.logger import ingestion_logger
42
46
  from metadata.utils.ssl_registry import get_verify_ssl_fn
43
47
 
@@ -70,7 +74,8 @@ def test_connection(
70
74
  client: TableauClient,
71
75
  service_connection: TableauConnection,
72
76
  automation_workflow: Optional[AutomationWorkflow] = None,
73
- ) -> None:
77
+ timeout_seconds: Optional[int] = THREE_MIN,
78
+ ) -> TestConnectionResult:
74
79
  """
75
80
  Test connection. This can be executed either as part
76
81
  of a metadata workflow or during an Automation Workflow
@@ -101,11 +106,12 @@ def test_connection(
101
106
  "GetDataModels": client.test_get_datamodels,
102
107
  }
103
108
 
104
- test_connection_steps(
109
+ return test_connection_steps(
105
110
  metadata=metadata,
106
111
  test_fn=test_fn,
107
112
  service_type=service_connection.type.value,
108
113
  automation_workflow=automation_workflow,
114
+ timeout_seconds=timeout_seconds,
109
115
  )
110
116
 
111
117