openmetadata-ingestion 1.6.0.0rc2__py3-none-any.whl → 1.6.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 (687) hide show
  1. metadata/clients/aws_client.py +2 -2
  2. metadata/data_quality/validations/base_test_handler.py +4 -4
  3. metadata/data_quality/validations/runtime_param_setter/param_setter_factory.py +2 -2
  4. metadata/data_quality/validations/table/sqlalchemy/tableCustomSQLQuery.py +7 -1
  5. metadata/data_quality/validations/table/sqlalchemy/tableDiff.py +5 -4
  6. metadata/generated/schema/analytics/__init__.py +1 -1
  7. metadata/generated/schema/analytics/basic.py +1 -1
  8. metadata/generated/schema/analytics/reportData.py +1 -1
  9. metadata/generated/schema/analytics/reportDataType/__init__.py +1 -1
  10. metadata/generated/schema/analytics/reportDataType/aggregatedCostAnalysisReportData.py +1 -1
  11. metadata/generated/schema/analytics/reportDataType/entityReportData.py +1 -1
  12. metadata/generated/schema/analytics/reportDataType/rawCostAnalysisReportData.py +1 -1
  13. metadata/generated/schema/analytics/reportDataType/webAnalyticEntityViewReportData.py +1 -1
  14. metadata/generated/schema/analytics/reportDataType/webAnalyticUserActivityReportData.py +1 -1
  15. metadata/generated/schema/analytics/webAnalyticEvent.py +1 -1
  16. metadata/generated/schema/analytics/webAnalyticEventData.py +1 -1
  17. metadata/generated/schema/analytics/webAnalyticEventType/__init__.py +1 -1
  18. metadata/generated/schema/analytics/webAnalyticEventType/customEvent.py +1 -1
  19. metadata/generated/schema/analytics/webAnalyticEventType/pageViewEvent.py +1 -1
  20. metadata/generated/schema/api/__init__.py +1 -1
  21. metadata/generated/schema/api/addGlossaryToAssetsRequest.py +1 -1
  22. metadata/generated/schema/api/addTagToAssetsRequest.py +1 -1
  23. metadata/generated/schema/api/analytics/__init__.py +1 -1
  24. metadata/generated/schema/api/analytics/createWebAnalyticEvent.py +1 -1
  25. metadata/generated/schema/api/automations/__init__.py +1 -1
  26. metadata/generated/schema/api/automations/createWorkflow.py +1 -1
  27. metadata/generated/schema/api/bulkAssets.py +1 -1
  28. metadata/generated/schema/api/classification/__init__.py +1 -1
  29. metadata/generated/schema/api/classification/createClassification.py +1 -1
  30. metadata/generated/schema/api/classification/createTag.py +1 -1
  31. metadata/generated/schema/api/classification/loadTags.py +1 -1
  32. metadata/generated/schema/api/createBot.py +1 -1
  33. metadata/generated/schema/api/createEventPublisherJob.py +1 -1
  34. metadata/generated/schema/api/createType.py +1 -1
  35. metadata/generated/schema/api/data/__init__.py +1 -1
  36. metadata/generated/schema/api/data/createAPICollection.py +1 -1
  37. metadata/generated/schema/api/data/createAPIEndpoint.py +1 -1
  38. metadata/generated/schema/api/data/createChart.py +1 -1
  39. metadata/generated/schema/api/data/createContainer.py +1 -1
  40. metadata/generated/schema/api/data/createCustomProperty.py +1 -1
  41. metadata/generated/schema/api/data/createDashboard.py +1 -1
  42. metadata/generated/schema/api/data/createDashboardDataModel.py +1 -1
  43. metadata/generated/schema/api/data/createDatabase.py +1 -1
  44. metadata/generated/schema/api/data/createDatabaseSchema.py +1 -1
  45. metadata/generated/schema/api/data/createGlossary.py +1 -1
  46. metadata/generated/schema/api/data/createGlossaryTerm.py +1 -1
  47. metadata/generated/schema/api/data/createMetric.py +1 -1
  48. metadata/generated/schema/api/data/createMlModel.py +1 -1
  49. metadata/generated/schema/api/data/createPipeline.py +1 -1
  50. metadata/generated/schema/api/data/createQuery.py +1 -1
  51. metadata/generated/schema/api/data/createSearchIndex.py +8 -8
  52. metadata/generated/schema/api/data/createStoredProcedure.py +1 -1
  53. metadata/generated/schema/api/data/createTable.py +1 -1
  54. metadata/generated/schema/api/data/createTableProfile.py +1 -1
  55. metadata/generated/schema/api/data/createTopic.py +1 -1
  56. metadata/generated/schema/api/data/loadGlossary.py +1 -1
  57. metadata/generated/schema/api/data/restoreEntity.py +1 -1
  58. metadata/generated/schema/api/dataInsight/__init__.py +1 -1
  59. metadata/generated/schema/api/dataInsight/createDataInsightChart.py +1 -1
  60. metadata/generated/schema/api/dataInsight/custom/__init__.py +1 -1
  61. metadata/generated/schema/api/dataInsight/custom/createDataInsightCustomChart.py +1 -1
  62. metadata/generated/schema/api/dataInsight/kpi/__init__.py +1 -1
  63. metadata/generated/schema/api/dataInsight/kpi/createKpiRequest.py +1 -1
  64. metadata/generated/schema/api/docStore/__init__.py +1 -1
  65. metadata/generated/schema/api/docStore/createDocument.py +1 -1
  66. metadata/generated/schema/api/domains/__init__.py +1 -1
  67. metadata/generated/schema/api/domains/createDataProduct.py +1 -1
  68. metadata/generated/schema/api/domains/createDomain.py +1 -1
  69. metadata/generated/schema/api/feed/__init__.py +1 -1
  70. metadata/generated/schema/api/feed/closeTask.py +1 -1
  71. metadata/generated/schema/api/feed/createPost.py +1 -1
  72. metadata/generated/schema/api/feed/createSuggestion.py +1 -1
  73. metadata/generated/schema/api/feed/createThread.py +1 -1
  74. metadata/generated/schema/api/feed/resolveTask.py +1 -1
  75. metadata/generated/schema/api/feed/threadCount.py +1 -1
  76. metadata/generated/schema/api/governance/__init__.py +1 -1
  77. metadata/generated/schema/api/governance/createWorkflowDefinition.py +1 -1
  78. metadata/generated/schema/api/governance/createWorkflowInstanceState.py +1 -1
  79. metadata/generated/schema/api/lineage/__init__.py +1 -1
  80. metadata/generated/schema/api/lineage/addLineage.py +1 -1
  81. metadata/generated/schema/api/openMetadataServerVersion.py +1 -1
  82. metadata/generated/schema/api/policies/__init__.py +1 -1
  83. metadata/generated/schema/api/policies/createPolicy.py +1 -1
  84. metadata/generated/schema/api/services/__init__.py +1 -1
  85. metadata/generated/schema/api/services/createApiService.py +1 -1
  86. metadata/generated/schema/api/services/createDashboardService.py +1 -1
  87. metadata/generated/schema/api/services/createDatabaseService.py +1 -1
  88. metadata/generated/schema/api/services/createMessagingService.py +1 -1
  89. metadata/generated/schema/api/services/createMetadataService.py +1 -1
  90. metadata/generated/schema/api/services/createMlModelService.py +1 -1
  91. metadata/generated/schema/api/services/createPipelineService.py +1 -1
  92. metadata/generated/schema/api/services/createSearchService.py +1 -1
  93. metadata/generated/schema/api/services/createStorageService.py +1 -1
  94. metadata/generated/schema/api/services/ingestionPipelines/__init__.py +1 -1
  95. metadata/generated/schema/api/services/ingestionPipelines/createIngestionPipeline.py +1 -1
  96. metadata/generated/schema/api/setOwner.py +1 -1
  97. metadata/generated/schema/api/teams/__init__.py +1 -1
  98. metadata/generated/schema/api/teams/createPersona.py +1 -1
  99. metadata/generated/schema/api/teams/createRole.py +1 -1
  100. metadata/generated/schema/api/teams/createTeam.py +1 -1
  101. metadata/generated/schema/api/teams/createUser.py +1 -1
  102. metadata/generated/schema/api/tests/__init__.py +1 -1
  103. metadata/generated/schema/api/tests/createCustomMetric.py +1 -1
  104. metadata/generated/schema/api/tests/createLogicalTestCases.py +1 -1
  105. metadata/generated/schema/api/tests/createTestCase.py +1 -1
  106. metadata/generated/schema/api/tests/createTestCaseResolutionStatus.py +1 -1
  107. metadata/generated/schema/api/tests/createTestCaseResult.py +1 -1
  108. metadata/generated/schema/api/tests/createTestDefinition.py +1 -1
  109. metadata/generated/schema/api/tests/createTestSuite.py +1 -1
  110. metadata/generated/schema/api/voteRequest.py +1 -1
  111. metadata/generated/schema/auth/__init__.py +1 -1
  112. metadata/generated/schema/auth/basicAuth.py +1 -1
  113. metadata/generated/schema/auth/basicLoginRequest.py +1 -1
  114. metadata/generated/schema/auth/changePasswordRequest.py +1 -1
  115. metadata/generated/schema/auth/createPersonalToken.py +1 -1
  116. metadata/generated/schema/auth/emailRequest.py +1 -1
  117. metadata/generated/schema/auth/emailVerificationToken.py +1 -1
  118. metadata/generated/schema/auth/generateToken.py +1 -1
  119. metadata/generated/schema/auth/jwtAuth.py +1 -1
  120. metadata/generated/schema/auth/loginRequest.py +1 -1
  121. metadata/generated/schema/auth/logoutRequest.py +1 -1
  122. metadata/generated/schema/auth/passwordResetRequest.py +1 -1
  123. metadata/generated/schema/auth/passwordResetToken.py +1 -1
  124. metadata/generated/schema/auth/personalAccessToken.py +1 -1
  125. metadata/generated/schema/auth/refreshToken.py +1 -1
  126. metadata/generated/schema/auth/registrationRequest.py +1 -1
  127. metadata/generated/schema/auth/revokePersonalToken.py +1 -1
  128. metadata/generated/schema/auth/revokeToken.py +1 -1
  129. metadata/generated/schema/auth/serviceTokenEnum.py +1 -1
  130. metadata/generated/schema/auth/ssoAuth.py +1 -1
  131. metadata/generated/schema/auth/tokenRefreshRequest.py +1 -1
  132. metadata/generated/schema/configuration/__init__.py +1 -1
  133. metadata/generated/schema/configuration/appsPrivateConfiguration.py +1 -1
  134. metadata/generated/schema/configuration/assetCertificationSettings.py +1 -1
  135. metadata/generated/schema/configuration/authConfig.py +1 -1
  136. metadata/generated/schema/configuration/authenticationConfiguration.py +1 -1
  137. metadata/generated/schema/configuration/authorizerConfiguration.py +1 -1
  138. metadata/generated/schema/configuration/changeEventConfiguration.py +1 -1
  139. metadata/generated/schema/configuration/dataQualityConfiguration.py +1 -1
  140. metadata/generated/schema/configuration/elasticSearchConfiguration.py +1 -1
  141. metadata/generated/schema/configuration/eventHandlerConfiguration.py +1 -1
  142. metadata/generated/schema/configuration/fernetConfiguration.py +1 -1
  143. metadata/generated/schema/configuration/jwtTokenConfiguration.py +1 -1
  144. metadata/generated/schema/configuration/kafkaEventConfiguration.py +1 -1
  145. metadata/generated/schema/configuration/ldapConfiguration.py +1 -1
  146. metadata/generated/schema/configuration/ldapTrustStoreConfig/__init__.py +1 -1
  147. metadata/generated/schema/configuration/ldapTrustStoreConfig/customTrustManagerConfig.py +1 -1
  148. metadata/generated/schema/configuration/ldapTrustStoreConfig/hostNameConfig.py +1 -1
  149. metadata/generated/schema/configuration/ldapTrustStoreConfig/jvmDefaultConfig.py +1 -1
  150. metadata/generated/schema/configuration/ldapTrustStoreConfig/trustAllConfig.py +1 -1
  151. metadata/generated/schema/configuration/ldapTrustStoreConfig/truststoreConfig.py +1 -1
  152. metadata/generated/schema/configuration/limitsConfiguration.py +1 -1
  153. metadata/generated/schema/configuration/lineageSettings.py +1 -1
  154. metadata/generated/schema/configuration/loginConfiguration.py +1 -1
  155. metadata/generated/schema/configuration/logoConfiguration.py +1 -1
  156. metadata/generated/schema/configuration/pipelineServiceClientConfiguration.py +1 -1
  157. metadata/generated/schema/configuration/profilerConfiguration.py +1 -1
  158. metadata/generated/schema/configuration/searchSettings.py +1 -1
  159. metadata/generated/schema/configuration/slackAppConfiguration.py +1 -1
  160. metadata/generated/schema/configuration/taskNotificationConfiguration.py +1 -1
  161. metadata/generated/schema/configuration/testResultNotificationConfiguration.py +1 -1
  162. metadata/generated/schema/configuration/themeConfiguration.py +1 -1
  163. metadata/generated/schema/configuration/uiThemePreference.py +1 -1
  164. metadata/generated/schema/dataInsight/__init__.py +1 -1
  165. metadata/generated/schema/dataInsight/custom/__init__.py +1 -1
  166. metadata/generated/schema/dataInsight/custom/dataInsightCustomChart.py +1 -1
  167. metadata/generated/schema/dataInsight/custom/dataInsightCustomChartResult.py +1 -1
  168. metadata/generated/schema/dataInsight/custom/dataInsightCustomChartResultList.py +1 -1
  169. metadata/generated/schema/dataInsight/custom/formulaHolder.py +1 -1
  170. metadata/generated/schema/dataInsight/custom/lineChart.py +1 -1
  171. metadata/generated/schema/dataInsight/custom/summaryCard.py +1 -1
  172. metadata/generated/schema/dataInsight/dataInsightChart.py +1 -1
  173. metadata/generated/schema/dataInsight/dataInsightChartResult.py +1 -1
  174. metadata/generated/schema/dataInsight/kpi/__init__.py +1 -1
  175. metadata/generated/schema/dataInsight/kpi/basic.py +1 -1
  176. metadata/generated/schema/dataInsight/kpi/kpi.py +1 -1
  177. metadata/generated/schema/dataInsight/type/__init__.py +1 -1
  178. metadata/generated/schema/dataInsight/type/aggregatedUnusedAssetsCount.py +1 -1
  179. metadata/generated/schema/dataInsight/type/aggregatedUnusedAssetsSize.py +1 -1
  180. metadata/generated/schema/dataInsight/type/aggregatedUsedVsUnusedAssetsCount.py +1 -1
  181. metadata/generated/schema/dataInsight/type/aggregatedUsedVsUnusedAssetsSize.py +1 -1
  182. metadata/generated/schema/dataInsight/type/dailyActiveUsers.py +1 -1
  183. metadata/generated/schema/dataInsight/type/mostActiveUsers.py +1 -1
  184. metadata/generated/schema/dataInsight/type/mostViewedEntities.py +1 -1
  185. metadata/generated/schema/dataInsight/type/pageViewsByEntities.py +1 -1
  186. metadata/generated/schema/dataInsight/type/unusedAssets.py +1 -1
  187. metadata/generated/schema/email/__init__.py +1 -1
  188. metadata/generated/schema/email/emailRequest.py +1 -1
  189. metadata/generated/schema/email/emailTemplate.py +1 -1
  190. metadata/generated/schema/email/emailTemplatePlaceholder.py +1 -1
  191. metadata/generated/schema/email/smtpSettings.py +1 -1
  192. metadata/generated/schema/email/templateValidationReponse.py +1 -1
  193. metadata/generated/schema/entity/__init__.py +1 -1
  194. metadata/generated/schema/entity/applications/__init__.py +1 -1
  195. metadata/generated/schema/entity/applications/app.py +1 -1
  196. metadata/generated/schema/entity/applications/appExtension.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/collateAIAppConfig.py +1 -1
  216. metadata/generated/schema/entity/applications/configuration/external/slackAppTokenConfiguration.py +1 -1
  217. metadata/generated/schema/entity/applications/configuration/internal/__init__.py +1 -1
  218. metadata/generated/schema/entity/applications/configuration/internal/dataInsightsAppConfig.py +1 -1
  219. metadata/generated/schema/entity/applications/configuration/internal/dataInsightsReportAppConfig.py +1 -1
  220. metadata/generated/schema/entity/applications/configuration/internal/searchIndexingAppConfig.py +1 -1
  221. metadata/generated/schema/entity/applications/configuration/private/external/__init__.py +1 -1
  222. metadata/generated/schema/entity/applications/configuration/private/external/collateAIAppPrivateConfig.py +1 -1
  223. metadata/generated/schema/entity/applications/createAppRequest.py +1 -1
  224. metadata/generated/schema/entity/applications/jobStatus.py +1 -1
  225. metadata/generated/schema/entity/applications/liveExecutionContext.py +1 -1
  226. metadata/generated/schema/entity/applications/marketplace/__init__.py +1 -1
  227. metadata/generated/schema/entity/applications/marketplace/appMarketPlaceDefinition.py +1 -1
  228. metadata/generated/schema/entity/applications/marketplace/createAppMarketPlaceDefinitionReq.py +1 -1
  229. metadata/generated/schema/entity/applications/scheduledExecutionContext.py +1 -1
  230. metadata/generated/schema/entity/automations/__init__.py +1 -1
  231. metadata/generated/schema/entity/automations/testServiceConnection.py +1 -1
  232. metadata/generated/schema/entity/automations/workflow.py +1 -1
  233. metadata/generated/schema/entity/bot.py +1 -1
  234. metadata/generated/schema/entity/classification/__init__.py +1 -1
  235. metadata/generated/schema/entity/classification/classification.py +1 -1
  236. metadata/generated/schema/entity/classification/tag.py +1 -1
  237. metadata/generated/schema/entity/data/__init__.py +1 -1
  238. metadata/generated/schema/entity/data/apiCollection.py +1 -1
  239. metadata/generated/schema/entity/data/apiEndpoint.py +1 -1
  240. metadata/generated/schema/entity/data/chart.py +1 -1
  241. metadata/generated/schema/entity/data/container.py +1 -1
  242. metadata/generated/schema/entity/data/dashboard.py +1 -1
  243. metadata/generated/schema/entity/data/dashboardDataModel.py +1 -1
  244. metadata/generated/schema/entity/data/database.py +1 -1
  245. metadata/generated/schema/entity/data/databaseSchema.py +1 -1
  246. metadata/generated/schema/entity/data/glossary.py +1 -1
  247. metadata/generated/schema/entity/data/glossaryTerm.py +1 -1
  248. metadata/generated/schema/entity/data/metric.py +1 -1
  249. metadata/generated/schema/entity/data/mlmodel.py +1 -1
  250. metadata/generated/schema/entity/data/pipeline.py +1 -1
  251. metadata/generated/schema/entity/data/query.py +1 -1
  252. metadata/generated/schema/entity/data/report.py +1 -1
  253. metadata/generated/schema/entity/data/searchIndex.py +13 -13
  254. metadata/generated/schema/entity/data/storedProcedure.py +1 -1
  255. metadata/generated/schema/entity/data/table.py +1 -1
  256. metadata/generated/schema/entity/data/topic.py +1 -1
  257. metadata/generated/schema/entity/docStore/__init__.py +1 -1
  258. metadata/generated/schema/entity/docStore/document.py +1 -1
  259. metadata/generated/schema/entity/domains/__init__.py +1 -1
  260. metadata/generated/schema/entity/domains/dataProduct.py +1 -1
  261. metadata/generated/schema/entity/domains/domain.py +1 -1
  262. metadata/generated/schema/entity/events/__init__.py +1 -1
  263. metadata/generated/schema/entity/events/webhook.py +1 -1
  264. metadata/generated/schema/entity/feed/__init__.py +1 -1
  265. metadata/generated/schema/entity/feed/assets.py +1 -1
  266. metadata/generated/schema/entity/feed/customProperty.py +1 -1
  267. metadata/generated/schema/entity/feed/description.py +1 -1
  268. metadata/generated/schema/entity/feed/domain.py +1 -1
  269. metadata/generated/schema/entity/feed/entityInfo.py +1 -1
  270. metadata/generated/schema/entity/feed/owner.py +1 -1
  271. metadata/generated/schema/entity/feed/suggestion.py +1 -1
  272. metadata/generated/schema/entity/feed/tag.py +1 -1
  273. metadata/generated/schema/entity/feed/testCaseResult.py +1 -1
  274. metadata/generated/schema/entity/feed/thread.py +1 -1
  275. metadata/generated/schema/entity/policies/__init__.py +1 -1
  276. metadata/generated/schema/entity/policies/accessControl/__init__.py +1 -1
  277. metadata/generated/schema/entity/policies/accessControl/resourceDescriptor.py +1 -1
  278. metadata/generated/schema/entity/policies/accessControl/resourcePermission.py +1 -1
  279. metadata/generated/schema/entity/policies/accessControl/rule.py +1 -1
  280. metadata/generated/schema/entity/policies/filters.py +1 -1
  281. metadata/generated/schema/entity/policies/policy.py +1 -1
  282. metadata/generated/schema/entity/services/__init__.py +1 -1
  283. metadata/generated/schema/entity/services/apiService.py +1 -1
  284. metadata/generated/schema/entity/services/connections/__init__.py +1 -1
  285. metadata/generated/schema/entity/services/connections/api/__init__.py +1 -1
  286. metadata/generated/schema/entity/services/connections/api/restConnection.py +1 -1
  287. metadata/generated/schema/entity/services/connections/common/__init__.py +1 -1
  288. metadata/generated/schema/entity/services/connections/common/sslCertPaths.py +1 -1
  289. metadata/generated/schema/entity/services/connections/common/sslCertValues.py +1 -1
  290. metadata/generated/schema/entity/services/connections/common/sslConfig.py +1 -1
  291. metadata/generated/schema/entity/services/connections/connectionBasicType.py +1 -1
  292. metadata/generated/schema/entity/services/connections/dashboard/__init__.py +1 -1
  293. metadata/generated/schema/entity/services/connections/dashboard/customDashboardConnection.py +1 -1
  294. metadata/generated/schema/entity/services/connections/dashboard/domoDashboardConnection.py +1 -1
  295. metadata/generated/schema/entity/services/connections/dashboard/lightdashConnection.py +1 -1
  296. metadata/generated/schema/entity/services/connections/dashboard/lookerConnection.py +1 -1
  297. metadata/generated/schema/entity/services/connections/dashboard/metabaseConnection.py +1 -1
  298. metadata/generated/schema/entity/services/connections/dashboard/microStrategyConnection.py +1 -1
  299. metadata/generated/schema/entity/services/connections/dashboard/modeConnection.py +1 -1
  300. metadata/generated/schema/entity/services/connections/dashboard/powerBIConnection.py +1 -1
  301. metadata/generated/schema/entity/services/connections/dashboard/powerBIReportServerConnection.py +1 -1
  302. metadata/generated/schema/entity/services/connections/dashboard/powerbi/__init__.py +1 -1
  303. metadata/generated/schema/entity/services/connections/dashboard/powerbi/azureConfig.py +1 -1
  304. metadata/generated/schema/entity/services/connections/dashboard/powerbi/bucketDetails.py +1 -1
  305. metadata/generated/schema/entity/services/connections/dashboard/powerbi/gcsConfig.py +1 -1
  306. metadata/generated/schema/entity/services/connections/dashboard/powerbi/s3Config.py +1 -1
  307. metadata/generated/schema/entity/services/connections/dashboard/qlikCloudConnection.py +1 -1
  308. metadata/generated/schema/entity/services/connections/dashboard/qlikSenseConnection.py +1 -1
  309. metadata/generated/schema/entity/services/connections/dashboard/quickSightConnection.py +1 -1
  310. metadata/generated/schema/entity/services/connections/dashboard/redashConnection.py +1 -1
  311. metadata/generated/schema/entity/services/connections/dashboard/sigmaConnection.py +1 -1
  312. metadata/generated/schema/entity/services/connections/dashboard/supersetConnection.py +1 -1
  313. metadata/generated/schema/entity/services/connections/dashboard/tableauConnection.py +1 -1
  314. metadata/generated/schema/entity/services/connections/database/__init__.py +1 -1
  315. metadata/generated/schema/entity/services/connections/database/athenaConnection.py +1 -1
  316. metadata/generated/schema/entity/services/connections/database/azureSQLConnection.py +1 -1
  317. metadata/generated/schema/entity/services/connections/database/bigQueryConnection.py +1 -1
  318. metadata/generated/schema/entity/services/connections/database/bigTableConnection.py +1 -1
  319. metadata/generated/schema/entity/services/connections/database/clickhouseConnection.py +1 -1
  320. metadata/generated/schema/entity/services/connections/database/common/__init__.py +1 -1
  321. metadata/generated/schema/entity/services/connections/database/common/azureConfig.py +1 -1
  322. metadata/generated/schema/entity/services/connections/database/common/basicAuth.py +1 -1
  323. metadata/generated/schema/entity/services/connections/database/common/iamAuthConfig.py +1 -1
  324. metadata/generated/schema/entity/services/connections/database/common/jwtAuth.py +1 -1
  325. metadata/generated/schema/entity/services/connections/database/common/noConfigAuthenticationTypes.py +1 -1
  326. metadata/generated/schema/entity/services/connections/database/couchbaseConnection.py +1 -1
  327. metadata/generated/schema/entity/services/connections/database/customDatabaseConnection.py +1 -1
  328. metadata/generated/schema/entity/services/connections/database/databricksConnection.py +1 -1
  329. metadata/generated/schema/entity/services/connections/database/datalake/__init__.py +1 -1
  330. metadata/generated/schema/entity/services/connections/database/datalake/azureConfig.py +1 -1
  331. metadata/generated/schema/entity/services/connections/database/datalake/gcsConfig.py +1 -1
  332. metadata/generated/schema/entity/services/connections/database/datalake/s3Config.py +1 -1
  333. metadata/generated/schema/entity/services/connections/database/datalakeConnection.py +1 -1
  334. metadata/generated/schema/entity/services/connections/database/db2Connection.py +13 -1
  335. metadata/generated/schema/entity/services/connections/database/deltaLakeConnection.py +1 -1
  336. metadata/generated/schema/entity/services/connections/database/deltalake/__init__.py +1 -1
  337. metadata/generated/schema/entity/services/connections/database/deltalake/metastoreConfig.py +1 -1
  338. metadata/generated/schema/entity/services/connections/database/deltalake/storageConfig.py +1 -1
  339. metadata/generated/schema/entity/services/connections/database/domoDatabaseConnection.py +1 -1
  340. metadata/generated/schema/entity/services/connections/database/dorisConnection.py +1 -1
  341. metadata/generated/schema/entity/services/connections/database/druidConnection.py +1 -1
  342. metadata/generated/schema/entity/services/connections/database/dynamoDBConnection.py +1 -1
  343. metadata/generated/schema/entity/services/connections/database/exasolConnection.py +1 -1
  344. metadata/generated/schema/entity/services/connections/database/glueConnection.py +1 -1
  345. metadata/generated/schema/entity/services/connections/database/greenplumConnection.py +1 -1
  346. metadata/generated/schema/entity/services/connections/database/hiveConnection.py +1 -1
  347. metadata/generated/schema/entity/services/connections/database/iceberg/__init__.py +1 -1
  348. metadata/generated/schema/entity/services/connections/database/iceberg/dynamoDbCatalogConnection.py +1 -1
  349. metadata/generated/schema/entity/services/connections/database/iceberg/glueCatalogConnection.py +1 -1
  350. metadata/generated/schema/entity/services/connections/database/iceberg/hiveCatalogConnection.py +1 -1
  351. metadata/generated/schema/entity/services/connections/database/iceberg/icebergCatalog.py +1 -1
  352. metadata/generated/schema/entity/services/connections/database/iceberg/icebergFileSystem.py +1 -1
  353. metadata/generated/schema/entity/services/connections/database/iceberg/restCatalogConnection.py +1 -1
  354. metadata/generated/schema/entity/services/connections/database/icebergConnection.py +1 -1
  355. metadata/generated/schema/entity/services/connections/database/impalaConnection.py +1 -1
  356. metadata/generated/schema/entity/services/connections/database/mariaDBConnection.py +1 -1
  357. metadata/generated/schema/entity/services/connections/database/mongoDBConnection.py +1 -1
  358. metadata/generated/schema/entity/services/connections/database/mssqlConnection.py +1 -1
  359. metadata/generated/schema/entity/services/connections/database/mysqlConnection.py +1 -1
  360. metadata/generated/schema/entity/services/connections/database/oracleConnection.py +1 -1
  361. metadata/generated/schema/entity/services/connections/database/pinotDBConnection.py +1 -1
  362. metadata/generated/schema/entity/services/connections/database/postgresConnection.py +1 -1
  363. metadata/generated/schema/entity/services/connections/database/prestoConnection.py +1 -1
  364. metadata/generated/schema/entity/services/connections/database/redshiftConnection.py +1 -1
  365. metadata/generated/schema/entity/services/connections/database/salesforceConnection.py +1 -1
  366. metadata/generated/schema/entity/services/connections/database/sapErpConnection.py +1 -1
  367. metadata/generated/schema/entity/services/connections/database/sapHana/__init__.py +1 -1
  368. metadata/generated/schema/entity/services/connections/database/sapHana/sapHanaHDBConnection.py +1 -1
  369. metadata/generated/schema/entity/services/connections/database/sapHana/sapHanaSQLConnection.py +1 -1
  370. metadata/generated/schema/entity/services/connections/database/sapHanaConnection.py +1 -1
  371. metadata/generated/schema/entity/services/connections/database/sasConnection.py +1 -1
  372. metadata/generated/schema/entity/services/connections/database/singleStoreConnection.py +1 -1
  373. metadata/generated/schema/entity/services/connections/database/snowflakeConnection.py +1 -1
  374. metadata/generated/schema/entity/services/connections/database/sqliteConnection.py +1 -1
  375. metadata/generated/schema/entity/services/connections/database/synapseConnection.py +1 -1
  376. metadata/generated/schema/entity/services/connections/database/teradataConnection.py +1 -1
  377. metadata/generated/schema/entity/services/connections/database/trinoConnection.py +1 -1
  378. metadata/generated/schema/entity/services/connections/database/unityCatalogConnection.py +1 -1
  379. metadata/generated/schema/entity/services/connections/database/verticaConnection.py +1 -1
  380. metadata/generated/schema/entity/services/connections/messaging/__init__.py +1 -1
  381. metadata/generated/schema/entity/services/connections/messaging/customMessagingConnection.py +1 -1
  382. metadata/generated/schema/entity/services/connections/messaging/kafkaConnection.py +1 -1
  383. metadata/generated/schema/entity/services/connections/messaging/kinesisConnection.py +1 -1
  384. metadata/generated/schema/entity/services/connections/messaging/pulsarConnection.py +1 -1
  385. metadata/generated/schema/entity/services/connections/messaging/redpandaConnection.py +1 -1
  386. metadata/generated/schema/entity/services/connections/messaging/saslMechanismType.py +1 -1
  387. metadata/generated/schema/entity/services/connections/metadata/__init__.py +1 -1
  388. metadata/generated/schema/entity/services/connections/metadata/alationConnection.py +1 -1
  389. metadata/generated/schema/entity/services/connections/metadata/alationSinkConnection.py +1 -1
  390. metadata/generated/schema/entity/services/connections/metadata/amundsenConnection.py +1 -1
  391. metadata/generated/schema/entity/services/connections/metadata/atlasConnection.py +1 -1
  392. metadata/generated/schema/entity/services/connections/metadata/metadataESConnection.py +1 -1
  393. metadata/generated/schema/entity/services/connections/metadata/openMetadataConnection.py +1 -1
  394. metadata/generated/schema/entity/services/connections/mlmodel/__init__.py +1 -1
  395. metadata/generated/schema/entity/services/connections/mlmodel/customMlModelConnection.py +1 -1
  396. metadata/generated/schema/entity/services/connections/mlmodel/mlflowConnection.py +1 -1
  397. metadata/generated/schema/entity/services/connections/mlmodel/sageMakerConnection.py +1 -1
  398. metadata/generated/schema/entity/services/connections/mlmodel/sklearnConnection.py +1 -1
  399. metadata/generated/schema/entity/services/connections/mlmodel/vertexaiConnection.py +1 -1
  400. metadata/generated/schema/entity/services/connections/pipeline/__init__.py +1 -1
  401. metadata/generated/schema/entity/services/connections/pipeline/airbyteConnection.py +1 -1
  402. metadata/generated/schema/entity/services/connections/pipeline/airflowConnection.py +1 -1
  403. metadata/generated/schema/entity/services/connections/pipeline/backendConnection.py +1 -1
  404. metadata/generated/schema/entity/services/connections/pipeline/customPipelineConnection.py +1 -1
  405. metadata/generated/schema/entity/services/connections/pipeline/dagsterConnection.py +1 -1
  406. metadata/generated/schema/entity/services/connections/pipeline/databricksPipelineConnection.py +1 -1
  407. metadata/generated/schema/entity/services/connections/pipeline/datafactoryConnection.py +1 -1
  408. metadata/generated/schema/entity/services/connections/pipeline/dbtCloudConnection.py +1 -1
  409. metadata/generated/schema/entity/services/connections/pipeline/domoPipelineConnection.py +1 -1
  410. metadata/generated/schema/entity/services/connections/pipeline/fivetranConnection.py +1 -1
  411. metadata/generated/schema/entity/services/connections/pipeline/flinkConnection.py +1 -1
  412. metadata/generated/schema/entity/services/connections/pipeline/gluePipelineConnection.py +1 -1
  413. metadata/generated/schema/entity/services/connections/pipeline/kafkaConnectConnection.py +1 -1
  414. metadata/generated/schema/entity/services/connections/pipeline/matillionConnection.py +1 -1
  415. metadata/generated/schema/entity/services/connections/pipeline/nifiConnection.py +1 -1
  416. metadata/generated/schema/entity/services/connections/pipeline/openLineageConnection.py +1 -1
  417. metadata/generated/schema/entity/services/connections/pipeline/sparkConnection.py +1 -1
  418. metadata/generated/schema/entity/services/connections/pipeline/splineConnection.py +1 -1
  419. metadata/generated/schema/entity/services/connections/pipeline/stitchConnection.py +1 -1
  420. metadata/generated/schema/entity/services/connections/search/__init__.py +1 -1
  421. metadata/generated/schema/entity/services/connections/search/customSearchConnection.py +1 -1
  422. metadata/generated/schema/entity/services/connections/search/elasticSearch/__init__.py +1 -1
  423. metadata/generated/schema/entity/services/connections/search/elasticSearch/apiAuth.py +1 -1
  424. metadata/generated/schema/entity/services/connections/search/elasticSearch/basicAuth.py +1 -1
  425. metadata/generated/schema/entity/services/connections/search/elasticSearchConnection.py +1 -1
  426. metadata/generated/schema/entity/services/connections/search/openSearchConnection.py +1 -1
  427. metadata/generated/schema/entity/services/connections/serviceConnection.py +1 -1
  428. metadata/generated/schema/entity/services/connections/storage/__init__.py +1 -1
  429. metadata/generated/schema/entity/services/connections/storage/adlsConnection.py +1 -1
  430. metadata/generated/schema/entity/services/connections/storage/customStorageConnection.py +1 -1
  431. metadata/generated/schema/entity/services/connections/storage/gcsConnection.py +1 -1
  432. metadata/generated/schema/entity/services/connections/storage/s3Connection.py +1 -1
  433. metadata/generated/schema/entity/services/connections/testConnectionDefinition.py +1 -1
  434. metadata/generated/schema/entity/services/connections/testConnectionResult.py +1 -1
  435. metadata/generated/schema/entity/services/dashboardService.py +1 -1
  436. metadata/generated/schema/entity/services/databaseService.py +1 -1
  437. metadata/generated/schema/entity/services/ingestionPipelines/__init__.py +1 -1
  438. metadata/generated/schema/entity/services/ingestionPipelines/ingestionPipeline.py +1 -1
  439. metadata/generated/schema/entity/services/ingestionPipelines/pipelineServiceClientResponse.py +1 -1
  440. metadata/generated/schema/entity/services/ingestionPipelines/status.py +1 -1
  441. metadata/generated/schema/entity/services/messagingService.py +1 -1
  442. metadata/generated/schema/entity/services/metadataService.py +1 -1
  443. metadata/generated/schema/entity/services/mlmodelService.py +1 -1
  444. metadata/generated/schema/entity/services/pipelineService.py +1 -1
  445. metadata/generated/schema/entity/services/searchService.py +1 -1
  446. metadata/generated/schema/entity/services/serviceType.py +1 -1
  447. metadata/generated/schema/entity/services/storageService.py +1 -1
  448. metadata/generated/schema/entity/teams/__init__.py +1 -1
  449. metadata/generated/schema/entity/teams/persona.py +1 -1
  450. metadata/generated/schema/entity/teams/role.py +1 -1
  451. metadata/generated/schema/entity/teams/team.py +1 -1
  452. metadata/generated/schema/entity/teams/teamHierarchy.py +1 -1
  453. metadata/generated/schema/entity/teams/user.py +1 -1
  454. metadata/generated/schema/entity/type.py +1 -1
  455. metadata/generated/schema/entity/utils/__init__.py +1 -1
  456. metadata/generated/schema/entity/utils/entitiesCount.py +1 -1
  457. metadata/generated/schema/entity/utils/servicesCount.py +1 -1
  458. metadata/generated/schema/entity/utils/supersetApiConnection.py +1 -1
  459. metadata/generated/schema/events/__init__.py +1 -1
  460. metadata/generated/schema/events/alertMetrics.py +1 -1
  461. metadata/generated/schema/events/api/__init__.py +1 -1
  462. metadata/generated/schema/events/api/createEventSubscription.py +1 -1
  463. metadata/generated/schema/events/api/eventSubscriptionDiagnosticInfo.py +1 -1
  464. metadata/generated/schema/events/api/eventsRecord.py +1 -1
  465. metadata/generated/schema/events/api/testEventSubscriptionDestination.py +1 -1
  466. metadata/generated/schema/events/api/typedEvent.py +1 -1
  467. metadata/generated/schema/events/emailAlertConfig.py +1 -1
  468. metadata/generated/schema/events/eventFilterRule.py +1 -1
  469. metadata/generated/schema/events/eventSubscription.py +1 -1
  470. metadata/generated/schema/events/eventSubscriptionOffset.py +1 -1
  471. metadata/generated/schema/events/failedEvent.py +1 -1
  472. metadata/generated/schema/events/failedEventResponse.py +1 -1
  473. metadata/generated/schema/events/filterResourceDescriptor.py +1 -1
  474. metadata/generated/schema/events/statusContext.py +1 -1
  475. metadata/generated/schema/events/subscriptionResourceDescriptor.py +1 -1
  476. metadata/generated/schema/events/subscriptionStatus.py +1 -1
  477. metadata/generated/schema/events/testDestinationStatus.py +1 -1
  478. metadata/generated/schema/governance/workflows/__init__.py +1 -1
  479. metadata/generated/schema/governance/workflows/elements/__init__.py +1 -1
  480. metadata/generated/schema/governance/workflows/elements/edge.py +1 -1
  481. metadata/generated/schema/governance/workflows/elements/nodeSubType.py +1 -1
  482. metadata/generated/schema/governance/workflows/elements/nodeType.py +1 -1
  483. metadata/generated/schema/governance/workflows/elements/nodes/__init__.py +1 -1
  484. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/__init__.py +1 -1
  485. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/checkEntityAttributesTask.py +1 -1
  486. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/setEntityCertificationTask.py +1 -1
  487. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/setGlossaryTermStatusTask.py +1 -1
  488. metadata/generated/schema/governance/workflows/elements/nodes/endEvent/__init__.py +1 -1
  489. metadata/generated/schema/governance/workflows/elements/nodes/endEvent/endEvent.py +1 -1
  490. metadata/generated/schema/governance/workflows/elements/nodes/startEvent/__init__.py +1 -1
  491. metadata/generated/schema/governance/workflows/elements/nodes/startEvent/startEvent.py +1 -1
  492. metadata/generated/schema/governance/workflows/elements/nodes/userTask/__init__.py +1 -1
  493. metadata/generated/schema/governance/workflows/elements/nodes/userTask/userApprovalTask.py +1 -1
  494. metadata/generated/schema/governance/workflows/elements/triggers/__init__.py +1 -1
  495. metadata/generated/schema/governance/workflows/elements/triggers/eventBasedEntityTrigger.py +1 -1
  496. metadata/generated/schema/governance/workflows/elements/triggers/periodicBatchEntityTrigger.py +1 -1
  497. metadata/generated/schema/governance/workflows/workflowDefinition.py +1 -1
  498. metadata/generated/schema/governance/workflows/workflowInstance.py +1 -1
  499. metadata/generated/schema/governance/workflows/workflowInstanceState.py +1 -1
  500. metadata/generated/schema/metadataIngestion/__init__.py +1 -1
  501. metadata/generated/schema/metadataIngestion/apiServiceMetadataPipeline.py +1 -1
  502. metadata/generated/schema/metadataIngestion/application.py +1 -1
  503. metadata/generated/schema/metadataIngestion/applicationPipeline.py +1 -1
  504. metadata/generated/schema/metadataIngestion/dashboardServiceMetadataPipeline.py +1 -1
  505. metadata/generated/schema/metadataIngestion/dataInsightPipeline.py +1 -1
  506. metadata/generated/schema/metadataIngestion/databaseServiceAutoClassificationPipeline.py +1 -17
  507. metadata/generated/schema/metadataIngestion/databaseServiceMetadataPipeline.py +1 -1
  508. metadata/generated/schema/metadataIngestion/databaseServiceProfilerPipeline.py +1 -9
  509. metadata/generated/schema/metadataIngestion/databaseServiceQueryLineagePipeline.py +1 -1
  510. metadata/generated/schema/metadataIngestion/databaseServiceQueryUsagePipeline.py +1 -1
  511. metadata/generated/schema/metadataIngestion/dbtPipeline.py +1 -1
  512. metadata/generated/schema/metadataIngestion/dbtconfig/__init__.py +1 -1
  513. metadata/generated/schema/metadataIngestion/dbtconfig/dbtAzureConfig.py +1 -1
  514. metadata/generated/schema/metadataIngestion/dbtconfig/dbtBucketDetails.py +1 -1
  515. metadata/generated/schema/metadataIngestion/dbtconfig/dbtCloudConfig.py +1 -1
  516. metadata/generated/schema/metadataIngestion/dbtconfig/dbtGCSConfig.py +1 -1
  517. metadata/generated/schema/metadataIngestion/dbtconfig/dbtHttpConfig.py +1 -1
  518. metadata/generated/schema/metadataIngestion/dbtconfig/dbtLocalConfig.py +1 -1
  519. metadata/generated/schema/metadataIngestion/dbtconfig/dbtS3Config.py +1 -1
  520. metadata/generated/schema/metadataIngestion/messagingServiceMetadataPipeline.py +1 -1
  521. metadata/generated/schema/metadataIngestion/metadataToElasticSearchPipeline.py +1 -1
  522. metadata/generated/schema/metadataIngestion/mlmodelServiceMetadataPipeline.py +1 -1
  523. metadata/generated/schema/metadataIngestion/pipelineServiceMetadataPipeline.py +1 -1
  524. metadata/generated/schema/metadataIngestion/searchServiceMetadataPipeline.py +1 -1
  525. metadata/generated/schema/metadataIngestion/storage/__init__.py +1 -1
  526. metadata/generated/schema/metadataIngestion/storage/containerMetadataConfig.py +1 -1
  527. metadata/generated/schema/metadataIngestion/storage/manifestMetadataConfig.py +1 -1
  528. metadata/generated/schema/metadataIngestion/storage/storageBucketDetails.py +1 -1
  529. metadata/generated/schema/metadataIngestion/storage/storageMetadataADLSConfig.py +1 -1
  530. metadata/generated/schema/metadataIngestion/storage/storageMetadataGCSConfig.py +1 -1
  531. metadata/generated/schema/metadataIngestion/storage/storageMetadataHttpConfig.py +1 -1
  532. metadata/generated/schema/metadataIngestion/storage/storageMetadataLocalConfig.py +1 -1
  533. metadata/generated/schema/metadataIngestion/storage/storageMetadataS3Config.py +1 -1
  534. metadata/generated/schema/metadataIngestion/storageServiceMetadataPipeline.py +1 -1
  535. metadata/generated/schema/metadataIngestion/testSuitePipeline.py +1 -1
  536. metadata/generated/schema/metadataIngestion/workflow.py +1 -1
  537. metadata/generated/schema/monitoring/__init__.py +1 -1
  538. metadata/generated/schema/monitoring/eventMonitorProvider.py +1 -1
  539. metadata/generated/schema/security/__init__.py +1 -1
  540. metadata/generated/schema/security/client/__init__.py +1 -1
  541. metadata/generated/schema/security/client/auth0SSOClientConfig.py +1 -1
  542. metadata/generated/schema/security/client/azureSSOClientConfig.py +1 -1
  543. metadata/generated/schema/security/client/customOidcSSOClientConfig.py +1 -1
  544. metadata/generated/schema/security/client/googleSSOClientConfig.py +1 -1
  545. metadata/generated/schema/security/client/oidcClientConfig.py +1 -1
  546. metadata/generated/schema/security/client/oktaSSOClientConfig.py +1 -1
  547. metadata/generated/schema/security/client/openMetadataJWTClientConfig.py +1 -1
  548. metadata/generated/schema/security/client/samlSSOClientConfig.py +1 -1
  549. metadata/generated/schema/security/credentials/__init__.py +1 -1
  550. metadata/generated/schema/security/credentials/accessTokenAuth.py +1 -1
  551. metadata/generated/schema/security/credentials/apiAccessTokenAuth.py +1 -1
  552. metadata/generated/schema/security/credentials/awsCredentials.py +1 -1
  553. metadata/generated/schema/security/credentials/azureCredentials.py +1 -1
  554. metadata/generated/schema/security/credentials/basicAuth.py +1 -1
  555. metadata/generated/schema/security/credentials/bitbucketCredentials.py +1 -1
  556. metadata/generated/schema/security/credentials/gcpCredentials.py +1 -1
  557. metadata/generated/schema/security/credentials/gcpExternalAccount.py +1 -1
  558. metadata/generated/schema/security/credentials/gcpValues.py +1 -1
  559. metadata/generated/schema/security/credentials/gitCredentials.py +1 -1
  560. metadata/generated/schema/security/credentials/githubCredentials.py +1 -1
  561. metadata/generated/schema/security/credentials/gitlabCredentials.py +1 -1
  562. metadata/generated/schema/security/sasl/__init__.py +1 -1
  563. metadata/generated/schema/security/sasl/saslClientConfig.py +1 -1
  564. metadata/generated/schema/security/secrets/__init__.py +1 -1
  565. metadata/generated/schema/security/secrets/secretsManagerClientLoader.py +1 -1
  566. metadata/generated/schema/security/secrets/secretsManagerConfiguration.py +1 -1
  567. metadata/generated/schema/security/secrets/secretsManagerProvider.py +1 -1
  568. metadata/generated/schema/security/securityConfiguration.py +1 -1
  569. metadata/generated/schema/security/ssl/__init__.py +1 -1
  570. metadata/generated/schema/security/ssl/validateSSLClientConfig.py +1 -1
  571. metadata/generated/schema/security/ssl/verifySSLConfig.py +1 -1
  572. metadata/generated/schema/settings/__init__.py +1 -1
  573. metadata/generated/schema/settings/settings.py +1 -1
  574. metadata/generated/schema/system/__init__.py +1 -1
  575. metadata/generated/schema/system/entityError.py +1 -1
  576. metadata/generated/schema/system/eventPublisherJob.py +1 -1
  577. metadata/generated/schema/system/indexingError.py +1 -1
  578. metadata/generated/schema/system/limitsResponse.py +1 -1
  579. metadata/generated/schema/system/ui/__init__.py +1 -1
  580. metadata/generated/schema/system/ui/knowledgePanel.py +1 -1
  581. metadata/generated/schema/system/ui/page.py +1 -1
  582. metadata/generated/schema/system/validationResponse.py +1 -1
  583. metadata/generated/schema/tests/__init__.py +1 -1
  584. metadata/generated/schema/tests/assigned.py +1 -1
  585. metadata/generated/schema/tests/basic.py +1 -1
  586. metadata/generated/schema/tests/customMetric.py +1 -1
  587. metadata/generated/schema/tests/dataQualityReport.py +1 -1
  588. metadata/generated/schema/tests/resolved.py +1 -1
  589. metadata/generated/schema/tests/testCase.py +1 -1
  590. metadata/generated/schema/tests/testCaseResolutionStatus.py +1 -1
  591. metadata/generated/schema/tests/testDefinition.py +1 -1
  592. metadata/generated/schema/tests/testSuite.py +1 -1
  593. metadata/generated/schema/type/__init__.py +1 -1
  594. metadata/generated/schema/type/apiSchema.py +1 -1
  595. metadata/generated/schema/type/assetCertification.py +1 -1
  596. metadata/generated/schema/type/auditLog.py +1 -1
  597. metadata/generated/schema/type/basic.py +1 -1
  598. metadata/generated/schema/type/bulkOperationResult.py +1 -1
  599. metadata/generated/schema/type/changeEvent.py +1 -1
  600. metadata/generated/schema/type/changeEventType.py +1 -1
  601. metadata/generated/schema/type/collectionDescriptor.py +1 -1
  602. metadata/generated/schema/type/csvDocumentation.py +1 -1
  603. metadata/generated/schema/type/csvErrorType.py +1 -1
  604. metadata/generated/schema/type/csvFile.py +1 -1
  605. metadata/generated/schema/type/csvImportResult.py +1 -1
  606. metadata/generated/schema/type/customProperties/__init__.py +1 -1
  607. metadata/generated/schema/type/customProperties/complexTypes.py +1 -1
  608. metadata/generated/schema/type/customProperties/enumConfig.py +1 -1
  609. metadata/generated/schema/type/customProperties/tableConfig.py +1 -1
  610. metadata/generated/schema/type/customProperty.py +1 -1
  611. metadata/generated/schema/type/dailyCount.py +1 -1
  612. metadata/generated/schema/type/databaseConnectionConfig.py +1 -1
  613. metadata/generated/schema/type/entityHierarchy.py +1 -1
  614. metadata/generated/schema/type/entityHistory.py +1 -1
  615. metadata/generated/schema/type/entityLineage.py +1 -1
  616. metadata/generated/schema/type/entityReference.py +1 -1
  617. metadata/generated/schema/type/entityReferenceList.py +1 -1
  618. metadata/generated/schema/type/entityRelationship.py +2 -1
  619. metadata/generated/schema/type/entityUsage.py +1 -1
  620. metadata/generated/schema/type/filterPattern.py +1 -1
  621. metadata/generated/schema/type/function.py +1 -1
  622. metadata/generated/schema/type/include.py +1 -1
  623. metadata/generated/schema/type/jdbcConnection.py +1 -1
  624. metadata/generated/schema/type/lifeCycle.py +1 -1
  625. metadata/generated/schema/type/paging.py +1 -1
  626. metadata/generated/schema/type/profile.py +1 -1
  627. metadata/generated/schema/type/queryParserData.py +1 -1
  628. metadata/generated/schema/type/reaction.py +1 -1
  629. metadata/generated/schema/type/schedule.py +1 -1
  630. metadata/generated/schema/type/schema.py +1 -1
  631. metadata/generated/schema/type/tableQuery.py +1 -1
  632. metadata/generated/schema/type/tableUsageCount.py +1 -1
  633. metadata/generated/schema/type/tagLabel.py +1 -1
  634. metadata/generated/schema/type/usageDetails.py +1 -1
  635. metadata/generated/schema/type/usageRequest.py +1 -1
  636. metadata/generated/schema/type/votes.py +1 -1
  637. metadata/ingestion/lineage/parser.py +6 -4
  638. metadata/ingestion/lineage/sql_lineage.py +258 -29
  639. metadata/ingestion/models/patch_request.py +1 -0
  640. metadata/ingestion/ometa/mixins/data_insight_mixin.py +3 -2
  641. metadata/ingestion/ometa/mixins/ingestion_pipeline_mixin.py +5 -3
  642. metadata/ingestion/ometa/mixins/suggestions_mixin.py +3 -3
  643. metadata/ingestion/ometa/mixins/table_mixin.py +1 -1
  644. metadata/ingestion/source/dashboard/dashboard_service.py +2 -0
  645. metadata/ingestion/source/dashboard/microstrategy/client.py +39 -23
  646. metadata/ingestion/source/dashboard/microstrategy/connection.py +4 -1
  647. metadata/ingestion/source/dashboard/tableau/metadata.py +29 -12
  648. metadata/ingestion/source/dashboard/tableau/models.py +10 -0
  649. metadata/ingestion/source/database/bigquery/profiler/system.py +5 -4
  650. metadata/ingestion/source/database/db2/connection.py +14 -1
  651. metadata/ingestion/source/database/dbt/constants.py +8 -0
  652. metadata/ingestion/source/database/dbt/dbt_config.py +6 -2
  653. metadata/ingestion/source/database/dbt/dbt_service.py +18 -1
  654. metadata/ingestion/source/database/mssql/service_spec.py +2 -0
  655. metadata/ingestion/source/database/redshift/profiler/system.py +5 -4
  656. metadata/ingestion/source/database/snowflake/connection.py +7 -2
  657. metadata/ingestion/source/database/snowflake/lineage.py +35 -1
  658. metadata/ingestion/source/database/snowflake/metadata.py +38 -19
  659. metadata/ingestion/source/database/snowflake/models.py +1 -0
  660. metadata/ingestion/source/database/snowflake/profiler/system.py +5 -4
  661. metadata/ingestion/source/database/snowflake/queries.py +22 -1
  662. metadata/ingestion/source/database/stored_procedures_mixin.py +20 -8
  663. metadata/ingestion/source/pipeline/fivetran/metadata.py +1 -1
  664. metadata/ingestion/source/pipeline/kafkaconnect/client.py +12 -13
  665. metadata/ingestion/source/pipeline/kafkaconnect/connection.py +1 -1
  666. metadata/profiler/interface/sqlalchemy/profiler_interface.py +1 -1
  667. metadata/profiler/metrics/static/max.py +4 -2
  668. metadata/profiler/metrics/static/min.py +4 -2
  669. metadata/profiler/orm/converter/converter_registry.py +2 -0
  670. metadata/profiler/orm/converter/mssql/converter.py +15 -1
  671. metadata/profiler/orm/functions/md5.py +8 -5
  672. metadata/profiler/orm/functions/table_metric_computer.py +6 -6
  673. metadata/profiler/orm/types/custom_timestamp.py +4 -2
  674. metadata/profiler/processor/runner.py +5 -0
  675. metadata/profiler/source/database/base/profiler_source.py +0 -1
  676. metadata/sampler/processor.py +1 -5
  677. metadata/sampler/sqlalchemy/mssql/sampler.py +50 -0
  678. metadata/sampler/sqlalchemy/sampler.py +5 -2
  679. metadata/utils/class_helper.py +7 -0
  680. metadata/utils/importer.py +1 -1
  681. metadata/workflow/data_quality.py +5 -1
  682. {openmetadata_ingestion-1.6.0.0rc2.dist-info → openmetadata_ingestion-1.6.1.0.dist-info}/METADATA +364 -364
  683. {openmetadata_ingestion-1.6.0.0rc2.dist-info → openmetadata_ingestion-1.6.1.0.dist-info}/RECORD +687 -686
  684. {openmetadata_ingestion-1.6.0.0rc2.dist-info → openmetadata_ingestion-1.6.1.0.dist-info}/LICENSE +0 -0
  685. {openmetadata_ingestion-1.6.0.0rc2.dist-info → openmetadata_ingestion-1.6.1.0.dist-info}/WHEEL +0 -0
  686. {openmetadata_ingestion-1.6.0.0rc2.dist-info → openmetadata_ingestion-1.6.1.0.dist-info}/entry_points.txt +0 -0
  687. {openmetadata_ingestion-1.6.0.0rc2.dist-info → openmetadata_ingestion-1.6.1.0.dist-info}/top_level.txt +0 -0
