openmetadata-ingestion 1.5.0.0rc1__py3-none-any.whl → 1.5.1.0__py3-none-any.whl

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

Potentially problematic release.


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

Files changed (676) hide show
  1. _openmetadata_testutils/kafka/__init__.py +0 -0
  2. _openmetadata_testutils/kafka/load_csv_data.py +133 -0
  3. _openmetadata_testutils/kafka/schema_registry_container.py +31 -0
  4. _openmetadata_testutils/postgres/conftest.py +5 -0
  5. _openmetadata_testutils/pydantic/test_utils.py +5 -4
  6. metadata/cli/app.py +0 -1
  7. metadata/cli/dataquality.py +0 -1
  8. metadata/cli/ingest.py +0 -1
  9. metadata/cli/profile.py +0 -1
  10. metadata/cli/usage.py +0 -1
  11. metadata/clients/domo_client.py +1 -1
  12. metadata/data_quality/validations/column/sqlalchemy/columnValueLengthsToBeBetween.py +7 -6
  13. metadata/data_quality/validations/column/sqlalchemy/columnValuesToBeBetween.py +7 -2
  14. metadata/data_quality/validations/table/sqlalchemy/tableDiff.py +44 -12
  15. metadata/generated/antlr/EntityLinkLexer.py +377 -379
  16. metadata/generated/schema/analytics/__init__.py +1 -1
  17. metadata/generated/schema/analytics/basic.py +1 -1
  18. metadata/generated/schema/analytics/reportData.py +1 -1
  19. metadata/generated/schema/analytics/reportDataType/__init__.py +1 -1
  20. metadata/generated/schema/analytics/reportDataType/aggregatedCostAnalysisReportData.py +1 -1
  21. metadata/generated/schema/analytics/reportDataType/entityReportData.py +1 -1
  22. metadata/generated/schema/analytics/reportDataType/rawCostAnalysisReportData.py +1 -1
  23. metadata/generated/schema/analytics/reportDataType/webAnalyticEntityViewReportData.py +1 -1
  24. metadata/generated/schema/analytics/reportDataType/webAnalyticUserActivityReportData.py +1 -1
  25. metadata/generated/schema/analytics/webAnalyticEvent.py +1 -1
  26. metadata/generated/schema/analytics/webAnalyticEventData.py +1 -1
  27. metadata/generated/schema/analytics/webAnalyticEventType/__init__.py +1 -1
  28. metadata/generated/schema/analytics/webAnalyticEventType/customEvent.py +1 -1
  29. metadata/generated/schema/analytics/webAnalyticEventType/pageViewEvent.py +1 -1
  30. metadata/generated/schema/api/__init__.py +1 -1
  31. metadata/generated/schema/api/addGlossaryToAssetsRequest.py +1 -1
  32. metadata/generated/schema/api/analytics/__init__.py +1 -1
  33. metadata/generated/schema/api/analytics/createWebAnalyticEvent.py +1 -1
  34. metadata/generated/schema/api/automations/__init__.py +1 -1
  35. metadata/generated/schema/api/automations/createWorkflow.py +1 -1
  36. metadata/generated/schema/api/bulkAssets.py +1 -1
  37. metadata/generated/schema/api/classification/__init__.py +1 -1
  38. metadata/generated/schema/api/classification/createClassification.py +1 -1
  39. metadata/generated/schema/api/classification/createTag.py +1 -1
  40. metadata/generated/schema/api/classification/loadTags.py +1 -1
  41. metadata/generated/schema/api/createBot.py +1 -1
  42. metadata/generated/schema/api/createEventPublisherJob.py +1 -1
  43. metadata/generated/schema/api/createType.py +1 -1
  44. metadata/generated/schema/api/data/__init__.py +1 -1
  45. metadata/generated/schema/api/data/createAPICollection.py +1 -1
  46. metadata/generated/schema/api/data/createAPIEndpoint.py +1 -1
  47. metadata/generated/schema/api/data/createChart.py +1 -1
  48. metadata/generated/schema/api/data/createContainer.py +1 -1
  49. metadata/generated/schema/api/data/createCustomProperty.py +1 -1
  50. metadata/generated/schema/api/data/createDashboard.py +1 -1
  51. metadata/generated/schema/api/data/createDashboardDataModel.py +1 -1
  52. metadata/generated/schema/api/data/createDatabase.py +1 -1
  53. metadata/generated/schema/api/data/createDatabaseSchema.py +1 -1
  54. metadata/generated/schema/api/data/createGlossary.py +1 -1
  55. metadata/generated/schema/api/data/createGlossaryTerm.py +1 -1
  56. metadata/generated/schema/api/data/createMlModel.py +1 -1
  57. metadata/generated/schema/api/data/createPipeline.py +1 -1
  58. metadata/generated/schema/api/data/createQuery.py +1 -1
  59. metadata/generated/schema/api/data/createSearchIndex.py +1 -1
  60. metadata/generated/schema/api/data/createStoredProcedure.py +1 -1
  61. metadata/generated/schema/api/data/createTable.py +1 -1
  62. metadata/generated/schema/api/data/createTableProfile.py +1 -1
  63. metadata/generated/schema/api/data/createTopic.py +1 -1
  64. metadata/generated/schema/api/data/loadGlossary.py +1 -1
  65. metadata/generated/schema/api/data/restoreEntity.py +1 -1
  66. metadata/generated/schema/api/dataInsight/__init__.py +1 -1
  67. metadata/generated/schema/api/dataInsight/createDataInsightChart.py +1 -1
  68. metadata/generated/schema/api/dataInsight/custom/__init__.py +1 -1
  69. metadata/generated/schema/api/dataInsight/custom/createDataInsightCustomChart.py +1 -1
  70. metadata/generated/schema/api/dataInsight/kpi/__init__.py +1 -1
  71. metadata/generated/schema/api/dataInsight/kpi/createKpiRequest.py +1 -1
  72. metadata/generated/schema/api/docStore/__init__.py +1 -1
  73. metadata/generated/schema/api/docStore/createDocument.py +1 -1
  74. metadata/generated/schema/api/domains/__init__.py +1 -1
  75. metadata/generated/schema/api/domains/createDataProduct.py +1 -1
  76. metadata/generated/schema/api/domains/createDomain.py +1 -1
  77. metadata/generated/schema/api/feed/__init__.py +1 -1
  78. metadata/generated/schema/api/feed/closeTask.py +1 -1
  79. metadata/generated/schema/api/feed/createPost.py +1 -1
  80. metadata/generated/schema/api/feed/createSuggestion.py +1 -1
  81. metadata/generated/schema/api/feed/createThread.py +1 -1
  82. metadata/generated/schema/api/feed/resolveTask.py +1 -1
  83. metadata/generated/schema/api/feed/threadCount.py +1 -1
  84. metadata/generated/schema/api/lineage/__init__.py +1 -1
  85. metadata/generated/schema/api/lineage/addLineage.py +1 -1
  86. metadata/generated/schema/api/openMetadataServerVersion.py +1 -1
  87. metadata/generated/schema/api/policies/__init__.py +1 -1
  88. metadata/generated/schema/api/policies/createPolicy.py +1 -1
  89. metadata/generated/schema/api/services/__init__.py +1 -1
  90. metadata/generated/schema/api/services/createApiService.py +1 -1
  91. metadata/generated/schema/api/services/createDashboardService.py +1 -1
  92. metadata/generated/schema/api/services/createDatabaseService.py +1 -1
  93. metadata/generated/schema/api/services/createMessagingService.py +1 -1
  94. metadata/generated/schema/api/services/createMetadataService.py +1 -1
  95. metadata/generated/schema/api/services/createMlModelService.py +1 -1
  96. metadata/generated/schema/api/services/createPipelineService.py +1 -1
  97. metadata/generated/schema/api/services/createSearchService.py +1 -1
  98. metadata/generated/schema/api/services/createStorageService.py +1 -1
  99. metadata/generated/schema/api/services/ingestionPipelines/__init__.py +1 -1
  100. metadata/generated/schema/api/services/ingestionPipelines/createIngestionPipeline.py +1 -1
  101. metadata/generated/schema/api/setOwner.py +1 -1
  102. metadata/generated/schema/api/teams/__init__.py +1 -1
  103. metadata/generated/schema/api/teams/createPersona.py +1 -1
  104. metadata/generated/schema/api/teams/createRole.py +1 -1
  105. metadata/generated/schema/api/teams/createTeam.py +1 -1
  106. metadata/generated/schema/api/teams/createUser.py +1 -1
  107. metadata/generated/schema/api/tests/__init__.py +1 -1
  108. metadata/generated/schema/api/tests/createCustomMetric.py +1 -1
  109. metadata/generated/schema/api/tests/createLogicalTestCases.py +1 -1
  110. metadata/generated/schema/api/tests/createTestCase.py +1 -1
  111. metadata/generated/schema/api/tests/createTestCaseResolutionStatus.py +1 -1
  112. metadata/generated/schema/api/tests/createTestDefinition.py +1 -1
  113. metadata/generated/schema/api/tests/createTestSuite.py +1 -1
  114. metadata/generated/schema/api/voteRequest.py +1 -1
  115. metadata/generated/schema/auth/__init__.py +1 -1
  116. metadata/generated/schema/auth/basicAuth.py +1 -1
  117. metadata/generated/schema/auth/basicLoginRequest.py +1 -1
  118. metadata/generated/schema/auth/changePasswordRequest.py +1 -1
  119. metadata/generated/schema/auth/createPersonalToken.py +1 -1
  120. metadata/generated/schema/auth/emailRequest.py +1 -1
  121. metadata/generated/schema/auth/emailVerificationToken.py +1 -1
  122. metadata/generated/schema/auth/generateToken.py +1 -1
  123. metadata/generated/schema/auth/jwtAuth.py +1 -1
  124. metadata/generated/schema/auth/loginRequest.py +1 -1
  125. metadata/generated/schema/auth/logoutRequest.py +1 -1
  126. metadata/generated/schema/auth/passwordResetRequest.py +1 -1
  127. metadata/generated/schema/auth/passwordResetToken.py +1 -1
  128. metadata/generated/schema/auth/personalAccessToken.py +1 -1
  129. metadata/generated/schema/auth/refreshToken.py +1 -1
  130. metadata/generated/schema/auth/registrationRequest.py +1 -1
  131. metadata/generated/schema/auth/revokePersonalToken.py +1 -1
  132. metadata/generated/schema/auth/revokeToken.py +1 -1
  133. metadata/generated/schema/auth/serviceTokenEnum.py +1 -1
  134. metadata/generated/schema/auth/ssoAuth.py +1 -1
  135. metadata/generated/schema/auth/tokenRefreshRequest.py +1 -1
  136. metadata/generated/schema/configuration/__init__.py +1 -1
  137. metadata/generated/schema/configuration/appsPrivateConfiguration.py +1 -1
  138. metadata/generated/schema/configuration/authConfig.py +1 -1
  139. metadata/generated/schema/configuration/authenticationConfiguration.py +1 -1
  140. metadata/generated/schema/configuration/authorizerConfiguration.py +1 -1
  141. metadata/generated/schema/configuration/changeEventConfiguration.py +1 -1
  142. metadata/generated/schema/configuration/dataQualityConfiguration.py +1 -1
  143. metadata/generated/schema/configuration/elasticSearchConfiguration.py +1 -1
  144. metadata/generated/schema/configuration/eventHandlerConfiguration.py +1 -1
  145. metadata/generated/schema/configuration/fernetConfiguration.py +1 -1
  146. metadata/generated/schema/configuration/jwtTokenConfiguration.py +1 -1
  147. metadata/generated/schema/configuration/kafkaEventConfiguration.py +1 -1
  148. metadata/generated/schema/configuration/ldapConfiguration.py +1 -1
  149. metadata/generated/schema/configuration/ldapTrustStoreConfig/__init__.py +1 -1
  150. metadata/generated/schema/configuration/ldapTrustStoreConfig/customTrustManagerConfig.py +1 -1
  151. metadata/generated/schema/configuration/ldapTrustStoreConfig/hostNameConfig.py +1 -1
  152. metadata/generated/schema/configuration/ldapTrustStoreConfig/jvmDefaultConfig.py +1 -1
  153. metadata/generated/schema/configuration/ldapTrustStoreConfig/trustAllConfig.py +1 -1
  154. metadata/generated/schema/configuration/ldapTrustStoreConfig/truststoreConfig.py +1 -1
  155. metadata/generated/schema/configuration/limitsConfiguration.py +1 -1
  156. metadata/generated/schema/configuration/loginConfiguration.py +1 -1
  157. metadata/generated/schema/configuration/logoConfiguration.py +1 -1
  158. metadata/generated/schema/configuration/pipelineServiceClientConfiguration.py +1 -1
  159. metadata/generated/schema/configuration/profilerConfiguration.py +1 -1
  160. metadata/generated/schema/configuration/slackAppConfiguration.py +18 -7
  161. metadata/generated/schema/configuration/taskNotificationConfiguration.py +1 -1
  162. metadata/generated/schema/configuration/testResultNotificationConfiguration.py +1 -1
  163. metadata/generated/schema/configuration/themeConfiguration.py +1 -1
  164. metadata/generated/schema/configuration/uiThemePreference.py +1 -1
  165. metadata/generated/schema/dataInsight/__init__.py +1 -1
  166. metadata/generated/schema/dataInsight/custom/__init__.py +1 -1
  167. metadata/generated/schema/dataInsight/custom/dataInsightCustomChart.py +2 -1
  168. metadata/generated/schema/dataInsight/custom/dataInsightCustomChartResult.py +1 -1
  169. metadata/generated/schema/dataInsight/custom/dataInsightCustomChartResultList.py +1 -1
  170. metadata/generated/schema/dataInsight/custom/formulaHolder.py +1 -1
  171. metadata/generated/schema/dataInsight/custom/lineChart.py +23 -2
  172. metadata/generated/schema/dataInsight/custom/summaryCard.py +8 -1
  173. metadata/generated/schema/dataInsight/dataInsightChart.py +1 -1
  174. metadata/generated/schema/dataInsight/dataInsightChartResult.py +1 -21
  175. metadata/generated/schema/dataInsight/kpi/__init__.py +1 -1
  176. metadata/generated/schema/dataInsight/kpi/basic.py +1 -1
  177. metadata/generated/schema/dataInsight/kpi/kpi.py +1 -1
  178. metadata/generated/schema/dataInsight/type/__init__.py +1 -1
  179. metadata/generated/schema/dataInsight/type/aggregatedUnusedAssetsCount.py +1 -1
  180. metadata/generated/schema/dataInsight/type/aggregatedUnusedAssetsSize.py +1 -1
  181. metadata/generated/schema/dataInsight/type/aggregatedUsedVsUnusedAssetsCount.py +1 -1
  182. metadata/generated/schema/dataInsight/type/aggregatedUsedVsUnusedAssetsSize.py +1 -1
  183. metadata/generated/schema/dataInsight/type/dailyActiveUsers.py +1 -1
  184. metadata/generated/schema/dataInsight/type/mostActiveUsers.py +1 -1
  185. metadata/generated/schema/dataInsight/type/mostViewedEntities.py +1 -1
  186. metadata/generated/schema/dataInsight/type/pageViewsByEntities.py +1 -1
  187. metadata/generated/schema/dataInsight/type/unusedAssets.py +1 -1
  188. metadata/generated/schema/email/__init__.py +1 -1
  189. metadata/generated/schema/email/emailRequest.py +1 -1
  190. metadata/generated/schema/email/emailTemplate.py +1 -1
  191. metadata/generated/schema/email/emailTemplatePlaceholder.py +1 -1
  192. metadata/generated/schema/email/smtpSettings.py +1 -1
  193. metadata/generated/schema/email/templateValidationReponse.py +1 -1
  194. metadata/generated/schema/entity/__init__.py +1 -1
  195. metadata/generated/schema/entity/applications/__init__.py +1 -1
  196. metadata/generated/schema/entity/applications/app.py +1 -1
  197. metadata/generated/schema/entity/applications/appRunRecord.py +1 -1
  198. metadata/generated/schema/entity/applications/configuration/__init__.py +1 -1
  199. metadata/generated/schema/entity/applications/configuration/applicationConfig.py +1 -1
  200. metadata/generated/schema/entity/applications/configuration/external/__init__.py +1 -1
  201. metadata/generated/schema/entity/applications/configuration/external/automator/__init__.py +1 -1
  202. metadata/generated/schema/entity/applications/configuration/external/automator/addDescriptionAction.py +1 -1
  203. metadata/generated/schema/entity/applications/configuration/external/automator/addDomainAction.py +1 -1
  204. metadata/generated/schema/entity/applications/configuration/external/automator/addOwnerAction.py +1 -1
  205. metadata/generated/schema/entity/applications/configuration/external/automator/addTagsAction.py +1 -1
  206. metadata/generated/schema/entity/applications/configuration/external/automator/addTierAction.py +1 -1
  207. metadata/generated/schema/entity/applications/configuration/external/automator/lineagePropagationAction.py +1 -1
  208. metadata/generated/schema/entity/applications/configuration/external/automator/mlTaggingAction.py +1 -1
  209. metadata/generated/schema/entity/applications/configuration/external/automator/removeDescriptionAction.py +1 -1
  210. metadata/generated/schema/entity/applications/configuration/external/automator/removeDomainAction.py +1 -1
  211. metadata/generated/schema/entity/applications/configuration/external/automator/removeOwnerAction.py +1 -1
  212. metadata/generated/schema/entity/applications/configuration/external/automator/removeTagsAction.py +1 -1
  213. metadata/generated/schema/entity/applications/configuration/external/automator/removeTierAction.py +1 -1
  214. metadata/generated/schema/entity/applications/configuration/external/automatorAppConfig.py +1 -1
  215. metadata/generated/schema/entity/applications/configuration/external/metaPilotAppConfig.py +10 -2
  216. metadata/generated/schema/entity/applications/configuration/internal/__init__.py +1 -1
  217. metadata/generated/schema/entity/applications/configuration/internal/dataInsightsAppConfig.py +9 -1
  218. metadata/generated/schema/entity/applications/configuration/internal/dataInsightsReportAppConfig.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/metaPilotAppPrivateConfig.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/metrics.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 +2 -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/apiService/__init__.py +1 -1
  285. metadata/generated/schema/entity/services/connections/apiService/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 +7 -2
  296. metadata/generated/schema/entity/services/connections/dashboard/metabaseConnection.py +1 -1
  297. metadata/generated/schema/entity/services/connections/dashboard/modeConnection.py +1 -1
  298. metadata/generated/schema/entity/services/connections/dashboard/mstrConnection.py +1 -1
  299. metadata/generated/schema/entity/services/connections/dashboard/powerBIConnection.py +1 -1
  300. metadata/generated/schema/entity/services/connections/dashboard/powerbi/__init__.py +1 -1
  301. metadata/generated/schema/entity/services/connections/dashboard/powerbi/azureConfig.py +1 -1
  302. metadata/generated/schema/entity/services/connections/dashboard/powerbi/bucketDetails.py +1 -1
  303. metadata/generated/schema/entity/services/connections/dashboard/powerbi/gcsConfig.py +1 -1
  304. metadata/generated/schema/entity/services/connections/dashboard/powerbi/s3Config.py +1 -1
  305. metadata/generated/schema/entity/services/connections/dashboard/qlikCloudConnection.py +1 -1
  306. metadata/generated/schema/entity/services/connections/dashboard/qlikSenseConnection.py +1 -1
  307. metadata/generated/schema/entity/services/connections/dashboard/quickSightConnection.py +1 -1
  308. metadata/generated/schema/entity/services/connections/dashboard/redashConnection.py +1 -1
  309. metadata/generated/schema/entity/services/connections/dashboard/supersetConnection.py +1 -1
  310. metadata/generated/schema/entity/services/connections/dashboard/tableauConnection.py +1 -1
  311. metadata/generated/schema/entity/services/connections/database/__init__.py +1 -1
  312. metadata/generated/schema/entity/services/connections/database/athenaConnection.py +1 -1
  313. metadata/generated/schema/entity/services/connections/database/azureSQLConnection.py +1 -1
  314. metadata/generated/schema/entity/services/connections/database/bigQueryConnection.py +1 -1
  315. metadata/generated/schema/entity/services/connections/database/bigTableConnection.py +1 -1
  316. metadata/generated/schema/entity/services/connections/database/clickhouseConnection.py +1 -1
  317. metadata/generated/schema/entity/services/connections/database/common/__init__.py +1 -1
  318. metadata/generated/schema/entity/services/connections/database/common/azureConfig.py +1 -1
  319. metadata/generated/schema/entity/services/connections/database/common/basicAuth.py +1 -1
  320. metadata/generated/schema/entity/services/connections/database/common/iamAuthConfig.py +1 -1
  321. metadata/generated/schema/entity/services/connections/database/common/jwtAuth.py +1 -1
  322. metadata/generated/schema/entity/services/connections/database/couchbaseConnection.py +1 -1
  323. metadata/generated/schema/entity/services/connections/database/customDatabaseConnection.py +1 -1
  324. metadata/generated/schema/entity/services/connections/database/databricksConnection.py +1 -1
  325. metadata/generated/schema/entity/services/connections/database/datalake/__init__.py +1 -1
  326. metadata/generated/schema/entity/services/connections/database/datalake/azureConfig.py +1 -1
  327. metadata/generated/schema/entity/services/connections/database/datalake/gcsConfig.py +1 -1
  328. metadata/generated/schema/entity/services/connections/database/datalake/s3Config.py +1 -1
  329. metadata/generated/schema/entity/services/connections/database/datalakeConnection.py +1 -1
  330. metadata/generated/schema/entity/services/connections/database/db2Connection.py +1 -1
  331. metadata/generated/schema/entity/services/connections/database/deltaLakeConnection.py +1 -1
  332. metadata/generated/schema/entity/services/connections/database/deltalake/__init__.py +1 -1
  333. metadata/generated/schema/entity/services/connections/database/deltalake/metastoreConfig.py +1 -1
  334. metadata/generated/schema/entity/services/connections/database/deltalake/storageConfig.py +1 -1
  335. metadata/generated/schema/entity/services/connections/database/domoDatabaseConnection.py +1 -1
  336. metadata/generated/schema/entity/services/connections/database/dorisConnection.py +1 -1
  337. metadata/generated/schema/entity/services/connections/database/druidConnection.py +1 -1
  338. metadata/generated/schema/entity/services/connections/database/dynamoDBConnection.py +1 -1
  339. metadata/generated/schema/entity/services/connections/database/glueConnection.py +1 -1
  340. metadata/generated/schema/entity/services/connections/database/greenplumConnection.py +1 -1
  341. metadata/generated/schema/entity/services/connections/database/hiveConnection.py +1 -1
  342. metadata/generated/schema/entity/services/connections/database/iceberg/__init__.py +1 -1
  343. metadata/generated/schema/entity/services/connections/database/iceberg/dynamoDbCatalogConnection.py +1 -1
  344. metadata/generated/schema/entity/services/connections/database/iceberg/glueCatalogConnection.py +1 -1
  345. metadata/generated/schema/entity/services/connections/database/iceberg/hiveCatalogConnection.py +1 -1
  346. metadata/generated/schema/entity/services/connections/database/iceberg/icebergCatalog.py +1 -1
  347. metadata/generated/schema/entity/services/connections/database/iceberg/icebergFileSystem.py +1 -1
  348. metadata/generated/schema/entity/services/connections/database/iceberg/restCatalogConnection.py +1 -1
  349. metadata/generated/schema/entity/services/connections/database/icebergConnection.py +1 -1
  350. metadata/generated/schema/entity/services/connections/database/impalaConnection.py +1 -1
  351. metadata/generated/schema/entity/services/connections/database/mariaDBConnection.py +1 -1
  352. metadata/generated/schema/entity/services/connections/database/mongoDBConnection.py +1 -1
  353. metadata/generated/schema/entity/services/connections/database/mssqlConnection.py +1 -1
  354. metadata/generated/schema/entity/services/connections/database/mysqlConnection.py +1 -1
  355. metadata/generated/schema/entity/services/connections/database/oracleConnection.py +1 -1
  356. metadata/generated/schema/entity/services/connections/database/pinotDBConnection.py +1 -1
  357. metadata/generated/schema/entity/services/connections/database/postgresConnection.py +1 -1
  358. metadata/generated/schema/entity/services/connections/database/prestoConnection.py +1 -1
  359. metadata/generated/schema/entity/services/connections/database/redshiftConnection.py +1 -1
  360. metadata/generated/schema/entity/services/connections/database/salesforceConnection.py +1 -1
  361. metadata/generated/schema/entity/services/connections/database/sapErpConnection.py +1 -1
  362. metadata/generated/schema/entity/services/connections/database/sapHana/__init__.py +1 -1
  363. metadata/generated/schema/entity/services/connections/database/sapHana/sapHanaHDBConnection.py +1 -1
  364. metadata/generated/schema/entity/services/connections/database/sapHana/sapHanaSQLConnection.py +1 -1
  365. metadata/generated/schema/entity/services/connections/database/sapHanaConnection.py +1 -1
  366. metadata/generated/schema/entity/services/connections/database/sasConnection.py +1 -1
  367. metadata/generated/schema/entity/services/connections/database/singleStoreConnection.py +1 -1
  368. metadata/generated/schema/entity/services/connections/database/snowflakeConnection.py +2 -2
  369. metadata/generated/schema/entity/services/connections/database/sqliteConnection.py +1 -1
  370. metadata/generated/schema/entity/services/connections/database/synapseConnection.py +1 -1
  371. metadata/generated/schema/entity/services/connections/database/teradataConnection.py +2 -1
  372. metadata/generated/schema/entity/services/connections/database/trinoConnection.py +1 -1
  373. metadata/generated/schema/entity/services/connections/database/unityCatalogConnection.py +1 -1
  374. metadata/generated/schema/entity/services/connections/database/verticaConnection.py +1 -1
  375. metadata/generated/schema/entity/services/connections/messaging/__init__.py +1 -1
  376. metadata/generated/schema/entity/services/connections/messaging/customMessagingConnection.py +1 -1
  377. metadata/generated/schema/entity/services/connections/messaging/kafkaConnection.py +1 -1
  378. metadata/generated/schema/entity/services/connections/messaging/kinesisConnection.py +1 -1
  379. metadata/generated/schema/entity/services/connections/messaging/pulsarConnection.py +1 -1
  380. metadata/generated/schema/entity/services/connections/messaging/redpandaConnection.py +1 -1
  381. metadata/generated/schema/entity/services/connections/messaging/saslMechanismType.py +1 -1
  382. metadata/generated/schema/entity/services/connections/metadata/__init__.py +1 -1
  383. metadata/generated/schema/entity/services/connections/metadata/alationConnection.py +1 -1
  384. metadata/generated/schema/entity/services/connections/metadata/alationSinkConnection.py +1 -1
  385. metadata/generated/schema/entity/services/connections/metadata/amundsenConnection.py +1 -1
  386. metadata/generated/schema/entity/services/connections/metadata/atlasConnection.py +1 -1
  387. metadata/generated/schema/entity/services/connections/metadata/metadataESConnection.py +1 -1
  388. metadata/generated/schema/entity/services/connections/metadata/openMetadataConnection.py +1 -1
  389. metadata/generated/schema/entity/services/connections/mlmodel/__init__.py +1 -1
  390. metadata/generated/schema/entity/services/connections/mlmodel/customMlModelConnection.py +1 -1
  391. metadata/generated/schema/entity/services/connections/mlmodel/mlflowConnection.py +1 -1
  392. metadata/generated/schema/entity/services/connections/mlmodel/sageMakerConnection.py +1 -1
  393. metadata/generated/schema/entity/services/connections/mlmodel/sklearnConnection.py +1 -1
  394. metadata/generated/schema/entity/services/connections/pipeline/__init__.py +1 -1
  395. metadata/generated/schema/entity/services/connections/pipeline/airbyteConnection.py +1 -1
  396. metadata/generated/schema/entity/services/connections/pipeline/airflowConnection.py +1 -1
  397. metadata/generated/schema/entity/services/connections/pipeline/backendConnection.py +1 -1
  398. metadata/generated/schema/entity/services/connections/pipeline/customPipelineConnection.py +1 -1
  399. metadata/generated/schema/entity/services/connections/pipeline/dagsterConnection.py +1 -1
  400. metadata/generated/schema/entity/services/connections/pipeline/databricksPipelineConnection.py +1 -1
  401. metadata/generated/schema/entity/services/connections/pipeline/dbtCloudConnection.py +1 -1
  402. metadata/generated/schema/entity/services/connections/pipeline/domoPipelineConnection.py +1 -1
  403. metadata/generated/schema/entity/services/connections/pipeline/fivetranConnection.py +1 -1
  404. metadata/generated/schema/entity/services/connections/pipeline/flinkConnection.py +1 -1
  405. metadata/generated/schema/entity/services/connections/pipeline/gluePipelineConnection.py +1 -1
  406. metadata/generated/schema/entity/services/connections/pipeline/kafkaConnectConnection.py +1 -1
  407. metadata/generated/schema/entity/services/connections/pipeline/nifiConnection.py +1 -1
  408. metadata/generated/schema/entity/services/connections/pipeline/openLineageConnection.py +1 -1
  409. metadata/generated/schema/entity/services/connections/pipeline/sparkConnection.py +1 -1
  410. metadata/generated/schema/entity/services/connections/pipeline/splineConnection.py +1 -1
  411. metadata/generated/schema/entity/services/connections/search/__init__.py +1 -1
  412. metadata/generated/schema/entity/services/connections/search/customSearchConnection.py +1 -1
  413. metadata/generated/schema/entity/services/connections/search/elasticSearch/__init__.py +1 -1
  414. metadata/generated/schema/entity/services/connections/search/elasticSearch/apiAuth.py +1 -1
  415. metadata/generated/schema/entity/services/connections/search/elasticSearch/basicAuth.py +1 -1
  416. metadata/generated/schema/entity/services/connections/search/elasticSearchConnection.py +1 -1
  417. metadata/generated/schema/entity/services/connections/search/openSearchConnection.py +1 -1
  418. metadata/generated/schema/entity/services/connections/serviceConnection.py +1 -1
  419. metadata/generated/schema/entity/services/connections/storage/__init__.py +1 -1
  420. metadata/generated/schema/entity/services/connections/storage/adlsConnection.py +1 -1
  421. metadata/generated/schema/entity/services/connections/storage/customStorageConnection.py +1 -1
  422. metadata/generated/schema/entity/services/connections/storage/gcsConnection.py +1 -1
  423. metadata/generated/schema/entity/services/connections/storage/s3Connection.py +1 -1
  424. metadata/generated/schema/entity/services/connections/testConnectionDefinition.py +2 -2
  425. metadata/generated/schema/entity/services/connections/testConnectionResult.py +1 -1
  426. metadata/generated/schema/entity/services/dashboardService.py +1 -1
  427. metadata/generated/schema/entity/services/databaseService.py +1 -1
  428. metadata/generated/schema/entity/services/ingestionPipelines/__init__.py +1 -1
  429. metadata/generated/schema/entity/services/ingestionPipelines/ingestionPipeline.py +1 -1
  430. metadata/generated/schema/entity/services/ingestionPipelines/pipelineServiceClientResponse.py +1 -1
  431. metadata/generated/schema/entity/services/ingestionPipelines/status.py +1 -1
  432. metadata/generated/schema/entity/services/messagingService.py +1 -1
  433. metadata/generated/schema/entity/services/metadataService.py +1 -1
  434. metadata/generated/schema/entity/services/mlmodelService.py +1 -1
  435. metadata/generated/schema/entity/services/pipelineService.py +1 -1
  436. metadata/generated/schema/entity/services/searchService.py +1 -1
  437. metadata/generated/schema/entity/services/serviceType.py +1 -1
  438. metadata/generated/schema/entity/services/storageService.py +1 -1
  439. metadata/generated/schema/entity/teams/__init__.py +1 -1
  440. metadata/generated/schema/entity/teams/persona.py +1 -1
  441. metadata/generated/schema/entity/teams/role.py +1 -1
  442. metadata/generated/schema/entity/teams/team.py +1 -1
  443. metadata/generated/schema/entity/teams/teamHierarchy.py +1 -1
  444. metadata/generated/schema/entity/teams/user.py +1 -1
  445. metadata/generated/schema/entity/type.py +1 -1
  446. metadata/generated/schema/entity/utils/__init__.py +1 -1
  447. metadata/generated/schema/entity/utils/entitiesCount.py +1 -1
  448. metadata/generated/schema/entity/utils/servicesCount.py +1 -1
  449. metadata/generated/schema/entity/utils/supersetApiConnection.py +1 -1
  450. metadata/generated/schema/events/__init__.py +1 -1
  451. metadata/generated/schema/events/alertMetrics.py +1 -1
  452. metadata/generated/schema/events/api/__init__.py +1 -1
  453. metadata/generated/schema/events/api/createEventSubscription.py +1 -1
  454. metadata/generated/schema/events/api/testEventSubscriptionDestination.py +1 -1
  455. metadata/generated/schema/events/emailAlertConfig.py +1 -1
  456. metadata/generated/schema/events/eventFilterRule.py +1 -1
  457. metadata/generated/schema/events/eventSubscription.py +1 -1
  458. metadata/generated/schema/events/eventSubscriptionOffset.py +1 -1
  459. metadata/generated/schema/events/failedEvent.py +1 -1
  460. metadata/generated/schema/events/filterResourceDescriptor.py +1 -1
  461. metadata/generated/schema/events/subscriptionResourceDescriptor.py +1 -1
  462. metadata/generated/schema/metadataIngestion/__init__.py +1 -1
  463. metadata/generated/schema/metadataIngestion/application.py +1 -1
  464. metadata/generated/schema/metadataIngestion/applicationPipeline.py +1 -1
  465. metadata/generated/schema/metadataIngestion/dashboardServiceMetadataPipeline.py +1 -1
  466. metadata/generated/schema/metadataIngestion/dataInsightPipeline.py +1 -1
  467. metadata/generated/schema/metadataIngestion/databaseServiceMetadataPipeline.py +2 -2
  468. metadata/generated/schema/metadataIngestion/databaseServiceProfilerPipeline.py +1 -1
  469. metadata/generated/schema/metadataIngestion/databaseServiceQueryLineagePipeline.py +1 -1
  470. metadata/generated/schema/metadataIngestion/databaseServiceQueryUsagePipeline.py +1 -1
  471. metadata/generated/schema/metadataIngestion/dbtPipeline.py +1 -1
  472. metadata/generated/schema/metadataIngestion/dbtconfig/__init__.py +1 -1
  473. metadata/generated/schema/metadataIngestion/dbtconfig/dbtAzureConfig.py +1 -1
  474. metadata/generated/schema/metadataIngestion/dbtconfig/dbtBucketDetails.py +1 -1
  475. metadata/generated/schema/metadataIngestion/dbtconfig/dbtCloudConfig.py +1 -1
  476. metadata/generated/schema/metadataIngestion/dbtconfig/dbtGCSConfig.py +1 -1
  477. metadata/generated/schema/metadataIngestion/dbtconfig/dbtHttpConfig.py +1 -1
  478. metadata/generated/schema/metadataIngestion/dbtconfig/dbtLocalConfig.py +1 -1
  479. metadata/generated/schema/metadataIngestion/dbtconfig/dbtS3Config.py +1 -1
  480. metadata/generated/schema/metadataIngestion/messagingServiceMetadataPipeline.py +1 -1
  481. metadata/generated/schema/metadataIngestion/metadataToElasticSearchPipeline.py +1 -1
  482. metadata/generated/schema/metadataIngestion/mlmodelServiceMetadataPipeline.py +1 -1
  483. metadata/generated/schema/metadataIngestion/pipelineServiceMetadataPipeline.py +1 -1
  484. metadata/generated/schema/metadataIngestion/searchServiceMetadataPipeline.py +1 -1
  485. metadata/generated/schema/metadataIngestion/storage/__init__.py +1 -1
  486. metadata/generated/schema/metadataIngestion/storage/containerMetadataConfig.py +1 -1
  487. metadata/generated/schema/metadataIngestion/storage/manifestMetadataConfig.py +1 -1
  488. metadata/generated/schema/metadataIngestion/storage/storageBucketDetails.py +1 -1
  489. metadata/generated/schema/metadataIngestion/storage/storageMetadataADLSConfig.py +1 -1
  490. metadata/generated/schema/metadataIngestion/storage/storageMetadataGCSConfig.py +1 -1
  491. metadata/generated/schema/metadataIngestion/storage/storageMetadataHttpConfig.py +1 -1
  492. metadata/generated/schema/metadataIngestion/storage/storageMetadataLocalConfig.py +1 -1
  493. metadata/generated/schema/metadataIngestion/storage/storageMetadataS3Config.py +1 -1
  494. metadata/generated/schema/metadataIngestion/storageServiceMetadataPipeline.py +1 -1
  495. metadata/generated/schema/metadataIngestion/testSuitePipeline.py +1 -1
  496. metadata/generated/schema/metadataIngestion/workflow.py +1 -1
  497. metadata/generated/schema/monitoring/__init__.py +1 -1
  498. metadata/generated/schema/monitoring/eventMonitorProvider.py +1 -1
  499. metadata/generated/schema/security/__init__.py +1 -1
  500. metadata/generated/schema/security/client/__init__.py +1 -1
  501. metadata/generated/schema/security/client/auth0SSOClientConfig.py +1 -1
  502. metadata/generated/schema/security/client/azureSSOClientConfig.py +1 -1
  503. metadata/generated/schema/security/client/customOidcSSOClientConfig.py +1 -1
  504. metadata/generated/schema/security/client/googleSSOClientConfig.py +1 -1
  505. metadata/generated/schema/security/client/oidcClientConfig.py +1 -1
  506. metadata/generated/schema/security/client/oktaSSOClientConfig.py +1 -1
  507. metadata/generated/schema/security/client/openMetadataJWTClientConfig.py +1 -1
  508. metadata/generated/schema/security/client/samlSSOClientConfig.py +7 -5
  509. metadata/generated/schema/security/credentials/__init__.py +1 -1
  510. metadata/generated/schema/security/credentials/accessTokenAuth.py +1 -1
  511. metadata/generated/schema/security/credentials/apiAccessTokenAuth.py +1 -1
  512. metadata/generated/schema/security/credentials/awsCredentials.py +1 -1
  513. metadata/generated/schema/security/credentials/azureCredentials.py +1 -1
  514. metadata/generated/schema/security/credentials/basicAuth.py +1 -1
  515. metadata/generated/schema/security/credentials/bitbucketCredentials.py +1 -1
  516. metadata/generated/schema/security/credentials/gcpCredentials.py +1 -1
  517. metadata/generated/schema/security/credentials/gcpExternalAccount.py +1 -1
  518. metadata/generated/schema/security/credentials/gcpValues.py +1 -1
  519. metadata/generated/schema/security/credentials/gitCredentials.py +1 -1
  520. metadata/generated/schema/security/credentials/githubCredentials.py +1 -1
  521. metadata/generated/schema/security/credentials/gitlabCredentials.py +34 -0
  522. metadata/generated/schema/security/sasl/__init__.py +1 -1
  523. metadata/generated/schema/security/sasl/saslClientConfig.py +1 -1
  524. metadata/generated/schema/security/secrets/__init__.py +1 -1
  525. metadata/generated/schema/security/secrets/secretsManagerClientLoader.py +1 -1
  526. metadata/generated/schema/security/secrets/secretsManagerConfiguration.py +1 -1
  527. metadata/generated/schema/security/secrets/secretsManagerProvider.py +1 -1
  528. metadata/generated/schema/security/securityConfiguration.py +1 -1
  529. metadata/generated/schema/security/ssl/__init__.py +1 -1
  530. metadata/generated/schema/security/ssl/validateSSLClientConfig.py +1 -1
  531. metadata/generated/schema/security/ssl/verifySSLConfig.py +1 -1
  532. metadata/generated/schema/settings/__init__.py +1 -1
  533. metadata/generated/schema/settings/settings.py +2 -1
  534. metadata/generated/schema/system/__init__.py +1 -1
  535. metadata/generated/schema/system/entityError.py +1 -1
  536. metadata/generated/schema/system/eventPublisherJob.py +5 -1
  537. metadata/generated/schema/system/indexingError.py +1 -1
  538. metadata/generated/schema/system/limitsResponse.py +1 -1
  539. metadata/generated/schema/system/ui/__init__.py +1 -1
  540. metadata/generated/schema/system/ui/knowledgePanel.py +1 -1
  541. metadata/generated/schema/system/ui/page.py +1 -1
  542. metadata/generated/schema/system/validationResponse.py +1 -1
  543. metadata/generated/schema/tests/__init__.py +1 -1
  544. metadata/generated/schema/tests/assigned.py +1 -1
  545. metadata/generated/schema/tests/basic.py +20 -20
  546. metadata/generated/schema/tests/customMetric.py +1 -1
  547. metadata/generated/schema/tests/dataQualityReport.py +1 -1
  548. metadata/generated/schema/tests/resolved.py +1 -1
  549. metadata/generated/schema/tests/testCase.py +1 -1
  550. metadata/generated/schema/tests/testCaseResolutionStatus.py +1 -1
  551. metadata/generated/schema/tests/testDefinition.py +1 -1
  552. metadata/generated/schema/tests/testSuite.py +1 -1
  553. metadata/generated/schema/type/__init__.py +1 -1
  554. metadata/generated/schema/type/apiSchema.py +1 -1
  555. metadata/generated/schema/type/auditLog.py +1 -1
  556. metadata/generated/schema/type/basic.py +1 -1
  557. metadata/generated/schema/type/bulkOperationResult.py +1 -1
  558. metadata/generated/schema/type/changeEvent.py +1 -1
  559. metadata/generated/schema/type/changeEventType.py +1 -1
  560. metadata/generated/schema/type/collectionDescriptor.py +1 -1
  561. metadata/generated/schema/type/csvDocumentation.py +1 -1
  562. metadata/generated/schema/type/csvErrorType.py +1 -1
  563. metadata/generated/schema/type/csvFile.py +1 -1
  564. metadata/generated/schema/type/csvImportResult.py +1 -1
  565. metadata/generated/schema/type/customProperties/__init__.py +1 -1
  566. metadata/generated/schema/type/customProperties/complexTypes.py +1 -1
  567. metadata/generated/schema/type/customProperties/enumConfig.py +1 -1
  568. metadata/generated/schema/type/customProperty.py +1 -1
  569. metadata/generated/schema/type/dailyCount.py +1 -1
  570. metadata/generated/schema/type/databaseConnectionConfig.py +1 -1
  571. metadata/generated/schema/type/entityHierarchy.py +1 -1
  572. metadata/generated/schema/type/entityHistory.py +1 -1
  573. metadata/generated/schema/type/entityLineage.py +1 -1
  574. metadata/generated/schema/type/entityReference.py +1 -1
  575. metadata/generated/schema/type/entityReferenceList.py +1 -1
  576. metadata/generated/schema/type/entityRelationship.py +1 -1
  577. metadata/generated/schema/type/entityUsage.py +1 -1
  578. metadata/generated/schema/type/filterPattern.py +1 -1
  579. metadata/generated/schema/type/function.py +1 -1
  580. metadata/generated/schema/type/include.py +1 -1
  581. metadata/generated/schema/type/jdbcConnection.py +1 -1
  582. metadata/generated/schema/type/lifeCycle.py +1 -1
  583. metadata/generated/schema/type/paging.py +1 -1
  584. metadata/generated/schema/type/profile.py +1 -1
  585. metadata/generated/schema/type/queryParserData.py +1 -1
  586. metadata/generated/schema/type/reaction.py +1 -1
  587. metadata/generated/schema/type/schedule.py +1 -1
  588. metadata/generated/schema/type/schema.py +1 -1
  589. metadata/generated/schema/type/tableQuery.py +1 -1
  590. metadata/generated/schema/type/tableUsageCount.py +1 -1
  591. metadata/generated/schema/type/tagLabel.py +1 -1
  592. metadata/generated/schema/type/usageDetails.py +1 -1
  593. metadata/generated/schema/type/usageRequest.py +1 -1
  594. metadata/generated/schema/type/votes.py +1 -1
  595. metadata/great_expectations/action.py +1 -1
  596. metadata/ingestion/connections/builders.py +6 -0
  597. metadata/ingestion/connections/test_connections.py +5 -0
  598. metadata/ingestion/lineage/models.py +4 -0
  599. metadata/ingestion/ometa/mixins/ingestion_pipeline_mixin.py +1 -1
  600. metadata/ingestion/source/connections.py +19 -0
  601. metadata/ingestion/source/dashboard/domodashboard/metadata.py +3 -3
  602. metadata/ingestion/source/dashboard/looker/metadata.py +8 -3
  603. metadata/ingestion/source/dashboard/looker/utils.py +6 -3
  604. metadata/ingestion/source/dashboard/metabase/client.py +2 -1
  605. metadata/ingestion/source/dashboard/powerbi/metadata.py +2 -1
  606. metadata/ingestion/source/dashboard/qlikcloud/client.py +1 -1
  607. metadata/ingestion/source/dashboard/superset/mixin.py +5 -0
  608. metadata/ingestion/source/dashboard/tableau/metadata.py +10 -7
  609. metadata/ingestion/source/database/bigquery/metadata.py +5 -1
  610. metadata/ingestion/source/database/column_type_parser.py +3 -2
  611. metadata/ingestion/source/database/common_db_source.py +9 -4
  612. metadata/ingestion/source/database/database_service.py +1 -1
  613. metadata/ingestion/source/database/databricks/lineage.py +2 -2
  614. metadata/ingestion/source/database/databricks/metadata.py +100 -18
  615. metadata/ingestion/source/database/databricks/queries.py +3 -1
  616. metadata/ingestion/source/database/databricks/usage.py +2 -2
  617. metadata/ingestion/source/database/datalake/clients/gcs.py +4 -0
  618. metadata/ingestion/source/database/db2/metadata.py +8 -1
  619. metadata/ingestion/source/database/dbt/constants.py +1 -7
  620. metadata/ingestion/source/database/dbt/dbt_config.py +18 -19
  621. metadata/ingestion/source/database/dbt/dbt_service.py +4 -3
  622. metadata/ingestion/source/database/dbt/metadata.py +14 -3
  623. metadata/ingestion/source/database/dbt/models.py +2 -2
  624. metadata/ingestion/source/database/mssql/lineage.py +0 -4
  625. metadata/ingestion/source/database/mssql/metadata.py +1 -1
  626. metadata/ingestion/source/database/mssql/usage.py +42 -0
  627. metadata/ingestion/source/database/oracle/metadata.py +7 -0
  628. metadata/ingestion/source/database/oracle/queries.py +45 -11
  629. metadata/ingestion/source/database/oracle/utils.py +33 -0
  630. metadata/ingestion/source/database/postgres/converter_orm.py +52 -0
  631. metadata/ingestion/source/database/postgres/metadata.py +6 -0
  632. metadata/ingestion/source/database/postgres/metrics.py +42 -0
  633. metadata/ingestion/source/database/postgres/types/money.py +37 -0
  634. metadata/ingestion/source/database/postgres/usage.py +6 -0
  635. metadata/ingestion/source/database/redshift/connection.py +37 -9
  636. metadata/ingestion/source/database/redshift/queries.py +4 -5
  637. metadata/ingestion/source/database/unitycatalog/client.py +21 -0
  638. metadata/ingestion/source/database/unitycatalog/metadata.py +58 -22
  639. metadata/ingestion/source/pipeline/dagster/metadata.py +17 -14
  640. metadata/ingestion/source/pipeline/dbtcloud/client.py +29 -4
  641. metadata/ingestion/source/pipeline/dbtcloud/metadata.py +94 -71
  642. metadata/ingestion/source/pipeline/dbtcloud/models.py +6 -6
  643. metadata/ingestion/source/pipeline/dbtcloud/queries.py +22 -11
  644. metadata/ingestion/source/pipeline/domopipeline/metadata.py +1 -1
  645. metadata/ingestion/source/pipeline/fivetran/client.py +2 -1
  646. metadata/ingestion/source/storage/gcs/client.py +4 -9
  647. metadata/ingestion/source/storage/gcs/metadata.py +4 -0
  648. metadata/profiler/interface/sqlalchemy/profiler_interface.py +23 -1
  649. metadata/profiler/metrics/composed/null_ratio.py +5 -8
  650. metadata/profiler/metrics/hybrid/histogram.py +9 -3
  651. metadata/profiler/metrics/static/mean.py +8 -9
  652. metadata/profiler/metrics/static/null_count.py +4 -2
  653. metadata/profiler/orm/functions/median.py +11 -4
  654. metadata/profiler/orm/functions/sum.py +1 -1
  655. metadata/profiler/orm/functions/table_metric_computer.py +2 -2
  656. metadata/profiler/orm/registry.py +14 -1
  657. metadata/profiler/processor/default.py +4 -1
  658. metadata/profiler/processor/sampler/sampler_factory.py +9 -0
  659. metadata/profiler/processor/sampler/sqlalchemy/azuresql/sampler.py +40 -0
  660. metadata/profiler/source/base/profiler_source.py +1 -0
  661. metadata/readers/file/api_reader.py +4 -1
  662. metadata/readers/file/gitlab.py +172 -0
  663. metadata/utils/helpers.py +4 -1
  664. metadata/utils/importer.py +26 -0
  665. {openmetadata_ingestion-1.5.0.0rc1.dist-info → openmetadata_ingestion-1.5.1.0.dist-info}/METADATA +353 -346
  666. {openmetadata_ingestion-1.5.0.0rc1.dist-info → openmetadata_ingestion-1.5.1.0.dist-info}/RECORD +670 -667
  667. metadata/generated/schema/dataInsight/type/percentageOfEntitiesWithDescriptionByType.py +0 -48
  668. metadata/generated/schema/dataInsight/type/percentageOfEntitiesWithOwnerByType.py +0 -44
  669. metadata/generated/schema/dataInsight/type/percentageOfServicesWithDescription.py +0 -46
  670. metadata/generated/schema/dataInsight/type/percentageOfServicesWithOwner.py +0 -44
  671. metadata/generated/schema/dataInsight/type/totalEntitiesByTier.py +0 -39
  672. metadata/generated/schema/dataInsight/type/totalEntitiesByType.py +0 -40
  673. {openmetadata_ingestion-1.5.0.0rc1.dist-info → openmetadata_ingestion-1.5.1.0.dist-info}/LICENSE +0 -0
  674. {openmetadata_ingestion-1.5.0.0rc1.dist-info → openmetadata_ingestion-1.5.1.0.dist-info}/WHEEL +0 -0
  675. {openmetadata_ingestion-1.5.0.0rc1.dist-info → openmetadata_ingestion-1.5.1.0.dist-info}/entry_points.txt +0 -0
  676. {openmetadata_ingestion-1.5.0.0rc1.dist-info → openmetadata_ingestion-1.5.1.0.dist-info}/top_level.txt +0 -0
