openmetadata-ingestion 1.6.0.0rc3__py3-none-any.whl → 1.6.2.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 (680) hide show
  1. metadata/clients/aws_client.py +47 -16
  2. metadata/data_quality/api/models.py +4 -0
  3. metadata/data_quality/processor/test_case_runner.py +8 -5
  4. metadata/data_quality/runner/base_test_suite_source.py +4 -5
  5. metadata/data_quality/source/test_suite.py +143 -39
  6. metadata/data_quality/validations/table/sqlalchemy/tableDiff.py +5 -4
  7. metadata/generated/schema/analytics/__init__.py +1 -1
  8. metadata/generated/schema/analytics/basic.py +1 -1
  9. metadata/generated/schema/analytics/reportData.py +1 -1
  10. metadata/generated/schema/analytics/reportDataType/__init__.py +1 -1
  11. metadata/generated/schema/analytics/reportDataType/aggregatedCostAnalysisReportData.py +1 -1
  12. metadata/generated/schema/analytics/reportDataType/entityReportData.py +1 -1
  13. metadata/generated/schema/analytics/reportDataType/rawCostAnalysisReportData.py +1 -1
  14. metadata/generated/schema/analytics/reportDataType/webAnalyticEntityViewReportData.py +1 -1
  15. metadata/generated/schema/analytics/reportDataType/webAnalyticUserActivityReportData.py +1 -1
  16. metadata/generated/schema/analytics/webAnalyticEvent.py +1 -1
  17. metadata/generated/schema/analytics/webAnalyticEventData.py +1 -1
  18. metadata/generated/schema/analytics/webAnalyticEventType/__init__.py +1 -1
  19. metadata/generated/schema/analytics/webAnalyticEventType/customEvent.py +1 -1
  20. metadata/generated/schema/analytics/webAnalyticEventType/pageViewEvent.py +1 -1
  21. metadata/generated/schema/api/__init__.py +1 -1
  22. metadata/generated/schema/api/addGlossaryToAssetsRequest.py +1 -1
  23. metadata/generated/schema/api/addTagToAssetsRequest.py +1 -1
  24. metadata/generated/schema/api/analytics/__init__.py +1 -1
  25. metadata/generated/schema/api/analytics/createWebAnalyticEvent.py +1 -1
  26. metadata/generated/schema/api/automations/__init__.py +1 -1
  27. metadata/generated/schema/api/automations/createWorkflow.py +1 -1
  28. metadata/generated/schema/api/bulkAssets.py +1 -1
  29. metadata/generated/schema/api/classification/__init__.py +1 -1
  30. metadata/generated/schema/api/classification/createClassification.py +1 -1
  31. metadata/generated/schema/api/classification/createTag.py +1 -1
  32. metadata/generated/schema/api/classification/loadTags.py +1 -1
  33. metadata/generated/schema/api/createBot.py +1 -1
  34. metadata/generated/schema/api/createEventPublisherJob.py +1 -1
  35. metadata/generated/schema/api/createType.py +1 -1
  36. metadata/generated/schema/api/data/__init__.py +1 -1
  37. metadata/generated/schema/api/data/createAPICollection.py +1 -1
  38. metadata/generated/schema/api/data/createAPIEndpoint.py +1 -1
  39. metadata/generated/schema/api/data/createChart.py +1 -1
  40. metadata/generated/schema/api/data/createContainer.py +1 -1
  41. metadata/generated/schema/api/data/createCustomProperty.py +1 -1
  42. metadata/generated/schema/api/data/createDashboard.py +1 -1
  43. metadata/generated/schema/api/data/createDashboardDataModel.py +1 -1
  44. metadata/generated/schema/api/data/createDatabase.py +1 -1
  45. metadata/generated/schema/api/data/createDatabaseSchema.py +1 -1
  46. metadata/generated/schema/api/data/createGlossary.py +1 -1
  47. metadata/generated/schema/api/data/createGlossaryTerm.py +1 -1
  48. metadata/generated/schema/api/data/createMetric.py +1 -1
  49. metadata/generated/schema/api/data/createMlModel.py +1 -1
  50. metadata/generated/schema/api/data/createPipeline.py +1 -1
  51. metadata/generated/schema/api/data/createQuery.py +1 -1
  52. metadata/generated/schema/api/data/createSearchIndex.py +1 -1
  53. metadata/generated/schema/api/data/createStoredProcedure.py +1 -1
  54. metadata/generated/schema/api/data/createTable.py +1 -1
  55. metadata/generated/schema/api/data/createTableProfile.py +1 -1
  56. metadata/generated/schema/api/data/createTopic.py +1 -1
  57. metadata/generated/schema/api/data/loadGlossary.py +1 -1
  58. metadata/generated/schema/api/data/restoreEntity.py +1 -1
  59. metadata/generated/schema/api/dataInsight/__init__.py +1 -1
  60. metadata/generated/schema/api/dataInsight/createDataInsightChart.py +1 -1
  61. metadata/generated/schema/api/dataInsight/custom/__init__.py +1 -1
  62. metadata/generated/schema/api/dataInsight/custom/createDataInsightCustomChart.py +1 -1
  63. metadata/generated/schema/api/dataInsight/kpi/__init__.py +1 -1
  64. metadata/generated/schema/api/dataInsight/kpi/createKpiRequest.py +1 -1
  65. metadata/generated/schema/api/docStore/__init__.py +1 -1
  66. metadata/generated/schema/api/docStore/createDocument.py +2 -2
  67. metadata/generated/schema/api/domains/__init__.py +1 -1
  68. metadata/generated/schema/api/domains/createDataProduct.py +1 -1
  69. metadata/generated/schema/api/domains/createDomain.py +1 -1
  70. metadata/generated/schema/api/feed/__init__.py +1 -1
  71. metadata/generated/schema/api/feed/closeTask.py +1 -1
  72. metadata/generated/schema/api/feed/createPost.py +1 -1
  73. metadata/generated/schema/api/feed/createSuggestion.py +1 -1
  74. metadata/generated/schema/api/feed/createThread.py +1 -1
  75. metadata/generated/schema/api/feed/resolveTask.py +1 -1
  76. metadata/generated/schema/api/feed/threadCount.py +1 -1
  77. metadata/generated/schema/api/governance/__init__.py +1 -1
  78. metadata/generated/schema/api/governance/createWorkflowDefinition.py +1 -1
  79. metadata/generated/schema/api/governance/createWorkflowInstanceState.py +1 -1
  80. metadata/generated/schema/api/lineage/__init__.py +1 -1
  81. metadata/generated/schema/api/lineage/addLineage.py +1 -1
  82. metadata/generated/schema/api/openMetadataServerVersion.py +1 -1
  83. metadata/generated/schema/api/policies/__init__.py +1 -1
  84. metadata/generated/schema/api/policies/createPolicy.py +1 -1
  85. metadata/generated/schema/api/services/__init__.py +1 -1
  86. metadata/generated/schema/api/services/createApiService.py +1 -1
  87. metadata/generated/schema/api/services/createDashboardService.py +1 -1
  88. metadata/generated/schema/api/services/createDatabaseService.py +1 -1
  89. metadata/generated/schema/api/services/createMessagingService.py +1 -1
  90. metadata/generated/schema/api/services/createMetadataService.py +1 -1
  91. metadata/generated/schema/api/services/createMlModelService.py +1 -1
  92. metadata/generated/schema/api/services/createPipelineService.py +1 -1
  93. metadata/generated/schema/api/services/createSearchService.py +1 -1
  94. metadata/generated/schema/api/services/createStorageService.py +1 -1
  95. metadata/generated/schema/api/services/ingestionPipelines/__init__.py +1 -1
  96. metadata/generated/schema/api/services/ingestionPipelines/createIngestionPipeline.py +1 -1
  97. metadata/generated/schema/api/setOwner.py +1 -1
  98. metadata/generated/schema/api/teams/__init__.py +1 -1
  99. metadata/generated/schema/api/teams/createPersona.py +1 -1
  100. metadata/generated/schema/api/teams/createRole.py +1 -1
  101. metadata/generated/schema/api/teams/createTeam.py +1 -1
  102. metadata/generated/schema/api/teams/createUser.py +1 -1
  103. metadata/generated/schema/api/tests/__init__.py +1 -1
  104. metadata/generated/schema/api/tests/createCustomMetric.py +1 -1
  105. metadata/generated/schema/api/tests/createLogicalTestCases.py +1 -1
  106. metadata/generated/schema/api/tests/createTestCase.py +1 -1
  107. metadata/generated/schema/api/tests/createTestCaseResolutionStatus.py +1 -1
  108. metadata/generated/schema/api/tests/createTestCaseResult.py +8 -1
  109. metadata/generated/schema/api/tests/createTestDefinition.py +1 -1
  110. metadata/generated/schema/api/tests/createTestSuite.py +7 -3
  111. metadata/generated/schema/api/voteRequest.py +1 -1
  112. metadata/generated/schema/auth/__init__.py +1 -1
  113. metadata/generated/schema/auth/basicAuth.py +1 -1
  114. metadata/generated/schema/auth/basicLoginRequest.py +1 -1
  115. metadata/generated/schema/auth/changePasswordRequest.py +1 -1
  116. metadata/generated/schema/auth/createPersonalToken.py +1 -1
  117. metadata/generated/schema/auth/emailRequest.py +1 -1
  118. metadata/generated/schema/auth/emailVerificationToken.py +1 -1
  119. metadata/generated/schema/auth/generateToken.py +1 -1
  120. metadata/generated/schema/auth/jwtAuth.py +1 -1
  121. metadata/generated/schema/auth/loginRequest.py +1 -1
  122. metadata/generated/schema/auth/logoutRequest.py +1 -1
  123. metadata/generated/schema/auth/passwordResetRequest.py +1 -1
  124. metadata/generated/schema/auth/passwordResetToken.py +1 -1
  125. metadata/generated/schema/auth/personalAccessToken.py +1 -1
  126. metadata/generated/schema/auth/refreshToken.py +1 -1
  127. metadata/generated/schema/auth/registrationRequest.py +1 -1
  128. metadata/generated/schema/auth/revokePersonalToken.py +1 -1
  129. metadata/generated/schema/auth/revokeToken.py +1 -1
  130. metadata/generated/schema/auth/serviceTokenEnum.py +1 -1
  131. metadata/generated/schema/auth/ssoAuth.py +1 -1
  132. metadata/generated/schema/auth/tokenRefreshRequest.py +1 -1
  133. metadata/generated/schema/configuration/__init__.py +1 -1
  134. metadata/generated/schema/configuration/appsPrivateConfiguration.py +1 -1
  135. metadata/generated/schema/configuration/assetCertificationSettings.py +1 -1
  136. metadata/generated/schema/configuration/authConfig.py +1 -1
  137. metadata/generated/schema/configuration/authenticationConfiguration.py +14 -1
  138. metadata/generated/schema/configuration/authorizerConfiguration.py +1 -1
  139. metadata/generated/schema/configuration/changeEventConfiguration.py +1 -1
  140. metadata/generated/schema/configuration/dataQualityConfiguration.py +1 -1
  141. metadata/generated/schema/configuration/elasticSearchConfiguration.py +1 -1
  142. metadata/generated/schema/configuration/eventHandlerConfiguration.py +1 -1
  143. metadata/generated/schema/configuration/fernetConfiguration.py +1 -1
  144. metadata/generated/schema/configuration/jwtTokenConfiguration.py +1 -1
  145. metadata/generated/schema/configuration/kafkaEventConfiguration.py +1 -1
  146. metadata/generated/schema/configuration/ldapConfiguration.py +1 -1
  147. metadata/generated/schema/configuration/ldapTrustStoreConfig/__init__.py +1 -1
  148. metadata/generated/schema/configuration/ldapTrustStoreConfig/customTrustManagerConfig.py +1 -1
  149. metadata/generated/schema/configuration/ldapTrustStoreConfig/hostNameConfig.py +1 -1
  150. metadata/generated/schema/configuration/ldapTrustStoreConfig/jvmDefaultConfig.py +1 -1
  151. metadata/generated/schema/configuration/ldapTrustStoreConfig/trustAllConfig.py +1 -1
  152. metadata/generated/schema/configuration/ldapTrustStoreConfig/truststoreConfig.py +1 -1
  153. metadata/generated/schema/configuration/limitsConfiguration.py +1 -1
  154. metadata/generated/schema/configuration/lineageSettings.py +1 -1
  155. metadata/generated/schema/configuration/loginConfiguration.py +1 -1
  156. metadata/generated/schema/configuration/logoConfiguration.py +1 -1
  157. metadata/generated/schema/configuration/pipelineServiceClientConfiguration.py +1 -1
  158. metadata/generated/schema/configuration/profilerConfiguration.py +1 -1
  159. metadata/generated/schema/configuration/searchSettings.py +1 -1
  160. metadata/generated/schema/configuration/slackAppConfiguration.py +1 -1
  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/configuration/workflowSettings.py +73 -0
  166. metadata/generated/schema/dataInsight/__init__.py +1 -1
  167. metadata/generated/schema/dataInsight/custom/__init__.py +1 -1
  168. metadata/generated/schema/dataInsight/custom/dataInsightCustomChart.py +1 -1
  169. metadata/generated/schema/dataInsight/custom/dataInsightCustomChartResult.py +1 -1
  170. metadata/generated/schema/dataInsight/custom/dataInsightCustomChartResultList.py +1 -1
  171. metadata/generated/schema/dataInsight/custom/formulaHolder.py +1 -1
  172. metadata/generated/schema/dataInsight/custom/lineChart.py +1 -1
  173. metadata/generated/schema/dataInsight/custom/summaryCard.py +1 -1
  174. metadata/generated/schema/dataInsight/dataInsightChart.py +1 -1
  175. metadata/generated/schema/dataInsight/dataInsightChartResult.py +1 -1
  176. metadata/generated/schema/dataInsight/kpi/__init__.py +1 -1
  177. metadata/generated/schema/dataInsight/kpi/basic.py +1 -1
  178. metadata/generated/schema/dataInsight/kpi/kpi.py +1 -1
  179. metadata/generated/schema/dataInsight/type/__init__.py +1 -1
  180. metadata/generated/schema/dataInsight/type/aggregatedUnusedAssetsCount.py +1 -1
  181. metadata/generated/schema/dataInsight/type/aggregatedUnusedAssetsSize.py +1 -1
  182. metadata/generated/schema/dataInsight/type/aggregatedUsedVsUnusedAssetsCount.py +1 -1
  183. metadata/generated/schema/dataInsight/type/aggregatedUsedVsUnusedAssetsSize.py +1 -1
  184. metadata/generated/schema/dataInsight/type/dailyActiveUsers.py +1 -1
  185. metadata/generated/schema/dataInsight/type/mostActiveUsers.py +1 -1
  186. metadata/generated/schema/dataInsight/type/mostViewedEntities.py +1 -1
  187. metadata/generated/schema/dataInsight/type/pageViewsByEntities.py +1 -1
  188. metadata/generated/schema/dataInsight/type/unusedAssets.py +1 -1
  189. metadata/generated/schema/email/__init__.py +1 -1
  190. metadata/generated/schema/email/emailRequest.py +1 -1
  191. metadata/generated/schema/email/emailTemplate.py +1 -1
  192. metadata/generated/schema/email/emailTemplatePlaceholder.py +1 -1
  193. metadata/generated/schema/email/smtpSettings.py +1 -1
  194. metadata/generated/schema/email/templateValidationReponse.py +1 -1
  195. metadata/generated/schema/entity/__init__.py +1 -1
  196. metadata/generated/schema/entity/applications/__init__.py +1 -1
  197. metadata/generated/schema/entity/applications/app.py +1 -1
  198. metadata/generated/schema/entity/applications/appExtension.py +1 -1
  199. metadata/generated/schema/entity/applications/appRunRecord.py +1 -1
  200. metadata/generated/schema/entity/applications/configuration/__init__.py +1 -1
  201. metadata/generated/schema/entity/applications/configuration/applicationConfig.py +1 -1
  202. metadata/generated/schema/entity/applications/configuration/external/__init__.py +1 -1
  203. metadata/generated/schema/entity/applications/configuration/external/automator/__init__.py +1 -1
  204. metadata/generated/schema/entity/applications/configuration/external/automator/addCustomProperties.py +40 -0
  205. metadata/generated/schema/entity/applications/configuration/external/automator/addDescriptionAction.py +1 -1
  206. metadata/generated/schema/entity/applications/configuration/external/automator/addDomainAction.py +1 -1
  207. metadata/generated/schema/entity/applications/configuration/external/automator/addOwnerAction.py +1 -1
  208. metadata/generated/schema/entity/applications/configuration/external/automator/addTagsAction.py +1 -1
  209. metadata/generated/schema/entity/applications/configuration/external/automator/addTierAction.py +1 -1
  210. metadata/generated/schema/entity/applications/configuration/external/automator/lineagePropagationAction.py +1 -1
  211. metadata/generated/schema/entity/applications/configuration/external/automator/mlTaggingAction.py +1 -1
  212. metadata/generated/schema/entity/applications/configuration/external/automator/removeCustomPropertiesAction.py +30 -0
  213. metadata/generated/schema/entity/applications/configuration/external/automator/removeDescriptionAction.py +1 -1
  214. metadata/generated/schema/entity/applications/configuration/external/automator/removeDomainAction.py +1 -1
  215. metadata/generated/schema/entity/applications/configuration/external/automator/removeOwnerAction.py +1 -1
  216. metadata/generated/schema/entity/applications/configuration/external/automator/removeTagsAction.py +1 -1
  217. metadata/generated/schema/entity/applications/configuration/external/automator/removeTierAction.py +1 -1
  218. metadata/generated/schema/entity/applications/configuration/external/automatorAppConfig.py +7 -1
  219. metadata/generated/schema/entity/applications/configuration/external/collateAIAppConfig.py +1 -1
  220. metadata/generated/schema/entity/applications/configuration/external/slackAppTokenConfiguration.py +1 -1
  221. metadata/generated/schema/entity/applications/configuration/internal/__init__.py +1 -1
  222. metadata/generated/schema/entity/applications/configuration/internal/dataInsightsAppConfig.py +1 -1
  223. metadata/generated/schema/entity/applications/configuration/internal/dataInsightsReportAppConfig.py +1 -1
  224. metadata/generated/schema/entity/applications/configuration/internal/searchIndexingAppConfig.py +1 -1
  225. metadata/generated/schema/entity/applications/configuration/private/external/__init__.py +1 -1
  226. metadata/generated/schema/entity/applications/configuration/private/external/collateAIAppPrivateConfig.py +1 -1
  227. metadata/generated/schema/entity/applications/createAppRequest.py +1 -1
  228. metadata/generated/schema/entity/applications/jobStatus.py +1 -1
  229. metadata/generated/schema/entity/applications/liveExecutionContext.py +1 -1
  230. metadata/generated/schema/entity/applications/marketplace/__init__.py +1 -1
  231. metadata/generated/schema/entity/applications/marketplace/appMarketPlaceDefinition.py +1 -1
  232. metadata/generated/schema/entity/applications/marketplace/createAppMarketPlaceDefinitionReq.py +1 -1
  233. metadata/generated/schema/entity/applications/scheduledExecutionContext.py +1 -1
  234. metadata/generated/schema/entity/automations/__init__.py +1 -1
  235. metadata/generated/schema/entity/automations/testServiceConnection.py +1 -1
  236. metadata/generated/schema/entity/automations/workflow.py +1 -1
  237. metadata/generated/schema/entity/bot.py +1 -1
  238. metadata/generated/schema/entity/classification/__init__.py +1 -1
  239. metadata/generated/schema/entity/classification/classification.py +1 -1
  240. metadata/generated/schema/entity/classification/tag.py +1 -1
  241. metadata/generated/schema/entity/data/__init__.py +1 -1
  242. metadata/generated/schema/entity/data/apiCollection.py +1 -1
  243. metadata/generated/schema/entity/data/apiEndpoint.py +1 -1
  244. metadata/generated/schema/entity/data/chart.py +1 -1
  245. metadata/generated/schema/entity/data/container.py +1 -1
  246. metadata/generated/schema/entity/data/dashboard.py +1 -1
  247. metadata/generated/schema/entity/data/dashboardDataModel.py +1 -1
  248. metadata/generated/schema/entity/data/database.py +1 -1
  249. metadata/generated/schema/entity/data/databaseSchema.py +1 -1
  250. metadata/generated/schema/entity/data/glossary.py +1 -1
  251. metadata/generated/schema/entity/data/glossaryTerm.py +1 -1
  252. metadata/generated/schema/entity/data/metric.py +1 -1
  253. metadata/generated/schema/entity/data/mlmodel.py +1 -1
  254. metadata/generated/schema/entity/data/pipeline.py +1 -1
  255. metadata/generated/schema/entity/data/query.py +1 -1
  256. metadata/generated/schema/entity/data/report.py +1 -1
  257. metadata/generated/schema/entity/data/searchIndex.py +1 -1
  258. metadata/generated/schema/entity/data/storedProcedure.py +1 -1
  259. metadata/generated/schema/entity/data/table.py +1 -1
  260. metadata/generated/schema/entity/data/topic.py +1 -1
  261. metadata/generated/schema/entity/docStore/__init__.py +1 -1
  262. metadata/generated/schema/entity/docStore/document.py +1 -1
  263. metadata/generated/schema/entity/domains/__init__.py +1 -1
  264. metadata/generated/schema/entity/domains/dataProduct.py +1 -1
  265. metadata/generated/schema/entity/domains/domain.py +1 -1
  266. metadata/generated/schema/entity/events/__init__.py +1 -1
  267. metadata/generated/schema/entity/events/webhook.py +1 -1
  268. metadata/generated/schema/entity/feed/__init__.py +1 -1
  269. metadata/generated/schema/entity/feed/assets.py +1 -1
  270. metadata/generated/schema/entity/feed/customProperty.py +1 -1
  271. metadata/generated/schema/entity/feed/description.py +1 -1
  272. metadata/generated/schema/entity/feed/domain.py +1 -1
  273. metadata/generated/schema/entity/feed/entityInfo.py +1 -1
  274. metadata/generated/schema/entity/feed/owner.py +1 -1
  275. metadata/generated/schema/entity/feed/suggestion.py +1 -1
  276. metadata/generated/schema/entity/feed/tag.py +1 -1
  277. metadata/generated/schema/entity/feed/testCaseResult.py +1 -1
  278. metadata/generated/schema/entity/feed/thread.py +1 -1
  279. metadata/generated/schema/entity/policies/__init__.py +1 -1
  280. metadata/generated/schema/entity/policies/accessControl/__init__.py +1 -1
  281. metadata/generated/schema/entity/policies/accessControl/resourceDescriptor.py +1 -1
  282. metadata/generated/schema/entity/policies/accessControl/resourcePermission.py +1 -1
  283. metadata/generated/schema/entity/policies/accessControl/rule.py +1 -1
  284. metadata/generated/schema/entity/policies/filters.py +1 -1
  285. metadata/generated/schema/entity/policies/policy.py +1 -1
  286. metadata/generated/schema/entity/services/__init__.py +1 -1
  287. metadata/generated/schema/entity/services/apiService.py +1 -1
  288. metadata/generated/schema/entity/services/connections/__init__.py +1 -1
  289. metadata/generated/schema/entity/services/connections/api/__init__.py +1 -1
  290. metadata/generated/schema/entity/services/connections/api/restConnection.py +1 -1
  291. metadata/generated/schema/entity/services/connections/common/__init__.py +1 -1
  292. metadata/generated/schema/entity/services/connections/common/sslCertPaths.py +1 -1
  293. metadata/generated/schema/entity/services/connections/common/sslCertValues.py +1 -1
  294. metadata/generated/schema/entity/services/connections/common/sslConfig.py +1 -1
  295. metadata/generated/schema/entity/services/connections/connectionBasicType.py +1 -1
  296. metadata/generated/schema/entity/services/connections/dashboard/__init__.py +1 -1
  297. metadata/generated/schema/entity/services/connections/dashboard/customDashboardConnection.py +1 -1
  298. metadata/generated/schema/entity/services/connections/dashboard/domoDashboardConnection.py +1 -1
  299. metadata/generated/schema/entity/services/connections/dashboard/lightdashConnection.py +1 -1
  300. metadata/generated/schema/entity/services/connections/dashboard/lookerConnection.py +1 -1
  301. metadata/generated/schema/entity/services/connections/dashboard/metabaseConnection.py +1 -1
  302. metadata/generated/schema/entity/services/connections/dashboard/microStrategyConnection.py +1 -1
  303. metadata/generated/schema/entity/services/connections/dashboard/modeConnection.py +1 -1
  304. metadata/generated/schema/entity/services/connections/dashboard/powerBIConnection.py +1 -1
  305. metadata/generated/schema/entity/services/connections/dashboard/powerBIReportServerConnection.py +1 -1
  306. metadata/generated/schema/entity/services/connections/dashboard/powerbi/__init__.py +1 -1
  307. metadata/generated/schema/entity/services/connections/dashboard/powerbi/azureConfig.py +1 -1
  308. metadata/generated/schema/entity/services/connections/dashboard/powerbi/bucketDetails.py +1 -1
  309. metadata/generated/schema/entity/services/connections/dashboard/powerbi/gcsConfig.py +1 -1
  310. metadata/generated/schema/entity/services/connections/dashboard/powerbi/s3Config.py +1 -1
  311. metadata/generated/schema/entity/services/connections/dashboard/qlikCloudConnection.py +1 -1
  312. metadata/generated/schema/entity/services/connections/dashboard/qlikSenseConnection.py +1 -1
  313. metadata/generated/schema/entity/services/connections/dashboard/quickSightConnection.py +1 -1
  314. metadata/generated/schema/entity/services/connections/dashboard/redashConnection.py +1 -1
  315. metadata/generated/schema/entity/services/connections/dashboard/sigmaConnection.py +1 -1
  316. metadata/generated/schema/entity/services/connections/dashboard/supersetConnection.py +1 -1
  317. metadata/generated/schema/entity/services/connections/dashboard/tableauConnection.py +1 -1
  318. metadata/generated/schema/entity/services/connections/database/__init__.py +1 -1
  319. metadata/generated/schema/entity/services/connections/database/athenaConnection.py +1 -1
  320. metadata/generated/schema/entity/services/connections/database/azureSQLConnection.py +1 -1
  321. metadata/generated/schema/entity/services/connections/database/bigQueryConnection.py +1 -1
  322. metadata/generated/schema/entity/services/connections/database/bigTableConnection.py +1 -1
  323. metadata/generated/schema/entity/services/connections/database/clickhouseConnection.py +1 -1
  324. metadata/generated/schema/entity/services/connections/database/common/__init__.py +1 -1
  325. metadata/generated/schema/entity/services/connections/database/common/azureConfig.py +1 -1
  326. metadata/generated/schema/entity/services/connections/database/common/basicAuth.py +1 -1
  327. metadata/generated/schema/entity/services/connections/database/common/iamAuthConfig.py +1 -1
  328. metadata/generated/schema/entity/services/connections/database/common/jwtAuth.py +1 -1
  329. metadata/generated/schema/entity/services/connections/database/common/noConfigAuthenticationTypes.py +1 -1
  330. metadata/generated/schema/entity/services/connections/database/couchbaseConnection.py +1 -1
  331. metadata/generated/schema/entity/services/connections/database/customDatabaseConnection.py +1 -1
  332. metadata/generated/schema/entity/services/connections/database/databricksConnection.py +1 -1
  333. metadata/generated/schema/entity/services/connections/database/datalake/__init__.py +1 -1
  334. metadata/generated/schema/entity/services/connections/database/datalake/azureConfig.py +1 -1
  335. metadata/generated/schema/entity/services/connections/database/datalake/gcsConfig.py +1 -1
  336. metadata/generated/schema/entity/services/connections/database/datalake/s3Config.py +1 -1
  337. metadata/generated/schema/entity/services/connections/database/datalakeConnection.py +1 -1
  338. metadata/generated/schema/entity/services/connections/database/db2Connection.py +1 -1
  339. metadata/generated/schema/entity/services/connections/database/deltaLakeConnection.py +1 -1
  340. metadata/generated/schema/entity/services/connections/database/deltalake/__init__.py +1 -1
  341. metadata/generated/schema/entity/services/connections/database/deltalake/metastoreConfig.py +1 -1
  342. metadata/generated/schema/entity/services/connections/database/deltalake/storageConfig.py +1 -1
  343. metadata/generated/schema/entity/services/connections/database/domoDatabaseConnection.py +1 -1
  344. metadata/generated/schema/entity/services/connections/database/dorisConnection.py +1 -1
  345. metadata/generated/schema/entity/services/connections/database/druidConnection.py +1 -1
  346. metadata/generated/schema/entity/services/connections/database/dynamoDBConnection.py +1 -1
  347. metadata/generated/schema/entity/services/connections/database/exasolConnection.py +1 -1
  348. metadata/generated/schema/entity/services/connections/database/glueConnection.py +1 -1
  349. metadata/generated/schema/entity/services/connections/database/greenplumConnection.py +1 -1
  350. metadata/generated/schema/entity/services/connections/database/hiveConnection.py +1 -1
  351. metadata/generated/schema/entity/services/connections/database/iceberg/__init__.py +1 -1
  352. metadata/generated/schema/entity/services/connections/database/iceberg/dynamoDbCatalogConnection.py +1 -1
  353. metadata/generated/schema/entity/services/connections/database/iceberg/glueCatalogConnection.py +1 -1
  354. metadata/generated/schema/entity/services/connections/database/iceberg/hiveCatalogConnection.py +1 -1
  355. metadata/generated/schema/entity/services/connections/database/iceberg/icebergCatalog.py +1 -1
  356. metadata/generated/schema/entity/services/connections/database/iceberg/icebergFileSystem.py +1 -1
  357. metadata/generated/schema/entity/services/connections/database/iceberg/restCatalogConnection.py +1 -1
  358. metadata/generated/schema/entity/services/connections/database/icebergConnection.py +1 -1
  359. metadata/generated/schema/entity/services/connections/database/impalaConnection.py +1 -1
  360. metadata/generated/schema/entity/services/connections/database/mariaDBConnection.py +1 -1
  361. metadata/generated/schema/entity/services/connections/database/mongoDBConnection.py +1 -1
  362. metadata/generated/schema/entity/services/connections/database/mssqlConnection.py +1 -1
  363. metadata/generated/schema/entity/services/connections/database/mysqlConnection.py +1 -1
  364. metadata/generated/schema/entity/services/connections/database/oracleConnection.py +1 -1
  365. metadata/generated/schema/entity/services/connections/database/pinotDBConnection.py +1 -1
  366. metadata/generated/schema/entity/services/connections/database/postgresConnection.py +1 -1
  367. metadata/generated/schema/entity/services/connections/database/prestoConnection.py +1 -1
  368. metadata/generated/schema/entity/services/connections/database/redshiftConnection.py +1 -1
  369. metadata/generated/schema/entity/services/connections/database/salesforceConnection.py +1 -1
  370. metadata/generated/schema/entity/services/connections/database/sapErpConnection.py +1 -1
  371. metadata/generated/schema/entity/services/connections/database/sapHana/__init__.py +1 -1
  372. metadata/generated/schema/entity/services/connections/database/sapHana/sapHanaHDBConnection.py +1 -1
  373. metadata/generated/schema/entity/services/connections/database/sapHana/sapHanaSQLConnection.py +1 -1
  374. metadata/generated/schema/entity/services/connections/database/sapHanaConnection.py +1 -1
  375. metadata/generated/schema/entity/services/connections/database/sasConnection.py +1 -1
  376. metadata/generated/schema/entity/services/connections/database/singleStoreConnection.py +1 -1
  377. metadata/generated/schema/entity/services/connections/database/snowflakeConnection.py +1 -1
  378. metadata/generated/schema/entity/services/connections/database/sqliteConnection.py +1 -1
  379. metadata/generated/schema/entity/services/connections/database/synapseConnection.py +1 -1
  380. metadata/generated/schema/entity/services/connections/database/teradataConnection.py +1 -1
  381. metadata/generated/schema/entity/services/connections/database/trinoConnection.py +1 -1
  382. metadata/generated/schema/entity/services/connections/database/unityCatalogConnection.py +1 -1
  383. metadata/generated/schema/entity/services/connections/database/verticaConnection.py +1 -1
  384. metadata/generated/schema/entity/services/connections/messaging/__init__.py +1 -1
  385. metadata/generated/schema/entity/services/connections/messaging/customMessagingConnection.py +1 -1
  386. metadata/generated/schema/entity/services/connections/messaging/kafkaConnection.py +1 -1
  387. metadata/generated/schema/entity/services/connections/messaging/kinesisConnection.py +1 -1
  388. metadata/generated/schema/entity/services/connections/messaging/pulsarConnection.py +1 -1
  389. metadata/generated/schema/entity/services/connections/messaging/redpandaConnection.py +1 -1
  390. metadata/generated/schema/entity/services/connections/messaging/saslMechanismType.py +1 -1
  391. metadata/generated/schema/entity/services/connections/metadata/__init__.py +1 -1
  392. metadata/generated/schema/entity/services/connections/metadata/alationConnection.py +1 -1
  393. metadata/generated/schema/entity/services/connections/metadata/alationSinkConnection.py +1 -1
  394. metadata/generated/schema/entity/services/connections/metadata/amundsenConnection.py +1 -1
  395. metadata/generated/schema/entity/services/connections/metadata/atlasConnection.py +1 -1
  396. metadata/generated/schema/entity/services/connections/metadata/metadataESConnection.py +1 -1
  397. metadata/generated/schema/entity/services/connections/metadata/openMetadataConnection.py +1 -1
  398. metadata/generated/schema/entity/services/connections/mlmodel/__init__.py +1 -1
  399. metadata/generated/schema/entity/services/connections/mlmodel/customMlModelConnection.py +1 -1
  400. metadata/generated/schema/entity/services/connections/mlmodel/mlflowConnection.py +1 -1
  401. metadata/generated/schema/entity/services/connections/mlmodel/sageMakerConnection.py +1 -1
  402. metadata/generated/schema/entity/services/connections/mlmodel/sklearnConnection.py +1 -1
  403. metadata/generated/schema/entity/services/connections/mlmodel/vertexaiConnection.py +1 -1
  404. metadata/generated/schema/entity/services/connections/pipeline/__init__.py +1 -1
  405. metadata/generated/schema/entity/services/connections/pipeline/airbyteConnection.py +5 -1
  406. metadata/generated/schema/entity/services/connections/pipeline/airflowConnection.py +1 -1
  407. metadata/generated/schema/entity/services/connections/pipeline/backendConnection.py +1 -1
  408. metadata/generated/schema/entity/services/connections/pipeline/customPipelineConnection.py +1 -1
  409. metadata/generated/schema/entity/services/connections/pipeline/dagsterConnection.py +1 -1
  410. metadata/generated/schema/entity/services/connections/pipeline/databricksPipelineConnection.py +1 -1
  411. metadata/generated/schema/entity/services/connections/pipeline/datafactoryConnection.py +1 -1
  412. metadata/generated/schema/entity/services/connections/pipeline/dbtCloudConnection.py +1 -1
  413. metadata/generated/schema/entity/services/connections/pipeline/domoPipelineConnection.py +1 -1
  414. metadata/generated/schema/entity/services/connections/pipeline/fivetranConnection.py +1 -1
  415. metadata/generated/schema/entity/services/connections/pipeline/flinkConnection.py +1 -1
  416. metadata/generated/schema/entity/services/connections/pipeline/gluePipelineConnection.py +1 -1
  417. metadata/generated/schema/entity/services/connections/pipeline/kafkaConnectConnection.py +1 -1
  418. metadata/generated/schema/entity/services/connections/pipeline/matillionConnection.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 +2 -6
  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 +3 -0
  505. metadata/generated/schema/jobs/backgroundJob.py +66 -0
  506. metadata/generated/schema/jobs/enumCleanupArgs.py +23 -0
  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 +8 -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 +5 -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 +27 -3
  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 +4 -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 +8 -3
  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 +13 -6
  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/great_expectations/action.py +1 -1
  645. metadata/ingestion/ometa/mixins/tests_mixin.py +1 -1
  646. metadata/ingestion/ometa/mixins/user_mixin.py +19 -5
  647. metadata/ingestion/ometa/routes.py +4 -0
  648. metadata/ingestion/source/dashboard/powerbi/client.py +31 -4
  649. metadata/ingestion/source/dashboard/powerbi/metadata.py +74 -135
  650. metadata/ingestion/source/database/db2/metadata.py +6 -0
  651. metadata/ingestion/source/database/db2/utils.py +63 -0
  652. metadata/ingestion/source/database/dbt/dbt_config.py +6 -2
  653. metadata/ingestion/source/database/dbt/dbt_service.py +11 -0
  654. metadata/ingestion/source/database/dbt/metadata.py +42 -0
  655. metadata/ingestion/source/database/mssql/service_spec.py +2 -0
  656. metadata/ingestion/source/database/redshift/queries.py +1 -1
  657. metadata/ingestion/source/database/sample_data.py +1 -3
  658. metadata/ingestion/source/database/sql_column_handler.py +6 -0
  659. metadata/ingestion/source/pipeline/airbyte/client.py +3 -2
  660. metadata/ingestion/source/pipeline/dbtcloud/metadata.py +22 -30
  661. metadata/ingestion/source/pipeline/kafkaconnect/client.py +12 -13
  662. metadata/ingestion/source/pipeline/kafkaconnect/connection.py +1 -1
  663. metadata/ingestion/source/storage/s3/metadata.py +56 -9
  664. metadata/profiler/metrics/static/max.py +4 -2
  665. metadata/profiler/metrics/static/min.py +4 -2
  666. metadata/profiler/orm/converter/common.py +3 -1
  667. metadata/profiler/orm/converter/converter_registry.py +2 -0
  668. metadata/profiler/orm/converter/mssql/converter.py +15 -1
  669. metadata/profiler/orm/functions/md5.py +8 -5
  670. metadata/profiler/orm/types/custom_timestamp.py +4 -2
  671. metadata/sampler/sqlalchemy/mssql/sampler.py +50 -0
  672. metadata/utils/constants.py +11 -12
  673. metadata/utils/elasticsearch.py +9 -1
  674. metadata/workflow/data_quality.py +5 -43
  675. {openmetadata_ingestion-1.6.0.0rc3.dist-info → openmetadata_ingestion-1.6.2.0.dist-info}/METADATA +371 -371
  676. {openmetadata_ingestion-1.6.0.0rc3.dist-info → openmetadata_ingestion-1.6.2.0.dist-info}/RECORD +680 -672
  677. {openmetadata_ingestion-1.6.0.0rc3.dist-info → openmetadata_ingestion-1.6.2.0.dist-info}/LICENSE +0 -0
  678. {openmetadata_ingestion-1.6.0.0rc3.dist-info → openmetadata_ingestion-1.6.2.0.dist-info}/WHEEL +0 -0
  679. {openmetadata_ingestion-1.6.0.0rc3.dist-info → openmetadata_ingestion-1.6.2.0.dist-info}/entry_points.txt +0 -0
  680. {openmetadata_ingestion-1.6.0.0rc3.dist-info → openmetadata_ingestion-1.6.2.0.dist-info}/top_level.txt +0 -0