@@ -22,6 +22,7 @@ from metadata.generated.schema.entity.services.ingestionPipelines.ingestionPipel
22
22
  )
23
23
  from metadata.ingestion.api.parser import parse_ingestion_pipeline_config_gracefully
24
24
  from metadata.ingestion.ometa.client import REST
25
+ from metadata.ingestion.ometa.utils import quote
25
26
  from metadata.utils.logger import ometa_logger
26
27
 
27
28
  logger = ometa_logger()
@@ -46,7 +47,7 @@ class OMetaIngestionPipelineMixin:
46
47
  :param pipeline_status: Pipeline Status data to add
47
48
  """
48
49
  resp = self.client.put(
49
- f"{self.get_suffix(IngestionPipeline)}/{ingestion_pipeline_fqn}/pipelineStatus",
50
+ f"{self.get_suffix(IngestionPipeline)}/{quote(ingestion_pipeline_fqn)}/pipelineStatus",
50
51
  data=pipeline_status.model_dump_json(),
51
52
  )
52
53
  logger.debug(
@@ -64,7 +65,8 @@ class OMetaIngestionPipelineMixin:
64
65
  :param pipeline_status_run_id: Pipeline Status run id
65
66
  """
66
67
  resp = self.client.get(
67
- f"{self.get_suffix(IngestionPipeline)}/{ingestion_pipeline_fqn}/pipelineStatus/{pipeline_status_run_id}"
68
+ f"{self.get_suffix(IngestionPipeline)}/"
69
+ f"{quote(ingestion_pipeline_fqn)}/pipelineStatus/{pipeline_status_run_id}"
68
70
  )
