openmetadata-ingestion 1.6.7.0__py3-none-any.whl → 1.6.7.1__py3-none-any.whl

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

Potentially problematic release.


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

Files changed (656) hide show
  1. metadata/generated/schema/analytics/__init__.py +1 -1
  2. metadata/generated/schema/analytics/basic.py +1 -1
  3. metadata/generated/schema/analytics/reportData.py +1 -1
  4. metadata/generated/schema/analytics/reportDataType/__init__.py +1 -1
  5. metadata/generated/schema/analytics/reportDataType/aggregatedCostAnalysisReportData.py +1 -1
  6. metadata/generated/schema/analytics/reportDataType/entityReportData.py +1 -1
  7. metadata/generated/schema/analytics/reportDataType/rawCostAnalysisReportData.py +1 -1
  8. metadata/generated/schema/analytics/reportDataType/webAnalyticEntityViewReportData.py +1 -1
  9. metadata/generated/schema/analytics/reportDataType/webAnalyticUserActivityReportData.py +1 -1
  10. metadata/generated/schema/analytics/webAnalyticEvent.py +1 -1
  11. metadata/generated/schema/analytics/webAnalyticEventData.py +1 -1
  12. metadata/generated/schema/analytics/webAnalyticEventType/__init__.py +1 -1
  13. metadata/generated/schema/analytics/webAnalyticEventType/customEvent.py +1 -1
  14. metadata/generated/schema/analytics/webAnalyticEventType/pageViewEvent.py +1 -1
  15. metadata/generated/schema/api/__init__.py +1 -1
  16. metadata/generated/schema/api/addGlossaryToAssetsRequest.py +1 -1
  17. metadata/generated/schema/api/addTagToAssetsRequest.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/createMetric.py +1 -1
  43. metadata/generated/schema/api/data/createMlModel.py +1 -1
  44. metadata/generated/schema/api/data/createPipeline.py +1 -1
  45. metadata/generated/schema/api/data/createQuery.py +1 -1
  46. metadata/generated/schema/api/data/createSearchIndex.py +1 -1
  47. metadata/generated/schema/api/data/createStoredProcedure.py +1 -1
  48. metadata/generated/schema/api/data/createTable.py +1 -1
  49. metadata/generated/schema/api/data/createTableProfile.py +1 -1
  50. metadata/generated/schema/api/data/createTopic.py +1 -1
  51. metadata/generated/schema/api/data/loadGlossary.py +1 -1
  52. metadata/generated/schema/api/data/restoreEntity.py +1 -1
  53. metadata/generated/schema/api/dataInsight/__init__.py +1 -1
  54. metadata/generated/schema/api/dataInsight/createDataInsightChart.py +1 -1
  55. metadata/generated/schema/api/dataInsight/custom/__init__.py +1 -1
  56. metadata/generated/schema/api/dataInsight/custom/createDataInsightCustomChart.py +1 -1
  57. metadata/generated/schema/api/dataInsight/kpi/__init__.py +1 -1
  58. metadata/generated/schema/api/dataInsight/kpi/createKpiRequest.py +1 -1
  59. metadata/generated/schema/api/docStore/__init__.py +1 -1
  60. metadata/generated/schema/api/docStore/createDocument.py +1 -1
  61. metadata/generated/schema/api/domains/__init__.py +1 -1
  62. metadata/generated/schema/api/domains/createDataProduct.py +1 -1
  63. metadata/generated/schema/api/domains/createDomain.py +1 -1
  64. metadata/generated/schema/api/feed/__init__.py +1 -1
  65. metadata/generated/schema/api/feed/closeTask.py +1 -1
  66. metadata/generated/schema/api/feed/createPost.py +1 -1
  67. metadata/generated/schema/api/feed/createSuggestion.py +1 -1
  68. metadata/generated/schema/api/feed/createThread.py +1 -1
  69. metadata/generated/schema/api/feed/resolveTask.py +1 -1
  70. metadata/generated/schema/api/feed/threadCount.py +1 -1
  71. metadata/generated/schema/api/governance/__init__.py +1 -1
  72. metadata/generated/schema/api/governance/createWorkflowDefinition.py +1 -1
  73. metadata/generated/schema/api/governance/createWorkflowInstanceState.py +1 -1
  74. metadata/generated/schema/api/lineage/__init__.py +1 -1
  75. metadata/generated/schema/api/lineage/addLineage.py +1 -1
  76. metadata/generated/schema/api/openMetadataServerVersion.py +1 -1
  77. metadata/generated/schema/api/policies/__init__.py +1 -1
  78. metadata/generated/schema/api/policies/createPolicy.py +1 -1
  79. metadata/generated/schema/api/services/__init__.py +1 -1
  80. metadata/generated/schema/api/services/createApiService.py +1 -1
  81. metadata/generated/schema/api/services/createDashboardService.py +1 -1
  82. metadata/generated/schema/api/services/createDatabaseService.py +1 -1
  83. metadata/generated/schema/api/services/createMessagingService.py +1 -1
  84. metadata/generated/schema/api/services/createMetadataService.py +1 -1
  85. metadata/generated/schema/api/services/createMlModelService.py +1 -1
  86. metadata/generated/schema/api/services/createPipelineService.py +1 -1
  87. metadata/generated/schema/api/services/createSearchService.py +1 -1
  88. metadata/generated/schema/api/services/createStorageService.py +1 -1
  89. metadata/generated/schema/api/services/ingestionPipelines/__init__.py +1 -1
  90. metadata/generated/schema/api/services/ingestionPipelines/createIngestionPipeline.py +1 -1
  91. metadata/generated/schema/api/setOwner.py +1 -1
  92. metadata/generated/schema/api/teams/__init__.py +1 -1
  93. metadata/generated/schema/api/teams/createPersona.py +1 -1
  94. metadata/generated/schema/api/teams/createRole.py +1 -1
  95. metadata/generated/schema/api/teams/createTeam.py +1 -1
  96. metadata/generated/schema/api/teams/createUser.py +1 -1
  97. metadata/generated/schema/api/tests/__init__.py +1 -1
  98. metadata/generated/schema/api/tests/createCustomMetric.py +1 -1
  99. metadata/generated/schema/api/tests/createLogicalTestCases.py +1 -1
  100. metadata/generated/schema/api/tests/createTestCase.py +1 -1
  101. metadata/generated/schema/api/tests/createTestCaseResolutionStatus.py +1 -1
  102. metadata/generated/schema/api/tests/createTestCaseResult.py +1 -1
  103. metadata/generated/schema/api/tests/createTestDefinition.py +1 -1
  104. metadata/generated/schema/api/tests/createTestSuite.py +1 -1
  105. metadata/generated/schema/api/voteRequest.py +1 -1
  106. metadata/generated/schema/auth/__init__.py +1 -1
  107. metadata/generated/schema/auth/basicAuth.py +1 -1
  108. metadata/generated/schema/auth/basicLoginRequest.py +1 -1
  109. metadata/generated/schema/auth/changePasswordRequest.py +1 -1
  110. metadata/generated/schema/auth/createPersonalToken.py +1 -1
  111. metadata/generated/schema/auth/emailRequest.py +1 -1
  112. metadata/generated/schema/auth/emailVerificationToken.py +1 -1
  113. metadata/generated/schema/auth/generateToken.py +1 -1
  114. metadata/generated/schema/auth/jwtAuth.py +1 -1
  115. metadata/generated/schema/auth/loginRequest.py +1 -1
  116. metadata/generated/schema/auth/logoutRequest.py +1 -1
  117. metadata/generated/schema/auth/passwordResetRequest.py +1 -1
  118. metadata/generated/schema/auth/passwordResetToken.py +1 -1
  119. metadata/generated/schema/auth/personalAccessToken.py +1 -1
  120. metadata/generated/schema/auth/refreshToken.py +1 -1
  121. metadata/generated/schema/auth/registrationRequest.py +1 -1
  122. metadata/generated/schema/auth/revokePersonalToken.py +1 -1
  123. metadata/generated/schema/auth/revokeToken.py +1 -1
  124. metadata/generated/schema/auth/serviceTokenEnum.py +1 -1
  125. metadata/generated/schema/auth/ssoAuth.py +1 -1
  126. metadata/generated/schema/auth/tokenRefreshRequest.py +1 -1
  127. metadata/generated/schema/configuration/__init__.py +1 -1
  128. metadata/generated/schema/configuration/appsPrivateConfiguration.py +1 -1
  129. metadata/generated/schema/configuration/assetCertificationSettings.py +1 -1
  130. metadata/generated/schema/configuration/authConfig.py +1 -1
  131. metadata/generated/schema/configuration/authenticationConfiguration.py +1 -1
  132. metadata/generated/schema/configuration/authorizerConfiguration.py +1 -1
  133. metadata/generated/schema/configuration/changeEventConfiguration.py +1 -1
  134. metadata/generated/schema/configuration/dataQualityConfiguration.py +1 -1
  135. metadata/generated/schema/configuration/elasticSearchConfiguration.py +1 -1
  136. metadata/generated/schema/configuration/eventHandlerConfiguration.py +1 -1
  137. metadata/generated/schema/configuration/fernetConfiguration.py +1 -1
  138. metadata/generated/schema/configuration/jwtTokenConfiguration.py +1 -1
  139. metadata/generated/schema/configuration/kafkaEventConfiguration.py +1 -1
  140. metadata/generated/schema/configuration/ldapConfiguration.py +1 -1
  141. metadata/generated/schema/configuration/ldapTrustStoreConfig/__init__.py +1 -1
  142. metadata/generated/schema/configuration/ldapTrustStoreConfig/customTrustManagerConfig.py +1 -1
  143. metadata/generated/schema/configuration/ldapTrustStoreConfig/hostNameConfig.py +1 -1
  144. metadata/generated/schema/configuration/ldapTrustStoreConfig/jvmDefaultConfig.py +1 -1
  145. metadata/generated/schema/configuration/ldapTrustStoreConfig/trustAllConfig.py +1 -1
  146. metadata/generated/schema/configuration/ldapTrustStoreConfig/truststoreConfig.py +1 -1
  147. metadata/generated/schema/configuration/limitsConfiguration.py +1 -1
  148. metadata/generated/schema/configuration/lineageSettings.py +1 -1
  149. metadata/generated/schema/configuration/loginConfiguration.py +1 -1
  150. metadata/generated/schema/configuration/logoConfiguration.py +1 -1
  151. metadata/generated/schema/configuration/pipelineServiceClientConfiguration.py +1 -1
  152. metadata/generated/schema/configuration/profilerConfiguration.py +1 -1
  153. metadata/generated/schema/configuration/searchSettings.py +1 -1
  154. metadata/generated/schema/configuration/slackAppConfiguration.py +1 -1
  155. metadata/generated/schema/configuration/taskNotificationConfiguration.py +1 -1
  156. metadata/generated/schema/configuration/testResultNotificationConfiguration.py +1 -1
  157. metadata/generated/schema/configuration/themeConfiguration.py +1 -1
  158. metadata/generated/schema/configuration/uiThemePreference.py +1 -1
  159. metadata/generated/schema/configuration/workflowSettings.py +1 -1
  160. metadata/generated/schema/dataInsight/__init__.py +1 -1
  161. metadata/generated/schema/dataInsight/custom/__init__.py +1 -1
  162. metadata/generated/schema/dataInsight/custom/dataInsightCustomChart.py +1 -1
  163. metadata/generated/schema/dataInsight/custom/dataInsightCustomChartResult.py +1 -1
  164. metadata/generated/schema/dataInsight/custom/dataInsightCustomChartResultList.py +1 -1
  165. metadata/generated/schema/dataInsight/custom/formulaHolder.py +1 -1
  166. metadata/generated/schema/dataInsight/custom/lineChart.py +1 -1
  167. metadata/generated/schema/dataInsight/custom/summaryCard.py +1 -1
  168. metadata/generated/schema/dataInsight/dataInsightChart.py +1 -1
  169. metadata/generated/schema/dataInsight/dataInsightChartResult.py +1 -1
  170. metadata/generated/schema/dataInsight/kpi/__init__.py +1 -1
  171. metadata/generated/schema/dataInsight/kpi/basic.py +1 -1
  172. metadata/generated/schema/dataInsight/kpi/kpi.py +1 -1
  173. metadata/generated/schema/dataInsight/type/__init__.py +1 -1
  174. metadata/generated/schema/dataInsight/type/aggregatedUnusedAssetsCount.py +1 -1
  175. metadata/generated/schema/dataInsight/type/aggregatedUnusedAssetsSize.py +1 -1
  176. metadata/generated/schema/dataInsight/type/aggregatedUsedVsUnusedAssetsCount.py +1 -1
  177. metadata/generated/schema/dataInsight/type/aggregatedUsedVsUnusedAssetsSize.py +1 -1
  178. metadata/generated/schema/dataInsight/type/dailyActiveUsers.py +1 -1
  179. metadata/generated/schema/dataInsight/type/mostActiveUsers.py +1 -1
  180. metadata/generated/schema/dataInsight/type/mostViewedEntities.py +1 -1
  181. metadata/generated/schema/dataInsight/type/pageViewsByEntities.py +1 -1
  182. metadata/generated/schema/dataInsight/type/unusedAssets.py +1 -1
  183. metadata/generated/schema/email/__init__.py +1 -1
  184. metadata/generated/schema/email/emailRequest.py +1 -1
  185. metadata/generated/schema/email/emailTemplate.py +1 -1
  186. metadata/generated/schema/email/emailTemplatePlaceholder.py +1 -1
  187. metadata/generated/schema/email/smtpSettings.py +1 -1
  188. metadata/generated/schema/email/templateValidationReponse.py +1 -1
  189. metadata/generated/schema/entity/__init__.py +1 -1
  190. metadata/generated/schema/entity/applications/__init__.py +1 -1
  191. metadata/generated/schema/entity/applications/app.py +1 -1
  192. metadata/generated/schema/entity/applications/appExtension.py +1 -1
  193. metadata/generated/schema/entity/applications/appRunRecord.py +1 -1
  194. metadata/generated/schema/entity/applications/configuration/__init__.py +1 -1
  195. metadata/generated/schema/entity/applications/configuration/applicationConfig.py +1 -1
  196. metadata/generated/schema/entity/applications/configuration/external/__init__.py +1 -1
  197. metadata/generated/schema/entity/applications/configuration/external/automator/__init__.py +1 -1
  198. metadata/generated/schema/entity/applications/configuration/external/automator/addCustomProperties.py +1 -1
  199. metadata/generated/schema/entity/applications/configuration/external/automator/addDescriptionAction.py +1 -1
  200. metadata/generated/schema/entity/applications/configuration/external/automator/addDomainAction.py +1 -1
  201. metadata/generated/schema/entity/applications/configuration/external/automator/addOwnerAction.py +1 -1
  202. metadata/generated/schema/entity/applications/configuration/external/automator/addTagsAction.py +1 -1
  203. metadata/generated/schema/entity/applications/configuration/external/automator/addTierAction.py +1 -1
  204. metadata/generated/schema/entity/applications/configuration/external/automator/lineagePropagationAction.py +1 -1
  205. metadata/generated/schema/entity/applications/configuration/external/automator/mlTaggingAction.py +1 -1
  206. metadata/generated/schema/entity/applications/configuration/external/automator/removeCustomPropertiesAction.py +1 -1
  207. metadata/generated/schema/entity/applications/configuration/external/automator/removeDescriptionAction.py +1 -1
  208. metadata/generated/schema/entity/applications/configuration/external/automator/removeDomainAction.py +1 -1
  209. metadata/generated/schema/entity/applications/configuration/external/automator/removeOwnerAction.py +1 -1
  210. metadata/generated/schema/entity/applications/configuration/external/automator/removeTagsAction.py +1 -1
  211. metadata/generated/schema/entity/applications/configuration/external/automator/removeTierAction.py +1 -1
  212. metadata/generated/schema/entity/applications/configuration/external/automatorAppConfig.py +1 -1
  213. metadata/generated/schema/entity/applications/configuration/external/collateAIAppConfig.py +1 -1
  214. metadata/generated/schema/entity/applications/configuration/external/slackAppTokenConfiguration.py +1 -1
  215. metadata/generated/schema/entity/applications/configuration/internal/__init__.py +1 -1
  216. metadata/generated/schema/entity/applications/configuration/internal/dataInsightsAppConfig.py +1 -1
  217. metadata/generated/schema/entity/applications/configuration/internal/dataInsightsReportAppConfig.py +1 -1
  218. metadata/generated/schema/entity/applications/configuration/internal/dataRetentionConfiguration.py +1 -1
  219. metadata/generated/schema/entity/applications/configuration/internal/searchIndexingAppConfig.py +1 -1
  220. metadata/generated/schema/entity/applications/configuration/private/external/__init__.py +1 -1
  221. metadata/generated/schema/entity/applications/configuration/private/external/collateAIAppPrivateConfig.py +1 -1
  222. metadata/generated/schema/entity/applications/createAppRequest.py +1 -1
  223. metadata/generated/schema/entity/applications/jobStatus.py +1 -1
  224. metadata/generated/schema/entity/applications/liveExecutionContext.py +1 -1
  225. metadata/generated/schema/entity/applications/marketplace/__init__.py +1 -1
  226. metadata/generated/schema/entity/applications/marketplace/appMarketPlaceDefinition.py +1 -1
  227. metadata/generated/schema/entity/applications/marketplace/createAppMarketPlaceDefinitionReq.py +1 -1
  228. metadata/generated/schema/entity/applications/scheduledExecutionContext.py +1 -1
  229. metadata/generated/schema/entity/automations/__init__.py +1 -1
  230. metadata/generated/schema/entity/automations/testServiceConnection.py +1 -1
  231. metadata/generated/schema/entity/automations/workflow.py +1 -1
  232. metadata/generated/schema/entity/bot.py +1 -1
  233. metadata/generated/schema/entity/classification/__init__.py +1 -1
  234. metadata/generated/schema/entity/classification/classification.py +1 -1
  235. metadata/generated/schema/entity/classification/tag.py +1 -1
  236. metadata/generated/schema/entity/data/__init__.py +1 -1
  237. metadata/generated/schema/entity/data/apiCollection.py +1 -1
  238. metadata/generated/schema/entity/data/apiEndpoint.py +1 -1
  239. metadata/generated/schema/entity/data/chart.py +1 -1
  240. metadata/generated/schema/entity/data/container.py +1 -1
  241. metadata/generated/schema/entity/data/dashboard.py +1 -1
  242. metadata/generated/schema/entity/data/dashboardDataModel.py +1 -1
  243. metadata/generated/schema/entity/data/database.py +1 -1
  244. metadata/generated/schema/entity/data/databaseSchema.py +1 -1
  245. metadata/generated/schema/entity/data/glossary.py +1 -1
  246. metadata/generated/schema/entity/data/glossaryTerm.py +1 -1
  247. metadata/generated/schema/entity/data/metric.py +1 -1
  248. metadata/generated/schema/entity/data/mlmodel.py +1 -1
  249. metadata/generated/schema/entity/data/pipeline.py +1 -1
  250. metadata/generated/schema/entity/data/query.py +1 -1
  251. metadata/generated/schema/entity/data/report.py +1 -1
  252. metadata/generated/schema/entity/data/searchIndex.py +1 -1
  253. metadata/generated/schema/entity/data/storedProcedure.py +1 -1
  254. metadata/generated/schema/entity/data/table.py +3 -1
  255. metadata/generated/schema/entity/data/topic.py +1 -1
  256. metadata/generated/schema/entity/docStore/__init__.py +1 -1
  257. metadata/generated/schema/entity/docStore/document.py +1 -1
  258. metadata/generated/schema/entity/domains/__init__.py +1 -1
  259. metadata/generated/schema/entity/domains/dataProduct.py +1 -1
  260. metadata/generated/schema/entity/domains/domain.py +1 -1
  261. metadata/generated/schema/entity/events/__init__.py +1 -1
  262. metadata/generated/schema/entity/events/webhook.py +1 -1
  263. metadata/generated/schema/entity/feed/__init__.py +1 -1
  264. metadata/generated/schema/entity/feed/assets.py +1 -1
  265. metadata/generated/schema/entity/feed/customProperty.py +1 -1
  266. metadata/generated/schema/entity/feed/description.py +1 -1
  267. metadata/generated/schema/entity/feed/domain.py +1 -1
  268. metadata/generated/schema/entity/feed/entityInfo.py +1 -1
  269. metadata/generated/schema/entity/feed/owner.py +1 -1
  270. metadata/generated/schema/entity/feed/suggestion.py +1 -1
  271. metadata/generated/schema/entity/feed/tag.py +1 -1
  272. metadata/generated/schema/entity/feed/testCaseResult.py +1 -1
  273. metadata/generated/schema/entity/feed/thread.py +1 -1
  274. metadata/generated/schema/entity/policies/__init__.py +1 -1
  275. metadata/generated/schema/entity/policies/accessControl/__init__.py +1 -1
  276. metadata/generated/schema/entity/policies/accessControl/resourceDescriptor.py +1 -1
  277. metadata/generated/schema/entity/policies/accessControl/resourcePermission.py +1 -1
  278. metadata/generated/schema/entity/policies/accessControl/rule.py +1 -1
  279. metadata/generated/schema/entity/policies/filters.py +1 -1
  280. metadata/generated/schema/entity/policies/policy.py +1 -1
  281. metadata/generated/schema/entity/services/__init__.py +1 -1
  282. metadata/generated/schema/entity/services/apiService.py +1 -1
  283. metadata/generated/schema/entity/services/connections/__init__.py +1 -1
  284. metadata/generated/schema/entity/services/connections/api/__init__.py +1 -1
  285. metadata/generated/schema/entity/services/connections/api/restConnection.py +1 -1
  286. metadata/generated/schema/entity/services/connections/common/__init__.py +1 -1
  287. metadata/generated/schema/entity/services/connections/common/sslCertPaths.py +1 -1
  288. metadata/generated/schema/entity/services/connections/common/sslCertValues.py +1 -1
  289. metadata/generated/schema/entity/services/connections/common/sslConfig.py +1 -1
  290. metadata/generated/schema/entity/services/connections/connectionBasicType.py +1 -1
  291. metadata/generated/schema/entity/services/connections/dashboard/__init__.py +1 -1
  292. metadata/generated/schema/entity/services/connections/dashboard/customDashboardConnection.py +1 -1
  293. metadata/generated/schema/entity/services/connections/dashboard/domoDashboardConnection.py +1 -1
  294. metadata/generated/schema/entity/services/connections/dashboard/lightdashConnection.py +1 -1
  295. metadata/generated/schema/entity/services/connections/dashboard/lookerConnection.py +1 -1
  296. metadata/generated/schema/entity/services/connections/dashboard/metabaseConnection.py +1 -1
  297. metadata/generated/schema/entity/services/connections/dashboard/microStrategyConnection.py +1 -1
  298. metadata/generated/schema/entity/services/connections/dashboard/modeConnection.py +1 -1
  299. metadata/generated/schema/entity/services/connections/dashboard/powerBIConnection.py +1 -1
  300. metadata/generated/schema/entity/services/connections/dashboard/powerBIReportServerConnection.py +1 -1
  301. metadata/generated/schema/entity/services/connections/dashboard/powerbi/__init__.py +1 -1
  302. metadata/generated/schema/entity/services/connections/dashboard/powerbi/azureConfig.py +1 -1
  303. metadata/generated/schema/entity/services/connections/dashboard/powerbi/bucketDetails.py +1 -1
  304. metadata/generated/schema/entity/services/connections/dashboard/powerbi/gcsConfig.py +1 -1
  305. metadata/generated/schema/entity/services/connections/dashboard/powerbi/s3Config.py +1 -1
  306. metadata/generated/schema/entity/services/connections/dashboard/qlikCloudConnection.py +1 -1
  307. metadata/generated/schema/entity/services/connections/dashboard/qlikSenseConnection.py +1 -1
  308. metadata/generated/schema/entity/services/connections/dashboard/quickSightConnection.py +1 -1
  309. metadata/generated/schema/entity/services/connections/dashboard/redashConnection.py +1 -1
  310. metadata/generated/schema/entity/services/connections/dashboard/sigmaConnection.py +1 -1
  311. metadata/generated/schema/entity/services/connections/dashboard/supersetConnection.py +1 -1
  312. metadata/generated/schema/entity/services/connections/dashboard/tableauConnection.py +1 -1
  313. metadata/generated/schema/entity/services/connections/database/__init__.py +1 -1
  314. metadata/generated/schema/entity/services/connections/database/athenaConnection.py +1 -1
  315. metadata/generated/schema/entity/services/connections/database/azureSQLConnection.py +1 -1
  316. metadata/generated/schema/entity/services/connections/database/bigQueryConnection.py +1 -1
  317. metadata/generated/schema/entity/services/connections/database/bigTableConnection.py +1 -1
  318. metadata/generated/schema/entity/services/connections/database/clickhouseConnection.py +1 -1
  319. metadata/generated/schema/entity/services/connections/database/common/__init__.py +1 -1
  320. metadata/generated/schema/entity/services/connections/database/common/azureConfig.py +1 -1
  321. metadata/generated/schema/entity/services/connections/database/common/basicAuth.py +1 -1
  322. metadata/generated/schema/entity/services/connections/database/common/iamAuthConfig.py +1 -1
  323. metadata/generated/schema/entity/services/connections/database/common/jwtAuth.py +1 -1
  324. metadata/generated/schema/entity/services/connections/database/common/noConfigAuthenticationTypes.py +1 -1
  325. metadata/generated/schema/entity/services/connections/database/couchbaseConnection.py +1 -1
  326. metadata/generated/schema/entity/services/connections/database/customDatabaseConnection.py +1 -1
  327. metadata/generated/schema/entity/services/connections/database/databricksConnection.py +1 -1
  328. metadata/generated/schema/entity/services/connections/database/datalake/__init__.py +1 -1
  329. metadata/generated/schema/entity/services/connections/database/datalake/azureConfig.py +1 -1
  330. metadata/generated/schema/entity/services/connections/database/datalake/gcsConfig.py +1 -1
  331. metadata/generated/schema/entity/services/connections/database/datalake/s3Config.py +1 -1
  332. metadata/generated/schema/entity/services/connections/database/datalakeConnection.py +1 -1
  333. metadata/generated/schema/entity/services/connections/database/db2Connection.py +1 -1
  334. metadata/generated/schema/entity/services/connections/database/deltaLakeConnection.py +1 -1
  335. metadata/generated/schema/entity/services/connections/database/deltalake/__init__.py +1 -1
  336. metadata/generated/schema/entity/services/connections/database/deltalake/metastoreConfig.py +1 -1
  337. metadata/generated/schema/entity/services/connections/database/deltalake/storageConfig.py +1 -1
  338. metadata/generated/schema/entity/services/connections/database/domoDatabaseConnection.py +1 -1
  339. metadata/generated/schema/entity/services/connections/database/dorisConnection.py +1 -1
  340. metadata/generated/schema/entity/services/connections/database/druidConnection.py +1 -1
  341. metadata/generated/schema/entity/services/connections/database/dynamoDBConnection.py +1 -1
  342. metadata/generated/schema/entity/services/connections/database/exasolConnection.py +1 -1
  343. metadata/generated/schema/entity/services/connections/database/glueConnection.py +1 -1
  344. metadata/generated/schema/entity/services/connections/database/greenplumConnection.py +1 -1
  345. metadata/generated/schema/entity/services/connections/database/hiveConnection.py +1 -1
  346. metadata/generated/schema/entity/services/connections/database/iceberg/__init__.py +1 -1
  347. metadata/generated/schema/entity/services/connections/database/iceberg/dynamoDbCatalogConnection.py +1 -1
  348. metadata/generated/schema/entity/services/connections/database/iceberg/glueCatalogConnection.py +1 -1
  349. metadata/generated/schema/entity/services/connections/database/iceberg/hiveCatalogConnection.py +1 -1
  350. metadata/generated/schema/entity/services/connections/database/iceberg/icebergCatalog.py +1 -1
  351. metadata/generated/schema/entity/services/connections/database/iceberg/icebergFileSystem.py +1 -1
  352. metadata/generated/schema/entity/services/connections/database/iceberg/restCatalogConnection.py +1 -1
  353. metadata/generated/schema/entity/services/connections/database/icebergConnection.py +1 -1
  354. metadata/generated/schema/entity/services/connections/database/impalaConnection.py +1 -1
  355. metadata/generated/schema/entity/services/connections/database/mariaDBConnection.py +1 -1
  356. metadata/generated/schema/entity/services/connections/database/mongoDBConnection.py +1 -1
  357. metadata/generated/schema/entity/services/connections/database/mssqlConnection.py +1 -1
  358. metadata/generated/schema/entity/services/connections/database/mysqlConnection.py +1 -1
  359. metadata/generated/schema/entity/services/connections/database/oracleConnection.py +1 -1
  360. metadata/generated/schema/entity/services/connections/database/pinotDBConnection.py +1 -1
  361. metadata/generated/schema/entity/services/connections/database/postgresConnection.py +1 -1
  362. metadata/generated/schema/entity/services/connections/database/prestoConnection.py +1 -1
  363. metadata/generated/schema/entity/services/connections/database/redshiftConnection.py +1 -1
  364. metadata/generated/schema/entity/services/connections/database/salesforceConnection.py +1 -1
  365. metadata/generated/schema/entity/services/connections/database/sapErpConnection.py +1 -1
  366. metadata/generated/schema/entity/services/connections/database/sapHana/__init__.py +1 -1
  367. metadata/generated/schema/entity/services/connections/database/sapHana/sapHanaHDBConnection.py +1 -1
  368. metadata/generated/schema/entity/services/connections/database/sapHana/sapHanaSQLConnection.py +1 -1
  369. metadata/generated/schema/entity/services/connections/database/sapHanaConnection.py +1 -1
  370. metadata/generated/schema/entity/services/connections/database/sasConnection.py +1 -1
  371. metadata/generated/schema/entity/services/connections/database/singleStoreConnection.py +1 -1
  372. metadata/generated/schema/entity/services/connections/database/snowflakeConnection.py +1 -1
  373. metadata/generated/schema/entity/services/connections/database/sqliteConnection.py +1 -1
  374. metadata/generated/schema/entity/services/connections/database/synapseConnection.py +1 -1
  375. metadata/generated/schema/entity/services/connections/database/teradataConnection.py +1 -1
  376. metadata/generated/schema/entity/services/connections/database/trinoConnection.py +1 -1
  377. metadata/generated/schema/entity/services/connections/database/unityCatalogConnection.py +1 -1
  378. metadata/generated/schema/entity/services/connections/database/verticaConnection.py +1 -1
  379. metadata/generated/schema/entity/services/connections/messaging/__init__.py +1 -1
  380. metadata/generated/schema/entity/services/connections/messaging/customMessagingConnection.py +1 -1
  381. metadata/generated/schema/entity/services/connections/messaging/kafkaConnection.py +1 -1
  382. metadata/generated/schema/entity/services/connections/messaging/kinesisConnection.py +1 -1
  383. metadata/generated/schema/entity/services/connections/messaging/pulsarConnection.py +1 -1
  384. metadata/generated/schema/entity/services/connections/messaging/redpandaConnection.py +1 -1
  385. metadata/generated/schema/entity/services/connections/messaging/saslMechanismType.py +1 -1
  386. metadata/generated/schema/entity/services/connections/metadata/__init__.py +1 -1
  387. metadata/generated/schema/entity/services/connections/metadata/alationConnection.py +1 -1
  388. metadata/generated/schema/entity/services/connections/metadata/alationSinkConnection.py +1 -1
  389. metadata/generated/schema/entity/services/connections/metadata/amundsenConnection.py +1 -1
  390. metadata/generated/schema/entity/services/connections/metadata/atlasConnection.py +1 -1
  391. metadata/generated/schema/entity/services/connections/metadata/metadataESConnection.py +1 -1
  392. metadata/generated/schema/entity/services/connections/metadata/openMetadataConnection.py +1 -1
  393. metadata/generated/schema/entity/services/connections/mlmodel/__init__.py +1 -1
  394. metadata/generated/schema/entity/services/connections/mlmodel/customMlModelConnection.py +1 -1
  395. metadata/generated/schema/entity/services/connections/mlmodel/mlflowConnection.py +1 -1
  396. metadata/generated/schema/entity/services/connections/mlmodel/sageMakerConnection.py +1 -1
  397. metadata/generated/schema/entity/services/connections/mlmodel/sklearnConnection.py +1 -1
  398. metadata/generated/schema/entity/services/connections/mlmodel/vertexaiConnection.py +1 -1
  399. metadata/generated/schema/entity/services/connections/pipeline/__init__.py +1 -1
  400. metadata/generated/schema/entity/services/connections/pipeline/airbyteConnection.py +1 -1
  401. metadata/generated/schema/entity/services/connections/pipeline/airflowConnection.py +1 -1
  402. metadata/generated/schema/entity/services/connections/pipeline/backendConnection.py +1 -1
  403. metadata/generated/schema/entity/services/connections/pipeline/customPipelineConnection.py +1 -1
  404. metadata/generated/schema/entity/services/connections/pipeline/dagsterConnection.py +1 -1
  405. metadata/generated/schema/entity/services/connections/pipeline/databricksPipelineConnection.py +1 -1
  406. metadata/generated/schema/entity/services/connections/pipeline/datafactoryConnection.py +1 -1
  407. metadata/generated/schema/entity/services/connections/pipeline/dbtCloudConnection.py +1 -1
  408. metadata/generated/schema/entity/services/connections/pipeline/domoPipelineConnection.py +1 -1
  409. metadata/generated/schema/entity/services/connections/pipeline/fivetranConnection.py +1 -1
  410. metadata/generated/schema/entity/services/connections/pipeline/flinkConnection.py +1 -1
  411. metadata/generated/schema/entity/services/connections/pipeline/gluePipelineConnection.py +1 -1
  412. metadata/generated/schema/entity/services/connections/pipeline/kafkaConnectConnection.py +1 -1
  413. metadata/generated/schema/entity/services/connections/pipeline/matillion/__init__.py +1 -1
  414. metadata/generated/schema/entity/services/connections/pipeline/matillion/matillionETL.py +1 -1
  415. metadata/generated/schema/entity/services/connections/pipeline/matillionConnection.py +1 -1
  416. metadata/generated/schema/entity/services/connections/pipeline/nifi/__init__.py +1 -1
  417. metadata/generated/schema/entity/services/connections/pipeline/nifi/basicAuth.py +1 -1
  418. metadata/generated/schema/entity/services/connections/pipeline/nifi/clientCertificateAuth.py +1 -1
  419. metadata/generated/schema/entity/services/connections/pipeline/nifiConnection.py +1 -1
  420. metadata/generated/schema/entity/services/connections/pipeline/openLineageConnection.py +1 -1
  421. metadata/generated/schema/entity/services/connections/pipeline/sparkConnection.py +1 -1
  422. metadata/generated/schema/entity/services/connections/pipeline/splineConnection.py +1 -1
  423. metadata/generated/schema/entity/services/connections/pipeline/stitchConnection.py +1 -1
  424. metadata/generated/schema/entity/services/connections/search/__init__.py +1 -1
  425. metadata/generated/schema/entity/services/connections/search/customSearchConnection.py +1 -1
  426. metadata/generated/schema/entity/services/connections/search/elasticSearch/__init__.py +1 -1
  427. metadata/generated/schema/entity/services/connections/search/elasticSearch/apiAuth.py +1 -1
  428. metadata/generated/schema/entity/services/connections/search/elasticSearch/basicAuth.py +1 -1
  429. metadata/generated/schema/entity/services/connections/search/elasticSearchConnection.py +1 -1
  430. metadata/generated/schema/entity/services/connections/search/openSearchConnection.py +1 -1
  431. metadata/generated/schema/entity/services/connections/serviceConnection.py +1 -1
  432. metadata/generated/schema/entity/services/connections/storage/__init__.py +1 -1
  433. metadata/generated/schema/entity/services/connections/storage/adlsConnection.py +1 -1
  434. metadata/generated/schema/entity/services/connections/storage/customStorageConnection.py +1 -1
  435. metadata/generated/schema/entity/services/connections/storage/gcsConnection.py +1 -1
  436. metadata/generated/schema/entity/services/connections/storage/s3Connection.py +1 -1
  437. metadata/generated/schema/entity/services/connections/testConnectionDefinition.py +1 -1
  438. metadata/generated/schema/entity/services/connections/testConnectionResult.py +1 -1
  439. metadata/generated/schema/entity/services/dashboardService.py +1 -1
  440. metadata/generated/schema/entity/services/databaseService.py +1 -1
  441. metadata/generated/schema/entity/services/ingestionPipelines/__init__.py +1 -1
  442. metadata/generated/schema/entity/services/ingestionPipelines/ingestionPipeline.py +1 -1
  443. metadata/generated/schema/entity/services/ingestionPipelines/pipelineServiceClientResponse.py +1 -1
  444. metadata/generated/schema/entity/services/ingestionPipelines/status.py +1 -1
  445. metadata/generated/schema/entity/services/messagingService.py +1 -1
  446. metadata/generated/schema/entity/services/metadataService.py +1 -1
  447. metadata/generated/schema/entity/services/mlmodelService.py +1 -1
  448. metadata/generated/schema/entity/services/pipelineService.py +1 -1
  449. metadata/generated/schema/entity/services/searchService.py +1 -1
  450. metadata/generated/schema/entity/services/serviceType.py +1 -1
  451. metadata/generated/schema/entity/services/storageService.py +1 -1
  452. metadata/generated/schema/entity/teams/__init__.py +1 -1
  453. metadata/generated/schema/entity/teams/persona.py +1 -1
  454. metadata/generated/schema/entity/teams/role.py +1 -1
  455. metadata/generated/schema/entity/teams/team.py +1 -1
  456. metadata/generated/schema/entity/teams/teamHierarchy.py +1 -1
  457. metadata/generated/schema/entity/teams/user.py +1 -1
  458. metadata/generated/schema/entity/type.py +1 -1
  459. metadata/generated/schema/entity/utils/__init__.py +1 -1
  460. metadata/generated/schema/entity/utils/entitiesCount.py +1 -1
  461. metadata/generated/schema/entity/utils/servicesCount.py +1 -1
  462. metadata/generated/schema/entity/utils/supersetApiConnection.py +1 -1
  463. metadata/generated/schema/events/__init__.py +1 -1
  464. metadata/generated/schema/events/alertMetrics.py +1 -1
  465. metadata/generated/schema/events/api/__init__.py +1 -1
  466. metadata/generated/schema/events/api/createEventSubscription.py +1 -1
  467. metadata/generated/schema/events/api/eventSubscriptionDiagnosticInfo.py +1 -1
  468. metadata/generated/schema/events/api/eventsRecord.py +1 -1
  469. metadata/generated/schema/events/api/testEventSubscriptionDestination.py +1 -1
  470. metadata/generated/schema/events/api/typedEvent.py +1 -1
  471. metadata/generated/schema/events/emailAlertConfig.py +1 -1
  472. metadata/generated/schema/events/eventFilterRule.py +1 -1
  473. metadata/generated/schema/events/eventSubscription.py +1 -1
  474. metadata/generated/schema/events/eventSubscriptionOffset.py +1 -1
  475. metadata/generated/schema/events/failedEvent.py +1 -1
  476. metadata/generated/schema/events/failedEventResponse.py +1 -1
  477. metadata/generated/schema/events/filterResourceDescriptor.py +1 -1
  478. metadata/generated/schema/events/statusContext.py +1 -1
  479. metadata/generated/schema/events/subscriptionResourceDescriptor.py +1 -1
  480. metadata/generated/schema/events/subscriptionStatus.py +1 -1
  481. metadata/generated/schema/events/testDestinationStatus.py +1 -1
  482. metadata/generated/schema/governance/workflows/__init__.py +1 -1
  483. metadata/generated/schema/governance/workflows/elements/__init__.py +1 -1
  484. metadata/generated/schema/governance/workflows/elements/edge.py +1 -1
  485. metadata/generated/schema/governance/workflows/elements/nodeSubType.py +1 -1
  486. metadata/generated/schema/governance/workflows/elements/nodeType.py +1 -1
  487. metadata/generated/schema/governance/workflows/elements/nodes/__init__.py +1 -1
  488. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/__init__.py +1 -1
  489. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/checkEntityAttributesTask.py +1 -1
  490. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/setEntityCertificationTask.py +1 -1
  491. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/setGlossaryTermStatusTask.py +1 -1
  492. metadata/generated/schema/governance/workflows/elements/nodes/endEvent/__init__.py +1 -1
  493. metadata/generated/schema/governance/workflows/elements/nodes/endEvent/endEvent.py +1 -1
  494. metadata/generated/schema/governance/workflows/elements/nodes/startEvent/__init__.py +1 -1
  495. metadata/generated/schema/governance/workflows/elements/nodes/startEvent/startEvent.py +1 -1
  496. metadata/generated/schema/governance/workflows/elements/nodes/userTask/__init__.py +1 -1
  497. metadata/generated/schema/governance/workflows/elements/nodes/userTask/userApprovalTask.py +1 -1
  498. metadata/generated/schema/governance/workflows/elements/triggers/__init__.py +1 -1
  499. metadata/generated/schema/governance/workflows/elements/triggers/eventBasedEntityTrigger.py +1 -1
  500. metadata/generated/schema/governance/workflows/elements/triggers/periodicBatchEntityTrigger.py +1 -1
  501. metadata/generated/schema/governance/workflows/workflowDefinition.py +1 -1
  502. metadata/generated/schema/governance/workflows/workflowInstance.py +1 -1
  503. metadata/generated/schema/governance/workflows/workflowInstanceState.py +1 -1
  504. metadata/generated/schema/jobs/__init__.py +1 -1
  505. metadata/generated/schema/jobs/backgroundJob.py +1 -1
  506. metadata/generated/schema/jobs/enumCleanupArgs.py +1 -1
  507. metadata/generated/schema/metadataIngestion/__init__.py +1 -1
  508. metadata/generated/schema/metadataIngestion/apiServiceMetadataPipeline.py +1 -1
  509. metadata/generated/schema/metadataIngestion/application.py +1 -1
  510. metadata/generated/schema/metadataIngestion/applicationPipeline.py +1 -1
  511. metadata/generated/schema/metadataIngestion/dashboardServiceMetadataPipeline.py +1 -1
  512. metadata/generated/schema/metadataIngestion/dataInsightPipeline.py +1 -1
  513. metadata/generated/schema/metadataIngestion/databaseServiceAutoClassificationPipeline.py +1 -1
  514. metadata/generated/schema/metadataIngestion/databaseServiceMetadataPipeline.py +1 -1
  515. metadata/generated/schema/metadataIngestion/databaseServiceProfilerPipeline.py +1 -1
  516. metadata/generated/schema/metadataIngestion/databaseServiceQueryLineagePipeline.py +1 -1
  517. metadata/generated/schema/metadataIngestion/databaseServiceQueryUsagePipeline.py +1 -1
  518. metadata/generated/schema/metadataIngestion/dbtPipeline.py +1 -1
  519. metadata/generated/schema/metadataIngestion/dbtconfig/__init__.py +1 -1
  520. metadata/generated/schema/metadataIngestion/dbtconfig/dbtAzureConfig.py +1 -1
  521. metadata/generated/schema/metadataIngestion/dbtconfig/dbtBucketDetails.py +1 -1
  522. metadata/generated/schema/metadataIngestion/dbtconfig/dbtCloudConfig.py +1 -1
  523. metadata/generated/schema/metadataIngestion/dbtconfig/dbtGCSConfig.py +1 -1
  524. metadata/generated/schema/metadataIngestion/dbtconfig/dbtHttpConfig.py +1 -1
  525. metadata/generated/schema/metadataIngestion/dbtconfig/dbtLocalConfig.py +1 -1
  526. metadata/generated/schema/metadataIngestion/dbtconfig/dbtS3Config.py +1 -1
  527. metadata/generated/schema/metadataIngestion/messagingServiceMetadataPipeline.py +1 -1
  528. metadata/generated/schema/metadataIngestion/metadataToElasticSearchPipeline.py +1 -1
  529. metadata/generated/schema/metadataIngestion/mlmodelServiceMetadataPipeline.py +1 -1
  530. metadata/generated/schema/metadataIngestion/pipelineServiceMetadataPipeline.py +1 -1
  531. metadata/generated/schema/metadataIngestion/searchServiceMetadataPipeline.py +1 -1
  532. metadata/generated/schema/metadataIngestion/storage/__init__.py +1 -1
  533. metadata/generated/schema/metadataIngestion/storage/containerMetadataConfig.py +1 -1
  534. metadata/generated/schema/metadataIngestion/storage/manifestMetadataConfig.py +1 -1
  535. metadata/generated/schema/metadataIngestion/storage/storageBucketDetails.py +1 -1
  536. metadata/generated/schema/metadataIngestion/storage/storageMetadataADLSConfig.py +1 -1
  537. metadata/generated/schema/metadataIngestion/storage/storageMetadataGCSConfig.py +1 -1
  538. metadata/generated/schema/metadataIngestion/storage/storageMetadataHttpConfig.py +1 -1
  539. metadata/generated/schema/metadataIngestion/storage/storageMetadataLocalConfig.py +1 -1
  540. metadata/generated/schema/metadataIngestion/storage/storageMetadataS3Config.py +1 -1
  541. metadata/generated/schema/metadataIngestion/storageServiceMetadataPipeline.py +1 -1
  542. metadata/generated/schema/metadataIngestion/testSuitePipeline.py +1 -1
  543. metadata/generated/schema/metadataIngestion/workflow.py +1 -1
  544. metadata/generated/schema/monitoring/__init__.py +1 -1
  545. metadata/generated/schema/monitoring/eventMonitorProvider.py +1 -1
  546. metadata/generated/schema/security/__init__.py +1 -1
  547. metadata/generated/schema/security/client/__init__.py +1 -1
  548. metadata/generated/schema/security/client/auth0SSOClientConfig.py +1 -1
  549. metadata/generated/schema/security/client/azureSSOClientConfig.py +1 -1
  550. metadata/generated/schema/security/client/customOidcSSOClientConfig.py +1 -1
  551. metadata/generated/schema/security/client/googleSSOClientConfig.py +1 -1
  552. metadata/generated/schema/security/client/oidcClientConfig.py +1 -1
  553. metadata/generated/schema/security/client/oktaSSOClientConfig.py +1 -1
  554. metadata/generated/schema/security/client/openMetadataJWTClientConfig.py +1 -1
  555. metadata/generated/schema/security/client/samlSSOClientConfig.py +1 -1
  556. metadata/generated/schema/security/credentials/__init__.py +1 -1
  557. metadata/generated/schema/security/credentials/accessTokenAuth.py +1 -1
  558. metadata/generated/schema/security/credentials/apiAccessTokenAuth.py +1 -1
  559. metadata/generated/schema/security/credentials/awsCredentials.py +1 -1
  560. metadata/generated/schema/security/credentials/azureCredentials.py +1 -1
  561. metadata/generated/schema/security/credentials/basicAuth.py +1 -1
  562. metadata/generated/schema/security/credentials/bitbucketCredentials.py +1 -1
  563. metadata/generated/schema/security/credentials/gcpCredentials.py +1 -1
  564. metadata/generated/schema/security/credentials/gcpExternalAccount.py +1 -1
  565. metadata/generated/schema/security/credentials/gcpValues.py +1 -1
  566. metadata/generated/schema/security/credentials/gitCredentials.py +1 -1
  567. metadata/generated/schema/security/credentials/githubCredentials.py +1 -1
  568. metadata/generated/schema/security/credentials/gitlabCredentials.py +1 -1
  569. metadata/generated/schema/security/sasl/__init__.py +1 -1
  570. metadata/generated/schema/security/sasl/saslClientConfig.py +1 -1
  571. metadata/generated/schema/security/secrets/__init__.py +1 -1
  572. metadata/generated/schema/security/secrets/secretsManagerClientLoader.py +1 -1
  573. metadata/generated/schema/security/secrets/secretsManagerConfiguration.py +1 -1
  574. metadata/generated/schema/security/secrets/secretsManagerProvider.py +1 -1
  575. metadata/generated/schema/security/securityConfiguration.py +1 -1
  576. metadata/generated/schema/security/ssl/__init__.py +1 -1
  577. metadata/generated/schema/security/ssl/validateSSLClientConfig.py +1 -1
  578. metadata/generated/schema/security/ssl/verifySSLConfig.py +1 -1
  579. metadata/generated/schema/settings/__init__.py +1 -1
  580. metadata/generated/schema/settings/settings.py +1 -1
  581. metadata/generated/schema/system/__init__.py +1 -1
  582. metadata/generated/schema/system/entityError.py +1 -1
  583. metadata/generated/schema/system/eventPublisherJob.py +1 -1
  584. metadata/generated/schema/system/indexingError.py +1 -1
  585. metadata/generated/schema/system/limitsResponse.py +1 -1
  586. metadata/generated/schema/system/ui/__init__.py +1 -1
  587. metadata/generated/schema/system/ui/knowledgePanel.py +1 -1
  588. metadata/generated/schema/system/ui/page.py +1 -1
  589. metadata/generated/schema/system/validationResponse.py +1 -1
  590. metadata/generated/schema/tests/__init__.py +1 -1
  591. metadata/generated/schema/tests/assigned.py +1 -1
  592. metadata/generated/schema/tests/basic.py +1 -1
  593. metadata/generated/schema/tests/customMetric.py +1 -1
  594. metadata/generated/schema/tests/dataQualityReport.py +1 -1
  595. metadata/generated/schema/tests/resolved.py +1 -1
  596. metadata/generated/schema/tests/testCase.py +1 -1
  597. metadata/generated/schema/tests/testCaseResolutionStatus.py +1 -1
  598. metadata/generated/schema/tests/testDefinition.py +1 -1
  599. metadata/generated/schema/tests/testSuite.py +1 -1
  600. metadata/generated/schema/type/__init__.py +1 -1
  601. metadata/generated/schema/type/apiSchema.py +1 -1
  602. metadata/generated/schema/type/assetCertification.py +1 -1
  603. metadata/generated/schema/type/auditLog.py +1 -1
  604. metadata/generated/schema/type/basic.py +1 -1
  605. metadata/generated/schema/type/bulkOperationResult.py +1 -1
  606. metadata/generated/schema/type/changeEvent.py +1 -1
  607. metadata/generated/schema/type/changeEventType.py +1 -1
  608. metadata/generated/schema/type/collectionDescriptor.py +1 -1
  609. metadata/generated/schema/type/csvDocumentation.py +1 -1
  610. metadata/generated/schema/type/csvErrorType.py +1 -1
  611. metadata/generated/schema/type/csvFile.py +1 -1
  612. metadata/generated/schema/type/csvImportResult.py +1 -1
  613. metadata/generated/schema/type/customProperties/__init__.py +1 -1
  614. metadata/generated/schema/type/customProperties/complexTypes.py +1 -1
  615. metadata/generated/schema/type/customProperties/enumConfig.py +1 -1
  616. metadata/generated/schema/type/customProperties/tableConfig.py +1 -1
  617. metadata/generated/schema/type/customProperty.py +1 -1
  618. metadata/generated/schema/type/dailyCount.py +1 -1
  619. metadata/generated/schema/type/databaseConnectionConfig.py +1 -1
  620. metadata/generated/schema/type/entityHierarchy.py +1 -1
  621. metadata/generated/schema/type/entityHistory.py +1 -1
  622. metadata/generated/schema/type/entityLineage.py +1 -1
  623. metadata/generated/schema/type/entityReference.py +1 -1
  624. metadata/generated/schema/type/entityReferenceList.py +1 -1
  625. metadata/generated/schema/type/entityRelationship.py +1 -1
  626. metadata/generated/schema/type/entityUsage.py +1 -1
  627. metadata/generated/schema/type/filterPattern.py +1 -1
  628. metadata/generated/schema/type/function.py +1 -1
  629. metadata/generated/schema/type/include.py +1 -1
  630. metadata/generated/schema/type/jdbcConnection.py +1 -1
  631. metadata/generated/schema/type/lifeCycle.py +1 -1
  632. metadata/generated/schema/type/paging.py +1 -1
  633. metadata/generated/schema/type/profile.py +1 -1
  634. metadata/generated/schema/type/queryParserData.py +1 -1
  635. metadata/generated/schema/type/reaction.py +1 -1
  636. metadata/generated/schema/type/schedule.py +1 -1
  637. metadata/generated/schema/type/schema.py +1 -1
  638. metadata/generated/schema/type/tableQuery.py +1 -1
  639. metadata/generated/schema/type/tableUsageCount.py +1 -1
  640. metadata/generated/schema/type/tagLabel.py +1 -1
  641. metadata/generated/schema/type/usageDetails.py +1 -1
  642. metadata/generated/schema/type/usageRequest.py +1 -1
  643. metadata/generated/schema/type/votes.py +1 -1
  644. metadata/ingestion/ometa/mixins/lineage_mixin.py +26 -0
  645. metadata/ingestion/source/dashboard/powerbi/client.py +101 -2
  646. metadata/ingestion/source/dashboard/powerbi/metadata.py +312 -252
  647. metadata/ingestion/source/dashboard/powerbi/models.py +37 -0
  648. metadata/ingestion/source/database/lineage_source.py +1 -0
  649. metadata/ingestion/source/database/postgres/lineage.py +2 -1
  650. metadata/utils/db_utils.py +11 -1
  651. {openmetadata_ingestion-1.6.7.0.dist-info → openmetadata_ingestion-1.6.7.1.dist-info}/METADATA +368 -368
  652. {openmetadata_ingestion-1.6.7.0.dist-info → openmetadata_ingestion-1.6.7.1.dist-info}/RECORD +656 -656
  653. {openmetadata_ingestion-1.6.7.0.dist-info → openmetadata_ingestion-1.6.7.1.dist-info}/LICENSE +0 -0
  654. {openmetadata_ingestion-1.6.7.0.dist-info → openmetadata_ingestion-1.6.7.1.dist-info}/WHEEL +0 -0
  655. {openmetadata_ingestion-1.6.7.0.dist-info → openmetadata_ingestion-1.6.7.1.dist-info}/entry_points.txt +0 -0
  656. {openmetadata_ingestion-1.6.7.0.dist-info → openmetadata_ingestion-1.6.7.1.dist-info}/top_level.txt +0 -0