@@ -92,12 +92,6 @@ class PowerbiSource(DashboardServiceSource):
92
92
  self.datamodel_file_mappings = []
93
93
 
94
94
  def prepare(self):
95
- if self.service_connection.useAdminApis:
96
- groups = self.get_admin_workspace_data()
97
- else:
98
- groups = self.get_org_workspace_data()
99
- if groups:
100
- self.workspace_data = self.get_filtered_workspaces(groups)
101
95
  return super().prepare()
102
96
 
103
97
  def close(self):
@@ -123,91 +117,6 @@ class PowerbiSource(DashboardServiceSource):
123
117
  filtered_groups.append(group)
124
118
  return filtered_groups
125
119
 
126
- def get_org_workspace_data(self) -> Optional[List[Group]]:
127
- """
128
- fetch all the group workspace ids
129
- """
130
- groups = self.client.api_client.fetch_all_workspaces()
131
- for group in groups:
132
- # add the dashboards to the groups
133
- group.dashboards.extend(
134
- self.client.api_client.fetch_all_org_dashboards(group_id=group.id) or []
135
- )
136
- for dashboard in group.dashboards:
137
- # add the tiles to the dashboards
138
- dashboard.tiles.extend(
139
- self.client.api_client.fetch_all_org_tiles(
140
- group_id=group.id, dashboard_id=dashboard.id
141
- )
142
- or []
143
- )
144
-
145
- # add the reports to the groups
146
- group.reports.extend(
147
- self.client.api_client.fetch_all_org_reports(group_id=group.id) or []
148
- )
149
-
150
- # add the datasets to the groups
151
- group.datasets.extend(
152
- self.client.api_client.fetch_all_org_datasets(group_id=group.id) or []
153
- )
154
- for dataset in group.datasets:
155
- # add the tables to the datasets
156
- dataset.tables.extend(
157
- self.client.api_client.fetch_dataset_tables(
158
- group_id=group.id, dataset_id=dataset.id
159
- )
160
- or []
161
- )
162
- return groups
163
-
164
- def get_admin_workspace_data(self) -> Optional[List[Group]]:
165
- """
166
- fetch all the workspace ids
167
- """
168
- groups = []
169
- workspaces = self.client.api_client.fetch_all_workspaces()
170
- if workspaces:
171
- workspace_id_list = [workspace.id for workspace in workspaces]
172
-
173
- # Start the scan of the available workspaces for dashboard metadata
174
- workspace_paginated_list = [
175
- workspace_id_list[i : i + self.pagination_entity_per_page]
176
- for i in range(
177
- 0, len(workspace_id_list), self.pagination_entity_per_page
178
- )
179
- ]
180
- count = 1
181
- for workspace_ids_chunk in workspace_paginated_list:
182
- logger.info(
183
- f"Scanning {count}/{len(workspace_paginated_list)} set of workspaces"
184
- )
185
- workspace_scan = self.client.api_client.initiate_workspace_scan(
186
- workspace_ids_chunk
187
- )
188
-
189
- # Keep polling the scan status endpoint to check if scan is succeeded
190
- workspace_scan_status = self.client.api_client.wait_for_scan_complete(
191
- scan_id=workspace_scan.id
192
- )
193
- if workspace_scan_status:
194
- response = self.client.api_client.fetch_workspace_scan_result(
195
- scan_id=workspace_scan.id
196
- )
197
- groups.extend(
198
- [
199
- active_workspace
200
- for active_workspace in response.workspaces
201
- if active_workspace.state == "Active"
202
- ]
203
- )
204
- else:
205
- logger.error("Error in fetching dashboards and charts")
206
- count += 1
207
- else:
208
- logger.error("Unable to fetch any PowerBI workspaces")
209
- return groups or None
210
-
211
120
  @classmethod