69
71
  if resp:
70
72
  return PipelineStatus(**resp)
@@ -99,7 +101,7 @@ class OMetaIngestionPipelineMixin:
99
101
  params = {"startTs": start_ts, "endTs": end_ts}
100
102
 
101
103
  resp = self.client.get(
102
- f"{self.get_suffix(IngestionPipeline)}/{ingestion_pipeline_fqn}/pipelineStatus",
104
+ f"{self.get_suffix(IngestionPipeline)}/{quote(ingestion_pipeline_fqn)}/pipelineStatus",
103
105
  data=params,
104
106
  )
105
107
 
@@ -19,7 +19,7 @@ from metadata.generated.schema.entity.feed.suggestion import Suggestion, Suggest
19
19
  from metadata.generated.schema.type import basic
20
20
  from metadata.generated.schema.type.basic import FullyQualifiedEntityName
21
21
  from metadata.ingestion.ometa.client import REST
22
- from metadata.ingestion.ometa.utils import model_str
22
+ from metadata.ingestion.ometa.utils import model_str, quote
23
23
  from metadata.utils.logger import ometa_logger
24
24
 
25
25
  logger = ometa_logger()
@@ -65,7 +65,7 @@ class OMetaSuggestionsMixin:
65
65
  self.client.put(
66
66
  f"{self.get_suffix(Suggestion)}/accept-all?"
67
67
  f"userId={model_str(user_id)}&"
68
- f"entityFQN={model_str(fqn)}&"
68
+ f"entityFQN={quote(fqn)}&"
69
69
  f"suggestionType={suggestion_type.value}",
70
70
  )