@@ -49,7 +49,12 @@ from metadata.generated.schema.metadataIngestion.databaseServiceMetadataPipeline
49
49
  from metadata.generated.schema.metadataIngestion.workflow import (
50
50
  Source as WorkflowSource,
51
51
  )
52
- from metadata.generated.schema.type.basic import EntityName, FullyQualifiedEntityName
52
+ from metadata.generated.schema.type.basic import (
53
+ EntityName,
54
+ FullyQualifiedEntityName,
55
+ Markdown,
56
+ )
57
+ from metadata.generated.schema.type.entityReferenceList import EntityReferenceList
53
58
  from metadata.ingestion.api.models import Either
54
59
  from metadata.ingestion.api.steps import InvalidSourceException
55
60
  from metadata.ingestion.models.ometa_classification import OMetaTagAndClassification
@@ -61,6 +66,7 @@ from metadata.ingestion.source.database.external_table_lineage_mixin import (
61
66
  )
62
67
  from metadata.ingestion.source.database.multi_db_source import MultiDBSource
63
68
  from metadata.ingestion.source.database.stored_procedures_mixin import QueryByProcedure
69
+ from metadata.ingestion.source.database.unitycatalog.client import UnityCatalogClient
64
70
  from metadata.ingestion.source.database.unitycatalog.connection import get_connection