@@ -14,6 +14,9 @@ import re
14
14
  import traceback
15
15
  from typing import Any, Iterable, List, Optional, Union
16
16
 
17
+ from pydantic import EmailStr
18
+ from pydantic_core import PydanticCustomError
19
+
17
20
  from metadata.generated.schema.api.data.createChart import CreateChartRequest
18
21
  from metadata.generated.schema.api.data.createDashboard import CreateDashboardRequest
19
22
  from metadata.generated.schema.api.data.createDashboardDataModel import (
@@ -48,8 +51,10 @@ from metadata.generated.schema.type.basic import (
48
51
  Markdown,
49
52
  SourceUrl,
50
53
  )
54
+ from metadata.generated.schema.type.entityReferenceList import EntityReferenceList
51
55
  from metadata.ingestion.api.models import Either
52
56
  from metadata.ingestion.api.steps import InvalidSourceException
57
+ from metadata.ingestion.models.ometa_lineage import OMetaLineageRequest
53
58
  from metadata.ingestion.ometa.ometa_api import OpenMetadata
54
59
  from metadata.ingestion.ometa.utils import model_str
55
60
  from metadata.ingestion.source.dashboard.dashboard_service import DashboardServiceSource
@@ -57,6 +62,7 @@ from metadata.ingestion.source.dashboard.powerbi.models import (
57
62
  Dataset,
58
63
  Group,
59
64
  PowerBIDashboard,
65
+ PowerBiMeasureModel,
60
66
  PowerBIReport,
61
67
  PowerBiTable,
62
68
  )
@@ -66,7 +72,6 @@ from metadata.utils.filters import (
66
72
  filter_by_chart,
67
73
  filter_by_dashboard,
68
74
  filter_by_datamodel,
69
- filter_by_project,
70
75
  )
71
76
  from metadata.utils.helpers import clean_uri
72
77
  from metadata.utils.logger import ingestion_logger
@@ -92,87 +97,59 @@ class PowerbiSource(DashboardServiceSource):
92
97
  self.workspace_data = []
93
98
  self.datamodel_file_mappings = []
94
99
 
95
- def prepare(self):
96
- """
97
- - Since we get all the required info i.e. reports, dashboards, charts, datasets
98
- with workflow scan approach, we are populating bulk data for workspace.
99
- - Some individual APIs are not able to yield data with details.
100
- """
101
- if self.service_connection.useAdminApis:
102
- groups = self.get_admin_workspace_data()
103
- else:
104
- groups = self.get_org_workspace_data()
105
- if groups:
106
- self.workspace_data = self.get_filtered_workspaces(groups)
107
- return super().prepare()
108
-
109
100
  def close(self):
110
101
  self.metadata.close()
111
102
  if self.client.file_client:
112
103
  self.client.file_client.delete_tmp_files()
113
104
 
114
- def get_filtered_workspaces(self, groups: List[Group]) -> List[Group]:
115
- """
116
- Method to get the workspaces filtered by project filter pattern
117
- """
118
- filtered_groups = []
119
- for group in groups:
120
- if filter_by_project(
121
- self.source_config.projectFilterPattern,
122
- group.name,
123
- ):
124
- self.status.filter(
125
- group.name,
126
- "Workspace Filtered Out",
127
- )
128
- continue
129
- filtered_groups.append(group)
130
- return filtered_groups
131
-
132
- def get_org_workspace_data(self) -> Optional[List[Group]]:
105
+ def get_org_workspace_data(self) -> Iterable[Optional[Group]]:
133
106
  """
134
- fetch all the group workspace ids
107
+ fetch all the workspace data for non-admin users
135
108
  """
136
- groups = self.client.api_client.fetch_all_workspaces()
137
- for group in groups:
138
- # add the dashboards to the groups
139
- group.dashboards.extend(
140
- self.client.api_client.fetch_all_org_dashboards(group_id=group.id) or []
109
+ filter_pattern = self.source_config.projectFilterPattern
110
+ workspaces = self.client.api_client.fetch_all_workspaces(filter_pattern)
111
+ for workspace in workspaces:
112
+ # add the dashboards to the workspace
113
+ workspace.dashboards.extend(
114
+ self.client.api_client.fetch_all_org_dashboards(group_id=workspace.id)
115
+ or []
141
116
  )
142
- for dashboard in group.dashboards:
117
+ for dashboard in workspace.dashboards:
143
118
  # add the tiles to the dashboards
144
119
  dashboard.tiles.extend(
145
120
  self.client.api_client.fetch_all_org_tiles(
146
- group_id=group.id, dashboard_id=dashboard.id
121
+ group_id=workspace.id, dashboard_id=dashboard.id
147
122
  )
148
123
  or []
149
124
  )
150
125
 
151
- # add the reports to the groups
152
- group.reports.extend(
153
- self.client.api_client.fetch_all_org_reports(group_id=group.id) or []
126
+ # add the reports to the workspaces
127
+ workspace.reports.extend(
128
+ self.client.api_client.fetch_all_org_reports(group_id=workspace.id)
129
+ or []
154
130
  )
155
131
 
156
- # add the datasets to the groups
157
- group.datasets.extend(
158
- self.client.api_client.fetch_all_org_datasets(group_id=group.id) or []
132
+ # add the datasets to the workspaces
133
+ workspace.datasets.extend(
134
+ self.client.api_client.fetch_all_org_datasets(group_id=workspace.id)
135
+ or []
159
136
  )
160
- for dataset in group.datasets:
137
+ for dataset in workspace.datasets:
161
138
  # add the tables to the datasets
162
139
  dataset.tables.extend(
163
140
  self.client.api_client.fetch_dataset_tables(
164
- group_id=group.id, dataset_id=dataset.id
141
+ group_id=workspace.id, dataset_id=dataset.id
165
142
  )
166
143
  or []
167
144
  )
168
- return groups
145
+ yield workspace
169
146
 
170
- def get_admin_workspace_data(self) -> Optional[List[Group]]:
147
+ def get_admin_workspace_data(self) -> Iterable[Optional[Group]]:
171
148
  """
172
- fetch all the workspace ids
149
+ fetch all the workspace data
173
150
  """
174
- groups = []
175
- workspaces = self.client.api_client.fetch_all_workspaces()
151
+ filter_pattern = self.source_config.projectFilterPattern
152
+ workspaces = self.client.api_client.fetch_all_workspaces(filter_pattern)
176
153
  if workspaces:
177
154
  workspace_id_list = [workspace.id for workspace in workspaces]
178
155
 
@@ -219,17 +196,12 @@ class PowerbiSource(DashboardServiceSource):
219
196
  )
220
197
  count += 1
221
198
  continue
222
- groups.extend(
223
- [
224
- active_workspace
225
- for active_workspace in response.workspaces
226
- if active_workspace.state == "Active"
227
- ]
228
- )
199
+ for active_workspace in response.workspaces:
200
+ if active_workspace.state == "Active":
201
+ yield active_workspace
229
202
  count += 1
230
203
  else:
231
204
  logger.error("Unable to fetch any PowerBI workspaces")
232
- return groups or None
233
205
 
234
206
  @classmethod
235
207
  def create(
@@ -243,23 +215,30 @@ class PowerbiSource(DashboardServiceSource):
243
215
  )
244
216
  return cls(config, metadata)
245
217
 
218
+ def _prepare_workspace_data(self):
219
+ """
220
+ - Since we get all the required info i.e. reports, dashboards, charts, datasets
221
+ with workflow scan approach, we are populating bulk data for workspace.
222
+ - Some individual APIs are not able to yield data with details.
223
+ """
224
+ if self.service_connection.useAdminApis:
225
+ for workspace in self.get_admin_workspace_data():
226
+ yield workspace
227
+ else:
228
+ for workspace in self.get_org_workspace_data():
229
+ yield workspace
230
+
246
231
  def get_dashboard(self) -> Any:
247
232
  """
248
233
  Method to iterate through dashboard lists filter dashboards & yield dashboard details
249
234
  """
250
- for workspace in self.workspace_data:
235
+ for workspace in self._prepare_workspace_data():
236
+ self.workspace_data.append(workspace)
251
237
  self.context.get().workspace = workspace
252
- for dashboard in self.get_dashboards_list():
253
- try:
254
- dashboard_details = self.get_dashboard_details(dashboard)
255
- except Exception as exc:
256
- logger.debug(traceback.format_exc())
257
- logger.warning(
258
- f"Cannot extract dashboard details from {dashboard}: {exc}"
259
- )
260
- continue
238
+ self.filtered_dashboards = []
239
+ for dashboard in self.get_dashboards_list() or []:
240
+ dashboard_details = self.get_dashboard_details(dashboard)
261
241
  dashboard_name = self.get_dashboard_name(dashboard_details)
262
-
263
242
  if filter_by_dashboard(
264
243
  self.source_config.dashboardFilterPattern,
265
244
  dashboard_name,
@@ -269,7 +248,8 @@ class PowerbiSource(DashboardServiceSource):
269
248
  "Dashboard Filtered Out",
270
249
  )
271
250
  continue
272
- yield dashboard_details
251
+ self.filtered_dashboards.append(dashboard_details)
252
+ yield workspace
273
253
 
274
254
  def get_dashboards_list(
275
255
  self,
@@ -332,55 +312,148 @@ class PowerbiSource(DashboardServiceSource):
332
312
  f"{workspace_id}/{chart_url_postfix}"
333
313
  )
334
314
 
335
- def list_datamodels(self) -> Iterable[Dataset]:
336
- """
337
- Get All the Powerbi Datasets
338
- """
339
- if self.source_config.includeDataModels:
340
- try:
341
- for workspace in self.workspace_data:
342
- for dataset in workspace.datasets or []:
343
- if filter_by_datamodel(
344
- self.source_config.dataModelFilterPattern, dataset.name
345
- ):
346
- self.status.filter(dataset.name, "Data model filtered out.")
347
- continue
348
- yield dataset
349
- except Exception as err:
350
- logger.debug(traceback.format_exc())
351
- logger.error(f"Unexpected error fetching PowerBI datasets - {err}")
352
-
353
- def yield_bulk_datamodel(
354
- self, dataset: Dataset
355
- ) -> Iterable[Either[CreateDashboardDataModelRequest]]:
315
+ def yield_dashboard(
316
+ self, dashboard_details: Group
317
+ ) -> Iterable[Either[CreateDashboardRequest]]:
356
318
  """
357
- Method to fetch DataModels in bulk
319
+ Method to Get Dashboard Entity, Dashboard Charts & Lineage
358
320
  """
359
321
  try:
360
- data_model_request = CreateDashboardDataModelRequest(
361
- name=EntityName(dataset.id),
362
- displayName=dataset.name,
363
- description=Markdown(dataset.description)
364
- if dataset.description
365
- else None,
366
- service=FullyQualifiedEntityName(self.context.get().dashboard_service),
367
- dataModelType=DataModelType.PowerBIDataModel.value,
368
- serviceType=DashboardServiceType.PowerBI.value,
369
- columns=self._get_column_info(dataset),
370
- project=self._fetch_dataset_workspace(dataset_id=dataset.id),
371
- )
372
- yield Either(right=data_model_request)
373
- self.register_record_datamodel(datamodel_request=data_model_request)
374
-
375
- except Exception as exc:
322
+ for dashboard in self.filtered_dashboards or []:
323
+ dashboard_details = self.get_dashboard_details(dashboard)
324
+ if isinstance(dashboard_details, PowerBIDashboard):
325
+ dashboard_request = CreateDashboardRequest(
326
+ name=EntityName(dashboard_details.id),
327
+ sourceUrl=SourceUrl(
328
+ self._get_dashboard_url(
329
+ workspace_id=self.context.get().workspace.id,
330
+ dashboard_id=dashboard_details.id,
331
+ )
332
+ ),
333
+ project=self.get_project_name(dashboard_details),
334
+ displayName=dashboard_details.displayName,
335
+ dashboardType=DashboardType.Dashboard,
336
+ charts=[
337
+ FullyQualifiedEntityName(
338
+ fqn.build(
339
+ self.metadata,
340
+ entity_type=Chart,
341
+ service_name=self.context.get().dashboard_service,
342
+ chart_name=chart,
343
+ )
344
+ )
345
+ for chart in self.context.get().charts or []
346
+ ],
347
+ service=FullyQualifiedEntityName(
348
+ self.context.get().dashboard_service
349
+ ),
350
+ owners=self.get_owner_ref(dashboard_details=dashboard_details),
351
+ )
352
+ else:
353
+ dashboard_request = CreateDashboardRequest(
354
+ name=EntityName(dashboard_details.id),
355
+ dashboardType=DashboardType.Report,
356
+ sourceUrl=SourceUrl(
357
+ self._get_report_url(
358
+ workspace_id=self.context.get().workspace.id,
359
+ dashboard_id=dashboard_details.id,
360
+ )
361
+ ),
362
+ project=self.get_project_name(dashboard_details),
363
+ displayName=dashboard_details.name,
364
+ service=self.context.get().dashboard_service,
365
+ owners=self.get_owner_ref(dashboard_details=dashboard_details),
366
+ )
367
+ yield Either(right=dashboard_request)
368
+ self.register_record(dashboard_request=dashboard_request)
369
+ except Exception as exc: # pylint: disable=broad-except
376
370
  yield Either(
377
371
  left=StackTraceError(
378
- name=dataset.name,
379
- error=f"Error yielding Data Model [{dataset.name}]: {exc}",
372
+ name=dashboard_details.name,
373
+ error=f"Error creating dashboard [{dashboard_details}]: {exc}",
380
374
  stackTrace=traceback.format_exc(),
381
375
  )
382
376
  )
383
377
 
378
+ def yield_dashboard_chart(
379
+ self, dashboard_details: Group
380
+ ) -> Iterable[Either[CreateChartRequest]]:
381
+ """Get chart method
382
+ Args:
383
+ dashboard_details:
384
+ Returns:
385
+ Iterable[Chart]
386
+ """
387
+ for dashboard in self.filtered_dashboards or []:
388
+ dashboard_details = self.get_dashboard_details(dashboard)
389
+ if isinstance(dashboard_details, PowerBIDashboard):
390
+ charts = dashboard_details.tiles
391
+ for chart in charts or []:
392
+ try:
393
+ chart_title = chart.title
394
+ chart_display_name = chart_title if chart_title else chart.id
395
+ if filter_by_chart(
396
+ self.source_config.chartFilterPattern, chart_display_name
397
+ ):
398
+ self.status.filter(
399
+ chart_display_name, "Chart Pattern not Allowed"
400
+ )
401
+ continue
402
+ yield Either(
403
+ right=CreateChartRequest(
404
+ name=EntityName(chart.id),
405
+ displayName=chart_display_name,
406
+ chartType=ChartType.Other.value,
407
+ sourceUrl=SourceUrl(
408
+ self._get_chart_url(
409
+ report_id=chart.reportId,
410
+ workspace_id=self.context.get().workspace.id,
411
+ dashboard_id=dashboard_details.id,
412
+ )
413
+ ),
414
+ service=FullyQualifiedEntityName(
415
+ self.context.get().dashboard_service
416
+ ),
417
+ )
418
+ )
419
+ except Exception as exc:
420
+ yield Either(
421
+ left=StackTraceError(
422
+ name=chart.title,
423
+ error=f"Error creating chart [{chart.title}]: {exc}",
424
+ stackTrace=traceback.format_exc(),
425
+ )
426
+ )
427
+
428
+ def _get_child_measures(self, table: PowerBiTable) -> List[Column]:
429
+ """
430
+ Extract the measures of the table
431
+ """
432
+ measures = []
433
+ for measure in table.measures or []:
434
+ try:
435
+ measure_type = (
436
+ DataType.MEASURE_HIDDEN
437
+ if measure.isHidden
438
+ else DataType.MEASURE_VISIBLE
439
+ )
440
+ description_text = (
441
+ f"{measure.description}\n\nExpression : {measure.expression}"
442
+ if measure.description
443
+ else f"Expression : {measure.expression}"
444
+ )
445
+ parsed_measure = PowerBiMeasureModel(
446
+ dataType=measure_type,
447
+ dataTypeDisplay=measure_type,
448
+ name=measure.name,
449
+ description=description_text,
450
+ )
451
+ measures.append(Column(**parsed_measure.model_dump()))
452
+ except Exception as err:
453
+ logger.debug(traceback.format_exc())
454
+ logger.warning(f"Error processing datamodel nested measure: {err}")
455
+ return measures
456
+
384
457
  def _get_child_columns(self, table: PowerBiTable) -> List[Column]:
385
458
  """
386
459
  Extract the child columns from the fields
@@ -397,6 +470,7 @@ class PowerbiSource(DashboardServiceSource):
397
470
  ),
398
471
  "name": column.name,
399
472
  "displayName": column.name,
473
+ "description": column.description,
400
474
  }
401
475
  if column.dataType and column.dataType == DataType.ARRAY.value:
402
476
  parsed_column["arrayDataType"] = DataType.UNKNOWN
@@ -417,73 +491,62 @@ class PowerbiSource(DashboardServiceSource):
417
491
  "name": table.name,
418
492
  "displayName": table.name,
419
493
  "description": table.description,
494
+ "children": [],
420
495
  }
421
496
  child_columns = self._get_child_columns(table=table)
497
+ child_measures = self._get_child_measures(table=table)
422
498
  if child_columns:
423
499
  parsed_table["children"] = child_columns
500
+ if child_measures:
501
+ parsed_table["children"].extend(child_measures)
424
502
  datasource_columns.append(Column(**parsed_table))
425
503
  except Exception as exc:
426
504
  logger.debug(traceback.format_exc())
427
505
  logger.warning(f"Error to yield datamodel column: {exc}")
428
506
  return datasource_columns
429
507
 
430
- def yield_dashboard(
431
- self, dashboard_details: Union[PowerBIDashboard, PowerBIReport]
432
- ) -> Iterable[Either[CreateDashboardRequest]]:
508
+ def _get_datamodels_list(self) -> List[Dataset]:
433
509
  """
434
- Method to Get Dashboard Entity, Dashboard Charts & Lineage
510
+ Get All the Powerbi Datasets
511
+ """
512
+ return self.context.get().workspace.datasets
513
+
514
+ def yield_datamodel(
515
+ self, dashboard_details: Group
516
+ ) -> Iterable[Either[CreateDashboardDataModelRequest]]:
517
+ """
518
+ Get All the Powerbi Datasets
435
519
  """
436
520
  try:
437
- if isinstance(dashboard_details, PowerBIDashboard):
438
- dashboard_request = CreateDashboardRequest(
439
- name=EntityName(dashboard_details.id),
440
- sourceUrl=SourceUrl(
441
- self._get_dashboard_url(
442
- workspace_id=self.context.get().workspace.id,
443
- dashboard_id=dashboard_details.id,
444
- )
445
- ),
446
- project=self.get_project_name(dashboard_details=dashboard_details),
447
- displayName=dashboard_details.displayName,
448
- dashboardType=DashboardType.Dashboard,
449
- charts=[
450
- FullyQualifiedEntityName(
451
- fqn.build(
452
- self.metadata,
453
- entity_type=Chart,
454
- service_name=self.context.get().dashboard_service,
455
- chart_name=chart,
456
- )
457
- )
458
- for chart in self.context.get().charts or []
459
- ],
460
- service=FullyQualifiedEntityName(
461
- self.context.get().dashboard_service
462
- ),
463
- owners=self.get_owner_ref(dashboard_details=dashboard_details),
464
- )
465
- else:
466
- dashboard_request = CreateDashboardRequest(
467
- name=EntityName(dashboard_details.id),
468
- dashboardType=DashboardType.Report,
469
- sourceUrl=SourceUrl(
470
- self._get_report_url(
471
- workspace_id=self.context.get().workspace.id,
472
- dashboard_id=dashboard_details.id,
473
- )
474
- ),
475
- project=self.get_project_name(dashboard_details=dashboard_details),
476
- displayName=dashboard_details.name,
477
- service=self.context.get().dashboard_service,
478
- owners=self.get_owner_ref(dashboard_details=dashboard_details),
479
- )
480
- yield Either(right=dashboard_request)
481
- self.register_record(dashboard_request=dashboard_request)
482
- except Exception as exc: # pylint: disable=broad-except
521
+ if self.source_config.includeDataModels:
522
+ for dataset in self._get_datamodels_list() or []:
523
+ if filter_by_datamodel(
524
+ self.source_config.dataModelFilterPattern, dataset.name
525
+ ):
526
+ self.status.filter(dataset.name, "Data model filtered out.")
527
+ continue
528
+ data_model_request = CreateDashboardDataModelRequest(
529
+ name=EntityName(dataset.id),
530
+ displayName=dataset.name,
531
+ description=Markdown(dataset.description)
532
+ if dataset.description
533
+ else None,
534
+ service=FullyQualifiedEntityName(
535
+ self.context.get().dashboard_service
536
+ ),
537
+ dataModelType=DataModelType.PowerBIDataModel.value,
538
+ serviceType=DashboardServiceType.PowerBI.value,
539
+ columns=self._get_column_info(dataset),
540
+ project=self.get_project_name(dashboard_details=dataset),
541
+ owners=self.get_owner_ref(dashboard_details=dataset),
542
+ )
543
+ yield Either(right=data_model_request)
544
+ self.register_record_datamodel(datamodel_request=data_model_request)
545
+ except Exception as exc:
483
546
  yield Either(
484
547
  left=StackTraceError(
485
- name=dashboard_details.name,
486
- error=f"Error creating dashboard [{dashboard_details}]: {exc}",
548
+ name=dataset.name,
549
+ error=f"Error yielding Data Model [{dataset.name}]: {exc}",
487
550
  stackTrace=traceback.format_exc(),
488
551
  )
489
552
  )
@@ -532,7 +595,9 @@ class PowerbiSource(DashboardServiceSource):
532
595
  )
533
596
 
534
597
  def create_datamodel_report_lineage(
535
- self, db_service_name: str, dashboard_details: PowerBIReport
598
+ self,
599
+ db_service_name: Optional[str],
600
+ dashboard_details: PowerBIReport,
536
601
  ) -> Iterable[Either[CreateDashboardRequest]]:
537
602
  """
538
603
  create the lineage between datamodel and report
@@ -694,7 +759,7 @@ class PowerbiSource(DashboardServiceSource):
694
759
 
695
760
  def _get_table_and_datamodel_lineage(
696
761
  self,
697
- db_service_name: str,
762
+ db_service_name: Optional[str],
698
763
  table: PowerBiTable,
699
764
  datamodel_entity: DashboardDataModel,
700
765
  ) -> Optional[Either[AddLineageRequest]]:
@@ -706,7 +771,7 @@ class PowerbiSource(DashboardServiceSource):
706
771
  table_fqn = fqn.build(
707
772
  self.metadata,
708
773
  entity_type=Table,
709
- service_name=db_service_name,
774
+ service_name=db_service_name or "*",
710
775
  database_name=table_info.get("database"),
711
776
  schema_name=table_info.get("schema"),
712
777
  table_name=table_info.get("table") or table.name,
@@ -715,7 +780,6 @@ class PowerbiSource(DashboardServiceSource):
715
780
  entity=Table,
716
781
  fqn=table_fqn,
717
782
  )
718
-
719
783
  if table_entity and datamodel_entity:
720
784
  columns_list = [column.name for column in table.columns]
721
785
  column_lineage = self._get_column_lineage(
@@ -741,7 +805,7 @@ class PowerbiSource(DashboardServiceSource):
741
805
 
742
806
  def create_table_datamodel_lineage_from_files(
743
807
  self,
744
- db_service_name: str,
808
+ db_service_name: Optional[str],
745
809
  datamodel_entity: Optional[DashboardDataModel],
746
810
  ) -> Iterable[Either[AddLineageRequest]]:
747
811
  """
@@ -785,80 +849,50 @@ class PowerbiSource(DashboardServiceSource):
785
849
 
786
850
  def yield_dashboard_lineage_details(
787
851
  self,
788
- dashboard_details: Union[PowerBIDashboard, PowerBIReport],
789
- db_service_name: str,
852
+ dashboard_details: Group,
853
+ db_service_name: Optional[str] = None,
790
854
  ) -> Iterable[Either[AddLineageRequest]]:
791
855
  """
792
856
  We will build the logic to build the logic as below
793
857
  tables - datamodel - report - dashboard
794
858
  """
795
- try:
796
- if isinstance(dashboard_details, PowerBIReport):
797
- yield from self.create_datamodel_report_lineage(
798
- db_service_name=db_service_name, dashboard_details=dashboard_details
799
- )
800
-
801
- if isinstance(dashboard_details, PowerBIDashboard):
802
- yield from self.create_report_dashboard_lineage(
803
- dashboard_details=dashboard_details
859
+ for dashboard in self.filtered_dashboards or []:
860
+ dashboard_details = self.get_dashboard_details(dashboard)
861
+ try:
862
+ if isinstance(dashboard_details, PowerBIReport):
863
+ yield from self.create_datamodel_report_lineage(
864
+ db_service_name=db_service_name,
865
+ dashboard_details=dashboard_details,
866
+ )
867
+ if isinstance(dashboard_details, PowerBIDashboard):
868
+ yield from self.create_report_dashboard_lineage(
869
+ dashboard_details=dashboard_details
870
+ )
871
+ except Exception as exc: # pylint: disable=broad-except
872
+ yield Either(
873
+ left=StackTraceError(
874
+ name="Dashboard Lineage",
875
+ error=f"Error to yield dashboard lineage details for DB service name [{db_service_name}]: {exc}",
876
+ stackTrace=traceback.format_exc(),
877
+ )
804
878
  )
805
879
 
806
- except Exception as exc: # pylint: disable=broad-except
807
- yield Either(
808
- left=StackTraceError(
809
- name="Dashboard Lineage",
810
- error=f"Error to yield dashboard lineage details for DB service name [{db_service_name}]: {exc}",
811
- stackTrace=traceback.format_exc(),
812
- )
813
- )
880
+ def yield_dashboard_lineage(
881
+ self, dashboard_details: Group
882
+ ) -> Iterable[Either[OMetaLineageRequest]]:
883
+ """
884
+ Yields lineage if config is enabled.
814
885
 
815
- def yield_dashboard_chart(
816
- self, dashboard_details: Union[PowerBIDashboard, PowerBIReport]
817
- ) -> Iterable[Either[CreateChartRequest]]:
818
- """Get chart method
819
- Args:
820
- dashboard_details:
821
- Returns:
822
- Iterable[Chart]
886
+ We will look for the data in all the services
887
+ we have informed.
823
888
  """
824
- if isinstance(dashboard_details, PowerBIDashboard):
825
- charts = dashboard_details.tiles
826
- for chart in charts or []:
827
- try:
828
- chart_title = chart.title
829
- chart_display_name = chart_title if chart_title else chart.id
830
- if filter_by_chart(
831
- self.source_config.chartFilterPattern, chart_display_name
832
- ):
833
- self.status.filter(
834
- chart_display_name, "Chart Pattern not Allowed"
835
- )
836
- continue
837
- yield Either(
838
- right=CreateChartRequest(
839
- name=EntityName(chart.id),
840
- displayName=chart_display_name,
841
- chartType=ChartType.Other.value,
842
- sourceUrl=SourceUrl(
843
- self._get_chart_url(
844
- report_id=chart.reportId,
845
- workspace_id=self.context.get().workspace.id,
846
- dashboard_id=dashboard_details.id,
847
- )
848
- ),
849
- service=FullyQualifiedEntityName(
850
- self.context.get().dashboard_service
851
- ),
852
- )
853
- )
854
- except Exception as exc:
855
- yield Either(
856
- left=StackTraceError(
857
- name=chart.title,
858
- error=f"Error creating chart [{chart.title}]: {exc}",
859
- stackTrace=traceback.format_exc(),
860
- )
861
- )
889
+ db_service_names = self.get_db_service_names()
890
+ if not db_service_names:
891
+ yield from self.yield_dashboard_lineage_details(dashboard_details) or []
892
+ for db_service_name in db_service_names or []:
893
+ yield from self.yield_dashboard_lineage_details(
894
+ dashboard_details, db_service_name
895
+ ) or []
862
896
 
863
897
  def _fetch_dataset_from_workspace(
864
898
  self, dataset_id: Optional[str]
@@ -900,21 +934,6 @@ class PowerbiSource(DashboardServiceSource):
900
934
  return report_data
901
935
  return None
902
936
 
903
- def _fetch_dataset_workspace(self, dataset_id: Optional[str]) -> Optional[str]:
904
- """
905
- Method to search the workspace name in which the dataset in contained
906
- """
907
- if dataset_id:
908
- workspace_names = (
909
- workspace.name
910
- for workspace in self.workspace_data
911
- for dataset in workspace.datasets
912
- if dataset.id == dataset_id
913
- )
914
- return next(iter(workspace_names), None)
915
-
916
- return None
917
-
918
937
  def get_project_name(self, dashboard_details: Any) -> Optional[str]:
919
938
  """
920
939
  Get the project / workspace / folder / collection name of the dashboard
@@ -927,3 +946,44 @@ class PowerbiSource(DashboardServiceSource):
927
946
  f"Error fetching project name for {dashboard_details.id}: {exc}"
928
947
  )
929
948
  return None
949
+
950
+ def get_owner_ref( # pylint: disable=unused-argument, useless-return
951
+ self, dashboard_details: Any
952
+ ) -> Optional[EntityReferenceList]:
953
+ """
954
+ Method to process the dashboard owners
955
+ """
956
+ try:
957
+ owner_ref_list = [] # to assign multiple owners to entity if they exist
958
+ for owner in dashboard_details.users or []:
959
+ if owner.email:
960
+ owner_ref = None
961
+ try:
962
+ owner_email = EmailStr._validate(owner.email)
963
+ owner_ref = self.metadata.get_reference_by_email(
964
+ owner_email.lower()
965
+ )
966
+ except PydanticCustomError:
967
+ logger.warning(
968
+ f"Could not fetch owner data for email: {owner.email}"
969
+ )
970
+ if owner.displayName:
971
+ owner_ref = self.metadata.get_reference_by_name(
972
+ name=owner.displayName
973
+ )
974
+ except Exception as err:
975
+ logger.warning(
976
+ f"Error processing current owner data in {dashboard_details.id}: {err}"
977
+ )
978
+ if owner_ref:
979
+ owner_ref_list.append(owner_ref.root[0])
980
+ if len(owner_ref_list) > 0:
981
+ logger.debug(
982
+ f"Successfully fetched owners data for {dashboard_details.id}"
983
+ )
984
+ return EntityReferenceList(root=owner_ref_list)
985
+ return None
986
+ except Exception as err:
987
+ logger.debug(traceback.format_exc())
988
+ logger.warning(f"Could not fetch owner data due to {err}")
989
+ return None