71
71
 
@@ -79,6 +79,6 @@ class OMetaSuggestionsMixin:
79
79
  self.client.put(
80
80
  f"{self.get_suffix(Suggestion)}/reject-all?"
81
81
  f"userId={model_str(user_id)}&"
82
- f"entityFQN={model_str(fqn)}&"
82
+ f"entityFQN={quote(fqn)}&"
83
83
  f"suggestionType={suggestion_type.value}",
84
84
  )
@@ -257,7 +257,7 @@ class OMetaTableMixin:
257
257
  profile_type_url = profile_type.__name__[0].lower() + profile_type.__name__[1:]
258
258
 
259
259
  resp = self.client.get(
260
- f"{self.get_suffix(Table)}/{fqn}/{profile_type_url}?limit={limit}{url_after}",
260
+ f"{self.get_suffix(Table)}/{quote(fqn)}/{profile_type_url}?limit={limit}{url_after}",
261
261
  data={"startTs": start_ts, "endTs": end_ts},
262
262
  )
263
263
 
@@ -479,6 +479,7 @@ class DashboardServiceSource(TopologyRunnerMixin, Source, ABC):
479
479
  to_entity: Union[Dashboard, DashboardDataModel],
480
480
  from_entity: Union[Table, DashboardDataModel, Dashboard],