65
71
  from metadata.ingestion.source.database.unitycatalog.models import (
66
72
  ColumnJson,
@@ -99,6 +105,7 @@ class UnitycatalogSource(
99
105
  )
100
106
  self.external_location_map = {}
101
107
  self.client = get_connection(self.service_connection)
108
+ self.api_client = UnityCatalogClient(self.service_connection)
102
109
  self.connection_obj = self.client
103
110
  self.table_constraints = []
104
111
  self.context.storage_location = None
@@ -147,9 +154,11 @@ class UnitycatalogSource(
147
154
  )
148
155
  if filter_by_database(
149
156
  self.config.sourceConfig.config.databaseFilterPattern,
150
- database_fqn
151
- if self.config.sourceConfig.config.useFqnForFiltering
152
- else catalog_name,
157
+ (
158
+ database_fqn
159
+ if self.config.sourceConfig.config.useFqnForFiltering
160
+ else catalog_name
161
+ ),
153
162
  ):
154
163
  self.status.filter(
155
164
  database_fqn,
@@ -196,9 +205,11 @@ class UnitycatalogSource(
196
205
  )
197
206
  if filter_by_schema(
198
207
  self.config.sourceConfig.config.schemaFilterPattern,
199
- schema_fqn
200
- if self.config.sourceConfig.config.useFqnForFiltering
201
- else schema.name,
208
+ (
209
+ schema_fqn
210
+ if self.config.sourceConfig.config.useFqnForFiltering
211
+ else schema.name
212
+ ),
202
213
  ):
203
214
  self.status.filter(schema_fqn, "Schema Filtered Out")
204
215
  continue
@@ -260,9 +271,11 @@ class UnitycatalogSource(
260
271
  )
261
272
  if filter_by_table(
262
273
  self.config.sourceConfig.config.tableFilterPattern,
263
- table_fqn
264
- if self.config.sourceConfig.config.useFqnForFiltering
265
- else table_name,
274
+ (
275
+ table_fqn
276
+ if self.config.sourceConfig.config.useFqnForFiltering
277
+ else table_name
278
+ ),
266
279
  ):
267
280
  self.status.filter(
268
281
  table_fqn,
@@ -330,6 +343,7 @@ class UnitycatalogSource(
330
343
  schema_name=schema_name,
331
344
  )
332
345
  ),
346
+ owners=self.get_owner_ref(table_name),
333
347
  )
334
348
  yield Either(right=table_request)
335
349
 
@@ -447,12 +461,12 @@ class UnitycatalogSource(
447
461
  """
448
462
  try:
449
463
  if column.children is None:
450
- if column_json.metadata:
451
- column.description = column_json.metadata.comment
464
+ if column_json.metadata and column_json.metadata.comment:
465
+ column.description = Markdown(column_json.metadata.comment)
452
466
  else:
453
467
  for i, child in enumerate(column.children):
454
- if column_json.metadata:
455
- column.description = column_json.metadata.comment
468
+ if column_json.metadata and column_json.metadata.comment:
469
+ column.description = Markdown(column_json.metadata.comment)
456
470
  if (
457
471
  column_json.type
458
472
  and isinstance(column_json.type, Type)
@@ -483,17 +497,23 @@ class UnitycatalogSource(
483
497
  """
484
498
 
485
499
  for column in column_data:
486
- if column.type_text.lower().startswith("union"):
487
- column.type_text = column.Type.replace(" ", "")
488
- if column.type_text.lower() == "struct":
489
- column.type_text = "struct<>"
500
+ parsed_string = {}
501
+ if column.type_text:
502
+ if column.type_text.lower().startswith("union"):
503
+ column.type_text = column.type_text.replace(" ", "")
504
+ if (
505
+ column.type_text.lower() == "struct"
506
+ or column.type_text.lower() == "array"
507
+ ):
508
+ column.type_text = column.type_text.lower() + "<>"
490
509
 
491
- parsed_string = ColumnTypeParser._parse_datatype_string( # pylint: disable=protected-access
492
- column.type_text.lower()
493
- )
510
+ parsed_string = ColumnTypeParser._parse_datatype_string( # pylint: disable=protected-access
511
+ column.type_text.lower()
512
+ )
494
513
  parsed_string["name"] = column.name[:256]
495
514
  parsed_string["dataLength"] = parsed_string.get("dataLength", 1)
496
- parsed_string["description"] = column.comment
515
+ if column.comment:
516
+ parsed_string["description"] = Markdown(column.comment)
497
517
  parsed_column = Column(**parsed_string)
498
518
  self.add_complex_datatype_descriptions(
499
519
  column=parsed_column,
@@ -537,3 +557,19 @@ class UnitycatalogSource(
537
557
 
538
558
  def close(self):
539
559
  """Nothing to close"""
560
+
561
+ def get_owner_ref(self, table_name: str) -> Optional[EntityReferenceList]:
562
+ """
563
+ Method to process the table owners
564
+ """
565
+ try:
566
+ full_table_name = f"{self.context.get().database}.{self.context.get().database_schema}.{table_name}"
567
+ owner = self.api_client.get_owner_info(full_table_name)
568
+ if not owner:
569
+ return
570
+ owner_ref = self.metadata.get_reference_by_email(email=owner)
571
+ return owner_ref
572
+ except Exception as exc:
573
+ logger.debug(traceback.format_exc())
574
+ logger.warning(f"Error processing owner for table {table_name}: {exc}")
575
+ return
@@ -133,9 +133,11 @@ class DagsterSource(PipelineServiceSource):
133
133
  pipeline_request = CreatePipelineRequest(
134
134
  name=EntityName(pipeline_details.id.replace(":", "")),
135
135
  displayName=pipeline_details.name,
136
- description=Markdown(pipeline_details.description)
137
- if pipeline_details.description
138
- else None,
136
+ description=(
137
+ Markdown(pipeline_details.description)
138
+ if pipeline_details.description
139
+ else None
140
+ ),
139
141
  tasks=self._get_task_list(pipeline_name=pipeline_details.name),
140
142
  service=FullyQualifiedEntityName(self.context.get().pipeline_service),
141
143
  tags=get_tag_labels(
@@ -178,24 +180,25 @@ class DagsterSource(PipelineServiceSource):
178
180
  executionStatus=STATUS_MAP.get(
179
181
  run.status.lower(), StatusType.Pending.value
180
182
  ),
181
- startTime=round(convert_timestamp_to_milliseconds(run.startTime))
182
- if run.startTime
183
- else None,
184
- endTime=round(convert_timestamp_to_milliseconds(run.endTime))
185
- if run.endTime
186
- else None,
183
+ startTime=(
184
+ round(convert_timestamp_to_milliseconds(run.startTime))
185
+ if run.startTime
186
+ else None
187
+ ),
188
+ endTime=(
189
+ round(convert_timestamp_to_milliseconds(run.endTime))
190
+ if run.endTime
191
+ else None
192
+ ),
187
193
  )
188
-
189
194
  pipeline_status = PipelineStatus(
190
195
  taskStatus=[task_status],
191
196
  executionStatus=STATUS_MAP.get(
192
197
  run.status.lower(), StatusType.Pending.value
193
198
  ),
194
199
  timestamp=Timestamp(
195
- round(convert_timestamp_to_milliseconds(run.endTime))
196
- )
197
- if run.endTime
198
- else None,
200
+ round(convert_timestamp_to_milliseconds(timestamp=run.startTime))
201
+ ),
199
202
  )
200
203
  pipeline_fqn = fqn.build(
201
204
  metadata=self.metadata,
@@ -26,7 +26,10 @@ from metadata.ingestion.source.pipeline.dbtcloud.models import (
26
26
  DBTRun,
27
27
  DBTRunList,
28
28
  )
29
- from metadata.ingestion.source.pipeline.dbtcloud.queries import DBT_QUERY
29
+ from metadata.ingestion.source.pipeline.dbtcloud.queries import (
30
+ DBT_GET_MODEL_DEPENDS_ON,
31
+ DBT_GET_MODELS_SEEDS,
32
+ )
30
33
  from metadata.utils.constants import AUTHORIZATION_HEADER
31
34
  from metadata.utils.helpers import clean_uri
32
35
  from metadata.utils.logger import ometa_logger
@@ -45,7 +48,7 @@ class DBTCloudClient:
45
48
  base_url=clean_uri(self.config.host),
46
49
  api_version="api/v2",
47
50
  auth_header=AUTHORIZATION_HEADER,
48
- auth_token=lambda: (self.config.token, 0),
51
+ auth_token=lambda: (self.config.token.get_secret_value(), 0),
49
52
  allow_redirects=True,
50
53
  )
51
54
 
@@ -53,7 +56,7 @@ class DBTCloudClient:
53
56
  base_url=clean_uri(self.config.discoveryAPI),
54
57
  api_version="",
55
58
  auth_header=AUTHORIZATION_HEADER,
56
- auth_token=lambda: (self.config.token, 0),
59
+ auth_token=lambda: (self.config.token.get_secret_value(), 0),
57
60
  allow_redirects=True,
58
61
  )
59
62
 
@@ -102,7 +105,7 @@ class DBTCloudClient:
102
105
  """
103
106
  try:
104
107
  query_params = {
105
- "query": DBT_QUERY,
108
+ "query": DBT_GET_MODEL_DEPENDS_ON,
106
109
  "variables": {"jobId": job_id, "runId": run_id},
107
110
  }
108
111
 
@@ -116,3 +119,25 @@ class DBTCloudClient:
116
119
  logger.debug(traceback.format_exc())
117
120
  logger.warning(f"Unable to get model info :{exc}")
118
121
  return None
122
+
123
+ def get_models_and_seeds_details(self, job_id: int, run_id: int):
124
+ """
125
+ get model details for a job in dbt cloud for lineage
126
+ """
127
+ try:
128
+ query_params = {
129
+ "query": DBT_GET_MODELS_SEEDS,
130
+ "variables": {"jobId": job_id, "runId": run_id},
131
+ }
132
+
133
+ result = self.graphql_client.post("", json=query_params)
134
+
135
+ if result.get("data") and result["data"].get("job"):
136
+ result = DBTModelList(**result["data"]["job"])
137
+ parents_list = result.models + result.seeds
138
+ return parents_list
139
+
140
+ except Exception as exc:
141
+ logger.debug(traceback.format_exc())
142
+ logger.warning(f"Unable to get model info :{exc}")
143
+ return None
@@ -111,6 +111,7 @@ class DbtcloudSource(PipelineServiceSource):
111
111
  except Exception as exc:
112
112
  logger.debug(traceback.format_exc())
113
113
  logger.warning(f"Failed to get tasks list due to : {exc}")
114
+ return None
114
115
 
115
116
  def yield_pipeline(
116
117
  self, pipeline_details: DBTJob
@@ -119,16 +120,22 @@ class DbtcloudSource(PipelineServiceSource):
119
120
  Method to Get Pipeline Entity
120
121
  """
121
122
  try:
122
- connection_url = f"{clean_uri(self.service_connection.host)}/deploy/{self.service_connection.accountId}/projects/{pipeline_details.project_id}/jobs/{pipeline_details.id}"
123
+ connection_url = (
124
+ f"{clean_uri(self.service_connection.host)}/deploy/"
125
+ f"{self.service_connection.accountId}/projects/"
126
+ f"{pipeline_details.project_id}/jobs/{pipeline_details.id}"
127
+ )
123
128
 
124
129
  pipeline_request = CreatePipelineRequest(
125
130
  name=EntityName(pipeline_details.name),
126
131
  description=Markdown(pipeline_details.description),
127
132
  sourceUrl=SourceUrl(connection_url),
128
133
  tasks=self._get_task_list(job_id=int(pipeline_details.id)),
129
- scheduleInterval=str(pipeline_details.schedule.cron)
130
- if pipeline_details.schedule
131
- else None,
134
+ scheduleInterval=(
135
+ str(pipeline_details.schedule.cron)
136
+ if pipeline_details.schedule
137
+ else None
138
+ ),
132
139
  service=FullyQualifiedEntityName(self.context.get().pipeline_service),
133
140
  )
134
141
  yield Either(right=pipeline_request)
@@ -148,77 +155,88 @@ class DbtcloudSource(PipelineServiceSource):
148
155
  """
149
156
  Get lineage between pipeline and data sources
150
157
  """
151
- try:
152
- pipeline_fqn = fqn.build(
153
- metadata=self.metadata,
154
- entity_type=Pipeline,
155
- service_name=self.context.get().pipeline_service,
156
- pipeline_name=self.context.get().pipeline,
157
- )
158
-
159
- pipeline_entity = self.metadata.get_by_name(
160
- entity=Pipeline, fqn=pipeline_fqn
161
- )
158
+ try: # pylint: disable=too-many-nested-blocks
159
+ if self.source_config.lineageInformation:
160
+ pipeline_fqn = fqn.build(
161
+ metadata=self.metadata,
162
+ entity_type=Pipeline,
163
+ service_name=self.context.get().pipeline_service,
164
+ pipeline_name=self.context.get().pipeline,
165
+ )
162
166
 
163
- lineage_details = LineageDetails(
164
- pipeline=EntityReference(id=pipeline_entity.id.root, type="pipeline"),
165
- source=LineageSource.PipelineLineage,
166
- )
167
+ pipeline_entity = self.metadata.get_by_name(
168
+ entity=Pipeline, fqn=pipeline_fqn
169
+ )
167
170
 
168
- dbt_models = self.client.get_model_details(
169
- job_id=pipeline_details.id, run_id=self.context.get().latest_run_id
170
- )
171
+ lineage_details = LineageDetails(
172
+ pipeline=EntityReference(
173
+ id=pipeline_entity.id.root, type="pipeline"
174
+ ),
175
+ source=LineageSource.PipelineLineage,
176
+ )
171
177
 
172
- for model in dbt_models or []:
173
- for dbservicename in (
174
- self.source_config.lineageInformation.dbServiceNames or []
175
- ):
176
- to_entity = self.metadata.get_by_name(
177
- entity=Table,
178
- fqn=fqn.build(
179
- metadata=self.metadata,
180
- entity_type=Table,
181
- table_name=model.alias,
182
- database_name=model.database,
183
- schema_name=model.dbtschema,
184
- service_name=dbservicename,
185
- ),
186
- )
178
+ dbt_models = self.client.get_model_details(
179
+ job_id=pipeline_details.id, run_id=self.context.get().latest_run_id
180
+ )
187
181
 
188
- if to_entity is None:
189
- continue
182
+ dbt_parents = self.client.get_models_and_seeds_details(
183
+ job_id=pipeline_details.id, run_id=self.context.get().latest_run_id
184
+ )
190
185
 
191
- for dest in model.parentsSources or []:
192
- from_entity = self.metadata.get_by_name(
186
+ for model in dbt_models or []:
187
+ for dbservicename in (
188
+ self.source_config.lineageInformation.dbServiceNames or []
189
+ ):
190
+ to_entity = self.metadata.get_by_name(
193
191
  entity=Table,
194
192
  fqn=fqn.build(
195
193
  metadata=self.metadata,
196
194
  entity_type=Table,
197
- table_name=dest.name,
198
- database_name=dest.database,
199
- schema_name=dest.dbtschema,
195
+ table_name=model.name,
196
+ database_name=model.database,
197
+ schema_name=model.dbtschema,
200
198
  service_name=dbservicename,
201
199
  ),
202
200
  )
203
201
 
204
- if from_entity is None:
202
+ if to_entity is None:
205
203
  continue
206
204
 
207
- yield Either(
208
- right=AddLineageRequest(
209
- edge=EntitiesEdge(
210
- fromEntity=EntityReference(
211
- id=from_entity.id,
212
- type="table",
213
- ),
214
- toEntity=EntityReference(
215
- id=to_entity.id,
216
- type="table",
205
+ for unique_id in model.dependsOn or []:
206
+ parents = [
207
+ d for d in dbt_parents if d.uniqueId == unique_id
208
+ ]
209
+ if parents:
210
+ from_entity = self.metadata.get_by_name(
211
+ entity=Table,
212
+ fqn=fqn.build(
213
+ metadata=self.metadata,
214
+ entity_type=Table,
215
+ table_name=parents[0].name,
216
+ database_name=parents[0].database,
217
+ schema_name=parents[0].dbtschema,
218
+ service_name=dbservicename,
217
219
  ),
218
- lineageDetails=lineage_details,
219
220
  )
220
- )
221
- )
221
+
222
+ if from_entity is None:
223
+ continue
224
+
225
+ yield Either(
226
+ right=AddLineageRequest(
227
+ edge=EntitiesEdge(
228
+ fromEntity=EntityReference(
229
+ id=from_entity.id,
230
+ type="table",
231
+ ),
232
+ toEntity=EntityReference(
233
+ id=to_entity.id,
234
+ type="table",
235
+ ),
236
+ lineageDetails=lineage_details,
237
+ )
238
+ )
239
+ )
222
240
 
223
241
  except Exception as exc:
224
242
  yield Either(
@@ -238,7 +256,6 @@ class DbtcloudSource(PipelineServiceSource):
238
256
  except Exception as exc:
239
257
  logger.debug(traceback.format_exc())
240
258
  logger.error(f"Failed to get pipeline list due to : {exc}")
241
- return None
242
259
 
243
260
  def get_pipeline_name(self, pipeline_details: DBTJob) -> str:
244
261
  """
@@ -263,21 +280,27 @@ class DbtcloudSource(PipelineServiceSource):
263
280
  TaskStatus(
264
281
  name=str(task.id),
265
282
  executionStatus=STATUS_MAP.get(task.state, StatusType.Pending),
266
- startTime=Timestamp(
267
- datetime_to_ts(
268
- datetime.strptime(task.started_at, "%Y-%m-%d %H:%M:%S.%f%z")
269
- if task.started_at
270
- else datetime.now()
283
+ startTime=(
284
+ Timestamp(
285
+ datetime_to_ts(
286
+ datetime.strptime(
287
+ task.started_at, "%Y-%m-%d %H:%M:%S.%f%z"
288
+ )
289
+ )
271
290
  )
291
+ if task.started_at
292
+ else None
272
293
  ),
273
- endTime=Timestamp(
274
- datetime_to_ts(
275
- datetime.strptime(
276
- task.finished_at, "%Y-%m-%d %H:%M:%S.%f%z"
294
+ endTime=(
295
+ Timestamp(
296
+ datetime_to_ts(
297
+ datetime.strptime(
298
+ task.finished_at, "%Y-%m-%d %H:%M:%S.%f%z"
299
+ )
277
300
  )
278
- if task.finished_at
279
- else datetime.now()
280
301
  )
302
+ if task.finished_at
303
+ else None
281
304
  ),
282
305
  )
283
306
  for task in self.client.get_runs(job_id=int(pipeline_details.id)) or []
@@ -294,7 +317,7 @@ class DbtcloudSource(PipelineServiceSource):
294
317
  pipeline_details.created_at, "%Y-%m-%dT%H:%M:%S.%f%z"
295
318
  )
296
319
  if pipeline_details.created_at
297
- else datetime.now()
320
+ else None
298
321
  )
299
322
  ),
300
323
  )
@@ -35,7 +35,7 @@ class DBTJob(BaseModel):
35
35
 
36
36
 
37
37
  class DBTJobList(BaseModel):
38
- Jobs: Optional[List[DBTJob]] = Field(None, alias="data")
38
+ Jobs: Optional[List[DBTJob]] = Field([], alias="data")
39
39
 
40
40
 
41
41
  class DBTRun(BaseModel):
@@ -50,7 +50,7 @@ class DBTRun(BaseModel):
50
50
 
51
51
 
52
52
  class DBTRunList(BaseModel):
53
- Runs: Optional[List[DBTRun]] = Field(None, alias="data")
53
+ Runs: Optional[List[DBTRun]] = Field([], alias="data")
54
54
 
55
55
 
56
56
  class DBTSources(BaseModel):
@@ -60,13 +60,13 @@ class DBTSources(BaseModel):
60
60
 
61
61
 
62
62
  class DBTModel(BaseModel):
63
+ uniqueId: Optional[str] = None
63
64
  name: Optional[str] = None
64
- alias: Optional[str] = None
65
65
  dbtschema: Optional[str] = Field(None, alias="schema")
66
66
  database: Optional[str] = None
67
- rawSql: Optional[str] = None
68
- parentsSources: Optional[List[DBTSources]] = None
67
+ dependsOn: Optional[List[str]] = None
69
68
 
70
69
 
71
70
  class DBTModelList(BaseModel):
72
- models: Optional[List[DBTModel]] = None
71
+ models: Optional[List[DBTModel]] = []
72
+ seeds: Optional[List[DBTModel]] = []
@@ -12,22 +12,33 @@
12
12
  GraphQL Queries used during ingestion
13
13
  """
14
14
 
15
- DBT_QUERY = """
15
+ DBT_GET_MODEL_DEPENDS_ON = """
16
16
  query Query($jobId: BigInt!, $runId: BigInt) {
17
17
  job(id: $jobId, runId: $runId) {
18
18
  models {
19
- name #destinationTable
20
- alias
19
+ name
21
20
  database
22
21
  schema
23
- rawSql
24
- materializedType
25
- parentsSources {
26
- database
27
- name
28
- schema
29
- sourceName #sourceTable
30
- }
22
+ dependsOn
23
+ }
24
+ }
25
+ }
26
+ """
27
+
28
+ DBT_GET_MODELS_SEEDS = """
29
+ query Query($jobId: BigInt!, $runId: BigInt) {
30
+ job(id: $jobId, runId: $runId) {
31
+ models {
32
+ uniqueId
33
+ name
34
+ database
35
+ schema
36
+ }
37
+ seeds {
38
+ uniqueId
39
+ name
40
+ schema
41
+ database
31
42
  }
32
43
  }
33
44
  }
@@ -89,7 +89,7 @@ class DomopipelineSource(PipelineServiceSource):
89
89
  self, pipeline_details
90
90
  ) -> Iterable[Either[CreatePipelineRequest]]:
91
91
  try:
92
- pipeline_name = pipeline_details["id"]
92
+ pipeline_name = str(pipeline_details["id"])
93
93
  source_url = self.get_source_url(pipeline_id=pipeline_name)
94
94
  task = Task(
95
95
  name=pipeline_name,
@@ -20,6 +20,7 @@ from metadata.generated.schema.entity.services.connections.pipeline.fivetranConn
20
20
  FivetranConnection,
21
21
  )
22
22
  from metadata.ingestion.ometa.client import REST, ClientConfig
23
+ from metadata.utils.helpers import clean_uri
23
24
 
24
25
 
25
26
  class FivetranClient:
@@ -36,7 +37,7 @@ class FivetranClient:
36
37
  )
37
38
 
38
39
  client_config: ClientConfig = ClientConfig(
39
- base_url=str(self.config.hostPort),
40
+ base_url=clean_uri(str(self.config.hostPort)),
40
41
  api_version="v1",
41
42
  auth_header="Authorization",
42
43
  auth_token=lambda: (api_token[2:-1], 0),
@@ -16,8 +16,6 @@ from google import auth
16
16
  from google.cloud.monitoring_v3 import MetricServiceClient
17
17
  from google.cloud.storage import Client
18
18
 
19
- NoProject = object()
20
-
21
19
 
22
20
  class MultiProjectClient:
23
21
  """Google Cloud Client does not support ad-hoc project switching. This class wraps the client and allows
@@ -37,19 +35,16 @@ class MultiProjectClient:
37
35
  project_ids: Optional[List[str]] = None,
38
36
  **client_kwargs,
39
37
  ):
38
+ self.default_project = None
40
39
  if project_ids:
41
40
  self.clients = {
42
41
  project_id: client_class(project=project_id, **client_kwargs)
43
42
  for project_id in project_ids
44
43
  }
45
44
  else:
46
- self.clients = {NoProject: client_class(**client_kwargs)}
47
-
48
- def project_ids(self):
49
- if NoProject in self.clients:
50
45
  _, project_id = auth.default()
51
- return [project_id]
52
- return list(self.clients.keys())
46
+ self.default_project = project_id
47
+ self.clients = {project_id: client_class(**client_kwargs)}
53
48
 
54
49
  def __getattr__(self, client_method):
55
50
  """Return the underlying client method as a partial function so we can inject the project_id."""
@@ -57,7 +52,7 @@ class MultiProjectClient:
57
52
 
58
53
  def _call(self, method, project_id, *args, **kwargs):
59
54
  """Call the method on the client for the given project_id. The args and kwargs are passed through."""
60
- client = self.clients.get(project_id, self.clients.get(NoProject))
55
+ client = self.clients.get(project_id, self.clients.get(self.default_project))
61
56
  if not client:
62
57
  raise ValueError(f"Project {project_id} not found")
63
58
  return getattr(client, method)(*args, **kwargs)
@@ -259,6 +259,10 @@ class GcsSource(StorageServiceSource):
259
259
  try:
260
260
  bucket = client.get_bucket(bucket_name)
261
261
  except NotFound:
262
+ logger.warning(
263
+ f"Bucket {bucket_name} not found in project {project_id}"
264
+ )
265
+ self.status.warning(f"{project_id}.{bucket_name}", "Bucket Not Found")
262
266
  continue
263
267
  return GCSBucketResponse(
264
268
  name=bucket.name,