212
121
  def create(
213
122
  cls, config_dict, metadata: OpenMetadata, pipeline_name: Optional[str] = None
@@ -220,12 +129,51 @@ class PowerbiSource(DashboardServiceSource):
220
129
  )
221
130
  return cls(config, metadata)
222
131
 
132
+ def prepare_workspace_data(self, workspace: Group):
133
+ """prepare one workspace data at a time"""
134
+ # add the dashboards to the groups
135
+ workspace.dashboards.extend(
136
+ self.client.api_client.fetch_all_org_dashboards(group_id=workspace.id) or []
137
+ )
138
+ for dashboard in workspace.dashboards:
139
+ # add the tiles to the dashboards
140
+ dashboard.tiles.extend(
141
+ self.client.api_client.fetch_all_org_tiles(
142
+ group_id=workspace.id, dashboard_id=dashboard.id
143
+ )
144
+ or []
145
+ )
146
+
147
+ # add the reports to the groups
148
+ workspace.reports.extend(
149
+ self.client.api_client.fetch_all_org_reports(group_id=workspace.id) or []
150
+ )
151
+
152
+ # add the datasets to the groups
153
+ workspace.datasets.extend(
154
+ self.client.api_client.fetch_all_org_datasets(group_id=workspace.id) or []
155
+ )
156
+ for dataset in workspace.datasets:
157
+ # add the tables to the datasets
158
+ dataset.tables.extend(
159
+ self.client.api_client.fetch_dataset_tables(
160
+ group_id=workspace.id, dataset_id=dataset.id
161
+ )
162
+ or []
163
+ )
164
+
223
165
  def get_dashboard(self) -> Any:
224
166
  """
225
167
  Method to iterate through dashboard lists filter dashboards & yield dashboard details
226
168
  """
227
- for workspace in self.workspace_data:
169
+ # fetch all workspaces/groups & apply filter pattern
170
+ all_workspaces = self.client.api_client.fetch_all_workspaces() or []
171
+ all_workspaces = self.get_filtered_workspaces(all_workspaces)
172
+ for workspace in all_workspaces:
173
+ # prepare additional data for specific workspace (datasets, reports, dashboards)
174
+ self.prepare_workspace_data(workspace)
228
175
  self.context.get().workspace = workspace
176
+ self.workspace_data.append(workspace)
229
177
  for dashboard in self.get_dashboards_list():
230
178
  try:
231
179
  dashboard_details = self.get_dashboard_details(dashboard)
@@ -309,54 +257,45 @@ class PowerbiSource(DashboardServiceSource):
309
257
  f"{workspace_id}/{chart_url_postfix}"
310
258
  )
311
259
 
312
- def list_datamodels(self) -> Iterable[Dataset]:
260
+ def yield_datamodel(
261
+ self, dashboard_details: Union[PowerBIDashboard, PowerBIReport]
262
+ ) -> Iterable[Either[CreateDashboardRequest]]:
313
263
  """
314
- Get All the Powerbi Datasets
264
+ Method to yield datamodel for each workspace
315
265
  """