481
481
  column_lineage: List[ColumnLineage] = None,
482
+ sql: Optional[str] = None,
482
483
  ) -> Optional[Either[AddLineageRequest]]:
483
484
  if from_entity and to_entity:
484
485
  return Either(
@@ -494,6 +495,7 @@ class DashboardServiceSource(TopologyRunnerMixin, Source, ABC):
494
495
  ),
495
496
  lineageDetails=LineageDetails(
496
497
  source=LineageSource.DashboardLineage,
498
+ sqlQuery=sql,
497
499
  columnsLineage=column_lineage,
498
500
  ),
499
501
  )
@@ -37,12 +37,13 @@ from metadata.utils.logger import ingestion_logger
37
37
  logger = ingestion_logger()
38
38
 
39
39
  API_VERSION = "MicroStrategyLibrary/api"
40
+ HEADERS = {"Content-Type": "application/json"}
40
41
  APPLICATION_TYPE = 35
41
42
 
42
43
 
43
44
  class MicroStrategyClient:
44
45
  """
45
- Client Handling API communication with Metabase
46
+ Client Handling API communication with MicroStrategy
46
47
  """
47
48
 
48
49
  def _get_base_url(self, path=None):
@@ -56,18 +57,43 @@ class MicroStrategyClient:
56
57
  ):
57
58
  self.config = config
58
59
 
59
- self.auth_params: AuthHeaderCookie = self._get_auth_header_and_cookies()
60
+ self.auth_params = self._get_auth_header_and_cookies()
60
61
 
61
62
  client_config = ClientConfig(
62
63
  base_url=clean_uri(str(self.config.hostPort)),
63
64
  api_version=API_VERSION,
64
- extra_headers=self.auth_params.auth_header,
65
+ extra_headers=self.auth_params.auth_header if self.auth_params else None,
65
66
  allow_redirects=True,
66
- cookies=self.auth_params.auth_cookies,
67
+ cookies=self.auth_params.auth_cookies if self.auth_params else None,
67
68
  )
68
69
 
69
70
  self.client = REST(client_config)
70
- self._set_api_session()
71
+
72
+ def get_auth_params(self) -> AuthHeaderCookie:
73
+ """
74
+ Test whether we can fetch auth_token from the api
75
+ """
76
+ data = {
77
+ "username": self.config.username,
78
+ "password": self.config.password.get_secret_value(),
79
+ "loginMode": int(self.config.loginMode),
80
+ "applicationType": APPLICATION_TYPE,
81
+ }
82
+ response = requests.post(
83
+ url=self._get_base_url("auth/login"), json=data, headers=HEADERS, timeout=60
84
+ )
85
+ response.raise_for_status()
86
+ if (
87
+ not response.ok
88
+ or response.status_code != 204
89
+ or "X-MSTR-AuthToken" not in response.headers
90
+ ):
91
+ raise SourceConnectionException(
92
+ f"Failed to Fetch Token, please validate your credentials and login_mode : {response.text}"
93
+ )
94
+ return AuthHeaderCookie(
95
+ auth_header=response.headers, auth_cookies=response.cookies
96
+ )
71
97
 