316
- if self.source_config.includeDataModels:
266
+ workspace_datasets = self.context.get().workspace.datasets
267
+ for dataset in workspace_datasets:
268
+ if filter_by_datamodel(
269
+ self.source_config.dataModelFilterPattern, dataset.name
270
+ ):
271
+ self.status.filter(dataset.name, "Data model filtered out.")
272
+ continue
317
273
  try:
318
- for workspace in self.workspace_data:
319
- for dataset in workspace.datasets or []:
320
- if filter_by_datamodel(
321
- self.source_config.dataModelFilterPattern, dataset.name
322
- ):
323
- self.status.filter(dataset.name, "Data model filtered out.")
324
- continue
325
- yield dataset
326
- except Exception as err:
327
- logger.debug(traceback.format_exc())
328
- logger.error(f"Unexpected error fetching PowerBI datasets - {err}")
329
-
330
- def yield_bulk_datamodel(
331
- self, dataset: Dataset
332
- ) -> Iterable[Either[CreateDashboardDataModelRequest]]:
333
- """
334
- Method to fetch DataModels in bulk
335
- """
336
- try:
337
- data_model_request = CreateDashboardDataModelRequest(
338
- name=EntityName(dataset.id),
339
- displayName=dataset.name,
340
- description=Markdown(dataset.description)
341
- if dataset.description
342
- else None,
343
- service=FullyQualifiedEntityName(self.context.get().dashboard_service),
344
- dataModelType=DataModelType.PowerBIDataModel.value,
345
- serviceType=DashboardServiceType.PowerBI.value,
346
- columns=self._get_column_info(dataset),
347
- project=self._fetch_dataset_workspace(dataset_id=dataset.id),
348
- )
349
- yield Either(right=data_model_request)
350
- self.register_record_datamodel(datamodel_request=data_model_request)
274
+ data_model_request = CreateDashboardDataModelRequest(
275
+ name=EntityName(dataset.id),
276
+ displayName=dataset.name,
277
+ description=Markdown(dataset.description)
278
+ if dataset.description
279
+ else None,
280
+ service=FullyQualifiedEntityName(
281
+ self.context.get().dashboard_service
282
+ ),
283
+ dataModelType=DataModelType.PowerBIDataModel.value,
284
+ serviceType=DashboardServiceType.PowerBI.value,
285
+ columns=self._get_column_info(dataset),
286
+ project=self.get_project_name(dashboard_details),
287
+ )
288
+ yield Either(right=data_model_request)
289
+ self.register_record_datamodel(datamodel_request=data_model_request)
351
290
 
352
- except Exception as exc:
353
- yield Either(
354
- left=StackTraceError(
355
- name=dataset.name,
356
- error=f"Error yielding Data Model [{dataset.name}]: {exc}",
357
- stackTrace=traceback.format_exc(),
291
+ except Exception as exc:
292
+ yield Either(
293
+ left=StackTraceError(
294
+ name=dataset.name,
295
+ error=f"Error yielding Data Model [{dataset.name}]: {exc}",
296
+ stackTrace=traceback.format_exc(),
297
+ )
358
298
  )
359
- )
360
299
 
361
300
  def _get_child_columns(self, table: PowerBiTable) -> List[Column]:
362
301
  """
@@ -13,6 +13,7 @@ import traceback
13
13
  from typing import Iterable, Optional
14
14
 
15
15
  from ibm_db_sa.base import ischema_names
16
+ from ibm_db_sa.reflection import DB2Reflector, OS390Reflector
16
17
  from sqlalchemy.engine.reflection import Inspector
17
18
  from sqlalchemy.engine.row import LegacyRow
18
19
  from sqlalchemy.sql.sqltypes import BOOLEAN
@@ -26,6 +27,7 @@ from metadata.generated.schema.metadataIngestion.workflow import (
26
27
  from metadata.ingestion.api.steps import InvalidSourceException
27
28
  from metadata.ingestion.ometa.ometa_api import OpenMetadata
28
29
  from metadata.ingestion.source.database.common_db_source import CommonDbSourceService
30
+ from metadata.ingestion.source.database.db2.utils import get_unique_constraints
29
31
  from metadata.utils.logger import ingestion_logger
30
32
 
31
33
  logger = ingestion_logger()
@@ -34,6 +36,10 @@ logger = ingestion_logger()
34
36
  ischema_names.update({"BOOLEAN": BOOLEAN})
35
37
 
36
38
 
39
+ DB2Reflector.get_unique_constraints = get_unique_constraints
40
+ OS390Reflector.get_unique_constraints = get_unique_constraints
41
+
42
+
37
43
  class Db2Source(CommonDbSourceService):
38
44
  """
39
45
  Implements the necessary methods to extract
@@ -0,0 +1,63 @@
1
+ # Copyright 2021 Collate
2
+ # Licensed under the Apache License, Version 2.0 (the "License");
3
+ # you may not use this file except in compliance with the License.
4
+ # You may obtain a copy of the License at
5
+ # http://www.apache.org/licenses/LICENSE-2.0
6
+ # Unless required by applicable law or agreed to in writing, software
7
+ # distributed under the License is distributed on an "AS IS" BASIS,
8
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
9
+ # See the License for the specific language governing permissions and
10
+ # limitations under the License.
11
+
12
+ """
13
+ Module to define overriden dialect methods
14
+ """
15
+ from sqlalchemy import and_, join, sql
16
+ from sqlalchemy.engine import reflection
17
+
18
+
19
+ @reflection.cache
20
+ def get_unique_constraints(
21
+ self, connection, table_name, schema=None, **kw
22
+ ): # pylint: disable=unused-argument
23
+ """Small Method to override the Dialect default as it is not filtering properly the Schema and Table Name."""
24
+ current_schema = self.denormalize_name(schema or self.default_schema_name)
25
+ table_name = self.denormalize_name(table_name)
26
+ syskeycol = self.sys_keycoluse
27
+ sysconst = self.sys_tabconst
28
+ query = (
29
+ sql.select(syskeycol.c.constname, syskeycol.c.colname)
30
+ .select_from(
31
+ join(
32
+ syskeycol,
33
+ sysconst,
34
+ and_(
35
+ syskeycol.c.constname == sysconst.c.constname,
36
+ syskeycol.c.tabschema == sysconst.c.tabschema,
37
+ syskeycol.c.tabname == sysconst.c.tabname,
38
+ ),
39
+ )
40
+ )
41
+ .where(
42
+ and_(
43
+ sysconst.c.tabname == table_name,
44
+ sysconst.c.tabschema == current_schema,
45
+ sysconst.c.type == "U",
46
+ )
47
+ )
48
+ .order_by(syskeycol.c.constname)
49
+ )
50
+ unique_consts = []
51
+ curr_const = None
52
+ for r in connection.execute(query):
53
+ if curr_const == r[0]:
54
+ unique_consts[-1]["column_names"].append(self.normalize_name(r[1]))
55
+ else:
56
+ curr_const = r[0]
57
+ unique_consts.append(
58
+ {
59
+ "name": self.normalize_name(curr_const),
60
+ "column_names": [self.normalize_name(r[1])],
61
+ }
62
+ )
63
+ return unique_consts
@@ -176,7 +176,11 @@ def _(config: DbtCloudConfig): # pylint: disable=too-many-locals
176
176
  logger.debug(
177
177
  "Requesting [dbt_catalog], [dbt_manifest] and [dbt_run_results] data"
178
178
  )
179
- params_data = {"order_by": "-finished_at", "limit": "1"}
179
+ params_data = {
180
+ "order_by": "-finished_at",
181
+ "limit": "1",
182
+ "status__in": "[10,20]",
183
+ }
180
184
  if project_id:
181
185
  params_data["project_id"] = project_id
182
186
 
@@ -194,7 +198,7 @@ def _(config: DbtCloudConfig): # pylint: disable=too-many-locals
194
198
  last_run = runs_data[0]
195
199
  run_id = last_run["id"]
196
200
  logger.info(
197
- f"Retrieved last successful run [{str(run_id)}]: "
201
+ f"Retrieved last completed run [{str(run_id)}]: "
198
202
  f"Finished {str(last_run['finished_at_humanized'])} (duration: {str(last_run['duration_humanized'])})"
199
203
  )
200
204
  try:
@@ -122,6 +122,11 @@ class DbtServiceTopology(ServiceTopology):
122
122
  processor="process_dbt_descriptions",
123
123
  nullable=True,
124
124
  ),