72
98
  def _get_auth_header_and_cookies(self) -> Optional[AuthHeaderCookie]:
73
99
  """
@@ -77,35 +103,25 @@ class MicroStrategyClient:
77
103
  https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Authentication/postLogin
78
104
  """
79
105
  try:
80
- data = {
81
- "username": self.config.username,
82
- "password": self.config.password.get_secret_value(),
83
- "loginMode": self.config.loginMode,
84
- "applicationType": APPLICATION_TYPE,
85
- }
86
- response = requests.post(
87
- url=self._get_base_url("auth/login"), data=data, timeout=60
88
- )
89
- if not response:
90
- raise SourceConnectionException()
91
- return AuthHeaderCookie(
92
- auth_header=response.headers, auth_cookies=response.cookies
93
- )
106
+ auth_data = self.get_auth_params()
107
+ if auth_data:
108
+ self._set_api_session(auth_data)
109
+ return auth_data
94
110
  except Exception as exc:
95
111
  logger.debug(traceback.format_exc())
96
112
  logger.error(
97
- f"Failed to fetch the auth header and cookies due to [{exc}], please validate credentials"
113
+ f"Failed to fetch the auth header and cookies due to : [{exc}]"
98
114
  )
99
115
  return None
100
116
 
101
- def _set_api_session(self) -> bool:
117
+ def _set_api_session(self, auth_data: AuthHeaderCookie) -> bool:
102
118
  """
103
119
  Set the user api session to active this will keep the connection alive
104
120
  """
105
121
  api_session = requests.put(
106
122
  url=self._get_base_url("sessions"),
107
- headers=self.auth_params.auth_header,
108
- cookies=self.auth_params.auth_cookies,
123
+ headers=auth_data.auth_header,
124
+ cookies=auth_data.auth_cookies,
109
125
  timeout=60,
110
126
  )
111
127
  if api_session.ok:
@@ -46,7 +46,10 @@ def test_connection(
46
46
  of a metadata workflow or during an Automation Workflow
47
47
  """
48
48
 
49
- test_fn = {"GetProjects": client.get_projects_list}
49
+ test_fn = {
50
+ "GetToken": client.get_auth_params,
51
+ "GetProjects": client.get_projects_list,
52
+ }
50
53
 
51
54
  return test_connection_steps(
52
55
  metadata=metadata,
@@ -69,6 +69,7 @@ from metadata.ingestion.source.dashboard.tableau.models import (
69
69
  ChartUrl,
70
70
  DataSource,
71
71
  DatasourceField,
72
+ TableAndQuery,
72
73
  TableauDashboard,
73
74
  TableauTag,
74
75
  UpstreamTable,
@@ -149,7 +150,7 @@ class TableauSource(DashboardServiceSource):
149
150
  return None
150
151
 
151
152
  @staticmethod
152
- def _get_data_models_tags(dataModels: [DataSource]) -> Set[str]:
153
+ def _get_data_models_tags(dataModels: List[DataSource]) -> Set[str]:
153
154
  """
154
155
  Get the tags from the data model in the upstreamDatasources
155
156
  """
@@ -382,9 +383,12 @@ class TableauSource(DashboardServiceSource):
382
383
  column=column.id,
383
384
  )
384
385
  for to_column in to_columns:
385
- column_lineage.append(
386
- ColumnLineage(fromColumns=[from_column], toColumn=to_column)
387
- )
386
+ if from_column and to_column:
387
+ column_lineage.append(
388
+ ColumnLineage(
389
+ fromColumns=[from_column], toColumn=to_column
390
+ )
391
+ )
388
392
  return column_lineage
389
393
  except Exception as exc:
390
394
  logger.debug(f"Error to get column lineage: {exc}")
@@ -451,17 +455,22 @@ class TableauSource(DashboardServiceSource):
451
455
  column.id
452
456
  for field in upstream_data_model.fields
453
457
  for column in field.upstreamColumns
458
+ if column is not None
454
459
  }
455
460
  for table in datamodel.upstreamTables or []:
456
461
  om_tables = self._get_database_tables(db_service_entity, table)
457
- for om_table in om_tables or []:
462
+ for om_table_and_query in om_tables or []:
458
463
  column_lineage = self._get_column_lineage(
459
- table, om_table, upstream_data_model_entity, upstream_col_set
464
+ table,
465
+ om_table_and_query.table,
466
+ upstream_data_model_entity,
467
+ upstream_col_set,
460
468
  )
461
469
  yield self._get_add_lineage_request(
462
470
  to_entity=upstream_data_model_entity,
463
- from_entity=om_table,
471
+ from_entity=om_table_and_query.table,
464
472
  column_lineage=column_lineage,
473
+ sql=om_table_and_query.query,
465
474
  )
466
475
  except Exception as err:
467
476
  yield Either(
@@ -698,7 +707,7 @@ class TableauSource(DashboardServiceSource):
698
707
 
699
708
  def _get_table_entities_from_api(
700
709
  self, db_service_entity: DatabaseService, table: UpstreamTable
701
- ) -> Optional[List[Table]]:
710
+ ) -> Optional[List[TableAndQuery]]:
702
711
  """
703
712
  In case we get the table details from the Graphql APIs we process them
704
713
  """
@@ -734,7 +743,7 @@ class TableauSource(DashboardServiceSource):
734
743
  fqn=table_fqn,
735
744
  )
736
745
  if table_entity:
737
- return [table_entity]
746
+ return [TableAndQuery(table=table_entity)]
738
747
  except Exception as exc:
739
748
  logger.debug(traceback.format_exc())
740
749
  logger.warning(f"Error to get tables for lineage using GraphQL Apis: {exc}")
@@ -742,7 +751,7 @@ class TableauSource(DashboardServiceSource):
742
751
 
743
752
  def _get_table_entities_from_query(
744
753
  self, db_service_entity: DatabaseService, table: UpstreamTable
745
- ) -> Optional[List[Table]]:
754
+ ) -> Optional[List[TableAndQuery]]:
746
755
  """
747
756
  In case we get the table details from the Graphql APIs we process them
748
757
  """
@@ -778,7 +787,12 @@ class TableauSource(DashboardServiceSource):
778
787
  database_schema=schema_name,
779
788
  table=table_name,
780
789
  )
781
- tables_list.extend(from_entities)
790
+ tables_list.extend(
791
+ [
792
+ TableAndQuery(table=table, query=custom_sql_table.query)
793
+ for table in from_entities
794
+ ]
795
+ )
782
796
 
783
797
  except Exception as exc:
784
798
  logger.debug(traceback.format_exc())
@@ -787,7 +801,7 @@ class TableauSource(DashboardServiceSource):
787
801
 
788
802
  def _get_database_tables(
789
803
  self, db_service_entity: DatabaseService, table: UpstreamTable
790
- ) -> Optional[List[Table]]:
804
+ ) -> Optional[List[TableAndQuery]]:
791
805
  """
792
806
  Get the table entities for lineage
793
807
  """
@@ -879,6 +893,9 @@ class TableauSource(DashboardServiceSource):
879
893
  try:
880
894
  return dashboard_details.project.name
881
895
  except Exception as exc:
896
+ logger.info(
897
+ f"Cannot parse project name for dashboard:{dashboard_details.id} from Tableau server"
898
+ )
882
899
  logger.debug(traceback.format_exc())
883
900
  logger.warning(
884
901
  f"Error fetching project name for {dashboard_details.id}: {exc}"
@@ -18,6 +18,7 @@ from typing import Any, Dict, List, Optional, Union
18
18
  from pydantic import BaseModel, ConfigDict, Field, validator
19
19
 
20
20
  from metadata.generated.schema.entity.data.chart import ChartType
21
+ from metadata.generated.schema.entity.data.table import Table
21
22
 
22
23
 
23
24
  class TableauBaseModel(BaseModel):
@@ -172,3 +173,12 @@ class TableauDashboard(TableauBaseModel):
172
173
  webpageUrl: Optional[str] = None
173
174
  charts: Optional[List[TableauChart]] = None
174
175
  dataModels: List[DataSource] = []
176
+
177
+
178
+ class TableAndQuery(BaseModel):
179
+ """
180
+ Wrapper class for Table entity and associated Query for lineage
181
+ """
182
+
183
+ table: Table
184
+ query: Optional[str] = None
@@ -13,6 +13,7 @@ from metadata.profiler.metrics.system.system import (
13
13
  SQASessionProvider,
14
14
  SystemMetricsComputer,
15
15
  )
16
+ from metadata.profiler.processor.runner import QueryRunner
16
17
  from metadata.utils.logger import profiler_logger
17
18
  from metadata.utils.time_utils import datetime_to_timestamp
18
19
 
@@ -25,11 +26,11 @@ class BigQuerySystemMetricsSource(
25
26
  """BigQuery system metrics source class"""
26
27
 
27
28
  def get_kwargs(self, **kwargs):
28
- table = kwargs.get("table")
29
+ runner: QueryRunner = kwargs.get("runner")
29
30
  return {
30
- "table": table.__table__.name,
31
- "dataset_id": table.__table_args__["schema"],
32
- "project_id": super().get_session().get_bind().url.host,
31
+ "table": runner.table_name,
32
+ "database": runner.session.get_bind().url.database,
33
+ "schema": runner.schema_name,
33
34
  "usage_location": kwargs.get("usage_location"),
34
35
  }
35
36
 
@@ -12,6 +12,7 @@
12
12
  """
13
13
  Source connection handler
14
14
  """
15
+ from pathlib import Path
15
16
  from typing import Optional
16
17
 
17
18
  from sqlalchemy.engine import Engine
@@ -32,13 +33,25 @@ from metadata.ingestion.connections.builders import (
32
33
  )
33
34
  from metadata.ingestion.connections.test_connections import test_connection_db_common
34
35
  from metadata.ingestion.ometa.ometa_api import OpenMetadata
35
- from metadata.utils.constants import THREE_MIN
36
+ from metadata.utils.constants import THREE_MIN, UTF_8
36
37
 
37
38
 
38
39
  def get_connection(connection: Db2Connection) -> Engine:
39
40
  """
40
41
  Create connection
41
42
  """
43
+ # prepare license
44
+ # pylint: disable=import-outside-toplevel
45
+ if connection.license and connection.licenseFileName:
46
+ import clidriver
47
+
48
+ with open(
49
+ Path(clidriver.__path__[0], "license", connection.licenseFileName),
50
+ "w",
51
+ encoding=UTF_8,
52
+ ) as file:
53
+ file.write(connection.license)
54
+
42
55
  return create_generic_db_connection(
43
56
  connection=connection,
44
57
  get_connection_url_fn=get_connection_url_common,
@@ -22,6 +22,14 @@ REQUIRED_MANIFEST_KEYS = ["name", "schema", "resource_type"]
22
22
  # Based on https://schemas.getdbt.com/dbt/catalog/v1.json
23
23
  REQUIRED_CATALOG_KEYS = ["name", "type", "index"]
24
24
 
25
+ REQUIRED_CONSTRAINT_KEYS = [
26
+ "type",
27
+ "name",
28
+ "expression",
29
+ "warn_unenforced",
30
+ "warn_unsupported",
31
+ ]
32
+
25
33
  REQUIRED_RESULTS_KEYS = {
26
34
  "status",
27
35
  "timing",
@@ -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:
@@ -43,6 +43,7 @@ from metadata.ingestion.models.topology import (
43
43
  )
44
44
  from metadata.ingestion.source.database.database_service import DataModelLink
45
45
  from metadata.ingestion.source.database.dbt.constants import (
46
+ REQUIRED_CONSTRAINT_KEYS,
46
47
  REQUIRED_NODE_KEYS,
47
48
  REQUIRED_RESULTS_KEYS,
48
49
  )
@@ -187,6 +188,20 @@ class DbtServiceSource(TopologyRunnerMixin, Source, ABC):
187
188
  ]
188
189
  for key in keys_to_delete:
189
190
  del value[key]
191
+ if value.get("columns"):
192
+ for col_name, value in value[
193
+ "columns"
194
+ ].items(): # pylint: disable=unused-variable
195
+ if value.get("constraints"):
196
+ keys_to_delete = [
197
+ key
198
+ for key in value
199
+ if key.lower() not in REQUIRED_CONSTRAINT_KEYS
200
+ ]
201
+ for key in keys_to_delete:
202
+ del value[key]
203
+ else:
204
+ value["constraints"] = None
190
205
 
191
206
  def remove_run_result_non_required_keys(self, run_results: List[dict]):
192
207
  """
@@ -220,7 +235,9 @@ class DbtServiceSource(TopologyRunnerMixin, Source, ABC):
220
235
  if self.context.get().dbt_file.dbt_catalog
221
236
  else None,
222
237
  dbt_manifest=parse_manifest(self.context.get().dbt_file.dbt_manifest),
223
- dbt_sources=parse_sources(self.context.get().dbt_file.dbt_sources),
238
+ dbt_sources=parse_sources(self.context.get().dbt_file.dbt_sources)
239
+ if self.context.get().dbt_file.dbt_sources
240
+ else None,
224
241
  dbt_run_results=[
225
242
  parse_run_results(run_result_file)
226
243
  for run_result_file in self.context.get().dbt_file.dbt_run_results
@@ -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
  )
@@ -18,6 +18,7 @@ from metadata.profiler.metrics.system.system import (
18
18
  SQASessionProvider,
19
19
  SystemMetricsComputer,
20
20
  )
21
+ from metadata.profiler.processor.runner import QueryRunner
21
22
  from metadata.utils.logger import profiler_logger
22
23
  from metadata.utils.profiler_utils import QueryResult
23
24
  from metadata.utils.time_utils import datetime_to_timestamp
@@ -45,11 +46,11 @@ class RedshiftSystemMetricsSource(
45
46
  return get_metric_result(queries, table)
46
47
 
47
48
  def get_kwargs(self, **kwargs):
48
- table = kwargs.get("table")
49
+ runner: QueryRunner = kwargs.get("runner")
49
50
  return {
50
- "table": table.__table__.name,
51
- "database": self.get_session().get_bind().url.database,
52
- "schema": table.__table__.schema,
51
+ "table": runner.table_name,
52
+ "database": runner.session.get_bind().url.database,
53
+ "schema": runner.schema_name,
53
54
  }
54
55
 
55
56
  def get_deletes(self, **kwargs) -> List[SystemProfile]:
@@ -121,7 +121,7 @@ def get_connection(connection: SnowflakeConnection) -> Engine:
121
121
  )
122
122
  p_key = serialization.load_pem_private_key(
123
123
  bytes(connection.privateKey.get_secret_value(), "utf-8"),
124
- password=snowflake_private_key_passphrase.encode(),
124
+ password=snowflake_private_key_passphrase.encode() or None,
125
125
  backend=default_backend(),
126
126
  )
127
127
  pkb = p_key.private_bytes(
@@ -137,11 +137,16 @@ def get_connection(connection: SnowflakeConnection) -> Engine:
137
137
  "client_session_keep_alive"
138
138
  ] = connection.clientSessionKeepAlive
139
139
 
140
- return create_generic_db_connection(
140
+ engine = create_generic_db_connection(
141
141
  connection=connection,
142
142
  get_connection_url_fn=get_connection_url,
143
143
  get_connection_args_fn=get_connection_args_common,
144
144
  )
145
+ if connection.connectionArguments.root and connection.connectionArguments.root.get(
146
+ "private_key"
147
+ ):
148
+ del connection.connectionArguments.root["private_key"]
149
+ return engine
145
150
 
146
151
 
147
152
  def test_connection(
@@ -12,8 +12,10 @@
12
12
  Snowflake lineage module
13
13
  """
14
14
 
15
- from typing import Dict, List
15
+ import traceback
16
+ from typing import Dict, Iterator, List
16
17
 
18
+ from metadata.generated.schema.type.tableQuery import TableQuery
17
19
  from metadata.ingestion.source.database.lineage_source import LineageSource
18
20
  from metadata.ingestion.source.database.snowflake.queries import (
19
21
  SNOWFLAKE_GET_STORED_PROCEDURE_QUERIES,
@@ -27,6 +29,9 @@ from metadata.ingestion.source.database.stored_procedures_mixin import (
27
29
  StoredProcedureLineageMixin,
28
30
  )
29
31
  from metadata.utils.helpers import get_start_and_end
32
+ from metadata.utils.logger import ingestion_logger
33
+
34
+ logger = ingestion_logger()
30
35
 
31
36
 
32
37
  class SnowflakeLineageSource(
@@ -61,3 +66,32 @@ class SnowflakeLineageSource(
61
66
  )
62
67
 
63
68
  return queries_dict
69
+
70
+ def yield_table_query(self) -> Iterator[TableQuery]:
71
+ """
72
+ Given an engine, iterate over the query results to
73
+ yield a TableQuery with query parsing info
74
+ """
75
+ for engine in self.get_engine():
76
+ rows = []
77
+ with engine.connect() as conn:
78
+ rows = conn.execution_options(
79
+ stream_results=True, max_row_buffer=100
80
+ ).execute(
81
+ self.get_sql_statement(start_time=self.start, end_time=self.end)
82
+ )
83
+ # exit from active connection after fetching rows & during
84
+ # further process of `yield_query_lineage`
85
+ for row in rows:
86
+ query_dict = dict(row)
87
+ try:
88
+ yield TableQuery(
89
+ dialect=self.dialect.value,
90
+ query=query_dict["query_text"],
91
+ databaseName=self.get_database_name(query_dict),
92
+ serviceName=self.config.serviceName,
93
+ databaseSchema=self.get_schema_name(query_dict),
94
+ )
95
+ except Exception as exc:
96
+ logger.debug(traceback.format_exc())
97
+ logger.warning(f"Error processing query_dict {query_dict}: {exc}")