125
+ NodeStage(
126
+ type_=DataModelLink,
127
+ processor="process_dbt_owners",
128
+ nullable=True,
129
+ ),
125
130
  ],
126
131
  )
127
132
  process_dbt_tests: Annotated[
@@ -293,6 +298,12 @@ class DbtServiceSource(TopologyRunnerMixin, Source, ABC):
293
298
  Method to process DBT descriptions using patch APIs
294
299
  """
295
300
 
301
+ @abstractmethod
302
+ def process_dbt_owners(self, data_model_link: DataModelLink):
303
+ """
304
+ Method to process DBT owners using patch APIs
305
+ """
306
+
296
307
  def get_dbt_tests(self) -> dict:
297
308
  """
298
309
  Prepare the DBT tests
@@ -61,6 +61,7 @@ from metadata.ingestion.api.models import Either
61
61
  from metadata.ingestion.lineage.models import ConnectionTypeDialectMapper
62
62
  from metadata.ingestion.lineage.sql_lineage import get_lineage_by_query
63
63
  from metadata.ingestion.models.ometa_classification import OMetaTagAndClassification
64
+ from metadata.ingestion.models.patch_request import PatchedEntity, PatchRequest
64
65
  from metadata.ingestion.models.table_metadata import ColumnDescription
65
66
  from metadata.ingestion.ometa.ometa_api import OpenMetadata
66
67
  from metadata.ingestion.source.database.column_type_parser import ColumnTypeParser
@@ -886,6 +887,47 @@ class DbtSource(DbtServiceSource):
886
887
  f"to update dbt description: {exc}"
887
888
  )
888
889
 
890
+ def process_dbt_owners(
891
+ self, data_model_link: DataModelLink
892
+ ) -> Iterable[Either[PatchedEntity]]:
893
+ """
894
+ Method to process DBT owners
895
+ """
896
+ table_entity: Table = data_model_link.table_entity
897
+ if table_entity:
898
+ logger.debug(
899
+ f"Processing DBT owners for: {table_entity.fullyQualifiedName.root}"
900
+ )
901
+ try:
902
+ data_model = data_model_link.datamodel
903
+ if (
904
+ data_model.resourceType != DbtCommonEnum.SOURCE.value
905
+ and self.source_config.dbtUpdateOwners
906
+ ):
907
+ logger.debug(
908
+ f"Overwriting owners with DBT owners: {table_entity.fullyQualifiedName.root}"
909
+ )
910
+ if data_model.owners:
911
+ new_entity = deepcopy(table_entity)
912
+ new_entity.owners = data_model.owners
913
+ yield Either(
914
+ right=PatchRequest(
915
+ original_entity=table_entity,
916
+ new_entity=new_entity,
917
+ override_metadata=True,
918
+ )
919
+ )
920
+
921
+ except Exception as exc: # pylint: disable=broad-except
922
+ yield Either(
923
+ left=StackTraceError(
924
+ name=str(table_entity.fullyQualifiedName.root),
925
+ error=f"Failed to parse the node"
926
+ f"{table_entity.fullyQualifiedName.root} to update dbt owner: {exc}",
927
+ stackTrace=traceback.format_exc(),
928
+ )
929
+ )
930
+
889
931
  def create_dbt_tests_definition(
890
932
  self, dbt_test: dict
891
933
  ) -> Iterable[Either[CreateTestDefinitionRequest]]:
@@ -1,10 +1,12 @@
1
1
  from metadata.ingestion.source.database.mssql.lineage import MssqlLineageSource
2
2
  from metadata.ingestion.source.database.mssql.metadata import MssqlSource
3
3
  from metadata.ingestion.source.database.mssql.usage import MssqlUsageSource
4
+ from metadata.sampler.sqlalchemy.mssql.sampler import MssqlSampler
4
5
  from metadata.utils.service_spec.default import DefaultDatabaseSpec
5
6
 
6
7
  ServiceSpec = DefaultDatabaseSpec(
7
8
  metadata_source_class=MssqlSource,
8
9
  lineage_source_class=MssqlLineageSource,
9
10
  usage_source_class=MssqlUsageSource,
11
+ sampler_class=MssqlSampler,
10
12
  )
@@ -328,7 +328,7 @@ Q_HISTORY as (
328
328
  pid as query_session_id,
329
329
  starttime as query_start_time,
330
330
  endtime as query_end_time,
331
- b.usename as query_user_name
331
+ cast(b.usename as varchar) as query_user_name
332
332
  from STL_QUERY q
333
333
  join pg_catalog.pg_user b
334
334
  on b.usesysid = q.userid
@@ -1548,9 +1548,7 @@ class SampleDataSource(
1548
1548
  test_suite=CreateTestSuiteRequest(
1549
1549
  name=test_suite["testSuiteName"],
1550
1550
  description=test_suite["testSuiteDescription"],
1551
- executableEntityReference=test_suite[
1552
- "executableEntityReference"
1553
- ],
1551
+ basicEntityReference=test_suite["executableEntityReference"],
1554
1552
  )
1555
1553
  )
1556
1554
  )
@@ -94,6 +94,12 @@ class SqlColumnHandlerMixin:
94
94
  parsed_string["name"] = column["name"]
95
95
  else:
96
96
  col_type = ColumnTypeParser.get_column_type(column["type"])
97
+ # For arrays, we'll get the item type if possible, or parse the string representation of the column
98
+ # if SQLAlchemy does not provide any further information
99
+ if col_type == "ARRAY" and getattr(column["type"], "item_type"):
100
+ arr_data_type = ColumnTypeParser.get_column_type(
101
+ column["type"].item_type
102
+ )
97
103
  if col_type == "ARRAY" and re.match(
98
104
  r"(?:\w*)(?:\()(\w*)(?:.*)", str(column["type"])
99
105
  ):
@@ -20,6 +20,7 @@ from metadata.generated.schema.entity.services.connections.pipeline.airbyteConne
20
20
  from metadata.ingestion.ometa.client import REST, APIError, ClientConfig
21
21
  from metadata.utils.constants import AUTHORIZATION_HEADER, NO_ACCESS_TOKEN
22
22
  from metadata.utils.credentials import generate_http_basic_token
23
+ from metadata.utils.helpers import clean_uri
23
24
 
24
25
 
25
26
  class AirbyteClient:
@@ -30,8 +31,8 @@ class AirbyteClient:
30
31
  def __init__(self, config: AirbyteConnection):
31
32
  self.config = config
32
33
  client_config: ClientConfig = ClientConfig(
33
- base_url=str(self.config.hostPort),
34
- api_version="api/v1",
34
+ base_url=clean_uri(self.config.hostPort),
35
+ api_version=self.config.apiVersion,
35
36
  auth_header=AUTHORIZATION_HEADER,
36
37
  auth_token=lambda: (NO_ACCESS_TOKEN, 0),
37
38
  )
@@ -276,8 +276,16 @@ class DbtcloudSource(PipelineServiceSource):
276
276
  Get Pipeline Status
277
277
  """
278
278
  try:
279
- task_status = [
280
- TaskStatus(
279
+
280
+ pipeline_fqn = fqn.build(
281
+ metadata=self.metadata,
282
+ entity_type=Pipeline,
283
+ service_name=self.context.get().pipeline_service,
284
+ pipeline_name=self.context.get().pipeline,
285
+ )
286
+
287
+ for task in self.client.get_runs(job_id=int(pipeline_details.id)) or []:
288
+ task_status = TaskStatus(
281
289
  name=str(task.id),
282
290
  executionStatus=STATUS_MAP.get(task.state, StatusType.Pending),
283
291
  startTime=(
@@ -303,37 +311,21 @@ class DbtcloudSource(PipelineServiceSource):
303
311
  else None
304
312
  ),
305
313
  )
306
- for task in self.client.get_runs(job_id=int(pipeline_details.id)) or []
307
- ]
308
314
 
309
- pipeline_status = PipelineStatus(
310
- executionStatus=STATUS_MAP.get(
311
- pipeline_details.state, StatusType.Pending
312
- ),
313
- taskStatus=task_status,
314
- timestamp=Timestamp(
315
- datetime_to_ts(
316
- datetime.strptime(
317
- pipeline_details.created_at, "%Y-%m-%d %H:%M:%S.%f%z"
318
- )
319
- if pipeline_details.created_at
320
- else None
321
- )
322
- ),
323
- )
315
+ pipeline_status = PipelineStatus(
316
+ executionStatus=task_status.executionStatus,
317
+ taskStatus=[task_status],
318
+ timestamp=task_status.endTime
319
+ if task_status.endTime
320
+ else task_status.startTime,
321
+ )
324
322
 
325
- pipeline_fqn = fqn.build(
326
- metadata=self.metadata,
327
- entity_type=Pipeline,
328
- service_name=self.context.get().pipeline_service,
329
- pipeline_name=self.context.get().pipeline,
330
- )
331
- yield Either(
332
- right=OMetaPipelineStatus(
333
- pipeline_fqn=pipeline_fqn,
334
- pipeline_status=pipeline_status,
323
+ yield Either(
324
+ right=OMetaPipelineStatus(
325
+ pipeline_fqn=pipeline_fqn,
326
+ pipeline_status=pipeline_status,
327
+ )
335
328
  )
336
- )
337
329
 
338
330
  except Exception as exc:
339
331
  yield Either(
@@ -61,15 +61,18 @@ class KafkaConnectClient:
61
61
  """
62
62
  Get the version and other details of the Kafka Connect cluster.
63
63
  """
64
- try:
65
- result = self.client.get_cluster_info()
66
- return result
67
-
68
- except Exception as exc:
69
- logger.debug(traceback.format_exc())
70
- logger.error(f"Unable to get cluster info :{exc}")
64
+ return self.client.get_cluster_info()
71
65
 
72
- return None
66
+ def get_connectors_list(
67
+ self,
68
+ expand: str = None,
69
+ pattern: str = None,
70
+ state: str = None,
71
+ ) -> dict:
72
+ """
73
+ Get the list of connectors from Kafka Connect cluster.
74
+ """
75
+ return self.client.list_connectors(expand=expand, pattern=pattern, state=state)
73
76
 
74
77
  def get_connectors(
75
78
  self,
@@ -85,12 +88,8 @@ class KafkaConnectClient:
85
88
  pattern (str): Only list connectors that match the regex pattern.
86
89
  state (str): Only list connectors that match the state.
87
90
  """
88
-
89
91
  try:
90
- result = self.client.list_connectors(
91
- expand=expand, pattern=pattern, state=state
92
- )
93
- return result
92
+ return self.get_connectors_list(expand=expand, pattern=pattern, state=state)
94
93
  except Exception as exc:
95
94
  logger.debug(traceback.format_exc())
96
95
  logger.error(f"Unable to get connectors list {exc}")
@@ -51,7 +51,7 @@ def test_connection(
51
51
 
52
52
  test_fn = {
53
53
  "GetClusterInfo": client.get_cluster_info,
54
- "GetPipelines": client.get_connectors,
54
+ "GetPipelines": client.get_connectors_list,
55
55
  "GetPlugins": client.get_connector_plugins,
56
56
  }
57
57